タグ

ブックマーク / blog.kengo-toda.jp (6)

  • SpotBugs 4.0.0がリリース&貢献者募集のお知らせ - Kengo's blog

    .classファイル向け静的解析ツールであるSpotBugsのバージョン4.0.0がリリースされました。 FindBugsとの互換性を極力保っていた3.1系と異なり、いくつかのAPIが変わったり機能が削られていたりします。 特にプラグイン開発者は、SpotBugs 3.1 から 4.0 への移行ガイドを確認するようお願いします。 一応ユーザに使われていない機能を調べて削ったので、一般ユーザに対する影響は限定的なはずです。 なおJava 9以降にはまだ対応していません。コミュニティで議論された4.0でやりたいことには含まれていたのですが、貢献がありませんでした。 ObjectWeb ASMやApache BCELの更新に追随しているのでコア機能は動作しますが、標準DetectorのうちNullness周りをはじめとしたいくつかのDetectorが動作しないことが知られています。のでJava9

    SpotBugs 4.0.0がリリース&貢献者募集のお知らせ - Kengo's blog
    decoy2004
    decoy2004 2020/02/18
  • Javaプロジェクトにおけるリリース周りの手法あれこれ - Kengo's blog

    考慮する点 成果物のデプロイ ビルドの成果物(artifct)をアップロードすること。アップロードと公開は分けて考えることに注意。デプロイ先にはいくつか候補がある: GitHub Packages (旧GitHub Package Registry) Maven Central Repository Docker HubなどのDocker Registry GitHub Packagesはコンテナも.jarもまとめて置けるが、コミュニティ標準の場所ではないので利用する際にひと手間必要になる。プライベートプロジェクトの場合は積極利用することになりそう。FOSSなら基的にMaven Centralに置くことになる*1。プロジェクトによっては.jarファイルとしてではなくコンテナとしてデプロイすることもあるだろう。 リリースノートの作成 CHANGELOG.mdやsrc/site以下のファイル

    Javaプロジェクトにおけるリリース周りの手法あれこれ - Kengo's blog
    decoy2004
    decoy2004 2019/11/30
  • guava librariesに追加されたEventBusについて - Kengo's blog

    今までguavaのr09を使っていたのですが、先月末にRelease10.0が出ていたようなので早速使ってみました。 新機能として目立つのはCacheとEventBus。Cacheはなんとなく使い道が分かりそうなのでEventBusについて調べたところ、シンプルで使いやすそうなイベント駆動基盤でした。面白かったので、使い方と注意点を簡単にまとめておきます。 他のイベント駆動基盤との違い javadocにまとまってます。 私自身は他の基盤に詳しくないので、差別化できているかどうかわかりませんでした。少なくともSwingライクなイベント処理よりはキレイに書けそうな印象です。 使い方 EventBusのインスタンスを作る EventBusのインスタンスにリスナーをregister EventBusにイベントをpost 基的にはこれだけです。ただしイベントやリスナーはインタフェースとして用意され

    guava librariesに追加されたEventBusについて - Kengo's blog
  • Javaライブラリを配布する際のログ周りにおける配慮と実践 - Kengo's blog

    2020-07-22更新: 以下の投稿で情報をアップデートしています。 https://blog.kengo-toda.jp/entry/2020/07/21/223136 いつも購読させていただいている id:teppeis さんのブックマークに以下のエントリが流れてきて、なるほどこいつはたしかに厄介だと思いました。 javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ ただSLF4Jが最も先進的かつ著名なインタフェースである以上、配布側としてはSLF4Jを使いつつ問題を解決したいところです。他のインタフェースを使ったりオレオレ実装を使ったりしてしまうと、それこそユーザの自由度を奪ってしまう形になります。 実際、SLF4Jを配布パッケージに含めないという簡単な解決法がありますので、簡単に紹介します。悲劇を繰り返さないためにライブラリ開発者がす

    Javaライブラリを配布する際のログ周りにおける配慮と実践 - Kengo's blog
    decoy2004
    decoy2004 2015/03/14
    『配布パッケージにSLF4JのAPIが含まれていたり、配布パッケージがSLF4JのAPIにcompileスコープで依存していたりすると、ユーザがいちいちexclusionで依存を断ち切らなければなりません』
  • Guavaをどっぷり紹介(I/O編) - Kengo's blog

    イヤホンを新調したら雨夢楼と光のストライドがきれいに聴こえて嬉しいeller86です。洗濯機イヤホンを洗濯してしまったときは絶望の淵に立たされていた気がしますが、あの絶望がこの喜びにつながるとは一体誰が想像したでしょうか。 さて前回のGuava紹介記事がそこそこ人気?だったようなので、I/Oにもう少し突っ込んだ内容も書いてみたいと思います。 イディオムを隠蔽化するFilesクラス 前回イディオムを排除できるクラスとしてCloseablesを紹介しましたが、Filesクラスもまた役立ちます。少なくとも以下のメソッドはおさえておくと役立つはずです。 ファイルから読むためのBufferedReaderを作ってくれるnewReader(File, Charset) ファイルに書くためのBufferedWriterを作ってくれるnewWriter(File, Charset) Sun Java5以

    Guavaをどっぷり紹介(I/O編) - Kengo's blog
    decoy2004
    decoy2004 2014/05/22
    『FileBackedOutputStreamを使うと、巨大なデータを一時ファイルに退避してくれるようになります。』
  • Guavaをざっくり紹介 - ellerの日記

    Guava librariesをご存知でしょうか?Googleが開発・使用しているコアライブラリです。OSSであり簡単に入手できます。 http://code.google.com/p/guava-libraries/ このライブラリは結構多機能で、海外の著名プロダクトでもよく見かけるのですが、日のネットでの知名度はいまいち高くない気がします。もともとの名前(Google Collections)はそこそこ知名度があったと思うのですが、この差はなぜでしょうか?私の観測範囲が狭いだけかもしれませんけども……。 自分が使ってみて思った「へーこんなことができるんだー」をまとめてみますので、共感するところがあればぜひ検証してみてはいかがでしょうか。 何が嬉しいの? Guavaはできることを増やすライブラリではなく、普段やっていることを短く書くためのライブラリです。Apache commonsなど

    Guavaをざっくり紹介 - ellerの日記
  • 1