「マタタビ」というリッチな旅記録サービス(といえばいいのかな..?)を使ってみました。
マタタビでは写真やテキストを自由にレイアウトできるリッチエディタを使って作ったスケッチブックを、自分のブログに貼り付けることができます。
京都の肉専科 はふう/本店に行ったときの写真を使って作ってみたスケッチブックが以下の通り。
写真とコメントを自由にレイアウトできるのは想像より便利でした。まるで雑誌のようにレイアウトできますね :)
「マタタビ」というリッチな旅記録サービス(といえばいいのかな..?)を使ってみました。
マタタビでは写真やテキストを自由にレイアウトできるリッチエディタを使って作ったスケッチブックを、自分のブログに貼り付けることができます。
京都の肉専科 はふう/本店に行ったときの写真を使って作ってみたスケッチブックが以下の通り。
写真とコメントを自由にレイアウトできるのは想像より便利でした。まるで雑誌のようにレイアウトできますね :)
再びオープン直後の恵比寿店を覗いてみたところ大変なことになっていました。

9時頃にはまばらだった列が...

人でごった返しています。報道関係者もたくさんいます。

用意された仕切りは満員。

上から。

列は仕切りをはみ出して階段を登り...。

三越デパートの前をずらーっと並んでいます。すごい人の数ですね...。

セグウェイは3台に増えていました。
本日8月29日、マクドナルドの新型店舗としてコーヒー中心の「マックカフェ」が関東と関西に15カ所でオープンするようです。ちょうどオープン前の恵比寿店を通りかかったので様子を撮影してきました。

撮影した時間は9:15頃。初日の恵比寿点のオープン時間は12:00です。すでにお客さんが並び始めています。

最後尾から撮影。

長蛇の列になることを想定して仕切りが設けられています。

改造セグウェイに乗った女性が現れました。これは注目を集めそうです。
尚、マックカフェ公式サイトによるとオープン初日は「ウェルカムスペシャル」のみを限定販売し、先着合計4,500名に記念オリジナルタンブラーをプレゼントするそうです。タンブラー終了後はケイタイクリーナーが貰えるとのこと。
15店舗のオープン時間とタンブラー配布数は以下の通り。


ずっと笑いっぱなしで最後は泣く!
星800つ
執筆中なのに何故か新刊を読んで感動中「いい本というのは、読後すぐに行動したくなる本である」
この言葉は「あなたの知らない照明術 : akiyan.com」への言及ページに書かれていた言葉なのですが、その通りだと思いました。そして「夢をかなえるゾウ」もその1冊になったようです。僕がつけた付箋の量からもそれがわかると思います。

とりあえず僕が起こした行動が以下の通り。
えーと、何だか辛そうなことばかりですね。靴磨きなんてまともにやったことないですし、トイレ掃除とか嫌ですよね。腹八分とか禁欲的でいかにも自分を律している感じです。
でも僕、これ全部ニヤニヤしながらやってましたよ。もうぜんぜん辛くなかったです。多分、この本の主人公に自分を重ねてたからじゃないかなと思いました。
というのも、この本はいわゆる自己啓発とか成功本なのですが、主人公にいろいろヒントを教えてくれる教師役のゾウの神様が濃ゆいところがユニークです。たとえば「腹八分に抑えろ」と言った直後に
「ええか、よう見とけ。こうなったら、終わりやで!」
と言ってメシをたらふく食って寝てしまう、滅茶苦茶な教師なんです。そんな変な教師と漫才みたいなやりとりをしつつ、結局行動に移している主人公の様子は笑えます。外で読んでたのに、読みながら普通に声出しちゃってました。
で、いい映画を見た後に、気持ち的に主人公になりきったりすることがあるじゃないですか。アクション映画だとアチョーとかやったり。靴磨いてるときは多分そんな感じだったんじゃないかと。あの変なゾウに言われて靴磨いてる主人公みたいな自分ワロス的な。
「なぜ成功したい人は意識を変えようとするのか?」
「それは、意識を変えることはラクだからだよ。思うだけでいいからね」
「なぜ成功しないのか?」
「意識だけ変えて行動しないからだよ」
こんなやりとりがあるのですが、なあるほど、と思いました。しかもこれが漫才をからめてくるので堅苦しさが無くて、スッと入ってきます。
また、自己啓発本に読み飽きた方にもオススメです。きっと今まで学んだことに新しい視点を与えてくれると思います。このことについては書評:夢をかなえるゾウ(プレゼント付) | i d e a * i d e aで的確に語られています。(というかidea*ideaのプレゼント企画でこの本を頂きました。ツイてる!)
最後に蛇足っぽくなるのですがどうしても書きたかったことをひとつ。この本は物語形式になっていて最後に物語としてのオチがつくのですが、オチを3回読んで3回鳥肌が立ちました。1回目の鳥肌はそれはもう強烈でした。よろしければぜひ皆さんも立ててください。鳥肌。
著者である水野敬也氏のベストセラーのひとつ「ウケる技術」は最近文庫版が出て入手し易くなりました。まだ読んでない方はこちらも併せてぜひどうぞ。

ずっと笑いっぱなしで最後は泣く!
星800つ
執筆中なのに何故か新刊を読んで感動中新しい笑いを求めている方には「温厚な上司の怒らせ方」もおすすめです。こちらも水野氏プロデュースの作品です。

「郵便局はね」「黙って」
衝撃の一枚
シュール最近のニコニコ動画でのニコニコ組曲の盛り上がりを見ていてふと思ったこと。
アレンジ楽曲を聴くのは多くの人にとって、とても楽しいことなんだな、と。
アレンジは著作権的にはグレーないしはアウトのものが多いんだけど、アレンジってのは単純に人を惹きつけるものがあると思う。エンターテインメントの基準のひとつとしていわれている「どこかで見た何かは楽しい」がそのままだから、当然ちゃ当然。
で、「ニコニコ動画でのニコニコ組曲の盛り上がり」と「パソコン通信時代のMIDI楽曲」が強烈にダブったので、衝動的に書いてみる。(MIDIは「ミディ」と読む)
まずは昔話から。
インターネットが普及する前のネットといえばパソコン通信で、パソコン通信上での楽しみの一つとしてMIDI楽曲集めがあった。
MIDI楽曲というのは乱暴に説明すると「楽器の種類や音階やピッチだけを記録した演奏データ」。演奏データなので基本的に生音は表現できないし、PC単体ではまともに再生できない。
ではどうやって再生するのかというと、PCの周辺機器として数万~10数万円もするMIDI音源機器をPCに接続してやっと再生できた。僕は当時学生だったので、中古で廉価品のMIDI音源を使ってた。知ってる人しかわからないけど、SC-55とかそんなの。お金をためてSC-88Proを手に入れたときは興奮した。(アップロードされていた楽曲はSC-88Proで作られていたものが多かったので、作者が作ったそのままの曲が聴けることが嬉しかった)
で、なんでそんな面倒くさいことになっていたのかというと、今に比べて通信速度が非常に遅くストレージの容量単価も高かったから、とても生音データをやりとりできる環境ではなかった。僕がMIDI楽曲集めをしていたときに使っていたモデムは14.4kbpsで、willcomの最低速でも32kだから、その半分以下。生音のやりとりなんてありえなかった。当時にMP3のような圧縮音源があったとしても、PCの性能が追いつかないので再生することもできなかった。(あるにはあったけど、それでもサイズは大きすぎた)
アップロードされていたMIDI楽曲は大量にあった。楽曲はアニメのアレンジやゲームのアレンジが多かった。J-POPもそこそこあった。そう、今のニコニコ動画のように。クオリティも高かった。歌声は無理でも当時のゲーム楽曲なんかはもともと歌無しがほとんどだから丁度よかった。
でも、それを楽しめたのはインターネットも無い時代にPCを所有して尚且つ高額なMIDI音源まで用意していた人だけだった。
そして今。
PCの性能が上がって圧縮音源が可能になり、通信速度が上がり、誰でも気軽にアップロードができるようになり、気軽に再生できるようになったとき、アレンジ楽曲という文化は爆発したんじゃないか。
そんなことを思いました。
今後も「昔楽しいけど苦労してやっていたことが誰でも可能になって、文化になる」ということが起こるのかと思うと、何だか無責任にワクワクしてしまいます。
gihyo.jpでCakePHPの連載中のCakePHPで高速Webアプリ開発の第5回目の記事を書かせていただきました。
今回から『CakePHPで作るToDoアプリ』と題して、実践的なコーディングに入りました。CakePHP経験者なら分かって頂けると思うのですが、初っぱなから$usesを使用するなどしてより実践的な解説を目指してみました。よろしければどうぞ。
以下、バックナンバー一覧です。
昔話の第5話 - ニコニコ動画 開発者ブログ(新着情報)より。
くわえて、ニコニコ動画(β)のときに中止しましたが、ニコニコ動画(仮)ではトップページに飛んだとき、はてブTVのようにニコニコの最新コメントがページ全体を横切るようになっていました。
> はてブTV
> はてブTV
> はてブTV
そのはてブTVは以下からどうぞ。
衝動的にCakePHP以外のプログラミング話エントリー。
まずはsubtech - Pink Blossom Diary - AS3/Flex2 を使い始めて約半年より。
まずイベントドリブンなプログラミングに慣れてないのが一つで。Flex のイベントや自前イベントやをただ単に投げまくってると、とりあえずは動くけど後からメンテし辛いスパゲッティコードができあがる。このスパゲッティコードは goto 文が乱立するコードよりも酷く、goto だったら割と行き先は把握できるけど、イベントを投げまくってるだけだと、どこでどのオブジェクトがこのイベントを受け取るかが解らない。解りづらい。いちいちソースコード grep ですね、おめでたいですね。あのイベントが発生してから、そのイベントが終了したら発生するイベントが終了したらウィンドウ閉じて、その間は別のイベントはブロックして/発生しないようにして、とかもうわけわかんない。これも GUI プログラミングをしたこと無いからのような気もしなくもないけど。
まさにそうです。わけわかんないのです。
GUIなプログラミングはノベログコンバーターが久々だったんですが、以前に仕事でやったときもそうでした。イベントドリブンでステートフルなGUIプログラミングには、いわゆるWebサーバーアプリーケーションでの抽象化経験は全然役に立ってる気がしません。むしろ余計に感じたりします。
そんなわけで完成するのは殆ど抽象化されてない、かろうじて関数化で可読性を保っているスパゲティコード。アイデアを練りながら作るとなると初期段階での抽象化は無駄が多すぎると思うのです。画面変われば抽象化も変ります。そして今後も作り替えていくことを考えるとよけい抽象化する気が起きません。通信部分ぐらいは抽象化できるかなと思ったりもしますが、通信中にもいろいろイベントは起こりえるわけで、一筋縄ではいきません。
でもGUIプログラミングとはそういうことなのかもしれません。ステートフルかつ入力の種類(イベント)がめちゃめちゃ多ければ、そりゃ複雑にもなるなあと。ちなみにサーバーサイドのステートフルなアプリケーションを書いたことがありますが、同様に複雑でした。書いたのはネットワーク越しのマルチ接続コミュニケーションアプリなんですが、切断されたときとかタイムアウトとか、クライアントアプリには無い要素があります。いくらチェックをしても完璧に作れた気がしませんでした。なるほどネットゲームはどれも不安定になるわけだと思いました。
どなかいい本とかサイトとか知ってたら教えて下さい (_ _)
ノベログコンバーターを公開しました! akiyan.comの新サービスです。
既存のブログがまるでサウンドノベルやビジュアルノベルのように変換されます。
変換してみてビックリ。以下のような効果があります。
例えばこんな感じです。
気軽にお楽しみください :)
技術的な話になりますが、何らかの原因でRSSの本文が取得できなかったときは船木信宏氏のzuzara : ブログの記事本文を抽出するAPI: TSUBUANで本文を抽出しています。APIを利用させて頂きありがとうございます!
ちなみにサウンドノベルとは「かまいたちの夜」や「街」といったゲームの1ジャンルのことです。個人的なオススメを以下にご紹介しますので、よろしければどうぞ。

人生史上最高のゲーム
これこそサウンドノベル!
奇跡のゲーム
字を読むのが苦でないなら
サウンドノベルベルってすごい!
原点
夏に出たからかな?
援護射撃!(>_<)
私には面白かった
『かまいたちの夜』初心者にはこれ
かまいたちの夜初プレイ♪
難易度が高すぎるi d e a * i d e a CakePHP修行! への返信です。
バグつぶし他(emptyとisset、WWW_ROOT、low関数)・・・(CakePHP修行 #27) | i d e a * i d e aより。
いきなり$meにユーザーデータを突っ込んでしまったのですが、良いですかね?それとも$this->User->idだけ取得しておいてその都度必要なデータを取得したほうが良かったのだろうか。ちょっと富豪的ですが、個人的にわかりやすいからこれでいいかな?
気になっているコードは以下。
function edit ()
{
$this->pageTitle = 'Edit My Profile';
$this->checkSession();
$me = $this->User->findById($this->Session->read('my_id'));
$this->set('me', $me);
if (empty($this->data))
{
$this->data = $me;
}
else
{
// password change
$this->data['User']['pwd'] = empty($this->data['User']['pwd']) ? $me['User']['pwd'] : sha1(PWD_KEY.$this->data['User']['pwd']);
// file upload
if (!empty($this->data['User']['pic']['name']))
{
$ext = low(preg_replace("!.*\.!", null, $this->data['User']['pic']['name']));
$filename = sprintf("%05d.%s",$me['User']['id'], $ext);
move_uploaded_file($this->data['User']['pic']['tmp_name'], WWW_ROOT."pics".DS.$filename);
$this->data['User']['pic'] = $filename;
} else {
$this->data['User']['pic'] = $me['User']['pic'];
}
// save
if ($this->User->save($this->data['User']))
{
$this->Session->write('sys_msg', 'Your profile has been updated.');
$this->redirect('/users/home/');
}
}
}
「いきなり$meにユーザーデータを突っ込んでしまったのですが」ということですが、このコードから見て取れる限りではどうってことありません。典型的なWebアプリケーションでこれくらいの処理が問題になるのは、アクセス増加に対処するためにハードを追加変更したりキャッシュを導入したりしたあとで、0コンマ1秒のチューニングしか残ってないときに行うのが効率的であることが多いです。
「自分のため、自社のために作りながら作る」というプロセスが可能な場合は、これくらいのことであればちょっとくらいは富豪的でも、開発効率を優先すればよいでしょう。
...ちなみにちょっと「if else」が多いのが個人的に気にかかります。if elseの多用は混乱の元ですので、使わなくても済む構造が可能であれば検討する価値があります。