【前置き】
PHPと共に取得してきたので分けて記事にまとめます。
件名通り取得してきました。正式名称はRuby Association Certified Ruby Programmer Silver version 2.1。資格なんて役に立たないと思ってるが実務経験がないとどこまで求められるかわからない+知識を定量的に示せないということで少し方針転換して取得を狙っていっています。じゃあ行きましょう。
【本題】
[前提]
本人スペック:実務少々でjavaったプチPG、rubyは未経験だがSESから転職目指す。
結果:92/100 合格
勉強時間:40時間くらいでは・・・?
公式サイトより
http://www.ruby.or.jp/ja/certification/examination/
試験時間 | 90 分 |
---|---|
試験方法 | コンピュータ試験(CBT:Computer Based Testing) |
問題数(方式) | 50 問(選択式) |
合格ライン | 75 % |
対象バージョン | Ruby2.1.x |
結構危ないなぁと思った所なぜかJAVAより点数はあって腑に落ちない・・・
[勉強方法]
以前備忘録にも載せたが以下通り。
模擬試験(50問+α)
https://diver.diveintocode.jp/exam#exam-list
ミニツク(60問)
http://www.minituku.net/
公式模擬問題(50問)
https://gist.github.com/sean2121/945035ef2341f0c39bf40762cd8531e0
Ruby公式資格教科書 Ruby技術者認定試験Silver/Gold対応
演習問題30問/模擬試験50問
上記を9割取れていれば行けるんじゃないかと、
さらに私はもうひとつ面白いのを見つけたのでやってみました。
とある資格の勉強会~Ruby技術者認定試験編~
https://play.google.com/store/apps/details?id=jp.ne.poropi.quizapp.ruby&hl=en_US
上記アプリですが、参考書とかで見たような問題がいやらしい感じに改変されており、Silver試験よりクッソ難しいです。ですがアプリで100点取れるのはもう合格出来たと思っていい、なんならゴールドまでぶっとばしてもいい。
途中からメモるのを止めたが覚えないといけないだろう部分をメモったりしてます。
最終的には体が覚えた感じ。
簡易メモ
Map=collect←ブロックを繰り返し新しい配列を返す
find=detect←detectは要素に対してブロックを評価した値が真になった最初の要素を返す
find_all=select←ブロックを繰り返し真になった値の配列を返す
clear←空の配列、ハッシュを返す
chomp⇒文字列末尾の改行文字を削除する(\r \r\n \n)空文字指定した場合全ての改行コードを削除する
chop⇒文字列末尾文字を削除するメソッド
☆IO⇒rewind、seek、gets、read、readline
配列の演算
& ⇒ 両方含まれる
| ⇒ 一つでも含まれているもの
- ⇒ 左を右で引いたもの
- ⇒ 自身同士を足す
<< ⇒ 配列を追加する
deleteは引数の各文字を削除して行く為ご注意
p cc.has_key?('nz')
p cc.key?('nz')
p cc.include?('nz')
p cc.member?('nz')
gets=readlineは1行読み込んで文字列を返す。getsはnil、readlineはEOF
"r" 読み込みモード
"w" 書き込みモード。ファイルが存在していればファイルを空にする。
"a" 書き込みモード。ファイルが存在していれば、ファイルの末尾から追記する。
"r+" 読み書き両用モード。ファイルの先頭から読み書きを行う。
"w+" 読み書き両用モード。ファイルが存在していればファイルを空にする。
"a+" 読み書き両用モード。ファイルの末尾から読み書きを行う。
split+joinは実務的にもよく使いそう
?がついてるメソッドはtrueかfalseを返す。equal?の場合同じ参照かを判定する為注意が必要
inject⇒前ブロックの戻り値を渡す
atime(access time: 最終アクセス時間)はファイルを読み込んだ時に設定されます。
ctime(change time: 最終変更時間)はファイルのメタデータを変更した時、例えばアクセス許可、著作者、ファイル名を変更する時に設定されます。ctimeはファイルの内容を変更された時、mtimeと同じようにさらに変更されます。
mtime(modification time: 最終更新時間)はファイルに含むデータが変更された時に設定され、つまりデータの期間を表します。
IO#readlineメソッド, IO#readlinesメソッド, IO#getメソッドはすべて任意の引数の行区切り文字を受け取ります。
IO#write(1行)、puts(改行追加)、print(ほぼ一行)の違いについて
Filesplitはディレクトリ部分とファイル部分に分割し、末尾からスラッシュを取り除く
odd(奇数)even(偶数)
調べる限り簡単な方の資格に当たるので取得しようとキメて一週間勉強すれば行けるんじゃないかなぁと思います。実務経験ある方は土曜勉強して日曜受けるとかコンビニ行く感覚で行けるんじゃないかな・・・
【後書き】
次はrailsとってrubyセット基礎知識は大丈夫な感じに持って行きたいが結構難しいっぽいんですよねぇ。Silverで20~30%で黒本もあまりマッチしてなくて完全に実務経験者有利な感じ。bronzeで行けそうならさくっと取りに行こうと思います。転職するにしてもポリテク行くにしても仕事辞めたりとか手続き調べないとなのでハロワに訪問行く必要ありそうです。