めも

これはメモ。

Powershell上でtail -f コマンドを再現

問題

Windows上でログファイルを監視するためにtail -f を実行したい。

解決

tailコマンド

Powershell起動後、コマンドラインにて

$Get-Content -Path "C:¥...¥...(ファイルへのパス)" -Tail -Wait 0

headコマンド

上位10行の場合は

$Get-Content "C:¥...¥...(ファイルへのパス)" -head 10

最近買った本について (2019.05.05付近)

前回:2019/1/7付近

以下、買ったもの(の一部). 意外と少なかった.

自学用

  • バンディット問題の理論とアルゴリズム
  • ガウス過程と機械学習
  • ヒルベルト空間入門
  • 線形代数の本の何か
  • 技術系の同人を数冊

工学系学生のためのヒルベルト空間入門

工学系学生のためのヒルベルト空間入門

プログラミング

  • C++関係の書籍
  • プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~

始めるために購入.

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

書籍ではないですが以下のサイトも読む予定.

漫画(あいうえお順)

これら+数冊購入.

赤井さしみさん

友人の推しで既刊を購入、よかったです.

www.pixiv.net

クール教信者さん

メイドラゴン最新刊、英版もののけしぇありんぐ最終巻を購入. 英版もののけしぇありんぐは3月に購入した(もともと3/4頃に発売される予定だった)ものの延期が重なってまだ届くのは先のようです、気長に待ちます.

seiga.nicovideo.jp

塀さん

月のテネメントを購入.

水井軒間さん

COMITIAにてポストカードを購入.

模造クリスタルさん

クリアファイルと新刊を購入.

www.mozocry.com

python・C++などのデザインパターンについてメモ

デザインパターンの復習とpython以外のデザインパターンのページのめも.

デザインパターンとは

デザインパターン (ソフトウェア) - Wikipedia

再利用がしやすいクラスやライブラリの作成に置ける知見をまとめたもの、テンプレートにしたもの. 過去に似た問題に直面した(デザインパターンとして既に存在するような問題に直面した)ときの解決法を再利用することで実装を短く、技術者同士のコミュニケーションも容易になる.

各デザインパターンの概要

以下のサイトが日本語でわかりやすいです、言語はJavaです.

デザインパターン | TECHSCORE(テックスコア)

各デザインパターンのクラス図についてはUMLのクラス図を理解する必要があります.

www.itsenka.com

各種言語での例

python

github.com

C++

en.wikibooks.org

Rust

github.com

javascript

addyosmani.com

Go

github.com

Ruby

morizyun.github.io

Scala

www.lihaoyi.com

余談

※本題とは一切関係ないです

www.datasciencecentral.com

Data Science Design Patterns

Data Science Design Patterns

gitのコミットメッセージの書き方について

複数の場所でgitを使う機会が増えてきたのでおさらい.

コミットメッセージで守るべきルール

How to Write a Git Commit Messageの "The seven rules of a great Git commit message" より.

  • コミットのタイトルの次の行は空白行にする
  • コミットのタイトルを50字まで
  • コミットのタイトルの頭文字は大文字に
  • コミットのタイトルの文末にピリオドは不要
  • コミットのタイトルは命令形(imperative)
  • コミットの概要(タイトル以下の文章)は1行72字まで
    • ただしタイトルだけで十分伝わる(typoなど)場合はタイトルのみで良い
  • コミットの概要(タイトル以下の文章)で何を変えたかとなぜそれをしたかを説明する

コミットのタイトル

基本50字以内で記述、最大69字. 命令形に統一し、過去形などの混在を避ける.

If applied, this commit will ... (引用元: How to Write a Git Commit Message)

... にちょうど入るようなコミットのタイトルが良い.

アトミックコミット

コミットの内容を約50字でまとめられ無い場合、コミットに含まれる変更が多すぎる可能性を考えてみる.

コミットメッセージ例

  • Add 機能追加・ファイル追加
  • Fix バグなどの修正
  • Update サードパーティのライブラリ・テスト用のファイルなどを更新
  • Improve 改善(高速化、コード整理など)
  • Remove ファイル・コードを除去する
  • Rename ファイル名を変更
  • Move ファイルを移動する
  • Don't 何らかの機能を使用しないように変更
  • Use 何らかの機能やサードパーティなどを使用するように変更、Use XXX instead of YYYなど.
  • Change 変更(ログの内容変更、など)

他のコミットメッセージ例は以下のページを参照.

[転載] gitにおけるコミットログ/メッセージ例文集100 · GitHub

git bisect

最新版にバグが含まれていた場合、どのコミットにバグが含まれているか・重要でないコミットが含まれるかを探索.

アトミックコミットを意識しつつ、コミットの内容とメッセージを整えておけばどの時点でバグが含まれたのかも調べやすい.

Git - Git によるデバッグ

参考文献

Macにてopenposeを使用する

めも、上から順に実行します.

環境

  • Mac OS mojave version 10.14.4, CPUのみ
  • Python 3.7
  • anaconda での仮想環境下

openposeをクローン

$ git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
$ cd openpose

必要なライブラリのインストール

msgpackのインストール

pip install  msgpack

install_deps.shの中で使用するため、ない場合はインストールする.

readmeにて指定されたものをインストール

$ bash scripts/osx/install_brew.sh
$ brew cask install cmake
$ bash scripts/osx/install_deps.sh

extrinsic camera calibrationなど一部の関数を使用する場合は追加でeigenのインストールが必要.

以下参照:

cmakeによるビルド

MacのアプリケーションからcmakeのGUIを開き、以下のように指定する. buildディレクトリは空のディレクトリを新しく作成してそれを指定する.

f:id:misos:20190504185047p:plain
cmakeの指定例

f:id:misos:20190504185500p:plain
デフォルトを指定

上記の状態で Configureを実行. モデルのダウンロードなどもこの内部で行われるためインターネット環境によっては時間がかかるので注意してください.

cmake時のエラー

最新のものをクローンした際、

No download info given for 'openpose_lib' and its source directory: 
 ...

とエラーが出てcmakeが実行できず. 以下にてcaffeを先にクローンしておくことで解決しました.

$ cd 3rdparty
$ git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe.git

ビルド

$ cd build/
$ make -j`nproc`

openposeの実行

ドキュメント:qucikstartの項を参照

参考文献

github.com