タグ

perlに関するsyohexのブックマーク (298)

  • lib::xi - installs missing libraries on demand - Islands in the byte stream (legacy)

    gistなどで公開されているPerlスクリプトを実行する際、モジュールが足りないことがよくあります。そういう場合はCan't locate Foo.pm ...というエラーメッセージを見ながらモジュールをインストールするわけですが、決まりきった作業にうんざりしたので自動的にそれをするモジュールを書きました*1。 https://github.com/gfx/p5-lib-xi `perl -Mlib::xi script.pl`とするだけで、足りないモジュールをcpanmで適当にインストールしてくれます。 -Mlib::xi=extlibとすれば既存の環境を壊すことなくlocal::lib的にextlib/にインストールして実行できますし、-Mlib::xi=-L,extlib,-qなどとしてcpanmにオプションを渡すこともできます。 これで退屈なインストール作業をしなくてすむはずです。

    lib::xi - installs missing libraries on demand - Islands in the byte stream (legacy)
    syohex
    syohex 2011/03/19
    これは便利。
  • Text::ASCIITableによるアスキーテーブルレイアウト - Unknown::Programming

    MySQLの出力結果みたいなのが必要になったのでCPAN漁ってたらこんなの発見。 Text::ASCIITable - Create a nice formatted table using ASCII characters. - metacpan.org 地味に凄いめちゃ便利 use Text::ASCIITable; my @rows = ( [1,'foo','2011-03-16 11:22:33'], [2,'hogehogehoge','2011-03-17 11:22:33'], [3,'uwaaaaa','2011-03-18 11:22:33'], [4,'dio','2011-03-19 11:22:33'], [5,'jojo','2011-03-20 11:22:33'], ); my $t = Text::ASCIITable->new(); $t->setCol

    Text::ASCIITableによるアスキーテーブルレイアウト - Unknown::Programming
    syohex
    syohex 2011/03/17
  • DoCoMo用電話帳登録QRコード作成プログラム [データベース] All About

    DoCoMo用電話帳登録QRコード作成プログラムWeb+DBプログラミングの基礎 Vol.18 DoCoMo用電話帳登録QRコード作成プログラムを紹介します。 Web+DBプログラミングの基礎 Apache + PHP + MySQL Version5編 Vol.18 DoCoMo用電話帳登録QRコード作成プログラムを紹介します。 QRコードは(株)デンソーウェーブの登録商標です。 [前準備] こちらの記事を参考にプログラムテストのための環境を設定してください。 尚、プログラムではMySQLは使用しませんのでMySQLのテーブル作成等の作業は不要です。 注 --- このプログラムはユーザー定義関数を使用します。 事前にApache + PHP + MySQL Version5編 Vol.02のユーザー定義関数myfunc.phpを作成しておいてください。 [その他ハード等の必要な環境]

    DoCoMo用電話帳登録QRコード作成プログラム [データベース] All About
    syohex
    syohex 2011/03/15
    あとで作る
  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
    syohex
    syohex 2011/03/14
    あとで試す
  • github-growler appがSnow Leopardでも使えるようになった - すぎゃーんメモ

    先月くらいから、遅ればせながらgithub-growlerを使い始めてました。 https://github.com/miyagawa/github-growler githubで自分がfollowしているユーザのアクティビティやwatchしているリポジトリの変更がgrowl通知されてすごくイイ。 ただ、.appのアプリはSnow Leopardでは動かなかった https://github.com/miyagawa/github-growler/issues#issue/2 ので、github-growler.plを動かすようにしていた。 けど、今日ついにSnow Leopard対応版がリリースされたようなので早速入れてみました。 Downloads · miyagawa/github-growler · GitHub System PreferencesのAccountsからLogin

    github-growler appがSnow Leopardでも使えるようになった - すぎゃーんメモ
  • Test::Mock::Guard Released - 日向夏特殊応援部隊

    さっき nekokak さんと xaicron さんにそそのかされて Test::Mock::Guard ってモジュールを書いてみました。 そもそも Perl には Test::MockObject と言う汎用の Mock モジュールがあるんですけど、あれこれ余計な機能がたくさんついてたり Mock 化すると多分元に戻せないと言うのがあってもっとシンプルな奴がほしいなと思って作ってみた次第です。SYSNOPSIS のコピペですけど、 use Test::More; use Test::Mock::Guard qw(mock_guard); package Some::Class; sub new { bless {} => shift } sub foo { "foo" } sub bar { 1; } package main; { ### このスコープでは Mock 化されてる my

    Test::Mock::Guard Released - 日向夏特殊応援部隊
    syohex
    syohex 2011/03/09
    実装を確認してみる
  • 備忘録:AnyEventとData::MessagePack - D-6 [相変わらず根無し]

    備忘録:AnyEventとData::MessagePack 2011年3月 8日 18:38 D | ブログ記事のURL | コメント(0) | トラックバック(0) ちょっとだけ躓いたりしたので、備忘録のため。AnyEventでData::MessagePackを受け取るサーバー use strict; use AnyEvent; use AnyEvent::Socket; use Data::MessagePack; use Data::Dumper; main(); sub main { my $host = undef; my $port = 8888; my $guard = tcp_server $host, $port, sub { my ($fh) = @_; handle($fh); }; my $cv = AE::cv; my $w; $w = AE::signal

    syohex
    syohex 2011/03/09
    あとでコードリーディング
  • Tutorial - Create BBS site — Amon2 6.13 documentation

    % amon2-setup.pl BBS % cd BBS/ % curl -L http://cpanmin.us | perl - --installdeps . CREATE TABLE IF NOT EXISTS member ( id INTEGER NOT NULL PRIMARY KEY, name VARCHAR(255) ); CREATE TABLE IF NOT EXISTS sessions ( id CHAR(72) PRIMARY KEY, session_data TEXT ); CREATE TABLE IF NOT EXISTS entry ( entry_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, body varchar(255) not null );

    syohex
    syohex 2011/03/08
    Amon2のチュートリアル。あとで試す
  • deep recursion を FATAL error にするの術 - tokuhirom's blog

    use warnings FATAL => 'recursion';ってかいておくと Deep recursion on subroutine "MyMojoliciousApp::Example::welcome" at script/../lib/MyMojoliciousApp/Example.pm line 7.となるので安心。 global にかけられればいいとおもうんだけどね。

    syohex
    syohex 2011/03/07
    再帰が深すぎる場合の対応
  • 「安全なWebアプリケーションの作り方」を読んでセッションを復習してみた - As a Futurist...

    タイトルが長くて略称があれば知りたい感じの「安全な Web アプリケーションの作り方」を暇を見つけて読んでいます。今まであいまいなままだった部分を順を追って説明してくれるので、当に助かります。Web アプリ作りの初心者は卒業したかなーという人は必ず目を通しておくと良いと思います。 Cookie を用いたセッションについて復習 「HTTP はステートレスで」とかいう話はよく聞きますが、じゃあどうやってセッション管理するのがいいの?って話をよく考えると体系的に聞いたことがなかった!というわけで、こので文字通り体系的に学び直すことができました。 その中でも、「セッション ID の固定化」という話題はちゃんと分かってなかった部分があったので、こちらのサイトを参考に PSGI なアプリケーションを作ってみました(僕の書いたアプリ自体はその他の脆弱性に溢れていますがw)。コードはエントリの最後に。

    「安全なWebアプリケーションの作り方」を読んでセッションを復習してみた - As a Futurist...
  • Modern Perl | Onyx Neon Press

    A word from our authors… “Aliens!” The Dread Pirate Jack Spartan spit the word carelessly across the beach. He sat just shy of the water’s edge and watched the ship—his ship!—soar ever smaller to the lee of the sun, where a shadowy hulk menaced the otherwise blue sky. There would be no third hijacking, he resolved. The tropical sun bore down. Jack found shade under a palm tree and resumed his read

    syohex
    syohex 2011/03/07
    PDFが読める
  • Perl 5 to 6 - 例外と制御例外

    これはMoritz Lenz氏のWebサイトPerlgeek.deで公開されているブログ記事"Perl 5 to 6" Lesson 26 - Exceptions and control exceptionsの日語訳です。 原文はCreative Commons Attribution 3.0 Germanyに基づいて公開されています。 エントリにはCreative Commons Attribution 3.0 Unportedを適用します。 Original text: Copyright© 2008-2010 Moritz Lenz Japanese translation: Copyright© 2011 SATOH Koichi NAME "Perl 5 to 6" Lesson 26 - 例外と制御例外 SYNOPSIS try { die "OH NOEZ"; CATC

  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

  • 2010年にXMLRPCをPerl5でつかう方法について考えた(XMLRPC on Plack) - tokuhirom's blog

    以下のように RPC::XML をつかうとよい。 Following code is XMLRPC server snippet on Plack. This code uses RPC::XML. use strict; use warnings; use Plack::Request; use Plack::Builder; use RPC::XML; use RPC::XML::ParserFactory 'XML::LibXML'; sub res { RPC::XML::response->new(@_) } my %dispatch_table = ( 'sum' => sub { my $args = shift->value; return res(0 + $args->{a} + $args->{b}); }, 'echo' => sub { my $args = shi

  • URI::Title が動かなくなったので代替手段を探った | ブログが続かないわけ

    Emacs でブログを書くときの補助ツールとして、選択したurl をそのページのタイトルつきで、リンクのタグに変換するPerlスクリプトを使っていたのですが、いつからか動かなくなってしまっていました。 ちなみに、Lisp がわからなくても選択範囲に対してPerl などを実行するのは結構簡単にできます。 [参考] Lisp はわからないけどEmacs で選択範囲に対してごにょごにょしたい 話が少しそれてしまいましたが、状況をよくよく確認してみると、LWP系がまったく動かなくなってしまっていました。なぜだかわからないのですが、原因究明から逃げて、なんとか代替手段を手にいれました。WWW::Curl でお茶を濁すということです。まったくモダンな感じがしないうえに、文字コードの変換もいまさらこんなのを書いていいものか不安です。とにかく目的は達成できましたし、なんでもさらしたほうがいいってことなので

    URI::Title が動かなくなったので代替手段を探った | ブログが続かないわけ
    syohex
    syohex 2011/02/25
    原因は何なのだろうか?
  • SQL::Object

    というのを作ってみた。(結構前に) https://github.com/nekokak/p5-SQL-Object コンセプトは 生のSQL(基where句)をプログラマブルに結合出来るようにすることです。 (namespaceが微妙という説もあるけどSQL::Stringとかもにたようなもんだよね!) 使い方: use SQL::Object qw/sql/; my $sql = sql('foo.id=?',1); $sql->as_sql; # 'foo.id=?' $sql->bind; # qw/1/ $sql->and('foo.name=?','nekokak'); $sql->as_sql; # 'foo.id=? AND foo.name=?' $sql->bind; # qw/1 nekokak/ $sql->as_sql; # 'foo.id=? AND foo

  • HugeDomains.com

    Captcha security check helloperl.com is for sale Please prove you're not a robot View Price Processing

  • Perl でつくった web サイトを L10N する方法 - tokuhirom's blog

    Perl でつくった web サイトを L10N する方法について簡単に説明します。今回は、日語のサイトを英語でも表示できるようにするケースをあつかいますよ。今回は L10N の対象は Amon2 をつかったサイトとします。 基的な翻訳機能は Locale::Maketext::Lexicon を利用します。これはなんだかんだで出来がいいのでいいとおもいます。他にもいろいろあるけど、これが一番実績もあるし安定しているようにおもいます。また、一時期はメンテが放棄されてましたが、最近またメンテされるようになったようです。 メッセージのマークアップでは、まず、Perl コード中の日語のリソースを $c->loc(); でくくりましょう。 printf("ほげ\n"); みたいになってるところを printf($c->loc("ほげ\n")); みたいにするってことです。 つぎにテンプレート

  • 七階 » Markdownなテキストファイルを置くだけでドキュメントサイトを作れるPlackアプリ

    Markdownをベースにしたドキュメントサイトは3・4年前に作ったことがありましたが、刷新しました。 デモ: http://doc.7kai.org/ レポジトリ: https://github.com/s-aska/app-markdown-binder-plack ページを増やす際にはテキストファイルを置くだけ、ファイルの一覧等設定に持たせない ページを読み込み際、サイドバー等はそのままに中身だけ読み込む ページの更新はplackup -Rで監視、更新時にツリーと全ページのHTMLを書き出し、動的に変換しない クローラ(又はJs OFFのクライアント)でアクセスされた場合はスキンとコンテンツを動的に結合して返す pushStateに対応し、URLや戻る・進むによるナビゲーションに対応 他のWikiエンジン等への載せ替えを阻害しないように純Markdown形式、拡張文法は作らない ファ

    syohex
    syohex 2011/02/24
    Plackの勉強のためにソースを見てみる
  • [Node.js]Node.jsにperlインタプリタを組み込む node-perl - WebService::Blog->new( user => ’hide_o_55’ )

    先日の Hachioji.pm #2 のLTで発表した node-perlについて簡単な解説をしておきます。 GitHub - hideo55/node-perl: Embeded perl interpreter for node.js LT資料 node-perl Perlインタプリタをnode.jsのaddonに ネタで作ったものなので、現時点では実用性無し ちゃんとインタプリタを永続化できれば、使い道はあるかも Perlインタプリタの組み込み まず、C/C++プログラムへのPerlインタプリタの組み込みはほぼperldocのperlembed - C プログラムへの Perl の埋め込み方 - perldoc.jpのままです。 ただ、インタプリタを組み込んだだけでは標準出力などはそのまま出力されてしまいます。そこで、以下のようにしています。 void override_stdhan

    [Node.js]Node.jsにperlインタプリタを組み込む node-perl - WebService::Blog->new( user => ’hide_o_55’ )