並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1476件

新着順 人気順

javaの検索結果1 - 40 件 / 1476件

  • Javaはなぜかっこ悪いと思われているのか、ChatGPTと共に原因を探ってみた

    プログラミング分野でよく話題になるのが「どのプログラミング言語が優れているか」というテーマだ。個人的には「どんな言語を使っていようとプログラミングの本質は変わらないので、不毛な議論ではないか」と感じることが多い。それぞれの案件に適した言語を使えばいいだけではないかと思ってしまう。 もっとも、これは日常的にプログラミングをしていない部外者の意見かもしれない。日々のソフトウエア開発業務では、プログラミング言語は最も重要なツールの1つだ。どんなツールを使うかが開発効率に直結することは大いにあり得る。 例えていえば、コード入力に使うキーボードのようなものだろうか。どんなキーボードでも気にしないエンジニアがいる一方で、キーボードのタッチに異様にこだわるエンジニアもいる。後者にとって、特定のキーボードを利用できるかどうかは開発効率を左右する死活問題だ。プログラミング言語にも、それに似た面があるのかもし

      Javaはなぜかっこ悪いと思われているのか、ChatGPTと共に原因を探ってみた
    • NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か

      政府ポータルサイト「e-Gov」のシステム刷新が当初計画から大きく遅れている。開発した機能の品質不良が最終テストで判明したためである。問題はベンダー選定後にデジタル庁がシステム構築手法を変更したことに端を発していた。開発を受注したNECは変更を受け入れたが、開発が遅延し品質に問題を抱える。情報を共有する体制が不十分だったために問題を広げたとの指摘が出ている。 デジタル庁が運用する政府ポータルサイト「e-Gov」のシステム刷新プロジェクトが大幅に遅延している。当初は2024年2月下旬に新システムへの切り替えを予定していたが、デジタル庁は約3週間前の2024年2月2日になってe-Govのサイト上で作業の延期を公表した。 河野太郎デジタル相は2024年4月16日の閣議後会見で記者の質問に対し、e-Govのシステム刷新が遅れている理由を「最後の試験工程で(開発したシステムの)品質が十分でないと判断

        NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か
      • Javaは他のプログラミング言語と比較してどのくらい危険なのか? Datadog調査

        Datadogは2024年4月17日(現地時間)に、「State of DevSecOps 2024」と題された分析レポートを公開した。同レポートは、数千のアプリケーションやコンテナイメージ、クラウド環境のセキュリティ評価をまとめたものだ。 Javaは他のプログラミング言語と比較してどのくらいリスクがあるのか? 同レポートによって、Javaアプリケーションは他のプログラミング言語に比べてサードパーティーの脆弱(ぜいじゃく)性の影響を受けやすいことや自動セキュリティスキャナーによって実行されるサイバー攻撃の大部分は無害であることなどが明らかになった。 Datadogが発表したレポートの概要は以下の通りだ。 Javaアプリケーションは、サードパーティーの脆弱性の影響を最も受けている。Javaサービスの90%がサードパーティーのライブラリーによってもたらされた1つ以上の重大または深刻度の高い脆弱

          Javaは他のプログラミング言語と比較してどのくらい危険なのか? Datadog調査
        • タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ

          とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題

            タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ
          • 「Oracle JDK 17」の商用フリーはあと半年 ~NFTC→OTNのライセンス切り替えに注意/寛容なライセンス下で利用を継続したい場合は、次のLTS「JDK 21」への移行を

              「Oracle JDK 17」の商用フリーはあと半年 ~NFTC→OTNのライセンス切り替えに注意/寛容なライセンス下で利用を継続したい場合は、次のLTS「JDK 21」への移行を
            • Dockerコンテナ化したJavaアプリのヒープのサイズ調整オプションの検証 - Qiita

              はじめに こんにちは。私は弊社で企画・運営している、Dot to Dotという個人の同意の元に様々なデータを連携することができる分散型データ連携プラットフォームの開発・保守を担当しています。 Dot to Dotではデータ連携をしたい事業者向けに、データ連携用の通信モジュールを、Spring Bootを使用したJavaアプリケーションとして作成したDockerイメージ形式で配布しています。 昨今ではDockerでアプリケーションを実行するのが当たり前の風潮になりつつありますが、実際に本番で適用する際に必要なチューニングの話はあまり聞かないかと思います。 そこで本記事では、JavaアプリケーションをDockerコンテナで運用する場合に必要な、ヒープのチューニングについて説明します。これからJavaアプリケーションをDockerコンテナ化して運用したい人や、すでに運用中でもヒープチューニングし

                Dockerコンテナ化したJavaアプリのヒープのサイズ調整オプションの検証 - Qiita
              • Javaアプレットの一部領域を顧客に開放したSIMカード、NTTコムが本格提供開始

                NTTコミュニケーションズ(NTTコム)は2024年4月9日、暗号化されたJavaアプレット領域の一部を顧客に開放したSIMカードの本格提供を始めたと発表した。顧客企業が同領域に決済情報・個人情報・設定情報などを安全に格納できるようにし、IoT(インターネット・オブ・シングズ)などのサービスを展開しやすくする。価格は個別見積もりだが、SIMカード1枚当たり月額100円程度から、管理コンソール機能は同1万5000円程度からを見込む。 同社が「アプレット領域分割技術」と呼ぶ技術により、SIMカード内にあるJavaアプレット領域のうち約300キロバイトを切り出し、顧客企業が独自に暗号鍵を管理して利用可能にした。SIMカード上のCPUやメモリー、OSなどと組み合わせて、認証などのアプリケーションを実行できる。同技術による領域の切り出しはSIMカードの製造時に書き込むソフトウエアにより実現しており、

                  Javaアプレットの一部領域を顧客に開放したSIMカード、NTTコムが本格提供開始
                • ⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について

                  Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets

                    ⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
                  • エンタープライズITの主流プログラミング言語「Java」と「.NET」――それぞれの現状と進化の方向性とは? | 東京エレクトロンデバイス

                    エンタープライズITの主流プログラミング言語「Java」と「.NET」――それぞれの現状と進化の方向性とは? | 東京エレクトロンデバイス エンタープライズITの主流プログラミング言語「Java」と「.NET」――それぞれの現状と進化の方向性とは? エンタープライズITの分野で主流のプログラミング言語と言えば「Java」と「.NET」が挙げられる。Javaは6カ月ごとに、.NETも1年ごとにメジャーバージョンアップを繰り返し、以前よりも速いペースで進化している。今回はそれぞれの現状と進化の方向性について解説する。 さまざまなプログラミング言語が分野ごとの強みを活かして群雄割拠する現在。例えばWebにおけるJavaScriptの利用はNode.jsの登場によってサーバーサイドにまで広がり、AI分野ではPythonが非常に多く利用されています。Webアプリケーションの開発によく使われるPHPは

                      エンタープライズITの主流プログラミング言語「Java」と「.NET」――それぞれの現状と進化の方向性とは? | 東京エレクトロンデバイス
                    • Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability

                      Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability

                        Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability
                      • プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版

                        新しいプログラミング言語やライブラリ、フレームワークを学ぶには、実際にそれらを試して挙動などを見てみることが大事ですが、実行環境を用意するのは手間がかかります。 そこで役立つのが、いわゆる「プレイグラウンド」と呼ばれる、Webブラウザでプログラミング言語やライブラリ、フレームワークをすぐに試すことができるサービスです。 主要なプログラミング言語の公式サイトには、実際にその言語をすぐに試せるプレイグラウンドが用意されていることも多く、また公式サイト以外にもネット上にはさまざまなプレイグラウンドがあります。 プレイグラウンドを使えば、気軽にいろんなプログラミング言語やライブラリ、フレームワークを試せます。 この記事ではそうしたプレイグラウンドをまとめてみました。ここで紹介したプレイグラウンドの他にも、あなたのお気に入りのプレイグラウンドがあればX/Twitterやブックマークのコメント、メール

                          プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版
                        • ちっちゃなScalaコンテナを作つコツ(6 MiBだぞ) - Lambdaカクテル

                          おなじみの画像 JavaやScalaといったJVM言語のDockerイメージは、JVMを同梱しなければならない都合で肥大化しがちである。特に何もしなくても、例えば一般的なamazoncorretto:21のイメージサイズは217.7 MBもある。 hub.docker.com これにさらにビルド済みのJARファイルが載ってくるので、結構大きくなってしまうのだ。 そこで、Scalaのコンテナイメージのサイズをなんとか小さくできないかと、考えた。すると、JVMを使ったまま70 MiBくらいに縮めることができた。 github.com コンテナイメージのサイズを小さくするために、何をしたかを書いていく。ちなみに題材としたアプリケーションはちょっとしたHello, Worldをするだけのもので、ライブラリはCatsに依存させた。 JVM使う編 マルチステージビルドを行う Alpineなどの軽量ラン

                            ちっちゃなScalaコンテナを作つコツ(6 MiBだぞ) - Lambdaカクテル
                          • Javaの“神ライブラリ”を賢く見分ける7カ条

                            プログラミング言語および開発・実行環境「Java」によるアプリケーション開発では、さまざまなライブラリ(プログラム部品群)を利用できる。求める機能に応じて適切なライブラリを選択することは、開発を円滑に進める上で重要だ。目的に合わないライブラリを選んでしまうと、かえって開発に時間が掛かってしまう可能性がある。 本資料は、Javaアプリケーション開発者がライブラリを選択する上で考慮すべき7つの要素を紹介する。開発を助けてくれる、扱いやすいライブラリを選ぶには、何に着目すればよいのか。

                              Javaの“神ライブラリ”を賢く見分ける7カ条
                            • 「macOS Sonoma 14.4.1」が公開 ~Javaがクラッシュする問題が修正/任意コード実行の脆弱性2件にも対処

                                「macOS Sonoma 14.4.1」が公開 ~Javaがクラッシュする問題が修正/任意コード実行の脆弱性2件にも対処
                              • オブジェクト指向宗教史

                                OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

                                  オブジェクト指向宗教史
                                • オブジェクト指向は必要なのか / Is object-oriented needed?

                                  2024/3/24に開催されたObject-Oriented Conferenceでの登壇資料です。 https://ooc.dev/2024/

                                    オブジェクト指向は必要なのか / Is object-oriented needed?
                                  • C++/Java系言語で1文字だけでコメントアウトするブロックを切り替える - Qiita

                                    概要 プログラミングをしていると実装の方式を試してみることがあると思います。あるいは、別の実装でうまくいくか自信のない時、今あるものはコメントアウトしておいて別の実装を試してみたり。そんな場合、今時はエディターの機能で簡単にブロックをコメントアウトしたりできますが、言語仕様をうまく使って一文字編集するだけでコードブロックをコメントアウトする小技を大昔に思いついていて今でも使うことがあるので紹介します。実装中の試行錯誤の時には便利です。 この技はC++/Java/Javascript系の、ブロックコメント/* ... */とインラインコメント//がサポートされている言語で利用できます。 ブロックを/の削除でコメントアウトする 以下のように書いておくと、一番最初の/を削除すると最初の行がインラインコメントからブロックコメントに切り替わり、ブロック全体がコメントアウトされます。 先頭行が//で始

                                      C++/Java系言語で1文字だけでコメントアウトするブロックを切り替える - Qiita
                                    • Java 22新機能まとめ - Qiita

                                      Java 22が2024/3/19にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008827.html The Arrival of Java 22! LTSではなく正式採用された機能も少ないですが、Gathererは出番も多そうなAPIなのでチェックしておきましょう。 また、非互換性として、Javaソースの直接実行でパッケージとディレクトリの対応が厳しくなっているので注意が必要です。 JDKをインストールせずに言語やライブラリの新機能を試したい場合にはJava Playgroundが便利です。 https://dev.java/playground/ Samplesに新機能のサンプルがあります。 資料 詳細はこちら JDK 22 Release Notes Java SE 22 Platform JSR

                                        Java 22新機能まとめ - Qiita
                                      • GitHub、脆弱性のあるコードの自動修正機能発表。AIボットが修正済みコードと解説をプルリクエスト

                                        GitHubは、脆弱性のあるコードをAIボットが自動的に発見、修正したコードとその解説をプルリクエストしてくれる「code scanning autofix」(コードスキャン自動修正機能)を発表しました。 Meet code scanning autofix, the new AI security expertise now built into GitHub Advanced Security! https://t.co/cTDuKZCWMv — GitHub (@github) March 20, 2024 下記がそのコードスキャン自動修正機能の説明です。「Found means fixed: Introducing code scanning autofix, powered by GitHub Copilot and CodeQL」から引用します。 Powered by GitH

                                          GitHub、脆弱性のあるコードの自動修正機能発表。AIボットが修正済みコードと解説をプルリクエスト
                                        • Oracle、「Java 22」を発表/12のJDK拡張提案(JEP)が含まれる

                                            Oracle、「Java 22」を発表/12のJDK拡張提案(JEP)が含まれる
                                          • 「Java 22」正式リリース。無名変数と無名パターン、複数のソースコードからなるJavaを一発実行する新機能など。「void main()」な記述もセカンドプレビューへ

                                            「Java 22」正式リリース。無名変数と無名パターン、複数のソースコードからなるJavaを一発実行する新機能など。「void main()」な記述もセカンドプレビューへ オラクルはJavaの最新バージョン「Java 22」正式版をリリースしました。 Java 22 is now available! #Java22 #JDK22 #OpenJDK Download Now: https://t.co/aCramdGK3b Release notes: https://t.co/UIHZ8nwZNu API Javadoc: https://t.co/RBVjNl6Qpm Features: https://t.co/DNvcj2yYbo Inside Java on JDK22: https://t.co/Wh9qOLeL2N pic.twitter.com/nrKfgbqx7X — J

                                              「Java 22」正式リリース。無名変数と無名パターン、複数のソースコードからなるJavaを一発実行する新機能など。「void main()」な記述もセカンドプレビューへ
                                            • macOS Sonoma 14.4適用後にJavaがクラッシュする不具合。回避策なく、OS更新の延期を

                                                macOS Sonoma 14.4適用後にJavaがクラッシュする不具合。回避策なく、OS更新の延期を
                                              • macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで

                                                macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで オラクルは、Appleシリコン搭載のMacでmacOS Sonoma 14.4にアップデートを行うと、Java 8以降のすべてのバージョンでJavaが予期せず終了する現象が発生するとして、Macユーザーに注意喚起を行っています。 今のところ回避策はなく、macOSをバージョンアップしてしまうと元に戻す簡単な方法もないため、Appleシリコン搭載のマシンでJavaを利用している開発者やユーザーは、この問題が解決するまでは最新のmacOSへの移行を延期することをオラクルは勧めています。 Javaが正常に動作しないことで、Javaに依存しているツールもmacOS Sonoma 14.4では動作しなくなります。Kotlinの開発元などで知られるJetBrainsは、J

                                                  macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで
                                                • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

                                                  はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の本旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。

                                                    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
                                                  • Apple Silicon (M1, M2, M3) の mac で macOS Sonoma 14.4 にアップデートすると JetBrains IDE がクラッシュする - 株式会社サムライズム

                                                    ホーム>JetBrains > トラブルシューティング > Apple Silicon (M1, M2, M3) の mac で macOS Sonoma 14.4 にアップデートすると JetBrains IDE がクラッシュする 現象 Apple Silicon (M1, M2, M3) の mac で macOS Sonoma 14.4 にアップデートすると JetBrains IDE がクラッシュする 原因 Oracle Java チームのブログ「Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update」(2024/3/15公開) において macOS 14.4 で Java アプリケーションが異常終了する、また、この問題に対する回避策

                                                      Apple Silicon (M1, M2, M3) の mac で macOS Sonoma 14.4 にアップデートすると JetBrains IDE がクラッシュする - 株式会社サムライズム
                                                    • Oracle、macOS 14.4 Sonomaアップデート後にApple Silicon MacでJavaプロセスが予期せず終了してしまう不具合がるとしてアップデートを控えるよう通知。

                                                      OracleがmacOS 14.4 Sonomaアップデート後にApple Silicon MacでJavaプロセスが予期せず終了してしまう不具合がるとしてアップデートを控えるよう通知しています。詳細は以下から。 Appleは現地時間2024年03月07日、書き起こし機能を追加したポッドキャストアプリを同梱し、複数の脆弱性を修正した「macOS 14.4 Sonoma」をリリースしましいたが、米Oracleは03月15日、このmacOS 14.4ではApple Silicon MacでJavaプロセスが予期せず終了してしまう不具合を確認したと発表しています。 Java users on macOS 14 running on Apple silicon systems should consider delaying the update to macOS 14.4. For furthe

                                                        Oracle、macOS 14.4 Sonomaアップデート後にApple Silicon MacでJavaプロセスが予期せず終了してしまう不具合がるとしてアップデートを控えるよう通知。
                                                      • 「Java」「Rust」がC/C++の代替になるこれだけの根拠

                                                        どのプログラミング言語を利用するのかは開発者にとって大きな悩みだ。プログラミング言語「C」やその派生言語である「C++」は、業務アプリケーションや組み込みシステムなど幅広い用途で利用されている。処理速度や制御のしやすさといった観点で、C/C++と他のプログラミング言語を比較することは珍しくない。 「Java」はC/C++の比較相手としてしばしば名前が挙がる。JavaとC/C++はプログラムを実行する仕組みが異なり、その違いのために従来「Javaは遅い」と評する開発者もいた。この意見は正しいのだろうか。他方でC/C++に代わるプログラミング言語として台頭しつつある「Rust」はどのような特性を持ち、なぜ支持を集めているのか。本資料は、そうした疑問に対する答えを提示する。C/C++以外の選択肢に目を向けるためのきっかけとして参考にしてほしい。

                                                          「Java」「Rust」がC/C++の代替になるこれだけの根拠
                                                        • 注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog

                                                          更新履歴 2024/3/22 22:24 本問題に対するワークアラウンドを含む 2023.3.6 がリリースされましたので回避策に追記しました。 2024/3/18 1:03 macOS 14.4 はセキュリティアップデートを含むため(一般には)適用が推奨されること、および IDE クラッシュの発生頻度は JVM のバージョンや VM オプション、利用形態等の環境により異なることが考えられるため macOS 14.4 インストール済み環境における対応については「上記で報告されている IDE のクラッシュが頻繁に発生する場合」 に推奨する旨を追記しました こんにちは。JetBrains 堀岡です。 2024 年 3 月 15 日に公開された Oracle Java チームのブログポスト「Java users on macOS 14 running on Apple silicon syste

                                                            注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog
                                                          • Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update

                                                            Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update An issue introduced by macOS 14.4, which causes Java process to terminate unexpectedly, is affecting all Java versions from Java 8 to the early access builds of JDK 22. There is no workaround available, and since there is no easy way to revert a macOS update, affected users might be unable to ret

                                                              Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update
                                                            • Microsoft、「Semantic Kernel for Java 1.0」のリリース候補を公開

                                                              米Microsoftは、大規模言語モデル(LLM)のアプリへの迅速な統合を可能にするSDK(統合開発環境)である「Semantic Kernel」向けJavaライブラリのリリース候補「Semantic Kernel for Java 1.0.0-rc2」を、3月5日(現地時間)に公開した。 Semantic Kernel for Javaは、開発者がJavaでコーディング中にAIを活用できるようにするオープンソースのライブラリで、Java 8以降と互換性があり、幅広いJavaアプリケーションに対応している。AIサービスをJavaプロジェクトに統合することによって、使い慣れたJava開発環境を犠牲にすることなく、AIとLLMの可能性を最大限に引き出せるようになる。 Microsoftは、Semantic Kernel for Javaの可能性をただちに理解できるようにすべく、サンプルコードを

                                                                Microsoft、「Semantic Kernel for Java 1.0」のリリース候補を公開
                                                              • UberのCacheFront:レイテンシーを大幅に削減し、毎秒4000万件の読み取りを可能に

                                                                垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                                  UberのCacheFront:レイテンシーを大幅に削減し、毎秒4000万件の読み取りを可能に
                                                                • AWS、より高速で効率的なサーバーレスアプリのための低レイテンシーランタイムを実験的に導入

                                                                  垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                                    AWS、より高速で効率的なサーバーレスアプリのための低レイテンシーランタイムを実験的に導入
                                                                  • How Netflix Really Uses Java

                                                                    Transcript Bakker: I'm going to talk about how Netflix is really using Java. You probably know that Netflix is really just about RxJava microservices, with Hystrix and Spring Cloud. Really, Chaos Monkeys are just running the show. I'm only half getting here because a few years ago, this was actually mostly true, maybe except the Chaos Monkeys. This stack was something that we were building on in t

                                                                      How Netflix Really Uses Java
                                                                    • 米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ

                                                                      米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ 米ホワイトハウスの国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、サイバー空間における攻撃対象領域を積極的に削減する目的で、テクノロジーコミュニティやソフトウェアコミュニティに対してメモリ安全(Memory Safe)なソフトウェアの実現を積極的に呼びかけるプレスリリース「Future Software Should Be Memory Safe」(将来のソフトウェアはメモリ安全になるべき)を発表しました。 プレスリリースの中で、国家サイバー局長Harry Coker氏は「私たちは国家として、サイバースペースにおける攻撃対象領域を減らし、あらゆる種類のセキュリティバグがデジタルエコシステムに

                                                                        米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ
                                                                      • インターフェースと型クラスの違いを考える

                                                                        この記事では、JavaライクなインターフェースとHaskellライクな型クラスを比較します。どちらも、複数の異なる型を統一的に扱うための仕組みです。 インターフェース インターフェースはご存知の方も多いと思いますが、コード例を載せておきます。 // インターフェースの定義 interface Greetable { String greet(); } // 実装の例1 class Hello implements Greetable { String message; Hello(String m) { this.message = m; } public String greet() { return "Hello " + message + "!"; } } // 実装の例2 class Goodbye implements Greetable { public String gree

                                                                          インターフェースと型クラスの違いを考える
                                                                        • Java の enum を使いこなせるあなたに sealed interface

                                                                          はじめに Java の enum は大変便利で非常多くのシーンで活用されています。例えば区分を表すようなオブジェクトを表現したい際にもよく使われていますね。 Java 14 で正式機能となった switch式にて網羅性検査が行えるようになり、それまで以前ではどうしても抽象メソッド等を活用する必要があった処理についても、switch式を利用する事で簡潔に表現することができるようになりました。 また、Java 17 で正式機能となった sealed classes/interfaces と Java 21 で正式機能になった Record Patterns によって、これまで必要だった区分値のような enum を必ずしも定義しなくて良い場合も出てきました。 この記事では、今まで enum を使っていたコードがこれらの機能によってどのように変わるのかを紹介し、盲目的に enum を定義するのでは

                                                                            Java の enum を使いこなせるあなたに sealed interface
                                                                          • WebAssemblyで実装したJava仮想マシン、CheerpJ 3.0が登場

                                                                            英Leaning Technologiesは、WebAssemblyで実装したJava仮想マシン「CheerpJ 3.0」の提供を2月1日(現地時間)に開始した。今回の新バージョンはゼロからコードを書き直し、新しいアーキテクチャを採用した。Leaning Technologiesは、CheerpJを商用ソフトウェアとして提供しており、企業などが商用ソフトウェア開発のために使用する場合は、有料のライセンス契約が必要になる。そして、個人やオープンソース開発者に向けては無料で提供している。 CheerpJは、Webブラウザ上でJavaアプリケーションをそのまま動作させることを可能にするソフトウェア。JavaのバイトコードをJavaScriptに変換して、HTML5アプリケーションとして実行する。Javaアプリケーションの「.jar」ファイルを実行できるほか、JavaアプレットやJava Web

                                                                              WebAssemblyで実装したJava仮想マシン、CheerpJ 3.0が登場
                                                                            • Elasticsearchのパフォーマンス問題をプロファイラを使って解決する | メルカリエンジニアリング

                                                                              search infra teamのmrkm4ntrです。我々のチームではElasticsearchをKubernetes上で多数運用しています。歴史的経緯によりElasticsearchのクラスタは全てElasticsearchクラスタ専用のnode pool上で動作していました。ElasticsearchのPodは使用するリソースが大きいため、このnode poolのbin packingが難しくコストを最適化できないという問題がありました。そこで全てのElasticsearchクラスタを専用のnode poolから他のワークロードと共存可能なnode poolへ移行しました。ほとんどのクラスタが問題なく移行できたのですが、唯一移行後にlatencyのスパイクが多発してしまうものがありました。 この記事では、その原因を調査する方法と発見した解消方法について説明します。 発生した現象 共

                                                                                Elasticsearchのパフォーマンス問題をプロファイラを使って解決する | メルカリエンジニアリング
                                                                              • 「One Billion Row Challenge」でJavaが10億行のファイルを2秒で処理できることを実証

                                                                                垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                                                  「One Billion Row Challenge」でJavaが10億行のファイルを2秒で処理できることを実証
                                                                                • 継承はなんでダメ? - まめめも

                                                                                  「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

                                                                                    継承はなんでダメ? - まめめも