不定期日記

J2千葉観戦記, ライブの感想を中心とした備忘録

2006-03-26 (Sun) [長年日記]

_ [JEF] JFL ジェフ・クラブ vs YKK AP

一人退場してからの方がペースをつかめていました。目に付いたのは、ジェフの25番の松本とYKKの9番の岸田。ダニロは足元でボールをもらおうとして囲まれてしまうことがほとんど。全然機能していませんでした。

_ [PC] 情報共有システム

ウェブ進化論触発されて、会社で情報を共有するためのシステムを、MHonArc + tDiary + Scuttle で作ってみました。まずは情報を吐き出してもらうための社内Blogのようなものと、出てきた情報を整理するためのソーシャルブックマークという組み合わせです。Webで書くということが敷居が高く感じる人もいるかもしれないということで、メールでも書き込めるようにしてみました。

使ったソフトは以下

一番苦労したのは、これらを全部Windows上でやったことだったりします。IPアドレスを取得したりといった手続きが面倒というのもあるけれど、一番の理由は今後ほかの人に管理をやってもらえる可能性がゼロになってしまうからです。もっとも1週間動かしているけれど、まだ書き込みはおろか見てもらえてすらいない感じなので失敗に終わる可能性もかなり高いのですが。

以下は、個々に引っかかったところなどです。

_ MySQLの良く使うコマンド

パスワードの設定

mysqladmin -u root password <パスワード>

ユーザの作成

mysql -u root -p

でコマンドラインツールを起動して、

use mysql

で "mysql" データベースを使用するよう設定して、

grant select, insert, update, delete on *.* to <ユーザID>@localhost identified by "<パスワード>";
flush privileges;

とする。

mysql -u root -p mysql

とすることで、最初から使用するデータベースを指定することも可。

データベースを指定して、すべての権限を与えることも可。

grant all on db_name.* to <ユーザID>@localhost identified by "<パスワード>";
flush privileges;

データベースの追加

mysqladmin -u root -p create <データベース名>

または

mysql -u root -p 

とした上で、

CREATE DATABASE `<データベース名>` [DEFAULT CHARACTER SET utf8];

データベースの削除

DROP DATABASE <データベース名>;

sqlファイルの実行

mysql -u ユーザー名 -p [--default-character-set=utf8] <データベース名> < tables.sql

ユーザー一覧表示

SELECT user, host FROM mysql.user;

データベース一覧

show databases;

権限の表示

show grants for user@localhost

権限の削除

REVOKE ALL ON test_db.* FROM sample@localhost;

_ MySQLデータベースのコピー

Scuttleのデータ等MySQLデータのエクスポート/インポート方法は以下の通り

mysqldump -u ユーザ -p scuttle > filename

としてエクスポート

mysql -u ユーザ -p scuttle < filename

としてインポート

_ PHPの設定

Windows XPでPHPを動作させてみよう! を参考にしました。 php.ini の設定で、

date.timezone = "GMT"

としないと、Scuttleでブックマークした時間がおかしくなるようです。

_ MHonArcの設定

リソースファイルは MHonArc の日本語化 for v2.6.x を参考にしました。 また、application/octet-streamなファイルの拡張子がすべてbinに変えられてしまうので、そのままの拡張子を使うよう以下の記述も加えました。

<MIMEArgs>
m2h_external::filter; usenameext
</MIMEArgs>

実行するときは以下のコマンドです。

mhonarc -add -rcfile <リソースファイル>.rc -outdir <出力ディレクトリ> <メール>

_ Outlook メールの変換

ThunderbirdでOutlookのメールをそのままインポートすることができます。Thunderbirdはmbox形式なので、あとは適当に処理するだけです。ただし、本文に charset=Shift_JIS と設定されているので文字コード変換の際は注意が必要です。

_ tDiary

attach.rb では元のファイル名を生かしたファイル名で保存されるのですが、それだと日本語ファイル名をつけているとき不都合なので、以下のようにしました。

--- attach.rb.orig	2006-03-16 13:40:27.000000000 +0900
+++ attach.rb	2006-03-16 14:08:21.000000000 +0900
@@ -118,7 +118,7 @@
       attaches = attach_list( date )
       if @cgi.params['plugin_attach_addattach'][0]
          filename = @cgi.params['plugin_attach_file'][0].original_filename
-         filebasename = filename.sub(/\..+?$/, '')
+#         filebasename = filename.sub(/\..+?$/, '')
          extension = filename.split(/\./).to_a.pop
 	 @cgi.params['plugin_attach_file'][0].rewind
          if extension =~ /\A(#{@attach_ext})\z/i
@@ -131,7 +131,8 @@
 	    raise attach_error_num(  @attach_maxnum ) if attaches.compact.length>= @attach_maxnum
 	    raise attach_error_size( @attach_maxsize ) if size > @attach_maxsize
 
-            file = "#{@attach_dir}/#{filebasename}_#{date}_#{attaches.length}.#{extension}".untaint
+#            file = "#{@attach_dir}/#{filebasename}_#{date}_#{attaches.length}.#{extension}".untaint
+            file = "#{@attach_dir}/#{date}_#{attaches.length}.#{extension}".untaint
 	    File::umask( 022 )
 	    File::open( file, "wb" ) do |f|
 	       f.print @cgi.params['plugin_attach_file'][0].read

_ Scuttle

ソーシャルブックマーク(Scuttle)のインストール方法 (phpspot開発日誌)を参考にしました。

ユーザ追加の際、メールアドレスの有効性を確認するという機能があるのですが、DNSが無いという特殊な環境であるために以下のパッチをあてました。

--- services/userservice.php.orig        2006-03-10 08:04:51.000000000 +0900
+++ services/userservice.php     2006-03-10 08:06:23.000000000 +0900
@@ -326,6 +326,7 @@
 	}
 
 	function isValidEmail($email) {
+		return true;
 		if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$", $email)) {
 			list($emailUser, $emailDomain) = split("@", $email);

ブックマークのURLを入力した際に自動でタイトルを取得する機能で、Proxyを経由させる設定は良くわからないので使えない状態になっています。

また、Firefoxでは問題ないのですが、titleタグの中に日本語が入っていると、なぜか Internet Explorer で表示できないことがあるので、表示は化けてしまうのですが以下のパッチをあてました。他に簡単ないい方法があれば知りたいです。

--- templates/top.inc.php.orig  2006-02-12 16:39:54.000000000 +0900
+++ templates/top.inc.php       2006-03-17 10:54:37.000000000 +0900
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 <head>
-    <title><?= filter($GLOBALS['sitename'] . (isset($pagetitle) ? ': ' . $pagetitle : '')) ?></title>
+    <title><?= rawurlencode(filter($GLOBALS['sitename'] . (isset($pagetitle) ? ': ' . $pagetitle : ''))) ?></title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <link rel="icon" type="image/png" href="<?= $GLOBALS['root'] ?>icon.png" />
     <link rel="stylesheet" type="text/css" href="<?= $GLOBALS['root'] ?>scuttle.css" />

_ Namazu

Replaceを使う際、Windowsでは例えば "D:\web" が "/D|/web" と表されます。 ".namazurc" では、そこでさらに "|" をエスケープして、

Index D:/web/namazu/
Replace /D\|/web/data/([a-z_]+)/cache/html/(\d\d\d\d)/ http://example.com/\1/?date=\2
Replace /D\|/web/htdocs/ http://example.com/
Lang ja

といった感じで記述します。


2001|01|07|08|09|10|11|12|
2002|01|02|03|
2003|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|08|09|10|11|12|
2017|03|05|06|09|11|12|
2018|05|08|10|11|
2020|07|