Engenheiro de back -end incrível
Em uma lista de recursos com curadoria e opinião (inglês e russo) para desenvolvedores de back -end que o ajudarão a orginizar e estruturar seu caminho de aprendizado e conhecimentos. Inspirado no CTO incrível.
RU Lista estruturada de recursos para o estudo do desenvolvimento de back -end, que ajudará a sistematizar seu conhecimento e elaborar um plano de treinamento. É baseado na experiência pessoal e no estudo independente desta área. CTO incrível inspirado.
Em publicidade, se você estiver interessado em acenar e deseja bombear a base teórica, aconselho você a se familiarizar com o curso "Arquitetura de aplicativos da web modernos"
Conteúdo
- Básico
- Ciência da Computação
- Desenvolvimento da Web e Networking
- Bancos de dados
- Segurança
- Arquitetura e Infrastrature
- Links relacionados
- Livros
Básico
- Roteiro do desenvolvedor
- Como se tornar um bom engenheiro de back -end (fundamentos)
- Aprenda a se tornar um desenvolvedor de back -end (2018)
- Conselho para engenheiros de back -end iniciantes que acabaram de iniciar seus novos empregos em empresas de software
Ciência da Computação
| Tópicos principais | Os principais tópicos |
|---|
| O que é o computador e como funciona? | O que é um computador e como funciona? |
| Quem faz idiomas de programação de ervas daninhas? Que tipos de linguagens de programação estão por aí? | Por que são linguagens de programação? Que tipos existem? |
| Algoritmos e estruturas de dados | Algoritmos e estruturas de dados |
| OOP | Programação orientada ao objeto |
| Concorrência e paralelismo | Competitividade e paralelismo |
Resuuus (recursos)
- O que é ciência da computação
- Mapa da ciência da computação
- CS50 por Harvard. Pt / ru
- Curso de Ciências da Computação
- Como os computadores leem o código?
- A história esquecida do OOP
- A simultaneidade não é paralelismo
- Estruturas de dados para o menor
- Algoritmos e estruturas de dados. Curso Preparatório (Primavera de 2016)
- OOP em fotos
- Multiprocessidade, placa múltipla, assincronismo em Python e não apenas. O que é e como funciona?
- Competitividade e paralelismo. Quase o difícil
Desenvolvimento da Web e Networking
| Tópicos principais | Os principais tópicos |
|---|
| O que é arquitetura cliente-servidor e http? | O que é uma arquitetura cliente-servidor e http? |
| O que é TCP/IP? | O que é pilha TCP/IP? |
| O que é DNS? | O que é DNS? |
| HowCorização e autenticação funciona? O que é JWT? | Como funciona a autorização e a autenticação? O que é JWT? |
| Proxy e proxy reverso | Proxy e proxy reverso |
| Servidores da Web. Nginx. | Servidor da web. Nginx |
| Princípios de design da API REST | Princípios de design da API REST |
Resuuus (recursos)
- Desenvolvimento da Web em 2021 - um guia prático
- O que é TCP/IP?
- Curso de Camas de Protocolo de Transferência de Texto Hiper - HTTP 1.0, 1.1, HTTP/2, HTTP/3
- HTTP Course Course & Exploration
- Curso intensivo TCP vs UDP
- REST API Concepts and Exemplos
- API repouso
- 2 horas Nginx Camam Course + Bonus Content
- JWT - JSON Web Token Chegth Course (Nodejs & Postgres)
- Proxy vs Reverse Proxy Server explicado
- Como HTTP/2 funciona, desempenho, prós e contras e mais
- Como funciona o DNS - Computerphile
- Curso intensivo de GRPC - modos, exemplos, prós e contras e muito mais
- Bem. Linguagens de programação da web
- 6. Tecnologias da Web. Protocolo HTTP | TechnoStrum
- Desenvolvimento da Web para iniciantes Como os aplicativos da Web são organizados? (Front -end/back -end)
- Arquitetura de aplicativos da web / de simples a altamente carregado
- Autenticação em aplicativos da Web?
- Introdução ao REST Services da Web de Rest-Restful
Bancos de dados
| Tópicos principais | Os principais tópicos |
|---|
| O que são bancos de dados e DBMs? | O que é um banco de dados e DBMs? |
| O que é um banco de dados relacional? O que é SQL? | O que é um banco de dados relacional e SQL? |
| O que são índices e transações? | O que são índices e transações? |
| O que são propriedades ácidas? Quais níveis de isolamento estão por aí? | O que são propriedades ácidas? Quais são os níveis de isolamento da transação? |
| O que são bancos de dados NoSQL? Quais são as diferenças entre NoSQL e SQL? | O que é NoSQL? Quais são as diferenças entre NoSQL e SQL? |
| O que é a normalização dos bancos de dados? | Qual é a normalização do banco de dados? |
Resuuus (recursos)
- O que é um banco de dados?
- O que é banco de dados e SQL?
- Tutorial SQL - Curso completo de banco de dados para iniciantes
- Curso de design de banco de dados - Aprenda a projetar e planejar um banco de dados para iniciantes
- Indexação de banco de dados explicada (com PostgreSQL)
- SQL vs NoSQL ou MySQL vs MongoDB
- Introdução aos bancos de dados NoSQL
- MongoDB Basics
- MongoDB para profissionais de SQL
- Ácido
- Desmontamos o SQL usando o PostgreSQL - Selecione, junte -se, Grupo, tendo, Coalesce, etc.
- Curso "Usando bancos de dados" (2019)
- Curso "Banco de dados. Laboratório de Tarantool" (2018)
- Guia para iniciantes: transações com ácido e banco de dados
- Como eu explicaria agora a um jovem, por que existem requisitos de ácido para bancos de dados?
- Noções básicas das regras para design de banco de dados
- Normalização das relações. Seis formas normais
- Guia de design do banco de dados (1-3 parte de 15)
Segurança
| Tópicos principais | Os principais tópicos |
|---|
| O que é HTTPS e como funciona? | O que é HTTPS e como funciona? |
| Quais são os principais tipos de ataques e vulnurabilitos em aplicativos da Web? | Quais são os principais tipos de ataques e vulnerabilidades em aplicativos da Web? |
| O que é injeção de SQL? Como evitá -lo? | O que é injeção de SQL? Como evitá -lo? |
| O que é o ataque XSS? Como evitá -lo? | O que é o ataque XSS? Como evitá -lo? |
| Como armazenar senhas/segredos no aplicativo da web? | Como armazenar senhas/segredos no aplicativo da web? |
Resuuus (recursos)
- 9. proteger os aplicativos da Web
- Como funcionam os Sábios HTTPs? O que é um CA? O que é um certificado autoassinado?
- Cracking de senha - Computerphile
- Executando um ataque de injeção SQL - Computerphile
- Como não armazenar senhas! - Computerphile
- Sites de quebra com script de site transversal - Computerphile
- Scripts de sites cruzados (XSS) explicou
- Por que o LocalSorage é vulnerável ao XSS (e os cookies também são
- Owasp Cheat Sheat
- Como funciona o HTTPS?
- Segurança de aplicativos da Internet (2020)
- Como armazenar senhas e chaves no código do projeto? Tudo sobre as variáveis do meio ambiente. Um exemplo com django
- Injeção de SQL. Defesa e ataque (parte 1)
- O que é XSS-Vain e como não perder como testador
Arquitetura e Infrastrature
| Tópicos principais | Os principais tópicos |
|---|
| O que são sistemas distribuídos? | O que são sistemas distribuídos? |
| O que é escala? Escala horizontal vs vertical? Como dimensionar aplicativos e bancos de dados da Web? | O que é escala? Escala horizontal vs vertical? Como escalar aplicativos e bancos de dados da Web? |
| O que é o teorema do Cap? O que são sistemas CP e AP? | O que é o teorema do Cap? Como são os sistemas CP e AP? |
| O que são microsserviços? Que padrões eles usam? Como projetar arquitetura de microsserviços? | O que são microsserviços? Que padrões eles usam? Como projetá -los? |
| O que ISES orientou a arquitetura? | O que é arquitetura orientada a eventos? |
| O que é arquitetura limpa? Como implementá -lo usando sua linguagem / estrutura promissora? | O que é pura arquitetura? Como implementá -lo em seu Jap / Framework? |
| Como implantar aplicativos da Web? O que é VPS? O que é SSH? | Como implantar um aplicativo da web? O que é VPS? O que é SSH? |
| O que é Docker? Quem precisamos? | O que é Docker? Por que é necessário? |
| O que são provedores de nuvem? Como você os usa? | O que são os provedores de Claud e por que eles são necessários? |
| Como automatizar testes e implantação? O que é CI/CD? Como implementá -lo? | Como automatizar testes e roupas? O que é CI/CD e como configurá -lo? |
| O que é certificado SSL? Como configurá -lo para o seu aplicativo da web? | O que é certificado SSL? Como configurá -lo? |
| O que é Kubernetes? Quando o Shop você o usa? | O que é e por que os Kubernetes precisam? |
| O que é DDD? | O que é o design orientado ao domínio? |
Recursos (recursos)
- Aproximando -se de sistemas distribuídos
- Conceitos e design de arquiteturas da web escaláveis
- Como escalar bancos de dados SQL e NoSQL
- Escalando seu aplicativo da web
- Teorema do CAP em sistemas distribuídos
- Como projetar um aplicativo da web: Arquitetura de software 101
- Introdução aos microsserviços
- Arquitetura de microsserviço em médio
- Chaos de domínio - um guia da Netflix para microsserviços
- Goto 2020 • Quando usar microsserviços (e quando não!) • Sam Newman e Martin Fowler
- Bancos modernos em 1500 microsserviços
- Gerenciando dados em microsserviços
- O que é DDD - Eric Evans - DDD Europe 2019
- A arquitetura limpa
- Aprender Docker em 12 minutos?
- Tutorial do Docker para iniciantes - um devOps completo sobre como executar aplicativos em contêineres
- O que é uma arquitetura de multitenância e vai se tornar umplar?
- O aplicativo doze fatores
- Blog de alta carga
- Arquitetura de alta carga
- Cap Theoma é uma linguagem simples e acessível
- Criação da arquitetura do programa ou como projetar um banquinho
- Como obter e configurar o certificado LetSencrypt SSL para o site?
- Aumente o servidor Debian para Python/Django - Instalação e ajuste do zero. Como configurar o servidor?
- Aplicações FullStack Deet [Golang+JS]. CI/CD, Digitalocean, Ações do GitHub
- Arquitetura pura
- Fundamentos do Docker. Grande lançamento prática
- Artyom Antonenko "design de domínio"
- Configuramos a autorização do SSH por Key em Linux / Unix
- Coletamos a arquitetura escalável do aplicativo da web. Escala horizontal e vertical
Links relacionados
- Boa engenharia de enunch para iniciar uma empresa de internet
- A tecnologia chata por trás de uma empresa de internet uma pessoa
- API como produto. Como vender YourK quando tudo o que você sabe é um back-end
- Uml para iniciantes
- O outro lado da habilidade técnica: conhecimento de domínio e visão de longo prazo
- Indo de desenvolvedor para CTO
- O que realmente faz um desenvolvedor sênior
- O que está por trás de um simples carregamento de páginas da web em um navegador
Livros
| |
|---|
| Algoritmos de Grokking | Algoritmos grunhidos |
| "Código limpo", de Robert Martin | "Código puro" Robert Martin |
| "Arquitetura limpa", de Robert Martin | "Arquitetura pura" Robert Martin |
| "Desenvolvimento de software profissional" de Steve McConnel | "Desenvolvimento Profissional do Software" Steve Maccconle |
| "Microsserviços de construção" de Sam Newman | "Criação de microsserviço" Sam Newman |
| "Padrões de microsserviços", de Chris Richardson | "Microservice. Padrões de desenvolvimento e refatoração" Chris Richardson |