検索対象

並び順

ブックマーク数

セーフサーチ

期間指定

  • から
  • まで

Javaの検索結果(絞り込み: 3 users 以上)54795 件中 1 - 40 件目

  • 技術に対するモチベーションが下がったらどうする?Javaスペシャリストを20年以上支えてきた思考法とは - Findy Engineer Lab - ファインディエンジニアラボ

    世の中にはさまざまなタイプのエンジニアがいます。流行に合わせて次々と新しいプログラミング言語やフレームワークを習得する人もいれば、特定の技術に長く携わり専門性を高める人もいるでしょう。 後者のタイプの代表格と言える一人が、Javaのスペシャリストとして知られるLINE Fukuoka株式会社のきしだなおき(@kis)さん。 彼は20年以上にわたり、この言語と向き合いスキルを突き詰めてきました。 最近では、書籍『プロになるJava*』を執筆するなど、Javaの認知拡大・普及のための活動も行っています。 きしださんは、Javaへの興味が長く続いた理由として「技術コミュニティの存在が大きく影響している」と語ります。 今回はきしださんに、技術コミュニティに関連したエピソードとともに、キャリアを振り返っていただきました。 *…技術評論社より2022.3.19出版。きしだなおきさん、山本裕介さん、杉山

    技術に対するモチベーションが下がったらどうする?Javaスペシャリストを20年以上支えてきた思考法とは - Findy Engineer Lab - ファインディエンジニアラボ
    • ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog

      はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Philosophy of Software Design を30分でざっと理解する」というお題で社内ランチ勉強会が開催されました。本記事執筆者である岩瀬(@iwashi86)が発表者であり、勉強会資料は以下のとおりです。 スライド P.4 に記載したとおり、本書籍は John Ousterhout 教授の意見が強く反映されており、ソフトウェアエンジニアであれば、議論を呼ぶ箇所があります。実際、勉強会の実況Slackでは、「これはどうな

      ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
      • 書評『良いコード/悪いコードで学ぶ設計入門』 - uhyo/blog

        皆さんこんにちは。今回は、2022年4月30発売の『良いコード/悪いコードで学ぶ設計入門』を読み終わったので、書評という形で感想と紹介を述べたいと思います。筆者はもともと技術書を読まず「ネットでいいやん」派だったのですが、このたびTypeScript入門書を出版したこともあり、それを過去の話として葬り去るべく技術書を読んでいくことにしました。せっかくなので、読んだ技術書の感想等を紹介します。 おことわり: この記事では、「筆者」とはこの書評を書いた人を指し、『良いコード/悪いコードで学ぶ設計入門』を書いた人のことは「著者」と呼びます。また、この記事の内容はすべて筆者の個人的な見解であり、本の内容や本を読んで得られる知識について何らかの保証をするものではありません。 筆者について筆者はフロントエンドエンジニアで、TypeScriptとReactを専門としています。業務では何だかんだで設計の番

        書評『良いコード/悪いコードで学ぶ設計入門』 - uhyo/blog
        • JVNVU#94243578: Apache TomcatにおけるWebSocket接続の実装に関する問題

          Apache Tomcatには、WebSocket接続の実装に起因する、データが誤った用途に利用される問題が存在します。 WebアプリケーションにWebSocket接続のクローズと同時にWebSocketメッセージを送信した場合、アプリケーションは、ソケットが閉じられた後もソケットを使用し続ける可能性があります(CVE-2022-25762)。 これにより、後続のWebSocket接続が同一のWebSocketオブジェクトを同時に使用してしまい、データが誤って返答されたり他のエラーが発生する可能性があります。

          • Micronautフレームワークを使ったクラウドネイティブJava

            ビルド時アプローチの利点は明らかです。コンパイル中により多くの計算を行うことにより、フレームワークはその時点で最適な方法で実行できるように準備されます。また、リフレクション、動的なクラスローディング、プロキシの実行時生成を排除することで、実行フェーズにおけるさらなる最適化の機会が得られます。この最適化は、JITと、非常に重要な点として、GraalVMのNative Imageツールの両方に対して得られます。このアプローチのおかげで、Native Imageでは、Micronautフレームワークアプリケーションのクローズドワールド静的分析を実行するために追加で設定することはありません。 MicronautフレームワークとGraalVMの間のこの相乗効果を生み出すため、Micronautフレームワークの共同創設者であるGraeme Rocher氏がOracle Labsに加わりました。Orac

            Micronautフレームワークを使ったクラウドネイティブJava
            • 脱オブジェクト指向講座(5分LT資料)

              Java16新機能-言語とAPIを中心に- / Java 16 new features - about lang and API -

              脱オブジェクト指向講座(5分LT資料)
              • How useEvent would change our applications

                Securing Kafka Connect Pipelines with Client-Side Field Level Cryptography @ Kafka Summit London 2022

                How useEvent would change our applications
                • HTTP Session Architecture Pattern

                  Building smarter apps with machine learning, from magic to reality

                  HTTP Session Architecture Pattern
                  • ネイティブJavaの実情

                    これは、ネイティブJavaが本当に輝くところです... スイートスポットを見つける ネイティブJavaは、Kubernetes、マイクロサービス、サーバレスコンポーネントに最適です。また、新しいサービスを開発したり、より大きなモノリスアプリケーションをより小さなサービスに分解したりする場合にも理想的なタイミングです。 ネイティブJavaの採用に「ビッグバン」アプローチをとる必要はありません。一度に1つのサービスで実行できます。このアプローチによりリスクが最小限に抑えられます。そして、テクノロジーが時間の経過とともに成熟するにつれて信頼を築いていくでしょう。 行動を起こすことに最初は圧倒されるかもしれませんが、今行われている従来のJava開発とそれほど変わりません。 Logicdropは、ビジネス自動化とデータインテリジェンスのためのオールインワンプラットフォームを開発しています。このプラッ

                    ネイティブJavaの実情
                    • 悪いコードをやっつけよう!『良いコード/悪いコードで学ぶ設計入門』を読んで - 虎の穴開発室ブログ

                      こんにちは。虎の穴ラボのH.Kです。 5月の大型連休で社内の技術書購入を支援する制度を利用して購入した『良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方』を読みました。 『良いコード/悪いコードで学ぶ設計入門』書影 とても良い本でしたので、本書の横断的な概要と、その中で良かったところや気になったところをご紹介していきます。 どんな本か 基本情報 私が感じた本書の立ち位置 前提 設計とコーディングは不可分である 「悪いコード」=>「良いコード」の構成 サンプルコードはJava おすすめする読者層 著者について 構成について 1〜2章:チュートリアルステージ 3〜12章:本編 13〜17章:やりこみ世界 良かったところ 平易な表現 サンプルコードが豊富 気になったところ 6章:Switch文の重複(Switch文からMapへの書き換え) まとめ P.S. どんな本

                      悪いコードをやっつけよう!『良いコード/悪いコードで学ぶ設計入門』を読んで - 虎の穴開発室ブログ
                      • F5 iControl REST Endpoint Authentication Bypass Technical Deep Dive

                        Introduction F5 recently patched a critical vulnerability in their BIG-IP iControl REST endpoint CVE-2022-1388. This vulnerability is particularly worrisome for users because it is simple to exploit and provides an attacker with a method to execute arbitrary system commands. POC Let’s examine the inner workings of this vulnerability. The vulnerability is used below to execute the id command using

                        F5 iControl REST Endpoint Authentication Bypass Technical Deep Dive
                        • Falling Sand

                          Over the years there have been a number of projects focusing on building systems of particle materials that interact with one another. The first I saw was called "Powder Game", which had all kinds of features and was written in Java. More recently there has been Sandspiel and an entire roguelike game (ignoring the Berlin Interpretation for a moment) built on the idea that the entire environment is

                          Falling Sand
                          • Videobug

                            Videobug logs code execution so that developers can watch it line by line right in their IntelliJ

                            Videobug
                            • Pulumiがアップデート。 Java,YAML言語に対応しました。 | DevelopersIO

                              こんにちは。データアナリティクス事業本部 サービスソリューション部の北川です。 Pulumiのアップデート コード構成ツールであるPulumiに、機能が追加されました。 今回の新機能の一つとして、Java、YAML言語を使用して、スタックの作成ができるようになりました。 早速、YAMLを使ってスタックの作成を試してみました。 YAMLでスタックの作成 Pulumiがインストールされていない場合は、 $ brew install pulumi また、すでにインストールされている方は、Pulumiを最新バーションにアップデートします。 $ brew upgrade pulumi Pulumiでは、リソースを管理する言語にTypeScript、Python、Go、C#、そして今回新たにサポートされたJava、YAMLを使用できます。 今回は、YAMLで記述していきます。 新規プロジェクトを作成

                              Pulumiがアップデート。 Java,YAML言語に対応しました。 | DevelopersIO
                              • 話題騒然!に全然なっていない Java x TypeScript な Web フレームワーク "Hilla" の紹介

                                あまり話題になっていない Web フレームワーク "Hilla"[1] を紹介したいと思います(もう少し話題になってほしい)。 BFF を Java で作りたい、または作らざるを得ない人向けなので該当しない方は、ここで exit です。Hilla は、SSR とかないので SEO が不要なシステムが対象になるかと思います。 Hilla の最大の特徴は、TypeScript クライアントのコード自動生成により、BFF(Java)とフロントエンド(TypeScript)でタイプセーフな通信を実現している点だと思います。 概要を掴むためには最初に以下の記事を読んでもらうと良いかもしれません。。 フレームワーク構成 フレームワークの構成は、以下のようになっています。 BFF Spring Boot Frontend Lit Vaadin Web UI Components かなりフルスタックな構成

                                話題騒然!に全然なっていない Java x TypeScript な Web フレームワーク "Hilla" の紹介
                                • kintone のテストを JUnit 5 に移行した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                  こんにちは、kintone 開発チームの @hikoma です。kintone のテストを JUnit 4 から JUnit 5 に移行した話を公開したいと思います。 背景 2017 年に JUnit 5 がリリースされてから約 4 年半、みなさんは既に JUnit 5 を利用していることかと思います。 kintone では JUnit 5 への移行がなかなか進みませんでした。テストのボリュームがそれなりにあり(Java の単体テストが約 6500、REST API のテストが約 4000、Selenium のテストが約 3000)、E2E テストで並列実行やリトライのために JUnit 4 の仕組みを利用していたので、目に見える問題が起きていない状況では優先度も上がりませんでした。 しかし、このような状況ではテストの改善に着手しにくく、持続的な開発のリスクも感じていたため、何度目かの移行

                                  kintone のテストを JUnit 5 に移行した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                  • インスタンスを作るって言うけど、パソコンのどこにできるの? - DIVX engineer gateway

                                    インスタンスを作るって言うけど、パソコンのどこにできるの? はじめに こんにちは。株式会社divxのエンジニア高橋です。 突然ですが、「インスタンスはパソコンのどこにできるの?」と聞かれたら皆さんはなんと答えるでしょうか? この質問に対してパッと答えられない方も中にはいると思います。私自身そうでした… 今の時代、プログラミングをRubyなどから学習した方も多く、Rubyの様な高級言語ではプログラムが裏側でどの様に動くかを意識しなくても開発できてしまいます。 しかし裏側の知識がない状態で開発をしてしまうと、低レイヤーの障害が起きた時にわけが分からず、解決にたどり着けない場合があります。 また裏側の仕組みを知ることで、自分が作っているプログラムを新しい角度から見ることができ、もっとプログラミングが楽しくなるはずです。 本記事では、裏側の仕組みの中で「インスタンスが作られる場所」についてフォーカ

                                    インスタンスを作るって言うけど、パソコンのどこにできるの? - DIVX engineer gateway
                                    • アルゴリズムと計算量 - 「プロになるJava」ボツ原稿 - きしだのHatena

                                      「プロになるJava」ボツ原稿、今回は「13章 処理の難しさの段階」に入れようと思っていた、「アルゴリズムと計算量」の話です。 こういう話題でよくでる「こんな難しいプログラム組まないのでは?」という疑問についても最後にまとめています。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon アルゴリズムと計算量 ここまでいろいろな処理の計算手順について紹介しました。こういった計算手順のことを アルゴリズム といいます。 同じ処理をするアルゴリズムはいろいろ考えられます。そのとき気になるのは実行性能の問題です。 ただ、実行性能はコンピュータによってクセがあるので、アルゴリズムそのものについてを考えるときにはそういったクセを取り除いて考えたいものです。 そこで、アルゴリズムの性能について考えるときに

                                      アルゴリズムと計算量 - 「プロになるJava」ボツ原稿 - きしだのHatena
                                      • Javaの「暗黙的に」を可視化してみた - DIVX engineer gateway

                                        Java はじめに どうやったら可視化できるのか? Javaが実行されるまでの流れ バイトコードとクラスファイル javapコマンド コマンドの説明 「暗黙的」な処理を可視化してみる ①デフォルトコンストラクタは生成されているのか デフォルトコンストラクタとは ②スーパークラスのコンストラクタは先に呼ばれているのか invokespecialとは Constant poolとは ③int型とInteger型を比較したときになぜtrueになるのか valueOfメソッドとは invokevirtualとは intValueメソッドとは 等式演算子(==)の挙動 ④ストリングコンスタントプールはどのように利用されているなのか ストリングコンスタントプールとは ldcとは 終わりに 実行環境 参考資料 はじめに こんにちは。株式会社divxのエンジニア二階堂です。 突然ですが、Javaのプログラ

                                        Javaの「暗黙的に」を可視化してみた - DIVX engineer gateway
                                        • Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ

                                          Pythonがファイルを開くときなどに使われるエンコーディングはロケール(WindowsではANSIコードページ)依存でした。 Unixの世界ではどんどんUTF-8ロケールが一般的になっている一方、WindowsのANSIコードページはなかなかUTF-8になりません。 そのために、Unixユーザーが open(filepath) のようにエンコーディングを指定しないままUTF-8を仮定するコードを気軽に書いてしまって、Windowsユーザーがエラーで困るといった問題が発生します。 また、Windowsでもメモ帳(Notepad.exe)やVSCodeはすでにUTF-8をデフォルトのエンコーディングで使用しています。ANSIコードページがUTF-8になるのを待っていたらどんどん周りの環境から置いていかれ、レガシー化してしまいます。 Pythonがデフォルトで利用するエンコーディングをWind

                                          Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ
                                          • Javaの暗号化機能に署名検証をバイパスできる重大な脆弱性、研究者がPoC公開

                                            Oracleは2022年4月のクリティカルパッチアップデート(CPU)の一部として、Javaの開発および実行環境の実装であるOracle Java SEのアップデートをリリースした。このアップデートには、署名検証をバイパスすることが可能な脆弱性「CVE-2022-21449」に対する修正が含まれている。この脆弱性について、発見者のNeil Madden氏が自身のブログ上で詳細な解説を行っている。 CVE-2022-21449: Psychic Signatures in Java – Neil Madden CVE-2022-21449: Psychic Signatures in Java Neil Madden氏によれば、このCVE-2022-21449はデジタル文書の署名において一般的に利用されているECDSA署名の検証に関するもので、攻撃者はこれを悪用して無条件で有効とされる署名を

                                            Javaの暗号化機能に署名検証をバイパスできる重大な脆弱性、研究者がPoC公開
                                            • Log4Shellで何が起こっていたのかを追ってみる - SSTエンジニアブログ

                                              はじめに こんにちは。久々に寝坊やらかして凹んでる、SST研究開発部の小野里です。今年入ってきた新人さんたちは、私のようにならないでほしいと祈るばかりです。 さて、新年度には入ってしまいましたが、つい先日まで2021年度新卒研修最後の延長戦として、以前話題になったLog4Shell脆弱性のPoCを作るという課題に取り組んでいました。やっと動作するところまでいったものの、ここまでの道のりは非常に果てしなく複雑で長く険しいものでした。 セキュリティ業界において、多くの場合脆弱性の詳細な再現手順は伏せられる傾向にあります。それは主に悪用を防ぐためなのですが、セキュリティの初学者には実際の所何をどうするとどう危ないのか、分かりづらい場合も多いのが現状です。 Log4Shell脆弱性は非常に大きな騒ぎになったため、各所の対応も早かったかと思います。そこで、比較的Log4Shellの影響が落ち着いてき

                                              Log4Shellで何が起こっていたのかを追ってみる - SSTエンジニアブログ
                                              • Java Date Time APIでの和暦の扱い、ロケール、タイムゾーン - 「プロになるJava」 ボツ原稿 - きしだのHatena

                                                今回のボツ原稿は和暦を扱うJapaneseDateクラスと各地の時差を反映した時刻を扱うZonedDateTimeについてです。 P.89に5.1.8として続く想定です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 和暦の扱い 日付を扱えるようになると、元号を含んだ日付も扱いたいですよね。 java.time.chrono.JapaneseDateクラスで和暦を扱うことができます。 ではJapaneseDateクラスを使って、元号の付いた日付を表示してみましょう。 JapaneseDate.now()を実行してみます。このとき、新たなimportが必要になりますが、自分で入力せずにJShellの補完機能を使ってみます。 JapaneseDateと入力した状態で[Shift]+[Tab

                                                Java Date Time APIでの和暦の扱い、ロケール、タイムゾーン - 「プロになるJava」 ボツ原稿 - きしだのHatena
                                                • Javaに認証なしで不正操作できる脆弱性 影響範囲広く「早急に修正プログラム適用を」

                                                  CVE識別番号はCVE-2022-21449。影響度を示すCVSS v3のベーススコアは、「情報改ざんの可能性がある」として10点中の7.5。この脆弱性を悪用すると、ネットワークアクセスさえできれば認証せずとも、遠隔地からデータやプログラムの不正操作を行える恐れがあるという。 対象バージョンはOracle Java SE 18、Oracle Java SE 17.0.2、Oracle Java SE 11.0.14、Oracle Java SE 8 Update 321、Oracle Java SE 7 Update 331。 Java SEはJavaを扱う上でほぼ必須ともいえるコンポーネントであり、影響範囲が広い。修正プログラムはリリース済みのため速やかにアップデートする必要がある。 追記:対象バージョンの修正(2022年4月25日午前11時30分) 米Oracleは4月25日までに、C

                                                  Javaに認証なしで不正操作できる脆弱性 影響範囲広く「早急に修正プログラム適用を」
                                                  • 「Java」に署名検証がフリーパスになってしまう危険な脆弱性 ~影響は計り知れず/2022年4月の「Critical Patch Update」で対策済み、最新版への更新を

                                                    「Java」に署名検証がフリーパスになってしまう危険な脆弱性 ~影響は計り知れず/2022年4月の「Critical Patch Update」で対策済み、最新版への更新を
                                                    • Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい!【どれ使う?プログラミング教育ツール】

                                                      Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい!【どれ使う?プログラミング教育ツール】
                                                      • Oracle Java の脆弱性対策について(CVE-2022-21449等):IPA 独立行政法人 情報処理推進機構

                                                        ※追記すべき情報がある場合には、その都度このページを更新する予定です。 MyJVNバージョンチェッカによる最新バージョンのチェックが行えます。こちらからご利用ください。 概要 Oracle 社から Java SE に関する脆弱性が公表されています。 同社からは攻撃された場合の影響が大きい脆弱性であることがアナウンスされているため、できるだけ早急に修正プログラムを適用してください。

                                                        • CVE-2022-21449: Psychic Signatures in Java

                                                          The long-running BBC sci-fi show Doctor Who has a recurring plot device where the Doctor manages to get out of trouble by showing an identity card which is actually completely blank. Of course, this being Doctor Who, the card is really made out of a special “psychic paper“, which causes the person looking at it to see whatever the Doctor wants them to see: a security pass, a warrant, or whatever.

                                                          CVE-2022-21449: Psychic Signatures in Java
                                                          • Javaに革命を起こすGraalVM Native Image

                                                            フルスタック開発者のためのBallerina: バックエンドAPI開発ガイド この記事では、REST API開発のためのプログラミング言語"Ballerina"の直感的な構文について解説します。さらに、認証や承認、OpenAPIツール、可観測性、SQL/NoSQLクライアントライブラリなど、重要な言語機能についても論じます。記事を読み終えれば、Ballerinaが次のバックエンドAPI開発の有力な候補である理由がよく理解できるでしょう。

                                                            Javaに革命を起こすGraalVM Native Image
                                                            • プロになるJavaでチート能力を手にして完全勝利

                                                              Java16新機能-言語とAPIを中心に- / Java 16 new features - about lang and API -

                                                              プロになるJavaでチート能力を手にして完全勝利
                                                              • Jakarta EE StarterでJava EE/Jakarta EEを始める - きしだのHatena

                                                                最近のフレームワークにはナントカStarterが用意されていて、簡単に最初のプロジェクトを作れるようになっています。 Java EE/Jakarta EEの場合、コンテナを起動してデプロイするという2段階だったりして、最初に動かすところまでが大変でした。 そういう問題に対処するために、Eclipse starter for Jakarta EEが用意されました。 https://start.jakarta.ee/ 他のstarterと違って、Webでいろいろ選んで初期ファイルを構成するのではなく、単なるMavenのArchetypeです。 mvn archetype:generate -DarchetypeGroupId="org.eclipse.starter" -DarchetypeArtifactId="jakarta-starter" -DarchetypeVersion="1.0

                                                                Jakarta EE StarterでJava EE/Jakarta EEを始める - きしだのHatena
                                                                • Java力をあげるための指針 - きしだのHatena

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

                                                                  Java力をあげるための指針 - きしだのHatena
                                                                  • ソフトウェア開発で続くセキュリティ軽視--業界に求められる迅速な変化

                                                                    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 世界中の組織やインフラストラクチャーがソフトウェアの脆弱性に対してどれほど無防備かを示す出来事が1つあるとすれば、それは「Log4j」だった。 「Java」のロギングライブラリー「Apache Log4j」の深刻なゼロデイ脆弱性により、攻撃者がリモートからコードを実行してデバイスやネットワークにアクセスすることが可能になってしまった。このオープンソースソフトウェアは、膨大な数のアプリケーション、サービス、エンタープライズソフトウェアツールに組み込まれているため、広範囲で長期にわたって混乱が発生するおそれがあった。 米サイバーセキュリティ・インフラセキュリティ庁(CISA)長官のJen Easterly氏が、この脆弱性を「私がこれまでのキ

                                                                    ソフトウェア開発で続くセキュリティ軽視--業界に求められる迅速な変化
                                                                    • Java開発者御用達! 今も利用者が増え続けている「Springフレームワーク」は何がすごいのか【デブサミ2022】

                                                                      Javaフレームワークを利用したソフトウェア開発は、今やすっかり当たり前の開発スタイルになった。今日では数多くのJavaフレームワークが存在するが、中でも特に国内外の数多くのJavaデベロッパーに支持されているのが「Springフレームワーク」だ。その魅力や使いこなしのポイントについて、SB C&S株式会社のDevOps推進チームでさまざまな製品・サービスの情報をデベロッパー向けに発信している佐藤梨花氏と河上珠枝氏に紹介してもらった。 SB C&S株式会社 テクニカルマーケティングセンター ビジネス開発課 佐藤梨花氏(上)、同 河上珠枝氏(下) 今、Javaフレームワークが必要とされている理由 今日のシステム開発においてJavaフレームワークが広く必要とされている背景として、佐藤氏は「ITが果たす役割の変化」を挙げる。 「2000年代にはITの役割はあくまでもビジネスのための道具、ツールの

                                                                      Java開発者御用達! 今も利用者が増え続けている「Springフレームワーク」は何がすごいのか【デブサミ2022】
                                                                      • Slack アプリでのモーダルの使い方完全ガイド - Qiita

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

                                                                        Slack アプリでのモーダルの使い方完全ガイド - Qiita
                                                                        • SpringのRCE脆弱性(CVE-2022-22965)について

                                                                          はじめに Log4jやStruts2など、Java製ソフトウェアにおいてリモートからの任意のコード実行(RCE)の脆弱性が目立つ時代になってしまっていますが、これにさらにSpringも加わってきました。この記事では特にCVE-2022-22965に焦点を当て、技術的な視点からの解説を行ってみます。 なぜJavaアプリでRCEとなるのか? Javaの(特にウェブアプリケーションで)RCEとなるパターンはいくつか知られており、以前こちらの記事にまとめました。今回のCVE-2022-22965はこの記事の「3. クラスローダを操作できてしまうパターン」のパターンになります。 なぜクラスローダを操作できるのか? そもそも「クラスローダの操作」とは何を意味しているのでしょうか。この文脈では、Javaのプロセス内のクラスローダ系のクラスのインスタンスの、getterやsetterのメソッドを攻撃者が実

                                                                          SpringのRCE脆弱性(CVE-2022-22965)について
                                                                          • 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動|note

                                                                            こんにちは、リファクタリングが大好きなミノ駆動です。 これは、私が執筆した『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』について紹介する記事です。 2022年4月30日発売です(ほぼ同日に電子書籍版も出ます)。 AmazonなどECサイトで、すでに多くの予約が入っており、ヨドバシ.comでは一時期予約終了になったほどです。おかげさまで初版部数が2倍になりました。 ■どんな本?皆さんはプログラミングでバグを埋め込みたいですか?ロジック修正が上手くいかず、ヒィヒィ言いながら長時間残業したいですか?イヤに決まってますよね。ところが現実には、 何度もバグを埋め込んでしまう ロジックを読み解くのに時間がかかる やっとロジック修正しても、全然違う箇所がバグ化してしまう ……ほとんど誰もが体験しているのではないでしょうか。 でも、こうした状況をなんとかしたいと思って

                                                                            『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動|note
                                                                            • 「非nullのint配列」をアノテーションで表すのは `@NonNull int[]` ではない - Kengo's blog

                                                                              正解は int @NonNull [] です。な、なんだってー! 本当です。Java言語仕様書にも記載がありますが、配列を修飾する場合は [] の手前にアノテーションを書く必要があります。JVM仕様書に記載の例のほうがわかりやすいかもしれません: @Foo String[][] // Annotates the class type String String @Foo [][] // Annotates the array type String[][] String[] @Foo [] // Annotates the array type String[] 組み合わせて考えると、「要素も配列自体も非nullのString配列」は @NonNull String @NonNull [] になります。コレクションは @NonNull List<@NonNull String> みたいにわ

                                                                              「非nullのint配列」をアノテーションで表すのは `@NonNull int[]` ではない - Kengo's blog
                                                                              • 「Spring4Shell」脆弱性、マイクロソフトが詳細を説明

                                                                                印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Microsoftは米国時間4月5日、Java向けのアプリケーションフレームワーク「Spring Framework」に潜んでいることが最近報告された「Spring4Shell」脆弱性について、詳しく説明した。 同社は、「Microsoft Azure」クラウドサービスの顧客らに対してパッチの適用を呼びかけている。Spring4Shell(共通脆弱性識別子「CVE-2022-22965」)はリモードコード実行(RCE)攻撃につながる可能性のある脆弱性であり、「SpringShell」という名称でも呼ばれている。なおこれらの名称は、Javaのログ出力ライブラリー「Apache Log4j」で発見された「Log4Shell」脆弱性にちなんだ

                                                                                「Spring4Shell」脆弱性、マイクロソフトが詳細を説明
                                                                                • Spring4Shellを悪用したサイバー攻撃が全世界で拡大中 迅速な対処を

                                                                                  セキュリティベンダーのCheck Point Software Technologiesのリサーチ部門であるCheck Point Researchは2022年4月5日(現地時間)、同社のブログで、先日明らかになったJavaアプリケーションフレームワーク「Spring Framework」(Spring)に関するリモートコード実行の脆弱(ぜいじゃく)性(CVE-2022-22965)を悪用したサイバー攻撃が全世界で拡大していると報じた。 Check Point ResearchはSpringの脆弱性を悪用したサイバー攻撃が全世界で拡大していると報じた。今後もサイバー攻撃に使われる危険性が高く、迅速に対策を取ることが望まれる。(出典:Check Point Software TechnologiesのWebサイト)

                                                                                  Spring4Shellを悪用したサイバー攻撃が全世界で拡大中 迅速な対処を