最近「体系的に学ぶ 安全なWebアプリケーションの作り方」という本を読んでいて、「Dancerではどうするのだろう?」と気になった3点についてのメモです。 1. JavaScriptからアクセスしないCookieにはHttpOnly属性をつける。 Dancerでは、デフォルトでHttpOnl…
NetBSD 5はインストール直後の状態ではvndはvnd0〜vnd3の4つしか使えず、例えば「ディスクイメージを2つ使うXen DomUを2つ起動」するとvndを使い切ってしまいます。/dev の下にデバイスファイルを作ればもっと多くの vnd を使うことができるようになるので、…
NetBSDをXenのDomain 0で使うとき、boot.cfgの項目を以下のように作成します。 menu=Xen dom0:load /netbsd-XEN3_DOM0 console=pc;multiboot /xen.gz dom0_mem=512M マシンのディスク構成が マシンにはwd0とsd0が接続されている / はwd0aに作成している とな…
このマシンでは pkgsrc のソースを /home/pkgsrc に展開しています。インストール先は /usr/pkg です。 まず、pkg_alternativesコマンドをインストールします。 # cd /home/pkgsrc/pkgtools/pkg_alternatives # make install 次にruby 1.8とruby 1.9をそれぞ…
http://search.cpan.org/~mmims/Net-Twitter-3.11004/lib/Net/Twitter/Role/OAuth.pm 中にWebアプリケーションの例がありますが、2010年2月13日の時点ではこの通り実行してもtwitter_auth_callback の request_access_tokenで失敗します。成功させるには、ca…
例えばsc-initで作ったディレクトリの名前がtestspだとします。この時SproutCoreの開発用HTTPサーバ「sc-server」はtestsp/tmp以下に一旦ファイルを静的に出力して、これをブラウザに送信しているらしいです。SproutCoreを使ったプログラムを書いているとき…
assets/plugins/Widget-Simple/hatena_bookmark_comments.yaml というファイルを作る。appendでは以下の処理をしている。 permalink先頭の「http://」を削除 livedoor_clip_users.yaml を真似して#を%23に置き換え link: http://b.hatena.ne.jp/entry/ appen…
以下のスクリプトをtest.plという名前で保存します。 #!/usr/pkg/bin/perl use lib '../lib'; use Mojolicious::Lite; get '/' => 'index'; get '/info' => sub { my $self = shift; $self->render(text => 'info page.'); }; shagadelic('cgi'); __DATA__ @…
キャプチャが面倒なので、 ダンスシーンをQuicktime形式で保存し、Macに転送できる。 ようにして欲しいです。現状のXbox 360ではそもそも無理かもしれないので、あまり熱望はしないですが。
Adobe Bridge Homeというサービスがありましたが、今日何気なく開いてみたら終わってました。私もあまり用がないサービスだと思っていましたが。
10 is the oneの話が面白いです。WebアプリケーションではJavaScriptを使ったりサーバ側のプログラムで、WebブラウザのUser-Agentを見て動作を切り替える場合があります。この前Opera バージョン10 のアルファ版がリリースされましたが、User-Agent中のバー…
CSS-Tricksのvideo screencast(http://css-tricks.com/videos/) CSSの書き方の説明やWebサービスの紹介等、Webデザイナー向けのトピックが色々です。内容は本当に「色々」なので、必要と思われるところを適当に拾って見て下さい。 WiredのGadget Lab(http://…
HTML4ではimg要素で画像ファイル(pngやjpg)を埋め込むことができますが、これと同じように動画(movやmp4)をHTMLに埋め込めるようになります。 動画を表現する要素をHTMLが直接サポートすることで動画を調節するパラメータをHTML中に書いたりJavaScriptから操…
Dropbox上のテキストファイルをEmacsで直接編集してしまうと バックアップファイル(ファイル名の最後に~が付いたもの) 自動保存ファイル(ファイル名の前後に#が付いたもの) がDropboxに作られてしまうので、これを避ける設定を探してみました。Mac OS XのCar…
http://d.hatena.ne.jp/technohippy/20080903 で、Perlの文法に対する不満が述べられています。実は不満がある人ばかりだったようで、いつリリースされるか分かりませんが一応Perl6で変更が入ります。 関数定義 Perl6では以下のように書けるようになる予定で…
SproutCoreのドキュメントを読み始めた時にしばらく混乱していた点についてメモ。 1. 運用サーバにはRubyは必須ではない テンプレートの生成ツールや開発用WebサーバがRubyで書かれているので開発に使うマシンにはRubyがあった方がよいですが、SproutCore自…
YDN Theater: Yahoo! Performance Presents: After YSlow "A"によると、機械的な画像ファイルのサイズ削減が結構効果があるらしい。ムービー中では以下の方法が紹介されていた。 1. gif形式のファイルをpng形式に変換する。 同じ画像をgifとpngで保存した場…
NetBSD 4.0_STABLE に dovecot 1.1.1 をインストールしたが、Maildirフォルダの間でメールの移動ができない。このとき、syslogに以下のメッセージが出力されている。 rhine dovecot: IMAP(hiramatsu): fdatasync_path(/home/hiramatsu/Maildir/.INBOX.FF/new…
Gaucheを使ってTwitterのpublic timelineを取得し、名前と発言を順番に表示。 (use rfc.http) (use sxml.ssax) (use sxml.sxpath) (use srfi-1) (define-syntax tweet-item (syntax-rules() ((_ x) (print (second (first x)))))) (define (main args) (rece…
はてなダイアリーのRSS出力だと1段落1エントリになるのですが、それだと読みにくい場合があったので。 plugins: - module: Subscription::Config config: feed: - url: http://d.hatena.ne.jp/はてなID/ meta: follow_xpath: //div[@class="day"]/h2/a - mod…
クリックするとLivedoorクリップにpermalinkを追加するボタンを作る。 http://subtech.g.hatena.ne.jp/otsune/20060814/WidgetLivedoorClip をコピーしているが、html関数の中身を少し変えて使っている。 package Plagger::Plugin::Widget::LivedoorClip; us…
PlaggerでらばQをEntryFullTextするyaml。 #upgrade http://labaq.com/ author: Hiramatsu Yoshifumi handle_force: http://labaq\.com/ extract: <div class="main">(.*?)<div class="amazlet-box" style="margin-bottom:0px;"></div></div>
Plaggerでエキサイトブログで書いているブログをEntryFullTextするyaml。「ネタ休(ネタヤス)ブログ」でしか確認してない。 # upgrade exblog.jp author: Hiramatsu Yoshifumi handle_force: http://.*\.exblog\.jp/ extract: <div class="story">(.*?)</div> extract_capture: body
Plagger の assets/plugins/Filter-EntryFullText/hatena_diary.plがエントリの終わりの場所が上手く見つけられず、本文の途中までしか取得できないことがある。今のはてなダイアリーのHTMLでは、以下のYAMLの方が簡単で実用的(?)かもしれない。 #upgrade…
マウスポインタが重なったときにTooltipを表示したいDOM要素のIDを指定する。Tooltipで表示する内容にはHTMLも指定できる。 <html> <head> <script type="text/javascript" src="ext-2.0/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext-2.0/ext-all.js"></script> <script type="text/javascript"> Ext.onReady(function(){ new Ext.ToolTip…</head></html>
mod_perlハンドラでセッションを使 ではApacheが動いているマシンに1セッション1ファイルで情報を保存しましたが、保存先をPostgreSQLのデータベースに変更してみます。 最初にセッション情報を保存するデータベースにテーブルを作ります。アプリケーション…
mod_perlのアプリケーションで、いわゆる「セッション」を使いたいときは Apache::Session::Wrapper モジュールを使うことができる。 以下のプログラムでは1セッション1ファイルに保存するように設定しているが、保存先はPostgreSQL、MySQL、dbmなどを選ぶこ…
DojoのTooltipは独立したウィジェットとして実装されている。 dojoType="dijit.Tooltip" を指定した要素がツールチップとして表示され、中身のテキストはHTMLのfontタグなどやCSSを使った装飾ができる。 どこにマウスポインタが入ったらツールチップを表示す…
例えば以下のmxmlを見て、WindowedApplication に書ける属性は何か?layoutに設定できる値は何があるのか?などが調べたくなったとき。 <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" backgroundGradientColors="[0xFFFFFF, 0x66AA66]" title="Test App"> </mx:WindowedApplication> 要素はクラスに対応しているので、WindowedApplicationの場合はリファレ…
イベント Ext.Elementの on() メソッドを使う。 loadイベントは Ext.onReady() を使う。 ログ ext-all.js の代わりに ext-all-debug.js を読み込んでおく。 Ext.log() で出力する。 <html> <head> <script type="text/javascript" src="ext-2.0/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext-2.0/ext-all-debug.js"></script> </head></html>