並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1446件

新着順 人気順

Javaの検索結果281 - 320 件 / 1446件

  • 元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾

    元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾(1/6 ページ) Javaのライブラリ「Apache Log4j 2」に深刻な脆弱性が発見されたことは記憶に新しい。1カ月以上経過した現在も、注意喚起や新たな情報提供が続いている。問題は完全に収束したとはいえない。 今回の記事の主題は脆弱性対策ではない。「Javaの歴史的経緯と、今回騒ぎになっている脆弱性の話を、うまく1本の記事にしてください」という編集部のオファーに応じて書いたものだ。記事の半分は「元・Java専門記者のナイショ話」である。現実の情報システムへの対処が必要な方は、まず下記ページから最新情報をチェックしていただきたい。 IPA Apache Log4j の脆弱性対策について(CVE-2021-44228) Apache Log4j 2公式ページ Log4j 2で今回問題

      元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾
    • Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能

      Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能 オラクルは、同社がJavaディストリビューションとして提供しているGraalVMの新ライセンス「GraalVM Free Terms and Conditions」(GFTC)を発表し、あわせてこれまで有償版のGraalVMに含まれていた全ての機能を含む新ディストリビューション「Oracle GraalVM」の提供を開始しました。 GFTCでは、これまで有償版のGraalVMで提供してきた最適化コンパイラやG1ガベージコレクションなどを含むすべての機能が無料で利用可能となり、本番環境での利用も許諾されます。 Introducing a new distribution — Oracle @GraalVM! Use all the greatest G

        Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能
      • Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6

        This is part of my "Concurrency in Modern Programming Languages" series Concurrency in modern programming languages: IntroductionConcurrency in modern programming languages: RustConcurrency in modern programming languages: GolangConcurrency in modern programming languages: JavaScript on NodeJSConcurrency in modern programming languages: TypeScript on DenoConcurrency in modern programming languages

          Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6
        • Java 注目の機能:Sealed クラス

          クラスまたはインタフェースはsealedと宣言されている場合があります。これは特定のクラスやインタフェースの集合だけがそれを直接拡張できることを意味します。 sealed interface Shape permits Circle, Rectangle { ... } これは Shape と呼ばれる Sealed インタフェースを宣言します。permits リストは、Circle と Rectangle だけが Shape を実装できることを意味しています。(場合によっては、コンパイラが permits 句を推論できるかもしれません)。 Shape を拡張しようとする他のクラスやインタフェースは、コンパイルエラーを受けます(または、Shape をスーパータイプとして宣言しているラベル外のクラスファイルを生成しようとした場合は、実行時エラーとなります)。 私たちは、final クラスを介し

            Java 注目の機能:Sealed クラス
          • Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社

            そんなあるときに、めもりーさんという方がPHPでJVMを実装しているツイートを見つけました。「これはおもしろいな」と思うと同時に「PHPでできるならRでもできるだろう」という思いがこみ上げてきて開発することにしました。 ー そんなに簡単にやってみようと思ったんですね(笑) もともとコンパイラやインタプリタは作ったことがあったので、仮想マシンも作れるかなって(笑) 私が作ったjvmrrはFizz BuzzくらいのJavaコードは実行することができるのですが、めもりーさんの資料のおかげで開発するためのハードルが低く済みました。 ー そもそもなぜRで「変なもの」を開発するようになったのでしょうか? Rって言語仕様が変わっていて本当におもしろいんですよ。それをもっとみんなに知ってほしくて言語仕様を活かしたものを作って公開するようになりました。Rってデータサイエンティストや研究者しか使わないイメージ

              Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社
            • decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita

              この記事はFUJITSU Advent Calendar 2021の17日目です。 みんな大好きCOBOLの強みに十進演算があります。しかし、最近の言語には十進演算のための型(.NETのdecimalやJavaのjava.math.BigDecimalやその他)があるので、COBOL要らないんじゃない?みたいな話を聞いたりするわけです。それについて、COBOL処理系に関わっている身として思うところを述べたいと思います。「まあ、decimalやBigDecimalとかでできるっちゃできるんだけど…」の「だけど…」の部分を説明してみたい。 内容はざっと以下の通り。 二進浮動小数点で金計算をすると何がまずいかのおさらい。 十進浮動小数点の説明。 decimalやBigDecimalとCOBOL十進型の違い(BCDの説明)。 で? きっかけは、今年9月にとある記事のおかげでCOBOLがtwitte

                decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita
              • Java力をあげるための指針 - きしだのHatena

                また「プロになるJava」の宣伝か、と思われるので、今回は「プロになるJava」の宣伝は自粛します。 Java力をあげるためには最適な「プロになるJava」がオススメなんですが、そうするとこのエントリもこのあたりで終わってしまうので、今回は自重します。 ということで、よく「Java力をあげるにはどうしたらいいか」という質問をみかけます。どうしましょうね、という話。 ここで、「Java力をあげたい」と言ってるときの大半はプログラミング力をあげたいという話です。 もちろん「プロになるJava」もプログラミング力をあげるのにとても役に立つのですが、今回は「プロになるJava」以外で攻めてみましょう。 そうすると実のところJavaにこだわる必要がなくて、そして最近はPythonで無償のテキストがたくさん手に入るので、そういうのを見るといいんではないかと思います。 たとえば「Think Python

                  Java力をあげるための指針 - きしだのHatena
                • Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics

                  アクロクエスト アドベントカレンダー 12月9日 の記事です。 普段は Java, Python でバックエンドの開発をしている大塚優斗です😃 最近は Spring フレームワークのメジャーアップデートなどで盛り上がっていますね! 10月にこんな記事を見かけて、Spring Modulith がとても気になっていたので、手元で試したことを書いていきます✍️ Spring Modulith とは Spring Modulith でできること 0. Spring Modulith でのパッケージの扱いについて 1. モジュール構造の検証 循環参照の検知 別モジュールへのアクセス違反の検知 2. モジュールに閉じた結合テスト 単一のアプリケーションモジュールで結合テストができること Bootstrap モードによって、結合テスト時に他モジュールの Bean 生成ができること 3. イベントによ

                    Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics
                  • Docker HubのOpenJDKイメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ

                    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)のオープンソース実装で、複数の企業やコントリビューターが共同

                      Docker HubのOpenJDKイメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ
                    • AWSアカウントを「Log4Shell」で乗っ取る方法が報告される

                      JavaのLog4jライブラリに存在していたリモートコード実行を可能にする脆弱性「CVE-2021-44228(Log4Shell)」を突いてAWSアカウントを乗っ取る方法をセキュリティ企業のGigasheetが公開しました。 AWS Account Takeover via Log4Shell https://www.gigasheet.co/post/aws-account-takeover-via-log4shell Log4Shellは2021年12月にJavaのログ出力ライブラリ「Apache Log4j」に発見されたゼロデイ脆弱性です。Apache Log4jが広く利用されているだけでなく、Log4Shellを突く攻撃も難度が高くないことから、過去に類を見ないほどのレベルで各方面に深刻な影響を与えるとされており、セキュリティ関連組織や報道機関が2021年12月10日に公開された

                        AWSアカウントを「Log4Shell」で乗っ取る方法が報告される
                      • 「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥

                          「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥
                        • AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ

                          この記事は、ドワンゴ Advent Calendar 2020の4日目の記事です。 N予備校Androidチームでは、およそ2年かけて、Javaで書かれたコードのほとんどをKotlinに書き換えました。この記事では、コードをKotlinに書き換える上で必要だったことをまとめていきます。 Kotlin化に技術はそこまで必要ではない そもそもKotlin化をすることにそこまでの技術力は必要ないです。JavaとKotlinの互換性が高いので、Kotlin化によってコードが壊れることは少ないですし、以下のように文法にも大きな変化はないので、読めないコードが生まれることもありません。 Javaで作成したFragment public class SimpleFragment extends Fragment { @Override public View onCreateView(LayoutInf

                            AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ
                          • 注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog

                            更新履歴 2024/4/24 18:10 JetBrains IDE 2024.1 で IDE がクラッシュする問題が別途報告されています。問題および回避策は JBR-6817 です。 2024/3/26 13:00 Apple 社より本問題(Java アプリがクラッシュする問題)に対する macOS の修正 mac OS 14.4.1 がリリースされています。 2024/3/22 22:24 本問題に対するワークアラウンドを含む 2023.3.6 がリリースされましたので回避策に追記しました。 2024/3/18 1:03 macOS 14.4 はセキュリティアップデートを含むため(一般には)適用が推奨されること、および IDE クラッシュの発生頻度は JVM のバージョンや VM オプション、利用形態等の環境により異なることが考えられるため macOS 14.4 インストール済み環境に

                              注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog
                            • セキュアなトークンの作り方 - astamuse Lab

                              開発部のにゃんです。主にバックエンドを弄っております。 Webアプリケーションではセキュリティ対策のためにランダムな文字列を使用する場面が多々あります。例えば CSRF対策のトークン OAuthやOpenID Connectで使用するnonce, state, code_verifier メールの到達確認用URLのトークン パスワードをhashする際に使用するsalt セッションID これらの値は単に衝突しなければOKというものではありません。十分なセキュリティ強度を確保するためには推測不可能なランダム値を使う必要があります。 以下は推測不可能なランダム値ではありません。セキュリティが求められる場面では使ってはいけません。 Math.randomなどの疑似乱数 日付やユーザ情報のハッシュ ではどのような値が適切なのでしょうか? /dev/randomと/dev/urandom Linuxに

                                セキュアなトークンの作り方 - astamuse Lab
                              • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

                                This post is also available in the following languages. English, Korean

                                  LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                                • JavaのDockerイメージ何選ぶ? | フューチャー技術ブログ

                                  Javaアドベントカレンダーにエントリーした記事になります。 Javaのイメージを作る上で、どのDockerイメージをベースに選べばいいのか、というのを軽く調べ始めたら、選択肢がたくさんでてきたので、ちょっと突っ込んで調べてみました。 以前、仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で書いたOS名とかは今回は紹介しませんので、busterとかalpineとかwindowsservercoreってなによ?というお話はそちらの記事を参照してください。一点アップデートがあるのは、Debian 11がリリースされて、イメージとしてbullseyeというのが追加された点ですね。あとはfocal=Ubuntu 20.04LTSというのを覚えてもらえれば。 JDK周りのニュースOracle JDKが無償配布をやめて、無償利用としてはOpenJDKを、

                                    JavaのDockerイメージ何選ぶ? | フューチャー技術ブログ
                                  • Project Valhalla 2023 - プログラマーの脳みそ

                                    2023/03/30 にやったJava仕様勉強会の動画が公開されました。当日はJavaのマスコットDuke風の服で臨みました(どうでもいい裏情報) www.youtube.com セッション資料もアップロードしたので参考にしてください。 Project Valhalla 2023 中間報告 いずれも 2023年3月時点での情報です。JEPもドラフト版だったりするので、将来的に変更が入る可能性が高いことをお断りしておきます。本稿では勉強会のセッション内容に加えて、セッション時点で追従できていなかった変更点や、勉強会での指摘を踏まえてフォローアップした内容を含みます。 もしもValhalla世界でJava入門したら ここでは、Valhalla導入後のJava世界だと入門者視点でどのように変わるのかというアプローチをしています。まず、Javaのデータ型は大きくふたつに分類できて、Identity

                                      Project Valhalla 2023 - プログラマーの脳みそ
                                    • なぜAndroidエンジニアは少ないのか - Qiita

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに まずはこちらのツイートをご覧ください (駆け出しエンジニアのみなさん、モバイル開発は結構穴場ですよ… 今のところはかなり需要ありますし、供給が足りてないのでかなり狙い目ですよ… とくにAndroidエンジニアは人足りてないので、狙い目ですよ… Kotlin楽しいですよ… みなさん、Android始めませんか?) — どすこい@Android Engineer (@dosukoi_android) October 12, 2020 普段通り思ったことを呟いた結果、なぜか見事にプチバズりしました。 これにはかなり賛否両論あって、自

                                        なぜAndroidエンジニアは少ないのか - Qiita
                                      • 目次 · 入門: JDK Flight Recoder

                                        目次はじめに1章 JDK Flight Recoderとは?1.1 JDK Flight Recorder 1.2 Javaにおけるパフォーマンス分析と障害診断 1.3 JFRの歴史 - JRockitからOpenJDKまで 1.4 JFRの動作環境とJMCのインストール 2章 JDK Flight Recorderのアーキテクチャ2.1 JFRのアーキテクチャ概要 2.2 JFRとオーバーヘッド 3章 JDK Flight Recorderの記録3.1 JDK Flight Recorderの記録 4章 JDK Mission Controlによる障害分析4.1 JFR/JMCで分析可能なメトリクス 4.2 Weblogic(WLDF)とJFR 4.3 ECIDと分散トレース 4.x ユースケース 4.x.1 ユースケース1 - バッチのボトルネック分析 4.x.2 ユースケース2 -

                                        • 「コメントを全く書かない」プロジェクトに1年従事して思ったこと - Qiita

                                          初めに 私はSESでエンジニアをしています。そのためいろいろな現場に参画して開発をすることが仕事なのですが、コメントを全く書かないどころかドキュメントもあんまりないという思想のチームに1年従事したときに感じた事を書いた記事です。 開発にはJava,Pythonを利用しているので、これらの言語でサンプルを記載しています。 良かったこと まずは良かったことです。大きく分けては 自身のコーディングスキルの向上 文章力の向上 の2点です。 自身のコーディングスキルの向上 コメントがまったくない。という状態でコードを書いていく場合には、変数名、メソッド名等の命名が非常に重要です。もはや命名さえちゃんとできればコーディング自体はそんなに大変でないといってもいいかもしれません。 SIerの案件ではコメントは多く書けという思想が多いです。そのため、これまでのコードは以下のような感じでした。

                                            「コメントを全く書かない」プロジェクトに1年従事して思ったこと - Qiita
                                          • 米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨

                                            印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米国家安全保障局(NSA)は米国時間11月10日、ソフトウェアのメモリー安全性強化に向けたガイダンスを公開した。同機関はその中で開発者らに対して、ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。 これらの言語の中では、Javaが企業向けアプリや「Android」アプリの開発で最も幅広く使用されている一方、Swiftは「iOS」アプリの開発環境に取り込まれている点もあって人気プログラミング言語の上位に入っている。また、RustはシステムプログラミングにおいてCやC++の代替とし

                                              米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨
                                            • Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                              基盤本部(開発部門)の木下です。Java 17 の新機能を使って、ドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介します。 皆さんは「事前条件が OK ならデータベースを更新する」というロジックを、クリーンアーキテクチャのどのレイヤーに実装していますか? 事前条件はドメイン知識なのでドメインサービスに実装したいところですが、リポジトリーを操作するアプリケーションサービスの中に書かれることも多いのではないでしょうか。 クリーンアーキテクチャー。https://style.biglobe.co.jp/entry/2020/02/13/150709 より引用 この記事では、ドメインサービスとアプリケーションサービスをきれいに分離するために、Java 17 で正式導入された interface の sealed と permits を活用

                                                Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                                              • OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術

                                                LINE株式会社の開発拠点の一つである「京都開発室」が、オンラインのエンジニア採用説明会を開催。銀行事業のサーバーサイド開発について、Robert Mitchell氏、野田誠人氏が話をしました。 LINEの銀行サービスとは Robert Mitchell氏(以下、Mitchell):サーバーサイドチームのMitchell Robertと申します。本日、野田さんと一緒に、LINEの銀行サービスの開発について発表したいと思います。よろしくお願いします。 今日の内容ですが、以下の通りになります。まずはLINEの銀行サービスとはなにかついて、軽く説明したいと思います。その後、システムアーキテクチャと開発フローについて話したいと思います。最後は、認証と認可で、これは私たちが担当している部分です。これに関連するスペックや、セキュリティの仕組み、フローについて話したいと思います。 じゃあ、LINEの銀行

                                                  OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術
                                                • コンテナ時代における最新のJava&JVM監視 - #chiroito ’s blog

                                                  私は、OpenJDKのCommitter業や仕事でミドルウェアのSolution Architectとして活動している関係上、最近はコンテナ上でJavaアプリケーションを動かすことが非常に多いです。 KubernetesでJavaアプリを監視する場合には、Elasticsearch+KibanaやPrometheus+GrafanaなどでログやMBeanを監視する方法が一般的に行われています。 Java 11では有償JDKに含まれていた機能がOpenJDKへ寄贈され、JDK Flight Recorder (JFR)として生まれ変わりました。JFRはJVMの内部の情報やその上で動くJavaアプリケーションの様々な情報をほとんど負荷無く記録し、ファイルとして取得できます。このファイルをJDK Mission Controlなどのツールを使って確認し、これまでより詳細に分析できます。 これまで

                                                    コンテナ時代における最新のJava&JVM監視 - #chiroito ’s blog
                                                  • Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog

                                                    7年前にGitHub Rankingというサービスを作り、APIを叩きすぎてGitHubからの風当たりが強くなって*1からはデータの更新を止めていたが、KubernetesやGraphQLの時みたいに技術を試す砂場用に惰性で動かし続けていた。 Issueの機能要望対応が段々面倒になってきて、サーバー代節約のために潰すかと考えていたのだけど、毎日1000PVくらいあるので試しにGoogle Adsenseを設置してみたところ1日平均 $1 くらいは入ってて黒字になりそうだったので、ちょっとメンテしやすくしてデータの更新再開するかー、ということで今回いろいろ綺麗にした。 DB: MySQL → PostgreSQL なぜPostgreSQLにしたのか 個人的には多くの用途ではMySQLとPostgreSQLどっちでもいいと思っているんだけど、今所属してるチームがメンテしてるサービスのDBの多く

                                                      Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog
                                                    • Smalltalkが失敗した理由

                                                      Room 101より。 Bits of History, Words of Advice 「貴重なものがあるのに、私に喜びを与えてくれるような優雅さがあるのに、なぜ君ら間抜けは劣った言語の乗り物を使うんだ? どうして、そんなに盲目で愚かなんだ?」その議論には絶対に勝てないし、挑戦しない方がいい。 - アラン・パリス, 1978 1970年代後半、Xerox Parcの研究者たちは現代のコンピューティングを発明しました。もちろん、他の場所にもありましたが、Parcは非常に不釣り合いな(不相応な)貢献をしました。 その大部分は、Smalltalkというプログラミング言語をベースとして行われました。40年前、Smalltalkの動的更新とリフレクション機能は、今日の主流言語の中では最も高度なものでした。この言語は、これらの機能を活用して、多くの点で現在、その用語の下で成り済ましている日食、ブラッ

                                                      • JCenter が2021年5月1日にシャットダウンすることになったので Android アプリエンジニア観点でメモをまとめた - BattleProgrammerShibata

                                                        シャットダウンが延期されました 読み取り専用として存続します JCenter のシャットダウンについては2022年2月1日へ延期になりました。 https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ UPDATE: To better support the community in this migration, JFrog has extended the JCenter new package versions submission deadline through March 31st 2021. To clarify, the JCenter repository will keep serving packages for 12 months until February

                                                          JCenter が2021年5月1日にシャットダウンすることになったので Android アプリエンジニア観点でメモをまとめた - BattleProgrammerShibata
                                                        • 米バイデン政権、「Log4j」問題などを受けGAFAやOpenSSFなどを招いたOSSセキュリティ会議開催

                                                          米バイデン政権、「Log4j」問題などを受けGAFAやOpenSSFなどを招いたOSSセキュリティ会議開催 米連邦政府は1月13日(現地時間)、Apple、Google、Amazonなどいわゆるビッグテックとオープンソースソフトウェア(OSS)組織のトップを招いたサイバーセキュリティ会議を開催した。2021年12月に発見されたLog4jの脆弱性を契機に緊急で開催が決まったものだ。 参加企業および組織は、Akamai、Amazon、Apache Software Foundation、Apple、Cloudflare、Meta(旧Facebook)、GitHub、Google、IBM、Linux Foundation、Open Source Security Foundation、Microsoft、Oracle、RedHat、VMWare。OracleはLog4jライブラリが実行されるJa

                                                            米バイデン政権、「Log4j」問題などを受けGAFAやOpenSSFなどを招いたOSSセキュリティ会議開催
                                                          • Java 20新機能まとめ - Qiita

                                                            Java 20が2023/3/21にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2023-March/007517.html The Arrival of Java 20! 今回、正式導入された大きな機能はありません。プレビューとしても新しいものはScoped Valueひとつだけです。次回Java 21がLTSなので、ウォーミングアップなバージョンという感じですね。 詳細はこちら JDK 20 Release Notes Java SE 20 Platform JSR 395 OpenJDK JDK 20 GA Release APIドキュメントはこちら Overview (Java SE 20 & JDK 20) 追加されたAPIまとめはこちら https://docs.oracle.com/en/java/javase/

                                                              Java 20新機能まとめ - Qiita
                                                            • x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない - きしだのHatena

                                                              x = x + 1がわからないという話が流行ってました。 で、「=ではなく:=を使えば」とか「イミュータブルにすれば」とかいう話が出たりしてますが、問題をあとまわしにしてるように見えます。 結局のところ、逐次実行がわかっていないことが表面化している場合がほとんどではないかと。 https://speakerdeck.com/kishida/lets-code-a-process?slide=8 プログラム以外の文章は、基本的にひとつの状態を示していて状態が遷移するということがありません。 推理小説なども、最終的な状態が徐々に開示されるだけともいえます。途中から読むと犯人が変わるということはないですね。もちろんそのように途中から読むと犯人が変わるような叙述トリックは可能ですが、通常はそうではないからトリックになるわけで。 つまり、x = x + 1という式は、x + 1という演算を行ってから

                                                                x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない - きしだのHatena
                                                              • 何問解ける?Javaクイズ!(全13問) #techtekt Q - techtekt

                                                                みなさまこんにちは。techtekt編集部です。 パーソルキャリアのエンジニアやデータサイエンティストなどが出題する「#techtekt Q」 前回は、TypeScript編をお届けしました。 techtekt.persol-career.co.jp 第2弾は、主に転職サービス「doda」やハイクラス転職サービス「iX」などの開発の主要言語であるJavaに関するクイズをプロダクト開発統括部 佐藤 政美さんからの出題です。 さぁ、あなたは何問解けますか??? 1問目 次のプログラムをコンパイル&実行するとどのような結果になるでしょうか? public class Quiz01 { public static void main(String[] args) { boolean b = true; if (b = false) { System.out.println("A"); } else

                                                                  何問解ける?Javaクイズ!(全13問) #techtekt Q - techtekt
                                                                • Javaのバージョン別、1行ずつファイルを読む方法まとめ - Qiita

                                                                  (この記事は 地平線に行く とのマルチポストです) Java でファイルを読み込む処理は、バージョンが上がるごとにどんどん簡単に書けるようになっていきました。 今回は、どれだけ簡単になっていったかを Java のバージョンごとにまとめて説明します。 なお、ここでは以下の処理を行うコードをもとにしています。 そこそこ大きいテキストファイルを一行ずつ読み込む 文字コードは UTF-8 Java 1.1, Java 1.2, Java 1.3 public static void main(String[] args) throws IOException { File file = new File(args[0]); BufferedReader reader = null; try { reader = new BufferedReader( new InputStreamReader(

                                                                    Javaのバージョン別、1行ずつファイルを読む方法まとめ - Qiita
                                                                  • 「Azure Spring Cloud」正式リリース。JavaフレームワークSpring Bootの開発と実行のためのフルマネージド環境

                                                                    「Azure Spring Cloud」正式リリース。JavaフレームワークSpring Bootの開発と実行のためのフルマネージド環境 マイクロソフトとVMwareは、Microsoft Azure上でフルマネージドなSpring Bootアプリケーションの開発や実行環境を提供する新サービス「Azure Spring Cloud」の正式リリースを発表しました(マイクロソフトの発表、VMwareの発表) We're excited to share the general availability of Azure Spring Cloud - a fully managed service for Spring Boot apps built, operated, and supported by @Microsoft @Azure and @VMware. https://t.co/p

                                                                      「Azure Spring Cloud」正式リリース。JavaフレームワークSpring Bootの開発と実行のためのフルマネージド環境
                                                                    • フェアユースは認められたが、Googleは対価を支払うべき - Java API訴訟に寄せて - arclamp

                                                                      ようやく裁判の結果が出ました。結果としてフェアユースが認められたのはよかったのですが、Googleが勝訴したということは素直に喜べないので、その理由を書いておきます。 関連ニュースは、こういったところから。 約1兆円の賠償金を巡るGoogleとOracleの10年にわたる訴訟が決着、「APIのコピー」は結局違法なのか? - GIGAZINE Google、オラクルの著作権侵害せず 米最高裁判決: 日本経済新聞 グーグル、米最高裁でオラクルに勝訴--「Android」Javaコード訴訟で - CNET Japan 経緯 では、経緯について時系列に沿って整理していきます。推定可能な事実に基づきますが、一部、妄想も含まれています。 2005年 Google(広告収入増やすには無償で改変自由なスマホOSが重要になるはず。普及させるなら開発者の多いJavaベースだよな。でも、クラスライブラリ改変しな

                                                                        フェアユースは認められたが、Googleは対価を支払うべき - Java API訴訟に寄せて - arclamp
                                                                      • IT・エンジニア必見!Javaについて徹底解説――習得して今の仕事や今後のキャリアに活かそう! | AKKODiS(アコーディス)コンサルティング株式会社

                                                                        IT・エンジニア必見!Javaについて徹底解説――習得して今の仕事や今後のキャリアに活かそう! 公開日:2019.07.16 スキルアップ これからIT・エンジニアになりたい人、IT・エンジニアになりたての人が最初に勉強する言語といえば何でしょうか? もちろん開発現場によっても異なりますが、その答えのひとつは「Java」です。常に需要のある言語で、Webアプリからスマホ、ゲーム、IoTなど幅広いジャンルで使われています。 今回、これから活躍するIT・エンジニアにJavaの習得がおすすめな理由や、Javaの勉強方法についてご紹介します。 Javaとは、プログラミング言語の一種です。プログラミング言語の中でも特に有名なものにC言語がありますが、JavaはそのC言語の流れをくむプログラミング言語で、アプリやソフトウェアの開発に利用されています。 構文は、C++という、C言語の仲間のプログラミング

                                                                          IT・エンジニア必見!Javaについて徹底解説――習得して今の仕事や今後のキャリアに活かそう! | AKKODiS(アコーディス)コンサルティング株式会社
                                                                        • Facebook、プログラムコードを別のプログラミング言語に翻訳する「TransCoder AI」を開発 - BRIDGE(ブリッジ)

                                                                          Facebook、プログラムコードを別のプログラミング言語に翻訳する「TransCoder AI」を開発 FacebookはC++、Java、Pythonなどの高水準言語で書かれたプログラムコードを別のプログラミング言語に変換するニューラルトランスコンパイラを開発したという。このシステムは教師なし学習を採用しており、同社は従来よりもかなり効率が改善したとしている。 既存のプログラムコードを別の言語に移行するには、両方の言語について専門的な知識が必要な上、コストがかかってしまいがちだ。たとえばオーストラリアのコモンウェルス銀行はプラットフォームをCOBOLからJavaに移行するために5年の歳月と約7億5,000万米ドルを費やした。 Facebookは教師なし学習というアプローチ法に取り組み、C++、Java、Python間でソースコードを変換することができる「TransCoder」を開発した

                                                                            Facebook、プログラムコードを別のプログラミング言語に翻訳する「TransCoder AI」を開発 - BRIDGE(ブリッジ)
                                                                          • 35万行以上のコードで作られたPerlの認証認可基盤をJavaで刷新 “安全かつ効率のよい”改修に必要な「Shift Left」という考え方 | ログミーBusiness

                                                                            インターネットやAIを駆使しながら、領域に捉われずにさらなる挑戦を行うDeNAの取り組みを紹介する「DeNA TechCon 2023」。ここで認証認可システムのリノベーションチームの岸直輝氏が登壇。Shift Leftの考え方を基に実践している静的解析や自動テスト、挙動の差分を自動で発見するための取り組みについて紹介します。全2回。前半は、開発において大事にしている「Shift Left」という考え方について。 認証認可システムのリノベーションチームに所属する岸直輝氏岸直輝氏:それでは「リライトプロジェクトを安全・効率よく進めるための取り組み」というタイトルで発表いたします。よろしくお願いします。 初めに簡単に自己紹介したいと思います。名前は岸といいます。インターネット上では「p1ass」というIDで活動しています。DeNAには2021年に新卒で入社しました。現在は、認証認可システムのリ

                                                                              35万行以上のコードで作られたPerlの認証認可基盤をJavaで刷新 “安全かつ効率のよい”改修に必要な「Shift Left」という考え方 | ログミーBusiness
                                                                            • NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か

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

                                                                                NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か
                                                                              • OOP: the worst thing that happened to programming

                                                                                > BTC: bc1qs0sq7agz5j30qnqz9m60xj4tt8th6aazgw7kxr ETH: 0x1D834755b5e889703930AC9b784CB625B3cd833E USDT(Tron): TPrCq8LxGykQ4as3o1oB8V7x1w2YPU2o5n Ton: UQAtBuFWI3H_LpHfEToil4iYemtfmyzlaJpahM3tFSoxomYQ Doge: D7GMQdKhKC9ymbT9PtcetSFTQjyPRRfkwTdismiss OOP: the worst thing that happened to programming [2/24/2025] In this article, we will try to understand why OOP is the worst thing that happened to prog

                                                                                  OOP: the worst thing that happened to programming
                                                                                • TwitterがScalaを採用した大昔を振り返ってScalaについて色々考えてみる - xuwei-k's blog

                                                                                  雑にtweetしたら多少反応があったというか、新しいもの書くばかりではなく歴史を振り返る方が、場合によっては面白いというかためになるというか、 そもそもプログラミングに限らず現在や未来は過去の延長線上でしかないので、歴史を振り返ることは大事ですね。 先に断っておきますが「X(旧Twitter)」と書くの面倒だし「X」だけだとわかりにくいので、*1単にTwitterと記述すると思います。 あと自分はTwitterの中の人や昔Twitterの中の人だった人と軽く話したことはある程度で、もちろん自分はTwitterの中の人だったことはないです。外から観察した情報を書くだけです。 さて、どこから振り返ればいいのか難しいのと、そもそも歴史そのものを正確に詳細に振り返るというよりは、当時(から現在に至るまで)の雰囲気を伝えることや、それに対する自分なりの解釈などを書きつつ、これの読者に同じように過去を

                                                                                    TwitterがScalaを採用した大昔を振り返ってScalaについて色々考えてみる - xuwei-k's blog

                                                                                  新着記事