Qiita を運営されている Increments さんが一周年ということで、白ワイン持参で参加させていただきました。

寿司職人が目の前で握ってくれる本格派!

次の Qiita イベントにも是非参加します!今後とも、エンジニアのためのサービスをガンガンリリースしてもらいたいと思います。うちの会社もエンジニアの会社なので期待しています!

一周年、おめでとうございます!

ちなみに、Qiita イベントの出席者は、Perl 界隈の人と Ruby 界隈の人が半々くらいな感じ。

タイトル
世界でもっとも強力な9のアルゴリズム
著者
ジョン・マコーミック (著), 長尾高弘 (翻訳)
出版社
日経BP社
Amazonで購入する

この本で取り上げた偉大なアルゴリズムから導き出せる共通のテーマはあるだろうか。この本の著者として私がとても驚いたのは、これらの大きなアイデアは、どれもコンピュータプログラミングやコンピュータ科学の予備知識を一切必要とせずに説明できることだ。

この本のアルゴリズム全体に共通するもう1つの重要なテーマは、コンピュータ科学という学問分野がただのプログラミングよりもずっと大きな世界だということだ。

私が目指したのは、読者に偉大なアルゴリズムについての知識を仕入れてもらって、日常のコンピュータ操作の中でもこれはすごいと感じてもらえるようにすることだ。

本書

9つの偉大なアルゴリズム、検索エンジンのインデクシングページランク公開鍵暗号法誤り訂正符号パターン認識データ圧縮データベースデジタル署名決定不能性を知ることで、僕達の周りでこれらのアルゴリズムがどうやって機能していて、何が担保されているのか理解できるようになります。

これらのアルゴリズムを知ることで、コンピュータの世界はすごいことが起こっていると知ってもらい、新たに出てくる問題の解決の一つになるといいなと思います。

読み物なので、どんな人にもおすすめです。

Qiita にも書きました。 Qiita: http://qiita.com/items/ef8c332710960e2730d6

1. Package Manager で SublimeCodeIntel をインストールする

Sublime Text2 の PackageManager を使って SublimeCodeIntel をインストールします。

http://ready-study-go.blogspot.jp/2011/09/sublime-text-2.html

2. jsca2.js を使って Titanium Mobile の API doc を JavaScript 化する。

jsca2js: https://github.com/navinpeiris/jsca2js

git clone で落としてきて

Terminal

$
./titanium-mobile.py 3.0.0

のように、生成した API のバージョンを指定すればOK。

Titanium 3.0.0 のコードをインストールする場合の注意

titanium-mobile.py の中でバージョン毎に参照先の URL を変えるようにしていますが、3.0.0 の API Doc 参照先が間違っています。

なので、URL を修正してあげる必要があります。titanium-mobile.py を開き 23行目辺りにある URL を次のように書き換えます。

titanium-mobile.py
1
2
3
4
5
if version.startswith('2.'):
  url = 'http://docs.appcelerator.com/titanium/data/' + version + '/api.json'
else:
  #url = 'http://developer.appcelerator.com/apidoc/mobile/' + version + '/api.json'
  url = 'http://docs.appcelerator.com/titanium/data/' + version + '/api.json'

3. 生成された titanium-mobile-3.0.0.js を ~/.codeintel/extra にコピーする

SublimeCodeIntel をインストールすると ~/.codeintel というフォルダが作られているはずです。

追加の補完用コードをまとめるために、extra フォルダを作ってそこに生成された titanium-mobile-3.0.0.js をコピーします。

4. SublimeCodeIntel に extra フォルダのパスを通す

~/.codeintel/config を開いて次のコードを追記します。

{
  "JavaScript": {
    "javascriptExtraPaths": ["~/.codeintel/extra"]
  }
}

これで、 SublimeCodeIntel が JavaScript ファイルで Titanium Mobile のコード補完を行うようになります。

5. (オプション) CoffeeScript でもコード補完を効かせる

SublimeCodeIntel が CoffeeScript のコード補完に対応していないので CoffeeScript のシンタックスを JavaScript に設定してやります。

Sublime Text2 の > Preferences > Package Settings > SublimeCodeIntel > Settings - User を開いて次の設定を追加します。

{
  "codeintel_syntax_map":
  {
    "CoffeeScript": "JavaScript"
  }
}

Titanium Mobile プラットフォームの開発元である Appcelerator が公開している公式のフレームワーク Alloy を使って作ったアプリを公開しました。

アプリ紹介ページは下になります。 Thankお弁当: http://mountposition.co.jp/obento/

phones.png

Titanium Mobile は JavaScript を使ってスマホアプリを開発できるプラットフォームです。iPhone や Android 向けのアプリを手軽に開発することが出来ます。

Alloy はそんな Titanium Mobile での開発に規約と規律を導入した MVC フレームワークになります。Ruby On Rails に似てる感じです。

Alloy を使うといろいろいいことがありますが、それはまた別の記事で紹介します。

以上、アプリの宣伝でした!

タイトル
モバイルデザインパターン― ユーザーインタフェースのためのパターン集
著者
Theresa Neil (著), 深津 貴之(監訳) (翻訳), 牧野 聡 (翻訳)
出版社
オライリージャパン
Amazonで購入する

モバイルアプリのUIパターンを手軽に参照できるリファレンス。主要なプラットフォームで動くモバイルアプリの画面例を400点以上使いながら、ユーザーインタフェースの定番パターンをグラフィカルに解説します。本書で紹介する68個の基本パターンと5個のアンチパターンが、使いやすいモバイルアプリをデザインするうえでクリアしなければならない設計上の課題を解決してくれます。

掲載UIパターン:ナビゲーション、フォーム、テーブルとリスト、検索、並び替え、フィルター、ツール、グラフ、誘導、フィードバック、アフォーダンス、ヘルプ、アンチパターン

本書背表紙より

本書は、モバイルアプリ(スマートフォン上で動くアプリ)の UI デザインの定石をパターンとして紹介しているものになります。いいアプリを作っても、UI や見た目が悪いとそれだけで価値が下がってしまいます。アプリにとって本当に良い UI デザインを導ける人は、まだまだ少数だと思います。

本書は、そんな良いデザインというのはどういうものなのか、使いやすい UI というのはどういうものなのかを名前をつけてパターン化し紹介しています。内容はとてもグラフィカルなので、かるく読み流すことも出来ますし、中身を熟読してさらに自分流のパターンを産み出していくのも良いと思います。

ますます熱くなってくるであろうモバイルアプリ開発の現場で、デザインができなくて泣いている人にオススメの一冊です。スマートフォンアプリの開発者は、手元に置いておくと便利です。

タイトル
ステートフルJavaScript ―MVCアーキテクチャに基づくWebアプリケーションの状態管理
著者
Alex MacCaw (著), 牧野 聡 (翻訳)
出版社
オライリージャパン
Amazonで購入する

本書は、クライアントサイド(ブラウザ)で JavaScript を使ってリッチなアプリを作る際のプラクティスを説明しています。

前半では、JavaScript によるオブジェクト指向開発の方法や MVC 開発の方法を、後半では、JavaScript の MVC デザインパターンに則った、各種ライブラリの説明が行われています。

最近では、ユーザビリティの良いアプリを開発するのに必須なクライアントサイドでの JavaScript の使い方が複雑になってきているように思います。ちょっと jQuery を使って DOM 操作していればよかった頃と比べて、最近では色々なライブラリを組み合わせる必要があったり、クライアントサイドでも MVC パターンが必要になったりと、大変です。

本書は、そんな JavaScript でリッチアプリケーションを作成する際の取っ掛かりを学ぶのに良いと思います。オライリー本なので、読むのが簡単ということはなく、むしろ格式高い感じすらしますが、多少 JavaScript でオブジェクト指向の経験があれば、読み進めるのは難しく無いと思います。

タイトル
Clean Coder プロフェッショナルプログラマへの道
著者
Robert C. Martin (著), 角征典
出版社
アスキー・メディアワークス
Amazonで購入する

本書は、Clean Coder(プログラマのプロ)とはどんな人物で、どういうことに心がける必要があるのかを解説した本です。

プロとは、自分の行いに責任を持つ人物。責任とは、清く正しく働くということ。コミュニケーションをうまくとること。見積りを確実にすること。時間をかんりすること。リスクと見返りの見極めが困難な状況に立ち向かうこと。

本書はこういった、プロのプログラマを育てる本です。コーディングだけではなく、どういう仕事の仕方をする必要があるか、どういうことに気を付けないといけないのかを解説しています。新入社員や初めて先輩になる人におすすめの一冊です。