タグ

2008年1月6日のブックマーク (4件)

  • Perl で 8ビット CPU を作る - naoyaのはてなダイアリー

    CPU を作る、と言ってもハードではなくソフト、仮想機械です。 2001 年から UNIX USER で連載されていた西田亙さんの「gccプログラミング工房」。いまさらながら、バックナンバーを取り寄せて初回から順番に読んでいます。とてもためになる連載です。 この連載中で第10回から数回に分けて開発されていた octopus という 8 ビット CPU の仮想機械があります。オリジナルは C 言語で書かれていたのですが、その設計を見て、これは他の言語でも作れるのではないか、と思い Perl に移植してみたところなんとか動作させることができました。以下の URL にコードを公開します。(西田さんに確認を取ったところ、オリジナルのソースは Public Domain とのことでした。オリジナルは http://www.skyfree.org/jpn/unixuser/ からダウンロード可能です。

    Perl で 8ビット CPU を作る - naoyaのはてなダイアリー
  • コードをセキュアにする10の作法…の覚え方 - 結城浩のはてな日記

    Danさんが、コードをセキュアにする10の作法という翻訳を公開していました。 翻訳には特にツッコミはないのですが…正直、10個も覚えられません! (>_<)ヒー! ので、勝手に再配置。かっこの中がお作法の名前です。 各段階でチェックしよう! 設計時に、 (セキュリティーポリシーを設計に織り込め) コーディング時に、 (セキュアコーディングの標準を採用せよ) (コンパイラーの警告レベルは最高に) テスト時に、 (有効な品質保証の手法を用いよ) もちろん実行時にも。 (入力を検証せよ) (他のシステムに送るデータは消毒(サニタイズ)しておけ) 迷ったときにはシンプルに!(シンプルイズベスト) デフォルトは拒絶、 (デフォルトで拒絶) 権限は最小、 (最小特権の原則を貫く) でもシンプル過ぎてはいけません。 (多重防御を実践せよ) これでちょっと覚えやすくなりました(私は)。内容は以下のページを

    コードをセキュアにする10の作法…の覚え方 - 結城浩のはてな日記
    coek
    coek 2008/01/06
    hyuki先生のセキュアなコードについて
  • MOONGIFT: シンプル&高機能な分散リポジトリ「Mercurial」:オープンソースを毎日紹介

    2007年は各プロジェクトにおいてSubversionを利用してきた。便利ではあったが、サーバを立てる必要があるのが面倒には感じていた。 サーバを立てる必要なく、しかしバージョン管理は行いたい。そんなわがままをすっきり解決してくれるのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはMercurial、分散型バージョン管理システムだ。 MercurialはMac OSXWindowsLinuxとそれぞれ提供されているクロスプラットフォームなソフトウェアで、サーバ集約型ではないバージョン管理を行う。 はじめにいずれかのPCでリポジトリを作成し、その後は各クライアントがcloneという形でリポジトリをコピーする。そしてそれぞれコミットをし、完了したらpushする。別なクライアントではそれをアップデートすれば反映される。 ごくシンプルな仕組みではあるが、タグ、ブランチ、Dif

    MOONGIFT: シンプル&高機能な分散リポジトリ「Mercurial」:オープンソースを毎日紹介
  • 試訳 - コードをセキュアにする10の作法 : 404 Blog Not Found

    2008年01月05日02:45 カテゴリ翻訳/紹介Code 試訳 - コードをセキュアにする10の作法 全コーダー必読。プログラマーだけではなく法を作る人も全員。 Top 10 Secure Coding Practices - CERT Secure Coding Standards 突っ込み希望なので、いつもの「惰訳」ではなく「試訳」としました。 Enjoy -- with Care! Dan the Coder to Err -- and Fix コードをセキュアにする10の作法 (Top 10 Secure Coding Practices) 入力を検証せよ(Validate input) - 信頼なきデータソースからの入力は、全て検証するようにしましょう。適切な入力検証は、大部分のソフトウェア脆弱性を取り除きます。外部データは疑って掛かりましょう。これらにはコマンドライン引数、

    試訳 - コードをセキュアにする10の作法 : 404 Blog Not Found