タグ

perlに関するjamadamのブックマーク (240)

  • Mojolicious 3.0 released: Perl real-time web framework - Sebastian Riedel about Perl and the Web

    It fills me with great joy to announce the release of Mojolicious 3.0 (Rainbow). This marks the first major release for our newly formed core team, consisting of Glen Hinkle, Marcus Ramberg, Abhijit Menon-Sen and yours truly. A lot has happened during the last 8 months since our 2.0 release, most design decisions are now made by majority vote. The core feature set is not changing much anymore, and

  • 帰ってきたネコブログ » 鳴らして学ぶまえにすべきたった1つのこと

    だいぶ、告知うざいですよね。 でも、これで最後なので、どうか許してください。 今回、私が寄稿したPerl Hackers Hubの「Perl meets beats」ですが、 まずは、こちらからサンプルコードをダウンロードして欲しいのです。 (表紙画像の右にある「書のサポートページ」から辿れます。) で、なぜダウンロードをして欲しいかと言うと、 このままじゃ、鳴らせないので、学べないわけですね。 ダウンロードが完了したら、zipファイルを解凍して、以下の方法で実行します。 $ perl perl15_sample_code.pl すると、いくつかのWAVファイルが生成されるので、 まずは、再生して音を聴いてみてください。 (”samples_beats.wav”がオススメです。) 今回は、MacBookAirでもキックが聴こえるような設定なので、 ヘッドフォンだと低音が大きすぎるかも知れ

  • 第13回 メタオブジェクトプロトコル入門(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はPerl 5上で先進的なオブジェクト指向を実現するためのフレームワークMooseなどの開発に関わっているShawn Moore(sartak)さんと、Japan Perl Associationの理事である牧大輔さんが、「⁠メタオブジェクトプロトコル」について解説します。 メタオブジェクトプロトコル(MOP)とは さまざまなプログラミング言語がオブジェクト指向機能を提供していますが、オブジェクトの構造を細部にわたって閲覧したり、デフォルトの挙動を拡張したりすることまでできる言語はそれほど多くありません。 このような操作を行いたい場合は「メタオブジェクトプロトコル」(⁠以降:MOP)と呼ばれる技術を利用します。MOPは、オブジェクトのメソッドやアトリビュートなどを含む内部構造そのものを、オブジェクトで表現するしくみです。P

    第13回 メタオブジェクトプロトコル入門(1) | gihyo.jp
    jamadam
    jamadam 2012/06/18
  • Perlでハッシュのキーをdecode_jsonに渡すと壊れる - As a Futurist...

    タイトルの通りで、とりあえずperl-5.14.2/JSON 2.53でセグフォしました。。。 gfx 先生によると、実はハッシュのキーは単純な文字列じゃなくて、それをdecode_jsonに渡すと壊れる模様。 @riywo これは興味深いですね!ハッシュのキーは「FAKE」とよばれる特殊な文字列なのですが、それをJSON::XS::decode_json() に渡すとデータが壊れるようです。たとえば Dumper() ではなく $json に何か代入しようとしてもSEGVします。 — FUJI Goro (@__gfx__) June 15, 2012 perl-5.8.8 だと多分大丈夫そうな予感(use JSON::XSしてます)。あんまり色んなバージョンを手元に入れてないので試しきれてないですが、とりあえず報告ということで。 参考 - XS で共有文字列を活用する – Island

    Perlでハッシュのキーをdecode_jsonに渡すと壊れる - As a Futurist...
    jamadam
    jamadam 2012/06/16
  • MojoCasts.com is for sale | HugeDomains

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    jamadam
    jamadam 2012/05/28
  • perlbrewとextlibなアプリのcronとかdaemontools - As a Futurist...

    perl は system perl じゃなくて perlbrew で入れて、アプリで必要な CPAN モジュールは全てアプリのディレクトリ下の extlib というディレクトリにインストールする方式は個人的にはいい感じだよなぁと思いつつ、cron とか daemontools がいつもどうやるのが正解なのか分からず困ってた。 またセットアップする機会があったので色々考えた結果、こんな感じなら割とすっきりした感じになった。 env このファイルがキモで、アプリのディレクトリに移動しつつ、いい感じに perl とか PATH とか@INC を設定して、渡されたコマンドを実行してくれる。 # perl -v This is perl, v5.8.8 built for x86_64-linux-thread-multi # ./env perl -v This is perl 5, versi

    perlbrewとextlibなアプリのcronとかdaemontools - As a Futurist...
    jamadam
    jamadam 2012/05/26
  • Perl best practices[Perlベストプラクティス] 12章 正規表現 12.1~12.12 - やわらかコード

    , perl | 01:33 | 問題にぶつかると「正規表現を使えばいい」と考える人がいる。 そして、問題を2つ抱えることになる。 --Jamie Zawinski 常に/xフラグを使用する。 これは、確実につかう。JScriptでもXRegExp使ってます。 Xを使うことで、ホワイトスペースが無視され、#も使用できる。そのため、ギチギチに詰められた正規表現である必要がなくて、意味のある単位ごとに、スペースで分けることができる。  もっと分かり易くするには、意味のあるグループごとに改行して、インデントを付け、コメントをつける。 常に/mフラグを使用する メタ文字^$は任意の行の先頭と末尾にはマッチしない。ほとんどのUnixユーティリティ(sed,grep,awk等)はもともと行思考なので、^$は行の先頭と末尾にマッチするが、Perlではそういった意味はもたない。(JavaScriptでも

    jamadam
    jamadam 2012/05/20
  • MT::ObjectこそがMTの本質であると勝手に思っている。 | Junnama Online

    MT::ObjectこそがMTの質であると勝手に思っている。 公開日 : 2007-12-16 02:27:47 MTとは何だ? MTって(あなたにとって)何? って聞かれたなら、僕は『MTとは「MT::Object」である』と答えるかな。 loadメソッドは間違いなく最も複雑なメソッドです。 とあるけれど、これこそが MTの質なのですよ。きっと。 MT::Entry とか MT::Blog とか MT::Category とかみんな MT::Object のサブクラスであり、オリジナルのクラスを作ることも簡単にできる。 MTObjectBuilder(MT::Objectのサブクラスを作ってDBのテーブルを簡単に拡張するためのcgi)。 MT::Object についてちょっと書いてみる。 MTOSによって、これがオープンソースになるのです。だからMTOSは「ただで使えるブログソフト」

    MT::ObjectこそがMTの本質であると勝手に思っている。 | Junnama Online
    jamadam
    jamadam 2012/05/17
  • Hokkaido.pm#7に参加してみた | jamadam weblog

    Casualを含めて今回3度目の参加でした。今回はWEBアプリ再入門がテーマということで、WAF(ウェブアプリケーションフレームワーク)のお話が中心でした。WAFは選択肢豊富で迷いそうだけど、一方で、どれも大差ないようにも感じました。いずれにしても今、Perlが熱い。 Amon2(akiymさん) 高校生にあんな立派な発表されたら敵いません。KENT WEBの掲示板を移植していたのが面白かった。ああいうのをサクっと作れちゃうのは素晴らしい。スライドもう一度みたいなあ。あがってた http://akiym.com/slides/20120512-hokkaidopm7-amon2/index.html Dancer(aloelightさん) Dancerは、ルーターに渡すコールバックでレスポンス用の文字列をreturnしていた点に、Mojoliciousとの設計の違いを感じました。あと、プラ

    jamadam
    jamadam 2012/05/13
    ブログった #hokkaidopm
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;

    以前http://tech.naver.jp/blog/?p=1369の記事を読んだのだけれど、それまでにprocessの知識が無かったりして、まったく理解できませんでした。そこでWorking with UNIX ProcessesやServer::Starterの中身を呼んでようやくhot deployの仕組みを理解できた(気になっている)ので、Server::Starterの実装を追いながら、それをまとめてみます。 hot deployとは hot deployとは「再起動の時にリクエストの処理を続けながら、変更の内容を反映するための手段」です。 通常serverをrestartさせるときは、stop -> startの流れになると思いますが、この場合stopしてから、start出来るまでの期間にリクエストを処理できない期間が発生します。その期間なしにdeployする仕組みがhot

    Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;
    jamadam
    jamadam 2012/05/07
  • Perl Beginners#2 に参加してきました #perlbeginners

    主催者の @ytnobody さんに「写真撮ってね!ブログでレポート書いてね!雰囲気伝えてね!」と発破をかけられていたのですが、あまりたくさんの写真を撮ることができませんでした。場慣れしていない初参加イベントだと、どうも動きが鈍る…。 以下、当日のタイムテーブルが書かれたホワイトボードです。 ビギナーズセッション この「ビギナーズセッション」というのは、発表者が自分が今取り組んでいることを発表しつつ、聴衆に向けて「もっと良いやり方がありますか?」と問いかけるというもの。主催者とゲストの知識人が答えてくれるという面白い試みです。 まずは @c_tyo さんによる質問。ajax.cgiというPerl CGIをjQueryの$.ajax()で叩いてFacebookのような(画面遷移の少ない)ページを作っているが、もっとよい方法があるか、というもの。 知識人からの回答としては、やはりCGIよりもP

    Perl Beginners#2 に参加してきました #perlbeginners
    jamadam
    jamadam 2012/05/06
  • おそらくはそれさえも平凡な日々: PerlのIdiomをCPANモジュールを使って可読性を高くしてみる

    今年からKayac技術部では以前以上にPerlを推進する方向で進めています。そんな中でこれまでPerlを書いたことのないエンジニアにもPerlを書いてもらうことも多くなってきたのですが、PerlのIdiomがやはりわかりづらいんだなぁということを感じています。 割りとサクッとやっつけでコードを書くことが出来るのもPerlの良い点ですが、まあ分かりづらいよね...、と言うことで最近はPerlに慣れない人に対しても可読性が高くなるように多少心がけています。 てことで、PerlのIdiomとそれを読みやすくしたものを幾つか。 ファイル一気読み こんな感じで書いてしまうことが多いと思います。 use autodie; も併用することが多いので、or dieとかも書かない感じ。 my $content = do {local $/; open my $fh,'<:utf8',$file_name;<

    jamadam
    jamadam 2012/04/24
  • Perl-5.14 で解析表現文法 - Tociyuki::Diary

    先読み機能付き左選択肢優先の正規表現用 NFA にプッシュダウン・スタックをつけてリエントラントに書き直し、欲張りマッチングの後戻りバックトラッキングを止めにすると、そのままwikipedia:解析表現文法 (Parsing Expression Grammar, PEG と略す) を解釈できるオートマトンになります。 さて、Perl は 5.8 の頃から既にバックトラック抑制機能をもっており、さらに 5.14 の組み込みエンジンは解析表現埋め込みの Perl 実行文含めてリエントラントに動くように書き直されたものになっています。ということで、Perl-5.14 なら PEG をそのまま正規表現感覚で実行可能になっているというわけです。PEG は正規表現にかなり近い記法ではあるのですけど、それでも慣れ親しんだ正規表現の記法そのままで PEG できるのは素晴らしく、さすがに、まだ CPAN

    Perl-5.14 で解析表現文法 - Tociyuki::Diary
    jamadam
    jamadam 2012/04/18
  • NginxのPerlモジュールで自由にリアルタイム画像変換する方法 - 9mの日記

    Webサイトでいろいろなサイズの画像を使いたいとき、URLのパラメータを変えるだけでサイズ変換してくれると非常に便利です。クックパッドのTOFUとかわりと有名ですね。開発効率も上がるし、面白そうだったのでNginxで実装してみました。 TOFU : 料理を楽しくする画像配信システム フルサイズの画像 元の画像です http://pic.kksg.net/shirakawago.png 比率固定リサイズの画像 /scale/128x128 を挟むと縦横の最少が128pxの画像になります。 http://pic.kksg.net/scale/128x128.shirakawago.png サイズ指定切り抜き c オプションで切り抜き。指定サイズいっぱいに、いい感じに切り抜きます。 http://pic.kksg.net/scale/c.600x150.shirakawago.png グリッチ

    jamadam
    jamadam 2012/04/13
  • "package"の代わりに"class"を使うclass.pm作った - Perl日記

    再発明かな。 use strict; use warnings; use class; class "Foo" => ( bar => sub { my $self = shift; if (@_) { $self->{bar} = shift; } $self->{bar}; }, ); my $foo = Foo->new(bar => 'baz'); print $foo->bar, "\n"; #=> 'baz' $foo->bar('hoge'); print $foo->bar, "\n"; #=> 'hoge'

    "package"の代わりに"class"を使うclass.pm作った - Perl日記
    jamadam
    jamadam 2012/04/09
  • プログラミング言語 Tora を公開した - tokuhirom's blog

    http://tora-lang.org/ Perl6 の開発が宣言されてから10年以上の歳月がたち、いまだ実用的な実装はあらわれません。 そんななかで、next perl 的なものをつくりたいと gfx がいってから 3ヶ月ぐらいたっていますが、こちらも一行もコードをかいた様子はありません しょうがないので僕がつくってみました。まだあらけずりですが、意外とうごいています。 今回、とくに Perl5 にあった機能のなかでけずりたかったものは以下のとおり context@ary, %hashつけたかったものは以下のとおり autoboxingMoose 的なものの組み込みハックしやすいVM組み込みライブラリの実装しやすさ 未実装な点は以下のとおり Moose 的なアクセサSignal handlingこまかい socket 関連のものHash::MultiValue の組み込みなどなど。 g

  • Mojolicious::Guides::Rendering - Rendering content