タグ

関連タグで絞り込む (267)

タグの絞り込みを解除

perlに関するfbisのブックマーク (1,098)

  • Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found

    2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構

    Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found
  • http://blog.moe-project.com/2011/06/09/%E9%81%85%E3%81%84each%E3%81%AE%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E4%BD%BF%E3%81%86splice%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%80%81%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88/

    fbis
    fbis 2011/06/09
    ハッシュから値を取り出すという前提条件を、まるでちゃぶ台を真っ二つに叩き割るが如き!splice使うならハッシュから配列への代入部分もベンチマークに含まないとフェアじゃないよね。
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • 生DBI + SQL::Maker がちょうどいい | ブログが続かないわけ

    PerlDB 今年に入ってからまたPerl を使うことが多くなってきていました。画面を伴うものはだいたいPHP で書いて、そうでないもの、例えばバッチ処理のようなものはPerl で書くことが多いので、バッチを書くことが多くなってきているということです。 PerlDB を扱うときは、少し前まではDBIx::Class を好んで使っていたので、既存の案件のカスタマイズなどではいまも使うことになっています。しかし、新規に何か作ろうと思うと、スキーマを作るのが面倒に思えてなりません。ワンライナーで作れるのですが、それすらも面倒に思えてきてしまいました。 そもそも、簡単な処理しかしないのであれば、DBIlC は大袈裟な気がしてしまいます。DBIx::Skinny なども検討したのですが、そもそもO/Rマッパーが不要なんじゃないかというくらいの小さな規模では、そういうものもあまり使う気になれま

    生DBI + SQL::Maker がちょうどいい | ブログが続かないわけ
    fbis
    fbis 2011/04/12
  • Amazon.co.jp: Perl CPANモジュールガイド: 冨田尚樹 (著), タナカユカリ (イラスト): 本

    Amazon.co.jp: Perl CPANモジュールガイド: 冨田尚樹 (著), タナカユカリ (イラスト): 本
    fbis
    fbis 2011/03/17
  • Text::ASCIITableによるアスキーテーブルレイアウト - Unknown::Programming

    MySQLの出力結果みたいなのが必要になったのでCPAN漁ってたらこんなの発見。 Text::ASCIITable - Create a nice formatted table using ASCII characters. - metacpan.org 地味に凄いめちゃ便利 use Text::ASCIITable; my @rows = ( [1,'foo','2011-03-16 11:22:33'], [2,'hogehogehoge','2011-03-17 11:22:33'], [3,'uwaaaaa','2011-03-18 11:22:33'], [4,'dio','2011-03-19 11:22:33'], [5,'jojo','2011-03-20 11:22:33'], ); my $t = Text::ASCIITable->new(); $t->setCol

    Text::ASCIITableによるアスキーテーブルレイアウト - Unknown::Programming
    fbis
    fbis 2011/03/16
  • 貴方がまだ使っていないだろうTest::Moreの5つの特色 | taro-nishinoの日記 | スラド

    以前にも書きましたが、私もCPAN Testersの下辺の最下位に参加しています。いろいろなテストの中身を覗くと、まだ新しいTest::Moreの特色がすべて使われているとは言えないと感じました。 Test::Moreを使うのはCPAN作者のみならず、Perlerなら必須の道具です。ですから、最低常識に位置します。そういう時に、David Golden氏は御自分も失念していたかのようにとぼけて、エッセイという形を取りながらも、こじんまりと綺麗に新しいTest::Moreの特色を"Five Test::More features you might not be using yet"で説明してくれています。 私は以前にも書いたことがありましたが、Perl体やCPANモジュールのドキュメントやハウツーものは一切訳さないと公言しました。その理由は訳さなければならないほどの英語ではない(せいぜい

  • perl - から未だに目を離せない四つ、あるいはただ一つの理由 : 404 Blog Not Found

    2011年01月31日22:30 カテゴリCultureLightweight Languages perl - から未だに目を離せない四つ、あるいはただ一つの理由 やはりお鉢がまわってきたので。 回答希望。ラクダかわいい以外で。@dankogai さんとか? 「〜今あえてPerlを取る理由というのが個人的には思い浮かばない。生粋のPerl使いならきっと流暢な解答を用意してくれると思う。」 プログラミング言語人気TOP10の簡易解説 http://ht.ly/3NaTkless than a minute ago via HootSuite佐藤 治男 HalSato プログラミング言語人気TOP10の簡易解説用途的にPythonRubyと被るので、今あえてPerlを取る理由というのが個人的には思い浮かばない。生粋のPerl使いならきっと流暢な解答を用意してくれると思う。 ベタ プログラミ

    perl - から未だに目を離せない四つ、あるいはただ一つの理由 : 404 Blog Not Found
    fbis
    fbis 2011/02/01
  • モジュールのバージョンを確認するときどうやってますか? - 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
    fbis
    fbis 2010/12/22
    「perl -MAcme::Hidek\ 9999」だとwindowsでうまく動いてくれないので「perl -e "use Acme::Hidek 9999"」ってやってる。まぁ同じことだけど。
  • Perl でお手軽 OpenGL - Articles Advent Calendar 2010 Win32

    みなさま初めましてこんにちは。ハガと申します。 のっけから言うのもナンですが、僕はほとんど Perl を使った事がありません。というかこの前初めて触りました。普段は C++ で OpenGL 関係のプログラムを書いている事が多いのですが、周りには Perl 使いしかいないという状況で、寂しい思いをしております。みんなに C++ を使ってもらうのは無理くさい(というか意味が無い)ので、それならせめて OpenGL を広めてやろう・・・ということで、 Perl でも OpenGL は簡単に扱えるよ!という事をご紹介したいと思います。 そもそも OpenGL って何でしょう Open Graphics Library の略で、三次元の絵を描くための API です。ライブラリって名前だけどライブラリじゃなかったり、オープンって書いてあるけど実装はオープンじゃなかったりと、まぁ色々ありますけど、細か

    Perl でお手軽 OpenGL - Articles Advent Calendar 2010 Win32
  • 記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym

    こんにちは。[/articles/advent-calendar/2010/casual/3:title=casual track 3日目]でも書かせていただきました、sugyanです。記号プログラミングはPerlくらいしかわからない素人ですが頑張って書いてみようと思います。よろしくおねがいします。 今日はPerlで記号プログラミングをするための基礎知識を説明します。Acme::EyeDropsでも使われているテクニックです。 ■Step1. アルファベットの変換 記号だけでPerlプログラムを書きたい! というとき、最も邪魔なのがアルファベットですね。まずはこれらをどうにかして記号だけで表現しましょう。 Perlの文字列は2つの文字列の論理演算で表現することができます。例えば 'A' という文字はASCIIコード0x41ですね。これをASCIIコード0x60の '`' と0x21の '!

    記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym
    fbis
    fbis 2010/12/06
  • Class::Accessor::Fastが破壊的だったと初めて知ったあの日 - Unknown::Programming

    事の発端はぽけーっとはてブのお気に入りを見ていたらClass::Accessor::Liteの記事が目に付いた事でした。 お、新しいモジュールか?と思いさっそく実装を拝見させてもらったわけです。 なるほどなるほど、超が付くほどの超シンプル。超々シンプル。実際問題Class::Accessor::Fast使うよりも、Liteのように自分で超軽量のアクセサ定義することの方が多かったりします。 しかし一点気になったところがありました。 @_のリファレンスを保存している部分があったのです。 # Class::Accessor::Lite-0.02 sub __m { my $n = shift; sub { return $_[0]->{$n} if @_ == 1; return $_[0]->{$n} = $_[1] if @_ == 2; shift->{$n} = \@_; ### ← こ

    Class::Accessor::Fastが破壊的だったと初めて知ったあの日 - Unknown::Programming
    fbis
    fbis 2010/11/29
  • オブジェクト指向とClass::Data::Inheritableは一緒に扱わないほうがいい。 - D-6 [相変わらず根無し]

    オブジェクト指向とClass::Data::Inheritableは一緒に扱わないほうがいい。 「オブジェクト指向なパラダイムでプログラムを書くとき」にClass::Data::Inheritableは排除すべきモジュールである。今回激しくそれを痛感しているので、だらだら書いてみたい。 まず、Perlはマルチパラダイムが可能な言語なので、Class::Data::Inheritable自体は否定されるべきものでもないし、あと必ず例外ケースはでてくるのでその際には躊躇なく使えばいいと思う。以下は最初の一文の通り、Perlでオブジェクト指向を使う場合はClass::Data::Inheritableは基的に使わず、あくまで例外ケースに留めるべきだ、という事を伝えたい。 まずその1: クラスアトリビュートはグローバル変数 クラスアトリビュートはグローバル変数です。異論は認めません。 Singl

    fbis
    fbis 2010/11/10
    Class::Data::Inheritableは代替策の4が全てじゃないのかなぁと。更にオブジェクト毎に値を変更したくなったらClass::Data::Accessorの方を使用する。
  • Encode::decode_utf8()であってもis_utf8()を使うべき理由 - このブログはURLが変更になりました

    404 Blog Not Found:#perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 Validationの観点だけではなく、簡潔性の観点からも、Encode::decode_utf8()はおすすめです。すでに UTF-8 flag がついた文字列はそのままコピーするだけなので、条件分岐も不要です。 これは厳密にはこうなる。 Validationの観点だけではなく、簡潔性の観点からも、Encode::decode_utf8()はおすすめです。すでに UTF-8 flag がついた文字列はEncode-2.13以降であればそのままコピーするだけなので、条件分岐も不要です。 Encode-2.12ではそのままコピーしてない。そのままコピーするのは2.13以降での実装。 --- Encode-2.12/Encode.pm 2005-0

    Encode::decode_utf8()であってもis_utf8()を使うべき理由 - このブログはURLが変更になりました
    fbis
    fbis 2010/11/05
    Encode2.12でハマッタ。
  • sprintf - Perldoc Browser

    #sprintf FORMAT, LIST Returns a string formatted by the usual printf conventions of the C library function sprintf. See below for more details and see sprintf(3) or printf(3) on your system for an explanation of the general principles. For example: # Format number with up to 8 leading zeroes my $result = sprintf("%08d", $number); # Round number to 3 digits after decimal point my $rounded = sprintf

    fbis
    fbis 2010/10/28
  • 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
    fbis
    fbis 2010/10/28
  • 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (3) | gihyo.jp

    PSGIミドルウェアを利用する PSGIミドルウェアはアプリケーションと同様にコードリファレンスとして実装されますが、いちいち.psgiファイルに記述するのはあまり効率が良くありませんし、再利用性もありません。そこでPlackにはミドルウェアをモジュールとして利用するためのベースクラスPlack::Middlewareや、それを利用して実装された各種ミドルウェアが同梱されています[2]⁠。 ここでは、これらのミドルウェアを利用して先ほどのTatsumakiアプリケーションを拡張してみましょう。 Auth::Basic PSGIアプリケーションに簡単なHTTP認証機能を付けるミドルウェアがAuth::Basicです。容易に拡張できるコールバックインタフェースを持っているため、データベースやLDAP(Lightweight Directory Access Protocol)などとの連携もでき

    第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (3) | gihyo.jp
  • Web::Scraper::LibXML

    fbis
    fbis 2010/09/13
    HTML::TreeBuilder::LibXML->replace_original();
  • 公式ドキュメント一覧(日本語訳つき) - Perl入門ゼミ

    Perl › 公式ドキュメント Perlの公式ドキュメントの一覧です。日語訳が存在するものはリンクしています。 概観 初心者のためのPerlの入門 (perlintro) 入門 Perlリファレンスの短い入門 (perlreftut) Perlデータ構造入門 (perldsc) Perlデータ構造: 配列の配列 (perllol) Perl正規表現クイックスタート (perlrequick) Perl正規表現入門 (perlretut) 初心者のためのPerlオブジェクト指向入門 (perlboot) Perlオブジェクト指向入門 その1 (perltoot) Perlオブジェクト指向入門 その2 (perltooc) Perlオブジェクト指向 秘訣とサンプル (perlbot) Perlパフォーマンスと最適化のテクニック (perlperf) Perlスタイルガイド (perlstyl

    公式ドキュメント一覧(日本語訳つき) - Perl入門ゼミ
  • Template::ToolkitからText::Xslateへの移行 - thinking now...

    my $xslate = Text::Xslate->new( syntax => "TTerse", ); syntaxを当然のようにTTerseにしてはいたんですが、VMethod使いたいなーと思って探したらText::Xslate::Bridge::TT2Text::Xslate::Bridge::TT2Likeってのがありました。。TT2の方は、use Template::VMethods ();use Template::Filters ();してますね。。。Templateはインストール済みなので、TT2の方でもいいんですが、今後Templateはインストールしなくなりそうなので・・。 my $xslate = Text::Xslate->new( syntax => "TTerse", module => [ 'Text::Xslate::Bridge::TT2Like' ]

    fbis
    fbis 2010/08/24