(2007-02の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

2007-02-27 Tue (他の年の同じ日: 2006 2008 2013)

GD::Barcode::NW7でバーコード作成
2007-02-27-1 / カテゴリ: [perl] / [permlink]

[2006-12-12-1]の関連
GD::Barcode::QRCode を cpan でインストールしていれば一緒に入っているっぽい。
なければインストール(試してないけど多分こんな感じ)
cpan> install GD::Barcode::NW7

インタフェースは QRCode とまったく一緒。なので簡単に…(手抜き)
use GD::Barcode::NW7;

$data = '12121212';

binmode STDOUT;
print GD::Barcode::NW7->new($data)->plot->png;
出力をファイルに吐くとこんな感じ。
生成ファイル
デフォルトで下部に入力データ文字列が付加される。これを非表示にするには
print GD::Barcode::NW7->new($data)->plot(NoText=>1)->png;
高さの調節も同時にするには
print GD::Barcode::NW7->new($data)->plot(Height=>20, NoText=>1)->png;
で、ピクセル数を指定できる。
データ・スタートビット/ストップビットとして入力できる文字は、[0-9_$:/.+A-D]の20種。小文字の[a-d]は不可(newで失敗する)

Code39やらEAN8やらほかにもモジュールがあるけど、どれも同じインタフェースで使えるっぽい。
2007-02-26 Mon (他の年の同じ日: 2006 2008)
2007-02-25 Sun (他の年の同じ日: 2006 2013)

髪 x 服 x カルボナーラ
2007-02-25-1 / カテゴリ: [diary] / [permlink]

前日は18時おきで酒飲んですぐ寝たせいで4:30頃目が覚めた。7:00に復帰。
とゆーわけで4ヶ月ぶりに髪を切りに行く。前髪なんか鼻の頭まで届いてたからな…(笑)
カットと矯正で5時間もかけて、次は5ヶ月ぶりに服を買いに行く。
元々行くつもりだったけど店長から偶然「ポイント2倍やってるんで是非来てください」と外出直前にTelがあったので遅くなったけど行く。シャツ・パーカー・ブルゾンげっと。あと300円でポイントが10x2だったけど、惜しくも9x2。てゆーか、5000円で1ポイントなんだけど…(‥;
そんで、夕食の時間(というか朝から何も食べてないが)になったんで、通常だと一蘭のとこを意表をついてカルボナーラを食べに行く。タパスタパスのカルボナーラは汁気がなくておいしい。

ここまで活動的な休日はいつ振りだろうか。
足が痛くなっちったよ。
2007-02-23 Fri (他の年の同じ日: 2006)

カスタムウィザードで作成するプロジェクトのリンクファイルのデフォルト設定を追加(VC2003.net)
2007-02-23-2 / カテゴリ: [win][programming][c][VC++] / [permlink]

Vc7/VCWizards/[ウィザード名]/Script/1033/default.js
:
var LinkTool = config.Tools('VCLinkerTool');
:
// これを追加
LinkTool.AdditionalDependencies="netapi32.lib";
Debug用とRelease用みたいに複数ある場合は全部追加する。

参考
VC++6.0のカスタムウィザードをVC++.NETに移行する(の日本語訳)
(タイトルの日本語がおかしいので訳した)


追記
1033(英語) じゃなくて 1041(日本語)のウィザードもあった。
複数言語へのウィザードのローカライズ

起きた時間の記録
2007-02-23-1 / カテゴリ: [diary] / [permlink]

日記トップの一番下に表示させてみる。
会社まで90分かかるのに何時に起きてるんだ>自分

転職先の人事担当がみたら「こんな朝弱い奴はいらねー」と思う、のか?
2007-02-22 Thu (他の年の同じ日: 2008 2011)

タブの入力
2007-02-22-1 / カテゴリ: [emacs][meadow] / [permlink]

struct hoge {
   m_foo;    // foo
   m_bar;    // bar
   m_baz;    // baz
         ^^^^ この辺にタブを入れたい
};
タブキーや C-i はインデント
タブの入力は
M-i
スタイルに関係なく 0x09(ハードタブ) がカーソル位置に挿入される。
表示上のタブ幅はスタイルに影響される。[2006-03-09-1]で言えば tab-width の値。
2007-02-21 Wed (他の年の同じ日: 2005 2006)

MACアドレスの取得
2007-02-21-2 / カテゴリ: [programming][win][c] / [permlink]

イーサネット アダプタのMACアドレスを取得する
アプリケーションが一意に判断できる値を得る方法
Netbios というAPIを使用して取得できる。
netapi32.lib をリンクする必要アリ

ただ、ケーブルの刺さっていない非アクティブなNICのアドレスは取れないっぽいなぁ。
Referrer (Inside): [2007-02-26-1]

情報処理試験
2007-02-21-1 / カテゴリ: [diary] / [permlink]

ソフトウェア開発を受けようかと(相当前から)思ってたけど、締め切りが昨日だったorz
まだしばらくモグリの開発者か。
2007-02-20 Tue (他の年の同じ日: 2006)

関数ポインタのtypedef
2007-02-20-1 / カテゴリ: [programming][c] / [permlink]

// 型
typedef int (*TYPENAME)(char *arg1, char arg2);
// int は対象関数の戻り値の型
// TYPENAME は typedef で付けたい型名

// 変数宣言 (funcはポインタ/*はつけない)
TYPENAME pfunc;

// 代入 (関数名のみ)
pfunc = functioin;

// 関数定義
int function(char *arg1, char arg2)
{
  :
  :
}

// コール
n = pfunc(str, ch);
// pfuncに代入されている function() がコールされる。
// 関数に渡す引数は普通に記述

WSHを始めよう @IT
2007-02-19-1 / カテゴリ: [win][link] / [permlink]

めも
WSHを始めよう - @IT
標準 Meadow だとモードがないなぁ。
2007-02-16 Fri (他の年の同じ日: 2006)

早起き生活
2007-02-16-1 / カテゴリ: [diary] / [permlink]

早起き生活をはじめよう!!
病院からも寝起きの時間をチェックするよう言われてシートをもらったのでつけ始めた。
データがたまったら公開すっかな。
2007-02-12 Mon (他の年の同じ日: 2006)

風邪
2007-02-12-1 / カテゴリ: [diary] / [permlink]

です。金曜夜からやばい。
朝、病欠の連絡を会社にしようと電話したが誰も出ず…。
9:30頃友人に聞いてみたところ全国的に休日であることが判明。
2007-02-09 Fri (他の年の同じ日: 2005 2006)

一蘭
2007-02-09-4 / カテゴリ: [diary] / [permlink]

開店時以来の週4食タイ

置換時に式を評価する
2007-02-09-3 / カテゴリ: [perl][正規表現] / [permlink]

/e で。割とよく使われてるはずだからサンプルだけ
C/C++ ソースの #ifdef を削る。
@define = qw/__DEBUG __WRITELOG/; # define を指定する

# $src にソースを丸ごとつっこむ

# #if-#endif
$src =~ s|^#if\s+(\w+)(.*?)^(#else(.*?))?^#endif|($1)?$2:$4|emsg;
# #ifdef-#endif
$src =~ s|^#ifdef\s+(\w+)(.*?)^(#else(.*?))?^#endif|(grep {$_ eq $1 } @define)?$2:$4|emsg;
# #ifndef-#endif
$src =~ s|^#ifndef\s+(\w+)(.*?)^(#else(.*?))?^#endif|(grep {$_ eq $1 } @define)?$4:$2|emsg;
/m で複数行マッチ、/s で . を改行にマッチさせる。
/m で複数行マッチ処理を行ってる場合、式の途中の ^ は改行直後の位置にマッチする。
else 節がない場合は $4 は空になるのでバッサリ削られる。

前回のマッチ位置から処理する
2007-02-09-2 / カテゴリ: [perl][正規表現] / [permlink]

単に繰り返したい場合は
/regexp/g;
/g オプションで、繰り返し処理される。
けど、ある正規表現にマッチした場合、その内容によって以降の処理が変化させたい、などのちょっと複雑(?)な場合は、/c /g によって、マッチ箇所を記憶させ、次に \G でその位置を参照できる。
続きを読む

エスケープされていないダブルクォート
2007-02-09-1 / カテゴリ: [perl][正規表現] / [permlink]

こんな感じかな。
$reg = qr/(?<!\\)(?:\\\\)*\"/;
手前に \ がなくて、\\ が0個以上あって " の場合。
否定後読みの (?<!\\) がないと、奇数個の逆スラッシュは、偶数個分だけが(?:\\\\)*にマッチしてしまうので NG。
2007-02-07 Wed (他の年の同じ日: 2006)

終電
2007-02-07-1 / カテゴリ: [diary] / [permlink]

終電だったのに寝過ごし折り返ししてしまったみたい。
2007-02-01 Thu (他の年の同じ日: 2005 2006 2010 2011)

お手製検索バーの追加(for Firefox 2.0)
2007-02-01-1 / カテゴリ: [mozilla] / [permlink]

しばらく CPAN Search を頻繁に使ってなかったから気付かなかったけど、1.5から2.0にアップグレードしたら、Search Plugins の仕様がかわってた。(前のやつ[2004-11-10-2])
検索バーの管理からリンクされてる Creating OpenSearch plugins for Firefoxを参照して作成。
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>CPAN Search</ShortName>
<Description>CPAN Search</Description>
<InputEncoding>EUC-JP</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAD///8AewAAAAB7AAB7ewAAAAB7AHsAewAAe3sAvb29AHt7ewD/AAAAAP8AAP//AAAAAP8A/wD/AAD//wAAAAAA///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w/////////////////////zNs/L/vGObX6/D22wAA+ukAAvjDYWz8A3Rl+AJDb/ACciDgAVzQ4AMRAOYPv+YnHwACB/8ABof/MoDj/zHg</Image>
<Url type="text/html" method="GET" template="http://search.cpan.org/search">
  <Param name="query" value="{searchTerms}"/>
  <Param name="mode" value="all"/>
</Url>
</OpenSearchDescription>
こんな感じ。
アイコンの Base64 データは
$ wget -qO- http://search.cpan.org/favicon.icon | base64 | tr -d "\n"
こんなんでゲット。
あとは、ブラウザの検索バーのエンジン選択で CPAN Search を選んで、キーワードいれて検索すれば CPAN に飛ぶ。

というか、base64 なんてコマンドあったのね。(cygwin)
coreutils の Changelog の 2006-02-17 に New Program: base64 って書いてある。


追記
base64 の出力が 76 文字ごとに改行されてたので tr で削ったけど
$ base64 -w0
でよかった。
2007-02
前の月 / 次の月 / 最新

2013 : 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
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 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
2007 : 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
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12