2022年11月27日に行われたJJUG CCC 2022 Fallでの登壇資料です
はじめに Spring Boot のバージョンアップは自動化できます。OpenRewrite という Java ソースコード、ライブラリ、フレームワークのリファクタリングを自動化するエコシステムを使用することで、API の変更に追従して安全にモダナイズし、技術的負債の排除、脆弱性の修正、コード品質を高めることができます。OpenRewrite にはレシピと呼ばれる多くのリファクタリング定義が提供されており、各種 IDE やエディターとの統合も進められています。さらに、Spring Boot の場合は Spring 公式の Spring Boot Migrator (SBM) という OpenRewrite を使用した専用の自動移行ツールがあり、Spring Boot に特化したレシピと簡単にそれをコマンドで適用するための CLI が提供されています。 Spring Boot 2.6 以下ま
【Java】Serializableの実装、役割、使い方、危険性とその対策【serialVersionUIDとは】 by nao · 2021年2月20日 前書き: Javaの勉強中に見つけたSerializable 2021年になってから、腰を据えてJavaの勉強を始めました。 今年はJavaを後輩に教える機会があり、自分もJava歴が短くて手探り感がある。勉強が必要だ。 JavaのOSS(小規模)を読みたいが、何か良いものはないかなー。以前、「Apacheのコードを読もう!」と考えた時期があった記憶もある。が、もう少し小規模なプロジェクトから始めたい。 — Nao03@疲れて会話がUDP (@ARC_AED) February 7, 2021 私はJava学習の一環としてJava Core APIのソースコードを読んでおり、その際にjava.io.FileクラスでSerializabl
2022-11-20 僕は Twitter社の Build/Bazel Migration チームでスタッフ・エンジニアとして勤務していた。信じられないような 2年の後、2022年11月17日をもって退職した (企業買収後のレイオフでも任意でもあんまり関係無いが、僕は任意退職希望のオファーを取った)。Twitter社は、切磋琢磨、多様性、そして Flock を構成する全ての人に対して溢れ出る優しさというかなり特別な文化を持った職場だった。これを間近で経験して、その一員となる機会を得たことに感謝している。(Flock は「鳥の群れ」の意で、社内での Twitter社の通称) 以下は過去2年の簡単な振り返りだ。尚本稿での情報は、既に公開されているトークやデータに基づいている。買収後、うちのチームだけでも 10名以上のメンバーが Twitter社を抜けたので、在籍・元含め LinkedIn プロ
しかし、原版の Win32 Disk Imager には、以下の問題点があった。 Google Drive との相性問題。 Google Drive クライアントアプリケーションを稼働させている Windows 環境では、Win32 Disk Imager の起動時に、エラーが発生し、正常に利用できない。 この問題は、Google Drive の仮想ドライブ機能 (G:\ 等) が有効になっている場合に発生する。 Google 社は、オープンソースの Dokan (Windows 用 FUSE ドライバ) を改造した Windows NT カーネル用デバイスドライバを用いて Google Drive の仮想ドライブを実装している。しかし、この仮想デバイスドライバと Win32 Disk Imager とは相性が悪く、Win32 Disk Imager の起動時のデバイス列挙時にエラーが発生
Win32 Disk Imager Renewal (Google Drive 相性問題解決、単一バイナリ、デジタル署名版) - by dnoboriWindowsUSBWin32APIGoogleDriveSDカード by 登 大遊, 2022/11/19, Quiita 第二投稿記事 Git リポジトリ https://github.com/dnobori/DN-Win32DiskImagerRenewal は、Windows 上での USB メモリ / SD カードイメージ書き込みツールのデファクト・スタンダードとなっている Win32 Disk Imager について、以下の点を改良した 「Win32 Disk Imager Renewal」 の デジタル署名済みの EXE 単体で動作する Win32 / x64 / ARM64 版バイナリ とソースコードを配布するためのものである
関連キーワード Java | アプリケーション開発 | メインフレーム プログラミング言語「COBOL」を扱えるエンジニア不足が深刻だ。COBOLに精通していないエンジニアでも、メインフレームで稼働するプログラムを扱えるようにするために、企業はCOBOLプログラムのモダナイゼーション(最新化)に取り組んでいる。 良くない「COBOLのやめ方」 併せて読みたいお薦め記事 COBOLプログラムからの脱却 COBOLの呪縛を解いて「Java」に書き直すことに意味はあるのか? Javaで書き直しても消えない“COBOLの呪縛”とは? COBOLプログラムのモダナイゼーションには、さまざまな手法がある。調査会社Intellyxの創設者兼プレジデントであるジェイソン・ブルームバーグ氏は、「COBOLプログラムを行単位で別のプログラミング言語に変換することは、決して良いアイデアではない」と話す。 ブルー
MicroProfileは、2016年9月に誕生したエンタープライズマイクロサービス向けのプラットフォームです。 JavaEE(現JakartaEE)の仕様をベースとしつつも、マイクロサービスアーキテクチャに親和性の高い機能(JAX-RS, CDI, JSON-P等)に限定しています。 ここでは、そんなMicroProfileの導入や各機能の利用方法をご紹介します。 Javaによるエンタープライズ開発のフレームワークと言えばSpring Frameworkがデファクトで鉄板となっているこの昨今、唯一のメリットは標準と言う錦の御旗だけに見えるJava EEに起源を発するMicroProfileに注目し、そして敢えて世間の逆を本気で行き、結果「マイクロサービスのバックエンドならSpringよりもイケてるね!」の境地に達したSpring好き(だった)エンジニアがMicroProfileへの知見や
DeNAの多様に展開する事業や、それぞれの個性やライフステージに応じたフレキシブルな働き方、それらを受容するDeNAが根底に持つ考え方などを伝えるDeNA TechCon 2022 Autumn。ここで、株式会社ディー・エヌ・エーのAndroidエンジニアである手塚悠太氏が、『グランブルーファンタジー』推奨ブラウザ「SkyLeap」の開発を例に、リファクタリングの仕方について紹介しました。 リファクタリングはできていますか? 手塚悠太氏:それでは、「レガシーな実装を丁寧にリファクタしてモダンな実装にする技術」について、手塚悠太が発表いたします。 自己紹介です。2019年にDeNAに中途入社し、当時はMOV、現在の名前はGOですね、こちらのタクシーアプリの乗務員さん向けアプリケーションを開発していました。またタクシーフードデリバリーサービス「GO Dine」のアプリケーション開発も担当をして
同ガイダンスは、近年のサイバーセキュリティ脅威の多くに利用されている、ソフトウェアのメモリ安全性の悪用を防ぐことを目的としており、組織におけるソフトウェアの開発にあたっては、可能な限りメモリ安全なプログラミング言語を使用するとともに、コンパイラのオプション、ツールのオプション、OS構成といったコードの安全性を高める対策を施すことで、保護を強化することを推奨している。 メモリ安全でないプログラミング言語としては、一般的に使用されているCやC++を挙げており、これらのプログラミング言語はメモリ管理において高い自由度と柔軟性を提供する一方で、メモリ参照が安全に行われているかどうかのチェックはプログラマに大きく依存していると指摘する。 ソフトウェア解析ツールを使用すれば、ソースコード中のメモリ管理における問題の多くを検出できるほか、OSによっては不正なメモリの利用を防ぐオプションも用意されているも
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米国家安全保障局(NSA)は米国時間11月10日、ソフトウェアのメモリー安全性強化に向けたガイダンスを公開した。同機関はその中で開発者らに対して、ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。 これらの言語の中では、Javaが企業向けアプリや「Android」アプリの開発で最も幅広く使用されている一方、Swiftは「iOS」アプリの開発環境に取り込まれている点もあって人気プログラミング言語の上位に入っている。また、RustはシステムプログラミングにおいてCやC++の代替とし
C/C++ on the bench, as US snoop HQ puts its trust in Rust, C#, Go, Java, Ruby, Swift The NSA has released guidance encouraging organizations to shift programming languages from the likes of C and C++ to memory-safe alternatives – namely C#, Rust, Go, Java, Ruby or Swift. "NSA recommends that organizations use memory safe languages when possible and bolster protection through code-hardening defense
今日やった事 GitHubを整理した。 参考にしたもの gitリポジトリの統合 - Qiita 【Git】2つのGitリポジトリを履歴を保持して統合したい - Qiita Git リモート URL を削除する方法 | Delft スタック 所感 やっと、GitHubの整理が終わった。 READMEとかはつける必要があるけど、それは追い追いやろう。 最終的には以下のようになった。 |-PHP | |-App | |-Study |-Java | |-App | |-Study |-Python | |-App | |-Study |-CSharp |-Other → 言語毎に、リポジトリを作成し、その中で、StudyとAppというディレクトリを切った。 → Studyは、勉強がてら書いたサンプルなどを格納し、Appには作成したアプリを格納する。 → どの言語にも該当しないものは、Otherに
この記事について JavaScriptはお好きですか? Reactなどフロンドエンドを中心に人気の言語なので、触ってる人はたくさんいると思います。 奥深くて自分も好きな言語ですが、結構なんとなくで触っていたりしませんか? 今回は自分が後輩によく聞かれた事や、自分が引っかかった事をたくさん書いていきます。 つまり基本的には初心者向け、よくても中級者向けです。 何か一個でも知らない事があれば御の字のつもりで書いたので、ぜひ気軽に読んでください! JavaScript編 略称はJS、Javaダメぜったい いなさそうなのに稀にいるという・・ Web開発から入ってプログラムを広く知らない場合に発生しやすい? Javaは全く別に王者がいるので、万が一使っていたららやめましょう。 略称は JS(じぇーえす) でお願いします。 データ型、Object Objectはキーと値をいくつも持てるJSのデータ型で
現在、ITエンジニアが開発するシステムは多種多様だ。基幹系システムだけでなく、Webサービスやスマホアプリ、AI(人工知能)などもある。こうしたシステムの開発を円滑に進めるには、実装する機能に合わせたプログラミング言語の選定が肝要である。プログラミング言語によって開発しやすいシステムが異なるからだ。 では、日経クロステックの読者はどんなプログラミング言語を使っているのか。またどのようなシステムを開発しているのか。これらを確かめるため、日経クロステックでは「プログラミング言語利用実態調査2022」をWebサイト上で実施した。調査期間は2022年10月11日~10月28日。457人から回答を得た。その結果を見ていこう。 アンケートでは、まず普段使っているプログラミング言語を3つまで挙げてもらった。その結果、利用言語の第1位は「Python」だった。回答者457人の4割弱に相当する169人が使っ
オラクル、OpenJDKに静的なネイティブイメージの生成機能を組み込む方針を明らかに。GraalVMのOpenJDKへのコントリビュートで オラクルは先月(2022年10月)に米ラスベガスで開催したJavaOne 2022で、GraalVM CEのJava関連コードをOpenJDKコミュニティに寄贈すると発表しました。 Excited about @GraalVM JIT and Native Image becoming part of OpenJDK!#JavaOne pic.twitter.com/al1nHTl2RW — GraalVM (@graalvm) October 18, 2022 参考:[速報]オラクル、OpenJDKコミュニティにGraalVM CEのJava関連コードを寄贈すると発表。JavaOne 2022 このとき、GraalVMのJavaのJITとネイティブイ
Google CloudのJavaランタイムにEclipse Temurin採用へ、GoogleがEclipse Adoptiumに参加を発表 Eclipse FoundationのAdoptiumワーキンググループは、Googleが同ワーキンググループに参加したことを発表しました。 Google has joined the Eclipse #Adoptium Working Group! Learn about their plans to make #EclipseTemurin available across GCP products and services in this session from @GoogleCloud Next: https://t.co/F6kj2NOLcr @cameronbalahan — Eclipse Adoptium (@adoptium)
M1Mac × Docker × SchemaSpy × MySQL8.0でテーブル定義書とER図を自動生成してみる 2022.10.19 技術 Docker, MYSQL こんにちは、システム部の能勢です。昨年の秋に入社して、今はバックエンドを中心に開発を担当しています。 「この設計資料、最終更新何年前やねん」 「なんか現実と違うんですけど」 こんな言葉にビビビっとくる方いませんか? 最近はかなり激減したんですが、自分は少なくともエンジニアキャリアの最初の方ではこういう経験をよくしてきたタイプです。 弊社みたいにプロジェクトリリース前にドキュメントを第三者視点できっちり確認されるような体制のある開発現場ではこういうことが起こるのも低頻度だと思うんですが、実際問題世の中にはいろんなタイプの現場がありますし、そこまできっちり管理しきれない・・・こんなホンネが漏れるのが実情という方も多いんじゃ
[速報]5年ぶりのJavaOneが開幕。基調講演「Javaはイノベーションを小さな単位で頻繁に提供するようになった」。JavaOne 2022 オラクルが米ラスベガスで開催中のOracle CloudWorld 2022の一部として、5年ぶりとなるJavaの年次イベント「JavaOne 2022」が開幕しました。 JavaOneは2017年10月に開催された「JavaOne 2017」を最後に、2018年からはJavaだけでなくさまざまな技術を扱うイベント「Oracle CodeOne」へと置き換わっていました。 オラクルのシニアバイスプレジデントでJava Platform Group担当のGeroges Saab氏による基調講演のハイライトを紹介します。 Javaの次の25年とその先を考えるとき、2 つの勢力の微妙なバランスを理解することが重要です。一方には、迅速なイノベーションと急速
オラクルは米ラスベガスで開催中のイベント「JavaOne 2022」において、Java 8のままでJava 17並の性能を得られるパフォーマンスパック「Java SE Subscription Enterprise Performance Pack」(以下、Enterprise Performance Pack)を発表しました。 Javaはバージョンアップによって機能追加だけでなく性能向上も行われてきています。 一方で多くの企業は稼働中のアプリケーションの安定稼働や互換性維持を優先して開発当時のJavaのバージョンを使い続けているのが現状です。特にモジュール機能など大きな新機能追加が行われたJava 9への以降には大きなハードルがあり、それゆえにJava 8のまま稼働し続けているシステムは少なくありません。 今回発表された「Enterprise Performance Pack」は、こうし
Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Java 17: What’s new in OpenJDK's container awareness | Red Hat Developer の翻訳記事です。 OpenJDKは、以前からLinuxコンテナ(DockerやPodman、またKubernetesのようなコンテナオーケストレーションフレームワークなど)を意識してきました。コンテナ対応とは、OpenJDKがコンテナ内で動作していることを検出することを意味します。この記事では、コンテナ対応がなぜ有用なのか、OpenJDKのその領域で最近何が変わったのか、そして、開発者がJVMの設定決定方法について理解を深めるために利用できる診断
関連キーワード Java | アプリケーション開発 | メインフレーム | プログラミング プログラミング言語「COBOL」で記述されたソースコードを、プログラミング言語「Java」で書き直す理想的な手段は、COBOLとJavaの両方に精通した開発者を雇うことだ。だが「そうした人材を見つけるのは難しい」と、調査会社Intellyxの創設者兼プレジデントであるジェイソン・ブルームバーグ氏は述べる。そもそもCOBOLに詳しい開発者(コボラー)自体が見つけにくくなっている。 だから「コボラー」は見つからない 併せて読みたいお薦め記事 連載:それでも「COBOL」は生き残る 第1回:COBOLをやめても消えない“亡霊”「JOBOL」とは何なのか 第2回:Javaで書き直しても消えない“COBOLの呪縛”とは? COBOLのスキルが必要な理由 「COBOL」プログラムが古くなっても動き続ける“切実な
Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Best practices for Java in single-core containers | Red Hat Developer の翻訳記事です。 コンテナで動作するJavaアプリケーションの数が増えています。コンテナの採用は、特定のチームや企業の市場区分や クラウドの成熟度によるので、正確な数を決定するのは困難です。たとえば、New Relic のデータでは、顧客の Java ワークロードの 62% 以上がコンテナで実行されています。他のデータと同様、このデータも市場全体に対する代用として不完全なものです。しかし、このレポートは、Java市場の重要な一部分がすでにコンテナベース
年間1000万人超が買い物をする衣料品EC(電子商取引)モール「ZOZOTOWN(ゾゾタウン)」。運営元のZOZOは現在、同社初となるZOZOTOWNのシステム刷新を5年越しで進めている。オンプレミス環境で2004年に構築したシステムをつくり替え、処理能力の引き上げと合わせて、アプリケーションの開発効率を向上させる狙いがある。 「開発とビジネス部門を密に連携する『BizDevOps』という方針の下、ユーザーに対して本質的な価値を素早く提供できるようにしたい」。プロジェクトを率いる瀬尾直利技術本部本部長兼VPoEはシステム刷新の背景をこう語る。 ストアドプロシージャーをJavaに書き換えるも性能出ず システム刷新は現在も続いており、目指す姿までの進捗率は50%程度という。これまでの取り組みを振り返ると大きく2つのフェーズに分かれる。第1期に当たる2017年から2019年にかけては、オンプレミ
Javaのメモリ確保指定のオプションで、最大メモリは-Xmx、初期メモリは-Xmsで指定します。 -XmxのほうはMemory maXimumかなーと感じるのだけど、-Xmsのほうはminimumでもないしなんだろーと思いながら「まぁ気にしてもしかたない」と25年くらい放置してたわけです。 それがちょっとTwitterで話題になってて、調べてみたらStack Overflowにそれっぽいものがありました。 Yes, ms = minimum heap size / heap memory start size and mx = maximum heap size. https://stackoverflow.com/questions/58164083/why-did-java-chose-xmx-and-xms-naming-convention-for-heap-sizes -Xmsは
This guide explains how to benefit from Java 21+ virtual threads in Quarkus application. OS thread A "thread-like" data structure managed by the Operating System. Platform thread Until Java 19, every instance of the Thread class was a platform thread, a wrapper around an OS thread. Creating a platform thread creates an OS thread, and blocking a platform thread blocks an OS thread. Virtual thread L
こんにちは、かとじゅんです。 『Chatwork Product Day 2022』に関連してブログを書こうということで、Akkaのプラグインの改善などをテーマに記事を書こうと思ったのですが、Akkaのライセンス変更が界隈ではちょっとしたニュースになりました。「Chatworkさんはどうするの?」とよく聞かれるので、Chatwork社での今後の方針について簡単にまとめてみたいと思います。 Akkaのライセンス変更 www.lightbend.com Akka 2.7 から Apache License Version 2.0 から Business Source License (BSL) v1.1 に変わりました。BSLはMariaDBでも採用されているライセンスです。 The new license for Akka is the Business Source License (BS
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)のオープンソース実装で、複数の企業やコントリビューターが共同
5年ぶりの本格的なメジャーバージョンアップ「Jakarta EE 10」正式リリース、クラウドネイティブなど対応 Eclipse Foundationは、代表的なJavaフレームワークの1つであるJakarta EEの最新版「Jakarta EE 10 Platform」の正式リリースを発表しました。 The new era of #CloudNative #Java is here! Check out the #JakartaEE10 release page to discover new updates or features in over 20 component specifications: https://t.co/3KG28loVyz #JakartaEE #opensource pic.twitter.com/xGITL5KjUt — Jakarta EE (@Jak
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く