Entries from 2009-01-01 to 1 year
Objective-C で hello world は以下のように書ける。 #include <stdio.h> int main(void) { puts("hello world"); return 0; } これをコンパイルするには以下のようにする。 gcc -Wall tokuhiro.m実行結果は以下のとおり hello worldC と同じなので簡単ですね (ぉ参考:</stdio.h>…
今日、会社で出た話。C言語だとグローバル変数を (宣言ではなく) 定義するには、必ずソースファイル内を書かなければいけなくて面倒だけど、C++ なら簡単。テンプレートクラスを使えば、ヘッダファイルだけでグローバル変数を定義できる。以下、参考。 なの…
tmaesakaさんがやってくれました。ずいぶん前からSQLのベンチマークを測定するのに使いやすいプログラムないかなーと思ってました。個人的にはmysqlslapというのを使ってたのですが、幾らか気に入らない所があったりコマンドラインオプションが複雑で毎回 --…
lower_case_table_names=2 の環境のみ (= Win32, OSX) の話なんですが。大文字を含む名前をもつテーブルの INFORMATION_SCHEMA を読んじゃうと、以後 mysqld を再起動するまで同名の CREATE TABLE できなくなるという...バグとしては5月に報告されていたら…
「boost 等、他の重たいライブラリに依存しない」boost 重いと思ったことないけど,そういう領域はあるんやろうなぁ はてなブックマーク - HISAMATSUのブックマーク / 2009年7月3日 おもしろい点だと思うので、こちらでフォロー。自分で使うプログラムを書い…
DELL の Inspiron Mini 9 を使っていて C++ のコンパイルに時間がかかるからハイパースレッディングの効果がどのくらいあるのかなーと思って試してみた。 コマンド 所要時間 (秒) make 30.825 make -j 2 22.501 おー速くなる速くなる。37% の速度向上。他の…
binlog の設定等によって大きく変わると思うので要注意ですが、テストによっては、これぐらい差が出ます。 hdparm -W trx_commit 秒 0 0 25.492 0 1 281.078 1 0 24.138 1 1 67.051 測定環境は MySQL 5.1.35; linux 2.6.18; x86_64。テーブルのスキーマは、 …
別に、MySQL のストレージエンジンじゃなくて UDF でもいいんですが*1。理由は、トリガーのオーディティングとかロギングとかデバッグとかで、ログをはきたいから。MyISAM みたいな non-transactional なストレージエンジンにログを INSERT していってもいい…
2009年7月6日追記: 以下は svn switch あるいは svn switch --relocate が使えない場合の話です。Subversion のレポジトリが移行したときに、手元に co してあるソースをそのまま、レポジトリの URL だけを書き換えたいことって結構ある。 #運用サーバへの…
まず、イベントドリブンなプロトコルハンドラを実装する側の事情を説明すると、O_NONBLOCK をセットすると、複雑なプロトコルの実装 (あちこちで write(2) を呼んでるとか) にあたって、いちいち select(2)->poll(2) のステップをふまなくても、返り値が EWO…
PerlからPostgreSQLに非同期アクセスする方法 - iakioの日記 - postgresqlグループ を見てほぉぉと思って、IRC で話したりしながら適当に書いてみた。たぶんこんな感じ。動かしてないけど。 use DBD::Pg qw(:async); # send queries for my $dbh (@dbh_list)…
id:frsyuki さん & id:hirose31 さん、クラウドコン優勝おめでとうございます! (参考: Interop Tokyo 2009のクラウドコンでグランプリいただきました!! - (ひ)メモ) Pacific はリゾルバがボトルネックになるが、Consistent Hashing + double-hash-space…
Kazuho@Cybozu Labs: Pacific という名前の分散ストレージを作り始めた件 に関連した話。そういえば MySQL には XA Transaction 機能があるわけだけど、これ使うと Pacific の複数の MySQL node に 2-phase commit できたりするんだろうかとちょっと思った。…
講演は ustream で見て、懇親会だけ参加してきた。かな〜り勉強になった。GAE Data Store 関連でよくわからないことがあったので、2点質問をした。Q. entity を更新してから index を更新していると言うが、それだと unique secondary index はサポートでき…
Perl 5 で、ある値が範囲内に入ってるか確認したいことってあるわけで。たとえば、 my $t = time; if ($min <= $t && $t < $max) { ... }みたいな冗長なコードは書きたくない。じゃあどうするかなって言うと、 if (grep { $min <= $_ and $_ < $max } time) …
Thrift をインストールしようとして autotools まわりではまっちゃった場合は、autoconf 済の source tarball が instant.thrift-rpc.org からダウンロードできるらしい。thrift-users ml でそういう話が流れてた。Web 上には見当たらないけどw
dmesg の (depth \d+/ の数字が 0 じゃなければ NCQ 有効。 Linux NCQ (SATA native command queueing) support is enabled automatically, if your SATA drive supports it. At boot, you will see a line in dmesg (or kernel log) like ata2.00: ATA-7, m…
クライアントの調整Mac OS X の AFP クライアントには、サーバに対するネットワーク遅延をチェックし、その結果を基にパケットサイズを選択する機能が備わっています。そのために、クライアントは、AFP 接続を開始するために最初にサーバに送信するパケット…
キャッシュサーバーの実装がおかしいとか言ってる人がちらほらいるんですが、NSレコードのTTLが切れている場合には必ず「上位のネームサーバーから再問い合わせすべき」なんですかね。ドメイン移管時なんかを除いてはほぼ確実に同じNSレコードが返ってくるで…
「幸せを呼ぶサーバー風水術」、登場 | スラド の件、目次が http://www.watch.impress.co.jp/akiba/hotline/20090425/image/sstj11.html にあるんだけど、記数法が「道(タオ)の叡智」によって、1, 6, 8, 9, 11, 16, 18, 19, 61, 66, 68, 69,...みたいにな…
帰国して、ようやく 404 Blog Not Found:perl - Shibuya.pm #11:The Catcher in the INT 80h が読めるようになった id:kazuhooku です。弾さんのスライドは、FreeBSD 特有の事情と、その問題をカバーしようとするための努力について解説していて、とてもおも…
M○SQL Conference & Expo 参加中のため、アメリカから shibuya.pm 関連のブログエントリを読んでいるわけですが。一番困るのは発表者の皆さんが shellcode (あるいはそれっぽいもの) をブログに貼りまくってること。ホテルのインターネット回線 (LODGENET) …
着いたら Oracle Conference になってたぉ参考: 米Oracleが米Sunを74億ドルで買収へ - Enterprise Watch Watch 他
脊髄反射。 Oracle や MySQL など近年の RDBMS はインデックスのデータ構造にB木 (の変種) を採用していますが、その理由はここにあります。SSD がコモディティになると状況は変わる(中略)二次記憶上での検索用のインデックスにはこれまで B木のようなディス…
404 Blog Not Found:デバッグより重要なもの 2009-04-02 あたりの議論は正直よくわかんないけど、以下、駄文。データフォーマットとしてバイナリを推す派 vs. テキスト派の対立ってのは、別に最近始まったことじゃないわけで。この問題について自分が一番印…
8月版 ブート時間の短縮にかけるカーネルアスリートたち(2/2) − @IT - SSDドライブの耐用年数を増やすセクタ破棄リクエスト関連の話。OCZ の Vertex シリーズのコントローラは、TRIM command に対応してるっぽい。よくわかんないけど。で、linux の状況は…
$ perl -le'for$i(@a=(0..9,A..F)){print map"$i$_ ",@a}' 16進数のテーブルを表示するワンライナーを考える - すぎゃーんメモ printf %c 使って perl -e'printf"%02X%c",$_,$_+1&15?32:10for 0..255' と書いた方が2バイト短いかなと思いました。まだ縮むん…
String::TT なんかがそうですけど、呼び出し元の変数を使いたい、ということがときどきあります。たとえば、 sub hello_to_alice { my $user = "Alice"; say_hello(); # "Hello to Alice!" と言ってほしい } って書きたいとか、そういうケースですね。結論か…
でまあというわけで split/join とかしたい時は 99% 速度なんて気にしてないという法則から、普通に vector かえす split がとりあえずあったりいいんじゃないかなぁとか思うわけです。 split/join - はじめてのにき(2009-03-17) C++ の場合であれば 100% 同…
perl のプロセス内でサンドボックスを作ろうと思うと、少なくとも以下の2点が必要です。 オプコードの制限 DynaLoader::dl_install_xsub を利用したネイティブコード注入 このうち、オプコードの制限については、ops モジュールで行うことが可能です。一方…