2014/01 勉強振り返り: Courseraにハマりつつある

今までこのブログは「である」調で書いてきましたが、このエントリーから「です・ます」調に変えていこうと思います。読み手に与える印象もそうですが、書きやすさの面でも、文章を書き慣れていないためか、「である」調は少し書きにくさを感じていたためです。

では1月の勉強を振り返りたいと思います。

Coursera - Creative, Serious and Playful Science of Android Apps

先月に引き続き受けています。イリノイ州地元の女性ミュージシャンと一緒に、その人の曲を使ってMediaPlayerやActivityのライフサイクルなどについて習う回が面白かったです。

5週目までがAndroid Developer Trackで、ここまでで合格点を取っていれば、Statement of Accomplishmentという修了書はもらえるみたいですが、やっていて楽しいので、このまま6週目以降のComputer Science & Programming Trackも受けてみようと思います。今まではほとんどコードを書きませんでしたが、ここからは条件分岐とかJava APIの使用など本格的なプログラミングが入ってくるようです。

Creative, Serious and Playful Science of Android Apps | Coursera

Coursera - Programming Mobile Applications for Android Handheld Systems

上のコースと違ってお堅い雰囲気です。まずはAndroidの構成要素から始まって、Activity、Service、Content Provider、Broadcast Receiverと掘り下げていくようです。ついていけるかどうか少し不安ですが、2週目まで受けたところまでは既に大体知っている内容なので、ついていけています。新しい要素が入ってきた時が頑張りどころになりそうです。

先日CourseraでSpecializationという、複数の関連するコースをひとまとめにしたものが新たにスタートしたのですが、このコースもMobile Cloud Computing with AndroidというSpecializationに入っています。これを取得してみようかと検討中です。
Specializationを取得するには、各コースでSignature Trackという有料のオプションに参加し、証明付き修了書を取得したあと、Capstone projectという最終プロジェクトを完了する必要があります。 それぞれ$49と安い値段ではありませんが、本1冊 + αの値段で一流大学の講義が受けられると考えれば高くはないかなと思います。なによりお金を払っているからには最後までやらなければというモチベーションになるのではないかと思います。実際にSignature Trackに参加している受講者はそうでない受講者に比べて修了率が高いそうです。

まずはこのコースだけでもSignature Trackに参加して、しっかり最後までやり遂げてみようと思います。

Programming Mobile Applications for Android Handheld Systems | Coursera

炎のAndroid開発道場

入門書の次に読む本という触れ込みに惹かれて購入しました。

初めは最初から読み進めていたのですが、パフォーマンスなどは今の自分のレベルだと内容的にまだ早いかなと感じたので、第4章の途中まで読んだところで切り上げて、使えそうなところだけを拾い読みしました。 その中でも第8章のEclipseの使い方は参考になりました。Quick FixやQuick Assistはあまり使っていなかったのですが、これからは積極的に使っていこうと思います。

いくつかアプリを開発してみたあとで、また読み直したいと思います。

炎のAndroid開発道場

炎のAndroid開発道場

オラクル認定資格教科書 Javaプログラマ Silver SE 7

FE -> AP -> SCと取れたので、次の資格は何がいいかと考えた時に、どうせJavaやってるんだし、それだったらオラクルのJavaの資格でも取っておこうかと思い勉強を始めました。
本当は資格の勉強なんかせずに、実際に何かアプリを作ったりと実践的なことに集中したいのですが、学校の関係上なにかしら資格の勉強をしなければいけないことになっているので、渋々やっています。

内容的には基本的なことなのであまり問題はない感じです。巻末の模擬試験でも安全圏の点数を取れたので、近いうちに受けてみようと思います。

オラクル認定資格教科書 Javaプログラマ Silver SE 7

オラクル認定資格教科書 Javaプログラマ Silver SE 7

Courseraで一連のAndroidコースが2014/01/21からスタート

Courseraでメリーランド大学とヴァンダービルト大学による、機関をまたいだ一連のAndroidコースがスタートするみたい。

これら3つのコースに加えて、総仕上げとして、これまでに習ったことを実践する"マスターコース"があるのだとか。
なにやら難しそうな感じだけど、まずは最初のコースだけでも受講してみようと思う。

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

もう合格発表から約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\<ユーザー名>\