タグ

perlに関するaltrのブックマーク (92)

  • 幅優先探索で迷路の最短経路を探す

    幅優先探索で迷路の最短経路を探す 2010-01-14-4 [Algorithm][Programming] 迷路の最短経路を探すプログラムを作成するという問題について。 - 人材獲得作戦・4 試験問題ほか (人生を書き換える者すらいた。) http://okajima.air-nifty.com/b/2010/01/post-abc6.html これは単なる幅優先でOKですね。 足跡を記録していき、すでに別の子が通った道にぶつかるか(足跡の有無で判定)、行き止まりに到達したら枝狩り。 幅優先なんだからこれで見つかるのが最短経路。 後からの「最短性のチェック」は不要です。 「アルゴリズム知らないとできない」とか以前の問題で、正式にプログラミングの基礎を学んだ人ならできて当たり前の問題です。ピンと来ない人は、ポインタわからない、再帰わからない人と同列かなあ。 バリバリプログラミングからは一線

    幅優先探索で迷路の最短経路を探す
  • 生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic

    ちょっと前まで DBI で非同期アクセスなエントリが各所で上がっていましたが皆さん如何お過ごしでしょうか? さてと、、、歴史的な経緯とか歴史的な経緯とかで生 DBI 相当を使ってる方もそれなりにいるでしょう。奥さん、大事な事なんで二度言いましたよ! DBI のインターフェースってまぁそんな使いやすい物じゃないんですが、工夫次第で出来る事もあります。 ちなみにサンプルデータベースとして、MySQL Documentation - Example Databases の world データベースを使っています。 fetchall_arrayref でデータ整形 まず以下のように使ってみます。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use DBI; use Perl6::Say; my $dbh =

    生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic
    altr
    altr 2009/08/05
  • 本文抽出モジュールを作り直す - download_takeshi’s diary

    2年ほど前にHTML::FeatureというPerl文抽出モジュールを書きました。 こいつはブログやニュース記事から「文らしき箇所」を適当に推測して抽出してくれるモジュールでして、リリースした当時はライバルもいなかったので、ブログなどでは結構反応がよかったです。外国の方も何人か使ってくれたりして、それなりに充実感のあるモジュールでした。 しかし、昨年HTML::ExtractContentが出現してからは、すっかりその地位を奪われ&忘れられた感がありました。作者としては「ま、いっか」的なノリだったのですが、最近になって急に「文抽出界での復権を目指し全面リメイクを敢行するよ!」と思うに至りました。 改善方針 方針ってほどの方針ではありませんが、 - サイトごとに定義できる部分はすなおに定義する - アルゴリズムに頼りすぎない - google adsenceの人気にあやかる - 全体

    本文抽出モジュールを作り直す - download_takeshi’s diary
    altr
    altr 2009/07/23
  • perl - & はいつ使うべきか : 404 Blog Not Found

    2009年07月22日21:30 カテゴリLightweight Languages perl - & はいつ使うべきか 鋭い質問です。 Perlの謎(その10)サブルーチンの呼び出し方 - 燈明日記 組み込み関数と同名のユーザ定義関数を定義したときは、どうしても『&』付きでないと呼び出せないのです。id:chaichanPaPaの主張は、以下のとおり確認できます。 #!/usr/bin/perl use strict; use warnings; sub atan2{ "atanatan"; } print atan2(1,1), "\n"; しかし、実際にはビルトイン関数を上書きしているモジュールは少なくありません。たとえばCGI::Carpはdie()やwarn()を上書きしています。 それでは、ビルトイン関数の上書きはどうやるのでしょうか?そして、一旦上書きされたビルトイン関数を呼

    perl - & はいつ使うべきか : 404 Blog Not Found
    altr
    altr 2009/07/23
    →ビルトイン関数は *CORE::GLOBAL::foobar で再定義される/&を使うべきでない理由
  • Catalyst を daemontools で監視しつつ lighttpd の外部 FastCGI で走らせる方法とそのメリット - Craftworks Tech Blog - Branch

    JPA セミナーの時に jshery 氏も勧めていましたし、近頃 Geek の話題で目立つようになってきた、Catalyst を mod_perl でなく、外部 FCGI として走らせる設定方法を紹介します。 Catalyst プロセスの起動管理は DJB 氏の daemontools による管理がお勧めです。プロセスが死んでも自動的に再起動してくれます。手動での再起動も楽です。screen からショートカットキー登録して Catalyst を再起動する方法も後ほど紹介します。 Catalyst の FastCGI 起動の設定 まずは daemontools の run スクリプトです。 run #!/bin/sh exec 2>&1 exec env - \ PATH='/bin:/usr/bin:/usr/local/bin:/var/www/www.example.com/scrip

    Catalyst を daemontools で監視しつつ lighttpd の外部 FastCGI で走らせる方法とそのメリット - Craftworks Tech Blog - Branch
  • perl - use encoding; #は黒歴史 : 404 Blog Not Found

    2009年06月08日14:30 カテゴリLightweight Languages perl - use encoding; #は黒歴史 ぎゃあぁぁ length関数で文字列の長さを求める - perl初心者BLOG - Hatena::Group::Perl語の文字数を正確に求めたい場合、use encodingを指定する use encoding;は、jperlなど、かつて存在したL10Nされたperl用に書かれたレガシースクリプトを、モダンperlで動かすときのためのおまじないです。こういう目的で利用すべきではありません。 このあたりのことは、以前 404 Blog Not Found:perl - no encoding; # whenever possible でも書いたのですが、大事なことなのでまた書きます。 スクリプトはUTF-8で書き、use utf8;する のがモ

    perl - use encoding; #は黒歴史 : 404 Blog Not Found
    altr
    altr 2009/06/15
    q{スクリプトはUTF-8で書き、use utf8;する}
  • 現代的な Perl を再習得する方法は? | スラド デベロッパー

    久しぶりに Perl格的な Web アプリを書こうと思い始めたが、その間に Perl の世界は大きく変わってしまったようで、include jcode.pl が当然だった時代からすると、現代的に書かれたソースはまるで別言語のようだ。 モジュール等を活用した現代的な Perl を再習得したいが、書籍を買おうにも現代的な手法を知らない人間にとっては、どのが現代的なのかの区別が出版日ぐらいでしかつけられない。 現代的な Perl を習得するためには、どのようなステップを踏むのが良いだろうか ? またお勧めの書籍などあったら教えて欲しい。

    altr
    altr 2009/06/15
    q{現代では、そのレベルより先に進むなら、RubyかPythonを学んだ後にperlで同様なことを実現する手法を探したほうがよさげです。} あるある…
  • minish - blosxom like CMS - 空繰再繰

    minishというblosxomライクなCMSを公開しました。 三月ごろに作ってるよって言って放置してた、 minishというblosxomライクなCMSを今日になってようやく公開しました。 公開URIはこちら。 http://svn.coderepos.org/share/lang/perl/minish/trunk で、minishの特徴。 CGIやFastCGI環境で動作 CGI.pmのインスタンスさえ用意すればmod_perlやHTTP::Server::Simpleといった環境でも動作 ユーザーが用意するファイルは設定ファイルとテンプレートとページファイルだけ pluginによる柔軟な拡張が行える プラグインを組み合わせればMENTAのような軽量WAFとしても使える minish.plをrequireすればスクリプトからでもminishの操作が行える testファイルはこの方法で

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perl の Unicode フラグの扱い - @kyanny's blog

    追記 2009-06-12 - つれずれなるままに… がとてもわかりやすい。俺も UTF-8 flagged とかじゃなくて「バイト列」と「文字(の)列」の違いだと考えはじめてから理解が早まったように思う。あとだしじゃんけん−。 技術的なことは何も書いてません。ただの回顧です。 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech 俺も長いことわからなくて文字化けを解消できずに困っていたなーと、昔を思い出した。いまでもインターナルな部分はわかってないけど・・・。表面的な部分で躓かないようになるまでに要した時間が長かった。四、五年くらい前に、 Unicode フラグというものの存在を知ってから二、三年くらいかかってやっと自分のなかで消化できたように思う。 当時は 404 Blog Not Found:perl - Encode 入門 も 404 Blog Not Fo

    Perl の Unicode フラグの扱い - @kyanny's blog
  • http://d.hatena.ne.jp/Yuichirou/20090612

  • Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming

    正直言いますと、個人的には定数って殆ど使わないんですよね。 昔はちょこちょこ使ってたんですが、最近は定数となりうる物は基的にYAML等外部ファイルに持たせて変更可能にすることが多いのでまったく使ってません。 ですがそれでもPerlで定数を使いたい時にはどーすんの?っていう時のために軽くここにまとめておきます。 言わずもかなPerl5.8にはconstantという定数を定義できる標準モジュールがあります。 use strict; use constant PI => 3.14; # 表示 print PI; # 3.14 # 上書きしようとすると・・・ PI = 3; # Can't modify constant item in scalar assignment とこのように上書きしようとするとエラーを吐いて死にます。 しかも実行時ではなく、コンパイル時にエラーを吐きます。 実はこのc

    Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming
    altr
    altr 2009/06/15
    q{リファレンスを定数にしてもそのアドレスそのものは上書きできないが、参照しているデータは上書きできるので注意が必要なのです。}ふむ
  • 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
  • ついに出た!最新Perlフレームワーク「Ark」徹底解剖:第1回 Arkって何だ? -Ark が生まれるまで|gihyo.jp ... 技術評論社

    はじめまして。面白法人カヤックの村瀬と申します。ArkというWebアプリケーション作成用のフレームワークを開発しました。今回から4回にわたって、このリリースしたばかりの「Ark」について紹介させていただきます。 Ark(アーク)とは Arkは、Perlで作られたWebアプリケーションフレームワーク(WAF)です。 Arkの特徴としては Catalystに似たインターフェース CGI/FCGI/mod_perlなどさまざまな環境で実用的に動作する CGI用モードの存在 日製であり、日語ドキュメントが充実している などが挙げられます。 Catalystに似たインターフェース Catalystは、Arkと同様にPerl製のWebアプリケーションフレームワークで、現在、Perlのフレームワークでは標準となりつつあるものです。 Arkは開発動機の1つが「CGIでも実用的に動作するCatalyst

    ついに出た!最新Perlフレームワーク「Ark」徹底解剖:第1回 Arkって何だ? -Ark が生まれるまで|gihyo.jp ... 技術評論社
    altr
    altr 2009/06/08
  • 面白ラボBM11(ブッコミイレブン) 2009: Ark

    Ark CGIでも実用的に使うことが出来るCatalystライクなウェブアプリケーションフレームワーク 2009.06.01 ArkはCatalystの流れをくむPerl製のウェブアプリケーションフレームワークです。 カヤックのBM11ブッコミイレブンのような大量に小さなアプリケーションを開発するような現場においてはCatalystのような大規模なフレームワークは逆に足枷になってしまう場合があります。 「もっと軽いけどCatalystっぽくつかえるフレームワークが欲しい・・・!」 というラボ内の要望に応えて新しいフレームワークを開発しました。 といっても一から開発したのではなく、最近のPerlにはHTTP::Engineという「フレームワークをつくるためのフレームワーク」とも言える素晴らしいライブラリがあり、そのライブラリの上で開発を行っています。 HTTP::Engineを使用するとCG

    altr
    altr 2009/06/02
    Ark , HTTP::Engine
  • .emacs を晒すのが流行っているようなので、晒してみる - Hasta Pronto.org

    最近なにやら .emacs の perl の設定を晒してる人が多いので僕の晒しておくことにする。っといっても自分でゼロから書いた elisp はなくて、ほとんどが漁って拾って来た設定だったりします。ところどころ誰のを拾ったか書いてあったり、最近書かれてた設定に変えてあったりはするんですが、それは愛嬌ってことで。 ;;; ================================================================ ;;; ;;; Perl Programming Settings ;;; ;;; ================================================================ ;;; (autoload 'perl-mode "cperl-mode" "alternate mode for editing P

  • Dreamweaver CS4でTemplateToolkitをいじる - pepponの日記

    DWでTTのファイルを開けないってことなので、調べたら公式サイトに拡張子追加の方法があったんだけど、、 編集しても反映されない状態で困っていたんだけど、どうも場所が違うらしい・ orz 弄るべきファイルはWindowsXPの場合 C:\Documents and Settings\ユーザ名\Application Data\Adobe\Dreamweaver CS4\ 以下になる Program Filesにも同じようにあるんだけど、優先順位があって上記ディレクトリが優先になるので、上記ディレクトリにファイルがあった場合無視される。 ついでなのでTMPLもいれといた MMDocumentTypes.xml ドキュメントタイプ設定 これをやらないとファイルを開くけど、デザインビューできない C:\Documents and Settings\ユーザ名\Application Data\Ado

    Dreamweaver CS4でTemplateToolkitをいじる - pepponの日記
  • 三項演算子は左辺値にも使える - Craftworks Tech Blog - Branch

    $var = $bool ? $foo : $bar; という書き方はよく見ますが、 if ( $bool ) { $foo = $value; } else { $bar = $value; } 実は、こういう書き方も、 $bool ? $foo : $bar = $value; こう書くこともできます。 可読性とのトレードオフを考慮して使用してください。PBP の Damian 氏は非推奨派です。 LVALUE 属性のなせる業ですね。他に substr() も左辺値に使えます。 ちなみに、この機能はビルトイン関数以外にも Attribute を使って、サブルーチンやメソッドに自分でも実装できます。 詳しくは、perldoc perlsub を lvalue で検索してみてください。 http://perldoc.jp/docs/perl/5.10.0/perlsub.pod

    三項演算子は左辺値にも使える - Craftworks Tech Blog - Branch
    altr
    altr 2009/05/29
    確かに三項演算子のが代入演算子より優先度高い。しかしわかりづらい。
  • blog.nomadscafe.jp: CGI::ApplicationでTropy

    CGI::ApplicationでTropy Tropyが面白い。しかも勉強用にちょうどいいサイズ。 クローンがいくつか既にあるけど、ハテナオヤさんがCatalystでつくったので、CGI::Applicationでもやってみた。 http://nomadscafe.jp/caropy/caropy.cgi ネーミングセンスないけど、CGI::Application::TropyなのでCaropyとしてみた。 ソースはこちらから見れます。 依存するモジュールは以下です。 CGI::Application::Plugin::TT CGI::Application::Plugin::FormValidator::Simple CGI::Application::Plugin::Redirect Class::DBI::Sweet Primaryキーの生成にはData::UUIDを使用してます。

    altr
    altr 2009/05/28
  • Perlメモ/モジュールのインストール(PPM) - Walrus, Digit.

    ActivePerl+PPMによるモジュールインストール方法。 WindowsLinux等にActiveState社が提供しているPerl環境「ActivePerl」では、モジュールを「PPM」というツールでインストールできます。 このPPMについてのメモを載せていきます。 PPMに何か問題があれば、CPANも試してみてください。 CPANでは、PPMではインストールできないモジュール、より新しいモジュールをインストールできることが多々あります。 CPANについては、Perlモジュール/インストール(CPAN)にまとめてあります。 コマンドラインから、下のコマンドを叩くだけです。 ppm install パッケージ名 多くのパッケージ名には、「::」または「-」が含まれますが、これはどちらを使用しても構いません。 例えば、「CGI-Lite」と「CGI::Lite」では、どちらの書式でも