<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pedro D. Rocha</title>
    <description>The latest articles on DEV Community by Pedro D. Rocha (@pedrodrocha).</description>
    <link>https://dev.to/pedrodrocha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F987913%2Fa1837bd9-08d0-4d39-a3b2-aea2691d6c8d.jpeg</url>
      <title>DEV Community: Pedro D. Rocha</title>
      <link>https://dev.to/pedrodrocha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pedrodrocha"/>
    <language>en</language>
    <item>
      <title>Como encontrar a software house ideal para o seu projeto</title>
      <dc:creator>Pedro D. Rocha</dc:creator>
      <pubDate>Mon, 16 Dec 2024 17:48:50 +0000</pubDate>
      <link>https://dev.to/pedrodrocha/como-encontrar-a-software-house-ideal-para-o-seu-projeto-5adb</link>
      <guid>https://dev.to/pedrodrocha/como-encontrar-a-software-house-ideal-para-o-seu-projeto-5adb</guid>
      <description>&lt;p&gt;A escolha do parceiro para desenvolver seu próximo produto digital é uma decisão fundamental para o sucesso de longo prazo do seu projeto. A software house ideal não é apenas um fornecedor, mas um aliado estratégico que transforma ideias em soluções inovadoras e funcionais. Com tantas opções disponíveis no mercado, entender os critérios certos para avaliação faz toda a diferença. Neste artigo, vamos discutir como escolher a software house para desenvolver seu próximo site institucional, aplicativo, ou sistema para sua empresa.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Entenda as Necessidades do Seu Projeto
&lt;/h2&gt;

&lt;p&gt;Antes de começar a busca, é importante detalhar os objetivos e os requisitos do projeto. Faça uma lista das funcionalidades essenciais, tecnologias preferidas e expectativas de desempenho. Por exemplo: você precisa de um aplicativo mobile, um sistema interno ou um site institucional? Além disso, determine o orçamento disponível e o prazo para entrega. Essas informações ajudarão a alinhar expectativas e a identificar software houses especializadas nas suas demandas.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Pesquise e Compare Opções
&lt;/h2&gt;

&lt;p&gt;Com tantas empresas no mercado, dedicar tempo à pesquisa é fundamental. Plataformas como a &lt;a href="https://swhouses.com.br/" rel="noopener noreferrer"&gt;SW House Brasil&lt;/a&gt; podem simplificar essa etapa, pois oferecem um diretório organizado de software houses no Brasil. A plataforma permite filtrar opções por localização, área de atuação (desenvolvimento de apps, sistemas, IA, entre outros) e até mesmo por avaliações de clientes. Essa abordagem economiza tempo e garante que você esteja analisando empresas qualificadas para o seu tipo de projeto.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Avalie Experiência e Portfólio
&lt;/h2&gt;

&lt;p&gt;Analisar o portfólio de uma software house é uma das formas mais seguras de verificar sua experiência e capacidade técnica. Observe projetos anteriores e verifique se eles são parecidos com o que você precisa. Software houses com cases bem-sucedidos demonstram confiabilidade e domínio das tecnologias necessárias. Além disso, empresas com experiência em seu setor (como saúde, educação ou varejo) podem oferecer insights valiosos e soluções mais adequadas às suas necessidades.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Considere Comunicação e Suporte
&lt;/h2&gt;

&lt;p&gt;A comunicação durante o desenvolvimento é essencial para o sucesso do projeto. Escolha uma software house que seja transparente e responsiva. Agende reuniões iniciais para entender como a empresa organiza o fluxo de trabalho e quais ferramentas utiliza para manter os clientes informados. Softwares como Slack, Trello ou Jira geralmente são sinais de que a empresa possui um bom sistema de gestão. Um suporte ágil e bem estruturado pode evitar atrasos e garantir que as expectativas sejam alinhadas ao longo do processo.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Peça Propostas Detalhadas
&lt;/h2&gt;

&lt;p&gt;Depois de identificar possíveis parceiros, solicite propostas comerciais com um escopo bem definido. O documento deve incluir os requisitos técnicos, prazos, etapas do desenvolvimento e custos envolvidos. Desconfie de empresas que fornecem estimativas vagas ou não conseguem detalhar suas abordagens. Um orçamento transparente e realista demonstra profissionalismo e diminui a chance de surpresas desagradáveis no futuro.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Aposte em Reputação e Feedback
&lt;/h2&gt;

&lt;p&gt;Procure opiniões e feedbacks de clientes anteriores. Empresas que entregam resultados consistentes costumam ter boas avaliações e indicações. O SW Houses é uma plataforma que reúne avaliações confiáveis de software houses, ajudando você a identificar quais empresas oferecem qualidade e compromisso. Caso tenha dúvidas, entre em contato com clientes atendidos anteriormente para validar a experiência e a satisfação com os serviços.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Escolher a software house certa para o seu projeto exige tempo e planejamento, mas o resultado compensa. Uma boa parceria pode transformar sua ideia em um produto funcional, eficiente e competitivo no mercado. Aproveite ferramentas como a &lt;a href="https://swhouses.com.br/" rel="noopener noreferrer"&gt;SW House Brasil&lt;/a&gt; para agilizar sua busca e encontrar empresas qualificadas e confiáveis. Com o parceiro certo, o sucesso do seu projeto estará muito mais próximo!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SW House Brasil: facilitando a conexão entre empresas e software houses brasileiras</title>
      <dc:creator>Pedro D. Rocha</dc:creator>
      <pubDate>Sun, 08 Dec 2024 15:47:51 +0000</pubDate>
      <link>https://dev.to/pedrodrocha/sw-house-brasil-facilitando-a-conexao-entre-empresas-e-software-houses-brasileiras-2ecd</link>
      <guid>https://dev.to/pedrodrocha/sw-house-brasil-facilitando-a-conexao-entre-empresas-e-software-houses-brasileiras-2ecd</guid>
      <description>&lt;p&gt;Oi, pessoal! Tudo bem? &lt;/p&gt;

&lt;p&gt;Quero compartilhar com vocês um projeto que venho construindo com muito cuidado e empenho: a &lt;a href="https://swhouses.com.br/" rel="noopener noreferrer"&gt;SW House Brasil&lt;/a&gt;. É uma plataforma que criei para ajudar empresas a encontrarem software houses no Brasil de forma simples e eficiente.  &lt;/p&gt;

&lt;p&gt;A ideia surgiu porque percebi como pode ser complicado encontrar a empresa certa para desenvolver um projeto. O mercado tem muitas opções, mas é tudo muito espalhado, e falta um lugar único onde seja fácil comparar as empresas por área de atuação, tecnologia ou localização. Então, decidi criar uma solução que resolvesse esse problema.  &lt;/p&gt;

&lt;p&gt;Na &lt;strong&gt;SW House Brasil&lt;/strong&gt;, você pode procurar empresas por região, tipo de serviço e especialidade. Além disso, os perfis das empresas têm informações completas para ajudar na hora de decidir e entrar em contato diretamente. Tudo foi pensado para facilitar a busca por parceiros confiáveis, com filtros que ajudam a encontrar software houses qualificadas rapidamente, seja pela localização, tecnologia ou expertise.  &lt;/p&gt;

&lt;p&gt;Ainda tenho várias ideias para melhorar a SW Houses Brasil e deixá-lo ainda mais completo. Entre os planos futuros, estão: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;permitir que empresas reivindiquem seus perfis e incluam links para seus sites&lt;/li&gt;
&lt;li&gt;facilitar o cadastro de novas software houses&lt;/li&gt;
&lt;li&gt;adicionar um sistema de avaliações e opiniões de quem já trabalhou com essas empresas&lt;/li&gt;
&lt;li&gt;criar uma funcionalidade de recomendações personalizadas para ajudar na escolha das melhores opções com base no que você está procurando.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Espero que a &lt;strong&gt;SW House Brasil&lt;/strong&gt; se torne o ponto de referência para quem busca software houses no Brasil. Quero construir uma plataforma que conecte empresas de forma eficiente, valorize o mercado nacional de tecnologia e contribua para o crescimento de negócios em todo o país.  &lt;/p&gt;

&lt;p&gt;Se você conhece alguém que está procurando uma software house ou trabalha em uma, compartilhe com ele a &lt;strong&gt;SW House Brasil&lt;/strong&gt;! :) Quanto mais gente usar e contribuir, melhor vai ficar. &lt;/p&gt;

&lt;p&gt;Agradeço de coração a cada um que tirar um tempinho para visitar o site, testar ou deixar uma sugestão. Isso faz toda a diferença para mim e para o futuro do projeto.  &lt;/p&gt;

&lt;p&gt;Espero que a &lt;strong&gt;SW House Brasil&lt;/strong&gt; seja útil para vocês e que eu consiga melhorar a plataforma cada vez mais com a ajuda de todos. Abraços! 😊  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>I decided to give Cloudflare's D1 a try</title>
      <dc:creator>Pedro D. Rocha</dc:creator>
      <pubDate>Fri, 22 Mar 2024 19:12:27 +0000</pubDate>
      <link>https://dev.to/pedrodrocha/i-decided-to-give-cloudflares-d1-a-try-1cfa</link>
      <guid>https://dev.to/pedrodrocha/i-decided-to-give-cloudflares-d1-a-try-1cfa</guid>
      <description>&lt;p&gt;Recently, I decided to give Cloudflare`s D1 database a try for a personal project. I was looking for a simple, fast, and reliable database that could be used to store and retrieve data. I was also looking for a database that could be easily integrated with my existing infrastructure. Cloudflare D1 seemed to be a good fit for my requirements. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Cloudflare D1 ?
&lt;/h2&gt;

&lt;p&gt;Cloudflare D1 is a serverless database that is native to the Cloudflare Workers platform. It is build on SQLite and is designed to be fast, reliable, and easy to use. D1 is fully managed by Cloudflare and does not require any setup or maintenance. It is also highly available and scalable, making it suitable for production use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to use D1 ?
&lt;/h2&gt;

&lt;p&gt;You should be using D1 if you are willing to use Cloudflare Workers at the backend of your application, or going fullstack deploying your app using Cloudflare Pages. &lt;/p&gt;

&lt;p&gt;I particularly was willing to go deep on Cloudflare, decided to use D1 for my project, and build my whole backend in Hono.js. For spicy up, I also decided to use Drizzle ORM to interact with the database. &lt;/p&gt;

&lt;p&gt;Earlier in time there was some issues in connecting to databases using Cloudflare Workers because of the issue with connections pooling. But now with D1, this isn't an issue anymore. You can easily connect to the database and perform CRUD operations without plugging in any third-party software such as Prisma Accelarate. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why use D1 ?
&lt;/h2&gt;

&lt;p&gt;D1 is &lt;strong&gt;part of the Cloudflare ecossystem&lt;/strong&gt;, is fully integrated with the Workers platform and leverage the whole Cloudflare network to provide a fast and reliable database. &lt;/p&gt;

&lt;p&gt;It is &lt;strong&gt;serverless&lt;/strong&gt;, meaning that you don't have to worry about managing the infrastructure or scaling the database, and compared to other serverless databases, such as Azure SQL, AWS Aurora, CockroachDB, and PlanetScale, it is &lt;strong&gt;cheap&lt;/strong&gt;. It goes into the pay as you go model, and have a generous free tier. In the free tier alone, you are allowed to read 5,000,000 rows per day, write 100,000 rows per day, and store up to 5GB of data.  &lt;/p&gt;

&lt;p&gt;Also, D1 is &lt;strong&gt;easy to use&lt;/strong&gt;. It comes with a simple API that allows you to perform queries on the database, and now Drizzle ORM is also a viable option to use. You can use Drizzle to define models and generate migration files and use the Wrangler CLI to run and control the migrations. &lt;/p&gt;

&lt;p&gt;One thing that would be a great addition in the future is the ability to rollback migrations. Unfortunately, this feature is not available yet.&lt;/p&gt;

&lt;p&gt;Another drawback is that outside access of the database is still limited. You have to use Cloudflare's dashboard to access the database, interact with the data, and run queries outside a Cloudflare Worker script. This is a limitation that can be a deal breaker for some use cases, but it is not a big deal for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use D1 ?
&lt;/h2&gt;

&lt;p&gt;For getting started with D1 you need to make sure that you have a Cloudflare account, and also that Node.js and npm are installed on your machine. You also need to have the Wrangler CLI installed. &lt;/p&gt;

&lt;p&gt;To create a new D1 database, you can use the Wrangler CLI to  login to your Cloudflare account, create a new workers project, and add the D1 database to the project. Once that is done you can start using the database by importing the D1 module in your worker script and performing queries on the database. To spicy things up you can also choose to power your Worker with Hono.js and use Drizzle ORM to interact with the database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Cloudflare D1 is a great database for serverless applications that are built on the Cloudflare Workers platform. It is fast, reliable, and easy to use, and it is fully managed by Cloudflare. It is also highly available and scalable, making it suitable for production use cases.&lt;/p&gt;

&lt;p&gt;It worked really well for me, as I was creating &lt;a href="https://flaremingo.com/" rel="noopener noreferrer"&gt;a third-party platform built on top of Cloudflare Workers&lt;/a&gt; providing users with a user-friendly interface to create, manage, and deploy workers without the need for coding expertise. &lt;/p&gt;

&lt;p&gt;But the platform is still in beta, so there are some limitations that you should be aware of. For example, you can only access the database through the Cloudflare dashboard, and you cannot run queries outside a Cloudflare Worker script or the dashboard. &lt;/p&gt;

&lt;p&gt;In any case, I am happy with my experience with D1 and would recommend it to anyone who is looking for a serverless database. &lt;/p&gt;

&lt;p&gt;I would recommend D1 to anyone who is looking for a serverless database that is native to the Cloudflare Workers platform.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Don't hide if you want to rank: how display none and visibility hidden endanger SEO efforts</title>
      <dc:creator>Pedro D. Rocha</dc:creator>
      <pubDate>Sat, 10 Dec 2022 20:54:57 +0000</pubDate>
      <link>https://dev.to/pedrodrocha/dont-hide-if-you-want-to-rank-how-display-none-and-visibility-hidden-endanger-seo-efforts-122n</link>
      <guid>https://dev.to/pedrodrocha/dont-hide-if-you-want-to-rank-how-display-none-and-visibility-hidden-endanger-seo-efforts-122n</guid>
      <description>&lt;p&gt;A big challenge in creating products for ranking at Google and attracting organic traffic is writing code that screen readers can recognize. Text optimization and on-page optimization efforts, such as the use of structural text elements and meta tags and the build-up of internal links and website hierarchy all help getting traction, but none of it matters if those little robots cannot actually index your content. &lt;/p&gt;

&lt;p&gt;The indexing nightmare usually starts when you build those fancy accordions of custom content or FAQs, and add interactivity for showing and hiding from the user elements as he plays around with see more/see less buttons. At this time you probably spent a good quota of copywriters' money to end up discovering days later that you are not ranking for all that content hidden on page load.&lt;/p&gt;

&lt;p&gt;In the good old days, people would use hidden text to rank for things that users couldn't access in a variation of a bait-and-switch technique. So, depending on the way you choose to hide your content, Google is likely preventing users to end up on a page that has nothing to do with its search intent. Just to be clear, your content is definitely being crawled, but not indexed and you are not ranking for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are our options for hiding web content?
&lt;/h2&gt;

&lt;p&gt;There are three direct ways to hide content on a webpage, you can use &lt;code&gt;display: none&lt;/code&gt;, &lt;code&gt;visibility: hidden&lt;/code&gt;, or &lt;code&gt;opacity: 0&lt;/code&gt;. All of them do the job, but work differently behind the scenes and have consequences for the indexing status of your web page.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;code&gt;display: none&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Setting &lt;code&gt;display: none&lt;/code&gt; removes the element and its children altogether from the HTML tree. They are not only invisible and don't occupy layout space, but the page renders as if they didn't exist. As they don't occupy layout space, elements with &lt;code&gt;display: none&lt;/code&gt; don't have size properties active. Their &lt;code&gt;height&lt;/code&gt;, &lt;code&gt;width&lt;/code&gt;, and all other related properties will be 0. &lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/pedrodrocha/embed/eYKoQON?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;code&gt;visibility: hidden&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The attribute prevents elements from rendering, but includes them in the HTML tree, occupying layout space. By occupying layout space, they do have size properties active in contrast to elements with &lt;code&gt;display: none&lt;/code&gt; active. &lt;/p&gt;

&lt;p&gt;But here is the tricky part that confuses people. The element has width and height properties, but it's not rendered on page load and all the content inside cannot be accessed because their &lt;code&gt;innerText&lt;/code&gt; will be empty.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/pedrodrocha/embed/jOKRQwO?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;code&gt;opacity: 0&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;By setting &lt;code&gt;opacity: 0&lt;/code&gt; you don't prevent the rendering of an element, but add full transparency to it and all its children. They will render and occupy layout space. As a consequence of rendering, all the content is accessible and their &lt;code&gt;innerText&lt;/code&gt; will not be empty. &lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/pedrodrocha/embed/oNyOQeE?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  So what should we do to rank for hidden text content?
&lt;/h2&gt;

&lt;p&gt;Search intent is key and as such you will not be ranking for content not accessible to users when they first go to your webpage. &lt;/p&gt;

&lt;p&gt;If you want your text content to index, make sure screen readers can access it on page load. The use of &lt;code&gt;display: none&lt;/code&gt; and &lt;code&gt;visibility: hidden&lt;/code&gt; is not recommended because those attributes will prevent elements from rendering and might set &lt;code&gt;innerText&lt;/code&gt; to blank. &lt;/p&gt;

&lt;p&gt;The best strategy for building tabbed content is using &lt;code&gt;opacity: 0&lt;/code&gt; in combination with other css attributes, such as &lt;code&gt;max-height: 0&lt;/code&gt; and &lt;code&gt;pointer-events: none&lt;/code&gt;. They will allow you to not show content until some event is triggered and also prevent &lt;code&gt;innerText&lt;/code&gt; to be set blank on page load.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>css</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
