Web開発

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

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

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

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

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

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

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

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

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

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

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.htmlから外...
ブラウザ拡張

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

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

【Linux】mvとcp+rmの違い

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSSのgrid layoutを使って画面を縦に分割する

自分は基本的にはバックエンドエンジニアなんですが、GWだし時間あるしフロントエンドも触ってみようかなと思って触ってみました。 CSSとかほぼ初めて触ったので、初心者が躓くところすべてに躓いてる感あるので、もう躓かないように備忘録がてら記事に...
画像処理

【OpenCV】decomposeProjectionMatrixの使い方~完全版~

以前こんな記事を書きましたが、OpenCVの透視投影変換行列を分解するdecomposeProjectionMatrixには他にもいろいろと罠があったので完全版の使い方をまとめていきます。 まずは単純に分解 され、まずは単純にdecompo...
画像処理

透視投影変換行列は定数倍しても問題なかった話

考えてみれば当たり前だったのですが、透視投影変換行列はスケール不定性的なものを持っていることに気づいたので、まとめてみます。 透視投影変換の定数倍 透視投影変換行列とは、世界座標点を画像座標点に投影する行列のことでした。 この行列を\(n\...
画像処理

【OpenCV】decomposeProjectionMatrixを使った外部パラメータの導出

透視投影変換行列を内部パラメータと外部パラメータに分解するため、OpenCVのdecomposeProjectionMatrixを使用したのですが、ちょっと使い方にはまったので使い方メモです。 公式ドキュメントを見てみる decompose...