タグ

perlに関するhamacoのブックマーク (23)

  • Big Sky :: Perl6 の無限リストとダイナミックバインディングが最強すぎる

    Perl には x 演算子があり、x 3 といった具合に繰り返し回数を付ける事で連続した文字列を簡単に作り出すことが出来る。 say 1 x 3; # 111 say "foo" x 3; # foofoofoo これは Perl5 でもお馴染み。しかし Perl6 の Range は凄い。 say 1 xx 3; # (1 1 1) say "foo" xx 3; # (foo foo foo) 連続した配列要素が作り出せる。それどころか無限リストが作り出せる。 say 1 xx *; # (...) say "foo" xx *; # (...) もちろん無限数列も作れる。 (1 .. *)[^10].perl.say; # (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) fibonacci 数列もこんなに簡単。 (1, 1, *+* ...^ *)[^100].per

    Big Sky :: Perl6 の無限リストとダイナミックバインディングが最強すぎる
    hamaco
    hamaco 2015/10/26
  • 想像の5倍便利! from_unixtime するフィルター

    年末ですね。この時期は面白いテレビが目白押しでたまりませんね! さて、またひとつ俺得のモジュールを書きましたYO! from_unixtime select をターミナルから直で実行することってよくありますよね? $ db_fetch HANDLE --sql 'select * from foo_table where id=1' id 1 name John created_at 1419702037 updated_at 1419702037 こういう時、unixtime が入ってるカラムに対して SQL で from_unixtime をマメに書くのがすごく面倒くさいので、その名も from_unixtime というフィルタコマンドを書いてみました。 pipe して使うと、以下のようによしなに日付変換したものを表示してくれるようになります。 $ db_fetch HANDLE --

    想像の5倍便利! from_unixtime するフィルター
  • リロケータブル Perl - skaji's blog

    tl;dr github の release ページ からすきな場所に置けば使える perl がダウンロード可能 リロケータブル perl って? 通常 perlbuild 時に モジュールの読み込み path (@INC) を決定するため、インストール後 perl のディレクトリを移動するとモジュールが読み込めなくなり、使い物にならなくなる。 Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: ...) しかしながら実際は -Duserelocatableinc オプションを指定しbuild すれば、 @INC は perl binary の相対path で管理されるようになるため、インストール後 perl の directory を移動しても問題なく動

    リロケータブル Perl - skaji's blog
    hamaco
    hamaco 2014/09/01
  • pelletkachels | blog over bedrijven en feitjes en de pelletkachel

    Welkom bij Pelletkachels.nl, jouw ultieme bron voor alles wat met pelletkachels te maken heeft! Maar we zijn meer dan alleen een platform voor het bespreken van warmtebronnen. Bij Pelletkachels.nl geloven we dat het delen van kennis en ervaringen over bedrijven en gebeurtenissen ook essentieel is voor het creëren van een betrokken en geïnformeerde gemeenschap. In dit blog duiken we dieper in de we

    pelletkachels | blog over bedrijven en feitjes en de pelletkachel
    hamaco
    hamaco 2014/03/23
  • LTSVログをパースする最強のワンライナー集 · DQNEO日記

    最初に結論 これ最強 cat accesslog | perl -F'\t' -nale '%h=map{split/:/,$_,2}@F;print"$h{time}\t$h{ua}"' なぜPerlワンライナーなのか? LTSVログを解析するには、Perlのワンライナーに限る。 なぜならPerlはほとんどのサーバにデフォルトで入ってるから。 Perl 5.8で動くワンライナーを覚えておけばどの環境でも使える。 「何にも依存しない」 これ最強。 基中のキホン まずは基形です。 これだけは絶対覚えてしまいましょう。 perl -nale 'print' % cat access_log | perl -nale 'print ' time:[22/Feb/2014:15:13:07 +0900] host:10.10.200.102 ident:- user:- method:GET

    LTSVログをパースする最強のワンライナー集 · DQNEO日記
  • Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版

    FacebookAPIを使う要件が出てきそうなのでいろいろ調査中。 perlでFacebookAPIを使うにはFacebook::Graphがいいんでしたよね! Facebook::Graphのドキュメントにちょうどチュートリアルがあったので 試しに今回はその手順通りに設定していきたいと思います。 ただしそのままではなく一部Amon2用に置き換えてます。 また、今回は表示するデータを自分のニュースフィードにしてみました。 あと、Facebook アプリ登録画面ってログインするたびちょこちょこ変わってて 他のサイトの設定画面が参考にならなかったりするので スクリーンショットも添付してみましょう。 Step 1: Set up the developer application on Facebook. https://developers.facebook.com/ に行きます。 Step

    Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版
    hamaco
    hamaco 2013/11/20
  • Using Facebook Graph API with Perl - kotaroito's notes

    読んでおくべきドキュメント Server Side Loginに関しては、まずはこの3つを読んでおけばよい。 https://developers.facebook.com/docs/concepts/login/login-architecture/ https://developers.facebook.com/docs/howtos/login/server-side-login/ https://developers.facebook.com/docs/reference/dialogs/oauth/ OAuth2のRFCも読んでおく。 Facebookで言うところのServer Side LoginがAuthorization Code Grantに当たる。 +----------+ | Resource | | Owner | | | +----------+ ^ | (B)

    Using Facebook Graph API with Perl - kotaroito's notes
    hamaco
    hamaco 2013/11/20
  • Facebookイベント参加者の名刺画像を自動生成! - ゆーすけべー日記

    @shinotraさんが先日行われたHokkadio.pm #9で面白いことを発表してました。その一つがATNDのイベント参加者の名刺画像を自動生成するというモノ。神奈川にいながら北海道の熱気を感じつつ、昔同じようなことを「Facebookのイベントを対象に」やったなーと思って、もう一度最初から書き直してみました。イベント参加者のリストを取得し、名刺っぽい画像を出力するって代物です。Facebookでの認証処理から画像生成まで興味深いポイントを含んだWebアプリになったので、つくる行程から解説してみます。 ちなみに実装はPerl、WebフレームワークにはMojoliciousを使っていますが、他の言語でも流れは同じなので参考にしてください。 Facebook認証を行う まず、Facebookから情報を取得するためにアプリケーション登録をします。 「facebook developers」の

    Facebookイベント参加者の名刺画像を自動生成! - ゆーすけべー日記
    hamaco
    hamaco 2013/11/20
  • Facebook APIを叩いてみる - すぎゃーんメモ

    ゆーすけべー日記の記事の影響か、自分のまわりでFacebookやり始める人が増えてきました。 なんか面白いことできないかなーと手始めにFacebook APIを使って全裸bot的な何かを作ってみようかと思ってやってみました。 サードパーティアプリの作り方、使い方などはここを参照。 Facebook Developer Documentation - 開発者向けFacebook PerlのモジュールはWWW::Facebook::APIってのがあったのだけど使い方がよくわからなかったのでFacebook::Graphってのをつかってみました。 http://search.cpan.org/~rizen/Facebook-Graph-0.0705/lib/Facebook/Graph.pm まずはアプリの登録からですね。 このへんからゴニョゴニョと入力してアプリを登録します。 Applicat

    Facebook APIを叩いてみる - すぎゃーんメモ
  • いい感じに出力をインデントしてくれるモジュール #perl - 詩と創作・思索のひろば

    [2013-11-20: Print::IndentedがCPANになくてしょんぼりしている。 とのことで shipit いたしました。 あざーす!] 過去のよく分からないコードの挙動を把握したいときには print (warn) するのが少なくともとりあえずの方法としては常套手段ですが、これがただ平坦に画面に現れるだけだと見づらい。例えば条件分岐やループの中にいる時は出力をインデントするようにすると動きが掴みやすくなるけれど、ただでさえ人間に単純労働を課す print デバッグにそこまで労力を使うのは辛い。そういう面倒さを減らそうという動機で、このモジュールは書かれました。 https://github.com/motemen/perl5-Print-Indented 一体何をするのかというと今書いた通りですが、print 時に、その print 関数の呼び出しコードのインデントに応じて

    いい感じに出力をインデントしてくれるモジュール #perl - 詩と創作・思索のひろば
    hamaco
    hamaco 2013/11/19
    なんか便利そう。
  • エンジニア1000人が参加したYAPC::Asia 2013の企画の話と #yapcasia 運営事務局長を4回やった振り返り - 941::blog

    YAPC::Asia にご参加いただいた皆さん、ご参加いただかなかった皆さん、とにかく話題にあげていただいてありがとうございました!今年は合計で 1,131名もの方にご参加いただきまして。 参加者の皆さんとかの感想エントリはこちらにまとめ中。このエントリに「おつかれ」「ありがとう」などブクマする暇があったら参加者の方は感想エントリを是非書いてください。嘘ですブクマしてください。 YAPC::Asia 2013 感想エントリまとめ(募集中) | YAPC::Asia Tokyo 2013 というわけで、運営側としてYAPC::Asiaに関わるのは今年で最後となったので、凄く楽しかったこととか大変だったこととか思い出とか、運営側として、企画側として、忘れないうちに残しておきたい。 以下、1万2000文字の目次付きポエム。お時間ある時にどうぞ。 YAPC歴史 Perlは衰退していると言われなが

    エンジニア1000人が参加したYAPC::Asia 2013の企画の話と #yapcasia 運営事務局長を4回やった振り返り - 941::blog
  • パール、アナルを使え!または私は如何にして Perl のワンライナーを書けるようになったか - 詩と創作・思索のひろば

    簡単に言うとこういうことです。今日はこれだけ覚えて帰ってください。 perl -anal -e "…" 同様のオプションは Ruby でも使えます。 解説 -a いきなり見かけないオプションですが、入力を空白文字で区切り、@F という配列に入れてくれます。それ以外の影響はないので使わないときでも指定して問題なし。2 回指定してるのも意味ないです。語呂合わせです。Ruby の場合は $F ですね。 -n -e で指定されたコードを LINE: while (<>) { … } で囲みます。標準入力やファイルを一行ずつ処理するときに便利。sed や grep が簡単に書けますね。ワンライナーでは多様するオプションでしょう。代わりに -p を指定することで最後に print; することもできます。 -l -n や -p が指定されているときに各入力を chomp します。また、各出力に改行を追加

    パール、アナルを使え!または私は如何にして Perl のワンライナーを書けるようになったか - 詩と創作・思索のひろば
    hamaco
    hamaco 2013/10/04
  • 初めて Perl でコードを書く時に知っておきたかったこと - あらびき日記

    この記事は abicky.net の 初めて Perl でコードを書く時に知っておきたかったこと に移行しました

    初めて Perl でコードを書く時に知っておきたかったこと - あらびき日記
    hamaco
    hamaco 2013/07/30
  • ゆーすけべー日記

    ここ最近の僕の開発で指標になっているのは「システムとしてのクオリティを上げるか」であり、それって当然のごとく行われているかもしれなくて、いわゆる Quality Assurance = QA なんて言葉があったり、某社では Test Engineer の方がいたりするわけです。ただ、あまりにも僕としては「ずさんな」ところが多々あると考えています。「よしAを変更した → デプロイ → Bがエラー出てる」なんてことがないように「機能が望むように動作しているか」をテストコードで担保しようと努めている次第です。例えば、先日サービス内で使用している Flickr API の一部メソッドが正常に機能しない( どんなに一般的な語彙で探しても検索結果が空で返ってくる )なんてことがありましたが、テストコードのおかげで問題の切り分け、つまり、これは当に Web API が壊れているのだ!ということがテスト

    ゆーすけべー日記
  • 一行でも書け、倒れるときは前のめり(または書かないで済ませる話) - uzullaがブログ

    先週金曜日にPerlCasual #5(http://atnd.org/events/37158)が開催されました。 どう考えても発表者の中で俺だけレベルが浮いて(沈んで)いますが、まあ発表してきました(LT軍は、半数が「なんで俺がPerlの会で発表してるの?」と言っていたことを付け加えておきます)。 感想として、とてもたのしかったので、詳細は他の人のブログとか見ましょう。 スライドはこちら Perlcasual #5 発表資料 from Junichi Ishida ※1,2ページ目は当日のネタなのですが、素材を活かす為に削除しないでおきます(めんどくさい) すみませんでした 今は @uzulla による、からみ酒トーク #perlcasual— nipotan (谷口公一) (@nipotan) 2013年3月29日 ものすごい酔いどれ発表だったと思います。テンパっていたというわけでは

    一行でも書け、倒れるときは前のめり(または書かないで済ませる話) - uzullaがブログ
    hamaco
    hamaco 2013/04/03
  • plenv の解説記事を papix さんがかいてくれました - tokuhirom's blog

    http://blog.papix.net/entry/2013/01/21/210327 たいへんよくまとまっていてありがたいものです。 文にもかかれていますが plenv は perlbrew のおきかえではないです。 それぞれの利点は以下のようなかんじでしょうか。 plenv をつかう利点アプリケーションごとの perl version のきりかえが容易 flymake 的なものとも相性がよさそうbashrc 的なやつの読み込みがはやい構造がすごくわかりやすい。

  • plenvを使ってみた. - Masteries

    2013-01-21 plenvを使ってみた. @tokuhiromさんがplenvという, Perl 5のインストール管理ツールを開発されたそうです. ブログ記事やREADMEをまとめてみると, plenvの特徴は... Rubyのrbenvから影響を受けている. perlbrewと違って, プロダクトごとにperlのバージョンを指定することができる. とても高速で, インストールも簡単. perlbrewのような機能を持つが, 完全な上位互換ではない. ...という感じっぽい. こういう時はグダグダ言わずに入れて試してみるに限る, というわけでさっそく導入してみましょうー! インストール plenvを導入する為にはCPAN/brew/gitを使う方法がありますが, 今回はgitを使って入れてみます. ただ特徴にも書いてあるとおり, どの方法を使うにせよインストールはとても簡単です

  • サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版

    クローリング楽しいですよね! perlで高速にクロールしたいのであればGunghoなど使うのがいいかもしれませんが、 基手軽にやりたいことが多いので WWW::Mechanize+Web::Scraper という組み合わせでクロールするのが定番でした。 しかしたまたま Scrappy を知り、 少し触ってみたところすごくいいのではないか!?と思い 記事にしてみました。*1 基系(crawlコマンドを利用する場合) my $scrappy = Scrappy->new; $scrappy->crawl('1.クロールするルートURL', '2.URLにマッチするパス' => { '3.コンテンツにマッチするxpath or CSSセレクタ' => sub { my ($self, $item) = @_; # 4.キューに追加 $self->queue->add($item->{href

    サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版
    hamaco
    hamaco 2011/07/13
  • CPAN本には入っていないけど、抑えておきたいフレームワークモジュール群 | hirobanex.net

    今さらながらtomitaさんが執筆された通称CPANPerl CPANモジュールガイド』の感想を、CPAN自体の感想と、CPANに触発されてという感じでメモしたと思います。 CPAN自体の感想 非常にたくさんのモジュールが紹介されていて大変勉強になります。半分以上が使ったことがないです。なので、使ったことがないモジュールをやりたいことに沿って探して使用するというベタな使い方いいです。 あと、ぼくがいいなと思ったのは、使ったことがあるけどマジメにドキュメント呼んでいないモジュールの解説を読んでより理解を深めるという使い方です。 個人的に、CPANモジュールは、モジュール名で検索して出てきただれかのブログ記事を参考にぱぱっと書いたり、ドキュメントのSYNOPSISをぱっと動かしてみて適当に使うということが多いです。それに加えて、英語のドキュメントはなかなかしっかり読むには腰が重くて細

  • Operation Oriented Web Applications / Yokohama pm7

    Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa

    Operation Oriented Web Applications / Yokohama pm7