タグ

perlに関するhakobe932のブックマーク (726)

  • AtomからPerlのテストを直接実行するくん - はこべにっき ♨

    チームで流行ってるので最近はAtomを使ってる。普段仕事ではPerl書くのでAtom上からテストをサクッと実行できるくんを作った。 atom.io 既存のscriptの拡張として動作する。家のscriptでもPerlのファイルの実行はできるけど、以下のような点で便利に使えるようになっている。 carton exec -- proveしてくれる カーソルがある位置が含まれている Test::Class 形式のテストケースを個別に実行できる 手元だけで使ってたんだけど、最近 hitode くんにも使ってもらって、ちゃんと動いてそうということが判明したので、apmにあげた。どうぞご利用ください。そこそこ雑。 このときにscriptの不具合発見してdiff 1byteのPullRequestに成功して笑顔です。

    AtomからPerlのテストを直接実行するくん - はこべにっき ♨
  • はてなブログで振り返るYAPC::Asia Tokyo 2014。トーク登壇者、スタッフ、初参加者などなど40エントリーを一挙掲載 - 週刊はてなブログ

    8月28日(木)からの3日間、横浜の慶應義塾大学日吉キャンパス協生館で、プログラミング言語Perlエンジニアのイベント YAPC::Asia Tokyo 2014 が開催されました。東京で9回目となる今年は、参加者も1,361人(主催者発表)と、過去最高を記録しました。 このところはPerl言語にとどまらず、フレームワークや開発プロセス、さらにインフラ構築など広い視点からの発表が増えていましたが、とくに今年はGo言語、ScalaPHPなど、他のプログラミング言語名を直接タイトルに冠した発表が目立ち、Web開発者の関心がプログラミングに回帰しつつも、より多岐に広がっている印象を抱かせました。 はてなブログでもたくさんの方々がレポート記事を投稿し、キーワード「YAPC」を含むエントリーは8月28日以降で200にものぼります。そこで、はてなブログでふりかえるYAPCの様子 として、セッション登

    はてなブログで振り返るYAPC::Asia Tokyo 2014。トーク登壇者、スタッフ、初参加者などなど40エントリーを一挙掲載 - 週刊はてなブログ
    hakobe932
    hakobe932 2014/09/26
    はてなブログエントリおおい
  • GitHub - aereal/Text-Xslate-AST-Walker: Filter nodes in the AST (abstract syntax tree) which made by Text::Xslate

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - aereal/Text-Xslate-AST-Walker: Filter nodes in the AST (abstract syntax tree) which made by Text::Xslate
    hakobe932
    hakobe932 2014/09/09
    すごい
  • はてなから5人がYAPC::Asia 2014に登壇します&今年もスポンサーとして参加します - Hatena Developer Blog

    こんにちは、id:motemen です。このたび開催されるYAPC::Asia 2014に、はてなエンジニア5人のトークが採用されました。ここでその内容を簡単にご紹介します。 画像は去年の様子です id:yanbe 最近のウェブサービスの検索機能やその先の話(8/29 11:40〜 藤原洋記念ホール) トークでは、Elasticsearchに加えて、はてなのサービスで過去に利用してきた検索ミドルウェアもふまえつつ、大量のデータをもつウェブサービスにおいて、検索・集約を担当する専用のミドルウェアを既存のデータベースと組み合わせて利用することで、ユーザーから預かったデータの記録・管理・検索・集約といった機能性をどのように進化させることが出来るかをご紹介します。また、このような検索ミドルウェアのPerlからの利用を支えるCPANモジュールや、その設計についても触れます。 最近のウェブサービス

    はてなから5人がYAPC::Asia 2014に登壇します&今年もスポンサーとして参加します - Hatena Developer Blog
    hakobe932
    hakobe932 2014/07/25
    なるほど
  • Perlの静的解析入門とPerlリファクタリングツールApp::PRTのご紹介 - YAPC::Asia Tokyo 2014

    古来より,Perlのソースコードをリファクタリングすると言えば,テキストエディタでソースコードをちまちま人間が書き換えるスタイルが一般的でした. 私は,Perlのソースコードをリファクタリングするためのツールである,Perlリファクタリングツール App::PRTを開発し,CPANで公開しています. App::PRTを用いることで,トークンの置換,メソッドの移動や削除,クラスのリネームなどをうまくすばやく行うことができます. トークでは, Perlのリファクタリング界隈の振り返り PPIを用いた静的解析の入門 静的解析を使ったアート活動 App::PRTの機能,使い方,ちょっとしたコツ 実サービスに対するApp::PRTを使った全自動リファクタリングの事例 などをご紹介します.

    hakobe932
    hakobe932 2014/07/03
    気になります
  • Starlet 0.24で子プロセスごとに乱数系列が初期化されるようになった - 酒日記 はてな支店

    Perl 5で fork する場合に乱数系列が親と同じになってしまう現象については過去にもいろいろエントリがあります。 乱数と Perl5 にかんする蘊蓄の話 - blog.64p.org #22 カジュアルに乱数を使う方法とその注意点 | tech.kayac.com - KAYAC engineers' blog 0.23以前の Starlet では、親で一度でもどこかで rand (またはsrand) が呼ばれていると、初期化された乱数系列が fork された子プロセスにも引き継がれるため、その後に実際のユーザアプリケーションが走る子プロセス内で rand() しても同じ系列が返ってきてしまう、という現象があったのですが、0.24 では子プロセス生成後に srand() が呼ばれるようになりました。 # 正確にいうと、0.14 で --min-reqs-per-child がサポート

    Starlet 0.24で子プロセスごとに乱数系列が初期化されるようになった - 酒日記 はてな支店
  • nginxのproxy設定ファイルも自動テストしよう - $shibayu36->blog;

    最近nginxでリバースプロキシの設定を書いているんだけど、設定のたびに番に緊張しながら反映していた。さらにその副作用として、nginxのファイルはリファクタリングされないという問題があった。 そこで反映する前にバグ等が見つかるようにnginx設定のテストを書きたいと考えた。今回はperlでテストを書いた。 どういうテストをしたいか やり方によってnginxの設定ファイルの分割の方法は違うのだけど、例えば以下の様なnginxの設定があり、それが別のファイルのhttpコンテキストの中にincludeされているという分割で考える。この時、この設定ファイルに書かれた内容が正しく動いているかテストを書きたい。 upstream app1 { server app1.host; } upstream app2 { server app2.host; } server { listen 8080;

    nginxのproxy設定ファイルも自動テストしよう - $shibayu36->blog;
    hakobe932
    hakobe932 2014/04/09
    有益すぎる
  • テストについての個人の雑感 - tokuhirom's blog

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

  • How to build a High Performance PSGI/Plack Server

    How to build a High Performance PSGI/Plack Server PSGI/Plack・Monocerosで学ぶ ハイパフォーマンス Webアプリケーションサーバの作り方Read less

    How to build a High Performance PSGI/Plack Server
  • Perlでメソッドが呼ばれたときに呼出元のソースコードを書き換えるやつ - hitode909の日記

    普段Perl書いてて,メソッドのシグニチャ変えたときプロジェクト中の呼び出しを手で書き換えてた. たくさんあると疲れるので,ソースコード中の,メソッドの呼び出しと引数を置き換えるプログラムを作りたい. これができれば,非推奨なメソッドの呼び出しを新しいメソッドに自動で置き換えたり,メソッドのシグニチャ変えたときに機械的に置換できる. 以前,トークンを置き換えるのを作った.これを使えば,ifとunlessを置き換えられる.1トークンだけ置き換えできても,あまり役に立たない.トークン単位は以前やったので,今回は文単位で置き換えしてみる. PPI::Transformを使ってソースコード中のトークンを置換する - hitode909の日記 静的解析して置き換える PPI::Transformを使って,ソースコードを静的解析して置き換えることを考えた. PPIでトークン単位に分割して,指定したトー

    Perlでメソッドが呼ばれたときに呼出元のソースコードを書き換えるやつ - hitode909の日記
    hakobe932
    hakobe932 2013/09/16
    なかなか難しい。他の言語とかなら気楽にできたりするのかとかも気になる。
  • PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream (legacy)

    あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPerlについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。Perlの場合は cpanm というCPANクライアントでライブラリをインストールする。バージョンの固定とライブラリパスの設定は carton で行う。 https://github.com/miyagawa/cpanminus https://github.com/miyagawa/carton アプリケーションサーバ Webサーバへのインターフェイスとしては、PSGIという仕様がある。PSGIに準拠したツールキットとしてPlack

    PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream (legacy)
  • Starlet が HTTP/1.1 に対応しました / wrkによるベンチマークとYAPC::Asiaのトーク宣伝 - blog.nomadscafe.jp

    Starlet が HTTP/1.1 に対応しました。これによりでnginxのupstream keepaliveなどが捗ると思われます https://metacpan.org/release/Starlet https://github.com/kazuho/Starlet ながらくStarletはHTTP/1.0 + keepaliveなサーバでしたが、version 0.20にてHTTP/1.1に対応しました。具体的に対応したスペックは以下。 HTTP/1.1 keepalive Transfer-Encoding: chunked (Request & Response) Expect HTTP Pipelining StarmanやMonocerosとだいたい同じ動きをするようになっていると思われます。 なお、導入にあたっては、リバースプロキシ等と組み合わせた場合の動作パターン

  • 統計的なインデントチェッカー - hitode909の日記

    ソースコードを入れると統計的にインデントの変な箇所を見つけて教えてくれる便利ツールを作った. hitode909/auto_indent · GitHub 昨日,統計的にインデントするのを作ったけど,実用には耐えないくらいの精度だった.それの続き.昨日の読んでない人はまずこれを読んでください. 統計的にインデントするやつ - hitode909の日記 昨日のやつだと,もとのインデントを無視してプログラム全体をフォーマットしようとするので,失敗が許されない. 変なインデントを探して教えてくれるくらいなら,出てきたレポートを人が見て直すかどうか判断できるので,ちょっとましだろうと思った. あらかじめソースコードをいろいろ与えて,こういうデータを作っておく. ;,s,{"0":96,"-4":1} ;,},{"-4":754,"-8":15,"-15":1,"-2":4,"-9":1,"-12"

    統計的なインデントチェッカー - hitode909の日記
  • Harriet ー テストのときつかうにデーモンの取扱を簡単にするためのフレームワーク - tokuhirom's blog

    https://github.com/tokuhirom/Harriet/https://metacpan.org/module/TOKUHIROM/Harriet-0.01/lib/Harriet.pmテストのときにつかう mysqld, memcached, stf, groonga あたりのデーモンを、.t 単位で起動していては遅くてかなわない。かといって、あらかじめ起動させておくというのも。。 というわけで prove のプラグインとしてよしなにする、みたいなのをがんばってかく、というような試みがおこなわれてきたわけですが、どうもめんどくさい。 なんか適当にやったらうまくうごく、っていうかんじのカジュアルなツールがほしいな、なんておもったりするわけですよ そこで、Harriet ってのをつくってみました。 なんかこう、t/harriet/mysqld.pl っていうファイル名でこん

  • cpanm 1.6 at OSDC.TW

    What's new in cpanm 1.6 and sneak preview for 1.7, presented at OSDC.TW 2013 in Taipei.

    cpanm 1.6 at OSDC.TW
  • Perl の URI モジュールにおける文字列とオクテット列の扱いに関して: Days on the Moon

    Perl の URI モジュールには ASCII 外の文字の扱いに関して欠陥がある。ここでは Perl における URI の扱いについて述べ、URI モジュールの修正方針を提案する。 この記事で取り上げた問題に関して主たる部分は URI.pm 1.59 で (この提案とは違った形で) 修正済みであり、この提案は obsolete です。 用語の定義 URI RFC 3986 (日語訳) で定義される識別子。 URI.pm Perl の URI モジュール。ここでは、ファイルとしての URI.pm だけでなく、URI パッケージ下に含まれるコード全般を指す。断りがない限りバージョン 1.58 に基づく。 文字列 UTF-8 文字列と Latin-1 文字列のいずれか。 UTF-8 文字列 Perl の文字列値で、UTF8 フラグが立っているもの。 Latin-1 文字列 Perl の文字列

  • 1. Perl環境の設定 : Practical Modern Perl (仮)

    注:稿はまだ書きかけです!書きかけです!まだ一般に知らしめようとする前にブクマされました!w 間違いの指摘やコメント等は lestrrat @twitter にください! Perl環境の設定方法はここ数年で大きく進化し、変わってきました。ここではアプリケーションのデプロイも見据えた、モダンなperl環境の整え方を紹介していきます。具体的にはperl体や外部モジュールのインストール方法を解説したのち、Perlを使ったアプリケーションを管理・運用していく際に依存関係等はアプリケーション毎に管理できるようにしてグローバル環境に可能な限り干渉しない方法を紹介します。 目次 1.1 Perl体のインストール 1.2 依存モジュールの管理・インストール 1.3 Cartonによるアプリケーションの実行環境の構築 tl;dr 稿を読む前にポイントだけ知りたい!という方向けのまとめです: OSに同

    1. Perl環境の設定 : Practical Modern Perl (仮)
    hakobe932
    hakobe932 2013/04/02
    すごい良い感じにまとまってる
  • 卜部昌平のあまりreblogしないtumblr

    どうも。グリーのアカウントは持ってる1けどモバゲーのアカウントは持ってない卜部です。 ところでPerlリスクですか。まあ、あるんじゃないですか。ぶっちゃけ。でもさあ、さすがにPerlしか書けない人たちは転職先の選択肢のなさくらい自覚してると思う。なのでPerlがどうとかいう話はしないです。各自でどうぞ。 でね、ポイントはそこじゃないだろうと思うわけですよ。どんな選択をしても同様のリスクはあるんですよ。たとえばMacromedia ShockwaveでLingoで作ってたソフトとかさあ。今ではだれもメンテできないでしょう? だから今隆盛をきわめてる技術で作ったものが、何年か後にリスクになるってのは、それはそういうものなんですよ。べつにPerlに限らん。Perlはたまたま今そういうフェーズってだけで、明日は我が身ですよ。hamlとかsassとか。 だからまあ、こう言ってしまうと身も蓋もないかも

    卜部昌平のあまりreblogしないtumblr
  • Plack Performance Tips - mount() and query_parameters() : D-7 <altijd in beweging>

    すごいヘビーな負荷を受けているPSGIアプリケーションで「なんでこれで負荷があがるの?」的な現象があったので二つほどTipを。ちなみにこれは 2013/03/06時点での話なので、もしこれをあなたが大分将来に読んでいるのなら、状況に変更がないかちゃんと確認すること! まずこのお話の前提:mod_perlなアプリをPSGIに移行したかった。アプリはmod_perlハンドラで書かれているので、Apache::RequestをPlack::Requestに書き換えたり、ハンドラ部分をオブジェクトにしてキレイにするくらいで、基的な構造は何も変えてない(←ここポイント)。あとはApache側とか設定をもりもりいじって、PSGIファイルを書いて、Starletでデプロイして、パフォーマンスが30%くらい悪くなった。さて、犯人は誰でしょう? まずアプリケーションを組む側が「やっちまったなぁ?」な件:P

    Plack Performance Tips - mount() and query_parameters() : D-7 <altijd in beweging>
  • YAPC::Asia 2013 開催日程と会場、イベントβ登録について #yapcasia - Japan Perl Association運営ブログ

    こんにちは、 JPAの櫛井です。 今年もやります!YAPC::Asia!というわけで、今年は通常のボランティアスタッフとは別に 企画や準備段階からスタッフとして動いてもらっているコアスタッフの皆と会場の下見を 行いました。利用許可も無事におりましたので開催日程と会場をお知らせいたします。 開催日程と会場 9月19日(木) 前夜祭(予定) 9月20日(金) 一日目 9月21日(土) 二日目 計三日間です。 「9/19-21のYAPC::Asiaに参加しよーっと!」などのTweetをしていただけると ありがたいです! 慶應義塾 日吉キャンパス 協生館 〒223-8521 神奈川県横浜市港北区日吉4-1-1 東急東横線、東急目黒線/横浜市営地下鉄グリーンライン 日吉駅下車、徒歩1分 大きな地図で見る 日吉キャンパス案内:[慶應義塾] イベントβ登録 今後、ブログなどでも