└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ![Ruby](https://www.loginworks.com/wp-content/uploads/2018/02/ruby-programming-language-a-guide-2.jpg) 2 | 3 | # Ruby - Roadmap 4 | Evolution of a ruby ​​web developer 5 | 6 | Referência: [Roadmap.sh](https://roadmap.sh/) 7 | 8 | ## Esses são o passo-à-passo que considero para aprender a desenvolver com Ruby (e para outras linguagens). 9 | Recomendo que você não precisa seguir a risca essa ordem de estudos, mas procure aprender sobre. Caso você já saiba sobre algum assunto abaixo, então pode pular! (Procure aprender Inglês ao longo dos estudos) 10 | 11 | --- 12 | ### Aconselho assistir este vídeo antes de qualquer coisa. 13 | - [Guia DEFINITIVO de Aprendendo a Aprender](https://youtu.be/oUPaJxk6TZ0) 14 | 15 | *Falando em investimento, lembre-se: seu conhecimento é sua responsabilidade! Nenhuma empresa ou instituição tem obrigações com sua atualização profissional. Se você não tiver interesse, ou achar que os outros é que deveriam investir em você, devo dizer que você está redondamente errado. Seu conhecimento, aprendizado e experiência são as únicas coisas que ninguém jamais pode tirar ou roubar de você. Cuide bem deles!* by: Fábio Akita. 16 | 17 | --- 18 | 19 | ### Essencial - Dicas de como aprender Inglês 20 | **Vídeo** 21 | - [Dicas do Fábio Akita](https://www.youtube.com/watch?v=OkboNGQ9LU0) 22 | 23 | **Ferramentas** 24 | - [Aprenda leitura e escrita Duolingo](https://pt.duolingo.com/) 25 | - [Learn English with EnglishClass101.com](https://youtube.com/playlist?list=PL5bLw9Uguvv3kSpd1tM79vb0DGAG67dab) 26 | 27 | --- 28 | 29 | ## Internet 30 | **Leitura** 31 | - Wikipédia: [História da Internet](https://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_Internet) 32 | 33 | **Vídeo** 34 | - [A história do Front end](https://www.youtube.com/watch?v=VKmPGmFY7H4) 35 | 36 | *Lembrando aproveite os links na descrição para entender melhor.* 37 | 38 | --- 39 | 40 | ## Aprendendo uma Línguagem 41 | **Curiosidades - Vídeo** 42 | - Sua Linguagem Não É Especial - [Parte 1](https://youtu.be/p9-WuJbVHHc) | [Parte 2](https://youtu.be/XcTTajFENHI) 43 | 44 | **Front End - Conhecimento básico:** 45 | 46 | #### Curso 47 | - [Curso de HTML básico](https://www.youtube.com/watch?v=o5fd5FUk2fk&list=PLx4x_zx8csUgluS7H9gyb9HH7g7F2ZWSQ) 48 | - [Curso de CSS básico](https://www.youtube.com/watch?v=GPK8A-A156o&list=PLx4x_zx8csUi47Bnugpk78nqJN6rYvEnV) 49 | - [Curso de Javascript básico](https://www.youtube.com/watch?v=lcKo-ycLDNw&list=PLx4x_zx8csUj3IbPQ4_X5jis_SkCol3eC&index=1) 50 | 51 | #### Documentação 52 | - [Hypertext Transfer Protocol (HTTP)](https://developer.mozilla.org/en-US/docs/Web/HTTP) 53 | - [HTML: HyperText Markup Language](https://developer.mozilla.org/en-US/docs/Web/HTML) 54 | - [https://developer.mozilla.org/en-US/docs/Web/CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) 55 | - [JavaScript (JS)](https://developer.mozilla.org/en-US/docs/Web/JavaScript) 56 | 57 | *Divirtam-se e aprenda o básico de início e caso ache algum curso melhor, faça!* 58 | 59 | **Principais conceitos da programação - Pratique!** 60 | - *Lógica de programação* - é um paradigma de programação que faz uso da lógica matemática. 61 | - Algoritmos - é uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. 62 | - Estrutura de Dados - é uma coleção tanto de valores (e seus relacionamentos) quanto de opera 63 | - [Qual a REAL diferença entre Arquivos Binário e Texto??](https://youtu.be/oSCVb4Ts-G4) 64 | - [O que vem DEPOIS do Hello World](https://youtu.be/YyWMN_0g3BQ) 65 | - [Hello World Como Você Nunca Viu!](https://youtu.be/Gp2m8ZuXoPg) 66 | - [Árvores: O Começo de TUDO | Estruturas de Dados e Algoritmos](https://youtu.be/9GdesxWtOgs) 67 | - [Programação multiparadigma | Rodrigo Serradura](https://serradura.github.io/pt-BR/blog/as-diferentes-formas-de-declarar-comportamento-em-ruby/) 68 | 69 | **Vídeo** 70 | - [Lógica de programação](https://youtube.com/playlist?list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV) 71 | 72 | **Exercícios** 73 | - [Exercícios com URI Online Judge](https://www.urionlinejudge.com.br) __(gosto desse site, pois quebra a cabeça por besteira :-) )__ 74 | - [Exercícios com Hacker Rank](https://www.hackerrank.com/) 75 | - [Exercícios com Exercism.io](https://exercism.io/) __(esse tem ajuda com especialistas)__ 76 | 77 | ## Ruby - Linguagem (Divirtam-se!) 78 | **Recomendo:** 79 | - [A História de Ruby on Rails | visão de Fábio Akita](https://youtu.be/oEorhw5r2Do) 80 | - [Aprendendo Ruby e Rails, Livros e Guias](https://www.akitaonrails.com/2014/07/13/aprendendo-ruby-e-rails-livros-e-guias) 81 | - [The Odin Project](https://www.theodinproject.com/) 82 | 83 | **Leitura** 84 | - Wikipédia: [História Ruby language](https://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)) 85 | 86 | Documentações oficiais: 87 | - [Oficial ruby doc](https://docs.ruby-lang.org/en/) 88 | - [Ruby references](https://rubyreferences.github.io/rubyref/) 89 | - [Ruby api](https://rubyapi.org/) 90 | - [Programming Ruby](http://docs.ruby-doc.com/docs/ProgrammingRuby/) 91 | 92 | - [Eustáquio Rangel - livros de Ruby, Rails e GIT](http://eustaquiorangel.com/livros) 93 | - [Leanpub](https://leanpub.com/conhecendo-ruby) 94 | - [Livro - Ruby® Notes for Professionals](https://books.goalkicker.com/RubyBook/) 95 | 96 | **Comunidades Ruby** 97 | - [Ruby Brasil (Ajudamos muito) - Telegram](https://t.me/rubybrasil) 98 | - [Ruby Brasil - Facebook](https://www.facebook.com/groups/735446619838031/?multi_permalinks=4243373185712006) 99 | - [Grupo ada.rb](https://t.me/ruby_arch_design_br) 100 | 101 | **Instalar e Gerenciar versões** 102 | - [RVM](https://rvm.io/rvm/install) 103 | - [RBenv](https://github.com/rbenv/rbenv) 104 | - [ASDF - Manager multiple language](https://asdf-vm.com/#/) (*é bem completo*) 105 | - [Ruby Installer For Windows](https://rubyinstaller.org/) 106 | 107 | **Vídeos** 108 | - [Curso -Linguagem Ruby - Danilo Aparecido](https://www.torneseumprogramador.com.br/aulas/ruby) 109 | - [Curso - Ruby Puro - OneBitCode](https://youtube.com/playlist?list=PLdDT8if5attEOcQGPHLNIfnSFiJHhGDOZ&si=ijojIzHlTqO-yH0e) 110 | - [Curso - Ruby Para Iniciantes - Noob Code](https://www.youtube.com/watch?v=bLDH3NypOVo&list=PLnV7i1DUV_zOit4a_tEDf1_PcRd25dL7e) 111 | 112 | **Frameworks** 113 | - Rails - o mais utilizado (mais conhecido por Ruby on Rails, RoR). 114 | - Sinatra - para aplicações simples. 115 | - Hanami (ex Lotus) 116 | - Hobbit - minimalista. 117 | 118 | ## Rails - Framework 119 | **Documentação** 120 | - [Ruby on Rails guides](https://guides.rubyonrails.org/) 121 | 122 | Ajudinha para iniciantes (doc oficial): 123 | - [Active Record Basics - Aqui ele mostra o básico](https://guides.rubyonrails.org/active_record_basics.html) 124 | - [Active Record Querying - Pesquisas no banco de dados](https://guides.rubyonrails.org/active_record_querying.html) 125 | - [Routes - Como criar as rotas "url"](https://guides.rubyonrails.org/routing.html) 126 | - [Controller - Envia dados ao front, views](https://guides.rubyonrails.org/action_controller_overview.html) 127 | - [Views: Layouts and Rendering - Customizar as páginas](https://guides.rubyonrails.org/layouts_and_rendering.html) 128 | - [Minitest - Teste padrão do rails](https://guides.rubyonrails.org/testing.html) 129 | - [Webpacker - Pacotes para javascript, css dentre outros](https://guides.rubyonrails.org/webpacker.html) 130 | - [Action Mailer Basics - Responsável por configurar os envios de emails](https://guides.rubyonrails.org/action_mailer_basics.html) 131 | - [Active Job Basics - Cria, Enfileira e Executa serviços em background](https://guides.rubyonrails.org/active_job_basics.html) 132 | - [i18n - Translate](https://guides.rubyonrails.org/i18n.html) 133 | 134 | **Vídeos** 135 | - [Curso de Ruby on Rails](https://www.youtube.com/watch?v=ZHPondVB9RQ&list=PLe3LRfCs4go-mkvHRMSXEOG-HDbzesyaP) 136 | - [Curso Ruby on Rails 6 MVC - Paulo Melo](https://youtube.com/playlist?list=PLqsayW8DhUmv49CBT7AvetMplBViAcwuk) 137 | - [How to use Hotwire in Rails](https://youtu.be/Qp6sxgjA-xY) 138 | - [Ruby on Rails 6 for Beginners - GoRails](https://youtube.com/playlist?list=PLm8ctt9NhMNV75T9WYIrA6m9I_uw7vS56) 139 | - [Hotwire for Rails - GoRails](https://youtube.com/playlist?list=PLm8ctt9NhMNWy8fC-7g9OC1IJPkYQ_pI7) 140 | 141 | *Crie CRUD's para praticar, melhorando sempre. Evolua esse app de CRUD com login, permissões etc.* 142 | 143 | --- 144 | 145 | ## OS e Conhecimento geral 146 | **Leitura** 147 | - Wikipédia história: [Windows](https://pt.wikipedia.org/wiki/Microsoft_Windows) - [Linux](https://pt.wikipedia.org/wiki/Linux) - [MacOS](https://pt.wikipedia.org/wiki/MacOS) 148 | 149 | **Dicas** 150 | - Se optar a usar o Linux como sua máquina: [O Guia DEFINITIVO de UBUNTU para Devs Iniciantes - Fábio Akita](https://youtu.be/epiyExCyb2s) 151 | 152 | **Back-End para Iniciantes | Fábio Akita** 153 | 1. Iniciando o assunto [Parte 1](https://youtu.be/Qjk-cSW-jk4) 154 | 2. Iniciando o assunto [Parte 2](https://youtu.be/N6vgZr1k03g) 155 | 3. Concorrência e Paralelismo [Parte 1](https://youtu.be/cx1ULv4wYxM) 156 | 4. Concorrência e Paralelismo [Parte 2](https://youtu.be/gYJSWs-gp1g) 157 | 5. Gerenciamento de Memória [Parte 1](https://youtu.be/9AK_1gqEfkQ) 158 | 6. Gerenciamento de Memória [Parte 2](https://youtu.be/DGU1awKrNiA) 159 | 160 | **Comandos do Terminal** 161 | 162 | **Dicas** 163 | - Instalar/Atualizar, Listar arquivos, Mudar de diretório, Criar, Remover, Copiar, Mover, Renomear,Visualizar histórico de comandos, Manual. 164 | 165 | **Leitura** 166 | - [Certificação LPIC Essencial - Veja os comandos sugeridos](https://lpibrasil.com.br/linux-essentials/) 167 | 168 | **Download para arquivos de leitura** 169 | - [Guia Foca Linux](https://www.guiafoca.org/) *Arquivos baixados e testados* 170 | 171 | **Vídeos** 172 | - [Comandos importantes - Parte 1](https://www.youtube.com/watch?v=uZeMQz89pfw) 173 | - [Comandos importantes - Parte 2](https://www.youtube.com/watch?v=1HapBf0cnmU) 174 | 175 | --- 176 | 177 | ## Controle de Versão 178 | **Documentação** 179 | - [Documentação oficial](https://git-scm.com/docs) 180 | - [Documentação resumida](https://rogerdudler.github.io/git-guide/index.pt_BR.html) 181 | 182 | **Dicas** 183 | - [Noções básicas](https://git-scm.com/book/pt-br/v1/Primeiros-passos-No%C3%A7%C3%B5es-B%C3%A1sicas-de-Git) 184 | 185 | **Vídeos** 186 | - [Entendendo sobre o Git - Fábio Akita](https://youtu.be/6Czd1Yetaac) 187 | - [Usando Git - Fábio Akita](https://youtu.be/6OokP-NE49k) 188 | 189 | --- 190 | 191 | ## Banco de dados 192 | **SQL** *Os mais utilizados com Ruby são:* 193 | - [PostgreSQL - Curso básico](https://www.youtube.com/watch?v=Wmg_JfwkODU&list=PLDqAb8tE7SQZzMWvPG4PYevQAW1cDsbD0) 194 | - [MySQL - Curso básico](https://www.youtube.com/watch?v=T3t-wziJN6I&list=PLucm8g_ezqNrWAQH2B_0AnrFY5dJcgOLR) 195 | - [MS SQL SERVER - curso básico](https://www.youtube.com/watch?v=1YQIRdWkMvs&list=PLucm8g_ezqNqI5cW3alteV5olcMCcHYRK) 196 | 197 | **NoSQL** 198 | - Introdução ao [NoSQL](https://youtu.be/1B64oqE8PLs) 199 | - Devo usar NOSQL? [O outro lado](https://youtu.be/EdOkYEE1J_Y) 200 | - Introdução ao MongoDB [Lado positivo](https://youtu.be/4dTI1mVLX3I) 201 | - Curso [MongoDB (básico)](https://youtube.com/playlist?list=PL4OAe-tL47sZeAX1LXxSZxXtqj1fYGkF1) 202 | 203 | --- 204 | 205 | ## API (Interface de programação de aplicações) 206 | Aprenda o padrão REST e como fazer uma API's RESTful. 207 | - [wikipédia](https://pt.wikipedia.org/wiki/Interface_de_programa%C3%A7%C3%A3o_de_aplica%C3%A7%C3%B5es) 208 | - [Vídeo sobre API](https://youtu.be/vGuqKIRWosk) 209 | - [Curso Ruby on Rails 6 API - Paulo Melo](https://youtube.com/playlist?list=PLqsayW8DhUmuvgOX08aXYk6Y-HGrdYg20) 210 | - [Ruby on Rails API with Vue.js - Rails 5](https://web-crunch.com/posts/ruby-on-rails-api-vue-js) 211 | 212 | --- 213 | 214 | ## Caching 215 | 216 | --- 217 | 218 | ## Segurança Web 219 | **Dicas** 220 | - [Entendendo Supremacia Quântica](https://youtu.be/uaKWBl49mUI) 221 | - [Entendendo Conceitos Básicos de CRIPTOGRAFIA | Parte 1/2](https://youtu.be/CcU5Kc_FN_4) 222 | - [Entendendo Conceitos Básicos de CRIPTOGRAFIA | Parte 2/2](https://youtu.be/HCHqtpipwu4) 223 | 224 | --- 225 | 226 | ## Aprenda sobre testes 227 | TDD (Test Driven Development), que pode ser traduzido como: desenvolvimento orientado a testes. 228 | 229 | *Garanta que seus projetos serão bem construídos.* 230 | - [Introdução a testes automatizados (TDD) com Ruby | Rodrigo Serradura](https://serradura.github.io/pt-BR/blog/introducao-a-testes-automatizados-com-ruby/) 231 | - [Minitest VS Rspec - Introdução | Rodrigo Serradura](https://serradura.github.io/pt-BR/blog/minitest-vs-rspec/) 232 | - [Minicurso de Testes (RSpec) - OneBitCode](https://youtube.com/playlist?list=PLdDT8if5attGc3fgFsFe5cvV9MwlVFNLW&si=l4uauzJFYyaa7-J5) 233 | 234 | _Busque por mais conhecimento e pratique muito._ 235 | 236 | --- 237 | 238 | ## Message Brokers. 239 | Aprenda sobre as quebras de mensagens, padronizando o 'porque' e escolha uma. 240 | Escolha uma: 241 | - [RabbitMQ](https://www.rabbitmq.com/) 242 | - [Bunny, a Ruby RabbitMQ Client](https://github.com/ruby-amqp/bunny) 243 | - [Kafka](https://kafka.apache.org/) 244 | - [Ruby-Kafka](https://github.com/zendesk/ruby-kafka) 245 | 246 | --- 247 | 248 | ## Search Engine 249 | À 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. 250 | Escolha uma: 251 | - ElasticSearch 252 | - Solr 253 | - Sphinx 254 | 255 | --- 256 | 257 | ## Aprenda como usar o Docker 258 | Corre que é coisa demais! 259 | - [Curso de Docker](https://www.youtube.com/watch?v=0xxHiOSJVe8&list=PLf-O3X2-mxDkiUH0r_BadgtELJ_qyrFJ_) 260 | - [Documentação](https://docs.docker.com/) 261 | 262 | --- 263 | 264 | ## Servidores Web 265 | - [Wikipédia](https://pt.wikipedia.org/wiki/Servidor_web) 266 | 267 | --- 268 | 269 | ## Apenda como usar Web Sockets 270 | 271 | --- 272 | 273 | ## GraphQL 274 | - [Vídeo sobre GraphQL](https://www.youtube.com/watch?v=xbLpIhCsIdg&list=PLVc5bWuiFQ8GgKm5m0cZE6E02amJho94o&index=19]) 275 | 276 | *Agora é com o tempo e as novidades que vier, tenha uma boa sorte e não desista!* 277 | 278 | --- 279 | 280 | Referência: 281 | * [Fábio Akita - Canal Youtube](https://www.youtube.com/channel/UCib793mnUOhWymCh2VJKplQ) 282 | * [Eustaquio Rangel de Oliveira Jr.](https://www.linkedin.com/in/eustaquio-rangel/?originalSubdomain=br) 283 | * [Wikipédia - A enciclopédia livre](https://www.wikipedia.org/) 284 | * [Danilo Aparecido - torneseumprogramador](https://www.torneseumprogramador.com.br/) 285 | * [Jackson Pires - Canal Youtube](https://www.linkedin.com/in/jackson-pires/?originalSubdomain=br) 286 | * [Gabriel Fróes e Vanessa Weber - Código FonteTV](https://www.youtube.com/channel/UCFuIUoyHB12qpYa8Jpxoxow) 287 | * [Rodrigo Serradura](https://serradura.github.io/pt-BR/) 288 | * [Rafael Gomes](https://www.linkedin.com/in/rbgomes/) 289 | * [Diego Araujo - Noob Code](https://www.linkedin.com/in/diego-araujo1985/) 290 | * [Paulo Eduardo Melo](https://www.youtube.com/channel/UCr9w-w_dwEK1pXp1Rec1K6g) 291 | * [GoRails](https://www.youtube.com/c/GorailsTV) 292 | --------------------------------------------------------------------------------