情報セキュリティスペシャリストに合格した

もう合格発表から約1ヶ月経つけど、平成25年秋の情報セキュリティスペシャリスト試験に合格した。

午前I 免除、午前II 満点、午後I 66点、午後II 61点のぎりぎり合格。午前と午後のギャップが激しかった。

合格発表まで、今回は落ちたと思っていた。解答速報では合っていたと思っていたものが、公式の解答では間違っていたという問題がけっこうあったので。
だから、合格発表で自分の番号を見つけた時は目を疑った。公式解答と違うものについても部分点をもらえのか、配点で上手い具合に高得点のものを正解できていたのか、どっちだったのだろう。

使った教材は以下。定番すぎてあまり参考にならないかも。

これらに加えて、IPAの『IPA対策のしおり』、『2013年版 10大脅威 身近に忍び寄る脅威』、『IPA セキュア・プログラミング講座』なんかを読んだ。

ポケットスタディについては、これだけを暗記して合格したと言う人もいるみたいだけど、自分の場合、評判ほどには役に立たなかったように思う。
オリジナル問題集についても、公式の問題ではないので、こんな問題出るのだろうかと疑いながら解いてしまうのと、問題が技術寄りすぎる気がして途中までしかやらなかった。
そういうわけで、基本は教科書と過去問だったように思う。

FE、AP、高度と取って、情報処理技術者試験についてはひとまず満足できたので、次はOracleJava資格を目指してみたい。Bronzeは少し易しすぎるように感じるので、Bronzeは飛ばしてSilverを狙ってみようと思う。

2013/12 勉強振り返り

年末年始に体調を崩していて、ブログを書く余裕がなかったのだけど、ようやく落ち着いたのでかなり遅れてのエントリー。

スマートにプログラミング Android入門編 第3版

読了。BNR本と違って、サンプルコードは機能を理解するための最小限のコードなので、出来上がるアプリは実用的とは言えず、やっていて少し面白みに欠けたかもしれない。まあインテントやサービス、コンテントプロバイダといった基本は習得できたので、次のステップに進みたい。

スマートにプログラミング Android入門編 第3版 SDK4.x対応

スマートにプログラミング Android入門編 第3版 SDK4.x対応

Coursera - Creative, Serious and Playful Science of Android Apps

Courseraで2013/12/02に始まったこのAndroidのコースを受講してみている。
Creative, Serious and Playful Science of Android Apps | Coursera

内容的にはかなり初歩的で、高度な専門科目が並ぶCourseraの中では珍しいコースかもしれない。講師のLawrence Angrave教授がとても楽しそうに教えてくれるので、こちらも楽しく学ぶことができている。
Courseraはまだどのコースも修了したことがないので、Courseraに慣れる意味でも受けてみているのだけど、Udacityで受けてきたコースと違って、講義のあとに、クイズだけでなく、アプリを提出してそれを受講者同士で評価し合うフェイズがあったりしてけっこう面白い。あとは、自分のペースで進められるUdacityのコースと違って、毎週課題に締め切りがあるのでけっこう大変。コースのために時間をきちんと作っていく必要がある。

今のところ楽しんで受講できているので、他のコースにも時間に余裕があれば手を出していきたい。

The Java Tutorials

継続中。現在はクラスとオブジェクトについて。

CodingBat

こちらも継続中。なかなか時間が取れなかった。

2013/11 勉強振り返り

Android Programming: The Big Nerd Ranch Guide

今月はこれ中心…だったのだけど途中で挫折してしまった。
自分で課題を解いてコードを書くChallengeがところどころで入るのだけど、最初の方はそこまで難しくなかったのに、途中からは難易度が上がってほとんど自力で解くことができず、公式フォーラムの他の人の解決策を見て写すだけになってしまった。
Fragmentを全てのActivityに使っているのがこの本の特徴なのだけど、それが理解を難しくしている原因かもしれない。Activityだけでけっこうヒイヒイな状態なのに、Fragmentが入ることで、FragmentManagerがどうのとか、back stackがどうのとか、覚えることが多くなってしまうので。
そういうわけで挫折してしまったので、まずは他のもっと簡単な教材を買って、それからまた戻ってくることにした。

Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)

Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)

mixi-inc/AndroidTraining

BNR本に挫折したあと、mixiが公開している研修用の資料を試してみたのだけど、こちらも難しくて挫折。
これが新人研修に使われてるなんてレベルが高すぎるよ…。

The Java Tutorials

BNR Android本をやっていて、File I/Oのあたりをよく理解できていないことが解ったので、Javaの勉強をやり直し。Oracleの公式チュートリアルを使うことにした。
合間合間に質問と演習が入る形になっているので、知識の定着を確認しながら学習できていい感じ。なによりOracle公式だという安心感がある。
Java本だとAndroid開発者向けに『AndroidエンジニアのためのモダンJava』っていう本も出ているようで気になっている。

AndroidエンジニアのためのモダンJava

AndroidエンジニアのためのモダンJava

CodingBat

基礎的なプログラミング力が足りてないと感じたのでCodingBatを始めた。勉強を始める前の準備体操としてやっていこうと思う。

Head First Design Patterns

こちらもBNR Android本を読んでいるとSingletonパターンが出てきたため、この機会にデザインパターンを勉強するかということで、買っておいたこの本を始めてみた。ただ最初の方を少し読んだあと放置中。

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本

スマートにプログラミング Android入門編 第3版

BNR本に変わる教材を色々検討してみた結果、各章に演習が用意されているこの本を選んだ。
日本語だし図と画像が豊富だし、BNR本に比べてなんと読みやすいことか。
背伸びせずにレベルにあった教材を選ばないとだめだなと思った。

スマートにプログラミング Android入門編 第3版 SDK4.x対応

スマートにプログラミング Android入門編 第3版 SDK4.x対応

【Android開発】【Eclipse】Graphical LayoutでPropertiesの値が編集できない場合の解決法

問題

EclipseでレイアウトXMLをGraphical Layoutで開いた時、Propertiesを編集しようとして値の欄をクリックしても選択できない。

解決法

f:id:tkykhk:20131117203845p:plain

上の画像に示した位置にあるドロイド君アイコンをクリックして、レイアウトの描画に使うバージョンをAPI 18以下に下げれば回避できる。

既知の問題なようなのでいずれ修正されるはず。

参考:
Eclipse Community Forums: Java Development Tools (JDT) » Property view not usable

Git for Windows 1.8.4以降で日本語入力が出来ない場合は~/.inputrcが原因かも

問題

Git for Windowsは1.8.4からUnicodeがサポートされて、日本語入力が出来るようになったはずなのに、自分の環境では日本語を入力しようとすると、変換を確定した際にビープ音が鳴ったあと入力が破棄されてしまい日本語入力ができなかった。

対処法

Cygwinなどによりホームディレクトリ*1に.inputrcが作られている場合、それを削除、もしくは移動すれば日本語入力できるようになった。自分は念のためバックアップフォルダを作り、その中に退避させた。

==2013/11/11追記==
Cygwinのホームディレクトリはデフォルトだと\Users\<ユーザー名>ではない。自分の環境ではそこに設定していたのを忘れていた。
==追記ここまで==

Cygwinのセットアップ時に作られた.inputrcの中の設定のどれかが原因かと思ったら、中身が空の.inputrcでも入力できなくなったので、根本的な原因はよく解らない。

*1:\Users\<ユーザー名>\

2013/10 勉強振り返り

情報セキュリティスペシャリスト

10/20の試験に向けての最終追い込み。教科書の2周目と、午後問を平成25年度春期~平成24年度秋期までやった。平成25年度春期と平成24年度秋期は2周した。もうちょっと午後対策の時間が欲しかったかも。

解答速報で自己採点してみた感じだと、午前IIは問題なく突破していたけど、午後の方は微妙なので、受かってる確率は半々といった感じ。もし受かってたらもう情報処理技術者試験の勉強はやらずに開発の勉強に集中したい。

Android Training

Google公式のチュートリアルなのだけど、載っているサンプルコードはその機能を説明する断片だけで、実際に動くアプリが作れるわけではなく、やっていてあまり面白くなかったので、いったん他の入門教材で学習してからまた戻ってくることにした。
Getting Started | Android Developers

Android Programming: The Big Nerd Ranch Guide

何かいい教材が無いか探してみたところ、この本自体の評価に加え、同じところが出しているiOSObjective-Cの教本の評価が高かったのと、今年の4月に出たばかりで内容が新しいことから購入した。GeoQuizという地理のクイズアプリを作る最初の2章まで進めたところだけど、やはり実際に動くアプリを作るのは楽しい。
Listenerにanonymous inner classを使っていたり、MVCモデルを用いてAndroidアーキテクチャを説明していたり、少し独特なところがあるのは少し気になるけど。

Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)

Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)

ドットインストール

git入門を復習。The Big Nerd Ranch本のコードを家と学校で同期できるようにGitで管理しようと思ったので。最初の頃はちんぷんかんぷんだったけど、ようやくbranchやmergeとか、いきなりcommitせずにaddするっていう考え方が解ってきた気がする。

【Eclipse】Gitプロジェクトをコピーする場合は先にコピー元プロジェクトでDisconnectする

問題

EclipseでEGitを使ってTeam -> Share ProjectからGitを有効にしたプロジェクトを、Copyして別のプロジェクトとして使おうと思ったのだけど、コピー先のプロジェクトでTeamメニューがSynchronize Workspaceだけしか選べなくなり上手くいかなかった。

対処法

まずコピー元プロジェクトでTeam -> Disconnectしてからコピーする。そのあとコピー元とコピー先のプロジェクトでTeam -> Share Projectすればよかった。

参考:
Eclipse Community Forums: Newcomers » Copying A Project in Eclipse and CVS