O/Rマッパー

たとえば画像を扱うのに、ピクセルをクラス化してもあんまり有用じゃない。効率最重視のC++ですらそれは悪い選択だ。オーバーヘッドが大きくなるばかりで、クラス化によって得られる利点は別の方法でも代用できる。たぶん「画像はピクセルの集合である」とい…

PHPの連想配列で、キーの有無を確認する

PHPの連想配列に多めのデータを詰め込んでみたら異常に遅かった。perlだと3秒くらいの処理に17秒かかる。で、色々調べてみたが実用コードとベンチマークで順位が逆転する場合があったりして、どう書くのが最適なのかまだよくわからない。 @$ary[$key] よりは…

MySQLで全文検索

MySQL FULLTEXT + Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について|blog|たたみラボ に書かれてた、MySQL のFULLTEXT インデクスを使って boolean mode でクエリをかけることで全文検索を実現する方法を試してみたよ。 match(col)again…

PHPでテキスト処理

PHPでテキスト処理を書いた時のメモ UTF-8の文字列を文字の配列に分割する 最初に書いたというか、Webからコピペして整形したコードはコレ。 function mbStringToArray($text,$enc="UTF8"){ $result= array(); $len = mb_strlen($text,$enc); while($len){ $…

DBD::SQLiteの謎エラー

DBD::SQLite::db prepare failed: not an error at /home/www/juggler.jp/200902uploader/Uploader.pm line 101. [Tue Oct 06 10:08:02 2009] [error] not an error: sql=select * from stat DBD-SQLite 1.25 と SQLite 3.6.18 で発生。prepareがエラーで戻…

ATOKのキーカスタマイズ

再インストール用のメモ。 ベースはATOK2008のMS-IMEスタイル 変換/無変換でIMEのON/OFF 余計な入力モードに間違って入らないようにする - 英字入力ON/OFF [英数 ] - 英字入力ON/OFF [英数 ] - 英字入力ON/OFF [英数 ] - 英字入力ON/OFF [英数 ] - 英字入力O…

パスタクッカーで失敗した

某所に仕込んだアフィのポイントで、パスタクッカーを買って試してみた。サーモス 真空断熱パスタクッカー KJA-2000 WH出版社/メーカー: サーモス(THERMOS)発売日: 2006/04/20メディア: ホーム&キッチン購入: 2人 クリック: 363回この商品を含むブログ (8件)…

DBD::SQLiteのトランザクション

perlで、DBIからDBD::SQLiteを使う場合のトランザクションの扱いについて。 トランザクションの開始 AutoCommit属性やbegin_workメソッドを使うと、その後のinsert,update等で database is locked(5) at dbdimp.c が出てステートメントの実行に失敗してしま…

無題

昭和公園を徘徊してきた。 K20D+55-300mm。ピントが微妙だけど気にしない方向で。

Microsoft UpdateとIRCのユーザ数変動の関係

http://tate.juggler.jp/2chIRCServerStat/ のユーザ数統計から。 3時-翌日1時にヘンな推移がある。 3時にMicrosoft Update。自動再起動で多少変動する 9時に職場ユーザが手動でPC再起動→botnetに影響 0..1時に再度仕込まれる という流れなのか?ちなみに1鯖…

ubuntu 8.10でIPアドレスの設定を固定にする方法

なんていうかNetworkManagerの挙動がバグ臭い。/etc/network/interfaces や /etc/resolv.conf が意図と違う内容に書き換えられてしまう。 この問題の対策が書いてあるサイトを見つけた。http://www.dreamhope.net/freewares/ DreamHope's FreeWares 記事ごと…

ドラッグドロップ

WPFのドラッグドロップ処理。まだよく分かっていないけどこんな感じ? DataObjectを受け取る側はDragOverとDropを実装する。送る側はDragDrop.DoDragDropを呼び出す。 DataObjectを使わないドラッグ操作は自前で(Preview)MouseDown,(Preview)MouseMove,(Prev…

ubuntu 8.10

RME digi96/8を鳴らすのに使ってたXPマシンが丁稚奉公に出ることになったので音楽再生用にPCを組んでみた。Intel Celeron 430, GIGABYTE GA-EG41MF-S2H rev1.0,剛力550WAという安めの構成。ドライバの都合でXPかLinuxでないと鳴らせないが今からXPを買う気に…

スタイルとコントロールテンプレート

WPFのUIで、コントロールテンプレートやスタイルを変更してみる。 描画にDirect3Dが使われてしまうのがちょっと困るかな。11/20 統一感を意識して更にコントロールテンプレートを編集してみる。 Pathの描画品質が良くない…?

Windows環境でModule::Install

Windows環境でperlモジュールのパッケージ化を試してみた。Module::Build はWindow環境ではおかしなパーミッションのパッケージを握る。 Module::Starter::PBPはPerlベストプラクティスの本をいちいち読まないと使えない。結局 Module::Install 0.77 と Modu…

perl用のテンプレートエンジン

既存のだとunicode関係やエスケープの自動化がよく分からなかったので、さくっと書いてみる。 http://tate.juggler.jp/Text-Template-Compact/(2008年11月7日) その後CPANで同種のモジュールを捜してみたら60近くあった。知名度でいうとTemplate::ToolkitかH…

perlで変数の型を調べる

変数がリファレンスである場合に参照先が配列かハッシュか調べる。 blessが絡むとrefだけでもscalarだけでもダメらしい。 sub getDataType($){ return if not ref $_[0]; # return null if not reference type. $_[0]=~/(\w+)\(/; # use scalar to void effe…

ニンテンドー Wi-Fi USB コネクタ と ESET スマートセキュリティ のパーソナルファイアウォール の設定

Nintendo DS から ニンテンドー Wi-Fi USB コネクタへ接続テストを行って52203,52003などのエラーが出る場合はPC側のファイアウォールなどが原因。ESETで穴を開けるには、ネットワーク接続のWi-fi usbのプロパティで次のようにファイアウォールを外す。 安全…

Logicool MX518 日本版 と Microsoft Habu Mouse の比較

同じ日にマウスが2個届いた。一つは Microsoft Habu Mouse の不良交換品。交換前のは 左ボタンがチャタリングを起こしていた。 先に交換品を送ってくれる方式なのはGJ。マイクロソフト ゲーミング マウス Habu Laser Game Mouse 9VV-00007出版社/メーカー: …

javaを書いて時間を潰した

ひさしぶりにJava、といってもWebアプリを書く気はなくて、Swingアプリのお話。Windows APIやWindows.FormsでUIを書くとコントロール階層で透過の扱いがヘボくて萎えるのだけど、JavaのAWT,Swingはダブルバッファリングがちゃんとしてるので見た目重視のアプ…

Eee PC 901 その後

Visual Studio 8を入れてみた。マウントやジャンクションを使わなくても入るんだな。 E-mobileのUSB端末をアウトレットのEMチャージでポチったのが届いた。毎日持ち歩くわけではないのでこれで十分だ。 softetherのpacketixを試用中。仮想LANカードと仮想HUB…

Eee PC 901 と 無線LANアクセスポイント

[rakuten:refino:10010584:detail] BUFFALO Air Station NFINITI Giga 11n/a/g/b対応 無線LANルーター WZR-AMPG300NH出版社/メーカー: バッファロー発売日: 2007/07/10メディア: Personal Computers購入: 1人 クリック: 8回この商品を含むブログ (3件) を見…

SD-Jukeboxが使いにくい。

当方SV-SD800Nユーザ。著作権管理対応のSDカードリーダやソフトが他にないので、音楽データの転送にはSD-Jukeboxを使うことになる。SD-Jukeboxの件でサポートに長電話してしまった。 Vistaにインストールする場合はセットアップ、アップデートとも「管理者と…

ircd 2.11.2

ircd 2.11.2p1 http://web.irc.org/mla/ircd-users/2008/msg00006.html jpパッチは上流に取り込まれたようだ。2.11系の新機能 http://ircnet.irchelp.org/211.html あとニックネームの長さも15文字までになっていたような気がする。

c#のenumとgenerics

c#のenumとgenericsの相性が激しく悪い。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class TestEnumGenerics{ static N toInt<T, N>( T value ) { return (N) Convert.ChangeType( value, typeof(</t,>…

MS.NetのPlatform Invoke でしょんぼり

GetDelegateForFunctionPoiter と GetFunctionPointerForDelegate でマーシャリングの挙動が違うんだな。NativeからManagedの関数をGetDelegateForFunctionPoiter 経由でコールする時に、Delegate型を delegate void dg_ByteArray( [MarshalAs( UnmanagedTyp…

Flash Playerの生ソケットのセキュリティポリシーが変わった

Flash Player の 9.0.124.0 で生Socket用のcrossdomainポリシーの伝達方法が変わってしまいました。 http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.htmlいままではWebのドキュメントルートに /crossdomain.xml を置くだけでよかっ…

フレッタの重鎧改造クエ

フレッタの改造チケットのクエをすすめてたんですよ。 犬用のベーコンポテトを作ってこいといわれました。 究極の料理ができましたよ。犬用だけど。 でもまちがえて、ラブじゃなくてフレッタにあげてしまって。 食べたみたいだけど。 自分のせいだけど作り直…

ATOK 2008

Windows Vista に入ってるMS-IMEがお馬鹿すぎるので、自宅のPCにATOK 2008 を入れてみた。ユーザ1名で同時使用しないという条件で複数のPCにインストールできる。 MS-IMEと似た設定にするのに少し手間取ったが快適さが大幅アップ。ていうかオンメモリ辞書は…

SpiderMonkeyで遊んでみた

おまけ Mozillaプロダクツで使われているJavaScriptエンジン SpiderMonkey の 1.7.0 をWindowsのStaticライブラリでビルドできるように軽くいじってみました。 http://cid-8d91961e6d878ff6.skydrive.live.com/self.aspx/scripts/SpiderMonkey-1.7.0-Win32St…