MacでのFlutter環境構築手順

Flutter公式サイト:https://flutterchina.club/setup-macos/ https://flutter.cn/docs/get-started/install/macos ディレクトリ「development」を作成する ターミナルを開く cd ~/development Flutterをクローンする git clone https://github.com/flutter/flutter.git 中国からFlutterにアクセスする際の制限がある場合、公式が提供するミラーサイトを使用 e ...

7月22日 17:52 投稿

LinkedListの内部構造と双方向連結リスト実装

java.util.LinkedList は、List、Deque、Queue の各インタフェースを実装する双方向連結リストです。これにより、リスト操作だけでなく、キュー・スタック・デックとしても利用可能です。 継承関係 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable 主要 ...

7月22日 17:23 投稿

訪問者パターンによるデータ構造と操作の分離

概要 訪問者パターン(Visitor Pattern)は、データ構造とその上での操作を分離する行動型デザインパターンです。このパターンでは、要素の集合に対して新たな操作を追加する際に、既存のデータ構造を変更することなく実現できます。 パターンの核心は、各要素が accept() メソッドを持ち、これにより外部の「訪問者」を受け入れる仕組みにあります。訪問者は要素ごとに異 ...

7月22日 16:37 投稿

Apache Shiro 認証・認可フレームワーク完全ガイド

1. アクセス権限管理とは 1.1 アクセス権限管理の概要 ユーザーが関与するシステムのほとんどでは、アクセス権限管理が必要です。これはシステムセキュリティの範疇に属し、ユーザーのシステムアクセスを制御し、セキュリティルールやセキュリティポリシーに従って、認可されたリソースのみにアクセスできるようにすることを指します。 アクセス権限管理は、ユ ...

7月22日 05:34 投稿

Javaコレクションフレームワークの基礎: List, Map, Set

前回はJavaの三大特性(カプセル化、継承、ポリモーフィズム)について復習しました。今回はコレクションフレームワークを解説します。 コレクションの概要 Javaの開発では、基本データ型やStringオブジェクトに加えて、コレクション関連のクラスを頻繁に利用します。コレクションクラスはオブジェクト自体ではなく、オブジェクトへの参照を格納します。本記事では説明の ...

7月22日 04:09 投稿

HashMapソースコード解析ノート

内部構造:配列+連結リスト+赤黒木 主要なポイント ハッシュ関数の攪乱処理 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); } このメソッドは、keyのハッシュ値に対して攪乱処理を行う。上位16ビットはそのまま保持し、下位16ビットと上位16ビットの排他的論理和(XOR)を計算し、その ...

7月22日 03:52 投稿

Javaリフレクションによる親クラスのフィールド取得

Javaプログラミングにおいて、リフレクションは実行時にクラスやオブジェクトの情報を調査し、動的にメソッドやフィールドを呼び出す強力なメカニズムです。リフレクションを使用する際、親クラスのフィールド情報を取得する必要がある場合があります。本記事ではJavaリフレクションを使って親クラスのフィールドを取得する方法を解説します。 リフレクションの基礎 ...

7月22日 01:44 投稿

Mavenプロジェクト管理ツールの概要と設定方法

Mavenプロジェクト管理ツールの概要と設定方法 Mavenはクロスプラットフォーム対応のプロジェクト管理フレームワークです。Apache Software Foundationが開発する成功したオープンソースプロジェクトとして、Javaベースのアプリケーション開発におけるプロジェクト構築、依存関係制御、プロジェクト情報管理を主な目的としています。このツールの名前は「熟練者」や「専門 ...

7月21日 23:19 投稿

Spring Bootにおける条件付きBeanの有効化: @ConditionalOnPropertyアノテーションの活用

@ConditionalOnPropertyによる条件付きBeanの定義 Spring Bootアプリケーションでは、特定の条件に基づいてBeanを登録したり、設定クラスを有効にしたりすることができます。その中でも、アプリケーションのプロパティ値に基づいてコンポーネントの有効/無効を切り替える際に非常に便利なのが@ConditionalOnPropertyアノテーションです。 このアノテーションは、指定された ...

7月21日 21:15 投稿

JavaでのRocketMQ順次消費の性能向上方法

1. 順次消費の仕組みと課題 RocketMQでは、メッセージキューごとに順次消費を保証します。例えば、あるトピックに4つのキューがある場合、同一キュー内でのみメッセージの順序が維持されますが、異なるキュー間では順序保証がありません。 順次消費の実装には次の3つのフェーズがあります: キューの再バランス処理: RebalanceServiceスレッドが定期的にキューの割り ...

7月21日 19:53 投稿