はじめに この記事は、インドリ氏による『スレッドセーフとインテルTBBのコンテナ』に記載されている誤りを訂正することを目的としています。インドリ氏の記事では、TBBコンテナの紹介に注意するあまり、マルチスレッドプログラミングに潜む危険、その危険を取り除く方法についての記述が正しくありません。本記事では、マルチスレッドプログラミングを安全に設計する方法を説明することを目的とします。 本記事で用いるコードは、C言語に類似していますが、C言語ではありません。振る舞いを理解していただきやすくするための仮想言語です。実行できる環境はありません。 「競合」という問題 ここに、1つのリンゴがあります。そして、2人の人が、そのリンゴの前にいます。ここで2人に向かって「リンゴを食べて良いですよ」とだけ言うと、どうなるでしょうか。お互いに譲り合うか、もしくは取り合いをするでしょう。ここで2人が仲良くリンゴにあ
はじめに CPUは、コンピューターの頭脳です。単純に考えると、頭脳が2つあれば、1つの時と比べて、同じ時間でたくさんのことを考えることができそうです。10年ほど前、Intel製プロセッサーPentium IIの頃から、1枚のボードに複数のCPUを載せて高速化する試みがなされました。Intel製CPUでは2ユニットまででしたが、SUN Microsystems製のコンピューターでは、もっとたくさんのユニットを載せることができていました。今では、CPU自体に複数の「コア」を載せ、1ユニットで同時に別々のことを実行できるようになっています。 ハードウェアが、同時に複数のことを実行できるようになったため、ソフトウェアもそれに対応する必要が出てきました。本記事では、昨今あちらこちらで声高に繰り返される、「並列処理化すれば速くなる」に疑問を持ったため、それを検証することにします。 対象読者 なんといっ
攻撃対象として狙われやすい文字列処理 文字列は、プログラムとユーザ、プログラムとプログラム間のインタフェースとして利用されるのをはじめ、XMLなどテキスト形式で表現された情報を処理する際にも利用されます。データのみならず、プログラムの挙動に直接影響する動作パラメタや設定情報など様々な情報がテキスト形式で表現されるにつれ、文字列を処理する機会が増加すると共に、文字列を処理すること自体の重要性が高まっています。 攻撃者にしてみれば、プログラムの挙動を操作しうる文字列処理の不備を突く機会も多く存在することになるため、文字列操作エラーを作り込まないことが求められます。文字列操作に関するプログラミングエラーはいくつかありますが、今回は基本的であるが間違いを犯しやすい文字列のNULL終端エラーについて解説します。 NULL終端エラー 文字列型を持たないC言語において、文字列は文字型の配列で表現されます
はじめに 皆さんこんにちは。JPCERTコーディネーションセンターという組織でセキュアコーディングに関する取り組みに携わる筆者らが、これからこの連載を担当させていただくことになりました。どうぞよろしくお願いします。なお、JPCERTコーディネーションセンターは、情報セキュリティインシデントへの対応支援や、ソフトウエアの脆弱性(いわゆるセキュリティホール)に関する製品開発者間における公開日の調整や関連情報の公開なども行っています。 この連載では、バッファーオーバーフロー等の脆弱性をうっかり作り込んでしまったがために、数千万円ものコストをかけて、ユーザに告知し、製品を回収して、工場でファームウェアをアップデートする事態に陥ったり、あるいは脆弱性を放置してユーザを危険にさらし、それが明るみに出て「世間を騒がす」ことになったりしなくても済むように、そもそもの製品開発時からセキュアなプログラムを書く
AIST CCFinderX 旧バージョン ライセンス (誤解を招くとのご指摘を受け、2006/10/17に表現を改訂いたしました。旧ライセンスについては、こちらをご覧ください。) CCFinderXフリーウェアライセンス 本ソフトウェアは修正せず、他のソフトウェアに組み込まない限りにおいて自由 に再配布することができます。 ライセンスキーや解凍パスワードを他人に渡すことを禁止します。 使用目的が、教育、研究、(商用・非商用を問わず)組織内での利用、本 ソフトウェアの評価のいずれかであれば、本ソフトウェアを無料で利用でき ます。 コンサルティングや不特定多数へのネットワークサービスを使用目的として、 本ソフトウェアを利用することを禁止します。(そのような目的には 商用ライセンスが必要です。) 本ソフトウェアは”現状のまま” 提供されるものとします。本ソフトウェア については、明示黙示を問わ
リテールテック JAPAN 2024 社会課題や環境問題の解決、顧客体験の向上、従業員の効率化など、次世代の小売業の未来をDX変革する新たな取り組みをご紹介
ソースコード・ドキュメンテーション・ツール Doxygen は、C++、C、Java、Objective-C、Python、IDL (Corba、Microsoft 風)、Fortran、VHDL、PHP、C# 向けのドキュメンテーション・システムです。 D にもある程度対応しています。 Doxygen には、次の3つの利点があります。 文書化されたソースファイルのセットから、 オンライン・ドキュメント・ブラウザ (HTML形式) やオフラインのリファレンス・マニュアル (形式) を生成することができます。 RTF (MS-Word)、PostScript、ハイパーリンク PDF、圧縮 HTML、Unix man ページ形式の出力もサポートされています。ドキュメントは、ソースから直接抽出されます。これにより、ドキュメントとソースコードの一貫性を保つことがとても容易になります。 Doxyge
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く