Photo by Gavin St. Ours
こんにちは、谷口です。
「Ruby」と言われると、すぐに「Ruby on Rails」が思い浮かぶ方は多いかと思います。Railsは多数の機能を取り揃えたフレームワークです。生産性が高く、素早くWebサービスを作ることができるため、Webサービスを運営している企業でも多く使われています。
Railsは便利なフレームワークであるがゆえ、「どこで何が起きているか」「こう書くとなぜこう動くのか」といったことを意識しなくてもそれなりのWebサービスを作ることができます。
ただ、いずれはRubyエンジニアを目指して勉強しているのであれば、「何が起きてるのかよくわかんないけど、Rails使ったらそれなりのものができたからいいや」で終わるのはよくありません。使っているフレームワークの構造や裏で何が行われているかをある程度知っておかないと、多少のコードは書けても「おまじない」で終わってしまいます。
実際に、サービスを開発・運用していると、さまざまな不具合やトラブルなどが発生します。そんなとき、「何が起きてるのかよくわかんない」という状態では、どこに不具合の原因が隠れているのか探ったり、「これは恐らくDB側で問題が起きてるな」「この前フロント側に追加した機能が悪さをしてるっぽいな」といった切り分けもできません。
そこで、フレームワークの中で何が行われているかをもう少し学びたい方、実務で通用するレベルまで学びたい方は、Sinatraのような小規模なフレームワークを使って勉強してみることをおすすめします。
Sinatraは、Railsと比べると大変シンプルなRuby用のWebアプリケーションフレームワークです。Railsと比べると機能は少ないですが、そのぶん自分でいろいろと作業したり拡張したりする必要があるため、Webサービス開発に必要な手順を、手を動かしながら学ぶことができます。
というわけで今回は、なるべくコストをかけずにSinatraに触れられて、学習に役立てられるコンテンツを8件ご紹介していきます。
■Sinatraが学べるコンテンツ
◆Udemy:Rails入門:基礎をSinatraで理解しRailsで作れるようになる
※有料
リクエスト・レスポンスのような概念やbundlerやgemなどのRubyの環境の基礎などについて、Sinatraを使って学べるコースです。
◆paizaラーニング Webアプリ開発入門 Sinatra編
※無料チャプター有(一部有料)
paizaラーニングにSinatraの入門講座が追加されました!
paizaラーニングは一回3分程度の動画を見て、ブラウザ上で演習問題を解きながら、Sinatraの使い方について楽しく・効率よく学ぶことができます。未経験者でもブラウザさえあれば、環境構築不要で手を動かしながらSinatraの基礎を習得できます。
◆公式ドキュメント(翻訳版)
sinatra/README.ja.md at master · sinatra/sinatra · GitHub
公式ドキュメントのありがたい日本語訳版がGitHub上で公開されています。
◆Sinatraチュートリアル系記事
Sinatraのチュートリアルにはこういった記事が参考になるかと思います。
◇Sinatraの初心者向け入門 〜簡単にWebサイトを作れるRubyのフレームワーク〜
◇【初心者向け】RubyとSinatra、アンテナサイトの作り方
◇SinatraでとりあえずWebページを立ち上げてみる
◆書籍
◇入門 Sinatra――Web制作のためのシンプルなRuby DSL
※価格:1,836円
www.oreilly.co.jp
オライリー本の電子書籍です。
■まとめ
Sinatraを使ってWeb開発をしてみると、Railsよりも多少の手間はかかりますが、そのぶん必要な手順について深く理解できるかと思います。
フレームワークの使い方は、自分で手を動かして使ってみないことには習得できませんので、実際にモノを作ったりいろいろと試したりしてみるのがよいでしょう。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら