perl 5.16.0 でメモリリーク - たごもりすメモ Re: perl 5.16.0 でメモリリーク? - tokuhirom's blog 修正してpull-requestを送りました。 https://github.com/mirrors/perl/pull/9 https://rt.perl.org/rt3/Ticket/Display.html?id=114340 ※ githubのpull-req/issuesではなくperlbugでレポートしてほしいとのこと。今回は tokuhiromの報告があったのでそれで。パッチ自体は問題ないようなので、Perl 5.16.1 では修正されるでしょう。 以下蛇足。 せっかくなので、何を考えながらデバッグしたかを記録しておく。 今回のバグはSVのリークではなくmalloc()したメモリの開放忘れだったので、Test::LeakTrace
ある日、うちのサービスで bit.ly 使って URL を短縮したいねーなんて話があがって、まぁ、単純に短縮化するなら、@shiba_yu36 さん作の WebService::Bitly なんか使えば簡単に色々出来て便利だなーって思いました。 で、きっと、このモジュールを使っているであろうはてなダイアリーとか見てみたら、bit.ly の設定画面があるんですね。 自分自身の bit.ly アカウントを使えば bit.ly でトラッキングとか出来るし便利だなーと思いました。 …でもね、うちのサービスの利用者の方々は、はてな民のようなリテラシーの高いユーザばかりではないのですよ。 「bit.ly の API キー」とか言っても「は?????」って感じの方が大多数。 意味わからないものを設定画面につけるとなっちゃん宛にクレームがいっぱい来てしまいます。 とりあえず、bitly API Docum
今日、メモリ開放周りで詰まったので覚書。 100M程度のデータを変数に入れてゴリゴリやる際に スコープから外れたのに開放されねーよ、という事態に陥ったので。 メモリ使用量はpsなりタスクマネージャなりで確認した。 create_scar(); sleep; sub create_scar { my $scar; $scar .= " " for ( 1.. 1000000 ); } 例えば、↑だとメモリ食いっぱなし sub create_scar { my $scar; $scar .= " " for ( 1.. 1000000 ); undef $scar; } ↑undefすれば開放。あたりまえか。 create_scar(); create_scar(); sleep; sub create_scar { my $scar; $scar .= " " for ( 1.. 10000
2/25 3年半ぶりに東京に返ってきたYAPC~YAPC::Tokyo 2019 第4回 YAPC座談会,Lightning Talks,そして,キーノート 2/22 3年半ぶりに東京に返ってきたYAPC~YAPC::Tokyo 2019 第3回 AWS::XRayによる解析とその実装 / 多くのCPAN Authorに育てられ,息をするようにCPANモジュールを書けるようになり,そして分かったこと 2/21 3年半ぶりに東京に返ってきたYAPC~YAPC::Tokyo 2019 第2回 Perl5の静的解析入門,ゲストトーク「2つのDX」 2/20 3年半ぶりに東京に返ってきたYAPC~YAPC::Tokyo 2019 第1回 型にはまらない型の話,Perl to Go 8/24 2017年のYAPC::Japan~リブート,その後。 2017年3月開催:YAPC::Kansai 201
Perlのイベント、YAPC::Asia Tokyo 2010の2日目に参加してきました。初日と同じく楽しく、あっという間の1日でした。あとLTレベル高くて面白いなぁ。 以下、ほぼメモそのまま。 How Xslate Works (gfx) 次世代テンプレートエンジンXslateのしくみ Xslate テンプレートエンジン XSで書き始めた makamakaさんがpure perl版も作った。XS版の速度は出ないけど 特徴 速い 複数の構文。TT互換など エラーが親切 なぜ テンプレートエンジンはすでにたくさんある TT互換のものも Text::MicroTemplateも最近人気 どれも一長一短。完璧なものはない TT2:機能が高い。すごく遅い、複雑すぎて同じことがいろいろな書き方になる、XSS HTML::Template::Pro:速い、機能も必要なものに制限、Perlインターフェイ
二日目もうp Web APIのすすめ 自己紹介 Yuji Shimada DeNA xaicron Web APIの例 public Google Map 認証 twitter 内部向け Publicなもの 認証が必要ないものは公開しづらい アクセス数が読めない 大手はできる 認証が必要なもの ユーザ登録が必要 AccessTokenをもらう ユーザ数からアクセスが予想できる BANできる 内部向け 単一ドメイン ユーザが自分で使わない Web APIについて Web API は速さが必要 遅くなるとアクセスが下がるので内部向けも速度は重要 yusukebe 「使える」Web API はでそろっているのでマッシュアップは詰んだ 何が流行るかわからないのでとりあえず作る! 高速なWeb APIの作り方 既存WAFを使わない 問題が起こったときに内部構造がわからないとだめ Plackがあるので
気になったモジュール等一覧。 Test JSTAPd Test::QUnit Text::Fixture::DBI Test::Apache::RewriteRules DB SQL::Abstract DBIx::Skinny::Pager DBIx::DBHResolver DBIx::Connector Async Tatsumaki AnyEvent::Curl AnyEvent::Gearman::Client WebService::Async Geo Location Geo::Hash::XS Auth OAuth::Lite2 OpenID::Lite HTTP Client WWW::Curl Plack Starlet Template Engine Text::Xslate Benchmark Devel::NYTProf Other Moose::Role Cla
聞いた事そのままです。 感想とか後でまとめたいなー。 How Xslate works - gfx電車遅延のため10分送らせてスタート。 The next generation template engine gfx loves perl internal;) Template engine for perl5 xsで書かれてる。 MakamakaさんがPurePerl版をかいてる なぜ今更テンプレートエンジンか?すでに様々なテンプレートエンジンがあるのに。 →それぞれ一長一短。完璧なものがない。 Template::Text なんでもできる。 プラグインもある。 だが遅い。 複雑。 XSSを産みやすい。 HTML::Template 早い。 機能が絞り込まれていて、良い。 Perlのインターフェースが使いにくい。 機能が貧弱。 XSSをとてもうみやすい。 Text::MicroTempl
Fuji, Goro (gfx). André Walker Anirvan Chatterjee Ashley Pond V Brian Fraser Christian Walde David Steinbrunner Fuji, Goro (gfx) Fuji, Goro Hao Wu James E Keenan Jesse Luehrs Justin Cook Kazuhiro Osawa Kenichi Ishigaki Kentaro Horio Kevin M. Goess Konstantin S. Uvarin Mariano Wahlmann Masahiro Chiba Michael Kröll Mike Raynham Mons Anderson Nick Morrott Olaf Alders Shigeki Morimoto Syohei YOSHIDA T
NAME Tatsumaki - Non-blocking web framework based on Plack and AnyEvent SYNOPSIS ### app.psgi use Tatsumaki::Error; use Tatsumaki::Application; use Tatsumaki::HTTPClient; use Tatsumaki::Server; package MainHandler; use parent qw(Tatsumaki::Handler); sub get { my $self = shift; $self->write("Hello World"); } package FeedHandler; use parent qw(Tatsumaki::Handler); __PACKAGE__->asynchronous(1); use J
NAME JSTAPd::Tutorial::JA - JSTAPd::Tutorial 日本語版 JSTAPd とは JSTAPd とは、 Ajax を使った JavaScript ライブラリ等を楽にテスト出来るために作られた Perl 製のテストツールです。 Perl, JavaScript, HTML さえ書ければ誰でも Ajax な JavaScript のテストがかけます。 テスト結果は、一般的なテストプロトコルである TAP で出力されるため、 prove コマンド等から通常の Perl の世界のテストのように実行するだけで、自動的にブラウザを立ち上げてテストを実行し、結果を prove の集計結果として見る事が可能です。 JavaScript 側にも jsDeferred っぽいユーティリティを追加して書き易くはしています。 ディストリビューションの eg ディレクトリ以下に
mod_perlの教訓 一昔前まで、Perlである程度大規模なウェブアプリケーションを書くときはmod_perlと呼ばれるApacheモジュールを利用するのが一般的でした。 ところが、Apache、mod_perlともに大規模な改修が行われ、後方互換性が失われた結果、古いmod_perlのアプリケーションを抱えている企業は、リスクや不便を覚悟で古いApacheを使い続けるか、Apache、mod_perlともに新しい環境に移行するか、あるいはまったく異なる第三の道を模索するかの選択を迫られることになりました。 同じようなことは、もっと小規模なアプリケーションでも起こりえます。たとえば、昔ながらのCGI環境で実行していたものをもっと高速な環境に移行したくなったとき。たしかにmod_perlにはApache::PerlRunと呼ばれる互換モードもありますが、これまではアプリケーションそのものを
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Coro → AnyEventCoro は AnyEvent に依存している(requires 扱い)。 Coro は ファイル/ソケット/etc の 読みこみ/書き込み待ち のときタイマを稼働させるときなどに AnyEvent を内部的につかっている。 ただし、Coro を純粋に co-routine としてつかう場合には Coro::AnyEvent は必要ないです。async { }->join() するだけなら必要ない。 ただ、Coro::* 系のモジュールはたいがいが Coro::AnyEvent つかってるので、co-routine としてつかう場合には AnyEvent がほとんど必須だとおもってまちがいないですます。 AnyEvent → CoroAnyEvent をイベントフレームワークとしてつかうだけならば、Coro をつかう必要はなく、単体で利用可能。単体ならば依存モ
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
Perl App EngineをMac OS Xで動かすまで。 先週末、僕が相方とのんびりとしているとメールが入ってきた。「アイデアがあるんだけど」とメール始まるが、僕はピンと来た。これは「やってくれ」という催促だ。僕は身を固くして続きを読み始めた。 JPAのターゲットのひとつにクラウドコンピューティング サポートってのが入っていて,ec2とかで使うことを考えて ました.が,よく考えるとperl-appengineってのがありますね. ああ、ありますね。そうですね。 誰かYAPCでしゃべってくれるといいんですが〜 うは!くっ。僕は肩書きこそ「長」がつくけど、そんなに偉くないので年上&目上のこの人に「君がやりたまえよぉ」とは言えないので「隙を見つけてやってみよう」と思った。 月曜、きっとやらないとなんか言われるだろうなぁ、と思いつつも忙しくてなにもできなかった。そして今日。メールを山のように
【覚書】 Catalystアプリをmod_perl環境で実行するためにApacheのhttpd.confの設定 とりあえず、Webサーバへのアクセスがmod_perlで処理されるようにするには以下のようにhttp.confに設定を追加もしくは書き換えする。(つまり、http://localhostにアクセスするとCatアプリが呼ばれる) -------------------begin DocumentRoot "/var/www/TR" LoadModule perl_module modules/mod_perl.so PerlSwitches -I/var/www/TR/lib PerlSetEnv TR_DEBUG 0 PerlLoadModule TR SetHandler modperl PerlTransHandler TR PerlResponseHandler TR re
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く