2023年まとめ

技術編 相変わらず kotlin 書いてる 相変わらず spring boot 書いてる 相変わらず gradle 書いてる k8s に少し詳しくなった systemd に少し詳しくなった(12月に出た本とは無関係) ChatGTP を使い始めた ゲーム編 PS5 Horizon Forbidden Forest Switch スプ…

2022 年まとめ

技術編 相変わらず kotlin 書いてる 相変わらず spring boot 書いてる 相変わらず gradle 書いてる グラボを買った 新しくした結果逆に消費電力が減った M1 Macbook Pro を使い始めた Donation OpenSSL nuxt.js ゲーム編 PS5 FF14 暁月のフィナーレ (異聞で…

2021 年まとめ

技術編 Kolin コードしか書かなくなった 相変わらず Spring Boot を使っている Gradle の scrapbox を 292 ページ書いた https://scrapbox.io/gradle-memo/ CircleCI Orb を書き始めた Intellij IDEA プラグインを書き始めた nuxt.js を使いはじめた 自作PC…

初自作PC組み立てから四か月後の感想

nisenabe.hatenablog.com 初自作から四カ月経ったので構成等の選択の評価を簡単に記録しておく。 CPU AMD: Ryzen™ 9 5950X 快適。裏で Intellij IDEA 起動して Intellij-community, gradle, spring-framework (これらを利用したプロジェクトではなくそのOSS…

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では 設定(プロパティ)を …