memo.xight.org

日々のメモ

Services_Delicious - del.icio.usのAPIを利用するためのPearパッケージ

Summary

del.icio.usのAPIを利用するためのPearパッケージ.
[2006-08-09] より del.icio.us のAPIがHTTPSのみを受け付けるようになった.

Reference

p4lifeのメモ - 2006-09-02 - PEAR::Services_Delicious 0.5.0 をリリースしました
http://d.hatena.ne.jp/p4life/20060902/1157210163

Services_Delicious

phpspot開発日誌 - 2006-08-21 - 新しくなったdel.icio.usのAPI仕様と投稿サンプルプログラム
http://phpspot.org/blog/archives/2006/08/deliciousapi.html

del.icio.us/help/api
http://del.icio.us/help/api/

del.icio.us - blog - 2006-08-06 security (everybody feels better with)
http://blog.del.icio.us/blog/2006/08/security_everyb.html

Yahoo! API News - 2006-08-15 - del.icio.us and Answers (by Jeremy Zawodny)
http://jeremy.zawodny.com/blog/archives/007202.html

via

phpspot開発日誌 - 2006-09-06 - del.icio.usのAPIを叩くPearパッケージ『Services_Delicious』がアップデート
http://phpspot.org/blog/archives/2006/09/deliciousapipea.html

Eメールマーケティングにおける間違い トップ3

1. 読者の集め方

ユーザにメールマガジンを登録したという記憶を持たせること.
登録した意識が無いメールマガジンが届くとユーザから反感を買う.

2. 登録データの取り方

メールアドレス以外の情報は「必要以上の情報」.
「必要以上の情報」を登録することで,得られるメリットを説明すること.

3. メールアドレスリスト分析

メールマガジンに登録しているメールアドレスに
無料メールのメールアドレス,ISPメールのメールアドレス,法人企業のメールアドレスの割合を分析する.

Reference

Japan.internet.com - Webマーケティング - Top 3 ミステイク
http://japan.internet.com/wmnews/20060907/6.html

失敗しないEメールマーケティング
http://goyat.biz/

last.fm のよく聞く曲,アーティスト,最近聞いた曲を画像として表示

top artists overall

top artists overall

<a href="http://www.last.fm/user/xight/">
  <img
    src="http://imagegen.last.fm/myspacecolors/oartists/xight.gif"
    alt="top artists overall"
  />
</a>


top tracks overall

top tracks overall

<a href="http://www.last.fm/user/xight/">
  <img
    src="http://imagegen.last.fm/myspacecolors/otracks/xight.gif"
    alt="top tracks overall"
  />
</a>


recently played song

my recently played songs

<a href="http://www.last.fm/user/xight/">
  <img
    src="http://imagegen.last.fm/myspacecolors/recenttracks/xight.gif"
    alt="my recently played songs"
  />
</a>


Reference

last.fm - xight
http://jp.last.fm/user/xight/

via

maratz.com - about
http://www.maratz.com/about/

リンク先の拡張子に応じて自動的に画像を付加

Summary

<a>タグの href属性の末尾が '.pdf' , '.doc' ,'.zip'の要素をピックアップ.
対象の<a>タグにclass名を付加する.

例では,pdfLink , docLink, zipLinkというclass名を使用.
各々のclassには,拡張子と対応する画像が指定してある.

Source

リンク先がPDF,Wordファイル,Zipファイルの<a>タグに,class名を付ける.

function fileLinks() {
    var fileLink;
    if (document.getElementsByTagName('a')) {
        for (var i = 0; (fileLink = document.getElementsByTagName('a')[i]); i++) {
            if (fileLink.href.indexOf('.pdf') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'pdfLink';
            }
            if (fileLink.href.indexOf('.doc') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'docLink';
            }
            if (fileLink.href.indexOf('.zip') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'zipLink';
            }
        }
    }
}
window.onload = function() {
    fileLinks();
}


a:hover {
    text-decoration: none;
}
.pdfLink {
    padding-right: 19px;
    background: url(pdf.gif) no-repeat 100% .5em;
}
.docLink {
    padding-right: 19px;
    background: url(doc.gif) no-repeat 100% .5em;
}
.zipLink {
    padding-right: 17px;
    background: url(zip.gif) no-repeat 100% .5em;
}


Reference

maratz.com - 2005-01-13 - PDF Links Labeling
http://www.maratz.com/blog/archives/2005/01/13/pdf-links-labeling/

maratz.com - PDF Link Labeling Example
http://webdesign.maratz.com/lab/pdf_links_labeling/

DOSプロンプトでアセンブリの学習

Summary

debug コマンドで debugモードに切り替わる.

debug


-A 0100
2D88:0100 mov ax,50
2D88:0103
-G=0100 0103

AX=0050  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=2D88  ES=2D88  SS=2D88  CS=2D88  IP=0103   NV UP EI PL NZ NA PO NC
2D88:0103 0000          ADD     [BX+SI],AL                         DS:0000=CD
-q

Netwide Assemblerを利用すればコンパイル,実行も可能.

Reference

「アセンブリ言語の教科書」の原稿
http://ruffnex.oc.to/kenji/text/asmbook/

SourceForge.net: The Netwide Assembler
http://sourceforge.net/projects/nasm/

phpAdsNew - 広告管理・配信サーバソフトウェア

Summary

インプレッション保証,クリック数保証,期間保証の広告配信システム.
バナー広告,HTML広告,テキスト広告,DHTML広告などから設定可能.

ブラウザ名,言語などの環境変数,国,地域によって配信する広告を変更可能.
国,地域の判別はIPアドレスから行なう.

日本語化

日本語用ファイルをダウンロード
http://elf.no-ip.org/~elf/contribute/phpadsnew/2005-11-19/

% wget http://elf.no-ip.org/~elf/contribute/phpadsnew/2005-11-19/phpadsnew-cvs-20051119-ja.tar.gz
% tar xzvf phpadsnew-cvs-20051119-ja.tar.gz
% cp -rf phpAdsNew/language/japanese_euc-jp phpAdsNew/language/japanese_utf-8 path/to/phpAdsNew-2.0.8/language

インストール

1. phpAdsNew用DB作成

% mysqladmin -uroot -p create phpadsnew


2. config.inc.phpのパーミッション変更

% chmod 666 config.inc.php


メンテナンス

cronを用いて maintenance.php を定期的に実行する

curl版

0 * * * * curl -s -o /dev/null http://example.com/path/to/phpAdsNew/maintenance/maintenance.php

Reference

Welcome to phpAdsNew / Open-source ad server
http://phpadsnew.com/two/

phpAdsNew - Documentation
http://phpadsnew.com/two/support-documentation.html

via

GIGAZINE - 2006-09-07 - PHPとMySQLであらゆる広告を生成して管理する「phpAdsNew」
http://gigazine.net/index.php?/news/comments/20060907_phpadsnew/

Perl でデコメールの送信

Summary

デコメールの送信方法.

デコメールのパターン

1. HTMLのみ
2. HTML + 画像添付
3. HTML + インライン画像
4. デコメールテンプレート

1. HTMLのみのフォーマット

デコメール非対応の端末にはTEXTパートのみ送信される.
よって,TEXTパートを必ず付ける.

Content-Type:multipart/alternative
  Content-Type:text/plain
    メールの内容 (テキスト)
  Content-Type:text/html
    メールの内容 (HTML)


2. HTML + 画像添付

Content-Type: multipart/mixed
  Content-Type: multipart/alternative
    Content-Type:text/plain
      メールの内容 (テキスト)
    Content-Type:text/html
      メールの内容 (HTML)
  
  Content-Type:image/gif
  Content-Transfer-encoding:base64
    (base64で符号化されたgifファイル)


3. HTML + インライン画像

Content-Type:multipart/related
  Content-Type: multipart/alternative
    Content-Type:text/plain
      メールの内容 (テキスト)
    Content-Type:text/html
      メールの内容 (HTML)

  Content-Type:image/gif
  Content-Transfer-encoding:base64
  Content-ID:<sample>
    (base64で符号化されたgifファイル)


4. デコメールテンプレート

改行は CR + LF.
Content-Typeは application/x-decomail-template
Decomail-Template
MIME-Version:1.0
Content-Type:multipart/related
  Content-Type: text/html;charset=Shift_JIS
  Content-Transfer-Encoding:8bit
    (HTML本文)
    <img src="cid:sample">

  Content-Type:image/gif
  Content-Transfer-encoding:base64
  Content-ID:<sample>
    (base64で符号化されたgifファイル)


Reference

CodeZine - Perlで作るモバイルサイトのコツ : 第2回 (デコメール)
http://codezine.jp/a/article.aspx?aid=550

CodeZine - Perlで作るモバイルサイトのコツ : 第2回 (デコメール)
http://codezine.jp/a/article.aspx?aid=550&p=2

MIME::Lite
Jcode

set.js - JavaScriptでset

Summary

Pythonのset型を,Arrayを拡張してJavaScriptで実装.
setは要素が重複しないリスト.

格納できる型は,string型, number型, boolean型.
pushを使って要素を追加すると重複してしまう.

Reference

最速インターフェース研究会 - 2006-09-06 - JavaScriptでPythonのsetみたいなの
http://la.ma.la/blog/diary_200609062338.htm

Python ライブラリリファレンス - 2.3.7 set (集合) 型
http://www.python.jp/doc/release/lib/types-set.html

set data type for javascript
http://la.ma.la/misc/js/set/

http://la.ma.la/misc/js/set/compat.js
http://la.ma.la/misc/js/set/set.js

benchmark.js - JavaScriptのベンチマークツール

Summary

JavaScriptのベンチマークツール.
連想配列の関数を渡せば利用可能.
benchmark()しか汚染しない.
FireBugのコンソールに表示することも可能.

使用上の注意

1. 計測はグローバル領域で行なうこと.
2. 軽すぎる関数は正確な値が出ないことがある.

Usage

benchmark({
  'test1': function() {
    // do something
  },
  'test2': function() {
    // do something
  },
  'test3': function() {
    // do something
  }
});


Usage (FireBugを利用)

benchmark.at('firebug')({
  'test1': function() {
    // do something
  },
  'test2': function() {
    // do something
  },
  'test3': function() {
    // do something
  }
});

Sample (http://sample.ecmascript.jp/benchmark.html)

benchmark({
  'getElementById': function() {
    document.getElementById('target');
  },
  'getElementsByTagName': function() {
    document.getElementsByTagName('target');
  },
  'Prototype\'s $ function': function() {
    $('target');
  }
});


Reference

IT戦記 - ベンチマークツール公開
http://d.hatena.ne.jp/amachang/20060906/1157571938

Benchmark Demo
http://sample.ecmascript.jp/benchmark.html

ソース
http://sample.ecmascript.jp/benchmark.js

ErrorZilla - エラー画面を便利にするFirefox拡張

Summary

エラー画面に「再試行」ボタンの他,
「Google Cache」「Wayback」「Ping」「Trace」「Whois」ボタンを追加.

Reference

roachfiend.com - ErrorZilla - Useful error pages for Firefox
http://roachfiend.com/archives/2006/08/28/errorzilla-useful-error-pages-for-firefox/

via

sta la sta - Firefoxのエラー画面をより便利に - ErrorZilla
http://d.hatena.ne.jp/starocker/20060906/p1

Webページにソースコードを表示するには

方法

1. <textarea>
Ctrl+A で Copy & Paste が楽.

2. <pre> + CSS

3. <pre> + <code> + CSS

4. <textarea> + dp.SyntaxHighlighter[2006-06-12-7]

CSSの例

pre.code {
	font-family: monospace;
	white-space:pre;
	overflow:scroll;
}


vimの設定

.vimrc に記述
" html escape function
:function HtmlEscape()
silent s/&/\&/eg
silent s/ silent s/>/\>/eg
:endfunction


対象範囲を選択後,
:call HtmlEscape()


Reference

i d e a * i d e a - ブログにコードを貼り付ける方法で悩むの巻
http://www.ideaxidea.com/archives/2006/09/post_129.html

404 Blog Not Found:ソースを貼付ける50の方法
http://blog.livedoor.jp/dankogai/archives/50621177.html

hail2u.net - Weblog - pre要素へのスタイル指定
http://hail2u.net/blog/webdesign/styling-pre.html

2xup - 2006-09-07 - pre 要素のスタイル定義とマークアップ
http://2xup.org/log/2006/09/07-0056

hxxk.jp - 2006-09-06 - Re: i d e a * i d e a - ブログにコードを貼り付ける方法で悩むの巻
http://hxxk.jp/2006/09/06/2210

i d e a * i d e a - 2006-09-07 - ソースの貼り付け方法その後
http://www.ideaxidea.com/archives/2006/09/post_131.html

背景画像に透過GIFを利用して,背景の更新を楽にする

Summary

背景画像に透過GIFを利用することで,
背景色を変えるだけで様々なパターンのデザインが利用できるようになる.

CSS

body {
	background: #fa0 url(stripe_1px.gif);
}


Sample

斜線 (1px)
http://www.lucky-bag.com/appendix/background-pattern/background-pattern-sample01.html

斜線 (2px)
http://www.lucky-bag.com/appendix/background-pattern/background-pattern-sample02.html

市松模様 (1px)
http://www.lucky-bag.com/appendix/background-pattern/background-pattern-sample03.html

市松模様 (2px)
http://www.lucky-bag.com/appendix/background-pattern/background-pattern-sample04.html

ストライプ (1px)
http://www.lucky-bag.com/appendix/background-pattern/background-pattern-sample05.html

ストライプ (2px)
http://www.lucky-bag.com/appendix/background-pattern/background-pattern-sample06.html

Reference

Super Stripes
http://webdesign.maratz.com/lab/superstripes/

Lucky bag::blog: 背景画像に使える透過 GIF
http://www.lucky-bag.com/archives/2006/09/background-patterns.html