問題タブ [semantics]
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.
algorithm - アルゴリズムとデザインパターンの違いは何ですか
「元に戻す/やり直しアルゴリズム」を検索したところ、重複としてマークされたものを見つけましたが、その重複は「元に戻すデザイン パターン」の要求でした。このためのアルゴリズムが本当に欲しいです。必ずしもデザインパターンが必要だとは思いません。
「デザインパターン」と「アルゴリズム」の間に根本的な違いはありますか、それとも誰かがこの 2 つを同じ意味で使用しても問題ありませんか?
私は電話を切り、私の答えを放送から外します。
わかりました。デザイン パターンはアルゴリズムの単なる抽象化であると考えていたことをお許しください。これは、すべて非常に優れた回答からの私の調査結果の小さな表です。
algorithm - 「関連用語」提案機能の構築または検索
いくつかの単語を入力すると、関連する用語、フレーズ、または概念の多様なセットを返すユーティリティが必要です。注意点は、最初に用語の大きなグラフが必要になることです。そうしないと、この機能はあまり役に立ちません。
たとえば、「野球」を送信すると返されます
Google Setsは、この種の機能を見つけることができる最良の例ですが、パブリック API がないため使用できません (そして、TOS に反対するつもりはありません)。また、単語を 1 つ入力しても、非常に多様な結果が得られるわけではありません。私は、接線で外れる解決策を探しています。
私が実験した最も近い方法は、WikiPedia の APIを使用してカテゴリとバックリンクを検索することですが、これらの結果を「関連性」または「人気」で直接並べ替える方法はありません。それがなければ、提案リストは膨大であちこちにあり、すぐには役に立たず、絞り込むのが非常に困難です.
A Thesaurus を使用することも最小限で済みますが、それでは固有名詞や接線に関連する用語 (上記の結果のいずれか) が除外されます。
オープン サービスがあれば喜んで再利用しますが、十分なものは見つかりませんでした。
私は、これを社内で十分に人口の多い開始セットで実装するか、これを提供する無料サービスを再利用する方法を探しています。
解決策はありますか? お早めにどうぞ!
更新: 信じられないほど緻密で有益な回答をありがとう。6 か月から 12 か月以内に、皆さんが提案したことを理解できるといいのですが、勝利の答えを選びます =)
rest - データのセマンティックは REST の不可欠な部分ですか?
これはRESTの説明を求める質問のフォローアップです。
私の回答に対するコメントからわかるように、リソースの最適なメディア表現について、Darrel Millerとちょっとした議論がありました。この質問に至った電子メールでの議論がさらにありました。
Darrel と私の REST に対する理解の主な違いは、データのセマンティックが REST API の一部であるかどうかです。
Darrel は (彼の言葉の私の解釈 :-))、データのセマンティックは REST API の重要な部分であり、そのため、選択されたメディア表現はそれを反映する必要があると考えています。したがって、適切な REST API は次のいずれかを選択する必要があります。
- 多くのクライアントがリソースのセマンティックをネイティブに理解できるように、データを表す ATOM のようなよく知られたメディア。
- application/vdn.mycomany.mymedia のようなアプリ固有のメディア タイプであり、クライアントがこのメディア タイプを理解してリソース データを消費できることを期待します。Application/xml は、メディア タイプのセマンティックを表していないため、適切なリソース表現ではありませんが、クライアントはセマンティックについて詳しく知る必要があります。
一方、REST API は実際のデータ表現とは別のレイヤーであると考えています。API によって公開されるメディア タイプは、リソース データを転送する単なるコンテナーです。データの実際のセマンティックは個別に扱われます。したがって、データを理解していないクライアントでも、REST API を使用できます。Application/xml は、スキーマを理解するクライアントの密結合を可能にすると同時に、スキーマを理解しないクライアントがリソースの基本的な処理を実行できるようにするため、非常に優れたデータ表現です。
したがって、問題は、REST API のデータ セマンティック部分ですか? データのセマンティックを実際に表すリソース表現のメディア タイプのみを選択する必要がありますか?
人々が回答にいくつかの引用を投稿してくれれば、できればロイの男自身から引用していただければ幸いです。:-)
nlp - 特定の単語に関連する単語 (特に物理的なオブジェクト) を検索する
1 つの単語に関連する単語 (具体的には物理的なオブジェクト) を見つけようとしています。例えば:
テニス: テニスラケット、テニスボール、テニスシューズ
スヌーカー: スヌーカー キュー、スヌーカー ボール、チョーク
チェス: チェス盤、チェスの駒
本棚: 本
私はWordNet、特にメロニムのセマンティック関係を使用しようとしました。ただし、以下の結果が示すように、この方法には一貫性がありません。
テニス:サーブ、ボレー、フットフォールト、セットポイント、リターン、アドバンテージ
スヌーカー:なし
Chess : チェスの動き、チェッカー盤
本棚: シェルフ
最終的には項の重み付けが必要になりますが、それは今のところあまり問題ではありません。
これを行う方法について何か提案はありますか?
ただの更新:ジェフとストンプチキンの両方の回答を組み合わせて使用することになりました。
ウィキペディアから得られる情報の質は優れており、具体的には (当然のことながら) 関連情報が非常に多くあります (「ブログ」や「iPod」などの用語が存在しない一部のコーパスと比較して)。
ウィキペディアからの結果の範囲は最良の部分です。このソフトウェアは、次のような用語を照合できます (簡潔にするためにリストを省略しています)。
- ゴルフ: [ボール、アイアン、ティー、バッグ、クラブ]
- 写真: [カメラ、フィルム、写真、アート、イメージ]
- 釣り: [魚、ネット、フック、トラップ、餌、ルアー、ロッド]
最大の問題は、特定の単語を物理的なアーティファクトとして分類することです。デフォルトの WordNet は、多くの用語 (「ipod」や「トランポリン」など) が存在しないため、信頼できるリソースではありません。
widget - 「ウィジェット」または「ガジェット」?
この質問はセマンティクスに関するものです。
「ウィジェット」という用語は、独自のコンテンツをサード パーティのサイトにシンジケートする動的オブジェクトを指す場合にのみ使用する必要があると言うクライアントがいます。ウィジェットを使用して、サイト (自分またはサード パーティ) 上の自己完結型の動的オブジェクトを参照できると思います。しかし、私のクライアントは、オブジェクトが自分のサイトにある場合、それは「ガジェット」であると言います。
正式な定義があるかどうかはわかりませんが、この 2 つの用語の違いが一般的にどのように理解されているか知りたいです。
html - TV ガイド リストのセマンティクス。テーブルじゃない?
Web ベースの TV ガイド リストを作成する必要があります。
私が始めたとき、それは表形式のデータであるため、テーブルを作成するだけでよいと思いました。
残念ながら、これは状況ではありません。<th>
30分ごとにあります。ショーの長さは5分から何でもかまいません。数時間まで。
colspan=6 でチートしてすべて<th>
を作成できるので、サブユニットは 5 分になります。そして、すべてのショーのコルスパンを時間の長さ/5(分)にして遊んでください。それが私のコルスパンです。
しかし(常にしかしがあります)、今私が持っているのは表形式のデータを含むテーブルではなく、ある種のスパゲッティテーブルです。
私は何をすべきか?
semantics - Toggle Jena Reasoner
プログラムで変更している Jena オントロジー モデル ( OntModel ) があります。このモデルは、デフォルトの ModelFactory メソッドを使用して最初に作成され、オントロジー モデル (パラメーターなし) を作成しました。問題は、プログラムが実行され、モデルが変更されたときに、デフォルトの Jena Reasoner が実行される (実行して実行して実行する) ことでした。このプロセスは私が必要としているものに対して完全に遅すぎて、大規模なデータ セットではメモリが不足していました。
プログラムを変更して、別のオントロジー モデル ファクトリ メソッドを使用して、推論機能のないモデルを作成しました。これは非常に高速に実行され、以前に見たメモリの問題はまったく発生しませんでした (非常に大きなデータ セットの場合でも)。このアプローチの問題は、直接クラス型を直接使用することによってのみデータにアクセスできることです (親クラスを使用してオブジェクトにアクセスすることはできません)。
たとえば、「花」と「種」という 2 つのクラス リソースがあるとします。これらは、共通の親である「植物材料」から継承します。私のプログラムはすべての「種」を取り、「種」オブジェクトを「花」オブジェクトに変換する「grow」というメソッドを実行します。Reasoner (マイクロ Reasoner でさえも) を使用すると、「grow」メソッドの実行が遅すぎてメモリ不足になります。Reasoner をオフにすると、「植物材料」クラスを使用してすべての「花」と「種」にアクセスできなくなります。
これを行うための好ましい方法(幸せな媒体)はありますか...スーパークラスを使用してオブジェクトにアクセスできるようにすると同時に、高速でメモリを浪費しないようにすることはできますか?
「成長」メソッドを実行している間は「推論をオフ」にして、メソッドが完了したら元に戻す方法を探していました。これはどういうわけか可能ですか?
language-agnostic - オブジェクト指向設計の強みはセマンティクスですか、それともカプセル化ですか?
オブジェクト指向設計 (OOD) は、データとそのメソッドを組み合わせます。私が見る限り、これは 2 つの素晴らしいことを達成します: カプセル化 (データが何であるかは気にせず、必要な値を取得する方法のみを気にしません) とセマンティクス (データを名前と関連付け、そのメソッドは一貫して当初の意図どおりにデータを使用します)。
では、OOD の強みはどこにあるのでしょうか。対照的に、関数型プログラミングでは、豊かさを名詞ではなく動詞に帰するため、カプセル化とセマンティクスの両方がデータ構造ではなくメソッドによって提供されます。
私はスペクトルの機能の端にあるシステムで作業しており、OO のセマンティクスとカプセル化を絶えず切望しています。しかし、OO のカプセル化が、オブジェクトの柔軟な拡張に対する障壁になる可能性があることがわかります。したがって、現時点では、セマンティクスがより大きな強みであると考えています。
それとも、カプセル化はすべての価値のあるコードの鍵ですか?
編集: 具体的には、OO がここで提供するカプセル化のタイプを意味します。changeColor(door,blue)
になりdoor.changeColor(blue)
ます。
ajax - AjaxでのGETとPOST
AjaxリクエストのGETとPOSTの違いは何ですか?
GETを使用すると、パラメータがURLで送信されることを除いて、これら2つの違いはわかりません。すべてのリクエストはバックグラウンドで行われ、ユーザーは何も見つからないため、実際には違いはありません。違い。
編集:PUTおよびDELETEメソッドは何に使用されますか?