タグ付けされた質問 「web-applications」

Webアプリケーションとは、インターネットまたは内部ネットワーク(イントラネット)を意味する「Web」を介してアクセスされるアプリケーションです。

3
HTTPにPOSTリダイレクトがないのはなぜですか?
HTTPリダイレクトは、HTTPコード301および302(他のコードも可能)と、新しい場所の住所を持つ「ロケーション」として知られるヘッダーフィールドを介して行われます。ただし、ブラウザは常にそのURLに「GET」リクエストを送信します。 ただし、多くの場合、POSTを介してユーザーを別のドメインにリダイレクトする必要があります(銀行支払いなど)。これは一般的なシナリオであり、実際には要件です。HTTP仕様でこのような一般的な要件が無視されている理由を知っている人はいますか?回避策は、アクションをターゲットの場所(Locationヘッダーフィールドの値)に設定したフォーム(非表示フィールドのパラメーター付き)setTimeoutを送信し、それを使用してフォームをターゲットの場所に送信することです。

9
Webアプリの「将来性がない」という恐怖
私は、小規模なローカルSaaS WebアプリケーションのWeb開発者です。現在、約半数のクライアントがいます。 アプリケーションの設計を続けると、プロジェクトにいつでもコミットするように説得することがますます難しくなります。これは初期段階で行われました。プロジェクトと既に書いたコードに執着して成長したので、ビジネスが成長するにつれてアプリがうまくスケールしないことが判明したときに、コミットするすべての追加作業が近い将来に覆されることを恐れています。 インターンシップに応募する大学生として、面接中にウェブフレームワークを使用しないという選択を雇用者に質問させました。私は単にWebフレームワークを知らず、どのフレームワークを使用するのか分からない。 1月にフルスタックのデベロッパーとしてインターンシップを開始しました。フロントエンドフレームワークの学習を開始しますが、アプリを終了するプレッシャーが高まっているため、アプリを完全に破棄してやり直すことを検討しています。これは私が以前にやったことです。このアプリは現在、PHPとjQuery(AJAX呼び出し用)で構築されており、データベースにMySQLを使用しています。この精神的なブロックをどのように克服し、アプリがスケーラブルになることを保証するための考えはありますか?前もって感謝します。

8
アプリケーションをステートレスに保つ方法
これは複雑な質問かもしれませんが、私は無国籍の理解を深めようとしています。 私が読んだことに基づいて、Webアプリケーションはステートレスである必要があります。つまり、各リクエストは独立したトランザクションとして扱われます。そのため、セッションとCookieは両方ともステートフルであるため、回避する必要があります。より良い方法はトークンを使用することです。トークンはサーバーに何も保存されないためステートレスです。 だから私は理解しようとしている、私のセッションのために保持されているデータ(ショッピングカートのアイテムなど)があるとき、Webアプリケーションはどのようにステートレスになりますか?これらは実際にどこかにデータベースに保存され、その後定期的にパージされますか?クッキーの代わりにトークンを使用している場合、これはどのように機能しますか? そして、関連する質問として、主要なWebサイト(Amazon、Google、Facebook、Twitterなど)は実際には無国籍ですか?トークンまたはCookie(または両方)を使用していますか?


11
寿命が40年以上のWebアプリケーションの設計に関するアドバイス
シナリオ 現在、私はヘルスケアプロジェクトの一員であり、その主な要件は、ヘルスケアプロバイダーがユーザーが作成したフォームを使用して、未知の属性を持つデータをキャプチャすることです。2番目の要件は、データの整合性が重要であり、アプリケーションが40年以上使用されることです。現在、過去40年間のクライアントのデータをさまざまなソース(紙、Excel、Accessなど)からデータベースに移行しています。将来の要件は次のとおりです。 フォームのワークフロー管理 フォームのスケジュール管理 セキュリティ/ロールベースの管理 報告エンジン モバイル/タブレットのサポート 状況 わずか6か月で、現在の(契約している)アーキテクト/シニアプログラマーが「高速」アプローチを採用し、貧弱なシステムを設計しました。データベースは正規化されず、コードは結合され、層には専用の目的がなく、データベースで「削除」を実行するようにいくつかのBeanを設計したため、データが失われ始めています。コードベースは非常に肥大化しており、データベースが正規化されていないため、データを同期するだけのジョブがあります。彼のアプローチは、欠落したデータを復元するためにバックアップジョブに依存することであり、リファクタリングを信じていないようです。 私の調査結果をPMに提出したので、建築家は契約が終了すると削除されます。このアプリケーションを再設計するタスクが与えられました。私のチームは私と1人のジュニアプログラマで構成されています。他のリソースはありません。このシステムの再構築に集中できる6か月の要件凍結が認められました。 DrupalのようなCMSシステムを使用することをお勧めしましたが、クライアントの組織のポリシー上の理由により、システムをゼロから構築する必要があります。 寿命が40を超えるシステムを設計するのはこれが初めてです。私は3〜5年の寿命を持つプロジェクトにしか取り組んでいません。そのため、この状況は非常に新しいものですが、刺激的です。 ご質問 どのような設計上の考慮事項が、システムをより「将来性のある」ものにしますか? システムをより「将来の証拠」にするために、クライアント/ PMにどのような質問をする必要がありますか?

9
ソフトウェアのテスト中に、ユーザーがソフトウェアに対してこのような愚かなアクションを実行しないと想定できますか?
例:Webアプリケーションでフォームの機能テストを実行しているときに、異なる種類のランダムな入力値を入力してフィールドをテストします。 一般に、Webアプリケーションのユーザーとして、フィールドにランダムな値を実際に入力することはありません。 このような問題が本番環境で発生する可能性がはるかに低い場合、バグにつながる可能性のある/そうでない可能性のあるすべてのテストケースを組み込むことの使用は何ですか? 注:上記の例はサンプルケースにすぎません。このような問題は、あらゆる種類の機能/モジュールで発生する可能性があります。 この質問は、標準的な慣行が続くかどうか、または製品、ドメイン、その他すべての要因に完全に依存するかどうかを知るためだけに行っています。

7
Bitbucket、Github、Kiln、および同様のDVCSブラウジングおよび管理ツールに代わるオープンソースの代替手段はありますか?[閉まっている]
Bitbucket、Github、Kiln、SCM-Manager、Rhodecodeなど、DVCSブラウジングと管理を提供するいくつかのツール/サービスを認識しています。 しかし、私が検討しているユースケースは次のようなものです: すべてのソースコードは、雇用主の内部サーバーに存在する必要があります。 ソリューションはオープンソースでなければなりません。 プロジェクトwiki、リポジトリの参照と管理、コードレビューなどのソーシャルコーディングの側面など、BitbucketまたはGithubのようなエクスペリエンスを提供する必要があります。 ソリューションには、水銀のサポートが必要です(他のDVCSをサポートしていない場合)。 これらのうち、SCM-ManagerとRhodeCodeのみが、独自のサーバーにインストールでき、オープンソースであるため、近づいています。ただし、BitbucketやGithubの経験はありません。課題トラッカーやウィキはありません。UIは機能的ですが、GithubやBitbucketに匹敵しません。 リポジトリブラウザでTracまたはRedmineに近づくことができますが、残念ながらリポジトリ管理機能はありません。 Bitbucket、Github、またはKilnと同様のエクスペリエンスを提供する他のオープンソースツールはありますか?

10
URLルートをファイルシステムから分離するために、現代のWebアプリケーションフレームワークはどのように、そしてなぜ進化したのですか?
約10年前と比較して、URLパスをファイルシステムから切り離すルーティングのスタイルを使用するフレームワークへの移行に注目しています。これは通常、フロントコントローラーパターンの助けを借りて達成されます。 つまり、以前は、URLパスはファイルシステムに直接マップされていたため、ディスク上の正確なファイルとフォルダーを反映していましたが、最近では、実際のURLパスは構成によって特定のクラスに向けられるようにプログラムされているため、ファイルを反映しなくなりましたシステムフォルダとファイル構造。 質問 どのようにして、なぜこれが当たり前になったのですか?かつて一般的なファイルへの直接アプローチが事実上放棄された時点まで「より良い」と判断した理由は何ですか。 その他の回答 ここには、ルートの概念といくつかの利点と欠点に少し似た答えがあります:PHPフレームワークでは、なぜ「ルート」概念が使用されるのですか? しかし、これは、この新しいルーティングスタイルパターンを使用して現在の新しいプロジェクトがほとんど行われており、ファイルへの直接書き込みが古くなったり放棄されたりする、歴史的な変化の側面、またはこの変化が徐々に起こった方法や理由については扱っていません。 また、言及されたこれらの利点と欠点のほとんどは、そのような世界的な変化を正当化するほど重要ではないようです。この変更を推進している唯一のメリットは、おそらくファイル/フォルダーシステムをエンドユーザーから隠すことと?param=value&param2=value、URLが少しきれいに見えるようにすることの欠如です。しかし、それらが変更の唯一の理由でしたか?そして、はいの場合、なぜそのような理由があったのですか? 例: 私はPHPフレームワークに最も精通しており、多くの人気のある現代のフレームワークはこの分離されたルーティングアプローチを使用しています。それを機能させるには、Apacheまたは同様のWebサーバーでURL書き換えを設定します。通常、Webアプリケーション機能は、ファイルへの直接URLパスを介してトリガーされなくなります。 Zend Expressive https://docs.zendframework.com/zend-expressive/features/router/aura/ https://docs.zendframework.com/zend-expressive/features/router/fast-route/ https://docs.zendframework。 com / zend-expressive / features / router / zf2 / Zend Framework https://docs.zendframework.com/zend-mvc/routing/ ララヴェル https://laravel.com/docs/5.5/routing CakePHP https://book.cakephp.org/3.0/en/development/routing.html

6
サービスレイヤーとDAO —なぜ両方ですか?
私はSpringMVC、Hibernate、およびJava Webアプリケーションの例でいくつかのデータベースを使用しています。 これを行ういくつかの異なる方法がありますが、このSpring 3とhibernateの統合チュートリアルの例には、モデルクラス、ビュー(jsp内)、およびコントローラーのサービスクラスとdaoクラスがあります。 私の質問は、サービスとDAOクラスの両方が同じことをしないのですか?なぜ両方が必要なのですか? これは私が実際に使用していたチュートリアルです:http : //fruzenshtein.com/spring-mvc-security-mysql-hibernate/

4
JSFを使用しない理由[非公開]
StackExchangeは初めてですが、あなたが私を助けることができると思いました。 レガシーJSPソリューションを置き換える新しいJava Enterpriseアプリケーションを作成しています。多くの変更により、UIとビジネスロジックの一部は完全に再考され、再実装されます。 Java EEの標準であるJSFが最初に考えられました。最初は良い印象がありました。しかし今、私は機能的なプロトタイプを実装しようとしていますが、それを使用することに関して本当に深刻な懸念があります。 まず第一に、それは私が今まで見た中で最悪で最も雑然とした無効な擬似HTML / CSS / JSミックスを作成します。ウェブ開発で学んだすべてのルールに違反しています。さらに、レイアウト、デザイン、ロジック、サーバーとの通信など、決して緊密に結合されるべきではないものが一緒に投げられます。CSSでスタイリングしたり、UIキャンディー(構成可能なホットキー、ドラッグアンドドロップウィジェットなど)を追加したりなど、この出力を快適に拡張する方法がわかりません。 第二に、それはあまりにも複雑です。その複雑さは際立っています。あなたが私に尋ねると、それは基本的なウェブ技術の貧弱な抽象化であり、最終的には不自由で役に立たない。私にはどんな利点がありますか?考えてみれば、なし。何百ものコンポーネント?さらに、数万のHTML / CSSスニペット、数万のJavaScriptスニペット、および数千のjQueryプラグインが表示されます。これは本当に多くの問題を解決します-JSFを使用しない場合はありません。または、フロントコントローラーパターン。 そして最後に、2年後にはやり直さなければならないと思います。最初のGUIモックアップをすべて実装する方法がわかりません(さらに、チームにはJSFエキスパートがいません)。どういうわけか一緒にハッキングできたかもしれません。そして、さらにあります。ハックをハッキングできると確信しています。しかし、いつかは行き詰まってしまいます。サービス層より上のすべてのものがJSFを制御しています。そして、最初からやり直す必要があります。 私の提案は、JAX-RSを使用してREST APIを実装することです。次に、クライアント側のMVCでHTML5 / Javascriptクライアントを作成します。(またはMVCのフレーバー..)ところで。部分的なAndroidフロントエンドも開発しているため、とにかくREST APIが必要になります。 私は、JSFが今日の最良のソリューションであることを疑っています。インターネットが進化しているので、なぜこの「レーキ」を使用する必要があるのか​​わかりません。 さて、賛否両論とは何ですか?JSFを使用しないという点を強調するにはどうすればよいですか?私の提案よりもJSFを使用する長所は何ですか?

8
クライアント側のコーディング:悪意のある使用を防ぐ方法
過去数年にわたって、クライアントサイド(ブラウザ)アプリケーションのトレンドは本当に始まっています。 私の最新のプロジェクトでは、時代とともに動き、クライアント側のアプリケーションを作成することにしました。 このアプリケーションの一部には、トランザクション電子メールのユーザーへの送信が含まれます(たとえば、サインアップの検証、パスワードのリセット電子メールなど)。サードパーティのAPIを使用してメールを送信しています。 通常、サーバーでアプリケーションを実行します。サーバー上のコードからサードパーティAPIを呼び出します。 クライアント側のアプリケーションを実行すると、ユーザーのブラウザでこれを行う必要があります。サードパーティAPIは、これを実現するために必要なJavaScriptファイルを提供します。 私が見ることができる最初の明白な問題は、APIキーを使用する必要があることです。これは通常、サーバーに安全に保存されますが、このキーをクライアントブラウザーに提供する必要があります。 私がこの問題を回避できると仮定すると、次の問題は、技術に精通したユーザーがブラウザでJavaScript開発者ツールをロードし、アプリケーションで設定したルールを遵守するのではなく、好きなように電子メールAPIを使用することを停止することです。 私の一般的な質問は-クライアント側アプリケーションの悪意のある使用をどのように防ぐことができるのでしょうか?

5
単一ページのWebアプリケーションを構築する利点と欠点[非公開]
私は現在取り組んでいるサイドプロジェクトのプロトタイピング/概念実証フェーズの終わりに近づいており、いくつかの大規模なアプリケーション設計の決定を決定しようとしています。このアプリは、アジャイル開発プロセス向けに調整されたプロジェクト管理システムです。私が下す必要がある決定の1つは、従来のマルチページアプリケーションとシングルページアプリケーションのどちらを使用するかです。 現在、私のプロトタイプは従来の複数ページのセットアップですが、backbone.jsを見て、Javascript(jQuery)コードに構造をクリーンアップして適用しています。Backbone.jsは複数ページのアプリケーションで使用できますが、単一ページのアプリケーションでさらに輝いているようです。単一ページのアプリケーション設計アプローチを使用することの利点と欠点のリストを考えています。これまでのところ: 長所 すべてのデータは何らかのAPIを介して利用できる必要があります。これは、アプリケーションにAPIを保持したいので、ユースケースにとって大きな利点です。現在、データの取得/更新の呼び出しの約60〜70%がREST APIを介して行われています。単一ページのアプリケーションを実行すると、アプリケーション自体がREST APIを使用するため、REST APIをより適切にテストできます。また、アプリケーションが成長するにつれて、API自体も成長することを意味します。これはアプリケーションが使用するものだからです。APIをアプリケーションのアドオンとして維持する必要はありません。 より応答性の高いアプリケーション-最初のページの後に読み込まれるすべてのデータは最小限に抑えられ、コンパクトな形式(JSONなど)で送信されるため、データ要求は一般に高速であり、サーバーの処理はわずかに少なくなります。 短所 コードの複製-たとえば、モデルコード。サーバー側(この場合はPHP)とJavascriptのクライアント側の両方でモデルを作成する必要があります。 Javascriptのビジネスロジック-これが悪い理由について具体的な例を挙げることはできませんが、だれでも読むことができるJavascriptのビジネスロジックを持っていると感じることはできません。 Javascriptのメモリリーク-ページがリロードされないため、Javascriptのメモリリークが発生する可能性があり、デバッグをどこから開始すればよいかさえわかりません。 また、両刃の剣のようなものもあります。たとえば、単一ページのアプリケーションでは、アプリケーションが特定の要求に必要な最小限のデータを要求するため、各要求で処理されるデータは大幅に少なくなりますが、サーバー。それが良いことなのか悪いことなのかはわかりません。 単一ページWebアプリケーションの長所と短所のうち、プロジェクトにどの方向に進むべきかを決定するときに留意すべきことは何ですか?

3
AngularJS:複数のng-appsを使用したWebアプリケーションの構造化
ブロゴスフィアには、AngularJSアプリの構造化ガイドラインに関するトピックに関する以下のような記事があります。 http://www.johnpapa.net/angular-app-structuring-guidelines/ http://codingsmackdown.tv/blog/2013/04/19/angularjs-modules-for-great-justice/ http://danorlando.com/angularjs-architecture-understanding-modules/ http://henriquat.re/modularizing-angularjs/modularizing-angular-applications/modularizing-angular-applications.html ただし、ガイドラインとベストプラクティスについてまだ触れていないシナリオの1つは、複数の「ミニスパ」アプリを含む大規模なWebアプリケーションがあり、ミニスパアプリはすべて一定量のコードを共有している場合です。 ng-app同じページに複数の宣言をしようとする場合については言及していません。むしろ、私は、独自の独自のng-app宣言がある大規模サイトのさまざまなセクションを意味します。 Scott AllenがOdeToCodeブログで次のように書いています。 あまりうまく対処できていないシナリオの1つは、同じ優れたWebアプリケーションに複数のアプリが存在し、クライアントで共有コードを必要とするシナリオです。 推奨されるアプローチ、避けるべき落とし穴、またはあなたが指し示すことができるこのシナリオの良いサンプル構造はありますか? 更新-2015年9月10日 興味深い組織戦略を持つプロジェクトの1つに、MEAN.JSとそのモジュールフォルダーがあります。 https://github.com/meanjs/mean https://github.com/meanjs/mean/tree/master/modules 別の例は、ASP.NET Music Store SPAの例です。 https://github.com/aspnet/MusicStore https://github.com/aspnet/MusicStore/tree/master/src/MusicStore.Spa/ng-apps

2
マイクロサービスアーキテクチャで共有の概念をどのように処理しますか?
開発中のアプリケーションのアーキテクチャパターンを調査しており、マイクロサービスアプローチが適切な選択のように思えますが、サービス間の相互作用を処理する方法はわかりません。 このアプリケーションは主に、ユーザー、ユーザーが所有するプロファイル、写真、および写真内の1つから多数のプロファイルを表すタグを扱います。ユーザーがアップロードした写真を返す方法、特定のタグ付きプロファイルを含む写真を返す方法などが考えられます。 これはマイクロサービスベースのアーキテクチャを設計する最初の試みであり、モノリシックなドメインモデルに触発された歴史から来ています。その世界では、コントローラーはこれらのドメインオブジェクトをつなぎ合わせますが、これがマイクロサービスの方法でどのように機能するかについて頭を包むのに苦労しています。

5
HTML / JavaScriptのみのWebアプリの長所と短所[非公開]
ASP.NETフォームのバックグラウンドから来ましたが、過去にサーバー側のコーディングが非常に強力であることがわかりました。ただし、最近では、フロントエンドのサーバー側コードを段階的に廃止し、JSON Webサービスを介してデータにアクセスする純粋なHTML / JavaScriptに置き換えたいと考えていました。私はこれについて実際の経験がないので、これが試され、テストされたモデルであるかどうか聞きたいです。また、それを取り巻く落とし穴は何ですか? ASP.NETユーザーコントロールは非常に便利だと思うので、サーバー上の別個のHTMLファイルにマークアップテンプレートを保存することで、その背後にある理論を維持したいと思います。これらは、それぞれjQuery AJAXおよびjQuery HTMLテンプレートプラグインを通じて取得および使用されます。 任意の入力は非常に高く評価されます。 PS noobの質問は申し訳ありませんが、このタイプのWebアーキテクチャはweb-2.0と呼ばれるものですか、それとも完全にオフトラックですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.