タグ

2013年6月17日のブックマーク (7件)

  • 遅延評価によるストリーム、Perl で。 : torus solutions!

    SICP の 3.5 節「ストリーム」に出てきたストリームを Perl で実装してみた。 意外と簡単に書けた。 SICP のお買い上げは、アマゾンの 『計算機プログラムの構造と解釈』 のページからどうぞ〜。 概要 ストリームを使うと、 プログラムに状態変化を持ち込むことなく、 物事の変化を扱うことができるらしい。 必要な時に必要なだけの計算をするのに、 実際に計算をする部分と、 その計算された値を使う部分を完全に分離した形でコーディングできるので、 非常に強力なテクニックとなり得る。 ストリームは遅延リストとして実装するので、 まず遅延評価を実現するための手続き delay と force をそれらしく作り、 その上にストリームを構成するいくつかの関数を書いてみた。 実装 以下に、 テキストに出てきた Scheme でのコードと、 それに対応する Perl のコードを順番に載せます。 スト

    saisa6153
    saisa6153 2013/06/17
  • 実践的Perlデバッグ三種の神器 - Qiita

    perlでprintfデバッグするにはData::Dumperがおなじみかと思いますが、printfデバッグでは「○○が××なのではないか」という仮説を1つずつ検証していくことになり大変なときもあります。Perlはスタックトレースとかをあまり吐いてくれないし大変だと思いきや、エラーの可視化などに便利なモジュールがあったのでメモりました。 変な場所でdieまたはwarnが出て困っている場合 => Carp::Always warnまたはdieが出た時に、スタックトレースを引数付きで表示してくれます。warnやdieが出るが、どこから呼び出された時に、どんな引数のときにで出ているのかわからない場合に便利です。 ※ Carp::Always::Colorというモジュールもあるようですが、まだ試していません。 エラーメッセージが少なすぎたので use Carp::Always;を適当な場所に追加(

    実践的Perlデバッグ三種の神器 - Qiita
    saisa6153
    saisa6153 2013/06/17
    REPLすげぇ
  • さくらVPS(CentOS6.3)へのredisインストールとchkconfigへの登録

    2012年08月25日11:32 カテゴリその他 さくらVPS(CentOS6.3)へのredisインストールとchkconfigへの登録 redisとは ・Redis ・データはメモリ上に入っている。インメモリデータベース。 ・ディスクにデータを適当なタイミングで書き込み可能(永続化できる)。 ・Key-Valueストア。キーと、それに対応したValueから構成される。ValueにはStringやListなど様々な型が使える。 ・Githubstackoverflow、ニコ生などで採用実績がある。 ・初めて登場したのは2009年4月。ネット上の記事は2011年頃のをよく見る。 ・API一覧はここ。Command reference – RedisまたはKOSHIGOE学習帳 - [KVS][Redis] Redis コマンド一覧。 redisのインストール 環境:さくらVPS、Cent

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

    saisa6153
    saisa6153 2013/06/17
    Rubyに限らず勉強になる
  • 第5章 ガ-ベージコレクション

    プログラムの実行時イメージ 突然だが、章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり

  • CPAN Authorになろう会の横でComposer Authorになる話 - new takyam();

    会社でCPAN Authorになろうハッカソンを開かれたので、参加してみました。 CPANモジュール公開した事ないメンバーが、 とりあえず公開手順を把握してみようぜ!的な感じで、 Acmeモジュールとかを作ってみてました。 (akumeて読むらしいよ!卑猥!) とはいえ私はPerlなにそれおいしいの? で、全く書けないので、横でひっそりComposer書いてました。 2個程適当なやつを作ったのでご紹介。 takyam/capture Composer (https://packagist.org/packages/takyam/capture) GitHub (https://github.com/takyam-git/capture) <?php $capture = new Capture('http://www.yahoo.co.jp'); $capture->set_width(1

    CPAN Authorになろう会の横でComposer Authorになる話 - new takyam();
    saisa6153
    saisa6153 2013/06/17
  • 社内でCPAN Authorになろうハッカソンを開催しました!! - 僕のYak Shavingは終わらない

    とりあえずCPANAuthorになりたくてやった。後悔はしてない。 / “kazuph/Acme-Tategaki · GitHub” http://t.co/o3gdjA3Zhn— kazuph (@kazuph) 2013, 6月 16 ※追記(2013/06/17)…人生初の知人でない人からpull req来ましたとても嬉しいです。 Perl界ではMinillaというCPANモジュール開発ツールが流行っていたのもあり、ちょうど3年目の同期と「そろそろモジュールとか公開しないとエンジニアとして死ぬ」って言って意気投合し急遽ハッカソンを開くことにしました。 集まったメンバーは 爆速Perlハッカーで同期、id:ntakanashi その実力は部長格、id:hidehigo 神的新人、id:saisa6153 大阪から突如飛来したキチガイPerlMonger、id:papix PHPなら任

    社内でCPAN Authorになろうハッカソンを開催しました!! - 僕のYak Shavingは終わらない
    saisa6153
    saisa6153 2013/06/17
    楽しかったです