昔は例外処理機構(try で catch で throw、throw)を好んで使って設計・実装していたが、最近はできれば使わない方がいいかなと思っている。 あれは刃物だ。気違いに刃物だ。宇宙戦艦ヤマトだ。
全体が見渡せるか管理下における規模のプログラムでは有効だが、そうではない場合はあれはヤバイ。面倒。そして落ちる。
Joel Spolsky の More Joel on Software「間違ったコードは間違って見えるようにする」に例外処理について書かれているけど、理由としてはだいたいその主張に近い。
Google C++スタイルガイドも C++ の例外処理機構を使わないとしている。
呼び出し先ツリーを全部辿らないとどんな時に何が throw されてくるかわからない。
ドキュメンテーションコメントにおいてメソッドが何を throw するか説明されているからそれを見ればいい? それって信用できる? 自分は今書いているメソッドの呼び出し先で throw される可能性のある例外とメソッドで throw する可能性のある例外を、そのメソッドのドキュメンテーションコメントに毎回きちんと書いてる? コードの変更を反映させてる?
え? throws clause?
今書いているメソッドで、例外を throw したくなった。 でもこれってきちんと catch されるの? 呼び出し元ツリーを全て確認して、必要があれば catch を追加しなければならない。さもなけらば……落ちるよね。
え? とりあえず全ての型を catch して中の例外処理が空になっているそのブロック何?
例外処理機構を使うと、頻繁に深くコードをチェックしなければならなくなる。
いや便利だしスマートに書けるし、言語/ライブラリ的に使わざるを得ない時もあるし、使う時は使うけどね。
die;
今年は何だか出遅れて2月に入ってからの今日、病院に行って花粉症の薬をもらってきた(去年は1月16日)。
先生と相談して例年通り。
点鼻薬は今まで使ってこなかったので、必要性を感じたらまた通院するということで。
さっそく今日の夜から服用。
去年までマスクはユニチャームの立体マスクを使っていたんだけれど、今年は違うのも試してみたいな。 もう少しフィットするやつで、かつコストパフォーマンスが良いものを希望。
今年2回目の全休。
(計算が合っていれば)残38日(昨年分18日 + 今年分20日)。
メインの予定はお留守番。あわせて午前中に花粉症の薬をもらいにいってきた。 それとモバイル Google マップの Google Latitude にチェックイン機能がついたので、試しにいろいろ使ってみたり Google マップで使う Google アカウントを Google Buzz 用に使っているアカウントに変えたりとか。
昨日 Android 用のモバイル Google マップの Google Latitude に「チェックイン」機能がついたのでいろいろイジってみた。
機能としては以下のような感じだ。
Google Latitude に追加された機能だけどチェックインは Google Buzz に発信される。 Google Buzz はひっそり終了するものだと思っていたのだが Google Latitude で連携させたということは、まだまだ延命するんだな。
なお「Latitude の友だちに公開」としたチェックインは相手の Google Latitude アプリ上のリストにも表示される。PC 向けの Google Latitude ページでは表示されない。
「Latitude の友だち」の場合 Google Latitude で友だちになっていて、かつ Google Buzz でフォローしてくれている人に公開される。Google Latitude で友だちになっているだけでは駄目。
また Google Buzz のように連絡先のグループを指定して限定公開などもできない。
Google Latitude での現在位置を知らせる知らせない設定とは独立。
チェックインボタンを押すと近隣の候補のリストが出る。 そこにあればハッピー。希望の場所にチェックインできる。
現時点では場所の追加はできない。
検索して場所を探してプレイスページを開き、そこからチェックインもできる(ただし現在地の近隣のみ)。 または Google Latitude アプリから友だちのプロフィールを開いて[チェックインしている場所を見る]からもチェックインできる。
チェックインの時に今後この場所に自動的にチェックインするかどうかを選べる。 他のサービスにない特徴的な機能。 試しに設定してみたんだけれど、そこが直前にチェックインした場所から数十mの場所で、自動チェックアウトされなかったこともあって自動チェックインされなかった。
明日にでも再度挙動をチェックしてみる。
チェックインした場所からある程度離れるか別の場所にチェックインするとその場所からチェックアウトされる。 Google Buzz 上では
19:42 (19:47 編集)
のようにチェックイン時間とチェックアウト時間が表示される。
ちなみに距離のよる自動チェックアウトだけれど歩いて7~8分ぐらいだとチェックアウトされない。 秋葉原駅でチェックインしモバイル Google マップを起動したまま電車に乗ったところ東京駅についたところでチェックアウトされた。 ということでかなり遠くまで移動しないとチェックアウトされない模様。
Google マップとシームレスなところはいいね。 しかし 自分の場合いかんせん Google Latitude + Google Buzz をやっている人が周りにいないので面白くない。 Google Buzz だけじゃなくて Twitter にも投稿できるようになっていれば、もっと利用者が増えるんだろうけれど Google にはそれは無理か。
Google プレイスの方が foursquare の venue より色々情報が掲載されていてその点で面白味があるだけに惜しい。
目玉の自動チェックインについては誤チェックインを防ぐ仕組みがどれぐらい入っているかが見物かな。立ち寄ってないのにチェックインされるのはよろしくないので、「その近辺に行くということは必ずそこへ寄るということ」といったエリアでしか使い物にならないのではと危惧しているところ。
[ Android アプリレビュー ]
Facebook で使っていなかったのが[アカウント]-[アカウント設定]-[ネットワーク]
にある「ネットワーク」。 Facebook 上に勤務先のネットワークが無くて参加できず、どんなものかも実は良くわかっていなかった。 調べてみると割に気軽に作成してもらえるっぽいのでやってみた。
必要な条件としては
ぐらい。
「自分の勤務先のネットワークがFacebookにない」というページ
から「勤務先の名称」「勤務先から支給されたメールアドレス」「勤務先のウェブサイト」を入力して[送信]。
なお別に Facebook 連絡先メールアドレスの設定を勤務先のメールアドレスにしておかなくても大丈夫。
をメールに書き、また (Facebook のログイン用メールアドレスが含まれている)先ほど届いたメールのコピーをつけて「勤務先のメールアドレス」からメールを送信する。
2日弱ほど経って追加された旨のメールが届いた。 それまで「受け付けた」自動返信メールなどは特にこないので、本当に受理されているのかはちょっと不安だった。 連絡がきた後、使えるようになるまでは最大24時間かかることがあるとのこと。 実際5時間後の時点ではまだ使えるようになってなかった。 しばらく経つとネットワークに参加できるようになる。
これで完了。
Web サイトのドメインとメールのドメインが同一だったので特に議擬なく手続きが進んだのかな。
あとはネットワークへの参加を行う。
[アカウント]-[アカウント設定]-[ネットワーク]
のページを開いて、ネットワーク名(勤務先名称)とメールアドレス(勤務先の)を入力。 勤務先メールアドレスに「Facebookネットワーク参加の確認」メールが届くのでそこにある確認用の URL を踏むことでネットワークに参加される。
なお
このネットワークに参加しています。以前に「友達のみ」や「友達の友達」にしたプライバシー設定が今「友達とネットワーク」に設定されている可能性があります。必要であれば、プライバシー設定を調整してください。
と表示されるので確認したところ、「友達のみ」のものや「カスタマイズ」で特定の人として友達リストを指定(記事)していたものなどに自動的に今参加したネットワークが追加されていた。ゲゲッ。携帯電話番号などもネットワーク参加者に公開する設定に変わってた(まあ新規作成したばかりのネットワークでまだ自分しかいないので現時点では問題ないのだが)。 ということで手動で設定を変更。
プライバシー設定が気になる場合には一旦手動で「自分のみ」に変更してから、ネットワーク参加手続きをして、参加してから元に戻し必要に応じてネットワークへの公開設定を選んだ方がいいのかもしれない。
でネットワークはできることは「ネットワーク参加者への共有レベルへの設定」と「ネットワーク参加者に絞ったユーザー検索」ぐらいなのかな。
簡単なので勤務先のネットワークが無い場合は作ってもらうといいよ。
ちなみに Naney の Facebook ページは http://www.facebook.com/pages/Naney/171837592833577 です。 プロフィールページは http://www.facebook.com/pleasuright です。
ジョセフ・マーフィー「マーフィー名言集」の
76【世俗的な事柄】世俗的な事柄を否定することは間違っています。わたしたちの生活の大部分は世俗的な事柄でできあがっています。それをつねに高める努力をしなさい。-- しまずこういち編著「マーフィー名言集」p.41
を10代の頃読んで以来、俗っぽいかどうかを価値基準にしなくなった。
無線 LAN アクセスポイント AirStation WLA2-G54 の設定を見直し。 購入した時に [ANY接続]を[許可しない](SSID ステルス化も行われる)に設定したんだけれど許可することにした。
SSID ステルス化はセキュリティ的に効果がなく(簡単に発見できる)、接続トラブルの元で、端末を自動接続させたい場合には違う場所でもその端末から SSID を垂れ流すしかないということで。
あわせてデフォルトの MAC アドレスのままだった ESSID(SSID)を変更。パスワードを新しいものにした。端末を片っ端から変更するのがちょっと手間だけれど無事完了。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。
※内容は個人的見解であり所属組織とは関係ありません。