エンジニアのはしがき

プログラミングの日々の知見を書き連ねているブログです

2022-01-01から1年間の記事一覧

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

UnityのLocalizationを利用する際、制作中のゲームではStringTableCollectionをCSVからインポートしていました。 ただ用途によってStringTableCollectionを複数に分割している為、CSVも分割した数だけ存在するのでGUIからのインポートがとても苦痛…。 そこで…

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

SQLiteを今まで使ったことが無かったのですが、先日ExcelでSQL的なことをしようとして思うように書けず辛かったのでSQLiteへデータを流し込んでSQLのクエリで集計しました。 SQLiteはPostgreSQL, MySQL等と比較すると気軽にデータを格納・集計できるので、普…

InnoDBのlocking read

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

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

MySQLを実務で触っているのですが、改めてInnoDBのロックの仕様について頭の整理をするためにまとめてみました。 ロックの種類 共有ロック 排他ロック ロックの範囲 レコードロック ギャップロック ネクストキーロック テーブルロック ロックの範囲はどのよ…

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

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

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

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

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

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

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

Cloud Watch Insightsは、膨大なCloud Watchのログから必要なものをフィルタリングするのに便利です。 AWSコンソール上から利用できるようになっていますが、AWS CLIからも利用ができるとのことで実際に試してみました。 動作環境 # uname -a Linux b93945d4…

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

デバッグをしていて一部のHTTPリクエストのパラメータだけ変えてcurlしたいなーと思っていたところ、Chromeの開発者ツールで既に便利な機能が用意されていたことを知りました。 やり方 Chromeで開発者ツールを開き、「Network」タブを表示する。 コピーした…

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

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

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

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

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

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

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

やりたかったこと 動作環境 生成方法 コマンドの解説 base64 /dev/urandom head -c 1000 あとがき やりたかったこと 任意の容量のファイルを生成したい 背景としてファイルのアップロード処理における容量制限の手動テストをしたかった 動作環境 macOS, Linu…

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

JavaとC#は似て非なるものだと日に日に感じる今日この頃です。

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

いつも使っているラズパイにVNC接続できなくなりました。

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

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

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

少しずつですがJavaのビルドツール周りも分かりかけてきたなという矢先、エラーで数時間ハマりました…😭

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

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

Raspberry Pi OSのMariaDBへ別ホストからアクセスできるようにしたかった

Spring Data JPAについて調べる際に、ラズパイのMariaDBを検証用DBとして使っていたのですが、別ホストからのアクセス制御にちょっと時間を食ったので記録を残しておきたいと思います。なお、JPAについての記載は主題ではないため、あえて割愛しました。

CloudFront+S3でUnity WebGLを配信した

先日S3の静的ウェブサイトホスティングを使ってUnity WebGLを配信しました。 ただhttps化したい場合、S3単独ではできないのでCloudFrontと組み合わせる方法を解説してます。 手順的にはほぼReactやAngular等のフロントエンドアプリを独自ドメイン配信する時…

Javaでの非同期処理の方法についてピックアップした

まだまだJavaの勉強中です。 先日、そういえばJavaで非同期処理する方法をまだ知らなかったなぁと思い調べてみました。

AWS S3のStatic Website HostingでUnity WebGLを配信してみた

ホビーで作っているUnity製ゲーム(WebGL)をEC2ではなく、S3の静的ホスティング機能でどうにかホスティングできないかと試みていたところ、うまく動かせましたので記録を残しておきたいと思います。

不特定多数のアクセス許可していたS3がCORSでアクセスできなかった話

Javaの勉強の合間にUnity製ゲームのWebGL公開の検証をやっていたのですが、その際にS3の設定で詰まっていた話です。

Java勉強中/C#と比較しながらハマりそうなところピックアップ

どうも、ご無沙汰してました。 この度、転職先でJavaをメインに書くことになり勉強しています。 ぱっと見の文法はC#と似ているものの、実態は結構違う部分も多かったので個人的に気になる部分をピックアップしました。

GitHub Actionsでポートフォリオサイトのデプロイ自動化した

前々から触ろう、触ろうと思っていて触れていなかったGitHub Actionsの話です。 先日Dependabotくんがプルリクを出していたので、そろそろ手を出すかと思い試してみました!

リーダーブルコードを読み返した

www.amazon.co.jp 先日以前も読んだことのあるリーダブルコードを読み返しました。 実はエンジニアとして実務に携わる前から読んではいたのですが、中盤のページ以降から経験不足が故にきちんとした理解に落とし込めてはいませんでした。 実務を経験して3年…

Raspberry Piで温湿度を計測してWebアプリ上から確認できるようにした

こんばんは!年末年始はいかがお過ごしでしたでしょうか? 今年は何をしていたかというと年末に秋月電子様で購入した温湿度センサーで遊んでました。測るだけでなくせっかくなら計測値を今使っているWebアプリ上で表示できたらなと思い、実践してみました!