Olá! Hoje falaremos sobre o caminho de desenvolvimento de um desenvolvedor Java e o que ele deve saber para ser requisitado. Qualquer desenvolvedor em uma entrevista pode “reprovar” um candidato a uma posição. Por exemplo, ele começará a fazer perguntas sobre tópicos específicos que encontrou no projeto atual. Mas está tudo bem não saber tudo. O fato de você não responder algumas perguntas também é normal. Geralmente, todo programador Java deve ter um conhecimento básico de desenvolvimento. Então, vejamos quais tecnologias são consideradas “básicas”.
Em primeiro lugar, você deve entender o que é Spring: o que são um contêiner Spring, beans, DI, IoC e assim por diante. Por assim dizer, entenda a própria filosofia de uso do Spring. Estudos adicionais dos frameworks Spring serão realizados com base nesta base. Pode valer a pena criar seu próprio pequeno aplicativo, ao qual você adicionará gradualmente as novas tecnologias que aprendeu.
Anteriormente falamos sobre a tecnologia JDBC como uma tecnologia para criar uma conexão com um banco de dados. Em geral, o uso “nu” da tecnologia pode não ser encontrado em projetos agora, então pode parecer que aprender JDBC não é necessário. Mas não é assim. Observando a estrutura básica do JDBC, você pode ver a tecnologia em um nível inferior e compreender seus problemas e deficiências. Depois de começar a aprender Spring JDBC, você entenderá exatamente o que esse framework melhora, otimiza e esconde de nossos olhos.
Tal como acontece com o JDBC básico, esta estrutura melhora o uso de uma tecnologia existente, neste caso o Hibernate. Se você considerar usar o Hibernate sem Spring, entenderá exatamente qual é o benefício de usar o Spring Hibernate.
Anteriormente falamos sobre JPA e como ela é apenas uma especificação para a qual existem diferentes implementações. Dentre essas implementações, o Hibernate é a que mais se aproxima do ideal. Spring tem sua própria implementação ideal de JPA, que usa Hibernate “nos bastidores” e é o mais próximo possível do ideal das especificações JPA. Essa tecnologia é chamada Spring JPA. A propósito, isso simplifica bastante o acesso ao banco de dados. Você pode aprender JPA apenas sem aprender JDBC, Hibernate, Spring JDBC, Spring Hibernate. Mas neste caso, o seu conhecimento de conexão com um banco de dados será muito superficial.
Com esta tecnologia, podemos exibir a interface web da nossa aplicação aos usuários e permitir que a interface se comunique com o resto da aplicação. A tecnologia também pode funcionar sem display, quando existe alguma aplicação responsável pela exibição, e você interage com essa aplicação através de requisições e respostas utilizando a tecnologia RESTful . Para entender melhor as 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 Walls Craig. Infelizmente, em russo existe agora apenas a terceira versão, que é considerada desatualizada. Aconselho você a ler a versão 6 se souber bem o inglês. Outro ótimo livro sobre Spring é “Spring 5 for Professionals”. É mais difícil de aprender e mais parecido com uma Bíblia da primavera , que é melhor manter à mão do que ler de capa a capa.
Esta tecnologia simplifica muito o uso do Spring. Coloquei-o no final da lista por um motivo, porque esconde muita coisa debaixo do “capô” e para quem não está familiarizado com o Spring normal, muitos pontos podem não ser óbvios e incompreensíveis. Primeiro, para uma melhor compreensão de como funcionam os frameworks Spring, você deve usar o Spring normal e, em seguida, todos os benefícios maiores de usar o Spring Boot. Também aconselho você a se familiarizar com Spring Security e Spring AOP. Mas, ao contrário das tecnologias acima, não é necessário um conhecimento profundo destas duas agora. Esta tecnologia não é para iniciantes. Durante as entrevistas, os juniores não são questionados sobre elas (exceto talvez por uma pergunta superficial). Leia em geral o que são essas tecnologias e como funcionam. Ao longo deste artigo mencionei repetidamente a leitura de livros. Por um lado, isto não é necessário. Você pode se tornar um programador sem ler um único livro, tendo estudado tudo o que precisa, desde artigos e vídeos de treinamento. Por outro lado, neste momento a concorrência no mercado de desenvolvedores novatos é alta, o que eleva a fasquia do conhecimento inicial necessário para um iniciante. Portanto, quanto mais você souber, mais rápido poderá conseguir 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 que você deve fazer ao começar a aprender programação (isso não se aplica apenas a Java) é uma análise do básico. Por exemplo, algoritmos. Há um número infinito deles, e você não deve passar anos inteiros tentando aprender tantos algoritmos quanto possível: a maioria deles não será útil para você. O conhecimento mínimo exigido pode ser obtido no livro “ Grocking Algorithms ”. Isso será suficiente para iniciar a jornada, mas se desejar, você pode aprender com a ajuda do livro “ Estruturas e Algoritmos ” ou “Algoritmos em Java” de Robert Sedgwick e Kevin Wayne. Aconselho também você a aprimorar seus conhecimentos sobre os fundamentos da ciência da computação. Isso pode ser feito em JavaRush usando o curso CS50 .2. Sintaxe Java
Depois de aprender o básico dos algoritmos, devemos aprender a sintaxe Java. Afinal, estamos todos aprendendo a ser programadores Java aqui, não é? O curso JavaRush é perfeito para isso. No processo de execução de inúmeras tarefas, você se tornará fluente na sintaxe Java e escreverá/lerá código Java sem pensar muito, como se fosse sua linguagem nativa. JavaRush é prática e, além disso, você também precisa olhar a teoria para entender exatamente o que está fazendo. Para fazer isso, você pode ler livros, por exemplo, um dos seguintes:- “ De cabeça primeiro Java ”;
- “Java para Leigos” de Barry Bird;
- "Java. Um guia para iniciantes” Herbert Schildt.
- “A Filosofia de Java”, Bruce Eckel;
- “Programação Eficaz”, Joshua Bloch;
- "Java. O Guia Completo”, Herbert Schildt.
3. Padrões de programação
Padrões de programação são alguns padrões repetíveis que representam uma solução para um problema dentro de um contexto encontrado com frequência. Entre eles estão modelos básicos e simples que todo programador que se preze deve conhecer. Para entender esse tema, utilize o livro “ De Cabeça. Padrões de design ." Ela explicará claramente os padrões básicos de programação. Mas o livro fala muito sobre Java , então na hora de estudar o livro você precisa dominar essa linguagem de programação. Para um mergulho mais profundo nos padrões, você também pode ler “Técnicas de Design Orientado a Objetos. Design Patterns” do Gang of Four ( Gang of Four: uma equipe de autores que inclui Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - nota do editor) . Depois de estudar este tópico, você começará a ver padrões em praticamente todo o seu código. Preste atenção nisso, principalmente nos padrões usados no Spring , pois essa é uma pergunta popular em entrevistas.4. Paradigmas de programação. Limpeza de código
Além dos padrões de programação padrão, existem vários princípios e paradigmas que você precisa conhecer ( SOLID , GRASP ). Também é necessário garantir que o código esteja limpo e legível. Tudo o que você precisa saber sobre esse assunto está no livro “ Código Limpo ” de Robert Martin ou pegue o livro “Código Perfeito” de Steve McConnell.5.SQL
Nosso próximo passo é estudar a linguagem dos bancos de dados relacionais – SQL . Os bancos de dados são onde as informações (dados) de uma aplicação web são armazenadas. Um banco de dados consiste em muitas tabelas (o catálogo de endereços do seu telefone é o exemplo mais simples de tais tabelas). Você pode ler mais sobre bancos de dados neste artigo . Para desenvolvedores Java, a área de responsabilidade não é apenas a aplicação Java, mas também o banco de dados com o qual interage e onde armazena os dados. Nos bancos de dados relacionais (os mais comuns), toda interação ocorre por meio de uma linguagem especial - Structured Query Language, ou SQL. Para entender este tema, bastará ler um dos livros:- “Aprendendo SQL”, Alan Bewley;
- “SQL”, Chris Fiaily;
- “De cabeça primeiro SQL” por Lynn Bailey.
GO TO FULL VERSION