トップ(最新) | <前

nDiki : JavaScript

JavaScript

スポンサード リンク

Related term

2007年4月3日 (火)

WiKickerJSON でのページ出力機能を追加 このエントリーを含むはてなブックマーク

スポンサード リンク

最近は DiKicker ばかりに手を入れていたが、久しぶりに WiKicker の改良も行っている。 しばらく前から実装を始めていた JSON 形式での出力機能が今日完成。

今までは WikiPage について

  • HTML 形式による出力
  • Wiki 文法で書かれている生テキスト形式による出力

という2つの出力形式を持っていたので、JSON が加わることで3つめとなる。

@ サーバ側で WikiPage の構文解析まではやる

クライアントサイドの JavaScript でページの内容に合わせて様々な処理をできるように、サーバ側で構文解析まではしてあげるというのが主な目的。

JavaScript でまたパーサを書いてメンテしていくのも大変なので、その部分はサーバでやってしまおうかと。 構文解析した結果の解析木を JSON 形式で返して、JavaScript 側であとはお好きにという形。

@ CPAN にある JSON モジュールを使用

サーバ側の Perl プログラムには、構文解析をして解析木を作れるようになっている。 この解析木から Visitor パターンで JSON 形式を生成していく。

依存モジュールを増やすことを避けるべく、最初は自前で JSON 形式に変換していこうと思ったのだがやっぱり面倒だった。 ということで CPAN にあるモジュールをチョイス。

JSON 関連では JSONJSON::Syck、JSON::PC などがあるが今回はインストールのしやすさを考えて pure Perl モジュールとして実装されている JSON を採用することにした。

Visitor クラスで解析木を無名ハッシュ/無名配列のツリーに変換して、JSON モジュールに流しこめば OK。

 use JSON;
 my $json = JSON->new(pretty => 1);
 my $js = $json->objToJson($tree);

WiKickerフレームワークにはフォーマット別に出力を切り換える機構があるので、これに JSON を追加して application/json で送るようにして完成。

ちなみに残念ながら JSON 1.07 は Perl 5.005_03 では make test が fail するので、NaneyOrgWiki では使えない。

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox


[ 4月3日全て ]

2007年4月13日 (金)

クリッピングに便利な CMSTumblr」を使ってみる このエントリーを含むはてなブックマーク

Twitter と一緒に取り上げられることの多い Tumblr の方も試しに使ってみることにした。 一緒に取り上げられているといっても、両者は結構違うサービス。 Tumblr はどちらかというと Web コンテンツをクリッピングしていくのに便利なネットサービスだ。 Tumblr ではメディアミックスな短かめの投稿によって構成される tumblelog と呼ばれる Blog の一種を作ることができる。

Tumblr はページのテンプレート(HTML)を好きなようにいじれるのが魅力的だ。 Google AdSenseJavaScript コードなども挿入することができるので、結構好きなようにページにパーツを埋め込むことができる。

早速アカウントを作成して、tumblelog なるものを作ってみた。

まずは設定の方から。「Change settings」から設定ページに移動する。

  1. Title: tumblelog のタイトルを書く。
  2. Description (任意): tumblelog の説明を書く。
  3. URL: tumblr.com のサブドメインの URL をもらえるので、名前を入力する。ドメイン名を持っていればそれを割り当てることもできる。
  4. Theme: あらかじめ定義されているものを選べる。Custom を選択して、HTML テンプレートをいじることもできる。定義済みのものをカスタマイズしたいなら一旦そのテーマを選んで保存してから、Custom に変更する。
  5. Import Feeds: RSS フィードや ATOM フィードから自動的に記事をインポートしたい場合、Feed を登録する。例えばFlickrTwitterはてなブックマークなどへ投稿したものを自動的に Tumblr の方でインポートさせることができる。

テンプレートをいじって Twitter のバッジを貼ってみたり、テスト投稿をしてみたりしてまずは様子見。

nDiki に書くほどではないけれども、はてなブックマーク以上の言及をちょっとしたい時などのクリッピングに使ってみようかと思う。

ただ検索機能・タグ機能などは今のところ無さそうなので、書きっぱなしになってしまわないかという懸念あり。


[ 4月13日全て ]

2007年7月11日 (水)

nDiki に「はてなスター」をつけてみた このエントリーを含むはてなブックマーク

本日よりはじまった「はてなスター」をつけてみた。 nDiki (by DiKicker) はほぼ tDiary 互換の HTML 構造なので、はてなスターの JavaScript プログラムを読み込むようにするだけで、各記事の見出しに Add ボタンが表示されるようになった。素晴しい。

ページの HEAD 要素の中で JavaScript プログラムを読むように指定されているのだが、今の DiKicker ではちょっと手を入れる必要があるので、とりあえずフッタ部分に挿入。


[ 7月11日全て ]

2007年11月9日 (金)

Twitter ステータスを nDiki サイドバーに表示 このエントリーを含むはてなブックマーク

公式の Flash 版 Twitter badge をこのページのサイドバーに表示していたが、以下の点でちょっと不満だった。

  • 「Flash, Just Me」: 自分のみのステータスを表示できるが、1度に1つのみ。キャッシュの関係で古い情報が表示されがち。
  • 「Flash, With Friends」: 自分のみのステータスを表示できない。
  • 「HTML/JavaScript」: JavaScript ファイル読み込みなので、Twitter 側が重いとページのその先のレンダリングが止まってしまう。

「自分の過去のステータスを一覧的にサイドバーに表示する」のがしたいことなのだが、ちょっとマッチしない。 ということで Twitter から RSS フィードを取ってきて、サイドバーに表示することにした。

使ったモジュールは URI::Fetch + XML::RSS + Date::Parse。 それとユーティリティとして WiKicker::HTML と WiKicker::URI。

  1. cron で定期的に Twitter から RSS フィードをとってきて、Perl スクリプトで HTML フラグメントに変換。
  2. DiKicker が読み込む(サイドバーを含む)フッタファイルに挿入。

と簡単に実装してみた。機能的には概ね満足。

今後は L:~ や URL自動リンク化、キーワードの自動リンク化を適宜したい。


[ 11月9日全て ]

2008年2月2日 (土)

資源有効利用促進法にもとづき、ディスプレイの回収を申し込んだ このエントリーを含むはてなブックマーク

普段はノート PC ばかり使っていて、自宅にある自作 PC はここ数年年賀状の作成程度にしか使っていなかった。 いい加減、場所ばかりとって邪魔なので廃棄することにした。 ということで有給休暇をとった昨日、データをノート PC や、外付け HDD にコピー。

で今日はディスプレイの回収の手配。 資源の有効な利用の促進に関する法律(通称、資源有効利用促進法)に従ってメーカーに回収してもらう必要がある。

こちらは1999年に購入したソニーCPD-G200J。 当然 PC リサイクルマークがついていないので、回収・再資源化料金を払って回収してもらうことになる。

手順を確認して、Web から申し込み。 予算が少ないのか、作りがショボい。 最後の確認画面まで進まない。 しょうがないので、HTML のソースを見てみた。 JavaScript コードで hidden パラメータのあるフォームを自動的に POST させている部分がうまく動いていないようだ。 しょうがないので URL の後ろにパラメータをつけて GET リクエストしてみたら、受け付け完了した。 決済にクレジットカードがあるのにちょっとひどい。

とりあえずなんとか申し込み終了。 税込4,200円也。 エコゆうパック伝票待ちだ。

ディスプレイは結構綺麗に使ってきたので、まだまだ十分使えるんだけれどなぁ。 しかし17インチとはいえ自宅においては場所占めすぎ。

買った当初は「発色とか考えると液晶モニタではなく CRT モニタだよね」とか思ってチョイスしたんだけれどねぇ。


[ 2月2日全て ]

2010年10月15日 (金)

今日のさえずり: 「We はーと blog」シールをさっそく貼っといた このエントリーを含むはてなブックマーク

@ 2010年10月15日

naney:5085927367


[ 10月15日全て ]

2010年12月17日 (金)

今日のさえずり: 最初に手に入れたのが PC-88VA2 だったのを当てられて震えてる このエントリーを含むはてなブックマーク

@ 2010年12月17日

  • 09:49 Androidモバイル Google マップについにコンパスモードが入った。しかも 3D バードビューでたまげた。 #Xperia
  • 10:32 今日 18:00 から来客か。掃除当番、来週の月曜日かな。
  • 11:24 ちょっとパフォーマンス エクスプローラ走らせたら、あっという間に vsp ファイルが 7GB 超えて HDD 残り容量 1GB 切ってしまったので残念停止。
  • 11:36 さくらのレンタルサーバで1ファイルの最大サイズの制限ってあるのって質問された? あるの?
  • 11:45 Movable Type でのアップロード制限にかかったっていう話らしい。mt-config.cgi が CGIMaxUpload 400000000 になってる。
  • 12:11 弁当 350円。
  • 12:12 消化器のところに「雑布」って書かれたブツがあって気になる。いちおう「ぞうきん」ってルビが書かれているけど……。
  • 12:33 ペプシネックス2本冷蔵庫に入れておかないと。
  • 12:45 Evernote の毎月のアップロード容量 1GB までになったんだ。これだけあるとサイクルの始めでも数十 MB レベルのファイルを気にせずにアップロードできるな。 #Evernote
  • 14:19 msconfig による対処方法をマスターした。
  • 16:43 今回のミーティングでの成果は、グループ長が元一太郎ユーザだということがわかったことだ。
  • 17:05 LaTeX2e で文書を作っているのに対して「Word でも2つの文書の比較と反映できますよ」って言われた。へぇ!
  • 17:06 (で、GitSubversion 上での diff や merge は?)
  • 17:13 Git だと diff アトリビュートを設定するという手があるのか。
  • 17:37 Movable Type で構築してあるサイトのトップページが更新されないって話、更新はされているけど Last-Modified が古いままっぽい。
  • 17:48 中の方は実際に変更が反映されていないページがあるみたい。Movable Type 使ったことないんだけれど、これ再構築っていうのが必要なのかな。
  • 17:55 トップページは新着情報のところ JavaScript コードで生成しているのか、それで Last-Modified が古いままだと。
  • 21:59 ConnectBotキーボードが出ないと思ったら ATOK だと駄目みたい。POBox Touch なら OK だった。 #Android #Xperia
  • 22:11 駄目なんです。ブルッとはするけどせり上がってこない。 RT @indigomode: ATOKはメニューキー長押しでもダメでしたか? RT @naney: ConnectBotキーボードが出ないと思ったら ATOK だと駄目みたい。
  • 22:46 俺は、中学の頃『@NaneyにはPC-88VA2が似合う』と言われ、電波の移植ソフトと一緒に買ったんだが、その時の思い出を語ろうと思う http://shindanmaker.com/69826
  • 22:50 最初に手に入れたのが PC-88VA2 だったのを当てられて震えてる。
  • 22:55 ベーマガはたまに読んでたけど、移植ソフトウェアって何があったっけ。

[ 12月17日全て ]

2011年5月30日 (月)

今日のさえずり: 自分 MH 派なんだと思います このエントリーを含むはてなブックマーク

@ 2011年05月30日

  • 07:14 ズーラシア決行決定。
  • 09:47 出社。
  • 11:21 JavaScript で テンキー * のキーコードをチェックしている箇所があるのだけれど、テンキーレスなキーボードなので挙動確認できないという罠。
  • 11:30 Google Chrome + XKeymacs で C-w でタブを閉じられないのがイラっとするので kill-regision の割り当て外した。
  • 12:45 RT @yamaz: 本当の辛さ教えてよ.壊れかけのRAID0.
  • 13:40 レビューに出そうと思っている途中に SQL クエリの別案が思い浮かんでしまった。回数減るけど負荷が高そうで結果的には最初の方がいいんじゃないかとは思うんだけど。
  • 14:05 特選大戸屋ランチ 620円。 (@ 大戸屋 ごはん処 渋谷宮益坂店) http://4sq.com/leHVk8
  • 14:29 ガタンゴトンって銀座線か。
  • 19:17 Becky!メールが壊れるのがやっぱり嫌なので Sylpheed に乗り換えた。1メール1ファイルの方がやはり安心感がある。
  • 19:28 @atq MH 形式です。Mew も MH だったし、自分 MH 派なんだと思います。
  • 19:38 退勤。
  • 19:48 @atq pochy 初耳です。使いやすいですか? ちなみに Sylpheedポータブルアプリケーションとして使えます。
  • 20:00 あ、傘会社に置いてきた。
  • 21:31 RT @mixi_PR: Graph hack アワード開催!mixiAPIを使って「人間関係を、ちょっと便利におもしろくする」サービスやサイト、アプリなどを募集中です。詳細はこちら:Graph hackアワードbyGMO http://t.co/IsTzSa7 via ...
  • 22:15 既に猛烈に眠い。
  • 23:39 健康診断の結果届いてた。やはり聴力所見ありって書かれてた。
  • 23:39 貧血ぎみだけと日常生活に支障なしはいつも通り。
  • 23:41 クレアチニンが低いのもいつも通り。
  • 23:42 去年何度やっても出た尿潜血は出ていないな。

[ 5月30日全て ]

2011年8月11日 (木)

今日のさえずり: JavaScript コードいじったりしていると、気がつくと息していない このエントリーを含むはてなブックマーク

@ 2011年08月10日

@ 2011年08月11日

  • 07:08 そのアイコンのフィギュア怖い。 RT @lapis25: 【lapis25ファンクラブ】|入会特典 lapis25フィギュアストラップイベント lapis25祭り(6月)幼女と遊ぼう(毎週月曜)|年会費 10000円| http://t.co/QnaltA5
  • 13:43 お借りする本、昨日の夜中12時近くにわざわざポストに届けていただいたので、土曜日の朝までに読み切る。歴史物。
  • 13:57 てりやきチキンフィレオセット 470円。 (@ マクドナルド 南青山店) http://4sq.com/qAQogw
  • 14:45 歴史物って、事実と推測と主張の読み分けにエネルギーがいる。
  • 18:30 久しぶりに JavaScript コードなんかいじったりしていると、気がつくと息していない。
  • 19:36 @yasa_gurek0 1時間以上息止めてました。
  • 21:04 退勤。

[ 8月11日全て ]

2011年10月14日 (金)

YAPC::Asia Tokyo 2011 1日目 このエントリーを含むはてなブックマーク

@941 → @obra → @miyagawa → @naoya_ito → @ockeghem → @fujiwara → @zigorou → @ikasam_a → @overlast → @lestrrat (LT)

今年は講堂に YAPC タイムラインを写すスクリーンが公式に用意されたため、発表者が Growl 起動してなくても Tweet をシェアできるようになった。自分の端末に目を落とさなくても良いのでいいね。機材や場所の制約があって難しいのだろうけど、他の会場にもあると嬉しいな。

@ トーク

@ Perl 5.16 and beyond: Jesse Vincent (@obra)

Perl 5 が互換性を大切にしていく。コアを小さくしていく。

成熟期に入っているので、膨大な資産が継続して使い続けられることはとても重要な要素。

@ Carton: CPAN dependencies manager: Tatsuhiko Miyagawa

CPAN モジュールインストール状態の記録と再構築を容易にする Carton の紹介。

6年前とかにこういうの欲しかった。 特にパッケージ製品とか作っていると、動作確認のとれた依存ライブラリ一式の保存と管理が大切。自前で tarball 保存(+ PPM パッケージ作成と PPM リポジトリの構築)をしていた日々が思い出される。

@ SmartPhone development guide with Node/CoffeeScript and HTML5 technologies, for Perl programmers: Naoya Ito

JavaScript のお話。

@ Webアプリでパスワード保護はどこまでやればいいか: 徳丸浩

まだまだソルト健在。レインボーテーブルは発想が賢い。

@ Perlで構築された中規模サイトのDC引っ越し記録: FUJIWARA Shunichiro

稼働中のサービスのサーバ移転に関する顛末。

@ Mobage オープンプラットフォームの事件簿: Toru Yamaguchi

MySQL なお話。

@ 他言語から見たPerlのテスト: Masaki Nakagawa

テストフレームワーク・テスト用モジュールいろいろあるね。 浅く広く紹介。

@ Apporoで類似文字列検索: Toshinori Satou

前半は技術開発プロセスに関する雑感、後半は類似文字列検索 Apporo の紹介。

@overlast 氏とは懇親会で話をさせていただいて「うーん、やはり悪徳業者投稿コンテンツの検出はヒューリスティックにやっていくしかないのかな」という点で意見が一致。

@ LT

いろいろ。

@ 懇親会

思ったより食えました。

前職で一緒に研究開発をしていた @k12u 氏と再会できて嬉しかった。かわらず元気そうで何より。

Perlっ!」って話は最初の2本で、後はその他の技術もろもろ。アリだけど個人的にはもっと Perl の話も聞きたーい。


[ 10月14日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.360198s / load averages: 3.64, 3.41, 2.51
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)