設計

設計

排他制御とデッドロックの基礎知識 初心者向けに図解!

はじめに 同時並行的に動く複数の処理でデータベースを更新する際、データベースの更新結果が不正になるケースがあります。それを防ぐ上で、ロック(排他制御)を用いた制御を行うことが有効です。しかし、ロックの使い方を誤ると、更新処理が先に進まなくな...
設計

要件通りに条件判定を記述するべき理由とは? 例を挙げて紹介!

はじめに これは私の経験則ですが、プログラムで業務ロジックを実装する際は、要件通りの条件判定を記述するべきです。たとえ、従属的に求まる条件で代替できるとしても、原則としてそれを使用するべきではありません。具体的に何が言いたいのか、なぜそう言...
設計

サブシステムとは? 金融系のシステムの例を挙げて説明!

はじめに 1つ部署や会社のシステムでは様々な業務を実現していますが、場合によっては、業務毎でシステム内で別々のシステムに分かれていることがあります。この分かれているシステムのことを「サブシステム」と呼びます。この記事では、サブシステムが生ま...
設計

設計書のメンテナンスのあるべき姿とは? 例を挙げて紹介!

はじめに 設計書はシステムの開発や運用・保守を行う上で欠かせないものですが、実際の現場では上手く活かされていないケースが散見されます。今回の記事では、設計書のあるべき姿と実態、そしてあるべき姿に近づけるための方針について書いていきます。 設...
設計

DNSキャッシュポイズニングとカムフラージュ攻撃の防御法

この記事では、「DNSキャッシュポイズニング」と呼ばれる攻撃手法と、その発展型である「カミンスキー型攻撃」について説明します。これは、情報処理技術者試験でも問われる内容です。特に、情報処理安全確保支援士試験を受験する際には内容を抑える必要が...