2008年3月30日日曜日

Debianで日本語入力環境+フォント設定.

 OpenLDAPを色々といじろうと思い、Debian(何故か今さらSarge[=ver 3.1])をインストール.
 以前Tracのメモ書いた時にインストールしましたが、Ubuntuを上書きしてしまったので、再インストールと言う事に.

 で、ついでにDebianについて↓を参考に基本的な所から勉強.

 Debianリファレンス

 こんな親切なサイトがあるなら、最初から見ておけばよかった orz

 これでようやく dpkg/dselect/apt/aptitude について「なんとなく」理解.
 後方互換はいいですが、なんか同じ様な機能で沢山コマンドがあると戸惑います.

 取り合えず日本語入力が出来ない状態だったので(インストール選択が悪かったか?)、uim + uim-anthyをインストール.
[??@debian]# aptitude install uim uim-anthy stow
 ※ついでに「Stow」も入れたりしましたw

 念のため再起動をかまします.
 IM用のツールバーらしきものが見当たらなかったので、調べてみると「uim-toolbar-gtk」と言うものを起動するらしい.
[??@debian]# uim-toolbar-gtk &



 おお、これでなんとなく様になりました(※ツールバーは右上).
 常時起動するのであれば、Gnomeメニューの「アプリケーション」→「デスクトップの設定」→「拡張設定」→「セッション」で自動起動設定する事になるかと思います.

 で、フォントがアレなのでスクリーンショットの通り、M+IPAフォントを導入です.

 M+ と IPAフォントの合成フォント

 基本的にはFedoraとほとんど変わらないんですが、DebianではFontの管理を「Defoma (Debian Font Manager)」と言うもので管理する様で、その点だけ作業が異なりました.

[??@debian]# tar xvjf mixfont-mplus-ipa-TrueType-20060520.tar.bz2
[??@debian]# cd opfc-ModuleHP-1.1.1_withIPAFonts_and_Mplus/fonts
[??@debian]# mkdir /usr/share/fonts/truetype/M+IPA
[??@debian]# cp M+* /usr/share/fonts/truetype/M+IPA/
[??@debian]# cd /etc/defoma/hints
[??@debian]# defoma-hints truetype /usr/share/fonts/truetype/M+IPA/*.ttf > M+IPA.hints
[??@debian]# defoma-font -td register-all M+IPA.hints
[??@debian]# mkfontdir
[??@debian]# mkfontscale
 ※fc-cacheが必要かも

 あ〜気づいたらOpenLDAPいじる前にこんな時間だよ…
 Debianの勉強だけで終わったじゃない orz

 元々OpenLDAP for Win32で勉強再開しようと思っていただけに、余計な時間をくってしまいましたが、まぁDebianの勉強が出来たという事でOKとしましょう.
 それにしても、Debianをnetinstallすると余裕で2時間近く時間がかかります(PCの性能が酷く古いのも手伝ってますが).
 年々肥大化するLinuxも考え物ですよね.
 正直Windows Server 2003の方がCD1枚30分前後でインストールが済んでしまいますからねぇ.

2008年3月26日水曜日

すっかり忘れていたOutlook Expressの2GB制限.

 思い切り忘れてました orz

 ここ数年Thunderbirdばかり使っていますが、会社の特定作業用PCでは諸事情によりOutlook Expressを使わなければなりません(Outlookも駄目).
 そのPCで今日から急にOutlook Expressの調子が悪くなり、メールの送信時に「警告」が出る様になりました.
 メールによっては送信できたり出来なかったり…
 ログを取ったりしても原因が分かりません.

 んが、ふと思い出しました.
 原因はそう、アレです.
 「Outlook Expressはメールボックスが2GBを超えると何の前触れも無くメールボックスが壊れます」と言うファンタジーな仕様!
 すーっかり忘れてましたよ、そんな制限がある事自体 orz

 未だに直ってないと言うか「2GB超えそうなので注意して下さい」的なメッセージを出す様に様にすらなってない(サービスパックで直ったと思い込んでたんですが、実は2GBを超えそうになったら送受信ダイアログで「警告」としか出ないんですねコレw)事にも驚きましたが、あいも変わらず最適化機能が正常に動作してくれないのも素敵です.

 仕方なしに「手動でメールボックス分散→メールボックス強制作り直し」で時間を大損です.
 WindowsMailじゃもうそんな訳の分からない状態にはならないんでしょうけど、会社じゃ規定等の関係上まだまだ現役続行するしかないOutlookExpressです(Outlookも同じだし).

 むしろこんな有名な制限すら忘れる自分の脳みそ中枢が気になる今日この頃.
 …もうロザン宇治原の脳みそを分けてもらうしかないか orz

'/**
' * 2008-04-08 追記
' */
 Thunderbirdでも2GBを越えたらアウトって本当だろうか?
 http://app.blog.livedoor.jp/s_imai_jp/tb.cgi/50581547
 会社のThunderbirdの受信トレイは2GB越えていた様な気がするんですが…
 明日確認してみよう.

 [2008-04-10 追記] 2.4GBでした.

 ちなみに、リンク先で「Windowのfseek」って書いてありますが、確かgccでも同じだったかと…「多分」ですけど orz

2008年3月19日水曜日

Stow.

 と言う便利で素敵なソフトウェアがあるらしい.

 不要なパッケージを完全に削除できるインストーラー GNU Stow

 全然知りませんでした orz
 いつまで経っても素人全開です.はい.

 気を取り直して記事を見る限り、私が求めているものにかなり近い!
  1. パッケージだとオプションの自由度が低いし、かと言ってわざわざパッケージをリビルドするのは面倒
  2. ソースだと自由度が高いけど、完全に削除するのが面倒
  3. インストール方法をパッケージとソースの両方で併用していると、プログラム間の相互連携に問題がおこる場合がある

 と言う問題を一挙に解決!!

 …ただ、標準のディレクトリじゃなくて、別のディレクトリ(この場合Stow用のディレクトリ配下)にインストールすると、他のプログラムと連携とれなくなる場合がある気がしないでもない(ほぼ3番解決してないじゃない orz).

 まぁ、手動でパス通せばいいだけか…

 取り敢えず、Stowを試す前に2ヶ月以上放置している自宅Linux機のアップデートしないといけません.
 と言うか、地獄期間を過ぎた筈なのに何故か明日も仕事 orz
 9日/16日(日曜)も密かに出社済み orz
 そろそろ体にガタが来そうな今日この頃.

2008年3月6日木曜日

システムハンガリアンが止められない.

 早い時間に帰るタイミングを逃しました orz
 さて、そろそろ帰ります.

 が、一言だけ.
 CやVB(.Netでは無い)のコードを見ていると、

  m_FirstName
  p_TmpPath

 とか

  m_szFirstName
  p_strTmpPath

 と言った変数/メソッドの命名をしている人が居ます(と言うか、そう言う命名規則を設けている).

 当然

  m … スコープ → モジュール(メンバかも)
  p … スコープ → プライベート

 や

  sz … 文字列(終端文字付)
  str … 単なるStringの略

 を意味しています.
 私は「m_」やら「p_」やらは使いませんが(※1)、「str」とか「sz」は好んで使っています.
 実際、このblogで極稀に書くコードでもPrefixを付けて書いているはずです.
 
 で、この書き方を会社の人に言わせると「前時代的でダサ過ぎる.そもそもそれってシステムハンガリアン(※2)だしw」となる訳です.
 まぁ、それはそうなんですけどね.
 別に今の言語 + IDEをもってすれば、型もスコープも明確且つ明快に扱える(スコープは若干あれだけど)から、そんなPrefixなんて付ける必要はありませんよね(大方のスクリプト言語除く(※3)).
 …と言うのは頭の中では理解してます.
 が、実際問題としてソースコードをダダ読みしてると、個人的にはこっちの方が楽ですw

 会社でハンガリー記法はやってないんですが、どうにも読み難くて仕方ありません!
 何度読み慣れようとしても、全然頭に入って来やしません!!
 システムハンガリアンまんせ~!!!

 …じゅ、重症過ぎる orz

 元には戻れない体になってしまったのワタシ.
 そんな感じです.
 どんな感じかは不明ですが、システムハンガリアンな書き方よりは明瞭なハズです.

 嗚呼低レベル低レベル.
 前時代的な書き方から抜け出られるのは何時の日か…

/**
 * 2008-03-07 追記
 */
 久しぶりに更新すると、情報が不足しがちになります.
 まぁ、元々情報不足過ぎなんですが orz

※1 「m_」「p_」を使わない → 「Me」「this」の有無で切り分ける
 基本的にメンバ変数やメソッドは「Me」(VB.Net)なり「this」(C++/C#/Java)を使っています.
 ローカルな変数は何も付けず、メンバな変数には「すべて」付記します(無駄が多いw).

※2 システムハンガリアン → 間違ったハンガリー記法
 正しいハンガリー記法はそこまで否定されるものではありません.
 正しいハンガリー記法は、変数の型では無く「データが何を表すのか」を表記します.
 スコープの表記がどうなのかは…調べないと知りませんが orz

※3 IDEのフォローでどうにでもなると言えばなるか…とも思いますが、変数の型すらどうにでもなるスクリプト言語(特にPHP)には、結構システムハンガリアン記法はあってるかと.
 話は少しズレますが、「文系の人はPHPから始めずにJavaから始めましょう」.
 低レベルな文系人間でもこれだけは声を大にして言いたい今日この頃.

2008年3月3日月曜日

地獄終了.

 約2ヶ月間まるまる放置してましたが、またボチボチ再開します.

 仕事はじめの翌週から予定外の(且つ急ぎの)案件が入ってからと言うもの、1ヵ月半で休み2日、毎日朝から深夜まで仕事、と言う地獄絵図状態 orz
 もうここまで来ると、四六時中仕事の事しか考えられなくなります.
 シャワー浴びてても飯を食べてても、頭の中でコードがのた打ち回ってましたw
 疲れ過ぎで夢を見ず、仕事の悪夢でうなされなかったのが、せめてもの救いです.
 この土日は久しぶりの休みを満喫…と言ってもまぁ寝ただけで終了ですが orz

 それにしても、先ほど放置期間のアクセスログを確認してみましたが、blogって更新して無くても意外とアクセスがあるもんなんですねぇ.
 …と言うか、むしろ更新してた頃より閲覧者が多いじゃないの orz