マルチスレッドプログラムのバグ 首藤 一幸 産業技術総合研究所 グリッド研究センター 注: このページの文章は JavaWorld 誌 2002年 1月号に掲載された以下の記事の元原稿です。 JavaWorld 誌編集部の了承の元に、本ウェブページに掲載しております。 首藤一幸, "マルチスレッドプログラムに対するデバッギングの心得", 月刊ジャバワールド 2002年 1月号, pp.64-73, IDGジャパン, 2001年 11月 もくじ 序文 1. はじめに 2. レース状態 3. ロック 4. Java言語のモニタ 5. デッドロック スレッドの異常終了によるデッドロック Threadクラスのstop()とsuspend()メソッド 6. 再現性の低さ 7. 予防が肝腎 8. デバッグ assertion機能 デッドロックの検査 9. 注意一秒ケガ一生 参考文献 序文 スレッドは
索引ナビゲータは、様々な分野の情報やノウハウを共有して効果的に検索できるようにするシステムです。 いろんな索引を共有しましょう! 矢印キーで置換索引の中を飛び回って情報を捜すことができます。 ローマ字でインクリメンタル検索できます。 リターンキーを押すと選択項目のページにジャンプします。 索引のページと項目は自由に追加/編集できます。Enjoy! のIndexを hgのIndex vectorのIndex haruのIndex rのIndex emのIndex kのIndex idiomのIndex kensakuのIndex nikezonoのIndex oのIndex KeitaのIndex javaのIndex plaggerのIndex rubyのIndex EmacsのIndex lispのIndex videaのIndex FlashのIndex gtdのIndex otoma
bash の解説なんて、ネット上には結構あったりするのだが、これをわざわざ公開しようというのは、次の理由による。 某ソフトハウスでのUNIX講座用に書いてしまったから。 ネット上にある bash 解説だと、表面的な構文解説程度であり、きっちりスクリプト言語として使い倒すレベルの解説はあまりない。まあ、プログラミング言語として凝ったサンプルもやってみようじゃないの、というノリで割とディープに解説する。 アクセスを増やすための人気取り(苦笑)。 まあ、そんな不純な目的による bash 解説である。とはいえ、日常的に使い慣れている bash であっても、「え、こんな使い方があったの!?」という発見もあることであろう。苦笑しながらでも読んでくれたまえ。だから、初歩的なリダイレクションなんかは解説しないからそのつもりで。 ちなみに参考書としたのはオライリー・ジャパン刊「入門 bash 第2版」である
XUL(XML-based User-interface Language, ズール)はXMLに基づいたGUI記述言語で、MozillaのGUIを作成するために作られました。外見はCSS(Cascading Style Sheet)によって調整し、動作はJavaScriptによって記述します。XPConnectという仕組みを使ってMozillaのコンポーネントにアクセスすることにより、ファイル操作やソケット通信なども行うことができます。つまり、ごく普通のアプリケーション(Mozillaのような)が作れるわけです。GIMPのGUIを記述するためのGTK+が独自に発展し、GNOMEにも使われているのと同様に、XULもMozilla以外のアプリケーションを作成するために使われていく可能性があります。 XULの最大の長所はクロスプラットフォームだということです。LinuxのGUIもMacintos
アプリケーション用アイコン広場 当サイトはアプリケーション用アイコン配布サイトです。 ソフトウェアのツールバーなどにご利用頂ける素材を制作しています。 加工自由 有料・無料ソフト共に無料&連絡不要 Web素材、デスクトップ素材としても利用可能 >> 詳細
まもなく(2月3日から)Visual Studio 2005(以降、VS 2005)製品パッケージの店頭販売が開始される。それに当たり、どのエディションを買うべきか迷っている読者諸氏も多いのではないだろうか。VS 2005には次に挙げたような多数のエディションが用意されており、それぞれの推定小売価格も無償~75万円以上と幅広いので、さらに迷いは深まるだろう。 VS 2005 Express Edition(以降、VS 2005 Exp): → 無償でダウンロード提供中(無償提供期間は2006年12月14日までの1年間の予定)。パッケージ版は4800円。 VS 2005 Academic Edition: → 4800円。ただし学生向け。Standard Edition相当。 VS 2005 Standard Edition(以降、VS 2005 Std): → 2万9800円(アップグレー
(thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu
本ページの情報は、2016年10月時点のものです。2023年10月に再構成をいたしました。 なお、内容に変更はありません。 2016年10月版 2002年2月に「Webプログラマコース」と「製品プログラマコース」、2007年の6月に「Webアプリケーション編」、9月に「C/C++編」と分けて公開してきた講座のうち、原則を中心として共通的なものをまとめて2016年10月に再編しました。 なお、資料内の参照先はすべてサイトリニューアル前のURLであるため、リダイレクトを設定しています。 セキュア・プログラミング講座(2016年10月版/2017年6月一部修正)(PDF:2.3 MB) 2007年版 「ソースコード検査技術の脆弱性検出能力向上のための研究」(注釈1)を実施した一環として取りまとめた内容を、2002年から公開していたセキュア・プログラミング講座(旧版)の改訂版(2007年版)として
A "Hello, World!" program is usually a simple computer program that emits (or displays) to the screen (often the console) a message similar to "Hello, World!". A small piece of code in most general-purpose programming languages, this program is used to illustrate a language's basic syntax. Such a program is often the first written by a student of a new programming language,[1] but it can also be u
P2P basic P2Pとは何か?〜基礎から研究紹介まで〜 最近,P2Pという言葉を良く聞きます。ニュースの中でも「P2Pを意識している」とか「P2Pの研究に着手」というニュースを聞いたことがあるのではないでしょうか? しかしながら,P2Pとは何かいまいちわからなかったり、どんなことに役に立つのか調べにくいことも確かです。 またP2Pの動向は激しく,その流れについていくのも大変です。 私は情報系の研究所でP2Pの研究開発をしていました。 そのため、このような現状を踏まえてP2Pの基礎から私の研究まで重要な部分を なるべくわかりやすく紹介致します。 また用語についてはわかりやすさを優先するために一部不正確なところがあるのでご了承下さい。 質問,コメント等はメール(tnishita@yahoo.co.jp) にて連絡して頂くと,ページ改良の参考になりますのでよろしくお願い致します。 P2Pに
現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基本的な部分は同じですし、命令セットの異なるプロセッサでも、基本的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基本的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命令
Welcome to SWIG SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Javascript, Perl, PHP, Python, Tcl and Ruby. The list of supported languages also includes non-scripting languages such as C#, D, Go language, Java inclu
Epeg で JPEG ファイルのサムネイルを高速に生成する Epegは JPEG ファイルのサムネイル (縮小画像) を高速に生成するライブラリです。JPEG に特化した手法でサムネイルの処理を行うため、内部的に画像をビットマップに伸張せず、高速かつ少ないメモリで処理できるのが特徴です。 インストール Epeg は Debian パッケージになっていないようなので、ソース (ダウンロード) からインストールしました Epeg は内部的に libjpeg を使っているため、Debian GNU/Linux では sudo apt-get install libjpeg62-dev で事前にインストールしておく必要があります。 Epeg そのものは ./configure && make && sudo make install でビルド・インストールできます。 サンプルコード Epeg の
計算機を使っていると、何でこんなことを覚えないといけないのだ ろうか、とストレスを感じつつも、それを覚えないとソフトウェア を使いこなすことができないためにしぶしぶ覚えなければならない、 といった類いのノウハウは多い。そうした雑多なノウハウのことを、 本来は知りたくもないノウハウという意味で、私はバッドノウハウ と呼んでいる。 バッドノウハウは、ソフトウェアの複雑怪奇な仕様が歴史的に引き ずられ、根本的な改善は行われないまま、そのノウハウが文書によっ て受け継がれることによって蓄積が進行する。Unix 上で広く使わ れているツールとしてはTeX, Emacs, sendmail, bind, perl, gnuplot, procmail などは、役に立つツールであると同時に、その 複雑怪奇な仕様によって長年に渡ってユーザを苦しめ続け、バッド ノウハウの温床として悪名が名高い。こうしたツー
1 安全なWebアプリ開発の鉄則2005 独立行政法人産業技術総合研究所 情報セキュリティ研究センター 高木 浩光 http://staff.aist.go.jp/takagi.hiromitsu/ Internet Week 2005 チュートリアル 2005年12月8日 配布資料 2 目次 • Webアプリの基本的な構成 – セッションIDによるセッション追跡 – セッションIDの配置 • セッション追跡に対する攻撃と防御 – セッションハイジャック – セッションライディング(CSRF:クロス サイトリクエストフォージェリ) – セッション固定化 • セッション追跡方式の欠陥 – 推測可能なセッション追跡パラメタ – 予測可能なセッションID – 稚拙な暗号の使用 • 権限確認の欠陥 – アクセス制御の欠如 – ユーザ識別の欠如 • 画面設計の問題 • 万が一に備えた適切な実装 •
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く