あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPerlについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。Perlの場合は cpanm というCPANクライアントでライブラリをインストールする。バージョンの固定とライブラリパスの設定は carton で行う。 https://github.com/miyagawa/cpanminus https://github.com/miyagawa/carton アプリケーションサーバ Webサーバへのインターフェイスとしては、PSGIという仕様がある。PSGIに準拠したツールキットとしてPlack
Perl › 読み物PHPやPerlやRubyやPythonなどのスクリプト言語に対して、変数に型がないということを否定的にとらえる人もいるかと思います。特にC言語やJavaなどの静的言語を使ってきた人にとっては、型がないということが不安材料として目に映ることが多いのではないかと思います。 けれども、型がないということは、本当に素晴らしいことです。型がないことによって、たくさんの面倒から解放されるからです。 どのような型の値でも代入できる まず基本的なこととして変数に型がなければどのような型の値でも代入できるということです。つまり、受け取るときに、どのような型の値を受け取るのかを意識する必要がありません。 my $str = 'Hello'; my $num = 1; my $nums = [1, 2, 3]; my $person = {age => 2, name => 'taro'
Labeled Tab-separated Values (LTSV) format is a variant of Tab-separated values (TSV). Each record in a LTSV file is represented as a singleline. Each field is separated by TAB and has a label and a value. The label and the value have been separated by ':'. With the LTSV format, you can parse eachline by spliting with TAB (like original TSV format) easily, and extend any fields with unique label
About 冨田 尚樹(Naoki TOMITA) トミール とみ丸 #プログラマー #シャーロキアン #ミステリ小説 #忍者Blog Elementary, … Previously on 幼少期、シャーロック・ホームズを師と仰ぎ少年探偵団を組織(しかし事件起きず) holmesプログラマーとしてはPerlコミュニティから多くを学ぶ。OSS活動や #それPla、『CPANモジュールガイド』を上梓。ルー語変換 はルーさん本人もノってくださり盛り上がり、2007年新語・流行語大賞ノミネートperl ボ会で知ったボードゲーム『パンデミック』が面白すぎて日本語版なかったころ勝手に普及活動。後にチャリティーイベントなど開催。司会のため国立感染症研究所でワクチン関連の講義まで受講した eventMMORPGのWorld of Warcraftにハマり、PVPを中心に皆と楽しく過ごす。主なタイ
あとで忘れると面倒くさそうなのでメモ。 話の前提 Nixを使ってCMakeを使ったプロジェクトをビルドしようとすると、時々 CPMFindPackage や FetchContent_Declare を使ったプロジェクトに出くわします。 CPMFindPackage や FetchContent_Declare はプロジェクトの configure 時にネットワークを利用するため、Nixのビルドシステムと相性が悪いのですが、とは言えこれをビルドするにはどうしたらいいんだ?というのが今回のメモです。 解決策 以下の二つをやる。 cmakeFlags に -DCPM_USE_LOCAL_PACKAGES=YES と -DFETCHCONTENT_FULLY_DISCONNECTED=YES を指定するbuild/_deps/${name}-src に依存するファイルを突っ込む まず(1)につ

配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。 最初に書いたコードは、 var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); a.sort( function (a, b) { return Math.ceil(Math.random() * 3) - 2; } ); というもの。sortメソッドは、パラメータに与えられた関数が負の値・0・正の値を返すことによって要素の順序を決定するので、その関数がランダムに値を返せばランダ
プログラマ、と一言で言っても、if文の意味をようやく理解したばかりの駆け出しのプログラマもいれば、汎用的で優れたライブラリを量産できるような凄腕のハッカーもいる、つまりはピンきりです。Perlプログラマに関してはどうでしょう。一流のPerlプログラマになるためには、見えない階段があるようです。use strict を使い始めたらその階段を一歩上ったと言えるでしょうし、正規表現を理解したときも一段あがることになると思います。リファレンス、クロージャ、オブジェクト指向、CPANモジュール、mod_perl、MVCフレームワーク。それらも階段を構成する材料の数々と言えるでしょう。 さて、Perlプログラミング救命病棟という書籍から、ちょっと長いですがそんなPerlプログラマのレベル10のリストを引用してみます。 レベル1:Perl 関係の書籍や資料を何も読んでいない。Perl がプログラミン
日曜は、Plagger を初めてちゃんとさわってみました。 Plagger の概略は、miyagawaさん自身による このYAPC::NAのPDF がわかりやすいです。要するに、 『ネットからフィードを集める → (ごにょごにょする) → 出力する』をするものです。 この「集める」や「ごにょごにょ」や「出力」の部分に、ブロックを重ねるようにしてモジュールを重ね、自分の好きな起承転結にできるという点が実にPerl ぽい着想です。風がふけば桶屋がもうかるフレームワークと呼んでいます。 Subscription::Bloglines / Publish::Gmail まあ、まずは普通に使ってみようということで、「Bloglines から集める」→ (エントリごとに分割、RSS 広告除去、本文の内容をできるだけ収集→Bloglines、Delicious へのリンク付与、はてブ登録数付与) →
0xcc.net ToolsText Escaping and Unescaping inJavaScript Software ttyrec: a tty recorder pdumpfs: a daily backup systemsimilar to Plan9's dumpfsRuby/Romkan: a Romaji/Kana conversion library forRubyRuby/Bsearch: A Binary Search Library forRubyRuby/ProgressBar: AText Progress Bar Library forRuby Contact Satoru Takabayashi
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く