タグ

perlに関するrindenlabのブックマーク (35)

  • Announcing Perl 7

    Announcing Perl 7 Jun 24, 2020 by brian d foy image credit: Darren Wood, “7”, on Flickr. This morning at The Perl Conference in the Cloud, Sawyer X announced that Perl has a new plan moving forward. Work on Perl 7 is already underway, but it’s not going to be a huge change in code or syntax. It’s Perl 5 with modern defaults and it sets the stage for bigger changes later. My latest book Preparing f

    Announcing Perl 7
  • Perl を書き続ける理由と大事にしたいこと | #interest_ae

    私がプログラミングをするときの第一言語は Perl です。周囲には「私は Perl 以外のプログラミング言語はよくわかりません」と念を押すくらいには Perl ばかり書いています。 しかし、2018年の今日 Perl は一定の役割を終えた古い言語とみなされ、メインストリームからは退いたと多くの人が考えています。10年前の2008年を思い返しても、複数の対抗言語の登場で Perl に陰りがあった事は事実ですし、今日のメインストリームに Perl が居ないことを改めて言う必要も無いでしょう。 それでもなぜ私は Perl を書き続けるのか、少し考えてみました。 私と Perl 私と Perl との格的な出会いの場は、大学院を卒業した2003年に入社したIT企業です。その会社がメインで使用していたプログラミング言語が Perl だったので自然と Perl を書くようになりました。 2003年3月

    Perl を書き続ける理由と大事にしたいこと | #interest_ae
  • 職業としてのPerlを書き続けることの難しさとPerl教育革命 - はてな村定点観測所

    2014-08-26 職業としてのPerlを書き続けることの難しさとPerl教育革命 もうすぐ、世界最大のPerlの祭典・YAPC::Asiaですね。 私も2日間、慶應義塾日吉キャンパスまで遊びに行きます。 ただ、最近やはり正直Perlに関して思うところはあるんですよね〜。職業としてのPerlを選択できる道は年々狭くなっているなと。それこそ針の穴をラクダが通るよりも難しい。 以前、「ついに顕在化し始めたPerlリスク」なんて増田の投稿が出たりして、詳しい人から手斧が投げられたりしましたが、やはり年々Perlを採用する企業は増えていないし、YAPCのスポンサーを見ていても毎回ほぼ同じ企業が並びますよね。スピーカーも人気を集める人は固定化されてて、(Perlだけじゃない話をする場とはいえ)インフラ系の話題の比重も大きくなっています。 私は1999年にPerlの魅力に触れてから、ずっとPerl

    職業としてのPerlを書き続けることの難しさとPerl教育革命 - はてな村定点観測所
  • PSGI/Plack - [Perl Hackers Hub]

    連載では、第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第1回は、WEB+DB PRESS誌ではVol.2から執筆しており、長らく連載も担当していた宮川達彦さんです。 はじめに PerlでWeb開発をするためのフレームワークは百花繚乱、人気を集めています。稿では、これらのフレームワークが共通して利用するためのインタフェース仕様であるPSGIと、そのエンジンとしての実装であるPlackを紹介します。 PSGIに至る道 PerlとWebアプリケーション開発の親和性 Perlは「インターネットのグルー(糊:のり)言語」とも言われ、CGIによる開発がメインだった1990年代から、Webアプリケーション開発に最も関わりのあるプログラミング言語の一つと言ってよいでしょう。2000年代に入っても、Ruby on RailsPHPなどの他言語からの影響も取り入れながら、Web開発

    PSGI/Plack - [Perl Hackers Hub]
  • 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>
  • ついに顕在化しはじめたPerlリスク(棒 を眺めながら仕事をしていた結果 : D-7 <altijd in beweging>

    10年物の20万行ほどあるWebアプリの配信部分をPSGI化したところ、先ほど無事○○Gbps単位のピークタイムをシステムの負荷をあげすぎず(アラートをあげず)に乗り切れたようです。 関係者の皆様お疲れ様でした。ご協力ありがとうございます。 最初パフォーマンスの問題があってがっかりしたけど、良いコード書けたと思うし、最終的にはちゃんと期待してたくらいのパフォーマンスが出て良かった。 ちなみにそのWebアプリっておまえの読んでるこれだよ、これ。

    ついに顕在化しはじめたPerlリスク(棒 を眺めながら仕事をしていた結果 : D-7 <altijd in beweging>
  • いまさら素数戦争のdankogai.plを読んでみた - ROUTE 3390

    2012年のYAPC::Asiaで紹介されていた素数戦争 「10000番目までの素数の和を求める」 というお題をいかに早く算出するか!というものでした。 私も参加ダメダメながら参加して楽しんでいました。私の記録はこちら そこで気になっていたのが「殿堂」となっていたdankogai.pl length q cmp lc and print chr oct oct ord qw q do q and print chr oct oct ord q mkdir m and print chr oct oct ord qw q for q and print chr oct oct oct ord q eq le and print chr oct ord uc qw q bind q and print chr oct ord uc q each ne and print chr oct oct

    いまさら素数戦争のdankogai.plを読んでみた - ROUTE 3390
  • Perlの食えない事情 - 演算子編 - アリ

    Perlえない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字

    Perlの食えない事情 - 演算子編 - アリ
  • 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 には2種類の select がある - kameidの備忘録 - Sharpen the Saw!

    詳しくは、 % perldoc -f select 一個目の select は、デフォルトの出力ファイルハンドルを変更するもの。 select MYOUT; print "Hi! My name is Kameid.\n"; select STDOUT; # 標準出力に出力ファイルハンドルを戻す 上記の print は標準出力ではなくて、MYOUT に出力される。まあ、あんま使わない方が良さそうだ。 もう一つの select は「4引数の select」と言うらしい。これは select(2) システムコールを呼ぶもの。良く使われるのは msec 単位での sleep の代用品としてだろう。1秒以下の sleep をしたい場合、 select(undef, undef, undef, 0.25); # sleep 0.25 と書いてもダメ。 とすることが出来る。 ただしこの用途には、Tim

    perl には2種類の select がある - kameidの備忘録 - Sharpen the Saw!
  • 遅レス。 - Apache mod_perl - MaxClients の値に注意

    やっちまった……。きっとだれもが通る道。というかとっくに FAQ か。 mod_perl における C10K problem" - 竹迫良範 恥ずかしながら、知らなかったッス。これって mod_ruby でもありうる話だよね? Apache で mod_perl を使用する時は MaxClients 設定に注意! Apache の MaxClients(子プロセスの最大数) デフォルト設定は 150。 他のモジュールにも影響されるが、mod_perl 組み込み時、子プロセス1つのメモリサイズが 20〜30MB 程度になる。 よって、同時接続数 150 までアクセスされると 3G から 4.5G メモリを喰うことになる。 そんなメモリねぇ〜www なので、スワップ・スワップ(SWAP x SWAP と書いてみたがヤな感じだった)。swap もオーバーしちゃったり。 対策: MaxClient

    遅レス。 - Apache mod_perl - MaxClients の値に注意
  • ここギコ!: さよなら初代ケータイ国盗り合戦プラットフォーム&オープンソースにできないですかねマピオンさん

    7月3日-6日にかけての長期間、ケータイ国盗り合戦がメンテナンス後、リニューアルされました。 見た目はあまり変わっていませんが、バックエンドのプラットフォームは言語はPerlからPHPへ(Perl技術者確保が大変なため、との事。JPAやYAPCに支援とかすればよかったと思うんですが)、ストレージはTokyoTyrant等種々混在からMySQLへ(個々の局面での小さなパフォーマンス差より、一元化によるメンテナンスコスト削減)、インフラは社内インフラからAmazonAWS(移行理由等はこちらの資料で紹介)へと、大幅な変化をしたようです。 私が退職した1年半前頃からリニューアル準備に入り、 半年ほど前からクイズ、城下町等いくつかのコンテンツから先行移行していたようですが、ついにこの7月頭に完全移行し、私の遺産だった旧プラットフォームは払拭され、新プラットフォームに完全移行したようです。

  • perl - 「優れたPerlプログラマを見分ける27の質問」回答例 : 404 Blog Not Found

    2011年03月01日18:00 カテゴリLightweight Languages perl - 「優れたPerlプログラマを見分ける27の質問」回答例 これは良問。 How to Identify a Good Perl Programmer - Modern Perl Books, a Modern Perl Blog 「優れたPerlプログラマを見分ける27の質問」の日語訳 - Islands in the byte stream というわけで回答例。あくまでも解答例。There's more than one way to do it はここでも例外ではないので。 Perl5において変数のシジルが示すものは何か 変数の基型。$scalar、@array、%hash、&code、*typeglob。&codeの&は省略可能かつ省略推奨。これ以外の型はオブジェクトを作ることで作れ

    perl - 「優れたPerlプログラマを見分ける27の質問」回答例 : 404 Blog Not Found
  • Tengについて

    先ほどTengという新しいORMをリリースしました。 TengはDBIx::Skinnyの後継バージョンと捉えていただいて結構です。 DBIx::Skinnyはおおよそ3年前ほどに一人でつくりはじめたORMで 現在に到るまでに様々な仕様変更を繰り返し、 結構秘伝のタレ的なコードが目立つようになってきました。 元々はDBIx::Skinnyをリファクタリングすることで済まそうと思っていたのですが、 後方互換を残したままのリファクタリングに限界を感じました。 多くの人に使っていただいている現状で後方互換を簡単に捨ててしまうのは 宜しく無いとの判断から別プロジェクトとしてリリースするに至りました。 DBIx::Skinnyは現状、バクレポートも特別なく 問題なく継続してご利用頂けると思いますので、ご安心ください。 また、なにか大きな問題点があれば、サポートしますのでpatches&testsウエ

  • 続・モダンPerlの裏側で

    続・モダンPerlの裏側で 2010/12/9 Shibuya.pm #15 Toru Kobayashi (@koba04) 自己紹介 Name : Toru Kobayashi Twitter : koba04 Blog : http://d.hatena.ne.jp/koba04/ Facebook : Toru Kobayashi 1981世代。 カジュアルにPerlを使っています。 「JPerl Advent Calendar 2010 - Casual Track」 書きます! 続? 今年のYAPC::ASIA前夜祭にて「モダンPerlの裏側で」というタイトルで細々とLTやらせて頂きました。 yusukebeさん++ 常駐先にて外部から納品される不思議なコードについて話させてもらいました。 動画 : http://www.youtube.com/user/yapcasia こん

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perl基礎文法最速マスター - Perl入門ゼミ

    Perl › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world"; Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメント Perlのコメントで

    Perl基礎文法最速マスター - Perl入門ゼミ
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found

    2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日語文字をとりだすことは,日Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode

    perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found
  • 【PHP vs Perl】 昔から議論になっている事ですが、結局の所どっちがどうなのでしょう?…

    PHP vs Perl】 昔から議論になっている事ですが、結局の所どっちがどうなのでしょう? 私自身は Perl 屋ですが、PerlPHP に負けているという事も無いような気がします。 しかし、人力検索でも随分と PHP の質問が多いように感じられます。Perl はどこですか?みたいな。 言語仕様的な面からそれぞれのメリットとデメリットを述べられる方はおりますか? 平たく言えば、Perl にできて PHP にできない、またはその逆について解説して頂きたいのです。 そして面白い事に、国内のブラウザゲームの大半は何故か Perl で記述されています。 最近は PHP も増えてきた感じもするのですが、中身を見るとそのソースは Perl もどきだったりもします。 個人的には Perl で全てが済むと思うのですが、何故にして PHP を使うのでしょうか?