nDiki : 9月13日

2004年9月13日 (月)

Template Toolkit + PAR

今回のプロジェクトに Template Toolkit を本格的に適用しようかと。 問題となるのは PAR にした時に、どのようにテンプレートを取得するか。 (PARでない場合は)テンプレートはモジュールと同じ位置にインストールしておき @INC から探すようにするつもり。

ということで泥臭いが「起動時に一時ディレクトリに展開してしまう」という方法を選択。 %PAR::LibCache を舐めて拡張子が 'tt2' であるものを、File::Temp で作ったディレクトリに放り込んで、Template の INCLUDE_PATH に指定する (実際には上記の処理を行うオブジェクトを作って INCLUDE_PATH で指定)。 Daemon 系ならこれで十分。

で、順次 Perl モジュールに散財していたHTML出力をテンプレートベースに変更。 コードがかなりすっきりしてきて気持ちいい。

今回の作業で @INC にサブルーチンリファレンスやら、オブジェクトやらを渡せることを初めてしった。実際 PAR で利用している。 CODE の混ざった @INC をそのまま Template の INCLUDE_PATH に渡すとエラーが起きるので除外したものを渡すように。

スポンサード リンク

過去の今ごろ

過去の9月13日より。

[ 9月13日全て ]

2005年9月13日 (火)

[ WiKicker ] hell mode - HTMLタグ付けブロックの導入

WiKicker では、直接 WikiPageHTMLタグを記述して表示に反映させる機能を提供していない。

HTMLタグ付けを許すのは嫌だ

HTMLタグ付けを許すと

  • 入力ミスによるトラブル
  • 悪意ある入力によるトラブル

が起きやすくなるし、ページのソースの単純さが大きく失われてしまう。 レンダリングしてHTMLにした時に、正しいHTMLを出力されることを保証することが困難になるとともに、HTML以外へのレンダリング/コンバートもかなり難しくなる。

この機能を導入すると、Wiki の良さの半分(あるいはもうちょっと沢山か、もうちょっと少なめ)が失われてしまう。

でも

とはいえ欲しいという声があることも事実。 オープンな WikiForum では全くお勧めできないが、閉じたユーザグループの中ではまぁ必要悪なのかもしれぬ。

また正直ちょっとした表現を追加したい時に、WiKicker 用のプラグインを書くのも面倒だというのは確かにある。

WiKicker では開始・終了マーカによる複数行にまたがるブロックを表すための文法は(閉じ忘れを避けるため)意図的に排除してある。 このため、複数行にわけて書きたいような長いデータを扱うような拡張も導入しにくい。

ちょっと手抜きして「生HTML書けちゃえば」という誘惑はなくはない。

大人の事情

ということでまあ自分に言い訳をしつつ、標準ではオフというかたちで HTMLタグ付けブロックを導入することにした。 スイッチは hell mode とかにしたい (今回は syntax.html というプロパティ名にしたけれど)。

記法は単純に、

 normal wiki syntax text...
 <html>
 html tagged text...
 ...
 </html>
 normal wiki syntax text...

のように行頭が <html> である行から、行頭が </html>である行までをHTMLタグ付けブロックとすることに。 このため、<html>ではじまる段落が書けなくなるという小さな非互換が発生するが、いたしかたない。

サニタイズ

HTMLタグを直接使えるようにするとはいえ、全てを許してしまうのはあまりに危険で非人道的すぎる。 有効なHTMLタグや属性は限定的であるべきだ。

このあたりの処理は面倒だが、幸いにしてCPANにモジュールがある。 今回は HTML::Scrubber を使うことにした。 HTML::Parserを使って parse し、指定したルールに従ってサニタイズしてくれる。

ちょっと使ってみた範囲では日本語(UTF-8UTF8 フラグなし)でも問題ないようだし、文法的に正しくなくてもきちんとサニタイズできているようだ。

ということで、これを採用することに。

どの要素・属性を許すかはまだきちんと決めかねる。 当面は様子をみながら、調整していく予定。 サニタイザは設置者が置き換えられるようにプラガブルにしておかねばならないな。

[ WiKicker ] destination anchor を打てるように

WiKicker には終点アンカー(HTML だと name and/or id属性付きA要素)をページ中に書く機能がない。

  • 直観的ではない。この機能を知らない人が WikiPage を編集しようしたときに、ソーステキスト中にこれがあるのはよろしくない。HTMLを知っている人なら問題ないかもしれないが、そうでない人にはわかりにくい。
  • アンカー名の一意性の保証が面倒
  • 終点アンカーを書いて、他からご丁寧にリンクしても Wiki の正確上誰かが編集してすぐ無くなっちゃうかもしれない (そういってしまえばページそのものもそうであるが)。

等の(自分なりの)正当な理由で追加していなかったのだが、まぁ必要になったのであっさり追加することにした。 アンカーテキストに WiKicker のインライン要素を書けるようにするかどうか迷ったが、HTMLでレンダリングする際にA要素のネストを避けたりするのが大変なので書けない仕様にすることにした。

 [[anchor:anchor_name]]
 or
 [[anchor:anchor_name][anchor_text]]

という表記 (WRN scheme)を追加。 アンカー名の一意性の保証はまだ未実装。 やっぱやらんといかんかな。

[ 9月13日全て ]

2006年9月13日 (水)

Test::WWW::MechanizeWeb アプリケーションテストファースト開発

テストファースト開発に慣れてしまうと、テストコード無しにプログラムを書くというのは不安でたまらなく感じてくる。

テストが欲しい。安らぎが欲しい。

開発している WiKicker ベースの Web アプリケーションもだんだん機能が増えてきて、コードを触るのがコワくなってきた。

今回は Basic 認証等もあるので、WWW::Mechanize::CGI ではなくてきちんと deploy してから Test::WWW::Mechanize でテストすることにした。

Test::WWW::Mechanize、使ってみると WWW::Mechanize + Test::More よりテストを書くのも読むのも楽になった。

deploy が必要なリグレッションテストはさすがに t/ の下に入れておくのはどうかと思う。 プロジェクト的にはビルドサーバを用意して、そこで自動的にテストできるような環境を用意するのが良さそうだ。

[ 9月13日全て ]

2007年9月13日 (木)

外出先でも FOMA 端末を充電できるバッテリ - FOMA 補助充電アダプタ 01

naney:1377046188

近々遠出をする予定がある。その間のバッテリ容量の少ない FOMA D703i電池が心配なので、移動中でも FOMA 端末を充電できる充電器を探してみた。

コンビニでも売っているような、使い捨てや乾電池タイプはパス。単n形の充電池についても別途充電器を持ち歩く必要が出てくるのでパス。直結タイプも端子を痛めそうでイヤ。

リチウムイオン電池内蔵タイプで探すと、NTTドコモの純正オプション「FOMA 補助充電アダプタ 01」が順当か。

AC アダプタ内蔵でコンセントに直結し充電可能」で、またそのまま「FOMA 端末 AC アダプタ」としても使える、リンケージのACL-01W にもちょっと魅かれたが、「FOMA 補助充電アダプタ 01」に比べて電池容量が少ないのと、大きさ・重量の点でちょっとためらった。 ちょうど今日、信号待ちしていた隣の人が手にしていたのを偶然見たのだがちょっと大きいな。

FOMA 補助充電アダプタ 01

ということで「FOMA 補助充電アダプタ 01」をチョイス。 サンヨーOEMKBC-L1 とほぼ同等品。

FOMAAC アダプタを使って充電しておき、外出先でこのアダプタから FOMA 端末を充電する。 「AC アダプタ」-「FOMA 補助充電アダプタ 01」-「FOMA 端末」とつなげておくと、それぞれ充電してくれるという点は便利。 説明書によると「AC アダプタ」-「FOMA 補助充電アダプタ 01」-「卓上ホルダ」-「FOMA 端末」は NG らしい。 D703i はカバーを開けにくいので、卓上ホルダと AC アダプタの間に挟んで充電しておきたいんだけれどなぁ。

サイズ的には結構コンパクト。 ストラップホールもついているけれど、しかしぶら下げておくってモノでもないな。

遠出する際チャック付きビニール袋にでも入れてバッグに放り込んでおくことにしよう。

今日のさえずり

[ 9月13日全て ]

2009年9月13日 (日)

10:30 床屋 - 半分寝ながら

いつものアドバンストヘアーナカタニで。 6月20日以来2カ月半ぶり。

ここ最近のパターン通り半分寝ながら。

いつもより短めに切ってくれた感じ。さっぱりして満足。

[ 9月13日全て ]

2010年9月13日 (月)

Tweet Button を押してもすぐ投稿されるわけじゃない

遅ればせながら Twitter 公式の Tweet Button (http://twitter.com/goodies/tweetbutton)を nDiki につけてみた。

  1. Button は Horizontal count をチョイス。
  2. 1ページに複数記事/複数 Tweet Button が入ることがあるので、Tweet text は自前で設定する。ボタン用 HTML フラグメント中の data-text 属性に記事タイトルが入るようにシステムを設定。
  3. 同様に URL はボタン用 HTML フラグメント中の data-url 属性に設定。
  4. Language は English (ボタンテキスト Tweet) のままの方がカッコイイのでそのままで。
  5. Recommend people to follow (optional) は自分のユーザ ID を指定。
  6. 生成されたコードを nDiki のシステムに埋め込み。

これで各記事の下部に Tweet Button が表示されるようになった。 もうちょっと手間かなと思ったがそれほとシステムに手を入れることなく埋め込めた。 なお、1ページ1記事なら Tweet Button の方でページの URL をタイトルを拾ってくれるのでもっと簡単。

貼り付けたボタンを押すと投稿ウィンドウが開く。必要ならテキストを追加・編集した後に tweet できる(ボタンを押してもただちに tweet されちゃうわけではなく、キャンセルもできるから押してみて)。

そうそう、短縮 URL サービスはちょっと話題の「t.co」。URL の後ろに + をつけても bit.ly みたいに情報が見られるわけではなかった。

今日のさえずり: FRISK ピンクグレープフルーツか

2010年09月13日

フリスクオレンジミント

  • 09:58 缶コーヒー 100円。
  • 12:08 鷄そぼろ弁当とお茶 501円。
  • 12:10 セブン-イレブン弁当の「横からも切ることができます。」テープ、以前より改良されたな。前のはボロボロになって手について酷かった。
  • 12:52 2008年にちょっと改変したまま放置していたコードをコミット。CVS 触るの久しぶり。
  • 13:00 RT @fwafwa_: 定食屋で「このうどんセットください」って店員に言ったら、「うどんですね!?そばもありますがうどんでよろしいですね!?」って何回も聞かれたから内心(そんなに確認しなくてもいいのに…)って思ったけど、数分後にそばセット出てきたからもっと確認しろよと思った。
  • 13:17 「ウィンドウが画面の端に移動されたときに自動的に整列されないようにします」をチェック。これでイラッとが減る。
  • 14:13 ミーティング開始3分前に延期のメールを送信してもらっても、出席準備満々でもうメールなんて見てない。 Gmail の poll サイクル的にも受信できてないし。
  • 15:29 Xperia ここ最近調子悪い。今もシャットダウン終了できなくて電池外した。
  • 18:49 キリがいいので今日は上がり。
  • 19:19 夜アトレ。
  • 19:22 FRISK ピンクグレープフルーツか。気になる、気になる。
  • 19:54 うわ、外蒸すなあ。こっちも雨来るのかな。
  • 21:20 熱海の捜査官の公式サイト見てる。用語辞典と南熱海の地図がいいね。
  • 22:34 テレビどれにしようかな。 REGZA なら 37V型の 37ZS1 かなあ。 http://amzn.to/cwe4lQ
  • 23:04 風呂入っている間に雨。涼しくなるかな。
[ 9月13日全て ]

2011年9月13日 (火)

今日のさえずり: ギレン・ザビ35歳か

2011年09月13日

[ 9月13日全て ]

2012年9月13日 (木)

今日のさえずり: iPhone 2000 出たか

2012年09月13日

[ 9月13日全て ]

2013年9月13日 (金)

docomo Wi-Fi 接続安定しないし遅かった

昨日「docomo Wi-FiのWEP方式廃止に伴うSSID「docomo」提供終了のお知らせ」というお知らせかがドコモから出ていた。docomo Wi-Fi は今後は WPA2 用の SSID 0000docomo と 0001docomo(IEEE 802.1X ログイン)になるらしい。

WEP の間は公衆無線 LAN サービスは使わないと決めていたのだけれど、WPA2 になるなら iPod touch も買ったし使ってもいいかなとちょっと思った。docomo Wi-Fi永年無料キャンペーン対象なので無料だし。

ということで Web で申し込みを済ませた後、会社帰りに試してみた。結論からいうとあまり良くなかった。0000docomo が見つかってもつながりにくいし切れやすい。つながっても通信はテザリングより遅い。 渋谷駅のホームで接続設定して、その後乗り換え駅や下車駅でも試したんだけれどどこもよろしくない。あと 0001docomo は見つからなかった。

飲食店とか特定のスポットなら使えるのかもしれないけれど、普通に街中では使いにくそげ。

端末に設定残しておくと、アクセスポイントが見つかってしまった時にわざわざ不安定で遅い Wi-Fi 接続になって残念なことになりそうなので、設定は削除かなあ。 WPA2-PSK だとアクセスポイントなりすまされたらおわりだし。

今日のさえずり:

2013年09月13日

  • 07:40 @py0n プログラミングしながら歌うの?
  • 08:43 “IE でアクセスしてきた場合ハローワークにリダイレクトする js のホスティングを開始しました - ltcmdr927atenablog” http://bit.ly/14KpKWs
  • 09:29 クレンジング剤の CM は目に入らないところでやって欲しいと思うのは、やはり男のエゴですかね。
  • 17:35 集中してコードレビューしたので脳の糖分無くなった。
  • 20:11 Class::Accessor::Lite にしましょうということになった。継承しなくてよいですし。
  • 20:58 ロマン。 / “惑星探査機ボイジャー1号、ついに太陽圏外に | 太陽系 | sorae.jp” http://bit.ly/18Z3UKJ
  • 20:58 こっちの方がビッグニュース。 / “ドコモからのお知らせ : docomo Wi-FiWEP方式廃止に伴うSSID「docomo」提供終了のお知らせ | お知らせ | NTTドコモhttp://bit.ly/15X616V
  • 24:01 コスモクロック21、予想以上に高い。
[ 9月13日全て ]

2014年9月13日 (土)

箱根旅行 2014 旅行記2日目

箱根旅行 2014の2日目。

7:07 起床

6:00 ぐらいに起きてとも思っていたのだけれど、昨晩スマートフォンのバッテリが無くて充電のために枕元に置けずアラーム仕掛けるのをやめたら、起きたの7:00 過ぎていた。興奮しているのかなんか浅い眠りで夢見がちだった。そういえば宿で浴衣で寝ると変に汗をかいた感じになるのはどうしてなのだろう。

昨日熱を出した1人も平熱で今日は大丈夫っぽい。

08:00 朝食

朝食を昨日と同じ席で食べる。朝はレストランが明るくて良い。今日は和食。朝食後にラウンジコーナーでコーヒーでもと思っていたのだけれど、朝食にコーヒーもついていたのでここで済ませた。

9:20 部屋に戻り。

10:37 和奏林出発

今日は1日箱根小湧園ユネッサンの日。双子茶屋停留所まで歩き、そこから箱根登山バスでユネッサン前停留所へ(箱根湯本方面行きは止まるけれど、箱根町方面だと止まらないバス停)。

11:08 箱根小湧園ユネッサン

naney:15107896639

トスラブ箱根の周辺契約利用施設ということで和奏林を出発する時にフロントでもらった利用券を提示してお得料金で入場。リストバンドでロッカーの開錠/施錠ができるのとても便利。

バスタオルはレンタル。遊んでいて浮き輪もレンタルしたいなと思ったのだけれど、浮き輪は購入のしかなかった。残念。あと水着エリアだと周囲にバッグかけ用のフックがあってそこにプールバッグをかけておけるので、持ち込み用のバッグを用意しておいた方が便利。風呂(プール)間の移動の時などバスタオルで体を拭かないと寒かったので、バスタオルもバッグにいれて持ち込んだ方が良かった。

入ったのは

  • ユネッサン
    • 神々のエーゲ海
    • ボザッピィの湯ゥ遊広場
    • ガリガリ君ソーダ風呂
    • 古代ローマ風呂
    • ボザッピィのジャングルジム
    • ロデオマウンテン (ウォータースライダー)
    • 龍の水辺
    • ふしぎな洞窟風呂
    • 段差風呂
  • 湯〜とぴあ

あたり。芋洗い状態だったけれどもワイン風呂に入れたので満足した。風呂/プール的には神々のエーゲ海とふしぎな洞窟風呂が楽しい。

昼食は神々のエーゲ海横のファストフード「フォンターナ」で。海の家的なカレーや焼きそばがある。お子様カレーは、お子様用にしてはちょと辛いみたい。

13:56 一足先に着替え完了

さきに着替え終わって5Fのソファのところで女子待ち。 FinePix XP70風呂で大活躍して満足。ただ中で1度落としたためか、あっさりストラップをつけるところの金具を留めているネジがひん曲がってぐらぐらになっていた。耐衝撃力不足。

14:12 に着替えを終えてきた女子と再会。フロントで精算を終えて 14:28 退場。

14:50 ビタミンキッチン

ユネッサンを退場した後に下のミーオモールでお土産を買ったりした後、軽食&喫茶コーナーのビタミンキッチンでアップルマンゴーソフト食べた。 ビタミンキッチンは1人で回しているのだけれど、メニューのバラエティーが豊富なので驚く。

15:43 ファミリーマート 箱根小涌園店

箱根小湧園ユネッサンを出た後、バスに乗る前に近くのファミリーマートへ。トスラブ箱根の近隣にはお店がないので、戻る前に必要なものを買っておく。あと今回、箱根登山バスSuica を使えて便利で利用しているのだけれど、残高不足になりそうなのでここでモバイル Suica ではない人はチャージ。

それから明日の観光の時に飲むペットボトルのお茶を購入。あと、今日の夜はレストランではなく部屋で呑むのがゆっくりで良いのかということで、柿の種とソフトさきいかも購入。

16:00 小湧園停留所でバス乗車

座ることができて、再び双子茶屋停留所へ。16:11 頃双子茶屋停留所着。

16:18 トスラブ箱根和奏林 ラウンジコーナー

naney:15271621836

トスラブ箱根 和奏林に戻って、まずはラウンジコーナーでフリーのコーヒーを1杯。他に1組ラウンジコーナーにいた。今日からカレンダーで3連休なので、昨日よりは和奏林も賑いそう。

大浴場

男女いれかわって昨日とは違う大浴場。まだ明るいので露天風呂も気持ち良い。露天風呂でゆっくりしたり髭を剃ったりと長湯した。

風呂から上がって部屋で FinePix XP70 の不要な動画を削除しているところで他の人が戻ってきたので慌てたのか、注意していたつもりだったけれども間違えて消さなくて良かった動画を消してしまってちょっとショック。あちゃー。

SDHCメモリーカードを抜いて書き込み防止し、別のメモリーカードと交換。家に帰って復旧トライしたけれども一部上書きされているようで復元ならず。残念。

18:30 夕食

出発に宿には夕食 19:00 で連絡してあったのだけれど昨日の食べ終わった時間を考えるともう少し早くても良いかなと思い、朝の出発時にフロントに 18:30 に変えてもらった。

夕食の時に出してくれる「そばふりかけ」が美味しいのでフロントで売店のどこに置いてあるか聞き(昨日みた時見つけられなかった)、お手頃なので買ってみた。

有線放送

部屋に有線放送が入っているので試しに使ってみる。有線放送懐しい。

部屋呑み

宿の中の自動販売機(普通の値段で買える)で買ったドリンク(自分はメッツ)で、部屋で一呑み。

今日も遅くならないで就寝。

今日のさえずり: ひとっ風呂(どころではないぐらい)した

2014年09月13日

[ 9月13日全て ]

2015年9月13日 (日)

mixi運営オフ#1猫町

naney:21236092519

mixiコミュニティを中心に読書会を展開されている猫町倶楽部の方々をお招きしオフ会mixi運営オフ#1猫町」を開催しました。猫町倶楽部代表・副代表またサポーター(運営ボランティア)の方々にコミュニティ運営のご苦労やノウハウ、また mixi に対する様々なご意見をいただき大変勉強になりました!

詳細はスタッフ日記にまとめました。


[ mixi運営オフ ]

今日のさえずり: ノート PC に貼られたステッカーが結構見られているんだなというのがわかりました

2015年09月13日

  • 06:49 起床。
  • 19:49 ノート PC に貼られたステッカーが結構見られているんだなというのがわかりました。
  • 20:46 やっぱりメッチャ腹減りました。
  • 20:51 UFO があったので UFO にします。
[ 9月13日全て ]

2016年9月13日 (火)

Google Keepチェックリスト表示でプチ草稿作り【日記】

デリケートなメッセージへの返信をする時は「人を動かす」の目次を読み返すようにしています。

スマートフォンで文章を書く際、行あるいはパラグラフ単位で入れ替えができるエディタが無いかと探しているのですが見当たりません。カット&ペーストで入れ替えるのちょっと手間なんですよね。

Google Keepチェックリスト表示にすると、行単位で順番を入れ替えることができるのがちょっと便利だということに気がつきました。入れ替えが終わったらチェックリスト非表示にすればまたフラットに戻ってくれます。ただ undo が無いのでやはり怖いです。

今日 iPod touch 6th が値下げ。今は iPhone 5c が手元にあるので必須ではないのですが、20,800円(16GB 税別)ならスペック的に厳しくなった iPod touch 5th から乗り換えたいなとちょっと思ってしまいます。

今日のさえずり: 想定以上には濡れた

2016年09月13日

  • 09:41 想定以上には濡れた。
[ 9月13日全て ]

2017年9月13日 (水)

金王八幡宮に最近ネコがいる【日記】

image:/nDiki/2017/09/13/2017-09-13-210044-nDiki-1200x800.jpg

例大祭が近くなり金王八幡宮八幡坂が提灯で明るくなっています。

今日のさえずり: 地震保険料振り込み完了

2017年09月13日

[ 9月13日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 1.436775s / load averages: 0.33, 0.25, 0.24
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker