2009年10月27日火曜日

PortableApps.comに"Skype Portable"

スズキです。

SkypeもPortableApps.comからポータブル版がリリースされました。
http://portableapps.com/news/2009-10-22_-_skype_portable_4.1

今までは、以下のサイトで紹介されているやり方で
http://kengo.preston-net.com/archives/002415.shtml
バージョンアップするたびに、非常に面倒だったんですが、
PortableApps.comが適宜バージョンアップしてくれれば、楽チンです。

SkypeとPidginは連携させないほうがいいなー。

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

2X Client Portable - リモートデスクトップ(Windows)のポータブル版

スズキです。

ついに、リモートデスクトップのポータブル版を見つけました!
PortableApps.comからリリースされています。
http://portableapps.com/news/2009-10-20_-_2x_client_portable_7.3.727

パフォーマンスは標準のリモートデスクトップと、ほぼ同じだと思います。

リモートデスクトップをポータブルにできるのは、大きいなー。

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

PortableApps.comに"Google Chrome Portable"

スズキです。

今まで、下記のように"Google Chrome"のポータブル版を使っていましたが、
PortableApps.comからもリリースされました。
http://portableapps.com/news/2009-10-21_-_google_chrome_portable_3.0.195.27

バージョンもこちらのほうが(ほんの)少し高いので、乗り換えました。

早く、"Version 4"、でないかなー?

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

2009年10月21日水曜日

"s3sync"でS3と同期

スズキです。

s3fsがだめそうなので、
http://blog.suz-lab.com/2009/10/s3fsfolder.html
フォルダ(ファイル)同期は"s3sync"で行うことにしました。

導入は下記のとおりです。

▼ 必要パッケージのインストール(rubyが必要)

# yum install ruby

▼ ダウンロードとインストール

# cd /usr/local/src
# curl -O http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
# tar xvzf s3sync.tar.gz
# cd /opt
# mv /usr/local/src/s3sync ./
("/opt/s3sync"にインストールしています)

▼ "/opt/s3sync"以下に設定ファイルを作成し、環境変数を設定

# export S3CONF=/opt/s3sync

--------【s3config.yml】
aws_access_key_id: 11111111111111111111111
aws_secret_access_key: 222222222222222222222
--------

で、こんな感じに実行すると、

# ./s3sync.rb -r /var/www/html/img cdn.suz-lab.com:

"cdn.suz-lab.com"以下にimgフォルダが同期されます。

s3fsでいろいろいじったimgフォルダが消せなくなった...
Error - Setting ACL failed - /cdn.suz-lab.com/img_$folder$, Your
request was missing a required header
だって...

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

s3fsでフォルダに"_$folder$"がついてしまう...

スズキです。

下記でs3fsの導入まで完了し、早速、本格的に利用してみようとしたら...
http://blog.suz-lab.com/2009/10/s3fs.html

S3上で作成したフォルダが、s3fsでマウントしたマウントポイントでは、
フィルだ名に"_$folder$"がついた形で、表示されてしまってました...

具体的には、

【S3】
test.txt (ファイル)
img (フォルダ)

【/mnt/s3】
test.txt (ファイル)
img_$folder$ (ファイル)

となってしまいます...

これだと、ちょっと今やろうしていることには利用できないので、
違うソリューション探さないといけません...

ソース修正する元気はないなー...

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

2009年10月20日火曜日

"sed"の復習(外部ファイル)

スズキです。

"mod_ext_filter"で適当なコマンドで文字列置換するので、
そのコマンドにsedを利用しようと思っての復習です。

置換元ファイルはこんな感じです。

-------sample.txt--------
sample1 sample2
sample3 sample4
--------

今回は、置換ルールは外部ファイルということで、
こんな、簡単なものを用意しました。

--------sample1.sed--------
s/s/S/
--------

で、実行です。

# sed -f sample1.sed < sample.txt
Sample1 sample2
Sample3 sample4

行の最初にマッチングしたものしか置換されません。
全部置換するには、下記のように"g"をつけます。

--------sample2.sed--------
s/s/S/g
--------

で、また実行です。

# sed -f sample2.sed < sample.txt
Sample1 Sample2
Sample3 Sample4

置換ルールはこんな感じに複数かけます。

--------sample3.sed--------
s/s/S/g
s/a/A/g
--------

で、これも実行です。

# sed -f sample3.sed < sample.txt
SAmple1 SAmple2
SAmple3 SAmple4

よし、思い出してきたぞ!

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

"hosts"ファイルの切り替えをFirefoxのアドオンで

スズキです。

こちらで、SwitchHostsという便利なFirefoxのアドオンが紹介されてました。
http://phpspot.org/blog/archives/2009/10/hostsfirefoxswi.html

"hosts"ファイルの切り替え/編集をFirefox上で行うことができます。

ダウンロードはこちらから。
https://addons.mozilla.org/ja/firefox/addon/14258

ローカルVMware上のApacheのVirtualHostの名前解決用に、
内部DNS立ち上げようと思ってたけど、これでいいや...

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

2009年10月19日月曜日

s3fs

スズキです。

下記準備から、
http://blog.suz-lab.com/2009/10/cloudfront.html

今度は、実際にs3fsを利用してみました。

まずは、必要なパッケージの導入です。(環境によって異なるはずです)

# yum install make
# yum install gcc-c++
# yum install fuse-devel
# yum install curl-devel
# yum install libxml2-devel

次に、s3fsのインストールです。

# curl -O http://s3fs.googlecode.com/files/s3fs-r177-source.tar.gz
# tar xvzf s3fs-r177-source.tar.gz
# cd s3fs
# make
# make install

最後に、s3fsの実行です。
# s3fs cloudfront.suz-lab.com -o accessKeyId=aaa -o
secretAccessKey=sss /mnt/cloudfront

予め作成しておいた、s3のbucket(cloudfront.suz-lab.com)を
"/mnt/cloudfront"にマウントしています。

次は「mod_ext_filter」だ。

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

CloudFrontを効率的に利用する(情報のまとめ)

スズキです。

EC2(CentOS 5.3)上のWebアプリケーションで
静的なファイル(js, css, jpg, png, gif, swf, ...)に対してCloudFrontを利用することになり、
下記内容の技術を利用すれば、効率的に運用できるんじゃないか?
と企んでます。

▼mod_ext_filter(URL書き換え)
http://vkgtaro.jp/2009/04/05/mod_ext_filter

▼s3fsの本家
http://code.google.com/p/s3fs/

▼s3fsの導入方法
http://d.hatena.ne.jp/rx7/20080429/p1

本来なら、CloudFrontを利用するファイルをS3にアップロードし、
HTML内のURLをCloudFrontのものに書き換えるって話になると思いますが、
CloudFrontを利用しない開発(テスト)環境と透過的にしたいと思ってます。

早速、VMwareで実験しよう。

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

"define"でなく"const" - PHP

スズキです。

うれしいことに、この記事に対して、
http://blog.suz-lab.com/2009/10/php.html

このようなコメントをいただきました。
http://www.haloscan.com/comments/iretsuzuki/7658573933420455263/?a=22777
> MobileTool.php のソースを拝見させていただきました。
> 定数定義されている
> define("MOBILE_CAREER_DOCOMO" , 1);
> 等を以下のようにクラス定数にすれば、グローバル空間を汚染せず、
> より隠蔽化されたライブラリになると思います。
> class MobileTool extends Tool {
>   const MOBILE_CAREER_DOCOMO = 1;
>   :
>   :
>   public function isCareerDocomo() {
>     return ($this->career === self::MOBILE_CAREER_DOCOMO);

ということで、早速反映してコミットです。
http://code.google.com/p/suz-lab-php/source/browse/trunk/suz-lab-php/php/lib/Tool/MobileTool.php

HaloScanはやめたいなー...

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

2009年10月15日木曜日

Tomcat6でログ出力を調整(server.xml)

スズキです。

設定をserver.xmlで行っているTomcat6の特定のコンテキストの
ログ出力を変更する必要があり、実際やってみたら、結構はまってしまいました…

まず、アクセスログに関してですが、
これは、下記のようにserver.xmlを設定することですぐに実現できました。
(まあ、有名なお話です…)

--------【server.xml】--------
...
<Context path="/suz-lab" docBase="/home/suz-lab/webapp">
  <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="/home/suz-lab/log"
    prefix="suz-lab_access-"
    fileDateFormat="yyyy-MM-dd"
    suffix=".log"/>
</Context>
...
--------

で、はまったのがエラーログ(catalina.outに出るやつ)です。

まずは、素直に、下記のようにserver.xmlを指定したのですが、
出力されず...

--------【server.xml】--------
...
<Context path="/suz-lab" docBase="/home/suz-lab/webapp">
  <Logger className="org.apache.catalina.logger.FileLogger">
    directory="/home/suz-lab/log"
    prefix="suz-lab_error-"
    suffix=".log"
    timestamp="true">
  </Logger>
</Context>
...
--------

んー、"Logger"は"Context"の中に記述してもいいはず何だけどな...
と思いながら、いろいろ調べていると、こんな情報が...

> Tomcat 6.0 での重要な変更点として,localhost_log を作るために
> 前のバージョンにあった <Logger> エレメントは,もはや <Context> の
> 妥当な入れ子エレメントではない。そのかわりに,デフォルトの
> Tomcat コンフィグレーションは java.util.logging を使う。
http://www.oki.com/jp/oss/document/tomcat/tomcat60-docs-ja/logging.html

ということで、「logging.properties」のほうで設定しないといけない、
ということでした...

で、見よう見まねで、下記のように設定すると、無事、指定した場所にログが出力されました。
("handlers"に加えるのを忘れないように!)

--------【logging.properties】--------
handlers = 1catalina.org.apache.juli.FileHandler,
2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler,
4admin.org.apache.juli.FileHandler,
5host-manager.org.apache.juli.FileHandler,
6suzlab.org.apache.juli.FileHandler,  java.util.logging.ConsoleHandler

...

6suzlab.org.apache.juli.FileHandler.level = FINE
6suzlab.org.apache.juli.FileHandler.directory = /home/suz-lab/log
6sualab.org.apache.juli.FileHandler.prefix = suz-lab_error-

...

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/suz-lab].level
= INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/suz-lab].handlers
= 6suzlab.org.apache.juli.FileHandler
--------

久しぶりのTomcatだったなー...

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

Googleドキュメントでフォルダの共有

スズキです。

今日、Googleドキュメントの右上の「New! フォルダの共有」に気づいてしまいました。
なんか、共有フォルダが作れるようです。

実際、左側のマイフォルダ内のフォルダを、右クリックなどで共有フォルダにすることができ、
そのフォルダ内のドキュメントは、すべて共有されるようになっています。

今まで、ドキュメントごとに、いちいち共有設定していましたが、
共有フォルダを利用することで、その煩わしさからも開放されます。

小さめのプロジェクトは、まずは、
Dropboxの共有、Googleドキュメントの共有、Skypeの会議室、
だなー…(セキュリティの話はおいておいて…)

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

FlashDevelop 3.0.5 (日本語化) & Flex 3 SDK 3.4.1

スズキです。

そろそろ、Flashまわりにキャッチアップしないとなー、と思い、
まずは開発環境まわりから、アップデートしてみました。

ということで、まずは"FlashDevelop"。
3.0.5になっていました。
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=5567

ちょうど昨日、日本語化ファイルも、こちらで提供されました。
http://www.logicalyze.net/blog/?p=3151

そして"Flex 3 SDK"。こちらは、3.4.1になっています。
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

とりあえず、環境は整ったので、
リハビリがてらに、"Google Maps API for Flash"でもやってみるか!?

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

2009年10月14日水曜日

PHPで携帯用便利クラス

スズキです。

下記情報をもとに、PHPの携帯用便利クラスを作ってみました。(車輪の再発明...)
(ID取得) http://memorva.jp/memo/mobile/uid_utn.php
(機種判定) http://mobile.np-os.net/index.php?p=ua

ソースはこちらになります。
http://code.google.com/p/suz-lab-php/source/browse/trunk/suz-lab-php/php/lib/Tool/MobileTool.php

使い方はこんな感じです。

--------【PHP】-------

require_once("MobileTool.php");

$mobileTool = new MobileTool(
  $_SERVER["HTTP_USER_AGENT"],
  apache_request_headers()
);

// IDの取得
$mobileTool->id;

// 画面の幅と高さの取得
$mobileTool->screenWidth;
$mobileTool->screenHeight;

// DoCoMo?
$mobileTool->isCareerDocomo()

// FOMA?
$mobileTool->isTypeFoma();

...

--------

実は、自分メモ...

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

EC2 & CentOS(5.3) & OpenVPN 準備編

スズキです。

とりあえず、インターネット上の使えそうな情報をまとめてみました。

▼ Amazon EC2でVPN網構築 (目次)
http://blog.livedoor.jp/dynakou/archives/51373183.html
▼ Amazon EC2でVPN網構築(1)
http://blog.livedoor.jp/dynakou/archives/51321805.html
▼ Amazon EC2でVPN網構築(2) OpenVpnServerインストール
http://blog.livedoor.jp/dynakou/archives/51338453.html
▼ Amazon EC2でVPN網構築(3) OpenVpnServer設定~その1
http://blog.livedoor.jp/dynakou/archives/51338453.html
▼ Amazon EC2でVPN網構築(4) OpenVpnServer設定~その2
http://blog.livedoor.jp/dynakou/archives/51347708.html
▼ Amazon EC2でVPN網構築(5) OpenVpnクライアントの設定
http://blog.livedoor.jp/dynakou/archives/51351466.html
▼ Amazon EC2でVPN網構築(Last) OpenVpnクライアントの設定 CentOS版
http://blog.livedoor.jp/dynakou/archives/51372925.html

▼ CentOS 5.2 に OpenVPN を突っ込むテスト[1]
http://blog.y17e.com/?p=881
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[2]
http://blog.y17e.com/?p=883
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[3]
http://blog.y17e.com/?p=893
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[4]
http://blog.y17e.com/?p=896
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[5]
http://blog.y17e.com/?p=898
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[6]
http://blog.y17e.com/?p=904
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[7]
http://blog.y17e.com/?p=914
▼ CentOS 5.2 に OpenVPN を突っ込むテスト[8]
http://blog.y17e.com/?p=925

まずは上記を精読して、VMware上のCentOSで実験かな。

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

App Engine SDK 1.2.6 リリース

スズキです。

こちらでアナウンスされています。
http://googleappengine.blogspot.com/2009/10/app-engine-sdk-126-released-with.html

大きな昨日追加としては、
「メールの受信」と「アプリケーションの削除」が挙げられています。

【メールの受信】

Java、Python、ともに利用できます。
詳しいことは下記(Java)に書かれています。
http://code.google.com/intl/ja/appengine/docs/java/mail/receiving.html

【アプリケーションの削除】

待ちに待った機能です。
何もわからないときに、作ってしまったゴミアプリが一掃できます。

管理コンソールにて、左側のメニューの
Administration > Application Setting にて
"Disable Application"でまず、無効にでいます。
この時点では、まだ、有効に戻すことができます。
そしてさらに、"Request Permanent Deletion"ボタンで
完全削除リクエストができます。
(72時間以内なら取り消すことができます。)

もっと、"Gogole App Engine"にふれなければ...

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

2009年10月13日火曜日

cifsでマウントしたボリュームをApacheで利用するには?

スズキです。

Windows上のDropboxフォルダを共有フォルダにして、
同じWindows上で動いているVMwareのCentOSで共有(cifs)して、
そのサブフォルダの一つをApacheのドキュメントルートとして、
利用しようとしたら、うまくいきませんでした。

で、いろいろ調べると、
Apacheの設定(httpd.conf)に下記の記述が必要とのことでした。

EnableSendfile Off

具体的には、こんな感じです。

--------【httpd.conf】--------
<VirtualHost *:80>
  ServerAdmin webmaster@suz-lab.com
  ServerName dropbox.suz-lab.com
  DocumentRoot /mnt/dropbox/htdocs
  ErrorLog logs/dropbox.suz-lab.com-error_log
  CustomLog logs/dropbox.suz-lab.com-access_log combined
  EnableSendfile Off
</VirtualHost>
--------

生活/仕事のリズムをもとに戻さなきゃ...

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

VLC Media Player Portable 1.0.2 リリース

スズキです。

とりあえずアップデート。
http://portableapps.com/news/2009-10-11_-_vlc_media_player_portable_1.0.2

また、動画系の仕事、やりたくなってきたなー。

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

2009年10月2日金曜日

"Command Prompt Portable" & "Bazaar Portable"

スズキです。

Bazaarのダウンロードページには、「bzr-2.0.0-1-nonadmin.exe」
といった、自己解凍形式のものが置いてあります。
https://launchpad.net/bzr/+download

これは、インストールせずに、フォルダを解凍するだけで、Bazaarが利用できるので、
ポータブル環境のアプリケーションの一つとしています。

そして、せっかくのポータブルなので、
このBazaarを実行するコマンドプロンプトもポータブルにしています。
http://portableapps.com/apps/utilities/command_prompt_portable
(実は、以前、ちらっと紹介しています…)
http://blog.suz-lab.com/2009/04/command-prompt-portable.html

で、この"Command Prompt Portable"は
Data\Batch\commandprompt.bat
にて、初期実行コマンドを記述することができます。

そして下記が、現在の僕の"commandprompt.bat"です。

--------【commandprompt.bat】--------
@echo off
color 07
prompt $p$g
title Command Prompt Portable
set BZR_HOME=S:\windows\sbin\bzr
set PATH=%PATH%;%BZR_HOME%;
doskey cat=type $*
doskey ls=dir $*
doskey rm=del $*
doskey pwd=cd
doskey vi=vim $*
cls
ver
cd \common\home
--------

コマンドをUNIXっぽくし、Bazaarも容易に利用できるようにしています。

EC2まわりの設定も、入れておこう...

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