タグ

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

  • SLF4JとLogbackは2023年末現在で積極採用していいよ - Kengo's blog

    2年前のブログが未だにブクマされるので、念のため掲題の件について書いておきます。 端的に書くと、あのブログで挙げた懸念事項が解消されたのでどんどん使うと良いと思います。 SLF4J v2の安定版がリリースされた 良かったですね。ちなみにv2.0.9から slf4j.provider プロパティでproviderを指定できるようになったので、Service Loaderによるprovider探索をガツッとスキップできます。多くのユースケースでは利用したほうがログの単純化や起動の高速化に有効のはずです。 SLF4Jの活動は最近活発 JIRAのデータを見れば一目瞭然。私もGitHub Issueで回答に回ったりしますが、著者の方も頻繁にコメントしてくれてます。最近のLogbackの脆弱性への対応も充分に早かったのではないでしょうか。 図1 2023年の活動状況。緑の線が6ヶ月近く右肩上がりなのに

    SLF4JとLogbackは2023年末現在で積極採用していいよ - Kengo's blog
  • 内製化をすすめる知人へのアドバイス - Kengo's blog

    ソフトウェアエンジニアとしての働き方を探求してきた経験と、駐在員として文化の狭間でうろちょろしてきた経験、OSSエンジニアとして多数の多様な人材と交流してきた経験をもとに、果敢にも内製化に挑戦する知人へのアドバイスを気持ちまとめます。 前提 主な利用技術にはJava(Spring Framework)やTypeScriptを想定 FaaSを始めとしたManaged Serviceは(いまのところ)積極採用しない構え Digital Transformationを推し進める一環としての内製化に、エンジニアリングの観点から挑む方を読み手として想定 内製化のターゲットは決まっているか心当たりがある状態 既存の開発チームはほぼ無い想定 1. チームビルディング 1.1. スーツとギークの対立を避ける 我々が若かった頃は"スーツ"と"ギーク"の対立を煽る風潮にありました。Rockstar Engin

    内製化をすすめる知人へのアドバイス - Kengo's blog
  • JJUG CCC 2021 Springでバイトコードの話をしました - Kengo's blog

    JJUG CCCで聞きたい内容を募集👇🏻— ゴールドシップと同誕の方のトダ (@Kengo_TODA) 2021年3月2日 ということでJava8〜16におけるバイトコード生成の変化について、先日開催されたJJUG CCCで喋ってきました。 動画をYoutubeにて配信していただいているので、よろしければご覧ください: youtu.be 資料はSpeakerdeckにあります。ハイパーリンクを埋めているところは、PDFを落としてもらえれば追えるはずです: speakerdeck.com マイクロベンチマークはGitHubに置いてあります。みんなも手元でレッツJMHだ: github.com なお最後の方に触れたJEP396については、掘り下げたセッションがあったようです: youtu.be 運営の皆様、いつも素敵なイベントを開催いただきありがとうございます! 昔は息子氏見てもらう

    JJUG CCC 2021 Springでバイトコードの話をしました - Kengo's blog
  • 最近見かける新しいライセンスについて - Kengo's blog

    Elastic社のブログをきっかけに、最近見かける新しいライセンスについて個人的に調べてみた。私は専門家ではないので要注意。公開情報も隅々まで追えているわけではないし。 なお一部ライセンスはOpen Source Initiative (OSI)による承認を受けていないので、ここではオープンソースライセンスではなく単に「ライセンス」と書くことにする。 新しいライセンスが誕生している背景 従来のオープンソースライセンスが再頒布以外の利用をあまり想定していなかった。 Open-core modelないし完全オープンソース戦略を採る企業が自衛策を必要とした。 既存のライセンスが難解なため、理解しやすいライセンスが求められた。 OSS活動を収入に繋げるためのモデルが試行錯誤されている。 新しいライセンスを導入しているプロジェクト(一例) プロジェクト ライセンス Elastic SSPLと独自ライ

    最近見かける新しいライセンスについて - Kengo's blog
  • ウェブアプリケーションサーバでよくあるクラスローダのトラブル - Kengo's blog

    これはJ2EE Advent Calendarの25日目の記事です。昨日の記事はnobuokaさんによるJava Persistence API (JPA) 実践入門でした! 記事の趣旨は、developerWorksのクラスローダーとJ2EEパッケージング戦略を理解するに書いてあることをコードで確かめようというものです。昨今はOSGiの登場などによりあまり目立たなくなったのかもしれませんが、未だにクラスローダはJ2EEアプリケーションの実装・運用において重要な役割を担っています。記事がクラスローダの理解に役立てば幸いです。 はじめに:クラスローダとは? クラスローダとは、クラス定義をclassファイルから読み込んでくれるものです。 通常のJavaアプリケーションではJVMが用意する複数の基クラスローダが存在し、このクラスローダがJREのクラスとCLASSPATHにあるクラスを読み込

    ウェブアプリケーションサーバでよくあるクラスローダのトラブル - Kengo's blog
  • Javaプログラマが読むべき7個のAPI実装 - Kengo's blog

    10周くらい遅れている感がありますが気にせず紹介します。なお実装はJDKによって異なる可能性があるので、お手元のJDKに付属しているコードをご覧になることをおすすめします。 java.util.concurrent.atomic.AtomicInteger ロックフリーでスレッドセーフな実装を実現ことで有名なjava.util.concurrent.atomicパッケージの代表格。そんなすごいことをどう実装しているのか?というのは誰もが1度は気になるはず。openjdk7のコードを読むとこんな感じです。 public final int incrementAndGet() { for (;;) { int current = get(); int next = current + 1; if (compareAndSet(current, next)) return next; } } C

    Javaプログラマが読むべき7個のAPI実装 - Kengo's blog
    uokada
    uokada 2011/01/23
  • 1