多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと
多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと
Perlが30倍速くなるかもしれないSPVMの開発版をリリースしました。 SPVM(CPAN) かもしれないと書いたのはベンチマークをまだとってないからで、理論的にはJava VMの速度まで、近づけることができるんじゃないかなと思うから。 開発版なので、まだ機能が足りないのだけれど、CPANにリリースして、CentOS, FreeBSD, Windowsで動かすところまでやったので、ここで公開します。Macを持っていないので、Macの方は、CPANからインストールできるか確認していただけるとありがたいです。 SPVMはPerlに似た新しいプログラミング言語で、バーチャルマシン上で動き、関数をPerlから簡単に呼び出すことができる。 完全な静的型を持ち、Javaと同じデータ型、byte, short, int, long, float, doubleを持つ モジュールを書いてすぐに実行できる
brew install perl-build brew install plenv上を実行したあとに、plenv install 5.18.2してもエラーになってつらい。 https://github.com/tokuhirom/Perl-Build/blob/master/lib/Perl/Build.pm#L64 あたりを見るとCPAN::Perl::Releases::perl_tarballs()にデータがないと $CPAN_MIRROR が使われないようである。 なので、perl-buildにあるCPAN::Perl::Releases::perl_tarballs()が5.18.2の情報を返すようにすれば、ミラーを使うようになるはずなので、our $dataに5.18.2の情報を追加した。 "5.18.2" => { "tar.bz2" => "R/RJ/RJBS/perl-
Perlリファクタリングツール,適当にやったらCPANに公開できた.ご利用ください. App::PRT - Command line Perl Refacoring Tool - metacpan.org id:moznionをcollaboratorに入れたらいろいろ直したり教えてくれたりして便利だった.最高. CPANに公開するの,RubyGems.orgにgemを公開するよりややめんどうだった.やったことメモっておく. PAUSE: request_idからPAUSEのアカウント申請する 活動したい内容とか適当に書くと無視されるそうなのでちゃんと書く 本名 hitode909じゃだめで hitode 909だといけた moznionをcollaboratorに呼ぶ Minillaっていうオーサリングツールを入れてパッケージとしての体裁を整える minil migrateして失敗したと
CPANまわりのツールたちの開発が活発なので、翻訳しようと前々から思ってたのですが、ようやく翻訳しました。 CPAN::Meta::Spec ... CPANメタデータ仕様 cpanfile ... PerlアプリケーションのためにCPANの依存性を記述するためのフォーマット cpanfile-faq ... cpanfile FAQ Minilla ... CPANモジュールオーサリングツール Minilla::Tutorial ... Minilla チュートリアルドキュメント Dist::Milla::Tutorial ... Milla HOW TO App::cpanminus ... App::cpanminus cpanm ... cpanm コマンド Carton ... Carton plenv plenv-contrib 最初は、cpanfile とMinillaだけの
https://github.com/gfx/App-test-travis Travis-CI は CPAN Testers のない言語だとライフチェンジングなサービスだし、 CPAN Testers のある Perl においてもpushごとにCIを走らせたりちょっと変わった設定でテストを走らせたりできる大変便利なサービスですが、設定ファイルを正しく書くのがわりと面倒で、うまく動かすために.travis.ymlを少し変更してcommit & pushというのを何度もするはめになったりします。なので、ローカルで.travis.ymlを読んで実行するコマンドがあれば便利だろうというのがこれを作った動機です。 まだ作りはかなり適当で、before_install, install, before_script, scriptセクションを順番に実行するだけのもので、envやversionsをよし
前提知識Perl5 は minor version 間ではバイナリ互換性が保証されているPerl5 の minor update では、bug fix しか基本的に行われないPerl5 Porters の保守的さ度合いは信用できるperlbrew でセットアップするときに気をつけることインストール名をデフォルトの perl-5.16.3 などとせず、perl-5.16 と minor version を含めないようにする。 例: perlbrew install perl-5.16.2 --as perl-5.16セキュリティフィックスがでた場合の処理chromaticの記事で知ったのだが、perlbrew には upgrade-perl というコマンドがあり、最新のバージョン(マイナーアップデートのみ)にアップグレードすることが簡単にできる。 perlbrew upgrade-perlこ
なんか適当に。 cpanm は cpan モジュールをいれてくれる人です。元々は某 VPS のメモリがたりなくて CPAN shell が起動しないからなんとかしよう、みたいなのがきっかけだった気がしますが、今となってはどうでもいいことです。 とりあえずつかっとけば安心なかんじなのが cpanm となっています。 carton ってのは local/lib/perl5/ 以下にアプリの依存モジュールをぶっこんでくれる人です。carton.lock というファイルにモジュールのバージョンとか記録しててくれて、いいかんじにバージョンを固定できるので、他の環境とバージョンをそろえることができて便利です。 たんに local/ 以下にライブラリいれたいだけなら cpanm --installdeps -L local/ . とかしてもだいたいおなじです。 carton exec は、perl -M
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Perlはてなでアルバイトを初めて1ヶ月が経ちました。私の時計は4/21まで止まったままです。本日CpanからCpanmに移行するついでにPerlの環境を入れ直したので、導入履歴を記しておきます。 Perlbrew$HOME/Perl5以下にPerlを置いてバージョン毎にCPANを使い分けられるなど色々便利な、Perlbrewを入れます。 $ curl -LO http://xrl.us/perlbrew $ chmod +x perlbrew $ ./perlbrew install $ rm perlbrew $ cd perl5/ $ ~/perl5/perlbrew/bin/perlbrew init $ echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc $ . .bashrc $ perlbrew install per
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
少し前にmizzyさんに そういえば、まっさらなサーバを30分で本番投入できるようにする で stanaka さんが「CPANの依存関係を解析してrpm化する手製スクリプトで、CPANモジュールのrpm化が、ほぼ自動化されています」と書いてるんだけど、これって公開してくれないのかなー。 HowToRpmizeCpanModules - mizzy.org - Trac と突かれたので、githubで公開してみます。 http://github.com/stanaka/cpan-dependency/tree/master 突かれたついでにmizzyさんに軽く動作確認してもらったところ、それなりに動いているようです。また、はてなでは、このスクリプトを利用して、日々それなりの数のCPANモジュールのrpm化を行っていますので、だいたいうまく動くのではないかと思います。 CentOSやFedor
Wassr で ZIGOROu さん や hidek さん とやりとりした内容をまとめてみます。 CPAN モジュールの rpm パッケージ作成なんですが、自分はRPM::Specfile に付属している、cpanflute2 を基本的に使ってます。 cpan2rpm の方がメジャーだとは思うんですが、オリジナルのダウンロード用FTPサイトが接続できないのと、吐き出す SPEC ファイルが微妙な感じがするので、なんとなくイヤで使ってないんですが、それ以外はそんなに明確な理由もなく、cpanflute2 の方を使ってます。 ただ、cpanflute2 には以下の問題点があります。 依存関係を自動的に解決してくれない(これは cpan2rpm も同じ) モジュールの tar ball を自分で取得しないといけない(cpan2rpm はsearch.cpan.org から取得してくれる) なので
指定したhook pointを実行し、順番にhook pointのコードを処理し、最初に戻り値があった時点で以降に登録されたコードの実行は行ないません Hook関連のメソッドは少なく、シンプルですね。 register_hookは主にPluginから利用されるメソッドになっており、hook pointとhook poinに対するコードをPlaggerに対して登録します。 Class::Triggerで言う所のadd_triggerになります。 実際のプラグインのコードを引用すると下記のように利用されます。 # Plagger::Plugin::Publish::CHTML sub register { my($self, $context) = @_; $context->register_hook( $self, 'publish.feed' => \&feed, 'publish.fi
こんにちは。検索グループ解析チームの nabokov7 です。 今回は、livedoor キーワードでの事例より、テキストの類似度を測るのに便利な手法を紹介します。 livedoor キーワードは、livedoor ブログでその日その日で話題になった語をランキング表示するサービスです。 当初、はてなキーワードやWikipediaを足して2で割ったようなサービスを作れといった開き直った指示のもとで開発が開始されたともいう、分社化前の芸風の名残で、キーワードの検索結果にはユーザが自由に解説を書き込める Wikipedia 的スペースもついています。 で、この解説部分に、さまざまなサイトから文章をまる写ししちゃう人がとても多いのですね。 特に多いウィキペディア日本語版からの剽窃を防止するために、livedoor キーワードでは以下のような対策を講じることにしました。 ウィキペディア日本語版の解説
以前からCPANで公開していたモジュールがあるんですが、日本語での解説ドキュメントがなかったのと、最近大幅にブラッシュアップしたので、せっかくなので紹介記事を書きます。 HTML::Feature - Extract Feature Sentences From HTML Documents 「えいちてぃえむえる::ふぃーちゃー」と読みます。 ブログやニュース記事など様々なHTML文書から「重要部分」を推測して抽出してくれる perl モジュールです。 「重要部分」とはいわゆる「本文」のことですね。本文抽出とか焦点抽出とか色々な言い方があるかと思いますが、まぁ要するに特徴的な部分を推測して抽出するわけです。 どういうものか。 例えばブログ記事からヘッダーやフッター、その他のナビゲーションブロックを除いた「記事らしき部分」だけを切り取りたい、とします。 ぱっと思いつくのは「特定のコメントタグ
Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日本のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少
Class::Component - プラガブルなモジュールを作る為のベースモジュールの解説 pluginやcomponentを取り扱うモジュールを書く時に、plugin/componentを取り扱いを全て引き受けてくれるモジュールを作りました。 だいぶ前からCPANには上げてたんですが、色々あって今日報告と。 既出のアイディアとしてはid:naoyaの Class::Pluggableやid:ya_kenの Class::Pluggable等があります。 これらのモジュールもシンプルでいい感じなのですが、シンプルな分、若干物足りなさがあった(例えばメソッドの生やし方に自由度持たせたいとか)のでこしらえました。 詳しくはCPANのClass::Componentにもありますが日本語でも説明文書きたい。 出来る事component追加で基本メソッド拡張が出来るplugin追加で、hook p
時間が出来たんで前々から気になってたモジュール CPAN::Mini をインストールしてみた。年末にかけて外に出かける事が多くなりそうなんで、開発環境が全てローカルにあった方が良さそうだって思ったのが理由だけど、僕自身ヘビーにモジュール使う方ではなかったりするw Perl は今現在10,000個以上のモジュールがあるみたいなんだけど、最新版が全部ローカルで保持出来るモジュールがあって、それがこの CPAN::Mini らしい。miyagawa さんが DECON でしゃべってくれたんで知ることが出来たんですけど、ネットに繋がらない環境にいるときにモジュールが必要になったとかいう場合に役に立つんでしょうね。ネットに繋がる状況にあってもローカルに保持していればインストールも早くなるって利点もありそう。 CPAN::Mini を cpan shell でインストール とりあえず MacOSX で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く