こんにちは、しきゆらです。
連休は出かけていてブログ書けませんでした。
今回は、最近ちょっと触っているOBSをプログラムから操作したり情報を取得できるということを知ったので、サンプルを見ながら情報を取得してみようと思います。
OBSのドキュメントは以下になります。 詳しく知りたい方はこの辺を参考にするとよいかなと思います。
手を動かした記録
こんにちは、しきゆらです。
連休は出かけていてブログ書けませんでした。
今回は、最近ちょっと触っているOBSをプログラムから操作したり情報を取得できるということを知ったので、サンプルを見ながら情報を取得してみようと思います。
OBSのドキュメントは以下になります。 詳しく知りたい方はこの辺を参考にするとよいかなと思います。
こんにちは、しきゆらです。
ここ数回投稿しているTauriを使ったサンプルを写経しながら簡単なアプリを作ってみました。
今回は、その中で詰まった部分と解消方法を合わせてメモしておきます。
なお、写経元はこちら。
ここ最近のTauri記事はこの辺を参照。
【Rust】Tauriを使ってみる
【Rust】Tauriでフロントからバックエンドの処理を呼び出す
こんにちは、しきゆらです。
今回は、タイトルの通りTypeScriptのコードに時々出てくる「!」が見慣れなかったので調べた結果をメモしておきます。
こんにちは、しきゆらです。
前回投稿したTauriで、触れたのがフロントエンド部分のみだったので 今回はバックエンドであるRustの処理をどのように呼び出すかをサンプルコードから追っていきます。
前回の記事はこちら。
公式ページはこの辺を参考。
こんにちは、しきゆらです。
今回は、ずっと放置しているRust関連のネタです。
Tauriというフレームワークを使ってみたいなと思ったので環境を作って初回実行までしてみます。
Tauriは、ElectronのようなWeb技術でデスクトップアプリを作れるRust製のフレームワークです。
Electronと同じく、クロスプラットフォームのアプリを作成でき、Electronよりもインストーラサイズやメモリ使用量が小さく軽量という代物のようです。
裏側はRustで作られており、フロントはJavaScriptで制御する形になってます。
TauriはOS標準のWebView機能を利用しており、アプリ自体にChromiumが入っているわけではないため軽量・高速に動いてくれるようです。
こんにちは、しきゆらです。
数年ごとに時たま書いているSeleniumネタ、 今回は久々に大きく動かなくなったので調べつつ対応した記録を残しておきます。
確認したところwebdrivers
に更新が入っており、v5.3.1から対応されているようです。webdrivers
を利用している方は、Gemの更新をしてみてください。
これまではwebdrivers
というgemを使い、インストールされているChromeのバージョンにあったChromeDriver良しなに取得するようにしていました。
さっくりwebdrivers
の中身を見てみましたが、インストールしているChromeのバージョンを確認し、必要なDriverがなければ以下のサイトから該当バージョンのものを取得・配置するようです。
「https://chromedriver.storage.googleapis.com/LATEST_RELEASE_114」のようにChromeのバージョン値を指定するとその最新版となるChromeDriverのバージョンを取得できるので、これをもとに取得する感じでした。
ところが、先日Seleniumを動かしたらChromeDriverがない、とエラーが出て動かなくなっていました。 何事かと思って調べてみました。
こんにちは、しきゆらです。
今回は、make10パズルを解くためのプログラムを雑に書いてみたのでおいておきます。
make 10パズルは、4つの数字を四則演算を使って10を作るパズルです。 テンパズル・10パズルとも呼ばれるようです。
今もあるのかわかりませんが、以前東急線内で広告として利用されていたこともあるので 見たことがある方は多いのではないかと思います。
このようなmake10パズルですが、個人的にはだいぶ得意だと思っていました。 そんな中、たまたま見かけたパズルが解けず悔しかったので、どうせならプログラムを書いてみようと思ってやってみました。
今回は、その記録としてメモしておきます。
こんにちは、しきゆらです。
最近またRustをちょっと勉強しているので、そのメモをちらほら放出しておこうかと思います。
読み進めているのは「手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた」になります。
PythonとRustのコードを比較しながら、Rustの文法や特色についてを解説してくれる本になっています。
いきなり細かい文法をつらつら書かれてもわからないよ!という方やひとまず手を動かしてちょっとずつ書けるようになりたいよ、という方にオススメの本です。
ちなみに、自分は前者であり後者だったので割ととっつきやすく読めています。
ということで、読みながら手を動かした記録を残していきます。
今回はHashMapについて。
なお、この本を読んでメモする記事には「手を動かして考えればよく分かる Rustの書き方」のタグをつけておきます。
私と同じようにRustの勉強を始めた方、気になる方は参考にどうぞ。
こんにちは、しきゆらです。
今回は、Webpackでビルドしたものが出力されるフォルダにできる不要ファイルを削除する方法を知ったのでメモしておきます。
WebpackでJSのコードをビルドしていると、結構な頻度で不要なファイルができたりします。
例えば、デバッグ用に生成したソースマップファイルがそのまま残っていたり、過去に設定を変えてあるところから出力しなくなったファイルが残っていたり等、ビルド先のdist
フォルダの中はごちゃごちゃしがちです。
これを何とかしたいなぁ、と思って調べたら簡単に解決できました。
Webpackでこういうことできないかなぁと調べると大抵プラグインが出てきて追加しないといけないことが多く、今回もそのパターンでよくわからないものを追加しないといけないのかなぁ・・・と思っていたのですが、どうも標準機能として用意されているようでした。
ということで結論。
clean: true
を追加すればよいドキュメントを読むことは大事ですね。
しっかり記載がありました。
こちらによると、ビルドしたものを置くdist
フォルダの中身をビルドのたびにきれいにしたい場合はoutput.clean
オプションを使え、とあります。
ただし、この方法が使えるのはWebpack5以降のみなので注意してください。
// webpack.config.jsの一部分
~~~~~~
output: {
filename: "output.js",
path: path.resolve(__dirname, "dist"),
clean: true // この1行を追加すればよい
}
はい、たったこれだけ。
1行追加するだけで、ビルドのたびにdist
フォルダの中身をきれいにしてくれるので、過去にビルドした残骸が残ることはなくなりました。
こんにちは、しきゆらです。
今回は、flatMapの処理の中で不要な要素が出てきた場合にそれを排除する方法を知ったのでメモしておきます。
こちらのページにある通り、
処理の中で空配列([]
)を返すと、その要素の処理を削除することができるようです。
let array = [1,2,3,4,5,6,7,8];
array.flatMap( (item) => {
if (item % 2 === 0) {
return item * 2;
} else {
return [];
}
})
// => [4, 8, 12, 16]