デトフィア

プログラミング

vscodeのdevcontainerを利用する

開発環境を構築する際に利用する場合があります。私が以前いた場所では使っていました。OracleのDBサーバーを開発環境として構築する際にdevcontainerを使っていました devcontainerを用意しておけばdockerのコマンドを使わなくてもコンテナの利用ができます…

Dockerコンテナに作成したJenkinsからDockerコンテナのTomcatにwarファイルをデプロイする

以前書いた記事 DockerとJenkinsでJavaプロジェクトのコンパイル等してwarファイルのデプロイをする - Qiita この記事ではTomcat環境をDockerコンテナで作成して、そこに同じくDockerコンテナで作成したJenkins環境からデプロイを行うということをやりました…

Javaのイマジナリージェネリクス

ModelMapperにある、とある処理 private <D> D mapInternal(Object source, D destination, Type destinationType, String typeMapName) { if (destination != null) destinationType = Types.<D>deProxy(destination.getClass()); return engine.<Object, D>map(source, Type</object,></d></d>…

コードリーディング FileUtils.readFileToString

コードを読んで勉強する目的 今回のターゲットはFileUtils.readFileToStringです FileUtils.readFileToStringメソッドの引数を見ると public static String readFileToString(final File file, final Charset charsetName) throws IOException { try (InputS…

JavaのCollectionUtils.getCardinalityMapを少しだけ速くする

CollectionUtils.getCardinalityMapこのメソッドは面白いです。 イテレート可能なオブジェクトの要素を全てkeyにしたMapを作ります。 このMapのvalueは数値の1です。keyが重複した場合はvalueをインクリメントさせます 以下のテストで動きを確認します @Test…

JavaのCollectionUtils.containsAllをstreamと遅延処理で見直す

CollectionUtils.containsAllは一つでも要素が存在しない場合はfalseを返します @Test public void test_all_contains(){ List<String> lista = List.of("abc","def","hij"); List<String> listb = List.of("abc","def","ghi"); boolean result = CollectionUtils.containsAl</string></string>…

JavaのLinkedHashMapの要素順序を反転させる

Mapのkeyとvalueを反転させるにはMapUtilsのinvertMapを使います Map<String,String> mapA = new HashMap<>(); mapA.put("keyA","valueA"); mapA.put("keyB","valueB"); mapA.put("keyC","valueC"); Map<String,String> invMap = MapUtils.invertMap(mapA); では要素の並びを反転させるには</string,string></string,string>…

Mapのunionを行い、keyが重複していたら例外とする

org.apache.commons.collections4.CollectionUtilsは便利な上にソースコードも優しい。 例えばaddIgnoreNullメソッドは安全にnull以外の要素をコレクションに追加してくれる public static <T> boolean addIgnoreNull(final Collection<T> collection, final T obj</t></t>…

Java 関数型プログラミング

以下のプロジェクトはSpring公式のプロジェクトなので勉強には最適です GitHub - spring-projects/spring-petclinic: A sample Spring-based application このプロジェクトのprocessNewVisitFormの処理を関数型プログラミングで置き換えていきます Add Visit…