タグ

perlに関するcooldaemonのブックマーク (775)

  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

  • Data::Monad::CondVar でAnyEvent を使いやすくする - Articles Advent Calendar 2011 Hacker

    こんにちは。hiratara です。みなさん、意識は高まっていますか? 私は上々です。今回は拙作の Data::Monad::CondVar というモジュールを紹介させて頂きます。 モジュール名にMonad というNGワードが入っていますが、このモジュールはAnyEvent 用のJSDeferred です。JSDeferred はみなさん好きですね? 嫌いな人は好きになるまで何度も繰り返し使って好きになればいいと思います。 コールバック方式の関数を順に呼び出す場合、一般に記述がネストします。 use AnyEvent; sub add1($$) { my ($n, $cb) = @_; my $t; $t = AE::timer 1, 0, sub { $cb->($n + 1); undef $t; }; } my $cv = AE::cv; add1 0 => sub { my $n

    Data::Monad::CondVar でAnyEvent を使いやすくする - Articles Advent Calendar 2011 Hacker
    cooldaemon
    cooldaemon 2011/12/19
    素晴らしい
  • データ分散とインデックス最適化のためのハッシュ関数の利用 - Articles Advent Calendar 2011 Hacker

    はじめに こんにちは、piarra です。みなさん、意識は高まっていますか?私は上々です。 という書き出しをやめたくてやめられなかったのが心残りです。 昨年までは、Casual Trackで寄稿させていただいていましたが、今年はYAPCで話したこともあり、Hacker Trackに初挑戦させていただきます。得意のMD5暗算法とその習得法について解説したいと思っていたところですが、より日常に役立つ方がよいかと思い、MD5やその他のハッシュ関数の活用法について少し触れてみたいと思います。 データサンプル DBMSを考慮せず、以下のようなデータサンプルがあったと考えてみましょう。 +----+-----------------------+ | id | url | +----+-----------------------+ | 1 | http://www.google.com | | 2

    データ分散とインデックス最適化のためのハッシュ関数の利用 - Articles Advent Calendar 2011 Hacker
    cooldaemon
    cooldaemon 2011/12/12
    MurmurHash を後で調べてみよう
  • 比較はモノイド - akihiro4chawonの日記

    比較モナドについて考察されている一連のエントリに感銘を受けて、私も比較について考えてみました。 比較モナド - terazzoの日記 続・比較モナド - terazzoの日記 続・続・比較モナド〜復讐編〜 - terazzoの日記 まず、考察対象として「比較結果」と「比較操作」に分けて考えます。比較結果というのは、比較後に返ってくる値(例:Java の Comparator の compare における 負・零・正)を言います。比較操作というのは、比較する関数(あるいは関数オブジェクト)自体(例:Java の Compartor 自体)を言います。 比較結果モノイド 比較結果というのは、2つの比較対象に対して、その片方が他方よりも「小さいのか」「等しいのか」「大きいのか」を示す値です。例えば、Perl の 比較演算子 <=> や Java の Comparator において、左辺が小さいこ

    比較はモノイド - akihiro4chawonの日記
    cooldaemon
    cooldaemon 2011/09/29
    Monoid とか Semigroup の説明。非常に解りやすい。
  • Perlbrew

    perlbrew is an admin-free perl installation management tool. The latest version is 1.01, read the release note: Release 1.01. For a quick installation, do this: \curl -L https://install.perlbrew.pl | bash Check the document of Installation for more descriptions and options. Quickstart After installing perlbrew itself, now it is time to install some versions of perl To install the latest stable rel

    cooldaemon
    cooldaemon 2011/05/13
    ビールと忍者
  • GNU Parallelがすごすぎて生きるのがつらい

    皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

    GNU Parallelがすごすぎて生きるのがつらい
  • Big Sky :: VimmerなPerl開発環境

    えーっと、IDE使ってません。ごめんなさい。 PerlをIDEで書いてる人、どれくらいいるんだろう。何使ってるんだろ。 私はLinuxでもWindowsでもVimを使ってます。Perlってサーバで使われる事が多いし、サーバだとsshで入る事が多いだろうし、まぁXの転送やVNCやそれっぽいのでグラフィカルに操作しても良いけど、正直PerlのドキュメントもテキストベースだしPerlで入力補完出来るグラフィカルエディタもまず無いと思ってる。 で、私がVim上で使ってるPerlの開発を「200倍便利にするスクリプト」を紹介。 perldoc.vim perldocはPerlのオンラインマニュアルなんだけど、これを一々ターミナルに戻ったりして引いてると時間のロス。screenで分割して開いてもいいんだけどscreenの画面間移動よりもVim内でのウィンドウ間移動の方が操作感が統一出来てて良い。 そこ

    Big Sky :: VimmerなPerl開発環境
  • 第28回 Test::More:no_planからdone_testingへ | gihyo.jp

    計画的に実行するのはよいことですが 前回も紹介したように、Test Anything Protocolでは「これから10個のテストを実行します」と宣言する場合はこのように書くことになっていました。 use strict; print "1..10\n"; # 宣言部 for (1..10) { print "ok $_\n"; } このような宣言部の存在は、テスト結果をパースして分析するTest::Harnessのようなツールにとっては非常に便利なものですが、たとえば環境によってテストの数がかわるとき、あるいはテストファイルが非常に長くなってきたとき、はたまた多くの人が平行してファイルやテストの追加作業をしているため最後にマージするまでテストの数がわからないとき、事前にテストの数を把握していなければならないというのは、大きな制約にもなりえます。 単純そうに見えるTest Anything

    第28回 Test::More:no_planからdone_testingへ | gihyo.jp
  • 第26回 ShipIt:モジュールのリリースをもっと手軽に | gihyo.jp

    CPANにモジュールをアップロードする前に 第23回から続けてきたシリーズの一環として、今回はモジュールをCPANにアップロードするときのツールをまとめてみます。おそらくこのようなツールに興味を持つような方なら当然 perlnewmod や perlmodlib、あるいはCPANやPAUSEについてのよくある質問のページ[1]くらい読んでいるでしょうから大丈夫だろうとは思っていますが、今回とりあげるツールは使い方を間違えると周囲に多大な迷惑をかける可能性があります。一度CPANにアップロードされたファイルは、たとえミスであっても数日中には世界中のミラーにコピーされますし、BackPANと呼ばれる保管庫には半永久的に保存されますので、うっかり無意味な(あるいは部外秘の)モジュールを公開してしまうことがないよう、また、ほかの人の迷惑になるような名前空間を占有してしまわないよう、実際に試してみる

    第26回 ShipIt:モジュールのリリースをもっと手軽に | gihyo.jp
  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • JPerl Advent Calendar 2009

    JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 今年もやってきました、JPerl Advent Calendar。12月1日から25日まで、1日1個ずつ tips を紹介していきます。 今年は三だてです。はたして最後まで無事につづくのでしょうか。今年も無計画な上に面子がそろってないので、はらはらどきどきです >< Main Tracks Hacker Track

  • Koherent::DB

    Introduction Koherent::DB is a Pure-Perl RDBMS, which is operated without SQL. Koherent::DB works like O/R mappers and you can write everithing you want to do with it in Perl. You can also use Perl functions and operators to caluculate and search through Koherent::DB. Even database servers are not necessary and you can open and close databases like files using Standalone mode of Koherent::DB. Samp

  • RabbitMQ for Perl mongers

  • NameBright.com - Next Generation Domain Registration planeterlang.org is coming soon

  • Use -w in applications, use warnings in modules - Islands in the byte stream (legacy)

    警告のためには -w ではなく use warnings を使うべき,という意見がある*1。 perl - use warnings; # -w でなくて - 404 Blog Not Found 現代的なPerlの記述方法一覧 + α - Perl入門〜サンプルコードによるPerl入門〜 しかしそれはある意味では正解だが,ある意味では間違いである。正しくは「アプリケーションでは #!行に-wと書き,モジュールではuse warningsを使う」である。 以下のコードではそれを示す。 (1) $ perl -MFile::Spec -E 'say File::Spec->join("foo", undef)' foo/ $ (2) $ perl -MFile::Spec -wE 'say File::Spec->join("foo", undef)' Use of uninitialize

    Use -w in applications, use warnings in modules - Islands in the byte stream (legacy)
  • Perlでroot権限で動作させる場合の注意点 - pepponの日記

    root権限で動作させたい常駐プログラムを作って動作させてみたものの、うまくいく場合とうまくいかない場合があって、かなりはまってしまった。 シェル上でrootユーザでperlプログラムを実行した場合と、なんらかのトリガー(メールや、xmlrpcとかでコマンドを受け取って)を経て自動で実行させるときの違いを調べてみた。 perlsec - Perlセキュリティ http://perldoc.jp/docs/perl/5.6.1/perlsec.pod Perl は、そのプログラムが異なる実ユーザー ID、実効ユーザー ID、実グループ ID、実効グループ ID を使って実行されることを検出したときに、自動的に 汚染モード (taint mode) と呼ばれる特別なセキュリティチェックのセットを有効にします。 UNIX パーミッションにおける setuid ビットはモード 04000 で、

    Perlでroot権限で動作させる場合の注意点 - pepponの日記
  • http://blog.eorzea.asia/2009/10/post_70.html

  • shipit DBIx::Skinny 0.04 - Hatena::Diary::Neko::kak 500 Internal Server Error

    DBIx::Skinnyの0.04を先ほどshipitしました。 今回の変更で、バックエンドのDBにPostgreSQLを利用することができるようになりました。 おいぬめさん、fujiwaraさんありがとうございます。 また、PODに結構なtypoがあるのを色々な方に指摘/直してもらいました。 ありがとうございます。 またDBIx::Skinny::Mixinというモジュールが追加されました。 これはDBIx::Skinnyをuseしたユーザモジュールにメソッドをexportさせる機能があります。 たとえば、DBIx::Class::FromSledge相当のことをしたい場合 package Proj::Model::Mixin::FromSledge; use strict; use warnings; use Carp; sub register_method { +{ create_

    shipit DBIx::Skinny 0.04 - Hatena::Diary::Neko::kak 500 Internal Server Error
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知