三浦と窮理とブログ

自分の経験したことを検索可能にしていくブログ.誰かの役に立ってくれれば嬉しいです.

Jschで「com.jcraft.jsch.JSchException: Algorithm negotiation fail」とエラーが出た原因

javaのsftpクライアントのJsch 0.1.51を使うシステムに、OpenSSH_8.4p1をつかってsftp接続すると com.jcraft.jsch.JSchException: Algorithm negotiation fail というエラーがでました。 原因は、Jschのバージョンが古くてOpenSSH_8.4p1で使っている鍵交換ア…

Pesterでファイルを使うテストの時にテスト用ドライブを使う

何らかのファイルを用いたPowershellスクリプトのテストをしたいとき、テスト実行中に独立な保存領域を使えると便利です。 PesterではTestDriveという機能があります。 参考:Isolating File Operations using the TestDrive | Pester $TestDriveという変数…

C#でStreamReaderでテキストファイルの行ごとのリストを生成する拡張メソッド(非同期版も)

C#(.net6.0)でStreamReaderで読み込んだテキストファイルの行ごとのEnumerableリストを生成する拡張メソッドStreamReader.ReadAllLinesを定義します。 public static IEnumerable<string> ReadAllLines(this StreamReader it) { string? line; while ((line = it.Rea</string>…

C#で生成メソッドを用いた無限リスト作成(非同期版も)

C#(.net6.0)でFunc<T>型の生成メソッドを使ってEnumerableの無限リストを作成するメソッドを定義します。 public static IEnumerable<T> Generate<T>(Func<T> supplier) { while (true) yield return supplier(); } 生成メソッドsupplierに非同期メソッドを使いたい場合</t></t></t></t>…

IntelliJで指定のディレクトリ内のファイル名を一括置換するプラグイン

IntelliJで指定のディレクトリ内のファイル名を一括置換するプラグインを作りました。 名前変更にはIntelliJ標準のリファクタ機能を使用しているので、オブジェクト指向言語のソースファイルならソースコード上の対応するクラス名なども自動で置換してくれま…

IntelliJのエディターで表示中のファイルの差分表示をするプラグイン

IntelliJのエディターで表示中のファイルの差分表示をするアクションを追加するプラグインを作りました。 plugins.jetbrains.com かなり特殊なユースケースかなとは思うのですが、最近はこの動作をしたいと思う場面によく出会うので作りました。 感想 素朴な…

IntelliJでRunの実行で一度に複数のプログラムを逐次実行する。(upLaTeXのビルドチェーン設定)

IntellIJとそのLaTeX用プラグイン TeXiFy IDEA を使って upLaTeXのコンパイル(dviファイル生成)→ pdf生成(dvipdfmx実行) を一度のRunの実行で行うようにする設定内容をまとめます。 主にIntelliJのRun ConfigurationのBefore Launchの設定が重要です。 実…

DiscordでOBS仮想カメラが認識されないときの解決法

OBS(バージョン26.1.2)をインストールすると、カメラデバイスとしてOBS Virtual Cameraというのが認識されるようになります。 実際にGoogle meetでは認識されたけど、Discordでは認識されないという状態が起きたのでその解決法を調べたものをまとめます。 参…

LinuCレベル1 合格しました。

LinuCレベル1 に合格しました。 目次 資格と自分の受験結果について 勉強内容 試験について 感想 資格と自分の受験結果について 今回取得した資格はLinuCレベル1という資格です。LinuCレベル1 Version 10.0 試験概要 | Linux技術者認定試験 リナック | LPI-J…

JavaのStreamAPIで素数列挙をする

目次 $ \sqrt{N} $までの自然数で試し割り $ \sqrt{N} $までの素数で試し割り エラトステネスの篩 速度比較 計算量・メモリ消費 JavaのStreamAPIを使って2から自然数Nまでの素数列挙をしてみます。 実装できたのは試し割りによる普通のアルゴリズムです。(…