タグ

プログラミングに関するend0tknrのブックマーク (31)

  • これはすごい!ブラウザ上でX86バイナリを動かす·Native Client MOONGIFT

    FlashやJava、Silverlightをはじめ、ブラウザ上でリッチなインタフェースを提供するフレームワークは増えつつある。Ajaxはクライアント側でインストールする手間がいらない反面、実現できる機能が限定的になってしまう。3Dを表現するのが難しかったり、マシンパワーを過剰に消費する傾向にある。 GoogleのRIAに対する答えがNative Clientか? 各プラットフォームがそれを克服するためのプラグインを提供してきた。そしてGoogleの出してきた答えがNative Clientだ。 Native Clientは修正BSDライセンスの下で公開されるオープンソース・ソフトウェアで、何とX86バイナリをそのままブラウザ上で実行してしまうという代物だ。 Native ClientはFirefox向けのプラグインを提供している(アドオンではないので注意)。WindowsMac OSX

    これはすごい!ブラウザ上でX86バイナリを動かす·Native Client MOONGIFT
    end0tknr
    end0tknr 2008/12/13
    コンソール
  • codepad

    codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email. Language: C C++ D Haskell Lua OCaml PHP Perl Plain Text Python Ruby Scheme Tcl

  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • Java が使いにくいのは静的だからではない - kwatchの日記

    Java が使いにくい言語であるというのは、世界中の LL ファンが皆思っていることだろうから改めていうことでもないけど、使いにくいのは静的言語だからというのは間違っている。Java が使いにくいのは単に Java の設計者のセンスが悪かっただけであり、静的言語のせいではない。 たとえばこんなコード。 public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; }

    Java が使いにくいのは静的だからではない - kwatchの日記
  • http://ja.doukaku.org/

  • Part3 セキュアWebプログラミング入門

    University of Denver卒。同校にてコンピュータ・サイエンスとビジネスを学ぶ。株式会社シーエーシーを経て,エレクトロニック・サービス・イニシアチブ有限会社を設立。オープンソース製品は比較的古くから利用し,Linuxは0.9xから利用している。オープンソース・システム開発への参加はエレクトロニック・サービス・イニシアチブ設立後から行い,複数のプロジェクトに参加している。 このPart3では,Webアプリケーションのプログラミングでは必須のセキュリティ対策を解説します。 Webアプリケーションといっても,セキュリティ対策の考え方がほかのコンピュータ・システムと大きく異なるわけではありません。しかし,「Webアプリケーションは最も危険なアプリケーションである」と認識する必要はあります。図1はセキュリティ関連情報のコミュニティであるSecurityFocusが発表した2006年5月

    Part3 セキュアWebプログラミング入門
  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • ITエンジニアの「やってはいけない」---目次:ITpro

    設計・実装から運用,メソドロジまで,最新アンチパターンを徹底解説 先輩から教わったことのなかに多くの「やってはいけないこと」(アンチパターン)があるだろう。だが,その理由を問われると,うまく説明できないことがあるのではないだろうか。突き詰めて考えると,状況によっては「やっても構わない」こともあるし,技術の進化に伴い「やれるようになってきた」こともある。そこで設計,実装,テスト,運用,メソドロジの各分野について,取材を通じて浮かび上がった最新アンチパターンを徹底解説する。テーマごとに「どれくらいやってはいけないか」のレベルも表した。レベル3~レベル1の3段階あり,レベルの数字が大きいほど,やってはいけない度合いも大きい。 関連サイト: ■設計編 ■メソドロジ編 ■実装編 ■テスト編 ■運用編 ■サーバー運用編 ■データベース編 ■セキュリティ編 ■記録メディア編 ■方式設計編 ■内部統制編

    ITエンジニアの「やってはいけない」---目次:ITpro
  • プログラマを目指す人が読んで参考になる(?)ページ

    プログラマを目指している人が、読んで参考になりそうな(?)ページを集めてみました。 現役のプログラマが読むとになる危険性もありますので、ご注意下さい。 ( ;^ω^)<へいわぼけ: SEは終電と徹夜を繰り返すくらい毎日忙しいってホント? アルファルファモザイクより「ゲームプログラマーのあなた、給料いくら?」 なんたらかんたら: プログラマーの極限状熊

    プログラマを目指す人が読んで参考になる(?)ページ
  • プログラミングの6大10項目リスト

    Jeff Atwood / 青木靖 訳 2007年3月22日 以下に私の選ぶプログラミングの6大10項目リストを挙げておく。取り上げた順序には特に意味はない。このエントリを簡潔なものにしておきたいので、それぞれの項目は短い要約を引用するに留める。興味を引くものがあれば、ぜひリンクをたどってオリジナルの作者の考えについてもっと詳しく読むことをお勧めする。 [ 訳注: 要約だけで意味が取りにくいものに簡単な説明をつけた。] ジェラルド・ワインバーグの「エゴレスプログラミングの十戒」 自分が誤りを犯すということを理解し、受け入れること 。 自分と自分のコードは別物である。 どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。 相談せずにコードの書き直 しをしない。 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。 世界で唯一変わらないのは変わるということだけ。 唯