タグ

ブックマーク / dankogai.livedoor.blog (172)

  • perl - soloで任意のコマンドを期限付きで排他実行する : 404 Blog Not Found

    2013年02月27日20:45 カテゴリTipsLightweight Languages perl - soloで任意のコマンドを期限付きで排他実行する Perl Cookbook (English, Kindle Ed.) Christiansen / Torkington [邦訳: Perlクックブック] solo という名前の perl script を、App::solo という名でリリースしました。 dankogai's p5-app-solo at master - GitHub プロセス間の期限付き排他ロック - (ひ)メモ プロセス間の排他的実行を制御したい 一定時間経過したら実行できるようにしたい これに対する別解答です。 以下、PODの抄訳。 NAME solo - run only one process up to given timeout. SYNOPSIS

    perl - soloで任意のコマンドを期限付きで排他実行する : 404 Blog Not Found
    kicchomu3
    kicchomu3 2013/02/28
  • 私がソフトウェア技術者でもありつづける理由 : 404 Blog Not Found

    2010年09月25日22:45 カテゴリLoveCode 私がソフトウェア技術者でもありつづける理由 一言でいえば、「自分に報い続けたいから」ということになる。 私がソフトウェア技術者をやめた理由 - Rails で行こう!私の職業生活でもっとも多くの時間を注いだのがソフトウェア作りだ。その作業に対して、実際のところ、好きとか嫌いとか一言で割り切れるはずがない。複雑な感情を持っているというのが正直なところだ。 以下に照らし合わせれば、その複雑な感情とやらそのものがお嫌いなのだろう。 私の職業プログラマのとしての最大の欠点は、ソースコードに対して強い美意識を持たずにいられなかったところだろう。生来の生真面目な性格が災いし、私の基準で美しいとはいえないソースコードを敵視しすぎた。 で、何をもって美醜を決めているかといえば、コルモゴロフ複雑性と、そこからの距離をお使いのようだ。 うるう年を計算

    私がソフトウェア技術者でもありつづける理由 : 404 Blog Not Found
    kicchomu3
    kicchomu3 2010/09/27
  • perl - Unicode「'あ'はAlphabetですが、何か?」 : 404 Blog Not Found

    2010年04月23日07:00 カテゴリLightweight Languages perl - Unicode「'あ'はAlphabetですが、何か?」 結論から言うと、仕様です。 Is "あ" an alphabet? - FloralCompany.log use utf8; print 1 if "あ" =~ /\p{IsAlpha}/; print 2 if "あ" =~ /\p{Alphabetic}/; print 3 if "あ" =~ /[[:alpha:]]/; ナンデヤネーン それも、PerlではなくUnicodeの。 UAX #44: Unicode Character Database Characters with the Alphabetic property. For more information, see Chapter 4 in [Unicode

    perl - Unicode「'あ'はAlphabetですが、何か?」 : 404 Blog Not Found
  • Every Byte is Sacred - 書評 - ガベージコレクションのアルゴリズムと実装 : 404 Blog Not Found

    2010年03月20日04:30 カテゴリ書評/画評/品評Lightweight Languages Every Byte is Sacred - 書評 - ガベージコレクションのアルゴリズムと実装 著者より献御礼。 ガベージコレクションの アルゴリズムと実装 中村成洋 / 相川光 / 竹内郁雄監 これほど地味かつ即実務に役立たない、しかし確実にプログラマーの滋養になるが出版される日の出版界に乾杯!世界で二番目(著者調べ)、国内で初のGCは、実に滋味豊かだ。 とはいえ、書はこの話題に関してMECEというわけでもない。というわけでentryでは書に何が書いていないかを主に紹介していく。何が書いてあるかは書で確認すればよいのだから。 書「ガベージコレクションのアルゴリズムと実装」は、コンピューターの資源管理の技術の一つ、ガベージコレクション(以下GC)についてまるまる一冊を費

    Every Byte is Sacred - 書評 - ガベージコレクションのアルゴリズムと実装 : 404 Blog Not Found
    kicchomu3
    kicchomu3 2010/03/20
  • #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found

    2009年10月01日18:00 カテゴリLightweight Languages書評/画評/品評 #perl #regexp - $utf8 =~ /.../i # の傾向と対策 というわけで、その傾向と対策を。 [Perl]UTF8-flagged strings affects regexps with the "i" modifier - use GFx::WebLog; Perlではutf8フラグ付きの文字列に対するuc/lc/"i"正規表現修飾子は非常に遅いのだが,H::F::Liteでは/iを使っているので,試しに/iを使わないようにしてみると,速度が改善した id:gfxの主張は、以下のようにして確かに確かめられる。 use strict; use warnings; use Benchmark qw/cmpthese timethese/; { use bytes; m

    #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
  • 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
  • クビになった方がましかも - 書評 - 戦略的 クビにならない技術 : 404 Blog Not Found

    2009年06月03日14:30 カテゴリ書評/画評/品評Art クビになった方がましかも - 書評 - 戦略的 クビにならない技術 著者より献御礼。 戦略的 クビにならない技術 松尾昭仁 うむむ。 blogでは、以前にも著者の「部下を動かす教え方」と「生き残る上司」を書評しているのだが、書は両書と比べて格段に評しにくい。 なぜなら、書に書いてあることは合っていて(correct)、それゆえに誤っている(wrong)という一冊だからだ。 書「戦略的 クビにならない技術」は、タイトルどおり「書どおりに行動すれば、会社はあなたをクビにはしない」という一冊である。それがどのような行動かは、目次からかなりの程度読み取ることが出来る。 目次 - アマゾンキャンペーン 戦略的 クビにならない技術 会社はあなたのココを見ているより 【第1章】「サラリーマン」は気楽な稼業!? 大リストラ時代が

    クビになった方がましかも - 書評 - 戦略的 クビにならない技術 : 404 Blog Not Found
    kicchomu3
    kicchomu3 2009/06/10
  • perl - use encoding; #は黒歴史 : 404 Blog Not Found

    2009年06月08日14:30 カテゴリLightweight Languages perl - use encoding; #は黒歴史 ぎゃあぁぁ length関数で文字列の長さを求める - perl初心者BLOG - Hatena::Group::Perl語の文字数を正確に求めたい場合、use encodingを指定する use encoding;は、jperlなど、かつて存在したL10Nされたperl用に書かれたレガシースクリプトを、モダンperlで動かすときのためのおまじないです。こういう目的で利用すべきではありません。 このあたりのことは、以前 404 Blog Not Found:perl - no encoding; # whenever possible でも書いたのですが、大事なことなのでまた書きます。 スクリプトはUTF-8で書き、use utf8;する のがモ

    perl - use encoding; #は黒歴史 : 404 Blog Not Found
  • tips - Webサーバーの負荷テストならまずab : 404 Blog Not Found

    2009年05月13日16:45 カテゴリTips tips - Webサーバーの負荷テストならまずab だめじゃん。 WEBアプリ開発に便利な機能&負荷テストツール集:phpspot開発日誌 abがないじゃん。 abとは何かというと、apacheに標準でついてくる負荷テストツールの名前。apacheが入っている環境であれば、まず間違いなく入っているはず。 引数なしだと、help表示。 ~% abab: wrong number of arguments Usage: ab [options] [http[s]://]hostname[:port]/path Options are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make -t timelimi

    tips - Webサーバーの負荷テストならまずab : 404 Blog Not Found
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
  • 「○x言語はもう終わり」というプログラマは終わり : 404 Blog Not Found

    2009年02月19日22:30 カテゴリLightweight Languages 「○x言語はもう終わり」というプログラマは終わり これ、 Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG すでにJPAの中の人が完璧に論破しちゃっている FUDを広げるのは誰の得にもならないと思うんだ。 - D-6 [相変わらず根無し] のだけど、お呼びがかかったので蛇足しておくことにする。 まずは各論から。 Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG 言語仕様が汚い。厳格にはサブルーチンの「引数」という概念がないし、変数はすべてグローバルで特に宣言した場合だけローカルになる...というあたりの仕様は、そりゃインタプリタの実装は楽チンだろうけども、美意識(とミスしにくさ)には欠けるよね。 汚いったって英語や日語ほどじゃない。そして英語や日語が汚い

    「○x言語はもう終わり」というプログラマは終わり : 404 Blog Not Found
    kicchomu3
    kicchomu3 2009/02/19
  • perl - Mac OS X - perlをDIYする : 404 Blog Not Found

    2009年02月13日16:00 カテゴリTipsLightweight Languages perl - Mac OS X - perlDIYする 気がつかなかった。 bulknews.typepad.com: Mac OS X Security Update 2009-001 might break your Perl (CPAN) A couple of my friends on IRC have told me this, and since I'm using 10.4.11 I couldn't verify, but the latest Mac OS X Security Update 2009-001 apparently breaks your Perl, if you are using Mac OS X 10.5 (Leopard) and are using

    perl - Mac OS X - perlをDIYする : 404 Blog Not Found
  • perl,javascript and more - evalは最後の武器 : 404 Blog Not Found

    2009年02月08日01:00 カテゴリLightweight Languages perl,javascript and more - evalは最後の武器 うーん、そうなのだけど.... メタプログラミングとは - Perl入門〜サンプルコードによるPerl入門〜 メタプログラミングとはソースコードを生成するプログラミングのことです。メタプログラミングによって生成したソースコードは、eval関数で実行することができます。 evalだけがメタプログラミングの技法ではないし、またevalはその威力ゆえ最後の選択肢とすべきだ。 #!/usr/local/bin/perl use strict; use warnings; use Benchmark qw/timethese cmpthese/; cmpthese( timethese( 0, { eval => sub { no warn

    perl,javascript and more - evalは最後の武器 : 404 Blog Not Found
    kicchomu3
    kicchomu3 2009/02/08
  • 従来のソフトウェアエンジニア人事工学が決定的に間違っている点 : 404 Blog Not Found

    2009年02月06日05:30 カテゴリArt 従来のソフトウェアエンジニア人事工学が決定的に間違っている点 ここまでは、誰もが同意するだろう。 従来のソフトウェア工学が決定的に間違っている点 - kwatchの日記 仕事が高度になればなるほど、属人性は排除できないし、人材の替えはきかない。問題を解決できない人間を100人集めても、問題は解決できない。問題を解決できるのは、問題を解決できる能力を持った人間だけ。頭の悪い大人100人より、すごく頭のいい小学生1人のほうが、成果物が出る。ソフトウェア開発はそういう類いの仕事。 にも関わらず、 ソフトウェア開発も同じような体制にしたほうがいいのではないか。生産性が 30 倍違うのであれば、バカプログラマー 30 人を雇うより、スーパープログラマー 1 人にサポートスタッフ 5 人つけたほうが安くていいものができるだろう。 とならないのはなぜか。

    従来のソフトウェアエンジニア人事工学が決定的に間違っている点 : 404 Blog Not Found
    kicchomu3
    kicchomu3 2009/02/06
  • use Safe; # XS知らなくても大丈夫! : 404 Blog Not Found

    2008年06月30日16:45 カテゴリLightweight Languages use Safe; # XS知らなくても大丈夫! さすがにこの目的のためだけにXS Hackというのは、ハエ退治にパトリオットミサイル撃つようなものなので、キンチョールも紹介しておきたく。 PL_check hack - daily dayflower ゴール #!/usr/bin/perl eval 'print "Hello ' . $ARGV[0] . '!\n"'; とか危険ですよねー*1。こんな機能があるなんてけしからん。ですので,eval の実行を抑制するモジュールを書いてみました。 そのためには、Safeモジュールを使います。Perl 5.02からCOREに入っている由緒あるモジュールです。Malcolm Beattie がBのフレームワークを作った理由の一つが、これを可能にすることでした。

    use Safe; # XS知らなくても大丈夫! : 404 Blog Not Found
  • perl - Const released -- True Readonly : 404 Blog Not Found

    2008年06月27日07:30 カテゴリLightweight Languages perl - Const released -- True Readonly 空前のXSブームにほだされたのか、気がついたら作ってました。 /lang/perl/Const/trunk - CodeRepos::Share - Trac @CPAN (coming soon) 一言で言うと、Readonlyを置き換えるモジュールです。 Readonlyをお使いなら、s/Readonly/Const/gで同じように動くはずです。 Readonlyはないすでだみあんなモジュールですが、実装にtieを用いているため低速です。 ところが、SVには、すでにREADONLY flagが用意されているのです。これを使わぬ手はありません。 実は、Perl 5.8以降では、Internals::SvREADONLY()とい

    perl - Const released -- True Readonly : 404 Blog Not Found
  • 惰訳 - Stanford Commencement by Oprah Winfrey : 404 Blog Not Found

    2008年06月23日18:00 カテゴリ翻訳/紹介Love 惰訳 - Stanford Commencement by Oprah Winfrey 彼女の言うとおり、それが正しいと感じたので。 Oprah talks to graduates about feelings, failure and finding happiness Hennessy学長、理事、教員、親御さん、そして卒業生のみなさん。日はお招きありがとうございます。この素晴らしいひとときを皆様とご一緒できることに感謝します。 まずはちょっとした秘密の暴露から。Kirby Bumpus のことです。実は2008年の卒業生の一人ですが、私が名付け親です。Kirbyが生徒になってから、はじめてキャンパスに入れてもらえたのよ。 Kirbyはとても賢い子でして。誰を知っているかではなく、自分が何者かということで判断してもらいたい

    惰訳 - Stanford Commencement by Oprah Winfrey : 404 Blog Not Found
    kicchomu3
    kicchomu3 2008/06/24
  • $this->get if $you->learn(slow) - 書評 - すぐわかるオブジェクト指向Perl : 404 Blog Not Found

    2008年06月20日01:00 カテゴリ書評/画評/品評Lightweight Languages $this->get if $you->learn(slow) - 書評 - すぐわかるオブジェクト指向Perl 著者より献御礼。 すぐわかるオブジェクト指向Perl 深沢千尋 「すぐわかる」のタイトルに反して、「すぐにわからない人が、すぐではなくあくまで自分のペースでゆっくり学ぶ」のに向いた良書。ウサギタイプではなく、カメタイプの人が Perl を学ぶのであれば、書が第一選択肢となるべきだ。 書「すぐわかるオブジェクト指向Perl」を著者が著したのは、リャマおよびアルパカでは学べなかった読者がいるからだと著者は言う。 添え状より Danさんはブログに「Perlを学ぶ最短ルートはリャマとアルパカを読むこと」と書かれています。同感ですが、ぼくの同僚などはリャマを読ませても飽き

    $this->get if $you->learn(slow) - 書評 - すぐわかるオブジェクト指向Perl : 404 Blog Not Found
  • perl - Convert::BaseN released! : 404 Blog Not Found

    2008年06月17日03:00 カテゴリLightweight Languages perl - Convert::BaseN released! 以前から作ろうと思っていたのですが、最近必要になったので。 /lang/perl/Convert-BaseN/trunk - CodeRepos::Share - Trac @CPAN (coming soon) 早い話、MIME::Base64をはじめとする、Base{2,4,8,16,32,64} encodingの親戚を全てカヴァーするというモジュールです。 きっかけは、こちら。 Kazuho@Cybozu Labs: MIME::Base64::URLSafe 少し前になりますが、CPAN に MIME::Base64::URLSafe を登録しました。URL に Base64 されたバイナリデータを埋め込みたいけど、 +,/,= と

    perl - Convert::BaseN released! : 404 Blog Not Found