タグ

programmingに関するmitsuki_engawaのブックマーク (126)

  • X11

    Xlib - C Language X Interface 目次 1章: Xlib について 2章: ディスプレイ関数 3章: ウィンドウ関数 4章: ウィンドウ情報関数 5章: ピクスマップとカーソル関数 6章: 色管理関数 7章: グラフィックスコンテクスト関数 8章: グラフィックス関数 9章: ウィンドウマネージャとセッションマネージャのための関数 10章: イベント 11章: イベント処理関数 12章: 入力デバイス関数 13章: ロケールと国際化テキスト関数群 14章: クライアント間通信のための関数 15章: リソースマネージャ関数 16章: アプリケーションユーティリティ関数 付録A: Xlib 関数とプロトコルリクエスト 付録B: フォントカーソル 付録C: 機能拡張 付録D: 互換関数 用語集 X Japanese Documentation Project のホームペ

  • IBM Developer

    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 Developer
    mitsuki_engawa
    mitsuki_engawa 2006/05/19
    排他処理。たしかDragonflyBSDもノンブロッキング系だったような
  • 革命の日々! エンジニアのバッドノウハウ、マネージャーのベストプラクティス

    みなさん、バッドノウハウという言葉は聞いたことがあるだろうか。 現在は、いやなブログさんによる、バッドノウハウの来の定義からやや拡張されて、 uglyなソフトに人間のほうが間尺を合わせるダメな行為を指す意味で使われることが多いように思う。 しかし、これはほとんどエンジニアリング世界(だけ)で通じる言葉でマネージメントの世界でこういう言い方はまずしない。 たとえば、一部で悪名高い、「動いているコードは触るな」メソッドを考えよう。 これはエンジニアから見たら極めて悪辣かつバッドな行為だ。コードを理解せずに対処療法的に問題が出た部分だけを修正してしまうわけだから。 こういうのが積み重なると、こっちを直せばあっちが飛び出し、あっちを直せばこっちが火を噴く。というシステムが簡単に出来上がる。 で、これが何年も前から言われているのに全然なくならない。無くならないどころか減っていく気配すら見えないのは

    mitsuki_engawa
    mitsuki_engawa 2006/05/19
    「変更したくない」は「仕様不明瞭」「技術不足」「テスト不確実」とセットになってる気がする(遠い目
  • http://www.machu.jp/posts/20060516/p01/

    http://www.machu.jp/posts/20060516/p01/
    mitsuki_engawa
    mitsuki_engawa 2006/05/18
    hashのiterativityに伴う脆弱性の可能性の話。
  • Legacy Encoding Project

    Legacy Encoding Project † オープンソースソフトウェアでのレガシーエンコーディング(シフトJIS、日語EUC、7ビットJISコード)の文字コード変換で生じる問題の解決を目指すプロジェクトです。 プロジェクトIPA (情報処理推進機構) の 2005年度下期 オープンソースソフトウェア活用基盤整備事業 で「オープンソースソフトウェアにおける統一したレガシーエンコーディングの変換機能の開発」として採択され支援を受けています。 概要 IPA オープンソースソフトウェア活用基盤整備事業 キャラクタセットの詳細 cp932 cp51932 eucJP-ms ISO-2022-JP-MS 各キャラクタセットの対応関係 ↑

  • マウスジェスチャを実装する(Win32版):CodeZine

    はじめに 私はGUI環境で簡単にコマンドを送ることができるマウスジェスチャが大好きです。今回はそんなマウスジェスチャを作ってみましょう。なお、.NET版については別稿を参照してください。対象読者 C言語(またはC++言語)でWin32のプログラムを開発したことがある方。必要な環境 少なくとも32bitWindows環境が必要です。64bit環境でのテストはしていませんが大丈夫だと思います。設計 まずは構想を練らなければなりません。今回はサンプルなのでこちらで決めさせて頂きます。右ボタンが押されたら始まり、離されたら終わる。入力可能方向は4方向(斜め判定は無し)同じ方向への連続入力は無し(普通はこうすると思います)ある方向に動かすと反対側の移動量は0になる縦横の移動量を比較して多い方だけを考える(より自然な移動になる)ウィンドウの外に出てもしっかりと動作するようにする(これを行わないと変な

  • http://codezine.jp/a/article.aspx?aid=136

  • 複数のメール・ソフトに脆弱性,既存ファイルを破壊する恐れあり

    今回の脆弱性の概要(<a href="http://www.ipa.go.jp/security/vuln/documents/2006/JVN_84775942_MultiMailer.html" target=_blank>IPAの情報</a>から引用) 情報処理推進機構(IPA)とJPCERTコーディネーションセンター(JPCERT/CC)は5月9日,複数のメール・ソフトに見つかった脆弱性(セキュリティ・ホール)を公表した。細工が施された添付ファイルを開くと,そのファイルがユーザーの予期せぬ場所に保存され,既存ファイルが上書きされる可能性などがある。対策は,各ベンダーが提供する修正パッチや修正版を利用すること。 今回明らかにされた脆弱性は,添付ファイルのファイル名の取り扱いに関するもの。いくつかのメール・ソフトには,Unicodeで書かれた添付ファイル名を処理する際,パスの区切りを示

    複数のメール・ソフトに脆弱性,既存ファイルを破壊する恐れあり
    mitsuki_engawa
    mitsuki_engawa 2006/05/09
    メールに限らずIMとかIRCとかもかな。startupに何か突っ込まれたりするので意外に怖い。
  • 乱数のタネの新しい生成法 - SourceForge.JP Magazine

    広く知られているように、コンピュータだけでは真の乱数を発生させることはできない。だから、ソフトウェアで乱数が必要なときは、代わりに疑似乱数を使うのが一般的だ。暗号処理など「乱数」を使うアプリケーションは、したがって、一般に考えられているほど安全ではない。だが、こうしたコンピュータによる乱数発生の限界を超える試みがある。よく使われるのはシステム・クロックを使う方法だ。こうした人間が直接関わらない方法のほかに、人間の入力操作を直接的に利用する方法もある。 おもしろいことに、Googleを利用すると、人間が直接関わらない方法で乱数を発生させることができる。インターネットではWebページやドメインがひっきりなしに作られ変更され削除されており、絶え間なく無作為に動いている。したがって、Googleのデータベースのような巨大なデータの集まりから、乱数のタネを取ることができるのである。このタネ(種)とい

  • JVN#84775942: 複数のメールクライアントソフトにおける、Unicode の取り扱い不備によるディレクトリ・トラバーサルの脆弱性

    JVN#84775942 複数のメールクライアントソフトにおける、Unicode の取り扱い不備によるディレクトリ・トラバーサルの脆弱性 一部のメールクライアントソフトにおいて、Unicode で書かれた電子メールの添付ファイル名を取り扱う場合、特定の文字列の取り扱いにおいてファイル名の表示が実際と異なることや、ディレクトリトラバーサルが可能な問題があります。

  • 【中級】無駄なく確実にテストする II 結合テスト

    結合テストの目的は,単体テストが完了したプログラムを「機能」や「サブシステム」単位で組み合わせ,基設計書に定義された仕様を満たしているかどうかを確認すること。 代表的な手法は,(1)機能単位にプログラムを結合してテスト対象とする「ブラックボックス・テスト」,(2)さらにサブシステム単位に機能をまとめてテスト対象とする「動作確認テスト」の2つがある。 また,プログラムの結合はトップダウンで実施されるのが一般的だ。そのため,テストは結合された上位機能から順に実施され,呼び出される下位のプログラムの代わりには「スタブ」などを用いる*13。 II-(1):ブラックボックス・テスト このテストでは,テスト対象が「機能」となる。機能は,「複数のプログラムの集合体」であり,「データを入力すると,一意の出力データを得られる箱」と考えることができる。「ブラックボックス・テスト(機能テスト)」は,この中身の

    【中級】無駄なく確実にテストする II 結合テスト
  • はぢめてのぷろぐらみんぐ - 雑種路線でいこう

    気付いたら長男が保育園の年長になっていた.幼稚園の年長というと,ぼくがPC-6001のMicrosoft N-60 BASICで親父お手製のプログラムで足し算や引き算を覚えた頃で,テープレコーダからプログラムを読み込むために"load"とか"run"といった命令は覚えていたし,プログラム名を入力するためにアルファベットの小文字を覚えたり,だらだらとプログラムが流れるのが楽しくて,"list"というコマンドで遊んだりした頃だ.そろそろうちの子にも,お絵描きやWebブラウズやGoogle Earthばかりでなく,プログラミングの醍醐味を教えねば. あの時代はオープンソースも何も,プログラミングの方法としてはBASICと機械語しかなくて,売り物プログラムであっても,基的に何もかも丸見えであった.さっぱり中身は分からなかったけど,子供なりにBASICプログラム部分の定数を適当に書き換えて変化を眺

    はぢめてのぷろぐらみんぐ - 雑種路線でいこう
  • コード一行怪我一生 : 404 Blog Not Found

    2006年05月02日21:15 カテゴリBlogosphereLightweight Languages コード一行怪我一生 ソース嫁という主張にも一理あるのだけれども、ソース嫁派が見落としていることが一つある。 Amazonアソシエイトのtakochu04-22って何? - diary.yuco.net (2006-05-01) 全サイトはてブ化・その場コメント・ワンクリブクマというGreacemonkeyの拡張機能によるものでした。ソースを見たら確かに「takochu04-22」の文字が。ちなみに、この拡張機能の解説ページにすべてのアソシエイトIDを書き換える旨の断り書きは見当たりませんでした。 *「ふっかつのじゅもんがちがいます。」 - ソースを読めない人はgreasemonkeyを使ってはいけないgreasemonkeyスクリプトは危険なことができるので、自分でソースを読んで安全

    コード一行怪我一生 : 404 Blog Not Found
    mitsuki_engawa
    mitsuki_engawa 2006/05/03
    プログラマの倫理とか信用とか。
  • いやなブログ - 実行時のスタックの消費量を調べる

    実行時のスタックの消費量を調べる 先日の記事では checkstack.pl を用いて個々の関数がどのくらいスタックを消費するか調べる方法を紹介しました。今回は、実行時の実際のスタック消費量を調べてみます。 以下のコードでは次のような方法でスタックの消費量を調べます。x86_32 の Linux 用です。 最初に max_num_pages 分だけスタックを伸ばす 伸ばした分をすべて mprotect でアクセス不能にしてしまう SIGSEGV を拾って 1ページずつアクセス可能に設定する 最後に、何ページ使ったかを表示する このような処理を行う共有オブジェクトを作成して LD_PRELOAD してやれば、実行時のスタック消費量をページ単位で調べられるのではないか、という試みです。 #include <asm/page.h> #include <assert.h> #include <er

    mitsuki_engawa
    mitsuki_engawa 2006/04/28
    やっぱり地道にやるしかないのかな。
  • melancholic afternoon

    Windowsの場合, 4KBのページ単位でよければTIB(thread information block)経由でスタック消費量を取得できる. #include <winnt.h> int GetStackSizeByTIB() { NT_TIB *tib; __asm { mov eax, dword ptr FS:[18H]; mov tib, eax; } return (int)tib->StackBase - (int)tib->StackLimit; } 配列を使う関数で配列のサイズを少しずつ大きくしながらGetStackSizeByTIB()を見ると4KB単位で増えていくのを観察できる. 「スタックオーバーフローのハンドリング」が大変詳しそう. 昨日のプログラムでスタック領域をマジックナンバーで埋めるところで大きいアドレスから書き込んでいるのはそうしないと例外で落ちるか

    mitsuki_engawa
    mitsuki_engawa 2006/04/28
    スタック使用量チェック話
  • スタックオーバーフローのハンドリング (Stack Overflow Handling)

    作成日:2004.04.12 更新日:2006.02.19 更新記録 (2004.04.12) 3/6、 3/11、 3/13 の日記をまとめて作成。 (2004.05.07) 文章を修正。サンプルコードを追加。 (2005.01.20) alternative → alterante に修正。 (2005.02.13) 追記を記述。 (2006.02.17) linux_stack_info.cpp の実装に誤りがあったので修正。 (2006.02.19) BSD 系OS でのスタック領域情報の取得の仕方を追加 初めに C/C++ でプログラムをしているとつい忘れてしまうのがスレッドのスタックオーバーフローの問題。 最近の OS はスレッド当たり 2〜8MB のスタック領域を持っているため、よほどのことがない限りスタックが溢れてしまうことはない。 だが、再帰や alloca を積極的に使

    mitsuki_engawa
    mitsuki_engawa 2006/04/28
    スレッド環境も含めた、スタック管理や例外について。
  • IBM Developer

    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 Developer
  • Win32 サンプル集

    ドキュメントの内容は保証しません。ドキュメントによって生じた結果について、一切の責任を負いません。

  • 革命の日々! シーケンスロック その5 volatileがダメな理由

    どもども。またまた間隔があいてしまいましたがシーケンスロックな話しの続きです。 前回の記事で坩堝さんから面白い指摘をうけたので今回は予定を変更してvolatileの話をしたいと思います。 retをvolatileにするだけではうまくいかないんですよね? どういう風になるんだろ. なるほど、たしかに世のC言語の参考書を見るとvolatileはある種の最適化を妨げる効果を持つと されています。 これだけ見ると、volatileとつけるだけすべての最適化が無効になってうまく動きそうですね。 しかし、その理屈は微妙におかしいのである 多くの人が「ある種の」という言葉を拡大解釈しているがvolatileは来スレッド同期に使えるようなシロモノではないのである。 つづきは、続きを読むからご覧ください。 あと、お願い。 今回の話は前提知識がいろいろとあるので、末尾のご参考にあげたURLを読んでから 読ん

    mitsuki_engawa
    mitsuki_engawa 2006/04/06
    volatileがスレッド同期に使えない話。
  • KENJI

    更新履歴 DNS拡張EDNS0の解析 Linuxカーネルをハッキングしてみよう Windowsシステムプログラミング Part 3 64ビット環境でのリバースエンジニアリング Windowsシステムプログラミング Part2 Windowsシステムプログラミング Part1 Contents インフォメーション 「TCP/IPの教科書」サポートページ 「アセンブリ言語の教科書」サポートページ 「ハッカー・プログラミング大全 攻撃編」サポートページ ブログ(はてな) BBS メール このサイトについて テキスト 暗号 詳解 RSA暗号化アルゴリズム 詳解 DES暗号化アルゴリズム crypt() アルゴリズム解析 MD5 メッセージダイジェストアルゴリズム crypt() アルゴリズム解析 (MD5バージョン) TCP/IP IP TCP UDP Header Format(IPv4) Ch