並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1163件

新着順 人気順

javaの検索結果241 - 280 件 / 1163件

  • タイムゾーン呪いの書 (実装編)

    「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「実装編」は、導入にあたる「知識編」の続きとなる第二部です。おもに Software Design 誌の 2018年 12月号に寄稿した内容をベースにしていますが、修正した内容もかなりあります。本記事全体を通して「知識編」を読んでいることを前提にしているので、ご注意ください。旧 Qiita 版にあった Java 特有の内容は、第三部にあたる「Java 編」にあります。 はじめに 先の「知識編」では、この時刻とタイムゾーンという厄介な概念について一般的な知識を紹介してきました。さて、ではこの知識を具体的に実装に

      タイムゾーン呪いの書 (実装編)
    • 元・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ガベージコレクションを含む。本番環境でも利用可能
        • オブジェクト指向のまとめ2026年版 - きしだのHatena

          なんかオブジェクト指向の話が盛り上がってるので、関連記事をまとめておきます。 まずはここから。12年たちました。 Java 8が出たすぐあとくらいの記事です。 Javaでラムダ式が入って、その後は継承のできないrecord型が入ったり、パターンマッチが入ったり、クラスの定義を書かなくてもHello worldが書けるようになったりと、非オブジェクト指向な機能も出そろってます。 だいたい同じ内容ですが、3年前。 今回の発端になったのは、過剰設計のコードがオブジェクト指向的に正しいみたいな話が出てきたからだと思うのだけど、過剰設計ということばでいろいろ議論されてるように、オブジェクト指向だとオブジェクト迷路ができがちというのは問題視されていたので、正しいというわけではないです。 で、なんでオブジェクト指向迷路ができるかというと、オブジェクト指向の本がアプリケーションを見据えずにモデリングの話を

            オブジェクト指向のまとめ2026年版 - きしだのHatena
          • 【ネタ記事】Akamai x UNIQLOのコラボTシャツに書いているコードをJavaでOCRして解読してみる - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

            • 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
              • Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社

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

                  Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社
                • MCPサーバーとMCPクライアントを作る | gihyo.jp

                  AIの活用では、MCPという言葉が注目を浴びています。連載の最後に、JavaでMCPサーバー/クライアントを実装してみて、MCPへの理解を深めます。 なお、この記事で取り扱ったコードはこちらからダウンロードできます。 MCPとは MCP(Model Context Protocol)は、Function Calling(Tool Use)をJSON-RCPに基づいてリモートで呼び出す仕組みです。 Function Callingの場合は機能の実装をチャットプログラムと一緒に行う必要がありました。MCPではチャットプログラムと機能の実装を分離できるため、チャットプログラムにあとから機能を追加できるようになります。つまり、LM StudioやChatGPTのチャットアプリケーションに様々な機能を登録して利用できるわけです。また、さまざまなアプリケーションやサービスがMCPの規格に対応したため、

                    MCPサーバーとMCPクライアントを作る | gihyo.jp
                  • Java力をあげるための指針 - きしだのHatena

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

                      Java力をあげるための指針 - きしだのHatena
                    • 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
                      • 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イメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ
                          • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

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

                              LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                            • 「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥

                                「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥
                              • 注意: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
                                  • コンテナ時代における最新の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
                                    • OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術 | ログミーBusiness

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

                                        OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術 | ログミーBusiness
                                      • 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 - プログラマーの脳みそ
                                        • 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」で乗っ取る方法が報告される
                                          • 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イメージ何選ぶ? | フューチャー技術ブログ
                                            • 米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨

                                              これらの言語の中では、Javaが企業向けアプリや「Android」アプリの開発で最も幅広く使用されている一方、Swiftは「iOS」アプリの開発環境に取り込まれている点もあって人気プログラミング言語の上位に入っている。また、RustはシステムプログラミングにおいてCやC++の代替として注目を集めつつある。 同ガイダンスには「可能であれば、メモリー保護機能が言語自体にほとんど、またはまったく内在していないCやC++といった言語から、メモリー安全性の高い言語への移行に向けた戦略的遂行手段を検討することを組織や企業に推奨する。メモリー安全性の高い言語として、C#やGo、Java、Ruby、Swiftなどが挙げられる」と記されている。 NSAはGoogleやMicrosoftにおける最近の調査結果を引用している。それらによると、「Google Chrome」や「Windows」内で発見されたセキュ

                                                米国家安全保障局、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の「はたらく人」と「トガッた技術」
                                                • 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
                                                  • 米バイデン政権、「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
                                                      • TwitterがScalaを採用した大昔を振り返ってScalaについて色々考えてみる - xuwei-k's blog

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

                                                          TwitterがScalaを採用した大昔を振り返ってScalaについて色々考えてみる - xuwei-k's blog
                                                        • 何問解ける?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(テックテクト) | パーソルキャリアのエンジニアブログ
                                                          • 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
                                                            • 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のバージョンの取り扱い(2023年6月) - 日々常々

                                                                ツイート したらそれなりに反応があったので、少し丁寧に書いておこうかなと。 水物な内容なので、自動でつく投稿日時以外にもタイトルに「2023年6月」を入れて強調しておきます。 しょーとあんさー よくわかんないならJava17にしておきましょう。 前提 ツイート。だよねーって思ったので、下に書いてたを持ち上げておきます。 LTSとかいう言葉が出てきますが、現在のJavaはメジャーバージョンがLTSと非LTSがあります。 OracleJavaSE を前提にしています。他のサポートも似たり寄ったりな感じと思っているけれど、自分たちが使ってるとこのサポートを確認してくださいまし。 また、本稿は「Javaのバージョン?何それ?」とか「色々あるけど最新使ってたらいいんだよね?」とかそういう方向けで、プロダクトのJavaバージョンを選定する方々向けではありません。そういうのに必要な知識には全然足りません

                                                                  Javaのバージョンの取り扱い(2023年6月) - 日々常々
                                                                • Gradle/Kotlinで開発する私的ベストプラクティス2022 - Kengo's blog

                                                                  こちらのエントリーが素敵だなと思ったので、最近書いてるKotlinプロジェクトのベストプラクティスをまとめてみます。一部はJavaプロジェクトにおいても利用できるはずです。 zenn.dev 基本方針 参加障壁を下げる。OSSプロジェクトでもプロプライエタリ・ソフトウェアプロジェクトでも、新しい開発者が参加するコストを下げることには大きな意義がある。 環境差異を吸収する。javaにPATHが通ってさえいればOSに関係なくビルドが通るようにする。 プロジェクト固有ルールを作らない。Conventional CommitsやKeep a changelogなど、ひろく世に使われているルールを採用する。 Gradleを設定する Spotlessを使う コードのフォーマットはformatterに任せて人間は細かいことを考えない、というのが不特定多数が参加するソフトウェアプロジェクトのあるべき姿だと

                                                                    Gradle/Kotlinで開発する私的ベストプラクティス2022 - Kengo's blog
                                                                  • 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
                                                                    • dodaの技術負債を解消するコンテナ環境で動くAPIサーバー - techtekt(テックテクト) | パーソルキャリアのエンジニアブログ

                                                                      こんにちは。dodaサイト開発グループの齋藤です。 doda トップページリビルドプロジェクトにて、コンテナ環境で動くAPIサーバー(hydrogenと社内では読んでいます)を作成しました。 そのAPIサーバーの開発が活発化してきたため、社外向けへの知見の共有と、社内のチーム向けのドキュメントとして、プロジェクトにおいて工夫した点などをこの記事にて公開することにします。 なぜAPIサーバー(hydrogen)を作成したのか これまでdodaではJava側でHTMLまで返すMPA(Multiple Page Application)で作られていました。 しかし今回のdodaトップページリビルドプロジェクトではSPA(Single Page Application)で作っており、APIが必要になりました。 参考:フロントエンドに関する記事はこちらです。 APIの作成は既存のシステムでも可能です

                                                                        dodaの技術負債を解消するコンテナ環境で動くAPIサーバー - techtekt(テックテクト) | パーソルキャリアのエンジニアブログ
                                                                      • JavaVMをWebAssemblyで実装した「CheerpJ 4.0」正式リリース、Java 11に対応

                                                                        JavaVMをWebAssemblyで実装した「CheerpJ 4.0」正式リリース、Java 11に対応 Leaning Technologiesは、Webブラウザで実行可能なJavaVMのWebAssembly実装である「CheerpJ 4.0」正式版をリリースしました。 CheerpJ 4.0はOpenJDKのJavaランタイムをWebAssemblyで実装したもので、Java 11に対応。既存のJavaアプリケーションを再コンパイルなどを必要とすることなく、ビルド済みのJarファイルをそのままWebブラウザで実行可能です。 CheerpJ 3.xまではJava 8対応だったため、今回のバージョンアップで実用性が高まったと言えそうです。 #CheerpJ 4.0 is here! Read the latest blog post by @alexpignotti and @smmd

                                                                          JavaVMをWebAssemblyで実装した「CheerpJ 4.0」正式リリース、Java 11に対応
                                                                        • ドメイン駆動設計を参考にしながらJava×SpringBootで家計管理アプリを自作 - Qiita

                                                                          2-3. 使用技術 アプリケーション作成 Java 17.0.2 Spring Boot 3.0.3 Spring Security 6.0.5 JOOQ 3.17.8(ORマッパー) データベース MySQL 8.0.32 UI HTML(Thymeleaf) CSS(Bootstrap 5.0.2) JavaScript(Chart.js 4.3.0) インフラ Fly.io (https://fly.io/) PlanetScale (https://planetscale.com/) 3. 実装するにあたって意識したこと 実務未経験者が初めて作成するアプリなので、何も考えずに作るとコードが無秩序な状態に陥ってしまうのではないかと思い、何かしら方針を決めたいと考えました。以前、書籍『現場で役立つシステム設計の原則』を読んだ際に、保守や変更に強いソフトウェアを作るための設計思想に「ドメ

                                                                            ドメイン駆動設計を参考にしながらJava×SpringBootで家計管理アプリを自作 - Qiita
                                                                          • “Log4j用ワクチン”登場 脆弱性を利用して修正プログラムを実行

                                                                            簡単な方法で任意のプログラムを実行できてしまうとして12月10日ごろからIT系企業で騒動になっている、Apacheソフトウェア財団のJava向けログ出力ライブラリ「Apache Log4j」(Log4j)の脆弱性。そんな中、“ワクチン”のようにこの脆弱性を修正するプログラムを、米情報セキュリティ企業Cybereasonが12月11日(日本時間)にGitHubで公開した。 Log4jには「JNDI Lookup」という機能があり、これを悪用すると外部のサーバに置いた任意のプログラムを標的に読み込ませ、実行させられる。対策としては、JNDI Lookup機能を停止する必要がある。Cybereasonが公開した修正プログラム「Logout4Shell」は、この脆弱性を使って「JNDI Lookup機能を停止させた状態でLog4jを再構築するプログラム」を実行させることで問題を修正するというもの。

                                                                              “Log4j用ワクチン”登場 脆弱性を利用して修正プログラムを実行
                                                                            • NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か

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

                                                                                NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か
                                                                              • Slack アプリでのモーダルの使い方完全ガイド - Qiita

                                                                                こんにちは、Slack の公式 SDK 開発と日本の Developer Relations を担当している瀬良 (@seratch) と申します この記事では、Slack アプリでエンドユーザーからの情報送信を受け付けたり、インタラクティブなインタフェースを提供するために利用できる「モーダル」について知っておくべきことを可能な限り全て網羅していきます。 この記事で網羅しているトピック もし、以下のようなことを疑問に思って Google 検索をしてこの記事にたどり着いたようでしたら、この(長い)記事のどこかにきっと必要な情報があるはずです。該当の箇所を読んでみてください。 モーダルを使うための基本的な手順 モーダルの API に渡すパラメータの詳細 モーダルからのデータ送信の留意点 モーダルからのデータ送信に対する応答方法 モーダルからのデータ送信以外のインタラクションへの応答方法 モーダ

                                                                                  Slack アプリでのモーダルの使い方完全ガイド - Qiita
                                                                                • Aqua Sunset | The Quality Assurance Blog

                                                                                  Aqua was originally developed as a dedicated IDE for QA engineers working in automated testing. After carefully evaluating adoption rates, market trends, and user feedback, we have made the difficult decision to discontinue the product. While this was not an easy choice, Aqua did not reach the level of adoption we had anticipated. We believe that integrating Aqua’s capabilities into our existing J

                                                                                    Aqua Sunset | The Quality Assurance Blog

                                                                                  新着記事