(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 でインストールしていれば一緒に入っているっぽい。
なければインストール(試してないけど多分こんな感じ)
インタフェースは QRCode とまったく一緒。なので簡単に…(手抜き)
デフォルトで下部に入力データ文字列が付加される。これを非表示にするには
データ・スタートビット/ストップビットとして入力できる文字は、[0-9_$:/.+A-D]の20種。小文字の[a-d]は不可(newで失敗する)
Code39やらEAN8やらほかにもモジュールがあるけど、どれも同じインタフェースで使えるっぽい。
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ポイントなんだけど…(‥;
そんで、夕食の時間(というか朝から何も食べてないが)になったんで、通常だと一蘭のとこを意表をついてカルボナーラを食べに行く。タパスタパスのカルボナーラは汁気がなくておいしい。
ここまで活動的な休日はいつ振りだろうか。
足が痛くなっちったよ。
とゆーわけで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
参考
VC++6.0のカスタムウィザードをVC++.NETに移行する(の日本語訳)
(タイトルの日本語がおかしいので訳した)
追記
1033(英語) じゃなくて 1041(日本語)のウィザードもあった。
複数言語へのウィザードのローカライズ
: var LinkTool = config.Tools('VCLinkerTool'); : // これを追加 LinkTool.AdditionalDependencies="netapi32.lib";Debug用とRelease用みたいに複数ある場合は全部追加する。
参考
VC++6.0のカスタムウィザードをVC++.NETに移行する(の日本語訳)
(タイトルの日本語がおかしいので訳した)
追記
1033(英語) じゃなくて 1041(日本語)のウィザードもあった。
複数言語へのウィザードのローカライズ
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のアドレスは取れないっぽいなぁ。
アプリケーションが一意に判断できる値を得る方法
Netbios というAPIを使用して取得できる。
netapi32.lib をリンクする必要アリ
ただ、ケーブルの刺さっていない非アクティブなNICのアドレスは取れないっぽいなぁ。
Referrer (Inside):
[2007-02-26-1]
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() がコールされる。 // 関数に渡す引数は普通に記述
2007-02-16 Fri (他の年の同じ日: 2006)
2007-02-12 Mon (他の年の同じ日: 2006)
2007-02-09 Fri (他の年の同じ日: 2005 2006)
置換時に式を評価する
2007-02-09-3 / カテゴリ: [perl][正規表現] / [permlink]
/e で。割とよく使われてるはずだからサンプルだけ
C/C++ ソースの #ifdef を削る。
/m で複数行マッチ処理を行ってる場合、式の途中の ^ は改行直後の位置にマッチする。
else 節がない場合は $4 は空になるのでバッサリ削られる。
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]
単に繰り返したい場合は
けど、ある正規表現にマッチした場合、その内容によって以降の処理が変化させたい、などのちょっと複雑(?)な場合は、/c /g によって、マッチ箇所を記憶させ、次に \G でその位置を参照できる。
/regexp/g;/g オプションで、繰り返し処理される。
けど、ある正規表現にマッチした場合、その内容によって以降の処理が変化させたい、などのちょっと複雑(?)な場合は、/c /g によって、マッチ箇所を記憶させ、次に \G でその位置を参照できる。
《続きを読む》
エスケープされていないダブルクォート
2007-02-09-1 / カテゴリ: [perl][正規表現] / [permlink]
こんな感じかな。
否定後読みの (?<!\\) がないと、奇数個の逆スラッシュは、偶数個分だけが(?:\\\\)*にマッチしてしまうので NG。
$reg = qr/(?<!\\)(?:\\\\)*\"/;手前に \ がなくて、\\ が0個以上あって " の場合。
否定後読みの (?<!\\) がないと、奇数個の逆スラッシュは、偶数個分だけが(?:\\\\)*にマッチしてしまうので NG。
2007-02-07 Wed (他の年の同じ日: 2006)
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を参照して作成。
アイコンの Base64 データは
あとは、ブラウザの検索バーのエンジン選択で CPAN Search を選んで、キーワードいれて検索すれば CPAN に飛ぶ。
というか、base64 なんてコマンドあったのね。(cygwin)
coreutils の Changelog の 2006-02-17 に New Program: base64 って書いてある。
追記
base64 の出力が 76 文字ごとに改行されてたので tr で削ったけど
検索バーの管理からリンクされてる 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でよかった。
前の月 / 次の月 / 最新
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