タグ

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

タグの絞り込みを解除

Perlとperlに関するnipotanのブックマーク (742)

  • 連載企画 第1回 Perl で DSL する方法 - tokuhirom's blog

    連載企画 第1回 Perl で DSL する方法 昨年の YAPC の頃に書こうと思ってたネタを id:cho45 さんのひとことで不意に思いだしたのでここに記す。 まず、DSL とはなにか。この連載企画では↓こういうのを DSL とよぶことにします。 session 'testuser' => run { flow 'log in and out' => check { flow 'log in' => check { get 'http://localhost/'; fill form 'login' => { username => 'testuser', password => 'drowssap', }; content should contain 'log out'; }; flow 'log out' => check { get 'http://localhost/';

  • 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

  • WWW::HatenaDiary 0.01リリース - Kentaro Kuribayashi's blog

    はてなダイアリー/はてなグループのCRUDを行うモジュール、WWW::HatenaDiaryをCPANへリリースしました。 WWW::HatenaDiary id:tokuhiromさんがCodeReposで始めたものに、僕があれこれごしゃごしゃくっつけてったってな感じのものです。今後、ちょっとあれこれしてみたいと思ったりしてます。 はてなダイアラーならご存知の通り、はてなダイアリーは元々、エントリ単位というよりもむしろ、日付け単位でエントリを書き綴っていくというスタイルです。WWW::HatenaDiaryでは、そのどちらの単位でもCRUDを行えるような感じにしてみました。 使い方は、以下のような感じで。詳細については、PODをご覧ください。また、バグや改善した方がいい点等ありましたら、是非ともCodeReposでお願いします。 オブジェクト生成 & ログイン use WWW::Hate

    WWW::HatenaDiary 0.01リリース - Kentaro Kuribayashi's blog
  • Cache::Memcached::LibMemcached - D-6 [相変わらず根無し]

    Cache::Memcached::LibMemcached これを今朝読んだのでCache::Memcached::LibMemcachedを作ったよ! なんか用途が広そうなのでcodereposに入れました。 使い方はSYNOPSISの通り。Cache::Memcachedとほぼ一緒。まだまだ足りないメソッドがあるのでその辺はコミットしちゃってくださいw use Cache::Memcached::LibMemcached; my $memd = Cache::Memcached::LibMemcached->new({ serves => [ "10.0.0.15:11211", "10.0.0.15:11212", "/var/sock/memcached" ], compress_threshold => 10_000 }); $memd->set("my_key", "Som

    nipotan
    nipotan 2008/01/11
    lestrrat++
  • CentOS 5.1 の perl をリビルドする - daily dayflower

    2008-12-26 追記 CentOS 5.2 の updates の perl-5.8.8-15.el5_2.1 で下記該当パッチ+αがあたった状態になっています。もう自分でパッチをあててリビルドする必要はありません(RHEL 5(.2) の perl-5.8.8-15.el5_2.1 で例のバグが治っていた - daily dayflower)。 overload の rebless バグとパフォーマンスペナルティ問題 については下記参照。 YappoLogs: FedoraCoreやCentOS系の遅いPerlのパッチの件 overloadと再blessの問題 - Unknown::Programming overload が無効? - Practice of Programming YappoLogs: overloadのreblessとRHLのoverloadが遅いパッチ ov

    CentOS 5.1 の perl をリビルドする - daily dayflower
  • Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー

    ifconfigの出力をsedでパース — ありえるえりあ まだ Linux を触り始めて間もない頃に、サーバーを構築していてローカルの IP アドレスをシェルスクリプトから利用する必要があって、どうやって取得するべきだろうかと小一時間悩んだのですが結局分からず Perl の正規表現で ifconfig を parse したことがありました。ioctl() を使ってデバイスを操作する必要がある、ということを知ったのは数年後、割と最近のことです。なんということでしょう。 では、Perl で IP アドレスを取得する場合ですがモジュールを使ってよいのであれば IO::Interface がよいだろうと思っています。IO::Interface は Pure Perl ではありませんが、XS で ioctl() を呼び出しているので比較的高速且つ素直な実装だと思います。 #!/usr/local/

    Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー
    nipotan
    nipotan 2008/01/11
    ちなみに ifconfig の wrapper なら Sys::HostIP のほうが老舗。生まれて初めて patch 送った & 取り込んでもらったモジュール。
  • Text::MeCab::Dictでカスタム辞書 - D-6 [相変わらず根無し]

    Text::MeCab::Dictでカスタム辞書 ちょっとリリースそのものでバタバタしてしまいましたが、Text::MeCabを使って、mecabのカスタム辞書に語句を比較的容易に追加できるようにしました。例はText::MeCab 0.20004に同梱されているeg/add_custom.plを参照してください。 自分の場合はちょっと人名をがばっと追加したかったのでAcme::Actor::JA(codereposのみ -- CPANにはアップしてません)とText::MeCab::Dictを使って3000人程の人名を追加してやりました。これをすると何がいいかというと、これまでだとものすごく有名な人の名前で検索する場合とかに「姓」「名」に名前が分けられてしまっていたところがその名前全体をひとつの語句として認識してくれるようになります。 # 追加前 shell > 堂光一 堂 名詞,

    nipotan
    nipotan 2008/01/11
    lestrrat++
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • MyMiniCity で踏んで欲しい URL が変動しすぎる : にぽたん研究所

    今更感がありますし、まぁどうせすぐ人気がなくなるんだろうなーとか思いつつ、MyMiniCity が最近面白いです。 みなさんよりちょっと遅めに始めたんですが、なかなか街が成長させるのが難しくて面白い。 nipotan - MyMiniCity MyMiniCity とは何ぞや的な話については、既に語りつくされているので、ここでは詳細を端折りますけど、まぁ、ザックリ言えば誰かにアクセスしてもらって、アクセスの都度人口が増えていくわけですよ。 同日に 1 IP アドレスからしか受け付けないっぽいので、何回リロードしても無駄なのですが。 人口が増えるにつれて、色々問題が起こって、段階に応じて「その問題を解決させるための URL」が登場し、今度は人口を増やさないが問題を解決するための URL を踏ませないと人口が飽和状態になって色々な問題が起こります。 人口が増えると… 失業率が増える → 工場を

    MyMiniCity で踏んで欲しい URL が変動しすぎる : にぽたん研究所
  • Crypt::CBCのバージョンを2.15以下から2.17以上に上げるときは気を付けろ! (Clouder::Blogger)

    若干釣り気味のタイトルですが、Crypt::CBCの2.15がインストールされたサーバで my $cipher = Crypt::CBC->new({ key => 'foo', cipher => 'Blowfish' }); warn $cipher->encrypt_hex( 'bar' ); とすると「53616c7465645f5fcf0eb6374be3c083823b5e4bd39192b0」などと暗号化されます。 で、これをdecrypt_hexすると、 my $cipher = Crypt::CBC->new({ key => 'foo', cipher => 'Blowfish' }); warn $cipher->decrypt_hex( '53616c7465645f5fcf0eb6374be3c083823b5e4bd39192b0' ); ちゃんと「bar」と復

  • Kazuho@Cybozu Labs: メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた

  • perl - 配列をハッシュキーとして扱う : 404 Blog Not Found

    2007年10月24日20:00 カテゴリLightweight Languages perl - 配列をハッシュキーとして扱う コメント欄にも「教科書解」がなかったので。 Perl勉強中 - YoshioriのBlog #!/usr/bin/perl use strict; use warnings; my @array = qw/1 2 3/; my @array2 = qw/1 2 3/; my %hash; $hash{@array} = 'foo'; # ちょっと変更 print $hash{ @array2 }; # foo みたいなこと出来ないのかな? 教科書解は、こちら。 $hash{ join($;, @array) } = 'foo'; これは、 $hash{1,2,3} = 'foo'; $hash{qw/1 2 3/} = 'foo'; という、配列リテラルをキーに

    perl - 配列をハッシュキーとして扱う : 404 Blog Not Found
    nipotan
    nipotan 2007/10/25
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    nipotan
    nipotan 2007/10/16
    そもそもの構成がうちと違うからかぁ。DB 一台とかのごくシンプルな構成ならまず問題なさそうw
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    nipotan
    nipotan 2007/10/16
    使いかたが悪いのかなぁ
  • Module::Installの話の続き

    「Module::Installを使ったプロジェクトのincディレクトリについて」の続きです。 ブクマコメントを見ると、「入れてない」or「入れないで欲しい」って意見がほとんどでした。miyagawaさんは入れてないということですし、charsbarさんがコメントしてるPlaggerとCatalystのリポジトリを見ると、たしかにincディレクトリがありませんでした。 あとCatalystのリポジトリでは、incがないだけでなくMANIFESTもリポジトリに入れてないようです。たぶんリリースするときに make manifest && make dist してパッケージングしてるんだと思います。 ということで、今後subversionでプロジェクトを管理するときには、 リポジトリにincは入れない。 リリースするときには make manifest && make dist でパッケージン

    nipotan
    nipotan 2007/10/15
  • perl - 木を痛めない枝チェック : 404 Blog Not Found

    2007年10月12日00:00 カテゴリLightweight Languages perl - 木を痛めない枝チェック 確かにこれは悩ましい。 [を] Perl の defined と exists それはそうと、やっかいなのが、ハッシュでツリーを扱うとき。 一度でも $a->{"a"}->{"b"} を見に行くと、 $a->{"a"} が存在するようになっちゃうんですよね。 確認するためにアクセスしただけなのに、 途中ノードができちゃうなんてちょっとなあ…。 念のために解説すると、こういうことです。 use strict; use warnings; use Data::Dumper; my $a = {}; # 空っぽのはずが print Dumper($a); print exists $a->{b}{c}; # { b => {} } となっちゃう print Dumper($

    perl - 木を痛めない枝チェック : 404 Blog Not Found
    nipotan
    nipotan 2007/10/12
    ああ、コピるのか
  • Perlでプラガブルモジュールを作ろう!:第2回 attributeを使ってplugin作成を支援する|gihyo.jp … 技術評論社

    今回のテーマ 今回は、Perlのattributeという仕組みの詳細と、そのattributeを利用したClass::Componentのpluginについての解説、pluginの作成方法といった話題を取り上げます。 サンプルアプリケーション 連載では、プラガブルなモジュールを作製するという事を考えて、Gopperという実際に実行可能なサンプルアプリケーションを元に解説を行ないます。GopperはCodeRepos上のsvnリポジトリに置いてあるので各自checkoutしてください。 svn co -r 455 http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper attributeとは attributeとは、Perlのサブルーチンや変数に属性を定義して、サブルーチンとしての挙動を標準から変更したり、どのようなサブルー

    Perlでプラガブルモジュールを作ろう!:第2回 attributeを使ってplugin作成を支援する|gihyo.jp … 技術評論社
    nipotan
    nipotan 2007/10/12
    package Jitensya;
  • Time::Progressでプログレスバーを実現する。 - 日向夏特殊応援部隊

    ひょっとしたら役に立つかもしれないけど、基的には無駄な知識です。あしからず。 サンプルソース #!/usr/bin/perl use strict; use warnings; use Time::Progress; my @actions = qw(setup prepare accept finalize); my $progress = Time::Progress->new; $progress->attr(min => 0, max => 100); print "Sample Progress Bar: \n"; { local $| = 1; for (my $c = 0; $c <= 100; $c += 5) { if ($c % 25 == 0) { my $action = $actions[($c / 25) - 1]; print " " x 100 . "\r

    Time::Progressでプログレスバーを実現する。 - 日向夏特殊応援部隊
    nipotan
    nipotan 2007/10/10
    個人的には Term::ProgressBar のプログレスバーに萌える。
  • Data::Throttler::Memcached Uploaded - D-6 [相変わらず根無し]

    Data::Throttler::Memcached Uploaded Data::Throttlerは1マシン上でスロットルするにはいいんだけど、複数ホスト上においてはあまり意味がないのでストレージにCache::Memcachedを使ったData::Throttler::Memcachedを作ってみたよ。さきほどCPANうp 追記:もうちょいテストしてからGunghoもD::T::Memcached対応したバージョンでアップする。 カテゴリ 開発 2007年10月 9日 11:41 D | ブログ記事のURL | コメント(0) | トラックバック(0) |