タグ

2013年8月12日のブックマーク (4件)

  • Minilla を用いた Perl モジュールの作り方 - tokuhirom's blog

    http://shanon-tech.blogspot.jp/2013/05/perl.html Perl モジュールの作り方、2013年においては Authoring tool をつかって作るのがよいです。具体的には Minilla でつくるのがオススメであります。 perlbrew なり plenv なりで perl をいれたあとは、 % cpanm Minillaとして Minilla をインストールします。 % minil new Fooとすると、Foo.pm のスケルトンができあがります。作者の名前などは ~/.gitconfig などから自動的にさがしてきますので、設定不要です。 できあがったディレクトリは以下のような形になっています。 Foo ├── Build.PL ├── Changes ├── cpanfile ├── lib │   └── Foo.pm ├── LI

  • おそらくはそれさえも平凡な日々: cpanfileのrequiresにURLを直接指定するのは好ましくない

    cpanfileでは、requires "git:..."; のように、gitやtarballのURL等を指定すれば cpanm --installdeps . でモジュールがインストールできる「裏ワザ」があることが 結構知られているようです。しかし、これは好ましくありません。そもそも CPAN::Meta::Spec準拠ではありません。 これはあくまでcpanm側が第1引数にgitやtarballのURLなどを指定すればよしなに インストールしてくれるから現状は「偶然」そういう動きになっているだけです。 (cpanm git:...でインストールできるので、requires "git:..."; って書いてあれば 入れてくれてしまうってことです。) あくまでインストールにcpanmを使った場合に動くってだけの限定的な話で、しかも今後は 動かなくなる可能性が高いです。 実際問題、requi

  • そろそろText::Markdown::Discountについてひとこと言っておくか | おそらくはそれさえも平凡な日々

    Text::Markdown::Discountってどうなの?って話があったりするわけですが、Perlの人は積極的に使ったほうが良いと思うし、Discount自体はPerlに限らずおすすめだよーっていうエントリです。 これはDiscountというCのMarkdownライブラリのバインディングです。Rubyにはrdiscountという、メジャーなMarkdownのgemがありますが、これもDiscountのバインディングです。Jekyllとかで利用している人も多いでしょう。 Rubyの世界だと他にもredcarpetというgithubが採用したことで一躍有名になったMarkdownライブラリがあります。これはsundownというCのMarkdownライブラリのバインディングです。 sundownは処理が高速なのがウリらしく、PerlでもText::Markdown::Sundownを書こうか

    そろそろText::Markdown::Discountについてひとこと言っておくか | おそらくはそれさえも平凡な日々
    lesamoureuses
    lesamoureuses 2013/08/12
    "brew install"で入れられるし、catコマンドみたくとりあえずmarkdownって打ってCtrl-dするだけで結果が出るから便利
  • シングルトンが邪悪な理由

    概要 最近、無駄にSingletonが使われているプログラムをメンテナンスする機会があり、非常に残念な思いをしているので、このつらさを世の中に広めないために書きます。 他にもSingletonが使われていることによって残念な思いをしている人を探してみましたが、日語では見当たりませんでした。海外の記事は見つけました。 全く同じ理由でSingletonのつらさを感じていたのでそのまま訳します。 1) Singletonはグローバルスコープからの呼び出しによく使われる 正しい。 しかし、何のためにでしょうか? singletonパターンはあるシステム上で明確に1つだけしか存在しない呼び出しを提供する。よって、サービス内でオブジェクトの参照を持ち回る必要がなくなる。 しかし、そのような使い方は、グローバル変数と何が違うのか?(ご存じの通り、グローバル変数って良くないよね?) Singletonで

    シングルトンが邪悪な理由