Windows10上に開発環境を整える
前提
-
主にJava開発を行う人(要は私自身)向け記述多し
-
パッケージ管理はscoopを使いますが、Java関係はなるべくSDKMAN!を使います
HerokuでSpringBootアプリを動かしてみる
背景
最終的にはLINE platformのAPIを理解したいのですが、 リファレンスを読んでいるとサンプルプログラム(サンプルbot)をHerokuにデプロイして試してみる、というような説明が多数あったので、Herokuについて理解しておこう、と考えました。
そういった考えで、今回、単純なSpringBoot hello-worldアプリをHerokuにデプロイして接続確認してみることにしました。
JBakeのタグページが想定通り動いていない
タグのindexページは正しくタグを収集しているようですが、それぞれのタグ個別ページがちゃんと生成されていないですね… テンプレートは 標準のものそのまま使っているはずなのだけれど。
bashで標準出力をファイルに、標準エラー出力を画面とファイルに出力したい
Git の pre-push でテスト実行を行おうとした際、通常テスト実行ではデバッグログを出しているところを、エラーを表すものだけに絞って出すようにしようと考えました。
Lombokプラグインを入れているEclipseでMapStruct自動生成が機能しない
上記のコードのようにLombokとMapStructを併用しているプロジェクトを、 Lombokプラグインを適用したEclipseで読み込ませるとMapStructのコードが自動生成されません。
そのため、Eclipse上でJUnitテストを実行すると次のように java.lang.ClassNotFoundException: Cannot find implementation
というエラーになります。
VSCodeでRustの整形ができない?
-
Format not work #534 - rust-lang/rls-vscode
VSCodeでRustの勉強をしているのですが、現在、どうもコード整形機能が上手く働いていない…?
代替策としては、 rustfmt
を使って、 cargo fmt
コマンドで整形すれば良さそう。
cargo build で特定のバージョンの rustc を利用する
rustup run 1.15.1 cargo build
もちろん事前に使用するバージョンをインストールしておく必要がある:
rustup install 1.15.1
参考:
JBakeはじめました
個人的にMarkDownはあまり好きではなく(標準だと表現力が弱いし方言が多い!)、ずっとblogをAsciiDocで書く方法を模索していました。
Spring Bootは、セキュリティフィルタBeanを作っている分だけ、無料で認証できちまうんだ
要約
78.10 Add a Servlet, Filter, or Listener to an Application曰く。
any
Servlet
orFilter
beans are registered with the servlet container automatically.
Spring Security 使った自前の認証フィルタを @Component
付けて作ったりなんかした際に意図しない URL path にも認証がかかってしまう。
んゴ。
h2-consoleとspring-boot-starter-securityと私
概要
spring-boot-starter-security
を導入しても http://localhost:8080/h2-console にアクセスしたかった。
作業結果: https://github.com/yukihane/hello-java/tree/master/spring/h2-console-spring-security-example
手順
h2-console が使える依存関係を追加してプロジェクトセットアップ 8113d7
|
|
h2-console を表示してみる 1b16dc
|
|
|
|
(注: spring.datasource.generate-unique-name
設定は Spring Boot 2.3.0 からデフォルト値が変わったため必要になったもので、リンク先 Git リポジトリには含まれていません(参考))
spring-boot-starter-security を入れたら認証画面が!
WebSecurityConfigurerAdapter#configure(HttpSecurity)
で form 認証を有効化しているのでこれをディスる。
WebSecurityConfigurerAdapter
を継承した Spring コンポーネントをスキャン対象に含めれば良い。
ちょっと待って!そのUserDetails、本当に必要ですか?
概要
Spring Boot の認証を実装してみた系のサンプルでよく UserDetails
や UserDetailsService
が用いられているが、必然性が不明なものがほとんどである。
(おそらく当の実装者も理解していない1。)
ファイル出力先にServletContext#getRealPathを使うな
タイトルに書いたような、ファイル出力先として ServletContext#getRealPath
を利用しているサンプルコードが見つかる、と聞いて検索してみたところ、日本語、非日本語にかかわらず確かにそのようなサンプルコードは散見されました。
例えば Qiita では(順不同):