Prévia do material em texto
O que aprender para ser uma desenvolvedora backend com Java ?Legenda: Muito Recomendado Bom Saber Lógica de programação Banco de Dados Java 8+ Conceitos de programação Funcional Outras APIs Optional Lambda Stream DateTime API IDE Primeiros passos com Java Exceções Orientação a Objetos Herança Polimorfismo Interface Pacotes Entrada e Saída de dados Collections Laço de repetição Condicionais Tipos de variável Algoritmo Ferramentas Containerização Kubernets OpenShift Docker Log sl4j Logger log4j Gerenciamento de dependência Gradle Maven Git Comandos básicos Git Comandos avançados git Gitflow Sistemas Operacionais e Conhecimentos Gerais JDK, JVM, Garbage Collector Conceitos básicos de rede Gerenciamento de I/O Threads e Concorrência Como funciona o sistema operacional Boas Práticas Testes Automatizados Testes de aceitação Teste de integração Teste de unidade Mocks JUnit 5 Junit 4 Conceitos e tipos de teste Agilidade Kanban Scrum Manifesto Ágil Web WebServer Apache NGIX Browser e Cookies Servidores de aplicação JBoss (opcional) Jetty (opicional) Tomcat Frameworks Java EE Spring MVC Spring Boot Conceito básico de API Protocolo HTTP/ HTTPS API Authenticação JWT Token Authentication Basic Authentication OAuth Swagger NOSQL Orientado a Documento MongoDB Orientado a Chave e Valor Cassandra Redis Contexto para usar cada BD Caching DataGrid EhCache MemCache Conceito de Cache YAGNI DRY KISS DDD Documentação Design Patterns: GOF SOLID Clean Code Segurança Conceito de criptografia OWASP SSL Conceitos avançados HTTPS Algoritmos de Hashing bcrypt scrypt SHA family MD5 Padrões de Arquitetura DevOps Search Engine Message Brokers Conceito de mensageria RabbitMQ Kafka ActiveMQ Cloud Escalabilidade e Sustentação Continue aprendendo... Observabilidade Escalar Vertical e Horizontal Estratégias de migração Cloud Database Azure Cosmo DB Amazon Dynamo DB AWS Services S3 ELB RDS EC2 IAM Google Cloud CQRS e EventSourcing Serverless SOA Microserviços Monolitos Contexto para usar cada BD Relacional SQL Complexas (JOIN, DISTINCT...) SQL Simples (SELECT, INSERT, ALTER...) Modelagem de banco de dados relacional JPA Frameworks Hibernate Spring Data Eclipse intellij idea NetBeans XP extreming programing Pair Programing Build & Deploy Debugging/ Depuração Opcional Collective Code Ownerhip Refactoring RESTful REST SOAP Serialização XML Json Noções front-end HTML + CSS Javascript LinuxComandos básicos TDD Monitoramento New Relic Pager Duty Elastic Stack grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill Uso do Terminal CI / CD Conceitos Jenkins Circle CI Compilação https://coggle.it/ O que aprender para ser uma desenvolvedora backend com Java ?