Rubyのスキル証明となる資格、Ruby技術者認定試験制度。Rubyによるシステムを設計・開発・運用するエンジニアやコンサルタント、プログラミング講師などを対象とした認定システムです。
Ruby技術者認定試験にはSilverとGoldの2階級があり、Silverが「基礎レベル」、Goldが「応用レベル」にあたります。
今回は認定試験の入り口となる、Silverレベルの攻略法をお教えします!
(試験要綱などに記載されている基本的な注意事項等については、ここでは触れません。)
Silverの試験範囲と難易度、勉強法
「Silverは基礎レベル」と言われているため、「どうせ大したことない」と思われがちですが、そのようなことはありません。Silverで求められる能力は、「適切に動くコードが書けること」。Silverレベルのスキルがあれば、開発メンバーとして十分な戦力となります。舐めてかかると痛い目を見るので注意しましょう。
Silverの試験範囲は、基本的な文法や組み込みライブラリ、標準ライブラリなどです。実際の開発でよく使われるメソッドは一通り出題されます。
試験勉強をする際は、必ず自前の開発環境を用意しましょう。参考書とにらめっこするだけではなく、実際にコードを書いて動作確認することが大切です。面倒かもしれませんが、勉強中に湧いて出た疑問点は、実際にコードを動かすことでほとんど解決出来ます。
自宅のPCにIRB(インタラクティブRuby)等をインストールして、開発環境を構築するところから始めてください。
勉強前に対象バージョンを必ずチェックすること!
Rubyは大変完成度の高い言語ですが、より使いやすく、より綺麗なコードが書けるように、日々進化を続けています。そのため、定期的なバージョンアップが繰り返されており、その度に新しいメソッドが増えたり、パラメーターが変更されたり、処理結果が変化したりしているのです。
例えば、以下のコードはVer.1.8では構文エラーとなりますが、Ver.1.9以降であれば正常に動作します。
object .method() # メソッド呼び出し前に改行が入っている
また、to_sメソッドの動作もVer.1.8とVer.1.9以降では大きく異なります。
# コード puts {"key1" => "value1", "key2" => "value2", "key3" => "value3"} # 1.8の出力結果 # key3value3key2value2key1value1 # 1.9の出力結果 # {"key1"=>"value1", "key2"=>"value2", "key3"=>"value3"}
現在(2017年1月)の試験対象バージョンは2.1.xです。試験中にパニックを起こさないためにも、対象バージョンを必ず確認しておきましょう。
絶対に押さえておきたいクラス
基本的なクラスはほぼ万遍なく出題されますが、特にHash、Array、Stringの3クラスは重点的に勉強しておきましょう。これらを押さえておけば高得点を狙えますが、逆に言えば、これらが頭に入っていないとズタボロの結果になってしまいます。
実際にIRBで動作をチェックしたり、メソッドと処理結果をノートにまとめるなどして、確実に頭に入れておくようにしましょう。
超頻出①!同じ動きをするメソッド
プログラミングにおいて、ある特定の処理を実装するためのコードの書き方は一通りではありません。Rubyは特にその傾向が強い言語で、「名称は違うが、全く同じ処理結果を得られるメソッド」というものがたくさん存在します。
例えば、以下のメソッドはよく出題されるので要チェックです。
同じ動作をするメソッド
実際の試験では、「以下の○つのコードのうち、全く同じ意味であるものをすべて選択してください(△つ選択)」といった形式で出題されます。
超頻出②!破壊的メソッドと非破壊的メソッドの処理結果を見極める
Ruby特有の考え方に、「破壊的メソッド」というものがあります。破壊的メソッドとは、元のオブジェクトの内容を変更してしまうメソッドのことで、以下のような処理結果を得られます。
s = "hello" # chop: 文字列の末尾を削除するメソッド # 非破壊的メソッドを使った場合 p s.chop # "hell" p s # "hello" : 元のオブジェクトの中身は変わらない # 破壊的メソッドを使った場合 p s.chop! # "hell" p s # "hell" : 元のオブジェクトの中身が変わってしまう
基本的にはメソッドの末尾に「!」が付いていれば破壊的メソッドと判断して良いのですが、中には「!」が付いていない破壊的メソッドもあるので注意が必要です。例えば、Stringクラスのinsertやreplace、Arrayクラスのpushやconcat、delete、Hashクラスのdeleteやreplace、shiftなどがよく出題されます。
実際の試験では、それぞれのメソッドの処理結果が頭に入っていなければ解けない問題も多々あります。実際にコードを書いて、結果を目で見て確認しておくようにしましょう。
意外な盲点!Rubyの歴史
参考書の頭に必ず掲載されているRubyの歴史。本の筆者には申し訳ないのですが、恐らくほとんどの人が読み飛ばしている部分かと思います。
しかし、Rubyの歴史は意外と出題されるので、試験前に1度は目を通しておくようにしてください。熱心に読み込んで暗記する必要はありません。ざっくりと「Rubyってこんな経緯で開発されたんだな」ということが理解出来ていれば十分です。
ここを読んでいなかったばかりに、確実に取れる1問を逃してしまうのはもったいないですよ!
おすすめ
➡初心者でも大丈夫!評判の良いRubyスクール7選
➡Rubyを勉強できる学習サイト5つまとめ