<?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: Rafael Lage</title>
    <description>The latest articles on DEV Community by Rafael Lage (@rlage).</description>
    <link>https://dev.to/rlage</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%2F389136%2F4162648a-4228-40d4-bac1-54103c54231e.jpeg</url>
      <title>DEV Community: Rafael Lage</title>
      <link>https://dev.to/rlage</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rlage"/>
    <language>en</language>
    <item>
      <title>Por que devemos ter cuidado com EXEMPLOS DE SUCESSO</title>
      <dc:creator>Rafael Lage</dc:creator>
      <pubDate>Sat, 14 May 2022 11:51:17 +0000</pubDate>
      <link>https://dev.to/rlage/por-que-devemos-ter-cuidado-com-exemplos-de-sucesso-o2e</link>
      <guid>https://dev.to/rlage/por-que-devemos-ter-cuidado-com-exemplos-de-sucesso-o2e</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qBrNgsBv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ut5vpgs82ek49knwiued.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qBrNgsBv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ut5vpgs82ek49knwiued.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
 Olá! Esse post é pra você que é iniciante em programação, está em transição de carreira ou mesmo pra qualquer pessoa. Mesmo. Vivemos uma época de venda de ilusões e esse post é para sacudir você de um possível transe provocado por esse mercado. Vem comigo.&lt;/p&gt;

&lt;p&gt;Hoje em dia não é incomum encontrarmos posts na internet, em grupo, vídeos em tiktok (além das dancinhas), youtube, gente na twitch, o que for, vendendo ilusões, especialmente nas áreas de empreendedorismo e programação. Tem inúmeras revistas, inclusive, que falam sobre salários de programadores serem de 20k, empreendedores dizendo que o salário de dev chega a 5k em 6 meses, uma loucura. E é fácil sermos levados a acreditar nessas coisas, especialmente quando estamos começando numa carreira, pois é o que queremos escutar.&lt;/p&gt;

&lt;p&gt;Muita gente fala essas coisas pra vender jornal, pra ganhar views, mesmo sabendo que não é real. Ou é?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Eu tenho um primo que ganha 9k dolares e é tech lead e não fez faculdade, logo, faculdade é inútil&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XeiyGlks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2auhczrvyevab2q44mtu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XeiyGlks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2auhczrvyevab2q44mtu.png" alt="Image description" width="880" height="715"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Eu tenho um amigo que ganha 5k e começou na área há 4 meses, trabalha pra uma empresa americana&lt;/p&gt;

&lt;p&gt;Eu tenho um sobrinho que fez um app e vendeu pra google e ficou podre de rico&lt;/p&gt;

&lt;p&gt;Eu tenho uma conhecida que saiu do país sem faculdade, trabalha na alemanha e ganha em euro!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Muito provavelmente você já ouviu alguma dessas histórias de alguém... ou da própria pessoa, quando defendendo um ponto contra cursar uma faculdade ou insinuando que é fácil ganhar dinheiro na área com pouco esforço.&lt;/p&gt;

&lt;p&gt;Essas histórias são mentirosas, são fake news? Não! Realmente, existem pessoas que venderam apps pra grandes empresas e ficaram ricas, existem pessoas que conseguiram auferir excelentes salários sem faculdade, em pouco tempo e certamente existem pessoas que saíram do Brasil para trabalhar fora sem ter concluído a universidade, eu tenho amigos e amigas inclusive que estão aqui em Portugal comigo, ganhando bem e sem faculdade.&lt;/p&gt;

&lt;p&gt;Existe outro grupo de pessoas que propaga essas histórias e acabam praticando a venda de ilusão, até com boas intenções, porque conhecem esses exemplos. Às vezes elas são esses exemplos. Elas acreditam que é possível porque elas fizeram ou conhecem pessoas que fizeram. E, certamente, isso prova que é possível.&lt;/p&gt;

&lt;p&gt;A diferença é que ser possível &lt;strong&gt;NÃO SIGNIFICA&lt;/strong&gt; ser provável.&lt;/p&gt;

&lt;p&gt;E essa diferença confunde muita gente: quem propaga e quem consome a informação. E isso se transforma em &lt;strong&gt;ilusão&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que é possível?&lt;/strong&gt; Possível é algo que pode acontecer, não tem uma contrapartida estatística... por exemplo, é possível que você seja atingido por um raio, que você ganhe na loteria... quando falamos que algo é possível, estamos falando em 0 ou 1. Logo, é possível ser atingido por um raio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que é provável?&lt;/strong&gt; Provável é um termo usado para lidarmos com a chance de algo acontecer, tem uma contrapartida estatística, porque para definir se algo é provável ou não, é preciso dados. Por exemplo, existe 1 chance em 1 milhão de uma pessoa ser atingida por um raio. Logo, é pouco provável ser atingido por um raio. E probabilidade é uma faixa de valores, não 0 ou 1.&lt;/p&gt;

&lt;p&gt;Ou seja, &lt;strong&gt;tudo que é provável precisa ser possível&lt;/strong&gt;. Mas &lt;strong&gt;nem tudo que é possível, precisa ser provável&lt;/strong&gt;. São coisas diferentes. Trazendo pro nosso mundo da programação:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;é possível ganhar 5k em 6 meses, mas &lt;strong&gt;quais as chances&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;é possível sair do país sem faculdade com programação, mas &lt;strong&gt;quais as chances&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;é possível ganhar um grande salário e atingir posições de liderança, mas &lt;strong&gt;quais as chances&lt;/strong&gt;?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repare que eu não estou te dando a resposta. Me faltam dados. O meu intuito aqui não é "advogar pro outro lado". Não é dizer: "façam faculdade", "façam concurso público", "façam isso ou aquilo". Não! Eu não vou dizer o que você vai decidir fazer pra sua vida.&lt;/p&gt;

&lt;p&gt;Eu vou sugerir a pergunta que você precisa tentar responder ao ler histórias de sucesso:&lt;/p&gt;

&lt;p&gt;É possível, mas &lt;strong&gt;quais as chances&lt;/strong&gt;?&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>iniciantes</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Using react-leaflet to generate one tiled layer</title>
      <dc:creator>Rafael Lage</dc:creator>
      <pubDate>Sun, 07 Mar 2021 05:58:10 +0000</pubDate>
      <link>https://dev.to/rlage/using-react-leaflet-to-generate-one-tiled-layer-gj0</link>
      <guid>https://dev.to/rlage/using-react-leaflet-to-generate-one-tiled-layer-gj0</guid>
      <description>&lt;h1&gt;
  
  
  The problem: Leaflet does not support single tile layer.
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(This was posted in 2017, on medium)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Which means that if you need to render some dynamic cluster, generated by geoserver, like this:&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5oo1lcu8nuax022sw2nd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5oo1lcu8nuax022sw2nd.png" alt="leaflet-1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leaflet will, instead, show something like this:&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0cyfmejmssuk0sxqotlt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0cyfmejmssuk0sxqotlt.png" alt="leaflet-2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Which is messed up. Fortunately, we (me and &lt;a href="https://dev.to/nighto"&gt;Arlindo Pereira&lt;/a&gt;, at MPRJ) got a workaround using &lt;a href="http://leafletjs.com/reference-1.2.0.html#imageoverlay" rel="noopener noreferrer"&gt;ImageOverlay&lt;/a&gt; element from &lt;a href="http://leafletjs.com/reference-1.2.0.html" rel="noopener noreferrer"&gt;Leaflet&lt;/a&gt;, which is pretty simple, but it took a lot of time to discover.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/PaulLeCam/react-leaflet" rel="noopener noreferrer"&gt;React-leaflet&lt;/a&gt; is a lib that exposes components to work with leaflet. So it exposes react components like Map, TileLayer, WMSTileLayer, and so on. It also exposes ImageOverlay. To get this to work, you need to use ImageOverlay component like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ImageOverlay
  bounds={imageBounds}
  url={imageURL}
  transparent={true}
/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Where imageBounds needs to be a Leaflet Bounds object, which should be the bounds for the current visible portion of the map, like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
 “_southWest”:
 {
 “lat”:-24.27701247166408,
 ”lng”:-46.65893554687501}
 }
 ”_northEast”:
 {
 “lat”:-21.927759064052037,
 ”lng”:-37.86987304687501
 }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The imageURL parameter is the URL to the service that will generate the image and should be like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let imageURL = `${ENDPOINT}?
SERVICE=WMS&amp;amp;VERSION=1.1.1&amp;amp;REQUEST=GetMap&amp;amp;FORMAT=
image%2Fpng&amp;amp;TRANSPARENT=true&amp;amp;STYLES&amp;amp;LAYERS=
${layer.layerName}&amp;amp;SRS=EPSG%3A4326&amp;amp;WIDTH=
${clientWidth}&amp;amp;HEIGHT=
${clientHeight}&amp;amp;BBOX=
${imageBounds._southWest.lng}%2C
${imageBounds._southWest.lat}%2C
${imageBounds._northEast.lng}%2C
${imageBounds._northEast.lat}`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a WMS call. The main things you should note are the Height, Width and Bbox attributes. The height and width need to be in pixels and related to the size of the map in your app, so to speak. Our map fits the html document, so we got it like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let clientHeight = document.body.clientHeight
let clientWidth = document.body.clientWidth
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And the Bbox is the same coordinate as mentioned before.&lt;br&gt;
You can see how it was before:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffini49odyrwxajp58ea8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffini49odyrwxajp58ea8.png" alt="mprj-1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And how it is now:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7p9lumi2qcyu8y1lvz3w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7p9lumi2qcyu8y1lvz3w.png" alt="mprj-2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or here, live: &lt;a href="http://apps.mprj.mp.br/sistema/inloco/" rel="noopener noreferrer"&gt;http://apps.mprj.mp.br/sistema/inloco/&lt;/a&gt;&lt;br&gt;
Here to see the code: &lt;a href="https://github.com/MinisterioPublicoRJ/inLoco-2.0" rel="noopener noreferrer"&gt;https://github.com/MinisterioPublicoRJ/inLoco-2.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;InLoco is aGeographic Information System (GIS) used by Ministério Público do Estado do Rio de Janeiro to show social, institutional and administrative data, made with React and Leaflet, interacting with a public GeoServer backend. You are welcome to send you PR =)  &lt;/p&gt;

</description>
      <category>leaflet</category>
      <category>tutorial</category>
      <category>geoserver</category>
      <category>dataviz</category>
    </item>
  </channel>
</rss>
