タグ

programmingに関するyoshi_6_17のブックマーク (100)

  • 並列化メモ - potasiumchの日記

    コンピュータサイエンス研究科で並列コンピューティングのセミナーがあるというので聞きに行く(ほとんど現実逃避)。印象に残った話をメモ。 自分の書くプログラムが2008年以降高速にならなくても良いという人を除き、全ての人は並列化プログラムを書く必要がある。 1980年代以降、RAM のアクセス速度は毎年 9% しか向上していない。このため CPU の処理速度との乖離が加速度的に増加している(いた)。これによる不具合を軽減するための仕組みとしてキャッシュメモリがあり、プログラムの実行速度はキャッシュのヒット率に大きく依存する。 アルゴリズムやデータサイズによってキャッシュのヒット率は異なる。更に最近の CPU はそれぞれ容量・速度の異なるキャッシュを多段に装備している。このため、どのアルゴリズムがどういうサイズの計算をするときに最適なのかはもはや誰にも予測できない。 並列化なんてしたら更に訳がわ

    並列化メモ - potasiumchの日記
  • googletest - Google C++ Testing Framework - Google Project Hosting

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    googletest - Google C++ Testing Framework - Google Project Hosting
  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • プログラマの方、もしくはプログラミングに興味のある方に質問です。web上の文章でこれは読んでおいた方がよい、あるいはこの文章は面白いという文章を教えてください。文.. - 人力検索

    プログラマの方、もしくはプログラミングに興味のある方に質問です。web上の文章でこれは読んでおいた方がよい、あるいはこの文章は面白いという文章を教えてください。文学、エッセイ、哲学、宗教、経済、科学、コンピュータ等、分野は問いません。 例:http://cruel.org/freeware/hacker.html

  • 「作っては壊す」過程があってこそ良いものが作れる

    iPhone用の「はてな人気エントリーリーダー」、そろそろ形になってきたのだが、作ってみていろいろと発見した部分もあったので、全面的にクラス構成を見直し、大幅に書き直した。 HTTPで通信をしているコードが二カ所に分かれていたので、それをDataOverHTTP/XMLOverHTTPという二つのクラスにまとめ(XMLOverHTTPはDataOverHTTPのサブクラス)、はてな独自のRSSフィードを読んでいるコードから一般的なRSSフィードを扱うコードをくくりだしてRSSFeed/RSSFeedLoaderという二つのクラスにまとめて、あとで別のアプリケーションで再利用することを可能にした。それに加えて、各種ローダーに非同期通信をさせる主体をController(HotEntryViewController)からModel側(HateneHotEntry)に移すことにより、難解になりが

  • 試訳 - コードをセキュアにする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
  • Geekなぺーじ : winsockプログラミング

    ここでは、WinSockを使ったWindowsネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつWindows環境でプログラミングを行いたい人です。 WinSockという名称は、Windows Socketsから来ています。 名前の通り、Winsockはウィンドウズでソケットを使ってプログラムを書くためのAPI(Application Program Interface)です。 Winsockを使うと、TCP/IPなどインターネットを使って通信を行うプログラムが書けます。 ここで説明を行うwinsockのバージョンは2.0です。 ただし、大枠に関してはversion 1.0と2.0で同じ部分もあるので1.0を利用する方でも参考にはなると思います。 Winsockが対応するWindowsのバージョンとして

  • わたしが知らないスゴ本は、きっとあなたが読んでいる: コンピュータの名著100冊

    仕事でコード書いてた頃の話。 机上に「」というメディアは無かった。プログラミングといえばお手のコピペ&手直しで仕上げてた。だから、せいぜい入門書やリファレンスといった辞書的なやつだけで、3年もすれば「古い」と引き出しの中へ。 だから、いつまでたっても上手なのは「お作法」だけ。あたりまえだ。仕様を実装したコードに「似た」コードやパターンを探し出す→コピペがプログラマの仕事だと思ってたから。ネットの情報が「全て」であって、「考える」とは、「いかにお手に合わせるか」だったから。 プログラマというよりも、むしろ「コーダー」。その辺は「プログラマになれなかったわたし」[参照]に書いた。 ここでは、「コンピュータの名著・古典100冊」の既読リストで恥さらし。いかにちゃんとしたを読んでいないかがよっく分かる、なさけない。 書はプログラミングに限らず、ソフトウェアエンジニアとしての libera

    わたしが知らないスゴ本は、きっとあなたが読んでいる: コンピュータの名著100冊
  • ユメのチカラ: ソースコードの読み方(ニコニコ動画(RC2)で公開)

    ユメのチカラ インターネットの時代になって、地球規模の知恵の集積が 可能になった。ソフトウェア開発においてもオープンソースソフトウェアのバザール的開発が注目されている。いまおきているその現実を現場の視点から記していきたい。 吉岡 弘隆 - よしおか ひろたか 日OSS推進フォーラム ステアリングコミッティ委員 OSDL Board of Directorsを歴任 カーネル読書会主宰 2000年6月、ミラクル・リナックスの創業に参加。 95年~98年、米国OracleにてOracle RDBMSの開発をおこなっていた。 98年にNetscapeのソースコード公開(Mozilla)に衝撃をうけ、オープンソースの世界に飛びこみ、ついには会社も立ち上げてしまう。 2008年6月取締役CTOを退任し一プログラマとなった。

  • 独自OSを作ってみよう!

    このホームページは以下に移動しました. ブックマークを張り直してください. 5秒後に自動的に移動します. http://kozos.jp/kozos/

  • Visual C++ の今後 - Faith and Brave - C++で遊ぼう

    VC++開発チームのブログで重大な発表がありました。 ・Announcing a major MFC update plus TR1 support ・Quick Tour Of New MFC Functionality Herb Sutterのブログでも紹介されています。 ・Visual C++ Announcements in Barcelona: TR1 and MFC ・Visual C++ Libraries update ・Visual C++ Libraries update(日語訳記事) VC++9.0(Visual Studio 2008)から、MFCが大幅に拡張されるそうです。 Office 2007のリボンコントロールがネイティブなMFCで使えることが 大きく取り上げられていますが、大きく違うのは開発ターゲットの拡張です。 従来のデスクトップアプリケーションだけで

    Visual C++ の今後 - Faith and Brave - C++で遊ぼう
  • HowToWriteAnEffectiveDesignDocument - 設計文書のうまい書き方

    HowToWriteAnEffectiveDesignDocument - 設計文書のうまい書き方 目次 この文書について 設計文書のうまい書き方 なぜ設計文書を書くのか 良い設計とは何か 同僚の開発者に向けて書く 第 1 節に書くこと: プロジェクト/サブシステムの目的を示す 第 2 節に書くこと: 設計に使う高レベルなエンティティを定義する 第 3 節に書くこと: 個々のエンティティに関する低レベルの設計を書く 使い方 設定 モデル 相互作用 第 4 節に書くこと: 利点, 前提, リスク/懸念事項 マネージャ向けに書くこと 最後に 設計文書のうまい書き方 この文書について "How to Write an Effective Design Document" の日語訳です. http://blog.slickedit.com/?p=43 推敲歓迎: 誤訳, タイポ, 訳語の不統一,

  • Life is beautiful: 私のとっておきのプログラミングスタイル

    404 Blog Not Found の「LiveCoding に学ぶプログラミングの三原則」を読んでいたらどうしても書きたくなったので。あくまで私のスタイルなので、参考にするもしないもご自由に。 1. スタードダッシュでできるだけはやくめどをつける 学生時代から夏休みの宿題は7月中に終わらせていた私とすれば、ラストスパートよりはスタートダッシュで勝負する。どのみち、どこかで思いっきり頑張らなければならないのであれば、締め切り間際ではなく、スタート間際に頑張るべきというのが私のポリシー。十週間のプロジェクトであれば、最初の二週間が勝負。そこで八割がたのめどをつけておき、後は流す。最初の二週間がめどが立てられなければ、十週間で完成できる可能性は低いと考える。常にそういう姿勢でいれば、締め切りぎりぎりになって致命的な欠陥が見つかって痛いめにあったり、当は大幅な設計変更をすべきなのに応急処置で

  • LiveCodingに学ぶプログラミングの三原則 : 404 Blog Not Found

    2007年09月16日04:30 カテゴリArt LiveCodingに学ぶプログラミングの三原則 Mozilla24のLiveCodingの解説をやってきました。参加された方、お疲れさまでした。ほんと楽しかった。 言語もC++ありJavaありJavaScriptありActionScriptありPerlありとまちまちで、Editorもemacsありvimあり秀丸ありとまちまちでしたが、それでも全LiveCoderの共通項がはっきり見えたので、それを書き留めておきます。これらの共通項には私も含まれます。 コピペを恐れるな(don't be afraid to be a copycat) 参加者の一人として、100%フルスクラッチで書いていた人はいませんでした。たいていは関数単位でコピーし、それを適宜書き換えるというやり方をしていました。学校のテストでは反則もいいところですが、大人の世界ではこ

    LiveCodingに学ぶプログラミングの三原則 : 404 Blog Not Found
  • Life is beautiful: ソフトウェアの仕様書は料理のレシピに似ている

    先日、経済産業省向けの仕事をしている知り合いと事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ

  • はてな伊藤直也氏MIJS講演「プログラマでいること」 : 小野和俊のブログ

    昨日MIJSのコンソーシアム内での技術発表会があり、理事会の方から「参加ベンダーの技術者が集まるイベントなので、技術者に元気を与えられるような人に講演をお願いしたい」という話があったので、はてな伊藤さんに講演をお願いした。 伊藤さんにお願いしようと思ったのは、伊藤さんなら、エンタープライズの世界にウェブの世界の元気な風を吹き込んでくれるのではないかと思ったからだ。 以下、私なりに講演の内容をまとめてみた。 ■「建物の建て方」 つくる対象がどのようなものかで、作り方は当然変わってくる。これは建物もソフトウェアも同じ。1階建ての格好良い小さなロッジを建てるのと、60階建ての安全で高品質な巨大ビルを建てるのとは方法も道具も異なる。ロッジを建てる時にはノコギリを使うが、巨大ビルを建てるにはクレーンを使う。 よくブログの世界でソフトウェアの開発について、ぜんぜん違うことをやっている人が同じ土俵で議論

    はてな伊藤直也氏MIJS講演「プログラマでいること」 : 小野和俊のブログ
  • Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro

    「Code Reading―オープンソースから学ぶソフトウェア開発技法」(毎日コミュニケーションズ発行,写真1)というがあります。私はこのの監訳者ですから,やや自画自賛になってしまいますが,ソースコードの読み方を主題にしたはほかにはあまりありません。技法からツール,データ構造,アーキテクチャ,さらには実際にコードを読んで利用する実例まで紹介している網羅的で良いだと思います。 このの「はじめに」で「達人プログラマー」として知られるDave Thomas氏は以下のように書いています。 他人の作品を読まなかった偉大な作家,他人の筆づかいを研究しなかった偉大な画家,同僚の肩越しに技を盗まなかった腕のよい外科医,副操縦席で実地の経験を積まなかった767機長――果たして,そんな人たちが当にいるのでしょうか? たしかにその通りです。ソフトウエア以外の領域では修行することとはすなわち,他の人の

    Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro
  • 見つけて得するソースコード専用の検索エンジン - @IT

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) プログラミングと検索エンジンは切っても切れない プログラミングと検索エンジンの関係は切っても切り離せないものです。プログラミングに役立つドキュメントやノウハウを探したり、参考になるサンプルプログラムを見つけ出せます。 さらにバグの回避方法を見つけたり、エラーメッセージを検索エンジンで探して、解決方法が見つかることも多いでしょう。良質のソースコードから、的確なアルゴリズムや、思いもしなかったようなコード例を見いだすのも新たな楽しみです。 さて、ここではプログラミングの際に便利に利用できるソースコード専用の検索エンジンをいくつか紹介しましょう。ソースコード専用の検索エンジンを利用した検索

    見つけて得するソースコード専用の検索エンジン - @IT
  • 連載 よくわかるC言語----目次:ITpro

    この連載に目を止め,「読んでみようか」と思ってくれた皆さんは,これまで,どんなプログラム言語の経験があるでしょうか? 「JavaScriptなどのWeb系のスクリプト言語はよく使う」,「Visual BasicやJavaでアプリケーションを作っているのだけど,基を確認したくて…」,あるいは「連載1回目だし,これからプログラミングを学びたい」など,いろいろな方がいらっしゃると思います。 連載は,「C言語」というプログラミング言語の“定番”を通して,あらゆるプログラミングに共通する基礎となる部分を,じっくり解説していきます。初心者の方はもちろん,プログラミング経験のある方も自分の知識を再確認するのにきっと役立つと思います。 ・第1回 もう一度,C言語から始めよう ・第2回 変数の性質を理解しよう ・第3回 制御構文がわかればプログラムの「流れ」がわかる ・第4回 変数のスコープをアドレスを

    連載 よくわかるC言語----目次:ITpro
  • ソースコードの盗み方|悪態のプログラマ

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 プログラミングを行う際に、既存のソースコードを流用することは多い。自分が過去に書いたコード、周囲の仲間が持っているコード、ヘルプや書籍に掲載されているコード。ネットで探せば、最新技術やマイナーな技術のものでも、何かしら発見できることだろう。 Yahoo!Google のような一般的な検索エンジンでも、適切なキーワードを指定すれば、ソースコードを検索することができる。コードによく出てくる文字列(例えば、C言語なら「include」や「void」など)を含めて検索すればよいだろう。 こうした一般のページ検索では、コードの解説や関連情報なども見つかるので有意義だ。しかし、一方

    ソースコードの盗み方|悪態のプログラマ