並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 41件

新着順 人気順

JavaEEの検索結果1 - 40 件 / 41件

  • 「オープンソース」は壊れている

    christine.websiteのブログより。 または: お金を払わない限り、有用なソフトウェアを書かないのか? 最近、重要なJavaエコシステム・パッケージに大きな脆弱性が見つかりました。この脆弱性が完全に兵器化されると、攻撃者はLDAPサーバから取得した任意のコードを実行するよう、Javaサーバを強制することができます。 <マラ> もしこれがニュースで、あなたがJavaショップで働いているなら、残念ですが、あなたには2、3日が待っています。 私は、これが「オープンソース」ソフトウェアの主要なエコシステム問題の全ての完璧な縮図だと考えています。log4j2が、この問題の最悪のシナリオの1つの完璧な例であると思うので、このすべてについていくつか考えを持っています。この問題に関与したすべての人が、現実世界の問題に対する完全に妥当な解決策のためにこれらすべてを行ったことは完全に合理的であり、

      「オープンソース」は壊れている
    • Javaがサーバレスに至るまでの道のり

      はじめに 先日、JakartaOne Live Japan 2022というイベントで登壇させていただく機会を頂きました。 QuarkusやHelidonのような新しめのEEフレームワークがこれまでのPayaraやWebLogicとどう違うのか? CloudRunのようなサーバレス環境でMicroProfileのどの機能が効果的に働くのか? という点を最近のWeb開発周りのトレンドと絡めながら話ました。上記のようにアーカイブ動画も公開されていますが、せっかくなのでQuarkusがサーバレス環境で実行に最適化されるまでの周辺事情等をまとめたいと思います。Javaだけに留まらず最近の環境事情の整理にも役立つかと思います。 TL;DR Quarkus/Helidonは軽量で高速な新しいEEフレームワーク コンテナや、サーバレス、クラウドネイティブなど最新のトレンドに基づいた設計 GCPのCloud

        Javaがサーバレスに至るまでの道のり
      • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

        はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

          【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
        • マイクロサービスとメッセージングのなぜ [概要編] - 赤帽エンジニアブログ

          レッドハットでインテグレーションのためのミドルウェアのテクニカルサポートを担当している山下です。 最近はマイクロサービスでシステムを開発しているという話もよく聞くようになってきました。ではそこでメッセージング、そしてKafkaを使ってますでしょうか?マイクロサービスでは何故かRESTばかりが世の中に注目されてしまうことも多いために、今回はメッセージング推しの内容にしています。 マイクロサービスではメッセージングを用いたコマンドやイベントこそ中心であって不可欠です。マイクロサービスの中でメッセージングはどのように利用され、そしてなぜ必要なのでしょうか。今回は「マイクロサービスとメッセージングのなぜ [概要編]」と題してそれを概観していきます。 Kafkaの簡単なおさらい どこでメッセージングは利用されるのか? RESTはお手軽な解決策? なぜマイクロサービスにメッセージング(Kafka)が必

            マイクロサービスとメッセージングのなぜ [概要編] - 赤帽エンジニアブログ
          • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

            Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

              Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
            • メインフレーム、無停止サーバ、クラウドにおける信頼性 - ブログなんだよもん

              「メインフレームの異常処理」という記事が話題になってましたがとても面白かったです。 qiita.com せっかくなので自分が知ってる範囲で各システムの信頼性における考え方を書いてみました。特にシステムが死んでも仕掛かり中のプロセスが正常完了する事を「無停止システム」としてフォーカスしています。 詳しいわけじゃないからあまり詳しくは話せないので、指摘とか頂けると嬉しいです メインフレーム HPE NonStopサーバ Stratus FT Server オープン系: クラスタ オープン系: 負荷分散(シェアードナッシング) クラウド/仮想環境: Live Migration ソフトウェア: Jakarata EE/EJB ソフトウェア: Oracle RAC ソフトウェア: Erlang/OTP ソフトウェア: Cloudで良くありそうなMSAや非同期キューをベースとした無停止デザイン まと

                メインフレーム、無停止サーバ、クラウドにおける信頼性 - ブログなんだよもん
              • Dockerって何? って聞かれたときの解説、の解説

                TL;DR Dockerは仮想化であるコンテナの実装の一種 ただし、広義のDockerはOCI系コンテナの総称 アプリの配布と実行の仕組みと思えばOK コンテナによりIaCや一貫したデプロイ、H/Wの効率的な利用がしやすくなる ※ コメントでいくつか指摘があったので記事を更新しました。ご指摘ありがとうございました! はじめに おそらく過去幾度となく生み出されたであろうDocker解説記事となります。正確には解説動画の解説記事。 というのも、Dockerあるいはコンテナはもはや当たり前、と言えるほど普及してるようにもSNSやブログとかだけ見てると思えますが、実際には話題は知ってるけど良く分かってない/業務で今度使う事を検討したいけどつまり何なの? って人もまだまだ多いです。 なので私が 「Dockerって何?」 と聞かれたとき答えてる内容を動画にしてみました。技術的な詳細を解説というよりは

                  Dockerって何? って聞かれたときの解説、の解説
                • ドメイン駆動設計入門【DDDをわかりやすく解説】 | 楽水

                  突然ですが、エンジニアの皆さま、Javaで開発したWebアプリケーションの構成、このようになっていませんか? データとgetter/setterだけのオブジェクト(JavaBean) 画面のコントロールやビジネスロジックの処理はServletが行う データベースのアクセスは、DAO(Data Access Object)に任せる もしそうであれば、そのシステム、ドメインモデル貧血症に陥ってます。 これは、データとgetter/setterだけのオブジェクトを、Anemic(貧血症になって元気がない)オブジェクトと称し、オブジェクトとはいうものの実質的にはデータであり、それをやりとりするだけの手続き型システムなっていることを嘆いたものです。 今回は、本来のオブジェクト指向に立ち返り、そのメリットである高い保守性、再利用性、拡張性を備えた変化に強いシステムを作るための設計方法、ドメイン駆動設計

                  • OpenJDKで使えるパフォーマンス分析と障害診断ツール - Qiita

                    Oracle JDKを含むOpenJDKディストリビューション(以下、JavaまたはJDK)にはJFRを筆頭にさまざまな分析ツール/仕組みがあります。 JDK7からJDK12にかけてトレンドが変わった部分もあるので、少しサマったメモを書きます。 メトリクス取得のための仕組み Javaにはパフォーマンスメトリクスを取得するための方法がいくつかあります。代表的なのは下記の3つでしょう。 JMX ログ JPLIS(javaagent) JMX Java Management Extensions(JMX)はJavaのリソース監視および管理のためのプロトコルです。簡単にいえばJava版のSNMPです。 JSR-174としてJava 1.5より取り込まれています。 Managed Bean(MBean)を利用してCPUやメモリの情報を取得したり、特定のイベント(例えば強制GC)とかを実行することも可

                      OpenJDKで使えるパフォーマンス分析と障害診断ツール - Qiita
                    • OSSか、それともSaaSか。グローバルを見据えたプロダクト開発へ向けて | DevLounge.jp Opening Session レポート | Wantedly, Inc.

                      エンジニアリング界をリードする著名人が「いま話を聞きたい」開発者を直接指名し、日頃なかなか聞けない開発トピックについて語り尽くすオンライントークセッション「DevLounge.jp」。このイベントのオープニングを飾ったのは、Nature株式会社VPoEのSongmuこと松木雅幸氏と、ローンチャブル(Launchable)Co-CEOの川口耕介氏です。 Songmu氏は日本で、川口氏はアメリカ・カリフォルニアでそれぞれ活躍されています。セッションでは、お二人が感じるオープンソースソフトウェア(OSS)とSaaSの違いから、グローバル展開を目指す際の考えなどを語っていただきました。その一部をご紹介します。 Songmu(松木雅幸)Nature株式会社VPoE。大学で中国語と機械翻訳を学び、中国でIT分野での起業、語学学校でのシステム担当兼営業、印刷系SIerでの金融系Webシステムや物流システ

                        OSSか、それともSaaSか。グローバルを見据えたプロダクト開発へ向けて | DevLounge.jp Opening Session レポート | Wantedly, Inc.
                      • マイクロサービスとメッセージングのなぜ [疑問編] - 赤帽エンジニアブログ

                        「マイクロサービスとメッセージングのなぜ [概要編]」はこちらです。 レッドハットでインテグレーションのためのミドルウェア製品のテクニカルサポートを担当している山下です。 概要編ではメッセージングの良い面ばかりに焦点を当ててきましたが、今回の疑問編ではメッセージングを検討し始めたときに疑問に思ったり困りがちなことを説明したいと思います。概要編とは異なり、細かな技術的内容も含まれますので、その時々で必要な部分や興味ある部分だけ読んでいただければと思います。 (ところで、当初は前回を前編、そして今回を後編にして終わらせようと思っていたのですが、今回もあまりに長くなってしまったので、構成を変えたのでした。 このため当初の前編は概要編と名前を変更しています。) ではまず主に疑問とされることを確認して、その後に対処法を見ていきましょう。 メッセージングを利用することによる主な疑問 対処方法 Q1:

                          マイクロサービスとメッセージングのなぜ [疑問編] - 赤帽エンジニアブログ
                        • 【業務系】世の中に逆行するJavaのWebアプリでの画面フレームワーク選定 - Qiita

                          これは何? Java Advent Calendar 2020 を見て、記事の少なさ (後で見たら参加者増えてた!)、よい記事なのにLGTMの少なさに驚愕して、少しでもJava言語を盛り上げたく記事を書きます。 Webな業務アプリにおいて画面を作る画面系フレームワークの選択肢について、偏見たっぷりに書いてみます 想定読者:Javaで画面フレームワーク?ReactとかVueとかじゃねーの?っていう人向け。 業務系 && Webアプリ で画面フレームワークといったら?(前置き) 普段はBtoBでJavaで業務アプリを開発しています。Spring Framework(Boot)だったり、JavaEE(JakartaEE)にお世話になっております。 今時の定番でいえば、やはり、Spring MVCでしょうか? 更にモダンになると、RESTfulAPI + Vue.js とか ReactJs とか

                            【業務系】世の中に逆行するJavaのWebアプリでの画面フレームワーク選定 - Qiita
                          • そもそもJWTに関する私の理解は完全に間違っていた! - ブログなんだよもん

                            TL;DR ステートレスなJWTはそもそもセッションの代替では無い アクセストークンとしての利用が基本で数分レベルの短寿命な有効期限で利用 従来のセッションに近い概念はリフレッシュトークン。てか、リフレッシュトークンはセッションでも(たぶん)良い ユースケース的にモノリスには不要。SPAでMSAな時にメリットが出て来る。 はじめに Webで認証システムといえばセッション! と言う感じのレガシーおじさんなのですが、最近はJWTとかも出てきてとても気になっていました。新しいものは使ってみたくなりますよね? なので以前軽く調べてみたたのですが「JWTは危ない」とか「JWTをセッションに使うな」的な記事が大量に出て来ます。 co3k.org qiita.com 一方で反論記事もあり色んな議論が渦巻いています。そもそも利用を推奨する記事も多い。 auth0.hatenablog.com この辺りで「

                              そもそもJWTに関する私の理解は完全に間違っていた! - ブログなんだよもん
                            • EclipseとOracle、javaxパッケージ名前空間と商標の扱いに関する合意を断念

                              「FinOps、アプリケーション単位の経済性、クラウドコストの最適化について、ロワ・ラヴホン氏語る」 このエピソードでは、Finoutの共同設立者兼CEOであるRoi Ravhon氏が、InfoQポッドキャストの共同ホストであるDaniel Bryant氏と対談し、FinOpsの出現と業界の採用について議論した。この対談では、FinOpsを採用するメリット、クラウド・コストについてもっと知りたいと考えている組織の典型的な道のり、実装を成功させるために必要な様々な文化やツールといったトピックが取り上...

                                EclipseとOracle、javaxパッケージ名前空間と商標の扱いに関する合意を断念
                              • 今どきJavaのウェブ開発体験(Helidon) | フューチャー技術ブログ

                                JavaでWebサービス開発というと、SpringBoot、という時代が長く続いていますが、Javaの世界もいろいろ進歩があるよ、ということで、MicroProfileというのを教えてもらいました。 豆蔵さんの技術ブログや、masatarouさんのJJUGのレポートが詳しいです。 MicroProfileってなにそれ? - MicroProfileの登場 JJUGナイトセミナー メモ2(JakartaEE・MicroProfile) 歴史的な経緯をまとめるとこんな感じですかね。 Javaのウェブアプリケーション開発の基盤としてJavaEE(昔の名前はJ2EE)があった 2016年により活発な開発を求めて、Eclipse FoundationがJavaEEをフォークしてMicroProfileを作った 2017年にOracleはJava EEをEclipse Foundationに移管を発表

                                  今どきJavaのウェブ開発体験(Helidon) | フューチャー技術ブログ
                                • Visual Studio Code + Docker + Remote DevelopmentでTomcat上のWebアプリを超簡単にデバッグ | SIOS Tech. Lab

                                  ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました 生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!! https://tech-lab.connpass.com/event/315703/ こんにちは、Visual Studio Codeを愛してやまないサイオステクノロジー技術部 武井(Twitter:@noriyukitakei)です。今回は、Tomcat上のWebアプリケーションをVisual St

                                    Visual Studio Code + Docker + Remote DevelopmentでTomcat上のWebアプリを超簡単にデバッグ | SIOS Tech. Lab
                                  • 【業務系】世の中に逆行するJavaのWebアプリでの画面フレームワーク選定 - Qiita

                                    これは何? Java Advent Calendar 2020 を見て、記事の少なさ (後で見たら参加者増えてた!)、よい記事なのにLGTMの少なさに驚愕して、少しでもJava言語を盛り上げたく記事を書きます。 Webな業務アプリにおいて画面を作る画面系フレームワークの選択肢について、偏見たっぷりに書いてみます 想定読者:Javaで画面フレームワーク?ReactとかVueとかじゃねーの?っていう人向け。 業務系 && Webアプリ で画面フレームワークといったら?(前置き) 普段はBtoBでJavaで業務アプリを開発しています。Spring Framework(Boot)だったり、JavaEE(JakartaEE)にお世話になっております。 今時の定番でいえば、やはり、Spring MVCでしょうか? 更にモダンになると、RESTfulAPI + Vue.js とか ReactJs とか

                                      【業務系】世の中に逆行するJavaのWebアプリでの画面フレームワーク選定 - Qiita
                                    • 【前編】Spring Bootってなにがいいの | DevOps Hub | SB C&S

                                      2021年11月2日:ウェビナーアーカイブ配信中! 「Springフレームワーク徹底解説 〜初心者から上級者向けセッションと事例のご紹介」 ダウンロード:「2021年 Springの現状」資料 ダウンロード:「2020年 Springの現状」資料 【前編】Spring Bootってなにがいいの←本記事です 【後編】Spring Bootで始めるマイクロサービスの開発 はじめに はじめまして。VMwareの伊藤です。Tanzu製品のプラットフォームアーキテクトとして働いています。 開発と運用双方の経験がありますが、だいぶインフラ寄りの経歴となります。 プライベートでは書籍を執筆するほどPythonを利用しているのですが、仕事ではJavaとSpringBootを使う機会が増えてきましたのでSpringBootの紹介をしたいと思います。 なお、久しぶりのJavaとなりますので、Spring Bo

                                        【前編】Spring Bootってなにがいいの | DevOps Hub | SB C&S
                                      • 新人社員がSpring Securityで認証・認可機能を一から作ってみた - Qiita

                                        長い話を抜きにして、早くコードを書きたいという人は1. はじめにを飛ばしてください。 Spring初学者は2. プロジェクトの作成から、 簡易な認証・認可機能を実装したい人は3. 簡易な認証・認可機能の実装から、 実業務向けの認証・認可機能を実装したい人は4. 実業務向け認証・認可機能の実装から読み始めると良いと思います。 1. はじめに 1-1. 背景 まず最初に、認証・認可について説明します。簡単に説明すると、以下のようになります。(詳しく知りたい人への参考ページ:よくわかる認証と認可) 認証 (Authentication) 通信相手が誰であるかを確認すること。 認可 (Authorization) 画面にアクセスする権限や処理を行う権限など特定の条件に対して、リソースアクセスの権限を与えること。 この認証・認可の機能をSpring Frameworkで作成されたWebアプリケーショ

                                          新人社員がSpring Securityで認証・認可機能を一から作ってみた - Qiita
                                        • "Open Source" is Broken - Xe Iaso

                                          Published on 12/11/2021, 1247 words, 5 minutes to read or: Why I Don't Write Useful Software Unless You Pay Me Recently there was a massive vulnerability found in a critical Java ecosystem package. When fully weaponized, this allows attackers to coerce Java servers into executing arbitrary code that was fetched from an LDAP server. <Mara> If this is news to you and you work at a Java shop, I'm sor

                                          • Visual Studio Code でSpring Bootに入門する - Qiita

                                            1. 今回の記事内容 開発業務で Spring Framework を使うことになりそうなので、開発ツールとしてEclipse ではなく VS Code での開発をやってみた、という記事になります。Javaの開発において現状ではEclipseを使うのが主流だと思いますが、今後は VS Code を使うケースが増えるのではないかと見ています。 2. Spring Framework に関するおさらい 本題に入る前に Spring Framework について少しだけ復習しておきます。 (1) Spring Boot ってなんだっけ?Spring Framework とどう違うの? 書籍『Spring 徹底入門』によると、Spring Boot とは「最小限の設定でプロダクションレベルのSpring アプリケーションを容易に開発するためのSpringプロジェクト」であると説明されています(p.

                                              Visual Studio Code でSpring Bootに入門する - Qiita
                                            • 2021年にブックマークした記事まとめ - ぷらすのブログ

                                              2021年にPocketに保存した記事をマークダウン形式で出力するツール. Contribute to p1ass/list-pocket-saved-items development by creating an account on GitHub. 注意: タグはかなり適当 バックエンド Go Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話 Go の入力バリデーションパッケージ ozzo-validation を試した。 k0kubun/pp: Colored pretty printer for Go language OpenTelemetry in Go Go のロギングライブラリ 2021 年冬 GraphQL の静的解析基盤を作った Go のリリースプロセスとブランチ戦略 Go 1.16 の signal.NotifyContext

                                                2021年にブックマークした記事まとめ - ぷらすのブログ
                                              • Java EE仕様はJakarta EEに改名された

                                                シンプルなテストピラミッドの提案 ~ テストを有効活用するためのイロハ Overcomplicating your test structure can lead to slow, brittle tests. A focus on test speed as the primary labeling mechanism maximizes your test investment.

                                                  Java EE仕様はJakarta EEに改名された
                                                • TomcatとGlassFishって結局どっちを使うのがいーの? - Qiita

                                                  はじめに はじめまして。ykusaです。 今日はTomcatとGlassFishの使い分けについて説明します。 JavaでWebアプリの開発をしたことがある方ならTomcatは使ったことがあるかと思います。一方で、美味しそうなお魚マークのGlassFishは使ったことがありますか? どちらもWebアプリを運用できるという点では同じことができますが、それぞれに向き不向きがあります。 機能の○×を付けるだけであれば、その辺に落ちている表を見ればいいのですが、運用やサポートも含めた比較内容はなかなかまとまっていません。 実際にどちらを使うの?となった際に、機能の実現性の有無だけでなく、運用やサポート、それに加えて将来的な展望なども知っておくと、選定の際に役立ちます。 どっちを使うのがいい?となった際に、説明できるとかっこいいですよ! 基本情報 まずは、Tomcat、GlassFishについて、基

                                                    TomcatとGlassFishって結局どっちを使うのがいーの? - Qiita
                                                  • マイクロサービスの“アレコレ”を徹底討論、最適解は本当にJavaなのか?

                                                    本パネルディスカッションでは、異なる立場のパネリストが、それぞれの視点で意見を交わした。まずモデレータの東京ガスiネット 上田 志雄氏が「マイクロサービスについて、皆さんが本当に分かっているのか疑問に感じています。この潮流について、どうお考えですか?」と各人に見解を求めた。 まず製品ベンダー代表のレッドハット 須江 信洋氏が「残念ながら日本の開発現場では、マイクロサービスを使い熟すケースはそれほど多くないようです」と実情を語った。 「アプリを小さくして組み合わせ、柔軟な組成でビジネスを動かすマイクロサービスですが、日本ではエンドユーザーがSIerに丸投げすることが多く、要件定義だけで内容までは興味を持ちません。SIerも従来通りモノリシック(注1)に作ったほうがラクという話になってしまいます」(須江氏) 続いて、日本オラクルの古手川 忠久氏が「お客さまはマイクロサービスの技術や方法論をある

                                                      マイクロサービスの“アレコレ”を徹底討論、最適解は本当にJavaなのか?
                                                    • Kubernetes歴1週間の初心者から見た景色 - Qiita

                                                      機械学習のKubeflowというものに興味があってKubernetesの勉強を始めた。1週間くらい触ってみた感想をまとめてみる。 コメントや補足あれば遠慮せずどうぞ。Kubernetes歴〇年の先輩方お待ちしております。 1. 読み方がよくわからん Kubernetesで最初に躓くポイントはおそらく読み方だろう。 KubernetesそのものはGoogleの人が下記の通りTweetしているので統一されているはず。 @imdsm @gregde @francesc @jbeda @developerluke most people on the team say: koo-ber-net-ees, or just 'k8s' or k-eights — brendandburns (@brendandburns) April 7, 2015 問題はそのほかのKube◯◯◯ファミリーだ。ここは

                                                        Kubernetes歴1週間の初心者から見た景色 - Qiita
                                                      • Eclipseでの初めてのコーディング~プログラムの実行方法まで解説

                                                        本連載ではIDEの1つであるEclipseを紹介していきます。Eclipseが世に出てから20年以上は経過していますが、いまだにデファクトスタンダードという不動の地位にいます。歴史もあり、さまざまな開発者に利用されている割には、Eclipseの入門にあたるようなまとまった情報源は意外と少ないです。本連載がその一助となれば幸いです。初回である前回は、Eclipseのインストールを行い、Eclipseの画面構成を紹介しました。今回は、Eclipseでのコーディング方法、および、入力したプログラムの実行方法を紹介します。 プロジェクト作成とJavaプロジェクト 前回、Eclipseでは、1つのシステムやアプリケーションを「プロジェクト」という単位で管理する、といった話をしました。つまり、Eclipseでコーディングを行おうとする場合、まずプロジェクトを作成する必要があります。今回は、そのプロジェ

                                                          Eclipseでの初めてのコーディング~プログラムの実行方法まで解説
                                                        • ArchUnitで考えるアーキテクチャ構造とその検証 | 豆蔵デベロッパーサイト

                                                          「進化的アーキテクチャ」に続き「ソフトウェアアーキテクチャの基礎(日本語版)」発売で再び注目を浴びてきたArchUnitですがTips的な情報があまりネットにないので、これはArchUnitで検証しておこう!というパターンをよくありそうなアプリケーションを題材に実装例をまとめてみました。また、実装例だけだと味気ないので筆者なりのアーキテクチャに対する考え方を合わせて少しご紹介します。 Informationこの記事はArchUnit 0.23.1をもとに作成しています。APIの細かい説明は行いませんので詳細が必要な場合はArchUnitの公式ガイドを参照ください。 はじめにそもそもArchUnitってなに?という方にごく簡単に説明するとArchUnitはJavaのコードでクラスやパッケージ間の依存関係をチェックするライブラリとなります。この依存関係のチェックはJUnitのテストメソッドとし

                                                          • Configuration for MicroProfileを試す - CLOVER🍀

                                                            これは、なにをしたくて書いたもの? 長らくJava EEになかったConfig系のAPI(JNDI…)が、MicroProfileに入っているということで1度試しておこうと Apache DeltaSpikeにインスパイアされているようなので、そちらを知っていれば敷居もそれほど高くないかも? ということで、Configuration for MicroProfileを試してみました。 過去に書いた、Apache DeltaSpikeのConfigurationについてのエントリは、こちら。 Apache DeltaSpikeのConfiguration Mechanismを試す - CLOVER🍀 Configuration for MicroProfile? Configuration for MicroProfileについてのAPIや仕様書があるのは、こちら。 GitHub - ec

                                                              Configuration for MicroProfileを試す - CLOVER🍀
                                                            • マイクロサービス | 豆蔵デベロッパーサイト

                                                              MicroProfileは、2016年9月に誕生したエンタープライズマイクロサービス向けのプラットフォームです。 JavaEE(現JakartaEE)の仕様をベースとしつつも、マイクロサービスアーキテクチャに親和性の高い機能(JAX-RS, CDI, JSON-P等)に限定しています。 ここでは、そんなMicroProfileの導入や各機能の利用方法をご紹介します。 Javaによるエンタープライズ開発のフレームワークと言えばSpring Frameworkがデファクトで鉄板となっているこの昨今、唯一のメリットは標準と言う錦の御旗だけに見えるJava EEに起源を発するMicroProfileに注目し、そして敢えて世間の逆を本気で行き、結果「マイクロサービスのバックエンドならSpringよりもイケてるね!」の境地に達したSpring好き(だった)エンジニアがMicroProfileへの知見や

                                                              • MicroProfileってなにそれ? - MicroProfileの登場 | 豆蔵デベロッパーサイト

                                                                連載初回となる今回はなにはともあれまずはMicroProfileそのものについて、概要から説明していきたいと思います。 Javaのエンタープライズの標準仕様はなんですか?と問われたら、みなさんはなにを頭に浮かべるでしょうか?そもそも「Javaのエンタープライズ」ってなんだよ?とは思いつつも、多くの方はJava EEもしくはJakarta EE、そしてもしかしたらJ2EEと言った単語を浮かべるのではないかと思いますが、いずれも正解です! MicroProfileを語る上で標準であるJakarta EE(Java EE/J2EE)は切っても切り離せない関係にあります。ですので、MicroProfileの説明に行く前にまずは軽くJava EEのおさらいから始めたいと思います。 Java EEは1999年12月にエンタープライズ向けのエディションとして当初はJ2EEとして世にでました。エンタープラ

                                                                • Spring FrameworkのMultipartFileの仕組みについて調べてみた - ts0818のブログ

                                                                  nazology.net ヒトは生まれながらに歌う生き物のようです。 米国MIT(マサチューセッツ工科大学)の研究によれば、会話や楽器演奏では活性化しない、歌にだけ反応する脳回路が発見された、とのこと。 楽器には反応せず、歌にだけに反応する「歌回路」が脳内に存在していた - ナゾロジー ⇧ ついつい、hummingしてしまうことあるあるだよね~、何でだろうって謎が少しだけ解き明かされたということでしょうか。 今回は、Spring FrameworkのMultipartFileってものについて調べてみました。 レッツトライ~。 Spring FrameworkのMultipartFileとは? Spring FrameworkのAPIドキュメントを確認すると、 docs.spring.io A representation of an uploaded file received in a

                                                                    Spring FrameworkのMultipartFileの仕組みについて調べてみた - ts0818のブログ
                                                                  • マイクロサービス開発を容易にするDaprをJavaで利用してみた - Qiita

                                                                    はじめに Microsoft Build2020を見てDistributed Application Runtime のDaprが中々面白そうでした。 チュートリアルがNode.jsだったので参考にしつつQuarkusからDaprを利用するサンプルを作ってみました。 コードは下記を参照 https://github.com/koduki/example-dapr/tree/v01/api-with-java Daprって? Daprはサイドカー(Proxy)によりサービス間呼び出し、ステート管理、サービス間メッセージングなどの非機能要件を実現する事でマイクロサービスの実装を簡単にするマイクロソフトによって開発されているフレームワークです。 OSSで開発されているため下記より利用できます。 https://dapr.io/ https://github.com/dapr/dapr サイドカー

                                                                      マイクロサービス開発を容易にするDaprをJavaで利用してみた - Qiita
                                                                    • .NETの依存性注入を自動で登録する - JBS Tech Blog

                                                                      近年の .NET 開発はコンソールしかり Web しかり、 Microsoft.Extensions.* 名前空間で提供されているホスト、ロギング、依存性注入などの機能を利用することが普通になってきたと感じています。今回はその中の依存性注入の機能に関して、独自の属性( Attribute )とリフレクションを駆使して必要なサービスを自動的に登録する手法について紹介します。 はじめに 試した環境 サービスを自動登録する 属性の作成 リフレクションの実装 依存性注入機能への登録 設定を自動登録する 依存性注入機能への登録 おわりに はじめに 筆者は .NET に触れる以前は Java の開発者でして、 Spring や JavaEE といった Java のフレームワークを触った経験があります。これらのフレームワークには依存性注入の機能が標準搭載されており、基本的にはアノテーション( .NET

                                                                        .NETの依存性注入を自動で登録する - JBS Tech Blog
                                                                      • Jakarta EE に Core Profile というのが増えていた - 水まんじゅう2

                                                                        いつの間にかCore Profileというのが増えていました。 Jakarta EE Core Profileは特に小規模なランタイムを対象としたJakartaEEプラットフォームのプロファイルを定義しています。 マイクロサービスや事前コンパイル(=GraalVM)に適したより小さなランタイムを対象としています。 プロジェクトページはこちら。 jakarta.ee ここまでで、これはMicroProfileと何が違うんだ?という疑問にあたりまして、調べたところ会議体が違うだけで中の人もほぼ一緒なものであるという認識が出来ました。 MicroProfile自体はJava EE時代にJavaEEの仕様策定のプロセスが遅い事やリソースを十分に供給できていないということに危機感を感じたいくつかのベンダーとJavaコミュニティ主体で発生しました。そしてEclipse Fundationで管理されてい

                                                                          Jakarta EE に Core Profile というのが増えていた - 水まんじゅう2
                                                                        • 🍥Nonnullって、何ですか? - takeda_san’s blog

                                                                          コトの発端 Java 11の新機能ってどんなんだろなと、眺めていたらこんなコードがありまして。 (@Nonnull var x, @Nullable var y) -> x.process(y) このコードはJEP 323: Local-Variable Syntax for Lambda Parametersの中で例として出てるやつ。 内容は、『varがラムダ式の仮変数(って呼び方あってます?)にも付けられるようになるよ!』ってことなんだけど、その前に@Nonnullって、何ですか? 当たり前のように出てきてますが、私はご存じないアノテーションです。 nullじゃない三銃士 さっそく@Nonnullで調べてたら、色んな種類の"nullじゃない"が出てきてちょっと混乱してきたので整理します。 nullじゃない三銃士を連れてきたよ。 (細かく調べると三銃士どころじゃなく、もっといると思います

                                                                            🍥Nonnullって、何ですか? - takeda_san’s blog
                                                                          • Gitを使ったチーム開発(eclipse編) - Qiita

                                                                            Eclipseでチーム開発する際のシンプルな方法(今の段階) Eclipseでチーム開発をすることはよくあることですがこれを執筆している段階では 感染症対策の問題もあり開発者がすべてリモートの環境で開発することも多くなってきました。 そうなってくるとGitのpullがないとチーム開発は大変な困難なものになります。 今の段階でチームが「明日から全員リモートでチーム開発をしてください!」と言われたときにどうすればシンプルにうまくいくのか自分の考えも含め説明させていただきます。 以下のeclipseの環境で実施しています。 Photon Release (4.8.0) 結論としては以下になりました。 リポジトリの管理者を決めmasterブランチを管理する。 各開発者はそれぞれブランチを持つ 各開発者はコミットをする前に必ずpullをする 以下が自分の考えるシンプルな開発のやり方です 上図がちょっ

                                                                              Gitを使ったチーム開発(eclipse編) - Qiita
                                                                            • Javaパフォーマンス関連覚書 - Qiita

                                                                              Javaの主にパフォーマンスに関連するオプションとツールの覚書。 前提 Java 1.8 Java HotSpot(TM) 64-Bit Server VM コマンドラインオプション GCアルゴリズムとヒープサイズ シリアルGC -XX:+UseSerialGC 単一スレッドのGCを使う。いわゆるサーバマシンでJavaEE基盤となるJVMに対して使う利点はほぼなさそうだが、ヒープサイズが100 MB程度以下で済むようなマイクロなJVMを複数起動するような場合ではアリかもしれない。 -XX:+AggressiveHeap 大きなヒープを単一のJVMに割り当てられる状況で有利に動くようにオプションが割り当てられる、なかば投げやりなオプション。 bool AggressiveHeap := true {product} uintx BaseFootPrintEstimate := 4236855

                                                                                Javaパフォーマンス関連覚書 - Qiita
                                                                              • まいくろさーびすあーきてくちゃメモ - Qiita

                                                                                概要 とあるマイクロサービス開発に携わることになり、取り巻く技術要素について調査した内容から良TIPSをブックマーク。サマリを追記。 とあるサービスの特徴 Javaベースのマイクロサービス 今後別言語のサービスを追加する可能性もあるためREST APIベースのインターフェース Javaにおいては高速ながDI必須 Dockerコンテナの利用 Gradleによるマルチプロジェクトビルド 設計思想はドメイン駆動設計を採用 👉マイクロサービス 複数の小さなサービスをAPIを介することで連結させたシステム サービス間の依存がないため、言語や基盤に関係なくサービスを追加・削除可能 代表的なAPIはREST APIで、http通信にてJsonを介したデータのやり取りを行う サービスが複数となるため、以下の課題をどう解決していくかが求められる サービスごとに参照する永続化層(DB、ファイルなど)をAPI

                                                                                  まいくろさーびすあーきてくちゃメモ - Qiita
                                                                                • ForkJoinPoolとForkJoinTaskの特徴と使い方 - seraphyの日記

                                                                                  Fork/Joinとは? JavaSE7でサポートされるjava.util.concurrent.ForkJoinPoolは、ExecutorServiceの一員であり、一見するとThreadPoolExecutorに似たようなものに思えるが、実際は全く別の、異質のものである。 ForkJoinPoolは、ありていに言えばWork-stealingアルゴリズムの実装であり、無数のタスクを無駄なく論理CPU分のスレッドに割り当てるものである。 ForkJoinPoolはデフォルトでは論理CPU数分のスレッドプールをもつように構築される。 そして、あるタスクが完了するか、もしくは待ちになったら、すぐに別のタスクがアクティブとなり、常に、論理CPU数分のスレッドだけがアクティブになるように調整される。 また、ForkJoinPoolに入れたForkJoinTaskは、そのタスクの中で新たなタスク

                                                                                    ForkJoinPoolとForkJoinTaskの特徴と使い方 - seraphyの日記