タグ

perlに関するsivadselimのブックマーク (32)

  • Kazuho@Cybozu Labs: Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた

    ORM やウェブアプリケーション関連のライブラリなどのテストケースを書くにあたっては、 RDBMS へのアクセスが必要になります。しかし、SQLite のようなスタンドアローンのデータベースと比較すると、サーバ型データベースである MySQL に接続してテストを書くのは、既存の MySQL の権限設定やデータベース名を気にする必要があったりと、いろいろ不便です。そこで、MySQL のインスタンスをテンポラリディレクトリに自動生成し、テストが終わったら削除してくれる Perl モジュール Test::mysqld を書きました。こんな感じで使います。 use DBI; use Test::mysqld; use Test::More; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '' }, # TCP接続を

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • cohtan blog: TheSchwartzを使って重たい処理を非同期に行い、手元はサクサクに

    2008年6月25日 TheSchwartzを使って重たい処理を非同期に行い、手元はサクサクに 昨日id:rytich経由でGearmanやTheSchwartzというキーワードを知りました。 調べてみるとこれがなんだかとても面白そうで、実装に必要なCPANモジュールも完備されてるので何かやってみようと思い、出来たのはWWW::YourFileHostを使った非同期なダウンローダーです。 codecheck.inに置いてます これを使うと、こんな感じになります。 URLを指定してキューを追加して終了。軽くてサクサク(client.pl) キューに登録されたURLを元にコンテンツをゲット。重たいけどきっちりこなす(worker.pl) これの何がうれしいかというと、コンテンツをゲットする部分を待たずに、 どんどんゲットしたいURLを投げつける事が出来る事にあります。 通常はコンテンツをゲット

  • HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog

    先日公開した「はて☆すたアンケート」にて、アンケートの説明文をはてな記法で書けるよう、機能追加を行った。その際、Template::Plugin::Hatenaを用いた。これは、はてな記法パーサであるText::Hatena(正確には、そのヴァージョン0.16以下)を、Template::Toolkitのプラグインとして使えるようにしたものである。 はてな記法は、それ自体で全ての文書構造を表現できる、あるいは、はてなダイアリのシステム自体は、はてな記法のみしか許容しないというものではなく、たとえば画像を貼る際には、普通にimg要素を書く必要があるし、また、その他の要素についても、記法が用意されていないものについては、「はてなダイアリーのヘルプ - はてなダイアリー利用可能タグ」に掲載されているものに限り、自分でタグを書くことができる。これは自由度を高める反面で、XSSを誘発し得る潜在的なリ

    HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog
  • Spread Toolkit でセッションレプリケーション - 酒日記 はてな支店

    ログ以外に、何か面白い使い方はないかなあと思って。 複数のアプリケーションサーバ間でセッションデータを共有したい場合、まあ普通は DB に入れるか Memcached に入れるかするわけですが、これを Spread を使って出来ないか。 要は、Tomcat やらのセッションレプリケーションを真似したいと。 +----- host1 --------------+ +----- host2 --------------+ | +------------+ | | +----------------+ | | | App Server | | | | App Server | | | +------------+ | | +----------------+ | | ↑ ↓ | | ↓ ↑ | | ↑ [ spread ] <-------- message -------> [ spread

    Spread Toolkit でセッションレプリケーション - 酒日記 はてな支店
  • chalow - CHAngeLog On the Web

    since 2007-02-05, last update 2007-10-19 たつを chalow は ChangeLog ファイルを HTML ファイルに変換してブログ化するツールです。 chalow は CHAngeLog On the Web の略です。 Perl で書かれています。 もちろん開発者のブログは chalow を使っています。 ソースは「無償・無保証・著作権放棄」で公開しています。 要するに好き勝手に使ってくださいということです。 情報 chalow の ChangeLog: chalow の ChangeLog を chalow で HTML に変換したもの。 README: 使い方など。 ChangeLog の各部の名称: chalow では各部を以下 (クリックで拡大) のように呼ぶことにし ます。 設定ファイル、CSS、プログラムソースを見るときにご参照下さ

  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/04/mylingual_yapc.php

  • ITmedia エンタープライズ:第1回 何はなくともCPANを知ろう (1/2)

    最近のWebかいわいでは、Webアプリケーション同士が連携してどんどん面白いサービスが生まれています。しかし、Web上のサービスは手元にソフトウェアも何も残らないので、どうしても雲をつかむような分かりにくさがあります。そこで連載では、Webサービスを実際に利用/作成しながら、そういった「今どき」のテクノロジーを学んでみたいと思います。 今どきのWebプログラミング、教えます この連載では今どきのWebプログラミングを解説していきます。Webプログラミングというと一見難しそうに思えますが、ライブラリが豊富な最近のスクリプト言語を使えば、かなり簡単に高機能なWebサービスが実現できます。稿では、特にライブラリが充実しているPerlを使うので、各種Webサービスの開発も「実は結構手軽で簡単なもんだ」と理解していただけるかと思います。 今回から数回はその足がかりとして、Perlのライブラリ群C

    ITmedia エンタープライズ:第1回 何はなくともCPANを知ろう (1/2)
  • XML解析の深淵――XML::Simpleの上をゆけ!

    ある特定の状況ではXML::Simpleは機能しない。稿では、ツリー解析とイベント駆動型解析という、Perlを使った2つの高度なXML解析方法を紹介する。 シリーズの第1回で「多くのケースで必要なすべてのものが揃う魔法のツール」として紹介されたXML::Simple(関連記事参照)。別記事においてはてなの伊藤直也氏もお勧めしているように、PerlアプリケーションでXMLツールと言えば、XML::Simpleを挙げることに異論がある方はそう多くないだろう。 万能に見えるXML::Simpleだが、場合によっては意図したように動作しないケースも存在する。例えば、メモリ内に作成されたXML文書表現からの複雑な方法での検索や、XML文書がメモリ内に収まらなかった場合、XML文書の長さが不明なストリームの場合などだ。稿では、そのようなケースでのXML解析方法として、ツリー解析とイベント駆動型パ

    XML解析の深淵――XML::Simpleの上をゆけ!
  • XML::Simpleの簡潔さにひざをポンとたたいてしまう

    PerlプログラマーがXMLをうまく活用する場合、XML::Simpleを使いこなすのは基中の基と言える。まだXML::Simpleを知らないあなたもこれを読めば「XML::Simpleの簡潔さは感動的」と思わず口に出してしまうことだろう。 PerlでXMLを処理するために、ほとんどの場合で必要なすべてのものがそろう魔法のツール、XML::Simpleについては、はてなの伊藤直也氏が執筆する「作って学ぶ、今どきのWebサービス:第3回 XML::SimpleであらゆるXML文書を料理する」でもその魅力を十二分に解説しているので、すでにご存じの方も多いと思う。 そんなXML::Simpleについて、IBM developerWorksに掲載された稿では、XML::Simpleを取得した上で、それを使って2行のコードで構成ファイルからパラメーターを読み込む方法や、元のXML文書に含まれる

    XML::Simpleの簡潔さにひざをポンとたたいてしまう
  • Plagger for Mac

    Plagger を Mac で使うページ。 Plagger を簡単にインストールする Plagger 体と、Plagger が依存している CPAN モジュールをまとめました。 コンパイルが必要なものも Universal Binary としてコンパイル済みなので、 tarball を展開するだけで使えます。 対応している環境は Mac OS X 10.4 (Intel, PPC) です。 % tar zxvf plagger-0.7.17-1.tar.gz ... % cd plagger-0.7.11-1/ % ls -F bin/ cpan/ % (config.yaml を書く) % ./bin/plagger -c config.yaml 動作しないプラグイン 以下のプラグインについては、 依存している CPAN モジュールを同梱していないので、 そのままでは動きません。 Ag

  • 【ハウツー】Perlベースの高機能WikiシステムTWiki 4.1を使ってみよう! (1) TWikiとは (MYCOMジャーナル)

    TWikiプロジェクトは16日(現地時間)、高機能なWikiクローンであるTWikiの最新版「TWiki 4.1.0」を公開した。TWikiはPerlで記述されたWikiクローンで、非常に豊富な機能を持ち、汎用性が極めて高いことで知られている。 TWikiは主に次のような機能を備えている。 シンプルな機構のため多くのWebブラウザに対応 キーワードやURLの自動リンク 高機能なテキストフォーマット ページ内の全文検索が可能 ページの変更をE-mailで通知 ファイルのアップロード/ダウンロード グループやユーザによるアクセスコントロール 豊富な内部変数によってページをカスタマイズ テンプレートやスキンによるカスタマイズ ページやユーザなどの管理機能 最新情報のRSS配信 プラグインモジュールによる拡張が可能 TWikiを利用すれば、どんな規模のサイトでも容易に構築することが可能であり、しか

  • 404 Blog Not Found:勝手に添削 - Ajaxでデバッグしよう - @IT

    2007年03月07日11:00 カテゴリLightweight Languages 勝手に添削 - Ajaxでデバッグしよう - @IT 記事そのものはまあいいのだけど、CGIの部分があまりにひどいので。 Ajaxでデバッグしよう - @IT 私の仕事の現場ではJavaを開発言語として使用することが多いので、JSPやServletとして実装していますが、今回はレンタルサーバでも利用しやすいようにPerlで作成しました。以下のソースを参考にしてください。 Before まあご覧下さい。前世紀末においてすら[これはひどい]レベルです。著者はJava屋さんとのことなのでその点を甘く見ても、一体何を参考にして書いたのか是非お聞かせください。 local %params; # エージェントはGETメソッドだけを使用するのでPOSTは考慮しない # リモートログエージェントから送られてたログ情報を環

    404 Blog Not Found:勝手に添削 - Ajaxでデバッグしよう - @IT
  • ITmedia エンタープライズ:第3回 XML::SimpleであらゆるXML文書を料理する (1/2)

    第3回 XML::SimpleであらゆるXML文書を料理する:作って学ぶ、今どきのWebサービス(1/2 ページ) RSSにおけるXML::RSSのように、専用のモジュールがある場合にはそれを使えばよいのですが、そうでない場合は汎用のXMLパーサーモジュールを使ってパースすることになります。今回は、XML::Simpleを使ってあらゆるXML文書を料理できるようにしてみます。 前回まででXML::RSSによるRSS料理方法は分かったとして、ではRSS以外のXML文書を料理する場合にはどうしたらよいのでしょう? RSSにおけるXML::RSSのように、専用のモジュールがある場合にはそれを使えばよいのですが、そうでない場合は汎用のXMLパーサーモジュール*を使ってパースすることになります。 XML文書からPerlのデータ構造を作るXML::Simple Perlの代表的なXMLパーサーである

    ITmedia エンタープライズ:第3回 XML::SimpleであらゆるXML文書を料理する (1/2)
  • 日本の総理大臣の演説をタグクラウド化: blog.bulknews.net

    の総理大臣の演説をタグクラウド化 US Presidential Speeches Tag Cloud が面白かったので日の総理大臣版を3分ハッキング。コード自体は15分くらいでかけたんだけどデバッグやらデータの解析やらに時間がかかってトータルでは2時間くらいか。 Japanese Prime Minister Speeches Tag Cloud 首相官邸ホームページ からリンクをたどって HTMLをダウンロード、HTML::TreeBuilder で as_text して Text::MeCab にわせ、名詞(代名詞などをのぞく)の頻度を YAML データとしてつっこみ、HTML::TagCloud でタグクラウド化しました。スライダーの JS などは元の US Presidential のほとんどパクリです。 IE だと行間がかなりつまってるのは HTML::TagCloud

  • しげふみメモ:Windowsで簡単にPlaggerをインストールする方法

    2006年08月28日20:03 カテゴリPlagger Windowsで簡単にPlaggerをインストールする方法 Windows XPにPlaggerを 最初からインストールする機会があったので、 Charsbar::Note - ppm for Plagger で公開されているWin32用のppmリポジトリを使わせて頂きました。 Plaggerは4月ごろにいろいろと苦労してインストールして以来、 便利に使っているのですが、今回はあまりにも簡単にインストールできたので、方法をメモしておきます。 [2006年 12/3追記] Plaggerは開発が活発なため、今後この方法ではうまくいかなくなるかもしれません。 公式ページの日語Wikiに、インストールについてのページができる予定のようです。 WikiStartJa - Plagger - Trac 参考:subtech - Bulkne

    しげふみメモ:Windowsで簡単にPlaggerをインストールする方法
  • ゆーすけべー日記

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

    ゆーすけべー日記
  • hide-k.net#blog: いつでもどこでも、すぐに Class::DBI を使いたい

    仕事でレンタルサーバー上でCGIを書く羽目になったのですが、root権限はおろかシェルも使えない環境なのでCatalystにどっぷりつかっていたボクとしては面倒くさくて気が狂いそうです。 特にDB周り。 DBI直たたきなんて非人間的な作業をやっているとバグつぶしだけで頭がおかしくなりそうです。 で、なんとかClass::DBIだけでも使えないか調べて見ました。 CDBIが依存しているクラスでXSを使っているのはversionとCloneだけです。 それならある程度環境が整っているレンタルサーバーならなんとかなるだろうってことで調べて見ると、都合のいいことにversionは--perl_onlyオプション付きでMakefile.PLすればPure Perlなクラスを作成してくれるし、CloneはClone::PPなるPure PerlなCloneクラスがありました。 で、やってみました。

  • 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

  • Rabin Karp アルゴリズムでコード重複の検出 blog.bulknews.net

    Rabin Karp アルゴリズムでコード重複の検出 YAPC::NA で会った Fotango の Norman Nunley がつくってる Algorithm::RabinKarp モジュールが面白げです。 Rabin Karp 文字列探索アルゴリズム (wikipedia) を使って文字列のハッシュ(ダイジェスト)をチェックし、同一の値を示す部分を重複しているとみなしてレポートしてくれます。つまり、プロジェクト内のコードのコピーペーストを検出するツールとして使えるというわけ。 ためしに Plagger で試してみた結果は rabin.txt のようになりました。プラグインの register_hook や CustomFeed での Feed オブジェクトの生成など、イディオム的に使う部分が大半になってしまっていますが、いくつか実際コピペで再利用しているコードが検出できています。 c