Wordpress などでマルチサイトやら色々設定していると、Basic 認証などかけたいときに、location ディレクティブの適用優先順位で混乱することがある。そういうときは、下記のように記述すると、location ディレクティブの設定の影響は受けないので、すっき…
そこそこ大きい Web アプリを作ってると非エンジニアに管理画面でテンプレート編集させたりするケースもあると思いますが、文法チェックをしないと、テンプレートがレンダリングできないがためにシステムがコケるとかいう悲しい事態が起こったりするので、チ…
Ubuntu 12.04 LTS でデフォルトで入る nginx パッケージは現時点(2013/10/18)でバージョン 1.1.19 と大分古いです。最新バージョンは 1.4.3 なのでレポジトリを apt に登録します。 sudo add-apt-repository ppa:nginx/stable あとは、普通にインストール…
大分ハマりました。 ubuntu/12.04 nginx/1.2.7 php5-fpm/5.4.6結論から書くと、Nginx 公式のリポジトリから取得したパッケージには、fastcgi_param 用の設定がデフォルトで一通り入っていますが、いくつか記述が無いものもあります。下記の PATH_TRANSLATED …
Ti.Filesystem.resourcesDirectory は read-only です。 シミュレーターだと書き込みできてしまうため、実機でハマります。https://wiki.appcelerator.org/display/guides/Filesystem+Access+and+Storage Ti.Filesystem.resourcesDirectory: A read-only dir…
var listenerImage = function(e) { var image = e.source; var blob = image.toBlob(); // blob.imageAsResized() とか適当な画像処理 image.image = blob; }; var image = Ti.UI.createImageView({ image: imageUrl }); image.addEventListener('load', li…
ScrollView の中に TableView を入れていると、TableView の内容を動的に変更している場合に、何も指定しないと高さを再計算してくれないので、スクロールが働かなかったりします。解決策は、TableView と全ての TableViewRow に、height: Ti.UI.SIZE を指定…
多分こんな感じで行けるんじゃないでしょうか。FormValidator::Lite::Upload を Mojo::Message::Request に対応して、 --- perl5/lib/perl5/FormValidator/Lite/Upload.pm 2012-06-06 00:40:55.000000000 +0900 +++ lib/FormValidator/Lite/Upload.pm 2012-0…
色々なライブラリを使用している既存のページなどで、ちょっとした処理を挟みたい場合、Prototype などと、$() が現状・将来的にも競合しないようにするには、 jQuery.noConflict() を一般的に使いますが、もっと影響範囲を狭く、シンプルに実現する方法が以…
最近ようやく Mojolicious に手を出し始めました。プロダクション環境に導入するかは、まだ未定ですが、ソースコードを読みながら試用しています。Catalyst の原作者が DRY でなく DIY で作っているとのこと。Moose 依存などはなく、コアモジュールにしか依…
プロジェクト用のモジュールを extlib とか専用のディレクトリを掘っていると、それを @INC に突っ込まなくてはいけないので、ブートストラップスクリプトで調整したり、開発用に .bashrc や .profile に書くと思いますが、モジュールがインストールされるデ…
下記のように に *.example.com を指定して に IP アドレスを指定するだけです。 に CNAME を指定することもできるようです。(未確認) <ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2011-05-05/"> <ChangeBatch> <Comment>This change batch creates a A record for *.example.com.</Comment> </changebatch></changeresourcerecordsetsrequest>
本日、TVTalk という Web サービスをリリースしました。Twitter 上で、テレビ局のハッシュタグが付いているツイートを拾って、放送中の番組情報と紐付けるという、アグリゲーターサービスです。リアルタイムにタイムラインを追うにも、放送済み番組の内容を…
最近の Linux ディストリビューションの perl は 5.10 以上になってきた感じなので、最近は state など新しい機能を使うようになってきました。そこでちょっと気になったので state のパフォーマンスを計測してみました。ベンチマークコードは以下。動作が全…
4.10.8. MySQL サーバのタイム ゾーン サポートにある例のクエリを投げたところ、CONVERT_TZ() の結果が NULL になってしまっていました。 > SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET'); +-----------------------------------------------+ | C…
MySQL Casual Talks #1 の発表資料を UP しました。MySQL 初めてのチューニングView more presentations from Craft works.資料の中でも言及しました、hirose さんが作成された mymemcheck という素晴らしいツールを !includedir に対応して Readonly.pm 依…
EC2 だと ELB の内側では、nginx のアクセスログに ELB の IP アドレスが記載されてしまうので、HttpRealIpModule を使って Apache の mod_rpaf、lighttpd の mod_extforward と同じような挙動を設定します。configure オプションに --with-http_realip_modu…
普段、wanrning を見つけるたびにせっせと defined 挟んだりして対応しているのですが、View の中で呼ばれてる箇所など、うっかり気付かないで数日過ぎてしまうと、あとで該当箇所を追うのが若干手間になってしまったりします。そこで、 use warnings FATAL …
あまり日本語情報も無いようなので、メモ書き程度に紹介しておきます。新型 Macbook Air 11'' に Ubuntu 10.10 サーバー版 64bit をインストールしました。Boot Camp は使っていません。大まかな流れは、 OSX で rEFIt の導入とパーティション割り当ての調整…
昨日書いたエントリ、Test::mysqld を別ウィンドウで立ち上げたら開発時の prove が快適過ぎる件ですが、prove とか make test がコケたりしたときに、実際に DB の中身がどうなってるか見れた方がデバッグが捗りますよね。加えて、どうせなら使い慣れた mys…
[追記] reverse() を使う方法の方が速くて簡潔でお勧めです! id:tomi-ru++あまり必要になるケースは無いと思いますが Tips です。 use strict; use warnings; use Test::More; my %a = ( foo => 1, bar => 2, baz => 3, ); my %b; @b{ values %a } = keys %…
id:xaicron 氏が紹介なされていました make test で Test::mysqld を永続化させる方法 を早速導入していたのですが、make test は速くなって便利なのですが、prove で 1 つずつテストをするときは、相変わらず mysqld を毎回、起動・終了するので時間がかか…
Ubuntu の apt で入る MySQL のバージョン Ubuntu 9.04 mysql-server 5.1.30 Ubuntu 10.04.1 LTS mysql-server 5.1.41 InnoDB Plugin 1.0.5 (RC) と、いうことで InnoDB Plugin を使いたかったら Ubuntu 9.04 では MySQL 公式サイトからパッケージを持ってく…
id:tokuhirom 氏の use mysql syntax を読んで、これは良いと思い、早速自分の環境に適用しました。件の設定をどこに書くかですが、:help new-filetype (日本語訳)にどこに書くべきか何通りか紹介されています。自分は、C. ファイル形式が名前だけで検出で…
WWW::Curl は速いですがドキュメントが少ないのが玉に瑕です。perldoc に setopt() や getinfo() で指定できるオプション一覧が載っていないです。実は PHP のマニュアルに良い感じで載っています。setopt() に指定できるオプション一覧 getinfo() に指定で…
Chrome 拡張もあるのですが、短縮 URL 取得のためだけに拡張増やすのもメモリが勿体無いのでブックマークレットを作りました。動作確認 Chrome 7.0 です。ブックマークレットからは document.execcommand('Copy') でクリップボードを操作出来ない(Chrome 拡…
今年も Perl の国際的カンファレンス YAPC::Asia に行ってきました。 YAPC に行くと 毎年感じることですが、YAPC に行って色々なトークセッションを回ると、他(社|者)の実際の運用や開発の現場レベルでのノウハウを聴くことができるので、この二日間で自分ひ…
今年の YAPC::Asia もタイムテーブルはパンフレットをあてにしていたのですが、載っていなかったので慌てて用意しました。公式サイトに iCal が用意されているので、これを Google Calendar にインポートします。左下の「他のカレンダー」の「追加▼」のプル…
Ubuntu 10.04 LTS の MySQL は 5.1.41 なので、InnoDB Plugin をソースからインストールしなくてもそのまま使えますが、セットアップしていて少しつまづいたのでメモです。/etc/mysql/my.cnf に ignore-builtin-innodb plugin-load=innodb=ha_innodb_plugin.…
Amazon EC2 のロードバランサーのオプションの Elastic Load Balancing は便利なのですが、これを経由すると内側の lighttpd のアクセスログにはアクセス元 IP アドレスは 10.204.xx.xx などと、全てロードバランサーの IP アドレスになってしまいます。これ…