読者です 読者をやめる 読者になる 読者になる

初代Masteries

きっとモヒカンにもなれないお前たちに告げる!!!

Amon2でベースとなるディレクトリを確認する方法

今日のTips情報です. 5分くらい悩んでやっとこさわかったので, ブログに残しておきます. ...Amon2でベースとなるディレクトリ(app.psgiがあるディレクトリ)は, use Amon2::Declare; print c->base_dir;的な感じで取れます. 以上!

「Perl入学式放送局 第4回放送」を収録しました & 「Perl入学式放送局 第5回放送」のお知らせ

というわけで, 「modperl神」ことてつじさん(@xtetsuji)さんをゲストに迎えて, 「Perl入学式放送局 第4回放送」の収録を行いました. 今回は, 上層部の意向で音源の公開ができなくなる... などというトラブルは発生しませんでした*1ので, いずれ公開する予定です.…

2代目オイラー王の座を奪取? しました

弊社プログラミング部でオイラー王決定戦が開催されたので, 参加してきました.「オイラー王決定戦」とは, Project Eulerの問題をみんなで解き, その解答速度や実行速度を争う... という, 部活内でのプチ競技プログラミング, と思って頂ければと思います. 第1回…

「Perl入学式放送局 第3回放送」を放送しました & 「Perl入学式放送局 第4回放送」のお知らせ

そんな感じで, 8月16日(金)に「Perl入学式放送局 第3回」の収録を行いました. ゲストはPerl入学式in東京のスタッフ, まこぴーさん(@mackee_w)でした. どうでもいい話ですが, 私とまこぴーさんって同い年なんですよねえ...放送では, 1時間にわたって, お仕事で…

「Acme大全 2013」を買いました.

最高の同人誌だ. Acme大全2013 誤植表 15ページ / 13行目 正: 同梱 誤: 同根 17ページ / 21行目 正: state宣言はPerl5.9.4導入された... 正: state宣言はPerl5.9.4で導入された... 10日でおぼえきるPerl 誤植表 1ページ / 1行目 正: この小冊子は... 誤: こ…

Perlで標準出力や標準エラー出力をキャプチャーする

今日の(?)Tipsコーナーです.Perlで, printやwarnなどで出力した標準出力や, 標準エラー出力をキャプチャーしたい場合, Capture::Tinyを使えばいい感じに処理できるようです. use Capture::Tiny ':all'; ($stdout, $stderr) = capture { ... }; こんな感じで…

今更ですがYAPC::Asia 2013に応募したトークが採択されていました!

9月19日〜21日に慶応大学日吉キャンパスで開催されるYAPC::Asia 2013に応募していたトークが採択されていました.YAPC::Asiaのチケット販売は8月11日までなので, この記事を見て「papixのトーク, 聞きたい!」と思った奇特な方や, 「papixのトークはどうでもいい…

「Perl入学式放送局 第2回放送」を収録しました & 「Perl入学式放送局 第3回放送」のお知らせ

[ 注意 ] 第3回放送の収録日が8月15日から8月16日に変更になりました!という訳で, 8月5日(月)に「Perl入学式放送局 第2回放送」の収録を行いました. お聞き頂いた皆様, どうもありがとうございました.今回は, ゲストの猫のあずまさん(@azumakuniyuki)がいい感…

本日20時より「Perl入学式放送局 第2回放送」を収録します!

「エッまだ続けるの?」という声が聞こえて来るような気がする「Perl入学式放送」ですが, とりあえずPerl入学式のスタッフ/サポーターをゲストとして呼び尽くすまでは続けさせて頂きますから!!! (謎の力強い宣言)...というわけで, 本日20時より, 「Perl入学式放送…

Perlでプログレスバーのようなものを出す

今日はTIPS的な日記です.Perlの特殊文字(エスケープシーケンス)の'\r'を使えば, プログレスバーのようなものを表現できるということを, 今日知りました. use strict; use warnings; $| = 1; for my $i (1..10) { print '.' x $i . "\r"; sleep 1; } print "\…

ISUCON夏期講習で叩きのめされて来ました

ISUCON夏期講習に参加してきましたが, songmuさんのブログ記事を参考にしなければ手も足も出なかった程度に惨敗してきました.というわけで, 作業ログとスコアを晒してみます. 初期状態: 655 tickets VagrantでVMを立てて環境構築を済ませていましたが, L社か…

「Perl入学式放送局 第1回放送」を収録しました & 「Perl入学式放送局 第2回放送」のお知らせ

7月29日(月曜日)に, 「Perl入学式放送局 第1回放送」の収録を行いました. 聞いて頂いた皆様, どうもありがとうございました. 機材チェックを行った「幻の第0回放送」に続き, 今回はゲストとして@bool_fool君をお呼びして, 1時間いろいろお話していました.最後に,…

common::senseがなんかおかしい

common::senseの最新版, バージョン3.71が, なんかおかしいっぽいです.→@moznion先生が解決策を見つけたそうです. 詳しくはこちら!→common::sense 3.72でこの問題は解決しました. 既にcommon::senseが導入済みの場合 バージョン3.6など, 既にcommon::senseが…

ISUCON2の環境を構築する!

「自家製 #isucon2 のつくりかた」を読みながら, Vagrantで建てたVMにISUCONの環境を作りました.今回使用したOSは, Cent OSの6.4です. 日頃Ubuntuを使っているので戸惑った点が多かったのですが, @mackee_wさんの助けもあり, なんとか完成することができた... …

B::Deparseで任意のCODEREFをDeparseする

要するに個人用メモです. use strict; use warnings; use B::Deparse; my $coderef = sub { my $n = shift; return $n ** $n; }; my $deparse = B::Deparse->new("-p", "-sC")->coderef2text($coderef); print $deparse; こんな感じで, B::Deparseをnewして…

Nephia::Plugin::PlackSessionを作りました.

https://github.com/papix/Nephia-Plugin-PlackSessionNephiaでいい感じにセッションを使う為のプラグイン, Nephia::Plugin::PlackSessionを作りました. まだCPANで公開していませんので, GitHubから入れて下さい.このプラグインを使うと, Nephiaからこんな…

「Kyoto.pm 05 Tech Talks」に行って来ました

※@shiba_yu36さんの「_」の位置を間違っていたので修正しました. 大変申し訳ございませんでした(焼き土下座)....というわけで, 13日に開催された「Kyoto.pm 05 Tech Talks」に参加してきました.今回はJPAの制度で@nekokakさんが, 更に関東から@songmuさんや@toku…

Perlでテストをするときでもメソッドを上書きしたい!

...ということ, ありませんか?自分の場合, 今朝Nephia::Setup::CartonというNephiaのflavorを作っていたのですが, これのテストを書いている時に「あっ, メソッド上書きしたいな〜」と思いました.Nephiaのflavorは, flavor内部の「additional_methods」に登録さ…

Test::UsedModules::Fast, できたのでは?

https://github.com/papix/Test-UsedModules/tree/fast...気合を入れまくった結果, Test::UsedModules::Fastができたっぽいです. Nephia, Amon2, Mojolicious, PlackでTest::UsedModulesとTest::UsedModules::Fastの結果が同じだったので, 概ねOKなのでは? …

Test::UsedModules::Fastに心が折れたので, Test::UsedModulesの紹介をします

moznionくんが書いたTest::UsedModulesを, Compiler::Lexerを使って高速化しようと思ったのですが, いろいろと辛い事になって諦めております ...ので, 今日はTest::UsedModulesの紹介をしたいと思います.皆さん, Perlでモジュールとかプロダクトとかを書いて…

「Kuso API」のソースを公開しました

誰得なAPI(のようなもの)を提供する俺得サービス, Kuso APIのソースコードをGithubで公開してしまいました.一応, このサービスもMoDepと同じくNephiaを使って書かれているので, そのサンプルとして使って頂ければ... と思ったのですが, あまり役に立ちそうに…

「Hogehoge::Plugin」と「HogehogeX」の違い

まとめ モジュール名の「Hogehoge::Plugin」と「HogehogeX」の違いは, 前者がその名の通り「プラグイン」で, 後者が「ディストリビューション」. ...ということになるらしい. 解説 Yanchaで@ytnobodyさんが「NephiaX::Auth::TwitterにすべきかNephia::Plugin::Auth::T…

> 突然の紹介 <

好きなテキストで突然の死を作成「Sudden-Death-ChromeExtention」...これ, このあいだのCPAN Authorになろうハッカソンで開発したSudden Death APIを使って@equinox79さんが作ったやつじゃねーか!!! ...一応, Sudden-Death-ChromeExtentionに対してはAPI提…

Nephia::Plugin::Response::TOMLを作りました

https://metacpan.org/module/Nephia::Plugin::Response::TOML 人生3つ目のCPANモジュールを公開しました. 今回はNephiaのプラグインです. Nephiaには, もともとNephia::Plugin::Response::YAMLというモジュールがあって, これを使うといい感じにYAML形式で…

「Perl入学式in東京 #2」を開催しました!

6月29日に, 「Perl入学式in東京 #2」を開催してきました. 会場は株式会社GaiaX, つまり弊社です. 会場の確保や当日の準備にあたっては, 先輩の@saisa6153さんや@hidehigo部長にお手伝い頂きました. 本当にありがとうございました! 感想ブログはこんな感じにな…

Nephia::Setup::BootstrapをCPANにアップしました.

https://metacpan.org/release/Nephia-Setup-Bootstrap 以前, 「Nephiaでいい感じにTwitter Bootstrapが準備できるFlavorを書きました. 」という記事で紹介したNephiaの追加Flavor, Nephia::Setup::BootstrapをCPANに公開しました. $ nephia-setup Hoge --flav…

Nephia入門 (3) - 占いアプリを作ってみよう! 〜その2〜

※GitHubに移行しました Nephia入門 (3) - 占いアプリを作ってみよう! 〜その2〜

どうせ後悔するなら, 応募して後悔しようぜ!!!

YAPC::Asia 2013のスピーカー登録の締め切りまであと3週間くらいとなりました.昨年の「Perl入学式をやってみた!」に引き続き, 今年もせっかくの機会なので是非トークをしよう! と思ったので, 「学術分野におけるPerlの活用例」と, 「入門! plenv」という2本のトー…

Nephia入門 (2) - 占いアプリを作ってみよう! 〜その1〜

※GitHubに移行しました Nephia入門 (2) - 占いアプリを作ってみよう! 〜その1〜

Nephia入門 (1) - ひな形を生成して, plackupしよう!

最近高まりつつあるNephia熱に乗っかって, Nephia入門記事を連載したいと思います.※GitHubに移行しました Nephia入門 (1) - ひな形を生成して, plackupしよう!

Nephiaでいい感じにTwitter Bootstrapが準備できるFlavorを書きました.

@ytnobodyさんが開発しているPerlのミニWAF, Nephiaでいい感じにTwitter BootstrapとjQueryが準備できるフレーバーを書きました.https://github.com/papix/Nephia-Setup-BootstrapNephiaにマージしてもらう, という手もあったのですが, 現状の実装ではAmon2…

社内のCPAN Authorになろうハッカソンに大阪から参加した

これから入社までの間, 自分のメンターを務めて頂く弊社(GaiaX)の先輩2人が「CPAN Authorになろうハッカソン」というステキなハッカソンを社内で開催する, という噂を聞きつけたので大阪から参加してきました.ハッカソンの様子については, @kazuphさんの「社内…

Nephiaの練習がてら, MoDepというサービス(?)を作ってみた.

Perl Beginnersのリーダーである@ytnobodyさんが, NephiaというWAFを開発されています.Nephiaは「Mini Waf」を名乗っていて, Amon2やMojolicious, あるいはCatalystと比べると機能的に劣る点は多いのですが, ドキュメントを見ながら書けばなんとなーくいい感じ…

MinillaでXSモジュールを作る

モジュール開発のテンプレート(ひな形)生成・サポートツールとして最近注目を集めているMinillaですが, これPPモジュールだけでなく, XSモジュールの開発もできるんですね. $ minil new -p XS Hoge::Fugaこのコマンドで, XS用のテンプレートを作ってくれるよ…

minil releaseでAcme::SuddenlyDeathのバージョンアップをした話

各方面から「モジュール名はAcme::SuddenDeathでは?」という暖かいご意見を頂きつつも, 何だかんだでHachioji.pmが開発しているyanchaなどでも活用されているという噂の拙作モジュール, Acme::SuddenlyDeathをバージョンアップいたしましたのでご報告致します.…

演算子の優先順位で後輩が困惑していた話

研究室の後輩, @bool_foolが, 「このスクリプト, なんかうまく動かないんすけど原因わかりますか?」と聞いてきました. use strict; use warnings; chomp(my $a1 = shift); chomp(my $a2 = shift); print "$a1 + $a2: " . $a1 + $a2 . "\n"; print "$a1 - $a2: …

続・plenvを使ってみた

以前, 「plenvを使ってみた」という記事で紹介した, @tokuhiromさんが開発したPerlのインストール管理ツールplenvが, シェルスクリプトで再実装されたそうです.これまでのplenvはPerlで実装されていた為, perlを実行する前にperlを実行する必要がありましたが,…

App::LP::Dumperを書いてみた.

@goccy54さんが作ったCompiler::LexerとCompiler::Parserのコマンドライン・インターフェイスに相当する, App::LP::Dumper *1というモジュールを作ってみました.先日書いたApp::CL::Dumperに, Compiler::ParserによるASTのダンプ機能をつけたものです. Compil…

Test::LocalFunctions::FastをTest::LocalFunctionsにマージしてもらいました.

「T::LFとT::LF::F, 違う人が管理するの非効率じゃね?」という意見があったので, Test::LocalFunctions::FastをTest::LocalFunctionsにマージしてもらいました.次のT::LFの更新で, CPANからTest::LocalFunctionsを入れれば, Test::LocalFunctions::Fastがuseで…

App::CL::Dumperというモジュールを書き始めました.

最近, @goccy54さんのCompiler::Lexerや, Compiler::Parserがアツいです.Compiler::Lexerについては既にCPANizeされていて, 「PPIよりも高速な字句解析機」として, @tokuhiromさんのPerl::MinimumVersion::Fastや拙作のTest::LocalFunctions::Fastなどで使われ…

perldoc.jpにほんのちょこっとだけ貢献(?)してみた.

※@ktatさんのtwitter IDをtypoしていたので修正しました. 大変申し訳ございません.英語で書かれたPerlの公式ドキュメント, perldocの日本語訳としてperldoc.jpがあります.@argrathさんや@ktatさん達が積極的・精力的にドキュメントの翻訳をして下さっているの…

誰得感溢れるGCC::Buildというモジュールを書いていますが心が折れそうです

自分が所属している研究室では, GCCやClangといったコンパイラのバグ調査や, MIPS/ARMのクロスコンパイラを使った諸々の研究をしているので, 結構GCCをビルドする機会があります.GCCのビルドは, 慣れるまではかなーり面倒(参考資料: @syohexさんのこの記事と…

Growlで応援してくれる君を作った

growlとかで「頑張って!」とかアニメアイコンの女の子が語りかけるやつ作れば良いのでは?— papix@Minecraft中毒患者さん (@__papix__) 2013年5月17日というわけで作りました. #!/usr/bin/env perl use strict; use warnings; use utf8; use Config::PL; us…

コマンドラインからtwitterをつぶやける君が完成した

昨日作っていた, コマンドラインからtwitterをつぶやける君が完成しました. #!/usr/bin/env perl use strict; use warnings; use Config::PL; use Encode; use File::Spec::Functions qw/catfile/; use Getopt::Long qw/:config posix_default no_ignore_cas…

コマンドラインからtwitterをつぶやける君を書いた

コマンドラインからtwitterに発言できるスクリプト, twinchanを書いてみました. #!/usr/bin/env perl use strict; use warnings; use Config::PL; use Encode; use File::Spec::Functions qw/catfile/; use Net::Twitter::Lite::WithAPIv1_1; my $twitter_ke…

オイラー王になれませんでした!

弊社(GaiaX)にはプログラミング部と呼ばれる部活動があります. 始業前に「朝練」と呼んでいる自主勉強会を開催したり, Project Eulerの問題を解く会を開いたりして, お互いの技能を高め合ったりしています*1.この部活動ですが, 今年度に入ってから, 「Peroject …

Acme::SuddenDeathというモジュールを書いています.

以前, 「突然の死」風AAを自動生成するAcme::SuddenlyDeathというモジュールを書いたのですが, これについて各方面より「"SuddenlyDeath"ではなく"SuddenDeath"ではないか?」との声*1が寄せられております.一言で言えば「私もちょっと気になってたのですが、Acme…

Perl入学式, スタッフ募集中です.

Perl入学式では, 共にPerl入学式を盛り上げていくスタッフ・サポーターを募集しております! Perl入学式を通して, 改めてベースから復習してみませんか? スタッフ・サポーターとしての参加を希望される方は @perl_entrance までお問い合わせ下さい!— Perl入学式…

Test::LocalFunctions::Fastというモジュールを作った.

もずにょん君が, モジュール内で使用していないローカル関数を検出してくれるTest::LocalFunctionsというモジュールを作っているのですが, これの高速(?)版であるTest::LocalFunctions::Fastというモジュールを作ってみました.https://github.com/papix/Test…

2013年5月のProject Euler [最終更新: 5月27日(月)]

アルゴリズムを考える能力を付ける, というよりは, 「定期的にコツコツ作業する」事に慣れるのと, コードを書く力を伸ばす*1為に挑戦を続けているProject Eulerですが, 先日お伝えしました通り, 解答を月ごとに, 1つの記事にまとめることにしました.というわけ…