タグ

perlに関するaokcubのブックマーク (171)

  • Japan Perl Associaton代表理事に就任します - 時計を壊せ

    SEE ALSO: blog.perlassociation.org なぜ平成も終わるこのご時世に?と思う方もいらっしゃると思います。 思いの丈を書いてみます。 昨今のWeb開発のトレンドとしては、動的型付け言語から静的型付け言語へシフトが進んでいます。 また、PaaS/SaaS/FaaSの普及により言語選択よりも技術選択とそのアーキテクチャがより重要になってきており、 *1いちプログラミング言語の重要性というものは、(特に動的型付け言語においては)昔ほど重要ではなくなっているのが実情かと思います。 その中でもPerlは、人気度でいえば比較的低い言語といえるでしょう。 LLと呼ばれる言語の中で最低の人気と言っても間違いではないかもしれません。 ひどいときには、1987年に作られたPerlと1959年に作られたCOBOLが並べて語られることすらあります。*2 それでも、ぼくはPerlが好きで

    Japan Perl Associaton代表理事に就任します - 時計を壊せ
    aokcub
    aokcub 2019/11/22
  • Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ

    Perlでコマンドラインオプションをparseしようと思うと組込みモジュールとしては Getopt::Std と Getopt::Long がある。が、long style option *1 つまり --option-name のようなオプションを解釈してくれるのは Getopt::Long だけだ。なので普通はこちらを使おう。 ただし 絶対にデフォルト、つまり以下のようにして使ってはいけない。 use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように

    Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ
  • Perl の Time::Piece 利用上の注意点 - Hatena Developer Blog

    こんにちは、アプリケーションエンジニアの id:nanto_vi です。この記事ははてなデベロッパーアドンベントカレンダー 2015 の 2 日目です。 Perl で日時を扱うモジュールのひとつに Time::Piece があります。コアモジュールなので手軽に使えますが、Perl - Time::Piece に関するとりとめのないコト - Qiita にもまとめられているように注意すべき点も多いです。ここでは、そのような注意点をいくつか挙げていきたいと思います。 なお、以下のコードは Time::Piece 1.31 で確認しています。 タイムゾーン情報を持たない 大前提として、Time::Piece のインスタンスはタイムゾーン情報を持っていません。持っているのはローカル時間か GMT かの区別のみです。その「ローカル時間」が実際にどのタイムゾーンなのかは、環境 (環境変数 TZ の値な

    Perl の Time::Piece 利用上の注意点 - Hatena Developer Blog
    aokcub
    aokcub 2015/12/06
  • Mac OSXにPerl + ImageMagick + Image::Magickをインストールする - Qiita

    Mac OSXでImage::Magickをインストールするのにはちょっとコツがいります。 この記事のとおりにやればいけます。 コツ ImageMagickをhomebrewでインストールしない Image::Magickをcpan/cpanmでインストールしない 環境 OSX 10.9.5 (mavericks) Perl 5.20.1 ImageMagick 6.8.9-8 Q16 Image::Magick 6.89 (たぶん Yosemiteでも同じ手順でいけると思います。どなたか追試していただけると助かります。) はじめに:ImageMagickとImage::Magickの違いを知る [Perl]ImageMagickとImage::Magickの違いについてそろそろ一言いっておくか。 http://dqn.sakusakutto.jp/2011/08/perl-imagema

    Mac OSXにPerl + ImageMagick + Image::Magickをインストールする - Qiita
  • テストでも:ok_maopy:したい人へ

    use strict; use Test::More; use Acme::OkMacopy; ok_macopy "macopy is cool", "ok_macopy"; done_testing;

    aokcub
    aokcub 2015/09/19
    :ok_macopy
  • Go言語でPerlのテストを早くする

    Test::mysqld::Multiというモジュールを書いてみたみたいな涙ぐましい努力により5分で終わるようになったテストですが、 プロジェクトのコードも増えて人も増えた影響で、 テスト時間が約7分まで伸び、テストのキューに10個近く並んで順番待ちさせられるという状況になってしまいした。 この状況を解決すべく go-prove というものを書いてみたので、そのご紹介です。 proveが遅い理由 proveがテストの結果を読むところがブロッキングI/Oになっているらしく、そのせいで遅くなっているらしいです。 Perl-Toolchain-Gang/Test-Harness#30 実際に結果読んでいるところはこの辺ですかね。 selectとか使っていてなるべくブロッキングしないような作りにはなっていそうですが、どこかでブロッキングしてしまっているようです。 今のプロジェクトだと32コアのCP

  • Pelletkachels.nl

    Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en

    Pelletkachels.nl
    aokcub
    aokcub 2015/01/11
  • 【Amon2のオレオレTips】MVCを意識したModelの実装要件 | hirobanex.net

    PerlのウェブアプリケーションフレームワークのAmon2を使うときModelってどうするの?って疑問が沸きませんか?Largeフレーバー以外でセットアップすると、シナトラリッシュなDispatcher(Router)でセットアップされるので、基的にコントローラーに全部実装してしまおうかなーって気になるんですけど、そうじゃないMVCを意識したケースはどうしようかなーという時のオレオレ理想の要件です。 MVC的なWAFの実装について ウェブアプリケーションフレームワークを使うと、M(モデル)とV(ビュー)とC(コントローラー)の3つにわけてクラス設計を行うのが基と言われていますが、細かい実装をどこに持って行こうか悩むケースにしばしば出くわしますね。とくに、薄いフレームワークと言われるWAFほど、Modelについてはノータッチで自由な設計が逆にできすぎて悩んでしまうことがしばしばではないで

  • 【Amon2のオレオレTips】MVCを意識したModelの具体的な実装とその考察 | hirobanex.net

    Tengをかます場合は、Rowクラスをどうするかで一長一短という感じだと思っているんですが、どうでしょうか?SQL系のDBを使わない場合とか、よく知らなんで、そういう場合はどうなるのかなーと思ったりするのですが、なかなかNoSQL的なやつを使うという状況にも出くわさないので、そんなケースにも出会ってみたいなーとか思ったりする次第です。 「DBクラスを拡張」の実装コード 次に個別の実装例別にサンプルコードを、DBクラス、MyAppクラス別、Dispatcherクラス、テストコードなどを、示していきたいと思います。 MyApp::Model::DBクラス package MyApp::Model::DB; use parent 'Teng'; use Smart::Args; __PACKAGE__->load_plugin('Count'); __PACKAGE__->load_plugin

  • Perl入学式リファレンスの復習問題 - Perlがくしゅう帳(Rubyも)

    なんとなくブログをはてなに移変えてみました。 Perl入学式#3の復習問題が出題されていたので、頭の体操がてらコードを書いてみたときに(超初心者過ぎる恥ずかしい)ふとした覚え間違いがあったので、メモ。 Perlの最初の躓き処、リファレンス。躓く以前の注意事項?です。 ハッシュや配列の個別の値の呼び出し方法と、デリファレンスの方法は似ているけれど、違うので注意! ハッシュ(又は配列)の個別データのアクセス方法(アロー演算子は使わない) $hash{key} $array[n] ハッシュ(又は配列)リファレンスのデリファレンス方法(アロー演算子が必要) $hash_ref->{key} $array->[n] リファレンスの箇所は、Cのポインタだの参照だの、概念的な事の理解の方に目が行ってしまっていて、書き方がごっちゃになってました。 ちなみに、リファレンスは頭にもう一つ$をつけるとアロー演算

    Perl入学式リファレンスの復習問題 - Perlがくしゅう帳(Rubyも)
    aokcub
    aokcub 2014/11/22
  • YAPC::Asia Tokyo 2015, Aug 20, 21, 22

    2015 8/20(木)、8/21(金)、8/22(土) 真夏に熱いカンファレンスを御届けします! 8/20 18:00~ : 前夜祭 8/21 10:00~ : Day 1 8/22 10:00~ : Day 2 世界最大のYAPCが最後の大花火をぶちあげに今年ももどってきました!YAPCはYet Another Perl Conferenceの略で、Perlに関するカンファレンス・・・いや、お祭りです!Perlだけに限らず、様々な分野のギーク達が集まり技術の話と楽しさに満ちた三日間のお祭りが開かれます。Perlに関連する事に興味がなくとも心配する必要は全くありません、YAPC::Asia Tokyo 2015は技術者であれば誰でも楽しめるカンファレンスです。 今年も様々なゲストを集めて熱いトークが交わされます。世界中のギーク達がどんな事を今を考えているのか行っているのか、是非皆様も体験

    aokcub
    aokcub 2014/10/29
    まさかのビッグサイト
  • YAPC:: Asia 2014 1日目レポート[更新終了] | gihyo.jp

    日28日から30日までの3日間、慶應義塾日吉キャンパス 協生館にて「YAPC::Asia Tokyo 2014」が開催されています。日は1日目。稿では、この1日目の模様を随時レポートしていきます(注:すべてのセッションをレポートするわけではありません⁠)⁠。 受付でもらえるパスカード。その名刺には、参加者の皆さん自らが名前を書く形になっています。 オープニング オープニングの挨拶は、JPA director/YAPC::Asia 2014実行委員長の和田裕介さん(@yusukebe)です。テーマは「There is more than one way to enjoy it!」とのこと。YAPCではトークを楽しみ、スピーカーと交流してほしいと言います。そのために、無限珈琲、かき氷、Red Bull( Girls)などの飲み物等も用意したそうです。 また、注意事項のほか、ベストトーク賞

    YAPC:: Asia 2014 1日目レポート[更新終了] | gihyo.jp
  • YAPC:: Asia 2014 2日目レポート[更新終了] | gihyo.jp

    日28日から30日までの3日間、慶應義塾日吉キャンパス 協生館にて「YAPC::Asia Tokyo 2014」が開催されています。日は2日目、最終日。稿では、この2日目の模様を随時レポートしていきます(注:すべてのセッションをレポートするわけではありません⁠)⁠。 イベントホールの後方には、書籍販売ブースがあります。また、水やかき氷もあるのでぜひ受け取ってくださいとのことです。 Daisuke Makiさん「オープンソースの開発現場 - Perl 5.20 のSubroutine Signaturesが来るまでの奮闘の軌跡⁠」⁠ lestrratさんこと、Makiさんのセッションでは、Perl 5.20で実装された関数シグネチャの機能の開発の経緯をスタディケースに、老舗のOSS開発ではどのようなことが起こるかを学ぶといった内容でした。Perl5.20ではセッションの題材である関数

    YAPC:: Asia 2014 2日目レポート[更新終了] | gihyo.jp
  • YAPC::Asia 2014 レポート「一歩踏み出すのに遅すぎるということはない」 #yapcasia - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    YAPC::Asia 2014 に参加して来ました。自分も Scala のトークで応募していたのですが、残念ながらリジェクトとなり、サークル参加ではなく一般参加者として参加しました。 いろいろと書きたいことはあるのですがあまりに長くなってしまうので 2 点に絞って書きます。 Scala in Perl Company の話 はてなのはこべさんによる、「Perlの会社であるはてながなぜ Scala を採用したのか」という話題を中心としたトークでした。このブログの最近の投稿を読んでいただけるとわかるとおり、わたしの最近の学習と関心の中心にある言語は Scala で、実際に業務でも一部 Scala を利用しているので、とても楽しみにしていたトークでした。 動的型付けの言語のつらみの部分や、それに対するアンサーとしてなぜ Scala なのかという話や、一方で Scala も銀の弾丸ではないという冷

    YAPC::Asia 2014 レポート「一歩踏み出すのに遅すぎるということはない」 #yapcasia - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • Perlで一枚岩のスクリプトをテスタブルにする | おそらくはそれさえも平凡な日々

    Perlで単一ファイルのスクリプトを書くと、すぐに配置して動かせるので重宝しますが、テストを書きづらいのが難点です。 ちゃんとpmファイルに分割して云々とかやると単一ファイルで動かなくなるし、かと言ってfatpackするのもちょっとした用途だったらやり過ぎだしめんどくさい。 ということで以下のように書いてはどうか。 if ($0 eq __FILE__) { main(); } sub main { ... } $0に実行ファイル名が入っているので、それがスクリプトファイル名と一致していたらmainの処理を実行する。pythonのif __name__ == '__main__':みたいな感じ。 このスクリプトをテストしたいときは、普通にテストスクリプトを書いてrequire 'main.pl';とかやれば、plファイルの中で定義されている関数とかが個別に呼び出せるのでそれをテストしてやれ

    Perlで一枚岩のスクリプトをテスタブルにする | おそらくはそれさえも平凡な日々
    aokcub
    aokcub 2014/08/14
  • Perlベストプラクティスのベストプラクティスじゃないやつをまとめてみた | おそらくはそれさえも平凡な日々

    Perlベストプラクティス Perlベストプラクティス(略してPBP)という良いがあります。僕自身もPerlを学ぶ過程で非常にお世話になったなのですが、以下の様なことが度々指摘されています。 bestって書いてあるけど「著者の」bestプラクティスなので偏りがあることも 「決して」とか「必ず」とかが多いけどあんま真に受けてはいけない このを書くために書かれたであろうCPANモジュールとかがあって、しかも公開されてないものまである 致し方ないけど現在の状況にマッチしない古い情報もある なので、PBPの何がベストじゃないのかについてまとめてみることにした。前からやりたかったんだけど、思い立ってやった。 まとめてみたら、思っていたほどには項目が上がってこなかったので、やっぱPBPは良いだなと改めて思いました。なので、このエントリーがこれからPBPを読む人の助けになれば良いなと思います。

    aokcub
    aokcub 2014/07/25
  • Mojoliciousでつくる! Webアプリ入門

    YAPC::Asia 2013 2013/09/21 Yusuke Wada a.k.a. yusukebeRead less

    Mojoliciousでつくる! Webアプリ入門
  • Mojoliciousのセッションの話 2013年年末版 - Qiita

    すき焼きの材を買って帰ったはいいものの突然修正しなくてはいけないコードが降ってきまして〜 自炊する時間がなくてしょうがなく 最高のラーメンべたゆーすけべーです。 今回はMojoliciousのセッションについてのお話。もともと備わっているMojoliciousのセッションを使うにはこのような操作をします。 #!/usr/bin/env perl use Mojolicious::Lite; app->secret('passphrase'); get '/' => sub { my $self = shift; $self->session->{count}++; $self->stash->{count} = $self->session->{count}; $self->render('index'); }; app->start(); __DATA__ @@ index.ht

    Mojoliciousのセッションの話 2013年年末版 - Qiita
  • YAPC::Asia Tokyo 2014開催のお知らせ - YAPC::Asia Tokyo 2014

    (English follows Japanese) YAPC実行委員長になりましたゆーすけべーこと和田裕介です。去年まで運営をやっていた櫛井さんと牧さんに変わり、今年のYAPC::Asia Tokyo 2014は僕が運営委員長という立場で僕とコアスタッフ数名で準備を進めています。さて、会場周りの決定や制作物などが揃ってきましたので、公式サイトがやっとオープンになります。お待たせしました! 今年のテーマ 今年のスローガンはズバリ! There is more than one way to enjoy it! です。Perlでも謳っている「TMTOWTDI」にかけてました :-) 僕がここ数年間一般参加者としてYAPCに行ってみて感じたことをそのまま言葉にしました。YAPCの会場では憧れのハッカーのトークを聞くことだけではなく、会場の周りでラフなコミュニケーションを取ったり、懇親会や後の打

  • 第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) | gihyo.jp

    Perl Hackers Hub 第24回PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはWEB+DB PRESS Vol.50~55まで「大規模Webサービスの裏側」を連載し、連載でも第11回以来の2度目の登場となるkazeburoさんこと長野雅広さんで、テーマはPSGI/Plackです。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 幅広く使われるようになったPSGI/Plack 連載でPSGI(Perl Web Server Gatewary Interface)/Plackについて取り上げるのは2回目です。1回目は2010年2月に発売されたWEB+DB PRESS Vol.55に

    第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) | gihyo.jp