Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evertonlopesc/a97e98c1f24a035d087fab2ede0d8254 to your computer and use it in GitHub Desktop.
Save evertonlopesc/a97e98c1f24a035d087fab2ede0d8254 to your computer and use it in GitHub Desktop.
Ruby - Roadmap
@evertonlopesc
Copy link
Author

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.

  • Links: [https://git-scm.com/docs], [https://rogerdudler.github.io/git-guide/index.pt_BR.html]
  • Noções básicas: [https://git-scm.com/book/pt-br/v1/Primeiros-passos-No%C3%A7%C3%B5es-B%C3%A1sicas-de-Git]
  • Curso básico: [https://www.youtube.com/watch?v=4aWOj-kWpM4&list=PLmSWX0ePcw4h4Hf1nmrvIxJJ_2QjojhVC]

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.

  • Link: [https://www.youtube.com/watch?v=u16ZDPcf8Rc&list=PLucm8g_ezqNp92MmkF9p_cj4yhT-fCTl7]

3º Passo - Aprenda a linguagem Ruby

  • Instale o Ruby escolhendo um gerenciador, temos:
  • RVM: [https://rvm.io/rvm/install]
  • RBenv: [https://github.com/rbenv/rbenv]
  • asdf: [https://asdf-vm.com/#/] (é bem completo)

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

livros para ajudar nos estudos:

  • Livro 1: [https://leanpub.com/conhecendo-ruby]
  • Livro 2: [https://books.goalkicker.com/RubyBook/]

Faça exercícios para fixar seu aprendizado.

  • Link: [https://onebitcode.com/course/ruby-puro/]
  • Link: [https://www.codesaga.com.br/]
  • Link: [https://www.urionlinejudge.com.br] gosto desse site, pois quebra a cabeça por besteira :-)

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:

  • HTML: [https://www.youtube.com/watch?v=o5fd5FUk2fk&list=PLx4x_zx8csUgluS7H9gyb9HH7g7F2ZWSQ]
  • CSS: [https://www.youtube.com/watch?v=GPK8A-A156o&list=PLx4x_zx8csUi47Bnugpk78nqJN6rYvEnV]
  • Javascript [https://www.youtube.com/watch?v=lcKo-ycLDNw&list=PLx4x_zx8csUj3IbPQ4_X5jis_SkCol3eC&index=1]

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]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment