2013-01-01から1年間の記事一覧
この記事は MySQL Casual Advent Calendar 2013 の25日目の記事です。自分の過去のブログも含めて、mysqlコマンドのカスタマイズについていろいろな情報がありますが、わたしがオススメの秘伝のタレをまとめたいと思います。是非、ご参考に。 定型文(SQL)の…
https://github.com/hirose31/monitor-elb-address cpanm -l local --installdeps . cp config-sample.pl config.pl vi config.pl ./monitor-elb-address -c ./config.plな感じで使えて、列挙した FQDN の IP アドレス(Aレコード)の変更を通知します。IPア…
Nginx 1.4.2で試しました。ネームサーバーは、ローカルのunboundをlocal-zone, local-dataを使って簡易コンテンツサーバーにして試しました。 local-zone: "oreno." static local-data: "api.oreno. 30 IN A 192.0.2.11" # local-data: "api.oreno. 30 IN A …
Overriding System Functions for Fun and Profit | Hacker Boss をみて自分も試してみたくなったので書きました。 https://github.com/hirose31/galloc malloc(3)するとガチャピンが、free(3)するとムックがSTDERRに報告してくれます。便利!!1 $ make ga…
AWS Casual Talks#1を開催しました - まめ畑 http://d.conma.me/entry/2013/11/02/140136 に参加して『NATインスタンス冗長化の深淵な話』というLTをしてきました。 Redunduncy of NAT instance on AWS/VPC from Masaaki HIROSE これまで何度か発表をしてき…
付けてくれるやつ やつ ヘッダ 値 備考 AWS ELB X-Forwarded-Proto https Apache/mod_ssl X-Forwarded-HTTPS on 要設定: RequestHeader set X-Forwarded-HTTPS %{HTTPS}s 付けて欲しいやつ やつ ヘッダ 値 備考 Plack::Middleware::ReverseProxy X-Forwarded…
今まで秘伝のタレ化したmodule-setupのテンプレでモジュールのひな形を生成してたんですが、なういMakefile.PLやBuild.PLの書き方とかcpanfileとかMYMETA.*とかそのへんもろもろに追従するのがしんどくなってきたので、milla (Dist::Milla) を元に秘伝のタレ…
プロセスの起動日時は ps の START カラムでわかりますが、24時間経過すると表示上時刻がわかりません。 $ ps auxwwwwww | grep -e PID -e redis-server USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND hirose31 775 0.1 0.0 36328 2008 ? Sl Sep2…
YAPC::Asia 2013でLT『How to inspect a RUNNING perl process』してきました How to inspect a RUNNING perl process / YAPC::Asia Tokyo 2013 http://www.slideshare.net/hirose31/inspect-runningperl ハングアップとかメモリバカ食いとか、稀にしか発生…
ファイル指定で、ページキャッシュにのっているか確認したり追い出したりするPerlモジュールを書きました。 https://metacpan.org/release/Sys-PageCache https://github.com/hirose31/Sys-PageCache Linux なら動くはずですが、動かなかったら教えてくださ…
先日 awscli が正式リリースされたので、 http://aws.typepad.com/aws_japan/2013/09/new-aws-command-line-interface-cli.html Perlのラッパーの AWS::CLIWrapper-1.00 をリリースしました。 https://metacpan.org/module/AWS::CLIWrapper awscli にはこれ…
写真 デジカメメイン機、サブ機共にEye-Fiを使っていて、撮ったら再生モードで放っておけばEye-Fiが写真データをアップロードしてくれます。Eye-Fiからアップロードされたデータは、拙作のDoumeki (百目鬼)が受けます。Doumekiは自宅サーバーで動いていて、 …
追記: 解答編を下の方に書きました!!! 追記: お題に不備があったので変更しました>< あとgistに一式置いたので簡単にテストできます!! https://gist.github.com/hirose31/6232206 git clone https://gist.github.com/6232206.git oreno cd oreno ./te…
daemontoolsのsetuidgidは補助グループ(supplementary groups)権限をつけてくれないのですが、どうしてもつけたい時もあります。あるはずです。いくつか検討したのでそのメモです。 自分で書く! 結局この方法にしました。 [twitter:@kazuho] さんの setuidg…
The information presented herein is without any guarantees and I’ll take no responsibility if any harm happens to you or your users. If you find any factual problems, please reach out to me([twitter:@hirose31]) immediately and I will fix i…
同僚に「UNIXのfileとかsocketとかsignalとかの勉強(輪講)するのにいい本ないですかねー」ときかれて、自分はスティーブンスの『詳細UNIXプログラミング』読んだけど、もうだいぶ古い(例えば、sigaction(2)について書かれてない)し、リファレンス的に使うな…
本流の処理とは別に定期的に割り込み処理をしたいとき、例えば、ログを読みつつ整形して表示しつつ、n秒間にm行以上流れたら通知をするとかです。PerlだとAnyEventのようなイベントドリブンのフレームワークを使いたくなりますが、単純な定期割り込みなら se…
Perl徹底攻略 (WEB+DB PRESS plus)作者: 大沢和宏,cho45(さとう),小林篤,和田裕介,嶋田裕二(xaicron),牧大輔(lestrrat),奥一穂,広木大地,伊藤直也,長野雅広,藤原俊一郎,伊藤智章,まかまか般若波羅蜜,小飼弾,近藤嘉雪,中川勝樹,宮川達彦,tokuhirom,藤吾郎(gfx…
# ~/.gitconfig [alias] pull-dry-run = !"git fetch origin; B=$(git rev-parse --abbrev-ref HEAD); git diff --stat --summary ${B}..origin/${B}"
Redis は基本的にシングルスレッド、イベントドリブンモデルなので、時間のかかるLua スクリプトを実行したらどうなるかというのは想像に難くないのですが確認してみました。Redis は 2.6.14 です。 redis-cli eval 'while true do print("hello") end' 0な…
結論からいうと、 問い合わせた名前が見つからなかった場合のnxdomain応答は当該ドメインのSOAレコードが返ってきて、ネガティブキャッシュのTTLはその応答(SOA)のTTLになる です。 以下、詳細。nxdomain応答の際のSOAのTTLは、SOAの(TTLではなく)minimumで…
AWSで障害が起こったらナルハヤで知りたいよねってことで、AWSのService Health Dashboard http://status.aws.amazon.com/ はRSSフィードを提供してるので、それを定期的にチェックしてIRCに通知してくれるスクリプトを AnyEvent で書きました。(要ikachan) …
Apacheでreverse proxyするときに、バックエンドは同じなんだけど受けるパスに応じて別なタイムアウト値を設定しようとしてハマったのでそのメモです。以下、Apache 2.2.22 でのお話です。2.4でどうなってるか、どなたかご存知でしたら教えてください>< ま…
追記 2013-05-30 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widget…
unix domain socket経由でプロセス間でファイル記述子のやりとりができるので、コネクションをプーリングして、unix domain socket経由で別プロセスに貸し出すスクリプトを試しに書いてみました。 https://github.com/hirose31/socket-pooling poold.pl は起…
Dear EOL Perl (5.8, 5.10, 5.12) users, Devel::PatchPerl 0.86 was released yesterday.Now Devel::PatchPerl applies patch to fix CVE-2013-1667 against EOL Perls (5.8.8, 5.8.9, 5.10.1, 5.12.5).I suppose we will be able to get fatpacked patchpe…
use Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Deepcopy = 1; $Data::Dumper::Sortkeys = 1; $Data::Dumper::Terse = 1; sub p(@) { my $d = Dumper(\@_); $d =~ s/\\x{([0-9a-z]+)}/chr(hex($1))/ge; print $d; } my %very_complex_data = …
起動時に --explicitly-allowed-ports オプションでへんてこなポート番号を指定すれば繋げるようになります。複数ポート指定したい場合はカンマ区切りです。自分はQuickSilver(betaが取れて1.0が出ましたね http://blog.qsapp.com/post/46268365849/quicksil…
my.cnfには[group]というオプショングループが書けて、グループ毎に設定ができます。オプショングループには特殊な[client]というのがあります。 [client]オプショングループは、すべてのクライアントプログラム(mysqldは除く)によって解読されます。これに…
キャメルケースなファイル、ディレクトリに囲まれている人は、シェルやエディタのパス名補完時に大文字小文字を同一視すると捗ります。とりあえずbashとemacsだけ。他は募集中です!! Shell bash .inputrc に set completion-ignore-case on zsh zstyle ':c…