Guia do Desenvolvedor Back-end
🎯 O guia para alavancar a sua carreira
Abaixo você encontrará conteúdos para te guiar e ajudar a se torna um desenvolvedor back-end, caso você já atue como back-end confere o repositórios para descobrir novas ferramentas para o seu dia-a-dia, os caminhos que você pode tomar e as tecnologias para incorporar na sua stack para se tornar um profissional atualizado e diferenciado no back-end, faça bom uso do guia e bons estudos!
Segue nas redes sociais para acompanhar mais conteúdo:
💌 Doações
Olá! Se você está lendo isso, é porque provavelmente já conhece o meu repositório no GitHub, que oferece conteúdo gratuito para ajudar desenvolvedores a aprimorarem suas habilidades. E se você está aqui, talvez esteja considerando contribuir com uma doação para apoiar a continuação do projeto.
Se você quiser contribuir, existem várias opções disponíveis, incluindo PayPal, PagSeguro, Mercado Pago, Buy Me A Coffe, Pic Pay e Pix. Qualquer doação, por menor que seja, é extremamente bem-vinda e será usada com responsabilidade e transparência. Obrigado por considerar apoiar meu projeto! Juntos, podemos continuar a compartilhar conhecimento e ajudar a criar uma comunidade de desenvolvedores mais forte e colaborativa.
📕 E-Book
Este repositório é um projeto gratuito para a comunidade de desenvolvedores. Você pode me ajudar comprando o e-book "e-Front" se estiver interessado em aprender ou melhorar suas habilidades de desenvolvimento front-end. O e-book é completo e cobre tecnologias essenciais como HTML, CSS, JavaScript, React, TypeScript e mais. O valor é simbólico e sua compra me ajuda a produzir e fornecer mais conteúdo gratuito para a comunidade. Adquira agora e comece sua jornada no desenvolvimento front-end.
- eFront - Estudando Desenvolvimento Front-end do Zero. Clique aqui para comprar
⚠️ Aviso importante
Antes de tudo você pode me ajudar e colaborar, deu bastante trabalho fazer esse repositório e organizar para fazer seu estudo ou trabalho melhor, portanto você pode me ajudar das seguinte maneiras
- Me siga no Github
- Acesse as redes sociais do Guia Dev Brasil
- Mande feedbacks no LinkedIn
📛 Direitos autorais
Esse projeto tomou como rerefência para ser feito os roadmaps feito pelo projeto roadmap.sh você pode conferir todo o projeto original feito pelos autores principais pelos links abaixo, desde já agradecendo a todos eles por fornecer esse conteúdo que serviu de extrema importância e de base para a criação deste repositório.
- Roadmap.sh - Site do roadmap.sh aonde você encontrará diversos roadmaps em inglês.
- Repositório Oficial do Projeto - Repositório oficial do projeto em inglês.
💡 Nossa proposta
A proposta deste guia é fornecer conteúdos para estudo e ferramentas para guiá-lo se você estiver confuso sobre qual o próximo aprendizado, não influenciar você a seguir os 'hypes' e 'trendys' do momento. Acreditamos que com um maior conhecimento das diferentes estruturas e soluções disponíveis poderá escolher a ferramenta que melhor se aplica às suas demandas. E lembre-se, 'hypes' e 'trendys' nem sempre são as melhores opções.
🔰 Para quem está começando agora
Não se assuste com a quantidade de conteúdo apresentados neste guia. Acredito que quem está começando pode usá-lo não como um objetivo, mas como um apoio para os estudos. Neste momento, dê enfoque no que te dá produtividade e o restante marque como Ver depois. Ao passo que seu conhecimento se torna mais amplo, a tendência é este guia fazer mais sentido e fácil de ser assimilado. Bons estudos e entre em contato sempre que quiser! 👊
🚨 Colabore
- Abra Pull Requests com atualizações
- Discuta ideias em Issues
- Compartilhe o repositório com a sua comunidade
🌍 Tradução
Se você deseja acompanhar esse repositório em outro idioma que não seja o Português Brasileiro, você pode optar pelas escolhas de idiomas abaixo, você também pode colaborar com a tradução para outros idiomas e a correções de possíveis erros ortográficos, a comunidade agradece.
・English — Click Here
・Spanish — Click Here
・Chinese — Click Here
・Hindi — Click Here
・Arabic — Click Here
・French — Click Here
・Italian — Click Here
・Korean — Click Here
・Russian — Click Here
・German — Click Here
・Japanese — Click Here
📚 ÍNDICE
🗺️ Back-end roadmap
🐧 Linux
🐵 Git & Github
🐶 HTTP
🐼 APIs
🐺 HTML
🐱 CSS
🦁 JavaScript
🐍 Python
🦊 Java
🦝 C
🐮 C++
🐷 C#
🐗 R
🐭 Kotlin
🐹 Golang
🐯 PHP
🐰 TypeScript
🐻 Ruby
🐻❄️ Grunt
🐨 Gulp.js
🐸 Lua
🦓 Django
🐴 Node.js
🦄 Ext.js
🐔 MongoDB
🐲 PostgreeSQL
🐒 SQL
🦏 MySQL
🐤 ASP.net
🐈 Raspberry Pi
🦈 AWS Cloud
🐬 Inteligência Artificial
🐩 Machine Learning
🐋 Data Science
🐟 NumPy
🐠 Pandas
🦐 SciPy
🦑 Matplotlib
🐙 Estatística
🦞 XML
🕷️ XML AJAX
🦉 XML DOM
🐞 XML DTD
🦂 XML Schema
🦆 XSLT
🐓 XPath
🦃 XQuery
🐦 API Rest
🦅 API Json
🐳 Docker
🦚 Padrões de arquitetura
📚 Recomendação de livros
🛠️ Ferramentas & Desafios
🗺️ Back-end roadmap
◾ Linux
Linux é um termo popularmente empregado para se referir a sistemas operativos ou sistemas operacionais que utilizam o Kernel Linux. O núcleo foi desenvolvido pelo programador finlandês Linus Torvalds.
- Melhores distros linux para programadores - Segue a lista das melhores distros de Linux para programadores, diretamente do arquivo geral do Guia Dev Brasil.
- Guia Foca - O GuiaFoca é um guia que traz desde explicações básicas sobre computadores e o sistema GNU/Linux até a administração e segurança do sistema. Os assuntos do guia são explicados em linguagem clara e organizados de forma linear e didática, evitando termos técnicos nos níveis iniciais, até que o usuário se habitue com sua utilização de forma gradual.
- Informações sobre distros - Informações e atualizações sobre distros.
- Cursos de Linux - Cursos de Linux para te guiar do básico ao avançado.
◾ Git & Github
Git é um sistema de controle de versões distribuído, usado principalmente no desenvolvimento de software, mas pode ser usado para registrar o histórico de edições de qualquer tipo de arquivo.
- Git - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Git4Noobs - A ideia é ensinar para os usuários iniciantes que o Git não é nenhum "monstro" de se aprender e também ensinar como usar num ambiente onde há mais de um desenvolvedor atuando no projeto sem desorganizar ou perder algum traço de código no processo.
- Conhecendo os super poderes do Git - Guia com seleção de comandos para o Trabalho com Git e GitHub
- Aprenda Git - Aprenda a utilizar o Git e seus comandos através desse site.
- Git School - Escola do Git, várias ferramentas para treinar e aprender Git.
- Git Flow Cheatsheet - Este cheatsheet demonstra o uso básico e o efeito das operações do git-flow
- Cursos de Git & Github - Cursos de Git & Github do repositório geral do Guia Dev Brasil
◾ HTTP
O Hypertext Transfer Protocol, sigla HTTP é um protocolo de comunicação utilizado para sistemas de informação de hipermídia, distribuídos e colaborativos. Ele é a base para a comunicação de dados da World Wide Web.
- MDN - HTTP - O MDN Web Docs é o website oficial de Mozilla para desenvolvimento de padrões web
◾ APIs
O conceito de API nada mais é do que uma forma de comunicação entre sistemas. Elas permitem a integração entre dois sistemas, em que um deles fornece informações e serviços que podem ser utilizados pelo outro, sem a necessidade de o sistema que consome a API conhecer detalhes de implementação do software, as APIs permitem que o usuário final utilize um aplicativo, software ou até uma simples planilha, consultando, alterando e armazenando dados de diversos sistemas, sem que o usuário precise acessá-los diretamente.
- MDN - APIs - O MDN Web Docs é o website oficial de Mozilla para desenvolvimento de padrões web
- APIs Públicas - Uma lista coletiva de APIs gratuitas para uso em software e desenvolvimento web
◾ HTML
HTML (Linguagem de Marcação de HiperTexto) é o bloco de construção mais básico da web. Define o significado e a estrutura do conteúdo da web. Outras tecnologias além do HTML geralmente são usadas para descrever a aparência/apresentação (CSS) ou a funcionalidade/comportamento (JavaScript) de uma página da web, sendo assim HTML é uma linguagem essência para você que quer se tornar desenvolvedor front-end.
- MDN - HTML - O MDN Web Docs é o website oficial de Mozilla para desenvolvimento de padrões web
- Cursos de HTML - Cursos de HTML do repositório geral do Guia Dev Brasil
◾ CSS
CSS (Cascading Style Sheets) é um mecanismo para adicionar estilo a um documento web. O código CSS pode ser aplicado diretamente nas tags ou ficar contido dentro das tags <style>. Também é possível, em vez de colocar a formatação dentro do documento, criar um link para um arquivo CSS que contém os estilos.
- MDN - CSS - O MDN Web Docs é o website oficial de Mozilla para desenvolvimento de padrões web
- Cursos de CSS - Cursos de CSS do repositório geral do Guia Dev Brasil
◾ JavaScript
JavaScript é uma linguagem de programação interpretada estruturada, de script em alto nível com tipagem dinâmica fraca e multiparadigma. Juntamente com HTML e CSS, o JavaScript é uma das três principais tecnologias da World Wide Web.
- MDN - JavaScript - O MDN Web Docs é o website oficial de Mozilla para desenvolvimento de padrões web
- Cursos de JavaScript - Cursos de JavaScript do repositório geral do Guia Dev Brasil
◾ Python
Python é uma linguagem de programação de alto nível, interpretada de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Um dos usos do Python é automatizar tarefas, no entanto, a linguagem também permite coletar, organizar e salvar informações de páginas na internet; monitorar redes sociais; construir um site ou app; criar jogos; rodar algoritmos de machine learning; criar aplicações de inteligência artificial (IA), dentre outros
- Python - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem Python - Documentação oficial da linguagem Python em PT-BR
- Cursos de Python - Cursos de Python diretamente do repositório geral do Guia Dev Brasil.
◾ Java
Java é uma linguagem de programação orientada a objetos. O Java permite executar jogos, fazer upload de fotos, bater papo on-line, fazer tours virtuais e usar serviços, como treinamento on-line, transações bancárias on-line e mapas interativos. Se você não tiver o Java, muitas aplicações e websites simplesmente não funcionarão, aprenda Java e programe em uma qualquer plataforma: Uma das grandes vantagens do Java é que ele além de ser uma linguagem é uma plataforma de desenvolvimento. Com ele é possível desenvolver aplicações para desktop, celular, cartão, web, televisão digital, etc.
- Java - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem Java - A documentação do Java encontra-se em inglês porém você pode usar uma extensão ou o google translater para traduzir
- Aprenda programação Java em detalhes - Scaler Topics - Scaler Topics fornece artigos de programação relacionados a Python, Java, Estrutura de Dados, C/C++ e outras linguagens de programação populares com tutoriais fáceis de seguir e programas de exemplo.
- Cursos de Java - Cursos de Java diretamente do repositório geral do Guia Dev Brasil.
◾ C
C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, padronizada pela Organização Internacional para Padronização, a linguagem C pode ser facilmente encontrada em grandes jogos do mercado atual, editores de imagem e vídeo, robôs, sistemas de automação, e também muitos sistemas operacionais são programados totalmente ou parcialmente em C, como por exemplo o Windows, o Linux e o Mac OS.
- C - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem C - Documentação oficial da linguagem C em PT-BR
- Cursos de C - Cursos de C diretamente do repositório geral do Guia Dev Brasil
◾ C++
C++ é uma linguagem de programação compilada multi-paradigma e de uso geral, é usado para o desenvolvimento de sistemas embarcados, bibliotecas gráficas, jogos, sistemas operacionais, entre outros, permitindo desenvolver desde tarefas simples como aplicações na linha de comando ou web, até sistemas complexos de tempo real, muito usadas no mercado financeiro. No ensino acadêmico, ela tem grande aceitação porque abrange as linguagens de alto e baixo nível e é open source.
- C++ - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem C++ - Documentação oficial da linguagem C++ em PT-BR
- Cursos de C++ - Cursos de C++ diretamente do repositório geral do Guia Dev Brasil
- Tutorial de C++ para iniciantes - Aprenda C++ para iniciantes. Este tutorial consiste em tópicos C++ passo a passo completos.
◾ C#
C# é uma linguagem de programação, multiparadigma, de tipagem forte, desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Object Pascal e, principalmente, Java.
- Tour pela linguagem C# - Um pouco mais sobre a linguagem C# e o que ela pode fazer.
- C# - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem C# - Documentação oficial da linguagem C# em PT-BR
- Cursos de C# - Cursos de C# diretamente do repositório geral do Guia Dev Brasil
◾ R
R é uma linguagem de programação multi-paradigma orientada a objetos, programação funcional, dinâmica, fracamente tipada, voltada à manipulação, análise e visualização de dados, dessa forma, a linguagem de programação R auxilia na coleta, tratamento e transformação desses dados. Além disso, ela é responsável por ajudar na implementação de algoritmos para realizar análise estatísticas, modelos de inferência, regressão e visualização de dados
- R - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem R - Documentação oficial da linguagem R, não está disponivel em PT-BR mas pode ser traduzida para o idioma de sua escolha pelo google translate.
- Cursos de R - Cursos de R diretamente do repositório geral do Guia Dev Brasil
◾ Kotlin
Kotlin é uma linguagem de programação de código aberto estática, compatível com programação orientada a objetos e funcional. O Kotlin fornece sintaxe e conceitos semelhantes de outras linguagens, incluindo C#, Java e Scala, entre muitos outros, é uma linguagem de programação amplamente usada por desenvolvedores Android em qualquer lugar.
- Kotlin - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem Kotlin - Documentação oficial da linguagem Kotlin, não está disponivel em PT-BR mas pode ser traduzida para o idioma de sua escolha pelo google translate.
- Cursos de Kotlin - Cursos de Kotlin diretamente do repositório geral do Guia Dev Brasil
◾ Go
O Golang é uma linguagem explicitamente projetada, destinada a resolver problemas com linguagens e ferramentas existentes, enquanto aproveita nativamente as arquiteturas de hardware modernas. Ela foi projetada não só com equipes de desenvolvedores em mente, mas também com equipes de manutenção a longo prazo.
- GO - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem GO - Documentação oficial da linguagem GO, não está disponivel em PT-BR mas pode ser traduzida para o idioma de sua escolha pelo google translate.
- Cursos de GO - Cursos de GO diretamente do repositório geral do Guia Dev Brasil.
◾ PHP
O PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor ) é uma linguagem de script open source de uso geral, muito utilizada, e especialmente adequada para o desenvolvimento web e que pode ser embutida dentro do HTML.
- PHP - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem PHP - Documentação oficial da linguagem PHP em PT-BR
- Cursos de PHP - Cursos de PHP diretamente do repositório geral do Guia Dev Brasil.
◾ TypeScript
Trata-se de uma ferramenta que permite escrever um código, fazendo programações orientadas a objetos sem perder suas vantagens. Ao compilar um código TypeScript, é gerado um código JavaScript, e esse código é o que será executado no browser
- TypeScript - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação da linguagem TypeScript - Documentação oficial da linguagem TypeScript, não está disponivel em PT-BR mas pode ser traduzida para o idioma de sua escolha pelo google translate.
- Curso de TypeScript - Cursos de TypeScript diretamente do repositório geral do Guia Dev Brasil.
◾ Ruby
Ruby é uma linguagem de programação relativamente nova. É interpretada multiparadigma, possui uma tipagem dinâmica e ainda tem um gerenciamento de memória automático. É também uma linguagem multiplataforma, sendo assim suportada por diversos tipo de sistemas operacionais, Windows, Linux, entre outros, muitas aplicações famosas utilizam o Ruby, como os sites Airbnb e SoundCloud, a rede social Twitch e o site de streaming de séries e filmes Hulu. O Ruby pode ser muito útil, pois serve para criar diversos programas para desktop.
- Ruby em 20 minutos - Este é um pequeno tutorial de Ruby que não deverá demorar mais de 20 minutos para completar.
- Documentação da linguagem Ruby - Documentação oficial da linguagem Ruby em PT-BR
- Cursos de Ruby - Cursos de Ruby diretamente do repositório geral do Guia Dev Brasil.
◾ Grunt
Grunt é um executor de tarefas JavaScript, uma ferramenta usada para executar automaticamente tarefas frequentes, como minificação, compilação, teste de unidade e fiapos. Ele usa uma interface da linha de comandos para executar tarefas personalizadas definidas em um arquivo.
- Documentação do Grunt - Documentação oficial do Grunt em inglês.
- Cursos de Grunt - Cursos de Grunt diretamente do repositório geral do Guia Dev Brasil.
◾ Gulp js
Gulp. js é uma ferramenta de automação de tarefas em JavaScript. Tarefas como minificar, otimizar e compilar arquivos, tão repetitivas e necessárias ao desenvolvimento, podem ser automatizadas com o Gulp.
- Documentação do Gulp - Documentação oficial do Gulp em inglês.
- Cursos de Gulp.js - Cursos de Gulp.js diretamente do repositório geral do Guia Dev Brasil.
◾ Lua
Lua é uma linguagem de programação interpretada, de script em alto nível, com tipagem dinâmica e multiparadigma, reflexiva e leve, projetada por Tecgraf da PUC-Rio em 1993 para expandir aplicações em geral, de forma extensível, para prototipagem e para ser embarcada em softwares complexos, como jogos.
- Documentação da linguagem Lua - Documentação oficial da linguagem Lua em PT-BR.
- Cursos de Lua - Cursos de Lua diretamente do repositório geral do Guia Dev Brasil.
◾ Django
Django é um framework para desenvolvimento rápido para web, escrito em Python, que utiliza o padrão model-template-view, usado em grandes empresas como o Instagram, Mozilla e o Pinterest, o Django Framework atrai atenção dos desenvolvedores de python porque permite a criação de aplicações web com processos muito otimizados.
- Django - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do Django - Documentação do Django em inglês.
- Cursos de Django - Cursos de Django diretamente do repositório geral do Guia Dev Brasil.
◾ Node JS
O Node. js é um ambiente de execução na porta 80 padrão,baseado na pilha da web aberta (HTML, CSS e JS). Ou seja, é uma plataforma em que é possível criar aplicações Javascript sem depender de um browser para a execução. Sua execução em single-thread não exige resposta a cada requisição.
- Node.js - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do Node.js - Documentação do Node.js em inglês.
- Cursos de Node.js - Cursos de Node.js diretamente do repositório geral do Guia Dev Brasil.
◾ Ext JS
ExtJS é um framework de aplicações Java Script puro que funciona em qualquer Browser, desde do IE6 para até a mais recente versão do Chrome. Ele permite que você criar as melhores aplicações multiplataformas usando nada além de um Browser, e tem uma API fenomenal.
- Documentação do Ext.js - Documentação oficial do ExtJS em inglês.
- Cursos de Ext.js - Cursos de Ext.js diretamente do repositório geral do Guia Dev Brasil.
◾ MongoDB
MongoDB é um software de banco de dados orientado a documentos livre, de código aberto e multiplataforma, escrito na linguagem C++. Classificado como um programa de banco de dados NoSQL, o MongoDB usa documentos semelhantes a JSON com esquemas.
- Documentação do MongoDB - Documentação Oficial do MongoDB em inglês.
- Cursos de MongoDB - Cursos de MongoDB diretamente do repositório geral do Guia Dev Brasil.
◾ PostgreeSQL
PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional baseado no POSTGRES, Versão 4.2, desenvolvido na Universidade da Califórnia no Departamento de Ciências da Computação em Berkeley, o qual foi pioneiro em muitos conceitos que vieram a estar disponíveis em alguns bancos de dados comerciais mais tarde.
- Documentação do PostgreeSQL - Documentação Oficial do PostgreeSQL em inglês
- Documentação do PostgreeSQL em PT-BR - Documentação do PostgreeSQL em PT-BR
- Cursos de PostgreeSQL - Cursos de PostgreeSQL diretamente do repositório geral do Guia Dev Brasil.
◾ SQL
Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional. Muitas das características originais do SQL foram inspiradas na álgebra relacional.
- SQL - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do SQL - Documentação Oficial do SQL em inglês
- Cursos de SQL - Cursos de SQL diretamente do repositório geral do Guia Dev Brasil.
◾ MySQL
O MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL como interface. É atualmente um dos sistemas de gerenciamento de bancos de dados mais populares da Oracle Corporation, com mais de 10 milhões de instalações pelo mundo.
- MySQL - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do MySQL - Documentação Oficial do MySQL em inglês
- Cursos de MySQL - Cursos de MySQL diretamente do repositório geral do Guia Dev Brasil.
◾ Nestjs
O Nestjs é um framework que permite criar aplicações node eficientes e escalaveis. Utiliza Express por debaixo dos panos, porém também é compativel com Fastify. Sua arquitetura lembra muito a do Angular.
- Nest - Documentação oficial.
- Treina Web - Hellow World com Nest.
- EZDevs - Tutorial basico de um CRUD com Nest e Mongo.
- Youtube - Video tutorial do basico ao avançado (Para iniciantes).
◾ ASP net
ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web e é o sucessor da tecnologia ASP. Permite, através de uma linguagem de programação integrada na .NET Framework, criar páginas dinâmicas. Não é nem uma linguagem de programação como VBScript, PHP, nem um servidor web como IIS ou Apache.
- ASP - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do ASP.net - Documentação Oficial do PostgreeSQL em PT-BR.
- Cursos de ASP.net - Cursos de ASP.net diretamente do repositório geral do Guia Dev Brasil.
◾ Raspberry Pi
Raspberry Pi é uma série de mini-computadores de placa única multiplataforma, de tamanho reduzido com componentes integrados, que se conecta a um monitor de computador ou televisão, e usa um teclado e um mouse padrão.
- Raspberry Pi - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do Raspberry Pi - Documentação Oficial do PostgreeSQL em inglês
- Curso de Raspberry Pi - Cursos de Raspberry Pi diretamente do repositório geral do Guia Dev Brasil.
◾ AWS Cloud
Amazon Web Services, também conhecido como AWS, é uma plataforma de serviços de computação em nuvem, que formam uma plataforma de computação na nuvem oferecida pela Amazon.com. Os serviços são oferecidos em várias áreas geográficas distribuídas pelo mundo.
- AWS Cloud - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do AWS - Documentação oficial da linguagem Lua em inglês.
- AWS Cloud - Escola da Nuvem - A Escola da Nuvem é uma organização da sociedade civil, sem fins lucrativos, que prepara estudantes para carreiras na nuvem e os conecta a empregadores em potencial.
- Cursos de AWS - Cursos de AWS diretamente do repositório geral do Guia Dev Brasil.
◾ Inteligência artificial
Inteligência artificial é a inteligência similar à humana exibida por sistemas de software, além de também ser um campo de estudo acadêmico.
- IA - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Inteligência artificial - O que é IA? - Tópico sobre o que é inteligência artificial.
- Cursos de Inteligência Artificial - Cursos de Inteligência Artificial diretamente do repositório geral do Guia Dev Brasil.
◾ Machine Learning
O aprendizado automático ou a aprendizagem automática ou também aprendizado de máquina ou aprendizagem de máquina é um subcampo da Engenharia e da ciência da computação que evoluiu do estudo de reconhecimento de padrões e da teoria do aprendizado computacional em inteligência artificial.
- Machine Learning - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do Azure Machine Learning - Documentação oficial sobre Machine Learning em PT-BR.
- Cursos de Machine Learning - Cursos de Machine Learning diretamente do repositório geral do Guia Dev Brasil.
◾ Data Science
Ciência de dados é uma área interdisciplinar voltada para o estudo e a análise de dados econômicos, financeiros e sociais, estruturados e não-estruturados, que visa a extração de conhecimento, detecção de padrões e/ou obtenção de insights para possíveis tomadas de decisão.
- Data Science - W3School - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Ferramentas e organização em um projeto de Data Science - Ferramentas e organização para se colocar em prática em um projeto de Data Science.
- Cursos de Data Science - Cursos de Data Science diretamente do repositório geral do Guia Dev Brasil.
◾ NumPy
NumPy é uma biblioteca para a linguagem de programação Python, que suporta o processamento de grandes, multi-dimensionais arranjos e matrizes, juntamente com uma grande coleção de funções matemáticas de alto nível para operar sobre estas matrizes.
- NumPy - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do NumPy - Documentação oficial do NumPy em inglês.
- Cursos de NumPy - Cursos de NumPy diretamente do repositório geral do Guia Dev Brasil.
◾ Pandas
Em programação de computadores, pandas é uma biblioteca de software criada para a linguagem Python para manipulação e análise de dados. Em particular, oferece estruturas e operações para manipular tabelas numéricas e séries temporais. É software livre sob a licensa licença BSD.
- Pandas - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do Pandas - Documentação oficial do Pandas em inglês.
- Cursos de Pandas - Cursos de Pandas diretamente do repositório geral do Guia Dev Brasil.
◾ SciPy
SciPy é uma biblioteca Open Source em linguagem Python que foi feita para matemáticos, cientistas e engenheiros. Também tem o nome de uma popular conferência de programação científica com Python. A sua biblioteca central é NumPy que fornece uma manipulação conveniente e rápida de um array N-dimensional.
- SciPy - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do SciPy - Documentação oficial do SciPy em inglês.
- Cursos de SciPy - Cursos de SciPy diretamente do repositório geral do Guia Dev Brasil.
◾ Matplotlib
Matplotlib é uma biblioteca de software para criação de gráficos e visualizações de dados em geral, feita para e da linguagem de programação Python e sua extensão de matemática NumPy. Originalmente criada pelo biólogo e neurocientista americano John D
- Matplotlib - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do Matplotlib - Documentação oficial do Matplotlib em inglês.
- Cursos de Matplotlib - Cursos de Matplotlib diretamente do repositório geral do Guia Dev Brasil.
◾ Estatística
Estatística é a ciência que utiliza as teorias probabilísticas para explicar a frequência da ocorrência de eventos, tanto em estudos observacionais quanto em experimentos para modelar a aleatoriedade e a incerteza de forma a estimar ou possibilitar a previsão de fenômenos futuros, conforme o caso.
- Estatística - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Cursos de Estatística - Cursos de Estatística diretamente do repositório geral do Guia Dev Brasil.
◾ XML
XML é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. É um dos subtipos da SGML capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações por intermédio da internet.
- XML - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do XML - Documentação oficial do XML em PT-BR.
- Cursos de XML - Cursos de XML diretamente do repositório geral do Guia Dev Brasil.
◾ XML AJAX
Ajax é o uso metodológico de tecnologias como Javascript e XML, providas por navegadores, para tornar páginas Web mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. Foi inicialmente desenvolvida pelo estudioso Jessé James Garret e mais tarde por diversas associações.
- XML Ajax - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Ajax - MDN - Documentação oficial do Ajax em PT-BR.
- Cursos de Ajax - Cursos de XML Ajax diretamente do repositório geral do Guia Dev Brasil.
◾ XML DOM
A classe do DOM (Document Object Model) XML é uma representação na memória de um documento XML. O DOM permite que você leia, manipule e modifique programaticamente um documento XML. A classe XmlReader também lê XML. No entanto, ela fornece acesso não armazenado em cache, apenas de encaminhamento e somente leitura.
- XML DOM - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Modelo de Objeto de Documento (DOM) - Documentação oficial do XML DOM em PT-BR.
- Cursos de DOM - Cursos de XML DOM diretamente do repositório geral do Guia Dev Brasil.
◾ XML DTD
Uma definição de tipo de documento é um conjunto de declarações de marcação que definem um tipo de documento para uma linguagem de marcação da família da SGML. Uma Definição de Tipo de Documento define os blocos de construção lícitos de um documento XML.
- XML DTD - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentos com DTDs - Documentos com DTDs em PT-BR pela UFRJ.
- Cursos de XML DTD - Cursos de XML DTD diretamente do repositório geral do Guia Dev Brasil.
◾ XML Schema
XML Schema é uma linguagem baseada no formato XML para definição de regras de validação em documentos no formato XML. Foi a primeira linguagem de esquema para XML a obter o status de recomendação por parte do W3C. Esta linguagem é uma alternativa ao DTD, cuja sintaxe não é baseada no formato XML.
- XML Schema - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- XML Schema para documentos XML - Estudo sobre o XML Schema para documentos XML.
- Cursos de XML - Cursos de XML Schema diretamente do repositório geral do Guia Dev Brasil.
◾ XSLT
XSL Transformations, ou XSLT, é uma linguagem de marcação XML usada para criar documentos XSL que, por sua vez, definem a apresentação dos documentos XML nos browsers e outros aplicativos que os suportem. É importante observar que o documento XSL não altera o documento XML original, ou seja, não cria outro documento.
- XLST - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Introdução ao XSLT - Introdução ao XSLT em PT-BR
- Cursos de XSLT - Cursos de XSLT diretamente do repositório geral do Guia Dev Brasil.
◾ XPath
XPath, a XML Path Language, é uma linguagem de consulta para selecionar nós de um documento XML. Ademais, XPath pode ser usada para computar valores do conteúdo de um documento XML. XPath foi definido pelo World Wide Web Consortium
- XPath - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do XPath - Documentação oficial do XPath em PT-BR.
- Cursos de XPath - Cursos de XPath diretamente do repositório geral do Guia Dev Brasil.
◾ XQuery
XQuery é uma linguagem de consulta, com alguns recursos de programação, que é projetada para fazer consultas em coleções de dados em XML. Ela é semanticamente similar ao SQL. XQuery foi desenvolvido pelo grupo de trabalho XML Query do W3C. Foi desenvolvido em colaboração com o XSLT 2.0 pelo Grupo de Trabalho XSL.
- XQuery - W3Schools - W3Schools é um site educacional voltado ao aprendizado de tecnologias web. Seu conteúdo inclui tutoriais e referências relacionadas a diversas linguagens.
- Documentação do XQuery - Documentação oficial do XQuery em PT-BR.
- Cursos de XQuery - Cursos de XQuery diretamente do repositório geral do Guia Dev Brasil.
◾ API Rest
Representational State Transfer, em português Transferência Representacional de Estado, é um estilo de arquitetura de software que define um conjunto de restrições a serem usadas para a criação de web services.
- O que é API rest? - O que é um API Rest e como funciona?
- Cursos de API Rest - Cursos de API Rest diretamente do repositório geral do Guia Dev Brasil.
◾ API Json
A API JSON é um formato que funciona com HTTP. Ele descreve como os clientes devem solicitar ou editar dados de um servidor e como o servidor deve responder a essas solicitações.
- Uma especicação para construir API'S em JSon - Especificação para a construir API's em JSON
- Cursos de API Json - Cursos de API JSON diretamente do repositório geral do Guia Dev Brasil.
◾ Docker
Docker é um conjunto de produtos de plataforma como serviço que usam virtualização de nível de sistema operacional para entregar software em pacotes chamados contêineres. Os contêineres são isolados uns dos outros e agrupam seus próprios softwares, bibliotecas e arquivos de configuração.
- Docker 101 Tutorial - Neste tutorial prático e individualizado, você aprenderá a criar imagens, executar contêineres, usar volumes para persistir dados e montar no código-fonte e definir seu aplicativo usando o Docker Compose. Você aprenderá até mesmo sobre alguns tópicos avançados, como práticas recomendadas de criação de rede e imagem.
- Documentação do Docker - Documentação do Docker em inglês.
- Cursos de Docker - Cursos de Docker diretamente do repositório geral do Guia Dev Brasil.
◾ Padrões de arquitetura
Um padrão de arquitetura é uma solução geral e reutilizável para um problema que ocorre com frequência em arquitetura de software dentro de um determinado contexto. Padrões de arquitetura são similares aos padrões de projeto de software, mas possuem um escopo mais amplo
- Refactoring Guru - Padrões de projetos "Design patterns"
- Quais são os tipos de arquitetura de software e como escolher o melhor para seu projeto - Melhores tipos de arquitetura de software.
◾ Recomendação de livros
- Clean Code - Código Limpo
- Refactoring - Refatoração
- Clean Archtecture - Arquitertura Limpa
- O programador pragmático
◾ Ferramentas e Desafios
Sites para treinar projetos back-end
- Dev Challenge Back-End - Treine suas habilidades com desafios Back-end
- HackerRank - Desafios de Programação Back-end. IDE integrada
- CoderByte - Desafios de Programação Back-end. IDE integrada
- CodeWars - Desafios de Programação Back-end. IDE integrada
- Coding Games - Desafios Programação Back-end com foco em temática de jogos. IDE integrada
- Edabit - Desafios de Programação Back-end. IDE integrada
- ChallengeRocket - Desafios de Programação Back-end. IDE integrada
- CodeForces - Desafios de Programação Back-end com a compilação e testes feito pela plataforma porém sem IDE integrada
- CodeSignal - Desafios de Programação Back-end. IDE integrada
- Codility - Desafios de Programação Back-end. IDE integrada
- CSES - Desafios de Programação Back-end. IDE integrada
- DailyCodingProblem - Desafios de Programação Back-end enviados por e-mail. Solução do problema Premium
- Exercism.io - Desafios de Programação Back-end. Sem IDE integrada. Requer download de CLI.
- LeetCode - Desafios de Programação Back-end. IDE integrada
- BinarySearch - Desafios de Programação Back-end. IDE integrada
- CodeAbbey - Desafios de Programação Back-end. IDE integrada
- ProjectEuler - Desafios de Programação Back-end focado em problemas matemáticos. IDE integrada
- Sphere Onlune Judge (SPOJ) - Desafios de Programação Back-end com a compilação e testes feito pela plataforma porém sem IDE integrada
- TopCoder - Desafios e Arena de Programação Back-end. IDE integrada
- URI/Beecrowd - Desafios Programação Back-end, matemáticos e SQL. IDE integrada