Intellij IDEA + IdeaVIM on windows で音を消す

stackoverflow.com :set visualbell

初自作PCの構成および組み立て感想

今まで研究室等にあるPCを分解したりもらったPC(10年物)だったりの経験や電子工作をかじったりの経験はあるがデスクトップのPCを購入したことがなかったので購入することにした。 最終的な構成 AMD: Ryzen™ 9 5950X Ryzen™ 9 5950X | ゲーミング・デスク…

windows で開発するリポジトリから Github Actions で gradlew を実行できるようにする

Github Actions で gradle wrapper を実行するようにしようとした際以下のようなエラーが出る場合がある。 gradlew の実行の失敗 windows で作って push した場合は実行権限がつかないので git 上で実行権限を付与する必要がある。 また windows の explorer…

gradle で Intellij IDEA の copyright 設定を追加する

Versions Intellij IDEA 2020.3 Gradle 6.8.1 gradle-idea-ext-plugin 0.10 Contents Copyright を自動で設定したい Intellij IDEA には バンドルプラグインとして Copyright プラグインというものがあり、各ファイルに copyright 表記を自動的に付与したり…

gradle で共通の設定をまとめる

バージョン この記事の目的 内容 gradle の buildscript で記述を共通化したい Convention Plugin を書く その他情報 歴史 リンク バージョン Gradle 6.8 この記事の目的 gradle で共通の設定をまとめたい場合にとれる方法について列挙。 実際どれがいいかに…

2020 年まとめ

技術編 Kotlin コードをだいぶ書いた Spring Boot にそれなりに詳しくなった Gradle にそれなりに詳しくなった apache kafka を触り始めた Rust を少し触った ゲーム編 PS4 Spider-Man Miles Morales サクナヒメ Switch スプラトゥーン2 X 2200 前後 PC Ape…

Java(Jar) で大量クラスを取り扱う時の zip64 について

あるプロジェクトのビルドをしようとしたところ下記のようなエラーがでてきた。 このプロジェクトは gradle のビルドパフォーマンスを調べるために 10 万クラスを適当に作ったプロジェクトである。 Execution failed for task ':jar'. > archive contains mo…

Gradle で Single-Project から Multi-Project への変換

適当に single project で始めた後に事業拡張等で複数のアプリケーションが必要になったり共通化したりしたくなった場合にどのような作業を行うといいかというの検討します。 バージョン情報 Gradle 6.5 Gradle で Single-Project から Multi-Project への変…

gradle wrapper の jar バイナリファイルが正しいものかどうかを確認する

gradle wrapper の jar を更新した時、 jar ファイルが更新されたりされなかったりして正しいかどうかがよくわからない場合がある。 手元で確認する場合は以下のように実行すると良い。(gradle 6.1.1 の場合) $ cd gradle/wrapper $ curl --location --out…

Gradle で optional のようなものを実現するには

バージョン情報 Gradle 6.0.1 propdeps plugin 0.0.9 maven 3.6.2 一言で言うと featureVariants を使う。 詳しく言うと Spring Boot などで auto configuration を実装しようとする場合など、対象のサポートをするが必須ではないライブラリを使うようにした…

2019 年まとめ

技術編 コードを少し書いた ひたすらコードレビューをしていた 運用 VPN を OpenVPN から WireGuard に変更した Spring Boot に比較的詳しくなった Gradle に比較的詳しくなった VPS を linode に集め始めた Unity を少し書いた 電子工作をすこし学んだ ゲー…

Gradle で Maven BOM を作る

概要 Gradle で複数のプロジェクトでバージョンを共通なものにしたい場合などのために BOM を作成する。 前提 ここでは下記バージョンをもとにしたドキュメントやソースを参照している Gradle 5.4.1 Spring Boot 2.2.0.M4 Spring Framework 5.2.0.M3 Spring …

Debian 8 -> 9 にあたり sshd_config に必要だった変更

Debian -- jessie の openssh-server パッケージに関する詳細 openssh 6.7 Debian -- stretch の openssh-server パッケージに関する詳細 openssh 7.4 変更点 Protocol は 7.0 のタイミングでコンパイル時にデフォルトで無効、7.6 のタイミングで完全に削除…

2018 年まとめ

技術編 コードをほぼ書かなかった 小規模 Minecraft サーバを運用した 相変わらず OpenVPN を触っていた Kotlin を少し触った vue.js を少し触った TypeScrypt を少し触った ゲーム編 2018 年に購入または 2018 年にプレイした形跡があるもの PS4 モンスター…

Minecraft Server の JVM をモニタリングする

目的 Minecraft が高負荷になる場合に FullGC が発生したかなどの JVM 側の負荷なのか 単純に Minecraft 自体での処理が重いのかなどの切り分けを行うためにモニタリングしたい。 方法 自分のサーバは基本的に prometheus によるモニタリングを行っているの…

Spring Boot 2 アップグレード後に JPA ( Hibernate )が勝手に SEQUENCE を使おうとする問題

問題 Spring Boot 1.5 -> 2.0 に上げたとき MySQL を JPA (Hibernate)経由で利用している場合、 GeneratedValue に AUTO を指定していると INSERT 処理時などに下記のような例外が発生する可能性がある。 Exception: com.mysql.jdbc.exceptions.jdbc4.MySQ…

letsencrypt の certbot renew を apache plugin から nginx(webroot) に切り替える

環境 Debian 9.3 certbot 0.10.2 内容 もともと apache がサポートされていたため apache を利用して letsencrypt を利用していたが nginx を使うように変更したため nginx で直接 https 処理を行うように変更したい。 $ vim /etc/letsencrypt/renewal/examp…

BSD + ansible で sysrc を用いて利用可能にする

BSD 系では rc.conf に *_enable="YES" のような形で設定しないと init script 等で起動しない挙動をするようにするのが一般的な様子?(詳しくは未調査) ansible でこのあたりを編集するのはつらいのでコマンドを用いて設定できるようにするには sysrc を…

さくらの VPS 上の DragonflyBSD で ipv6 ネットワーク設定をする

環境 さくら のVPS DragonFly v5.0.2-RELEASE 準備 さくら VPS のコントロールパネルで IPv6 アドレスとゲートウェイを確認する。 自分の場合は特に申請してなくてもついていたのでデフォルトで付いている様子。(契約タイミングやデータセンターによるかも…

2017年 まとめ

技術編 http client に詳しくなった mockito をまともに使い始めた spring framework をまともに使い始めた spring boot をまともに使い始めた gradle をまともに使い始めた ansible をまともに使い始めた Raspberry Pi を手に入れた ゲーム編 ハード PS4 Pr…

wp-comments-post.php への投稿が 405 Method Not Allowed になる問題

確認環境 Wordpress 4.9.1 https://ja.wordpress.org/ iThemes Security 6.7.0 https://ja.wordpress.org/plugins/better-wp-security/ nginx 1.12.1 https://nginx.org/en/ 問題 wordpress の記事のコメント投稿が 405 Method Not Allowed になる 確認され…

Spring Boot で Gzip を使ってレスポンスを返す

概要 nginx などの web server では静的ファイルなどを gzip で返すとパフォーマンスがよくなるよーという記事は良くみる。 これを Spring Boot で行うにはどうすればいいか。(アプリケーションから gzip で返す必要性が発生するのかというのは別の話) 設…

bsd 向けに ansible でユーザ作成

環境 DragonFlyBSD v5.0.0 ansible でユーザ作成をする方法 一般的な方法 ユーザ http://docs.ansible.com/ansible/latest/user_module.html グループ http://docs.ansible.com/ansible/latest/group_module.html BSD 的な方法 コマンドの useradd , groupad…

DragonflyBSD 5.0 + letsencrypt インストールログ

以前書いた記事 の ライブラリが消えていたので書き直し 環境 DragonflyBSD 5.0 ログ とりあえず standalone で取る場合。 $ sudo pkg install py27-certbot $ sudo certbot certonly --standalone -d ドメイン名 すると以下のような場所にいろいろできる $ …

ConditionalOnClass を使うライブラリを書いたときにハマったことメモ

概要 Spring Boot の機能として auto configuration を作る Spring Boot ライブラリを作成する場合に、特定のライブラリが読まれているときのみ動く設定などを使いたい場合がある。そういう場合に ConditionalOnClass アノテーションを使うだろうと思う。(…

spring.properties 相当のファイルを増やす

概要 共通モジュールとそれを利用するモジュールを、同一 gradle プロジェクト内で開発したいときなど 共通モジュール用と利用側モジュールでそれぞれ設定ファイルを書きたい場合がある。 Spring Boot の設定について Spring Bootでは 設定(プロパティ)を …

Mockito でモックオブジェクトを初期化する

環境 Junit 4 Mockito 2.8.9 内容 Mockito の Mock アノテーションを使ってモックを使ったテストを書きたい場合、 モックオブジェクトを初期化する処理を入れる必要がある。方法は調べた限り3つある様子。 Mock (Mockito 2.8.9 API) MockitoAnnotations.ini…

spring で logback を使う際に application.yml の値を使う

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#_environment_properties The <springProperty> tag allows you to surface properties from the Spring Environment for use within Logback. This can be useful if you want </springproperty>…

Gradle で SNAPSHOT バージョンのライブラリを使う場合は --refresh-dependencies をつける

開発バージョンとして -SNAPSHOT を付けたものを gradle プロジェクトで利用している場合、なぜかいつまでたっても新しくアップロードした SNAPSHOT のバージョンを使ってくれない問題があった。 SNAPSHOT バージョンは下記のように maven で開発中のバージ…

Jackson で OffsetDateTime を ISO8601 形式にシリアライズする

JavaTimeModule を使って シリアライズする場合に OffsetDateTime などが変な数字になる場合がある。 @Data class MyObject { @JsonProperty("datetime") private OffsetDateTime dateTime; } ObjectMapper mapper = new ObjectMapper(); objectMapper.regis…