タグ

Perlに関するeiji8pouのブックマーク (245)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found

    2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構

    Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found
  • AnyEvent::APNSでiPhoneのプッシュ通知を実装しよう - Articles Advent Calendar 2010 Hacker

    perlハッカー1のドラゴンズファンと自負しております、typesterです。 今回はあんまりちゃんとした記事がないiPhoneプッシュ通知の仕組みと、それをperlから実装するにはどうしたらええんじゃ、という話をします。 iPhoneプッシュ通知の概要 iPhoneプッシュ通知とはサーバーアプリケーションからリアルタイムにiPhoneに通知を送ることができる仕組みのことで、 通知対象のiPhoneアプリケーションが起動していなくても、またiPhoneがロック状態であってもいつでも通知を送ることができます。 通知が送られるとiPhoneでは以下のような画面が表示され、その通知からアプリケーションを起動することができます。 iPhoneプッシュ通知の仕組み サーバーアプリケーション(通知プロバイダーと言います)はiPhoneに直接通知パケットを送るわけではなく、代わりにアップルが用意して

    AnyEvent::APNSでiPhoneのプッシュ通知を実装しよう - Articles Advent Calendar 2010 Hacker
  • File::Find - サブディレクトリを再帰的に処理する - Perl入門ゼミ

    Perl › モジュール › here File::Findを使用すると、再帰的にすべてのファイルを処理することができます。 use File::Find; find(\&process, $top_dir); sub process{ # 行いたい処理 } File::Find は、chdir で、ディレクトリを変更しながら、すべてのファイルを処理していきます。第一引数には、サブルーチンへのリファレンスを渡します。( &process がサブルーチンで、 \ 記号で、リファレンスを作成しています。 ) 第二引数以降は、処理したいディレクトリのリストを渡します。( 例では、ひとつだけ )。find の代わりに、 finddepth を使うと、走査順を、変更できます。( 以下で解説 ) カレントディレクトリを変更したくない場合 カレントディレクトリを変更しないで、走査したい場合は「no_ch

    File::Find - サブディレクトリを再帰的に処理する - Perl入門ゼミ
  • 第41回 HTML::Template::Pro:テンプレートに極力コードを書かせたくないときは | gihyo.jp

    何でも埋め込めるのは楽ですが 前回紹介したHTML::MasonやText::MicroTemplateのように生のPerlコードを埋め込めるテンプレートエンジンは、Perlをよく知っている人が画面の設計からウェブアプリケーションのコーディングまでひとり(ないし、よく統制のとれた少人数のチーム)で行うときには非常に手軽で便利なものです。 ただし、なんでも書けるからといって、たとえばテンプレートの中でO/Rマッパのメソッドを直接呼び出すコードを書いてしまうと、そのテンプレートは(利用するO/Rマッパの性質にもよりますが)おそらく実際に動作するデータベースやそれに付随するテストデータを用意しないと、途中で「Can't call method "..." on an undefined value」などのエラーが発生してレンダリングできなくなってしまいます。また、アプリケーションの設定にあわせて

    第41回 HTML::Template::Pro:テンプレートに極力コードを書かせたくないときは | gihyo.jp
  • PerlでOAuth 2.0を使ってみた - hide-k.net#blog

    携帯の緊急地震速報の音が怖いので、「会いたかった」に変えるHackを募集しています。 こんばんは。 OAuth 2.0は仕組も特徴も理解していたのですが、実際に実装の必要が出てきたので今更ながら初めて使ってみました。 仕様は現在draft15というステータスで公開されています。(The OAuth 2.0 Authorization Protocol) OAuth 2.0の特徴としてはHTTPSを使って通信経路を暗号化することによりトークンを直接やりとりすることが可能となっています。そのため署名が必要なくなり、あの悪夢のような署名検証をしなくて済むようになったのが大きなメリットです。 とはいえ、読んでもよくわかんないのでコードにしてみます。Authorization ServerとResource Serverとして使ってみるのはFacebook。クライアントサイドフローとサーバーサイドフ

  • Perl のテストについて(2011年改訂版1) - tsucchi’s diary(元はてなダイアリー)

    0. 前提 0.1 はじめに 以前、Perl のテストについてという記事を書きました。2008年の記事なのですが、現在もそこそこのアクセスがあるようです。 ただ、Test::More がアップグレードされて新しい書き方ができるようになったり、そもそも僕自身のプログラムの書き方が少しずつ変わってきているので、いつまでも古い記事を見てもらうのもどうかな、と思い、2011年バージョンをつくってみました。(ちょっとしか改定してませんが。。。)DB まわりのテストに関しては、また次回。 0.2 対象 Perl は書けるが、Perl のテストコードを書いたことが無い人。 0.3 動作確認環境 % uname -a FreeBSD over.tsucchi.mydns.jp 8.2-RELEASE FreeBSD 8.2-RELEASE #1: Sun Feb 27 23:51:01 JST 2011

    Perl のテストについて(2011年改訂版1) - tsucchi’s diary(元はてなダイアリー)
  • Perl公式ドキュメント日本語版

    このサイトは Perl の公式ドキュメントを日語翻訳したものを表示するサイトです。翻訳データは、perldocjp project からとってきたものです。 類似のものに perldoc.jp がありますが、それよりもみやすくなるようにがんばってみました。 ドキュメント一覧 概要(overview) perl - Perl の概要 perlrun - perl コマンドの実行とオプションについて チュートリアル perldebtut - デバッグのチュートリアル perlopentut - Perl でいろんなものを開くためのチュートリアル perlpacktut - pack と unpack のチュートリアル perlreftut - Mark によるリファレンスに関するとても短いチュートリアル perlretut - Perl の正規表現のチュートリアル perlt

  • PerlでローカルからTwitterにポストする。(仮)後で変更を加える。 - eiji8pou's diary

    タイトル通り。 参考にしたのは、http://d.hatena.ne.jp/layerzero/20090930/p1。 tweet_poster.pl use utf8; use strict; use warnings; # 日語で書いてます。 my $comfile = 'command.txt'; -e $comfile or exit(); # コマンドファイルがなければ何もしない。 my $resfile = 'result.txt'; # コマンドを読み込む use Jcode; my $j = Jcode->new(); open ( IN, $comfile ); my $ck = <IN>; chomp $ck; chomp $ck; my $cks = <IN>; chomp $cks; chomp $cks; my $user = <IN>; # ユーザー名の取得

    PerlでローカルからTwitterにポストする。(仮)後で変更を加える。 - eiji8pou's diary
  • ActivePerl 5.10でPARをインストール(Perlのexe化)

    この記事には古くなっています。最新情報はこちら。 はじめに ActivePerl5.8では無理やりithread対応のPARをインストールしたり色々苦労がありましたが、ActivePerl5.10ならば比較的すんなり行きそうなので環境を構築してみました。 インストール ActivePerl5.10をオフィシャルから落としてインストール。インストール先はc:\usrにしました*1。インストール時にPPMを入れ忘れないようにしてください。 Windowsのシステム環境変数PATHに次を追加します。後者がppのパスになります。 ;c:\usr\bin;c:\usr\site\bin PPMでPARとPAR-Packer(ppコマンド)を導入します。 >ppm install PAR >ppm install http://www.bribes.org/perl/ppm/PAR-Packer.pp

    ActivePerl 5.10でPARをインストール(Perlのexe化)
  • remora.cx

    This domain may be for sale!

  • ActivePerl 5.12.1 で PAR::Packer をバッチインストール(追記あり)

    注意:この方法を使うと PAR::Packerのtestを実行せずにPAR::Packerがインストールされます。これは、2010年5月22日現在、PAR::Packer v1.004をビルドすると、ppの--iconオプションのテスト(t/20-pp.tのautomated_pp_test.pl)で失敗するためです。つまり、ppで--iconはエラーになります。 下記の記事を読んで久しぶりにActivePerlを触ってみたくなりました。 ActivePerl 5.12 で PAR::Packer をインストール - blog.remora.cx 私は新しいバージョンのperlを試すとき、まず、PAR::Packerのインストールをします。 参照記事のように自分でMinGWをインストールすることを覚悟の上でActivePerl 5.12.1をダウンロードppmを起動してMinGWなんか探し

  • PHPだと文字化けしないのに、なんでPerlでは文字化けするの?弱いの? - Perl楽しいから好き

    数週間前、会社の同僚から 「PHPではこんな文字化け起きないのに、なんでPerlでは起きるんだろうか?」 という話をもらった。 「言語仕様なんじゃないかな?」 と、それっぽいことを答えて、お茶を濁したのですが やっぱり気になったので、自分なりに調べてみた。 ※それなりに調べて、自分なりに解釈したものの誤っている部分もあるかと思うので(特にPHPに関して)お気づきの点があれば、ご指摘ください。 ※また、回りくどい考察や思考の過程をすっ飛ばして結論を読みたい方は、一番下の「■乱暴な結論 」をご覧あれ。 Perlでのマルチバイト文字列の扱い ◎気をつけたい前提条件 (1)Perlは内部処理を行う際に全ての入力をPerl内部用UTF-8内部文字列に変換して処理する (2)encodingしなければ、Perlは入って来るマルチバイト文字列をシングルバイト文字列として処理する (3)Windowsコマ

    PHPだと文字化けしないのに、なんでPerlでは文字化けするの?弱いの? - Perl楽しいから好き
  • eiji8pou.net

  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
  • 移転しました

    移転しました

  • 分散 Key-Value ストア mio-0.0.1alpha をリリースしました - higepon blog

    分散 Key-Value ストア mio-0.0.1alpha をリリースしました。(mio-0.0.1-alpha.tar.gz) Mio とは何か? 範囲検索(range query) が出来る KVS です。例えば「key が "1000"〜"2000" にあるものを昇順に10件取り出す」という検索が可能です。 Mio は memcached 互換プロトコルを実装しているので、多くのプログラミング言語から簡単にアクセスする事が可能です。(後述のコード例参照) Mio のアーキテクチャ Mio は Skip Graphs(スキップグラフ)というアルゴリズムに基づいて実装されています。詳細はErlang 分散システム勉強会での発表資料 Mio - a distributed Skip Graph based orderd KVSをご参照ください。 インストール 最新の Erlang をイ

    分散 Key-Value ストア mio-0.0.1alpha をリリースしました - higepon blog
  • 12桁のランダム文字列(forパスワード等)を吐くスクリプト - eiji8pou's diary

    めもー! use strict; my @letter = (); push @letter, ( 'a'..'z' ); push @letter, ( 'A'..'Z' ); push @letter, ( '0'..'9' ); my $length = scalar @letter; my $result = ''; foreach ( 1..12 ) { $result .= $letter[int(rand()*$length)]; } print $result; 2010-09-06追記 randを使うと、問題がありそうだから、重要な場所では使うべきではないです。 つまり、「Perlで」「rand()を」使っていると、再現される可能性が出てくるからです。 rand()の部分は、他のものを使うといいですよ、と。 404 Blog Not Found:perl - Math -

    12桁のランダム文字列(forパスワード等)を吐くスクリプト - eiji8pou's diary
    eiji8pou
    eiji8pou 2010/09/06
    12桁のランダム文字列(forパスワード等)を吐くスクリプト
  • perl & javascript - PNGにテキストを埋め込む : 404 Blog Not Found

    2010年09月05日05:30 カテゴリLightweight Languages perl & javascript - PNGにテキストを埋め込む いっそこんな利用法はどうか。 404 Blog Not Found:Ajax - データ交換 via PNG 使いどころが限定的すぎる。 Demo 0 アイコンの中にエンコーダーのソースコードを埋め込んである。 $('#demo0 input').click(function(){ $('#demo0dst').text(showTextInPNG($('#demo0img').get(0))); }); Perlでテキストを取り出すソースコードは以下のとおり。 #!/usr/bin/env perl use strict; use warnings; use Imager; use autodie; my $img = Imager->

    perl & javascript - PNGにテキストを埋め込む : 404 Blog Not Found
    eiji8pou
    eiji8pou 2010/09/05
    うーん。以前、これをやった人を知っているが、後からでも声が大きな人が以下略
  • Perlでニューラルネットワーク - Shanghai.LOG - 上海ログ

    今回も大学のレポートネタ。ニューラルネットワークを用いたパターン認識 をPerlに移植してみた。バックプロパゲーション法って、意外とシンプルなやり方なんだなぁ。 動かし方 Perlのソースを保存して起動すると、学習を始めます。しばらくするとプロンプトが出てくるので、 □□■■■□□ □■□□□■□ ■□□□□□■ ■□□□□□■ ■□□□□□■ ■□□□□□■ ■□□□□□■ ■□□□□□■ ■□□□□□■ □■□□□■□ □□■■■□□の様に、横7×縦11の■□でできた数字のパターンをコピー&ペースト等で入力してあげると、0〜9のどの数字かを判定してくれます。 ソースコード use strict; use warnings; use utf8; use Data::Dumper; $Data::Dumper::Terse = 1; $Data::Dumper::Indent = 1; b

    Perlでニューラルネットワーク - Shanghai.LOG - 上海ログ