タグ

perlに関するwanijiのブックマーク (166)

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

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

    Japan Perl Associaton代表理事に就任します - 時計を壊せ
    waniji
    waniji 2019/04/22
  • YAPC::Okinawaで「Perlコーディングテクニック2018」という話をしました - アリ

    speakerdeck.com 最近の便利Perl情報や好きなモジュールの話をしました。 トーク応募したときには話したかった細かい話題がいくつかあったのですが、20分では収まらなかったのもありクラスビルダやクラスローダ、バリデータ、Type::Tinyの話になりました。 トークの中で紹介した、拙作のSmart::Args::TypeTinyが結構好きで最近よく使っています。 Smart::Args::TypeTiny - We are smart, smart for you - metacpan.org 詳しい使い方やSmart::Argsと比較したときのメリットをあまり説明できなかったのですが、Smart::Args::TypeTinyについては昨年 id:papix さんが紹介している記事があります。(ありがとうございます!!!) papix.hatenablog.com 自分のトー

    YAPC::Okinawaで「Perlコーディングテクニック2018」という話をしました - アリ
    waniji
    waniji 2018/03/08
  • Perl XS デバッグを vscode で行う - アルパカ三銃士

    タイトルの通り、vscode を使って XS のデバッグを行う。 環境は Mac OS X El capitan MacBook Air (11-inch, Mid 2012) で lldb を用いる。Perl は 5.24.1 で plenv を使って管理している。 まずはデバッグしたいプロジェクトvscode で開き、launch.json を以下のように編集しなければならない。 { "version": "0.2.0", "configurations": [ { "name": "(lldb) Launch", "type": "cppdbg", "request": "launch", "program": "/Users/codehex/.plenv/versions/5.24.1/bin/perl5.24.1", "args": ["-Iblib/arch", "-Ibl

    Perl XS デバッグを vscode で行う - アルパカ三銃士
  • Furl の timeout と SSL - tokuhirom's blog

    Furl は、XS モジュールへの依存を排除するために IO::Socket::SSL のロードを実行時に行っております。 結果として SSL を利用したアクセスのうち、初回のアクセス時は若干の遅延が生じます。 use IO::Socket::SSL には 0.05sec〜0.1sec 程度かかります。 通常は問題がありませんが、timeout を0.1secなどに設定していると、モジュールのロードだけで timeout sec を消費してしまう可能性があります。 HTTPS で通信する場合には use IO::Socket::SSL しておくことを推奨します。 なお、この動作は仕様です。

    waniji
    waniji 2017/05/17
  • Make your CPAN module static installable

    waniji
    waniji 2017/03/31
  • cpanfileから消したはずの依存がcpanfile.snapshotに残る - Qiita

    cpanfileにCPANモジュールを追加してcarton installしたとする。追加したモジュールをcpanfileから削除して、もう一度carton installを実行したとき、最初に追加したCPANモジュールの依存がcpanfile.snapshotに残ったままになるという現象が起きた。 理由 cpanfile.snapshotはlocal/にインストールされているモジュールから生成されるが、cpanfileからモジュールを外してもlocal/からは削除されないから。 対処方法 local/を消してからcarton installする。 cpanm --local-lib-contained local --uninstall Module::Nameでlocal/からモジュールを削除してからcarton installする。(※ドキュメントでは--uninstallはEXPE

    cpanfileから消したはずの依存がcpanfile.snapshotに残る - Qiita
  • First step of Performance Tuning

    The document discusses optimizing Perl code for prime number generation and Fibonacci number calculation. It explores different algorithms and data structures to improve performance, including memoization, struct of arrays, and avoiding unnecessary function calls in loops. Benchmark results show the optimizations significantly reduce execution times from hundreds of milliseconds to under 1 millise

    First step of Performance Tuning
  • Devel::NYTProf で Starlet/Starman (Plack) でうごくウェブアプリケーションのプロファイリングをおこなう方法まとめ - tokuhirom's blog

    Devel::NYTProf は Perl5 の世界でもっとも人気があるプロファイラである。表示が美麗であるし、ステップごとの処理速度が簡単にわかるのでとても便利だ。 そんな Devel::NYTProf であるが、Starlet/Starman のようなプリフォーク式のサーバーでうごくウェブアプリケーションとくみあわせる場合の方法論として、わかりやすい資料がみあたらなかったのでここに記すものである。 環境変数 NYTPROF を設定する Devel::NYTProf は環境変数で挙動を変えられる。 plack とくみあわせる場合には、以下のようにするとよい。 NYTPROF=sigexit=int:savesrc=0:start=no sigexit=int 通常、Devel::NYTProf は END { } ブロックでデータのファイナライズ処理をおこなうのだが、SIGNAL によっ

  • Site::Reliability::Engineering - YAPC::Hakkaido 2016 Sapporo

    Site::Reliability::Engineering - YAPC::Hakkaido 2016 Sapporo

    Site::Reliability::Engineering - YAPC::Hakkaido 2016 Sapporo
  • UUID と Perl について - daily dayflower

    UUID がどういうものであるか,とか UUID の表現形については省略します。 UUID - Wikipedia が参考になるかと。 UUID の仕様として RFC 4122 を参照しました*1。なのでより細かいことについては原文を参照してください。策定されるまでにいろいろ経緯があるのですが,そのへんは http://www.rfcnews.jp/archives/2005/07/rfc_4122uuidurn.html に譲ります。 UUID の構造 UUID の内部構造をおおまかに表すと以下のようになります。 variant 2 bit (3 bit) version 4 bit time 60 bit clock_seq 14 bit (13 bit) node 48 bit 実際には variant フィールドは clock_seq フィールドのオクテットの中に埋め込まれています

    UUID と Perl について - daily dayflower
  • DeNA Engineering - DeNAエンジニアのポータルサイト

    技術を活かし、新しい価値を創造する DeNAのエンジニアは、想像を超えるDelightを届けるために何ができるかを考え、技術力と発想力で新しい価値を生み出しています。 多様な専門性を持ったエンジニアが切磋琢磨し、互いに刺激し合える環境や制度がさらなる成長へとつなげます。

    DeNA Engineering - DeNAエンジニアのポータルサイト
  • JSONモジュールの encode_json / decode_json と to_json / from_json について調べてみた - punitan (a.k.a. punytan) のメモ

    JSONモジュールの encode_json / decode_json と to_json / from_json について調べてみた。 間違いがあった場合は指摘お願いします。 encode_json / decode_json encode_json / decode_json は Encodeモジュールの encode_utf8 / decode_utf8 にJSONのシリアライザー・デシリアライザーがくっ付いたようなもの。 to_json / from_json その一方、to_json / from_json は引数・戻り値共に flagged utf8 で扱う。JSONのシリアライザー・デシリアライザーのみ。 よって、エンコード周りに関しては自分で責任を持ってやる必要がある。 utf8(追記:コメントの指摘により加筆修正) OOインターフェイスには utf8 メソッドがある。

    JSONモジュールの encode_json / decode_json と to_json / from_json について調べてみた - punitan (a.k.a. punytan) のメモ
  • JSONのドキュメントに追加した部分 どんぞこ日誌(2010-04-06)

    * [Perl][メモ] JSONのドキュメントに追加した部分 tokuhiromさんに(en|de)code_jsonと(to|from)_jsonどっちを使ったほうが良いのか初心者にわかるようにしたらと言われたので、最近のJSON.pmのドキュメントには(en|de)code_jsonがオススメである旨が付け足されています。さらに念を押して、一応自分ではわかりやすく説明したつもりの"HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER"というセクションが加わっています。 で、この日誌にperl json 文字化けとかで検索してくる人がたまにいて、たぶんこのページがヒットするのでしょうが、(自分で訳しておいて何ですが)これ見てもわかりにくいんじゃないかなあという気がします。また、先のgoogleの検索結果のトップには現状Kawa.ne

  • どんぞこ日誌(2008-03-29)

    * [Perl][メモ] JSON::XSのエンコーディング/コードセット関連のフラグ 2010-04-06追記: モジュール使ってみたけど文字化けして困る〜という方はこのページよりもこちらを先に読まれることをお勧めします。 以前自分でもJSONのフラグについて簡単に説明してきましたが、JSON::XSのドキュメントにずばりENCODING/CODESET FLAG NOTESというのが加わりましたので、その要約と、せっかくだからその部分の全訳を載せます(作者了解済)。(※2008-06-11 下段に一文を追記) 1 utf8オフ(デフォルト): encodeはUnicodeなJSONを返すdecodeはUnicodeなJSONを受けとり、UnicodeなPerlデータを返す。2 utf8オン: encodeはUTF-8なJSONを返すdecodeはUTF-8なJSONを受け取り、Unic

  • テストのためにデーモンを自動的に起動するやりかた2011年版 - Articles Advent Calendar 2011 Test

    はじまりはパクり 最近あんまりコード書いてません、lestrratです。 テストを走らせる時にいろんな他のデーモンを立ち上げたり、そのテストのためだけの設定を先にしないといけなかったりとか色々ありますよね。結構長い間Makefile.PLはModule::Installで書いていたせいもあって、ちょっと前にxaicronさんが書いてたModule::Install::TestTargetでごにょごにょやってたのですが、ちょっと前にYappo/tokuhiromさんがproveで書いてたセットアップがまるっと自分の欲しい用途にも使える事に気づいたのでいろんなアプリケーションのテストをそのように変えてみました。 流れ proveでテストをすると、proveのプラグインを呼び出す設定ができるのですが、これをプラグインというよりテスト前に実行されるフックとして利用する事によって任意の設定用のコード

    テストのためにデーモンを自動的に起動するやりかた2011年版 - Articles Advent Calendar 2011 Test
  • UUV (Perl) の言い出しっぺ説

    UUV (Perl) の言い出しっぺ説 `Use of uninitialized value%s` warning を UUV って言うの、新しくきた人には通じないので社内でしかあまり使われていないのかなと思ったところ以下のようなコメントをいただいた。 Use of uninitialized value%s を UUV っていうの観測範囲ではほとんどうちだけ。 — Naney (@Naney) October 1, 2014 @kazeburo @Naney kazeburoさんが広めてる説 — Shigeki Morimoto (@shmorimo) October 1, 2014 その他 mixi でのつぶやきでは以下のような情報を教えていただいた。 発音は「うぶー」 miyagawa 氏も使っている。 https://github.com/... @kazeburo 氏がどうも言

    waniji
    waniji 2016/02/02
  • Perl の HTTP/2 事情

    この記事は Perl Advent Calendar 2015 の 11 日目の記事です。 昨日の記事は mackee_w さんの「ペライチ PSGI アプリケーションの概念と実証」でした。 今年 2015 年は、HTTP/2 の RFC が出ましたね。というわけで HTTP/2 の話をします。以前 Gotanda.pm #4 にて「Perl の HTTP/2 事情」というタイトルで発表したのですが、それとだいたい一緒です(記事書いてなかったので…)。 HTTP/2 の各言語実装は https://github.com/http2/http2-spec/wiki/Implementations にまとまっているのですが、ここを見ると Perl には Protocol::HTTP2 / http2-perl という実装があるようです。ただ http2-perl は h2-04 準拠なので O

    Perl の HTTP/2 事情
  • 乱数の性質とセッショントークンの作成 - $shibayu36->blog;

    ユーザアカウントのログイン機能とか作ってると、何らかの形でセッション用のトークンを作成する機会がある。今まではこれは適当にランダムな値を利用していればいいんでしょと思っていたのだけど、ちょっと違ったのでメモ。 乱数の性質 http://akademeia.info/index.php?%CD%F0%BF%F4によると、乱数には三つの性質がある。 無作為性:統計的な偏りがなく、でたらめな数列になっているという性質。 予測不可能性:過去の数列から次の数を予測できないという性質。 再現不可能性:同じ数列を再現できないという性質。再現するためには、数列そのものを保存しておくしかない。 この時、少なくとも無作為性のみ満たされていると弱い擬似乱数、無作為性と予測不可能性が満たされていると強い擬似乱数、全てが満たされていれば真の乱数と呼ばれる。ソフトウェアだけでは、真の乱数を作ることができず、真の乱数に

    乱数の性質とセッショントークンの作成 - $shibayu36->blog;
  • 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
  • Etsukata blog: FreakOut DSP 入札サーバの CPU 使用率を 30% 削減する Performance Tuning

    はじめに 勤務先の FreakOut 社では RTB で広告枠を買い付ける DSP の開発・運用を行っています。RTB とは、インターネット広告のインプレッションが生じる毎に、広告枠の競争入札を行う仕組みです。 DSP とは、 RTB において、競争入札をする側のシステムになります。広告枠/広告を見ている人 に対し、最適な広告を、最適なタイミングで届ける機能を広告主に提供する仕組みです。 FreakOut DSP は最適な広告探索・入札価格調整のため、非常に多くのデータを参照し、沢山の演算処理を行います。広告を見ている人が過去にアクセスした Web ページの情報や検索ワード、さらに 広告がクリックされる予測確率(過去のログから機械学習で算出) などを参照し、入札価格を決定するのです。そのため、DSP で入札を担当するサーバは CPU がボトルネックになっており、台数も数百台に嵩んでいます。