2008-01-01から1年間の記事一覧

ブラウザ検出とOpera

10 is the oneの話が面白いです。WebアプリケーションではJavaScriptを使ったりサーバ側のプログラムで、WebブラウザのUser-Agentを見て動作を切り替える場合があります。この前Opera バージョン10 のアルファ版がリリースされましたが、User-Agent中のバー…

最近見てる videopodcast

CSS-Tricksのvideo screencast(http://css-tricks.com/videos/) CSSの書き方の説明やWebサービスの紹介等、Webデザイナー向けのトピックが色々です。内容は本当に「色々」なので、必要と思われるところを適当に拾って見て下さい。 WiredのGadget Lab(http://…

HTML5で導入予定のvideo要素について

HTML4ではimg要素で画像ファイル(pngやjpg)を埋め込むことができますが、これと同じように動画(movやmp4)をHTMLに埋め込めるようになります。 動画を表現する要素をHTMLが直接サポートすることで動画を調節するパラメータをHTML中に書いたりJavaScriptから操…

DropboxとEmacs

Dropbox上のテキストファイルをEmacsで直接編集してしまうと バックアップファイル(ファイル名の最後に~が付いたもの) 自動保存ファイル(ファイル名の前後に#が付いたもの) がDropboxに作られてしまうので、これを避ける設定を探してみました。Mac OS XのCar…

Perlの感想へのコメント

http://d.hatena.ne.jp/technohippy/20080903 で、Perlの文法に対する不満が述べられています。実は不満がある人ばかりだったようで、いつリリースされるか分かりませんが一応Perl6で変更が入ります。 関数定義 Perl6では以下のように書けるようになる予定で…

SproutCoreで勘違いしていた点について

SproutCoreのドキュメントを読み始めた時にしばらく混乱していた点についてメモ。 1. 運用サーバにはRubyは必須ではない テンプレートの生成ツールや開発用WebサーバがRubyで書かれているので開発に使うマシンにはRubyがあった方がよいですが、SproutCore自…

Webで公開する画像ファイルのサイズ削減

YDN Theater: Yahoo! Performance Presents: After YSlow "A"によると、機械的な画像ファイルのサイズ削減が結構効果があるらしい。ムービー中では以下の方法が紹介されていた。 1. gif形式のファイルをpng形式に変換する。 同じ画像をgifとpngで保存した場…

dovecot 1.1.1 とNetBSD 4.0

NetBSD 4.0_STABLE に dovecot 1.1.1 をインストールしたが、Maildirフォルダの間でメールの移動ができない。このとき、syslogに以下のメッセージが出力されている。 rhine dovecot: IMAP(hiramatsu): fdatasync_path(/home/hiramatsu/Maildir/.INBOX.FF/new…

GaucheでTwitterのtimelineを取得する

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…

「日記モード」のはてなダイアリーを、1日1エントリとして読む

はてなダイアリーの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…

Plagger::Plugin::Widget::LivedoorClip

クリックするとLivedoorクリップにpermalinkを追加するボタンを作る。 http://subtech.g.hatena.ne.jp/otsune/20060814/WidgetLivedoorClip をコピーしているが、html関数の中身を少し変えて使っている。 package Plagger::Plugin::Widget::LivedoorClip; us…

らばQ用のEntryFullText

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>

エキサイトブログ用のEntryFullText

Plaggerでエキサイトブログで書いているブログをEntryFullTextするyaml。「ネタ休(ネタヤス)ブログ」でしか確認してない。 # upgrade exblog.jp author: Hiramatsu Yoshifumi handle_force: http://.*\.exblog\.jp/ extract: <div class="story">(.*?)</div> extract_capture: body

はてなダイアリー用のEntryFullText

Plagger の assets/plugins/Filter-EntryFullText/hatena_diary.plがエントリの終わりの場所が上手く見つけられず、本文の途中までしか取得できないことがある。今のはてなダイアリーのHTMLでは、以下のYAMLの方が簡単で実用的(?)かもしれない。 #upgrade…

ExtのTooltip

マウスポインタが重なったときに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>

Apache::Session::Wrapperの保存先をPostgreSQLにする

mod_perlハンドラでセッションを使 ではApacheが動いているマシンに1セッション1ファイルで情報を保存しましたが、保存先をPostgreSQLのデータベースに変更してみます。 最初にセッション情報を保存するデータベースにテーブルを作ります。アプリケーション…

mod_perlハンドラでセッションを使う

mod_perlのアプリケーションで、いわゆる「セッション」を使いたいときは Apache::Session::Wrapper モジュールを使うことができる。 以下のプログラムでは1セッション1ファイルに保存するように設定しているが、保存先はPostgreSQL、MySQL、dbmなどを選ぶこ…

DojoのTooltip

DojoのTooltipは独立したウィジェットとして実装されている。 dojoType="dijit.Tooltip" を指定した要素がツールチップとして表示され、中身のテキストはHTMLのfontタグなどやCSSを使った装飾ができる。 どこにマウスポインタが入ったらツールチップを表示す…

FlexのMXMLタグの調べ方

例えば以下の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のイベントの設定とログ出力

イベント 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>

Dojoでのイベントとログ出力

イベント dojo.connect() を使う。 でもloadのときはdojo.addOnLoad()を使う。 ログ djConfig="isDebug: true"を設定する。 console.log() 関数でログを出力する。 <html> <head> <script type="text/javascript" src="dojo/dojo.js" djConfig="isDebug: true,parseOnLoad: true"> </script> <script type="text/javascript"> dojo.addOnLoad(function() { var lo…</head></html>

Web2.0なトピックのpodcast

Audible Ajax ajaxian.comのpodcast。時々配信される。 Google Developer Podcast Googleが何か発表すると新しいエピソードが配信されるpodcast。 YDN Theater Yahoo!に関連したイベントを録画したものやインタビューが多い。 YUI Theater Yahoo!で主催され…

Rubyのpodcast

Ruby(Ruby on Rails)を扱ったpodcast。一通りRailsの本を読んだりした後、復習に聞くといいかも。 LearningRails 「教科書を朗読する」感じで、日本人的には聞き取りやすい。このpodcast自体は、サンフランシスコで行われているRuby on Railsのセミナーの広…

mod_perlのハンドラでフォームのパラメータを取得する

Apache2::Requestを使うとCGIモジュールと同じようなparamメソッドが使える。以下のモジュールを /handler に登録した場合、http://localhost/handler?test1=Hello のようにクエリストリングにつけたパラメータを取得できる。また、パラメータをPOSTした場合…

mod_perlでレスポンスを返すための、最小限の設定

httpd.confに以下の設定をする。 LoadModule perl_module lib/httpd/mod_perl.so LoadModule apreq_module lib/httpd/mod_apreq2.so PerlSwitches -Mlib=/home/www <Location /hello> SetHandler perl-script PerlResponseHandler My::Hello </Location>/home/www/My/Hello.pm を作る。 p…

Ext のフェードイン & フェードアウト

Ext.ElementのfadeIn()、fadeOut()を呼び出せば、そのままフェードイン・フェードアウトしてくれる。 <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"> function fade_out() { Ext.get('div1').fadeOut()…</head></html>

Dojoの fadeIn、fadeOut

dojo.fxモジュールを読み込む。 dojo.fadeIn、dojo.fadeOut 関数でアニメーションオブジェクトを作る。 play() メソッドを呼ぶ。 <html> <head> <script type="text/javascript" src="dojo/dojo.js" djConfig="parseOnLoad: true"> </script> <script type="text/javascript"> dojo.require("dojo.fx"); function fade_in() { dojo.fadeIn({node: dojo.byId('div1'),…</head></html>

ExtでDOM要素をhighlightする

Ext.get() で取得した Ext.Element のオブジェクトに直接highlight() メソッドが実装されているのでこれを呼び出す。div1 というidが割り当ててある要素がある場合は以下のように使う。 function highlight_test() { Ext.get('div1').highlight(); } Ext.get…

DojoでDOM要素をhighlightする

一瞬黄色になってそのあとゆっくり fade out する見た目のEffect。手順は DOM IDの文字列指定、または dojo.byId などで取得した DOM 要素を指定して dojox.fx.highlight のアニメーションオブジェクトを作る。 作ったアニメーションオブジェクトのplayメソ…

WindowsでRamazeを使う

2008年1月29日現在での、WindowsでRamazeを導入するまでの手順。1. Windows版Rubyを、RubyForgeのワンクリックインストーラを使ってインストールする(http://rubyforge.org/projects/rubyinstaller/)。2. コマンドプロンプトから以下のコマンドを実行する…