タグ

perlに関するtripleshotのブックマーク (18)

  • Kazuho@Cybozu Labs: Perl で埋め込み SQL を使って楽をする話

    « Japanize for IE バージョンアップのおしらせ | メイン | Filter::SQL を使って掲示板を書いてみました » 2008年04月16日 Perl で埋め込み SQL を使って楽をする話 DSL (ドメイン固有言語) は、プログラム開発の生産性を向上させる有力な手段です。そして、よく使われる DSL の代表例が正規表現と SQL だと思うのですが、前者に比して後者を嫌いな人が多いようです。なぜだろうと思ってつぶやいたところ、「SQL はリテラルじゃないから!」という答えが tokuhirom さんから返ってきました。そういえば例えば Pro*C のように C で Embedded SQL というのは良く聞く話なのに、Perl では同様の例がないような感じだったので、作ってみました。Perl で埋め込み SQL を実現するソースフィルター Filter::SQL

    tripleshot
    tripleshot 2008/11/14
    使ってみたい
  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

  • Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改メ tokuhirom’s blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    tripleshot
    tripleshot 2008/04/10
    おおお実にシンプルな方針。迷ったら Devel::Peek することにしよう
  • Cache::Memcached::LibMemcached の非同期モードはありえないくらい速い。 - D-6 [相変わらず根無し]

    Cache::Memcached::LibMemcached の非同期モードはありえないくらい速い。 先輩! 仕事で疲れた脳を休めようと、先ほどlibmemcachedが備えているno_blockをCache::Memcached::LibMemcachedからも設定できるようにしてみたんです。で、ベンチマークを取ってみたところ・・・ daisuke@beefcake Cache-Memcached-LibMemcached$ perl -Mblib tools/benchmark.pl ==== Benchmark "Simple set() (scalar)" ==== (warning: too few iterations for a reliable count) Rate perl_memcahed memcached_fast libmemcached libmemcac

    tripleshot
    tripleshot 2008/01/23
    ひええ!
  • ブログが続かないわけ | Web::Scraper 使い方(超入門)

    3年前にこのに出会って、僕はスクレーピングの虜になった。 おかげで正規表現をたくさん書く機会が得られたし、CPANのモジュールともたくさん触れ合うことができたし、さらに自分自身でも構造化されたHTMLを書く習慣も身についた。 ただ、やっぱり、スクレーピングは簡単ではない部分もたくさんあると思う。文字コードについても意識しなければならないし、なにより正規表現で必要な部分を抽出することそのものが結構骨のいる作業だ。HTML::TreeBuilder を使った方がいいのか、それとも正規表現だけでやったほうが楽なのか。そんなことを考慮しながらコーディングして行く。そこがスクレーピングの楽しいところでもあるのだが、そこがスクレーピングの敷居を高いものにしていることも否めない。 そんな、愛らしくもあり憎たらしくもあるスクレーピングを簡単にやってしまうのがこのモジュール、Web::Scraper だ。

    ブログが続かないわけ | Web::Scraper 使い方(超入門)
    tripleshot
    tripleshot 2007/12/13
    Web::Scraper
  • Web::Scraper超便利

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « 夜中に人の家に突撃して、肉じゃがを作るオフ? :: 国際競争力、24位に後退 » 2007/05/13 Web::Scraper超便利  perl  scrape 87 2へぇ もう3年くらい前になりますが、Template::ExtractでWebのスクレーピングをするのが便利だという話がありました。で、当時作ったスクリプトが実はまだ某所で動いていたりするわけですが、いまやもっと便利なライブラリができてるんですねぇ。 naoyaのはてなダイアリー - Web::Scraper ばっちりですね。シンボルの書き方とかがちょっと違うところ以外は Ruby 版とほぼ等化。DSL 周りのドキュメントはまだないけどとりあえず scrapi のドキュメントを読めば ok! \(^o^)/ 時間はただ流れている

    Web::Scraper超便利
    tripleshot
    tripleshot 2007/12/13
    Web::Scraper の使い方入門
  • 原稿・資料 ― ありえるえりあ

    アスキー NETWORK MAGAZINE原稿 アスキー NETWORK MAGAZINE 2005年3月号(http://nmag.jp/modules/xfsection/article.php?articleid=3)の「いま改めて知っておきたいこれからのP2P」の原稿です。 Read More…

    tripleshot
    tripleshot 2007/11/19
    boom filter について
  • Using Bloom Filters

    Using Bloom Filters Apr 8, 2004 by Maciej Ceglowski Anyone who has used Perl for any length of time is familiar with the lookup hash, a handy idiom for doing existence tests: foreach my $e ( @things ) { $lookup{$e}++ } sub check { my ( $key ) = @_; print "Found $key!" if exists( $lookup{ $key } ); } As useful as the lookup hash is, it can become unwieldy for very large lists or in cases where the

    Using Bloom Filters
  • Perl Tips | Linux で、デーモンのプログラム(Perl スクリプト)を自動起動させるには?

    Perl で、デーモン (Daemon) のプログラムを書くには? 」ではタイトルの通り、Perl でデーモンのプログラムを書く方法を紹介した。 それでは、せっかく Perl で書けたこのデーモンプログラム(Perl スクリプト)、Linux で自動起動させてあげるにはどうしたらいいのだろうか? 以下のスクリプトの青字の部分を修正する。 .pl には、Perl で書いたデーモンのスクリプト名が入る。 /var/www/cgi-bin/your_service_dir には、上のスクリプトを置いた場所が入る。 以下のシェルスクリプトを your_service_manager など、自分の好きなファイル名にして、/etc/rc.d/init.d に保存する。 スクリプトは実行できるようにしておくこと。 $ chmod +x your_service_manager #!/bin/bash

  • 4-2. Perl の危険な関数

    Perlには他のプログラムを起動したり,文字列で与えられた式を実行時に解釈実行する機能を持つ関数が用意されている。こうした関数に与える引数は,十分に吟味しないと,悪用されて意図しないコマンドを実行させられる。 Perlには外部プログラムとの連携機能が複数組み込まれている。Perlは連携機能を実現するため内部的にUnixシェルを起動する(注1)。そのため連携機能をユーザ入力データなどの外部から与えられるデータと組み合わせて使用する場合,外部からシェルコマンドを混入され実行されてしまう可能性がある。次の関数はこのような問題につながる注意すべき関数や構文である。 open system, exec, ``(backticks) <>(fileglob),glob C言語などのコンパイル系言語と異なりPerlはスクリプト系言語である。Perlは実行時にプログラムを解釈して実行する。eval

  • Perl Tips | Perl で、デーモン (Daemon) のプログラムを書くには?

    Perl で、スクリプトをデーモン化するのはそんなに難しくない。 Proc::Daemon というモジュールを使えば簡単にできる のだが、それには小さなフレームワークに沿ってスクリプトを書かねばならない。次のサンプルに空のフレームワークを示したので、既存のスクリプトがある場合にはこれに沿って自分のスクリプトを少々改造すればよい。基的には action サブルーチンにロジックを書けばいいようになっている。 使用するモジュール use Proc::Daemon; #/usr/bin/perl -w use Proc::Daemon; our $DAEMON         = 1;      # デーモンにするか?: 1(オン) / 0 (オフ) our $SLEEP_INTERVAL = 60;     # スリープの間隔(秒) &init; &run; sub action { # ここ

    tripleshot
    tripleshot 2007/03/20
    これはナイス
  • ファイル検索イテレータ Find::File::Iterator って便利かも?

    Perl でディレクトリ一覧を取得するとき、File::Find を使ったり、opendir でゴリゴリ書いたりってのが普通だったりしませんか?Perl 標準だけで書けるので。僕の場合は、配布用 CGI とかは、File::Find を使って、それ以外では自前のモジュールって感じで使っていました。 で、最近 File::Find::Iterator を今更ながら知りました。なんか 2003 年でメンテナンスが止まっているっぽいですが、なかなか優れもののモジュールです。ソースを見ると File::Find を継承したものではなく、Class::Iterator を継承して IO::Dir 使って書かれてます。今、Author をよく見たら作者が同じだった・・・。 File::Find を使った場合は、 use File::Find; our @files; our @dirs; find(\

  • Config::Simple - 簡単な設定ファイルクラス - perldoc.jp

    名前¶ Config::Simple - 簡単な設定ファイルクラス 概要¶ use Config::Simple; # --- 簡単な使い方。設定ファイルをハッシュに読み込みます: Config::Simple->import_from('app.ini', \%Config); # --- オブジェクト指向インターフェース: $cfg = new Config::Simple('app.ini'); # 値へアクセスする: $user = $cfg->param('User'); # 値をハッシュとして得る: %Config = $cfg->vars(); # 文字列で値を更新する: $cfg->param('User', 'sherzodR'); # 配列で値を更新する: $cfg->param('Users', ['sherzodR', 'geek', 'merlyn']); # i

  • 狐の王国 perlでSingleton

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Perlの排他制御 (flock,open,symlink,mkdir,rename)

    ファイル操作の排他制御といえば、以下のものが代表的です。 flockとロックファイル(ディレクトリ)式に大きく分けられます。 ロックファイル(ディレクトリ)を使う open関数 symlink関数 mkdir関数 rename関数 古いロックファイル(ディレクトリ)の削除 シグナルトラップ flockを使う flock関数 読込モード 追加モード 上書き・読み書きモード エラー処理 まとめてロックする タイムアウト ■ロックファイル(ディレクトリ)を使う 基は単なる使用中の目印です。目印が無いときに入って、自分で目印を作り、操作が終わったときに消して出るだけですね。トイレみたい(^^) で、使用中なら何回かノックします。(せかすな〜) open関数 ファイルオープン関数でファイル作成。 1.ファイルが存在するか。 2.しなければ作成。 と2段階を要するので、その隙に他のプロセスが

    tripleshot
    tripleshot 2007/03/08
    参考になります
  • http://dev.razil.jp/project/xango/

    tripleshot
    tripleshot 2006/12/15
    ちょっと試してみたい
  • Perl%u30AA%u30D6%u30B8%u30A7%u30AF%u30C8%u6307%u5411%u30D7%u30ED%u30B0%u30E9%u30DF%u30F3%u30B0

    tripleshot
    tripleshot 2006/07/06
    参考になるッ!!
  • 1