Moungene's Dairy

Tech系の情報を共有します

「ProgateのRubyコース、Ruby on Rails5コース」の感想

夏休みを利用してwebアプリ開発をやってみようと思い、とっかかりとしてProgateのRubyコースとRuby on Rails5コースをやってみた感想です。

Rubyコース:https://prog-8.com/courses/ruby.
Ruby on Rails5コース:https://prog-8.com/courses/rails5.

本当はプライベートな時間の投資対効果を考えてGolangを使ってwebアプリ開発をやりたかったのですが、webアプリを作ったことがない人がいきなりGo言語で実装するのは難しいという情報がネットにあったので、初心者でも扱いやすく、現時点で企業で採用されている数も多いRuby / Ruby on Railsでwebアプリを実装することにしました。
基本を勉強するには、ProgateのRubyコースとRuby on Rails5コースをやった後、Railsチュートリアルに取り組むのがおすすめとあったのでその通りやってみたという感じです。

1日くらいでさくっと終わらせてRailsチュートリアルに取り組もうと思っていたのですが、予想以上に時間がかかりました。。
ざっと、Rubyコースで半日間、Ruby on Railsコースで2日間くらいかかりました。。(レッスン選択画面に各レッスンの目安時間が書いてあるのですが、集中して取り組めば目安時間の半分ほどでは終わります).

.............................................
以下、感想です。

RubyPythonと似ている

普段、業務でc++pythonを使っているのですが、pythonとほぼ同じ文法やなーと思いながらレッスンを進めていました。
コースやっていく中で気になった違いは以下二つです。

  • ifやdefの最後にendをつけないといけない

コースを進める中で、条件分岐や関数実装の際にendをつけ忘れて、エラー多発しました。。

  • シンボルという概念

下の記事がシンボルの使い方をわかりやすく説明してくれていました。
【Ruby入門】コロン記号の意味とシンボルのやさしいまとめ! | 侍エンジニアブログ

RubyPythonの違いをまとめた記事です。他にも色々と違いはありそうですね。 https://www.ruby-lang.org/ja/documentation/ruby-from-other-languages/to-ruby-from-python/

webアプリをつくるのは楽しい

仕事ではc++で画像処理やDeepの処理をを高速化したり、Deepの処理から得られるデータをpythonで分析したりするのがメインなので、UIのあるアプリを作ったのは初めてでした。UIができあがっていくのは楽しいですね。
特にログイン機能をつけた後くらいから、そうやってログインしていないユーザーをはじいているんだなーなど学びが多く面白かったです(マリオメーカーのギミックを作る感覚?).
Progateのレッスン構成などの仕組みも相まって、ガンガン進められました。

railsは面倒な部分をかなり自動化してくれているんだろうなー

railsが自動化してくれているから細かいことを気にせずにガンガン開発できているんだろうなーと感じながら進めていました。
一番初めに実行するrails new tweetappというコマンドが優秀で、これを実施することでMVCフレームワークの雛形みたいなものができて簡単に進められているんだろうと思っています。Golangになるとこの辺も気にしないといけなくなって難しいのかなと思っていました。

最後に

webアプリをつくるために必要なスキルがざっとつけられるようなコースでした。
webアプリを作ったことがない人が取り組むのはかなりおすすめだと思います。
RailsチュートリアルTwitterライクなアプリを作ると書いてあったので、共通する部分も多いのかなと思いつつ、より詳細なRailsの仕組みまで掘り下げられるのかなと思っています。これからRailsチュートリアルに取り掛かります。