MVCアーキテクチャをわかったつもりになりました

Railsでは、MVCアーキテクチャという設計法が採用されているので、MVCアーキテクチャを勉強しています。

M(モデル)
データベースに収めたデータ。およびデータの書式などのルール(アプリケーション固有の処理)。
 ・ActiveRecordの基本的な操作
 ・バリデーション
 ・コールバック

C(コントローラ)
ユーザの操作に基づき、モデルとビューを制御する。(アプリケーションの処理を制御するわけではない。)
 ・ブラウザからの入力を受け取る
 ・データをモデルに要求する
 ・データの追加や変更をモデルに指示する
 ・適切なビューを選ぶ
 ・データをビューに渡す
 ・脆弱性へ対処する

V(ビュー)
ユーザに見せるインターフェース。
 ・受け取ったモデルを表示する
 ・テンプレートエンジン、ヘルパーなどのフォーマットで表示する

Railsコンポーネント
モデル     ー Active Record
ビュー     ーAction View
コントローラ  ー Action Controller

大事なこと
アプリケーションの主要なロジックはなるべくモデルに書かなければなりません。リファクタリングやテストの容易さがメリットです。

概念的な部分もしっかり押さえていきたいです!

Ruby on Railsを使い始めて2日経過しました

Ruby on Railsを勉強する際に注意しているのは本質を理解しようとすることです。

Railsだと、少し書いただけで自動的的にドバっとコードが生成されて、正確に理解していなくても作りたいものができてしまいます。*1そのため、自動的に生成された部分も意味をできるだけ理解するよう注意しています。

 まず、Rails Webookというブログで勉強し始めました。

ruby-rails.hatenadiary.com

読んだだけでは理解できず、手を動かしては読み、手を動かしては読みを繰り返しました。「ここに書かれていることは当たり前のことばかりだ」と感じられるように電車の中で、何度も読み返しています。

「4. 投稿機能を作成する」を勉強しているとき、一瞬こんな感じになりました。

f:id:Takanori11:20150903231213g:plain

かし、焦らず、時間をかけるとほぼ理解できました。Ruby on Railsの考え方が自分自身に染みわたる(?)まで、我慢です。

 

上記の内容をひと通り終えたので、次は『パーフェクト Ruby on Rails』で勉強しています。

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

 

 まだ、2章の途中です。まずは地道に「サンプルを写経しては、自分でアレンジしてみる」を繰り返そうと思っています。『パーフェクト Ruby on Rails』の6章くらいまで終えたら、自分で考えたものを作ってみます。

 

とりあえずRuby on Rails楽しいです。

注意すべきことや、よい勉強法を教えて下さい〜

*1:できないこともあります。

Ruby技術者認定試験Silver version 2.1の勉強方法(初心者用)

Ruby初心者を対象にしています。

 

以下の1〜3の順に学習しました。

1.Progate(Ruby基礎編・応用編

2.Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

3.Ruby AssociationのRuby技術者認定試験改訂のお知らせ

 

1.ProgateのRuby基礎編・応用編をそれぞれ2周ずつしました。*1

f:id:Takanori11:20150831204259p:plain

Progateの良い点

・手を動かしながら学べる

・1つ1つのレッスンが短く、要点を理解しやすい

・ブラウザのみで完結してる*2

・見やすい

・公式のキャラクターがなんかいい

f:id:Takanori11:20150831205535j:plain

 Progateは網羅的でないので、別に書籍などを利用して補う必要があります。

 

2.Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

 

 参考書的なページと演習問題のページに別れています。私の進め方は「Silverの出題範囲をざっと読み、演習問題を解く、間違えた箇所は参考書的なページで復習する」という至って普通の進め方です。復習の際はサンプルを写経したり、自分でアレンジしたりしていました。

ただ、Silverの演習問題は70問でやや物足りない(?)気がしました。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー2015/9/1追記

公式サイトに模擬問題が50問もあるようです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)は試験内容の改定*3に対応してないので、今後、買うなら下のRuby技術者認定試験合格教本 Silver/Gold対応 Ruby公式資格教科書が良いと思います。

Ruby技術者認定試験合格教本 Silver/Gold対応 Ruby公式資格教科書

Ruby技術者認定試験合格教本 Silver/Gold対応 Ruby公式資格教科書

 

この本を買ってれば、Ruby AssociationのRuby技術者認定試験改訂のお知らせを読まなくてよかったです。

 

3.Ruby AssociationのRuby技術者認定試験改訂のお知らせを試験の直前に見ました。

Ruby 1.8 からRuby 2.1 の変更点は以下のとおりです。

• 多言語化
リテラル
• キーワード引数
• 新しいラムダ式
• Enumerable#lazy
• Fiber
• Module#prepend
• Refinements

 多言語化から2,3問出題されていた気がします。

 

本日(2015年8月31日)、Ruby技術者認定試験Silverに合格しました。正直、資格とかどうでもいいけど、継続してRuby勉強します。

 

 

*1:星が2つ付いてるのが証拠

*2:開発環境の構築などの初心者にとって難しいことをしなくてよい

*3:2014年10月8日改定

社会人2年目の文系SEがSIerからWeb系の企業に転職する際に行ったこと

「Rebuild.fmを聞く」です。

 Rebuild.fmとは皆さんご存知のTatsuhiko MiyagawaさんのPodcastです。

rebuild.fm

技術的なことや業界の様子がなんとなくわかります。理解できない内容も多々ありますが、毎週楽しみに聞いています。

新しい情報をキャッチアップできるだけではなく、モチベーションが結構上がります。

 

SIerからWeb系の企業に転職します

社会人2年目です。SIerを辞めて、Web系の企業に転職することになりました。

大学の就活のときから、Web系には興味ありました。「新卒でWeb系に行っとけよ」という話ですが、文系でプログラミングスキルがなかったので、研修が整っている大きめのSIerに就職してみました。実際、文系(スキルなし)だと、Web系とかベンチャーとかスタートアップに新卒で就職しようとしても、エンジニアの募集がほとんどなく、営業とか企画みたいな職種ばかりだったような気がします。


今までの仕事
金融系SIerにて生命保険会社の営業職員の販売活動を支援するシステムを開発してました。ウォーターフォールモデルでいう外部設計、内部設計、詳細設計、単体テスト結合テストシステムテストあたりを担当していました。

 

転職しようと思った理由
新しい技術いろいろ試して技術的にスキルアップしたいし、モダンな開発がしたいし、調整ばっかりめんどくさいし、コーディングしたいし、BtoCのサービスに携わりたいし、私服で働きたいし、Excelとか使いたくないし、etc. 

 

転職活動
新卒のときに使ったリク◯ビやマ◯ナビは使ってません。Wan◯edlyで2社応募しました。
転職活動の期間はエントリー始めてから、2〜3週間くらいです。第二新卒ではなく、キャリア採用していただきました。
スキルは乏しいですが、短期間で資格を取ったり、プライベートで比較的新しい技術に触れたりしていたので、「大学でコンピューターサイエンスを専攻していなかった割に、社会人になって頑張ってるな」と思ってもらえたことが採用に繋がったのではないかと考えています。
個人的に「資格とか、どうでもいいし」って思ってますが、ある程度のスキル(?)とかやる気は証明できるのではないでしょうか。

 

今後の目標
カンファレンスとか勉強会とか行きます!
OSSで活動します!