タグ

perlに関するsbg3のブックマーク (320)

  • イベント資料|言語カンファレンス大反省会 2015 - TECH PLAY[テックプレイ]

    togetter』 大規模技術カンファレンスの運営陣が音でトーク! 言語カンファレンス大反省会 2015 #daihansei #eventdots 『SHANON ENGINEER'S BLOG』 #daihansei 言語カンファレンス大反省会 2015 に行ってきたよ #eventdots - SHANON Engineer's Blog

    イベント資料|言語カンファレンス大反省会 2015 - TECH PLAY[テックプレイ]
  • 複雑なデータ構造の中にうまっているデータのパスをさがす方法 - tokuhirom's blog

    Perl5 の場合、Data::DPath をつかえば、 my $data = { foo => { bar => 'candy', }, }; のようなデータから、 say dpath('/foo/bar')->match($hashref); などとして、candy を簡単にとりだすことができます。 しかし、ここで、たとえば以下のように複雑なデータになってしまった場合は、DPath をつくるのがまじめんどいかんじになります。 my $data = { foo => { bar => 'candy', boz => 3, iyan => { bakan => 7, yappo => 'candy', dan => [ 'suspender', 'hige', 'candy'] }, }, }; そんな場合、以下のようなコードをささっと書いてcandyをさがしましょう。 #!/usr/bi

    sbg3
    sbg3 2014/02/24
  • anyenvで開発環境を整える - Qiita

    私の場合、開発環境では複数の言語のコードを書いたり実行したりします。 例えば perl, ruby, nodejs, python など。 これらを利用するために、plenv, rbenv, nodebrew, pyenv などを利用していました。 しかし、遅ればせながら anyenv というものがあると聞いたので、こっちに乗り換えました。 **envを2つ以上使ってる人はこれ使うのが良いと思います。おすすめ。 http://blog.riywo.com/2013/06/22/155804 https://github.com/riywo/anyenv インストールは簡単 README.md のとおりにやればOK # ------------------------------------------------------------------------ -# plenv +# an

    anyenvで開発環境を整える - Qiita
  • テストについての個人の雑感 - tokuhirom's blog

    テストについての個人の雑感です。ここでいうテストってのは、なんかいわゆる開発をドライブするための開発者用のテストについてであって、品質の保証とかについては一切かんがえてません。 ざっくりいうと 「テストを書いた方が効率的に開発がすすむ場合にはテストを書く」 テストに対する認識 ソフトウェアにたいするテスト というものはソフトウェアそのものの価値には関係しない。 なので、テストにたいしてかけるコストなど、すくなければすくないほど良いにきまっておる。 Open Source Software のテストについて オープンソースソフトウェアの場合、送られてきた patch の品質を travis ci で確認したい、っていう要件とか、手元の環境以外での動作確認などを行いたいので、それなりにテストを書く必要がある。 まして、僕が OSS として公開しているものはライブラリが多い。ライブラリは一般にテ

    sbg3
    sbg3 2014/01/22
  • Perl で簡単にパーザを書く - tokuhirom's blog

    パーザを書こうという場合、Parse::RecDecsent のようなモジュールを使うのが一般的だが、Perl5 の正規表現は強力すぎるため、そんなものに頼らなくても超絶簡単にパーザを実装することが可能だ。 以下に、四則演算のパーザを示す。 use 5.018000; package Calc { use Carp (); sub parse { local $_ = $_[1]; _parse_expr(); } sub err { my ($msg) = @_; my $ret = join('', $_, "\n", (" " x pos()) . "^\n", $msg, "\n", ); Carp::croak $ret; } sub _parse_expr { my @nodes; until (/\G\s*\z/gc) { my $m = _parse_add() or do

  • Movable Type をめっちゃ高速化する20の方法 - 2013年Xmasバージョン | Junnama Online

    Movable Type をめっちゃ高速化する20の方法 - 2013年Xmasバージョン 公開日 : 2013-12-25 17:52:37 この記事は、Movable Type Advent Calendar 2013の最終日の記事です。 イントロダクション 再構築キュー経由の再構築を並列処理でどこまで高速化できるか PowerCMS 4のリリースから自分の中では今後は再構築キューをデフォルト、推奨としていく方針なのですが、実際にキューに設定すると画面上再構築処理は数秒とか数分で返ってきます(体感的に速くなったように感じます)。でも実際はサーバー側のプロセスが1ファイルずつ再構築しているわけで、すべてが反映(再構築)されるまでにはそれなりに時間がかかります。 実測した環境では、700のキューが予約されているケースで2分半程度かかっていました。 そこで、サーバー負荷はこの際気にせずに、ど

    Movable Type をめっちゃ高速化する20の方法 - 2013年Xmasバージョン | Junnama Online
  • Greple で iCal データを検索する - hatenablog.utashiro.com

    追記: 申し訳ありませんが、--print で使用する関数の仕様を変更して、関数の返り値を出力するようにしました。 関数内で出力している場合は、空文字列を返すようにしてください。 greple command released - hatenablog.utashiro.com kaz-utashiro/greple · GitHub --chdir, --glob オプション OS X のカレンダーコマンドは iCalendar という形式でデータを管理していて、ファイルは ~/Library/Calendars というディレクトリの下に保存されている。 たとえば、こんな風にすれば iCal のデータを検索することはできる。 % cd ~/Library/Calendars % grep PATTERN *.caldav/*.calendar/Events/*.ics Greple の

    Greple で iCal データを検索する - hatenablog.utashiro.com
  • #plackcon で喋ってきました - blog.nomadscafe.jp

    それほど成果のある内容ではありませんが、strace芸の一つとしてみて頂ければ幸いです 主催のYappo++。発表者のみなさまありがとうございました~。 スライド表紙のダンボーは、ISUCON3の副賞でもらった。データホテルのロゴ入りロボダンボーです。ちゃんと動きました! \n\nそれほど成果のある内容ではありませんが、[strace芸](http://b.hatena.ne.jp/y_uuki/20131120#bookmark-170026522)の一つとしてみて頂ければ幸いです\n\n主催のYappo++。発表者のみなさまありがとうございました~。\n\nスライド表紙のダンボーは、ISUCON3の副賞でもらった。データホテルのロゴ入り[ロボダンボー](http://www.vstone.co.jp/products/danboard/)です。ちゃんと動きました!\n\n \n\n \

  • Shipped Text::Markdown::Hoedown 1.00 - tokuhirom's blog

    Text-Markdown-Hoedown 1.00 をだしました。 hoedown が 2.0.0 になって、インターフェイスがだいぶかわったので、それにあわせて Text::Markdown::Hoedown の内部構造もかなりかえています。ローレベルAPIをつかっている場合にうごかなくなっていると思うのでご注意ください(たぶんつかってる人いないとおもいますが) hoedown ライブラリ自体は、いままでは sundown のインターフェイスをひきずっていていまいちだったけど、だいぶ clean and sane なかんじになっており、C で書かれた markdown parser library としてはこれが最高のものではないかと思っております。 以上。

  • ゆーすけべー日記

    え〜とあるアプリのバックエンドを僕一人が書いてるのですが、 さすがにキツくなってきたので大工事をして「楽に」分業出来るようにしています。 その構成はちょいと置いといて〜 ウマく行けば「とある部分」を誰かに任せることになりますよね。 すると「弊社は(そのための)エンジニア募集中です!」という展開をご期待かもしれませんが、 もう既にアサインが済んだので「弊社はエンジニアを募集しておりません!」すいません... m(__)m 来ならばその「とある部分」の実装においては僕がメインで使っているPerlじゃなくても、 PHPでもRubyでもPythonでもなんでも良かったのですが、 当の担当する方が「Perl書けます」とのことで「じゃあPerlでいこう」という展開になってます... ただ、全然、彼のスキルセットをまだ分かってないので、これから話すという段階なんすよね... そこで、僕、人事的なことと

    ゆーすけべー日記
    sbg3
    sbg3 2013/10/04
  • full test also want to end within 50ms

    VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024

    full test also want to end within 50ms
  • YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>

    はい、というわけで自分のトークです: 昨年12月頃から関わってるlivedoorBlogのコードを触っていた時の憤りをスライドにぶつけてみました。 追記:スライドに「ログにマーカーをつける」というのは、(コード読んでないけど)多分こちらのエントリにあるLog::Minimal::Indentとだいたい同じ感じのヤツです ところでWeb上で見かける感想の中でこんなのがありました: 今年個人的に一番衝撃的だったのはやっぱ、livedoor blogのPlack化です。技術的な側面もさることながら、ああいう近視眼的には何のメリットもないし、逆にデメリットの方が大きそうな案件にリソースを割くジャッジができる会社としての姿勢が当に凄いなと。 実はビジネス的にも意味はあるんだなー。 なかなか書くことができなかったんだけど、その内容というのがこちらと→ ブログのお引っ越し機能を大幅に強化しました! (

    YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>
  • JSON::XS とそれにまつわる歴史的な過去の話、まとめ。 - tokuhirom's blog

    今日リリースされた common::sense-3.7 が壊れていた影響で、日の皆さんが混乱しているようなので、丁寧な JSON::XS の歴史解説エントリをここに記す。 perl-5.18 の hash randomization に関するゴタゴタ 5.17 で JSON::XS のテストがこける hash randomization の影響。これにたいし、mlehmann 氏は、hash randomization ではセキュリティが強化されないし、意味がないと主張。 修正版をリリースしない。 reini 氏、Cpanel::JSON::XS をリリース(2013-03-01) https://metacpan.org/module/RURBAN/Cpanel-JSON-XS-2.33_03/XS.pm JSON::XS の修正がなされないので、ついに forkの術。 reini 氏

    sbg3
    sbg3 2013/08/01
  • VOYAGE GROUP エンジニアブログ : PerlのO/Rマッパ、 Teng の便利な使い方のご紹介

    2013年08月01日09:54 カテゴリprogramming PerlのO/Rマッパ、 Teng の便利な使い方のご紹介 こんにちは、Research Panel Asiaの大山です。 今回は、Perlで最近ホットなO/Rマッパ、 Teng の便利な使い方を共有いたします。 みなさんは、 sqlite> .tables user_log_2013_03 user_log_2013_04 user_log_2013_05 user_log_2013_06 user_log_2013_07 user_log_2013_08 こんな要領で、定期的にDBにテーブルが作られていくような仕組みを見たことはあるのでしょうか。 最近のMySQLでは著しくパーティショニング機能が改善されていますが、少し前のバージョンを使用していると 制約と制限 の都合で選びにくかったり、テーブルが巨大になるとスキーマの

  • Future Perl - YAPC::NA 2013 に参加して - tokuhirom's blog

    YAPC::NA 2013 に参加してきました。その中でも印象にのこったことを取り急 ぎアップしておきます。 今回は日からは @yusukebe と @xaicron と TPF の President である Karen が参加していたようです。 僕は今回がはじめての US だったので、いろいろと困惑することもありました が、旅行記などには興味がないという人も多いでしょうし、書くのがめんどく さいですし、たぶん xaicron が書くと、ほとんど内容がかぶるので割愛させ ていただきます。 デニーズのシェイクに興奮する yusukebe と xaicron エントリーでは YAPC::NA で僕が感じたこと、技術的に Perl Community が どこに向いているか、といったあたりのことについて述べていきたいとおもい ます。 今年は Perl 25 周年ですので、これまでの Per

  • Reply is awesome! - tokuhirom's blog

    https://metacpan.org/release/Reply Reply is new REPL command written by doy++! It's pretty lightweight! I switched to this repl yesterday!

  • plenv 1.9.x のおしらせ - tokuhirom's blog

    plenv が 1.9.x になり、すべてが bash スクリプトになりました。基的には rbenv のコードのコピペとなっています。 前のバージョンにくらべてなにがすぐれているかというと、一番おおきいのは PERL5LIB と PERL5OPT をみなくなっているという点です。bash でうごいているので、perl つかってないのであたりまえですね。これにより、miyagawa さんのとこの Carton さんとの相性がグンバツによくなっております。 具体的には以下のようなケースでの問題が解消しています。 % PERL5OPT=-MDevel::Cover make test Can't locate Devel/Cover.pm in @INC (@INC contains: /Library/Perl/5.12/darwin-thread-multi-2level /Library

  • Perl 5.18 時代における Core module についての捉え方について - tokuhirom's blog

    Perl 5.20 で、CPANPLUS とその依存モジュールたちが core distribution から分離されます。 また、5.22 では CGI.pm と Module::Build が分離されそうです。 ここにいたり、Perl 5 の core distribution にはいっている、ということの意味が徐々にかわってきつつあります。 では、現在の状況はなぜおきているのかを考えてみましょう。 configure_requires の普及Perl 5.8.5 あたりの時代では、Module::Build などは core distribution にはいっていないと、つらかったわけですが、configure_requires が普及したことにより、インストーラを CPAN shell で自動的にインストールすることができるようになりました。 これにより Module::Build

  • Perl 5.18.0 がリリースされています - tokuhirom's blog

    https://metacpan.org/release/RJBS/perl-5.18.0/ 変更点については白方さんが翻訳してくれているので、こちらをごらんください。 http://perldoc.jp/docs/perl/5.18.0/perl5180delta.pod plenv をつかっている場合には以下のようにすれば移行が完了します。 % plenv install 5.18.0 -DDEBUGGING=-g % plenv migrate-modules [previous-version] 5.18.0(JSON::XS が 5.18.0 でテストこけるので、別途いれておいたほうがいいかも) 今回は、得におおきな機能追加などはなく、hashがランダムになったのが大きいところです。これはセキュリティに配慮した、というのがおおきいみたいですね。 また、実験的な機能が、「no wa

  • FatPacker したやつがでかすぎるときは perlstrip - tokuhirom's blog

    https://github.com/gugod/Perl-Build/commit/e677ce618e5fddb3ab804c99f793bc56ba9602c1 https://metacpan.org/module/MLEHMANN/Perl-Strip-1.1/bin/perlstrip gugod におしえてもらったのですが、perlstrip ってのつかうと、perl のコードを strip できて fatpacker で肥大化したスクリプトをスリムにできます。

    sbg3
    sbg3 2013/04/10