スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--.--.-- | スポンサー広告

Subversionサーバー(Windows)で日本語コミットメールを送る

今、古いWindowsNT4サーバーの廃止に向けて、いろいろとWindows Server2003に移動しています。思ってみれば、NT4もずいぶん使い出のあったものです。しかしさすがにセキュリティパッチも出ませんし、そろそろ廃止しなければ、と。

最近はバージョン管理システムもCVSからSubversionに移行しつつある様子ですが、この際ということで、本格的にSubversionサーバーをセットアップすることにしました。なお、うちではサーバー類を全部Windowsで動かすのがポリシーのようになってきていますので、Windows環境(Windows Server 2003)です。

#ちなみに、ircサーバーだけは、Windows版バイナリがウイルス扱いされるので(苦笑)vmware上のlinuxで動かしています・・・

Subversionの設置手法は svnserve.exe(Subversion付属サーバーソフト) + cygwin sshd といった感じです。
SVN+SSHの設定も多少面倒だったのですが、だいたいポイントは以下のような感じ。

・Windows上に追加するSSH使用ユーザーは1人分で良く、home/svn_user/.ssh/authorized_keys 内に複数人分のエントリを書いておき、SVN上で記録するユーザー名の指定は svnserve のパラメータ --tunnel-user で可能。
 (もちろんWindows上で複数ユーザーを作成し、それぞれにSSHを設定する方法もあるが、この場合ユーザーのファイル関連パーミッション設定などに注意する必要がある。umask 002を設定するシェルスクリプトでsvnserve.exeをラップするといいらしい)
・authorized_keys内、svnserveの-rで設定するリポジトリ位置は C:/xxx/xxx の記法でうまくいった
・authorized_keysに書く暗号規格の文字列は RSAの場合はssh-rsa だが DSAの場合はssh-dss
sshd_config内で UseDNS no にしないとSSHDにリモートから接続するたびに数秒ラグが発生する
・cygwinのシェルスクリプトでは、改行コードをUNIX系にしないと誤動作する


さて、本題のコミットメールです。

とにかく成果物ということで・・・

以下の2つのファイルを設置すればWindows版Subversionで日本語コミットメールが送れます。
ただし、大したテストはしていませんし、もちろん無保証です。自己責任でどうぞ。

Perl5.8.x必須です。
sendmail代替用にsendまね~るがおすすめです。

commit-email-jp.pl
コンピュータ内の任意のフォルダにおいてください。

Configuration sectionあたりの変数を修正して、
svnlookの位置、sendmail (sendまね~る)の位置を指定してください。また、出力エンコーディングの変更も可能です。
一応、本家からのパッチはこれ。パッチ自体は設置の必要はありません。

2007/12/4 メールの送信時刻がずれる問題を修正しました(Dateヘッダを出力しないよう修正)

post-commit.bat
リポジトリのhooksディレクトリに置いてください。
perlのパスと上記commit-email-jp.plへのパスを設定してください。


なお、特にWindowsじゃないと動かないというような修正はしていないつもりですが、UNIX環境でどうなるかはテストしていません。

以下、経緯や詳細など。


【“Subversionサーバー(Windows)で日本語コミットメールを送る”の続きを読む】
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

2007.11.26 | Comments(0) | Trackback(0) | プログラミング

VC++「カスタムビルドステップ」の罠

VisualC++には「カスタムビルドステップ」という、(本来は・・)とっても便利な機能があります。
これは、プロジェクトに含まれたファイルについて、いわゆる一般的なビルド時の依存関係に加えて、オリジナルの依存関係を追加することができるものです。

いってみれば、VC++IDEにおいて、unix系のmakeコマンドと同様の柔軟さを実現することができる機能です。VC++2005では拡張子単位でビルド方法を指定できる(と思われる)「カスタムビルド規則」が追加されており、さらに強化されています。

たとえば、スクリプト言語のバインドコードを作成する場合なんかにとっても有用といえます。
固定値をエクセルファイルで管理している場合などにも使えますね。

しかし、僕にとっては、この機能を利用したとき、わけがわからなくなって、悩んだ思い出ばかりが思い出されるのです・・・。
今回Webで情報を探しまくった結果、その理由の一端がわかったような気がします。


【“VC++「カスタムビルドステップ」の罠”の続きを読む】

テーマ:プログラミング - ジャンル:コンピュータ

2007.11.16 | Comments(1) | Trackback(0) | プログラミング

仮想デスクトップ Virtual Dimension 0.95日本語化

Virtual Dimension(バーチャル・ディメンジョン)とは、いわゆる仮想デスクトップツールのひとつで、デスクトップを何枚も切り替えて、擬似的に広いディスプレイのような環境を実現するツールです。

最近はデスクトップの液晶が大型化しているので、こういったツールの出番も減ってきているのかもしれませんが、
・モバイル系ノートPC
・仕事と息抜きで気分を変えたい場合
などに威力を発揮するのではないでしょうか。

動作は比較的高速で、非常にすっきりとまとまっているだけでなく、案外高機能です。
特に、今いるデスクトップ上にあるウィンドウ以外はタスクバーに表示しないようになっており、いつもタスクバーが混雑している筆者には非常にありがたいところ。

本家の開発は止まり気味なのですが、オープンソースなのをいいことに、勝手にCVS最新版からビルドして、あまつさえ日本語化してしまおう、と。
できればデスクトップごとにランチャーをつけたいところですが、そこまでいけるかどうかは謎です。

Virtual Dimension 0.95 jp1


いうことでできたのがこちら。
なお、最初は英語で始まりますが、右クリックメニューから Language→Japanese と選ぶと日本語表示になります。

2007/11/8
・インストーラの言語を日本語にしました。
・最初から日本語になるようにしました。フォントの変更も必要ありません。(MSゴシックになります)
・※20071107版のzip圧縮版ではファイル(HoolDLL.dll,mingwm10.dll)が足りていませんでした。申し訳ありません。インストーラ版では大丈夫です。
・「プログラムの追加と削除」にアンインストーラが表示されるようにしました。
・ウィンドウを隠す方法の除外設定(explorerとIE)について、WindowsのシステムがCドライブ以外の場合にも対応するようにしました。(インストーラ実行時に設定)

インストーラ版(推奨):
VirtualDimension-Setup-0.95jp1_20071108.exe
(305292 bytes)

zip圧縮版:
VirtualDimension-0.95jp1_20071108_bin.zip
(330168 bytes)

ソースコード:
VirtualDimension-0.95jp1_20071108_src.zip
(245943 bytes)

本家ウェブサイト(英語):http://virt-dimension.sourceforge.net/

<以下に日本語化や修正点などの詳細>


【“仮想デスクトップ Virtual Dimension 0.95日本語化”の続きを読む】

テーマ:デスクトップ - ジャンル:コンピュータ

2007.11.07 | Comments(4) | Trackback(1) | プログラミング

DBモデリングツールDBDesigner4の後継は?

データベースの「設計図」にあたるER図を描いて、さらにMySQLにテーブルの状態を反映させたりするのには、DBDesigner4 がなかなか便利です。
マウス操作でお絵かき感覚でDBモデルをエディットすることができます。
http://fabforce.net/dbdesigner4/

しかしながら、DBDesigner4の本流の開発は既にストップしています。DBDesigner4の開発者はMySQL社にうつって MySQL Workbenchを開発していますが、まだこれはアルファ版で、あまり実使用に堪えるものにはなっていません。いっぽう残されたDBDesigner4のほうも、全体としては十分実用になるものの、細かいところでバグっぽい動作があるのも事実です。DBDesigner4のデバッグや開発を続けるのは不可能なのでしょうか?


【“DBモデリングツールDBDesigner4の後継は?”の続きを読む】

テーマ:プログラミング - ジャンル:コンピュータ

2007.06.19 | Comments(1) | Trackback(0) | プログラミング

MySQL+ODBCでプリペアド・ステートメントがエミュレーションだったという話

MySQL+ODBCでプリペアド・ステートメントがエミュレーションだったという話

MySQLではver4.1からプリペアド・ステートメント(prepared statement)が実装されています。
これは、実行するSQL文をあらかじめ「準備」しておくことによって、性能面およびセキュリティ面を向上させる機能です。

MySQL5.1のプリペアド・ステートメント

しかし、接続方法(特にODBC)によってはプリペアド・ステートメントを使っているつもりでも、その効果を十分に受けていない場合があります。


【“MySQL+ODBCでプリペアド・ステートメントがエミュレーションだったという話”の続きを読む】

テーマ:プログラミング - ジャンル:コンピュータ

2007.06.19 | Comments(0) | Trackback(0) | プログラミング

[Allegro] Allegro4.2.0 on VisualStudio2003.Net

Allegroというライブラリは、主にゲーム製作用に作られた、
SDLと似たようなもの、だと思います。

ライセンスは「ギフトウェア」ということで、「これはあなたへの贈りものです。気に入ったら贈り物か、何らかの貢献をしてくださいね」という感じのゆるいものです。

「さっさとグラフィックを実装したい」という場合は使えるかなと思って使ってみましたが、ライブラリ自身のビルドが微妙にややこしいのでメモ。

なお、GamDevPukiWikiにもいろいろ情報がありました。


【“[Allegro] Allegro4.2.0 on VisualStudio2003.Net”の続きを読む】

2006.09.11 | Comments(1) | Trackback(0) | プログラミング

[prog] 商用ゲームやアプリによく使われるC/C++用ライブラリ

LeafがゲームにXviD(GPLライセンスの動画再生ライブラリ)を使用していることが明らかとなり、ソース公開を余儀なくされたという騒ぎがありましたが・・・ slashdot

GPLはGPLで居場所があるとは思うのですが、商用ソフトにまぎれてしまった場合の厄介さはとてつもないもので、ウイルス呼ばわりされても仕方のないところです。

商用ゲーム・アプリ開発メーカーにとってはこういったものはできるだけ・・・というか、会社の意図的にやったのでない限り、絶対に避けたいものですね。

こういったことを防ぐためには、ちゃんとライセンスを見る、というのが求められることではありますが、ライセンスはわかりにくく書いてあることも多く、そんな暇ないよー、という人も多いでしょう。
GPLみたいな大物(?)に至っては正確に読んだところで人によって解釈が違ってきてしまうこともあります。


そこで・・・微々たるものではありますが・・・
当面使用可能でよく使われると思われるライブラリについて列挙してみることにしました。


【“[prog] 商用ゲームやアプリによく使われるC/C++用ライブラリ”の続きを読む】

テーマ:プログラミング - ジャンル:コンピュータ

2005.12.15 | Comments(2) | Trackback(0) | プログラミング

あほニュース実験中

・・・ごめんなさい。

最初ちょっとした練習のつもりでLuaで作ったんですが、なんとなくホームページ向けだなと思ってJavaScriptに移植してみました。

一度にたくさん見たい方は↓


【“あほニュース実験中”の続きを読む】

2005.09.29 | Comments(0) | Trackback(0) | プログラミング

JStringFinder0.5.0:C/C++コード内の日本語文字列を見つける

JStringFinder0.5.0を公開しました。

Download >> JStringFinder050.lzh (131KB)

さっさとアプリを作りたいというとき、つい日本語文字列(リテラル)をコードに埋め込んでしまいがちです。そしていざ海外向けに修正しようとしたときに、コード全部を端から端まで、穴のあくほど眺めなければならない・・・といった事態に陥ってしまうのです。そんなときにこのツールが役に立ちますよ。

このツールはC/C++のコードの中に埋め込まれた全てのの日本語文字列を見つけ出し、列挙します。また、行番号指定でのエディター起動により修正を支援します。日本向けの自作アプリを海外向けに国際化・ローカライズしたいときに役に立つかと思いますので、よろしければ使ってみてください。

感想・ご意見・バグ報告など頂けたら嬉しいです~。

JStringFinder0.5.0


READMEの内容を貼っておきます。


【“JStringFinder0.5.0:C/C++コード内の日本語文字列を見つける”の続きを読む】

2005.09.24 | Comments(1) | Trackback(0) | プログラミング

XPlanner(0.7beta1)でエクストリームプログラミング

エクストリームプログラミング(XP)といえば、最近はかなり市民権を得ているように思います。
XPとは、べテランプログラマーが本能的に実践しているいくつかの手法を、極限まで進化させたらどうなるか、といった感じの開発スタイルです。

例えば以下のようなことを主な習慣「プラクティス」としています。
・小さくて頻繁なリリース:多少とも動作する状態を保ち、現在の状態が誰にでもわかりやすいようにする
・ペアプログラミング:2人で1つのPCに向かってプログラミングを行う。ペアの変更も時々行う。
・テスト駆動:常時プログラムの正しさをチェックする。バグに対してテストを作成する
・リファクタリング:積極的に既存コードに手を入れ、コードをシンプルな状態に保つ
・コードを人の持ち物にしない:他の人のコードも適宜修正して良い
・コーディング規約を定める:書く人によって違いが大きくならないように

古くからソフトウェア開発の基本と謳われてきたウォーターフォールモデル、つまりあの機能を作ってこの機能を作ってデバッグすればできあがり・・・という考え方、の対極という感じの考え方で、これを見たときはかなりの衝撃があったと共に、プログラマとして本質的に支持したくなる考え方だったことを思い出します。とはいえ少々理想に走りすぎていて、そのまま実践するのも難しかろうという感じもあります。

さて、それはともかく・・・。

XPlanner 0.7beta1
そのエクストリームプログラミング(XP)をサポートするツールの1つである XPlanner をインストールしてみました。しかしながら本格的にXPを導入するわけではなく、多少進化したTODOリスト+進捗管理みたいな方向で使用できればという感じです(苦笑

XPlanner画面写真(中)


感触としては、惜しい、どうもあまり気が利いてないかなぁというところです。一覧性があまり高くないことと、多様な表示方法をとれないことが問題に感じます。検索機能も十分ではありません。どうもXP的に特化しすぎて使いにくくなっているという気もします。

・・・とまあちょっと良くない点ばかり書いてしまいましたが、もうしばらく使ってみることにします。なんか自分でいろいろいじって機能向上を図りたくなってきます。

(もっと多機能ぽいdotProjectも気になるなぁ・・・)


インストール時のメモなどを貼っておきます。

こちらもご覧ください>XPlanner0.7b1のINSTALL.TXTについて


【“XPlanner(0.7beta1)でエクストリームプログラミング”の続きを読む】

2005.09.20 | Comments(2) | Trackback(0) | プログラミング

Lightweight Language Day and Night

http://ll.jus.or.jp/2005

行きたかった・・・。
slashdot経由で直前に知ったのが残念でした。

それにしても、こういうところにLuaがないあたりまだまだマイナーですね。
もうちょっと普及してもいいと思うのですが。

2005.08.27 | Comments(0) | Trackback(0) | プログラミング

新しい記事へ <<  | HOME |  >> 古い記事へ

広告:

FC2Ad

カテゴリ展開メニュー

  • 未分類(13)
  • Lua(38)
  • プログラミング(11)
  • 食べ物(3)
  • SPAM(2)
  • ゲーム開発(4)
  • GIS/GPS/GoogleMaps(2)
  • スポーツ(1)
  • Skype API(1)
  • AR(1)

はてブ ランキング

ブログ全体: このWikiのはてなブックマーク数

プロフィール

はむ!

Author:はむ!
よく使う言語・環境:
C++,C,Lua,java,VBA,DB
たまにPHPとかjavascript
血液型:O型

メール: lua%ham.nifty.jp
(%を@に変えてください)
ついったー: @hammmm

Lua関連アンテナ

ブロとも申請フォーム

この人とブロともになる

全記事表示リンク

全ての記事を表示する

ブログ内検索


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。