takeda_san’s blog

KotlinとVRを頑張っていく方向。

Spring Framework

Testcontainersのいつものテンプレを作りながらDAOのテストのやり方を考える

概要 いつも使うけど毎回下準備に時間がかかるTestcontainersの最小限のテンプレをSpring Boot+Doma+Kotlinで作りつつ、DAOのテストのパターンを考えます。 Testcontainersって何ですか Testcontainersを使うことで、DockerコンテナをJUnitというかJavaコー…

Spring Boot+Kotlinでコマンドラインバッチをこう作ってます

概要 みなさん、バッチ作ってますか? 私はもりもり作ってます。 そのときの選択肢として、Spring Boot+Kotlinを使うことが多いので基本的なテンプレを改めて作りました。 ついでに、なんでこんな構成なのかみたいなところを書いていきます。 このコマンドラ…

SpringをKotlinで書くとバリデーションつらい

きっかけ ズバリこの話なんだけれども。 【Kotlin】KotlinでJava EEのBean Validationを使うときの注意点 - B-Teck! こんな感じのControllerとRequest用のエンティティがあって コントローラー @RestController @RequestMapping("address") class AddressCon…

SpringでAthenaを使おう!

きっかけ Athena便利ですよね。 S3にCSV形式とかのファイルを置いて、Glue crawler実行するだけで集計できるようになっちゃうんですよ。 ディレクトリを日付ごとに分けることで、パーティションも自由自在! こんなに簡単にログ集計できていいんですかね。 …

build.gradleでCannot resoleve symbol 'KotlinCompile'と出るので

事象 ちょっと検証したいことがあって、Spring InitializrでKotlin&Gradleのプロジェクトを作って Intellij IDEAいつものようにインポートしたんだけど、なぜかビルドできない… なんでや! https://start.spring.io/ 5/18追記 今日またプロジェクト作ってみ…

SpringでGETのAPI作ったときに結果なしをどうやって返そうか考える

きっかけ それは、Springの諸々をKotlin書いていたときの出来事です。 id指定で1件レコードを返すAPIを愚直に書いていたのですが… (関数名の適当さは目をつぶってほしい) Controller @GetMapping("{id}") fun getAddress(@PathVariable("id") id: Int): Find…

名前付きのPointcutって論理演算子で組み合わせができるって本当ですか?

きっかけ SpringでAOPのAdvice対象を指定するPointcut式があるでないですか。 こんなの。 @Before("execution(* jp.takeda.aoplogs..*.*(..))") fun before(joinPoint: JoinPoint) { println("beforeだよー") } "execution(* jp.takeda.aoplogs.*.*(..))" こ…

Doma2+SpringBoot+Gradle+Kotlinをやっていくときのアレコレ

似たようなタイトルの記事がありますが、お察しの通り続きです。 takeda-san.hatenablog.com きっかけ Doma2をKotlinで使うときにベストプラクティスとしては、エンティティをData Classで書くのが良いらしい。 Kotlin サポート — Doma 2.0 ドキュメント と…

Doma2+SpringBoot+GradleをIntelliJ IDEAでやっていくときのアレコレ

きっかけ 幾度となく新規プロジェクトを作るときに、同じエラーを出して、同じ調べごとをしているのでいい加減メモっとこう。 環境 Windows10 IntelliJ IDEA Community 2018.03 今回のソースはここ。 github.com プロジェクトのテンプレ作成編 いつものSprin…

Serverless Java Containerをやっていく

きっかけ AWS Lambdaちからが欲しい…!というわけでAlexaスキルをちょいちょいやっていたけど、これではギョーミングLambdaちからが育たない…というわけで Serverless Java ContainerでギョーミングLambdaをやっていこう。 Serverless Java Containerって? …

Spring Bootだけど組込みじゃないTomcatで起動したい

経緯 Spring Bootなんだから組込みTomcatで実行可能なjarでやればいいじゃないと思います。 でも、時には涙を飲んで、予めTomcatがセットアップされているサーバにwarファイルをデプロイしなきゃいけない時があるのです。 デプロイ前にSTSでちゃんと動くか試…

Springで二重送信をチェックする仕組みってないんですか?

きっかけ Springで二重送信のチェックってどうやるんじゃろか。 周りに聞いても自分で適当な文字列でトークン発行して、それをチェックすればよろしいみたいな感じだったんだけど、よく使う機能だと思うのでフレームワーク側に既にあるんじゃないかと思いま…

バーチャルユーチューバーになりたい その2 ~websocketを添えて~

やること WebアプリケーションのUIからUnityアプリケーションのオブジェクト操作できるようにする。 YoutubeLive中のUnityアプリケーションに外から干渉出来たら楽しそうじゃないかって思いました。 通信の方法として、websoketを使うんだけれどもYoutubeLiv…

Spring MVC + Thymeleafでバリデーションしたい

いつも書き方を忘れて、ネットの海をさ迷っちゃうのでいい加減自分でまとめようと思う。 コードはここです。 Kotlinなのは特に意味はないけれど、定期的に書かないと忘れちゃうからです。 github.com とりあえず入力チェック編 まずは、必須入力チェックをし…

自分コインで採掘ごっこをしよう

やりたいこと 暗号通貨の採掘をしたい!!! でも、今更採掘しても報酬が少ないらしい。 ゴールドラッシュを体験したい!!! よし、自分でコインを作って、ザックザック掘ってやるぞ。 コードはここ。 github.com あそびかた 注意事項 採掘して得たコインは…

SpringとVue.jsで簡単なフォームアプリケーションをつくった

やりたいこと ナウいフォームアプリケーションが作りたい! コードはここ github.com フォームで画像をアップロードして… 一覧で出すだけ つかったもの ↓こういう風にただひたすらになにがしかのライブラリだったり、フレームワークの名前を羅列するのが夢で…

pom.xmlにNeko HTMLを追加しても、追加したことにならないやつ

起こったこと thymeleaf + vue.js(とElement)でフロントエンドを書いているんだけれども <el-menu-item index="1-1" @click="onTopMenuCLick"> みたいな@マークが入ったものを書こうとすると org.xml.sax.SAXParseException: Element type "el-menu-item" must be followed by either attribute specifications,</el-menu-item>…

Springでつらいときに押すボタンをつくった

ひと月ぐらいは、サーバ立てておきます。 (特に監視してないので、落ちてたらごめんなさい) ここから見れます。 つらいときに押すボタン つくった経緯 会社で『おう、来年からSpringの案件な』と言われたので。 JJUG CCCで興味を持って、やりたいと言ってい…