タグ

perlに関するheinaのブックマーク (374)

  • バイナリファイルを解析する

    Perlといえばテキスト処理や正規表現が得意で、バイナリを扱うような話についてはあまり聞かない印象があります。Perlが持つ関数pack/unpack等でもバイナリ処理は可能ですが、今回はData::ParseBinaryを使ってバイナリファイルを気軽に解析してみましょう。 基 ファイルからストリームを作る 解析したいファイルをData::ParseBinaryで扱えるストリームに変換します。 use Data::ParseBinary; my $stream = CreateStreamReader(File => $file_handle); 解析したい構造を定義する Struct関数で解析したい構造を定義します。Struct以下には基データ型やコンテナ型、ビット/バイトパディング型、制御構文型等を使用できます。各型に指定したラベルが解析結果として得られるハッシュのキーとなります。

    heina
    heina 2009/06/25
  • perlによる大規模データの取扱い

    ページでは,perlでどのようにして大規模なデータを保存するかついて 説明します.主にスタンドアロンで動くもの (クライアント<->サーバ型 でない,いわゆる組込み型) について紹介したいと思います. Menu Berkeley DB BerkeleyDB DB_File SDBM SDBM_File GDBM GDBM_File CDB CDB_File QDBM Depot Curia Villa TDB TDB_File SQLight DBD::SQLite SUFFIX ARRAY SUFARY SARY 複雑なデータ構造 Data::Dumper Storable MLDBM いろいろな比較 ファイルサイズ Benchmark Link サンプルデータについて Berkeley DB Berkeley DBは,組み込み向けデータベースです.通常データベースという とOracl

    heina
    heina 2009/06/25
  • YappoLogs: TokyoCabinetがPerlのHASHより遅いわけがない!

    TokyoCabinetPerlのHASHより遅いわけがない! こんにちわ!金曜日担当・Shibuya内フェアリーことYappoです。 mixi Engineers’ Blog » PerlRubyで省メモリなハッシュを使おうにて 100万件のレコードを格納した場合のメモリ使用量と処理時間を測ってみましょう。Perl(5.8.8)でテストコードを動かしたところ、以下の改善が確認できました。標準のハッシュに比べて、メモリ使用量がTCのオンメモリハッシュだと約61%、TCのオンメモリツリーだと約37%になることがわかります。処理時間に関しては157%ほどになっていますが、まあ許容範囲ですよね。といった事が書かれており、その文面の上の解説で、tieしたので、tieしてるからおせーんじゃねーの?とテストコードも見ないで呟いてたらmikioさんからtie使わないでやってるよ!とつっこんでいただき

  • perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! : 404 Blog Not Found

    2009年06月21日19:00 カテゴリLightweight Languages perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! リハビリをかねて作りました。 /lang/perl/Class-Builtin/trunk - CodeRepos::Share - Trac dankogai's p5-class-builtin at master - GitHub @CPAN (coming soon)こういうことが出来ます。 #!/usr/bin/perl -l use strict; use warnings; use Class::Builtin; binmode STDOUT, ':utf8'; my $so = OO('小飼弾'); print $so->length; print $so->decode_utf8

    perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! : 404 Blog Not Found
    heina
    heina 2009/06/25
  • 3行でできる超お手軽全文検索 - mixi engineer blog

    梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER

    3行でできる超お手軽全文検索 - mixi engineer blog
    heina
    heina 2009/06/25
  • Melody: Community Powered Publishing

    Melody is an open source content management system for bloggers and publishers where its community of users and contributors is its most important feature. We believe that a vibrant community is the foundation on which all successful products and services are built today. We are now at the very beginning of that mission. There is much to do and we want you to join us! Learn more about Melody Commu

    heina
    heina 2009/06/25
  • OSSピックアップ - データベースエンジン/サーバー編 | OSDN Magazine

    「OSSピックアップ」は、世界最大のオープンソースソフトウェア情報サイト「freashmeat.net」に掲載されているオープンソースソフトウェアから、人気のあるものや最近注目を浴びているものをピックアップして紹介する企画である。今回はデータベースエンジン/サーバーとして分類されているオープンソースソフトウェアから注目のものを紹介する。 定番のデータベースエンジン「PostgreSQL」 PostgreSQLは20年以上の歴史を持ち、すべてのメジャーなOSで動作する、安定したリレーショナルデータベースシステム(RDMS)である。 PostgreSQLはACID(アトミック性/一貫性/独立性/永続性の頭文字を取った頭字語であり、トランザクション処理を行う際に必須の機能)を備えており、外部キー(foreign keys)や表結合(joins)、ビュー、トリガー、ストアドプロシージャといった、機

    OSSピックアップ - データベースエンジン/サーバー編 | OSDN Magazine
    heina
    heina 2009/06/24
  • naoya.dyndns.org is offline

    naoya.dyndns.org is currently offline. Please try again later. Questions about our services? Learn more at Dyn.com.

    heina
    heina 2009/06/24
  • Perl Encode - PukiWiki

    http://www.pure.ne.jp/~learner/program/Perl_unicode.html Perl 5.8.x Unicode関連 目次 Perl 関連 ・Perl 変数について ・Perl Tips ・Perlオブジェクト指向プログラミング ・Perl 5.8.x Unicode 関連 ・Perl(とか)の書籍 > 趣旨と注意書き > UTF8フラグ? > UTF8フラグとPerlIOレイヤ > UTF8フラグのついた文字列を記述する > Wide character in print ... > Encode > utf8::* > use utf8; > use encoding; > use UTF8 と use encoding > JcodeからEncodeへ > 情報源 - モドル 趣旨と注意書き Perl 5.8.x のUnicode 関連です。 正

  • [D] Remedie Player

    @miyagawaが主体となって開発しているRemedieというネットワーク(RSS)ベースのメディアプレイヤーがあるのですが、このプレイヤーは、ブラウザベースで作動し、バックエンドは、主にperlで開発されていているので、稼働させる為には、CPANでモジュールをインストールするなど、ちょっと最初の導入の敷居が高かったのですが、アイコンクリック一発で起動できるようにしてくれーと、念を送っていたら、Remedie ServerというOS Xアプリ化されてアイコンダブルクリックだけで、Remedieサーバーを起動できるバイナリを作ってくれたので、勢いでRemedie Playerを作ってみました。 ダウンロードはこちらから配布しています。 別途こちらから最新のRemedie Serverをダウンロードも行って下さい。 二つのアプリをインストールしておけば、あとは、Remedie Playerを

    heina
    heina 2009/06/21
  • WWW::Mechanize::AutoPager+Web::Scraperで複数ページにまたがるデータを扱う - bits and bytes

    AutoPagerizeのSITEINFOに含まれている、次のページへのリンクを示すXPathはAutoPagerize以外の用途でも使うことができます。 CPANにこのSITEINFOをパースすめたるの HTML::AutoPagerize - Utility to load AutoPagerize SITEINFO stuff というモジュールがあるのは知っていたのですが、ページのロードと次のページのURLの解決もやってくれる WWW::Mechanize::AutoPager - Automatic Pagination using AutoPagerize というモジュールがあるのはさっき知りました... このモジュールを使うと、MechanizeでロードしたページがAutoPagerizeのSITEINFOに記述されていれば、自動的にSITEINFOのnextLinkを参照して

  • アジア美人のか〜わいいポーズの画像をひたすら集めまくってみるワンライナー - すぎゃーんメモ

    これを1行と呼んでいいのかどうか、はともかくとして。 perl -MWeb::Scraper -MURI -le'do{map{print}@{($r=scraper{process"#home_left img","i[]","\@src";process"span.pages",p,TEXT}->scrape(URI->new("http://asianposes.com/category/pose/".($n?"page/$n/":""))))->{i}}}while$r->{p}=~/(\d+) of (\d+)/&&($n=$1+1)<=$2'|wget 突然そそのかされたので。 SATO Yozo on Twitter: ""【速報】ものすごい勢いで@sugyanがワンライナーを書き始めたようです。" - アジア美人のか~わいいポーズをひたすら集めまくっているブログw『Asia

    アジア美人のか〜わいいポーズの画像をひたすら集めまくってみるワンライナー - すぎゃーんメモ
    heina
    heina 2009/06/19
  • Net::Pixivっての書いたけど - id:k-z-h

    需要ある?kuzuha’s Net-Pixiv at master - GitHub

    heina
    heina 2009/06/17
  • ゆーすけべー日記

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

    ゆーすけべー日記
    heina
    heina 2009/06/16
  • wakaponさんの超☆Perl備忘帳: utf8フラグについて

    microperlでutf8フラグがperlと同じ扱いうけてるのかを調べつつ,Perlにおけるunicode対応についてうわべだけをまとめてみるてst.とりあえずuse utf8とutf8::decode/encodeから切り込んでみた.文中ではutf8からはいふんぬきぬきしてます.表記としてutf-8が正しいです.たぶん.なお,今回の内容は変数の値に対するめもりんぐで,サブルーチン名や変数名に対する効果については触れないです.プラグマモジュールutf8プラグマモジュールutf8を使うと,ランタイムコンパイラのlexerに入力されるプログラムにある文字列定数の中に,文字コードがマルチバイトで構成される文字が入っていた場合,その文字列に対し,utf8フラグが付加される.5.10.0の実装では,struct svのflagsのSvUTF8ビットが立つ.プログラマはutf8フラグによって,マ

    heina
    heina 2009/06/16
  • Perl 5.8.x Unicode関連

    -> 趣旨と注意書き -> UTF8フラグ? -> UTF8フラグとPerlIOレイヤ -> UTF8フラグのついた文字列を記述する -> Wide character in print ... -> Encode -> utf8::* -> use utf8; -> use encoding; -> use UTF8 と use encoding -> JcodeからEncodeへ -> 情報源 <- モドル 趣旨と注意書き Perl 5.8.x のUnicode 関連です。 正直、5.8.x は、ネタでしか使ってなかったので(ぉ、ちゃんといじったことがありませんでした。 使ってみると、よくわかんなくなったので、ちょっとまとめてみました。 今でもあんまりわかってないかもしれないので、内容は無保証です。 突っ込み歓迎。 Jcode、Encodeのメンテナの弾さんから、ご指摘いただいたので、

    heina
    heina 2009/06/16
  • Perl5.8 の UNICODE 対応

    perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し

    heina
    heina 2009/06/16
  • ImagerとImage::Magickのよく使うメソッドをまとめてみた - 80nikki

    簡単に違いを書くと Imagerはインターフェースがかっけえ Image::Magickはなんか枯れてる 速度はあんまかわんない ファイル読み込み、書き出し、エラー出力 Imager my $img = Imager->new; $img->read(file => $filename) or warn $img->errstr; $img->write(file => $filename) or warn $img->errstr; Image::Magick my $img = Image::Magick->new; $err = $img->Read($filename); $err = $img->Write($filename); $err = $img->Read('-'); # 標準入力から読み込み $err = $img->Write('png:-'); # 標準出力へ書き

    ImagerとImage::Magickのよく使うメソッドをまとめてみた - 80nikki
  • tokuhirom 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

  • Imager::Graph のサンプル - 日向夏特殊応援部隊

    今、ちょうど簡単なお仕事でグラフ出さないといけないので、適当に書いてみた。GD::Graph の出力はどう見ても切ない貧弱な表示なので今回は触れない。 #!/usr/bin/perl use utf8; use strict; use warnings; use Carp; use Imager; use Imager::Graph::Pie; my $chart = Imager::Graph::Pie->new; my $font = Imager::Font->new( file => '/path/to/example.ttf', aa => 1 ); $chart->set_style('primary'); $chart->set_font($font); my $img = $chart->draw( width => 500, height => 500, font =>

    Imager::Graph のサンプル - 日向夏特殊応援部隊
    heina
    heina 2009/06/15