タグ

プログラムに関するsawasawa12のブックマーク (7)

  • sprintf を最大10倍以上高速化するプリプロセッサ「qrintf」を作った

    最近H2OというHTTPサーバを書いているのですが、プロファイルを取ってみるとsprintfが結構な時間をっていて不満に感じていました。実際、sprintfは数値や文字列をフォーマットするのに十徳ナイフ的に便利なので、HTTPサーバに限らず良く使われる(そしてCPU時間を消費しがちな)関数です。 では、sprintfを最適化すれば、様々なプログラムが より高速に動作するようになるのではないでしょうか。ということで作ったのが、qrintfです。 qrintfは、Cプリプロセッサのラッパーとしてソースコードに含まれるsprintfの呼出フォーマットを解析し、フォーマットにあわせたコードに書き換えることで、sprintfを高速化します。 たとえば、以下のようなIPv4アドレスを文字列化するコード片を sprintf( buf, "%d.%d.%d.%d", (addr >> 24) & 0xf

  • プログラマーは皆、常に秘密や嘘を抱えている - totopon114689の日記

    プログラマーは皆、常に秘密や嘘を抱えている。 これは間違いない。 基的には誰にも話さないが、 (家族や友人などプログラムを知っていない人間に話しても分からない、という事もある) プログラマー同士の飲みの席などで、過去の笑い話として酒の肴になる事はある。 秘密や嘘の傾向には幾つかのパターンがある。 1) 仕様があいまいな場合の適当なコーディング 仕様があいまいな機能を実装する場合、想定していたものよりもプログラム量が膨大になる事はよくある。 また、細かいパターンや想定外のケースに対し、どのようにプログラム的対処を行うべきか? 洗い出しているとキリがない場合もある。 仮に事前に洗い出していたとしても、 「ケース自体は洗い出せているが、具体的にどのようなエラーメッセージを表示すべきか?」 などといった、その先がまたあいまいになっている場合もある。 このような場合、来であれば決裁権のある人間に

    プログラマーは皆、常に秘密や嘘を抱えている - totopon114689の日記
  • 引越ししたので未来なお部屋を作ってみた。 - お前の血は何色だ!! 4

    年の瀬に引越ししたので、部屋の再構築を行った。 コンセプトは快適に引き篭もれる未来の部屋。 その紹介をしたいと思う。 図面 一部省略の図面、古い建物なのでちょっと広い。 10m2 * 2部屋ぐらい。 何度か検討を繰り返してこの形式に落ち着いた。 カーテンを100インチのディスプレイにしてみた カーテンレールに100インチのスクリーンを釣り下げてみた。 カーテンが支えられるんだから、100インチのスクリーンぐらい支えられるだろうという発想。 カーテンレールに入れるのにLANケーブル用のマーカータイを使ってみた。 束ねれば結構強固である。 スクリーンの後ろは黒塗りされているので裏写りはないと思うけど、念のための裏写り防止のためと、昼間でも投影できるように暗室を作りたかったので、暗室用のブラックカーテンを後ろに引いている。 プロジェクターはNECの NP-U310WJD 短焦点プロジェクターを使

    引越ししたので未来なお部屋を作ってみた。 - お前の血は何色だ!! 4
  • イランの核開発を阻止したコンピュータウィルス「スタクスネット」がすごすぎる - FutureInsight.info

    クーリエジャポン2011年7月号で紹介されていたNYタイムズの「A Declaration of Cyber-War」。イランの核開発を阻止するために作られたコンピュータウィルス「スタクスネット」の話なのだが、このウィルスがすごい。COURRiER Japon (クーリエ ジャポン) 2011年 07月号 [雑誌] 講談社 2011-05-25 売り上げランキング : Amazonで詳しく見る by G-Tools プロの仕事をするコンピュータウィルス「スタクスネット」 「スタクスネット」自体はイスラエルの世界最強との呼び声も高い情報機関「モサド」と米国の共同チームで、ブッシュ政権末期に2009年1月に開発のGoサインがでたと記事に書かれている。ウィルスの目的自体はイランの核開発を阻止することで、ウィルスのターゲットは通常のPCではなく産業用コンピュータである。 スタクスネットがコンピュー

    イランの核開発を阻止したコンピュータウィルス「スタクスネット」がすごすぎる - FutureInsight.info
  • フローチャートの作成

    それがたとえどんなに簡単なプログラムであっても、フローチャートを書いてとりかかることはとても重要です。 私がプログラムを書き始めた当初は、なんどもテストしては書きなおす作業の 繰り返しでプログラムを作っていましたが、それではどうしてもバグが紛れ込むので、最近は、 相当細かい段階までフローチャートを書くことが多くなりました。 いったん、フローチャートに書き出しておくと、実際のプログラム作成が効率的になり、それにかかる時間が大幅に節約されるだけでなく、ミスが少なくな り、かつ他の言語に移植するのも簡単になります。 フローチャートには、JISで決まった書き方が決まっているので、他人と開発を共有する場合は、そのルールに従わなければならないのですが、自分で書く 時はあまりこだわらなくて良いでしょう。主に使う記号は次のようなものです。(背景がこの色のもの は重要!!)

  • CSS基礎文法最速マスター

    最近ネット界隈で流行中の「基礎文法最速マスター」シリーズ。 Parlから始まったこのシリーズですが、いまやPHPRubyをはじめ、JavaScriptからVBA、果てはjQueryに至るまで、かなりの数の言語が「基礎文法最速マスター」シリーズ化されています。 そこでワタクシもどーにか便乗してやろーと画策しまして、得意分野のCSSについてまとめてみたいと思います。 まぁCSSはプログラム言語とは呼びませんが、プログラマさんなんかは結構苦手意識のある方も多いようなので、ちょっとでも参考になればと思いますー。 CSSの基礎 CSSとは 一言で言えば、(X)HTMLでマークアップされたページの見栄えをコントロールするためのものです。 CSSを使う事で、(X)HTML側ではページの内容や構造だけの記述に留める事が出来るので、検索エンジンにも優しく、デザインの変更も容易になる(と言われてますが、実際

    CSS基礎文法最速マスター
  • WSH再入門 / Admintech.jp 勉強会資料

    2007年6月9日 Admintech.jp 勉強会 はせがわ <hasegawa@openmya.hacker.jp> * なぜ今さらWSH? - インストール不要 - 他アプリケーションとの連携 - 何でもできる!? * なぜ今さらWSH? - インストール不要 - 他アプリケーションとの連携 - 何でもできる!? * なぜ今さらWSH? >> インストール不要 - 現行の Windows なら追加インストールなしで動作 - 余計なバイナリは入れたくないよね - メモ帳だけで編集可能 * なぜ今さらWSH? - インストール不要 - 他アプリケーションとの連携 - 何でもできる!? * なぜ今さらWSH? - インストール不要 - 他アプリケーションとの連携 - 何でもできる!? * なぜ今さらWSH? >> 他アプリケーションとの連携 -

  • 1