Kengo's blog

Technical articles about original projects, JVM, Static Analysis and JavaScript.

draft: より良いチームを作る2019

なるほど、最近感じるフラストレーションは、新しい仕事の考え方のフレームワークを欲している線から来てるのはあるかもしれないな。前回まとめた↓のが4.5年前で、当時と変わった視点もあるので考えてみよう。https://t.co/RPkqTwQtic— Father as a Software…

Gradle用のGitHub Actions勘どころ

GitHub Actions のベータ版が個人リポジトリの方に来ているので、色々と試しています。使っているテンプレートプロジェクトと実アプリケーションプロジェクトから、いくつか事例を紹介します。 なお各種単語の定義が公式サイトにあるので、いちど目を通すこ…

selenium-jupiterを試した

JUnit 5にTemporalyFolderに相当する機能がなかったため、自分のプロジェクトでは長らくJUnit4を使っていました。しかし5.4でTempDirが来たため、徐々にJUnit5に置き換えています。 その過程でSelenideを使った統合テストをJUnit5に置き換えたのですが、sele…

Gradleプロジェクト用semantic-releaseプラグインを書いた

Gradle用のsemantic-releaseプラグインはJavaでsemantic-releaseを再実装したものしか無かったので、TypeScriptで書いたものを作りました。 github.com ./gradlew publish を叩くだけのシンプルなものですが、CI周りの設定はGradle側に寄せてあるはずなので…

Java屋がsemantic-releaseに思うこと

最近Java周りでもsemantic-releaseの利用機会が増えています。Gradle pluginとMaven pluginが生まれ、特に後者はyarn*1で実行されるため既存のプラグインとも組み合わせやすく、JavaScriptと比較しても遜色ない状態と言えそうです。 2019年3月時点で、Java特…

2019年初頭でのMaven Site作成における注意点

最近新しいMaven Plugin用サイトを作ったので、mvn siteで作成できるサイトについて現時点での注意点をまとめる。 skinについて maven-fluido-skinが最も使われていてかつ実用的と思われる。以下の記述はこのskinのv1.7を利用することを前提とする。 maven-s…

2018年のOSS活動状況まとめ

GitHubによると、今年は合計950 Contributions(25日時点)でした。仕事でほぼ使ってないのにこの数字というのは、多いのでしょうか少ないのでしょうか。 私は2018年にGitHubで927コントリビュートし、Findy内で1412位でした。月間の最大は154 (7月)、一日あ…

Read The Docs利用者用にPRレビュー支援Probotを作りました

私がSpotBugsなどで使っているドキュメントホスティングサービス、Read The Docsを使う上で助けになるGitHub Probotを作成しました。 github.com ドキュメントがいつもどおり全部英語なので、日本語での解説をここに書いておきます。 想定ユーザ Read The Do…

dockerでSonarQubeのインストールを楽にやる

クラスメソッドさんのブログでSonarQubeの紹介がされています。そちらの記事では記事の半分ほどを割いてインストール方法を説明していますが、dockerを使えばより楽に行えますのでその方法を紹介します。 dev.classmethod.jp 検証用のSonarQubeを立ち上げる …

英語ブログを新設しました

https://dev.to/kengotoda にて英語での情報発信をはじめました。宜しければそちらもご購読を。

SpotBugsプラグインを元にしたSonarQubeプラグインを実装する方法

SpotBugsプラグインの実装方法には公式ドキュメントがありますが、SpotBugsプラグインをSonarQube上で実行するための手法はまだ固まっていません。最近Guava Migration HelperのSonarQubeプラグインのリリースに動いているので、要点をまとめておきます。 So…

JJUG CCC 2018 SpringでSpotBugs3.1系実装について話してきました

先週末に開催されたJJUG CCC 2018 Springに参加してきました。昨年に引き続き、SpotBugsに関する内容です。 20名ちょっとのエンジニアに参加いただき、3.1系実装で苦労しているところ、Java9対応が進まない理由などを話しました。Togetterはこちら。 Maven C…

JJUG CCC 2018 SpringにてSpotBugsの話をします

月末に開催されるJJUG CCC 2018 SpringにてSpotBugsの話をします。タイトルは「SpotBugs 3.1.xの現状と内部実装が抱える問題」、20分枠のセッションとなります。 追記 タイムテーブルが公開されました。午前11:25〜11:45にLブースでお待ちしています。

チームビルディングのためにやったこと、できていないこと

これ↓読んで、自分の経験をまとめようと思ったのでメモ。 www.yutorism.jp チームビルディング、ないし組織・オフィスの改善のためにやってきたことはけっこうある。反面、できていないこともかなりある。 やったこと、継続していること 社内技術勉強会 上海…

Maven3電子書籍の利用され具合(2017年)

ほそぼそと続けているMaven3の入門書「Maven3のはじめかた」ですが、最近はprh入れたり、リポジトリの適当すぎた説明を修正したりといった微修正を行っています。 www.gitbook.com で、意外にも年間2万人のユニークユーザがついたようです。以下が2016年12月…

Mavenプロジェクト用Travis CI設定(2017年末)

今年はビルド周りで自分の常識がいろいろ変わった年だったので、既存の知見もあわせてまとめます。 Mavenのバージョンを固定する Travis CIは不定期にビルド用仮想マシンを更新しますが、そのタイミングでの最新のMavenを仮想マシンに入れるようです。このブ…

SpotBugs 3.1.0 RC6の利用とフィードバックのお願い

先日SpotBugsの最新版となる3.1.0 RC6が出ました。大きな問題が無ければ、これが最後のRC版となる予定です。 Release 6th Release Candidate for SpotBugs 3.1.0 · spotbugs/spotbugs · GitHub SpotBugs開発において、私は新マニュアルサイト整備、CHANGELOG…

FindBugsの後継としてのSpotBugsの紹介

このエントリは「Announcing SpotBugs as FindBugs successor」の意訳です。一部、明らかなURLの誤りを修正し、可読性のため強調を施しています。 皆さんこんにちは、 このメールはこのメーリングリストにおける私の最後の投稿であり、また昨年のこちらの投…

javadoc.ioのクローンをreactorで実装した

また技術キャッチアップ用のプロジェクト作りました。今回使いたかったのは以下の4つ: spring-boot v2.0(リリース前) spring-webflux v5.0(リリース前) selenide v4.5 checker framework v2.2 Springは5.0リリース前にマイルストーン版を使って感覚を見…

maven archetype v2の作り方

メモ。公式ドキュメントにはv1の作り方しか書いてないのだが、v2も別のドキュメント読み解けばちゃんと作れるよ、ということを教えてもらった。 https://github.com/spotbugs/spotbugs-archetype/pull/7#issuecomment-320870124

SpotBugsプラグイン実装方法2017

過去にFindBugsプラグインの実装方法について記事にしたとおり、FindBugsプラグインの実装には複雑なハックが必要でした。特にfindbugs.xmlやmessages.xmlなどのメタデータ管理が煩雑でした。 FindBugsのバグパターンを実装する - Kengo's blog FindBugsのバ…

JJUG CCC 2017 Springでセッション&LT参加してきました

前回のエントリでの宣言通り、本日のJJUG CCCでセッション発表してきました。発表のスライドと動画が後日、下記会社のアカウントから共有されると思います。公開されたらこの記事で紹介します。 Worksapplications presentations WAP!TechTalks - YouTube 昼…

JJUG CCC 2017 SpringにてSpotBugsの話をします

最近ブログ熱が下がっていたのと、SpotBugsの中の人になってドキュメントとかいろいろ触っていたのとで更新が途絶えていました。 そろそろSpotBugs 3.1.0−RC2を出せるのではと思いますので、そのうち試してください。 なおJava8対応強化だけであればリリース…

FindBugsコミュニティにおける例の件の顛末、そしてSpotBugsとは何か

先週、FindBugsのメーリスに興味深い宣言が流れました。今のFindBugsはメンテ困難であり現体制での継続保守が難しいとするものです。 ただこれをもってFindBugsはおしまいだ、としてしまうのはちょっと違います。コミュニティ自体はまだ活発で、プロジェクト…

MSAキャッチアップ用プロジェクトを作りました

MSAは理屈が多く、手を動かさないとわからないことが多すぎるので作りました。 GitHub - KengoTODA/brownie: A distributed video converter ついでに非同期I/OとサーバサイドReactiveを学ぶためにVert.xとRxJavaを採用しています。Spring Framework 5は別で…

RxJavaはVert.x 3でSQL書くのに便利

自分にとっての新技術を試すための個人プロジェクトでVert.xを使っているのだが、PostgresクライアントがTechnical Previewになったのでオンメモリに乗せていたデータをpostgresに乗せるようにしたところ、2重3重のネストがコードに現れるようになった。 本…

Impact of error-prone

Findbugs is really good solution to improve quality of code As an author of findbugs-slf4j, I really love Findbugs. It lets us find problems by static bytecode analysis. This tool improves quality of each module, reduce reproducing known b…

エラーログと例外の扱いについて

社内勉強会向けに作成したエラーログと例外の扱いについて説明したスライドを、Speakerdeckで公開しました。一部社内特化部分(ログレベルポリシーやMSA向けMDC使用法 など)を削除して、口頭で補足した部分を補っています。 これらの理想的な使い方はシステ…

docker-composeで開発環境を配布する

上海Microsoftで行われたShanghai Docker MeetupのLTにて発表した、docker-composeを使って開発環境をContributorに対して配布するというユースケースに関するスライドをSpeaker Deckに公開しました。 Partake開発の際はVagrantで開発環境を配布していたので…

コード内コメントとJavadocの書き方

社内勉強会向けに作成したコード内コメントとJavadocの書き方についてのスライドを、Speaker DeckとSliDeckで公開しました。 このスライドは概要とメリットについてざっくり説明し理解と学習の動機を作ることを目的としていますが、これは日本ないし中国の大…