open or die

弊社ではエンジニアの方がジョインする時に業務経歴書とあわせてご本人が書いたプログラムを見せて頂いています。
そんなプログラム群の中にこんなコードがありました。(内容は変更しています。)

[php]
$fp = fopen(‘data.txt’, ‘r’) or die(‘file open error’);
[/php]

この構文は割と有名な構文ですが、ふと「どういう理屈で解釈されているんだろう」と気になりました。
最初はisset()みたいに利便性優先の構文だろうと思ったけど、考えてみるとこれは通常のPHPの「式」でした。
続きを読む open or die

本日の学び

仕事の様な趣味の様な宴席にて興味深い話を聞いたのでメモがわりに。

HOゲージ

鉄道模型のHOゲージ、Nゲージの大きいだけのやつだと思っていたけどそうでは無い様です。

・Nゲージは線路に直流が流れており、ほぼON/OFFの世界。
・HOゲージも線路に交流が流れているがPWMで信号を重畳させることが可能。
・さらに車両には個別のIDが振られ、特定の車両に指令を伝えることが可能。
・電源とモーターが直結しない構成を取ることで同一の線路上で2つの車両が逆の向きに動くことも可能。

パシナ

満州鉄道で走っていた蒸気機関車の「パシナ」がえらいカッコいい。

・むっちゃデカい。車輪は直径2m。
・石炭の投入が自動化されている。
・有り余る蒸気機関パワーで客室に空調が入っている。汽車の末尾がふつうの汽車はテラスになっているのだけど空調の理由でクローズドな形をしている。
・空力を考慮した流線型。

当時も未来的でカッコ良かったのだと思うけど、今見てもひとまわりしてカッコいい。
Google画像検索

メモなのでオチはありません。

書籍執筆: 「Facebookアプリプログラミング入門」 という本を書きました

長谷川が執筆した本が発売になりました。

Facebookアプリ開発の入門書です。
9/26が発売日だったのですがAmazonや書店に安定的に並びだしたのが先週末だったのでこのタイミングでのお知らせです。


続きを読む 書籍執筆: 「Facebookアプリプログラミング入門」 という本を書きました

無線LANルータの選び方 2012年7月編

本日は健康診断でした。
健康診断ではバリウム摂取し、それに伴い下剤を服用しています。
こんな時にオフィスで仕事をすると「妖怪といれかぶり」が出たときに人間の尊厳に関わる事故が発生しかねない。
なのでここ数年は健康診断の日はその後自宅作業としています。

で、本日帰宅してさてお仕事、と思ったらオフィスにつながらない。
それどころかWiFiを掴んだiPhoneもネットにつながらない。
NTTにお金は払ったはずだし電話は通じている。HUBも大丈夫そうだ、と切り分けしていったらなんとルータが故障していた。

故障したルータは知る人ぞ知るオープンソースな無線アクセスポイントのファームウェアDD-WRTを標準搭載しているという大変マニアックなルータでもう売っていません。

ということで仕方なく代替機の選定を開始。
長い前振りでしたが、こんな機種を候補にしました。
リンク先はAmazonアフィリエイトなのでお好きな方はじゃんじゃん買って下さい。

今気に入って使っていたのが壊れたから仕方なく、という後ろ向きな購入なので「今より少しでも嬉しくなる」をテーマに「2.4GHz帯と5GHz帯に両対応している」「SSIDを複数使える」「ゲストにWiFi使わせてあげられそう」あたりを判断基準にしました。

とは言ってもこれらは大抵のルータで対応してるんですよね。
結局決め手になったのは「ポートマッピングで外側のポートと内側のポートをそれぞれ指定できる」ことで、コレにしました。

実は WZR-D1100H もイイと思いAmazonで注文寸前まで行ったのだけどAmazonプライムなのが無くて…。

という訳ですっかり釣りタイトルな本エントリーですが参考になる方がいらっしゃれば!

JSONのサイズ

現在デジタルサーカスで担当させて頂いてるサイトで「動作が重い」というのが問題になっていまして。
原因はいろいろあるのだけどJSONのサイズが大きいってのが一番の問題。

モデムやISDNの頃はHTMLのサイズや画像のサイズがよく議論されていたのだけどFTTHの普及に伴ってあまりされなくなってきた一方、スマホサイトは回線が3GでFTTHと比べると低速なのでやっぱりちょっと気にしないといけません。

スマホブラウザってJavaScriptは立派にPCと同じ機能を持ってるもんだからついJSONを無邪気に使いたくなるのだけどPHPのjson_encodeでJSONを作るとUTF-8日本語文字が\uxxxx形式にエンコードされてなんと1文字が6バイトになってしまうのですね。

PHPのマニュアルを改めて読んでみたらPHP5.4.0以降なら以下の様にすれば日本語文字をエンコードせずに出力できそう。

[php]
json_encode($array, JSON_UNESCAPED_UNICODE);
[/php]

ただこのバージョンは現時点ではやや難しい。
json_encode()を使用しない方法を検討しないといけなそうです。