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

Web開発は、World Wide Webまたはイントラネット用のWebサイトの開発に関連する作業の広義の用語です。

5
PHP、HTML、JavaScript、および優れた実践方法の記述
私と私のチームのために、HTML、JavaScript、およびPHPコーディングに関する規約の仕様を書き留める必要があることに気付きました。 Web開発では、C ++と同じように、私はインデントとコメントのファンです。 それにもかかわらず、私の仕事でHTML + JavaScript + PHPコードに遭遇することが多く、突然頭痛の種になります。 私はコードを読みやすくしようとしていますが、インデントとコメントのために私にとってより良いように見えるものは私のチームメイトを魅了しないようですので、「ハイブリッド"今日のWebページと同じように、日々複雑になるドキュメント。 おそらく今日のWebページのコードの性質が少し複雑であることに気づいていますが、これらの側面に関する良い慣習がすでに存在しているかどうかは疑問です。

1
25万件未満の潜在的なレコードを処理する軽量のドキュメントインデックス
最近、ドキュメントインデックスエンジンの制限にからかわれています。かなり堅牢な検索機能を必要とする小さなWebサイトを開発していましたが、ハードウェアの制約により、このニーズを処理するLucene風のソリューション(通常のSolrやElasticSearchなど)を展開できませんでした。 それでも、データベースを多用する複雑なデータや計算を提供する必要がありましたが、25万件を超える潜在的なレコードを処理する必要はありませんでした。これを処理するためだけにSolrまたはESインスタンス全体をデプロイすることは、無駄に思えました。 考えてみたらかなり大きな問題のようです。ほとんどの人は、SQLだけで検索要件を処理します。彼らはデータに対してSQLクエリを実行するだけです。彼らの検索機能もひどいものになります。 一部のシステム(特に共有ホスト)では、ブランケットフルテキストワイルドカード検索を行うと速度が大幅に低下し、特に複雑なクエリや多数の結合がある場合にデータベースがダウンする可能性があります。 ユーザーからの単一のリクエストに対して複数のクエリを実行することになります。ますます複雑なクエリでこれを回避できるかもしれませんが、前のポイントを参照してください。 フルテキストエンジンに通常存在する機能の欠如。 データベースにはサーバーとしてデプロイする必要があるという同じ問題があり、その後SQLiteが登場し、突然、単一のファイルに自己完結型のデータベースをデプロイできるようになりました。私のグーグルは何も生成していません-全文索引付け/検索のためにこのようなものが存在するかどうか疑問に思います。 軽量のドキュメントインデックスを実装するか(たとえば、別の質問への回答で説明されているように)、またはこれらの状況でSQLを使い続けるかを決定するときに考慮すべき要素は何ですか?

8
Web開発でクライアント側に急ぎます
過去数か月の間に、私はWeb開発におけるクライアントサイドスクリプトについて大きな興奮を感じました。しかし、サーバー側の技術は成熟しており、安定していて、バックエンド開発者に受け入れられていますが、クライアント側の技術は未成熟であり(つまり、大きなサーバー側のフレームワークに比べて)、多くの老舗の開発者には嫌われています。それにもかかわらず、最近では誰もがクライアント側の開発を行っています。個人的には、これらの大きなサーバー側フレームワークが2〜5年で消滅し、現在の傾向を見ると期待しています。 どうしてこんなことに?HTML5 / JSで開発された新しい「びまん性」のクライアント側の開発は、大きくてよく考えられたサーバー側のソリューションよりも優れているのでしょうか。

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

6
パフォーマンスに深刻な影響を与える一般的なJavascriptの間違い?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 私が参加した最近のUI / UX MeetUpで、対話とUIにJavascript(jQuery)を使用するWebサイトにいくつかのフィードバックを与えました。これはかなり単純なアニメーションと操作でしたが、まともなコンピューターでのパフォーマンスはすごかったです。 実際、同じ問題で見た多くのサイトやプログラムを思い出しました。特定のアクションはパフォーマンスを完全に破壊します。これは、JavascriptがFlashの代替としてほとんど機能している(または、少なくとももっと目立つ)状況にあります。これは、はるかに多くのJavascriptと機能を備えているものの、非常にスムーズに実行する、私が使用した一部のWebアプリケーションとはまったく対照的です(IBMのCOGNOSは頭の中で考えられるものです)。 サイトのパフォーマンスを低下させるJSを開発する際に考慮されない一般的な問題をいくつか知りたいです。

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

7
誰がテスト計画を書くべきですか?
私は社内の開発チームに所属しており、マーケティングチームの要件に従って会社のWebサイトを開発しています。受け入れテストのためにサイトをリリースする前に、従うべきテスト計画を提供するように依頼されました。 ただし、開発チームは、要求者からの要求であるため、何をテストするか、何を探すべきか、どのように動作するかなどについて最良の知識を持っているため、テスト計画は不要であると感じています。私たちは常にこれについて議論しています。開発者は次のようなことを書き留めるのは時間の無駄です。 ボタンAをクリックします。 フォームフィールドにXYZと入力し、ボタンBをクリックします。 動作Cが表示されます。 これは、要求された要件/機能ごとに繰り返す必要があります。これは基本的に、要件ドキュメントに既にあるものを言い換えたものです。 プロジェクトの管理にはアジャイルアプローチを使用する方向に進んでおり、これは各反復の終了時にも要求されます。 単体テストと統合テストは別として、エンドユーザー受け入れテスト計画を立てるのは誰ですか?それは要求者ですか、それとも開発者ですか? よろしくお願いします。 CK よろしく

1
ウェブサイトのバージョン管理:dev / productionフロントエンドファイル
私は私たちのウェブサイトプロジェクトをバージョン管理するためのより良い方法を考えています。私はフロントエンドの開発者にすぎないので、VCSに関する深い知識はありません。 ワークフローは変化しており、過去のバージョン管理の習慣は時代遅れになっています。主な問題は、各Webサイトにフロントエンドファイルの2つの配列があることです。 開発環境(少ないファイル、非圧縮のjs、イメージなど)。「不正な」ビルド環境(すべて圧縮され、人間が読み取れないもの)。 ただし、ソースファイルを含むWebサイトを販売することはできません。まあ、それは完全に正しくないと感じています。 2つのリポジトリを持つソリューションがあります。1つはビルド、1つは開発で、gulpがビルドファイルをビルドディレクトリに送信します。しかし、それを維持するのは面倒であり、小さな会社では、それはそれほど素晴らしいとは思いません。それは多くのレポを作成し、人々はいくつかのレポで、時には1つのsvnレポでさえも管理しなければならず、問題が発生します。 したがって、同じsvn内のソースファイルとprodファイルの1つのリポジトリを持つソリューションもあります。ただし、Webサイトがローカルの開発サーバーから本番サーバーに移動するときに、ソースファイルを削除する必要があります(そのため、単一のリポジトリには、その場所、開発または本番に基づいて異なるファイルがあります)。私が聞いたことから、それは良くありません バージョン管理システムに関して、不適切なフロントエンドワークフローを管理する正しい方法は何ですか?

1
APIとアプリケーションの間でオブジェクトを共有するためのパターン
私のWebアプリケーションの設計について深刻な疑いがあります。 ビジネスロジックをインターフェイスから分離したかったので、データベースへのすべての要求を処理するWeb APIを作成しました。 これは、エンティティフレームワークと作業ユニットおよび汎用リポジトリパターンを備えたASP.NET Web APIです。これまでのところ、すべてが良好です。 問題 ヘルプが必要なのは、APIとアプリケーションの間でオブジェクトを共有する効率的な方法がわからない場合です。 エンティティオブジェクトを直接シリアル化したくありません。エンティティモデルが変更された場合、理由もなく大きなオブジェクトをシリアル化してしまう可能性があるため、これは悪い習慣だと思いました。 現在どのように実装されているか インターフェイスはC#のASP.NET Webアプリケーションであり、APIはC#であるため、共有したいすべてのクラスの定義を含む共通ライブラリを作成しました。 私はAndroidアプリを開発するときにソリューションが機能しないことを知っています。Javaでクラスを再度作成する必要がありますが、それは私の最大の問題ではありません。 問題は、常にオブジェクトを変換しているような気がすることです。 例 これが私のワークフローの例です: すべてのオブジェクトとフォームのデータ注釈を含むモデルから始め、ユーザーはそのモデルをコントローラーにPOSTします。 コントローラーでは、このモデルを共通ライブラリーのクラスに変換してから、そのオブジェクトをAPIに送信する必要があります。 次に、私のAPIのコントローラーが呼び出しをキャッチし、そのオブジェクトをエンティティオブジェクトに変換して、データベースを更新します。 だから私は3つのクラスを持っています 検証用のすべてのデータ注釈を含むビューのモデル(クライアント) オブジェクトを共有するための共通ライブラリクラス(DLL) エンティティークラス(API) 何か間違ったことをしているような気がします。よりエレガントなものはありますか?プロジェクトが大きくなりすぎる前に、この問題に対する適切な解決策があることを確認したいと思います。

5
開発中、企業はどのようにしてWebサイトを非表示にしますか?
私はこれに不慣れで、19歳の新しいPHP開発者を雇ったばかりなので、これがどのように機能するのかわかりません。多くの企業は、Webサイトを開発するときに、サイトがインデックスに登録されないようにしています。html5 / cssとphp / mysqlの作業を検索エンジンから非表示にする方法は何ですか?私が間違っていなければ、これらはテクニックです: オフライン開発:ローカルストレージを使用してhtml / cssをレンダリングします。PHP / mysqlがどのように機能するかはわかりません。 .htaccessを使用してアクセスを防止する VPNを使用してアクセスを防止します。

6
ファイルを解析する最良の方法
EDIFACTやTRADACOMSなどの有名なファイル形式をパーサーで作成するためのより良い解決策を見つけようとしています。 これらの標準に慣れていない場合は、Wikipediaからこの例を確認してください。 製品の在庫状況のリクエストに回答するために使用されるEDIFACTメッセージの例については、以下を参照してください。 UNA:+.? ' UNB+IATB:1+6XPPC+LHPPC+940101:0950+1' UNH+1+PAORES:93:1:IA' MSG+1:45' IFT+3+XYZCOMPANY AVAILABILITY' ERC+A7V:1:AMD' IFT+3+NO MORE FLIGHTS' ODI' TVL+240493:1000::1220+FRA+JFK+DL+400+C' PDI++C:3+Y::3+F::1' APD+714C:0:::6++++++6X' TVL+240493:1740::2030+JFK+MIA+DL+081+C' PDI++C:4' APD+EM2:0:130::6+++++++DA' UNT+13+1' UNZ+1+1' UNAセグメントはオプションです。存在する場合は、メッセージの残りの部分を解釈するために使用される特殊文字を指定します。この順序でUNAに続く6文字があります。 コンポーネントデータ要素セパレータ(:このサンプルでは) データ要素セパレータ(このサンプルでは+) 10進数の通知(このサンプルでは。) リリースキャラクター(このサンプルでは?) 予約済み、スペースでなければならない セグメントターミネーター(このサンプルでは ') ご覧のとおり、解析されるのを待機している特別な方法でフォーマットされたデータの一部です(XMLファイルのように)。 現在、私のシステムはPHPで構築されており、セグメントごとに正規表現を使用してパーサーを作成できましたが、問題は誰もが標準を完全に実装しているわけではないということです。 一部のサプライヤーは、オプションのセグメントとフィールドを完全に無視する傾向があります。他の人は他より多くのデータを送信することを選択するかもしれません。そのため、ファイルが正しいかどうかをテストするために、セグメントとフィールドのバリデーターを作成する必要がありました。 私が今持っている正規表現の悪夢を想像できます。さらに、各サプライヤーは、各サプライヤーのパーサーを作成する傾向がある正規表現に多くの変更を加える必要があります。 質問: 1-これは(正規表現を使用して)ファイルを解析するためのベストプラクティスですか? 2-ファイルを解析するためのより良いソリューションはありますか(おそらくそこに既製のソリューションがあるでしょう)?どのセグメントが欠落しているか、またはファイルが破損しているかを表示できますか? 3-とにかくパーサーを構築する必要がある場合、どの設計パターンまたは方法論を使用する必要がありますか? ノート: yaccとANTLRについてどこかで読みましたが、私のニーズに合っているかどうかはわかりません。

4
コーディングの前に機能を知ることはどのくらい重要ですか?
私は、開発作業がオフショアされているソフトウェア開発会社で働いています。オンショアチームがサポートを担当し、クライアントと直接話します。クライアントと直接話をすることはありません。オンショアチームのクライアントと直接話をするだけです。 要件が発生すると、オンショアチームがクライアントと話し合い、要件ドキュメントを作成して通知します。要件を検討した後、設計ドキュメントを作成します(従来のウォーターフォールモデルに従います)。 しかし、プロセス全体で1つの問題があります。オフショアチームまたはオンショアチームの誰もアプリケーションの機能を完全に理解していません。私たちは、複雑な注文処理、カタログ管理、キャンペーン管理などのアクティビティを処理する大きな複雑なWebアプリを知っています。要件が明確ではないため、設計ドキュメントに取り組んでいます。次に、オンショアチーム、オフショアチーム、クライアント間で一連の質問/回答を行ったり来たりします。コードから機能を理解するように言われることがよくあります。しかし、コードベースが巨大であり、単純なメニュー項目を理解することさえ、数週間ではなくても数日かかるため、通常、それは現実的ではありません。クライアントに知識を伝えるよう伝えましたアプリケーションについてですが、役に立ちません。設計ドキュメントが完全でない場合や要件が明確でない場合でも、マネージャーからコーディングを開始するように指示されることがよくあります。要件の明確な部分をコーディングすることから始めて、残りの部分を待ちます。 これは通常、展開を1か月遅らせます。極端なケースでは、開発と本番環境でのエラーは非常に少なくなりますが、クライアントはそれを求めていなかったと言います。これは非難ゲームと一連の変更要求を開始し、非常に異なる何かを開発することになります。 私の質問は、アプリの機能を完全に知らない場合、どのように開発作業を行うかです。 更新 開発の方法論は本当に私の選択ではなく、私のチームのリーダーではありません。それはそれが始まった方法です。アジャイルの利点について人々に伝えようとしたが、役に立たなかった。その上、私のチームはアジャイル環境で作業するために必要な考え方を持っているとは思いません。

6
URLでタイトルの大文字を使用する必要がありますか?
現在、複数のWebアプリケーションを使用するサイト全体で一貫した命名規則を決定しています。歴史的に、私は「小文字のすべての文字!」を提唱してきました。URLを作成する場合: http://example.com/mysystem/account/view/1551 ただし、1年か2年以内に、具体的にはASP.NET MVCを使い始めて、RESTベースのURLとの取引が増えたため、URL内の各セクション/単語の最初の文字を大文字にするのが好きになりました読みやすい(imho)。 http://example.com/MySystem/Account/View/1551 私たちは人々が URLを読んだり理解したりする必要がある状況にないので、それ自体はドライバーではありません。私たちが求めている主なものは、合理的で理にかなった一貫したアプローチです。 何らかの方法で良いことを宣言する標準、または別のものよりも優先を選択する(少なくとも現実的には現代的な)セットアップで遭遇する可能性のある問題はありますか?現在、この議論の一般的なコンセンサスは何ですか?

9
PHPで大規模なwebappを構築するときにフレームワークを回避することは理にかなっていますか?
ここ数年、PHP Webアプリケーション開発者として、MVCとフレームワークを共有しています。最初はスライスしたパン以来の最高のものだと思いました。すべてが非常に簡単に実装できるように見えました。 しかし今は、アプリケーションが複雑になるほど、フレームワークが導入する手間が増えるようです。そのため、これらを克服するための回避策を開発する必要があります。フレームワークのコアコードを詳しく調べ、変更を加えて思い通りの動作をさせる必要があるため、通常、このような回避策はかなり困難で複雑です。 たとえば、Slim(C)+ Idiorm(M)+ Twig(V)を使用する私のプロジェクトの1つ(これは非常に柔軟だと思います)では、親テンプレートに動的データを表示するだけのカスタム関数を作成する必要があります。フレームワークがなければ、インクルードされたファイルでmysql_query()を実行するだけで済みました。 わかりました。単純な企業プロファイルWebサイトを作成しているのであれば、フレームワークはすばらしいです。私は一晩でいくつかのコードをホイップすることができ、それらは通常朝までに準備ができており、それらから学んだ優れたコーディング実践とデザインパターンの量は非常に貴重です。 しかし実際には、オールインワンのWebベースの学校管理システムのような複雑なWebアプリケーションの場合、フレームワークは通常、上記の例のように私のビジネスプロセスの邪魔になります。 ですから私の質問は、基本に戻り、標準のPHPコードとライブラリを使用して、膨大なフレームワークとライブラリが存在する可能性がある次のプロジェクトを行うことです。 MVCのような?私の開発チームはかなり小さく、プログラマー2人とデザイナー1人だけです。他のプログラマーは上記の私の考えに同意します。

2
HTTPおよびTCP / IPを介したオブザーバーパターン(サーバークライアント)
私はサーバーと多くのクライアント(約50クライアント)がWebアプリケーションに基づいてそのサーバーに接続するクライアントを持っています。これはもちろん、HTTPプロトコルに基づいており、TCP / IPを使用しています(間違っている場合は修正してください。ネットワーキングは本当に得意ではありません)。 問題は、私が警告メカニズムを開発する必要があることです。誰かが危険な値を含むフォームを送信すると、マネージャー(同じWebアプリケーションを介して接続されている)が彼の画面に警告ポップアップを受信します。 -time(瞬時に)。 ただし、HTTPプロトコルはステートレスなので、ここでは少し戸惑います。これを実装する方法がわかりません。 ソリューションの1つは、JavaScriptをsetInterval()関数と一緒に使用して、サーバーから毎秒データをプルすることです。しかし、これは私には少し汚く、専門家ではないようです。 別のソリューションを実装するアイデアはありますか?

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