2011/03/31

新潟拉麺愛好會活動報告(東横篇)

先日、就職活動からの帰りにおなかが空いたので、東横に入った。

ここの魅力は究極的に濃縮された味噌スープで、あまりの濃度ゆえ希釈用の『割りスープ』が供されるほど。
写真奥の白い器に入っている澄んだ液体が『割りスープ』
しかし、通は一切薄めずに本来の味を楽しむらしい[要出典]

確かに塩味は強いのだけど、食べていくうちに甘味を感じるように舌が変化していく。

とがっていない、丸みを帯びた味わいで、強さの中にもしっかりとしたおいしさがある。

太麺だが、G麺ほど鬼畜な太さではなく常識の範囲内。濃厚なスープに負けない麺のもち感が素晴らしかった。

2011/03/29

Kinectがやってきた!

先生が Kinect センサーを買ってくれた。うれしすぎる。

Kinect センサとは、昨年11月に発売された Xbox 360 用のゲームデバイスで、カメラと赤外線の奥行きセンサが搭載されているスグレモノだ。

2011/03/27

Objective-Cで有限オートマトンを作ろう

【ミッション: お買い物プログラムを作れ】

今日は、Objective-C のプロトコルを駆使して有限オートマトン(finite automaton)、別名:有限状態機械(finite state machine)を作りつつ、オブジェクト指向プログラミングに慣れていこうと思う。

とは言ってもそれほど難しいものではなく、今回作るのは、ユーザの入力によって以下のように状態が遷移する、簡単な『お買い物プログラム』だ。
※ 突っ込みどころが満載なのはデフォなので無視してほしい。

最初に断っておくと、状態遷移を管理するプログラムの実装自体は、特別なテクニックが無くとも(一応)可能である。

2011/03/25

Androidアプリを作ってみよう

【ミッション: はじめての Android アプリをつくろう】

とある企業の一次選考の帰りに、ジュンク堂へと立ち寄り、あれこれ物色していたらこんな本を見つけた。

『初歩からわかる Android 最新プログラミング』 ¥2,800 (税別)

ちょうど Android のお勉強の教材を探していたところだった事もあり、1時間ほど迷った挙げ句、思い切って買ってきてしまった。

前回ですでに開発環境は導入済みなので、第 2 章から攻略していこうと思う(本の内容をただなぞっているだけなので、解説というよりは実況中継になるが)。
※ 上の本では Android 2.2 を前提に解説されているが、ちょっと欲張って 2.3.3 で試した。
そのため、ところどころ本の内容とは異なる箇所がある。

2011/03/24

Objective-Cのココが苦手(メモリ管理編)

【ミッション: Objective-Cのメモリ管理を覚えよ】

前回のあらすじ: Objective-C の本を買った

せっかくだし、読んでてちょっと苦手だなぁと思ったところを潰していこうと思う。さっそくみんな大好きメモリ管理いってみよう。

一般的なオブジェクト指向言語では、おおむね、メモリのどこかにインスタンスの実体を格納しておくための領域を動的に確保し、そこにポインタ経由でアクセスする事になっている(おなじみ new 演算子はその典型である)。

Java でこの仕組みをある程度意識せずに済んでいるのは、ポインタを意識させないように構文が整備されている事に加え、使用済みのメモリ領域を自動的に解放するガベージコレクションをサポートしているためである。

しかし、iOS は現時点でガベージコレクションをサポートしておらず、iPhone や iPad 向けアプリを作る場合、メモリ管理は避けては通れない。

メモリ管理を疎かにする悪い癖がつかないうちに、この辺りをもうちょっと理解しておきたいと考えた。

2011/03/23

Androidもはじめました

【ミッション: Android の開発環境も導入せよ】

いつの間にか、ぼくがかつて愛用していた WILLCOM の ZERO3 シリーズはもはやマニア向けアイテムと化し(元からだろ)、知らない間に世間のスマートフォン市場では iPhone と Android 端末の対立構図が明確になっていた。

ぼくも昨夏、ZERO3 の故障で iPhone に乗り換え、以来 iPhone を肌身離さず大切にしている。

さらに、しゃりんくんの影響によって、できればぼくもいつか iPhone アプリを作れたらいいなぁという軽い気持ちで Objective-C に手を出すに至った

さて、ここまで iPhone を褒めといてなんだけど、iPhone アプリの開発には Mac が必須で、Windows マシンしか持っていないぼくはまだスタートに立てていない。

そんな中、ふと目をやると、Google が誇る Android がひときわ激しい輝きを放っていた。アプリ開発環境が実質タダ。しかも Java の知識をベースに開発が可能。実機を持っていなくても、エミュレータで挙動を確認しつつ開発を進められる。

これは楽しそうだと思った。

言い添えておくと、決して iPhone への熱が醒めたわけでもなければ Objective-C の習得に挫折したわけでもない。ただ、しゃりんくんの見ている『携帯端末向けアプリ開発』という世界を、ぼくも早く体感したかったのである。

2011/03/20

Objective-Cを楽しむ(初級編)

【ミッション: Objective-Cと仲良くなろう】

前回のあらすじ: Objective-C はじめた

でも、始めたばかりでどこから手をつけてよいのか分からない。

行きつけのジュンク堂書店をひたすら徘徊した結果、わかりやすそうな本を見つけたのでつい買ってしまった。

『世界一わかりやすい Objective‐C プログラミングの授業』 ¥2,480 (税別)
これにした理由は、iPhone / iPad アプリ開発に特化していないから。

iPhone アプリを製作できる環境が調っておらず、今のところ言語仕様そのものを学ぶしかないので、混じりっ気のない入門書の中でできるだけ解り易いものを買ってきた。さすが(自称)世界一わかりやすいというだけあって、即日読了。

ただ、ぼくの頭が悪いせいで、わかったようなわからないような。

理解度を確かめるために、先日書いた《ナンバープレイスを解答するプログラム》を Objective-C に移植してみた。

2011/03/18

Objective-Cはじめました

【ミッション: Windows に Objective-C 開発環境を導入せよ】

iPhone アプリ開発者のしゃりんくんのお陰で、ぼくも Objective-C という言語に興味を持ってしまった。これは Apple 製品向け言語であり、iPhone や iPad 向けアプリのほぼ全てが Objective-C で開発されているという。

ぼくは Apple 製品に関してはあくまで一ユーザであり、決してディベロッパではない。そもそも Apple 製品向けアプリの開発には Mac が必要であり、いくらモチベーションが高くとも現状では難しいのだ。

しかし、今は金銭的事情によりすぐには無理でも、将来的には憧れの Mac を手に入れる日が来るかも知れない。

そこで、せいぜい Windows 上に何とかして Objective-C 環境を構築して、文法だけでも勉強してみようかなと思い立った。

2011/03/11

クライシス

【ミッション: 地震に耐えつつ適性検査を受けろ】

市街地中心部のとあるビルでセミナーを聴いている最中、強い揺れに見舞われた。

東北地方太平洋沖地震発災の瞬間である。

ぼくが居た地域は震度4であったが、耐震構造のビルの上階で体感する震動はかなり強く、酔ったせいか軽い悪心を覚えた。

全身に響き渡るほど拍動が強まり、生きてこの建物を出られるだろうかと半ば本気で危懼したものである。

とはいうものの、ぼくはギリギリのところで楽観思考が勝つらしく、課された適性検査をしっかり受検してから帰途についた。

ただし JR の在来線は全線運休となっていた事もあり、やむなく路線バスを使うハメに。背に腹は代えられぬ。



【追記】

気付いてみれば、らいんくんのアパートは燃え、しゃりんくんは帰宅困難者になっていた。今は彼らが心配で仕方ないが、何もできない以上、彼らを信じてあげるほかない。

何がなんだかわからず混乱しているうちに、早くもさっきの適性検査が採点されて結果が通知された。恐るべし

2011/03/09

魔法使いの弟子(その10-1) ~計算機に思考させる

【ミッション: ナンプレ自動解答システムを作ろう】

新生活の季節である。

思い起こせば5年前。ぼくは生活水準の変化に戸惑い、ホームシックに涙し、前途多難な新生活に肩を落としていた。

これは当時、過酷な新生活をリッチかつゴージャスに過ごすべく果敢に挑戦したぼくの記録である。

※ 当時は C の経験が浅く、Excel VBA で作った。今回の話を書くにあたり、改めて C 言語に書きなおした次第である。



ぼくは、実家暮らしだった頃、パズルを解いて懸賞に応募する雑誌を不定期購読していた。

もしもプログラムでパズルを自動的に解く事ができれば、ラクして幸せになれるんじゃないか。高額景品でウハウハになるのではないか。なんだこの完璧すぎる計画は。

そこでぼくは、数あるパズルの中でも比較的攻略が容易なナンバープレイスに目をつけた。

ルールをざっくり解説すると、
  • 9×9のフィールドの中で、空欄になっているセルに1~9の数字を入れる
  • ただし、各行・各列に同じ数字が重複して入ってはならない
  • 太線で区切られた3×3のブロックに同じ数字が重複して入ってはならない
というものだ。

ヒント(元から入っている数字)の多さによって難易度が変わり、特に難しい問題では2万円相当の景品がもらえる場合もある。

というわけで、ナンバープレイスを力ずくで自動解答するプログラムをささっと作ってみよう。

2011/03/08

G線上のアリア

【ミッション: G-SHOCK を体感せよ】

学校の近くに、万人家(まんにんや)というラーメン屋さんがある。

ここは数年前、ぼくが家探しに来た際に立ち寄った思い出深いお店で、叉焼が花びらのごとく撒き散らされたワイルドかつダイナミックな見た目がチャームポイントらしい。

当時純情な少年だったぼくは激しくカルチャーショックを受けたわけだが。

そんなぼくも今や刺激に満ち溢れた世界にどっぷり浸り、さらなる興奮と感動を求めて彷徨い歩くようになっていた。

ふと足を止めた場所は、あの純情だった頃の思い出がいっぱい詰まった万人家。暖簾をくぐると、あの時には無かったロックなメニューが増えていた。

その名も『G麺』。
GATTSURI (ガッツリ)
GOKUBUTO (ゴクブト)
GARLIC (ガーリック)
のG麺である。なんだ、この二郎をかわいくしたようなコンセプトは。頼むしかない……!!

※ ちなみに、『ガッツリG麺』というハイグレードモデルもラインナップされていたが、地雷な気がしたのでふつうのやつをオーダーした。あぁ、ぼくのいくじなし…。
運ばれてきたブツはこちら。

てっぺんに得体の知れない赤と白のオブジェが載っているが、このうち白い方は大量の生にんにくである。

一口たべて、ぼくは修羅場を悟った。スープがガーリックに殺されている……!! 香味野菜つえー。スープよえー。

2011/03/02

期待は感情の借金

【ミッション: お祈りメールから立ち直れ】

なんか突然こんなメールが来た。


え、なにこれ。どゆこと。