問題タブ [concept]

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 に答える
436 参照

asp.net - ASP.NETWebページの翻訳とテンプレートの概念

WebPages(Razor)を使い始めたばかりで、壁の裏にあるいくつかの基本的な概念を理解しました。まず最初に、私が構築する各サイトについて、常に持っているものをリストします。

  • もちろんフレンドリーなURL(Webページは私のためにそれをします)
  • 翻訳されたURL(WebPagesはパラメーターをサポートしているため、管理が簡単です)
  • 複数のテンプレートのサポート(Webページはデフォルトではサポートされていません。ここでいくつかのロジックが必要です)
  • 重複を避けるために関数ごとに分離されたコード(WebPagesは壁の後ろでそれをサポートしています)

したがって、上記のリストについて考えると、古き良きMVCパターンが登場します。ASP.NETには、必要なすべての機能を提供するMVC(3)フレームワークがすでにあります。私はそれをよく知っています。この質問では、WebPagesテクノロジが大規模なMVC(のような)Webプロジェクトを開発するための完璧なプラットフォームでもあるかどうかを理解しようとしています。

私はWebページのページ読み込み動作/チェーンをテストし、実際に読み込まれたページと1つ以上のネストされたレイアウトによって構築されたチェーンを理解しました。すべてのレイアウトページには、ローダー(親)ページへのポインターがあります。

この時点で、いくつかの基本的な概念をクリアする必要があります。Webページは物理ファイルとフォルダー(パス)によってURLを解決するため、次のようなパスを使用して翻訳されたフォルダーとファイルを作成できるため、間接的にサポートされている翻訳済みURL:..../ en / account / registerハンガリー語など、別のパスを作成できますパス:... / hu / szemelyes/regisztracio。

両方の.cshtmlファイルにレジスタロジックを書き込むのはそれほど洗練されていないため、必要なのはコードを分離することだけです。WebPagesは@helpersと@functionsをサポートしているため、「Account.cshtml」を簡単に作成し、必要なすべての関数を作成できます。それは私の質問に対する公式の答えです。

.cshtml(ヘルパー)ファイルに@functionを書き込んだ場合、壁の後ろで何が起こりますか?WebPageHelperを継承する新しいクラスを作成します。同じ機能を提供する独自のクラスを作成できるので、これはあまりエレガントな方法ではないと思います。

さらに調査したところ、すべてのページ(およびレイアウトページ)はデフォルトでWebPageクラスを継承していることがわかりました。@inheritsディレクティブを使用すると、デフォルトの継承と、WebPageから派生した独自のクラスを作成するための完璧な方法をオーバーライドでき、すべての.cshtmlファイルでそのページから直接継承できます。

この時点で、@関数を使用するよりもエレガントな方法でコードを分離できます(私は思います:)。テキストの翻訳はどうですか?リソースファイルを使用する一般的な方法だと思いますが、WebPagesでは、テキスト値をプレーンな.cshtmlファイルに保存することを考えています。あなたはそれについてどう思いますか?

最後に私のregister.cshtml:

..そして私のregisztracio.cshtml:

My Account.RegisterクラスにはStringプロパティTitleがあります:

私が言わなければならないもう一つのことがあります。私のregister.cshtml(およびregisztracio.cshtml)にはhtmlマークアップが含まれていません。デフォルトのレイアウトファイル(_Master.cshtml)があり、「View」ディレクトリの下にページごとに別のレイアウトファイル(_Register.cshtml)があります。私のコードは、ロードされた「コントローラー」クラスの名前で正しいページレイアウトファイルを自動的にロードします。そのため、Registerクラスは「_Register.cshtml」レイアウトファイルを自動的にロードします。また、すべてのページレイアウトファイルは、メインレイアウトである_Master.cshtml(または訪問者がモバイルデバイスを使用している場合は_Mobile.cshtml)を自動的にロードします。

したがって、これはWebPagesテクノロジ用に実装されたMVCパターンであり、WebPagesの自動URL解決などの強力な機能を維持していると思います。

どう思いますか?

つまり、Webページに関する私の基本的な概念です。

0 投票する
3 に答える
96 参照

c# - 属性とメソッドを使用したメモリ内クラス生成

ちょっとこれは概念的な質問であり、クラス(オブジェクトではない)を動的またはメモリ内に作成することは可能ですか? また、このクラスの属性とメソッドを動的に定義することもできます。

これはどのおっと言語でも可能ですか?

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

search - 概念検索エンジンと概念辞書

特定の単語やフレーズに基づいてドキュメントを検索しない概念検索 (または概念ベースの検索) について尋ねていますが、共通の用語や共通言語に関係なく、概念的に関連する関連ドキュメントを返します。

例: キーワード「BMW」を使用すると、結果には「高価な車」などが含まれます。

私はすでに Apache solr に基づく検索エンジンを持っています。概念検索を実装する方法と、検索エンジンで使用する概念の辞書がある場合、いつそれを見つけることができますか?

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

algorithm - 予約を保持するという概念

質問があります。いくつかのアイデアを手伝っていただければ幸いです。

オンラインホテルまたはチケット予約システムでは、通常、ユーザーは登録/支払いなどを完了するために特定の時間を割り当てられ、その間、システムはそのユーザーの予約を保持します。その間にユーザーが登録を完了できない場合、システムはタイムアウトになり、ユーザーはそれ以上続行できなくなります。システムは他のユーザーの予約を保留しません。

私の質問は、ユーザーが支払いゲートウェイシステム(ペイパルなど)に連れて行かれ、割り当てられた/保留時間のすべてを支払いページで過ごし、支払いが成功した後、システムがサイトに戻った場合でも、システムはユーザーが割り当てられた時間を使い果たした場合でも、予約を完了できるようにしますか?

これは通常の予約システムでどのように機能しますか?

よろしくお願いします。

0 投票する
3 に答える
140 参照

javascript - 作成するパーサーがあり、適切な解析を学びたい

javascript でテキストを解析したい。解析したい構文はマークアップ言語です。この言語には、主に 2 種類のマークアップがあります。

は、次の文字が色付きであることを意味します#F56。以下までは$3つのhex charでこの色を使用しています。

$z次の(終了タグ)までは、テキストがイタリック体であることを意味します。その他一文字タグです。

つまり、基本的にこの言語は、色用の 3 文字のヘキサ タグと 1 文字のタグで構成されています。

文字の位置とタグの現在の状態 (フォーマットと色) を保存して、テキストを解析するために醜いものを作成することはできますが、適切な解析を学びたいと思います。この言語用のクリーンなパーサーを作成するためのヒント/原則をいくつか教えていただけますか?

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

php - カスタム CMS の画像、動画、ドキュメントの処理

私はphpを使用してCMSを構築していますが、動的ページが提供できるさまざまなアセットを処理する方法に苦労しています。通常、平均的なページにはさまざまなサイズの写真が含まれます(親指、本文、メインなど) 、インライン画像、およびさまざまなアセット (pdf、flv、mp4、doc など)。

現時点では、ユーザーはアセットをアップロードしてサーバー上にフォルダーを作成できますが、cms 内の動的ページの削除、編集、およびリンクに関して、これを管理する方法についていくつかのテクニックと概念が必要でしたか? すべてのコンテンツ (meta_stuff、title、friendly_url、content_text など) を含むコンテンツ テーブルが既にあります。

アップロード時に、アセット テーブルなどのどこかに参照を保存する必要がありますか? アセット (画像、ドキュメント、ビデオなど) へのすべてのパスを 1 つのテーブルに格納する必要がありますか? またはアセットごとに分けますか?複数の画像サイズ (小、中、大など) を異なるフィールド (assetid、smallpath、mediumpath、largepath など) に保存する必要がありますか?アセットを動的ページにリンクするにはどのような手法を使用すればよいですか?これは結合されたテーブルにする必要がありますか?それとも単一にする必要がありますか?どのようにページの複数の pdf と複数の画像のさまざまなアセットを取得する方法はありますか?これは別の動的ページを参照する可能性があるため、アセットの削除をどのように処理しますか?その他、有益だと思われるものはありますか?

ご助力いただきありがとうございます

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

python - string.count() 関数の機能を理解する必要がある

基本的にstring.countの機能を理解しようとしていました。文書化された定義は

string.count(s, sub[, start[, end]])
文字列 s[start:end] 内の部分文字列 sub の (重複しない) 出現回数を返します。開始と終了のデフォルトと 負の値の解釈は、スライスの場合と同じです。

さて、実際に太字になっている最後の行の正確な意味は何ですか. 私はこの機能でいくつかのランダムな実験をしました

なぜ時々結果が1になり、なぜ時々ここで3になるのか、誰か説明してもらえますか。全体的に、この関数が正確にどのように機能するかを理解する必要がありますか?

0 投票する
3 に答える
7414 参照

c++ - ミニマックス再帰はどの程度正確に機能しますか?

三目並べゲームのMini-maxを探していましたが、再帰がどのように機能するのか理解できませんでしたか?さて、基本的にここに私の質問があります:

  1. ミニマックスはどのようにして誰の番かを知るのですか?自分のターンを生成しているプレーヤーを示す最良の方法は何ですか?
  2. 可能な動きをどのように生成しますか?
  3. ターミナルノードにいることをどのように知っていますか?また、ターミナルノードをどのように生成しますか?

たとえば、この擬似コードでは

Anodeボードは正しいですか?そして、コードが再帰的に下がらなければならない層の深さはどれくらいですか?また、max関数とは何ですか?ノードはどこから生成されていますか?

これまでのところ、ボードを作成するための次のコードがあります。

しかし、誰の番かをどうやって知ることができますか?また、ボードの子ノードを生成するにはどうすればよいですか?

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

design-patterns - インスタンスまたは静的アフィリエーションの概念をどのように説明できますか?

タイプ(.NET)のパラメーターを受け取るメソッドのドキュメントを書いているときにMethodAttributes、メンバーが静的メンバーまたはインスタンスメンバーであるという概念を参照するのに苦労しました。

(ここで行ったように)静的/インスタンスの所属の概念を書き留めずに名前を付けるのに適した単語やフレーズはありますか?

編集:
APIは次のとおりです。これにより、ユーザーは、可変型と呼ばれるものにメソッドを追加できます。Reflection.EmitのTypeBuilder.DefineMethodメソッドと非常によく似ています。

0 投票する
3 に答える
250996 参照

java - Javaでの抽象化とカプセル化

重複の可能性:
抽象化VS情報隠蔽VSカプセル化

この質問はこのフォーラムで何千回も聞かれたかもしれません。ネットでさえこれらの概念に関する多くの定義で満たされていますが、すべて同じように聞こえ、すべて同じ専門用語を使用しています。たとえば、次の定義

カプセル化は、データとデータを操作するコードを単一のエンティティにバインドまたはラップするプロセスです。これにより、外部インターフェイスや誤用からデータを安全に保つことができます。カプセル化について考える1つの方法は、ラッパーの外部で定義された他のコードがコードやデータに任意にアクセスするのを防ぐ保護ラッパーとしてです。

上記の定義から私が理解したのは、変数を作成し、それらをプライベートとしてマークし、それらの変数のゲッターセッターを生成し、オブジェクトを使用してそれらのゲッターとセッターにアクセスすることです。このようにして、データはオブジェクト内に隠され、オブジェクトを介してのみアクセスできます。私が正しいことを願っています


抽象化は、特定の詳細を非表示にし、オブジェクトの本質的な機能のみを表示するために使用されるJavaのプロセスです。つまり、オブジェクト(インターフェイス)の外観を処理します。

今、これは私をいつも混乱させる部分です。抽象化について考えるときはいつでも、頭に浮かぶのは抽象クラスです(両方に抽象キーワードがあるためかもしれません)。上記の定義では、抽象化とはデータを非表示にし、必要な詳細のみを表示することを意味しますが、それはカプセル化ですでに行っていることです。次に、違いは何ですか。また、オブジェクトの外側のビューを処理するオブジェクトの外側のビューを取得できませんでした。

誰かが実際の例または可能であればプログラムの例を使ってこれにもっと光を当ててください。