プログラミング

Google TestのASSERT_EQとEXPECT_EQの違い

普段C++のユニットテストはGoogle Testを使って書くことが多いのですが、ちょっと時間が空くと諸々仕様忘れて同じこと何回も調べなおしてる気がするので、自分がちょいちょいハマる仕様を順次残していこうかと思います。 ASSERT...
linux

lsyncd 2.1で特定のファイルのみを同期させる

lsyncdで特定のファイルだけを同期したかったのですが、lsyncdはバージョン2.1未満と2.1以上で使い方が違ってはまったのでその対応メモです。 lsyncdの導入方法はこちら。 バージョン2.1ではrsyn...
2020.03.14
linux

Ubuntuにlsyncdを導入する

ディレクトリのリアルタイム同期をしたかったのでUbuntu 18.04 LTSにlsyncdを導入しました。その時の手順メモです。 lsyncdのインストール まずはlsyncdをインストールします。これはaptコマンド一発で...
2020.03.09
DB

【MySQL】新規DBを作成してデータを登録するまで

普段MySQLをあまり弄らないので、たまに弄ろうとすると毎回各種コマンド忘れて無駄に時間取られるので、新規DBを作成してそこにデータを挿入するまでの手順をメモしておきます。 MySQLへ接続 何はともあれまずはMySQLに接続...
Web開発

【Golang】Echo v4をインストールする

Go言語のWebフレームワーク、Echoを使ってみようと思ったのですが、導入に少しはまってしまったので対応メモです。なお環境は Ubuntu 18.04 LTS (WLS)Golang 1.13.4 となっています。 問...
2020.03.25
linux

Linuxのデフォルトシェルを確認する

久しぶりにログインしたLinuxサーバで、デフォルトで使用しているシェル何だっけ?となった上に確認方法を忘れていたのでメモです。 確認方法 これで確認できます。 $ echo $SHELL /bin/bash 参考...
linux

【シェルスクリプト】$’\r’: command not foundと表示される原因と対処法

定期的に同じトラップにはまるので、いい加減忘れないよう備忘録です。 現象 こんな感じで絶対に動きそうなシェルスクリプトがあります。 #!/bin/bash echo "hogehoge" でも実際に実行してみる...
開発環境

vimでファイル末尾の改行コードを保存しないようにする

vimで保存すると末尾に改行コードが入る Linuxのvimだと、デフォルトでファイル末尾に改行コードが挿入されるようになってます。 なので、catで見たら1行しかないように見えるようなファイルでも、 $ cat hog...
linux

rsyncのappendオプションのせいでファイルが壊れたり転送されない件について

データのバックアップにrsyncを使ってみたのですが、appendオプションをつけたせいでファイルが壊れたり転送されなかったりしてはまったので、もうはまらないように備忘録を残しておきます。 現象 rsyncでファイルの同期をと...
2020.03.08
ブラウザ拡張

Create React Appを使ったChrome拡張開発

最近趣味でChrome拡張を開発してるのですが、JQueryで大きなhtmlをDOMに挿入するのが辛くなってきました。Reactを使えばそのへん上手く切り分けられて幸せになれるんじゃない?って思ったので、ReactでChrome拡張の作成...
Web開発

Create React Appでinline scriptを使用しないようにビルドする

やりたいこと Create React Appで開発したアプリを何も考えずビルドすると、JavaScriptのコードはbuild/index.htmlにインラインスクリプトとして埋め込まれます。 これをbuild/index....
2020.01.01
ブラウザ拡張

【Chrome拡張】SPAやSSRのWebページでページ遷移を検知する

GitHub上で動作するChrome拡張を作成したかったのですが、目的のページへ遷移しても動作しなくてはまったので対応メモです。 やりたいこと GitHub上の特定のページへ遷移すると発火するChrome拡張を作りたいです。 ...
2020.05.05
linux

【Linux】mvとcp+rmの違い

ファイルをmvするのと、cpしてから元ファイルをrmで消すのは一見して同じ挙動のように見えます。自分もそう思っていたのですが、微妙に挙動が異なることに気づいたので、違いをまとめます。 結論 先に結論から書いておくと、mvとcp...
linux

zcatで未圧縮のファイルの中身も表示する

たまにgzファイルと未圧縮のテキストファイルをまとめて表示したい時があるのですが、毎回オプションを忘れるのでメモです。 やりたいこと 以下のようにgzファイルとテキストファイルをまとめて表示したいです。 gzファイルを表...
2019.10.27
プログラミング

Xcode付属のclangだとC++のfilesystemは動かなかった話

以前Windowsで書いたC++のコードをMacで動かそうとしたら「filesystemなんてないよ!!」ってclangコンパイラに怒られてちょっと調査したので、その調査メモです。 先に結論を書いておくと、Xcode付属のclang...
開発環境

homebrewでgccをインストールする

Xcode付属のclangがいまいち使えなかったので、homebrewでgccをインストールすることにしました。その導入手順のメモです。 gccのインストール はい、brewコマンド一発でインストール自体は完了します。 ...
2019.12.24
linux

権限があるはずなのにfindコマンドでPermission deniedが表示される場合の対処法

findコマンドを使ったときに、対象ディレクトリの権限があるはずなのにPermission deniedと表示されて原因究明に時間がかかったため原因と対応メモです。 現象 以下のように、findコマンドを叩くとfind: Fa...
画像処理

ExifからPixel単位の焦点距離を計算する

3次元復元系の論文を読んでいると、よく「初期値にはExifから取得した焦点距離を使用する」的なことが書いてあります。しかし、カメラ内部パラメータとかの焦点距離はピクセル単位なのに、Exifに記録されてる焦点距離はmm単位です。 ...
プログラミング

yaml-cpp 0.6.2をVisual Studio 2017以降でビルドする

ちょっとyaml形式でログを吐きたくてyaml-cppを使ってみようと思ったものの、ビルドではまったので対応メモです。 まずは普通にビルド yaml-cppはCMakeLists.txtを持っているため、CMakeを使えば簡単...
Windows

【Windows】Portを占有しているプロセスを見つけて強制終了する

最近vue.js使ったWebサービス開発の勉強をしてたのですが、ある時npm run serveを叩いてもlocalhostに繋がらなくなったので、その対応メモです。 ポートを占有しているプロセスを見つける まずは、ポートを占...