Ruby - Roadmap

Evolution of a ruby ​​web developer

Esses são o passo-à-passo que considero para aprender a desenvolver com Ruby.

Caso você já saiba sobre algum assunto abaixo, então pode pular! (Procure aprender Inglês ao longo dos estudos)

1º Passo - Conheça Controle de Versão

Esse carinha vai ser de muita importância daqui para o futuro, é utilizado por todas as empresas CVS, GIT (recomendo), SVN, Bitkeeper.

2º Passo - Aprenda sobre comandos via Terminal

Iniciando o estudo por comandos no terminal para entender o básico do computador. Instalar/Atualizar, Listar arquivos, Mudar de diretório, Criar, Remover, Copiar, Mover, Renomear,Visualizar histórico de comandos, Manual.

3º Passo - Aprenda a linguagem Ruby

  • Instale o Ruby escolhendo um gerenciador, temos:

Demorou mais chegou, porém caso não saiba de nada começe por Algoritmos e Estrutura de Dados.

livros para ajudar nos estudos:

Faça exercícios para fixar seu aprendizado.

Conheça o Rubocop para melhorar seu código!

Procure participar de um projeto Opensource.

4º Passo - Aprenda sobre testes

Garanta que seus projetos serão bem construídos.

Curso bom: [https://onebitcode.com/course/minicurso-de-testes/]

Busque por mais conhecimento e pratique muito.

5º Passo - Aprenda Banco de dados relacional

Os mais utilizados com Ruby são:

  • PostgreSQL
  • MySQL
  • MS SQL SERVER

6º Passo - Aprenda um Framework

Aprenda sobre HTML, CSS e Javascript:

Aprenda o básico de início e caso ache algum curso melhor, faça!

Vou mostrar poucos frameworks para ruby:

  • Rails - o mais utilizado (mais conhecido por Ruby on Rails, RoR).
  • Sinatra - para aplicações simples.
  • Hanami (ex Lotus)
  • Hobbit - minimalista.

Curso de Ruby on Rails:

Link: [https://www.youtube.com/watch?v=ZHPondVB9RQ&list=PLe3LRfCs4go-mkvHRMSXEOG-HDbzesyaP]

Crie CRUD's para praticar, melhorando sempre. Evolua esse app de CRUD com login, permissões etc.

7º Passo - Aprenda Banco de dados não relacionais (NoSQL)

Escolha o seu:

  • MongoDB
  • RethinkDB
  • Cassandra
  • Couchbase

Aulinha: [https://www.youtube.com/watch?v=1B64oqE8PLs&list=PLVc5bWuiFQ8GgKm5m0cZE6E02amJho94o&index=27]

8º Passo - Caching

Aprenda como implementar um app caching usando **Redis ou Memcached"" Melhore os seus projetos anteriores com ele.

Aulinha: [https://www.youtube.com/watch?v=I8iGQjKGjDA&list=PLVc5bWuiFQ8GgKm5m0cZE6E02amJho94o&index=6]

9º Passo - Aprenda a criar uma API

Aprenda o padrão REST e como fazer uma API's RESTful e certifique-se de ler a parte sobre REST do papel original de Roy Fielding.

Aulinha: [https://www.youtube.com/watch?v=vGuqKIRWosk&list=PLVc5bWuiFQ8GgKm5m0cZE6E02amJho94o&index=2]

10º Passo - Metodologia de Autenticação/Autorização

Aprenda sobre as diferenças e como implementá-los.

11º Passo - Message Brokers.

Aprenda sobre as quebras de mensagens, padronizando o 'porque' e escolha uma. Escolha uma:

  • RabbitMQ
  • Kafka

12º Passo - Aprenda um Search Engine

À medida que o aplicativo cresce, consultas simples em seu banco de dados não vão interrompê-lo e você terá que recorrer a um mecanismo de busca. Escolha uma:

  • ElasticSearch
  • Solr
  • Sphinx

13º Passo - Aprenda como usar o Docker

Corre que é coisa demais!

documentação: [https://docs.docker.com/] Aulinha: [https://www.youtube.com/watch?v=-pUZBovqRcU&list=PLVc5bWuiFQ8GgKm5m0cZE6E02amJho94o&index=10]

14º Passo - Servidores Web

15º Passo - Apenda como usar Web Sockets

16º Passo - Aprenda GraphQL

Aulinha: [https://www.youtube.com/watch?v=xbLpIhCsIdg&list=PLVc5bWuiFQ8GgKm5m0cZE6E02amJho94o&index=19]

Agora é com o tempo e as novidades que vier, tenha uma boa sorte e não desista!