Oi! Hoje falaremos sobre o caminho de crescimento de um desenvolvedor Java e o que ele deve saber para ser procurado. Em uma entrevista, qualquer desenvolvedor pode questionar o candidato ao emprego. Por exemplo, eles podem começar a fazer perguntas sobre tópicos específicos que encontraram em seu projeto atual. Mas não saber tudo é normal. O fato de você não conseguir responder algumas perguntas também é normal. Como regra geral, todo programador Java deve ter uma compreensão básica do desenvolvimento de software. Então, vamos dar uma olhada no que é considerado "básico".
Você deve colocar isso em primeiro lugar, para entender o que é Spring — tudo sobre contêineres Spring, beans, DI, IoC e assim por diante. Para entender a própria filosofia de usar o Spring, por assim dizer. Seu estudo mais aprofundado dos frameworks Spring será construído sobre esta base. Talvez você deva criar seu próprio pequeno aplicativo no qual possa incorporar gradualmente todas as tecnologias recém-aprendidas.
Anteriormente, mencionamos o JDBC como uma tecnologia para criar uma conexão de banco de dados. Em geral, o uso "nu" da tecnologia não pode mais ser encontrado em projetos, então você pode concluir que aprender JDBC não é necessário. Essa não é a atitude certa. Ao explorar o uso nu (direto) do JDBC, você pode ver a tecnologia em um nível inferior e entender seus problemas e deficiências. Então, quando você começar a aprender o Spring JDBC, perceberá exatamente o que essa estrutura melhora, otimiza e oculta.
De forma análoga à situação do JDBC nu, esse framework utiliza uma tecnologia existente, neste caso, o Hibernate. Se você considerar usar o Hibernate sem o Spring, com certeza perceberá os benefícios que o Spring Hibernate oferece.
Anteriormente, falamos sobre JPA e mencionamos que é apenas uma especificação, embora tenha várias implementações. Entre essas implementações, o Hibernate é o que mais se aproxima do ideal. O Spring tem sua própria implementação JPA ideal que usa o Hibernate sob o capô. É o mais próximo possível do ideal da especificação JPA. É chamado Spring JPA. Em uma palavra, simplifica muito o acesso ao banco de dados. Você só pode aprender JPA sem aprender JDBC, Hibernate, Spring JDBC ou Spring Hibernate. Mas se você adotar essa abordagem, seu conhecimento de como se conectar a um banco de dados será muito superficial.
Essa tecnologia permite exibir a interface web do nosso aplicativo para os usuários e facilitar a comunicação entre a interface e o restante do aplicativo. A tecnologia também pode ser usada sem exibição quando você tem um aplicativo responsável por manipular a exibição e está interagindo com o aplicativo usando a tecnologia RESTful . Para melhor absorver informações sobre a Primavera, além de artigos e palestras no YouTube, você pode ler diversos livros. Gostei muito do livro "Spring in Action" de Craig Walls. Aconselho-te a ler a 6ª versão, se souberes bem o inglês. Outro grande livro sobre o Spring é "Spring 5 for the Professionals". É mais denso. Mais como uma referência que é mais valiosa manter à mão do que ler de capa a capa.
Essa tecnologia simplifica muito o uso do Spring. Não coloquei no final da lista por capricho. De fato, ele se esconde muito sob o capô e, para quem não está familiarizado com o vanilla Spring, muitos pontos podem não ser claros ou incompreensíveis. Primeiro, para uma melhor compreensão de como as estruturas do Spring funcionam, você deve usar o Spring regular e, em seguida, obter todos os benefícios superiores do uso do Spring Boot. Também recomendo que você se familiarize com Spring Security e Spring AOP. Mas, ao contrário das tecnologias acima, um conhecimento profundo dessas duas ainda não é necessário. Esta tecnologia não é para iniciantes. Nas entrevistas, os desenvolvedores juniores não serão questionados sobre eles (exceto uma pergunta superficial, talvez). Leia uma visão geral do que são essas tecnologias e os princípios por trás de seu trabalho. Neste artigo, Mencionei repetidamente a leitura de livros. Por um lado, isso não é obrigatório. Você pode se tornar um programador sem ler um único livro, obtendo todo o conhecimento necessário em artigos online e vídeos de treinamento. Por outro lado, no mercado de trabalho, a competição entre desenvolvedores novatos é alta atualmente, o que eleva o nível do que um iniciante precisa saber. Assim, quanto mais você souber, mais rápido encontrará seu primeiro emprego, impressionando o entrevistador com seu nível de conhecimento. Obrigado a todos e que o Java esteja com vocês. o que eleva o nível do que um iniciante precisa saber. Assim, quanto mais você souber, mais rápido encontrará seu primeiro emprego, impressionando o entrevistador com seu nível de conhecimento. Obrigado a todos e que o Java esteja com vocês. o que eleva o nível do que um iniciante precisa saber. Assim, quanto mais você souber, mais rápido encontrará seu primeiro emprego, impressionando o entrevistador com seu nível de conhecimento. Obrigado a todos e que o Java esteja com vocês.
1. Algoritmos básicos
A primeira coisa a fazer ao começar a aprender programação (não apenas Java) é entender o básico. Por exemplo, algoritmos. Há um número infinito deles, e você não deve matar anos inteiros de sua vida tentando aprender o máximo possível de algoritmos: a maioria deles não será útil para você. Você pode obter o mínimo de conhecimento necessário no livro "Grokking Algorithms". Isso é o suficiente para você começar, mas se quiser, pode aprender com o livro "Estruturas e Algoritmos" ou "Algoritmos em Java" de Robert Sedgewick e Kevin Wayne. Também recomendo que você aprimore seus conhecimentos sobre os fundamentos da ciência da computação. Isso pode ser feito com o curso Harvard CS50.2. Sintaxe Java
Depois de aprender o básico dos algoritmos, precisamos aprender a sintaxe Java. Afinal, estamos todos estudando para nos tornarmos programadores Java aqui, certo? O curso CodeGym é perfeito para isso. Ao executar inúmeras tarefas, você colocará as mãos na sintaxe Java e, sem muita hesitação, escreverá/lerá o código Java como se fosse seu idioma nativo. CodeGym é prática, mas além disso, você também precisa olhar a teoria para entender o que está fazendo. Para fazer isso, você pode ler livros. Por exemplo, um dos seguintes:- "Head First Java",
- "Java for Dummies" de Barry Bird;
- "Java: um guia para iniciantes" por Herbert Schildt.
- "Pensando em Java", Bruce Eckel;
- "Effective Java" por Joshua Bloch;
- "Java: a referência completa" por Herbert Schildt.
3. Padrões de projeto
Padrões de projeto são certos padrões repetíveis que resolvem problemas em contextos frequentemente encontrados. Eles incluem padrões básicos e simples que todo programador que se preze deve conhecer. Para entender este tópico, pegue o livro "Head First Design Patterns". Ele explica os padrões básicos de design de forma acessível. Mas o livro fala muito sobre Java, portanto, ao consumir este livro, você também precisará ter fluência nessa linguagem de programação. Para um mergulho mais profundo nos padrões, você também pode ler "Design Patterns: Elements of Reusable Object-Oriented Software" do Gang of Four ( Nota do editor: o Gang of Four é uma equipe de autores que inclui Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Depois de estudar este tópico, você começará a ver padrões praticamente em todos os lugares do seu código. Preste atenção a isso, especialmente aos padrões usados no Spring, já que essa é uma pergunta popular em entrevistas.4. Paradigmas de programação. Limpeza do código
Além dos padrões de design padrão, existem vários princípios e paradigmas a serem observados ( SOLID , GRASP ). Você também precisa manter seu código limpo e legível. Para saber tudo sobre esse tópico, consulte Clean Code de Robert Martin ou confira "Code Complete" de Steve McConnell.5. SQL
Nosso próximo passo é estudar uma linguagem para bancos de dados relacionais — SQL . Os bancos de dados são onde as informações (dados) usadas por um aplicativo da web são armazenadas. Um banco de dados consiste em várias tabelas (o catálogo de endereços do seu telefone é um exemplo simples). Os desenvolvedores Java são responsáveis não apenas pelo aplicativo Java, mas também pelo banco de dados com o qual ele interage e onde armazena seus dados. Nos bancos de dados relacionais (que são o tipo mais comum), toda interação ocorre por meio de uma linguagem especial chamada Structured Query Language, ou SQL. Para entender este tópico, tudo que você precisa fazer é ler um destes livros:- "Aprendendo SQL" por Alan Beaulieu;
- "SQL" por Chris Fehily;
- "Head First SQL" por Lynn Beighley.