問題タブ [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.
permissions - 階層グループ権限の理論/リソース?
階層型ユーザー アカウント システムの設定に関連する優れたリソースを知っている人はいますか? 私は現在 1 つをセットアップしており、より複雑なロジック (特に権限の決定) に苦労しています。私は、私を助けるためにいくつかのリソースを見つけることができるかもしれないと思っていました.
背景: ネストされたグループ階層を可能にする Web CMS 用のユーザー アカウント システムを構築しています。各グループは、読み取り、書き込み、追加、および削除へのアクセスを許可/拒否できます (そのグループに対して明示的に、またはその親の 1 つによって暗黙的に)。さらに、このシステムでは、ユーザーが複数のグループのメンバーになることもできます。――ここが行き詰ってますね。すべてをセットアップしましたが、特定のユーザーのペミッションを決定するための実際のロジックに苦労しています。
c# - C#での配列の使用をいつどのように放棄するのですか?
配列に要素を追加すると、次のようになるといつも言われています。
array + 1elementの空のコピーが作成され、元の配列のデータがそこにコピーされ、新しい要素の新しいデータがロードされます。
これが当てはまる場合、メモリとCPUの使用率が原因で、多くの要素アクティビティを必要とするシナリオ内で配列を使用することは禁じられています。
その場合、多くの要素を追加するときに、配列の使用をできるだけ避けようとすべきではありませんか?代わりにiStringMapを使用する必要がありますか?その場合、3つ以上のディメンションが必要で、多くの要素を追加する必要がある場合はどうなりますか。パフォーマンスの打撃を受けただけですか、それとも他に使用すべきものがありますか?
functional-programming - Yコンビネータとは?
Y コンビネーターは、物事の「機能」面からのコンピューター サイエンスの概念です。ほとんどのプログラマは、コンビネータについて聞いたことがあるとしても、コンビネータについてまったく知りません。
- Yコンビネータとは?
- コンビネータはどのように機能しますか?
- 彼らは何のために良いですか?
- それらは手続き型言語で役に立ちますか?
algorithm - 8歳のビッグオー?
これが私のコードにとって何を意味するかについてもっと尋ねています。私は概念を数学的に理解していますが、それらが概念的に何を意味するのかを理解するのに苦労しています. たとえば、データ構造に対して O(1) 操作を実行する場合、項目が増えるため、実行する操作の数が増えないことは理解しています。また、O(n) 操作は、各要素に対して一連の操作を実行することを意味します。誰かここの空欄を埋めてくれませんか?
- O(n ^ 2)操作は正確に何をしますか?
- そして、操作が O(n log(n)) である場合、それはどういう意味ですか?
- そして、誰かが O(x!) を書くためにクラックを吸わなければならないのですか?
computer-science - "P=NP?" とは何ですか? なぜこれほど有名な質問なのですか?
P=NP かどうかという問題は、おそらくすべてのコンピューター サイエンスで最も有名です。どういう意味ですか?そして、なぜそれはとても興味深いのですか?
ああ、そして追加の信用のために、声明の真実または虚偽の証拠を投稿してください. :)
theory - 計算複雑性理論を実生活に適用しましたか?
私は計算複雑性のコースを受講していますが、これまでのところ、開発者にとってあまり役に立たないという印象を受けました。
私が間違っているかもしれませんが、以前にこの道をたどったことがある場合は、複雑性理論があなたの仕事にどのように役立ったかの例を教えてください。たくさんの感謝。
c# - C#の「定数の正確さ」
const-correctnessのポイントは、ユーザーが変更または削除できないインスタンスのビューを提供できるようにすることです。コンパイラーは、const関数内からconstnessを解除するとき、またはconstオブジェクトの非const関数を使用しようとするときに指摘することにより、これをサポートします。では、constアプローチをコピーせずに、同じ目的を持つC#で使用できる方法論はありますか?
私は不変性を認識していますが、それは実際には名前を付けるコンテナオブジェクトには引き継がれませんが、1つの例です。
database - 小規模なデータセットをどのように処理しますか?
非常に小さなデータ セットの場合、私が作業するポリシーでは、通常、それらをテキスト ファイルに貼り付けますが、私の経験では、これは開発上の頭痛の種になる可能性があります。通常、データはデータベースから取得されます。そうでない場合、データの設定/保存に関連するプロセスは通常、コードに隠されています。データベースを使用すると、通常、利用可能なすべてのデータと、それが他のデータとどのように関連しているかを確認できます。
非常に小さなデータ セットの場合は、コード内の内部データ構造 (Perl ハッシュなど) に格納するだけですが、変更が必要な場合は、開発者の手に委ねられます。
では、変更頻度の低いデータの小さなセットをどのように処理するのでしょうか? データベース テーブル、テキスト ファイル、または..をいつ使用するかの基準を設定していますか?
絶対にすべてにデータベーステーブルを使用したくなるのですが、これに何らかの影響があるかどうかはわかりません。
編集:コンテキストについて:
少数の企業の Web サイトに新しい連絡先フォームを設置するように依頼されましたが、今後も随時追加される予定です。ただし、企業には連絡先の電子メール アドレスがありません。これらの企業内のユーザーは (自分のアカウントから求人を投稿するため) 持っています。ただし、「投機的アプリケーション」タイプの機能が必要であり、フォームにはこれらのアプリケーションを送信するための電子メール アドレスが必要です。しかし、メール アドレスをプロパティとしてフォームに入力したくもありません。そうしないと、スパマーがメール ゲートウェイとして使用する可能性があります。明らかに、企業との ID -> contact_email タイプの関係が必要です。
SO、文字通り、約20回使用される数百万行のテーブルに列を追加するか、最大で約20行を保持する新しいテーブルを作成できます。これまでの典型的な対処方法は、厄介なテキスト ファイルを作成してそこから読み取ることでした。しかし、これはメンテナンスの悪夢を引き起こし、これらのテキスト ファイルは、依存するデータが変更されると頻繁に見直されます。おそらくこれはプロセスの誤りですが、私はこれについて意見を聞くことに興味があります.
algorithm - 二分木 (AVL) のバランスをとる
わかりました、これは周りの CS 関係者のための理論領域のもう 1 つの問題です。
90 年代、私は BST の実装でかなりうまくいきました。私が理解できなかった唯一のことは、バイナリ ツリー (AVL) のバランスをとるアルゴリズムの複雑さでした。
これについて私を助けてもらえますか?
algorithm - 疑似ランダムに選択された IP アドレスへの ping を使用して、真の乱数を生成できますか?
提起された質問は、決定論的な計算デバイスで数値を生成することの不可能性について議論しているときに、2年目のコンプサイエンスの講義中に出てきました.
これは、非コモディティ クラスのハードウェアに依存しない唯一の提案でした。
その後、誰も彼らの評判を賭けて、それに賛成または反対する決定的な議論をすることはありませんでした.
誰でも賛成または反対の立場を表明したいと考えています。もしそうなら、可能な実装についての言及はどうですか?