目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

perl

テスト駆動開発入門を Perlで写経してみた。7

りんごとみかん FrancオブジェクトとDollarオブジェクトを比較した際に単位が同じでも等値と判断されないように修正します。今回は、refを使用してクラス名を取得し、通貨を判定するようにしています。 lib/Money.pm package Money; use strict; use warning…

テスト駆動開発入門をPerlで写経してみた。 6

再度、すべてに対する等価性 今回やったこと DollarクラスおよびFrancクラスの基底クラスMoneyを作成 equals()メソッドおよび関連メソッドを基底クラスに移動 クラス間の重複を取り除いたので大分すっきりしました。あとはコンストラクタとtimesメソッドの重…

テスト駆動開発入門をPerlで写経してみた。 5

「フランク」に話す DollarクラスをコピペしてFrancクラスを追加しました。本来ならやっちゃいけない変更です。特筆すべきことはないです。 package Money; use strict; use warnings; use version; our $VERSION = qv('0.0.3'); 1; package Dollar; use stric…

テスト駆動開発入門をPerlで写経してみた。 4

今回はインスタンス変数を直接アクセスせずに比較できるように変更しています。ただ、インスタンス変数amountのプライベート化をどうすれば実現できる分からなかったので、運用回避という形をとっています。やろうと思えばアクセスできてしまいます。Perlの…

テスト駆動開発入門をPerlで写経してみた。 3

今回はequals()メソッドを定義してDollarオブジェクト同士の等値性を比較できるようにしています。あと、書き忘れていましたが1回目でis()のactualとexpectedが逆だったので合わせて修正しました。 lib/Money.pm package Money; use strict; use warnings; u…

テスト駆動開発入門をPerlで写経してみた。 2

今回は大した変更をしていません。 lib/Money.pm timesメソッドでDollarクラスを返すよう変更しました。 package Money; use strict; use warnings; use version; our $VERSION = qv('0.0.3'); 1; package Dollar; use strict; use warnings; sub new { my (…

テスト駆動開発入門をPerlで写経してみた。1

xUnitチックにテストが書けるTest::Classなるものがあることを技評の記事*1で知ったので、試してみました。 どうせ試してみるなら、『テスト駆動開発入門』の写経がいいかなと思いやってみました。Ruby、PythonはやったけどPerlは写経していなかったし、それ…

Dancerを試してみた 2

Dancerを試してみた 1 の続き、まだまだ基本事項。連休中は、山に籠もってPCが使えないのでとりあえずの内容を記述します。 HTTPリクエストのハンドリング /locationA に対するGETメソッドに応答するアクションを定義しています。 get '/locationA' => sub {…

Dancerを試してみた 1

PerlCasual#02の懇親会で教えてもらった軽量WEBアプリケーションフレームワーク Dancer(公式サイト: http://perldancer.org/)を試してみました。DancerってRubyのSinatraプロジェクトの移植として始まったみたいですね。Sinatra自体は使ったことないんでよく…

PerlからTwitter APIにアクセスしてみた。

とりあえず、PerlCasual#02を受けてのアウトプット第1弾。PerlCasual#02のライブコーディングに影響を受けてTwitter BOTを作るための前準備としてちょっとしたスクリプトとモジュールを書きました。基本構造はライブコーディングの例を参考にさせていただき…

PerlCasual#02に行ってきたよ。

一部セッションは、初心者向けじゃなかった気がする件について。それはさておき。 今まで自己流でやっていた部分が多かったので、今回基礎的な部分のテクニック等を聞けて勉強になりました。自分自身はCPANで詰まったことは無かったのですが、一般の人は結構…

MooseX::Getoptを使ってみた

Perlスクリプトをコマンドラインから実行する際、引数をパースしてくれる便利なモジュールがあるみたいなので試してみました。今回もしつこく、前回作ったメール送信クラスを使用してメールを送信するスクリプトを作成しました。 #!/usr/bin/env perl use st…

Mooseを使ってみた

Perlでもクラスを書きたいよねってことでMooseを調べてみました。オブジェクト指向の例題にある犬クラスとか猫クラスみたいなのじゃつまらないので、一昨日書いたEmail::SendのラッパークラスをMooseを使って書いてみました。Perldocっぽいものも一応書いて…

Perlでメール送信してみた。ついでにPythonも

ちょっと仕事でメールを送信するスクリプトを書かなきゃいけないみたいなので調べてみました。 Net::SMTP編 とりあえずググってみて、一番最初に見つけた方法がNet::SMTPを使う方法です。ちょっとSMTPサーバとやりとりしているあたりがくどい感じがします。 …

異動

カスタマーサポートから開発の仕事に異動しました。どうやらフロントエンドにPerlをバックエンドにPerlと(微妙に)C++を使ったwebシステムの開発につくようです。 PerlもC++もできれば避けたかったのですが、しかたないです。 人が足りてなさそうなC# + .net…