タグ

Perlに関するku-kai27のブックマーク (31)

  • ついに顕在化しはじめた「Perlリスク」

    英語圏ではかなり前からPerlで開発し続けることのリスクについて語られていたが、いよいよ具体的な弊害が出て来ているようなので、かいつまんでメモ。日でもそう遠くない未来だと思う。 若手エンジニアの不足Objective-Cのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く、需要も供給も減るという状況下でわずかだが需要が上回っているとう性質の悪い状況がPerlに起きている。特に深刻なのは安価な若手エンジニアの採用が絶望的に難しいという現実だ。Rubyが台頭して数年経ちPythonがメインストリームの先頭を突っ走る2013年において新しくPerlを勉強しようとする若者はよほどの物好きしかいない。30~40歳Perlエンジニアを雇うのはそれほど難しく無いだろうがコストがかかる。安価な20代前半の若手エンジニアを雇いたいという企業の思いとは裏腹にPerlを新た

    ついに顕在化しはじめた「Perlリスク」
  • 「はてな教科書」をgithub上に公開しました - Hatena Developer Blog

    こんにちは、id:shiba_yu36です。 はてなエンジニア陣によって執筆されたウェブアプリケーション作成の基を学ぶための「はてな教科書」をgithub上に公開しましたのでお知らせします。 はてな教科書は、はてなサマーインターンでも利用されている、約1週間でウェブアプリケーションの基を身に付けるためのものです。はてなでは日々のウェブ開発で得られたノウハウをこの教科書を継続的に盛り込みながら、インターンシップやエンジニアの新人教育などに利用しています。今回、はてな教科書をgithub上で公開することで、広くPerlを使ったウェブアプリケーション開発に興味を持ってもらえれば、と思います。 いまのところ公開されている資料は、以下の4つになります。 Perl によるオブジェクト指向プログラミング ORM によるデータベース操作 (DBIx::MoCo を使った開発) MVC によるウェブア

  • 電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所

    Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが

    電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所
  • 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)

    (追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー

    「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)
  • 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
  • FizzBuzz – Golf Challenge | TAKESAKO @ Yet another Cybozu Labs

    FizzBuzzプログラムを書くのが流行っているみたいなので私も参加してみることに。 Perl部門 1. 目指せ最短 (perl -eも含めて56byte) perl -e’die+map{(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/}1..1e2′ ※ perl -lオプションを使わずに最短を目指す。標準エラー出力がNGの場合はprintを使って57byteに perl -e’print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..1e2′ ※ anarchy golf – FizzBuzz で換算すると48byteでPerl最短 (perl -eを含めない) print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..1e2 これだと perl FizzBuzz.pl と実行できて Code Golf

    ku-kai27
    ku-kai27 2011/01/24
    FizzBuzz
  • ゆーすけべー日記

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

    ゆーすけべー日記
    ku-kai27
    ku-kai27 2010/11/27
    素晴らしい
  • Perlの開発環境構築メモ - hide-k.net#blog

    最近、社内で初対面の人に自己紹介すると「あ!twitterでfollowしてます。AKB好きな方ですよね?」と辱めを受けてることが多くて色々反省しています。 こんばんは。 先日、会社で新しいMac Book Airを支給されて開発環境を再構築して、せっかくの機会だったので自分の環境をメモりました。 YAPC::Asia 2010でtokuhirom氏の「モダンな Perl5 開発環境について」で大きく取り扱われたり、あちらこちらで散々エントリされていますが毎回ぐぐるのも面倒なのではっときます。 0. 下準備 gccや各種ライブラリが必要なので何はなくともXcodeをインストールします。僕はiOS SDK付きをダウンロードしてインストールしました。 ついでにhomebrewもインストールしておきます。 sudo dscl /Local/Default -append /Groups/staf

  • perl - 実践で役立たないPerl正規表現 完全解説 : 404 Blog Not Found

    2010年10月04日04:45 カテゴリLightweight Languages perl - 実践で役立たないPerl正規表現 完全解説 役立つ方をお探しの方は、以下まで。 実践で役立つPerl正規表現 完全解説 - サンプルコードによるPerl入門 s/$regexp/$substitution/ 実のところ、正規表現ではなくs///演算子のお話です。Perlではあまりに正規表現と密接に関係しているので、これ全体を「正規表現」と呼んでしまいがちなのですが、実際のところ $string =~ s/$regexp/$substitution/; とある場合、$regexpのみが正規表現なのでお間違えがないよう。 s/$regexp/$substitution/sex で、全世界の Perl Mongers の皆さんがご存知のように、s/$regexp/$substitution/の最後

    perl - 実践で役立たないPerl正規表現 完全解説 : 404 Blog Not Found
  • perl - でWindows用のzipファイルをUnixで作る : 404 Blog Not Found

    2010年09月06日23:00 カテゴリLightweight Languages perl - でWindows用のzipファイルをUnixで作る 何度目の車輪の再発明かわからないけど、見つからなかったものは見つからなかったので。 Windowsで文字化けしないZIPファイルをMacで作る : ライフハッカー[日版] ezip.pl 新規に作成する場合は、こちら。 #!/usr/bin/env perl # # $Id: ezip.pl,v 0.1 2010/09/06 13:52:00 dankogai Exp dankogai $ # use strict; use warnings; use Archive::Zip qw/:ERROR_CODES/; use Getopt::Std; use Encode; use Unicode::Normalize; # to handl

    perl - でWindows用のzipファイルをUnixで作る : 404 Blog Not Found
    ku-kai27
    ku-kai27 2010/09/07
    Rubyでやってみたいな。
  • perl & javascript - PNGにテキストを埋め込む : 404 Blog Not Found

    2010年09月05日05:30 カテゴリLightweight Languages perl & javascript - PNGにテキストを埋め込む いっそこんな利用法はどうか。 404 Blog Not Found:Ajax - データ交換 via PNG 使いどころが限定的すぎる。 Demo 0 アイコンの中にエンコーダーのソースコードを埋め込んである。 $('#demo0 input').click(function(){ $('#demo0dst').text(showTextInPNG($('#demo0img').get(0))); }); Perlでテキストを取り出すソースコードは以下のとおり。 #!/usr/bin/env perl use strict; use warnings; use Imager; use autodie; my $img = Imager->

    perl & javascript - PNGにテキストを埋め込む : 404 Blog Not Found
    ku-kai27
    ku-kai27 2010/09/05
    pngにテキストを埋め込もう。
  • サンプルコードによるPerl入門

    文字列 数値をASCII(アスキー)コードに対応する文字に変換するには、chr関数を使用します。 #!/usr/bin/perl use strict; use warnings; # ASCII文字コードでは65,66,67はそれぞれ 'A','B','C'に対応する。 my $a_num = 65; my $b_num = 66; my $c_num = 67; print chr( $a_num ), "\n"; print chr( $b_num ), "\n"; print chr( $c_num ), "\n"; __END__ 続きを読む

  • ウェブ・プログラムの実験場! Web Application Programming Lab.

    お知らせ等 PerlPHPといった、いわゆるWebアプリケーションのプログラムについて考えるための実験場です。 「あいまい」が日々実験しているいろんなことを、ダラダラと残すために書いてます。 もしかすると、「間違い」を書いている可能性もあるので、 あまり信用しないでください(^^; 応用編はこちら、実験室はこちらからどうぞ。 Webアプリ by Perl 基礎編 1.はじめに ~ Webプログラムとは Webプログラムとは?/ プログラムの起動のさせ方/ HTTPのお約束/ Perl&Unix系の追加事項 2.画面を動的(ダイナミック)に作り出す 画面を動的(ダイナミック)に作り出す / ソースの応用・インチキおみくじ / JavaScriptですると? 3.カウンターを作ろう~ファイルの保存 カウンターの仕組み / SSIを利用する場合 / iframeやJavaScriptでやってみ

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

    ku-kai27
    ku-kai27 2010/08/18
    これはよいまとめPerl使いにはありがたそう。Rubyでもこういうのないかな・・・。
  • 豆知識 - 知っておくと役に立つ - Perl入門ゼミ

    Perl › 豆知識 知っておくと何かとPerlが使いやすくなったり、読みやすくなるかもしれないことをいろいろと追加していきます。 BEGIN BEGINはコンパイルのときに実行するということをあらわします。 BEGIN { # コンパイルのときに実行したい文 } require requireはuseと似ていますが実行時にモジュールを読み込むことと、importメソッドを自動的に実行しないところがことなります。 use File::Basename 'basename'; # 上と同じ意味 BEGIN { require File::Basename; File::Basename->import('basename'); } 動的にモジュールを読み込みたい場合はrequireを使用することがありますが、一般的な用途ではuseで統一するのがわかりやすいでしょう。 local localは

    豆知識 - 知っておくと役に立つ - Perl入門ゼミ
  • perl - AnyEventで超速分散ダウンローダー : 404 Blog Not Found

    2010年08月12日09:45 カテゴリLightweight Languages perl - AnyEventで超速分散ダウンローダー これ見てたらついムラムラと。 Perl 非同期プログラミング 初出2010.08.11; 08.12 追記time perl mirrorget.pl cpan.yml http://www.cpan.org/src/perl-5.12.1.tar.bz2 # Stage 0: checking headers Elapsed: 0.358819961547852 sec. Last-Modified: Sun, 16 May 2010 22:40:16 GMT Content-Length: 12296076 URLs: http://ftp.ring.gr.jp/pub/lang/perl/CPAN/src/perl-5.12.1.tar.bz2

    perl - AnyEventで超速分散ダウンローダー : 404 Blog Not Found
    ku-kai27
    ku-kai27 2010/08/11
    負荷分散のお話
  • perl - 勝手に添削 - ターミナル内で画像を表示するコマンド : 404 Blog Not Found

    2010年08月04日13:00 カテゴリLightweight Languages perl - 勝手に添削 - ターミナル内で画像を表示するコマンド 面白い。 ターミナル内で画像を表示するコマンド - デー でもスクリプトが「重い」。 なんでaview起動するのにふつうにsystem()使わないで手でfork()しとんの? つーか、それ以前に一時ファイルって必要? というわけで書き直したらこうなった。 #!/usr/bin/env perl use 5.00801; use strict; use warnings; use Imager; my @cmd = qw/aview -reverse/; my $file = shift or die "usage: $0 image\n"; my $img = Imager->new(); $img->read( file => $fil

    perl - 勝手に添削 - ターミナル内で画像を表示するコマンド : 404 Blog Not Found
  • regexp - でエラトステネスのふるい : 404 Blog Not Found

    2010年07月22日13:00 カテゴリ regexp - でエラトステネスのふるい やりましょう。 正規表現で素数判定 - NO!と言えるようになりたい 正規表現でエラトステネスのふるいはさすがに無理かなできました。 #!/usr/bin/perl use strict; use warnings; my $max = shift || 100; my @primes; sieve: for my $ns ( map { 1 x $_ } ( 2 .. $max ) ) { for my $ds (@primes) { last if $ds x length($ds) gt $ns; next sieve if $ns =~ /^(?:$ds)+$/; } push @primes, $ns; printf "%3d:%s\n", length $ns, $ns; } 見ての通り、

    regexp - でエラトステネスのふるい : 404 Blog Not Found
  • perl - O'ReillyのiPhoneアプリ本からepubをぶっこぬく : 404 Blog Not Found

    2010年07月16日01:15 カテゴリ書評/画評/品評Lightweight Languages perl - O'ReillyのiPhoneアプリからepubをぶっこぬく W00t! たった600円でオライリーiPadKindleで読む。すてき。 - このブログは証明できない。 ところが、紙のと比べてそれほど安くないんですね。iPhone版の600円はやはり魅力です。大丈夫。実はこのアプリからiPadで読めるepubを取り出すことができるんです。特殊なハックというわけではなく、オライリーのサイトでもやり方が書かれています。 Ebook Bundles - Getting The Most はてなブックマーク - samurai20000のbookmarkこれすごすぎる。ただ、やり方が面倒なので自動化したいとこ。 やりましょう。 できました。 #!/usr/bin/env p

    perl - O'ReillyのiPhoneアプリ本からepubをぶっこぬく : 404 Blog Not Found
  • もっとも簡単な CGI を書くまでのチュートリアル - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech

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

    もっとも簡単な CGI を書くまでのチュートリアル - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech