Maven Enforcer Pluginの実行をスキップする
とあるMavenプロジェクトを mvn clean install
しようとしたところ、次のエラーになり正常終了しませんでした。
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BannedRepositories failed with message: Current maven session contains banned repository urls, please double check your pom or settings.xml: central - http://my.internal.repo/xxx snapshots - http://my.internal.repo/yyy
MyBatisでストアドプロシージャを実行する
(もしかしたら以前どこかで書いたかも…)
MyBatisでストアドプロシージャを実行する必要に迫られたことがありましたが、オフィシャルリファレンスを見てもどこにもストアドプロシージャについて記述がないので困った記憶をふと思い出しました。
td-agentにプロキシを設定する
sudo systemctl edit td-agent
で編集画面を開き、次を記述:
[Service] Environment="HTTP_PROXY=http://myproxy.example.com:8080"
finalと実質finalの違い
https://ja.stackoverflow.com/a/63099/2808 を見ていて気づいたのですが、 実質final
というのは脳内(コンパイラ)で final
を補完してくれる、というような処理が行われるわけではないのですね。
Spring Bootでは -parameters オプションは有効化されている
MyBatisの設定項目として useActualParamName
というものがあります。マニュアルの説明によると、
…ステートメントの引数を参照する際、メソッドシグネチャで宣言されている名前で参照できるようにします。 このオプションを有効にする場合、プロジェクトを Java 8 (コンパイラオプション -parameters 付き)でコンパイルする必要があります。 (導入されたバージョン: 3.4.1)
Hello Project Panama
追記: Hello Project Panama, on Java17 に Java17 版を記載しました。
はじめに
今個人的にすごく知りたいのはこちらです。ご回答よろしくお願いします!!!!
- 動的確保したメモリー領域の解放戦略 - スタック・オーバーフロー
(質問読んでもらえれば(というかタイトル見てもらえれば)わかると思うんですけど、別に Java がわからん、とか Rust がわからん、という質問では無いです。念の為。もちろん Java も Rust もわからない(多分コード正しくない)ですけどそれは別の話。)
…Nodeのnative moduleをRustで書いてみる(Neon)
RustプログラムのGUIにElectronを使うことを考えています。
その前調査としてNodeのネイティブモジュールとしてRustプログラムを利用できるようにする Neon というツールを使ってHello, worldしてみることにしました。
`fluent-plugin-bigquery` のパラメータ `request_timeout_sec` 、未設定の場合はどうなるの?
要旨
fluent-plugin-bigquery
の README を読んでいると、 request_timeout_sec
のデフォルト値が nil
になっている(その下の request_open_timeout_sec
には 60
が設定されているのに)のが気になりました。
結論としては、 request_timeout_sec
は最終的に httpclient
の send_timeout
及び receive_timeout
パラメータとして利用され、未設定の場合は そこで指定されているデフォルト値である send_timeout = 120
, receive_timeout = 60
が採用されるようです。
Spring BootのRestTemplateで text/plain;Windows-31J なRESTレスポンスを処理する
要旨
JSONを返してくるのだけれどMIME typeが text/plain;charset=Windows-31J
なレスポンスを、RestTemplateで扱いたい。
@GetMapping(produces = "text/plain;charset=Windows-31J") public String response() { return "{\"text\": \"こんにちは世界\" }"; }
reqwest使おうとしたけどよくわからん
はじめに
年の瀬にスクレイピングしたくなって Rust 勉強し始めたけれど、直前に reqwest ライブラリに更新が入ったみたいでコピペコーディングが阻まれた。
知っとかないといけなかったこと
- 今回の更新 reqwest 0.10.0 で async/await がデフォルトになった(ので従来のサンプルコードは動かなくなった)。
- Cargo には feature flag(feature toggle) 機能があって、reqwest やら(オフィシャルサンプルで利用している)tokio やらもこれを利用している。
- (async/await を使わない、従来の)blocking 版をどうやって使うのか全然わからなかったけれど、features で明示的に指定する必要があった。
- オフィシャルサンプルを動かすにしてもこれを知っておかないといけなかった。
- tokioを用いる必要があった。
サンプルを動かすには
…Rustでライブラリを作成する
はじめに
他の言語で言うところの"ライブラリ"は、Rustでは "ライブラリクレート"(library crate) と呼ぶようです。
RestTemplateBuilderに関する覚書
RestTemplateBuilder
- RestTemplate は Spring Framework(spring-web)だけれども RestTemplateBuilder は Spring Boot。
- Java の世界の
なんちゃらBuilder
(StringBuilderとか Lombok のBuilder
アノテーションとか、ざっくり総称で Effective Java 版 Builder とでも呼ぶべきか)の使い方は、「まずbuilder
のインスタンスを生成します」から始まるのでRestTempalteBuilder
もそれだと思っていた。- つまり、このクラスインスタンスは Spring Boot のデフォルト状態でインジェクション可能だけれども、このインジェクションされた
RestTempalteBuilder
インスタンスのスコープは(Spring のデフォルトであるところの)singleton-scope ではない と思っていた。- だって
builder
インスタンスが singleton-scope なら、あるbean
でbuilder
に設定したものが他所のbean
にも波及しちゃうじゃない。
- だって
- つまり、このクラスインスタンスは Spring Boot のデフォルト状態でインジェクション可能だけれども、このインジェクションされた
- けど
ResttemplateAutoConfiguration
の Bean 定義部分どう見ても singleton-scope にしか見えない。何か自分の知らない記法(あるいは暗黙的解釈)がなにかまだあるのか? また 何か Spring マジックが発動しているのか…?
と思ってたけど、RestTemplateBuilder
の状態設定メソッド(このへん)見て気づいた、 設定メソッドの中で new RestTemplateBuilder()
やっとるんかーい!
https://hatena.ne.jp/ にアクセスできてるとお思いで?
はじめに: 試した環境
Windows10 の現時点での最新安定版 Google Chrome および Firefox を用いました。
- Google Chrome 78.0.3904.108
- Firefox 70.0.1
また実行に際しては、キャッシュ等の影響を避けるため、Chrome ではゲストモード、Firefox では今回新規作成したプロファイルで確認しました。
…