タグ

programmingに関するkkobayashiのブックマーク (84)

  • System V IPC - s-kita’s blog

    System V IPC System V メッセージキュー System V セマフォ System V 共有メモリ System V IPC用の関数 メッセージキューセマフォ共有メモリ ヘッダ 作成、オープン、削除msggetsemgetshmget 制御用関数msgctlsemctlshmctl IPC操作用関数msgsnd, msgrcvsemopshmat, shmdt key_tとftok関数System V IPCは名前にkey_t(ヘッダ)値を用いる。 ftok関数は、既存のパス名と整数の正規別氏を、key_t値(IPCキー)に変換する。 #include <sys/ipc.h> key_t ftok(const char *pathname, int id); 戻り値:成功ならIPCキー、エラーなら-1この関数は、pathnameとidの下位8ビットを組み合わせて整数のI

    System V IPC - s-kita’s blog
  • 試訳 - コードをセキュアにする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
    kkobayashi
    kkobayashi 2008/01/05
    基本的なことばかりだけど、肝に銘じておこう
  • IEコンポーネントの使い方 [VC++の使い方]

    IE4.0からIEコンポーネントを使えるようになりました。IEコンポーネントは、Donutなどの国産タブブラウザのほか、色々なアプリケーションで利用されています。 IEコンポーネントは、MFCのCHTMLViewを使えば簡単に作ることができますが、MFCを使いたくない場合もあります。この場合、ATLを選択するのが通常ですが、世の中のドキュメントの大半は ATL と AppWizard を組み合わせた使い方しか載っていません。ここでは、SDK的にIEコンポーネントを使う方法を取り上げます。 サンプルコードはこちら(35.9KB)(2002.12.15、プリコンパイル済みヘッダが見つからないエラーが出ないようにしました)。これをDLして解凍してください。詳細は、ソースファイルの中のコメント参照と言うことでお願いします。100行ほどのソースですので、ぜひ読んでみてください。 このサンプルでは、ダ

    kkobayashi
    kkobayashi 2007/12/11
    IEコンポーネント。ウインドウの外観もいじれるのかしら?
  • LLいろいろ、スコープいろいろ : 404 Blog Not Found

    2007年12月01日18:45 カテゴリLightweight Languages LLいろいろ、スコープいろいろ このスコープの「レキシカルさ加減」が、実は言語によって結構違うので、この機会にちょっとつっこんでおくことにする。 ハタさんのブログ : javascriptを初めて学ぶ人についてのおさらい。その1 変数で宣言したものには、参照先が決まっています。その参照の範囲はスコープとも呼びます。ここでいきなり問題。以下のコードは何をalertするでしょうか? (function(){ var i = -1; for(var i = 0; i < 10; i++){ /* whatever */ } alert(i); })() (function(){ var i = -1; for(var i = 0; i < 10; i++){ /* whatever */ } alert(i);

    LLいろいろ、スコープいろいろ : 404 Blog Not Found
    kkobayashi
    kkobayashi 2007/12/02
    うわ、Rでも10になった。Rのenvironmentに関して真面目に調べる必要がありそうだ
  • ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40

    高校生の時、数学の先生がこう言いました。 ゲームなんて、開発者が作ったルールの上で遊ばれるだけだ。 と。 その時、ゲーマーな自分はこう思いました。 ゲーマーは、開発者が作ったルールの上で遊ばれたい。 と。 というわけで、普段何気なくプレイしているゲームには、どのようなルール(アルゴリズム)があるのか。それを知るために、いろいろなゲームのアルゴリズムなどを解析しているページへのリンク集を作りました。 ほとんどのゲームのアルゴリズムは正式に発表されていないので、ユーザーの手による逆解析だったり、大学の研究による真面目な考察だったりします。(リンク先には、一部アルゴリズムと呼べないものも含まれています) 各種ゲームのプログラム解析 ドラクエ、FF、ロマサガのプログラム解析 DQ調査報告書(リンク切れ) ドラクエの物理ダメージ計算式は質的にどれも同じだが、細かい部分で微妙に違う RPG INST

    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
    kkobayashi
    kkobayashi 2007/11/27
    乱数テーブル、物理演算、画像処理、ゲーム理論・・・ゲームプログラミングはむずかしー。楽しそうだけど。
  • GUIプログラミングのパターンを知りたい : akiyan.com

    GUIプログラミングのパターンを知りたい 2007-08-13 衝動的にCakePHP以外のプログラミング話エントリー。 まずはsubtech - Pink Blossom Diary - AS3/Flex2 を使い始めて約半年より。 まずイベントドリブンなプログラミングに慣れてないのが一つで。Flex のイベントや自前イベントやをただ単に投げまくってると、とりあえずは動くけど後からメンテし辛いスパゲッティコードができあがる。このスパゲッティコードは goto 文が乱立するコードよりも酷く、goto だったら割と行き先は把握できるけど、イベントを投げまくってるだけだと、どこでどのオブジェクトがこのイベントを受け取るかが解らない。解りづらい。いちいちソースコード grep ですね、おめでたいですね。あのイベントが発生してから、そのイベントが終了したら発生するイベントが終了したらウィンドウ閉じ

  • Snail Blog (beta) » 開発者に重宝なチートシート一覧

    kkobayashi
    kkobayashi 2007/06/01
    ちーとしーと。便利かも。
  • IBM メモリー管理の内側 - Japan

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM メモリー管理の内側 - Japan
    kkobayashi
    kkobayashi 2007/04/30
    mallocの中身。うーんなるほど
  • スペル修正プログラムはどう書くか

    Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Google

    kkobayashi
    kkobayashi 2007/04/28
    ベイズとか出てきておっきした
  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
    kkobayashi
    kkobayashi 2007/04/25
    その名のとおり。コピペすべし
  • Kednos PL/I for OpenVMS Systems

  • http://www.argv.org/~chome/ctrl-c.html

  • フリップフロップ - 結城浩のはてな日記

    「時をかける少女」と「パプリカ」。どちらも筒井康隆。偉大だ…。 追記:「日以外全部沈没」もそうなんですね。これ読んでないなあ(たぶん)。 フリップフロップのように働く演算子 .. が話題になっている。 http://naoya.g.hatena.ne.jp/naoya/20061222/1166754815 http://blog.livedoor.jp/dankogai/archives/50720796.html 演算子が状態を持っているというのがすごいよね。 while (<DATA>) { if (/^3/../^5/) { print; } } __END__ 1111111111 2222222222 3333333333 4444444444 5555555555 6666666666 7777777777 8888888888 9999999999 1111111111

    フリップフロップ - 結城浩のはてな日記
    kkobayashi
    kkobayashi 2006/12/24
    おおお、これはすげえ。
  • PNGファイル(2)  PNG操作の手順

    PNG配布ファイルにある説明があまりに冗長で的を得ないので、なんとかまとめて書き出しました。 ほとんど libpng.txt からの流用なんですが、正直 libpng.txt を真っ向から読むのはだるいので、 とりあえず下記の文を読んで予備知識を積んでからlibpng.txtを読むといいんじゃないかな~と思います。

  • 伝説のお茶の間

    このサイトのソフトおよびライブラリは 全てフリーです よかったら使ってやって下さい 当サイトはリンクフリーです。 last update 2010.02.13 更新履歴 伝説のお茶の間、略して「伝茶」です。 gmaruz@gmail.com G丸 001 テンプレートを使った汎用リストクラスを実現 します。 001-01 拡張リスト・ク ラス   テンプレートを使ってXLIST<クラス名> 変数名; でリスト・クラスが出来ます 001-02 拡張リスト・ク ラス(ポインタリスト編)   XLISTを拡張しポインタリストを作ります 001-03 拡張リスト・ク ラス(クイックリスト編)   高速push,popの可能なリストを作ります 001-まとめ 拡張リスト・クラス テンプレートを使った汎用リストクラスのまとめです 002 MIDI再生 002-01  MIDI 再生の基  MIDI再

    kkobayashi
    kkobayashi 2006/12/21
    PNGとか。
  • プログラミング・ツール(自作ソフト)

    ここでは、ソフトウェア製作の際に役立つ(と思われる) 自作ユーティリティ・ソフトを公開しています。 ここにあるソフトはすべて、Win32 Console Application です。 MS-DOS プロンプト(Windows 95/98/Me) や コマンドプロンプト (Windows NT/2000/XP) から起動して使います。 ここにあるソフトのほとんどは、他のソフトを作っていて必要になり、 即席で(数十分程度で)作ったものです。なので、ごく簡単なものがほとんどです。 また、すべてにC言語によるソースコードが同梱されています。ただし、 マニュアル (README) が入っていないものもありますので、そういう場合は、 このページの解説を見て使ってください。 ここにあるソフトは、明示的な記述のない限り、PDS (Public domain software) 扱いとします。作者(私)は

    kkobayashi
    kkobayashi 2006/12/21
    アプリの時間測定。コレは便利かも
  • 画像処理と音声処理プログラミング

    Windowsのフレームバッファ「デバイス独立ビットマップ(DIB)」による画像処理とWave音源による音声信号処理の実験室です。 グラフィック処理 Windowsのフレームバッファ(DIB)機能を利用して、画像処理で遊んでみましょう。単純な計算で色成分を変えてやることで、画像が文字通り「見違える」のは、なかなか楽しいものです。 画像処理プログラムは、大きめの画面で実行した方が「画像処理の効果」を確認しやすくなります。 サンプルソースは、C言語とWin32APIの組み合わせで記述していますが、HTML5(JavaScriptとCanvas要素)などでも同様の考え方で画像処理を行うことができます。 モノクロ(単一色)階調表現への変換(1999/10/ 6) モザイクをかけてみる(1999/10/ 6) カラーテーブルで色を変える(1999/10/ 6) 抜き色による透過イメージ(スプライト)

  • Super Technique 講座~longjmpと例外

    プログラムの流れを制御する手段として、いわゆる「構造化構文(for とか if とか)」、悪名高い「goto 文」などがあるのは周知のことだが、かなり特殊なものとして、「setjmp, longjmp」による「非ローカル分岐」と呼ばれるものがある。この「非ローカル分岐」は「非ローカル」と言うだけあって、ある関数の中から、別な関数に制御を移すことができたりする。まあ、そのために乱用すべきではなく、注意して使わなくてはならないライブラリ関数なのだが、実はこれは JavaC++ で言語の上で実装されている「例外」の基礎となるものである。だから、まずこの標準ライブラリ関数「setjmp, longjmp」について解説しよう。 → Java 講座の「例外」 setjmp, longjmp とは どうやって実現してるの? setjmp/longjmp の利用例~インタプリタ 補追1:setjmp

    kkobayashi
    kkobayashi 2006/12/21
    setjmp/longjmp。凶悪だ・・・
  • Java Programming Tipsクラスローダーを自作する方法

    【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu

    Java Programming Tipsクラスローダーを自作する方法
    kkobayashi
    kkobayashi 2006/11/01
    あら、はてなでJava
  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

    kkobayashi
    kkobayashi 2006/10/23
    Rubyはたくさん関数があるなあ。もちろんこの人がRubyを基準にしてるってのもあるんだろうけど。