タグ

perlに関するa_bickyのブックマーク (37)

  • @IT Special PR: DeNAのPerl使いたちに聞く モバゲーオープン化の裏にPerlアリ!

    ケータイ向けSNS「モバゲータウン」で知られるDeNAは、Web企業としての側面は見えづらい。PC向けのECサイトやオークションサイトも運営しているが、比率として大きいのはケータイ関連事業だからだ。しかし、サーバ側を見てみれば、mixiやlivedoorと同様のWeb企業。PerlMySQLを使いこなしてスケールアウトするノウハウに長けたエンジニア集団を抱えている。モバイル向けOpenSocial対応のプラットフォーム「モバゲーオープンプラットフォーム」を実装した2人のエンジニアに話を聞いた。 「オークションサイトのビッダーズや航空券販売サイトのSkygateではJavaが使われていますが、それ以外はほとんどPerlですね」 こう語るのは、DeNAの木村秀夫氏(ソーシャルメディア事業部プラットフォーム統括部 システムグループ)だ。モバゲーはもちろん、「みんなのウェディング」や「ネッシー

  • perl向けのemacs設定 - メメメモモ

    今まではemacsの設定を最低限のものにしていたのですが、やはり生産性というものを上げようと考えた時に、エディタの便利な機能は使いこなしておいた方がいいのかな、と思いました. そのとっかかりとして下記のtypester先生の資料で紹介されている拡張と設定を行ないました。これは前々回のCasualPerlのスライドですね。 http://typester.stfuawsc.com/slides/perlcasual2/start.html 割と手間取ってしまったので、設定メモ。 emacsのアップデート さっそく設定をインストールしようとしたら、失敗しまくり。 その原因がemacsのバージョンでした。 「21.x.x」を使っていました。 現在のEmacsのバージョンは「23.x.x」なので、インストールし直しました。 これで後述の「auto-install.el」が正常に動作するようになりま

    perl向けのemacs設定 - メメメモモ
  • unwind-protect: Emacs の中から prove

    少しは真面目に *.t を書こうかと思っているのだが、 Emacs で *.pm を編集して、ターミナルに戻って prove -vl t とかやるのは非常にウザい。 Emacs 使ってるのだから、シンタックスエラーが出たら当然キーストローク2つ位で その行へジャンプしたくなるのだが、シェルから実行してるとそれもできないし、 ターミナルのスクロールバーをチクチクいじくりながらエラーメッセージを見つけて M-x goto-line なんてヤだ。 mode-compile をインストールして cperl-mode を使ってると、編集してる Perl スクリプトを単純に実行した場合は ちゃんとエラーの行へ飛べるんだけどなぁ。 proveと組み合わせると快適にいかない。 とかなんとか、Emacs が Emacs らしく使えない、というのを言い訳にしてテストを書くのサボってるわけだ。やだねぇ Emac

    a_bicky
    a_bicky 2012/03/30
    これは便利そう
  • ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower

    以下は Perl 5.8.8 のソースを元に記述しました。Perl 5.10 でもそう変わってはいないと思いますが,結構内部が変更されているので違うかもしれません。大まかには同じだと思います。 イントロダクション Perl でのファイルハンドルは内部的には [http://search.cpan.org/perldoc?IO::Handle:title=IO::Handle] オブジェクトとして保持されています。そのような記述は perl5004delta くらいでしか見つかりませんでした。ラクダにもなかったような。 Internal change: FileHandle class based on IO::* classes File handles are now stored internally as type IO::Handle. The FileHandle module

    ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower
    a_bicky
    a_bicky 2012/03/29
  • perl - use warnings; # -w でなくて : 404 Blog Not Found

    2008年06月19日21:45 カテゴリLightweight Languages perl - use warnings; # -w でなくて 最近は、さすがにuse strict;されていない実践コードを目にすることもほとんどなくなってきたのだけど、まだ残っているのがuse warnings;利用。以下と併せて読んでいただけると幸いだ。 404 Blog Not Found:perl - use strict; # and be happy -w って何? warnings って何? まず、以下のプログラムを見てみよう。 #!/usr/local/bin/perl use strict; sub distance { my ( $a, $b ) = @_; return sqrt( $a**2 + $b**2 ); } print distance(@ARGV), "\n"; % p

    perl - use warnings; # -w でなくて : 404 Blog Not Found
    a_bicky
    a_bicky 2012/03/06
    use warnigs と -w の違い
  • Happy Testing Perl 記事一覧 | gihyo.jp

    第4回Test::Perl::Critic, Test::Pod, Test::Pod::Coverage, Test::Exception, Test::Warn, Devel::Coverの紹介 小林篤 2008-06-25

    Happy Testing Perl 記事一覧 | gihyo.jp
  • 型グロブを理解する 〜アスタリスクは怖くないよ(。・ω・)ノシ〜 - (゚∀゚)o彡 sasata299's blog

    2009年03月28日16:01 Perl 型グロブを理解する 〜アスタリスクは怖くないよ(。・ω・)ノシ〜 先日、tokuhiromさんの LWP::UserAgent::WithCache::Transparent を見ていて、 my $orignew = *LWP::UserAgent::new{CODE}; {CODE}って何だ!?と思ったので調べてみました。結論から言うと、これは型グロブです。まずは型グロブの簡単な説明から。 そもそもperlでは、(グローバルな)変数とか配列とかハッシュとかサブルーチンとかファイルハンドルなんかは全て一つのテーブル(シンボルテーブル)で管理されています。 ※レキシカル変数(my宣言する変数)はシンボルテーブルではなく、別テーブルで管理されています。 例えば、 #!/usr/bin/perl use strict; use warnings; ou

    a_bicky
    a_bicky 2012/02/14
    他の言語の感覚だと変数にサブルーチンを代入するのは普通にできそうだけどよく考えたらPerlでは () がなくてもサブルーチンが実行されるから普通に代入すると実行結果を代入することになってしまう
  • 日付の取得方法について - make world

    #!/usr/bin/perl use strict; use warnings; use utf8; use Date::Simple; use Time::Piece; # Date::Simple を使ってみる # 今日の日付で昨日と明日の日付を取得する my $today = Date::Simple->new(); print 'Today is ', $today, "\n"; # 昨日の日付 print 'Yesterday is ', $today->prev, "\n"; # 明日の日付 print 'Tomorrow is ', $today->next, "\n"; # 日付の計算もできる print 'The day after tomorrow is ', $today + 2, "\n"; # ある日付の前日と翌日の日付を取得する my $day = Date:

    日付の取得方法について - make world
    a_bicky
    a_bicky 2012/02/07
    日付の取得
  • PSGI/Plack - [Perl Hackers Hub]

    連載では、第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第1回は、WEB+DB PRESS誌ではVol.2から執筆しており、長らく連載も担当していた宮川達彦さんです。 はじめに PerlでWeb開発をするためのフレームワークは百花繚乱、人気を集めています。稿では、これらのフレームワークが共通して利用するためのインタフェース仕様であるPSGIと、そのエンジンとしての実装であるPlackを紹介します。 PSGIに至る道 PerlとWebアプリケーション開発の親和性 Perlは「インターネットのグルー(糊:のり)言語」とも言われ、CGIによる開発がメインだった1990年代から、Webアプリケーション開発に最も関わりのあるプログラミング言語の一つと言ってよいでしょう。2000年代に入っても、Ruby on RailsPHPなどの他言語からの影響も取り入れながら、Web開発

    PSGI/Plack - [Perl Hackers Hub]
    a_bicky
    a_bicky 2012/01/31
    いつか読むといいかも
  • 一次元配列同士の比較のいろいろなやり方 - harupiyoの日記

    問題 @a = (1,2,3); @b = (1,2,3); のような配列があったとして、これらの中身が同じ(@a = @b) であることを確認したいと思います。 細かい条件として、値は正の数字のみ(負はない、)で並び順は気にしない、かつ同じ番号はないという事にします。 かんたんに考えると、次の二つの条件を満たせればいいはずです。 二つの要素の数が同じであること 先頭から比較して、末尾までの各項目の内容が等しいこと 素直にコーディングすると... sub is_same($$){ my($a,$b) = @_; # (1)二つの要素の数が同じであること return 0 if @$a != @$b; # (2)先頭から比較して、末尾までの内容が等しいこと for (0..$#$a){ return 0 if $a->[$_] != $b->[$_]; } return 1; } というサブ

    一次元配列同士の比較のいろいろなやり方 - harupiyoの日記
    a_bicky
    a_bicky 2012/01/13
    自分のやりたいこととしてはjoinが一番手っ取り早い
  • IPC::Open3 の正しい使い方 (re .pl な config ファイルのコンパイルがとおるかチェックしてみる - TokuLog 改メ tokuhirom’s blog) - kazuhoのメモ置き場

    http://d.hatena.ne.jp/tokuhirom/20100813/1281666615 の件ですが、IPC::Open3 の使い方が気になったので、勝手に添削 (c) dankogai。 use IPC::Open3; ... my($wtr, $rdr, $err); my @cmd = ($^X, (map { "-I$_" } grep { !ref $_ } @INC), '-c', $file); my $pid = open3($wtr, $rdr, $err, @cmd); waitpid($pid, 0); IPC::Open3 は子プロセスの標準入出力と標準エラー出力を、親プロセスとパイプでつないでプロセス間通信を行うための仕組みです。 パイプには一定サイズのバッファがあり (Linux だと 4KB)、パイプにこれを超える大きさのデータが書き込まれると、

    IPC::Open3 の正しい使い方 (re .pl な config ファイルのコンパイルがとおるかチェックしてみる - TokuLog 改メ tokuhirom’s blog) - kazuhoのメモ置き場
    a_bicky
    a_bicky 2012/01/04
  • Perlのmakeフェーズの挙動 - D-6 [相変わらず根無し]

    Perlのmakeフェーズの挙動 いわゆるCPANモジュール形式で展開されているモジュールに対して一般的に行う以下の手順: perl Makefile.PL make make test make install # 以下はモジュール作成者のみが気にするであろう make clean make disttest make dist make manifest これがそれぞれ何をしているのかって案外しられてないのかもしれない。 perl Makefile.PL - これはMakefile.PLを単純に実行している。この中では一般的にExtUtils::MakeMaker、Module::Build、Module::Install等のモジュールが使用され、インストールに使うMakefileというファイルを作る。これはmakeコマンドが自動的に検知して、使用してくれる。ちなみにmod_perl

  • livedoor Techブログ : IRC がゆく

    開発部 _ です。 みなさんは IRC を使っていますか? もしくは使ったことがありますか? ネット上の個人コミュニケーション手段が msn・Yahoo!・Skype などのメッセンジャーが一般的になって久しい昨今、IRC は一部のマニアが使うニッチで古臭い手段という見方も多いようです。 そんな中 livedoor では、日々の運用作業に始まり、開発中のコンテンツ進捗、技術的な意見交換、バグ報告、ランチどこいく?、麻雀やりますよ、今夜のおかずに到るまで日常的に活用されています。 IRC で使われているツールに IRC bot(IRCボット:以下 ボット)と呼ばれる小さなプログラムがあります。 ユーザーの発言に反応したり、定期的に何かを発信したり、嫌なアイツにナニしてくれたり、と作り手の発想次第でいろいろな処理をさせることが出来ます。 時に悪用(ボットネットなど)されるなどネガティヴな印象を

  • WWW::MechanizeやWeb::Scraperはmetaタグを見てデコードするが、charset=Shift_JISのコンテンツって実際にはCP932なので化けるのを防ぐEncode::Alias

    WWW::MechanizeやWeb::Scraperはmetaタグを見てデコードするが、charset=Shift_JISのコンテンツって実際にはCP932なので化けるのを防ぐEncode::Alias スポンサードリンク Tweet WWW::MechanizeというPerlのウェブブラウザになりきるモジュールで、2006年9月の、バージョン1.21_01から、自動的にHTML文書のmetaタグなどからエンコーディングを取得して、デコードしてくれるのだけれども、オンライン上にあるほとんどのShift_JIS指定のHTML文書のほとんどが実際にはCP932(シフトJISのMicrosoft拡張)になっているために、文字化けしちゃうっていう問題があって、どうすれバインダー(未解決)っていうのを以前やりました。 M.C.P.C.: WWW::Mechanizeはmetaタグを見てデコードする

    a_bicky
    a_bicky 2011/10/29
    WWW::Mechanizeでcp932の文字化け防止策
  • Retrieving web pages (LWP)

  • perl - parser書くならgoto : 404 Blog Not Found

    2007年04月24日18:00 カテゴリLightweight Languages perl - parser書くならgoto しかし、当の当の番はこちらだったりする。 404 Blog Not Found:perl - POO と goto Perl 5のgotoは、仕組みを理解した上で使いどころを誤らなければかのごとく強力なのである。 前回の例では、それでも"One of many ways to do it"で、「知らなくても困らない」レベルのものであった。しかし、今回の例は、gotoがなければ当にきつい。 以下の例を考えてみよう。 入力: (define (fact n) (if (= n 1) 1 (* n (fact (- n 1))))) 出力: [['define',['fact','n'],['if',['=','n','1'],'1',['*','n',['f

    perl - parser書くならgoto : 404 Blog Not Found
    a_bicky
    a_bicky 2011/10/25
    括弧のネストを処理する正規表現
  • モジュールのバージョンを確認するときどうやってますか? - Articles Advent Calendar 2010 Casual

    もう恋なんてしないなんて、言わないよ絶対kamipoです。 ときに皆さん、Perlのモジュールのバージョンを確認するときどうしてますか? 僕はPerlをはじめた最初のころ、ずっとこうやっていました。 $ perl -MAcme::Hidek -le 'print $Acme::Hidek::VERSION' 40.0 こうやってたの、僕だけじゃないですよね!? いまでは以下のワンライナーにaliasを張っているので毎回がんばってワンライナーを打たなくてよくなりました。 $ alias pmversion='perl -le '"'"'for $module (@ARGV) { eval "use $module"; print "$module ", ${"$module\::VERSION"} || "not found" }'"'" $ pmversion Acme::Hidek Ac

    モジュールのバージョンを確認するときどうやってますか? - Articles Advent Calendar 2010 Casual
    a_bicky
    a_bicky 2011/10/25
    V.pmとな
  • [Perl] my と local と our の違いについて - 竹迫の近況報告

    404 Blog Not Found:perl - myとourとscopeと みんな難しく考えすぎです。 (例外については後で考えることにして)とりあえず以下の基をおさえておけば混乱することはないと思います。 ■ our 宣言について our はグローバル変数をスマートに使用するための宣言です。our は use vars と等価と考えてください。 our $var; は use vars qw($var); と等価。 our $var = 1; は use vars qw($var); $var = 1; と同じ動きをするもの、と覚えておけばOKです。それ以上の違いは基的にないと考えて構いません。 ひとつ実用上の違いがあるとすれば、our は Perl 5.6 以降の built-in なのに対して、use vars は vars.pmPerlスクリプトで実装されています。し

    [Perl] my と local と our の違いについて - 竹迫の近況報告
  • 第23回 Module::Build:MakeMakerの後継者を目指して | gihyo.jp

    今年もよしなにお願いいたします 連載第18回ではlocal::libの話題を取り上げましたが、今回はそのときにもちらと紹介した、モジュールをインストールするときに利用するいくつかのモジュールについて簡単にまとめてみます。 ExtUtils::MakeMakerが生まれるまで Perlがバージョン3でコンパイル時にユーザ独自のライブラリを組み込んで体機能を拡張できるようになったとき(1990年⁠)⁠、おそらくもっとも喜んだのがデータベースを使っていたユーザでした。彼らはいそいそと自分の使っていたデータベースのライブラリをPerlに組み込み、それとわかる名前をつけて公開しました。当時の記録によれば、Oracleに対応したOraperlやPostgreSQLに対応したPgperlなど、データベース関連だけで8つないし9つの専用Perlがあったようです[1]⁠。 でも、このアプローチには問題もあ

    第23回 Module::Build:MakeMakerの後継者を目指して | gihyo.jp
    a_bicky
    a_bicky 2011/10/11
    CPAN形式でモジュールを作成する際の参考に
  • 404 Blog Not Found:perl - ワンライナーの書き方入門

    2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl

    404 Blog Not Found:perl - ワンライナーの書き方入門
    a_bicky
    a_bicky 2011/08/24