問題タブ [static-variables]
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.
c# - 静的変数を使用してASP.netに情報をキャッシュしても大丈夫ですか?
現在、ASP.netのC#3.5でプロジェクト管理アプリケーションに取り組んでいます。データベースへのヒットを減らすために、静的変数を使用して多くの情報をキャッシュしています。たとえば、ユーザーのリストは静的クラスのメモリに保持されます。このクラスは、起動時にデータベースからすべての情報を読み取り、変更が加えられるたびにデータベースを更新しますが、日付ベースから読み取る必要はありません。
このクラスは、データベースへの書き込みと同時に、更新された情報で他のWebサーバー(存在する場合)にpingを実行します。pingメカニズムは、キャッシュオブジェクトがランダムに使用可能なポートを使用して登録するWindowsサービスです。他の用途にも使用されます。
データの量はそれほど多くはありません。現時点では、ユーザー(パスワードハッシュ、権限、名前、電子メールなど)をキャッシュするためだけに使用しています。これにより、データベースに対して行われる呼び出しの山が節約されます。
この方法に落とし穴があるかどうか、および/またはデータをキャッシュするためのより良い方法があるかどうか疑問に思いましたか?
php - 複数の .php ページにわたる PHP 静的変数
PHP で POP3 メールボックスを作成しています。次のファイルがあります。
- server_access.php (POP3 サーバーからメールを取得)
- data_access.php (ローカル DB へのメールのフェッチ/書き込み)
- mime_parser.php (MIME コンテンツを解析します)
- core.php (上記のファイルを使用し、解析されたメールを $inbox という連想配列として保存します)
これで、受信トレイを表示するためのmailbox.phpページと、各メールを表示するためのshowmail.phpページができました。ユーザーの資格情報は .ini ファイルに保存され、必要に応じて使用されます。問題は、mailbox.php と showmail.php の両方で require_once('core.php') を実行することです。
受信ボックスを表示することはできます (つまり、$inbox に値があります) が、メール (showmail.php のポップアップ ウィンドウ) を読むことを選択すると、$inbox は空の配列になります。
$inbox は core.php で静的配列として定義されています
python - Pythonのメソッド内で「静的」クラス変数にアクセスするにはどうすればよいですか?
次のコードがある場合:
文句を言う
NameError: グローバル名 'bar' が定義されていません
bar
メソッド内でクラス/静的変数にアクセスするにはどうすればよいbah
ですか?
c# - C#の静的変数
C#では、VB.Netのようなメソッドに静的変数を配置する方法はありますか?
c++ - 2 つの異なる静的変数を宣言する方法は? (C++)
編集:それらを非公開と宣言するのはタイプミスでした。修正しました:
別の質問に関連して、クラスで静的変数を宣言し、そこからクラスを派生させた場合、静的変数をクラスごとに個別に宣言する方法はありますか。すなわち:
x
A 用と B 用の 2 つの異なる静的変数を定義しますか?それとも、再定義するとエラーが発生x
しますか?エラーが発生した場合、2 つの別々の静的変数を作成するにはどうすればよいですか?
c++ - C++ 静的初期化順序
C++ で静的変数を使用する場合、ある変数を初期化して別の変数をそのコンストラクターに渡したいと思うことがよくあります。つまり、相互に依存する静的インスタンスを作成したいと考えています。
単一の .cpp または .h ファイル内では、これは問題ではありません。インスタンスは、宣言された順序で作成されます。ただし、静的インスタンスを別のコンパイル単位のインスタンスで初期化したい場合、順序を指定することは不可能のようです。その結果、天候によっては、別のインスタンスに依存するインスタンスが構築され、その後でのみ別のインスタンスが構築されることがあります。その結果、最初のインスタンスが正しく初期化されません。
静的オブジェクトが正しい順序で作成されるようにする方法を知っている人はいますか? 私は長い間解決策を探し、それらすべて (Schwarz Counter ソリューションを含む) を試してきましたが、本当に機能するものがあるとは思えません。
1 つの可能性は、静的関数メンバーを使用したトリックです。
確かに、これは機能します。残念ながら、globalObject.MemberFunction() の代わりに globalObject().MemberFunction() を記述する必要があるため、クライアント コードがやや混乱し、洗練されていません。
更新:ご反応ありがとうございます。残念ながら、私は自分の質問に答えたようです。私はそれと一緒に暮らすことを学ばなければならないと思います...
objective-c - インターフェイスの実装における静的変数の意味は何ですか?
インターフェイスの実装で定義されている静的変数がよくわかりません。メソッドでは、それらがローカル変数とどのように異なるかを理解していますが、実装で直接定義されている場合はわかりません。
これらの例を見てください。これら2つは実際にはどのような違いがありますか?
と:
myInt
どちらの場合もすべてのメソッドに表示され、正しく実行したテストを解釈したmyInt
場合、両方の場合でクラスの異なるインスタンスに対して同じ変数になります。
r - R の静的変数
R に複数回呼び出す関数があります。呼び出した回数を追跡し、それを使用して関数内で何をすべきかを決定したいと考えています。これが私が今持っているものです:
関数のスコープ外で変数カウントを宣言する必要があるのは好きではありません。C または C++ では、静的変数を作成するだけで済みます。Rプログラミング言語で同様のことを行うことはできますか?
java - Google App Engine:Memcacheまたは静的変数?
さて、私はここで非常に基本的な疑問があると思います:
私はGAE(Java)でアプリを開発していて、多くのエンティティを返すデータストアへのクエリを実行しているので、それをキャッシュする必要があります。memcacheを使用していて、うまく機能していましたが、エンティティのリストを静的変数に保持すると、リクエスト全体がmemcacheを使用する場合の2倍の速度で実行されます。これは、エンティティを常に逆シリアル化しているわけではないためだと思います。
memcacheの代わりに静的変数を使用することの欠点は何でしょうか?クラウドにアプリケーションのインスタンスがいくつかあるかどうか、つまり静的変数のインスタンスがいくつかあるかどうかわかりません。
キャッシュしようとしているエンティティのリストは、先週の最高の(スコアが高い)投稿です。私はそのリストを取り、5つのランダムな投稿を選択し、それらを2、3ページに表示します。
助けてくれてありがとう!
c++ - .LIB ファイルと .OBJ ファイルの違いは何ですか? (ビジュアル スタジオ C++)
.OBJ はコンパイルの単位をコンパイルした結果であり、.LIB は複数の .OBJ から作成できる静的ライブラリであることは知っていますが、この違いはコンパイルの単位の数だけのようです。他に違いはありますか?ファイル形式は同じですか、それとも異なりますか?
最終的な実行可能ファイルへのリンク中に、2 つ (またはそれ以上) の .LIB で定義された同じ静的変数がマージされるかどうか疑問に思ったときに、この質問に行き着きました。.OBJ の場合、変数はマージされます。しかし、.LIB でも同じでしょうか?