タグ

2011年6月19日のブックマーク (5件)

  • Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)

    Perlではメモリリーク検出ツールがいくつか開発されているので、top(1)の結果を眺めるよりそういうツールを使うほうが楽である。 さて、メモリリークが発生しているとき、その可能性としてはだいたい以下の4つが挙げられる。 Perlレベルでの循環参照 グローバル変数に値をどんどん足しているとき*1 XSレベルでリファレンスカウントの管理ミス XSレベルでmalloc()したメモリの管理ミス この1-3についてはすべてPerlインタプリタ内の出来事であり、Test::LeakTraceを使って検出できる。4を検出するのは難しいが、Test::Valgrindが役に立つ。 Test::LeakTraceのSYNOPSISは歴史的経緯によりごちゃごちゃしているが、テストで使うべき関数はno_leaks_ok()とleaks_cmp_ok()だけである。 たとえば、以下のようにして使う*2。 #!p

    Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)
  • ぼくのかんがえたとうけいがくぶかりきゅらむ - Issei’s Analysis 〜おとうさんの解析日記〜

    個人的にもやもやと考えたカリキュラムです。日の大学には存在しない統計学部がもしあったら、こんなカリキュラムを組みたいなぁ、と。 統計学の講義は分布や変数の型を教えるところから入るんだけど、授業を受けていて分かりにくいな〜と学生の頃から常々感じていました。(あくまでも個人的な偏見と妄想に満ち溢れた記事であることをご了承ください。。) それでは、カリキュラムを発表します!! 1. データ解析I一般化線形モデル教師付き機械学習非線形モデル(一般化加法モデル)カテゴリカルデータ解析生存時間解析グラフィカルモデリング経時データの解析探索的データ解析(EDA)多次元データの縮約非教師付き機械学習(クラスタリング)データマイニング 2. データ解析IIデータハンドリングI(R)データハンドリングII(perlrubyなどスクリプト言語)データベースからのデータ取得I(RDBMS系)データベースからの

  • HerokuでNode.jsとExpressを使ってHello worldする - アインシュタインの電話番号

    普段自分はHeroku+Sinatra+Slim+SassでWebアプリを作っているんだけど、Node.jsやCoffeeScriptについてちょっと調べてたら、Herokuを使う前提で、Node.js(Express), Jade, Sassという組み合わせでCoffeeScriptで書けば、前述のSinatraアプリとほぼ同じような感覚で書けそうなことに気づいて、ぐっとNode.jsに興味が沸いた。 ということで、さっそくHerokuを使ってNode.jsアプリを作ってHello worldしてみた。今回の記事を最後まで行くと、これが出来上がる。ソースコードはGitHubに。 各種インストール この記事ではNode.jsとExpressだけを使ってHello worldする。今回はJadeやSass, CoffeScriptは出てこない。まず、Node.jsとExpressを使うのに必

    HerokuでNode.jsとExpressを使ってHello worldする - アインシュタインの電話番号
    hide_o_55
    hide_o_55 2011/06/19
    メリットを感じないなら態々使う必要はないと思います。Node.jsの使いどころについてはこんな感じかと→ http://bit.ly/lU6XqM
  • fixed point operator による再帰的な記述の除去 - Pixel Pedals of Tomakomai

    論理と計算のしくみを読んでるメモ。 fixed point operator があれば、再帰的な記述を再帰しない記述に直せる。再帰的な記述とは、例えば、以下のようなもの。 my $fact = sub { my $x = shift; $x <= 1 ? 1 : $x * $fact->($x - 1); }; 階乗を求める関数$factの定義内で、$factを参照している。これは一見実行できそうに見えるが、sub の中をコンパイルする段階では$factがまだ未定義のため実行できない*1。これを再帰しない記述に変えるために、fixed point operator というものが使える。fixed point operator とは、以下の性質を満たす$make_fixed_point。 my $x = $make_fixed_point->($f); $f->($x) eq $x; 任意の

    fixed point operator による再帰的な記述の除去 - Pixel Pedals of Tomakomai
  • Module::Setupで身に付けるよい習慣 - Perl日誌

    あらすじ 前回[twitter:@hachiojipm]で行われた[twitter:@norry_gogo]さんのLTで次のような発言がありました。 自分が書いたPerlコードを添削してくれる人が周りにいなくて困ってる 添削したったでー https://github.com/okamuuu/Twitter-Reader おすすめのファイル構成について 一枚岩のスクリプトだとテストがしづらいので普段から以下のようなディレクトリ構成にする事をおすすめします。 Your-Dist/script/*.pl Your-Dist/t/*.t Your-Dist/lib/**/*.pm Your-Dist/Makefile.PLscriptはbinでも何でも良いと思います。こんな感じのディレクトリがいいと思います。 それを簡単につくるためのcpanモジュールがいくつかあるのですが、今回はその中からMod

    Module::Setupで身に付けるよい習慣 - Perl日誌