問題タブ [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.

0 投票する
7 に答える
6406 参照

java - Functor と Command パターンの違いは何ですか?

Command パターンについてはよく知っていますが、Functor と Command の理論上の違いはまだわかりません。特にJavaの実装を考えています。どちらも基本的に、オブジェクトとして表される「動詞」をプログラミングしています。ただし、ファンクタの場合、いくつかの例からわかるように、匿名の内部クラスの実装が一般的です。誰かが私のためにこれをきれいに片付けることができますか?

0 投票する
8 に答える
767 参照

algorithm - コードを書き出すことはまだアルゴリズム表現と見なされますか?

中間期にアルゴリズムの代わりにコードを書き、AからCにぶつけたため、テストで答えの50%を失いました。コードを書き出すことは、依然としてアルゴリズム表現と見なされますか?

ウィキペディア:アルゴリズム表現(プログラミングスタイルはほとんどコンセンサスベースであるため)

編集:わかりました、それではいくつかのポイントを明確にしましょう:

  1. テストでは疑似コードが要求されましたが、これはクラスで実際に「定義」されることはありませんでした。アルゴリズムのために英語を書きました。

  2. これはJavaクラスであり、コメントとともにソリューション全体をJavaメソッドで書き出します。これらはすべて手書きであり、擬似コードよりも書き出すのに時間がかかりました。もっとはっきりすると思いました。

  3. 普段はそんなことは問題になりませんが、AとCの違いで、試験に奨学金をもらっています。

  4. 最後に、私は2つの理由でこの投稿を作成しています。

    4.1現代のプログラミングコミュニティが擬似コードとアルゴリズム表現についてどう考えているかを示したいと思います。

    4.2「現実の世界」で何が受け入れられるか知りたい。私はしばらくプログラミングをしてきましたが、すぐにオープンソースプロジェクトに貢献できるようになりたいと思っています。また、誰かの足を踏み入れたくありません。(このトピックが現実の世界で取り上げられる可能性はほとんどないと確信していますが)。

繰り返しになりますが、ヘルプ/アドバイスに感謝します。

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

unicode - Unicodeで文字列を大文字/小文字に設定するにはどうすればよいですか?

これは主に、私が非常に興味を持っている理論上の質問です。(私はそれを自分でコーディングすることによってこれを行おうとはしていません。私は車輪を再発明していません。)

私の質問は、Unicodeで等価の大文字/小文字のテーブルがどのように機能するかです。

たとえば、ASCIIでこれを行う必要がある場合は文字を取得し、それが[az]の範囲内にある場合は、Aとaの差を合計します。

それがその範囲に当てはまらない場合は、10個程度のアクセント付き文字とñの小さな等価テーブルがあります。(または、256エントリの完全な等価配列を作成することもできますが、そのほとんどは入力と同じです)

ただし、数十万の文字があり、理論的には新しい言語または文字のセットを追加できることを考えると、Unicodeで同等性を指定するためのより良い方法があると思います(そして私はあなたがその場合、ウィンドウにパッチを適用する必要はありません)。

Windowsには、文字ごとにハードコードされた巨大な同等性テーブルがありますか?または、これはどのように実装されますか?

関連する質問は、SQLServerがUnicodeベースのアクセントと大文字と小文字を区別しないクエリをどのように実装するかです。éëèEÉÈとËがすべて「e」と同等であることを示す内部テーブルがありますか?

文字列の比較に関しては、それほど速くは聞こえません。

どのようにしてインデックスにすばやくアクセスしますか?そのフィールドの照合に対応する「ベース」文字に変換された値にすでにインデックスを付けていますか?

誰かがこれらのものの内部を知っていますか?

ありがとうございました!

0 投票する
15 に答える
5040 参照

theory - 代替エントロピーソース

さて、これは完全に主観的なものだと思いますが、乱数ジェネレーターのエントロピーソースについて考えていました。ほとんどのジェネレーターには現在の時刻がシードされていますよね?さて、私は他のどのソースを使用して完全に有効なランダムな(緩い定義の)数値を生成できるかについて興味がありました。

複数のソース(時間+現在のHDDシーク時間[ここでは素晴らしい]など)を一緒に使用すると、単一のソースよりも「ランダムな」数値が作成されますか?ソースの量の論理的な制限は何ですか?本当にいくらで十分ですか?便利だからといって時間が選ばれるのでしょうか?

このようなことが許されないのならすみませんが、情報源の背後にある理論については興味があります。

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

refactoring - 「リファクタリング」の正式な定義はありますか?

より正式な方法でリファクタリングを定義する方法を知っている人はいますか?

アップデート。

リファクタリングは、R = (pre; T) のペアです。ここで、pre はプログラムが満たさなければならない前提条件であり、T はプログラムの変換です。

0 投票する
12 に答える
78210 参照

theory - XKCD における Wolfram の規則 34

#505 xkcdのホバー「ジョーク」は、「Wolfram のルール 34 でルール 34 を呼び出す」と宣伝しています。

はインターネット用語でルール 34 が何であるかを知っており、 Wolfram が誰であるかをグーグルで検索しましたが、Wolfram のルール 34 が何であるかを理解するのに苦労しています.

では、この「ルール 34」とは一体何なのでしょうか。

コミックはこちら: http://xkcd.com/505/ .

0 投票する
7 に答える
1377 参照

haskell - Haskellで生産的になるにはどのくらいの数学が必要ですか?

私は(コースを通してではなく)自分の時間でHaskellを学ぶことに興味がありますが、私の数学のバックグラウンドは重要な言語の概念(TBD)を理解するには不十分かもしれないと思います。

私は大学の微積分(単一変数)を1年間経験しましたが、離散数学や論理はありませんでした。

数学のギャップにぶつかるでしょうか?

0 投票する
10 に答える
6116 参照

algorithm - 計算複雑性理論の説明

数学のバックグラウンドがあると仮定して、計算複雑性理論の一般的な概要を素朴な人にどのように説明しますか?

P = NP の質問の説明を探しています。Pとは?NPとは?NPハードとは?

ウィキペディアは、読者が関連するすべての概念をすでに理解しているかのように書かれていることがあります。

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

algorithm - 集合和集合演算の実行時間

2つのセットAとBが与えられた場合、それらの和集合を見つけるために使用される一般的なアルゴリズムは何ですか、そしてそれは実行時間ですか?

私の直感:

Addは、O(1)である衝突のチェックを追加してから、(??)である要素を追加します。これはn回行われます(nは| a | + | b |)。したがって、これはO(n * x)です。ここで、xは追加操作の平均実行時間です。

これは正しいです?

0 投票する
10 に答える
3194 参照

accessibility - 盲目のプログラマーにとって良いコンピューターサイエンスのリソースは何ですか?

私は完全に盲目の個人であり、コンピュータサイエンスの理論的側面についてもっと学びたいと思っています。イントロデータ構造クラスと一般的なイントロプログラミングを持っていますが、ソフトウェア設計、高度なデータ構造、コンパイラ設計などについてもっと学びたいと思います。私はこれを大学の授業の一部としてではなく、独学のコースとしてやりたいと思っています。

残念ながら、私が通常教科書を入手している「盲人と失読症のための録音」から、コンピュータサイエンスで利用できる教科書は多くありません。多くのプログラミングサイトが焦点を当てているように見える最新の言語やプラットフォームではなく、コンピュータサイエンスの教育を受けるのに役立つ、できれば無料の電子リソースをいただければ幸いです。