問題タブ [theory]
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.
theory - 分散ハッシュ テーブル (DHT) の簡単な基本的な説明
DHT がどのように機能するかについて説明できる人はいますか?
重すぎることはなく、基本的なことだけです。
computer-science - 音声ストリーム内の単語認識の手法は何ですか?
私はこれについて非常に興味があります。
大まかに言えば、次のことをどのように行うのでしょうか。
- 単語区切りの検出。
- 音節の検出。
- 通常の音声単語接続を補正します。
theory - 教育: フィールド、クラス、パッケージの関係
一般的に、私はほとんどのプログラミング関連の概念を非常にうまく伝えることができると思います。
それでも、フィールド、クラス、パッケージの関係を要約するのはまだ難しいと思います。
「フィールド」、「クラス」、「パッケージ」、および「それらの関係」をどのように要約しますか?
theory - Assembly で学ぶべき重要な概念
私は、新しい言語を学ぶことで得られる最も重要なことの 1 つは、新しい言語の使い方ではなく、そこから得られる概念の知識であるという考えを固く信じています。Assembly がどれほど重要で有用であるかを尋ねているわけではありません。また、実際のプロジェクトでそれを使用したことがなくてもかまいません。
私が知りたいのは、アセンブリのどの概念が一般的なプログラマーにとって最も重要だと思うかということです。アセンブリに直接関係している必要はありません。CPU キャッシュなど、高級言語ですべての時間を費やしている典型的なプログラマーが理解できない、または当然のことと考えているものでもあります。
theory - 評価に基づいてユーザーの「隣人」を生成する
私が取り組んでいるサイトのユーザーのために「隣人」(似たような趣味を持つ人々) を生成するテクニックを探しています。last.fm の動作に似たもの。
現在、私はユーザー向けの互換性機能を持っています。1) 同様のアイテムを評価したこと、2) 同様にアイテムを評価したことでユーザーをランク付けします。この関数の重みは 2 倍高くなります。これは、「近隣」を生成するときにこれらの要因の 1 つだけを使用する必要がある場合に最も重要になります。
私が持っていた 1 つのアイデアは、ユーザーのすべての組み合わせの互換性を計算し、最も評価の高いユーザーをそのユーザーの隣人として選択することです。これの欠点は、ユーザー数が増えると、このプロセスに非常に長い時間がかかる可能性があることです. ちょうど 1000 人のユーザーの場合、1000C2 (0.5 * 1000 * 999 = = 499 500) の互換性関数呼び出しが必要で、サーバーにも非常に負担がかかる可能性があります。
ですから、このようなシステムを実現するための最善の方法について、アドバイスや記事へのリンクなどを探しています。
parsing - テキスト/xml/その他の解析を行うコンピューターサイエンスの教科書の方法
しばらくの間、私の脳内でガタガタ鳴っていました。
Compilers/Flex/Byson などについて調査しましたが、「解析スタック」や実装方法について詳しく説明している参考文献は見つかりませんでした。
私が追いつくことができる良い参考文献を知っている人はいますか?
編集:すべてのコンパイラのリファレンスに感謝します。リストされている本をいくつか取得しますが、私の主な焦点は解析自体であり、後でそれをどうするかではありません。
recursion - 再帰から反復への道
私は単純な問題を解決するために長年のプログラミングで再帰をかなり使用してきましたが、メモリ/速度の問題のために反復が必要になる場合があることを十分に認識しています。
そのため、非常に遠い昔、反復への一般的な再帰アプローチを変換する「パターン」またはテキストブックの方法が存在するかどうかを試してみましたが、何も見つかりませんでした。または、少なくとも私が覚えていることは何も役に立ちません。
- 一般的なルールはありますか?
- 「パターン」はありますか?
algorithm - 基本的なプログラミング/アルゴリズムの概念
高校で (仲間のプログラマーと) プログラミングとアルゴリズムのクラブを始めようとしています。選択した言語は C++ です。申し訳ありませんが、これを変更することはできません。学生は前述のトピックの経験がほとんどまたはまったくないと想定できます。
私が注目すべき最も基本的な概念は何だと思いますか?
自分にとってすでに当たり前のことを教えるのは簡単なことではないことはわかっています。学生を怖がらせないように、最初の会議には細心の注意を払う必要があることを私は理解しています。
編集:おそらくプログラマーと初心者の主な違いは「プログラマーの考え方」にあることに気付きました。つまり、問題をアルゴリズムとして概念化することです。練習の問題だとは思いますが、この分野の発達を刺激するエクササイズ/概念/物事を知っていますか?
encoding - 理論: 「レキシカルエンコーディング」
私は「レキシカル エンコーディング」という用語を、より適切な用語がないために使用しています。
文字とは対照的に、言葉は間違いなくコミュニケーションの基本単位です。Unicode は、既知のすべてのアルファベットの各文字に数値を割り当てようとします。ある言語にとっての文字は、別の言語にとってのグリフです。Unicode 5.1 は現在、これらのグリフに 100,000 を超える値を割り当てています。現代英語で使われている約18万語のうち、約2,000語の語彙があれば一般的な会話ができると言われています。「字句エンコーディング」は、各文字ではなく各単語をエンコードし、それらをセンテンス内にカプセル化します。
この例では、文字列内の各トークンが整数としてエンコードされています。ここでのエンコーディング スキームは、単語の使用状況の一般化された統計的ランキングに基づいて int 値を割り当て、疑問符に定数を割り当てただけです。
最終的には、単語には綴りと意味の両方があります。「字句エンコーディング」は、文全体の意味と意図を保持し、言語固有ではありません。英文は「...言語に中立な意味の原子要素...」にエンコードされ、構造化された構文形式と文法構造を持つ任意の言語に再構成できます。
「レキシカルエンコーディング」技術の他の例は何ですか?
単語の使用統計がどこから来たのか興味がある場合:
http://www.wordcount.org
model-view-controller - アプリケーションのリファクタリング
MVC アプリケーションを修正して安定させる必要がある場合、モデル、コントローラー、またはビューのどこから始めますか? 問題はアプリケーション全体に均等に広がっており、機能を追加するのが困難な不適切なプログラミング プラクティスがあります。それが違いを生む場合、アプリケーションはPHPで書かれています。