タグ

ブックマーク / gihyo.jp (211)

  • 第29回 Test::Base:データ本位のテストをするときは | gihyo.jp

    テストは実行する前にも数えられるはず 前回、前々回と見てきたように、Test Anything Protocolでは来ひとつひとつのテストに連番が割り振られます。新しいテストを追加したければ、テストファイルの末尾に移動して、テスト番号をひとつずつ増やしながらテストを書き進め、終わったら先頭に戻って宣言部を更新する。先頭に戻るのが面倒であれば宣言部を末尾に移してもよいですが、いずれにしてもテストを追加し終わった時点でテストの件数はわかっているのですから、更新に困ることはないはずでした。 ところが、Perl 5の時代に入ってテスト用のモジュールが連番を振ってくれるようになった結果、テストの件数がわかりづらくなったため、no_planやdone_testingのように実際にテストを実行した回数をテストの総数とみなす手法が登場した――というのが前回の話でしたが、そういった妥協案は、Test An

    第29回 Test::Base:データ本位のテストをするときは | gihyo.jp
    gfx
    gfx 2010/04/05
    モダンPerl#29 / Test::Base使ったことないなあ
  • 第28回 Test::More:no_planからdone_testingへ | gihyo.jp

    計画的に実行するのはよいことですが 前回も紹介したように、Test Anything Protocolでは「これから10個のテストを実行します」と宣言する場合はこのように書くことになっていました。 use strict; print "1..10\n"; # 宣言部 for (1..10) { print "ok $_\n"; } このような宣言部の存在は、テスト結果をパースして分析するTest::Harnessのようなツールにとっては非常に便利なものですが、たとえば環境によってテストの数がかわるとき、あるいはテストファイルが非常に長くなってきたとき、はたまた多くの人が平行してファイルやテストの追加作業をしているため最後にマージするまでテストの数がわからないとき、事前にテストの数を把握していなければならないというのは、大きな制約にもなりえます。 単純そうに見えるTest Anything

    第28回 Test::More:no_planからdone_testingへ | gihyo.jp
    gfx
    gfx 2010/03/25
    モダンPerlの世界へようこそ#28
  • #23 えとらぼ 衛藤バタラ、廣瀬正明、大沢和宏、松野徳大 | gihyo.jp

    2006年4月以来、4年間に渡った連載、今回で最終回となりました。トリを飾るのは、写真ストレージサービス「Ficia(フィシア)」を開発しているえとらぼ(⁠株⁠)代表取締役の衛藤バタラさんと開発部の廣瀬正明さん、大沢和宏さん、松野徳大さんです。少数精鋭を地でいく面々に、会社の生い立ちからインタビューが始まりました。 撮影:武田康宏 新たに会社を始めた理由 弾:連載でいろんな方をインタビューしてきたんですけど、バタラさんはたぶん僕と一番境遇が近いんですよ。上場させた会社でCTOをやって[1]⁠、そこを辞めて。その後は、僕は1人で好きなようにやってますけど、バタラさんはまた会社を始めましたよね。その理由は? 衛藤バタラ(以下、バ⁠)⁠:会社というより、サービスを作りたかったんです。世の中にあるいろいろな写真ストレージサービスを見ていると、こうだったらいいのにと思うことがあって、それを形にす

    #23 えとらぼ 衛藤バタラ、廣瀬正明、大沢和宏、松野徳大 | gihyo.jp
  • 第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp

    Test Anything Protocol Perlは非常にテストを重視している言語です。連載第14回ではPerl体のテスト数がどのように推移してきたかを、また連載第24回ではCPANモジュールの品質保証に大きな役割を果たしてきたCPANTSについて簡単に紹介しましたが、Perlとテストのつながりはそれだけではありません。CPANにはTestを名前に含むディストリビューションが500以上もあがっていますし(これは全ディストリビューション数の約2.5%にあたります⁠)⁠、Perlで標準的に使われているテスト形式はTest Anything Protocol (TAP)という名前を得て多くの言語に移植され、2008年からはIETFの標準化を目指した活動も始まっています――というと何やらすごいプロトコルのように聞こえるかもしれませんが、Test Anything Protocolというのは要

    第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp
    gfx
    gfx 2010/03/08
    Test::Most
  • 第1回 買物をするときの傾向と分類4パターン+節約×データ分析型のホワイトデー対策 | gihyo.jp

    みなさんこんにちは。love_chocolateと申します(長いので、周りの人にはチョコさんとかチョコ姉とか呼ばれてます⁠)⁠。 なんとなくおわかりの通り、私はチョコレートが大好きです。 チョコレート好きは昔からで、学生時代には、某大手製菓メーカーで採用数400~500分の1という(蓋を開けたら)超狭き門をくぐり抜け、チョコレートの新製品開発マーケティングモニターチームで、実際に商品を製品化するまでの間、レポートを出したり意見を言ったりなどのお手伝いをするという超レアバイトをしたこともあります。 マニアにはほど遠いですが、普通の人たちよりはだいぶ過剰な比重で、日々、チョコレートのことを考えながら暮らしています。 いったい何をあげればいい? さて、題に入りますが、ホワイトデーって……ぶっちゃけ…面倒ですよね。 義理で渡されるチョコなんて、別に、どうしても欲しいものじゃないのに、空気を読む日

    第1回 買物をするときの傾向と分類4パターン+節約×データ分析型のホワイトデー対策 | gihyo.jp
    gfx
    gfx 2010/03/04
    なんぞこれ…w
  • 第26回 ShipIt:モジュールのリリースをもっと手軽に | gihyo.jp

    CPANにモジュールをアップロードする前に 第23回から続けてきたシリーズの一環として、今回はモジュールをCPANにアップロードするときのツールをまとめてみます。おそらくこのようなツールに興味を持つような方なら当然 perlnewmod や perlmodlib、あるいはCPANやPAUSEについてのよくある質問のページ[1]くらい読んでいるでしょうから大丈夫だろうとは思っていますが、今回とりあげるツールは使い方を間違えると周囲に多大な迷惑をかける可能性があります。一度CPANにアップロードされたファイルは、たとえミスであっても数日中には世界中のミラーにコピーされますし、BackPANと呼ばれる保管庫には半永久的に保存されますので、うっかり無意味な(あるいは部外秘の)モジュールを公開してしまうことがないよう、また、ほかの人の迷惑になるような名前空間を占有してしまわないよう、実際に試してみる

    第26回 ShipIt:モジュールのリリースをもっと手軽に | gihyo.jp
    gfx
    gfx 2010/02/23
    RT @gihyojp: モダンPerlの世界へようこそ「第26回 ShipIt:モジュールのリリースをもっと手軽に」by @charsbar 公開
  • 第3回 勉強会に行ったら世界が広がりました | gihyo.jp

    連載では、現在執筆中の技評SE選書には掲載していない、オリジナルのコンテンツをお届けしています。IT技術者が勉強をする場合のゴールとして、技術を身につけて自由自在にその技術を使えるようにする、というものがあると思います。今回はそれとは別の到達点として「転職」を取り上げたいと思います。勉強会を通じて適職を見つけ、転職をした人が周りに何人もいます。彼らを見てみると、転職が成立した条件として、次の3項目の共通項がありました。 実力、もしくは将来のための勉強の習慣を身につけた 自分の実力や将来性をきちんとアピールできた 受け入れ側のニーズとマッチした 今回は、勉強会に参加し転職のチャンスを掴んだお二人と、その転職先の社長さんを加えた三人の方々に、勉強や勉強会について語っていただきました。話に夢中で写真を撮り忘れました。文字ばかりですみません。 佐藤治夫さん(twitter:@haru860)株式

    第3回 勉強会に行ったら世界が広がりました | gihyo.jp
  • 第25回 Module::Starter:モジュールを書くためのテンプレート | gihyo.jp

    モジュールを再利用可能にするためのツールたち Perl 4の時代まではいざ知らず、いまどきPerlのモジュールやアプリケーションを再配布しようと思ったら、CPANモジュールと同じ形式にしておくのがベタープラクティスです。たとえ一般には公開しない社外秘のモジュールであっても、Makefile.PLやBuild.PLを用意して、テストも書いて、できればREADMEやChangesなどの更新履歴もつけておけば、別のプロジェクトを立ち上げたときにコピー&ペーストする必要もなくなりますし、業務の引き継ぎなども簡単になります。 とはいえ、モジュールを書くたびにMakefile.PLなどを一から書きおこすのは面倒な話。メタ情報の部分はモジュールごとに異なるとはいえ、それ以外の部分は(特にひな形の時点では)大差ないのがふつうですから、できれば省力化したいところです。 今回はそんなときに使われるひな形作成ツ

    第25回 Module::Starter:モジュールを書くためのテンプレート | gihyo.jp
    gfx
    gfx 2010/02/08
    ディストリビューションのテンプレ
  • 2日目(その1)グレッグ・ミシェリ氏による基調講演、中村勇吾氏「映像とプログラミング」、城戸雅行氏「[Flash]アイデアの実装:コントロールと最適化」 | gihyo.jp

    「Adobe MAX Japan 2009」詳細レポート 2日目(その1)グレッグ・ミシェリ氏による基調講演、中村勇吾氏「映像とプログラミング」、城戸雅行氏「[Flash]アイデアの実装:コントロールと最適化」 日は、1月30日前半の「Adobe Max Japan 2009」のレポートをお届けします。 基調講演 2日目10:00、日の基調講演が開演。ダイナミックな3CGプロモーションムービーから始まり、Adobe ディレクター・プロダクトマネジメント グレッグ・ミシェリ氏が登場。ミシェリ氏は昨日を振り返えった後、3つのフェーズ、Design・Development・Deploymentに分けて、製品を紹介していくことを明かした。 写真1 Adobe ディレクター・プロダクトマネジメント グレッグ・ミシェリ氏 エコツアーズでみる、Design・Development・Deploymen

    2日目(その1)グレッグ・ミシェリ氏による基調講演、中村勇吾氏「映像とプログラミング」、城戸雅行氏「[Flash]アイデアの実装:コントロールと最適化」 | gihyo.jp
    gfx
    gfx 2010/02/05
  • 第1回 Box2Dを使ってみよう | gihyo.jp

    Flash Player 10のプレリリースが発表され、ますますActionScript3界隈が盛り上がる今日この頃、皆様いかがお過ごしでしょうか? この連載では、Box2Dという物理エンジンを使ったActionScript3プログラミングについて解説します。物理エンジンといっても、難解な数学や物理法則を理解する必要はありません。そういった処理はBox2Dが包み隠してくれます。Flashのデモを見ながら、少しずつBox2Dの使い方を理解していきましょう。 第1回ではまったくプログラムは書かず、Box2Dに付属しているサンプルをコンパイルして実行します。まずは動くものに触ることで、物理エンジンって楽しそうだなと思っていただければ幸いです。 なお、筆者の開発環境がWindowsなので、諸々の説明がWindows前提となってしまいますが、Mac OS Xなどでも開発することはできます。その際は、

    第1回 Box2Dを使ってみよう | gihyo.jp
  • #22 Gitメンテナ 濱野 純 | gihyo.jp

    今回のゲストは、分散バージョン管理システムGitのメンテナで『入門Git』(⁠注1)の著者、濱野純さんです。Linuxカーネルの開発者、Linus Torvaldsさんから引き継いでGitのメンテナになった経緯から、対談スタートです。 (撮影:武田康宏) Gitに関わった経緯 弾:Gitに関わったきっかけは? 濱:2005年の4月にLinuxカーネルのバージョン管理システムとして使われていたBitKeeperが使えなくなる[2]からということで、Linus君がいろいろありものを探したんだけど、使えるものがなくて、誰かがいいのを作ってくれるまでのつなぎというつもりで、とりあえず自分でもコードを書いた、というアナウンスをしました。それをカーネルメーリングリスト(ML)で見ていたんですが、たまたまボクの業がプロジェクトプロジェクトの合間だったんです。なんかおもしろそうなこと始まってるじゃん、

    #22 Gitメンテナ 濱野 純 | gihyo.jp
    gfx
    gfx 2010/01/27
    "1,200行くらいから始まるこのプロジェクトなら今から入ってもおもしろいことができるかな,って"
  • 第24回 CPAN:Perl界の水先案内人 | gihyo.jp

    CPANが生まれるまで その昔、Perlのスクリプトやライブラリは作者のサイトなどから個別にダウンロードしてくるものでした。古くからのユーザであればcgi-lib.plやjcode.pl、mimew.plといったライブラリのことを懐かしく思い出すでしょうし、いちいち名前はあげませんが、CGI経由で(あるいはCGIを利用せずに)実行できる各種スクリプトを落としてきて設置したことのある方も少なくないことでしょう。ライブラリだけでなく、前回紹介したデータベースに対応したPerl 4バイナリや非Unix環境向けのPerlバイナリの場合も同じです。入手先の情報などはニュースグループで共有されていましたが、ツールやライブラリが各地に分散していると必要な情報を探して環境を構築するだけでも結構な手間になってしまうため、まとめサイトとして誕生したのがCPANことComprehensive Perl Arch

    第24回 CPAN:Perl界の水先案内人 | gihyo.jp
    gfx
    gfx 2010/01/25
    CPAN:Perl界の水先案内人
  • 第23回 Module::Build:MakeMakerの後継者を目指して | gihyo.jp

    今年もよしなにお願いいたします 連載第18回ではlocal::libの話題を取り上げましたが、今回はそのときにもちらと紹介した、モジュールをインストールするときに利用するいくつかのモジュールについて簡単にまとめてみます。 ExtUtils::MakeMakerが生まれるまで Perlがバージョン3でコンパイル時にユーザ独自のライブラリを組み込んで体機能を拡張できるようになったとき(1990年⁠)⁠、おそらくもっとも喜んだのがデータベースを使っていたユーザでした。彼らはいそいそと自分の使っていたデータベースのライブラリをPerlに組み込み、それとわかる名前をつけて公開しました。当時の記録によれば、Oracleに対応したOraperlやPostgreSQLに対応したPgperlなど、データベース関連だけで8つないし9つの専用Perlがあったようです[1]⁠。 でも、このアプローチには問題もあ

    第23回 Module::Build:MakeMakerの後継者を目指して | gihyo.jp
    gfx
    gfx 2010/01/12
    MakeMakerの歴史
  • 2010年のArk | gihyo.jp

    あけましておめでとうございます。面白法人カヤックの村瀬です。 はやいもので、Arkの開発をはじめてもうすぐ1年になります。2年目の今年はよりいっそう使いやすいフレームワークにしていきたいと考えています。 ●Arkとはカヤックが開発しているPerlによるWebアプリケーションフレームワーク。Catalystライクなディスパッチャー、軽快な動作、HTTP::Engine対応という特徴を持つ。主に社内用フレームワークとして開発していたものだが、最近では、Ark Jobeetチュートリアルなど、対外的なドキュメントにも力を入れはじめている。 リリース年であった2009年は基的な機能を提供してきました。2010年前半は、今後のWebアプリケーションに必要とされるであろう機能を追加し、より汎用的なアプリケーションを目指す予定です。 モバイル対応 社内ではArkを使って位置情報を使ったモバイルサービス

    2010年のArk | gihyo.jp
    gfx
    gfx 2010/01/03
  • 2010年のJavaScript:「これまで」と「これから」 | gihyo.jp

    2010年のJavaScriptと題しまして、JavaScript周辺の「これまで」と「これから」についてまとめてみたいと思います。 2009年までのJavaScript JavaScriptは各ブラウザベンダなどが個別に実装するという特殊性から、ブラウザ(実装)ごとの非互換性の問題に悩まされ続けてきた言語です。まず、そのJavaScript歴史を簡単に振り返ってみます。 ECMA-262 3rd editionとスピードコンテスト JavaScriptNetscape社によってLiveScriptという名前で誕生し、その後ECMAScriptとして標準化が進みました。1999年12月にECMA-262 3rd editionが策定されてから、Internet ExplorerのJScript、MozillaのSpiderMonkey(TraceMonkey⁠)⁠、SafariのJav

    2010年のJavaScript:「これまで」と「これから」 | gihyo.jp
    gfx
    gfx 2010/01/02
    JavaScriptに"use strict"が搭載!?
  • 第22回 Mojolicious::Lite:本当に簡単なウェブアプリがあればいいときは |gihyo.jp … 技術評論社

    あれから1年 Mojoについては2009年1月1日から4回にわたって特集記事を連載しました。ちょうど執筆を開始した直後に作者リーデル氏が不幸な医療事故にあい、一時はどうなることかと思いましたが、連載を終了する直前に開発続行の宣言が出て、ほっとしたのをよく覚えています。 あれから1年。Mojoを取り巻く環境はずいぶん変わりましたが、いま、Mojoはいったいどうなっているのでしょうか。今回は今年最後の記事として、Mojo界隈の近況をお届けすることにします。 大きく変わったといわれていますが…… 昨年12月にバージョン0.9に到達したMojoは、途中事故の後遺症で開発が停滞した時期はあったものの、この1年でかれこれ30回以上のリリースが行われたことからもわかるように、いまもなお着実に開発が続けられています。この「ベータテスト」期間中にいくつか後方互換性が失われる変更があったため批判を浴びたことも

    第22回 Mojolicious::Lite:本当に簡単なウェブアプリがあればいいときは |gihyo.jp … 技術評論社
    gfx
    gfx 2009/12/28
  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
    gfx
    gfx 2009/12/01
  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
    gfx
    gfx 2009/11/16
    モダンPerl 20 - Email::Sender
  • 第24回 Rackとは何か(2)Rackの使い方 | gihyo.jp

    前回の記事では、Rackとは何かについてを、Rackが生まれた背景を交えてご紹介しました。今回は、Rackを実際に使ってみるにはどうすればいいのかを実際に作りながら解説します。 rackupとRack::Builder 前回の記事の最後で、アプリケーションの他にconfig.ruというファイルを用意し、rackupといういうコマンドを使ってアプリケーションを起動しましたが、これについてもう少し詳しく説明したいと思います。 実は、単にRackアプリケーションを起動するためだけであれば、config.ru(rackupファイルと呼びます。拡張子のruはおそらくrackupの略でしょう)は必要ありません。Rackの入門記事等で目にしたことのある方もいるかもしれませんが、以下のようなコードをファイルの末尾に書き加えるとsimple_app.rb単体でアプリケーションを起動することができます。 if

    第24回 Rackとは何か(2)Rackの使い方 | gihyo.jp
    gfx
    gfx 2009/11/09
    Rackとは何か(2) (via @gihyojp)
  • 第19回 Who's Who on IRC:Perl界の紳士録(IRC編) | gihyo.jp

    あの人はだれ? Perlの世界でいちばんホットな話はIRCでかわされている、ということを知っていくつかのIRCチャンネルに入ってみたはいいものの、そこで話をしているのがいったいだれかわからない、という経験はだれしも一度はするもの。なかにはIRC上でのニックネームとCPAN/PAUSE ID(と名)が同じ、という人もいますが、さまざまな事情からIRCとCPANでは似ても似つかぬ名前を使っているという人も(筆者を含めて)少なくありません。 今回はそんな「だれがだれだかわからない」「⁠業界の勢力図を知りたい」という悩みや希望にお応えして、おもにIRC上のPerl関連チャンネルでよく見かける人をPAUSE IDつきで簡単に紹介してみます。人選については、筆者が入っているいくつかの英語チャンネルの過去ログから、今年特に活発に発言していた人を機械的に抽出してみました。 マップにするとこんな感じ 単純

    第19回 Who's Who on IRC:Perl界の紳士録(IRC編) | gihyo.jp
    gfx
    gfx 2009/11/02
    モダンPerl-19