タグ

2011年3月28日のブックマーク (4件)

  • プロとしての行為 Act as Proffesional

    1.一般的なコーディング規約に目を通し、エレガントなコードを知る エレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHP PEAR 標準コーディング規約 symfony CodingStandards Perl perlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8 そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。

    プロとしての行為 Act as Proffesional
    kei_tanaka_des
    kei_tanaka_des 2011/03/28
    今春んプログラマーになる人があと1週間ですべき7のこと
  • 第1回 分散処理を隠蔽し、大規模開発を可能に

    筆者らは、オープンソースソフトウエアの分散処理ミドルウエア「Hadoop」を、基幹系のバッチ処理システムに適用するためのフレームワーク「Asakusa」を開発した。AsakusaはHadoopと同様に、オープンソースソフトウエアとして公開する。公開日は、連載の4回目をお届けする2011年3月31日の予定である。 Asakusaを使うことでHadoopによる分散処理のメリットを享受することが可能となり、これまでRDBMSを利用していた場合と比べて、多くのケースでバッチ処理システムの性能を大幅に向上することができる。筆者らが実際に構築を支援したシステムでは、それまで4時間かかっていた処理が数分で終わるようなケースも出てきている。 盛んに報道されているように、Hadoopはすでに多くの導入実績がある。ただしその用途は、ログ分析システムやレコメンデーションエンジンなどのビジネスインテリジェンス(

    第1回 分散処理を隠蔽し、大規模開発を可能に
    kei_tanaka_des
    kei_tanaka_des 2011/03/28
    分散処理を隠蔽し、大規模開発を可能に
  • パスワード管理について「安全なWebアプリケーションの作り方」で学んだので実装してみた - As a Futurist...

    前回半分くらい読んで積読になってしまっていた「徳丸」こと「安全な Web アプリケーションの作り方」を週末に読みきりました。当にいい教科書だと思いますので、脱初心者を目指す人は読んでみると良いと思います。 特に今までぼんやりとしか理解していなかった「パスワード管理」について非常に体系的に分かりやすく説明されていたので、せっかくなので Plack アプリで実装してみました。ソースは gist に貼っておきました。 基的には徳丸にあったとおりに実装しています。 パスワードはハッシュをかけた値を DB に保存 但し単純なハッシュ関数だと漏洩したときにクラックされる(=逆方向に解析される) そこで 2 つの対策を組み合わせる salt 値 user_id と固定値を利用して salt 値を作りパスワードに付加してハッシュを取る もし同じパスワードのユーザがいてもハッシュ値は異なる ストレッ

    パスワード管理について「安全なWebアプリケーションの作り方」で学んだので実装してみた - As a Futurist...
    kei_tanaka_des
    kei_tanaka_des 2011/03/28
    パスワード管理について「安全なWebアプリケーションの作り方」
  • Rubyコーディング規約

    はじめに 文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。

    kei_tanaka_des
    kei_tanaka_des 2011/03/28
    Rubyコーディング規約