Moose & Mouse基本文法最速マスターをperl-mongers.orgへ寄稿しました

| コメント(2) | トラックバック(1)

二ヶ月弱のご無沙汰でしたが、あ、ありのまま起こったことを(略)。

MooseMoose Quick-Ref Cardというクイックリファレンスカード(チートシート)へネイティブトレートによるヘルパーメソッドだけ追加して今風にするつもりで私家版チートシートを書いていたら、いつの間にか「Moose & Mouse基本文法最速マスター/The Fastest Way to Mastering Moose & Mouse」になってしまいました。

下書きをしていたら流行りの「基本文法最速マスター」のような内容になったので、折角なので各種の情報を参考にしつつ、説明文などを追加して公開してみました。「基本」文法でないものも少なからず混じっていますが、副産物なのでご容赦ください。また、Moose用語は可能な限り元の英語を併記していますが、Moose用語以外の英語への訳出はいい加減です。ごめんなさい。

誤っている点, ご不明な点, 冗長すぎてかえって初学者を混乱させかねないため削除すべき点などがありましたら、上記記事へのコメントやトラックバックなどでお寄せいただければ幸いです。適宜改訂します。また、CC-BYライセンスなので、「とても見ていられないので俺が全面的に書き直してしまえ」という企ても歓迎です。

公開場所の選定基準

出来上がったものをどこに晒そうか迷ったのですが、Perl界隈にはせっかくperl-users.jpperl-mongers.orgという素敵なサイトがあるので、この場末ドメインのブログではない公の場に寄稿すことにしました。

昨年末にYappoさんにCodeReposのコミット権をいただいたのでperl-users.jpの方に書こうかとも考えましたが、

  • ブログだとコメントやトラックバックなどを受け付けられ、perl-mongers.orgではすぐにでもブログ記事を書ける
  • 今回のネタはperl-users.jpの単独コンテンツほど精錬されていないように思えた

などの事情に鑑みて、今回はperl-mongers.orgにお世話になることにしました。

苦心したこと・書くまで気付かなかったこと

  • 何と言うこともないものですが、アトリビュート構築オプションを分類して記述してみました。羅列すると圧迫感を感じるのは人間として無理からぬことだと思うので、或る程度の関連性のあるものを小分けにしてまとめています。
  • ネイティブトレートの引数と挙動を書きました。absを使ったことがなかったため、アトリビュートの値を汚すことは知りませんでした。
  • 「設定」と「指定」の使い分け。アトリビュートの値をセットすることを(defaultなどでセットされること)を「設定」・コードに各種のメタ操作を定義すること、記述することを「指定」と書いていますが、結構曖昧ですね......。「格納」と「記述」とかでも良かったかも知れません。
  • 「オブジェクト」と「インスタンス」の使い分け。これも微妙ですが、an objectとan instance of a classの関係を気にしました。
  • handles指定時にisa指定が必須であることなどは知りませんでした。私は「Moose入門研修」で「型は動的チェックなので、多用すると遅くなる」というお話を伺ったにもかかわらず偏執狂的にisaをほぼ必須指定しているので、なかなか気付きにくい仕様でした。

余談

CodeRepos.orgやLivedoor.comのOpenIDだとサインイン出来なかったので(原因は追えていません)他の方を参考にMyOpenID.comにアカウントを作ったり、MarkdownフォーマットだとWide character in subroutine entryエラーが出たので素のフォーマットで書いたりと、色々ありました。

そしてさらに、細かな修正を行おうとしてもmt.cgiがしばらく503になって再ログイン出来ない状態を引き起こしてしまいました(当日の昼には復帰していました)。何か私が悪いことをしてしまったか心配です。ごめんなさい。

ということで、取り急ぎtwitterでvkgtaroさんへお詫びというかご報告というかを差し上げました。

目次(完全版)

目次が膨大すぎるとかえって読む気が失せそうなので、先方には簡略版の目次だけ掲げています。当初書こうとしていた目次は、もう少し階層を深く掘った以下のようなものです。単語だけ眺めると、Mooseのイロハは網羅できているのかな、と思っています。

role_type, duck_type, 無名型, handlesにロールを渡した場合の挙動, DEMOLISHALL, Moose::Exporter等々の記述を省いたくせにカリー化辺りが入っているのは私の独断と偏見によります。

Parameterized TypesがMoose 0.26+であるとか、かなり昔から存在する機能についてはバージョンを明記しないようにしています。ただ、その閾値の見極めは難しいです。

トラックバック(1)

「文法最速マスター」というタイムリーなネタに半ば悪のりしてしまいましたが、はてブ... 続きを読む

コメント(2)

おそらくは FastCGI 周りの問題だと思うんですが、原因を追ってみようと思います。 記事のポストと不具合のご連絡ありがとうございました!

コメントする

筆者"Gardejo"について

  • Twitter: @gardejo
  • GitHub: gardejo
  • CodeRepos: gardejo
  • CPAN: MORIYA

このサイトについて

Eorzea System Worksは、架空のシステム開発結社です。

FF14.name (FinalFantasyXIV.name)では、アヴァター(プレイヤーキャラクター)の管理システムやイベント出欠・リマインダシステムや、リンクシェル(LS)運営・管理システムやDKPシステムなどを設計・開発・公開する予定です。

関連サイト

関連サイトでは、他にもFF14に関連するサイトをいくつか紹介しています。

リンク, トラックバック歓迎

このブログへのリンク(どのページでも構いません)やトラックバックを歓迎します。

設計・開発・運用の参考にさせていただきますので、コメントもお気軽にお寄せください!

個別の記事に対するご意見などのほか、目安箱もご用意しています。

このブログ記事について

このページは、Gardejoが2010年2月18日 02:15に書いたブログ記事です。

ひとつ前のブログ記事は「2009年の回顧と展望」です。

次のブログ記事は「Moose & Mouseの私家版クイックリファレンスシート(チートシート)を作りました」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

2014年2月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  

やや真面目なサイト