Você quer aprender #Java do começo? Então acompanha aqui o que você precisa saber?
!!Java não é Spring!!
1. Tenha uma IDE. Instale no seu computador uma IDE que você saiba usar. Se não sabe tente conhecer. Eu recomendo o @intellijidea. Aprenda a criar um projeto e executar ele.
2. Conheça a linguagem. Java é uma linguagem com sintax similar ao C. Você pode procurar um livro (não sei algum bom) ou pode ler na internet. Vou dar como referência a W3Schools. Tenta usar as estruturas básicas com System.out.println(). Se divirta.
3. Java é uma linguagem orientada a objetos (OO). Se você sair por aí "codando" você vai achar dificil. Tente entender o que é OO e como usar. Entenda o que é uma classe, um objeto e uma interface.
4. Tente entender os conceitos ao redor de OO como polimofirmos e herança. Como referência peguei uma aula da UFF. OO é bem flexível em relação a implementação. Esses conceitos são necessários nos proximos passos.
5. (opicional) Além da linguagem o Java é uma plataforma com uma JVM e uma biblioteca padrão. Tente entender o que é a JVM e porque Java é diferente de Python e C. Observe as palavras nesse diagrama temos que conhecer algumas.
6. Para desenvolver programas Java é preciso conhecer a biblioteca Collections. Aprenda a usar pelo menos List/Set/Map. São extremamente importantes. Observe que são apenas interfaces e não classes (por isso o passo 3 e 4).
7. (Difícil) Tente usar o pacote io do Java. Faça ao menos um exemplo simples de leitura e escrita em arquivo. Muitos devs experientes consultam o google quando vão usar esse pacote 😉.
8. (Opcional) Talvez você tenha percebido que tem mais de um pacote de IO. São implementações diferentes. Se você é um dev backend é bem provavél que o uso seja delegado ao framework.
9. (Difícil) Tente entender o que é um Lambda e um Stream. Stream são diferentes de listas porque eles o processamento dos dados é postergado (lazy evaluation). Tente entender como extrair dados de uma lista.
10. Conheça a API de Threads, mas use os Executors. 😒
Com a evolução da plataforma foi escolhida uma opção mais leve. Mas conheça como criar uma Thread na mão. É interessante saber o que é uma Thread e um Processo.
11. (Importante) Agora é hora de se libertar da IDE. Aprenda pra que serve o Maven e como você pode gerenciar dependências através de coordenadas. Maven (ou o Gradle) é uma ferramenta muito importante. Tente entender o que configuração por convenção.
12. Tente entender o que é Jakarta EE (antigo Java EE) (se quiser ir pro Spring, você é livre). São especificações que tornam compatíveis vários frameworks. Fazem parte da ideia de Compilar uma vez só e rodar em vários locais.
13. Escolha um framework para aprender. Eu recomendo o @QuarkusIO. Mas existem outros excelentes como o @OpenLibertyIO. São compatíveis com o @JakartaEE. Aprendeu um, aprendeu todos.
14. Você vai se deparar com algo chamado @cdispec. É quando aparece um @Inject e você não sabe de onde veio. É o Java CDI. Eu tenho uma palestra sobre o assunto.
15. Brinque com o JDBC. Muito provavelmente você não vai usar ele, mas é bom conhecer ele. É a interface mais baixo nível com uma base SQL no #Java.
18. Aprenda a usar o JAX-RS. O link abaixo é bom, mas ignora as dependências do Maven (usei porque tá em pt-BR), procura algum tutorial do @QuarkusIO ou @OpenLibertyIO. Com ele é facil criar uma API.
19. LEIA Java Efetivo! Não só leia, tenha ele em mãos. Será um amigo seu. O livro apresenta muito do ecossistema e das APIs. Vai ensinar pra que serve o método equals. Eu poderia colocar isso como segundo tópico, mas escolhi deixar pra depois.
Estou vendo alguns tweets de pessoas decepcionadas com o @doisdedosdeteo.
Mas ele sempre produziu uma péssima teologia que inclusive vai contra o autor que dá nome ao insittuto dele.
Eu vi alguns videos dele e ele sempre reduz a teologia ao "pode-não-pode" ou "como o calvinismo É A ÚNICA verdade e você está errado".
Dica, leia Francis Schaeffer em seu Verdadeira Espiritualidade e vocês vão ver que ele diz o contrário!
Principios morais são culturais e não principios universais de fé. "Crente no Brasil acha que beber álcool é digno de quem vai pro inferno", isso é uma insanidade em qualquer outro país. Aliás, o vinho é parte da fé cristã. Lutero fala de cerveja o tempo inteiro. PONTO FINAL.
Gente, vocês sabem que a idéia de vocês estudarem apenas coisa técnicas e NÃO terem tempo pra outras discussões é algo extremamente ideológico. Sabem?
Tentem entender o mundo ao seu redor. É libertador.
Reservem um tempo para ler livros sobre a loucura que nos rodeia. Eu super indico o "Corrosão de Caráter". Um sociólogo depois de aposentado vai rever quem ele estudou e percebe mudanças importantes na moralidade deles. É muito interessante.
Ter um blog técnico não é só escrever, exige preparação, escolha de temas, melhoria da técnica de escrita e divulgação. Eu comecei a escrever em 2017 e recomendo. Não parei, só mudei o foco nesse ano. Há coisas no forno que sairão ano que vem.
Mas antes disso tudo, comece! Escreva e avalie o que escreveu. Peça uma revisão de alguém ou mesmo uma avaliação do conteúdo. Qualquer coisa que você escrever terá uma finalidade, mesmo que seja o seu próprio aprendizado.
Não há aprendizado melhor que a escrita.
Meu único conselho é: valide o que você escreveu. Busque fontes e não apenas escreva código, mas escreva código que rodou e se possível coloque o repositório.
Talvez você não tenha percebido que o nazismo saiu do bueiro. Sim. Muito do que era caricato e que eu r você aceitamos nós últimos 10 anos como excêntrico, era fascismo.
Isso é ruim? Mais ou menos. Isso na verdade é bom!
O nazifascismo brasilero finalmente deu a cara a tapa. Isso é o que muita gente esperava e não sabia como lidar. Agora vamos ter que lidar com isso.