プログラミング

アプリケーションのインスタンス数を制御するには

Javaクライアントアプリケーションを書く私をずっと悩ませ続けている問題がある。それは、「いかにしてアプリケーションのインスタンス数(同時起動数)を制御(制限)するか」ということだ。.NETプラットホームの場合であればプロセス名=アプリケーションを識別…

アプリケーションのインスタンス数を制御するには(その2)

コメント欄に頂いたアドバイスを総合することで、なにやらできそうな按配になってきた。 追記: できたかもしれない。凄く嬉しい。アドバイスを頂いた皆さんに感謝。詳しくは日記上で。

縦に絡むスパゲティ

スパゲッティなJavaなコード - L'eclat des joursオブジェクト指向言語を扱うIDEの機能の一つに(マウスやキーボードで)型の参照を辿っていける機能がある。非常に便利な機能だが、この機能無しにコードを読むのが嫌になるような継承構造はそもそも設計が間違…

またインタフェース

インタフェースっていいよなぁ、と数日前に書いたけれど、これがJavaやC#を冗長にしている原因の一つでもあるのだなというのも納得している。 スクリプトの世界で暫く遊んだ後で静的な世界に戻ってくると、クラスを書くのがたまらなくだるく感じるからだ。か…

正規表現

告白するが、少しの間使っていないとすぐにメタキャラクタや文字クラスの意味を忘れるので、近くにリファレンス本が欠かせない。 正規表現の達人 第2版 正確に言うと持っているのは1版のほう。忘れないように深く覚えるには、と一念奮起。 詳説 正規表現 第2…

やはり朝はいいなぁ

昨日半日かけても原因が解らなかった不具合が今朝の一時間足らずで修正完了だ。

Tortoise

便利だがアンインストールすることにした。 今ひとつ不安定なことと、エクスプローラやFileVisorでSVN管理されている深いフォルダ階層を開く際に待たされる時間が当社比体感100倍位なのが我慢できなかった。 なんだかんだいってJavaもC#もEclipseのSubversiv…

SendMessage後のWin32LastError

WM_COPYDATAを扱うために、C#で以下のようなコードを書いているのだが最後のMarshal.GetLastWin32Error()の戻り値がが0x00000002とか0x00000005で戻るケースが発生していることに最近気が付いた。 [DllImport("user32", CharSet = CharSet.Auto, SetLastErro…

24Hルール

開発者として自らに課しているルールの一つに「24Hルール」というのがある。これは、拙作のソフトウェアを使っているプロジェクトのプログラマからバグ(と思われる現象)を報告された場合、どんなに忙しくても一日以内にアクションを起こす、というものだ。大…

気分一新

そもそもこの日記の題は、その時の仕事の都合で筆者がJavaと.NETの間を振り回される様からつけたものだが、どうやら次は暫くJavaの仕事になりそうだ。今までは.NETそれもWindowsForms用のフレームワークを書いてきたが、今書いているDAOを一区切りとして、今…

アクセサ以外のプロパティは必要か

Delphiでその便利さに驚き、Javaで提供されていないことを嘆き、C#で使えることに感激したプロパティ(Property)だが、C#でプログラミングする場合、最近ではフィールドをカプセル化するためのアクセサにしかプロパティを使おうとしない自分がいる。プロパテ…

弛まぬ努力

プログラマー現役続行 柴田 芳樹 (著)私の心の師匠の一人(何人いるんだよ)である柴田芳樹氏の著作。Javaの技術者であれば超良著である"Effective Java"や"プログラミング言語Java"等、ピアソン Javaシリーズの訳者と言った方が通りが良いかもしれない。そう…

生きた情報

Rubyはエンタープライズの基盤になれるか - ITpro > オープンソース/Linux Railsに関しては、美辞麗句ばかりではなくこのように実際に開発現場で使った方々の生の情報が聞きたかった。Rails(ActiveRecord)が生成するSQLとMySQLが原因と思われる問題に関して…

Swing開発環境

となれば開発環境は何を使うのが適当なのだろう。 サーバサイドはEclipseで良かったが、GUI開発となれば去年で開発が止まっているVEを使わなくてはならないEclipseは外したいところだ。・NetBeans IDE ・IntelliJ IDEA候補はこの二つか。(Borlandが元気だっ…

Castle Windsor

本来は城の名前だが、ここで紹介するのは.NETのフレームワーク"Castle"に含まれるDIコンテナの実装。 Castle Windsor Container このフレームワーク、素晴らしいと思うのだがいまひとつ日本では知名度が低い。そんなCastle Windsor Containerだが、珍しく日…

ファイルの形式と流行

XMLが嫌われている?XMLを嫌っていたプログラマは、その前はpropertyやiniを嫌っていたのか? 冷静になればXMLにも他の形式と同様にメリット/デメリットはある訳で、デメリットに関しては今に始まったことではない。SAXやDOMにしたって、あれだけ統一されたイ…

スーパーでなくても

【ITpro Challenge!】「世界を変えられるのはコードだけ」---はてなCTO伊藤直也氏が明かす“ネトゲ廃人”から“なりたかった自分へ”の道のりはてなCTO伊藤直也氏の講演「ベンチャー志向プログラマ」の動画を公開しましたスーパーなプログラマでなくても(本人が…

トリヴィア

Windowsプログラミングの極意 歴史から学ぶ実践的Windowsプログラミング!一通り読み終わった。邦題からはかなり硬く技術的な内容を想像するのだが、(実際に技術的な内容が多いのだが)実際には"Windows内部とプログラミングのトリヴィア"といった趣の本だ。(…

コーディング規約は絶対ではない

社内標準のコーディング規約なんてものがあってもそれは普遍的、絶対的なものでは無いはずだ。 そもそも仕事をし易くするために考えたものなのだから、その効果が得られないのであれば逐一見直していくべき。プロジェクトのコーディング規約に異を唱えている…

Trac

バージョン&イシュートラッキングは非常に便利で使い勝手が良い。グループウェアと連携したりして、社内のプロジェクト全てで導入したいもんだ。

孔明の罠

といえば最近は某ゲームの動画でしか見ていないような気がする(笑「車輪の再発明をするな」の流行は孔明の罠 そうか、そういう考えにもってくのもありだ。というか200%激しく同意。 すぐに出来合いのパッケージを使いたがる奴や、内製する際の目の前のコスト…

歴史

Windowsプログラミングの極意 歴史から学ぶ実践的Windowsプログラミング!プログラマとしての経験のうち、半分はこのO/S向けにアプリケーションを開発していたことになる。

エンコーディングを合わせる

サーバとクライアントでエンコードされた文字(XMLと考えても良い)を使って通信を行う場合、双方でエンコーディングを合わせるのだが、どのようにして合わせるのがベターなのだろう。1. クライアントとサーバ、双方で取り決めをしておいて同じエンコーディン…

BOM-Bomb

UTF8におけるBOM(byte order mark)の扱いだが、例えばJavaではBOM無しが当たり前なのだが.Netだと明示的にUTF8のエンコーディングでストリームを出力するとBOM付きになってしまう(BOM無しにするにはエンコーディングの指定を無し又はBOM無しのUTF8を明示しな…

ひとつの言語に依らないシステム

OneLanguage - Martin Fowler's Bliki ひとつの言語 - Martin Fowler's Bliki in Japanese(ぶりきじゃ)複数の言語を一つのシステムで使うことが別に驚くことではなくなったのは、少し前から実感している。C/S(クライアント・サーバ)時代はインタフェースもロ…

Tortoise 1.4.4 再び(未解決)

リポジトリのルートからチェックアウトする分には問題ないぽいが腑に落ちない。また、CVSからコンバートしたリポジトリなのでCVSエントリが大量に存在しているのも気になる。 あと、チェックアウト中にシェルからTortoiseのコンテキストメニューを呼び出して…

Trac

TracWiki、BTS(ITS)とSubversionのフロントエンドが有機的に統合されているんだが、評判通りかなり使える。現状この手のOSSの管理ツールとしては最強の部類に入るのではないか。追記: Pythonで書かれているのか。

Tortoise 1.4.4 再び

SubversionクライアントであるTortoiseだが、リポジトリの構成が原因なのかチェックアウト時に止まってしまう現象が頻発している。以前に言及した時は、リポジトリ内で大文字と小文字を区別しないディレクトリ名が存在するのが原因だったのだが、detect case…

detect case-insensitive filename clashes(TortoiseSVN1.4.4)

先日言及した大文字と小文字を区別しないディレクトリ名がリポジトリにあるとTortoiseSVNのチェックアウトに異常に時間がかかる件だが、Subversion側で対策用のフックスクリプトが公開されていることをdiscypusさんに教えて頂いた。/case-insensitive.py (co…

プログラマと職の全う

最後にはガッツが勝つ - 勉強するのが、そんなに偉い訳!? 非常に考えさせられる。私もこの10年、同じ思いで仕事をしてきたが最近はその思いも揺らぎ始めているからだ。中規模より以上のソフトウェアを開発する組織に於いては、ソフトウェアで商売すること…