<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sql &#8211; Rafael Bernard Araujo</title>
	<atom:link href="https://rafael.bernard-araujo.com/tag/sql/feed" rel="self" type="application/rss+xml" />
	<link>https://rafael.bernard-araujo.com</link>
	<description>desenvolvendo... while(!success){  try(); }</description>
	<lastBuildDate>Tue, 13 Jan 2026 22:33:56 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">21941730</site>	<item>
		<title>Tropeçando 113</title>
		<link>https://rafael.bernard-araujo.com/tropecando-113.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-113.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Fri, 16 Aug 2024 05:13:13 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[aws-cdk]]></category>
		<category><![CDATA[clean architecture]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[ddd]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[serverless]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqli]]></category>
		<guid isPermaLink="false">https://rafael.bernard-araujo.com/?p=1976</guid>

					<description><![CDATA[Neon Serverless PostgreSQL database with real zero-scaling. The fully managed serverless Postgres with a generous free tier. We separate storage and compute to offer autoscaling, branching, and bottomless storage. Compute scales dynamically to ensure you're ready for peak hours. Compute scales to zero and cold storage offloads to S3 for cost efficiency. Create a fully [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://neon.tech">Neon</a></p>
<blockquote>
<p>Serverless PostgreSQL database with real zero-scaling. The fully managed serverless Postgres with a generous free tier. We separate storage and compute to offer autoscaling, branching, and bottomless storage.</p>
<p>Compute scales dynamically to ensure you're ready for peak hours. Compute scales to zero and cold storage offloads to S3 for cost efficiency. Create a fully managed serverless Postgres instance in seconds.</p>
</blockquote>
<p><a href="https://laravel-news.com/make-your-app-faster-with-php-83">Make your app faster with PHP 8.3</a></p>
<blockquote>
<p>PHP 8.3 is the latest version of PHP. It has exciting new features and major improvements in performance. By upgrading to 8.3, you can achieve a significant increase in speed. In this article, we dive into how PHP 8.3 can be a game changer. It can speed up your application's performance.</p>
</blockquote>
<p><a href="https://dzone.com/articles/owasp-top-10-explained-3-sql-injection?">OWASP Top 10 Explained: SQL Injection</a></p>
<blockquote>
<p>SQL Injection (SQLi) is a code injection technique that exploits a security vulnerability occurring in the database layer of an application.</p>
<p>The vulnerability is present when user inputs are either improperly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed.</p>
<p>This allows an attacker to manipulate SQL queries, enabling them to unauthorized access, modify, and delete data in the database. This can lead to significant breaches of confidentiality, integrity, and availability, ranging from unauthorized viewing of data to complete database compromise.</p>
</blockquote>
<p><a href="https://blog.serverlessadvocate.com/15-quick-useful-tips-for-aws-cdk-engineers-a7675e1557aa">15 Quick Useful Tips for AWS CDK Engineers</a></p>
<blockquote>
<p>In this short article, we will cover 15 useful tips with accompanying code snippets for AWS CDK users.</p>
</blockquote>
<p><a href="https://khalilstemmler.com/articles/typescript-domain-driven-design/repository-dto-mapper/">Implementing DTOs, Mappers &amp; the Repository Pattern using the Sequelize ORM [with Examples] - DDD w/ TypeScript</a></p>
<blockquote>
<p>There are several patterns that we can utilize in order to handle data access concerns in Domain-Driven Design. In this article, we talk about the role of DTOs, repositories &amp; data mappers in DDD.</p>
</blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-113.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1976</post-id>	</item>
		<item>
		<title>Tropeçando 8 &#8211; Republish</title>
		<link>https://rafael.bernard-araujo.com/tropecando-8-republish.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-8-republish.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Wed, 31 Aug 2022 20:16:32 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Regex]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<guid isPermaLink="false">https://rafael.bernard-araujo.com/?p=1576</guid>

					<description><![CDATA[Evitando frustrações com sessões no PHP &#124; Igor Escobar // Blog PHP web applications can complement state in your applications very easily. Why is an illusion of state maintained by transporting one page and other information between one page and another losing it along the way. you've already lost potential productivity due to bizarre bugs [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://blog.igorescobar.com/2009/10/27/evitando-frustracoes-com-sessoes-no-php/">Evitando frustrações com sessões no PHP | Igor Escobar // Blog</a></p>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
PHP web applications can complement state in your applications very easily. Why is an illusion of state maintained by transporting one page and other information between one page and another losing it along the way. you've already lost potential productivity due to bizarre bugs or even security breaches because of these beauties. Here are four tips to save you time and secure your site.



(in portuguese)
</blockquote>


<p><a href="https://blog.igorescobar.com/2010/06/14/javascript-onunload-vs-onbeforeunload/">Javascript: Onunload VS Onbeforeunload | Igor Escobar // Blog</a></p>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
Fico pensando em um caso mais familiar possível para ilustrar a utilidade das duas funções e a melhor que me vem a cabeça é o Gmail. Já pensou em fazer algo parecido com o Gmail? Quando o usuário fechar a janela e alguma requisição estiver em processamento ele da um aviso sobre ela para evitar perda sem necessídade. Muita gente pensa que o evento utilizado para fazer tal proeza é o evento “onunload” mas não é. Existe uma pequena diferença entre os 2 eventos.
</blockquote>


<p><a href="https://code.tutsplus.com/8-regular-expressions-you-should-know--net-6149t">8 Regular Expressions You Should Know - Nettuts+</a></p>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
8 expressões regulares que você deve conhecer
</blockquote>


<p><a href="http://projects.webappsec.org/The-Web-Security-Glossary">The Web Application Security Consortium / The Web Security Glossary</a></p>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
The Web Security Glossary is an alphabetical index of terms and terminology relating to web application security. The purpose of the Glossary is to clarify the language used within the community.
</blockquote>


<p><a href="https://web.archive.org/web/20200221175342/https://www.adherents.com/people/100_novel.html">The Novel 100: The 100 Greatest Novels of All Time</a></p>


<p><a href="http://www.accesspdf.com/pdftk/">pdftk - the pdf toolkit</a></p>


<p><a href="https://web.archive.org/web/20150827051125/http://imasters.com.br:80/artigo/14294/sql_server/dividindo_dados_em_colunas/">Dividindo dados em colunas - Mauro Pichiliani - SQL Server</a></p>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
Olá, pessoal. Hoje veremos uma solução que utilizei para manipular um conjunto de linhas e colunas no SQL Server com o objetivo de separá-las em dois conjuntos de colunas e facilitar a visualização dos dados, uma operação que geralmente não é fácil de ser realizada nos bancos de dados relacionais. Apesar de utilizar o SQL Server como exemplo, a técnica apresentada nesta coluna pode ser adaptada para outros bancos de dados que suportem a linguagem SQL sem problemas.
</blockquote>


<p><a href="http://yfrog.com/">yfrog - Share your images/videos on Twitter!</a></p>


<p><a href="http://www.phdcomics.com/comics/archive/phd092809s.gif">Vacation relaxation</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-8-republish.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1576</post-id>	</item>
		<item>
		<title>Tropeçando 85</title>
		<link>https://rafael.bernard-araujo.com/tropecando-85.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-85.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Fri, 19 Apr 2019 18:45:33 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sql]]></category>
		<guid isPermaLink="false">https://rafael.bernard-araujo.com/?p=1294</guid>

					<description><![CDATA[Good Engineering Practices while Working Solo How Much maintenance_work_mem Do I Need? While I generally like PostgreSQL's documentation quite a bit, there are some areas where it is not nearly specific enough for users to understand what they need to do. The documentation for maintenance_work_mem is one of those places. It says, and I quote, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://blog.bitsrc.io/good-engineering-practices-while-working-solo-ad872e727af4" target="_blank" rel="noopener noreferrer">Good Engineering Practices while Working Solo</a></p>
<p><a href="http://rhaas.blogspot.com/2019/01/how-much-maintenanceworkmem-do-i-need.html" target="_blank" rel="noopener noreferrer">How Much maintenance_work_mem Do I Need? </a></p>
<blockquote><p>While I generally like PostgreSQL's documentation quite a bit, there are some areas where it is not nearly specific enough for users to understand what they need to do. The documentation for maintenance_work_mem is one of those places. It says, and I quote, "Larger settings might improve performance for vacuuming and for restoring database dumps," but that isn't really very much help, because if it might improve performance, it also might not improve performance, and you might like to know which is the case before deciding to raise the value, so that you don't waste memory. TL;DR: Try maintenance_work_mem = 1GB. Read on for more specific advice.</p></blockquote>
<p><a href="https://jsonplaceholder.typicode.com/" target="_blank" rel="noopener noreferrer">JSONPlaceholder</a></p>
<blockquote><p>Fake Online REST API for Testing and Prototyping</p></blockquote>
<p><a href="https://blog.jooq.org/a-beginners-guide-to-the-true-order-of-sql-operations/" target="_blank" rel="noopener noreferrer">A Beginner’s Guide to the True Order of SQL Operations</a></p>
<blockquote><p>The SQL language is very intuitive. Until it isn’t. A guide to understanding the order of a SELECT operation.</p></blockquote>
<p><a href="https://web.archive.org/web/20200701080847/https://snyk.io/opensourcesecurity-2019/" target="_blank" rel="noopener noreferrer">The state of open source security - 2019</a></p>
<blockquote><p>Snyk is an incredible tool for package security. And they released a state of open source security, talking about open source adoption and package, images and code vulnerabilites. We are talking about maven, npm, pypi, docker, etc.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-85.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1294</post-id>	</item>
		<item>
		<title>Precisamos de apoio das ferramentas para a paginação por conjunto de chaves</title>
		<link>https://rafael.bernard-araujo.com/precisamos-de-apoio-das-ferramentas-para-a-paginacao-por-conjunto-de-chaves.php</link>
					<comments>https://rafael.bernard-araujo.com/precisamos-de-apoio-das-ferramentas-para-a-paginacao-por-conjunto-de-chaves.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Tue, 13 Oct 2015 11:57:55 +0000</pubDate>
				<category><![CDATA[Banco de dados]]></category>
		<category><![CDATA[sql]]></category>
		<guid isPermaLink="false">http://rafael.bernard-araujo.com/?p=1157</guid>

					<description><![CDATA[(Traduzido de We need tool support for keyset pagination) Você sabia que a paginação via offset é muito problemática, mas fácil de evitar? offset instrui os bancos de dados a pular os primeiros N resultados N de uma consulta. No entanto, o banco de dados ainda deve buscar essas linhas a partir do disco e [&#8230;]]]></description>
										<content:encoded><![CDATA[<blockquote><p>(Traduzido de <a href="http://use-the-index-luke.com/no-offset" target="_blank" rel="noopener noreferrer">We need tool support for keyset pagination</a>)</p></blockquote>
<p>Você sabia que a paginação via <code>offset</code> é muito problemática, mas fácil de evitar?</p>
<p><code>offset</code> instrui os bancos de dados a pular os primeiros N resultados N de uma consulta. No entanto, o banco de dados ainda deve buscar essas linhas a partir do disco e trazê-los em ordem antes de ele pode enviar os seguintes.</p>
<p>Isto não é um problema de implementação, é a maneira na qual <code>offset</code> foi desenhado:</p>
<p style="padding-left: 30px;">... As linhas são primeiro classificadas de acordo com a &lt;cláusula order by&gt; e, em seguida, limitada retirando-se o número de linhas especificadas na &lt;cláusula offset&gt; desde o início ...</p>
<p>— <a class="ulink" href="https://web.archive.org/web/20230525220603/https://www.wiscorp.com/sql20nn.zip" target="_blank" rel="noopener noreferrer">SQL:2011, Part 2, §4.15.3 Derived tables</a></p>
<p>Em outras palavras, grandes <code>offset</code>s impõe um grande trabalho para o banco de dados, não importa se SQL ou NoSQL.</p>
<p>Mas o problema com <code>offset</code> não pára aqui: já pensou sobre o que acontece se uma nova linha é inserida entre duas páginas buscadas?</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/use-the-index-luke.com//img/offset-drifting.png?w=580" alt="offset-drifting" /></p>
<p>Quando <span class="command"><strong>offset</strong></span>➌ é usado para ignorar as entradas❶ anteriores, você terá duplicações no caso de existirem novas linhas inseridas entre as duas páginas➋. Há outras anomalias possíveis também, este é apenas o caso mais comum.</p>
<p>Este nem é um problema de banco de dados, é a maneira como os <em>frameworks</em> implementam paginação: eles apenas dizem qual é o número da página a ser recuperada ou quantas linhas devem ser ignoradas. Com estas informações apenas, nenhum banco de dados pode fazer melhor.</p>
<h2>Vida sem OFFSET</h2>
<p>Agora imagine um mundo sem estes problemas. Como se constata, viver sem <span class="command">offset</span> é bem simples: apenas utilize uma cláusula <span class="command">where</span> que selecione apenas os dados que você ainda não viu.</p>
<p>Para isso, exploraremos o fato de que trabalhamos com um conjunto ordenado - você tem uma cláusula <span class="command">order by</span>, não é? Uma vez que há uma ordenação definida, podemos usar um filtro simples para somente selecionar o que é posterior a entrada que vimos anteriormente.</p>
<pre><code class="language-sql">SELECT ...
FROM ...
WHERE ...
AND id &lt; ?last_seen_id
ORDER BY id DESC
FETCH FIRST 10 ROWS ONLY</code></pre>
<p>Esta é a receita básica. Ele fica mais interessante quando a classificação é por várias colunas, mas a idéia é a mesma. Esta receita também é aplicável a muitos sistemas <a class="ulink" href="https://stackoverflow.com/questions/20960815/range-query-for-mongodb-pagination/21040304#21040304" target="_blank" rel="noopener noreferrer">N</a><a class="ulink" href="http://tugdualgrall.blogspot.co.at/2013/10/pagination-with-couchbase.html" target="_blank" rel="noopener noreferrer">o</a><a class="ulink" href="https://github.com/orientechnologies/orientdb/wiki/Pagination#use-the-rid-limit" target="_blank" rel="noopener noreferrer">S</a><a class="ulink" href="http://guide.couchdb.org/draft/recipes.html#pagination" target="_blank" rel="noopener noreferrer">Q</a><a class="ulink" href="https://web.archive.org/web/20140901104426/http://heliosearch.org/solr/paging-and-deep-paging/" target="_blank" rel="noopener noreferrer">L</a>.</p>
<p>Esta abordagem - chamada <em>seek method</em> ou <em>keyset pagination</em> - resolve o problema de derivação de resultados como ilustrado acima e é ainda mais rápido do que <span class="command">offset</span>. Se você quer saber o que acontece dentro do banco de dados ao usar <span class="command">offset</span> ou <em>keyset pagination</em>, dê uma olhada nestes slides (benchmarks, benchmarks!):</p>
<p><iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 1.5em;" src="https://www.slideshare.net/slideshow/embed_code/22210863" width="512" height="421" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>No <a class="ulink" href="https://www.slideshare.net/MarkusWinand/p2d2-pagination-done-the-postgresql-way/43" target="_blank" rel="noopener noreferrer">slide 43</a> você também pode ver que <em>keyset pagination</em> tem algumas limitações: mais notavelmente que você não pode navegar diretamente para páginas arbitrariamente. No entanto, isto não é um problema quando se utiliza rolagem infinita. Mostrar o número de páginas para serem clicadas é uma interface de navegação pobre, na minha humilde opinião.</p>
<p>Se você quiser ler mais sobre como implementar corretamente <em>keyset pagination</em> em SQL, por favor <a href="http://use-the-index-luke.com/sql/partial-results/fetch-next-page" target="_blank" rel="noopener noreferrer">fetch-next-page</a>. Mesmo que você não esteja envolvido com o SQL, vale a pena ler <a href="http://use-the-index-luke.com/sql/partial-results/fetch-next-page" target="_blank" rel="noopener noreferrer">fetch-next-page</a> antes de começar a implementar qualquer coisa.</p>
<h2>No entando, os frameworks</h2>
<p>A principal razão para preferir <span class="command">offset</span> a paginação por conjunto de chaves (<em>keyset pagination</em>) é a falta de suporte. A maioria das ferramentas de paginação são baseadas em <span class="command">offset</span>, mas não oferecem nenhuma maneira conveniente para a utilização de paginação por conjunto de chaves.</p>
<p>Por favor, note que a paginação por conjunto de chaves afeta toda a tecnologia envolvida na execução de JavaScript do navegador que esteja fazendo a requisição AJAX para rolagem infinita: ao invés de simplesmente passar um número de página para o servidor, você deve passar o conjunto de chaves completo (geralmente múltiplas colunas) para o servidor.</p>
<p>O hall da fama de frameworks que suportam paginação por conjunto de chaves é ainda pequeno:</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p class="short"><a class="ulink" href="http://jooq.org/" target="_blank" rel="noopener noreferrer">jOOQ</a> — Java Object Oriented Querying. <a class="ulink" href="http://www.jooq.org/doc/3.4/manual/sql-building/sql-statements/select-statement/seek-clause/" target="_blank" rel="noopener noreferrer">Docs</a>.</p>
</li>
<li class="listitem">
<p class="short"><a class="ulink" href="https://pypi.python.org/pypi/django-infinite-scroll-pagination" target="_blank" rel="noopener noreferrer">Django Infinite Scroll Pagination</a>.</p>
</li>
<li class="listitem">
<p class="short">Ruby <a class="ulink" href="https://github.com/glebm/order_query" target="_blank" rel="noopener noreferrer">order_query</a></p>
</li>
<li class="listitem">
<p class="short">Django (Python) <a class="ulink" href="https://github.com/novafloss/django-chunkator" target="_blank" rel="noopener noreferrer">chunkator</a></p>
</li>
<li class="listitem"><a class="ulink" href="https://github.com/Blazebit/blaze-persistence" target="_blank" rel="noopener noreferrer">blaze-persistence</a> — a rich Criteria API for JPA providers (started in July 2014)</li>
</ul>
</div>
<p>É por isto que preciso da sua ajuda. Se você estiver mantendo um framework que tem algum envolvimento com paginação, eu peço, eu imploro, que você construa um suporte nativo para navegação por conjunto de chaves também. Se você tiver quaisquer perguntas sobre detalhes, ficarei feliz em ajudar (<a class="ulink" href="http://ask.use-the-index-luke.com/" target="_blank" rel="noopener noreferrer">forum</a>, <a class="ulink" href="http://use-the-index-luke.com/contact">contact form</a>, <a class="ulink" href="https://x.com/MarkusWinand" target="_blank" rel="noopener noreferrer">Twitter</a>)!</p>
<p>Mesmo que você esteja apenas utilizando um software que deveria suportar paginação por conjunto de chaves, como um gerenciador de conteúdos ou uma loja virtual, faça os mantenedores saberem sobre isso. Você poderia fazer uma requisitação da funcionalidade (link a esta página) ou, se possível, desenvolva um <em>patch</em>. Novamente, ficarei feliz em ajudar a ter todos os devidos detalhes.</p>
<p>Tome <a class="ulink" href="https://github.com/david-binda/no-offset-pagination-for-wordpress" target="_blank" rel="noopener noreferrer">WordPress como um exemplo</a>.</p>
<h2>Espalhe a palavra</h2>
<p>O problema com a paginação de conjunto de chaves não é técnico. O problema é que é pouquíssimo conhecido no meio e não há suporte das ferramentas. Se você gosta da idéia de evitar o uso de paginação por offset, por favor, ajude a <em>espalhar a palavra</em>. <a class="ulink" href="https://x.com/intent/post?source=webclient&amp;text=I%27m%20supporting%20%23NoOffset%3APlease%20help%20spreading%20the%20word%20that%20SQLs%20OFFSET%20is%20bad.Use%20keyset%20pagination%20instead%3Ahttp%3A%2F%2Fuse-the-index-luke.com%2Fno-offset" target="_blank" rel="noopener noreferrer">Use o Twitter</a>, compartilhe, <a class="ulink" href="mailto:?subject=Paging%20without%20row%20counts&amp;body=Hi%21%0A%0AI%27ve%20just%20read%20an%20article%20that%20says%20using%20row%20counts%20to%20do%20pagination%20is%20a%20bad%20idea%20and%20we%20should%20instead%20fetch%20subsequent%20pages%20using%20the%20last%20fetched%20row%20to%20basically%20load%20everything%20after%20that.%0A%0AI%20though%20that%20might%20be%20interesting%20to%20you%3A%0A%20%20%20http%3A%2F%2Fuse-the-index-luke.com%2Fno-offset">envie por e-mail</a>, você pode até reproduzir este post (<a class="ulink" href="https://creativecommons.org/licenses/by-nc-nd/3.0/" target="_blank" rel="noopener noreferrer">CC-BY-NC-ND</a>). Traduções são também bem-vindas, apenas faça um contato prévio - eu também incluirei o link da tradução a esta página.</p>
<p>Ah, e se você estiver em um blog, você também pode acrescentar um banner para que seus leitores fiquem alertas a isto. Eu preparei uma a <a class="ulink" href="http://use-the-index-luke.com/no-offset/banner">galeria de banner NoOffset</a> com alguns formatos comuns. Escolha o que ficar melhor.</p>
<div class="banner-gallery center"><a href="http://use-the-index-luke.com/no-offset"> <img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/use-the-index-luke.com/img/no-offset-banner-468x60.white.png?resize=468%2C60" alt="Do not use offset in SQL. Learn why." width="468" height="60" /> </a></div>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/precisamos-de-apoio-das-ferramentas-para-a-paginacao-por-conjunto-de-chaves.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1157</post-id>	</item>
		<item>
		<title>Tropeçando 60</title>
		<link>https://rafael.bernard-araujo.com/tropecando-60.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-60.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Wed, 09 Jul 2014 18:30:53 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[injeção de sql]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://rafael.bernard-araujo.com/?p=1094</guid>

					<description><![CDATA[CSS Message Boxes for different message types Add missing wpsql_errno in PG4WP plugin 15 fatos sobre programação que você provavelmente não sabia Validação de formulários com HTML5 SQL Injection Cheat Sheet]]></description>
										<content:encoded><![CDATA[<p><a href="https://web.archive.org/web/20180517062808/http://www.jankoatwarpspeed.com/css-message-boxes-for-different-message-types/" target="_blank" rel="noopener">CSS Message Boxes for different message types</a></p>
<p><a href="http://vitoriodelage.wordpress.com/2014/06/06/add-missing-wpsql_errno-in-pg4wp-plugin/" target="_blank" rel="noopener">Add missing wpsql_errno in PG4WP plugin</a></p>
<p><a href="https://web.archive.org/web/20210115204206/http://pichiliani.com.br/15-fatos-sobre-programacao-que-voce-provavelmente-nao-sabia/" title="15 fatos sobre programação que você provavelmente não sabia" target="_blank" rel="noopener">15 fatos sobre programação que você provavelmente não sabia</a></p>
<p><a href="https://productoversee.com/validacao-de-formularios-com-html5/" title="Validação de formulários com HTML5" target="_blank" rel="noopener">Validação de formulários com HTML5</a></p>
<p><a href="https://web.archive.org/web/20160317101914/http://ferruh.mavituna.com:80/sql-injection-cheatsheet-oku" title="SQL Injection Cheat Sheet" target="_blank" rel="noopener">SQL Injection Cheat Sheet</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-60.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1094</post-id>	</item>
		<item>
		<title>Tropeçando 55</title>
		<link>https://rafael.bernard-araujo.com/tropecando-55.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-55.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Thu, 04 Apr 2013 23:41:14 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[sql]]></category>
		<guid isPermaLink="false">http://rafael.bernard-araujo.com/?p=1043</guid>

					<description><![CDATA[Um pouco de aritmética com Data/Hora no PostgreSQL Validando número máximo de checkboxes marcados com javascript https://sqlfiddle.com/ Excelente ferramenta para testar consultas, comparar implementação em diferentes SGBDs, guardar exemplos de consultas úteis ou criar um bloco simulando um banco de dados para demonstração. https://sqlfiddle.com/ If you do not know SQL or basic database concepts, this [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a title="Um pouco de aritmética com Data/Hora no PostgreSQL" href="https://web.archive.org/web/20160917081348/http://savepoint.blog.br:80/um-pouco-de-aritmetica-com-datahora-no-postgresql/">Um pouco de aritmética com Data/Hora no PostgreSQL</a></p>
<p><a title="Validando número máximo de checkboxes marcados com javascript" href="http://wbruno.com.br/javascript-puro/validando-numero-maximo-de-checkboxes-marcados-com-javascript/">Validando número máximo de checkboxes marcados com javascript</a></p>
<p><a title="SQL Fiddle" href="https://sqlfiddle.com/"><a href="https://sqlfiddle.com/"><a href="https://sqlfiddle.com/">https://sqlfiddle.com/</a></a></a></p>
<blockquote><p>Excelente ferramenta para testar consultas, comparar implementação em diferentes SGBDs, guardar exemplos de consultas úteis ou criar um bloco simulando um banco de dados para demonstração.</p>
<p><a href="https://sqlfiddle.com/">https://sqlfiddle.com/</a><br />
If you do not know SQL or basic database concepts, this site is not going to be very useful to you. However, if you are a database developer, there are a few different use-cases of SQL Fiddle intended for you: You want help with a tricky query, and you'd like to post a question to a Q/A site like StackOverflow. You want to compare and contrast SQL statements in different database back-ends. You do not have a particular database platform readily available, but you would like to see what a given query would look like in that environment. Using SQL Fiddle, you don't need to bother spinning up a whole installation for your evaluation; just create your database and queries here!</p></blockquote>
<p><a title="Sobre prazos e produtividade" href="https://tableless.com.br/sobre-prazos-e-produtividade/">Sobre prazos e produtividade</a></p>
<blockquote><p>Você já percebeu que cumprir prazos em projetos de web é praticamente impossível? Nunca vi ninguém entregando tudo o que combinou no prazo final. Sempre falta alguma coisa, um teste, uma feature, algo que ninguém conseguiu prever.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-55.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1043</post-id>	</item>
		<item>
		<title>Tropeçando 52</title>
		<link>https://rafael.bernard-araujo.com/tropecando-52.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-52.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Wed, 08 Aug 2012 02:35:20 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://rafael.bernard-araujo.com/?p=1007</guid>

					<description><![CDATA[Generating Random Data Via Sql Geração de dados aleatórios em PostgreSQL 10 Ways to Generate a Random Password from the Command Line Mascara campo de telefone em javascript com regex – Nono dígito – Telefones São Paulo Quick FAQs on input[type=date] in Google Chrome Boas práticas para E-mail Marketing How to get some information about [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a title="Generating Random Data Via Sql" href="http://momjian.us/main/blogs/pgblog/2012.html#July_24_2012">Generating Random Data Via Sql</a></p>
<blockquote><p>Geração de dados aleatórios em PostgreSQL</p></blockquote>
<p><a title="10 Ways to Generate a Random Password from the Command Line" href="http://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line/">10 Ways to Generate a Random Password from the Command Line</a></p>
<p><a title="Mascara campo de telefone em javascript com regex – Nono dígito – Telefones São Paulo" href="http://wbruno.com.br/expressao-regular/mascara-campo-de-telefone-em-javascript-com-regex-nono-digito-telefones-sao-paulo/">Mascara campo de telefone em javascript com regex – Nono dígito – Telefones São Paulo</a></p>
<p><a title="Quick FAQs on input[type=date] in Google Chrome" href="http://updates.html5rocks.com/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome">Quick FAQs on input[type=date] in Google Chrome</a></p>
<p><a title="Boas práticas para E-mail Marketing" href="https://tableless.com.br/boas-praticas-para-e-mail-marketing/">Boas práticas para E-mail Marketing</a></p>
<p><a title="How to get some information about PostgreSQL structure (Part 2)" href="http://golden13.blogspot.com.br/2012/08/how-to-get-some-information-about_7.html">How to get some information about PostgreSQL structure (Part 2)</a></p>
<blockquote><p>Consultas úteis para obter a estrutura do PostgreSQL: tabelas, visões, esquemas, chaves, usuários etc.</p></blockquote>
<p><a title="Descompactação de arquivos comprimidos - .gz, .zip, .rar, .bz2, tgz, .tar.gz" href="http://www.dicas-l.com.br/arquivo/descompactacao_de_arquivos_comprimidos_.gz_.zip_.rar_.bz2_tgz_.tar.gz.php">Descompactação de arquivos comprimidos - .gz, .zip, .rar, .bz2, tgz, .tar.gz</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-52.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1007</post-id>	</item>
		<item>
		<title>Tropeçando 51</title>
		<link>https://rafael.bernard-araujo.com/tropecando-51.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-51.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Fri, 22 Jun 2012 01:36:41 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[criptografia]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux Mint]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://rafael.bernard-araujo.com/?p=996</guid>

					<description><![CDATA[Timing a Query EncryptedHome - Community Ubuntu Documentation Deprecated features in PostgreSQL - Past to present [ubuntu] HOW-TO encrypt your home directory - Ubuntu Forums VIEW triggers RETURNING... Somar campos de formulário com valores em Reais em javascript Formatar em moeda reais com expressão regular em javascript]]></description>
										<content:encoded><![CDATA[<p><a title="Timing a Query" href="http://momjian.us/main/blogs/pgblog/2012.html#June_6_2012">Timing a Query</a></p>
<p><a title="EncryptedHome - Community Ubuntu Documentation" href="https://web.archive.org/web/20241202211009/https://help.ubuntu.com/community/EncryptedHome">EncryptedHome - Community Ubuntu Documentation</a></p>
<p><a title="Deprecated features in PostgreSQL - Past to present " href="http://thombrown.blogspot.com.br/2012/04/deprecated-features-in-postgresql-past.html">Deprecated features in PostgreSQL - Past to present </a></p>
<p><a title="[ubuntu] HOW-TO encrypt your home directory - Ubuntu Forums" href="https://ubuntuforums.org/showthread.php?t=1449168">[ubuntu] HOW-TO encrypt your home directory - Ubuntu Forums</a></p>
<p><a title="VIEW triggers RETURNING..." href="http://people.planetpostgresql.org/dfetter/index.php?/archives/66-VIEW-triggers-RETURNING....html">VIEW triggers RETURNING...</a></p>
<p><a title="Somar campos de formulário com valores em Reais em javascript" href="https://web.archive.org/web/20190126213122/http://wbruno.com.br:80/javascript-puro/somar-campos-de-formulario-valores-em-reais/">Somar campos de formulário com valores em Reais em javascript</a></p>
<p><a title="Formatar em moeda reais com expressão regular em javascript" href="http://wbruno.com.br/expressao-regular/formatar-em-moeda-reais-expressao-regular-em-javascript/">Formatar em moeda reais com expressão regular em javascript</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-51.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">996</post-id>	</item>
		<item>
		<title>Tropeçando 44</title>
		<link>https://rafael.bernard-araujo.com/tropecando-44.php</link>
					<comments>https://rafael.bernard-araujo.com/tropecando-44.php#respond</comments>
		
		<dc:creator><![CDATA[rafael]]></dc:creator>
		<pubDate>Fri, 15 Apr 2011 14:58:17 +0000</pubDate>
				<category><![CDATA[Tropeçando]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[Drizzle]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PUIAS]]></category>
		<category><![CDATA[ScientificLinux]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SQL Injection]]></category>
		<category><![CDATA[virtualização]]></category>
		<guid isPermaLink="false">http://rafael.bernard-araujo.com/?p=745</guid>

					<description><![CDATA[Site oficial: MySQL.com invadido via… SQL injection Drizzle é a esperança para amantes do MySQL - Zona livre TI by JeffersonX: Você utiliza virtualização no seu desktop? Razões para nem começar a usar o Scientific Linux « Artigos do Timm. Linux: Compartilhar internet Claro 3G no Ubuntu 10.10 [Dica]]]></description>
										<content:encoded><![CDATA[<p><a href="http://br-linux.org/2011/site-oficial-mysql-com-invadido-via-sql-injection/">Site oficial: MySQL.com invadido via… SQL injection</a></p>
<p><a href="http://web.archive.org/web/20140529184934/http://info.abril.com.br:80/noticias/blogs/zonalivre/aplicativos-online/drizzle-e-a-esperanca-para-amantes-do-mysql/">Drizzle é a esperança para amantes do MySQL - Zona livre</a></p>
<p><a href="http://tibyjeffersonx.blogspot.com/2011/03/voce-utiliza-virtualizacao-no-seu.html">TI by JeffersonX: Você utiliza virtualização no seu desktop?</a></p>
<p><a href="http://timmerman.wordpress.com/2011/04/05/razoes-para-nem-comecar-a-usar-o-scientific-linux/">Razões para nem começar a usar o Scientific Linux « Artigos do Timm.</a></p>
<p><a href="http://www.vivaolinux.com.br/dica/Compartilhar-internet-Claro-3G-no-Ubuntu-10.10">Linux: Compartilhar internet Claro 3G no Ubuntu 10.10 [Dica]</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bernard-araujo.com/tropecando-44.php/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">745</post-id>	</item>
	</channel>
</rss>
