タグ付けされた質問 「java-ee」

5
ステージング環境と本番環境
私はエンタープライズアプリケーションを構築する会社で働いており、開発(またはdev)、ステージング(またはステージ)、本番(またはprod)の3つの環境を維持しています。 devの意味は直感的です。アプリケーションの開発中に使用される環境です。 ステージング環境と運用環境の違いは何ですか?


6
オブジェクトプーリングは非推奨のテクニックですか?
私はオブジェクトプーリングの概念に非常に精通しており、常に可能な限りそれを使用しようとしています。 さらに、Java自体と他のフレームワークが可能な限りプーリングを使用することを確認したため、オブジェクトプーリングは標準的な標準であると常に考えていました。 最近、私にとってはまったく新しい(そして直感に反する?)ものを読みました。 このプーリングにより、特に同時実行アプリケーションでは特にプログラムのパフォーマンスが低下します。new新しいJVMではオブジェクトのインスタンス化が非常に高速であるため、代わりにオブジェクトをインスタンス化することをお勧めします。 私は本でこれを読みました: Java Concurrency in Practice 本の最初の部分では、新しいインスタンスを作成する代わりにExecutorsその再利用を使用するようにアドバイスされているので、ここで何かを誤解しているのではないかと考え始めていThreadます。 それでは、オブジェクトプーリングは非推奨になりましたか?

5
依存性注入:フィールド注入vsコンストラクター注入?
私はこれが熱い議論であることを知っており、意見はベストアプローチの実践に関して時間とともに変化する傾向があります。 コンストラクターインジェクションの利点についてさまざまなブログ(例:petrikainulainenとschauderhaftとfowler)を読み始めるまで、クラスではフィールドインジェクションのみを使用していました。それ以来、必要な依存関係にはコンストラクター注入を使用し、オプションの依存関係にはセッター注入を使用するように方法を切り替えました。 しかし、私は最近、モック作成フレームワークであるJMockitの作成者との議論に参加しました。彼は、コンストラクターとセッターの注入を悪い習慣と見なし、JEEコミュニティが彼に同意することを示しています。 今日の世界では、注射を行う好ましい方法はありますか?フィールドインジェクションは好ましいですか? ここ数年フィールドインジェクションからコンストラクターインジェクションに切り替えたため、使用するのがはるかに明確になりましたが、自分の視点を再検討すべきかどうか疑問に思っています。JMockit(RogérioLiesenfeld)の著者はDIに精通しているため、コンストラクター/セッターインジェクションに対して非常に強く感じているので、私のアプローチを検討する義務があります。

2
新しいプロジェクト用のJAX-RS実装の選択
RESTful APIを必要とする新しいJavaプロジェクトを開始しています。モバイルクライアントにサービスを提供するSaaSビジネスアプリケーションになります。 Java EE 6を使用して1つのプロジェクトを開発しましたが、ほとんどの経験がMicrosoftプラットフォームに関するものであるため、エコシステムについてあまり詳しくありません。 記載されているような新しいプロジェクトのJAX-RS実装の賢明な選択はどれでしょうか? ウィキペディアのリストから判断すると、主な候補者はジャージー、Apache CXF、RESTeasy、Restletのようです。しかし、Wikipediaで引用されているJAX-RS実装の比較は 2008年のものです。 それぞれのホームページから私の最初の印象は次のとおりです。 CXFは非常に包括的なソリューションを目指しています(Microsoft分野のWCFを思い出させます)。これは、必要なものよりも理解、セットアップ、デバッグが複雑になると思います。 Jerseyはリファレンス実装であり、良い選択かもしれませんが、Sunの遺産であり、Oracleがそれをどのように扱っているのかわかりません(アナウンスページが機能せず、最後のコミット通知が4か月前のものです)。 RESTeasyはJBossからのもので、おそらく堅実なオプションですが、学習曲線についてはわかりません。 Restletは人気があるように見えますが、多くの歴史があります。JavaEE 6の世界でどの程度最新であるか、または(多くのXML構成のように)重いJ2EEの考え方を持っているかどうかはわかりません。 これらの各選択肢のメリットは何でしょうか?学習曲線はどうですか?機能サポート?ツール(例:NetBeansまたはEclipseウィザード)?デバッグと展開の容易さについてはどうですか?これらのプロジェクトのうち、他のものよりも最新のものはありますか?それらはどれくらい安定していますか?
35 java  rest  java-ee 

5
Java Webアプリケーションのフォルダー構造
J2EEの初心者として、最近、Core of J2EE:Servlets&Jspsを使用して、ゼロから独自のプロジェクトの開発を開始しました。 プロジェクトのフォルダー構造が正しいかどうかを評価できませんでした。これが私のプロジェクトのフォルダ構造です。 質問をする前に、誰かが私に尋ねたとしても、なぜこのタイプのフォルダー構造なのか、答えることも正当化することもできません。質問:jspをweb-infの外に置くのは良い兆候ですか?そうでない場合、なぜそうなのですか?はいの場合、なぜですか? J2EE Webアプリケーション用の標準的なフォルダー構造の規則はありますか、mavenがいくつかの標準を導入したことは知っていますが、それでも、要件に応じてカスタマイズできます。 私は少しグーグルをして、2つの参照を見つけました 1 2 答えが同じページになく、そこから結論を引き出すことはできませんでした。 J2EE Webアプリケーションのフォルダ構造をレイアウトする際に考慮すべき点は何ですか、重要なことは、JSP、静的コンテンツをどこに入れるべきか、そしてなぜですか?

5
Mavenを使用したJava EEプロジェクトの作成
Eclipseを使用してJava EE Webアプリを1年ほど開発しています。私の雇用主はMavenを使用していませんが、それについて詳しく読むほど、Maven + Hudsonが私たちにとって非常に有益であると確信しています。ただし、まず、概念実証を作成できるように、空き時間にこれらのテクノロジに慣れる必要があります。 現在、私はまだMavenの初心者です。MavenでJava EE Webアプリを作成するためのベストプラクティスのセットはありますか?たとえば、基本的なアーキタイプを使用してプロジェクトを作成し、サーブレットコンテナ、EJB、EclipseLinkなどのPOMに依存関係を追加することにより、必要なすべてのJARを追加できます。それを行う方法。このトピックについて提供できるガイダンスをいただければ幸いです。
13 java-ee  maven 


1
Node.jsまたはサーブレット?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 私はJavascriptサーバー側言語、つまりNode.jsについて多くのことを聞いて読んだり、Nodeを支持する多くの比較を見たりしました。 何がそれを良くしたり速くしたりするのか、あるいはそれがJavaサーブレットのように成熟したものとどのように関係しているのかも理解できません。 ただし、サーブレットは、Node.jsとは対照的に、マルチスレッドのプログラミング言語の上に構築されています。では、node.jsをどのように高速化できますか? 1000Kのユーザーがデータベースレコードをクエリすると仮定すると、Node.jsがサーブレットよりも遅くなることはありません。 また、サーブレットはNode.jsに比べてセキュリティが優れていませんか?

4
あなたの会社は、Javaから別のテクノロジーへの移行を考えていますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前休業。 すべてのJava開発者が知っているように、OracleはSunを購入しましたが、特にOracle はJVM を収益化したいと考えているため、Javaの将来は非常に不透明に見えます。言語としてのJavaもここ数年陳腐化しており、クロージャが含まれていないことがその一例です(Java 1.8に含まれる可能性があります)同時に、Ruby、Scala、Groovyなどのいくつかの新しいテクノロジーが使用されています複雑なサイトを配信する。 15年前に企業がC ++、perlから移行したのと同じように、グリーンフィールドプロジェクトでのJavaの使用をやめるというアイデアで、話し合ったり、急上昇したり、別のテクノロジーを使い始めたりしている企業や組織があるかどうかと思います。およびその他のテクノロジーをJavaに。たとえば、2年後に別のテクノロジーへの移行を計画しているなど、これが起こっている印象を教えてください。 明確にするために、私はどちらのテクノロジーが優れているかを尋ねているのではありません。あなたの組織がJavaを別のテクノロジーに任せることを考えているかどうか尋ねています。
9 java  java-ee 

3
いつ、どのように、そしてなぜ1つの(Java)フレームワークをアップグレードする必要がありますか?
概要としての短い要約: 私たちは小さなJava Web開発チームであり、JSF、Hibernate、Seamなどのさまざまなフレームワークとライブラリを使用してアプリケーションを作成し、それらすべてを一緒にJBoss ASにデプロイします。 当初、アプリは組み立てられ、いくつかの機能が追加されて潜在顧客に表示するショーケースが形成されました。研磨が行われ、アプリがリリースされ、承認されて機能し、時間が経つにつれ、追加機能が追加され、バグが修正され、新しいバグが発生しています。 高いバス要因とスタートアップレースのために、開発は手に負えなくなりました。システムのコアアーキテクチャを完全に理解していないのに、ますます多くの機能が追加されました。それはまだ機能していますが、システムが元の場所から別の場所に進化したため、常に落とし穴があり、最初はさまざまなショートカットが開発をスピードアップするために行われました-回避策が使用されているため、これはすべて戻ってきて開発が遅くなりますプロジェクトに新しい開発者を紹介するのはかなり難しい。 今、私は物事の整理と整理を進めています-バグ追跡システムのインストール、テスト/品質の文化の構築、自動テストの実行方法の検討、コードレビュー(私たちが欠けていたすべての豪華な専門的なもの)はじめに)クラスの階層や関数を整理するなどの一般的なリファクタリングを行い、ものを使いやすくします。これですべてが少し良くなりますが、やるべきことはまだたくさんあります。私は最初にシステムを構築した人ではなく(以前のプログラマーは去りました)、それを経験していません(現在2.5年間開発していますが、これが今のところ私の唯一の「オープンワールド」の経験です)。行う。 これが私の問題です: リファクタリングは常に良いものであり、私は物事を簡単にするために常にそれを行っていますが、基本的なアーキテクチャ(つまり、システムが依存するライブラリ、アプリケーションサーバー、データベースなど)をいつ、どのように、なぜアップグレードする必要があるのか​​、というのは私を困惑させます。 例: 現在、JBoss 4.2.2を使用しています。JBoss7.1のどこかをすでに読んでいますが、それでもいいですか?これをどのように評価できますか? 大きなブロッカーのように見えるSeam 2.2を使用します(より高いJBossバージョンでは機能せず、JSF2をサポートしていません)。さらに、Seamの代わりにJEE機能を使用するように指示するソースが表示されます。 基本的に、私は上記の例で述べたものだけでなく、この問題の一般的なアプローチに興味があります-別のシステムの別のライブラリの別の時間にこの問題に遭遇する可能性があります(または他の誰かが同様の問題に直面する可能性があります) 。 だから、ポイントは何ですか?私は最新の状態で最先端のライブラリのみを使用する必要がありますか、それとも私が持っているものを使い続けるべきですか?私が使用している技術は文字通り死んだ馬であり、飛び降りることをどのように認識しますか?このようなテクノロジーのアップグレードはどのくらいの頻度で表示されますか? そして、一般的な「アップグレード方法」の横にある別の質問。私のソフトウェアが「専門家によって作成された」ものと呼ばれる可能性があることをどのように認識しますか?一般的なプログラマーのセンス以外に、よくできたソフトウェアのJoelテストはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.