diffで改行コードの違いを無視する

diffで改行コードの違いを無視する diff --strip-trailing-cr LF.txt CRLF.txt

pythonの辞書型あれこれ

条件を指定して選び出す 値がNone以外の項目だけで新たな辞書を作る。 dic = {k:v for k,v in dic.items() if v != None} 応用で2つの辞書の差分(not in)、積(in)もできる。 dic = {k:v for k,v in softmachine.items() if k not in nucleus} keyを指定して…

brewで更新しようとしたら何か出た

更新しようとしたらなんか出た。 $ brew update Error: homebrew-core is a shallow clone. homebrew-cask is a shallow clone. To `brew update`, first run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow git -C /u…

~は壊れているため開ません。ゴミ箱に入れる必要があります。

(Homebrew経由で入れた)Google Chromeを使おうとしたら出た。 まさにコレ。 dyny001.net macOSのセキュリティGatekeeperをOFFにする。 $ sudo apctl --master-disable //戻すときは--master-enable password入力後、システム環境設定>セキュリティとプラ…

特定のブランチorタグをcloneする

git

git clone リポジトリ名 -b ブランチorタグ名 qiita.com

markdownのページ内リンク

<a>タグで名前付きアンカーを作って、アドレスを#から指定する。 ### h3 <a id='h3'></a> [h3へ](#h3) 見出しを<a>タグの中に入れちゃうと、markdownが見出し認識しない。 kimulog.com</a></a>

brew-caskで入れたものを更新する

追加2020/11/20 $ brew upgrade --cask [--greedy] [FORMULA...] brewから直接upgradeする。 以下古い。 $ brew cask upgrade [--dry-run] ただし、バージョン情報を持たないもの(version: latest)や、自動更新機能がある(auto_updates true)アプリケーショ…

clang-format, debian-jessieで導入する

debian-jessieではclang-format-6.0 (stretch以前はバージョン併記パッケージのみ)

vim: rhysd/vim-clang-format

vimからclang-formatを使うプラグイン github.com vim-plugで入れる場合 Plug 'rhysd/vim-clang-format' Plug 'kana/vim-operator-user' $MYVIMRCに追加、再読込み後、インストール :source $MYVIMRC | PlugInstall ファイルを整形するには:ClangFormat

vim: vim-plug

vim

vimのプラグインマネージャ。簡単で軽量。 github.com インストール ファイルをダウンロードして配置する。 $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.github.com/junegunn/vim-plug/master/plug.vim プラグインを入れる インスト…

clang-format Style Options

(事情によりclang-format-6.0縛りプレイ中) (色々試せてないので間違ってらごめんなさい) 参考資料 releases.llvm.org clang.llvm.org algo13.net yasuharu519.hatenablog.com

clang-format

ソースコード整形ツール clang.llvm.org インストール $ sudo apt install clang-format # Ubuntu $ brew install clang-format # macOS 使い方 基本スタイルとファイルを指定して整形する $ clang-format -style=google dusty.cpp > purge.cpp 結果を上書き…

ユーザー指定でgit clone

git

$ git clone https://<username>@github.com/~~~/~~~.git push/pullでユーザー名を毎回入れなくて済む。 またはグローバル設定する。 $ git config --global user.name <username> 追記: gitlab.comだと.gitまで入れないとusername認識しないっぽい gitlab.com hacknote.jp</username></username>

warning: xxx' will be initialized after [-Wreorder]

c++

初期化の順番がミスってるぞ警告。 宣言順で作成され、その逆順で破棄される。のでそれにならえ。 class T { int a, c, t; //T() : c(0), a(0), t(0) {}; //warning T() : a(0), c(0), t(0) {}; //ok }; konuma.org

指定したパーミッションのファイルを変更する、一気に

探すのはfind、リスト実行するxargs、変更はchmod $ find <path> -perm /a+x | xargs chmod -x permオプション aは全部。uユーザー、gグループ、oその他。 または数字で指定644 /は何れか、-は全てにマッチ。 /a+xか/111でユーザー、グループ、その他の何れかに実</path>…

find: paths must precede expression

*を使うとき、"で囲まないと出る(場合がある) $ find . -name "*.pdf" *がfindの引数になる前にシェルがパス名展開してしまう。 qiita.com stackoverflow.com

EXPECT_NE(NULL, ptr)、ASSERT_NE(NULL, ptr)はサポートしていない

EXPECT/ASSERT_NE(NULL, ptr)はサポートしていない。 EXPECT_EQ(NULL, ptr); // OK EXPECT_NE(NULL, ptr); // コンパイルエラー EXPECT_TRUEで代用する。 EXPECT_TRUE(NULL != ptr); // OK opencv.jp

discards qualifiers [-fpermissive]

c++

error: discards qualifiers [-fpermissive] constなインスタンスからconstじゃないメソッドを呼び出してる。 つまり、内容を書き換えちゃダメなインスタンスから、書き換えちゃうかもしれないメソッドを呼び出してる。 #include <string> class CString : public st</string>…

gitスタイルガイド

git

https://github.com/objectx/git-style-guide ブランチ名をキャメルケースにするか、ーハイフンか、_スネークどれが良いか? スタイルガイドに習いハイフンにする。 f/tidy-up 参考 qiita.com

コミット間ではなく、別々のファイル差分を見たい

git

$ git diff --no-index -- path1 path2 pathはファイルでもフォルダでも可。diffコマンドより見やすいよね。

GoogleTestで指定したテストのみ実行

コマンドラインの引数 --gtest_filter=TestCaseName.TestName または環境変数、 *は任意の文字列にマッチ $ export GTEST_FILTER="TestCaseName.*" 追記:複数の条件を指定する場合:で区切る --gtest_filter="Foo.*:Bar.*" opencv.jp paper.hatenadiary.jp