Java
いつの間にか GitHub に「GitHub Packages」という機能がついて、自作のライブラリ等を公開できるようになっていたので、Java のプロジェクト管理ツール Apache Maven からの使い方を試してみました。Maven から GitHub Packages を使う方法は公式のドキュメ…
前回の記事『32bit Windows マシンに Java 10 をインストールする - 倭マン's BLOG』で、32bit Windows マシンに Java 10 をインストールする方法を見ましたが、ビルドツールをインストールしていなかったので手動でコンパイルしていました(【追記】したよ…
以前の記事『32bit Windows マシンに Docker CE をインストールする - 倭マン's BLOG』で、32bit Windows マシンに Docker CE をインストールする方法を見ましたが、Docker と同じように 64bit マシンでしか動かない Java 10 を、同様の方法を使って Vagrant…
ちょっと流行ってるようなので、オライリーの『Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術』を買って読んでるのですが(買って2週間くらいだけどまだ2章までしかいってねぇ)、1章・2章に載っている Go によって書かれた簡易サーバを J…
前々回、前回で int 値に対するビット演算を見ましたが、今回は byte 値に対する同様のビット演算を見ていきます*1。int 値に使える論理演算 ~, &, |, ^ やビットシフト <<, >>, >>> は byte 値に対しても使えますが、根本的な違いは返り値が int 値であると…
前回に引き続き、今回はビットシフトに関連する演算子を見ていきます。 ビットシフト演算子には、左シフト (<<)、右シフト (>>)、符号なし右シフト (>>>) の3つがあります。 最初は右シフトと符号なし右シフトの違いが分かりにくいかと思いますが、動作に違…
昨今、若者のビット演算離れが叫ばれてる、かどうかは知りませんが、ちょっとビット演算で気になったことがあったので復習も兼ねてビット演算をあれこれ試してみました。 ビット演算の解説は世に山のようにありますが、実際自分であれこれ書いてみないとどう…
確かめてみました: 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 11! = 39916800 12! = 479001600 Integer.MAX_VALUE = 2^31 - 1 = 2147483647 13! = 6227020800 14! = 87178291200 15! = 13076…
こちらの記事『これからの「Java I/O」の話をしようwww (13) : 続々・ファイル、ディレクトリの属性 - 倭マン's BLOG』で、Java nio で ACL (Access Control Listアクセス制御リスト)を設定する方法を見ましたが、設定するのがちょっと面倒。 まぁ、一度…
『現場で使えるJavaライブラリ』で紹介されているライブラリをめもめも。 ライブラリ名の前に*が付いているものはコラムレベルで扱われているものです(裏表紙には載ってるけど、目次には載ってない)。第1章 基本ライブラリ ライブラリ ライセンス Grape/Gr…
自作のアノテーションを作成するときにターゲットとなる要素を考える必要がありますが、そのときに必要となる java.lang.anntotation.ElementType の使用方法をメモ。java.lang.annotation.ElementType 一覧 ElementType の要素 アノテーションを付加できる…
さぁ、ラストの Visitor パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Visitor パターンの登場人物 @Visitor → 型 elementType : Class @Visit → メソッド @ConcreteVisitor → 具象クラス visitorType : Class @Element…
今回は State パターン(一覧)。 Wikipedia (English) LePUS3 and Class-Z State パターンの登場人物 @Context → 型 stateType : Class @StateInstance → フィールド @State → 型 @ConcreteState → 具象クラス stateType : Class アノテーション定義 上記の…
今回は Observer パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Observer パターンの登場人物 @Subject → 型 observerType : Class @Observers → フィールド @AddObserver → メソッド @DeleteObserver → メソッド @Notif…
今回は Memento パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Memento ・・・記念の品,形見; 思い出の種Memento パターンの登場人物 @Caretaker → 型 mementoType : Class @Originator → 型 mementoType : Class @CreateMemento → メソッ…
今回は Template Method パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Template Method パターンの登場人物 @AbstractClass → 型 @TemplateMethod → メソッド @PrimitiveMethod → メソッド method : String @ConcreteCl…
今回は Strategy パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Strategy パターンの登場人物 @Context → 型 strategyType : Class @StrategyInstance → フィールド @Strategy → 型 @ConcreteStrategy → 具象クラス stra…
今回は Mediator パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Mediator パターンの登場人物 @Mediator → 型 colleagueType : Class @CreateColleagues → メソッド @ColleagueChanged → メソッド @ConcreteMediator → 具象クラス mediatorT…
今回は Iterator パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Iterator パターンの登場人物 @Aggregate → 型 iteratorType : Class @CreateIterator → メソッド @ConcreteAggregate → 具象クラス aggregateType : Class…
今回は Interpreter パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Interpreter パターンの登場人物 @Context → 型 expressionType : Class @AbstractExpression → 型 @Interpret → メソッド @TerminalExpression → 型 expressionType : Cla…
今回は Command パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Command パターンの登場人物 @Command → 型 @Execute → メソッド @ConcreteCommand → 具象クラス commandType : Class @ReceiverInstance → フィールド @Receiver → 型 concret…
今回は Chain of Responsibility パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Chain of Responsibility パターンの登場人物 @Handler → 型 @Next → フィールド @Request → メソッド @ConcreteHandler → 型 handlerType : Class Client → …
今回は Proxy パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Proxy パターンの登場人物 @Subject → 型 @RealSubject → 型 subjectType : Class @Proxy → 型 subjectType : Class @RealSubjectInstance → フィールド @Cli…
今回は Flyweight パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Flyweight パターンの登場人物 @FlyweightFactory → 型 flyweightType : Class @Pool → フィールド @GetFlyweight → メソッド @Flyweight → 型 @Concrete…
今回は Facade パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Facade パターンの登場人物 @Facade → 型 @Client → 型 facadeType : Class アノテーション定義 上記の定義の具体的な Java コード。 public final class FacadePattern { priva…
今回は Decorator パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Decorator パターンの登場人物 @Component → 型 @CreateComponent → 具象クラス componentType : Class @Decorator → 型 componentType : Class @Compone…
今回は Composite パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Composite パターンの登場人物 @Component → 型 @Add → メソッド @Remove → メソッド @GetChild → メソッド @Leaf → 型 componentType : Class @Composit…
今回は Bridge パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z Bridge パターンの登場人物 @Abstraction → 型 implementorType : Class @ImplementorInstance → フィールド @Implementor → 型 abstractionType : Class @C…
今回は Adapter パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) LePUS3 and Class-Z LePUS3 and Class-Z Adapter パターンの登場人物 @Target → 型 @Adapter → 型 targetType : Class @AdapteeInstance → フィールド @Adaptee → 型 targetTyp…
今回は Builder パターン(一覧)。 Wikipedia (日本語) Wikipedia (English) Builder パターンの登場人物 @Director → 型 builderType : Class @builderInstance → フィールド @Construct → メソッド @Builder → 型 @BuildPart → メソッド @ConcreteBuild…