プログラミング

プロおよび熱狂的プログラマーのためのQ&A

8
カウントとデータ合計を維持せずに移動平均を計算する方法は?
これまでに受信したカウントと合計データを保存せずに移動累積平均を計算する方法を探しています。 2つのアルゴリズムを考え出しましたが、どちらもカウントを保存する必要があります。 新しい平均=((古いカウント*古いデータ)+次のデータ)/次のカウント 新しい平均=古い平均+(次のデータ-古い平均)/次のカウント これらのメソッドの問題は、カウントがますます大きくなり、結果として得られる平均の精度が失われることです。 最初の方法では、古いカウントと次のカウントを使用します。これらは明らかに1つ離れています。これにより、数を削除する方法があるのではないかと思いましたが、残念ながらまだ見つかりません。それでも私は少し先に行きました、その結果、2番目の方法になりましたが、まだカウントは存在しています。 それは可能ですか、それとも私は不可能を探しているだけですか?

11
ミニマリストのHaskellクイックソートが「真の」クイックソートではないのはなぜですか?
HaskellのWebサイトには、以下に示すように、非常に魅力的な5行のクイックソート機能が導入されています。 quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = filter (< p) xs greater = filter (>= p) xs また、「CでのTrueクイックソート」も含まれています。 // To sort array a[] of size n: qsort(a,0,n-1) void qsort(int a[], int lo, int hi) { int h, l, p, …

3
Mongodbは、集約フレームワークについて説明します
MongoDBに集約フレームワークの説明機能はありますか?ドキュメントに表示されません。 チェックする他の方法がない場合、クエリは集計フレームワーク内でどのように実行されますか? 私はあなたがただ見つけることを知っています db.collection.find().explain() しかし、集計フレームワークではエラーが発生します db.collection.aggregate( { $project : { "Tags._id" : 1 }}, { $unwind : "$Tags" }, { $match: {$or: [{"Tags._id":"tag1"},{"Tags._id":"tag2"}]}}, { $group: { _id : { id: "$_id"}, "count": { $sum:1 } } }, { $sort: {"count":-1}} ).explain()

6
PHPのクラスメソッドのデフォルトの可視性
マニュアルを見ましたが、答えが見つからないようです。 可視性宣言のないメソッドのPHPのデフォルトの可視性は何ですか?PHPには、Javaのようなパッケージの可視性がありますか? たとえば、次のコードでは、go()パブリックですか、プライベートですか? class test { function go() { } } 私が尋ねた理由は、多くのコンストラクターのコードがと書かれfunction __construct()たり、一部がと書かれたりしたことを見たからpublic function __construct()です。それらは同等ですか?
118 php  oop  visibility 



6
JavaのcharAt()と同等のC#?
charAt()Javaでこのメソッドを使用して、位置を指定することで文字列内の個々の文字を取得できることを知っています。C#に同等のメソッドはありますか?
118 c#  java  string 

19
典型的なステートマシン実装パターンはありますか?
Cで単純な状態マシンを実装する必要があります。 標準のswitchステートメントは最善の方法ですか? 現在の状態(state)と遷移のトリガーがあります。 switch(state) { case STATE_1: state = DoState1(transition); break; case STATE_2: state = DoState2(transition); break; } ... DoState2(int transition) { // Do State Work ... if(transition == FROM_STATE_2) { // New state when doing STATE 2 -> STATE 2 } if(transition == FROM_STATE_1) { // New State when …

5
ヒープサイズよりもはるかに多くのメモリを使用しているJava(または正しいサイズのDockerメモリ制限)
私のアプリケーションでは、Javaプロセスで使用されるメモリはヒープサイズよりもはるかに多くなっています。 コンテナーがヒープサイズよりも多くのメモリを使用しているため、コンテナーが実行されているシステムでメモリの問題が発生し始めます。 ヒープサイズは128 MB(-Xmx128m -Xms128m)に設定され、コンテナは最大1 GBのメモリを使用します。通常の状態では、500MB必要です。Dockerコンテナの制限が(たとえばmem_limit=mem_limit=400MB)未満の場合、プロセスはOSのメモリ不足キラーによって強制終了されます。 Javaプロセスがヒープよりもはるかに多くのメモリを使用する理由を説明できますか?Dockerのメモリ制限のサイズを正しく設定するにはどうすればよいですか?Javaプロセスのオフヒープメモリフットプリントを削減する方法はありますか? JVMのネイティブメモリトラッキングからコマンドを使用して、問題に関する詳細を収集します。 ホストシステムから、コンテナーが使用するメモリを取得します。 $ docker stats --no-stream 9afcb62a26c8 CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 9afcb62a26c8 xx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.0acbb46bb6fe3ae1b1c99aff3a6073bb7b7ecf85 0.93% 461MiB / 9.744GiB 4.62% 286MB / 7.92MB 157MB / 2.66GB 57 コンテナーの内部から、プロセスが使用するメモリーを取得します。 $ ps -p 71 -o …
118 java  linux  docker  memory  jvm 

10
マテリアルUIとグリッドシステム
Material-UIで少し遊んでいます。(Bootstrapのように)グリッドレイアウトを作成するためのオプションはありますか? そうでない場合、この機能を追加する方法は何ですか? GridListコンポーネントがありますが、それはいくつかの異なる目的を持っていると思います。


11
.NETの一意のオブジェクト識別子
インスタンスの一意の識別子を取得する方法はありますか? GetHashCode()同じインスタンスを指す2つの参照で同じです。ただし、2つの異なるインスタンスが(かなり簡単に)同じハッシュコードを取得できます。 Hashtable hashCodesSeen = new Hashtable(); LinkedList<object> l = new LinkedList<object>(); int n = 0; while (true) { object o = new object(); // Remember objects so that they don't get collected. // This does not make any difference though :( l.AddFirst(o); int hashCode = o.GetHashCode(); n++; if (hashCodesSeen.ContainsKey(hashCode)) …

4
「async void」イベントハンドラーを回避する必要がありますか?
async void保留中のタスクの追跡がなく、このようなメソッド内でスローされる可能性のある例外を処理するのが難しいため、タスクを開始するためにファイアアンドフォーゲットメソッドを使用することは、一般的に悪い考えと考えられます。 通常、async voidイベントハンドラーも回避する必要がありますか?例えば、 private async void Form_Load(object sender, System.EventArgs e) { await Task.Delay(2000); // do async work // ... } 次のように書き直すことができます。 Task onFormLoadTask = null; // track the task, can implement cancellation private void Form_Load(object sender, System.EventArgs e) { this.onFormLoadTask = OnFormLoadTaskAsync(sender, e); } private async Task OnFormLoadTaskAsync(object sender, …

16
System.gc()はいつ何かをしますか?
Javaではガベージコレクションが自動化されています。しかしSystem.gc()、コードを呼び出すと、その時点でJVMがガベージコレクションを実行するかどうかを判断できることを理解しました。これはどのように正確に機能しますか?JVMは、GCを検出したときに、GCを実行する(または実行しない)と正確にどの基準/パラメーターで判断しますSystem.gc()か? あなたのコードにこれを入れるのが良い場合の例はありますか?

3
Android 5.0(Lollipop)用に提示された新しいSDカードアクセスAPIの使用方法
バックグラウンド 上のAndroid 4.4(キットカット)、Googleがかなり制限されたSDカードにアクセスしてきました。 Android Lollipop(5.0)以降、デベロッパーは、このGoogleグループの投稿に記載されているように、特定のフォルダへのアクセスを許可することをユーザーに確認する新しいAPIを使用できます。 問題 この投稿では、2つのWebサイトにアクセスするように指示されています。 https://android.googlesource.com/platform/development/+/android-5.0.0_r2/samples/Vault/src/com/example/android/vault/VaultProvider.java#258 これは内部の例のように見えますが(おそらくAPIデモで後で示される可能性があります)、何が起こっているのかを理解するのは非常に困難です。 http://developer.android.com/reference/android/support/v4/provider/DocumentFile.html これは新しいAPIの公式ドキュメントですが、それを使用する方法についての十分な詳細は記載されていません。 これはあなたに言っていることです: ドキュメントのサブツリー全体への完全なアクセスが本当に必要な場合は、まずACTION_OPEN_DOCUMENT_TREEを起動して、ユーザーがディレクトリを選択できるようにします。次に、結果のgetData()をfromTreeUri(Context、Uri)に渡して、ユーザーが選択したツリーの操作を開始します。 DocumentFileインスタンスのツリーをナビゲートするときは、常にgetUri()を使用して、そのオブジェクトの基になるドキュメントを表すUriを取得したり、openInputStream(Uri)などで使用したりできます。 KITKAT以前を実行しているデバイスでコードを簡略化するには、DocumentsProviderの動作をエミュレートするfromFile(File)を使用できます。 質問 新しいAPIについていくつか質問があります。 実際にどのように使用しますか? 投稿によると、OSはアプリにファイル/フォルダーへのアクセス許可が与えられたことを記憶します。ファイル/フォルダにアクセスできるかどうかをどのように確認しますか?アクセスできるファイル/フォルダのリストを返す関数はありますか? キットカットでこの問題をどのように処理しますか?サポートライブラリの一部ですか? OSに、どのアプリがどのファイル/フォルダーにアクセスできるかを示す設定画面はありますか? 同じデバイスに複数のユーザー向けにアプリをインストールするとどうなりますか? この新しいAPIに関する他のドキュメント/チュートリアルはありますか? 権限を取り消すことはできますか?もしそうなら、アプリに送信されているインテントはありますか? 選択したフォルダに対して再帰的にアクセス許可を要求しますか? アクセス許可を使用すると、ユーザーがユーザーの選択による複数の選択の機会をユーザーに与えることもできますか?それともアプリは、どのファイル/フォルダーを許可するかを具体的に伝える必要がありますか? エミュレータで新しいAPIを試す方法はありますか?つまり、SDカードパーティションがありますが、プライマリ外部ストレージとして機能するため、(単純なアクセス許可を使用して)そこへのすべてのアクセスが既に与えられています。 ユーザーがSDカードを別のカードに交換するとどうなりますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.