You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
あけましておめでとうございます。 昨年は JS くらいしか書いてないような気がするので Perl +TDD で年始め。 題材には これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE の問題を流用します。文量がありますが良記事なので、未読の方は一度読んでおくと良いです。(Perl環境は用意されているとします) 今回利用するモジュールとかツールとか Test::Harness ... テストを実行するコマンド prove を利用できるようにする App::Cpanminus ... CPANモジュールをインストールするコマンド cpanm を利用できるようにする Carton ... 開発するディストリビューションで依存するモジュールを管理するツー
Test::mysqld::Multiというモジュールを書いてみたみたいな涙ぐましい努力により5分で終わるようになったテストですが、 プロジェクトのコードも増えて人も増えた影響で、 テスト時間が約7分まで伸び、テストのキューに10個近く並んで順番待ちさせられるという状況になってしまいした。 この状況を解決すべく go-prove というものを書いてみたので、そのご紹介です。 proveが遅い理由 proveがテストの結果を読むところがブロッキングI/Oになっているらしく、そのせいで遅くなっているらしいです。 Perl-Toolchain-Gang/Test-Harness#30 実際に結果読んでいるところはこの辺ですかね。 selectとか使っていてなるべくブロッキングしないような作りにはなっていそうですが、どこかでブロッキングしてしまっているようです。 今のプロジェクトだと32コアのCP
Perlの単体テスト、特にMockObjectを使ったテストについての情報が少ない気がするのでまとめてみる。 前提 モジュールは、CPAN形式であると前提。雛形は、Module::Starterで作成すると良い。 テストは、Test::Perl::Criticを入れる。 インストール $ sudo cpan Module::Starter $ sudo cpan Module::Starter::PBP $ sudo cpan Test::Perl::Critic 初期セットアップ $ perl -MModule::Starter::PBP=setup モジュールの作成 $ module-starter --module=Ysm::Example $ cd Ysm-Example $ ls Build.PL Changes MANIFEST Makefile.PL README ignor
Perl › データベース › here CentOS上でPerlのDBIを使ってSQL Serverに接続する手順です。FreeTDS, UnixODBCというUnix(Linux)のライブラリとPerlのDBD::ODBCモジュールを適切にインストールし設定する必要があります。 (試した環境はCentOS release 5.5 (Final)。この記事はRed Hat Enterprise Linux, Fedoraでも有効であるかもしれません。また他のLinuxディストリビューションでも有効であるかもしれません。SELinuxを無効化しておかないと、インストールがうまくいかないかもしれません。ソースからインストールするのでgccなどの開発ツールは事前にインストールされていることを想定しています。) 接続のイメージを書くと以下のようになります。 DBI - ODBC(通信にFreeT
onagataniです こんにちわ。 今回から数回に分けて自分のお勧めするモジュールを紹介したいと思います。 内容がモダンじゃない!と思う方もいるかもですが自分の好きなモジュールを紹介しますので最新の技術が知りたい方は見ないように...。 一回目は「Class::Accessor::Fast」です。 これはなにかというとPerlでアクセサを自動生成するモジュールです。 たとえば、下記のような場合にとても便利です。 MyClass.pm package MyClass; use strict; use warnings; sub new { my ($class, $args) = @_; my $self = { address => $args{address}, blog => $args{blog}, }; return bless $self, $class; } sub addr
Each programmer will, of course, have his or her own preferences in regards to formatting, but there are some general guidelines that will make your programs easier to read, understand, and maintain. プログラマは、もちろん人それぞれ、フォーマットには好みがあるでしょう。 しかし、いくつかのガイドラインに従うことによって、プログラムの可読性や 保守性をあげることができます。 The most important thing is to run your programs under the -w flag at all times. You may turn it off explicitly
Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々本当に面倒なことになります。 use strict;とuse wa
Perlで、DBIモジュールを使って、データベースをアクセスするプログラムの作成方法についてまとめてあります。 データベースは、PostgreSQLを使っています。 DBI/DBDについて DBI/DBDモジュールは、Perlで各種データベースをアクセスするためのモジュールです。 DBIモジュールは、データベースに依存しない処理モジュールで、DBDモジュールは、各データベース毎に依存する処理モジュールです。 ここでは、PostgreSQLのDBDモジュールを使っています。 Perlスクリプト | DBIモジュール | +--------+--------+ | | PostgreSQL対応 ORACLE対応 DBDモジュール DBDモジュール | | PostgreSQL ORACLE データベース データベース
> 多分そのように思います。(「.cgi」や>「.pl」拡張子は、CGIスクリプト。という> 覚え方であっていればですが。 .plはシェルのコマンドラインで起動するファイルにも 使いますのでなんともいえませんが、 .cgiという拡張子ならまあCGI用でしょうね。 日本語のドキュメントがあるかどうかわかりませんが、 CGI::Carpには、メッセージの出力先を切り替える メソッドがあります。 ちょっと引用すると The carpout() function requires one argument, which should be a reference to an open filehandle for writing errors. It should be called in a "BEGIN" block at the top of the CGI application so t
前回の記事の続きで、口頭説明の補足資料として公開する。 Ubuntu環境でPerlを書く人向けのやつ。 今回はこの2つのプラグインについて紹介する。 watchdogs.vim Unite.vim watchdogs.vim 概要 開いているファイルのシンタックスチェックができるプラグイン。 導入方法や詳しい使い方は、作者による解説記事が詳しい。 ここでは、ちょっと特殊なPerl向けの設定方法を紹介する。 個人的には、Perl以外にはSyntasticを使っている。 Perlは業務で使用しており規模が大きく、Syntasticの同期的なシンタックスチェックだとかなりストレスが溜まるため、非同期実行できるwatchdogs.vimを使用している。 (NeoVim向けにNeomakeというプラグインが出ていて気になっている。) 入れるプラグイン NeoBundle向け NeoBundle 'S
KCatch.pm は Perl CGI で発生する Internal Server Error を補足して、 エラー内容を HTML としてブラウザ画面に表示してくれるモジュールです。 エラーの発生した行番号なども表示されるので、サーバ上での開発に最適です。 安定版ダウンロード: KCatch-1.13.tar.gz TAR.GZ (2002/07/01版) 開発版ダウンロード: KCatch.pm SVN (CodeRepos) CodeRepos にソースを移動しました!(2007/12/23) KCatch.pm のもっとも簡単な使い方 KCatch.pm のより適切な使い方【オススメ】 KCatch.pm の主なオプション 頻出エラーメッセージ マニュアル 英語版 (Ver.1.13対応) マニュアル 日本語版 (Ver.1.10対応) KCatch ニュース KCatch.pm
独自のモジュールを読み込ませて cron を実行するとエラーが出る場合がある。 原因は cron が実行する際のディレクトリが、cron の実行ユーザーのホームディレクトリになるため、任意のディレクトリを @INC に設定していてもエラーが発生する。 モジュールの場所を絶対パスで指定すれば、エラーはなくなるが、可搬性が失われてしまう。 エラーの内容例 % pwd /home/littlebuddha % perl -wc ~/perl/myscript.pl Can't locate My/Module.pm in @INC (@INC contains: /Users/littlebuddha/local/lib/perl5/darwin-2level /Users/littlebuddha/local/lib/perl5 /Users/littlebuddha/local/lib/pe
この記事は Vim Advent Calendar 2012 の22日目の記事です. 21日目は @AmaiSaeta さんの 「このVim plugin達に感謝しなければ年を越せない!私が今年使い倒した2012年のベストを全部ご紹介! 」 でした. 最近,Vim Scriptを書き始めていて, 今回は,Perl的に便利なVim Pluginを2つ書いたのでご紹介します. unite-perl-module.vim GitHub y-uuki/unite-perl-module.vim unite-perl-module.vim はClass::Acceccor::Liteなどのモジュール名をUniteのインタフェースで検索し,選択したモジュール名をカーソル位置に書き込むPluginです. Linda_pp先生のunite-ruby-require.vimを参考にして作りました. 機能は以
概要 PerlのTest::Moreについて簡単にまとめます 入門の入門なので短く簡潔に PerlのTest::Moreについて Perlでテストするためのデファクトスタンダードとも言えるモジュールです ちなみに Test::Simple(Test::Moreよりも機能を絞った簡素なモジュール) Test::Most(Test::Moreでは機能が物足りないと思った人向けのモジュール) もありますがこだわりがないのならばとりあえずTest::Moreで良いかと思います 使い方 Test::Moreを使ったテスト例 一般的にテストファイルはtディレクトリに入れてファイル名は*.tらしい $ cat t/MoreTest1.t #!/usr/bin/perl use strict; use warnings; use Test::More; my $flag = 1; ok($flag); #
@tokuhirom です。Perlを書き始めて8年ほど経ち、Perlで何か作る際の効率化の手法がそれなりに確立してきたので、それを思いつくままに紹介しようと思います。主に多言語から来てPerlにほどんど慣れてない方などを想定しています。 僕の秘伝のタレ的な .vimrc の中から perl に関係ある部分だけをぬきだしてお教えしましょう。すべて設定すればだいぶ快適になりそうです。とかかいてると教えるのもったいない気分になってきた。 ぼくの環境 僕は vim の環境として以下のようなものを指定しています。mattn さんからは DIS られがちです。 neosnippet unite.vim pathogen vim-perl プロジェクトの成果物をつかう https://github.com/vim-perl/vim-perl なんか最近、perl-vim から vim-perl にかわ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く