2009年2月28日土曜日

今日のブックマーク 02/28/2009


Posted from Diigo. The rest of my favorite links are here.

2009年2月27日金曜日

相対URLを絶対URLに(Silverlight)

スズキです。

下記を利用して、Silverlight上で相対URLから絶対URLを作成する関数(C#)を作ってみました。
http://suz-lab.blogspot.com/2009/02/silverlighturl.html

--------【C#】--------
String toAbsoluteUriFromRelative(String relativeFromXap)
{
  String absoluteUri = Application.Current.Host.Source.AbsoluteUri;
  Int32 lastIndex = absoluteUri.LastIndexOf("/");
  return absoluteUri.Substring(0, lastIndex) + "/" + relativeFromXap;
}
--------
※ "using System.Windows.Interop;"を忘れないように。
※ 引数はXAPファイルからの相対パスとなります。

これで、下記で相対パス(uriString)を指定するとエラーになってしまう問題が回避できました...
HtmlPage.PopupWindow(new Uri(uriString), "_self", null);

--
http://suz-lab.blogspot.com/

Silverlightで自分のURL情報を取得

スズキです。

こちらに載ってる手法そのままですが、もう少し詳しく調べてみました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/842sl2apphost/sl2apphost.html

下記がサンプルコードと、主な属性値の結果となります。

--------【C#】--------
System.Windows.Interop.SilverlightHost host = Application.Current.Host;
Debug.WriteLine(host.Source.AbsolutePath);
// -> /ClientBin/Sample.xap
Debug.WriteLine(host.Source.AbsoluteUri);
// http://localhost:56855/ClientBin/Sample.xap
Debug.WriteLine(host.Source.DnsSafeHost);
// -> localhost
Debug.WriteLine(host.Source.Host);
// -> localhost
Debug.WriteLine(host.Source.IsUnc);
// -> False
Debug.WriteLine(host.Source.LocalPath);
// -> /ClientBin/Sample.xap
Debug.WriteLine(host.Source.OriginalString);
// -> http://localhost:56855/ClientBin/Sample.xap
Debug.WriteLine(host.Source.Port);
// -> 56855
Debug.WriteLine(host.Source.Scheme);
// -> http
Debug.WriteLine(host.Source.UserEscaped);
// -> False
--------

この情報で「相対URL問題」はとりあえず解決かな...(もっといい方法あるような気がするけど...)

--
http://suz-lab.blogspot.com/

MySQLをサポートしたPostfixの構築

スズキです。

下記のように"CentOS 5.2"のyumでインストールしたPostfixはMySQLをサポートしていなかったので、

# /usr/sbin/postconf -m
btree cidr environ hash ldap nis pcre proxy regexp static unix

tarballからmakeして構築してみました。(以下、構築時の実行コマンドです)

# cd /usr/local/src/
# wget http://mirror.ramix.jp/postfix-release/official/postfix-2.5.6.tar.gz
# tar xvzf postfix-2.5.6.tar.gz
# cd postfix-2.5.6
# make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL
-I/usr/include/mysql' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm'
# make
# make install

※ "make install"時にインストール場所を聞いてきますが、"/usr/local/..."を指定しています。
※ 詳細は下記のように"README_FILES/MYSQL_README"に書かれています。
# less README_FILES/MYSQL_README

再度、確認してみると、

# /usr/local/sbin/postconf -m
btree cidr environ hash mysql nis proxy regexp static unix

ちゃんと"mysql"が表示されています。

次は、設定か...

--
http://suz-lab.blogspot.com/

今日のブックマーク 02/27/2009

  • wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm
    wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
    wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    rpm -ivh remi-release-5-4.el5.remi.noarch.rpm epel-release-5-2.noarch.rpm rpmforge-release-0.3.6-1.el5.rf.i3

    tags: linux


Posted from Diigo. The rest of my favorite links are here.

2009年2月26日木曜日

yumで"CentOS 5.2"にPoundをインストール

スズキです。

"CentOS 5.2"のyumのリポジトリには、Poundは登録されていません。
ですので、表記を行いたい場合は、Poundが登録されているリポジトリを
yumに追加する必要があります。

詳しいことはこちらに書いてあります。
http://se-suganuma.blogspot.com/2008/05/centosyumdagrpmforge.html

まずはyumのリポジトリ設定にDAG(RPMforge)のリポジトリを追加するRPMダウンロードします。
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

次にダウンロードしたRPMをインストールします。
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

DAG(RPMforge)には下記のようにPoundのパッケージがあるので、
http://dries.studentenweb.org/apt/packages/pound/info.html

普段のやり方(yum)でPoundをインストールすることができるようになります。
# yum install pound

他に追加できるリポジトリないかなー?

--
http://suz-lab.blogspot.com/

今日のブックマーク 02/26/2009


Posted from Diigo. The rest of my favorite links are here.

2009年2月25日水曜日

今日のブックマーク 02/25/2009


Posted from Diigo. The rest of my favorite links are here.

2009年2月24日火曜日

今さらながらのLighttpd

スズキです。

ApacheのVirtualhostの情報をMySQLで管理して...、を実現するためにいろいろ調べていたら、
それを実現するには、Lighttpdのmod_mysql_vhostを利用したほうが良さそうだなー、
という方向に行きながら、結局、そもそもVirtualhostの情報をMySQLで管理する必要が無いなー
ってことになってしまい、悔しいので、Lighttpdに関して、気になったことを書くことにしました。

Lighttpd(http://www.lighttpd.net/)は説明の必要が無いくらい有名な、
軽量かつ高速性を重視して設計されたWebサーバです。

Apacheと同じように(!?)拡張モジュールが用意されており、
下記拡張モジュールが使えることに結構、魅力を感じています。

▼mod_mysql_vhost
http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModMySQLVhost
Virtualhostの情報をMySQLで管理するためのモジュールです。

▼mod_flv_streaming
http://blog.lighttpd.net/articles/2006/03/09/flv-streaming-with-lighttpd
http://jan.kneschke.de/projects/flv-streaming/
FLVファイルをストリーミングするためのモジュールです。

あと、キャッシュまわりに関しても、いろいろあって、Squid使うくらいなら、Lighttpdかな?
と思っています。(Memcachedとも絡んでいるようだし)

なので、今後のHTTPを用いた静的コンテンツの処理は"Pound - Lighttpd"のラインで
さばくのがいいのかなーって感じです。

ApacheはPHP動かすためのアプリケーションサーバ的な位置づけかな?

--
http://suz-lab.blogspot.com/

MySQLバックエンドのPowerDNS導入

スズキです。

下記と内容がかぶってしまいますが、再度、まとめておきます。
http://suz-lab.blogspot.com/2008/08/powerdnsmysql.html

以下、"CentOS 5.2"での作業となります。

まず、PowerDNSとMySQLをバックエンドにするパッケージをyumにてインストールします。
# yum install pdns
# yum install pdns-backend-mysql

次に、"/etc/pdns.conf"の終わりに下記記述を追加します。
(当然、環境に応じた書き換えが必要です)
-------- pdns.conf --------
launch=gmysql
gmysql-dbname=pdns
gmysql-host=localhost
gmysql-user=pdns_user
gmysql-password=pdns_pass
--------

最後に、テーブルを作成して、データの投入ですが、この作業は、こちらを参考に。
http://suz-lab.blogspot.com/2008/08/powerdnsmysql.html

ログはSyslogにて出力されるので、下記のように確認できます。
# tail -f /var/log/messages

実際にレコードが引けるかどうかは、下記のように確認できます。
# nslookup www.xxx.yyy.zzz localhost

次は、Apacheだ!

--
http://suz-lab.blogspot.com/

PowerDNSまとめ

スズキです。

本気(仕事)でPowerDNSを使うことになったので、実作業の前に、
今まで本ブログで書いた記事などをまとめておきます。

【本ブログの情報】

▼PowerDNSのインストール&起動
http://suz-lab.blogspot.com/2008/08/powerdns.html

▼PowerDNSでのMySQL設定
http://suz-lab.blogspot.com/2008/08/powerdnsmysql.html

▼PowerDNSでの"recursor"の指定
http://suz-lab.blogspot.com/2008/08/powerdnsrecursor.html

【その他の情報】

▼RDBMSが使えるPowerDNS
http://gihyo.jp/admin/serial/01/sysadmin-toolbox/0001

今回は、バックエンドにMySQLを用いたシステムの構築だから、昔のブログの記事で瞬殺できそう。

ありがとう、昔の自分!

--
http://suz-lab.blogspot.com/

Command Prompt Portable 2.0 リリース

スズキです。

表記の通りです。
http://portableapps.com/news/2009-02-22_-_command_prompt_portable_2.0

"Command Prompt Portable"に関しては、今はあまり使わなくなってしまいましたが、
近頃、Windowsでのコマンドベースの作業が増えてきたので、バージョンアップと共に復活です。

今までのノウハウは下記となります。

▼"Command Prompt Portable"の活用
http://suz-lab.blogspot.com/2008/02/command-prompt-portable.html

▼Command Prompt Portable 1.1 リリース
http://suz-lab.blogspot.com/2008/02/command-prompt-portable-11.html

WindowsもUnixのように、コマンドラインベースで自由自在に扱えるようになりたい...

--
http://suz-lab.blogspot.com/

2009年2月23日月曜日

「Evernote」まとめ

スズキです。

そろそろ、Evernoteについてまとめておきます。

Evernoteはオンライン系のメモツールと呼ばれるもので、メモをWeb上で管理できるサービスです。
簡単であるはずのメモを、いちいちWeb上で操作って言うのは、本末転倒になってしまいそうですが、
下記のように、さまざまな環境に対してクライアントアプリケーションが用意されており、非常に
ストレスのない形で、メモの作成とオンラインストレージ(Evernote)への格納が可能です。

▼Win/Mac
http://www.evernote.com/about/download/#a-macwin
▼Firefox
http://www.evernote.com/about/download/#a-webclipper
▼iPhone
http://www.evernote.com/about/download/iphone/
▼Windows Mobile
http://www.evernote.com/about/download/#a-mobile

また、さまざまな環境(デバイス)に対して、クライアントアプリケーションが存在しているため、
iPhoneで作成したメモをWindowsで利用したり、そしてその逆も、非常にシームレスに行えます。

僕は、PCはWindows、ブラウザはFirefox、携帯はiPhone、予備でS21HT(Windows Mobile)を
持っているので、そのすべてをEvernoteで、メモに関してはデバイス間でシームレスな状態に
することができます。(S21HTも本気で調整しなくては…)

そして、メモといっても、文字だけでなく、画像やWebクリップも、メモとして管理することができます。
今は、メモは文字だけですが、そろそろ、画像メモも利用していきたいところです。

以前購入した、ScanSnapと何かしらの形で連携できると面白そうです。
(あと、iPhoneで撮った写真かな?)
http://suz-lab.blogspot.com/2009/01/scansnaps300.htm

うまく使いこなせれば、自分のレベルをもう一段上げてくれるツールじゃないか?と思っています。

飽きずに、うまく使いこなせれば…

--
http://suz-lab.blogspot.com/

2009年2月22日日曜日

"SUZ-LAB BBS"に初スレ(iPhone系)

スズキです。

導入したのはいいが、使い道に困っていた"SUZ-LAB BBS"ですが、
http://jbbs.livedoor.jp/computer/41921/
iPhone購入を機に、身近でiPhone使っている人がこんなスレ立ててくれました。

▼【これは】iPhoneオススメアプリ【ネ申】
http://jbbs.livedoor.jp/bbs/read.cgi/computer/41921/1235187679/

まだ、自作自演はしていません…

--
http://suz-lab.blogspot.com/

Evernote Portable

スズキです。

IPhoneのノート管理アプリの「Evernote」を入れてみたのですが、
http://www.evernote.com/about/download/iphone/
PC用アプリもあったので、インストールしてみました。
http://www.evernote.com/about/download/#a-macwin

で、メニューをいろいろ見ていると、「Install Evernote Portable」ものがあり、
下記のようにポータブル環境としてインストールできるようです。
http://potto.exblog.jp/6997464/

で早速ポータブル化して、Dropboxで全環境に同期です。

とりあえず、これもまずは継続です。

--
http://suz-lab.blogspot.com/

2009年2月21日土曜日

OpenOffice.org Portable 3.0.1 リリース

スズキです。

表記のとおりです。
http://portableapps.com/news/2009-02-18_-_openoffice.org_portable_3.0.1

こちらも帰ったら、バージョンアップしないと。
(これもRTMに登録しなきゃ…)

--
http://suz-lab.blogspot.com/

「豊平文庫」バージョンアップ(1.0.2)

スズキです。

先ほど、「豊平文庫」について書いていたら、
http://suz-lab.blogspot.com/2009/02/iphone_21.html
バージョンアップ(無償)していることに気づきました。
http://www.kaigian.co.jp/products/bunko/feature102.html

帰ったら、早速バージョンアップです。

忘れないようにRTMに入力しておかないと…

--
http://suz-lab.blogspot.com/

iPhoneで「蟹工船」

スズキです。

iPhoneアプリで、「豊平文庫」をインストールして見ました。初有料アプリです。
http://www.kaigian.co.jp/products/bunko/

「豊平文庫」は下記「青空文庫(http://www.aozora.gr.jp/)」のリーダーです。

> 青空文庫は、利用に対価を求めない、インターネット電子図書館です。
> 著作権の消滅した作品と、「自由に読んでもらってかまわない」とされたものを、
> テキストと XHTML(一部は HTML)形式でそろえています。

とりあえず、最近話題になっていた(ような!?)、「蟹工船」をダウンロードして、
ちょっとした時間に読むようにしています。
http://www.aozora.gr.jp/cards/000156/files/1465_16805.html

もっと、iTunesとの連携に慣れないと…

--
http://suz-lab.blogspot.com/

2009年2月19日木曜日

iPhoneにしました

スズキです。

ソフトバンクのX02NKを紛失してしまい、これを機に、iPhoneにしてしました。
(絶対、あのタクシーの中にあるはずなのに…)

スマートフォンはX01HTから利用している、かなりのヘビーユーザーですが、
iPhoneは操作性は、今までのものとは段違いの良さで、
久しぶりに、この手の製品でびっくりしてしまいました。

でインストールした(厳選!?)アプリはこんな感じです。

▼Remember The Milk - TODO管理
http://www.rememberthemilk.com/services/iphone/app/

▼Evernote - メモ管理
http://evernote.com/about/download/iphone/

▼BB2C - 2chブラウザ

▼ServersMan - iPhoneのサーバ(Web系)化
http://serversman.com/promotion.html

BB2Cは頻繁に使って、RTMはたまに使って、それ以外は、入れただけです…
(有効利用したい…)

また、"Gmail(IMAP)"も利用できるようにしており、これは快適すぎます。
(ケータイでメールチェックする気になります)

そして、"Google Sync"でカレンダーと連絡先との同期もしています。
http://www.google.com/mobile/apple/sync.html

さらに、愛用しているDropboxはiPhone用のUIが用意されているので、
それも早速ブックマークしています。

ということで、上記の僕が使っているiPhoneの機能と利用頻度をまとめると、
こんな感じになります。(利用頻度、高い順)

(1) BB2C
(2) メール(Gmail)
(3) 連絡先(Google Sync)
(4) カレンダー(Google Sync)
(5) Remember The Milk
(6) Evernote
(7) ServersMan
(8) Dropbox

(1)、(2)は毎日数回利用していて、(3)、(4)、(5)は毎日一回程度、
(6)、(7)、(8)は、ほとんど使っていません。

iPhoneのiPhoneたる電話機能は…あまりかかってきません…

--
http://suz-lab.blogspot.com/

今日のブックマーク 02/19/2009


Posted from Diigo. The rest of my favorite links are here.

2009年2月18日水曜日

CSRの生成時に必要な情報

スズキです。

たまにCSRを(OpenSSLで)作るとき、いつもすっかり忘れているので、自分メモとして...

下記に詳しく書いてありますが、
http://www.verisign.co.jp/ssl/help/csr/capache_renew.html
こんな感じです。

【国名】 Country Name (2 letter code) [GB]: JP
【都道府県名】 State or Province Name (full name) [Berkshire]: Tokyo
【市区町村名】 Locality Name (eg, city) [Newbury]: Minato-ku
【組織名】 Organization Name (eg, company) [My Company Ltd]: suz-lab
【部門名】 Organizational Unit Name (eg, section) []: Blog
【コモンネーム】 Common Name (eg, your name or your server's hostname) []:
suz-lab.blogspot.com

コモンネーム以外は直感的にわかるでしょう。コモンネームは
「サーバIDを導入するサイトのURL(SSL接続の際のURL:FQDN)」
です。

次からは、"SUZ-LAB SEARCH"で検索できるぞ。

--
http://suz-lab.blogspot.com/

2009年2月14日土曜日

今日のブックマーク 02/14/2009

  • pluginManagement
    デフォルトプラグインの管理に関する情報を定義します。

    tags: maven


Posted from Diigo. The rest of my favorite links are here.

2009年2月13日金曜日

Antで適当なフォルダを別名でコピーしてコピーしたフォルダをZIPファイル(ファイル名に日付入り)にする

スズキです。

長いタイトルですが、下記build.xmlで実現できます。

--------【build.xml】--------
<target name="zip">
  <!-- フォルダの削除 -->
  <delete dir="dst" />
  <!-- フォルダのコピー -->
  <copy todir="dst">
    <fileset dir="src"/>
  </copy>
  <!-- 日付の取得 -->
  <tstamp>
    <format property="today" pattern="yyyyMMdd" />
  </tstamp>
  <!-- ZIPファイルに -->
  <zip destfile="dst-${today}.zip" basedir="dst"/>
</target>
--------

まずdstフォルダを削除して、次にsrcフォルダの内容を再度作成されるdstフォルダコピーして、
最後に、dst-20090212.zip(ZIP圧縮ファイル)にしています。

MavenのかゆいところはAntで補っていこう。

--
http://suz-lab.blogspot.com/

今日のブックマーク 02/13/2009


Posted from Diigo. The rest of my favorite links are here.

2009年2月12日木曜日

Poundで複数のHTTPS

スズキです。

一つのマシンに複数のIPアドレス(仮想インターフェース)が用意できたら、やっと表記の設定です。
http://suz-lab.blogspot.com/2009/02/blog-post.html

基本的にHTTPS(SSL)の設定はPoundのSSLラッパー機能を使ってやっていますが、
http://suz-lab.blogspot.com/2007/05/poundssl.html
http://suz-lab.blogspot.com/2008/09/poundssl.html
複数のHTTPS(SSL)を利用するには、下記のように、それぞれのIPアドレスに対して、
ListenHTTPSの設定を行うことになります。

--------【pound.cfg】--------
ListenHTTPS
  Address 192.168.1.2
  Port 443
  Cert "/home/suz-lab/etc/ssl/pound02.crt"
  Service
    HeadRequire "Host: .*ssl02.suz-lab.xxx.*"
    BackEnd
      Address 127.0.0.1
      Port 8080
    End
  End
End
ListenHTTPS
  Address 192.168.1.3
  Port 443
  Cert "/home/suz-lab/etc/ssl/pound03.crt"
  Service
    HeadRequire "Host: .*ssl03.suz-lab.xxx.*"
    BackEnd
      Address 127.0.0.1
      Port 8080
    End
  End
End
--------
※上記設定は、ListenHTTPSの部分のみ記載しています。

バックエンド(BackEnd)にはApacheが起動しているIPアドレス/ポートをしており、
あとは、Apacheの名前ベースのバーチャルホストのお話になります。

Poundに関しては、もう少しまとめておきたいなー。

--
http://suz-lab.blogspot.com/

仮想インターフェースの作成

スズキです。

久しぶりのLinuxネットワークねたです。

ひとつのサーバに複数のHTTPS(SSL)を仕込むときに、
HTTPSごとに別IPをふらないといけないなー、ってことでの作業でした。

まず確認するのが、下記ディレクトリです。
/etc/sysconfig/network-scripts
ここに起動時に設定されるネットワークの情報がいろいろとあります。

今回はeth0インターフェイスに複数のIPアドレスをふりたいってことなので、
まずは、すでに存在しているeth0の設定情報であるifcfg-eth0をもとに、
仮想インターフェース用の設定情報を作っていきます。

ちなみにifcfg-eth0の内容はこんな感じです。

--------【ifcfg-eth0】--------
DEVICE=eth0
HWADDR=00:00:00:00:00:00
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
IPADDR=192.168.1.2
NETMASK=255.255.255.0
--------

これを、ifcfg-eth0:1という名前(コロンの後は適当な数字でOK!?)でコピーし、
下記のように修正します。

--------【ifcfg-eth0:1】--------
DEVICE=eth0:1
HWADDR=00:00:00:00:00:00
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
IPADDR=192.168.1.3
NETMASK=255.255.255.0
--------

変更箇所は、

DEVICE=eth0:1 - 仮想インターフェースを指定
IPADDR=192.168.1.3 - それに割り振るIPアドレスを指定

といった感じです。

そして、上記の設定を有効にするために、次のコマンドを実行します。
# ifup eth0:1

ちなみに、無効にするには"ifdown eth0:1"、設定を確認するには"ifconfig eth0:1"を実行します。

データセンターにあるマシンのネットワーク設定は緊張するなー…

--
http://suz-lab.blogspot.com/

2009年2月9日月曜日

"httpd.conf"に".htaccess"でBasic認証をするための準備

スズキです。

Apacheの基本的なことですが、
久しぶりすぎてGoogle先生に聞かないとわかりませんでした…

httpd.confの適当なディレクティブに下記記述が必要です。

AllowOverride FileInfo AuthConfig

とりあえず、今後は「Basic認証」のキーワードで"suz-lab - search"に引っかかるはず。
http://dl.getdropbox.com/u/191713/search.html?cx=partner-pub-2621057045311522%3Ac16gj02a3ru&cof=FORID%3A9&ie=UTF-8&q=Basic%E8%AA%8D%E8%A8%BC&sa=%E6%A4%9C%E7%B4%A2#1278

--
http://suz-lab.blogspot.com/

そろそろBazaar(分散バージョン管理)

スズキです。

「CVS→SVN」と個人的にも、仕事でも、非常にお世話になっている、
バージョン管理システムですが、ついに、分散バージョン管理に手を出すことにしました。
(今のところSVNに不満はないのですが…)

で、分散バージョン管理システムの有名どころ、

- Git - http://git-scm.com/
- Mercurial - http://www.selenic.com/mercurial/
- Bazaar - http://bazaar-vcs.org/

のどれにしようかなー、という話になるのですが、下記を非常に参考しながら、
Bazaarを利用することにしました。(分散バージョン管理について非常によくまとめられています)

▼分散バージョン管理Git/Mercurial/Bazaar徹底比較
http://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html

Bazaarにしたポイントは、次の2点です。
- 日本語に強い(ファイル名をUnicode文字列として扱っているとか…)
- Windowsのポータブル環境で使えそう(bzr-nonadmin-1.11-1.exeとか…)

ということで、引き続き、Linuxの環境作ったり、Windowsの環境作ったり、
Launchpad(https://launchpad.net/)使ってみたり、試していこうと思います。

まずは、情報をまとめるか。

--
http://suz-lab.blogspot.com/

Base64を使った"AS3でエンコード&PHPでデコード"

スズキです。

そんなに難しい話ではありません。AS3側は、下記を導入しておく必要があります。
http://code.google.com/p/as3crypto/

PHP側は標準関数です。

まず、AS3でのエンコードですが、こんな感じです。
Base64.encode("エンコードする文字列")ってのを使います。

--------【AS3】--------
package {
  import com.hurlant.util.Base64;
  import flash.display.Sprite;
  import flash.text.TextField;
  public class Main extends Sprite {
    public function Main():void {
      var username:String = "iretsuzuki";
      var field:TextField = new TextField();
      field.text = Base64.encode(username);
      this.addChild(field);
    }
  }
}
--------
(参考) http://as3.q-o-p.net/?eid=593092

そして、PHPでのデコードはこんな感じになります。
base64_decode("デコードする文字列")ってのを使います。

--------【PHP】--------
<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>
--------
(そのまま) http://jp.php.net/base64_decode

逆(AS3でデコード&PHPでエンコード)もノリでいけるでしょう。

本当は、RSA暗号/復号したかった…

--
http://suz-lab.blogspot.com/

SUZ-LAB BBS!

スズキです。

メニューが「BLOG」だけではさびしかったので、調子にのって「BBS」も用意してしまいました。
http://jbbs.livedoor.jp/computer/41921/

利用したBBSは、下記のlivedoorのものです。("2ちゃんねる"っぽいやつです)
http://rentalbbs.livedoor.com/

用途は、まだ考えていません…

機能増やす前に、Timelineの背景画像の準備と、IEでのスタイル調整をしなければ…

--
http://suz-lab.blogspot.com/

2009年2月8日日曜日

YoutubeのAPIを利用するときに利用するカテゴリ名

スズキです。

YoutubeのAPIでアップロードや検索するときに、カテゴリ名を指定する場合があります。
http://code.google.com/intl/ja/apis/youtube/developers_guide_protocol.html

サンプルを見ると、"People & Blogs / ブログと人"は"People"、
"Science & Technology / 科学と技術"は"Tech"と指定すればいいのはわかるのですが、
その他のカテゴリをどう指定すればいいのかはどこにも書いてありません。
(Google先生でもダメでした…)

で、いろいろ悩んだのですが、下記に記述されていました。
http://gdata.youtube.com/schemas/2007/categories.cat

XMLの形式で記述されていますが、まとめると次のようになります。

▼ Film
Film & Animation / 映画とアニメ
▼ Autos
Autos &amp; Vehicles / 自動車と乗り物
▼ Music
Music / 音楽
▼ Animals
Pets & Animals / ペットと動物
▼ Sports
Sports / スポーツ
▼ Travel
Travel & Events / 旅行とイベント
▼ Games
Gaming / ゲーム
▼ Comedy
Comedy / コメディー
▼ People
People & Blogs / ブログと人
▼ News
News & Politics / ニュースと政治
▼ Entertainment
Entertainment / エンターテイメント
▼ Education
Education / 教育
▼ Howto
Howto & Style / ハウツーとスタイル
▼ Nonprofit
Nonprofits & Activism / 非営利団体と社会活動
▼ Tech
Science & Technology / 科学と技術

Youtubeソリューションはsuz-labに!

--
http://suz-lab.blogspot.com/

2009年2月7日土曜日

SUZ-LAB SEARCH!

スズキです。

以前、Blogの幅を800pxにした旨、書きましたが、
http://suz-lab.blogspot.com/2009/02/800px.html
実はそれは、"Google Adsense"の「検索向けAdSense」と呼ばれる、
検索フォームとその結果ページ(広告あり)にあわせるためでした。

で、ようやく調整も終わり、suz-labコンテンツの検索機能を、
「検索向けAdSense」を用いることで実現してみました。
(右上の検索フォームがそれです)

検索フォームはブログのヘッダ部分にタグを貼り付ければいいのですが、
検索結果ページは、HTMLを一ページ用意する必要があります。
ですがBLOGGERの機能で適当に1ページ用意することはできないので、
Dropboxをうまく利用し、検索結果ページを用意しました。
http://dl.getdropbox.com/u/191713/search.html

Dropboxをどう利用したかは、別エントリでまた書きます。

近頃、インプットに対して、アウトプットがまったく追いつかないなー…

--
http://suz-lab.blogspot.com/

2009年2月5日木曜日

今日のブックマーク 02/05/2009


Posted from Diigo. The rest of my favorite links are here.

Silverlight再び

スズキです。

以前、Silverlightに挑戦しようとしましたが、
処々の理由によりちょっとしたサンプル程度で終わってしまっていました…
(以下は当時のエントリ)
▼Silverlight開発環境のインストール
http://suz-lab.blogspot.com/2008/10/silverlight.html
▼AnkhSVNで"Visual Studio 2008"からSVN
http://suz-lab.blogspot.com/2008/10/ankhsvnvisual-studio-2008svn.html
▼C#で"Hello World!"
http://suz-lab.blogspot.com/2008/10/chello-world.html

で、また機会があったので当時の環境を引っ張り出して復習しました。

まずは画像の表示です。
(最終的なPage.xamlは下記となります)

--------【XAML】--------
<UserControl x:Class="Suz.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="400"
    Height="300">
  <Grid x:Name="LayoutRoot"
      Background="White">
    <Image x:Name="SuzImg"
        Source="/Images/Sample.jpg"
        Canvas.Left="0"
        Canvas.Top="0"
        Height="480"
        Width="975"/>
  </Grid>
</UserControl>
--------

Imageタグを使うところまでは、ノリでいけましたが、
ビルドしてブラウザで確認するとなぜか画像関係のエラーメッセージが…
("Visual Studio"ではちゃんと表示しているのに…)

原因は、 「x:Name="SuzImg"」が無かったからです…

明日は、C#との連携の復習をしよう。
っていうか、「SVN & Hudson & MSBuild」の環境づくりの方がやりたい…

--
http://suz-lab.blogspot.com/

2009年2月4日水曜日

ブログの幅を800pxに

スズキです。

わけあって、ブログの幅を800pxにしました。

今日中に仕上げよう!

--
http://suz-lab.blogspot.com/

2009年2月3日火曜日

S2RMIいじってみた

スズキです。

実はRMIサービス、誰かが作ったもののメンテナンスは
経験があるのですが、よく考えたら、
自分で一から構築したことはありませんでした。

ってことで、案件でも多少経験したので、
"suz-example-s2"プロジェクト群でいろいろ試してみました。

プロジェクトの役割は、以下の感じです。

【suz-example-s2-common】
S2RMIで利用するインターフェイス(HelloService)があります。
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-common/src/main/java/suz/example/s2/common/service/HelloService.java
S2RMI
サーバの"suz-example-s2-rmi"と
S2RMIクライアントの"suz-example-s2-chronos"で利用します。

【suz-example-s2-rmi】
S2RMIサーバのプロジェクトです。
HelloServiceインターフェースの実装があります。
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-rmi/src/main/java/suz/example/s2/rmi/service/impl/HelloServiceImpl.java

【suz-example-s2-chronos】
S2RMIクライアントのプロジェクトです。
本当は、S2CHRONOSで定期的にS2RMIを
呼び出す形にしたかったのですが、そこまで手が回っていません...
なので現状、S2RMIを呼び出すテストクラスのみがあります。
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-chronos/src/test/java/suz/example/s2/chronos/service/HelloServiceTest.java

これで"suz-example-s2-rmi"のs2rmi-server.jarからサーバを起動して、
"suz-example-s2-chronos"のテストクラスを実行すると、
無事、S2RMIが機能していることを確認できました。

ポイントは、やはり下記dicon回りです。
(まあ、サンプルそのままですが...)

【suz-example-s2-rmi: S2RMIサーバ】
▼app.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-rmi/src/main/resources/app.dicon
▼convention.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-rmi/src/main/resources/convention.dicon
▼creator.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-rmi/src/main/resources/creator.dicon
▼s2rmi.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-rmi/src/main/resources/s2rmi.dicon

【suz-example-s2-chronos: S2RMIクライアント】
▼convention.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-chronos/src/main/resources/convention.dicon
▼creator.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-chronos/src/main/resources/creator.dicon
▼customizer.dicon
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-chronos/src/main/resources/customizer.dicon

時間見つけて、S2CHRONOSもがんばろう。

--
http://suz-lab.blogspot.com/

"Hyper Estraier"で検索対象にしたくないページの指定

スズキです。

クローラーの設定ファイル
("estwaver init hoge"で作成したhoge/_conf)
を調整することで可能です。

"page="という文字を含むURLを検索対象から外したい場合は、
下記のように記述します。

--------【_conf】--------
denyrx: .*page=.*
--------

あとは正規表現の組み合わせです。
(それが苦手なんだよなー...)

--
http://suz-lab.blogspot.com/

WindowsでRuby(再び)

スズキです。

Windowsマシン上で、下記エントリで紹介した"@nifty TimeLine"を
http://suz-lab.blogspot.com/2009/01/nifty-timeline.html
定期的に更新するプログラムを作って動かそうかと思い、
どの言語で作るか悩んでいたのですが、結局Rubyにしました。

理由はポータブル環境との親和性です。

まずは、Pythonを検討しましたが、本家のWindowsバイナリは、
インストーラー前提で、レジストリもいじるようです。
(ポータブルなPythonもありましたが、バージョンが追いついていません...)

次にPerlも検討しましたが、"Strawberry Perl"のPortable版があったので、
http://strawberryperl.com/
これかなー、と思いましたが、まだベータ版であることと、
後述する開発環境のを考慮し、Rubyにしました。
(zip版なら大丈夫なのかなー、自分で試してるけど...)
http://suz-lab.blogspot.com/2008/10/windowsperl.html

ということで、Rubyです。RubyにはRuby-mswin32という、
Windowsバイナリがzipの形で提供されています。
http://www.garbagecollect.jp/ruby/mswin32/en/

インストールドキュメントを見る限り、
ポータブル版のような気がします。
http://www.garbagecollect.jp/ruby/mswin32/en/documents/install.html

って、よく考えたら、以前も導入してました。
(なのでタイトルが"再び"です...)
http://suz-lab.blogspot.com/2007/08/windowsruby.html

次に、開発環境ですが、やっぱりEclipseで作れたらいいなーと思い、
昔はRDTを試していたのですが、
http://suz-lab.blogspot.com/2007/08/rdt.html

なんか、RDTはAptanaのRadRailsというものになったらしく、
そのRadRailsも単体で、Eclipseに入れるすべがわからず、

ふと、PDTをインストールしたときに、
"動的言語ツールキット"なるものが必要で、
そこで、Rubyって文字見た気がしたなー、と思い出し、
http://suz-lab.blogspot.com/2008/10/eclipse-341pdt-20.html

"動的言語ツールキット(DLTK)"を試してみることにしました。
http://www.eclipse.org/dltk/

Eclipseのソフトウェア更新より、下記アップデータサイトから、
http://download.eclipse.org/technology/dltk/updates-dev/1.0
"動的言語ツールキット - Ruby 開発ツール"をインストールします。

そして、設定にRubyのメニューがあるので、インタープリターの設定で
"bin\ruby.exe"を登録することで、
Rubyプロジェクトを作成できるようになります。

開発したものをどうDeployするか考えないと...

--
http://suz-lab.blogspot.com/

2009年2月1日日曜日

Seasar 2.4.34 リリース

スズキです。

ちょっと遅いですが、表記の通りです。
http://www.seasar.org/wiki/index.php?SeasarWhatsNew%2F2009-01-29#id104fad

suz-example-s2プロジェクト群に関しては、
下記のようにsuz-example-s2-commonのpom.xmlを調整」するだけで、
依存している他のプロジェクトにも勝手に反映してくれます。
(m2eclipseでEclipseのビルドパスも勝手に反映します!)

--------【POM】--------
- <version>2.4.33</version>
+ <version>2.4.34</version>
--------
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-common/pom.xml

はやく、Hudsonも導入しよう。

--
http://suz-lab.blogspot.com/