nullチェック不要!Objects.equalsで比較をしよう【Java】

Objects.equalsで比較をしよう

文字列やObjectを比較するのにStringクラスのequalsメソッドを用いて比較する場合がある.このメソッドはjava.lang.NullPointerExceptionの危険性がある.このメソッドを使用してObject同士を比較するとき,比較前のObjectがnullの場合にExceptionが発生する.このExceptionを防ぐためにObjects.equalsで比較することでnullチェックを同時に行い,nullの場合でも比較することができる.

続きを読む

図で掴む!ロールフォワードとロールバックを用いたデータベースの障害回復手法【基本情報】

ロールフォワードとロールバックを用いたデータベースの障害回復手法

データベースの障害が発生したときに復旧する方法として,主にロールフォワードロールバックの2種類の手法がある.いずれも原子性(atomicity)を維持するために行われる.復旧にはフルバックアップファイル(データベースの全データをバックアップしたファイル)とログファイルを用いる.ログファイルにはデータベースの更新前と更新後の情報(ジャーナルファイルとも呼ぶ)を書き出す.

続きを読む

データベースのデータの整合性を保つトランザクション処理【基本情報】

データの整合性を保つトランザクション処理

トランザクションとは一連の処理をひとまとめにしたもので,DB(データベース)の更新には非常に重要な概念.例えば商品を注文して購入する場合以下のトランザクションが考えられる.

  1. トランザクション開始
  2. 利用者が商品を注文する
  3. 在庫を管理しているテーブルの街頭の商品の在庫を1減らす
  4. 購入者テーブルに購入者のIDを追加する
  5. トランザクション終了
続きを読む

事故リスクを抑えるためのサーバーとロードバランサとデータベースのシステム構成【基本情報】

事故リスクを抑えるためのシステム構成

停止してしまうと社会的な影響が大きかったり,深刻なダメージを及ぼしてしまうシステムのことをミッションクリティカルなシステムと呼ぶ.航空システム,発電システム,銀行や為替の売買システム,LINE等のスマホアプリ,paypay等の決算システムが当てはまる.

システムによって冗長構成を組んだり,不可分散を行うなどして事故を回避する.基軸となるシステムがダウンした場合でも,別ルートでシステムの継続を行えるようにする必要がある.

続きを読む

代表的な入出力インターフェース【基本情報】

PCはCPUや補助記憶装置,主記憶装置,入出力装置などが相互に接続されて構成されているが,周辺機器とPCを接続するための装置の規格を入出力インターフェースと呼ぶ.ケーブルの規格やコネクタ形状,データ転送方法の規格等も入出力インターフェースに含む.

続きを読む