問題タブ [static]
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.
php - 静的クラスで__callを使用しますか?
__call
関数を静的に呼び出すときにマジックメソッドを使用することは可能ですか?
emacs - Haskell のような静的で強い型付けされた言語と、Common LIsp のような動的な (強い) 言語の両方での使用
私は Lisp の方言を扱っていましたが、Haskell もいくつか学んでいました。それらにはいくつかの類似点がありますが、Common Lisp での主な違いは、関数や引数などごとに型を定義する必要がないことです。Haskell ではそうします。また、Haskell はほとんどがコンパイル済み言語です。コンパイラを実行して実行可能ファイルを生成します。
私の質問は、Haskell のような言語が Common Lisp のようなより動的な言語よりも理にかなっているような別のアプリケーションや用途はありますか? たとえば、Lisp は Web サイトや GUI の構築など、より下位のプログラミングに使用できるようです。Haskell は、TCP/IP サーバーやコード パーサーの構築など、コンパイル時のチェックが必要な場合に使用できます。
人気のある Lisp アプリケーション: Emacs
人気の Haskell アプリケーション: PUGS Darcs
同意しますか、これに関する研究はありますか?
c++ - グローバル関数での実装、またはグローバル関数でラップされたクラスでの実装
定義済みの署名に従って、60 個の関数のセットを実装する必要があります。一部のクラスのメンバー関数ではなく、グローバル関数である必要があります。それらを実装するときは、サードパーティが提供する適切に作成された一連のクラスを使用します。
ほとんどの関数の私の実装は非常に短く、約 5 ~ 10 行であり、主にそのサードパーティ クラスへのさまざまなアクセスを処理します。いくつかのより複雑な関数については、すべての複雑なものを処理するいくつかの新しいクラスを作成し、それらを関数でも使用しています。すべての状態情報は、自分とサード パーティのクラスの静的メンバーに格納されるため、グローバル変数を作成する必要はありません。
質問: 60 個のメンバー関数を含む 1 つの大きなクラスを実装し、すべての実装 (現在はグローバル関数内) をそこで行う方がよいでしょうか? そして、私が書かなければならない各関数は、クラス内の対応するメンバー関数を呼び出すだけです。
.net - 共通の DLL のどの部分が 1 つのプロジェクトだけで使用されているかを特定するのに役立つツールは? (。ネット)
私たちのグループには、いくつかの内部プロジェクト (すべて C#) が利用する「ツール ライブラリ」DLL があります。私は、ツール ライブラリのかなりの部分がプロジェクトの 1 つだけで使用されているという直感を展開しました。そのプロジェクトを「プロジェクト A」と呼びましょう。ツール DLL とすべてのプロジェクト (おそらくプロジェクト EXE) を調べ、実際にプロジェクト A でのみ使用されるツール ライブラリ内のすべてのメソッドとクラスを列挙できる .NET ツールはありますか? いくつかのリファクタリング (ツール ライブラリの一部をプロジェクト A 自身のコードベースに戻す) が適切であると思います。そのようなリストは非常に役立つように思えます。
反省のため、ツールが 100% 正しく機能するとは思えません。しかし、私たちのプロジェクトのどれも、巧妙なリフレクション手法を使用してツール ライブラリを呼び出していないことを知っているとしましょう。静的分析に適した通常のメソッド呼び出しでのみ呼び出します。
memory - データをメモリに保存する: セッション vs キャッシュ vs 静的
ちょっとした裏話: 私は、編集/操作のためにユーザーにデータを渡す前に、データを準備/クランチするのにかなりの時間を必要とする Web アプリケーションに取り組んでいます。データ要求タスクは、完了に 15/20 秒、処理に数秒かかります。そこに到達すると、ユーザーはその場で値を操作できます。値を操作するには、データを完全に再処理する必要があります。
更新: 混乱を避けるために、データ呼び出しを 1 回だけ行い (15 秒のヒット)、結果をメモリに保持して、ユーザーが 100% 作業を完了するまで再度呼び出す必要がないようにしたいと考えています。 . そのため、最初のプルには時間がかかりますが、Ajax を使用して、メモリ内のデータをヒットして常に更新し、応答時間を約 2 秒程度に保ちます (希望)。
これを効率的にするために、初期データをメモリに移動し、サーバーへの Ajax コールバックを使用して、このユーザーの更新で発生する再計算を処理するための処理時間を短縮できるようにしています。
これが私の質問です。パフォーマンスを念頭に置いて、このデータを保存する最良の方法は何ですか。特定の瞬間にこのデータを使用して作業するユーザーは 1 人だけであると仮定します。
また、ユーザーはこのプロセスで数時間作業している可能性があります。ユーザーがデータを操作しているときに、セッションが何らかの方法で中断された場合に、ユーザーの現在のデータを (データベースまたはシリアル化されたバイナリ ファイルに) 保存するために、何らかのフェイルセーフが必要になります。言い換えれば、ユーザーが長時間接続を切断したり気が散ったりした場合に備えて、メモリ オブジェクトのデータをダンプできる適切なフックを備えたソリューションが必要になります。
これまでのところ、ここに私の考えがあります:
セッション状態 - 長所: 1 人のユーザーにロックされます。私のフェイルセーフ要件を満たすセッション終了イベントがあります。短所:現在のオプションの中で最も遅いパフォーマンス。セッション終了イベントは、適切に発生することを確認するのが難しい場合があります。
キャッシュ - 長所: 優れたパフォーマンス。後でボーナスになる可能性がある依存関係にアクセスできますが、現在の範囲ではあまり役に立ちません。短所: 時間間隔に基づく書き込み以外に、簡単なフェールセーフ手順はありません。グローバルな範囲 - ユーザーがお互いの作業と衝突しないようにする必要があります。
静的 - 長所: 最高のパフォーマンス。現在のクラス構造を直接活用できるため、保守が容易です。短所: 時間間隔に基づく書き込み以外に、簡単なフェールセーフ手順はありません。グローバルな範囲 - ユーザーがお互いの作業と衝突しないようにする必要があります。
私が選択すべきオプションについて、誰か提案/コメントはありますか?
ありがとう!
更新: 言い忘れましたが、私はこのタスクを実行するために VB.Net、Asp.Net、および Sql Server 2005 を使用しています。
java - EJB を介して静的シングルトンを共有する
Web サービスでキャッシュを作成しようとしています。このために、このキャッシュを他のステートレス Bean に提供するために、新しいステートレス Bean を作成しました。このキャッシュは、MyObject が POJO である単純な静的 ConcurrentMap です。問題は、異なるキャッシュ オブジェクトがあるように見えることです。1 つはクライアント Bean 用で、もう 1 つはローカルです。
この割り当ての後、CacheServiceBean 内から cache.size を呼び出すと、0 になります。Bean を介して静的シングルトンを共有することは可能ですか? 最終的にデータベーステーブルを使うことにしましたが、まだ考え中です。
ご回答ありがとうございます。
php - インスタンス化せずにスーパークラスから子変数にアクセスする
インスタンス化せずに、親クラスを介して子クラスのメンバー変数にアクセスしようとしています。
これは私の試みの 1 つですが、 でB::getStatic()
失敗しAccess to undeclared static property
ます。
おそらく静的なしで、これに対する別の解決策はありますか?
c# - Java の static の概念は C# とどう違うのですか?
Josh Bloch の著書『 Effective Java』を読んでいるのですが、彼は大量のメンバーを持つオブジェクトを構築するときにビルダー デザイン パターンを使用することを提案しています。私が見る限り、バニラのデザイン パターンではなく、彼のバリエーションのように見えます。私はむしろそれの外観が好きで、私が書いているC# Webアプリケーションでそれを使用しようとしていました. これはJavaで書かれたコードで、完璧に動作します
これをC#と同等だと思うものに入れると
次に、コンパイラの警告が表示されます。それらのほとんどは、「静的クラスでインスタンスメンバーを宣言できません」。
だから私の質問は、まず私が逃したものは何ですか?何かを見逃した場合、Josh Bloch が推奨する方法でそれを行うことができますが、C# で行うことはできますか? 最後に、これも重要ですが、これはスレッドセーフですか?
c++ - DerivedクラスはどのようにしてBaseクラスから静的関数を継承できますか?
HandleTimerはCライブラリ(libevent)に渡すため、静的である必要があります。
このクラスから継承したい。これはどのように行うことができますか?
ありがとう。
design-patterns - 静的クラスとシングルトン パターンの違いは?
静的クラスとシングルトン パターンの間に存在する実際の (つまり実用的な) 違いは何ですか?
どちらもインスタンス化せずに呼び出すことができ、どちらも「インスタンス」を 1 つしか提供せず、どちらもスレッドセーフではありません。他に違いはありますか?