Hatena::ブログ(Diary)

メモ帳 RSSフィード

2013-07-28

Ruby Goldに合格しました!

7月21日にRuby技術者認定試験のGoldを受けてきました.
結果は,無事に合格です.

今回は,100点満点中90点とGoldにしてはかなりの高得点でした.
勉強期間は4月からなので約3ヶ月ですが,時間は実質1ヶ月あったぐらいではないでしょうか?
社会人って勉強できる時間少ないですよね;(当たり前)

Gold受験にあたり,参考にした書籍は次のとおりです.

メタプログラミングRuby

メタプログラミングRuby

メタプログラミングRubyはGoldを受ける・受けないにかかわらず,読んでおいて損はないです.(良書)
話言葉形式でスラスラと頭の中に入ってきますし,ちょっと使ってみたい技がたくさん出てきます.
闇プログラマーの仲間入りが出来るかも?

本書には模擬問題がありますが,余り参考にしないほうが良いかも?
全部できて当たり前ではないとGoldは取れないと思います.
範囲の確認程度や最終確認に使用するのがおすすめ

プログラミング言語 Ruby

プログラミング言語 Ruby




Goldの範囲ですが,クラス・モジュールライブラリを理解していて,尚且つオブジェクト思考が分かれば問題なく合格できると思います.

ObjectクラスやModuleクラスは高確率で出ます.
ライブラリではSocketの組み込みクラスやThreadの生成,例外処理の動きなどがよく出てくる印象です.
Marshallのfreeze,dup,cloneメソッドは文章問題として出てきていました.



Ruby1.8系のサポートが終了してしまったので,「そろそろRuby技術者認定試験のバージョンが変わるのではないか?」という噂があります.
本試験はRuby1.8.7ですので,今のうちの受験をおすすめします.
善は急げ!!!!

2013-03-02

Ruby技術者認定試験Silver合格しました!!

2月24日にRuby技術者認定試験のSilver受けてきました!
結果は・・・・・

100点満点中94点!!

無事合格!!!!

2週間という短い準備期間でしたが無事に合格することができました.
合格秘話ということで,参考にした,書籍やサイトなんかを紹介したいと思います.



メソッドの機能や引数戻り値などをちゃんと覚えていなくてもプログラムって書けてしまうので,そこを重点的に覚えなおししていましたね.
実は,「非破壊的メソッドと破壊的メソッドの区別がつかない!!」と頭を抱えてしまいました.(暗記しましたが)

恐らく,Rubyがある程度書ける人出あれば,書籍の後ろに載っている問題を徹底的にやれば合格できるでしょう.
ほぼ,見た事あるような,似たような問題ばかりでした(笑)


次は,Gold頑張る

2013-02-24

rbenvでまだ対応していないRuby2.0.0-p0をrbenvで入れたい人たちへ

2月24日に等々Ruby2.0.0-p0がリリースされました!
お恥ずかしい話ですが,修論とか修論とか修論とかでリリース間近だったの知りませんでした.
あまりにもびっくりしすぎてどっかの喫茶店で,飲み物を吹き出しそうになったのはここだけの話です.

で.早速インストールしようと思いましたが,rbenvのインストール一覧にはもちろんありません.
ruby-build」を更新すれば!とか思いましたが,リリースしてすぐ対応されているわけでもなく・・・・

$ rbenv install
  ・・・
  1.9.3-preview1
  1.9.3-rc1
  2.0.0-dev
  2.0.0-preview1
  ・・・


インストール方法

Ruby2.0.0-p0用の「ruby-build」というものがあるらしく,curlダウンロードしてきて,インストールするだけのようです.



インストール完了!とか思ったら失敗

$ rbenv install 2.0.0-p0                                                                                                                      [~]
Downloading ruby-2.0.0-p0.tar.gz...
-> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz
Installing ruby-2.0.0-p0...
/usr/local/bin/ruby-build: line 308: build_package_verify_openssl: command not found

BUILD FAILED

Inspect or clean up the working tree at /var/folders/n6/5r_577b127lczz3bft7x7jgr0000gn/T/ruby-build.20130225000908.63553
Results logged to /var/folders/n6/5r_577b127lczz3bft7x7jgr0000gn/T/ruby-build.20130225000908.63553.log

Last 10 log lines:
installing manpages:          /Users/shiori/.rbenv/versions/2.0.0-p0/share/man/man1
installing default gems:      /Users/shiori/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0 (build_info, cache, doc, gems, specifications)
                              bigdecimal 1.2.0
                              io-console 0.4.2
                              json 1.7.7
                              minitest 4.3.2
                              psych 2.0.0
                              rake 0.9.6
                              rdoc 4.0.0
                              test-unit 2.0.0.0

build_package_verify_opensslが無いらしいのですが・・・Ruby2.0.0-p0を入れるときに最新版のopensslもインストールされるようなのですよね.
実は,Homebrewインストールしている ruby-build のバージョンが違うことが原因!(詳細:404 not found - あわあわのブログ)
--HEADというオプションを付けてアップグレードします.

$ brew install --HEAD ruby-build
$ rbenv install 2.0.0-p0        
                                                                                                              
Downloading openssl-1.0.1e.tar.gz...
-> https://www.openssl.org/source/openssl-1.0.1e.tar.gz
Installing openssl-1.0.1e...
Installed openssl-1.0.1e to /Users/shiori/.rbenv/versions/2.0.0-p0

Downloading ruby-2.0.0-p0.tar.gz...
-> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz
Installing ruby-2.0.0-p0...
Installed ruby-2.0.0-p0 to /Users/shiori/.rbenv/versions/2.0.0-p0

はい成功!
入れ方は他にもあるようなので(これとか:自分でコンパイルしたRubyをrbenvで管理する(Mac OS X) - Qiita)ヨサゲな方法で入れてRuby2.0の世界を楽しみましょう!

2012-06-27

Ruby で SQLite3 を使う

覚え書きということで.

環境

使い方

require 'sqlite3'

begin
# ファイルが見当たらなければ,新規作成
db = SQLite3::Database.new(ファイル名)

sql = "select * from テーブル名"
result = db.execute(sql)

puts result

rescue
STDERR.puts $!

ensure
db.close

end

2012-06-22

TeX capacity exceeded, sorry [save size=5000]

powerdotでスライドを作成しているのですが,MBAにしてからどうもコンパイルが通らない.
なにやら怪しい文字列が・・・

! TeX capacity exceeded, sorry [save size=5000]

どうやら,「保存サイズが足りないよ」とのことらしい.
詳しくは
「グループの終了時に復元する(各種レジスタなどの)値の保存領域のサイズ」
が足りないようである.(TeX のエラーメッセージ - TeX Wiki参照)

このサイズを増やしてあげれば問題が解決するようなので,「texmf.cnf」を変更してあげる必要がある.
場所がわからなければ,「kpsewhich」コマンドをつかえば,場所を教えてくれる!

$ kpsewhich  texmf.cnf
/xxx/xxx/texmf/web2c/texmf.cnf

texmf.cnfをエディタで開いて,下記の場所を変更すればOK

hyph_size = 8191        % prime number of hyphenation exceptions, >610, <32767.
                         % http;//primes.utm.edu/curios/page.php/8191.html
nest_size = 500         % simultaneous semantic levels (e.g., groups)
max_in_open = 15        % simultaneous input files and error insertions
param_size = 10000      % simultaneous macro parameters
save_size = 10000        % for saving values outside current group
stack_size = 5000       % simultaneous input sources