<?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: Talita Monteiro</title>
    <description>The latest articles on DEV Community by Talita Monteiro (@tfpmonteiro).</description>
    <link>https://dev.to/tfpmonteiro</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%2F324518%2Fb8ae3b87-0e59-494b-a9e4-26d876100a61.jpeg</url>
      <title>DEV Community: Talita Monteiro</title>
      <link>https://dev.to/tfpmonteiro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tfpmonteiro"/>
    <language>en</language>
    <item>
      <title>Como configurar meu ambiente para criar aplicações Java utilizando o Spring?</title>
      <dc:creator>Talita Monteiro</dc:creator>
      <pubDate>Thu, 30 Apr 2020 16:24:02 +0000</pubDate>
      <link>https://dev.to/tfpmonteiro/como-configurar-meu-ambiente-para-criar-aplicacoes-java-utilizando-o-spring-1chd</link>
      <guid>https://dev.to/tfpmonteiro/como-configurar-meu-ambiente-para-criar-aplicacoes-java-utilizando-o-spring-1chd</guid>
      <description>&lt;p&gt;Este é um artigo da Talita do presente para a Talita do futuro. Explico: Sou formada em Sistemas de Informação no IFPR e as aulas de programação, que tive na faculdade, tinham como referência o Java. Foram quatro longos anos estudando essa linguagem, projetos inacabados e muitas horas de sono dicadas a entender o mundo da programação.  Hoje, dois anos após a minha formatura, atuo no mercado de trabalho como desenvolvedora de sistemas em projetos criados em .net.  &lt;/p&gt;

&lt;p&gt;Eu nunca tinha estudado C# antes e custei a confiar no meu potencial como dev. Até hoje sofro com cobranças internas em excesso e falta de confiança em mim mesmo, mas isso é assunto para outro artigo. O que realmente importa é que desde o começo eu vi muita semelhança na sintaxe do Java com o C# e por causa de todas as aulas de Programação Orientada a Objetos, Desenvolvimento de Sistemas I e II e Estruturas de Dados, quando abri o Visual Studio pela primeira vez e escrevi o meu primeiro Hello World em C# eu me senti muito à vontade. &lt;/p&gt;

&lt;p&gt;Apesar de todo amor envolvido com o C#, nos últimos meses tenho tido muita vontade de relembrar os velhos tempos com Java. Por coincidência, recentemente o Thiago Farias da Algaworks disponibilizou um curso de Spring Rest em Java. Foram quatro vídeo aulas de aproximadamente 1:30h, que eu assisti e coloquei em prática durante o final de semana. &lt;/p&gt;

&lt;p&gt;Por eu não trabalhar com Java, o objetivo desse artigo (depois de toda essa introdução) é demonstrar a configuração do Spring Boot para poder criar aplicações com Java.  &lt;/p&gt;

&lt;p&gt;E porque a Talita do presente está escrevendo isso para a Talita do futuro? Porque eu não vi isso na faculdade, eu não tenho familiaridade com o Spring, mas gostei bastante de como ele funciona. Portanto, se daqui três ou quatro meses eu quiser criar um novo projeto em Java eu não vou sofrer para configurar o ambiente novamente, simples.  &lt;/p&gt;

&lt;p&gt;Então vamos lá! &lt;/p&gt;

&lt;p&gt;O primeiro passo para desenvolver aplicações em Java é ter o JDK (Java Development Kit) instalado no computador. Diferente do C# que basta abrir a IDE e sair digitando código, o Java necessita de um ambiente de configuração um pouco mais específico. Para saber se você tem o Java instalado no seu computador é só abrir o terminal de comando do Windows e executar o comando: &lt;/p&gt;

&lt;p&gt;&lt;em&gt;java –version&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Se o Java estiver instalado, o cmd irá retornar as informações referente a instalação, igual na imagem abaixo: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XXFD49gO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9e5guju9lsa0ji18yhgp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XXFD49gO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9e5guju9lsa0ji18yhgp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se você ainda não possui o JDK instalado na máquina, basta baixar o arquivo de instalação no site &lt;a href="https://jdk.java.net"&gt;https://jdk.java.net&lt;/a&gt; e seguir as instruções do próprio instalador (next, next, next...). Atualmente, o Java está na versão 14, você pode utilizar versões mais antigas do JDK, a partir da 11. Se sua versão for anterior a isso, talvez esteja na hora de você começar a pensar em atualizar. &lt;/p&gt;

&lt;p&gt;Certo, com o JDK instalado, precisamos configurar as variáveis de ambiente do Java no Windows para que o compilador possa executar os códigos que serão criados (1). Essa configuração é bastante simples. Se você estiver utilizando o Windows 10, é só buscar por “variaveis” na área de pesquisa do Windows e abrir a correspondência “Editar as variáveis de ambiente do sistema”. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JMPK4vNi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8pltg4l64gb9wh0khxjf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JMPK4vNi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8pltg4l64gb9wh0khxjf.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Na caixa de propriedades do Sistema, na aba Avançado, escolha a opção “Variáveis de Ambiente”. Será aberto uma janela com todas as variáveis de usuário e as variáveis do sistema configuradas no seu computador. Em variáveis do sistema, clique em Novo. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4kvxYfNo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w38qpo9i5s94e7z61ibp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4kvxYfNo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w38qpo9i5s94e7z61ibp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Na janela que será aberta, defina o nome da variável como JAVA_HOME e informe o caminho do diretório onde foi realizada a instalação do JDK e clique em OK.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4dul-1Uv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5lst54lx1shjg7t8djg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4dul-1Uv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5lst54lx1shjg7t8djg5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora, localize a variável de sistema chamada Path e clique em Editar. Em seguida, clique em Novo e adicione a variável %JAVA_HOME%\bin &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0yTXzNZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gzpurei5kwaf0eps9132.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0yTXzNZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gzpurei5kwaf0eps9132.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Excelente! Com o JAVA instalado e configurado no computador, podemos iniciar nosso primeiro projeto com o Spring Tools Suite. Mas, o que é o Spring? &lt;/p&gt;

&lt;p&gt;Spring é um conjunto de ferramentas que fornecem base para um conjunto de recursos e funcionalidades em desenvolvimento de software utilizando Java. Entre as diversas ferramentas listadas no site spring.io podemos destacar o Spring Framework que é responsável por fornecer de forma prática e fácil diversas configurações do projeto. Permitindo que o programador concentre mais tempo na lógica do negócio que pretende solucionar do que configurando arquivos para que o projeto funcione. Além do Spring Framework, existem diversos outros projetos que facilitam no desenvolvimento de software, entre eles o Sprng Data, Spring Cloud, Spring Boot, etc.  &lt;/p&gt;

&lt;p&gt;Existem duas maneiras de se criar um projeto através do Spring: 1) utilizando o Spring initializr através do site &lt;a href="https://start.spring.io/"&gt;https://start.spring.io/&lt;/a&gt; ou 2) através do Spring Tools, neste caso é necessário realizar o download da ferramenta no site &lt;a href="https://spring.io/tools"&gt;https://spring.io/tools&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Embora as configurações sejam parecidas, utilizarei o Sprint Tools como referencia para este artigo, pois, além de criar um pacote com as configurações iniciais do projeto, o Spring Tools pode servir como uma IDE para o desenvolvimento do projeto. O Spring initializr vai gerar o pacote com as configurações do projeto, que você pode baixar para a sua máquina no formato .zip e depois executar em qualquer IDE que suporte Java, como Eclipse ou Netbeans, por exemplo. &lt;/p&gt;

&lt;p&gt;Com o Spring Tools aberto, vamos iniciar a criação de um novo projeto em File &amp;gt; New &amp;gt; Project. Aqui, vou demonstrar a criação de um projeto Spring Starter Project  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_AYP9yQY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uuo4g3ok9grmlqbo3hz1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_AYP9yQY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uuo4g3ok9grmlqbo3hz1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em seguida, precisamos definir as configurações do sistema. O campo Service URL corresponde ao domínio de hospedagem do projeto, caso você tenha um, neste caso podemos deixar como com a informação padrão do site start.spring.io. No campo Name, basta informar o nome do projeto. O Sprng irá criar as pastas do projeto no diretório padrão, informado pelo usuário no momento que abre a ferramenta pela primeira vez, mas caso queria alocar os diretórios em uma pasta específica, basta desmarcar a opção “Use default location” e informar o caminho do diretório no campo “Location”. &lt;/p&gt;

&lt;p&gt;No campo Type informamos o tipo do projeto, neste caso vamos criar um projeto Java utilizando o Maven(2) que é uma ferramenta de compilação que realiza a integração do projeto, gerenciando dependências, controlando versões, executando testes, etc. Os campos Packaging, Java version e Language manteremos da forma que está.  &lt;/p&gt;

&lt;p&gt;Por padrão, o campo Group é configurado como um endereço de domínio de trás para frente. No Artifact repetimos o nome do projeto. Os demais campos manteremos como está, a não ser que queria definir alguma descrição para o projeto. Entretanto não mexeremos na Version e nem no Package. Abaixo, segue uma imagem da tela de Starter: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vVuqchMI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/25xeosq2oba4gxa2ercd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vVuqchMI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/25xeosq2oba4gxa2ercd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Na tela seguinte, vamos adicionar as primeiras dependências do projeto. Você poderá adicionar dependências no projeto sempre que quiser, mas algumas delas podem ser iniciadas com o projeto. Neste exemplo, vou utilizar a dependência Flyway Migration para criar as tabelas no banco de dados, Spring Boot DevTools e Spring Web. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8yMQzQ3w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rsu3kx4h920l3w7nqdpj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8yMQzQ3w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rsu3kx4h920l3w7nqdpj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao clicar em Finish, o Spring vai criar o projeto já configurado com as dependências informadas. O primeiro projeto pode demorar alguns minutos para ser carregado, uma vez que o Spring irá baixar as dependências e outros arquivos necessários para inicialização. Quando o processo do Spring for concluído, você terá o seu projeto listado na janela Project Explorer, com as dependências já configuradas no pom.xml e a classe de inicailização. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Bpp4rTjZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bhbmgarpbjj0wmcunfq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Bpp4rTjZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bhbmgarpbjj0wmcunfq8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora é só começar a codar! Lets go dev! &lt;/p&gt;

&lt;p&gt;Referências &lt;br&gt;
(1) Por que configurar as variáveis de ambiente? Disponível em &lt;a href="https://cursos.alura.com.br/forum/topico-por-que-configurar-as-variaveis-de-ambiente-24254"&gt;https://cursos.alura.com.br/forum/topico-por-que-configurar-as-variaveis-de-ambiente-24254&lt;/a&gt; &amp;lt;último acesso em 29/04/2020&amp;gt;. &lt;/p&gt;

&lt;p&gt;(2) Iniciando com o Maven. Disponível em &lt;a href="https://medium.com/java-e-arquitetura-de-forma-mastigada/iniciando-com-o-maven-a0d85ea26f13"&gt;https://medium.com/java-e-arquitetura-de-forma-mastigada/iniciando-com-o-maven-a0d85ea26f13&lt;/a&gt; &amp;lt;último acesso em 29/04/2020&amp;gt;. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Sobre a necessidade do diploma de graduação para ser desenvolvedor(a) de software</title>
      <dc:creator>Talita Monteiro</dc:creator>
      <pubDate>Fri, 03 Apr 2020 02:12:03 +0000</pubDate>
      <link>https://dev.to/tfpmonteiro/sobre-a-necessidade-do-diploma-de-graduacao-para-ser-desenvolvedor-a-de-software-36f3</link>
      <guid>https://dev.to/tfpmonteiro/sobre-a-necessidade-do-diploma-de-graduacao-para-ser-desenvolvedor-a-de-software-36f3</guid>
      <description>&lt;p&gt;Tenho refletido sobre esse assunto há alguns dias e discutido com amigos próximos da área de TI sobre o quão importante é a graduação na vida de um(a) desenvolvedor(a) de software.&lt;/p&gt;

&lt;p&gt;É claro que nos dias atuais, com tanto acesso à informação e tanta pressa em aprender, esta cada vez mais difícil encontrar pessoas dispostas e dedicar 4 ou 5 anos de suas vidas para passar horas e horas trancados em uma sala de aula aprendendo prática e teoria nos moldes tradicionais, ainda mais com tantos cursos EAD e técnico espalhados por aí.&lt;/p&gt;

&lt;p&gt;Apesar de não concordar 100% com o modelo de ensino adotado pelas universidades (mas isso é assunto para outro artigo), depois de muito refletir percebo que ainda sou uma defensora do diploma de graduação e explicarei o porque a seguir.&lt;/p&gt;

&lt;p&gt;Ainda que hoje em dia muitos sites sejam perfeitamente capazes de ensinar técnicas e teorias de programação, arquitetura, boas práticas e etc.. apenas as experiências vividas na graduação são capazes de nos preparar para os verdadeiros pontos de impacto de trabalho no dia a dia, que basicamente se resumem a: resolução de conflitos e trabalho em equipe.&lt;/p&gt;

&lt;p&gt;Você até aprende Orientação a Objetos em um curso na internet, mas lidar com uma turma de 20 (ou mais pessoas) que vão questionar desde a regra de negócio adotada até a escolha de cores que você escolheu pro SEU projeto, somente a apresentação de um seminário em um curso de graduação PRESENCIAL proporciona. Aprender a modelar classes, relacionar objetos, injeção de dependência? Moleza! Mas, aprender a lidar com aquele colega que só enrola e atrasa o projeto inteiro que tem prazo e vale nota, somente com muito trabalho em equipe ... e muita paciência.&lt;/p&gt;

&lt;p&gt;Além disso, um curso de graduação tem toda uma grade de ensino e uma ementa estudada que foi montada para ensinar o aluno a compreender e participar de TODO o processo no desenvolvimento de software, desde a análise de requisitos com o cliente, ao planejamento, modelagem e gestão do projetos, onde codificar é apenas um passo no meio de tantos outros.&lt;/p&gt;

&lt;p&gt;O que vejo hoje, é muita gente capaz de escrever códigos mas com muita dificuldade em entender e participar do processo de desenvolvimento do mesmo. E pior, muitas vezes essas pessoas não se colocam (ou nem querem se colocar) como parte do processo. Ou seja, se uma tarefa não esta bem analisada/bem escrita o que ouço é "não é problema meu, eu apenas codifico".&lt;/p&gt;

&lt;p&gt;Entretanto, escrever código é a parte menos complexa no desenvolvimento como um todo, pois estamos falando de sintaxe. Se, um software não for bem analisado e modelado, dificilmente ele será bem escrito e muito provavelmente será mal aproveitado. E quando isso acontece, no meu ponto de vista, a culpa é de TODO MUNDO que esteve envolvido no processo.&lt;/p&gt;

&lt;p&gt;O tempo que o desenvolvedor(a) de software era visto como a pessoa que se fechava em um computador e escrevia linhas de código acabou. Hoje, as grandes empresas buscam pessoas que sejam capazes de se envolver e participar de processos, que tenham pensamento analítico e sejam capazes de resolver conflitos, que saibam trabalhar em equipe, que consigam conviver em pares, que sejam dinâmicos ... e percebam que até agora eu citei apenas soft skills (convivência!), isso por que as hardskills são muito mais fáceis de moldar e até mesmo de se criar.&lt;/p&gt;

&lt;p&gt;Por muito tempo, durante a minha graduação eu reclamei sobre as exaustivas aulas e me questionei se era realmente necessário passar por tudo isso, mas hoje eu sou grata por não ter desistido. Sinto que aproveitei o suficiente e fui capaz de abstrair tudo o que a graduação me proporcionou e isso tem me ajudado muito no meu dia a dia como desenvolvedora. É claro que muita gente vai se formar e vai passar por experiências diferentes e talvez não tenha a mesma visão que eu tive. Tenho colegas que se formaram comigo, com os mesmos professores e que não tiveram as mesmas oportunidades que eu tive, mas isso tem muito mais haver com o momento da vida e com o quanto você se dedica (e o quanto pode se dedicar) no momento em que está.&lt;/p&gt;

&lt;p&gt;Para encerrar, acho que na pré-seleção de uma vaga o fato de possuir um diploma não deve ser motivo para descartar um candidato, mas, se algum dia eu for recrutar alguém, com certeza será um critério de desempate.&lt;/p&gt;

&lt;p&gt;E você, o que acha sobre isso?&lt;/p&gt;

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