
ハイクラス求人TOPIT記事一覧Spring Boot 3の新機能を使ってみよう! 2からアップグレードする手順、Observability機能、ネイティブイメージ化 Spring Boot 3の新機能を使ってみよう! 2からアップグレードする手順、Observability機能、ネイティブイメージ化 Javaの開発フレームワークであるSpringの最新バージョンとして、Spring Boot 3が2022年11月にリリースされました。この記事ではSpring Boot 2で書かれたサンプルコードをSpring Boot 3にアップグレードしながら、考慮点や新機能を体感していただきます。ヴイエムウェア株式会社の星野真知さんによる解説です。 Javaのエコシステム、その中でも世界で一番の人気を誇るのが(JetBrains社の調査によると)Spring FrameworkおよびSpring B
はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている
Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、My advice for updating use of the Docker Hub OpenJDK image | Red Hat Developer の翻訳記事です。 コンテナ内のJava実行環境は、今後数カ月でアップデートを受けられなくなる可能性があります。そろそろ手を打つべきでしょう。この記事では、この問題を引き起こした原因である決定事項を説明し、解決策を提案します。 OpenJDK と Java SE のアップデート OpenJDKは、Java Platform, Standard Edition (Java SE)のオープンソース実装で、複数の企業やコントリビューターが共同
Javaアドベントカレンダーにエントリーした記事になります。 Javaのイメージを作る上で、どのDockerイメージをベースに選べばいいのか、というのを軽く調べ始めたら、選択肢がたくさんでてきたので、ちょっと突っ込んで調べてみました。 以前、仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で書いたOS名とかは今回は紹介しませんので、busterとかalpineとかwindowsservercoreってなによ?というお話はそちらの記事を参照してください。一点アップデートがあるのは、Debian 11がリリースされて、イメージとしてbullseyeというのが追加された点ですね。あとはfocal=Ubuntu 20.04LTSというのを覚えてもらえれば。 JDK周りのニュースOracle JDKが無償配布をやめて、無償利用としてはOpenJDKを、
はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について本記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま
※この投稿は米国時間 2020 年 8 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。 Java アプリケーションの Docker イメージをビルドする際に、開発者の間では Jib の人気が高まっています。Docker の知識がない方でも、Jib を使えばどんな Java アプリもスペース効率の良い最適化されたコンテナ イメージに変えることができます。Jib は、再現可能な宣言型の方法でコンテナ イメージをビルドし、編集、コンパイル、テストからなる極めて短い開発サイクルを実施して、コンテナのベスト プラクティスを透過的に適用します。Docker をインストールする必要はなく、スクリプトのような Dockerfile を記述する必要もありません。 さらに良いことに、Jib はますます幅広い Java 開発エコシステムをサポートするようになりました。昨年 Ji
何度か教えていただいているので、今度こそしっかり覚えておきたくて、まきさんからのコメントを記録。 ## メモリサイズの考え方 SpringBootのアプリをコンテナとして動かす場合には768MB以上必要で、1GBくらいは割り当てる必要があるのではないかという僕のコメントに対していただいたコメント。 それは不正確..Tomcatを使う場合は最大コネクション(スレッド)がデフォルト200で+50スレッドくらい余裕を見ると250M (-Xss1M)でデフォルトのReservervedCodeCacheSize 240MとDirectMemorySize 10M加えた上にMaxMetaSpaceSizeがざっくり50Mくらい足すと550Mくらい使ってこれHeapを足すとコンテナサイズ— Toshiaki Maki (@making) November 16, 2019 その前提であればHeap 2
Philipp Hauer's Blog Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development Posted on Oct 14, 2019. Updated on Jun 12, 2022 Putting a fat jar into a Docker container is a waste of storage, bandwidth and time. Fortunately, we can leverage Docker’s image layering and registry caching to create incremental builds and very small artifacts. For instance, we could reduce the e
The JVM can be a complex beast. Thankfully, much of that complexity is under the hood, and we as application developers and deployers often don't have to worry about it too much. With the rise of container-based deployment strategies, one area of complexity that needs some attention is the JVM's memory footprint. Two kinds of memory The JVM divides its memory into two main categories: heap memory
他にもAmazon/AzureでもOpenJDK提供、LTSサポートすると言ってますし、まさに戦国時代ですね。 他の言語ランタイムでは、こんな事態が起こりようがないため、皮肉な感じもしますが、いかにJavaの利用システムが多いかということがわかります^^; さらにGraalVMの存在も見逃せません。まだネイティブイメージ化においてDynamic Loadingに対応できてないなど、様々な制約があるため、SpringBootなどでは使えませんが、時間の問題のようではあるので、楽しみに待つしかないですね。 参考 JDKの長期商用サポート(LTS)の提供ベンダー比較(無償利用についても言及あり) - Qiita https://qiita.com/u-tanick/items/bb166929a58a4c20bb88 GraalVMを試してみた - Qiita https://qiita.com
Futureアドベントカレンダー6日目です。昨日は @shun_shushu さんでした。 マイクロサービスまではいかなくても、gRPCなり、Swaggerなりを使って、リッチなSPAのフロントエンドと、いくつかのプロセスに分割されたバックエンドでサービスを開発したい、というニーズはあると思いますので、今までやってきた開発の反省・良かったところを踏まえて、次やるなら絶対にこうする・実際にこうし始めた!というDocker活用案です。 フロント、バックエンドのサービスを種類ごとに書いています。好きなフロントエンドと、好きなバックエンドのレシピを組み合わせて、オリジナルのdocker-compose.ymlを作る、という感じで読んでいただけるように書いています。対象言語とかも増やしたいので、この記事自体、検証結果を受けてどんどん変わっていく予定です。 ソースコードは次のリポジトリに置いておきます
8u191でDocker対応がバックポートされたので、頭の整理と確認をしておいた。 ## まとめ Java 11使っておけばそもそも安心なんだけど、Java 8でも8u191以降を使えば安心。 ## 課題だったこと DockerでJavaを動かすときJavaが「そのコンテナに割り当てられたCPU・メモリ」じゃなくて「Dockerが動いてるHostのCPU・メモリ」を見てしまうことが課題だった。 ## Java 10以降 Java 10以降なら「そのコンテナに割り当てられたCPU・メモリ」を見る対応が入ってるから安心になった。 https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8146115 ## Java 8は? Java 8で入ってた対応は8u131のこれ: Bug ID:
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? @rana_kualuさんの 2018年の最先端フロントエンドエンジニアになろう 2018年の最先端バックエンドエンジニアになろう という翻訳記事のDevOps版という感じですが、HackerNoonに投稿されたThe 2018 DevOps RoadMapという記事が個人的に大変参考になりましたので、翻訳してみました。 ちなみに関連記事として 2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 という私の記事もございますので、併せてご参照頂けますと幸いです。 はじめに DevOpsは最近非常にホットなトピッ
Java 9から含まれているjlinkを使うと、必要なモジュールだけに絞ってコンパクトなランタイムを作る事ができるので、アプリをコンテナで動かす時は便利そうです。 JEP 282: jlink: The Java Linker http://openjdk.java.net/jeps/282 Java Day Tokyo 2018でこれに関するセッションがあり、スライドと動画が公開されています。 jlinkで実際どのくらい小さくできるのか�例が出されているので、おすすめです。 Java in a World of Containers https://www.oracle.com/technetwork/jp/ondemand/online2018-javaday-4489556-ja.html OpenJDK 11でjlinkを試してみたところ、jlinkで生成したランタイムのサイズがめ
今日はJVMのアプリケーションのプロファイルを取ることが出来る、「async-profiler」を使って Javaで動くアプリケーションのボトルネックを探してみました。 今回のプロファイル結果からライブラリに修正も送ってみました。 皆さんもasync-profilerを使って アプリケーションのボトルネックを調べてみてはいかがでしょうか。 こんにちは、事業開発部の齋藤です。 ここ最近ずっと負荷試験をやっていました。 今日はJVMのアプリケーションのプロファイルを取ることが出来る、「async-profiler」を使ってみたので そのツールの紹介記事です。 はじめに 今回使ってみよう、というきっかけになったのは 負荷試験実行中にやけにCPU負荷が高い、ということで プロファイラを試してみるか、という話になりました。 このasync-profilerを選んだ理由は 単に知っている中で一番楽に使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く