かみぽわーる

kamipo's blog

rbenvで入れたRubyで no such file to load -- net/https いわれるとき

VPSのUbuntuにrbenvでRuby入れていろいろしようと思ったら no such file to load -- net/https. Try running apt-get install libopenssl-ruby (LoadError)rest-client/lib/restclient.rb at master · rest-client/rest-client · GitHubっていわれたけど、ap…

自動化とか最適化とか

ふだん仕事とかで自動化とか最適化ってことばはあまり使わずに、省力化とか効率化ってことばを使うようにしてる。なんというか、思い描く本当に自動化された理想の姿からすればぜんぜん自動じゃないし、最も適したと書いて最適化だけど、いまの自分に考えう…

言わないように気をつけてることば

仕事の話をしてるときに「でも」っていわれるとめちゃくちゃむかつくので、少なくとも自分は「でも」って言わないようにしてる。 相手のいうことを否定するなら「でも」なんて使わずに率直に「それは間違ってる」「それは正しくない」と言って自分の考えを言…

テストってことばを使わないようにする

レガシーシステムにテストコードがないことはどこにでもよくある話だと思いますが いろんなところでテストと名のつくことばが出てくることでなんとなくテストしてる風のふいんきがかもし出るのが僕はずっといやだなーと思ってた。なのでテストといってる人が…

2011年の振り返りとかいろいろ

昨日はノースリーブス8thシングル「ペディキュアday」の個別握手会&ミニライブでした!ちょうど一年前の今ごろはみぃちゃんのこともAKBのこともノースリーブスのこともなにも知らなかったもので 僕の2011年のもっとも大きな出来事はみぃちゃんとの出会いと…

mysql-buildでいろんなバージョンのMySQLをインストールしたい!

これはMySQL Casual Advent Calendar 2011 - MySQL Casualの8日目の記事です! UDFでFizzBuzz id:sugyanさんがストアドプロシージャでFizzBuzzをやっていたのでMySQLのUDF(user-defined function)でもやってみました。 kamipo/mysql_fizzbuzz · GitHub git c…

かみぽよ

かみぽよ〜〜

YAPC::Asia 2011 おつかれさまでした

YAPC::Asia 2011 おつかれさまでした!今回は前夜祭のRejectConfと2日目のLTでトークをしてきました。 RejectConf 本当は難しいフレンド・タイムライン処理という話をしました。 この手の機能はWebのソーシャル系サービスなら必ずといっていいほど当たり前に…

チューニンガソンに遅刻して思ったこと

朝からピングドラム観てる場合じゃなかった…。前回のWordPressに引き続いて今回のMediaWikiも圧倒的なPHPのCPUバウンドなアプリケーションで、PHP 5.4をビルドした人が上位を独占でしたね。僕はといえば、PHP 5.4ビルドしたら負けかなと思ってnginxのproxy_c…

#isucon に参加してやったこと思ったこと

ISUCONに@riywoと「チームやすべえ」で参加してきたので、その感想です。ひと言でいうと、良くも悪くもみんな積み重ねてきたものが結果に出たのではないかなと思います。最初のボトルネックとして用意されていたクソクエリのチューニングは、二人ともDB寄り…

ext4でSSDのTrimコマンドをつかう

SSDはNANDフラッシュメモリの上書きができないという特性上、空き領域が少なくなると性能が落ちてくるし、以下略*1なわけですが、Trimコマンドで論理的に削除された領域をSSDに伝えることで性能の劣化を抑制する効果が期待できる。ext4ファイルシステムでTri…

SSDのSecureEraseのやり方

ssd

SSDをずっと使っていると断片化してるのかなんなのかよく知らないけど、だんだん性能が落ちてくるし、彼女と別れることになる。あのころの性能を取り戻すSecureEraseという技があるのでやり方のメモ。SecureEraseをするにはSSDが「not frozen」になってる必…

Debianでperfを使う

チューニンガソンの優勝者がperfというコマンドを使ってCPU時間のプロファイリングをしていたらしい。そんなコマンドはじめて知った…。yumだと以下のように直感的なパッケージで入るそうですが yum install perfDebian Squeezeでperfコマンドはlinux-baseパ…

Apacheが%2Fを勝手にデコードして生きるのが辛いとき

mod_rewriteでの最後の砦 - As a Futurist...をみて、僕もApacheでURLに%2Fを含むリクエストをリバースプロキシするときに困ったことがあったなーというのを思い出した。 AllowEncodedSlashes On RewriteRule ^/(.*)$ http://backend/$1 [QSA,L,P]みたいな設…

Redmineのインストール

REEにRedmineをインストールするときの注意点 rack 1.0.1 が必要 i18n 0.4.2 が必要 rubygems のバージョンが 1.5.0 未満じゃないと動かない REE の rubygems が 1.5.2 なのでバージョンを下げないといけない 以下、Debian squeezeでRedmineを動かすまでの作…

screen -X sessionname hoge で現在のセッションの名前を変更できる

ということをよく忘れてググってるのでメモ。

NAT環境下では net.ipv4.tcp_timestamps = 0 する

NAT環境下に複数ホストがいてそいつらがクライアントのときに、WAN側のサーバに接続が切られるときは net.ipv4.tcp_timestamps = 0 すればいいというのを教えてもらいました! 【緩募】SYN に SYN+ACK じゃないレスポンス受け取って RST しちゃう問題の解決…

MySQL 5.5対応したSpiderストレージエンジンをインストールする

なんか cmake 失敗するなーと思ったら、実行権限がないディレクトリが含まれててその中のファイルが読めないのでよしなに実行権限あたえて cmake してください。 cd /usr/local/src wget "http://launchpad.net/spiderformysql/spider-2.x/2.24-for-5.5.8/+d…

SQLでincrementした値を表示するやつ

MacBook Air 11インチ欲しい!@sugyanさんのSQLでincrementした値を表示する方法を考える - すぎゃーんメモを生DBIでやってみたのとベンチマークとってみた。トランザクションなし Rate dbic teng dbi1 dbi2 dbic 578/s -- -64% -92% -92% teng 1587/s 175% …

xtrabackupをちょっと便利に使う

xtrabackupにはinnobackupexというラッパースクリプトが付属していて、MySQLのプロセスを止めることなくバックアップを取れて便利なんですが、innobackupexでバックアップ取ると以下の点が不満だったりする。 --slave-infoで生成されるCHANGE MASTER文が不完…

東急ハンズでベニヤ板を買うとき

東急ハンズでベニヤ板を275mm×440mmサイズにカットしてもらうときは12枚の倍数で買うと一番コスパがいい。12枚の倍数もいらないときは6枚の倍数で買うのがいい。

MySQL Casual Talks vol.1 おつかれさまでした

MySQL Casual Talks vol.1 おつかれさまでした!当初は開発環境や検証環境構築に便利なMySQL::Sandboxの話でもしようかなーと思ってたんですが、@myfinderさんが「SPIDERの話が聞きたい!」というので今回の発表になりました。内容は以前ブログに書いたVPとS…

ディスクのUUIDを調べる方法

Debian lennyのfstabを見ると /dev/sda1 / ext3 errors=remount-ro 0 1みたいに/dev/sda1とかでデバイスが指定されてるのだけど、UbuntuとかDebianでもsqueezeあたりだと UUID=04a6ba33-73ff-4f9f-a09b-199a83f73dd6 / ext4 errors=remount-ro 0 1みたいにUU…

YAPC::Asia 2010 おつかれさまでした

YAPC::Asia 2010 おつかれさまでした!今年のYAPCは去年のPlack/PSGIのときみたいな目新しいトピックはあまりなくて、この一年でわりと成熟したPerlの開発環境や、ふだんブログなどでは表に出てこないようなサービス運用の舞台裏的なセッションが面白かった…

VPとSPIDERを使って任意のテーブルを別ホストに移行する

MySQLのVPストレージエンジンとSPIDERストレージエンジンを使って、任意のテーブルを別ホストのMySQLに簡単に移行するスクリプトを書きました。 ※ただしPRIMARY KEYがあるものに限るVPとSPIDERを使って任意のテーブルを別ホストに移行する — Gistに置いてあ…

libjpeg-turboでjpegの変換が速くなる

巷でlibjpeg-turboというやつが速いというのを聞いたので試してみる。今回はaptで入れた以下のモジュールでベンチマークしてみた。いちおうサーバはさくらのVPSでOSはUbuntu 10.04 LTSです。 Image::Magick 6.5.7 Imager 0.72 GD 2.39 Image::Imlib2 2.02 ふ…

mycachedがmsgpack対応してた

mycachedを入れようと思ってtrunkのコード見てたら、mycachedのレスポンス形式にmsgpackが追加されてた。知らなかった。msgpack-0.4.3のインストール。 cd /usr/local/src wget http://downloads.sourceforge.net/project/msgpack/msgpack/cpp/msgpack-0.4.3…

Q4Mのインストール

cd /usr/local/src wget http://q4m.31tools.com/dist/q4m-0.9.4.tar.gz tar zxvf q4m-0.9.4.tar.gz cd q4m-0.9.4 ./configure --with-mysql=/usr/local/src/mysql-5.1.50 make && make install /usr/local/mysql/bin/mysql -u root -f -v mysql < support-f…

mysqlにhandlersocket pluginを入れる

ほぼまっさらなUbuntu 10.04 LTSにmysql-5.1.50を入れたので、リリースされたばかりのhandlersocket pluginを入れたときのログ。 付属のMakefileがインストールパス決め打ちだったので、直に/usr/local以下に入れるようにしてます。あとよくわからなくて苦労…

MySQLのconfigureオプションを知りたいとき

MySQLのバイナリパッケージとか、自分がコンパイルしてないMySQLのconfigureオプションを知りたいときはmysqlbugスクリプトを使うとよいです。 % VISUAL='grep "Configure command" 1>&2' /usr/local/mysql/bin/mysqlbug > /dev/null Configure command: ./c…