ラベル WEB の投稿を表示しています。 すべての投稿を表示
ラベル WEB の投稿を表示しています。 すべての投稿を表示

2010年6月22日火曜日

Google Chrome のプロファイルを分けてGoogle(Gmail)アカウントを使い分ける

Googleのアカウントもってるじゃん。1つ?んなわけない。
 
 

FireFoxのプリズムとか、GoogleChromeのアプリケーションとしてショートカットとか便利なものは複数アカウントで使い分けたい。
特にChromeのアプリケーションショートカットはGmailをローカルのメーラっぽく使えていいので、別のアカウントで複数立ち上げたくなったのでやり方を調べてみた。
 

どうやら"--user-data-dir"という引数でプロファイルの場所を指定できるらしい、プロファイルが別ってことは、それぞれGoogleのログイン情報を別に持たせて動かせるってことだね。
 
 

chrome.exe" --app="https://mail.google.com/mail" --user-data-dir="..\..\User Data\hogehoge"

 

Chromeのショートカットを加工して、こんな感じで必要な分だけGmail用Chromeを起動すれば、あたかも複数メーラが立ち上がってるみたいになって便利。
hogehoge のところを適当にいじろう。
 
 

2010年4月14日水曜日

pythonのコマンド一行WEBサーバは便利、ファイル転送やWEBアプリの確認に

性懲りもなく python なぞに手を出し始めていますが、初期モジュールにHTTPサーバがいくつか入ってます。
その中にWEBサーバがあるんですが、これに驚いた。
 

python -m SimpleHTTPServer
 

Windowsでもいいし、Linuxほかでもいい。この一行でカレントディレクトリをルートにしたWEBサーバがあがる。
 

画像:PythonのSimpleHTTPServerモジュール
 
 

デフォルトだと TCPの8000番で待つのでアクセスしてみる。
 

画像:WEBブラウザでアクセス
 

ちゃんとカレントのディレクトリリスト※が出ている、(起動したユーザのアクセス権によるが)もちろんブラウザやWgetからダウンロード可能。
 

※ index.html があったら優先される。
 
 

設定やら色々追加することでCGIにもなったりしてかなり使いでがあるようだが、とりあえずこれだけすればwget,ブラウザですぐファイルを運べるので覚えとくと便利。
相手が iphone とかでもいいんだよね。
 

覚えておけ!いいからPythonいれとけ!
 

2010年3月24日水曜日

WEBサイト組み込み用途に最適?TightVNCのVNCViewer(Java)

VNCを適当に入れたら、ポート5800でWEBサーバが立つじゃない。
RealVNCのJavaのアプレットがぽつんと置いてある奴。
 

あれが重たい&ちょっと別用途でWEBブラウザから使いたいと思ったので別のものを探してみた。
 
 


TightVNC
http://www.tightvnc.com/
 
これが良かった。
 
 

Viewer Only のアーカイブをダウンロードしたら、サンプルのindex.htmlをclassesの中に放り込み、適当にWEBサーバの公開領域におこう。
それだけでVNCのクライアントが使える。まあ普通のJavaアプレットの展開と同じなんだけど。
 

TightVNCの利点はこのビュワーの手軽さと、軽快な動き。
RealVNCの奴は重たくてなかなか使い物にならなかったけど、これは軽い。CLIならほとんどストレスなく動かせた。
 
 


ちなみにサンプルのHTMLはこんな感じ。
最初直接叩いてみたが、*.jarが同一ディレクトリに無いと怒られる。
 
<HTML>
<TITLE>
TightVNC desktop
</TITLE>
<APPLET CODE="VncViewer.class" ARCHIVE="VncViewer.jar"
WIDTH="800" HEIGHT="632">
<PARAM NAME="PORT" VALUE="5901">
</APPLET>
<BR>
<A href="http://www.tightvnc.com/">TightVNC site</A>
</HTML>

 
 

このファイルを編集して、パラメータを渡せば別サーバに接続とか行ける。
<param NAME="HOST" VALUE="hoge.example.com">
 
 

さてこれをどっかに組み込んでみたいなと思ってる。
なぜ今更こんなのかっていわれると、VNCで使い勝手が上がるものがあるじゃない、Qemuとか、Xenとか・・・
 
 


ただ、これを別サーバ接続用のクライアントとして使おうとしたら、ポリシーの関係で なんだっけ、SocketPermission の違反が起きちゃうんだよね。
この制限解除はどこでやるんだ?できると助かる、サーバ側で指定できるといいんだがなあ。
 



追記
やっぱクライアント側か。。

2010年2月1日月曜日

WindowsVistaからWindows7にアップグレードしようかという時の制約

なんだかんだと検証でVistaを入れていたマシンに、折角だからとWindows7のDVDを入れてみた。
 

アップグレードインストールを選択したら、以下のような制約があることを教えてくれた。
 
 

Windows をアップグレードするには、ユーザー、Program Files、Windows の各ディレクトリが同じパーティション上にある必要があります。これらのディレクトリが同じパーティションにない場合、アップグレードはサポートされません。また、これらのディレクトリを同じパーティションに移動することもできません。代わりに Windows 7 Enterprise の新規インストールを行うことはできますが、アップグレードとは異なり、新規インストールではファイル、設定、プログラムが保持されません。現行のプログラムはすべて、元のインストール ディスクやインストール ファイルを使用して再インストールする必要があります。Windows のインストールを行う前にファイルを保存するには、CD、DVD、または外付けハードドライブなどの外部の保存場所にバックアップしてください。Windows 7 Enterprise の新規インストールを行うには、左上隅にある [戻る] ボタンをクリックし、[新規インストール (カスタム)] を選択してください。

 

プロファイルをDにうつしちゃったからかなあ。
最近はHDDもでかいし、CにシステムいれてDにユーザデータとProgramFilesを入れるのも古い考えかたなのかもしれない。
 
 

ChormeOSとまでは言わないけど、今後は手元のPCは構成を極力シンプルにして、データストアはどっかのクラウドをどんどん使っていくのがいいだろうね。
 

宅内のNASでもいい、オンラインストレージでもいい。
物理デバイス(HDD)を基準にしたパーティショニングは考え方から改めて行きたいね。 
 

2009年12月8日火曜日

PowershellでWassrの発言を取得(RSS)してはてなダイアリーに投稿する

というスクリプトを書いた、wassr結構早くログ消えちゃうみたいだしね。
ちょっと乱暴かつ適当な切り貼りをしたんだけど、元がどこだったか。。MSのサイトは結構みたな。
 

仕組み的には自分の発言のRSSを取ってきて、メールにしてはてなダイアリーに投稿する、というもの。
RSSでは20件しか取れないのでヘビー発言ラー向けではないが。
 

とりあえず成功してるもよう⇒http://d.hatena.ne.jp/sawano_hat/
 
 

これをWindowsのタスクに登録して、12時の鐘と同時に起動すればOKさ。
 

[sourcecode language='sh']
# wassr timeline sender
# 2009/12/07

[String]$wassrapi = "http://api.wassr.jp/statuses/user_timeline.rss"
[String]$wassrid = "自分のID"

[String]$smtp = "送信に使うsmtpサーバ"
[String]$port = "smtpポート"
[String]$to = "はてなのメール投稿用アドレス"
[String]$from = "wassr2hatena@example.com"
[String]$user = "SMTP認証ユーザー"
[String]$pass = "SMTP認証パスワード"


# HTTPリクエスト
$webReq = [Net.HttpWebRequest]::Create($wassrapi + "?id=" + $wassrid)
$webRes = $webReq.GetResponse()
$sr = New-Object IO.StreamReader($webRes.GetResponseStream(), $webRes.ContentEncoding)

# レスポンスのRSSをXML型の変数に
[xml]$content = $sr.ReadToEnd()


# 読み込みクローズ
$sr.Close()
$webRes.Close()

# 昨日の日付作成
[DateTime]$yesterday = (get-date).adddays(-1)
$body = "http://wassr.jp/" + $wassrid + "`n`n"

# RSSから発言単位でFroeach
foreach ($item in $content.rss.channel.item){

# 発言の日時を取得
$itemdate = [DateTime]$item.pubDate

# 発言の日時と昨日の日付を比較して、等しければメールボディに
if ($itemdate.Date -eq $yesterday.Date) {
$body = $body + ":[" + $item.link + ":title=" + $itemdate.DateTime + "]:"
$body = $body + $item.title + "`n"
$body = $body + "`n"
}
}

#サブジェクト作成
[String]$subject = "Wassr " + [String]$yesterday.Year + "/" + [String]$yesterday.Month + "/" + [String]$yesterday.Day + " の発言"

#メール準備
$mail = New-Object Net.Mail.MailMessage($from, $to)
$mail.Subject = $subject
$mail.Body = $body
$mail.SubjectEncoding = [Text.Encoding]::GetEncoding("ISO-2022-JP")
$mail.BodyEncoding = [Text.Encoding]::GetEncoding("ISO-2022-JP")

#メール投稿
$sc = New-Object Net.Mail.SmtpClient($smtp)
$sc.port = $port
$sc.Credentials = New-Object Net.NetworkCredential($user, $pass)
$sc.Send($mail)
$mail.Dispose()
[/sourcecode]
 
 

はてなほったらかしだったんで、とりあえず役目ができてよかったよかった。
 



追記:折角だから日付のところをリンクにしよう。
修正した。

2009年10月2日金曜日

Wordpressに投稿して、Wassrのステータスをついでに更新する(プラグインの)プ ラグイン

自分のところのブログは、Yahoo!のブログ検索とかに出てこないなあと思っていたら、ヨソでこういう記事を見つけた。
 

WordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法:トイレのうず/ぼやき
 

WordPress は工夫しないとYahoo!に弾かれるらしいということや、更新のたびにPing送信という迷惑じみた仕様ということは全く知らなかったなあ。なるほど。
 
 

さて、引用。
手動で Ping を送るのは面倒。ということで、既存のプラグインをちょこっと改造することで、自動化することに成功しました。

 

おぉこれは・・・
ブログ更新のついでに適当なAPIをひっぱたいてこれるということか。
ちょっと探したが、WordPress更新で twitter のタイムライン更新はあるが、Wassr のはみつからなかったのでYahoo!対策のついでに実装してみた。
 
 

自分用「Smart Update Pinger Wassr」の出来上がり、一応配布なんぞを


php に触れたことはほぼ無い(そもそもプログラムしない)が、元ネタさんが丁寧な改変をされていたのでとても作りやすかった。
ログの吐き方とかアヤシイが、まあそんなに困らないだろうが見栄えが変なのでそのうち直そう。。
適当に確認用の行消したらきれいになったっぽい。>ログ出力

 
 

せっかくなので置いておこう、使うような物好きがいるかもだが、できればマトモなphp書きにクオリティ・セキュリティ面を突っ込んでほしい所。
 

(1) まず、元ネタ トイレのうず さんWordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法を実施しましょう。
Yahoo!関連が不要ならそれはスキップでOKだが、Ultimate Plugins Smart Update Pinger はどうしても必要。
 

(2) Wassr用追加モジュールを落として、ultimate-plugins-smart-update-pinger.php たちと同じディレクトリに設置します。
Smart Update Pinger Wassr
 

(3) 大元のプラグイン、ultimate-plugins-smart-update-pinger.php を編集して、処理を呼んでもらいます。
また引用ですが、
・107行目と117行目の2ヶ所の
$SUP_output_log=SUP_ping_services($forcedpings,get_permalink($id)).$SUP_output_log;
の後ろに下記を追加。

こちらを実施されたなら、そのさらに後ろに2行づつ追加します。しなかったら同じところで。
[sourcecode language='php']
require_once('smart-update-pinger_wsr.php');
$SUP_output_log = send_ping_wsr("http://api.wassr.jp/statuses/update.json", $row["post_title"], get_permalink($id)).$SUP_output_log;
[/sourcecode]
 

(4) smart-update-pinger_wsr.php にWassr用のユーザ名とパスワードを記述します。
19行目と20行目かな
[sourcecode language='php']
$URL['user'] = "username";
$URL['pass'] = "password";
[/sourcecode]
 

(5) 後は丸ごとアップロードして、管理画面でUltimate Plugins Smart Update Pinger を有効にすればOK。
WordPressに記事投稿をするたび『ブログ更新Ping:記事タイトル(URL)』 という感じでWassrのステータス更新が入るはず。
 
 
 

ということで公開と同時に最後のテスト、こけませんように(-人-)
(実は3度目)
 
 



追記:ログがめっさ汚いなぁ。。また今度直そう。
追記:治ったっぽい

2009年10月1日木曜日

WordPressに投稿したらWassrに自動でPOSTするテスト(4)

一個前のリトライ。
二個前のリトライ。
三個前のリトライ。
 


POSTには成功、でも記事タイトルとURLが出なかったのでもう一回
結果如何にせよ今日はこの辺で・・・

 

>> 一応の完成版はこちら ⇒ Wordpressに投稿して、Wassrのステータスをついでに更新する(プラグインの)プラグイン

WordPressに投稿したらWassrに自動でPOSTするテスト(3)

一個前のリトライ。
二個前のリトライ。
 

ログに『{"error":"argument status required"}』何故だ?
と思ったら
連想配列 $psot を定義して$post をクエリで組み立てりゃあそうなるよね。
 

こんどはどないだ。

>> 一応の完成版はこちら ⇒ Wordpressに投稿して、Wassrのステータスをついでに更新する(プラグインの)プラグイン

WordPressに投稿したらWassrに自動でPOSTするテスト(2)

一個前のリトライ。
 

呼ぶ関数間違えちゃったよ。。。
もう一回。
 

 
>> 一応の完成版はこちら ⇒ Wordpressに投稿して、Wassrのステータスをついでに更新する(プラグインの)プラグイン

WordPressに投稿したらWassrに自動でPOSTするテスト(1)

タイトル通りのことをテスト。
 

まあ内容はこちらの記事のパクリなんですが。。
WordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法:トイレのうず/ぼやき
 

上手くいくとイイナ。

 
>> 一応の完成版はこちら ⇒ Wordpressに投稿して、Wassrのステータスをついでに更新する(プラグインの)プラグイン

2009年2月10日火曜日

SyntaxHighlighter Plus の v0.18 → v1.0b1 はだいぶ見た目が変わる

WordPress用のプラグイン、ソースコードを綺麗に見せてくれる SyntaxHighlighter Plus というのを使ってるんだけど、最近 v0.18 → v1.0b1 というバージョンアップがあった。
 

WordPressダッシュボードで更新が通知されたので、自動アップデートをかけてみたら、えらい見た目が変わってしまったのでちょっと元に戻した次第。
 
 

ロールバック、元に戻す際はpluginディレクトリから一旦、SyntaxHighlighter Plus を消して、公式のダウンロードリストから旧バージョンを落として再度pluginフォルダにアップロードすればOK。
 
 

自動アップデートは便利なのでつい押しちゃうが、ちゃんと試したほうが良いなやっぱり。

2009年1月22日木曜日

Stunnelでお気に入りのPOPメールチェッカをSSL対応にする

今の時代珍しいかも知れないが、諸般の事情でメールチェッカを使っている。POP3のサーバにメールチェックしに行き、差出人とタイトルだけ表示してもらうタイプ。
 

ちなみに使っているのはこれ、
B's Biff for Windows < < び~さんち
思えばWindows95時代からずっと使っているな。
 
 

さて、POP3といえば 平文バリバリの通信、全体的に弱めのパスワード認証機構などと、あまり知らないネットワークを通って欲しくないプロトコルの代表的な存在だ。
 
そのため最近はメールサーバとのやりとりにSSLを使ってPOP3通信を暗号化(POP3S)する事が当たり前のようになってます。
pop3sについては@ITあたりを見てもらうとして、はっきり言って外出先のネットワークやモバイルの環境でPOP3を流すなんてとてもアブナイ行為なわけです。
 

そこで困ったのがB's Biff for Windows がPOP3Sなんてできない事、それを何とかするために Windows版Stunnel を使っています。
 

使い方は下記の図のとおり、クライアントモードですね。
 

[caption id="attachment_1199" align="alignnone" width="621" caption="画像:メールチェッカとStunnel"]画像:メールチェッカとStunnel[/caption]
 

やり方はシンプル、stunnelをインストールしたらローカルのポートと、それに対応するメールサーバへの接続情報を記述すればよい。
 

コンフィグファイル "stunnel.conf" の内容はこうなる。
client = yes
[pop3s]
accept = 127.0.0.1:995
connect = mailserver.example.com:995

accept のポートは別に何でもOK、メールチェッカの設定とあわせること。
これで、メールチェッカの設定を 127.0.0.1 の ポート995 をメールサーバに指定すれば完了。
 


あとはstunnelを起動して、"netstat" でローカルPCの待ち受けを確認。
Proto Local Address Foreign Address State PID
TCP 127.0.0.1:10995 0.0.0.0:0 LISTENING 3428
[stunnel.exe]

これでまだ当分使える。
 
 




しかし「B's Biff for Windows」は基本的に文字コードはJISで動作をするので、UTF-8のメールはタイトル・本文とも化けてしまう、仕方のない話だが。
いずれ使わなくなるんだろうかな。

2009年1月14日水曜日

PHP Fatal error: Call to undefined function sqlite_open() phpから SQLite2できない?

CentOS5.2、php5.1.6 (yum)の環境で sqlite_open() が出来ねー。
 

という状況で調べたら、phpからsqlite使うなら pdo_sqlite で sqlite3 を使いましょう、という情報が多い。
phpinfo() で確認したら、ご丁寧にコンフィグオプションで "without-sqlite" が指定されていた。
yumでインストールしたらそうなる模様、楽をするとしわ寄せがくるなあ。
 
 

sqlite2 を使う必要があるので少々困った。
sqlite.so だけ入れたら何とかなるだろうと思い探したら丁度よい情報が
 

[PHP]パッケージで入れたPHP 5に最新版sqlite拡張を入れる - GRANADA Hatena @ sotarok


複雑な事情はあれど、とりあえずPHP5をパッケージで入れた人むけ。
-snip-
で、実はこれで入れると、 without-sqlite されていて、php-pdo 入れれば sqlite3 系は使えるけど、sqlite2系の関数が使えない。

 
そうそう、そうなのよ。
解決法として phpize によるモジュールの個別インストール方法が紹介されていたので早速やってみる。
 

PHPの過去リリース から5.1.6のソースを落として ext/sqlite をphpize 。
.configure して make して
"/usr/local/src/php/php-5.1.6/ext/sqlite/modules/sqlite.so" の出来上がり。
 
 

きっちりphpから sqlite2 用の関数が使えるようになりました。
少々ならバージョン上がっても、同じ手順で大丈夫だろう。

2008年12月12日金曜日

Google Chrome が正式版になったぞ

GoogleのWEBブラウザ GoogleChrome の配布版からベータが取れた。
 

GoogleChrome ダウンロードページ
http://www.google.com/chrome


ここからダウンロード可だ。
 

リリースにあたっての各種情報は公式ブログにて案内されている。
Google Chrome(BATA) - Official Google Brog
ベータが取れたことを強調しているタイトルだ。
 

Google日本ブログ ではまだだなぁ。
(※追記:Google Chrome(BETA) 日本語訳 来た。この更新されてる方はAdmintechに来てたな…)
 
 

ところでアドオン的な話はどうなったんだろう?タブを縦並びに変更したいんだが。

2008年12月11日木曜日

FireFox を別プロセスで立ち上げる、プロファイル切り替え必須

Windows版FireFoxの話。(追記:Linux版でもオプション大文字に気をつければOKだそうです。)
FireFoxを複数起動しようとアイコンを叩くも、タスクマネージャではプロセスが一つしか起動しない。
 

[caption id="attachment_1110" align="alignnone" width="500" caption="画像:複数Firefoxも、プロセスは1つ"]画像:複数Firefoxも、プロセスは1つ[/caption]
 

ということでFireFoxを複数のプロセスで起動したい時の使い方を紹介。
副作用としてプロファイルが複数できるので、それだけでも結構使いでがある、複数セッション・ブックマーク・プロキシ使い分けてJmeter録画専用などと用途はいろいろ。
 

ネタ元はMDCのコマンドライン解説ページ
 
 

まずはショートカットを作成


[caption id="attachment_1111" align="alignnone" width="500" caption="画像:FireFoxへのショートカット"]画像:FireFoxへのショートカット[/caption]
プロパティでコマンドラインを確認。
[caption id="attachment_1112" align="alignnone" width="425" caption="画像:FireFoxショートカット(無改造)"]画像:FireFoxショートカット(無改造)[/caption]
 
 

コマンドラインオプションを指定することで複数起動を有効にする


今回使うのは下記2つのオプション、他についてはMDCで
 









-no-remoteアプリケーションを同時に複数起動できるように
-pFireFoxが使うプロファイルを指定する

追記:
Windowsは Pオプション に大文字小文字の区別はないが、Linux版は大文字Pで無いと駄目のようです。この辺のお方に教えてもらいました。
元々公式のオプション開設はPで書いてあるので本来大文字が正しいと言うことでしょう。

 

で、とりあえず "-p" を空っぽの状態にした物を作成、ひとまずの準備完了。
[caption id="attachment_1113" align="alignnone" width="425" caption="画像:Firefoxショートカット、ひな形版"]画像:Firefoxショートカット、ひな形版[/caption]
 
 

プロファイルの作成と用途別のショートカットを作成していく


さっき作ったショートカットを叩いてみよう、見慣れない画面が出てくる。
[caption id="attachment_1114" align="alignnone" width="405" caption="画像:mozillaのプロファイルマネージャ"]画像:mozillaのプロファイルマネージャ[/caption]
 

なんかNetScapeとかでよくみたような感じのプロファイルマネージャが出てくる、新しいプロファイルを作成しよう。
ちなみに「今後このプロファイルを使用する」というオプションは外しておこう、あとで多少面倒になる。
基本的に使われているのは "default" プロファイルなので、ここで作った空っぽのプロファイルがデフォルト(-no-remoteなしの状態)で起動しては困るからだ。
 

ではプロファイルを作ってみよう。
[caption id="attachment_1115" align="alignnone" width="500" caption="画像:プロファイル作成"]画像:プロファイル作成[/caption]
ここで指定した名前は、 "-p" オプションで指定するプロファイル名になる。
今は空っぽで起動したが、 "-p user01" とすれば user01 のプロファイルでFireFoxが起動する。
[caption id="attachment_1116" align="alignnone" width="405" caption="画像:プロファイル作成済み"]画像:プロファイル作成済み[/caption]
さて新しいプロファイルが完成した。
 

使い方1:「"-p" 空っぽのショートカットを叩く」 → 「プロファイル選んで起動」 を繰り返す


"-no-remote" オプションは「複数のアプリケーションを立ち上げることが可能」とあるけど、実は同じプロファイルでのFireFox複数起動はできない。
つまり2つ目以降のFirefoxプロセスの起動には "-p" オプションの指定が必須ということです。
 

ということで初めに作った"-p"オプションにプロファイル名を渡していないショートカットを叩いて、起動していないプロファイルを選択するという作業を繰り返すと…
[caption id="attachment_1117" align="alignnone" width="470" caption="画像:複数起動したFirefox"]画像:複数起動したFirefox[/caption]

という感じ、見事別プロセスでのFireFox起動に成功。
 
 

使い方2:「"-p [プロファイル名]" としてショートカットを叩く」


"-p" オプションに直接プロファイル名を指定しておくことで、プロファイルマネージャをすっとばすことが可能です。
用途別に作るプロファイルはこちらが便利、場合によっては "-no-remote" 外してもいい(ハズ)。
[caption id="attachment_1118" align="alignnone" width="425" caption="画像:使用プロファイルを指定する"]画像:使用プロファイルを指定する[/caption]
と、このように指定します。
 
 
 

おわりに


この手順で作ったプロファイル、それまで使っていた "default" とは何から何まで違います、ブックマーク・Cookieはもちろん、アドオンも全部空っぽ。また、それらは別々に管理されるのでものによっては2度手間ですね。
 

しかし、「使える」ように環境構築するにはそれなりに骨が折れるが、たとえばFireBugなど機能多めなアドオンを有効なやつ、入れてないやつを同時に起動したりできる、片方がクラッシュしてももう一方に影響ないのも大きいです、普段の利用にもプロファイル分離は有用でしょう。

2008年12月3日水曜日

IIS7でクライアントポート(リクエスト元ポート)をログにとりたいが…(追 記:apacheも)

セキュリティホール memo のキャリアグレード NATに関する記事 を見た。


Internet Week 2008 のキャリアグレード NAT の話で、 「キャリアグレード NAT が導入されると、クライアントのポート番号のログを取っておかないと、アクセス元をたどれなくなるよ (NAT されますから)」という話があったのを思い出した。



なるほどクライアントのポート番号のログを取っておくという事も推奨されるようになりそうです。
個人的にはいまいち必要性の実感に乏しいけど、残さないよりは残したほうがよいでしょう。
 

記事中ではApache2.2でのやり方が紹介されていたので、ほなIISはどうだろうと思って WindowsServer2008 で IIS7 を立ち上げ、ログフォーマットの設定画面を開く。
 

[caption id="attachment_1093" align="alignnone" width="386" caption="画像:IIS7ログフォーマット"]画像:IIS7ログフォーマット[/caption]
あぁ、クライアントポートの項目無いねぇ。IIS6 も内容は一緒。
 

仕方が無いのでメタベースとかに直接書けばいけるかな、と思って情報をあさってみたが、
IInetLogInformation - MSDN
この辺見るに、標準では明らかに無理っぽい(※ログモジュールごと完全自作なら取得可?)
マイクロソフト 何とかしてくれー どこに要望出したら良いんだろう。IIS.NETか?
 
 

では折角なので セキュリティホール memo の Apache 用設定を試してみようとやってみた。

「もしや……」と思って、 英語版のドキュメントを見たら、ありました。



%{format}p
The canonical port of the server serving the request or the server's actual port or the client's actual port. Valid formats are canonical, local, or remote.

引用:セキュリティホール memo のキャリアグレード NATに関する記事

 

それではapacheのコンフィグファイルを編集、デフォルト combined の Logformat にクライアントポートを出力しそうなフォーマット文字列を加えて試してみる。
%p %{remote}p %{local}p %{canonical}p↓で、出力されたログ↓
*.*.*.* - - [02/Dec/2008:**:**:** +0900] "GET / HTTP/1.1" 304
- "-" "Mozilla/5.0(略)Firefox/3.0.4" 80 80 80 80


…全部 80 がログに記録される、、いやいやリクエスト元3000番台だったぞ、{remote}じゃないのか?何か間違ってるんかな。
 

apacheのバージョンはコレ。
# apachectl -v
Server version: Apache/2.2.3
Server built: Jan 15 2008 20:33:30

 

うーむ、本当に取れるんだろうか…

2008年11月29日土曜日

2008年11月28日金曜日

携帯対応とはてなスター機能追加@自分のwordpress

Wordpress の機能追加をした。
携帯電話(モバイル)に対応するプラグイン、「MobilePressNEO」と、色々なWEBサービス提供でおなじみの はてな より、ブログに はてなスター をつけてもらえる機能を実験的に追加。
これは はてな にログイン済みのユーザで無いと分からないかな?
 
 

携帯対応、MobilePressNEO


元々携帯向けのブログではないけどやってみた、MobilePressNEO というプラグインを採用。
 
プラグイン有効にしただけで携帯からのアクセスはあっさり風味のモバイルサイトに見せてくれる優れものプラグイン。
作者の言うとおり造りが素直なようで、phpのバージョンやら気にしなくてよいのもうれしい、php4でも5でも動くっぽい。
 

折角なのでQRコードを作成、
[caption id="attachment_1084" align="alignnone" width="250" caption="画像:「SawanoBlog.」QRコード"]画像:「SawanoBlog.」QRコード[/caption]
 
 

はてなスター機能追加


スター付与ボタンがついているブログをどこかで見たのでSawanoBlogにもつけてみた。
 

wordpressが出力するHTMLのHEADにて、はてなスタースクリプトを読み込むように記述、記事タイトルの横にはてなスター付与ボタンができた。
コメントは無効にしてある(はず)。

[sourcecode language='html']
[/sourcecode]
 

Wordpress を はてなスター に対応するには、普通のはてなスタースクリプトを追加するだけじゃあ駄目、Wordpress対応用スクリプトも一緒に読み込む必要がある。
 
専用スクリプトが何か言うと、はてなスター付与ボタンをつけるためにコンテンツを解析して、「記事のタイトルっぽい所」を検出、その後ろに付与ボタンをつけるという処理をしているらしい。
テンプレートをあちこち改造する必要もなく、とても楽に設置できた。
 


 

はてなスター、 重かったりイタズラされやすい という話もあるが、うちはそんなに人こないので全く問題ないだろう。
とりあえず見栄え優先。

2008年11月27日木曜日

「一般的なペーストビン」とかのペーストビン(pastebin)

今まで特に気にしていなかったが ペーストビン を調べてみた。検索でしばしば見るやつ。
 

突然調べた理由は、これまでずっと ベースピストン(ピストンベース) だと思っていた のが間違いだったと気づいたから。
「(・ー・)..。oO( 油圧的ななんたらで使う部品かなー…)」という認識、気づいてみればそんなわけ無いがずっとスルーしていた。第一印象は大事だ。
 
 

調べたら丁寧に解説してくれているサイトがあった。
>> ペーストビン(pastebin)について - Life, don’t talk to me about life.
 

よく分かった、引用した情報などを複数人で共有する為のWEBサービスなのね。
確かにリンク先にもあるような、オープンソース開発的な利用法には良さそう。
 
 

ペーストビン は エンジン関連の部品的なものではなかったんだ!

2008年11月16日日曜日

Google Docs のプレゼンテーション機能

Google Docs にプレゼンテーションあるなんて知らなかった。
ドキュメント、スプレッドシート(MSOfficeのWord・Excelに相当)しかないと思っていたが、Googleプレゼンテーションを使った方の記事を見てちょっと試してみた。
第3回PHP懇親会に行ってきた:nekoya氏
 
 

では使ってみた感想と、サンプルの公開をしますよー。
 
 

十分な基本入力機能、テキスト&画像と図形の挿入


使ってみたがここらの機能はとっても PowerPoint、これならだいたい直感的に使える。
 
テキストはフォントや色はもちろん、箇条書きやインデントの自動化に対応しており十分な表現ができる。
画像、図形は挿入&サイズ変更ができる、画像は HTTP URL での指定も可だ。図形の中に文字を書くのに 「図形+テキストボックス」 と組み合わせる必要がある事が気になったくらい。
 
画像いじり(透明色指定とか)ができないが、それはローカルでやろう。
 
 

表示関連の機能はシンプル


表示関連の機能は画像、テキストの遅延表示(クリックで表示、表示順の設定が可能)に対応、ほかは特に無いっぽい。
アニメーション多様するプレゼンはうっとおしい事が多いのでこれでいいと思うが、少々さびしい。
 
 


テンプレ、マスタはちと弱いか(日本語版の問題か?)


欲張るなという気もするが、レイアウトのマスタをデザインする機能が背景設定くらいしかない。
※英語版はテンプレの編集ができる模様、これで心配ないかも。
 
 

インポート、エクスポートがスゴい


*.ppt (Powerpoint2003以前のファイル形式)のインポートができるみたい。今度仕事に無関係なPPT作って試してみよう。手元のはWEBに上げるにはシャレにならんのばっかり。
 

エクスポート(ダウンロードして保存)対応形式は、pdf, ppt, txt となっていた。結構すごいのではないか。
pptは実際にGoogleプレゼンテーションで作ったオブジェクトごとに編集ができるようになってて、スライドマスタもきちんと使える。これはインポートも期待できるだろう。
 
 

サンプルを作ってみた


と、機能を試しながらサンプルのプレゼンテーションをひとつ作ってみた、ワンタッチでWEB公開が可能なのはとても便利ですね。
公開用の直接リンクと、WEB埋め込みの形式がえらべます。下記リンクから参照してみてください。
 
 
プレゼンの内容については作業中に子が来たので一緒に作った為、 超お子様向け になってます、ご了承ください。(※予定ではGoogleプレゼンテーションの使い方を紹介だったんだが。。)
 

まずはWEB共有公開版
http://docs.google.com/Present?docid=ddz7r3m9_1d47nd3gf&skipauth=true
 

こちらはWEB埋め込み版、遅延表示など一部対応していない機能があるようですね。

 
 

あったらいいな


コネクタ、図形へのテキスト埋め込み、マスタ編集、スプレッドシート埋め込み
とできれば(自分の用途の範囲では)もう何も要らないな。一応全部画像貼り付けで対応可能だけど。
 
 
 

全体を通して、とってもアリだね「Googleプレゼンテーション」と思った。