ブログをOctpressに移行しました

etc

http://nekoya.github.com/ここで書いてみます。

DBIx::Skinny::Schema::Loader 0.24 released

http://search.cpan.org/~nekoya/DBIx-Skinny-Schema-Loader-0.24/lib/DBIx/Skinny/Schema/Loader.pm 久々のリリースです。例によって自分では全くコードを書かずに、頂いたPull Requestを取り込むだけの簡単なお仕事です。nyo-kichiさんありがとうございま…

フリーランスという働き方

TLで「フリーランスの仕事とは」みたいな話題が目に付いたので。答えのないものだし、それぞれの人が自分なりのやり方を見つけていくしかないのだけど、サンプルはあればあっただけ有効だろうということで、自分のことも少し書いてみようと思います。 ■これ…

cobblerでRHEL6系のリポジトリをミラー出来ない時の対処法

そろそろCentOS5系からの意向を図ろうかということで、ScientificLinux6.1をcobblerに取り込もうとしたらreposyncがこんな感じのエラーを吐いて死ぬ症状に遭遇。 Wed Dec 14 12:10:09 2011 - INFO | Exception occured: cobbler.cexceptions.CX Wed Dec 14 1…

PHPのnullはハマりポイントになりかねない

php

$ php -r '$data = array(); echo $data["key"];' PHP Notice: Undefined index: key in Command line code on line 1当然ですね。 $ php -r '$data = null; echo $data["key"];'今更ながらに知ったのだけど、NOTICEも何も出ないのね。決まったフォーマット…

CakePHPがコンポーネントを読み込む仕組みを調べてみた

SecurityComponentのチェックにかかってにっちもさっちもいかなくなったんだが、そもそも基本的な動作フローを理解していないのでどこから手を付けていいのか分からない。というわけで、コンポーネントが読み込まれる仕組みを調べてみた。対象バージョンは1.…

CentOS5.5でCakePHP1.3系のInflector::slugを正常動作させる方法

「CakePHPでラジオボタンを出そうと思ったら、PCREとかPHPのビルドを考え直すハメになった」の続報です。CentOS5.5環境でPCREのUnicode文字プロパティを正常動作させる方法について改めてまとめます。動作確認には、Inflector::slugに含まれる問題のパターン…

CakePHPでラジオボタンを出そうと思ったら、PCREとかPHPのビルドを考え直すハメになった

(2011/05/18追記)末尾にCentOSの標準RPMの更新について書きました(2011/05/19追記)続編書きました CentOS5.5でCakePHP1.3系のInflector::slugを正常動作させる方法CakePHPのFormHelperでラジオボタンを出してみたところ、label要素がうまく動かない症状…

iPhone版Skypeで長いURLを含むチャットを開くとアプリケーションが落ちる

タイトルの通り。バージョン3.0.1で確認。Copyright見ると2003-2010とあるが、今年に入ってからバージョン上がってないのかね。「ご意見を送信」からバグ報告してみた。

ip_conntrack_maxの設定値を監視するNagiosプラグインを書いた

https://github.com/nekoya/nagios-plugins-ip_conntrack_max どうというものでもないが、せっかくだから記録として残しておこう。NRPE経由での利用を前提としています。iptablesの設定を変更するのに、/etc/sysconfig/iptablesを更新して $ sudo /etc/init.…

CakePHPで__(0)するとNULLが返ってくる

現時点のgithubのmasterでcake/bascis.phpから。 function __($singular, $return = false) { if (!$singular) { return; } これはひどいis_nullとか===とか、ちゃんと使わないと残念なバグを仕込んでしまうという、PHPにおける基本的な教訓を改めて得られま…

CakePHPのControllerがディレクトリの階層に対応していた件

(追記)本記事の内容はCakePHP1.3.6ならびに2011/04/28時点でのgituhbの1.2, 1.3ブランチで検証しました。(2011/05/05追記)コメントで現時点のCake2.0では再帰的な探索を行わないとのご指摘を頂きました。ちゃんと追えてないけど、import周りの処理は大幅…

CentOSでRealTekRTL8111bにr8168ドライバを適用する方法

2年ぐらい前のネタだが今でも解決してないので、時期を外しても何ともないぜ。RealTekのRTL8111bという2年程前(LGA775世代)から広く使われているNICがあります。こいつのドライバはr8168が正しいのですが、CentOS5系で自動認識させるとr8169がロードされて…

「ソフトウェア設計とは何か?」がすごい

dev

結構前のエントリになりますが、cles::blogさんで紹介されている「プログラミングは設計か製造か?」に感銘を受けました。はてブを見ていると、最近になってwebarchiveから発掘されたようです。 ソフトウェア設計とは何か? 原文はこちらで公開されている模…

MacBookAirをスリープ状態で放置すると電源が切れる時はPRAMクリアとSMCリセット

mac

メモの類はMacVimのタブを開いて保存もせずにパパッと書き留めるのですが、そのままスリープさせて就寝、朝起きると電源が切れている。なんてことばかりでげんなりです。evernoteにvimモードがあればいいのに。もしかしてそういうものなのかとも思ったけど、…

編集中のファイルのメソッド一覧をQuickfixで縦分割して表示する

vim

Quickfixは便利なんだけど、クラスファイルを編集中に縦分割でガバッと一覧で出して欲しかったのでこんなキーバインドを設定してみた。 nnoremap <buffer> <F1> :vs<CR>:vimgrep /^\s*function / %<CR>:cw<CR><C-w>k:q<CR><C-w>l これを~/.vim/after/ftplugin/php.vimに登録。ただのキーボードマク</c-w></cr></c-w></cr></cr></cr></f1></buffer>…

CakePHPのSet::extractは引数の順番に寛容である

php

CakePHPにはSet::extractというPHPが不便なだけ非常に便利な機能があります。こいつの実装はなかなか面白いことになっていて、

CentOS + Xenでdom-0のメモリ使用量を制限したり、8個以上のdom-Uを起動する

xen

そろそろKVMだと言うのに、またも古いネタをブログに持ってくるの巻。 dom-0(母艦)のメモリ使用量を制限する $ sudo yum install xenとかやって、インストールした後に/etc/grub.confを編集。初期状態ではXenカーネルで起動する設定になっていなかったりす…

CentOS5系のsystem Perlでlocal::lib環境を作る方法

今更感がありすぎる古いネタでもブログに上げてしまおうキャンペーン実施中。今ならperlbrewを使うのが圧倒的にお勧めなのですが、system Perl(OSに標準で付いてくるPerl)の出番も完全に無くなるわけでもないかなーと。例えば先日、CloudForecastをperlbre…

Nagiosのcheck_mysqlに.my.cnfを参照させる

MySQLの稼働やレプリケーション監視は柔軟性が欲しくて自前のスクリプトでやっているのですが、それとは別にNagiosでの監視もそれはそれで欲しいよね、という話。check_mysqlに直接パスワード渡すとかないわー、と思って.my.cnfを渡す方法を探してみた。 htt…

gitのhookでメール送るとか

git

ググればサンプルはたくさん出てくるのだけど、.git/hooks/post-receiveに #!/bin/sh TITLE=`git show '--pretty=format:[リポジトリ名] "%s" by %cn #%h'|head -1` git show | mail -s "$TITLE" メールアドレス とか書いておく程度でいいかなと思った。ブラ…

DBIx::Skinny::Schema::Loader 0.16 released

http://search.cpan.org/~nekoya/DBIx-Skinny-Schema-Loader-0.16/lib/DBIx/Skinny/Schema/Loader.pm YAPC楽しいけど、自分の無力さにめげそうになるよねー、ということで少しでも抵抗しようと思って講堂前で書きました。make_schema_atにignore_rulesオプシ…

DBIx::Skinny::Schema::Loader 0.15 released

http://search.cpan.org/~nekoya/DBIx-Skinny-Schema-Loader-0.15/lib/DBIx/Skinny/Schema/Loader.pm 今まで、Loaderのprimary keyに関する動作は DB上でpkが指定されていればそれを使う idというカラムがあればpkとみなす いずれにも合致しなければエラー …

Test::More 0.95_01以降ではsubtest毎にdone_testingって書かなくてもOK

昨日Twitterにふらっと投げたらreply付いたので、せっかくだからブログに書いておく。何気なくTest::MoreのPodを読んでいると、 This adds an implicit done_testing() to the end of your subtest. The following two subtests are equivalent: http://sear…

skip-name-resolveでMySQLへの接続がどの程度速くなるのか試してみた

skip-name-resolve重要 - kotori::log を見て、実際のところどの程度性能に影響があるのか気になったのでベンチを取ってみた。ベンチマークスクリプトはhttp://gist.github.com/594839で、connect -> disconnectを1000回繰り返すのにかかった時間を計測。 ■…

ASUS P7F-MでデュアルコアCPUを使用する場合はECCメモリが必須

PC

ASUS P7F-Mという、MicroATXで内蔵VGA搭載、INTEL NIC2ポート(と別口1つで合計3ポート)搭載でSocket 1156の「省スペースサーバ自作しろってことですね分かります」的なマザーがあるんですが、これが意外と厄介だったのでメモ。 (ECCメモリはxeon3400シリ…

Path::AttrRouterのControllerをextendsする時はBEGINで(って書いたけどやっぱり '-extends' で)

Path::AttrRouterを使うのに、 package MyController; use Any::Moose; extends 'Path::AttrRouter::Controller'; sub index :Path Args(0) { } 1; みたいに書くと「Error while loading app.psgi: Invalid CODE attributes:」とか怒られてどうすればいいん…

Moose, Mouse, Class::Accessor::Fastのアクセサでベンチマーク取ってみた

「馬鹿にできないアクセサのオーバーヘッド - Craftworks Tech Blog - Branch」にもあるように、Mooseのアクセサによるオーバーヘッドは無視するにはちょっと大きいという印象があります。じゃあ、Mouseだったらどうなんだろうとか、自分が使うサーバのスペ…

LVM上に構築したXenのDom-Uのディスク容量を増やす

xen

新しいLVを作って、/etc/xen/${server}に追加するとかでもいいけど、Dom-0側でLVの一覧を見た時に仮想マシンの一覧にそのまま対応している方が嬉しいと思ったので、直接LVの容量を増やしてみる。開発環境では何度かやっているので大丈夫だとは思うけど、もち…

NagiosのマイナーっぽいSNMPプラグイン群を紹介してみる

NagiosでSNMPを利用した監視を行う場合、check_snmpコマンドであれこれ書いていくのも一つの方法ですが、MIBのオブジェクトIDとか覚えるのは不可能なので記述はコピペに頼ることになります。CPU使用率だったら check_snmp!public!.1.3.6.1.4.1.2021.11.9.0,.…