VSCodeのターミナルをUbuntu on Windowsにしたらたまにディレクトリ名がおかしくなるぞ

プライベートの開発機はWindowsを使っているのでターミナルは基本的にGit Bashを使っていたのですが、最近Ubuntu on Windowsに変えてみました。 crontabは別途設定しないと動いてくれなかったり…

複数台のRaspberry Piの初期設定がつらいのでAnsibleで設定した

年末は自宅で稼働する5台のラズパイ達のパッケージアップデートやスクリプト整理などをやっておりました😎 OSのメジャーアップデートもそろそろやらなきゃなということで、ついにbullseyeへアプデすることにしました。 なお…

スクリプトからLocalizationのStringTableCollectionのCSVインポートをさせる

UnityのLocalizationを利用する際、制作中のゲームではStringTableCollectionをCSVからインポートしていました。 ただ用途によってStringTableCollectionを複数に分割し…

ExcelでCSVの集計頑張るのが辛いならSQLiteでSQL書くのもアリ

SQLiteを今まで使ったことが無かったのですが、先日ExcelでSQL的なことをしようとして思うように書けず辛かったのでSQLiteへデータを流し込んでSQLのクエリで集計しました。 SQLiteはPostgreSQL…

InnoDBのlocking read

↑の記事にてInnoDBのロックについてまとめましたが、公式ドキュメントを読み漁る中で「locking read」と「non-locking read」という言い回しがあり、気になったのでまとめてみました。 SELECT…

InnoDBのロックについてまとめた

MySQLを実務で触っているのですが、改めてInnoDBのロックの仕様について頭の整理をするためにまとめてみました。 共有ロックと排他のロックの2種類があり、トランザクション分離レベルによって挙動が変わります。 Inno…

npm linkでローカルのnpmパッケージを参照できた

最近知ったnpm linkというものについて書いてみようと思います。 とあるnpmパッケージの実装を変更した後、npm publish前にパッケージをimportしている別プロジェクト側から動作が確認したいというケースが…

VSCodeでファイルの文字列比較ができることを知った

VSCode便利ですよね。 拡張機能を使いこなすと大体やりたいことができちゃう凄いエディタだという印象を持っていますが、実はデフォルトでも便利な機能が実装されています。 例えば以下はVSCodeで異なるテキストファイル同…

Unityのエディタ拡張でシーンビュー上にシェルスクリプト実行ボタンを置く

Unityのエディタ拡張を使えば、シーンビューにボタンを配置することが出来ます。普段はWindowsで開発をしているので、Git Bashで実行するシェルスクリプトのボタンを置いてみました。 OS: Windows 11…

Cloud Watch Insightsのクエリをシェルスクリプトから実行する

Cloud Watch Insightsは、膨大なCloud Watchのログから必要なものをフィルタリングするのに便利です。 AWSコンソール上から利用できるようになっていますが、AWS CLIからも利用ができるとのこ…

Chromeの開発者ツールで捕捉した通信をcurlコマンドでコピーする

デバッグをしていて一部のHTTPリクエストのパラメータだけ変えてcurlしたいなーと思っていたところ、Chromeの開発者ツールで既に便利な機能が用意されていたことを知りました。 実際には下記のようなcurlコマンドがコ…

React + TypeScript + CSS ModulesでChrome拡張機能の開発環境を構築する

前回、webpack + TypeScriptの構成でChrome拡張の開発環境を構築しました。 ただ、DOMを拡張機能側で動的生成したりするよう場合、TSXで書きたいなァ…🤤という思いから構築してみました。 最終的に構…

Chrome拡張の開発環境をWebpack+TypeScriptで構築する

このWebサイトのココをちょっと直したい…そんな思いからChrome拡張の開発を始めました。 ただやっぱりJavaScriptよりTypeScriptが書きたいと思い、環境を構築してみました。 当記事で紹介する開発環境の…

JavaでJsoupとSeleniumでWebサイトをスクレイピングしてみた

最近IT系のニュースサイトをスクレイピングするプログラムを走らせて、ネットサーフィンする時間を節約するようになりました。 スクレイピングにはJavaのJsoup, Seleniumを使っているのですが、今回はその実装内容…

任意の容量のファイルを生成したいとき

macOS, Linuxのターミナル、もしくはWindowsのGit Bashなら動作します /dev/urandomで疑似乱数を取得し、base64でBase64エンコードをしています。 /dev/urandomで取得…

SpringでInterfaceを@Autowiredするだけで動作するのはなぜ?

JavaとC#は似て非なるものだと日に日に感じる今日この頃です。 Springでは@Autowiredを使うことで、インスタンス管理をDIコンテナ側に任せることができ、クラス同士を疎結合に保つことができるようになっていま…

Raspberry PiがWifi接続できなくなった(No wireless interfaces found)

いつも使っているラズパイにVNC接続できなくなりました。 ラズパイのデスクトップ画面上部のバーのWifiアイコンにバツ印が表示され、クリックするとNo wireless interfaces foundと表示され、接続先…

WindowsのGit Bashでmysqlに接続できなかった

Windowsで開発する時は、ターミナルとしてGit Bashを多用しています。が、たまに特有の仕様にひっかかってしまうことがあり、今回もそんなトピックとなります。 実は以前、Git BashでDockerを利用した時も…

Serverless Framework+AWS Lambda(Java8)でHello worldしようとしたらNoClassDefFoundError

少しずつですがJavaのビルドツール周りも分かりかけてきたなという矢先、エラーで数時間ハマりました…😭 上述のエラー発生前にlog4j-core, jackson-databindに脆弱性があるとIDEから指摘されていた…

JavaのStream APIでよく使いそうな処理をまとめてみる

Javaの勉強中、コレクションを扱う時にC#のLinq的な書き方ができたらなぁと思っていたのですが、Stream APIでかなり近いことができるようなのでまとめました。 ArrayListなどのCollectionインタ…