<?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>Forem: Kainan Gabriel</title>
    <description>The latest articles on Forem by Kainan Gabriel (@kainangabriel).</description>
    <link>https://forem.com/kainangabriel</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%2F1173044%2Fea49dc04-7fa0-4342-bfc0-ec8d5da17d99.jpeg</url>
      <title>Forem: Kainan Gabriel</title>
      <link>https://forem.com/kainangabriel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kainangabriel"/>
    <language>en</language>
    <item>
      <title>MICROSERVICES WITH SPRING BOOT, EUREKA AND DOCKER - PART 1</title>
      <dc:creator>Kainan Gabriel</dc:creator>
      <pubDate>Fri, 19 Jan 2024 14:30:48 +0000</pubDate>
      <link>https://forem.com/kainangabriel/microservices-with-spring-boot-eureka-and-docker-1pho</link>
      <guid>https://forem.com/kainangabriel/microservices-with-spring-boot-eureka-and-docker-1pho</guid>
      <description>&lt;h2&gt;
  
  
  HOW TO COMMUNICATE SPRING BOOT MICROSERVICES WITHIN THE SAME DOCKER NETWORK?
&lt;/h2&gt;

&lt;h5&gt;
  
  
  FIRST THINGS FIRST, WE NEED TO CREATE OUR DOCKER NETWORK.
&lt;/h5&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%2Fgns7hdad72kubdunrdd1.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%2Fgns7hdad72kubdunrdd1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  NOW WE NEED TO SET-UP THE DOCKERFILE.
&lt;/h5&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%2Fhz41t9lpi85fvi1dhslk.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%2Fhz41t9lpi85fvi1dhslk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  WILL LOOK LIKE THIS INSIDE THE CONTAINER:
&lt;/h5&gt;

&lt;p&gt;/app&lt;br&gt;
├── .mvn/&lt;br&gt;
├── pom.xml&lt;br&gt;
├── target/&lt;br&gt;
│   └── [compiled JAR files and other build artifacts]&lt;br&gt;
└── src/&lt;/p&gt;

&lt;h4&gt;
  
  
  NOW WE NEED TO BUILD AND RUN OUR DOCKER CONTAINER:
&lt;/h4&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%2Fbkdgz8uwetqo8h55t4r4.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%2Fbkdgz8uwetqo8h55t4r4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  "DOCKER BUILD ." WILL CREATE YOUR IMAGE THEN YOU RUN IT WITH:
&lt;/h4&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%2Fr7btpvasgztbpfz7423o.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%2Fr7btpvasgztbpfz7423o.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  REMEMBER TO RUN YOUR CONTAINER WITH THE SAME NETWORK YOU JUST CREATED. IT WILL PROBABLY FAIL TO RUN SO STOP THE CONTAINER FOR NOW.
&lt;/h4&gt;

&lt;h2&gt;
  
  
  CONFIGURING OUR SPRING BOOT APPLICATIONS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  DISCOVERY/SERVICE-REGISTRY
&lt;/h3&gt;

&lt;h6&gt;
  
  
  REMEMBER TO ANNOTATE YOUR MAIN JAVA CLASS WITH @EnableEurekaServer
&lt;/h6&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%2F3si8ziekraqvjl0xg3g1.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%2F3si8ziekraqvjl0xg3g1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  I RECOMMEND YOU TO NOT USE THE IPV4 BECAUSE EVERYTIME YOU REASSIGN YOUR CONTAINER TO THE NETWORK THE IP WILL CHANGE. USE THE DOCKER CONTAINER INSTEAD.
&lt;/h4&gt;

&lt;h6&gt;
  
  
  &lt;a href="http://YOUR_CONTAINER_NAME:8761/eureka/" rel="noopener noreferrer"&gt;http://YOUR_CONTAINER_NAME:8761/eureka/&lt;/a&gt;
&lt;/h6&gt;

&lt;h4&gt;
  
  
  HOW TO GET THE APPLICATION CONTAINER IPV4?
&lt;/h4&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%2F9aamlr3fdvxqi4kjpllx.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%2F9aamlr3fdvxqi4kjpllx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GATEWAY CONFIGURATION
&lt;/h3&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%2F9at7t34bbwgchcmw0gwx.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%2F9at7t34bbwgchcmw0gwx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  ON "serviceUrl.defaultZone" USE THE NETWORK IPV4 FROM THE DISCOVERY/SERVICE-REGISTRY CONTAINER OR JUST USE THE CONTAINER NAME(its better trust me).
&lt;/h4&gt;

&lt;h4&gt;
  
  
  CREATE YOUR DOCKERFILE FOR THE GATEWAY TOO AND MAKE SURE TO SET-UP YOUR PORTS CORRECTLY FOR THE CONTAINERS. IN THIS CASE WOULD LOOK LIKE THIS:
&lt;/h4&gt;

&lt;h6&gt;
  
  
  docker run --name CONTAINER_NAME --network=YOUR_NETWORK_NAME -p 8080:8080 YOUR_DOCKER_IMAGE_NAME
&lt;/h6&gt;

&lt;h4&gt;
  
  
  NOW YOU ONLY THE GATEWAY TO RECEIVE CONNECTIONS FROM THE OUTSIDE.
&lt;/h4&gt;

</description>
      <category>java</category>
      <category>docker</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Desenvolva sua Experiência de Forma Inteligente</title>
      <dc:creator>Kainan Gabriel</dc:creator>
      <pubDate>Fri, 29 Sep 2023 11:14:56 +0000</pubDate>
      <link>https://forem.com/kainangabriel/como-adquirir-experiencia-5e2o</link>
      <guid>https://forem.com/kainangabriel/como-adquirir-experiencia-5e2o</guid>
      <description>&lt;h2&gt;
  
  
  Motivação
&lt;/h2&gt;

&lt;p&gt;Quando estava em busca da minha primeira oportunidade como desenvolvedor, deparava-me com vagas cheias de obrigatoriedades e requisitos, mesmo para um estágio não remunerado...&lt;/p&gt;

&lt;p&gt;Eu me perguntava: como conseguir experiência se eu não tenho experiência?&lt;/p&gt;

&lt;p&gt;E foi aí que eu aprendi o que vou te ensinar agora!&lt;/p&gt;

&lt;p&gt;Como conseguimos experiência? Claro que é.... FAZENDO PROJETOS!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Pouts, mas isso eu já sabia..."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Te acalma moreno.&lt;/p&gt;

&lt;h2&gt;
  
  
  UM DEV DIFERENCIADO SABE LER CÓDIGO
&lt;/h2&gt;

&lt;p&gt;Como assim ler código? Eu também sei ler... quando eu vejo um 1 + 1 logo sei que é 11 (javascript pode te surpreender).&lt;/p&gt;

&lt;p&gt;No trabalho que tanto desejou e sonhou, acha que vai chegar lá e criar um projetinho novo, escrever um hello world e sair codando? Mas é óbvio que não. Antes de qualquer linha de código, precisará fazer algo MUITO mais importante que só escrever códigos feios e sem nexo. E sabe oque é? LER!&lt;/p&gt;

&lt;p&gt;Isso mesmo, você precisa estudar toda a estrutura usada no seu ambiente de trabalho, e para isso você precisa LER e ENTENDER o que está acontecendo.&lt;/p&gt;

&lt;h2&gt;
  
  
  COMO TREINAR ESSA HABILIDADE?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;copie código mas não copie o código.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Como assim?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Não é simplesmente fazendo projetos copiados do youtube ou a famosa pokedex que vai te fazer um dev di-fe-ren-cia-do meu amigo...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Então como é copiar mas sem copiar?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vou te responder com outra pergunta: o que você quer? Quer ser um dev back-end/front-end?&lt;/p&gt;

&lt;p&gt;Quer ser desenvolvedor back-end? Entre no github e procure um projeto front-end feito por alguém e copie ele.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Mas eu quero ser backend, porque copiaria um projeto frontend?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quanta falta de criatividade meu amigo!&lt;/p&gt;

&lt;p&gt;Clone, rode e ESTUDE o que o projeto faz, é, entrega e, somente depois que você entender, desenhe ele. Desenhe as tabelas no seu banco de dados, as suas rotas, seus microsserviços(se necessário).&lt;/p&gt;

&lt;p&gt;Faça perguntas. Quais seus use-cases? Banco Relacional ou Não Relacional? Não sei... Diz aí!&lt;/p&gt;

&lt;p&gt;ter uma habilidade como essa é extremamente valioso, e com certeza você usará ela todos os dias.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Tá. Mas eu quero ser frontend, esse negócio de fazer CRUD não é pra mim não."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;É SÓ FAZER A MESMA COISA!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Procure um projeto back-end, clone, rode e ESTUDE o que o projeto faz e entrega, e somente depois que você entender, comece a pesquisar layouts no figma e copie eles. Ou se você quiser ser um UX/UI, faça as suas própriastelas e botões coloridos.&lt;/p&gt;

&lt;p&gt;Aprenda a integrar uma API da melhor forma, boas práticas e otimizações, talvez até acessibilidade(super recomendo,&lt;br&gt;
muito bom incluir todos esses aspectos).&lt;/p&gt;

&lt;p&gt;Faça perguntas. É necessário um framework? Se sim, qual? e cache, redis ou usequery? Mobile First ou nem?&lt;/p&gt;

&lt;p&gt;Tudo isso agregará MUITO à sua carreira e experiência como desenvolvedor.&lt;/p&gt;

&lt;h2&gt;
  
  
  COMO ENCONTRAR ESSES PROJETOS?
&lt;/h2&gt;

&lt;p&gt;EXEMPLO: vá no google e digite "administração de restaurante github" e voilà, aí está seu projeto.&lt;br&gt;
EXEMPLO 2: vá no google e digite "frontend projetos github" e voilà, aí está seu projeto.&lt;br&gt;
EXEMPLO 3: Caso encontre algum site com premissas de "10 FRONTEND PROJECTS", MELHOR AINDA! Entre, pegue o código e voilà.&lt;/p&gt;

&lt;p&gt;BÔNUS&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Procure soluções para problemas está enfrentando no codepen, github e medium. Meta as caras mano!&lt;/li&gt;
&lt;li&gt;Delete tudo o que está funcionando e reescreva. Sim, é sério, delete agora mesmo e reescreva. (conteúdo para um próximo tópico.)&lt;/li&gt;
&lt;li&gt;Quer um projeto backend feito em node e express? Vai no meu github e lá tem um que estou escrevendo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;conecte comigo: &lt;a href="https://www.linkedin.com/in/kainangabriel/"&gt;linkedin&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
