Qtフレームワークでの設定情報のシリアライズと復元

アプリケーション状態の永続化 一般的なデスクトップアプリケーションでは、ユーザーが最終的に終了した時の状態(ウィンドウのサイズ、選択されたフォント、ツールバーの表示状態など)を、次回起動時に復元することが求められます。これを実現するには、アプリケーション終了時に状態をファイルやデータベースに保存し、起動時にそれらを読み出す処理が必要です。 設定 ...

5月27日 16:04 投稿

Javaにおける文字セットと文字ストリームの処理

文字セット 文字とバイナリデータ間の対応関係を定義したマッピングテーブルです。 バイトはコンピュータの基本的な記憶単位であり、文字は特定の規則とエンコーディングによって構成されたテキストです。 一般的な文字セット ASCII文字セット 基本的な文字エンコーディング標準で、128文字を含み、英字、数字、一部の記号のみを扱います。 1バイトで1文字を表現します。 ...

5月22日 05:20 投稿

単一インスタンスの保証を破壊する方法とその対策

単一インスタンス(シングルトン)とは シングルトンパターンは、システム内で特定のクラスのインスタンスがただ一つしか存在しないことを保証する生成系デザインパターンです。主に「イーガン式(Eager Initialization)」と「レイジーローディング式(Lazy Initialization)」の二種類があります。前者はクラスロード時に即座にインスタンスを生成し、後者は最初のリクエ ...

5月18日 05:15 投稿

Django REST Frameworkにおけるシリアライザとモデルシリアライザの詳細

標準ストリームと内部クラスの基礎 開発の準備段階として、Pythonの標準ストリーム(入力、出力、エラー)の理解と、Djangoモデルでよく使用される内部クラス(MetaクラスやChoicesなど)について確認します。 標準ストリームの操作 Pythonのsysモジュールを使用して、標準出力や標準エラー出力を制御できます。デバッグやログ出力時に役立ちます。 import sys # 標準出 ...

5月17日 21:57 投稿

Redis Sorted Set 削除が効かない原因と回避策

Spring Data Redis の ZSetOperations.remove(K key, Object… values) を使っても、値を「更新した後」に削除しようとすると 該当メンバーが見つからず削除できない という現象が発生した。本記事では再現手順と回避策を示す。 事象の概要 新規レコードを追加(addData) 一部フィールドを変更して再追加(updateData) 更新後の値を指定して削除(removeData) 3 の時 ...

5月11日 06:03 投稿