すべての問題
c# - SSH.NET リアルタイム ログの CPU 使用率が高い
この質問の前に、私は絶対にプロの C# プログラマーではなく、これまで私の小さなプログラムのほとんどを力ずくで進めてきたと言っておきましょう。
私は小さなWinFormsアプリケーションをいくつかのデバイスにSSHで接続し、tail -f
それぞれにログファイルを作成し、ログファイルに保存しながらテキストボックスにリアルタイム出力を表示することに取り組んでいます。現在は動作していますが、ロギング中に CPU の 30% 近くを占有しており、何か間違ったことをしていると確信しています。
を作成しSshClient
て接続したら、次のように tail コマンドを実行します (これらの変数は、接続ごとに存在するロガー クラスの一部です)。
次に、ログの読み取り/書き込み機能があります。
デバイス接続ごとに、次のように呼び出します。
問題は CPU 使用率だけです。ロギングプロセスごとに複数のスレッドを作成していると思いますが、それを修正する理由や方法がわかりません。
上記のコードの簡単な修正として、何か目立ったものはありますか? result
またはさらに良い-オブジェクトが新しいテキストを取得したときに新しいデータのみを出力するコールバックを設定する方法はありますか?
すべてのヘルプは大歓迎です!
編集 2021 年 3 月 4 日
CopyToAsync
内部のコードlogOutput()
を次のように変更して、簡単なテストを試みました。
ただし、これにより、テキスト ファイルにデータが書き込まれなくなり、実際には CPU 使用率がわずかに低下します。
2回目の編集2021年3月4日
さらにデバッグを行うと、新しいデータが入っていない場合にのみ CPU 使用率が高くなるようです。私が知る限り、これはReadLineAsync()
、SSH コマンドから実際に新しいデータがあるかどうかに関係なく、メソッドが常に起動しているためです。可能な限りすべての CPU サイクルを占有して、可能な限り高速に実行されています。それがなぜなのかは完全にはわかりませんが、ここで実際に助けを借りることができます。ReadLineAsync()
SSHコマンドから新しい行が利用可能になるまで待つだけで続行できると思いました。
git - デフォルトの初期ブランチ名に関する git 警告を抑制
新しい Git リポジトリを作成すると、次のメッセージが表示されるようになりました。
グローバル git 設定を変更せずにこのメッセージを抑制する方法はありますか?
object-detection - YOLO のカスタム データのラベルを生成する方法
YOLOのラベルはこんな感じ[class, x , y, width, height]
です。データセットは非常に大きいため、YOLO のラベルを生成するショートカットはありますか?それとも、測定によってラベルをハードコーディングする必要がありますか?
arrays - Goで配列アイテムを繰り返す
文字列の配列の配列があります。
"x"
x回繰り返したい。
を使用した場合のように、1 つの文字列にまとめたくありませんstrings.Repeat()
。個々の配列アイテムにする必要があります。それは可能ですか?
postgresql - PostgreSQL で大文字と小文字を区別する行を無視する方法
この質問が重複する可能性があることは知っていますが、PostgreSQL を初めて使用するため、本当に混乱しました。大文字と小文字を区別してはならないメールを保存しようとしています。たとえば、PostgreSQLJohndoe@gmail.com
と同じである必要がありJoHnDoE@gmail.com
ますが、解決策が見つかりません。関数については知っていlower()
ますが、使用したくありません。
解決策はありますか?または、これは PostgreSQL ではまったく不可能ですか? 私はpgAdmin 4を使用しています
javascript - あるテキストエリアから別のテキストエリアに入力を渡す方法は?
JS の学習を再開したばかりで、アプリの作成中にこの問題に遭遇しました。
1 つのテキストエリアから出力される 2 番目のテキストエリアに入力を渡すことができません。出力時にテキストを大文字にしたい。w3からコードを変更しようとしましたが、ボタンをなくして見栄えを良くしたいです。
私が達成したいこと:
- ユーザーが入力に何かを書き込みます
- 彼のテキストは出力にコピーされ、大文字に変更されます
HTML
JS
database - あるグラフ データベースから別のグラフ データベースに移行する
あるグラフ データベース (Neo4j、Tiger Graph など) から別のグラフ データベースにデータを移行するにはどうすればよいですか?
背景: W3C (RDF (S)、OWL) の標準とプロパティ グラフ用のデータベース (Neo4j、TigerGraph など) のどちらにするかを決める必要があります。W3C 標準をサポートするすべての「トリプル ストア」では、データを簡単に「引き出し」、別のトリプル ストアにインポートすることもできます。リレーショナル データベースには、標準 SQL (および方言) もあるため、少しの努力で、あるリレーショナル データベースから別のリレーショナル データベースにデータを取得できます。しかし、グラフデータベースのそのような解決策は思いつきません。
kubernetes - ポッドの再作成時に、EBS ボリュームの永続ボリューム内の Mysql データが削除される
次のファイルを持つ EKS クラスターがあります。
1)mysql 展開ファイル 2)pvc クレーム ファイル 3)storageclass ファイル
3 つのファイルすべてを実行すると、ebs ボリュームが動的に作成されます。次に、mysql テーブルにエントリを作成し、ポッドを削除して再作成しようとします。
これで、ebs ボリューム内のすべてが削除され、データがなくなりました。
ポッドまたはデプロイメントが削除されて再開されたときにデータを永続化する方法を見つけようとしています。
excel - データ 3 の値と最後のコードを取得するにはどうすればよいですか?
常に最も役立つとは限らないテキスト データから値 ID を作成する必要があります。私の会社では現在、Excel と SQL を使用しています。
「BTA Canvas Taupe (#5461-0000)」があり、「A.5461-0000」になるように数式を作成する必要があります。現在、私はこれを持っています:
戻るA.5461-0000)
最後の「)」をオフにするにはどうすればよいですか?
python - numpy.f2py - ソース配布が pip でインストールされている場合、拡張子は存在しません
私の組織には、私が書いているいくつかの新しい Python ベースのツールに組み込みたいレガシーな fortran コードがたくさんあるので、f2py に頭を悩ませようとしています。理想的には、これらのツールをソース パッケージまたはホイールのいずれかにパッケージ化して、組織の残りの部分に簡単に配布できるようにします。
フロートの配列を合計するだけの他のいくつかの例に基づいて、小さなテスト パッケージを作成しました。パッケージの内容は以下のとおりです。を使用してソース配布の tarball をビルドするとpy setup.py sdist
、すべてが機能するように見えます。pip が正常にインストールされているようにも見えます。ただし、Python シェルを開いて新しくインストールしたモジュールをインポートしようとするとfrom fastadd import fadd
、初期化スクリプトの行にエラーが表示されます。
AttributeError: module 'fastadd' has no attribute 'fastadd'
そのため、実際には f2py モジュールのビルドに成功していないようです。パッケージフォルダーでPowerShellウィンドウを開いて実行した場合、トラブルシューティングを行います
py -m numpy.f2py -c fadd.pyf fadd.f90
次に、同じフォルダーで python シェルを開いて を試してみるとimport fastadd
、エラーが発生しますImportError: DLL load failed: The specified module could not be found.
(これは、Visual Studio ビルド ツールをインストールした後であり、複数のスレッドで修正が提案されています)。このスレッドのアドバイスに従って、コマンドを次のように変更します
py -m numpy.f2py -c --fcompiler=gnu95 --compiler=mingw32 fadd.pyf fadd.f90
正常にインポートして使用できるモジュール ファイルをビルドします。わかりました。
ただしconfig.add_extension
、キーワード引数を含めるようにセットアップ ファイルを変更し、コマンドを使用f2py_options=["--fcompiler=gnu95","--compiler=mingw32"]
してパッケージ配布ファイルをビルドしてから を使用してインストールしようとすると、さらに別のエラーが表示されます。setup.py sdist
py -m pip install fastadd-1.0a1.tar.gz
ERROR: No .egg-info directory found in C:\Users\username\AppData\Local\Temp\pip-pip-egg-info-c7406k03
そして今、私は完全に困惑しています。f2py_options の他の構成では、setup.py
上記と同様に、エラーがスローされるか、拡張機能の作成に完全に失敗します。オプションに単純な文字列を使用するとエラーが発生するため、明らかに f2py_options は実際にはリスト入力を想定しています。正しく使用しているかどうかについての適切なドキュメントが見つからないようですf2py_options
。また、そのオプションを追加するだけで pip がその情報ディレクトリがどこにあるのかわからなくなる理由がわかりません。それは私には意味がありません。これについて何か助けていただければ幸いです。
Windows 10 マシンで Python 3.7.0 32 ビット、numpy 1.20.1、および pip 21.0.1 を実行しています。
- 編集 -
テスト モジュールのインストール ディレクトリを調べたところ、この問題の新たな問題が見つかりました。インストール ディレクトリには、実際には にリストされているファイルは含まれていませMANIFEST
ん__init__.py
。ディレクトリにコピー__init__.py
すると、モジュールをインポートしようとすると、同じImportError: DLL load failed
エラーが発生します。
また、 の出力を調べると、またはが有効なオプションとして認識されていないpy -m pip install
ように見えますが、それらは認識されますが、単に無視されます。numpy.distutils
--fcompiler
--compiler
numpy.f2py
--編集終了--
パッケージ内容:
fadd.f90
次の内容があります。
fadd.pyf
次の内容があります。
__init__.py
:
MANIFEST.in
:
そして、最後にsetup.py
:
MANIFEST
セットアップ スクリプトを実行した後の最終的なファイルは次のようになります。
git - 許可が拒否されました (公開鍵)。GitLabでいきなりエラーが出ます。秘密鍵と公開鍵を正しく設定します
今日から「許可が拒否されました(公開鍵)」という問題が発生しました。実際、2 日前まではすべて正常に動作していました。
ここにいくつかの情報があります:
2 か月前に秘密鍵と公開鍵を生成しました。2 日前に新しいプライベート プロジェクトを作成しましたが、すべて正常に動作しました。確かに、https://.../profile/keys の GitLab プロファイルで、SSH キーが 2 日前に使用されたことがわかります。
しかし、今私がタイプしようとすると:ssh -Tv git@xxx
許可が拒否されました:
なぜ 2 日前に許可を得たのに、今は許可していないのですか?
Windows 10でGit Bashを使用しています
python - 二重引用符で囲まれたコンマで csv を読み取る
S3 バケットに CSV ファイル (カンマ区切り) があります。カンマを含むフィールドはほとんどなく、CSV ファイルは次のようになります。
でこれを読むと、1 列pandas
で 4 列を取得する必要が"D,F"
ありますが、余分な列を取得しています。
私のコード; 私が試したさまざまなことですが、すべての試みはうまくいきませんでした:
現在の結果:
期待される結果:
c - バイナリ式に対する無効なオペランドのエラー
私は読みやすさに取り組んできましたが、何が間違っていたのか、何が欠けているのかについて本当に行き詰まっています。
help50を使用して、それから得られるエラーは次のとおりです。readability.c:26:35: error: invalid operands to binary expression ('string [numberOfCharacters]' and 'int')
私には理解できないので、可能であれば助けてください:)
arrays - データベースからレシピをフィルタリングするにはどうすればよいですか?
次のようなレシピのコレクションがあります。
クエリに完全に含まれる食材を使用したレシピを取得しようとしています。たとえば、クエリに卵、牛乳、バターがある場合、上記のコレクションからオムレツと「ランダム レシピ」を取得する必要がありますが、パンケーキは必要ありません。卵と牛乳しかない場合は、「ランダムなレシピ」のみを返す必要があります。つまり、手に入る材料で作れるレシピだけが欲しい。ドキュメントを検索しましたが、これをどのように実装する必要があるかを正確に見つけることができませんでした。何か案は?バックエンドにGolangを使っているので、例を書いていただけると助かります。どんな助けにも感謝します。
今のところ、特定の材料を含むすべてのレシピを返すこの関数を作成しましたが、不足している材料や、転送されたすべての材料を必要としないレシピは考慮されていません。
編集:この回答(提案のためのthx @MontgomeryWatts)によると、私はこれをGoで書きましたが、動作します:
助けてくれてありがとう!
data-structures - なぜハッシュテーブルがあるのですか?
ハッシュ テーブルでは、ハッシュ関数を使用してキーを値にマッピングできます。ここで、ハッシュ関数は、特定の値にマップされたキーのインデックスを実際に計算します。しかし、そもそもなぜハッシュテーブルを使用するのか理解できませんか? なぜハッシュテーブルが必要なのですか? 地図/辞書は十分ではありませんか? (Python で) 辞書を宣言して{'key1': 'value1'}
、ハッシュ テーブルが必要な場所で使用してみませんか? 私はそれについて多くのことを読みましたが、まだ理解できません。これを理解するのを手伝ってもらえますか?
node.js - ピア システムに接続するためにページを更新する必要があるのはなぜですか?
ユーザーがビデオチャット イベント ルームを作成し (バックエンドのデータベースに挿入することで)、ウェブサイトにアカウントを持つ他のユーザーが参加できるようにするアプリを作成しようとしています。現時点ではログイン部分は作成されていませんが、問題ありません。
バックエンドは Spring Boot RestAPI (および 8080 で実行) で実行され、フロントエンドは nodejs (および 3000 で実行) で実行されます。ピア ツー ピア システムは、nodejs サーバーと Peer.js API を使用して行われます (3001 で実行されます)。
主な質問は次のとおりです。
ユーザーが DB から取得したイベントをクリックすると、最初のイベントであればホストになります。そうでない場合は、単純なユーザーになります。ユーザーがルームに入ると、ホストはページを更新する必要があり (ルームに再接続するなど)、ユーザーも同様に、両方が接続されるようにします。どうしてですか?ファイルコードを以下に示します。
2 つ目: このシステムが Safari で機能しない理由と、機能する場合の解決方法
サーバー.js:
script.js:
room.ejs:
index.ejs:
python - 文字列分割操作を含む辞書内包表記の使用
小さなプロパティ パーサー スニペットを考えてみましょう。
それは機能しますが、で「分割」が2回呼び出されるため見苦しくなりl.split('=')[0].strip():l.split('=')[1].strip()
ます。ディクショナリ内包表記を変更して、一度だけ分割し、dict エントリを次のように作成する必要があるようにするにはどうすればよいですか。
そのリファクタリングには、ネストされた理解または単一レベルの理解を構築する別の方法が必要ですか?