ソフトウェアエンジニアの日常の雑記

日々思ったことをまとめます

2018-01-01から1年間の記事一覧

SpringReactive(webflux)でAOPする際に@EnableReactiveMethodSecurityの@hasAuthoritiesを使うとうまくいかないのを回避する

本家はこちら下記のようにcontrollerでのリクエストのログを認証情報付きで出力しようとする。 @AfterReturning(value = "execution(* xxx.xxx.controller..*.*(..))") public void execNormalControllerMethod(JoinPoint jp) { /// ログ出力処理 } しかし、…

SpringReactive(webflux)でAOPする際に@EnableReactiveMethodSecurityの@hasAuthoritiesを使うとうまくいかないのを回避する

本家はこちら下記のようにcontrollerでのリクエストのログを出力しようとする。 @AfterReturning(value = "execution(* xxx.xxx.controller..*.*(..))") public void execNormalControllerMethod(JoinPoint jp) { /// ログ出力処理 } しかし、下記のように、…

SpringReactive(webflux)でAOPする際に@EnableReactiveMethodSecurityの@hasAuthoritiesを使うとうまくいかないのを回避する

本家はこちら下記のようにcontrollerでのリクエストのログを出力しようとする。 @AfterReturning(value = "execution(* xxx.xxx.controller..*.*(..))") public void execNormalControllerMethod(JoinPoint jp) { /// ログ出力処理 } しかし、下記のように、…

spring webfluxでfile upload

本家はこちらSpringBoot webfluxでは、ファイルアップロードはMultiPartで取得できないので、探す。 PartFileというのがよかったでこちらで実験する。 ソースはこちら Javaはこちら package net.ksasaki.springboot.example.controller; import org.springfr…

aws escのecs_params.yml の設定

本家はこちらAWS ECS のタスク定義で使うもの。(docker-composeの形式ではサポートしていないものが多いので) 下記を定義しておく。 version: 1 task_definition: ecs_network_mode: string task_role_arn: string task_execution_role: string task_size: c…

spring webfluxでfile upload

本家はこちらSpringBoot webfluxでは、ファイルアップロードはMultiPartで取得できないので、探す。 PartFileというのがよかったでこちらで実験する。 Javaはこちら package net.ksasaki.springboot.example.controller; import org.springframework.http.Me…

AWS fargateで Task failed ELB health checks in (elb elb-name) がでた際には...

本家はこちら自分が携わってるサービスではaws fargateでデフォルトで設定してると発生する。 そのときの、対策メモ fargateのスピンアップは遅い(自分のアプリでは) fargateはコンテナの起動後から、すぐにELBが負荷分散のチェックが入るようで、デフォルト…

AWS fargateで Task failed ELB health checks in (elb elb-name) がでた際には...

本家はこちら自分が携わってるサービスではaws fargateでデフォルトで設定してると発生する。 そのときの、対策メモ fargateのスピンアップは遅い(自分のアプリでは) fargateはコンテナの起動後から、すぐにELBが負荷分散のチェックが入るようで、デフォルト…

nginxのupstreamのnameは_-とか使えない

本家はこちらちょっとした社内向けのマイクロサービスしてると1つのnginxでいろんなところに飛ばす必要がでてきてしまい... スネークケースとかケバブケースでnginx.confを書こうとしたらエラーになったのでメモ upstream app_lb { server app.local } この…

ログインシェルの変更

本家はこちらjenkinsなどで使いたいときがあるので、メモ $ sudo chsh jenkins これで使いたいshellを入れればOK

SpringBootアプリをjibでDocker化する

本家はこちらGoogle製のJavaをdocker化してくれるアプリでSpringBootのデモアプリをDocker化する buildscript { ext { springBootVersion = '2.0.3.RELEASE' } repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencie…

docker-credential-ecr-loginのインストール

本家はこちらdocker-credential-ecr-login を使えば、楽だよってでてたので、インストール (golang 入ってない人は yum | brew | apt-get でインストールする) $ go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credentia…

Javaアプリをdocker化してくれるjibを環境ごとに分岐する

本家はこちらJava(Spring)アプリをdocker化してくれるんだけど、環境ごとに分けたいことはあるので、パラメータを切り替えられるようにする。 buildscript { ext { springBootVersion = '2.0.3.RELEASE' jibVersion = "0.9.8" } repositories { mavenCentral…

Javaアプリをdocker化してくれるjibを環境ごとに分岐する

本家はこちらJava(Spring)アプリをdocker化してくれるんだけど、環境ごとに分けたいことはあるので、パラメータを切り替えられるようにする。 buildscript { ext { springBootVersion = '2.0.3.RELEASE' jibVersion = "0.9.8" } repositories { mavenCentral…

Javaアプリをdocker化してくれるjibを環境ごとに分岐する

本家はこちらJava(Spring)アプリをdocker化してくれるんだけど、環境ごとに分けたいことはあるので、パラメータを切り替えられるようにする。 buildscript { ext { springBootVersion = '2.0.3.RELEASE' jibVersion = "0.9.8" } repositories { mavenCentral…

このエラーの対応方法 org.im4java.core.CommandException: convert: no decode delegate for this image format

本家はこちらmacでim4javaを使おうとしたらこんなエラーが org.im4java.core.CommandException: convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/509. どうやらコーデックに対応していないとのこと。 Linuxでの対応サ…

Spring Webfluxでのinterceptorメモ

本家はこちらSpring WebfluxはServlet使えないのでInterceptorとかないらしい。 Spring WebfluxではWebFilterを使うらしいので、メモ。 import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.spring…

Spring5 Reactive(webflux)での@validのBindingResultの書き方かわってたのでメモ

本家はこちらもしかしたらwebflux関係ないかもだけど、Spring5 Reactive触ってたら、(@valid Form form , BindingResult bindingResult) こんなのが動かなくて調べたらメソッドとして独立するようになっていた こんな感じ。 modelも引数にとれるので、viewを…

JJUGナイトセミナーのメモ(これからのJavaのライセンス・サポート)

本家はこちら6/20 JJUGナイトセミナー 『JJUG ナイトセミナー 「緊急特集! Javaの無償版はなくならないぞ!」』のメモ。 興味あるところだけまとめ。 JDK8まで OpenJDK バイナリ提供なし パッチは反映したりしなかったり ライセンス: GPL V2 + classpath ex…

awsのlambdaをserverless framework runtime Java8の環境構築

本家はこちらAWSのlambdaをserverless frameworkでJavaで動かそうとしているので、環境構築メモ serverless frameworkインストール まずはnpmでインストール $ npm install -g serverless templateプロジェクト作成 今回は、aws-gradle-javaで作ることに $ s…

dockerのmysqlでCan't create/write to file '/var/lib/mysql/is_writable'

本家はこちらMacでmysqlをdockerを動かしてるとこんなのがでていた。どうやらpermissionが原因らしく、下記をセットすると動作したので、一旦メモ 下記でエラー services: db-data: container_name: mysql-data image: busybox volumes: - ./volume-data/mys…

SpringBoot2.0で There is no PasswordEncoder mapped for the id "null" エラーが...

本家はこちらSpringBoot2.0でいろいろ試してたら、 起動時にThere is no PasswordEncoder mapped for the id "null"のエラーがでてた。 どうやら、passwordencoder設定されてないとでるらしい。 DeprecatedだがNoOpPasswordEncoderというのがあるので、こち…

新しく言語を習得するときにロゼッタコード(rosettacode)を参考にする

本家はこちらタイトルの通りだが、新しく言語を習得するときは、チュートリアルもそうなんだが、結構rosettacodeで逆引きして、へぇーこーゆー風に書くんだーみたいなのをみてみたりする ロゼッタコード タスクを選ぶ もちろん英語サイトなので、アレルギー…

nim tutorial part2 (1) memo [objects]

本家はこちらつづき nim チュートリアル part2 のメモ objects nimは最小限のOOP(オブジェクト指向)をサポートしている。 type Person = ref object of RootObj # name*: string # *がつくと public age: int # * ないと private? Student = ref object of P…

ライブチャットサービスのlivezillaを入れてみた

本家はこちら ライブチャットサービスでいいのないかなーって探してたらオンプレでできそうないいものがあったので、メモ サイトに来てもらって、そこからのコンバージョンを上げたいとかあるんだけど、ユーザが何思ってるかとか組み上げるものがあんまりな…

ライブチャットサービスのlivezillaを入れてみた

本家はこちら ライブチャットサービスでいいのないかなーって探してたらオンプレでできそうないいものがあったので、メモ サイトに来てもらって、そこからのコンバージョンを上げたいとかあるんだけど、ユーザが何思ってるかとか組み上げるものがあんまりな…

Nginxでお手軽なHLSストリーミング

本家はこちらスマホで動画再生コンテンツをお手軽にリリースしたいなーって時に、mp4とかwebmとかだと正直再生までに時間かかるので、ストリーミングをちょっと触る。 Nginxは標準でストリーミング対応できてるっぽいので、これを使う。 お試しの環境はMacで…

nim lang チュートリアル(4) (distinct,modules)

本家はこちらつづき distinct これは他の言語でもあるのかな。理解するまで時間がかかったものだが、どうやらある型をベースに 異なる型を生成するもよう。 下記の例だとエラーになる type Dollar = distinct int var d: Dollar echo d + 1 // Error: type m…

nim lang チュートリアル(4) (distinct,modules)

本家はこちらつづき distinct これは他の言語でもあるのかな。理解するまで時間がかかったものだが、どうやらある型をベースに 異なる型を生成するもよう。 下記の例だとエラーになる type Dollar = distinct int var d: Dollar echo d + 1 // Error: type m…

Nginxでお手軽なHLSストリーミング

本家はこちらスマホで動画再生コンテンツをお手軽にリリースしたいなーって時に、mp4とかwebmとかだと正直再生までに時間かかるので、ストリーミングをちょっと触る。 Nginxは標準でストリーミング対応できてるっぽいので、これを使う。 お試しの環境はMacで…