You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
OSS紹介 Advent Calendar 2017 - Qiita 4日目の記事です。 @tkuchiki 氏が作っている alp (Access Log Profiler) は、もはや ISUCON 競技者必須ツールとなった、LTSV 形式のアクセスログをいい感じに集計してくれるツールです。 github.com 通常は alp では reqtime, apptime など、リクエストの処理に要した時間を集計するこのでパフォーマンスチューニングするのですが、実は集計対象は引数 --apptime-label を指定することで、集計時に自由に決めることができます。パフォーマンスに影響するなんらかの数値をログに出力しておけば、それを key にして集計できるということですね。 そこでもうひとつ、@acidlemon 氏作の便利 Plack::Middleware を組み合わせてみました。
Home Subscribe ImageMagick公式サイト ImageMagickはCPANでインストールできません。(何故ならImageMagickはPerlと関係ないから) CPANでインストールできるのはImage::Magickの方です。 問題は、CPANからImage::Magickを入れるとたいてい動かないことです。 ImageMagickとImage::Magickのバージョンが合わないのが原因です。 解決法 両方yum(とかapt-get)でインストールしてしまうことです。 $ yum -y install ImageMagick-perl これで両方がインストールされます。 こうすればバージョンの整合性についてはyumが面倒を見てくれるので、たいていちゃんと動きます。 PerlがImage::Magickを使ってImageMagickを操作するの図↓ ラジコン飛行機と
CPAN modules are normally distributed with Makefile.PL or Build.PL, so that people can install them by > perl Makefile.PL > make > make test > make install This makes CPAN modules installable without any CPAN clients help unlike other programing language ecosystem (such as ruby(gem), node(npm)). On the other hand, today, people mostly use CPAN clients (such as CPAN.pm, cpanm) to install CPAN modul
Go For Perl Mongers (or, for Lightweight Language lovers) Daisuke Maki Engineer, LINE Corporation Who Is This Guy? @lestrrat LINE / Japan Perl Association / YAPC::Asia (2008~2013) STF / peco (new!) 2 俺とGo Goしてみて約1年弱 概算10~12万行くらい書いた。lived○○rBl○g の裏方にもこっそりgo入れてる 最初の4万行くらいまでに goの落とし穴にほぼ全て落ちた 自信がある 今日はその落とし穴から学んだ諸々の話 3 対象観客層 もともとPerl/Python/Ruby/PHPあたりから来た人 Goは最低限とりあえずかじった程度はやった人 かじってみたけど「Go、便利そうだけどなん
これは はてなエンジニアアドベントカレンダー2016 23日目の記事です。 qiita.com developer.hatenastaff.com 昨日は id:takuya-a さんの文字列アルゴリズムの学びかたでした。 こんにちは、はてなでアプリケーションエンジニアとしてWebサービスやAndroidアプリ(たまにiOSアプリ)を開発しているid:takuji31です。 私は普段VimでPerlを書いているのですが、最近AtomでPerlを書きたくなってAtomの自動補完プラグインである「autocomplete-plus」のPerl用Providerを書いているので、今日はそのことについて話します。 先に謝罪しておきますと、本来はこのエントリーで公開しましたと告知する予定でしたが、まだ実用的なクオリティーには達していないので、開発中とお知らせするだけになります 🙇 github.c
YAPC::Kansai 2017 OSAKA 03/03 前夜祭 前夜祭参加チケット 完売御礼 YAPC::Kansai 2017 OSAKA 03/04 一般・学生チケット(Tシャツつき) 完売御礼 個人スポンサーチケット 完売御礼 YAPC::Kansai 2017 OSAKA 03/04 懇親会 一般・学生チケット 完売御礼 竹迫 良範 広島県出身。Shibuya.pm二代目リーダー。ppencodeの作者。2003年「mod_perlにおけるC10K Problem」で発表者デビュー。 日本初のYAPC::Asia Tokyo 2006を立ち上げたメンバーの一人。 大学卒業後、独立系ITベンチャーにて大企業向けmod_perl製品開発とi18n(国際化)を担当。その後、上京し、セキュリティ研究開発の傍ら、エンジニア採用、産学官連携と日本の若手IT人材育成に関わる。 現在は大手企業
Furl can do keepalive connection by passing connection pool object to connection_pool option, By default, Furl::ConnectionCache is used. But Furl::ConnectionCache can keep only one connection at once. To do keepalive more one connections. you need to make a connection pool object like this example. my $conncache = Cache::LRU->new(size => 10); my $furl = Furl->new( connection_pool => Plack::Util::i
AnyEvent を利用する際に注意する必要があることに、コールバック中で発生した例外の処理方法がバックエンドに任されている(=例外処理の方法がバックエンドによってちがう)、というのが挙げられる。 Impl::Perl では例外は単純に rethrow されるため、プログラム中で例外が発生したり die したりすると普通にプロセスは終了する。 しかし、Impl::EV の場合、デフォルトでは例外はキャッチされ標準エラーに出力されるものの、そのまま処理は続行されてしまう。 以下のような1秒タイマーをまわしてタイマーが発火したらアプリを終了する、というようなコードがあったとき、 use strict; use warnings; use AnyEvent; my $cv = AnyEvent->condvar; my $t; $t = AnyEvent->timer( after => 1,
この記事はtech.kayac.com Advent Calendar 2012の22日目です。 @songmuです。ゲーム作ったりしてると、乱数が必要になってきますがそれについて書きます。 多くの人にとっては当たり前の話も多く出てくるかと思いますがご容赦ください。間違ってる記述があった場合は突っ込みください。 擬似乱数とは何か 計算機は単体では厳密な意味での乱数を生成することができません。実際には一様に分布する乱数の集合を算術的に求めている場合がほとんどです。 その乱数の集合は以下を満たす必要がありますが、そういう小難しいことは偉い人に任せて、巨人の肩に乗って解決してしまえば良いでしょう。 偏りがなく一様に分布している 途中の出力から未来が予測しづらい 高速に算出できるか つまり? 色々な疑似乱数生成法がありますが、多くの場合、 馬鹿でかい乱数の循環リストがある と考えるとわかりやすいで
Perl の話です。 Perl で Web アプリケーションを書くならほぼ確実にお世話になるであろう Plack が提供するモジュールのバグを見つけて修正が取り込まれました。このバグ修正で非互換の変更が入ったので、その話を書いています。 github.com 依存モジュール(Apache::LogFormat::Compiler)と Plack の繋ぎ込み部分で正しくパラメータが渡されていなかったこと、また Apache::LogFormat::Compiler 自身にもバグがあったことから、 Plack::Middleware::AcceessLog::Timed のログフォーマットのうち、%Dと%Tが意図したものと異なる値が保存されていました。 この不具合を修正する pull-request を出して、それが取り込まれたことでドキュメントなどが意図した挙動が実現するようになりました。
Q4M を使ってる時のシグナル処理に注意 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに 今日は趣向を変えて、 tips さんを。 Q4M だけに限った話ではなく SELECT SLEEP(10); とかしてる時でも良いんですが、今回は Q4M を使ってる時の注意という話です。 Data::Model の Q4M 対応では、もちろん DBI を使って Q4M を使うわけですが、これとシグナルを組み合わせるとシグナルを送った直後にシグナルハンドラを呼ばないんですね。 例えばこんなの # こいつは、 Q4M の queue_wait が終わるまでシグナルをトラップしない local $SIG{INT} = sub { warn "int" }; $queue->queue_running( qu
以前Redisでスコアを複数設定できるランキングを作ってみたけど、 Githubの肥やしになっていてもあれなので、CPANizeしました。 あわせて、この実装のために作ったユーティリティモジュールも別モジュールとして公開しました。 Redis::LeaderBoardMulti Redis::Script Redis::Transaction Redis::LeaderBoardMulti 最初の基準で順位を決められなかった場合の第二基準が欲しいというときに使うモジュールです。 インターフェースがRedis::LeaderBoard互換になるように調整したので、 前回とインターフェースがちょっと変わっています。 se Redis; use Redis::LeaderBoard; my $redis = Redis->new; my $lb = Redis::LeaderBoardMulti
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く