問題タブ [application-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
151 参照

objective-c - UIをブロックせずにWebサーバーからデータを効率的にリクエストする方法は?

Web サーバーからデータをダウンロードして UItableview に表示できるアプリを作成したいと考えています。

主な問題は(私が理解したことから)、メインスレッドでデータを要求しようとすると、プログラムがロックすることです。それは完全に合理的で正しいように思えます。したがって、並行して実行するために新しい NSThread を作成する必要があります。これも私が修正しました。

私が持っている問題は、データ (画像、テキストなどが含まれている可能性があります) を受信して​​一度に表示するにはどうすればよいかということです (一度に 20 個のセルを表示したいとします。 20、ローディング サークルが表示され、可能な場合は次の 20 をロードします ) 。画像がまだ読み込まれていない場合でも、たとえば 20 個のセルを読み込むにはどうすればよいですか? 私はデータ転送の明確な接続を持っていないので、私の質問は漠然としているように見えるかもしれません.

誰でも良いチュートリアルを手に入れましたか?

0 投票する
1 に答える
740 参照

oop - API を使用した OO プログラミングのクラス図

  • 特定のフレームワーク内で作成しようとしているアプリケーションのクラス図を作成しようとしています。
  • このフレームワークは独自のカスタム API を公開しており、私の設計の一部のクラスは API のクラスによって表されます。
  • これらのクラスの一部は非常に複雑になる傾向があるため、クラス図でこれらのクラスをどのように表現するか、またはそれを試みるべきかという問題に直面しています。

もう少し詳しく言うと、

  • 私のアプリケーションは、あるサーバーから別のサーバーにアーティファクトを移動します。
  • 私が取り組んでいるフレームワークは、送信元サーバーと送信先サーバーを表し、通信するためのクラスとメソッドを提供します。
  • これで、クラス図でサーバー クラスとその機能の表現を説明する必要があることがわかりましたが、クラス図でそれを行うにはどうすればよいでしょうか

よろしくお願いいたします。

0 投票する
1 に答える
405 参照

asp.net - 電子メールアプリケーションの設計、添付ファイルとメッセージを管理する方法は?

私は複数の添付ファイルを許可する電子メールアプリケーションを実行しており、電子メールは予定日に送信されます。ここにいくつかの設計上の問題があります。あなたの経験豊富な知識で私を導いてください。

メールはdbテーブルに保存されますが、添付ファイルはサーバー上のフォルダーに保存されます。ユーザーは最初にファイルをアップロードし、後で自分の電子メールがデータベースに保存されます。メッセージと添付ファイルのテーブルがあります。ただし、システムで処理できる必要がある場合もあります。

  1. 異なるユーザーの電子メールの添付ファイルを(1つのフォルダーまたは複数のフォルダーに)保存するにはどうすればよいですか?
  2. 添付ファイルの名前をどのように管理する必要がありますか?複数の添付ファイル(1人または異なるユーザーによる)が同じ名前を持つことができますか?
  3. ユーザーはファイルをアップロードできますが、後で作成メッセージを残すことができます。システムはそのような添付ファイルをどのように処理しますか?
  4. ユーザーボタン(保存またはドラフト)のdbテーブルに電子メールメッセージを保存するのに最適なタイミングは、ページ要求を押すか作成しますか?ページリクエストで提案した場合、正常に終了しなかったメッセージを処理する方法は?

他に何か足りないものがある場合は、ガイドを配置してください。

ご指導、時間、誠実なご助言を賜りますようお願い申し上げます。

0 投票する
2 に答える
755 参照

ruby-on-rails - Web アプリケーション内の API バージョニング

現在、新しい Web サイト用にバージョン管理された API を設計中です。ルートに名前を付ける方法は理解していますが、モデル内でバージョン管理されたメソッドを実装する最善の方法に行き詰まっています。

以下のコード サンプルは Rails フレームワークを使用していますが、問題の原則はほとんどの Web フレームワーク間で一貫している必要があります。

現在、ルートは次のようになっています。

そしてコントローラー:

明らかに、ここでは Product で使用可能な属性を公開しているだけです。このソリューションは、API のバージョンが 1 つしかない場合にうまく機能します。V2 をリリースしたいのですが、V2 で製品名の表示方法を再実装する必要がある場合はどうなりますか (V1 との下位互換性を維持しながら - 少なくとも短期的には)。

私が見る限り、いくつかのオプションがあります...

  1. V1 のサポートをすぐに中止し、フォールアウトに対処する (考えられる最悪の解決策)
  2. 新しい属性を含めるために to_[format] メソッドをオーバーライドし始めます (as_[format] でこれを行うと確信していますが、それは重要ではありません)... name_2- これは同様にばかげているようです
  3. 必要なメソッドのみを公開する役割を担うある種のプロキシ クラスを実装します。
  4. ビューに、バージョン管理されたコントローラーが呼び出すある種のハッシュの作成を処理to[format]させます...

Three と Four は、私が実際に何らかの意味があると考えることができる唯一のものです... Three は次のようになります。

他の人は過去に何をしましたか?

0 投票する
4 に答える
2316 参照

.net - WPF デザイナー : あなたのデザイン プロセスは何ですか?

私はこの質問を完全に再質問するつもりです。だから、これは1つの大きな編集です

私は、WPF の専門家から、彼らの設計プロセスについてのちょっとしたフィードバックを探していました。たとえば、私がウェブサイトをデザインするとき、HTML、CSS、JavaScript を書く前に、Photoshop でインターフェースをデザインして、クライアントにサイトがどのように見えるかの証拠を示すことができるようにします。コードを書く前に、スタイル、配色、すべてではないにしてもほとんどのサードパーティのグラフィック (ストック写真) を選択します。クライアントがデザインを承認したら、それから構築を開始します。

WPF デスクトップ アプリケーションの設計に相当するものは何だろうと思っていました。インターフェイスのデザイン、配色の選択、ボタンのスタイルの選択、インターフェイスに使用する画像の選択の段階になると、最初にモックアップを作成するのが一般的ですか? 構築と同時に、すべてのグラフィックをオンザフライで作成するだけですか。それとも、単にテーマやスキンをオンラインで見つけてアプリに採用するのがより一般的ですか?

繰り返しますが、正解がないことはわかっています。皆さんが何をしているのかを聞きたかっただけです。

ありがとう

ps - Expression Blend 4 を使用しています。手書きの XAML は問題ありません (Blend でデザイン ビューを使用するだけではありません)。私の質問は、WPF アプリケーションを構築するためにどのツールを使用すべきかということではなく、設計プロセスに関するものです。

0 投票する
1 に答える
244 参照

database - タグ付けシステムの設計上の問題

私はニュースサイトに取り組んでおり、ニュースカテゴリ(経済、政治など)などのさまざまなカテゴリタイプでニュースを分類できるタグ付けシステム(このサイトと同様)を実装することを考えていますが、また、それが書かれた言語やニュース記事の種類(社説、特集記事など)などもあります。

これらの異なるカテゴリタイプをどのように区別する必要がありますか?カテゴリタイプごとにタグのテーブルを1つ持つ必要がありますか、それともすべてを1つのテーブルに保持し、「language:en」、「category:economy」などのタグプレフィックスを付ける必要がありますか?2番目の解決策は、プレフィックスを追加するだけでより多くのケアゴリータイプを追加できるため、より柔軟に見えます。ただし、最初のソリューションは、より構造化されており、操作が簡単だと感じています。

また、何かをタグとして表す必要がある場合、またはデータベースの列値/レコードにする必要がある場合をどのように決定するのでしょうか(たとえば、言語をタグにするか、「ニュース」テーブルに言語列を含めるか)。 。どこに線を引くかわかりません。

ありがとう

0 投票する
2 に答える
183 参照

database - 行の主キーをユーザーに公開するのは安全ではありませんか?

多くのアプリケーションが、レコードをユーザーに公開するときに、データベースの主キーを一見ランダムな代替IDに置き換えるのはなぜですか?

私の推測では、ユーザーがテーブル内の他の行を推測するのを防ぐことができます。もしそうなら、それは単なる誤った安心感ではありませんか?

0 投票する
1 に答える
833 参照

database-design - 複雑な多対多および階層関係のためのビジュアル アプリケーション開発ツールが必要

多数の多対多および階層構造を構築する一連の変換を通じて一連のテキスト フィールドと数値フィールドを取得するアプリケーションを開発するために使用できるビジュアル データベース アプリケーション開発ツール(GUI ベースまたはスクリプト) を探しています。データ要素間の関係 (複数の主従関係など)

[編集 - 最初の質問以来]

DBA がテーブルと SQL を定義できるようにする多くの製品を見つけました。そして、「デザイナー」はこれらの GUI PHP ジェネレーターを使用して、MySQL テーブル/SQL に対してフォーム ベースの Web ページを作成できます。

  • スクリプトケース
  • Xlinesoft phprunner
  • コードチャージ
  • SQLmaestro phpgenerator

これらのソリューションの賛否両論についての洞察をいただければ幸いです。たとえば、コードはどの程度きれいに生成されますか? 「純粋な」スクリプト出力とは対照的に、実行時のセットアップがより複雑なものがあることに気付きました。

どうもありがとう

0 投票する
1 に答える
85 参照

ruby-on-rails-3 - アクティブ化できる (またはできない) 機能を構築するための Rails のベスト プラクティスは?

OK、いくつかの投稿を備えた見栄えの良いRailsアプリがあり、コメントや投票ができると仮定しましょう。それはオンラインであり、人々はそれを愛しています。

ここで、クライアントがやってきて、「ねえ、このアプリは良さそうですね! 同じもので、私のロゴとコメントへの投票も一緒にできますか?」と言うと想像してください。

ですから、アプリを複製して変更を加え、微調整したアプリをクライアントに配信してから、元のアプリに戻って改善を続けます。

数か月後、別のクライアントが来て、同じアプリ (現在は改善されています) を望んでいますが、コメントにも投票があります。

もちろん、そもそもアプリのクローンを作成することは賢明なアイデアではありませんでした。

私が知りたいのは、2番目のプロジェクトで最初のクライアント用に作成された機能を再利用するために、最初からどのようにして簡単に保守可能でDRYにするかということです?

次に、多くのクライアントがさまざまな要求された機能を備えていると想像してください。これで、この機能ではなく、この機能だけで新しいアプリを「構築」できるとしたら、それは素晴らしいことだと思います。

どうやってそれを達成しますか?

git ブランチ、または Rails Engines/Gems がそれを達成するための良い方法になると思いますが、わかりませんが、穴の写真を明確に見るのに十分なほど git や rails のスキルがないことは間違いありません。

ありがとう !

0 投票する
4 に答える
1777 参照

c# - グローバルな不変データを静的クラスに格納する

多くのユーザーコントロールを使用するWinFormsプロジェクトがあります。これらのユーザーコントロールの一部は、ビジネスロジック層のクラスを使用します。これらのクラスは、主にデータベースへのCRUD操作(データアクセス層を介して)に加えて、いくつかの追加の検証とレポートを実行しています。

プロジェクトは、いくつかの一般的なオブジェクト(ログに記録されたユーザー、いくつかのコントローラー、およびバリデーター)を使用します。これらのオブジェクトは、メインフォームでインスタンス化され、初期化メソッドまたはパブリックプロパティを介して子ユーザーコントロールに挿入されます。これは、これらの共通オブジェクトを親コントロールから子コントロールに渡すだけのコードがたくさんあることを意味します。

これを回避するために、静的クラス(たとえば、ApplicationContext)を作成し、それにすべての一般的なコントロールを保存することができます。これはメインフォームで発生し、プロジェクト内の他のすべてのユーザーコントロールまたはフォームで使用できます。

このパターンは一般的に推奨されていないことがわかります(静的クラスにグローバルデータを格納する)。しかし、このデータが不変である場合はどうなるでしょうか。このアプローチはこれまでに良いアイデアですか?

または、すべての初期化コードを取り除くのに役立つ他のアプローチを知っていますか?