Perlモジュールのバリデーターと呼ばれるジャンルのモジュールなどをバリデーションという観点ではなく、引数を明示するという観点から整理しました。 バリデーターの種類 バリデーターというものは、一般的に引数が期待される型など(整数か、文字列か、URLか、メアドか等)になっているかどうかをチェックするというものです。特に、Webアプリにおけるフォームから入力されるデータのチェックに活用されることが多いです。そういういった意味から、Perlのバリデーターモジュールはフォーム系と非フォーム系に分類することができます。 フォーム系のバリデーター等 FormValidator::Lite CPAN本にも紹介されている強力なフォームバリデーターです。フォームバリデーターとしては、フォームの型の定義、チェック、エラーメッセージの定義、が必要ですが、やりたいであろうことのだいたいがそろっているモジュールで実
Shawn Moore(Sartak)の講義でした。同時通訳。 感想。 超楽しかった!!sartakがとてもいい人だった!ちょっとした質問でもコード書きながら教えてくれた。 もっとみんな受けたらいいのに!もう終わっちゃったけど! 機能毎に、講義→実習→講義→実習、の繰り返し。 これがとても楽しかった。 1日最後まで楽しくコード書いて過ごせた。 実習の内容も、既にあるテストが通るようにモジュールを作成してテストが通ったら「やったー!」みたいな。 gitに資料があるのでみんな落としてやったらいいよ!ccのライセンスで公開してるので。 きっとtestファイル自体もキレイに書いてあるはずだから見たらいいと思うよ JPAにすごい感謝でした。3日間全部受けておけば良かったと思った。 以下メモ。 Part0: Mooseのコンセプト perl6からいろんなアイディアをもらってる まずはざっくりMoose
UTC 協定世界時とは UTCとは Universal Time, Coordinated のことで協定世界時と訳される。 coordinated は「よく調整された」の意。 世界共通の標準時であり、セシウム原子時計によって刻まれる国際原子時をもとにして常に正確に保持されている。 UTCは世界中で使われる調整された標準時のこと。 世界各国や地域で採用されている標準時は、UTCよりも何時間進んでいるか、何時間遅れているのかでUTC+1(フランスなど)やUTC+9(日本など)のように表記します。 それぞれの標準時は、UTCを基準に進んでいるか遅れているのかを表す GMT グリニッジ標準時とは GMTとは Greenwich Mean Time のことでグリニッジ標準時と訳される。 グリニッジとはイギリスのロンドンにあるグリニッジ天文台のこと。 GMTとUTCは100年間で約18秒のズレが生じる
Web API(WebサービスAPI)をプログラミングで活用するにあたって,ぜひ知っておきたい基礎技術が三つあります。古典的な技術の代表としてSOAPとWSDL,そして昨今急速に普及してきたRESTです。ごく単純に言ってしまうと,前者は「高機能で複雑」,後者は「シンプルで簡単に利用可能」と区別できるでしょう。現時点では,そのシンプルさが多くの開発者に受け入れられたおかげか,REST方式が(先達である)SOAP方式を圧倒しているように見えます*1。 もっとも,だからといってRESTがSOAPよりも優れていると結論付けるのは早計でしょう。昨今では,SOA(Service Oriented Architecture)という言葉に代表されるように,大規模なシステムを「サービス」という単位で構成し,互いに連携し合う設計手法が注目されています。特に,SOAを実現する具体的な基盤技術として注目されている
Railsではデフォルトで設定されるSQLite以外でもMySQLやPostgreSQLといったデータベースを使用することができます。ここでは例としてMySQLを使用する場合に「database.yml」ファイルにどのように設定を記述すればいいのかについて解説します。 1.MySQL用の「config/database.yml」ファイル 2.MySQLのユーザー作成 MySQL用の「config/database.yml」ファイル Railsのアプリケーションを作成すると自動的に「database.yml」ファイルが作成されデフォルトの設定が記述されます。特に指定しない場合はSQLiteを使う前提で作成されるため、他のデータベースを使用する場合はRailsのアプリケーションを作成する時にオプションでデータベースを指定します。 rails new アプリケーション名 -d データベース ra
エントリの続きはこちら→CPANモジュールのアンインストール(改良版) - ヒルズで働く@robarioの技ログ あるCPANモジュール(以下ディストリビューションと呼びます)をアンインストールしてみます。 まずは色々紹介しながら回りくどくやってみます。最後に簡単な方法を紹介します。 消したいディストリビューションを確認 自分が消したいディストリビューションが分からなかったら、 % perldoc -tT perllocal | grep Module # 見た目より速さ優先ならこっち % grep Module `perldoc -l perllocal` でインストール履歴が出ます。perllocal.podにはインストールしたディストリビューションの一覧が時刻と共に記録されていて「昨日インストールしたアレアレ…何だっけ?」という時には割と使えます。 モジュール名とディストリビューショ
LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 なお、Gitの基本的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。
すぐ名前を忘れてしまうのでメモ。Perlではオブジェクトのメソッド呼び出しにおいて、暗黙の第一引数として呼び出し元のオブジェクト情報が渡る。これをinvocantと呼ぶ。 sub method { my $self = shift; } invocantは上記のようにshiftで受け取るのが慣例。クラスから呼び出された場合はパッケージ名が、インスタンスから呼び出された場合はオブジェクトのリファレンスが渡される。 ちょっと調べてみたら、このinvocantというのは英和辞書にもあまり載っていない単語で、「invokeする人」という程度の意味らしい。invokeはメソッドやサブルーチンを呼び出すという意味の動詞だが、原義は「祈祷や儀式により霊的存在を召喚して術者と一体化すること」だそうで、西洋の魔術がルーツらしい。ちなみに、このinvocationにおいて呼び出す対象はイタコが行う口寄せのよう
僕は MacBook を使っていて、昔は iTerm を使っていたけども、現在は標準の Terminal.app + Visor で、どこでもターミナル環境を使っておりますた。 ですが、Emacer たるもの、Shell も Emacs でという思いもあり、どうするべかなーと考えていましたが、一念発起して Shell 環境を整えてみることにしました。 Emacs で使える Shell。 とりあえず、Emacs で Shell を使うには、有名な3つのモードがあります。 Ubuntu Weekly Recipe:第38回 ターミナルソフトウェアにこだわる(2) 上の記事に紹介がありますが、 shell term (ansi-term) eshell の、3つです。それぞれ、M-x でコマンドをうちこむ事で使うことができます。 とりあえず、どれを使うのがいいかという判断は、やっぱり全部使ってみ
今日もまとめ 3章 モジュールの使い方 3.1 標準ディストリビューション ポピュラーなモジュールは、すでにPerlに付属されている 5.003_07 98個 5.8.8 359個 これらを「コアモジュール」または、「標準ディストリビューション」と表す Module::CoreListを使い、コアモジュール数を数えることが出来る 3.2モジュールの使い方 モジュールにはドキュメントが付属されている perldocコマンドで、モジュールのドキュメントを閲覧出来る perldoc File::Basename ドキュメントは、UNIXのman形式 NAMEセクションと、SYNOPSISセクションから始まる SYNOPSIS = 概要 モジュールの使用例を示す モジュールのインターフェイスは様々な形がある モジュールによって使い方は少しずつ異なる 3.3 関数インターフェイス モジュールの読み込
一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する
仕事でMySQLのパフォーマンスチューニングをしていて、インデックスについて分かっていないことが多かったので調べたことをメモ。基本的なところから学習しなおした。 MySQLのインデックスは、カラムが特定の値をもつレコードの迅速な検索に使用される。インデックスを使用すれば、数百とか数億ものレコードが入っているテーブルから、一組のレコードを迅速に見つけて取り出すことが可能になる。 しかし、インデックスは速度を改善することもあるが、挿入の邪魔になって遅くなることもある。 インデックスを適切に使うために、まずはインデックスの基本概念をおさえる必要がある。 インデックスの概念 インデックスとは インデックスの仕組みを理解するには、まずMySQLがどのようにクエリに応答するかを知る必要がある。 例えば、 SELECT * FROM phone_book WHERE last_name = 'Hoge'
ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基本的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの
& COPYRIGHT Adam Thomason Akira Sawada Ben Trott Brad Choate Brad Fitzpatrick Brad Whitaker David Steinbrunner Garth Webb Graham Blankenbaker Jonathan Steinert Keita Jamadam Sugama Kenichi Ishigaki Kevin Goess Mark Paschal Mart Atkins Masahiro Iuchi Mischa Paul Lindner Sekimura Simon Wistow Takatsugu Shigeta Taku AMANO Tatsuhiko Miyagawa Tsuyoshi Watanabe Yann Kerherve ambs ziguzagu NAME Data::Obj
Emacs での文書作成統合環境とでも呼べばいいのだろうか、とにかく多機能な Org-mode をインストールした。基本的な流れは、ダウンロード → make → make install の後、.emacs を編集する。 ダウンロード Ubuntu 10.10 には deb パッケージが用意されているが、6.36c とやや古いので、Org-Mode: Your Life in Plain Textから org-7.3.zip をダウンロードした。 インストール ダウンロードしたファイルを解凍したら、バイトコンパイルで elc ファイルを作成する。 $ make $ sudo make install デフォルトでは "/usr/local/share/emacs/site-lisp" にインストールされる。変更する場合は、Makefile の "lispdir = $(prefix)/s
今日は、emacs で Rails でのコーディングをする上での tips を紹介します。 その名も grep-gems コマンドです。 これを実行することで、/usr/lib/ruby/gems/1.8/gems/ 以下のディレクトリに対して再帰的に grep を実行します。 私はメソッドの定義や、テストプログラムでのそのメソッドの使われ方を調べるときによく利用しています。 正直言って、現在でも Ruby On Rails ではかなり多くのメソッドは、まだ、充分にドキュメントが整備されているとはいえない状況です。 そのため、今でもソースを読み込むことが自分がやりたいことが可能かどうかを調査する一番優れた方法となってしまっています。Rails のソースを全文検索することはどうしても必要不可欠な作業です。 しかしながら、繰り返し行っていると、生産性が落ちます。DRY の原則にも反します。だい
Emacs Lispを手動でインストールする手間をなくすために、自動でインストールするためのEmacs Lisp「auto-install.el」をインストールします。 注意:OSがWindowsの場合は、wgetを使用できる環境にしておいてください。 auto-install.elのインストール auto-install.elを格納するディレクトリを作成する(~/.emacs.d/auto-install) http://www.emacswiki.org/emacs/download/auto-install.elからauto-install.elをダウンロードし、1で作成したディレクトリに格納する C-u M-x byte-compile-fileを実行し、auto-install.elをバイトコンパイルする .emacsに設定を追加する ;; auto-installによってイン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く