タグ

2009年7月9日のブックマーク (7件)

  • 最悪なHello World | Happy My Life

    To all who Think Themselves a Programmerより。 サンフランシスコのある会社での求人なのだが、この会社では書類選考として、どの言語を使用してもいいので最悪なHelloWorld(画面にHello Worldと表示させるだけのプログラム)を書いてもらい、それを採用基準にしている。 最善のコードではなく、最悪な手法で試すとはなかなか面白い。言語選びなどでも個性が出るので、その人の潜在的なスキルが試される。日じゃこんな手法を採用している企業なんて少ないよなぁ。 採用された例 原文より抜粋して掲載。変態的(褒め言葉)なHello Worldの世界へご招待。 その1 y = lambda { |f| lambda { |x| lambda { |n| (f.call (x.call x)).call n } }. call lambda { |x| lambd

  • Pythonを使って高速素数判定をしてみる - Pashango’s Blog

    みなさん、素数を数えてますか? 『素数』は1と自分の数でしか割ることのできない孤独な数字。 暗号化できたり、乱数を作れたり、心を落ち着いたりして、私達に勇気を与えてくれます。 素数といえば「エラトステネスのふるい」ですが、あれは大きい桁の素数を生成しようとすると、とんでもなく時間が掛ります。 今回は、どんな大きな桁の素数でも高速で素数判定するプログラムを作ってみます。 基は「フェルマーの小定理」 素数判定の基は「フェルマーの小定理」です、数式は1行だけのごく簡単なものです。 a^(p-1) mod p の答えが1以外ならpは合成数である ただし、aとpが素の関係(最大公約数が1)であること 2つの数を「べき剰余算」して答えが1以外なら合成数(not 素数)という事です。 aに2を代入してqが素数なら答えが1になる、たったこれだけです簡単でしょ? def is_prime(q): q =

    Pythonを使って高速素数判定をしてみる - Pashango’s Blog
  • PROGRAMMER'S HIGH!

    iPhoneゲーム「REGENCY Lights」をリリースしました 以前、REGENCY King’s Valleyのアップデートを紹介しましたが、そのREGENCY King’s Valleyと同じブランドの作品「REGENCY Lights」を先週リリースしました。 REGENCY Lightsは、日では「水玉潰し」の名前で人気のWebゲームを、REGENCYブランドの世界観でアレンジしたiOSゲームです。REGENCYブランドの落ち着いた空間の中で「水玉潰し」の爽快で奥深いゲーム性が楽しめます。無料版もありますので、iPhone/iPod touchをお持ちの方はぜひダウンロードしてプレイしてみて下さい。 今回は2011年2月あたりから企画がスタートしました。途中3.11を挟み開発は少し難航しましたが、開発関係者に大事はなく、無事先週リリースに至ることができました。 今回は開発序

    PROGRAMMER'S HIGH!
    shimooka
    shimooka 2009/07/09
    「クロージャ」という言葉が意味するもの
  • Symfony Event Dispatcherで遊んでみた - hnwの日記

    Symfony Event Dispatcher とは Symfony Event DispatcherというのはPHPフレームワークであるsymfonyに含まれるライブラリで、GoF*1のObserverパターンの変種です。 このクラスは現在Symfony Event Dispatcherという名前で単体公開されていますので、symfony以外のプロジェクトでも気軽に利用できると思います。全部で300行程度の小さいライブラリで、テストコードが29件書かれています。 また、ガイドとAPIリファレンスが書かれています。レシピ集を見ればsymfonyでどう利用されているかを垣間見ることが出来ます。テストカバレッジ率100%なんてことも書いてありますね。 稿では、PHP5に対応したObserverパターンの実装としてのSymfony Event Dispatcherについて紹介します。 Obs

    Symfony Event Dispatcherで遊んでみた - hnwの日記
    shimooka
    shimooka 2009/07/09
    GoFってマニアの言い方だったのか。。。
  • RSA暗号で「ふっかつのじゅもん」を作る(2) -RSA暗号鍵の生成 - Pashango’s Blog

    Pythonを使って高速素数判定をしてみる - Pashango’s Blog RSA暗号で「ふっかつのじゅもん」を作る(1) - Pashango’s Blog さて前回からの続きです、RSA暗号で「ふっかつのじゅもん」を作ってみましょう。 RSA暗号では、暗号化するデータのビット数よりも、1ビット多いn(素数p,qの積)が必要です。 (nでmodするため、nより小さな数は復号ができないため) ですので、任意ビットの大きさをもつnを生成する素数p,q(RSA暗号鍵)を生成してくれる関数があると非常に便利ですね。 WebではRSA暗号鍵の生成アルゴリズムの資料が無かったので、自分で考えました。もしかしたら鍵生成が甘いかもしれません、その場合は容赦なくツッコミをください。 素数判定「ミラー・ラビンテスト」 暗号鍵生成関数を作るには、「Pythonで高速素数判定」の回で作成した高速素数判定関数

    RSA暗号で「ふっかつのじゅもん」を作る(2) -RSA暗号鍵の生成 - Pashango’s Blog
  • RSA暗号で「ふっかつのじゅもん」を作る(1) - Pashango’s Blog

    オッス、オラ、トンヌラ! 前回は、高速素数判定を作りましたが、今回はRSA暗号を使って、昔懐かしの「ふっかつのじゅもん」を作ってみましょう。 Pythonを使って高速素数判定をしてみる - Pashango’s Blog あ、「今さらRSAかよ」と思いました? 自分でRSAを実装してみると、色々知らない事が出てきて面白いですよ。 あとRSAは、暗号化以外にも応用が利くんで覚えておいて損はしませんよ。 RSA暗号とはなにか? ゲームプログラマは基的にゲームばっかやってるんで、一般的な情報処理知識に欠けている場合がほとんどです。 まずはRSA暗号の説明から始めましょう。 RSA暗号とは、2つの鍵「公開鍵」と「秘密鍵」を使う暗号方式です。 「公開鍵」は暗号化キーです、みんなに公開してかまいません。 「秘密鍵」は復号化キーです、みんなにバレてはいけません厳重に保管してください、間違ってもネット上

    RSA暗号で「ふっかつのじゅもん」を作る(1) - Pashango’s Blog
    shimooka
    shimooka 2009/07/09
    面白い
  • livedoor Techブログ : tracerouteの仕組み

    ネットワーク事業部 コアネットワークグループ所属の市川です。普段は、広域ネットワークの管理をしていて、端末に向かっていても頭の中は、1都3県を飛び回っています。 好きなポートは何番ですか? 入社後エンジニア部隊に配属され、隣に座っていた同僚に挨拶をした時の返しの第一声が忘れられません。 「好きなポートは何番ですか?」 これって自己紹介なのでしょうか...それとも好きなポート番号から僕の性格が分かっちゃったりするんでしょうか?ところで、みなさんの好きなポートは何番でしょうか?ちなみにボクは、23番が好きでした(笑)。さて、私は現在ネットワーク事業部でネットワーク管理の仕事をしております。ネットワークにトラブルが発生した場合、状況調査に利用するツールでもっともメジャーな物に、ping/traceroute(windowsではtracert.exe)があります。 このtracerouteの仕組み

    shimooka
    shimooka 2009/07/09
    「好きなポートは何番ですか?」