Ruby on Railsのお勉強のこと
概要
Progateの人気すごい。
はじめに
しばらく前にRubyとRuby on Railsを習得しようと勉強しはじめた。 今のところ、やったことは、こんな感じ。
チュートリアルも、なんか難しくなってきて時間かかりそうだし、次のステップどうしよかなーと思ってて、少し調べてみたのでまとめる。 (なんか、うさんくさいなーと思うサイトばかりで疲れた。)
自分のバックグラウンド
ここらへん、なんとなくはわかる。
- C/C++
- Python
- Linux
- HTML/CSS
- JavaScript
- Git
Web アプリケーションフレームワークは使ったことない。 他の言語を知ってる人向けの勉強方法を調べたらいいんかなーという感じ。
勉強方法
いくつか検索した。プログラミング塾っぽいサイトが多い。中級者が作ったっぽいサイトが多い。情報が多いのはうれしいけど、どの情報が信頼性高いのか判断つきにくい。英語の勉強法と同じで、それなりに需要があって、銀の弾丸を求める人が多いからな気がする。調べるの疲れる。騙されたと思ってやってみるべきか、自己流で計画立てて実行していくべきか、効率を考えすぎずにとにかくやってみるべきか。悩ましい。とりあえず、調べた結果を書いておく。
日本Rubyの会
しっかり書かれてて、信頼度高そう。すごくまともに見える。
Rails技術全体図ってのがある。
- セキュリティ
- nginx
- Puma
- Docker
- Kubernetes
- DB
- SQL
- AWS
ここらへん、わからん。勉強すること多すぎ。
本は、(他言語を学んでいた方が)Rubyを学ぶって- ところで、いくつか紹介されてる。「たのしいRuby」と「かんたんRuby」あたりを読んでみよっかな。 Rails Girls - Japaneseってのも勧めてる。 他にも、いろいろ勧めてる。やること多いなぁ。
侍エンジニア塾
【公開】Ruby on Railsが難しい理由と完全学習ロードマップ | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト
このサイトによると、こんなバックグラウンドが必要らしい。
- HTML/CSS
- JavaScript
- SQL
- Command Line
- GIt
SQLは、応用なんとか試験でちょっと勉強したくらい。使ったことない。勉強せなあかんのか・・・。
推奨してる勉強方法はこんな感じ。
確かになんかそれっぽい。
Awesome Ars Academia
初心者がRuby on Railsを勉強するベストプロセス【2018年版】 | Awesome Ars Academia
こっちは、こんな感じ。
ドットインストールは省略していいんかな?
Qiitaの投稿
初心者のためのRuby&Rails勉強フロー - Qiita
同じような感じのこと書いてある
Qiitaの投稿
未経験からRuby on Railsを学んで仕事につなげるまでの1000時間メニュー - Qiita
1000時間もかかるのか。ほぼ無限。ストイックに見えるけど、実際これくらいはかかるんやろうなぁ。 精進しよ。
プロエンジニア(転職サイト)
初心者向けRuby on Rails入門【開発環境から学習方法まで】 | サービス | プロエンジニア
似たようなこと書いてある。 ここでも、Progate。
Progate
むっちゃ勧められてるので、やってみたり、調べてみた。
やってみた
Progate、そんなになのかーと思って、とりあえず、無料のやつやってみた。とりあえず、下記2つの講座をやってみた。使いやすそうやし、ちょっとずつ理解してる感じがしていい感じ。ストレスが少ない。続けられそう。他の言語も勉強できてよさげ。やすいし。課金してみるかという気になった。
- アプリ版 Ruby
- web版 Ruby on Rails5 I
時間
これくらいはかかりそう。何回か繰り返すともっとかかるやろなぁ。しゃあない。一日、2時間しても18日か。時間かかるなぁ。
- Ruby: 6時間くらい
- Ruby on Rails: 30時間くらい
他の人のレビュー
経験者がどう感じてるのか気になって調べてみた。割と高評価っぽいけど、サンプル数が少ない。
現役プログラマーが課金してProgateで学習した - Qiita
プログラミング経験者がProgateでRubyを学んでみた記録【簡単でした】 - エンジニアステップ
それ以前の問題
独学か学校とかで学ぶか。
学校行くの時間的にしんどいので却下。
メンターをどうするか
候補はこれくらい?
- 知り合い
- そういうサービス(MENTA(メンタ)とか)
- 自分でなんとかする
→一応、自分で調べたり、スケジュール立てられるつもりなので、とりあえず、保留。教えてもらえる人とか管理してくれる人いるといい気はするけども。「完全に理解した」から「なにもわからない」フェーズになったら、考えよう。
勉強する目的
なんかこんな感じ。
- WEB系の技術を身につけたら、作れるものの幅が広がる
- インターネットの可能性に期待してるから
- 世の中の仕組みを理解するためにはWEB系の仕組みの理解が必須な気がする
結局、何作る?
何作るか、ある程度決めとかないと、学習結果の残り具合が違うので、こっちを先にはっきりしたほうがいいかも。
抽象的かもやけど、物理的なものと連携するサービス作りたい。 IoT的なサービス。 普段、「デジタル」とか「インターネット」とのインターフェースが、スマホかコンピュータ、スマートスピーカーくらいなので、その他の入出力使って、何かしたい。 デジタルネイティブじゃないからか、アナログなものが好きだから。 他にもっと、そう感じている理由があるきがするけど、またちょいちょい考えてみよう。 具体的に作るものは、考えながら、進めよかな。まずは、簡単に作れそうなものを決めたい。 真面目にアイデア出ししてみよかな。
おわりに
やっぱ、勉強すること多い。大変。 Progateよさげ。「未経験じゃないし、初心者じゃないし、書籍で勉強した方が玄人っぽくてかっこいい」って気持ちもあるけれど、Progateは今風な勉強の仕方で効率がいい気する。お金出して、もうちょい続けてみよっかなー。 並行して、何を作るかのアイデアを固めなあかんなぁ。