タグ

programmingに関するbeakmarkのブックマーク (51)

  • Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita

    話の発端は、StackOverflowの、この質問にあった。 StackOverflow語版 - c言語での乱数生成 質問に対する回答は、きわめて単純で、rand()関数を、取得したい乱数の個数分、呼んでやりましょうというもの。 いちおう、XcodeのCommand Line Toolで、サンプルコードを作って、それを実行してみて、ちゃんと意図したとおりの結果になることを確認する。が、ここで奇妙なことに気づく。 何度実行しても、初項が4になる。 試しに、こんなC言語のコードを書いて、Xcodeで実行してみる。 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, const char * argv[]) { unsigned int i; unsigned int seed = (uns

    Mac、iOSで、rand()関数の疑似乱数アルゴリズムがヘン! - Qiita
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    beakmark
    beakmark 2013/01/19
    やる/
  • 組込みシステムのセキュリティへの取組みガイド:IPA 独立行政法人 情報処理推進機構

    IPA(独立行政法人情報処理推進機構、理事長:西垣 浩司)は、組込みシステムの情報セキュリティを推進するため、組込みシステムの開発関係者を対象とした、「組込みシステムのセキュリティへの取組みガイド」を作成し、2009年6月24日(水)から、IPAのウェブサイトで公開しました。組込みシステムの開発に携わる組織が自組織の「セキュリティへの取組み」がどのレベルにあるのかを把握し、さらに上位のレベルを目指すことで、よりセキュアな組込みシステムの実装を行うための具体的な施策についての指針を得ることが可能となります。 近年、産業機器や家電製品等は、これらの機器を制御するために機器の内部に組み込まれたコンピュータシステム、「組込みシステム」によって、高機能化や、ネットワークへの接続がなされています。このため、これらの機器に利用される組込みシステムもパソコンと同様、不正な利用を試みる第三者の攻撃ターゲット

  • diffの出力形式を比較跡地 - 試験運用中なLinux備忘録・旧記事

    (2018/10/12)記事は「diffの差分形式比較 (unified, context, side-by-side, デフォルト, ed)」へ移動した。

    diffの出力形式を比較跡地 - 試験運用中なLinux備忘録・旧記事
  • エンディアンを考慮したメモリコピー - Cube Lilac

    blog をもう少しコンスタントに更新して行きたいなぁと言う事で,メモ代わり感覚で更新していきます. http://sourceforge.jp/tracker/index.php?func=detail&aid=15209&group_id=3652&atid=13543 の指摘を受けて.これに関わらず,多バイト長の変数(or その配列)から1バイトの配列へのコピー(あるいはその逆)を行う機会にしばしば遭遇するので,この機会に作成しておきます.最も,私の実行環境が全てリトルエンディアンなので,まともにテストできていないのですが・・・ エンディアンの判別 エンディアンの判別に関しては,http://www.math.kobe-u.ac.jp/~kodama/tips-C-endian.html で紹介されている方法を使用する事にします.具体的な方法は,__LITTLE_ENDIAN または

    エンディアンを考慮したメモリコピー - Cube Lilac
  • 八角研究所 : 高速スクリプト言語「Lua」を始めよう!(1) - 高速スクリプト言語「Lua」を始めよう!(1)

    高速スクリプト言語「Lua」を始めよう!(1) - 高速スクリプト言語「Lua」を始めよう!(1)

  • Valgrind for Mac OS X

    Valgrind for Mac OS X. Some assembly required. Valgrind is a powerful open-source memory debugger. This is a port of Valgrind for Mac OS X. http://valgrind.org/ http://www.apple.com/macosx/ Caveat programmer This port is UNSUPPORTED and INCOMPLETE and BUGGY. It may not find bugs in your program, or run your program correctly, or run your program at all. Requirements Mac OS X 10.5 Leopard. An Intel

  • C++0x Placement Insert(配置挿入) - Faith and Brave - C++で遊ぼう

    C++0x では、各コンテナに emplace/emplace_back/emplace_front/emplace_hint というメンバ関数が追加されます。 こういうクラスがあった場合 struct something { something(int, int, int); }; something をコンテナの要素として追加する場合、 C++03 では以下のようにしていました。 vector<something> v; v.push_back(something(1, 2, 3)); この方法では、 something のコンストラクタによる一時オブジェクトの生成と、コピーのコストが発生します。 Placement Insert では、可変引数テンプレートによって要素型のコンストラクタ引数を受け取ることで 要素をコンテナ内で一度だけ生成し、コピーのコストをなくします。 vector<

    C++0x Placement Insert(配置挿入) - Faith and Brave - C++で遊ぼう
    beakmark
    beakmark 2009/01/18
    なるほど、RVO はあるけど、引数については同様の最適化がないからね。。。。(たぶん)
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • Technologic Arts Incorporated | ケント・ベック著「実装パターン」ご紹介セミナー開催のご案内

    【著作】 ケント・ベック 【監訳】長瀬嘉秀、永田渉 【翻訳】株式会社テクノロジックアート 【出版】 ピアソン・エデュケーション 【ISBN】 978-4894712874 開発担当者・管理者の方が頭を悩ませる「機能することはもちろん、明瞭で一貫していて、意図が伝わる素晴らしいコードとは?」という疑問の答えを XP(エクストリーム・プログラミング)の考案者、ケント・ベックが、77のパターンの中にまとめました。 デザインパターンが設計の虎の巻であるならば実装パターンはまさに実装のための虎の巻であると言えます。 デザインパターンを熟知し、幅広くご紹介してきた弊社長瀬ならではの視点から、実装パターンの有効利用法、開発での活用法をご紹介いたします。

    beakmark
    beakmark 2008/12/19
    日程的には参加可能だな。どしようかな。
  • 「OpenCL 1.0」が公開--アップル提案のAPI仕様が業界標準に

    文:Brooke Crothers(Spacial to CNET News.com) 翻訳校正:矢倉美登里、高森郁哉 2008-12-10 13:54 業界コンソーシアムのKhronos Groupはシンガポールで現地時間12月9日、API仕様「OpenCL 1.0」を公開した。OpenCLは、Appleが最初に提案したものだが、グラフィックチップ企業のNVIDIAやAdvanced Micro Devices(AMD)など多くの企業から支持を獲得し、業界標準となった。 OpenCL(Open Computing Language)は、基的には3Dグラフィックスとコンピュータオーディオのオープンな業界標準で、グラフィックスプロセッシングユニット(GPU)の性能を拡張することを目的とする。 意外なことではないが、NVIDIAやAMDのグラフィックス部門であるATI Technologie

    「OpenCL 1.0」が公開--アップル提案のAPI仕様が業界標準に
  • アンダースコアは控えめに - Radium Software

    LightSleeper: Underscores and Identifiers C++ においては,名前の中にダブルアンダースコアは使っちゃダメ。あと,アンダースコアで始まる名前も使っちゃダメ。なぜなら,それらは予約されているから。アンダースコアで始まる名前がダメというのはなんとなく聞いたことがあるけれど,ダブルアンダースコアが封じられているというのは,はじめて知った。 だからというわけでもないけれど,あまりアンダースコアに頼った命名規約は良くないと思う。 Google C++ Style Guide の「メンバー変数の末尾にはアンダースコアを付けろ」とか,ちょっと違和感を覚える。

    アンダースコアは控えめに - Radium Software
    beakmark
    beakmark 2008/12/02
    ダブルアンダースコアの件は知らなかった。メンバー変数の末尾にアンダースコアというのは別に違和感ない
  • BD-PG/BD-J(Blu-ray Java)プログラミング

    PS3で自作ゲームを作ろう♪ ※FW2.50でBD-Jが起動しなくなりました。 バージョンアップしてしまったので更新は停止ですorz Update history ・2008/10/09 四川省 Ver0.0.2 ・2008/10/06 四川省 Ver0.0.1 ・2008/10/03 エネルギーボール Ver0.0.1 ・2008/10/02 南京 Ver0.0.1 ・2008/09/30 解くぜ!!100マス!! Ver0.0.1

    beakmark
    beakmark 2008/08/24
    なるほど、PS3 で BD-J プログラミングかー。その手があったか。
  • C言語プログラミングに関するスモールトーク

    毎週お届けしているコラムも今年の12月には10周年を迎える。筆者は連載当初から参加しているメンバのひとりであり、10周年かと思うとなかなか感慨深いものがある。この10年を振り返ってという話題はまた別の機会に譲るとして、筆者自身はずいぶんと変化した。そのひとつに「連載当初はバリバリとプログラミングをしていた一方で、最近は自らコードを書くことがめっきり少なくなった」ということが挙げられる。「これが35歳定年説の実体か?」とも思いつつ、それでも先日、とあるプログラムを書くためにコードの森を探検するチャンスが久しぶりにあった。今回はそのときに気がついた「ちょっとしたトピック」を紹介しよう。 C言語によるオブジェクト指向プログラミング 世の中に「オブジェクト指向プログラミング」という考え方がある。古くから提唱されている概念であり、近代的なプログラム言語はほとんどオブジェクト指向でデザインされている

    beakmark
    beakmark 2008/07/22
    COOl や GObject ってのは知らなかった
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    beakmark
    beakmark 2008/07/21
    []今作ってるソフトで参考にする
  • 株式会社エス・スリー・フォー » テンポラリ・バッファとしての std::vector の利用

    テンポラリ・バッファとしての std::vector の利用 悩ましきテンポラリ・バッファ 一時的に必要となる領域、すなわちテンポラリ・バッファはプログラムのいたるところで用いられます。 void f() { char buffer[256]; ... } 上の例では256[char]のbufferをautomatic領域に確保しています。 場合によってはこのような固定サイズではなく、可変長のテンポラリ・バッファを必要とします。可変長のテンポラリ・バッファが必要なとき、通常opeartor newによってヒープ領域から確保するでしょう。 void f() { char* buffer = new char[N]; // Nは変数 ... delete[] buffer; } 当然のことながら、operator newによってヒープから確保した領域は、利用後速やかにoperator dele

    beakmark
    beakmark 2008/06/10
    「buffer.size() == 0 のとき、 &buffer[0] の値は不定となります」←これを踏んだバグにちょっと悩まされたorz
  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    beakmark
    beakmark 2008/06/01
    []たぶんカッコウの託卵とハッシュ関数の取り替えがかけられており、さらに「ハッチング(孵化)」と「ハッシング」がかけられていると見た。
  • Subversionのブランチをソースコードレビューに使う

    オンラインで行うソースコードレビューツールには、Review BoardRietveldなどいろいろある。 が、もっと簡単でお手軽な方法を見つけた。それは、 「Subversionのブランチをソースコードレビューに使う」 という物。 やり方:レビュー対象のソースコードを、ブランチしておく各自レビューを行い、ソースコードの中にコメントを書き込む。(必ずしも、/* */で括られている必要は無い)コメントをcommitするこれだけ。 コメントには、/* FIXME */とか、/* XXX */とか書いておくと、あとでgrepしやすくて良いかもしれない。 メリット:レビュアーが、好きなエディタが使える。導入がカンタン デメリット:レビューの内容をバグ表と関連付けるとか、直ったかどうか確認する、などの高度な事はできない

    beakmark
    beakmark 2008/05/31
    なるほど、それは面白い発想かも
  • 被害が続くSQLインジェクション攻撃,もう一度対策を見直そう

    2008年3月11日,不特定多数のWebサイトに対する大規模なSQLインジェクション攻撃が発生した。攻撃はターゲットとなるWebサイトのソースコードを改ざんし,攻撃者が用意した不正なWebサイトへのリンクを挿入するものである。セキュリティオペレーションセンター(SOC)でも,2008年3月11日~13日の間に,このSQLインジェクション攻撃を試行する通信を多数検知した。今回の攻撃はIIS(Internet Information Services),Microsoft SQL Server,ASP(Active Server Pages)を利用するWebサイトを対象としたものだった。 大規模なSQLインジェクション攻撃は3月後半から4月後半にかけても度々発生しており,世界的な被害の発生が報告されている 。いずれも,攻撃の方法およびその対象は3月11日に発生したものと同様であり,引き続き注

    被害が続くSQLインジェクション攻撃,もう一度対策を見直そう
  • BSS領域はだれが0クリアしているのか?

    702NK (1) 705NK (1) Activity (1) Adapter (2) add-on (1) AES (1) agile (3) amazon (2) Android (19) Android Studio (1) arm (2) assembler (1) bash (2) Bluetooth (2) book (3) bridge (1) C (13) cache (2) canna (1) catch.com (1) codereview (4) CPU (3) cruisecontrol (1) current (1) cygwin (1) debian (2) debug (2) dictionary (1) disklabel (2) distcc (2) DMA (2) Dropbox (1) embedded (2) encfs (1) english (

    beakmark
    beakmark 2008/05/16
    私の答えは 1。解答編wktk