Amazon S3 便利ツール for Windows

アマゾンが提供しているストレージサービス「Amazon S3」。
1年ほど前から,NASだけでは不安もあるバックアップ先として,他にも,「新刊.net」や「カルチョ!」の画像などのリソースのホスティングでも利用しています。


S3はウェブAPIだけなので,アカウントをとっただけではなにもできません。
Twitter のように動的に画像などをアップロードしてホスティングするのが本来想定されている利用方法なのでしょうが,バックアップや静的リソースのホスティングなんかだと手動でアップロードできるツールが欲しくなります。
これまでずっと,FireFox のアドオンとして提供されている「S3 Organizer(S3Fox)」を利用してきたのですが,なぜかはわかりませんが半年くらい前から自分の環境でまともに動かなくなってます。
※改善しました下のS3Foxの項を参照。
そういったわけで,改めて情報収集してみました。

Amazon S3 FireFox Organizer (Rahul Jonna)

上で書いたように,これまでずっと使っていたツール。
最近,JavaScriptの例外エラーがでて,ダウンロードとか,ローカルのフォルダ移行がうまくいきません。
理由は謎…
というか誰か解決方法がわかる人がいたら教えてください m(__)m

S3 Backup (maluke.com)

S3 Organizerとは別にバックアップに利用中。
定期的に指定したフォルダをS3へバックアップしてくれるので重宝しています。

S3 Webmaster (maluke.com)

上の「S3 Backup」と同じ作者による手動アップロードに特化したツール。
本当にアップロードに特化しているのでちょっと不便,なにしろダウンロードが出来ません。
S3のファイルは,アクセス権限をちゃんと設定すればHTTPでアクセスできるので拾えないわけではありませんが,複数のファイルを扱うには不便です。

S3Safe (Lumen Systems)

今回,改めて探したS3のファイルブラウザ,その1。
S3 Organizerではうまく見れていなかったS3側ストレージのタイムスタンプもわかるし最低限要は足りているようです。
不満な点は,ローカルのファイルのビューが無い所と,S3ストレージ側のファイルのアクセス権限がアップロード時にしかできないことでしょうか。
エクスプローラーとは相互にドラッグ&ドロップをすることができるので運用でカバーできますが,1ウィンドウに収まっているとシンプルでいいんですよね。
アクセス権限も,アップロードした後に変えることはあまり無いので支障は無いのかもしれません。
なお,無償で利用できますが,継続的な利用にはユーザー登録が必要になります。

SpaceBlock (CodePlex)

今回,改めて探したS3のファイルブラウザ,その2。
上の「S3Safe」よりも機能は十分,2ウィンドウでローカル&S3ストレージを眺めることができる点でも「S3Safe」よりは好みなのですが,画面構成や表示,インターフェイスが全体的になにかあか抜けていなくて使いづらいです。


当面は「S3Safe」を使ってみようと思います。
そして,できることなら「S3 Organizer」がまともに動くようになって欲しい…


他にも,こんなS3用の使いやすいツールがあるよというのがあれば紹介してください。

EthnaでShift_JISなページを作る

Ethna で,一部のページを携帯用の Shift_JIS コードでコンテンツを出力する方法です。
Ethna 全体を Shift_JIS化する方法は

EthnaでShift_JISなサイトを作る (ethna.jp)

を参照すればなんとかなるのですが,一部のページだけを変換するにはこれでは(たぶん)足りません。


まず,アプリケーション構築後に自動生成される「Sample_ViewClass」を継承する「Sample_MobileViewClass」を生成します。
この中で,Smartyを経由して出力されたデータの文字コードを一括して変換します。



require_once('Sample_ViewClass.php');

class Sample_MobileViewClass extends Sample_ViewClass
{
function preforward() {
parent::preforward();
ob_start();
}

function forward() {
parent::forward();

$str = mb_convert_encoding (ob_get_contents(), 'SJIS', 'EUC-JP');
ob_clean();
echo $str;
ob_end_flush();
}
}


以上のクラスを携帯用のページのビュークラスで「Sample_ViewClass」の代わりに親クラスとして継承します。



require_once('Sample_MobileViewClass.php');

class Sample_View_M extends Sample_MobileViewClass
{
function preforward() {
parent::preforward();

// 通常の処理
}
}

Synergy をCentOS5上で自動起動

仕事で複数マシンを同時に利用することが多く,昔からUSB切り替え器のお世話になったり,お世話にならずに卓上にキーボードが数枚並んでいたりとしていたのですが,最近,一組のキーボードとマウスを共有するのに「Synergy」というソフトウェアを使っています。

Synergy公式サイト

これは,ソフトウェアのみで,LANで接続されているマシン同士でマウスとキーボード,さらにはクリップボードを共有するツールです。
Linuxのみならず,Winsows,MacOS用があって,それぞれのOS間でも共有可能。


実際,ThinkPad を真ん中において,左前にWindowsデスクトップ画面を,右前にLinuxデスクトップ画面を配置。
ThinkPadのキーボードとマウスのみで,全てのマシンを操作できています。
クリップボードも共有されているせいか,マルチモニターと錯覚することも(笑)


どう便利なツールかというのは,google:synergy でググッてみればもっとわかりやすく開設しているサイトがあるので,この辺りにおいとくとします。


今日の本題は,Linux(CentOS5)で,起動時に自動的にSynergyを有効にする方法です。
本家サイトにも記述はあるのですが,こちらの環境ではうまく作用せず。
以下は,いくつかのサイトをみて,こんな感じかな? とやってみてうまくいった方法です。

/etc/gdm/Init/Default

sysmodmap=/etc/X11/Xmodmap
という記述の直前。

/etc/gdm/PreSession/Default

XSETROOT=`gdmwhich xsetroot
という記述の直前。

以上の2箇所に,

/usr/bin/killall synergyc
sleep 1
/usr/bin/synergyc synergy-server-hostname

を挿入する。
"synergy-server-hostname" は,操作元となるサーバーマシンのホステ名,またはIPアドレスです。

追記 - Windows XP から、Windows XP にアクセスしてそこで起動している X Server(xming) でLinux(CentOS)を操作した場合

タイトルが無駄に長いですが、上記の環境において、なぜかUSキーボードっぽい配列で認識されてしまう問題がありました。
というか、いま現在もあります。


例えば、* "アスタリスク" を入力しようとしたら、( "括弧" が入力されてしまうという状態です。


この状態、なぜか X Server 上で「変換」キーを押すと直ります。
再起動をするとまた、同じ状況になるのですが、とりあえずいまはこれで凌いでいるところです。

WordPress

あんましなにも無いままなのもどうかと思ったので,昨夜セットアップしてみた「WordPress」の話でも。


最近,ブログツールとしてよく耳にするWordPress
ちょっと前から気になってはいたのですが,いまさら「櫻茶屋」MovableTypeから置き換える気にはならず。
そんな所にちょうどいま構築中のサイトの「おしらせブログ」が必要だなということで,せっかくなら使ってみようとセットアップしてみました。


正確には,日本語対応された「WordPress ME 2.1.2」を公式サイトからダウンロード。
アーカイブファイルを解凍して,それをそのまま某所に作ったサブドメインのルートにFTPで転送します。


その状態でトップページにアクセスすると

サーバー上に wp-config.php が存在しません。
WordPress のインストールにはこの設定ファイルが必要です。

と表示され,ウィザードの利用して設定ファイルを生成することになります。


この時,設定ファイルを構築するためにセットアップフォルダに書き込み権限が必要となったので指示通りに変更。


そのあとは,指示にあるままにMySQLへデータベースをひとつ生成,さらにアクセス用ユーザーもひとつ追加して,それをセットアップ画面の項目に追加。


それで終わり〜
なにも問題なく,トップページにアクセスできるようになりました。


ええと…,ダウンロードから30分経ってませんよ?
一番時間がかかったのは,ダウンロード+FTP転送かも。


その後,テーマスタイルをちょこっと変えてみたり,ユーザー情報を変えてみたり,英亜に挨拶文をもらって投稿してみたりしましたが,それでも1時間経っていません。


櫻茶屋」でMovableTypeをセットアップした時は,もっと手間取った記憶があるのですが,お手軽になったもんですね〜
欧米では既に,MovableType を上回る人気という話を聞きますが,ブログとしての機能は,十二分に高機能のようですし,これなら納得です。

あいさつ

仕事の合間に,
http://www25.big.or.jp/~hidea/mobile/
このへんとか,
http://www25.big.or.jp/~hidea/discover/
このあたりの開発を担当しているYOD-Yです。*1


古くは
http://homepage1.nifty.com/yody/
このあたりに自分のサイトを持ってましたが,閉鎖して久しくなります。


あと,VECTORの作者ページもありましたね。
http://www.vector.co.jp/vpack/browse/person/an001852.html
ただ,この辺りの作品は,前述の英亜との合作みたいなものです。


拙いながらも開発事をしていると,昨今のネットに散乱する情報から受ける恩恵というのは,計り知れないものがあります。


上に挙げた,Windows上での「DISCOVER Your Favorite!」開発の時も,VisualC++2.0以来10年以上ぶりにMFCを用いるのに多くの情報に助けられました。
さらにこの後の仕事で,Windows上のアプリの開発があったのですが,先のこれを作っていたおかげで基礎的な部分ではかなり楽をさせてもらい,機能部分の開発に集中することができました。


いまさらMFCの情報を書いても,ほとんど需要は無いかもしれません。
ただ,いくつかフリーソフトを作っている Windows Mobile や,最近になってとうとう,公私ともに手を染め始めているPHPMySQL等のコーディングでは,ネットで探して見当たらなかった情報も多く,こんな自分でもお返しできることがあればと思ってエントリーしてみました。


せっかくなら,このコーディングが正解! と思っていたことが日誌に書いてみたら実は違っていますよ…なんてコメントがあったりすると嬉しいですね。
仕事に直接関係することなら,仕事仲間とああでもない,こうでもないと意見を付き合わせることもできるのですが,相談相手もいない中,ひとりで煩悶としているのは結構辛かったりしますし。*2

*1:企画とか設計はだいたい,腐れ縁の英亜が担当。

*2:英亜は,実装にはあまり関らない。自由に任せてくれているとも言える。