Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

大川祐介

2,547 views

Published on

Ruby初心者!

  • Be the first to comment

大川祐介

  1. 1. Ruby 初心者! 大川祐介
  2. 2. Ruby について感じたことの項目 <ul><li>穴埋め式プログラミング </li></ul><ul><li>メタプログラミング </li></ul><ul><li>ブロック構文(ブロック付きメソッド:イテレータ) </li></ul><ul><li>リソースのスコープによる管理 </li></ul><ul><li>安全性の確保 </li></ul><ul><li>開発の容易性(柔軟性) </li></ul><ul><li>Perl 譲りの強力な正規表現 </li></ul><ul><li>Java との互換性 </li></ul><ul><li>なんてったって Ruby on Rails ! </li></ul>
  3. 3. 穴埋め式プログラミング <ul><li>メタプログラミングやブロック構文などにより、段階的に分けた開発が容易になった。 </li></ul><ul><li>開発者のレベルにより、タスクを効率よく分散し、チームレベルでの効率アップに繋がる。 </li></ul><ul><li>新人等の教育も兼ねた実践投入に良いのでは? </li></ul>
  4. 5. メタプログラミング <ul><li>Get 、 Set などを既に定義されているマクロの様なメソッド群? </li></ul><ul><li>C# で言うところのプロパティが既に公開されている感じ?( C# ではさらに Get 、 Set にアクセスレベルも設けられる) </li></ul><ul><li>ライブラリとして既に色々な機能が実装され、提供されている所が気に入った。 </li></ul><ul><li>C++ でのテンプレートメタプログラミング の事。(こちらに関しては、コンパイラ依存がある為、移植性に問題が出やすい) </li></ul>
  5. 7. ブロック構文 (ブロック付きメソッド:イテレータ) <ul><li>既にある特定の動作を保証しつつ、追加処理を加えることができる。 </li></ul><ul><li>イメージとしてはoverride? </li></ul><ul><li>それらが、ライブラリとして提供されている。 </li></ul><ul><li>もちろんの事、自作のイテレータをライブラリとして提供する事ができる。 </li></ul>
  6. 10. リソースのスコープによる管理 <ul><li>基本的には、 C# と同じと感じた。 </li></ul><ul><li>しかし、 C# も Java と同じくガベージコレクション頼みの開放の為、プログラマが管理しづらい仕様となっている。 </li></ul><ul><li>その点、 Ruby はガベージコレクションの機能も備えつつ、プログラマが容易にリソースを管理出来るようになっている。( C++ のスマートポインタ) </li></ul><ul><li>まさしく、良いとこ取りだと感じた。 </li></ul>
  7. 11. 安全性の確保 <ul><li>安全性を高める為に、わざと問題を起こし辛くしている。 </li></ul><ul><li>ファイナライザ(デストラクタの様なもの)を誤って修正し、ガベージコレクションによる不意の開放時のエラーを起こし辛くしている。 </li></ul>
  8. 12. 開発の容易性(柔軟性) <ul><li>現在主流になりつつある、アジャイル方式などの短期リリースなどに対応可能。 </li></ul><ul><li>より早くユーザーの意見(指摘)を聞く事ができる為、リスクを最小限に抑えることができる。 </li></ul>
  9. 13. Perl 譲りの強力な正規表現 <ul><li>私個人は苦手だが、正規表現を使うことにより、コードの簡略化が図れる。 </li></ul><ul><li>ファイル処理に対して絶大な威力を発揮する。 </li></ul>
  10. 14. Java との互換性 <ul><li>Javaで提供されている機能を使う為のライブラリが提供されている。(RubyJavaBridge) </li></ul><ul><li>逆にJavaの中でRubyを使うことの出来るJRubyも提供されている。 ←Java仮想マシン上で動作できるRuby。よってUnixも対応可。 </li></ul>
  11. 15. なんてたって Ruby on Rails ! <ul><li>Rubyの名を世間に知らしめたもの。(Webアプリケーション用フレームワーク) </li></ul><ul><li>様々な機能を提供してくれるライブラリ。 </li></ul><ul><li>有用なプラグインが多数公開されている。 </li></ul><ul><li>ちょっとしたコマンド実行で、最低限の実装が終わってしまう。 </li></ul>
  12. 16. Railsの特徴 <ul><li>DRY ( Don't Repeat Yourself )の原則:同じことの繰り返しや、コードの重複を排する。 </li></ul><ul><li>フルスタック: Web サーバー、テストツール、ベンチマークツール、コードジェネレータ、デバッグ用ツールなど開発に必要な物が揃っている。 </li></ul><ul><li>設定よりも規約( Convention over Configuration ):規約を課す事により設定項目の省略を図る。(レールに乗る:制約に従う事により、冗長性が排除され開発効率が上がる。制約が自由をもたらすという逆転の発想。) </li></ul>

×