Ruby覚える新人さんには資格勉強を勧めるよ!!
以前、Rubyを仕事で使うにあたって、
ついでに、Ruby認定技術者試験Silverを受験しまして、
無事合格できたので、簡単ですがこれから受ける方のためにアドバイスを
つらつらと書いていこうと思います。
【準備期間】
約一ヶ月
(Rubyを既に業務で使われている方はもっと短い期間で取得できると思います。)
【使用した参考書】
RUBY技術者認定試験 公式ガイド (ITpro BOOKs)
- 作者: 伊藤忠テクノソリューションズ,Rubyアソシエーション,ITpro
- 出版社/メーカー: 日経BP社
- 発売日: 2009/03/25
- メディア: 単行本
- 購入: 49人 クリック: 595回
- この商品を含むブログ (42件) を見る
→昔から多くの人に使われている公式の参考書。
前半パートの文法はSilverの試験範囲に絞って、掲載されているので、習得の効率が良い。
後半パートの問題集100問は最低2週はやりましょう。
実際の試験問題と同じ問題もよく出てくるので、即答できるものもあります。
Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)
- 作者: 増井雄一郎,小川伸一郎,(株)日立ソリューションズ藁谷修一,川尻剛,牧俊男,Rubyアソシエーション,CTCテクノロジー(株)監修
- 出版社/メーカー: 技術評論社
- 発売日: 2012/02/22
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 204回
- この商品を含むブログ (10件) を見る
参考書としては、SilverとGoldの部分が明確に分かれていないので、正直使いづらいです。
後半の模擬問題集のみ使用しました。
「Ruby技術者認定試験 公式ガイド」の問題を繰り返し解いた後で、解くと自分の実力がわかって良いかも。
文法覚えるなら、「Ruby技術者認定試験 公式ガイド」の参考書をおすすめします。
■リファレンスマニュアル
http://doc.ruby-lang.org/ja/1.8.7/doc/index.html
→これを一番多く読みなおした。
String型、Array型、Hash型、File型、Dir型は必ず2回は読みましょう。
後、どれが破壊的メソッドで非破壊的メソッドかも必ず押さえること。
Rubyの破壊的メソッドは必ずしも「!」が末尾に付いているわけではないので、
ちゃんと覚える必要があります。
そこらへんで引っ掛けてくる問題も多数出題されます。
【よく出る問題】
String型、Array型、Hash型、file型、Dir型のメソッドの使い方。
破壊的、非破壊的メソッド
再定義できないメソッド
strfprintの書式
などなど、過去問を解きまくれば出題傾向もつかめます。
以上です。
Rubyを業務で使うことになったんだけど、文法を覚えるのにモチベーション上がらないって方は
是非とも資格勉強と兼ねてやってやると、ヤル気が出るかも!?
受験料がお高いので、是非一発合格を目指して下さい!!
実践ハイパフォーマンスMySQL 第2版 を読んだ。
- 作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D. Zawodny,Arjen Lentz,Derek J. Balling,伊藤直也(監訳),田中慎司(監訳),吉川英興(監訳),株式会社クイープ
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/12/14
- メディア: 大型本
- 購入: 17人 クリック: 373回
- この商品を含むブログ (46件) を見る
【所管】
MySQLに関する内容が詳しすぎ。
1/3くらいしか読めてないけど、時間を見つけてもっと読みたい。
【読書メモ】
- MySQLはテーブルごとにトランザクションの有無を設定をすることが可能。
- ロックはオーバーヘッドを要求するため、トランザクションを不要とするテーブルはMyISAMを選択すると良い。
- InnoBDトランザクションの分離レベルは「REPEATABLE READ」である。
- MySQLをUPDATEする際はディスクではなく、メモリーの値を更新する。その後、ディスクにシーケンシャルIQにて更新する。その間のクラッシュした際のデータを保証するために、ログ先行書き込みを行う。
- トランザクションテーブルと非トランザクションテーブルを両方を一回のトランザクション内で更新すると、ロールバック時に非トランザクションだけ出来ないので注意すること。つまり、複数のエンジンを一つのトランザクションで管理はできない。
- Nullはカラムに入らないように工夫すること。Nullが必要になるところも他の値で代用できないかを検討する。(パーフォーマンスが上がるため)
- そのカラムにインデックスの使用を考える場合は、NotNullを検討する事。
- 整数に「unsigned」をつけると-2^N 〜 2^N の範囲を0 〜 2^2Nの正の範囲として倍にできる。
- INT(20)は値の有効な範囲を制限するわけではなく、対話ツールが表示目的で確保する文字列を指定する。
- 浮動小数点型の精度はMySQLのデータ型を選択したり、値を丸めたりする。従って,精度ではなく型を選択すると良い。
- TIMESTAMPとDATETIMEの違いは比較。TIMESTAMPを選んだほうがストレージ効率が良い。
- 識別子IDにふさわしい方が何であるか。
- 整数型…AUTO_INCREMENT使える。何であるか。IDにうってつけ。
- ENUMSET…ふつーに使わない。
- 文字列…めっちゃパフォーマンス悪い。
- IDの型は決めたら、関連する外部キーも必ず一緒にすること。(UNSIGNも含め)
インタフェースデザインの心理学 を読んだ。(その1)
インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針
- 作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/07/14
- メディア: 大型本
- 購入: 36人 クリック: 751回
- この商品を含むブログ (27件) を見る
【所管】
人間の仕草や癖から画面にオブジェクトをどのように配置したり、
工夫すればよいか等が丁寧に書かれていて、
デザインやUIを勉強する上でかなりの良書である。
かなりこの本を勧める人多いけど、
納得の内容だった。
【読書メモ】
人はパターンで物事を識別する。
物体の配置は空白やグループ化でまとめることによって、内容の理解を促せる。
→ 説明文をあまり置けないスマホ画面ではまとまりで提示すればそれがどういった意味なのかをユーザに直感的に示すことが可能である。
行わせたい単位で機能をグループ化して、表示すると説明を省略できる部分が生まれるかも知れない。
大体の人間は物体を写生させると斜め上から書く人が多い。
→ スマホで使用するデザインは斜め上くらいからの角度で見る画像が良い。
重要な事柄は画面上部1/3らへんに置く。そして、端には置かない。
→ スマホデザインではヘッダ部分に画面の説明やできる操作を置くとユーザを誘導できる。
見ただけでその物体ができることの理解を促す = アフォーダンスを意識する。
→ スマホではボタンを認知できる様に影をつける等。タブレットでは操作しないと表示されないようなものは使わない。(気づかないから)
人は集中しているときに変化を簡単に見逃す。
→ スマホの画面の一部を変更するときは、なんらかのエフェクトを用意しないと簡単に見逃すため、なるべく、ユーザに合図を送ったほうが良い。
記憶は思い出す度に再構築される。
→ 人の記憶は思い出すごとに再構築されていく。また、その過程で人を誘導することによって、相手の記憶を改ざんすることができてしまう。
情報は少ないほどきちんと処理される。
心的な処理には難しいものと優しいものがある。
→ 情報は段階的に提示したほうがユーザに理解させやすい。一度にたくさんの情報を出すくらいなら、クリックを何回かさせた方が、面倒でもよい。また、ユーザは自分がほしい情報を得ているときは多少の面倒は気にしないものであるらしい。たしかにそうかも知れない。
また、人に負わせる負荷は認知 > 視覚 > 運動なので、一つの画面にあれこれ詰めるよりもクリックを増やした方が良いらしい。
自信がない人ほど自分の考えを主張する。
人は他人から考えを強制されることによって、考えをその強制された方向へ自分の主張を変えることがある。
また、人の信念を変えさせる一番効果的な方法はちょっとした事をやってみるように仕向けてみること。
これは自己啓発セミナー系で自信のない人に「自分はできる人間だー!」と叫ばせることで、だんだんその人が本当に自信をつけていくって話と似ているな。
どっかのブラック企業の研修でも無理やり頑張る自分を演出させて、その通りにだんだん考えを向けさせていく的な。
しかし、人の信念を変えさせる方法は子供や部下の方針を変えさせる手段としてはアリかもしれない。
人は物語を使って情報をうまく処理する。
物語は人が情報を処理するのに適した自然な形式である。
伝える情報がいかに無味乾燥でも、物語をつけると興味深く、記憶しやすいものになる。
これはプレゼンや公演でも使える手段だと思う。
アプリをリリースする際にも説明文で物語を入れるとユーザーも興味を持ってくれるかもしれない。
人は「フロー状態」に入る。
人が集中する状態をフロー状態と呼ぶ。
ゲーム系の設計などではフロー状態にユーザを誘導できれば成功する可能性が上がる
ユーザに明確な目的を持たせて、気が散るものを減らす。
達成可能であるために常にフィードバックを与えて、
それがユーザ自身がコントロールしていると思わせられるような仕組みを作る。
とりあえず、続きはその2で。
iOS Core Data徹底入門 を読んだ。
- 作者: 國居貴浩
- 出版社/メーカー: 秀和システム
- 発売日: 2013/11/01
- メディア: 単行本
- この商品を含むブログ (1件) を見る
【対象】
中級者
【感想】
もっと早く読んでおけばよかった一冊。
データを永続化させるのにファイルから始まって、SQLite、CoreDataを進んでいって、
CoreDataに関してはUndoとかマイグレーションとか割りと深いところまで、
掘り下げて書いてくれるので、iOSで初めてデータベース使ってみたい人は
参考にしてみても良いかも。
ネットの情報とかで勉強するのもいいけど、
こっち読んだほうが数倍早い。
前半のファイル書き出しとかSQLiteのみで永続化とかの部分がかったるいと
思う人は読み飛ばして、CoreDataから見ても良し。
Effective Objective-C 2.0 を読んだ。
- 作者: Matt Galloway
- 出版社/メーカー: 翔泳社
- 発売日: 2013/11/20
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
【対象】
中級者 ~ 上級者
【感想】
プライベートでiOSアプリ作成してるんだけど、
そこで色々悩んだ事柄が結構載ってて、
解決の糸口として大いに役に立った。
定数の管理方法や命名規則などこれ読んどかないと
後々苦労しそうな事も結構あって、助かった。
あと、わりとこれ読んで、
「Objective-C」でメタプログラミングできるじゃん!!
って思ったので、存分に活用してみようと思う。
iPhone/iPad 開発ポケットリファレンス を読んだ。
レベルアップObjective-C を読んだ。
レベルアップ Objective-C (Software Design plus)
- 作者: 沼田哲史
- 出版社/メーカー: 技術評論社
- 発売日: 2013/11/12
- メディア: 大型本
- この商品を含むブログ (1件) を見る
【対象】
初心者 ~ 中級者向け対象
【感想】
Xcodeの基本的な使い方やデバッグのやり方が
丁寧に記載されていて、知らない箇所も多くあったので、非常に有用だった。
メモリ管理やマルチスレッドに関してもわかりやすく書かれているので、
機会を作ってもう一度、見直す予定。