タグ

perlに関するikebeのブックマーク (180)

  • Kazuho@Cybozu Labs: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について

    昨日の Twitter の XSS 騒ぎは、まだ皆さんの記憶に新しいことと思います。いい機会なので、ツイートのような構造化テキストのエスケープ手法について触れておきたいと思います。 Twitter のメッセージは、単なる平文(プレインテキスト)ではなく、「@英数字」のような他のユーザーへの言及と「http://〜」のような URL を自動的にハイパーリンク化する構造化テキストです。 このような複数のルールをもつ構造化テキストを HTML 化する際には、どのようなコードを書けばいいのでしょう? まず「@〜」をリンク化してから、URL をリンク化すればいいのでしょうか? それだと、@〜 のをリンク化した A HREF タグの中の URL がさらにリンク化されていまいますね。 では、URL をリンク化してから @〜 をリンク化すればいいのでしょうか? それだと、@ を含む URL があった場合に

    ikebe
    ikebe 2010/09/24
  • Web テクノロジーセミナー in Hokkaido と Hokkaido.pm のスライドを公開します - 日向夏特殊応援部隊

    ちょっと忙しいので感想とかは後で>< というわけで行って参りました北海道。前日頑張ってスライド書いては呑んでスライド書いては呑んでの繰り返しでホテルの朝を二度とも逃すという体たらくぶりでしたw Web テクノロジーセミナー in Hokkaido mbga Open Platform and PerlView more presentations from zigorou. 一応補足的に言っておくと、設計指針辺りで前提として今回作っているのは Web Application ではなくて Web API であるという事で、可能な限り速くレスポンス返したいので余計なことはしたくないってのがあります。 という訳で WAF とか要らんよねーって言う話につながる訳です。一般的な Web Application を書く際はカスタムで書かなくても WAF から書いても良いし、好きにおれおれ WAF 作

    Web テクノロジーセミナー in Hokkaido と Hokkaido.pm のスライドを公開します - 日向夏特殊応援部隊
    ikebe
    ikebe 2010/08/11
  • Perlの商標の件について業界の友人に聞いてみた

    なにこれいたい 北畠徹也氏、「Perl/パール」を手中に dankogaiー、そろそろ出番ですよー、と召喚してみるテスト。(笑) Dan, the patent not found. 先に行っておくと、Perlに関しては多分安心していい。すでに「家」である The Perl Foundation が国際商標登録しているのだ。 商願2007-92708 (http://www1.ipdl.inpit.go.jp/syutsugan/TM_AREA_A.cgiより検索。ひどいインターフェイスだなあ) 先頭権発生は2007年8月29日。Perl\パール(苦笑)のそれは2009年11月2日なので、類似商号で争えばまず負けない筈だけど、私は法律のど素人なのでつっこみうぇるかむ。 コメントでも書いたのだけど、気になったのでその業界の友人に聞いてみました。 素人にはなかなか解りづらかったのですが、なか

    Perlの商標の件について業界の友人に聞いてみた
    ikebe
    ikebe 2010/06/10
  • XS基礎文法最速マスター - Islands in the byte stream (legacy)

    元ネタ:Perl基礎文法最速マスター(id:perlcodesample) XSを始めるための手順といくつかの要素の解説です。C言語をある程度知っている人でも,これを読んだだけでXSの基礎をマスターしてXSを書くことができるようにはなっていません。リファレンスでもありません。 XSとは,狭義ではPerlでエクステンションを書くためのマクロ言語の名前ですが,広義ではエクステンションを書くための技術の総称です。ここでは,広義のXSを俯瞰します。 XSはいろいろと特殊なのでテンプレは無視で行きます。 目次: h2xsで空のディストリビューションを作る XSファイルの構成 スレッドコンテキスト SVファミリ GCとスコープ さらなる学習のために h2xsで空のディストリビューションを作る 以下のコマンドで空のXSディストリビューションを作ることができます。 h2xs -A -b 5.8.1 -n

    XS基礎文法最速マスター - Islands in the byte stream (legacy)
    ikebe
    ikebe 2010/02/03
  • YAPC::Asia 2009 特別研修 - Moose 入門

    先週末の YAPC::Asia 2009 のカンファレンスに引き続き、特別研修『Moose入門、モダーンなオブジェクト指向システム』に参加してきた。 研修の内容は、Moose とはなんぞやから始まり、以下(だいたい)7 部構成の入門講座。 Moose Concepts : コンセプト ざっと機能一通りみてみる なぜ Moose なのか Classes : Class の基礎から使い方 Moose::Object が何持ってるかとか BUIDLARGS, extends, override, super の使い方 Moose 使ったあとの後始末 (no Moose;) Role : Role の基礎から使いかた Role の持つ意味 使い方 alias で衝突回避 Basic Attributes : Attribute いろいろ required, default/builder, laz

  • 面白ラボBM11(ブッコミイレブン) 2009: AnyEvent用便利モジュール3本パック

    Perl で非同期なイベントベースアプリケーションの開発をしようとした場合、これまでは POE を使用するのが一般的でした。 しかし最近ではこの POE に代わり、AnyEvent というフレームワークの人気が急速に高まっています。 AnyEvent は POE と比べて綺麗にコーディングすることができるイベントベースプログラミングのフレームワークというだけでなく、Coroなどと組み合わせることでより高レベルな非同期アプリケーションを書くことも可能であるといったことが人気の理由なのかもしれません。 さて、今回は弊社内部で使用するために開発した AnyEvent モジュールを三セットで公開します。 1. AnyEvent::APNS 2. AnyEvent::JSONRPC::Lite 3. AnyEvent::Gearman 順番に説明していきます。 1. AnyEvent::APNS

  • [perl]Algorithm::Bayonなぞ作ってみた - taiyoh独言

    お久しぶりです。色んなものを作りかけたまま放置してしまってすいません>< ぼちぼち収拾していきますので。 そう言いつつ、またなんか作ってしまったのですが。 不肖私、mixiの方が作った"bayon"というクラスタリングツールを今更になって触ってみたところ、あまりの速さに感動してしまったので、弊社某サービスで使っているAlgorithm::Clusterからのスイッチを狙っています。 とはいえ、bayonの入出力の形式はtsv(しかも出力は標準出力)なので、Perlから直で扱うにはちと不便。なので、コマンドラインのラッパーとIOまわりをある程度抽象化してまとめたツールをこしらえました。それが表題のAlgorithm::Bayonです。 →http://github.com/taiyoh/algorithm-bayon-perl/tree/master 例によって俺クオリティの影響でドキュメン

    [perl]Algorithm::Bayonなぞ作ってみた - taiyoh独言
  • 現代的な Perl を再習得する方法は? | スラド デベロッパー

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

    ikebe
    ikebe 2009/06/11
  • perl - で全角半角変換をモダンに行う : 404 Blog Not Found

    2009年06月06日01:15 カテゴリLightweight Languages perl - で全角半角変換をモダンに行う 今ならLingua::JA::Regular::Unicodeが第一選択肢ですが、こういう方法もあるということで。 Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング Perl を使って半角カタカナと全角カタカナの変換をするスクリプトを、標準モジュールの Encode.pm と Unicode::Japanese と Lingua::JA::Regular::Unicode を使ってそれぞれ変換スクリプトを書いてみる。 CORE Moduleのみを使うという縛りをかけています。 #!/usr/bin/perl use 5.008001; use strict; use warnings; use utf8; us

    perl - で全角半角変換をモダンに行う : 404 Blog Not Found
    ikebe
    ikebe 2009/06/06
  • Ark - opensource.kayac.com

    Web Application Framework Description Ark は perl で書かれたウェブアプリケーションフレームワーク(WAF)です。 Ark はおなじく perl 製のフレームワークである Catalyst を参考に開発されており、その多くの特徴はそのまま引き継いでいます。 そのため Catalyst の経験のある開発者であればすぐに使い始めることができるでしょう。 Catalyst とのいちばんの違いは、Catalyst は実用的に運用するためには基的に mod_perl や FastCGI など永続的なプロセス実行環境を要求するのに対し、 Ark は CGI でも実用的に動作するという点を重視して開発されています。 もちろん mod_perl/FastCGI でも動作します。 より詳しい説明はドキュメントを参照ください。 Download 現在の最新バージ

    ikebe
    ikebe 2009/06/02
  • 第8回 Reaction:CatalystをもっとDRYに | gihyo.jp

    アプリケーションの枠組みを越えた再利用 前回は、Catalyst 5.7で登場したチェーンドアクションを利用して適切なベースコントローラをつくれば、CRUDのような定型処理は再利用できるようになる、という話をしました。これはコンテントマネジメントシステム(CMS)のように同じようなインタフェースを持つ画面が多いシステムをつくるときには特に効果的なのですが、その再利用を、ひとつのアプリケーション内だけで完結させてしまうのはもったいない話。自社でつくるアプリケーションにはどんどん使い回していきたいものですし、コピー&ペーストを避けるためには、なんらかの名前空間上にその共通コードをまとめていく必要があります。 もちろんそのコードが小さく、十分に一般化できるものなら、Catalyst、あるいはCatalystXという名前空間に入れてもかまいませんが、コントローラの部品だけでなく、モデルやビューまで

    第8回 Reaction:CatalystをもっとDRYに | gihyo.jp
  • Security&Trustウォッチ(58) Perl Mongersはセキュリティの夢を見るか? − @IT

    Perl Mongersはセキュリティの夢を見るか?:Security&Trust ウォッチ(58) 筆者の課題の1つに「セキュリティに興味を示さない人々に、いかにしてセキュリティの情報を伝えるか」があります。例えば、このコラムを連載している@IT Security&Trustフォーラムの読者は“セキュリティにすでに興味を持っている人々”が大半のはずです。では、そうでない人にどうアプローチすべきでしょうか。 2009年4月22日、Perlユーザーグループのイベント「Shibuya Perl Mongers テクニカルトーク #11」が開催されました。Perl Mongers(パールモンガース)は、プログラミング言語であるPerlのユーザーグループのことで、地域ごとにコミュニティが形成されているという特徴があります。ニューヨークが発祥で世界各地に存在し、日では Shibuya.pmやKan

    Security&Trustウォッチ(58) Perl Mongersはセキュリティの夢を見るか? − @IT
    ikebe
    ikebe 2009/05/28
  • 連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)

    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 Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)
    ikebe
    ikebe 2009/05/25
  • UUID と Perl について - daily dayflower

    UUID がどういうものであるか,とか UUID の表現形については省略します。 UUID - Wikipedia が参考になるかと。 UUID の仕様として RFC 4122 を参照しました*1。なのでより細かいことについては原文を参照してください。策定されるまでにいろいろ経緯があるのですが,そのへんは http://www.rfcnews.jp/archives/2005/07/rfc_4122uuidurn.html に譲ります。 UUID の構造 UUID の内部構造をおおまかに表すと以下のようになります。 variant 2 bit (3 bit) version 4 bit time 60 bit clock_seq 14 bit (13 bit) node 48 bit 実際には variant フィールドは clock_seq フィールドのオクテットの中に埋め込まれています

    UUID と Perl について - daily dayflower
  • Perl/XSが得意なこと - Islands in the byte stream (legacy)

    最近ひたすらXSを書いていて思ったのが,XSはやっぱり速いということ。 ただ,いつでも無条件に速いというわけでもなく,何も考えずに書くとPurePerlのコードより遅くなることも珍しくない。実際,最近書いたShikaやMOPのXS版もいきなり高速だったわけではなく,一番最初のコードはPurePerlのほうが10%-30%ほど高速だった。 いろいろベンチマークをとった結果の感触として,XSの得手・不得手が分かってきたのでメモしておく。ちなみに下記で「注意を払う」というのは内部で呼ばれるmalloc()を極力減らすという意味で使っている。SVの生成自体はmalloc()を伴わないことが多い*1が,文字列の生成/連結や配列の生成/push/unshiftでは内部でmalloc()が呼ばれる可能性が高く,速度を落とす原因となる。 得手分野 ループ - XSのループが早いというより,Perlのループ

    Perl/XSが得意なこと - Islands in the byte stream (legacy)
    ikebe
    ikebe 2008/12/04
  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

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

    ikebe
    ikebe 2008/11/11
  • Yokohama.pm #3 スピーカー募集中 - 日向夏特殊応援部隊

    さて、喋ってみたい貴方は下記のスレにぶら下がってみて下さい。 http://groups.google.com/group/yokohama-pm/browse_thread/thread/cbc0b9e72c81cafb ちなみに今回は無駄に会場が広く96名様まで収容可能ですヨ。

    Yokohama.pm #3 スピーカー募集中 - 日向夏特殊応援部隊
  • Parallel-Prefork-0.18 - A simple prefork server framework - metacpan.org

    The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

  • XS の自分用索引 - 御玉杓子スパイラル

    perl5 Manual から, 自分でXSを読む為に必要なものを抜き出してみる XS キーワードモジュール全体の構造に関するキーワードマクロ概要参照メモMODULECとXSを分け, 続く行をXSのコードとするThe Perl5 Manual - MODULE キーワードPACKAGE複数のパッケージに分ける場合, MODULEと共に宣言しなおすThe Perl5 Manual - PACKAGE キーワードPREFIXperl から呼び出されるときに取り除かれるプリフィクスThe Perl5 Manual - PREFIX キーワードBOOTモジュールがロードされるときの処理を追加するThe Perl5 Manual - BOOT キーワード XSUB 単体に関するキーワードマクロ概要参照メモPPCODECで書かれたコードが開始する事を示す. 返値の処理が自前で書かれている事を示すThe

    ikebe
    ikebe 2008/06/24
  • SQL::AbstractとMySQLのFulltext Search - D-6 [相変わらず根無し]

    SQL::AbstractとMySQLのFulltext Search DBIx::Class経由でSQL::Abstractを使っているわけですが、このたびPostgreSQLからMySQLに引っ越ししようかと思ってるサービスがありまして、そこで問題にぶち当たりました。 Ludia(PostgreSQL)の場合は対象のカラムに対してオペレーターをかますので、column => { '@@' => '*D+ ....' } (新しいLudiaは%%か)とかできるわけですが、MySQLの場合はMATCH(...) AGAINST(...)を使うので カラム→オペレーター→引数という形にできない。 もちろん 'MATCH(...)' => \'AGAINST(...)'ってやってもいいんだけど、なんかわかりにくい気がしてた。 で、色々考えた末、これが俺の中で一番きれいという判断となった $sq

    ikebe
    ikebe 2008/05/10
    悩みどころだけど、なるほど見やすい