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

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

2
パンくずリストは、WebサイトやWebアプリをナビゲートするための実行可能な方法ですか?
現在、次の種類のWebサイトとアプリに取り組んでいます。 Amazonのようなeコマース 予約システム(部屋の空室状況をチェックするホテルの受付係を考えてください) Freshbookのような請求書管理 アマゾンでは、パンくずリストに気づかず、左パネルのファセットだけに気付きました。ただし、neweggはブレッドクラムとファセットの両方を使用しています。 ホテル予約や請求書管理などの管理システムでは、通常、システム全体で検索する一意の予約番号または顧客番号があります。各予約は、たとえば次のようにさらにセクションに展開できます。 Reservations > Reservation #123456 > Guests > Room > Airport pickup > Payment 一意の予約ページごとに、パンくずリストを使用して、サイトに対する現在のページの位置を示しています。それはそのような情報を提示するのに良い方法ですか?タブやその他のテクニックを使用する必要がありますか?

5
既存のWebアプリケーションをリファクタリングする方法は?
私は最近、多くのことを読んだり考えたりしており、Web開発戦略を再考する必要があるかもしれないという結論に達しました。私は多くのオンザフライプログラミングを行っており、2年間でPHP Webアプリケーションに取り組んできました。小さなツールとして始まったかもしれないものが、かなり大きなプロジェクトになりました。しかし、私と私の前任者からの大量のレガシーコードがあり、当時は意味があったかもしれないコードスニペットですが、今は、実際の形でのこのコードの有用性に疑問を投げかけています。さらに、ユニットテストやテスト駆動開発のようなものは、ごく最近まで私の範囲にはありませんでした。 では、Webアプリケーションのリファクタリングにはどのように取り組みますか?私が探すべきものは何で、その順番は?ブラウザゲームと機能するウェブアプリはどうですか?ではアプローチに違いはありますか?

1
既存のレガシーWebアプリを移行してOAuth2を使用する方法
私は現在、自家製の承認と認証システムを使用して、100万人近くのユーザーがいる15歳のレガシーモノリシックWebアプリケーションを持っています。ハッシュアルゴリズムなど)。 今後12〜18か月間、主にUIに重点を置いてアプリケーションのオーバーホールを行いますが、基盤となるパーツもゆっくりとアップグレードします(Spring、Spring Securityなどへのアップグレード)。このプロジェクトでは、モジュールごとにUIのアップグレードに取り組むことにしました。各モジュールが完成したら利用可能にする。モノリスを個々のWebアプリに分割する絶好の機会(すべて同じUXデザインを維持)。 これを計画しようとして私が行き詰まっているのは、認証と承認のレベルです。すべてのモジュールにまたがるクロスカッティングソリューションが必要です。これにより、ユーザーがあるWebアプリケーションから別のWebアプリケーションに誘導されたときに、シームレスな移行が実現します。ユーザーは異なるWebアプリケーション上にいることさえわかりません。OAuth2は完璧なソリューションのように聞こえます。 これを統合する方法を理解しようとするのに行き詰まっています。独自のカスタムOAuth2サーバーを構築する必要がありますか?それはひどい考えのように私を襲います。しかし、どうやって私は: すべてのユーザーアカウントと承認プロセスをサードパーティのOAuth2サーバーに移行する アプリケーションの残りの部分と一致するようにルックアンドフィールをカスタマイズします(これがどれほど簡単に/可能性が高いかわかりません) サードパーティのサーバーを介して接続するときに、一般的な「アプリケーションXYZがアカウントへのアクセス許可を求めています...」ポップアップを防止しますか?(例:Google OpenID、Facebookなど)。 私の目標は、ユーザーに現在の状態から新しい状態へのシームレスな移行を提供することですが、Webアプリケーションの外部ですべて認証および承認する個別のWebアプリケーションを作成する機能を提供することです。

3
Pythonはどのように機能しますか?
この質問は少しばかげているように見えるかもしれませんが、一体何ですか。 私はPythonを学び始めました。基本的な構文などを知っています。 HTMLやPHPなどを使用する場合は、コードを記述し、それを.htmlまたは.phpファイル内に配置して、このファイルをダブルクリックします。次に、私のコードが実行されます。私はデータベースやその他のものを扱うことができます-それは単純です。しかし、Pythonはどのように機能しますか?私はEclipseまたはPythonコマンドラインの内部で作業していて、このコードを実行できますが、たとえばPythonでWebサイトを作成したい場合はどうすればよいですか? 私は自分のサーバーに.pyファイルを置くようなものではないと思うので、何をする必要がありますか?サーバーのコマンドラインを使用してウェブサーバーにPythonをインストールする必要があることを理解しています(使用したことはありませんが、チュートリアルが必要になる日があります)。Pythonの知識をHTML、CSS、PHPなどと組み合わせるにはどうすればよいですか? Pythonはデスクトップアプリの作成にも使用できますが、それではどうでしょうか。.exeファイルをPythonコードでエクスポートできますか? 私の懸念を説明するコンテンツへのリンクは大歓迎です!

2
Webアプリケーションソフトウェアエンジニアの選び方 [閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 Webアプリケーションソフトウェアエンジニアを選ぶにはどうすればよいですか? (永続的な)位置は、既存のデスクトップクライアントサーバーアプリケーションのクライアントを書き換えることです。ページはサーバー上で動的に生成されませんが、サーバーは、JSON RPC呼び出しなど、必要な方法で完全なAPIを公開し、静的ファイルを使用可能にすることができます。それは人々がダウンロードしてインストールしなければならないクライアントに取って代わるので、妥当な設定(例えばJavaScriptが有効)を備えたまともなブラウザを要求することは問題ありません。ほとんどすべての使用例はデスクトップPCです。これは検索エンジンからアクセスできなくなります(エンタープライズアプリケーションです)。 すべてを1つのページに書き込むことができますが、そうする必要はありません。問題のWebアプリケーションソフトウェアエンジニアによってほとんどすべて記述されます。使用する正確なオープンソースライブラリも、エンジニアの責任です。 一般的にWebアプリケーションソフトウェアエンジニアを選ぶのはトピックが広すぎるので、面接でどのような資格を探して検証するかについてのアドバイスを具体的に探しています。 編集-位置は純粋にブラウザー内のJavaScriptプログラミング(およびHTMLとCSSの責任)です-他の開発者はサーバーを開発しますが、この位置はAPIを介してファサードを要求する可能性があります。Ruby、ASP、JSPなどはありません。これは、Webサーバーレイヤーが非常に薄く、呼び出しをビジネスレイヤーAPIに変換してJSON(または何でも、ただしJSONが最も簡単に見える)として返すだけだからです。

5
サポートされていないIE6ユーザーに何を伝えればよいですか?
次のバージョンのWebアプリでは、IE6が壊れており、修正するつもりはありません。数か月間、IE6ユーザーに対して明確な警告が投稿されました。私たちはそれをサポートしない時がきたと決定しました。 私の質問は次のとおりです。これをユーザーにどのように伝える必要がありますか? ここの一部の人々は、WebアプリケーションにアクセスしようとするIE6ユーザーは機能しないので、ブロックする必要があると感じています。他の人たちは、「これはIE6では機能しない」と言って警告を残すべきであると感じていますが、それらをブロックしないでください。代わりに、クリックして警告を却下した場合は、壊れたサイトにアクセスして、機能しないことを確認してください。 誰が正しいのですか?もっと良い方法はありますか?

5
Webアプリケーションのクライアントごとに新しいテーブルを作成することは良い考えですか?
これは半仮説であり、大規模なデータベーステーブルを処理した経験がないため、何らかの理由でこれが恐ろしいかどうかはわかりません。状況について: 20,000のクライアントがあり、各クライアントがテーブルに1000以上のエントリを持つWebベースのアプリケーションを想像してみてください。これは2,000万行であり、複雑なクエリの速度を確実に低下させる可能性があります。 このような場合、クライアントごとにデータベースに新しいテーブルを作成する方が理にかなっていますか?2万(またはそれ以上)のテーブルがある場合、データベースはどのように反応しますか?

11
Webアプリケーションを作成するには、htmlとjavascriptを学ぶ必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私は経験豊富なJavaプログラマーであり、動的なページや描画などを必要とする複雑なWebアプリケーションを作成したいと考えています(例としてSOを取り上げます)。このようなアプリケーションを作成するには、javascript / htmlを学ぶ必要がありますか? 別の言語を学びたくないということではありませんが(以前にこれを行ったことがあります)、JavaScript環境のテクノロジーは急速に変化しているように見えるため、1つのフレームワークの学習を終了すると、すでに時代遅れです。私はウェブ開発用のいくつかのJavaフレームワーク(スプリング、プレイ)をチェックしましたが、深くは確認していません。それで、これらのフレームワーク(または私が知らない他の可能なJavaフレームワーク)は、html / javascriptを学習せずに使用できますか?また、Pythonの経験もあります。したがって、Pythonでアプリを実行できる場合は、それもオプションです。

4
C ++とMySQLでWebアプリを構築することには、概念的な欠点がありますか?
私は、非常に興味深いプロジェクトを継承しました。このプロジェクトでは、既存のソフトウェアを取得してSaaS Webアプリに変換する良い機会があります。プロジェクトが継承されるため、コードベース/フレームワークはすでにC ++およびMySQLとして定義されています。アプリ自体がコンパイルされ、Windows Server上でEXEとして実行されます。UIはWebベースであり、アプリは一種のサーバーとして機能します。私が最近のWebアプリについて知っていることから、これはおそらく珍しい選択です。最近では、ほとんどの人がPHPフレームワークまたはRuby on Railsを選択しているようです。確かにそれは私がこの主題についてブログを読んで得た印象です。それで、MySQLに裏打ちされたC ++ EXEがWebアプリの強固な基盤であるかどうか、または別の方法でビルドする必要があるかどうかを知りたいと思います。

4
JavaScriptマルチスレッド
まあ最近JavaScriptはすべてのWeb開発テクノロジーのメインプレーヤーです。クライアント側では、ユーザーインターフェイスを改善するために、クライアント側のロジックで、一部のWebサーバーではサーバー側のロジックとしても使用されます これに加えて、人々(少なくとも一部の人々)の事実が、Webゲーム開発をフラッシュからJavaScriptおよびHTML5に移行し始めました マルチスレッドをサポートする時ではありませんか?JavaScriptをマルチスレッド化できるブラウザはありますか、それとも標準、HTML5、または将来のバージョンにありますか?

6
真の乱数ジェネレーターWebサービスが必要[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 5年前休業。 Random.orgは、アナログの世界(cf.)からIPごとに1日あたり200kのランダムビット(32ビット整数は6250のみ!)を提供します。 誰かが1日あたりのオンデマンドのランダムビット数を増やす代替のWebサービスを知っていますか? (価格が1000×1024ビット/米ドルセントの「予想内」である限り、支払いは問題ありません)(random.orgの有料サービス料金100×この価格)

4
ステージング環境とUAT環境の違いは何ですか?
ソリューションの開発中は、少なくとも3つの異なる環境が必要です。 開発:プログラマはいつでも自由に変更を加えて変更をプッシュし、コードをすばやくテストして他の変更と統合することができます。何も壊す恐れはありません。これはTESTデータベースとサービスに接続されています。 UAT:ハードウェアに関する本番環境の「できるだけ良い」コピーが含まれている必要があるため、開発者は敬意を持って扱う必要があります。ただし、この環境は本番データの編集可能なコピーでUATデータベースに接続されている点が異なります。 Q&Aチームとユーザーの両方が、本番環境への変更を検証するために使用します 生産:本当の取引。 私はに見てきたソフトウェア工学にこの質問、およびServerFaultの上でこの質問、および彼らがステージング環境の意味は何に異なるように見えます。また、主題に関するウィキペディアのページには、次のように述べられています。 ステージング環境の主な用途は、本番環境に適用する前に、すべてのインストール/構成/移行スクリプトと手順をテストすることです。これにより、本番環境へのすべてのメジャーアップグレードとマイナーアップグレードが、エラーなしで、最小限の時間で確実に完了します。 私にとって、ステージングは​​UATと同じです。UATでは、現実の世界に移行する前に、アプリケーションと展開の手順をテストする必要があります。そのため、本番環境にプッシュするのと同じ方法でUATに変更を加えてパッケージをプッシュします。完全に自動化され、本番環境で必要なすべてのセレモニーが行われます。 とはいえ、UAT環境とステージング環境の適切な違いは何ですか? - 編集:明確にするために、私はインターネットアプリケーションでもイントラネットウェブサイトでも、Webアプリケーションの観点から考えています。「フォーム」アプリやモバイルアプリはありません。

3
クロスランゲージテスト駆動開発
短い質問:複数の言語にまたがるプロジェクトでテスト駆動開発をどのようにフォローしますか? 具体的には、JavaScriptとPHPを使用するWebアプリケーションを作成していて、TDDの原則に従いたいのですが、それらを統合する方法がわかりません。JSセクションとPHPセクションで別々のテストスイートを実行し、JSスイートのモックを使用してサーバーの応答をエミュレートしますか?1回の実行で両方のコンポーネントを単体テストする手法はありますか? これは、テスト駆動開発を使用した私の最初の経験なので、困難を少なくする方法について共有できるアドバイスがあればすばらしいでしょう。私がそれを選んだ理由は、プロトタイプが完成するとすぐに要件が変更され、設計を変更せざるを得なくなったためです。最初からやり直すのであれば、最初から組み込みの回帰テストを使ってより拡張可能なコードを書きたいと思っていました。 PHPテストはSimpleTestで、JavaScriptテストはJsTestDriverで作成しています。私はオブジェクト指向のパラダイムに慣れているので、PHPにはいくつかのクラスがあり、JavaScriptではプロトタイプ継承を使用して同様のことをしています。また、PythonでのTDDに関するこの本とJavaScriptでのTDD に関するこの本も読み始めましたが、これらすべては、Seleniumや別のWebドライバーなどを使用する以外のアプリケーションの完全なテストについては説明していません。フロントエンドの受け入れテストを実行するためにTDDはフルスタックの開発者のために切り取られていないだけですか?

2
CDNはどのようにしてDDoS攻撃からフェイルオーバーサイトを保護しますか?
私は、おそらく最終的にGoogle App Engine(GAE)にデプロイされるJava Webアプリの設計プロセスにいます。GAEの良い点は、恐ろしいDDoS攻撃からアプリを強化することを本当に心配する必要がないことです。「請求上限」を指定するだけで、トラフィックがこの上限(DDoSまたはそれ以外)に達すると、GAEアプリをシャットダウンします。言い換えると、GAEは、アプリを実行し続ける余裕がなくなるまで、基本的に任意の量にスケーリングされます。 したがって、私は、この請求の上限に達し、GAEがアプリをシャットダウンした場合、WebアプリドメインのDNS設定が別の非GAE IPアドレスに「フェイルオーバー」するような不測の事態を計画しています。一部の初期の調査では、CloudFlareなどの特定のCDNがこの正確な状況に対応するサービスを提供していることが示されています。基本的に、私はDNS設定を保持するだけで、フェイルオーバー手順を自動化するために使用できるAPIを提供します。したがって、GAEアプリの請求上限が99%になっていることを検出した場合、このCloudFlare APIにアクセスできます。CloudFlareは、DNS設定を動的に変更して、GAEサーバーから他のIPアドレスを指すようにします。 私の最初の不測の事態は、おそらくGoDaddyまたはRackspaceによって他の場所でホストされているWebアプリケーションの「読み取り専用」(静的コンテンツのみ)バージョンにフェイルオーバーすることです。 しかし、それから突然私に気づきました。DDoS攻撃がドメイン名をターゲットにしている場合、GAE IPアドレスから(たとえば)GoDaddy IPアドレスにロールオーバーするとどのような違いがありますか?要するに、フェイルオーバーはDDoS攻撃者が私のバックアップ/ GoDaddyサイトをダウンさせること以外は何もしません! 言い換えると、DDoS攻撃者は、GAEによってホストされている私のWebアプリへの攻撃を調整しますwww.blah-whatever.com。これは、実際にはIPアドレス100.2.3.4です。これにより、トラフィックが課金上限の98%に急上昇し、カスタムモニターが100.2.3.4から105.2.3.4へのCloudFlareフェイルオーバーをトリガーします。DDoS攻撃者は気にしません!彼らはまだ攻撃を仕掛けていwww.blah-whatever.comます!DDoS攻撃が続いています! だから私は尋ねます:CloudFlareのようなCDNはどのような保護を提供するので-別のDNSにフェールオーバーする必要があるときに-同じ、継続的なDDoS攻撃の危険にさらされませんか?そのような保護が存在する場合、フェイルオーバーサイトに課されている技術的な制限(読み取り専用など)はありますか?そうでない場合、彼らは何が良いのですか?前もって感謝します!


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