タグ

perlとknowhowに関するYuichirouのブックマーク (13)

  • Catalyst::Manual::Intro - はじめてのCatalyst

    題名 Catalyst::Manual::Intro - はじめてのCatalyst 説明 ここではなぜ、またどうやってCatalystを使うのかを簡単に紹介します。Catalystの挙動について説明し、簡単なアプリケーションを手早く立ち上げる様子をご覧に入れます。 Catalystとは? Catalystとはエレガントなウェブ・アプリケーション・フレームワークです。きわめて柔軟なのにきわめてシンプル。Ruby on RailsやSpring (Java)、そしてCatalystの元となったMaypoleによく似ています。 MVC Catalystはモデル・ビュー・コントローラ(MVC)というデザイン・パターンを踏襲しているため、コンテンツ、プレゼンテーション、フロー管理といった問題を簡単に切り分けて独立したモジュールにすることができます。こうして切り分けることで他の問題を処

  • キャッシュしよう

    京都観光で散財しすぎて貯金がないmalaです。こんにちは。キャッシュの話を書きます。 色んなキャッシュがあります データベースから引く前にmemcachedから取得したり テンプレートエンジンのレンダリング結果をキャッシュしたり 各種ウェブサービスのリクエスト結果をキャッシュしたり その他諸々CPUったり時間のかかる処理をキャッシュしたり 簡単に思いつくのはこの程度ですが、スケーラブルなウェブサイトを構築するには常識的に考えてそんなのキャッシュしねーだろうというようなものをキャッシュする必要があります。 DateTimeをキャッシュしよう 同じ時刻に対するDateTimeオブジェクトをキャッシュします。 package MyDateTime; use strict; use base qw(DateTime); my %CACHE; sub now { my $class = shif

    Yuichirou
    Yuichirou 2008/12/23
    貯金がないからキャッシングの話なんですね、わかります。
  • reduce だいすき

    デミグラスソース使った料理べたい cho45 です。Perl といえば某MMOゲームと同時に起動できないプログラムとして有名ですが今回はそれとは関係ない話です。 Ruby 厨の多くが inject 厨である気がします (てきとーです) が、 Perl で List::Util::reduce を使っているところをあんまり見たことがないのでいくつか便利な例を紹介します。 reduce は何かというとリストを1つの値に纏めるものです。例えばリストの要素の合計は use Perl6::Say; use List::Util qw/reduce/; my $list = [1, 2, 3, 4, 5]; say reduce { say "$a,$b"; $a + $b } @$list; 1,2 3,3 6,4 10,5 15 前回のループの返り値が $a に入り、$b には残りの要素

    Yuichirou
    Yuichirou 2008/12/20
    ↓にあるid:kitsさんのmapを使った方が読みやすい。……いや、あの例がreduceに向かなかっただけなんですよね、わかります!(汗)
  • perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found

    2008年07月02日23:00 カテゴリLightweight Languages perl - デフォルト値のperlらしい指定法 Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] これでもよいのだけど、さらに恰好つけるとよりperlらしくなるので。 デフォルト値の扱い。 - サンプルコードによる Perl 入門 Scalarによるデフォルト値 sub num{ my $num = shift; # .... } ここは sub num{ my $num = shift || -1; # .... } の方がわかりやすい。0または''を入力値、すなわち非デフォルト値として扱いたい場合のみ、 sub num{ my $num = shift; $num = -1 if not defined $num;

    perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found
    Yuichirou
    Yuichirou 2008/07/03
    なるほど確かに言われてみれば!
  • perl-mongers.org

    This domain may be for sale!

  • perl - stat()、-X 演算子、そして _ ファイルハンドル : 404 Blog Not Found

    2008年05月12日13:30 カテゴリLightweight Languages翻訳/紹介 perl - stat()、-X 演算子、そして _ ファイルハンドル こういった場合のTipです。 ファイル演算子「 -s 」で、ファイルサイズを取得する。 - サンプルコードによる Perl 入門 if( -f $file ){ my $file_size = -s $file; print "$file のファイルサイズは、$file_size バイトです。\n\n"; } else{ print "$file は、存在しませんでした。\n\n"; } _ ファイルハンドル 実は、-X演算子は、その演算子に期待された結果を返すだけではなく、その他のファイル情報を特殊ファイルハンドル_にセットします。これを使うと、上のコードは if( -f $file ){ my $file_size =

    perl - stat()、-X 演算子、そして _ ファイルハンドル : 404 Blog Not Found
  • perl - @_ は参照である : 404 Blog Not Found

    2008年05月12日18:15 カテゴリLightweight Languages perl - @_ は参照である これでも正解ではありますが、perlの場合もっと簡単な方法があります。 各言語間の参照と値渡し - @author pyridoxin sub swap { my ($x , $y) = @_; $$temp = $$y; $$y = $$x; $$x = $$temp } [codepad] sub swap { my $tmp = $_[0]; $_[0] = $_[1]; $_[1] = $tmp; } my ($a, $b) = (1, 2); print "\$a = $a, \$b = $b\n"; swap($a, $b); print "\$a = $a, \$b = $b\n"; これは、Referenceが存在しなかったPerl 4以前からの仕様です。

    perl - @_ は参照である : 404 Blog Not Found
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
    Yuichirou
    Yuichirou 2008/04/09
    Encode.pmは最強のエンコードポリシーを用いていて好感を持つんだけど、どうも嫌うというか慣れない人が多い。必要なときだけエンコードすれば良いというのは正直「サニタイズ脳」に近いと思うのだがどうだろう。
  • mapと非破壊 - Unknown::Programming

    http://d.hatena.ne.jp/kazukichop/20080124/1201146190 Perl分かってない - Lism.in * blog - nekoya (id:studio-m) あんまり元記事とカンケイなかったりするけど、一応。 print join "\n" , map { s/a/A/g; $_ } @list; この書き方は@listを破壊してしまう。 無論、破壊されても構わない場合はこれでもいいが、mapを使っているということは基的には破壊されたくないはずだ。(でしょでしょ?) 破壊させる目的ならば個人的にはforeachを使う方がいいと思ってる。 s/a/A/g foreach @list; print join "\n" , @list; ま、それでもmapを使って値を変更しつつ@listを破壊したくないのであれば print join "\n"

    mapと非破壊 - Unknown::Programming
    Yuichirou
    Yuichirou 2008/02/11
    まさにTIMTOWTDI(笑 参考:[d:keyword:TIMTOWTDI]
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

    Yuichirou
    Yuichirou 2008/02/11
    今までこれ知らなかった……
  • mapで要素除去 - Unknown::Programming

    意外と知られてないかと思ったのでメモ。 grep {$_} map { $_ ? $N/$_ : undef } @_; って書くの? mapで特定要素を除外したいときとか - ロックスターになりたい mapを使って特定の要素を除去する方法ですが、上記の方法はこの用途であれば問題ないですが、undefという要素もちゃんと要素として見なしたい場合には困ります。 で、どうするかというと、mapの戻り値に空リストを返すことで要素の除去ができます。 my $n = 1000; my @array = (2, 1, 0, -1, -2); my @new_array = map { $_ ? $n/$_ : () } @array; たまーに使うので覚えておくと吉です。

    mapで要素除去 - Unknown::Programming
    Yuichirou
    Yuichirou 2008/02/11
    「mapの戻り値に空リストを返すことで要素の除去ができます。」
  • Perlメモ/ファイルの更新時刻 - Walrus, Digit.

    ファイルのアクセス時刻、更新時刻の取得と設定(変更)。 主として、statおよびutime関数についての解説になります。 公式のドキュメントでは、perlfuncの各項をご覧ください。 日語で読みたいときには、perldoc.jpにいくつかの版の日語訳があります。 Perl5.6.1 - perlfunc - Perl builtin functions(perldoc.jp) ファイルの最終更新時刻、最終アクセス時刻は、stat関数で取得できます。 stat関数は引数で渡されたファイル情報の配列を返します。 その9番目(インデックスは8)が最終アクセス時刻、10番目(インデックスは9)が最終更新時刻です。 my @stats = stat('./test.txt'); print "最終アクセス時刻 : " . $stats[8] . "\n"; print "最終更新時刻   :

  • 連載記事 「快速MySQLでデータベースアプリ!」

    MySQLインストール完全ガイド 連載:快速MySQLでデータベースアプリ!(1) 軽快な動作で知られるMySQLDBアプリの構築を行う。今回は、MySQLの概要とインストール方法について解説しよう

  • 1