Lizさんに届け!�AWS Jr. ChampionとTop Engineerが�書籍コンテナセキュリティを読んで感じたこと
Red Hat で Solution Architect として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Get started with JDK Flight Recorder in OpenJDK 8u | Red Hat Developer の翻訳記事です。 OpenJDK 8u 262 releaseには、いくつかのセキュリティ関連のパッチと、新しい追加機能であるJDK Flight Recorder(JFR)が含まれています。この記事では、OpenJDKの開発者向けに、JDK Mission Controlや関連ユーティリティーを使ったJDK Flight Recorderの使い方を紹介します。また、コンテナJFRとして知られるProject Hamburgについても簡単に紹介します。 JD
Javaのモジュールシステムとは Javaのモジュールシステムに関する議論がスタートしたのは15年ほど前のことになる。Javaアプリケーションの多様化やJava言語仕様の巨大化によって,従来のパッケージの仕組みだけではクラスライブラリの適切な構造化や管理が難しくなったというのがその発端だ。さまざまなライブラリのJarファイルが複雑に依存し合っているこの状況は「Jar地獄」などと呼ばれ、Java 9のリリースに到るまで問題視され続けてきた。 Java 9に導入されたモジュールシステムは、「Project Jigsaw」というプロジェクト名で仕様策定と実装が進められた。Java Community Processにおける正式なJSRは「JSR 376: Java Platform Module System」で、OpenJDKプロジェクトではJEP 200を中心とした複数のJEPによって構成さ
Community and Standards Quarkus provides a cohesive, fun to use, full-stack framework by leveraging a growing list of over fifty best-of-breed libraries that you love and use. All wired on a standard backbone. Kube-Native The combination of Quarkus and Kubernetes provides an ideal environment for creating scalable, fast, and lightweight applications. Quarkus significantly increases developer produ
Java プログラミング速習テキスト 1. このテキストについて Java の入門あるいは再入門テキストは世の中に多数で回っていますが、最新の Java SE 8 に対応したものや、Java の思わぬ落とし穴についてきちんと触れているものは非常に少ないです。このテキストは Java SE 8 をターゲットとすることで最新の API を活用した生産性の高いアプリケーション開発ができるようになること、意外と知られていない Java の落とし穴について紹介することを主な柱として執筆したものです。 全くのプログラミング初心者に対する説明を行う余裕はないため、対象とする読者には構造化プログラミングに関する基本的な知識を前提としました。C/C++、JavaScript、Python、Visual Basic などの経験が多少なりともあれば読み進めることはできるでしょう。また、研修で Java を習った
vavr - turns java™ upside down Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Es wird bestätigt, dass "JAVA" eine eingetragene Marke von Oracle America, Inc. ist. 🎉⭐️ VAVR TURNS 5 YO ☘️🍄 The first version, called Javaslang, was released on 19h march 2014. A big thank you to all of our users, committers and spon
こんにちは、server-side kotlin や terraform を書くことが多い、エンジニアリングGの矢崎(id:Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得の行く説明をあまり見つけられなかったため、 筆者なりに考えをまとめてみました。 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になってい
JavaのConcurrentフレームワークで非同期例外が発生した時に、非同期スレッド内のトレースに加えて呼び出し元のスタックトレースを返すFutureのデコレータを作ってみました。 例えば、次のようなコードを実行した場合、 // 非同期処理 Callable<Void> c = new Callable<Void>() { public Void call() throws Exception { throw new IOException(); // 例外をスロー } }; // 非同期処理を実行 Future<Void> future = Executors.newSingleThreadExecutor().submit(c); try { // 結果を取得 future.get(); } catch ( ExecutionException e ) { e.getCause().
Java9 も出た昨今でいまさらですが、Stream パイプラインが裏でどのように動いているのかをコードを交えて紹介します。 以下の単純な例を元に、内部処理を追っていきましょう。 Arrays.asList("a", "b", "c") .stream() // (1) Stream の生成 .filter(String::isEmpty) // (2) パイプライン .forEach(System.out::print); // (3) 終端処理 (1) Stream の生成 (2) パイプライン (3) 終端処理 まとめ (1) Stream の生成 最初はストリームを取得する stream() の中身から見ていきます。 stream() は Collection インターフェースのデフォルトメソッドとして以下のように定義されています。 public interface Collect
コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日本に住んで日本の仕事をしていると国内時差もなく1 夏時間もない2 日本標準時 (Japa
スレッドプールで実行されるすべてのタスクは、異常終了したことをアプリケーションに通知する仕組みを提供しなければならない。スレッドプールではスレッドは再利用されるので、タスクの異常終了が通知されなくてもリソースリークが発生することはない。しかし、タスクの異常終了の原因究明が非常に困難になったり、不可能になったりする。 アプリケーションレベルで例外を処理する最もよい方法は、例外ハンドラを使うことである。診断動作、クリーンアップ処理、JVMの終了、あるいは障害情報の記録などを例外ハンドラで行うことができる。 違反コード (タスクの異常終了) 以下の違反コードは、スレッドプールをカプセル化した PoolService クラスおよび Runnable を実装する Task クラスから構成されている。Task.run() メソッドは NullPointerException のような実行時例外をスロー
Date And Time APIのどの日時クラスを使えばいいのかわからなくなったら、参考にて下さい。
【Date and Time API】Java 8徹底再入門【ラムダ式ハンズオン】(大阪,7/11) - connpass で Date and Time API について学んだので復習。 ラムダはハンズオン形式で実際に手を動かせていたけれど、 Date and Time API の方は講義形式だったので、話を聞いて気になったところとかを実際に触ってみる。 要点整理 Date and Time API (JSR310)は ISO 8601 をモデリングして作られたもの。 ISO 8601 は、コンピュータ間でデータのやりとりをする際の、日付と時刻の書式に関する国際規格。 ISO 8601 について知らないと、 Date and Time API を正しく扱えないことがある。 といっても、 ISO 8601 について知っておくべきことは、そんなに多くない。 発表スライドに挙げられている表記法
いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし
Cargo Tracker とは エリック・エヴァンスのドメイン駆動設計 で紹介されている様々なパターンを実際に使用して、有志が作成したサンプル Web アプリのこと。 DDD Sample Application - Introduction オリジナルは Spring Framework を使用している。 一方、この実装を Java EE 7 で置き換えたサンプルが公開されている。 Cargo Tracker この実装を読みながら、 DDD で紹介されている以下のパターンがどのように実装されているのかを確かめてみる。 レイヤ化アーキテクチャ エンティティ 値オブジェクト 集約 リポジトリ サンプルアプリを動かす ソースのダウンロード このページ の一番下に zip のリンクがあるので、そこからダウンロードする。 環境準備 以下のソフトウェアをインストールする。 JDK 7 以上 Mav
🗃 {Programming/Java/org/springframework} 🏷 Spring Framework 🏷 Kotlin 🏷 Java 🗓 Updated at 2017-02-05T08:11:46Z 🗓 Created at 2017-02-05T08:09:27Z 🌎 English Page Spring 5でフレームワークのコア部分でKotlin対応が入る。 KotlinサポートのポイントはExtension FunctionsとReified type parameters。 Spring 5での対応がどのようなものを見る前に、この二つのKotlinの言語仕様を知っておくと理解しやすい。 次のJavaコードを例に簡単に説明する。 package com.example; public class Foo { public <T> T crea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く