タグ

perlに関するakkun_choiのブックマーク (64)

  • YAPC::Asia Tokyo 2011 - PerlでJCL、基幹バッチをダウンサイジング

    汎用機とかJCLとかPerlからはるか遠い存在と思ってませんか? Perlを使った基幹システムのマイグレーションの現場から その具体的な中身をお伝えします! 概要: ・何故perlを使ったのか? 実装はさておきJCLを動作させないといけない。あと2時間でどうする? ・perlで構文解析Parse::Eyapp COBOLプログラムで生成したPARAM言語を処理。強力な正規表現と YACCライクな構文解析機能 ・せっかくだからperlで書くぜ 求められているのは動作速度ではなく実装速度。同じライブラリを 使いたかったから ・あれから1年経ちました Apache+mod_php+OpenCOBOL+Perl+MySQLそして現在

  • Terminalで「ZOO KEEPER」を楽しむ - すぎゃーんメモ

    Apache ZooKeeperのことではありません。ゴメンナサイ。 「ZOO KEEPER」というゲームが好きなんです。 KITERETSU: ZOOKEEPERアクティブ ZOO KEEPER (ゲーム) - Wikipedia 最近突然またZOO KEEPERをやりたくなってFLASH探してみたりiPhoneアプリで探してみたりしたのだけど、 「これ、ターミナルで作れんじゃね?」と思ったので、作ってみた。 h, j, k, lでカーソル移動、spaceで選択してさらにh, j, k, lで隣のモノと交換。 3つ並べば消えて新しいものが落ちてくる。連鎖あり。消した数だけ下に表示。 動物の文字は適当w オリジナルと同じにしようとすると一文字で表現できないので。 とりあえず自分のMacのターミナルでしか試してないので他の環境だとどうなるのか全然わからないんだけど。 ざくっと書いたソースは以

    Terminalで「ZOO KEEPER」を楽しむ - すぎゃーんメモ
  • 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がすごすぎて生きるのがつらい
  • phpの前にplackを挟む

    なんと創業4年弱ではじめてphp案件をいただきました。現在がんばり中です。 で、phpっていうとapacheと一緒に動いてるイメージしかなかったんですが、PHP-FPMというのがあって、FastCGIのサーバーとして動かすことができるらしい、と言うのを昨日知りました。 ということは! Plack::App::FCGIDispatcherでplackを前にかますことができるのではないだろうか!! やってみましたよ。 use strict; use warnings; use Plack::Builder; use Plack::App::FCGIDispatcher; use Plack::Request; my $app = Plack::App::FCGIDispatcher->new({ socket => '/home/danjou/php/var/run/fpm.socket' }

  • サブルーチン名に「!」「?」を使えるようにがんばった - Perl日記

    昨日の続き。 ソースフィルタを使って作った。 Xubname.pm package Xubname; use strict; use warnings; use Filter::Simple; my %IDENT = ( '?' => __PACKAGE__.'_is_', '!' => __PACKAGE__.'_destroy_or_danger_', ); FILTER_ONLY code => sub { s[ ( sub \s* ) ( [^\W]\w* )\? ( \s* ) ] [${1}$IDENT{'?'}$2$3]gxs; s[ ( \&? \s* (?:[^\W]\w*::)* ) ([^\W][\w]*)\? ] [${1}$IDENT{'?'}$2]gxs; }, code => sub { s[ ( sub \s* ) ( [^\W]\w* )\! ( \s*

    サブルーチン名に「!」「?」を使えるようにがんばった - Perl日記
  • CuteというWebフレームワークを作った - Kentaro Kuribayashi's blog

    俺々フレームワークを作ってみたかったので、先人の知恵をいろいろ拝借する感じでやってみた。 https://github.com/kentaro/cute いろいろ足りないものがあるけど、まあとりあえず動くところまで。自分の好み的に、わりといい感じになりつつあるので、今後は、個人用プロジェクトにはこれを使っていきたい。 いちファイルでこんなん書いたら適当に動く感じ。 package Example::Cute::Default; use strict; use warnings; use Cute; sub title { my ($self, $suffix) = @_; my $title = 'Hello, Cute!'; $title .= " ($suffix)" if $suffix; $title; } get '/' => sub { my ($self, $ctx) = @

    CuteというWebフレームワークを作った - Kentaro Kuribayashi's blog
  • Perlの自作フレームワークで作る、アジャイルなWebサービス - はてなニュース

    「えっ、そんなはてなとそっくりみたいなことしている会社があるんですか」。Webアプリケーションの開発言語はPerl、Webアプリケーションフレームワークは自社で作り、Webアプリケーションを開発して、CentOSで動作させる――。そんな、はてなの開発とよく似た開発をしている会社が、リクルートメディアコミュニケーションズ(以下RMC)さんです。はてなチーフエンジニアの大西が、自社フレームワーク開発の経緯や、その実際を、RMCの現役エンジニアさんたちに聞きました。ライターの青宮しおりがまとめます。 (※この記事は、リクルートメディアコミュニケーションズ提供によるPR記事です) ――今日はお時間ありがとうございます。はてなでチーフエンジニアをしている大西です。2001年、はてなの創業の年からはてなで働き始めて、はてなの開発を取りまとめてきました。今日は、3人のかたとお話しできるのですね。簡単に自

    Perlの自作フレームワークで作る、アジャイルなWebサービス - はてなニュース
  • 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)

    (追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー

    「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)
  • 【コラム】OS X ハッキング! (155) iTunesをシェルやEmacsからも使いたい! | パソコン | マイコミジャーナル

    最近、オリンパスイメージング E-300で静物画を撮ることがマイブームです。レンズはもっぱらキットに付属のZUIKO DIGITAL 14-45mm F3.5-5.6を使っていますが、逆光ではフレアが発生しがちなことが難点。ZUIKO DIGITAL 14-54mm F2.8-3.5を買うか、それとも近日発売予定の35mmマクロを買うか…… 考えている間が一番楽しいんですけどね。 さて、今回はiTunesの便利プログラム「iTunes-Perl」について。需要がどれだけあるかは不明だが、Emacsで作業しながらiTunesで選曲したい、などというCUI指向のユーザには"痒いところに手が届く"働きをしてくれること請け合いだ。 「iTunes-Perl」 今回紹介する「iTunes-Perl」は、PerlAppleScriptをつなぐ"糊"(glue)の役割を果たす「Mac::Glue」モジ

  • 任意のデータ構造をMovableTypeのバックアップ形式に変換する - KAYAC Engineers' Blog

    最近誕生日を迎え、いよいよアラサーの域に入り始めたtaiyoh(@ttaiyoh)です。 さて、早速題ですが、とある案件のとある事情で、データをMovableTypeで読めるように変換する必要が出てきました。 特定のMTで構築したブログで読めればいいのであれば、xmlrpcを使ってデータをこつこつアップロードすれば問題ありません。が、他のブログでもインポートできるようにしておく必要があるため、汎用性を高めるために、MovableTypeに割と古くからある、記事のインポート/エクスポート機能に対応したフォーマットに出力できるのが最適だろうという結論に至りました。 もしかしたらMT::*をじっくり読めば、自分の欲しいものが見つかるかもしれませんが、ちょっとそこまで時間が割けないことと、MT::*に依存するのはあまりポータブルではないな、という判断から、この変換器は自分で作ることにしました。

    任意のデータ構造をMovableTypeのバックアップ形式に変換する - KAYAC Engineers' Blog
  • sprintfで使用する引数を直指定する方法 - Unknown::Programming

    久々にPerl。いや、ほんと久しぶりよね。 printf '%d年%d月%d日', 2010, 12, 22; # 2010年12月22日 上記のような処理の時に、引数の数は変更せずに年を削って「12月22日」と表示したい場合、以下のようにすれば可能。 printf '%2$d月%3$d日', 2010, 12, 22; # 12月22日 「%」と「d」の間に「数値$」を追加することで使用する引数を直指定できる。上記の場合だと2番目と3番目の引数を使うという感じになる。 こんなsprintfの使い方なんて滅多なことではしないと思うけど、その滅多が来ちゃったので滅多ごめん。 滅多ごめん。 # ちなみにPHPでも可能。 参考:sprintf - perldoc.perl.org

    sprintfで使用する引数を直指定する方法 - Unknown::Programming
  • 【Perl】オブジェクト指向 for Java使い - (・∀・)イイ!!Memo

    継承 † Java public SubClass extends SuperClass { SubClass () { } } Perl package SubClass; use base qw(SuperClass); sub new { bless {}, shift; } 1; use base qw(SuperClass?)とすると、SubClass?はSuperClass?の(コンストラクタ含む)関数をすべて継承する。 ↑ interface † Perlにはinterfaceといった文法はない。実装をうまくつかってinterfaceを実現する。 親クラスで、関数の中身をdieだけにし、子クラスでオーバーライドを強制する*1 Java public interface Person { public void whatIsYourName(); } public Clas

  • cgi界にはびこる民間療法 Premature end of script headers - それはそれ、これはこれ

    cgi界」という言葉があるかどうかは知らないが、「Premature end of script headers」というエラーに対して、都市伝説というか民間療法というか、そういうのがあるようだ。例えば、 #! /usr/bin/perl 。。。。でこのエラーとなるときに、 #! /usr/bin/perl -- 。。。。とすれば「なぜかわからないが直る」(笑)と書いてある。 そもそも、このメッセージは、「cgiプログラムがContent-Type ヘッダを出力する前に終了した」ということを示すだけであって、ほとんどの場合、その前に当のエラーメッセージが出ているはずだ。例えば、 (2)No such file or directory: exec of '/var/www/html/test.cgi' failed Premature end of script headers: tes

    cgi界にはびこる民間療法 Premature end of script headers - それはそれ、これはこれ
  • Perl 6 チュートリアル 10日目:正規表現の話 - ヤルキデナイズドだった

    はじめに このエントリは Perl 6 Advent Calendar を翻訳したものです。Perl 6 の魅力的な機能を24日間にわたって紹介していきます。 エントリの一覧はこちらからどうぞ。 Day 10: A Regex Story 原文:perlpilot By perlpilot 10日目の今日はこんな昔話を紹介します… On this tenth day of advent, we have the gift of a story … 昔々あるところに Tim という見習い Perl 6 プログラマがいました。Tim は簡単なテキストをパースする問題に取り組んでいました。彼の上司ミスター C は、在庫情報のテキストデータをパースしてすべての行が正しいことを確かめるようにと Tim に言いました。正しい行というのは次の形式に沿ったもののことをいいます: Once upon a t

    akkun_choi
    akkun_choi 2010/01/12
    これは他の言語にも欲しい
  • tieを利用してSTDOUTの出力を弄る - すぎゃーんメモ

    print文でのSTDOUTの出力先を変更する方法 - すぎゃーんメモの続き。 id:mattnさんから「tieを使うのが一般的かと思いますよ」とコメントをいただきました。ありがとうございます。 tieって名前は聞いたことがあったけど、まったく使ったことがなかった。。 ドキュメント読んだりしながら勉強してみた。 perltie - オブジェクトクラスを単純な変数に隠す方法 - perldoc.jp tieでSTDOUTをつかまえる - 徒書 まだよく理解できてないところはあるけど、とにかく「オブジェクトクラスを変数にゴニョゴニョすることができる」らしい。 とりあえず書いてみた。 #!/opt/local/bin/perl use strict; use warnings; my $hoge; { $hoge = tie local *STDOUT, 'Hoge'; print "hoge"

    tieを利用してSTDOUTの出力を弄る - すぎゃーんメモ
    akkun_choi
    akkun_choi 2009/07/18
    おもしろいな
  • Perlがダメな理由 - あもあもダイアリー日記

    Perl使いは、英語Perlが読めるので、それ以上のドキュメントを必要としない。つまり、まともなチュートリアルがないので、初心者にはお勧めできない。 PHPより遅い。CPANというモジュールに頼りすぎていて、バイナリで動かそうとしないから遅い。モジュールを使っているPerlはまず遅くて使い物にならない。CPANが便利と言っても、これじゃRubyと変わらん。 とりあえず動くものを作りたいならPHPの方が生産性が高い。英語やコードは読めないけど、日語なら読める人向けの文章ならいっぱい出てくる。 Perlは口先だけでは叩かれる文化らしいので、自分の体験を書いておく:XMPPを使って何らかの文字列を送信しようとPerlPHPで試みた。Perlでは4時間くらい費やしたができなかった。一方、PHPでは1時間もかからずに、送信できた。アホな俺にはどちらが相応しい言語なのかよく分かる。 Perlは英

    akkun_choi
    akkun_choi 2009/04/20
    そう思う。もっとperlのドキュメントが豊富で書いたらすぐ動いてれば今頃perl使いになってたんだろうなぁと思う
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

  • HTML::WikiConverter

    NAME HTML::WikiConverter - Convert HTML to wiki markup SYNOPSIS use HTML::WikiConverter; my $wc = new HTML::WikiConverter( dialect => 'MediaWiki' ); print $wc->html2wiki( html => '<b>text</b>' ), "\n\n"; # A more complete example my $html = qq( <p><i>Italic</i>, <b>bold</b>, <span style="font-weight:bold">also bold</span>, etc.</p> ); my @dialects = HTML::WikiConverter->available_dialects; foreach

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perlが初めての人に教えてあげたいちょっとしたこと - Unknown::Programming

    タイトルは釣りです。 実際のタイトルは「Perlのオブジェクト指向がムズカシイだって?んなバカな。だったらPHPで再現してやんよ!」でございます。 ヘイヘイヘイ。そこの君。Perlのオブジェクト指向が難しいだなんていったい誰が言ったんだい? Perlのオブジェクト指向ほど、シンプル且つ柔軟なものはないよ! 単なるパッケージ(名前空間)とリファレンス(データ)をblessという関数で紐付けただけのもなんだから。 第一引数に必ず$selfが来るっていうのも結局の話たんなる関数呼び出しとなんら変わらないのだから。 package Foo; sub new { my $class = shift; return bless { @_ } , ref $class || $class; } sub plus { my $self = shift; my $int = shift; return $s

    Perlが初めての人に教えてあげたいちょっとしたこと - Unknown::Programming