numpy覚え書き

行列の定義 >>> A = np.array([[1,2,3],[4,5,6],[7,8,9]]) >>> A array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 行列の転置 >>> A.T array([[1, 4, 7], [2, 5, 8], [3, 6, 9]]) 行列式 >>> np.linalg.det(A) 6.6613381477509402e-16 ↑の読み方: 6.66.. × 1016 …

Pythonコードの中でシェルを使う

Pythonのスクリプトの中からシェルのコマンドを呼び出して使う。 $ python >>> import commands >>> commands.getoutput("<任意のコマンド>")

ネットワーク関連のコマンド覚え書き

ゲートウェイのIPを調べる $ route -n IPアドレス、MACアドレス等を調べる $ ifconfig 同じLANに接続されているコンピュータのIPアドレス一覧を取得する # arp-scan -I <ネットワークデバイス(wlan0等)> -l コンピュータがどのLANに接続されているのか確認す…

Pythonでリストの中身が勝手に変わってしまう時は

Python2.7 Pythonのあるリスト(Aとする)に別のリスト(Bとする)をアペンドすると、アペンドしたリスト(B)の変更がアペンド先のリスト(A)の中身に影響を与えることがある←よくわかってないです 例 >>> listA = ['A'] >>> listB = ['B'] >>> listA.append(listB…

git,GitHubの便利なコマンド覚え書き

ワークツリー上での削除をGitHubに反映させる $ git commit -aの後$ git push 直前のcommitのコメントを編集する $ git commit --amend 今までの一連の変更内容を確認する $ git log -p commitする前の変更を取り消す $ git checkout HEAD .

pythonのunittestの使い方

pythonのunittestモジュールを用いることで、関数のテストを行う 対象となるコード(target.py) def myadd(a,b): return a+b def mypow(a,b): return a**b これをテストするコード(test.py) #coding:utf-8 import unittest from target import myadd from tar…

ROSでワークスペースとパッケージを作る

ROS

ワークスペースの作り方 ROSのワークスペース(catkin_ws)を作成する $ mkdir -p ~/catkin_ws/src $ cd ~catkin_ws/src $ catkin_init_workspace $ catkin_make $ source ~/catkin_ws/devel/setup.bash (この行は~/.bashrcの最後に追記しておくとよい) これで…

ROSのコマンド覚え書き

ROS

調べる系 rostopic type /..,rosservice type topic,serviceの型を調べる rostopic list,rosservice list,rosparam list 現在登録されているすべてのTopic,Service,パラメータが表示される rosservice type /.. | rossrv show サービスが受け取る引数と戻り…

gitの初期設定

gitに名前とメールアドレスを登録 $ git config --global user.name "<ユーザ名>" $ git config --global user.email "<メールアドレス>" gitで使用するエディタを定義 $ git config --global core.editor 'vim -c "set fenc=utf-8"'

ファイルのアーカイブと圧縮とパスワード保護

tarコマンド 用途 ファイルをアーカイブ(まとめる)する アーカイブファイルの作成 $ tar cf <アーカイブファイル> <アーカイブ元のファイルパス> アーカイブファイルの内容を確認する $ tar tf <アーカイブファイル> アーカイブファイルの展開 $ tar xf <ア…

bashのブレース展開で連番のファイルを作成

bashではブレース展開を用いることで、連番のファイルを作成することが出来る {<開始>..<終了>} 例1 001.txtから020.txtまでを作成 $ touch {001..020}.txt $ ls 001.txt 003.txt 005.txt 007.txt 009.txt 011.txt 013.txt 015.txt 017.txt 019.txt 002.txt …

Pythonのデコレータ

作成した関数を書き換えずに、その関数の働きに変更を加えたい時、デコレータを用いることができる。 デコレータとは、入力として関数(変更を加えたい関数)を取り、出力として別の関数(変更を加える関数)を取る関数のことである。 具体例 引数として取ったふ…

TensorFlowで乱数生成

一様分布 random_uniform関数を用いて一様に分布する乱数を生成する サンプル #coding:utf-8 import tensorflow as tf #100次元、0から10まで一様に分布する不動少数点型の変数を作成 uniform = tf.random_uniform( \ [100],minval=0,maxval=10,dtype=tf.flo…

シェルスクリプト覚え書きその2 制御構造編

条件分岐 if文 例:ひとつ目の引数が1ならYES,そうでないならNOと出力 #!/bin/bash if [ "$1" = "1" ] ;then # [,],=の前後にスペースが必要 echo "YES" else echo "NO" fi 比較 文字列の比較 str1 = str2 str1とstr2が等しい str1 != str2 str1とstr2が等し…

シェルスクリプト覚え書き シェル変数と引数 編

変数関連 変数の定義 file=/media/usr-name/ 変数名に使えるのは アルファベット、数字、アンダースコアのみ 変数の参照 変数の値を参照する際には、変数名の前に$をつける。 echo $file /media/user-name/ コマンド置換 コマンド置換を利用することで、コマ…

シェルスクリプトをどこからでも実行できるようにする

通常シェルスクリプトは、シェルスクリプトが存在しているディレクトリで$ ./hoge.shとタイプすることで実行する これを、どのディレクトリからでも、シェルの名前だけで実行できるように設定する シェルスクリプトを保存しておくディレクトリを作成 $ mkdir…

sedの使い方

sed はストリームエディタの略 vimやEmacs,メモ帳と言った対話型エディタとは異なり、ストリームエディタはファイルを加工して結果を標準出力に書き出す。 -i オプションで上書きする。 行を指定して削除 $ sed <数字>d ファイル名 でファイルの<数字>行目を…

grepの拡張正規表現

grepコマンドの-Eオプションを利用することで、拡張正規表現を用いることが出来る 1回以上の繰り返し ‘+'で直前の文字の一回以上の繰り返しを意味する 例 grep -E 'Be+r' = Ber,Beer,Beeeer … 0回または1回の繰り返し ‘?'は直前の文字の0または1回の繰り返し…

grepやvimで使える正規表現

$ grep [オプション] <検索パタン> <ファイル名>で、ファイルからパタンに一致する内容がある行を抽出 例: /etc ディレクトリから'cron'に一致する内容を抽出 $ ls /etc | grep cron anacrontab cron.d cron.daily cron.hourly cron.monthly crontab cron.w…

便利なフィルタコマンド覚え書き

head 標準入力の先頭数行を表示 -n <数字> : 指定した行数を出力 tail 標準入力の末尾数行を出力 -n <数字> : 指定した行数を出力 -f <ファイル名> : 指定したファイルにリダイレクトで追記(>>)があるとリアルタイムで表示 grep 指定した検索パタンに一致す…

リダイレクトやパイプラインにエラーを渡す

標準入力元・標準出力先に何らかのファイルを指定するのがリダイレクト 標準出力先をfileにする > file 標準エラー出力先をfileにする 2> file 標準出力・標準エラー出力先をfileにする > file 2>&1 標準出力を別のコマンドに渡すのがパイプライン 1.標準エ…

linux ジョブとプロセス覚え書き

用語集 プロセス メモリ上で実行状態にあるプログラムで、カーネルから見た処理の単位 デーモン バックグラウンドで実行される、ターミナルに接続されていないプロセス ジョブ シェルから見た処理の単位 プロセスの確認 $ psコマンドでプロセスの一覧を確認 …

tmuxキーバインド

ctrl+b -> c : 新しいウィンドウを作成 ctrl+b -> n : 次のウィンドウへ移動 ctrl+b -> p : 前のウィンドウへ移動 ctrl+b -> 数 : 指定した番号のウィンドウへ移動 ctrl+b -> & : ウィンドウを閉じる ctrl+b -> % : ウィンドウを左右分割 ctrl+b -> “ : ウィ…

linuxのファイルパーミッション覚え書き

linuxが提供するファイルパーミッション機能によって、ファイルの読み書きや実行、ディレクトリへの書き込みや削除をコントロール出来る。 1.ファイルのオーナーとグループ、パーミッションを確認 コマンド$ ls -lで、ファイルのオーナー(所有者)と、ファイ…

linuxのターミナルの言語環境を変更する

日本語環境だと文字化けしてしまう場合などに。 現在のロケールを調べる $ echo $LANG システムがサポートしているロケールを調べる $ locale -a 言語を切り替える $ LANG=en_US.uft8(スペースを挟まない)

findコマンドでファイルを探す

linuxのfindコマンドの使い方 基本 $ find <検索の起点ディレクトリ> <オプション> <条件指定> 具体例 $ find . -name '*.txt' 意味: カレントディレクトリ以下に存在している、拡張子が.txtのファイルをすべて表示させる オプション -iname で大文字小文字…

Pythonのlambda関数

Pythonのlambda関数(無名関数)は、一文で表現される、名前のない関数のこと。 具体例 例えば引数の和を取って返す関数を普通に書くと、 def add(a,b): return a+b これが、lambda関数を用いると lambda a,b:a+b となる。 コロンの左側が引数、右側が戻り値。…

ありがちなルータの管理画面のアドレス

ネットワークの設定を弄りたい時、ブラウザで自分が契約しているルータの管理画面を呼び出す必要がある。 管理画面への入り方は主に取扱説明書に書いてあるが、手元にないときが多いので、各社でありがちなルータの管理画面のアドレスをメモしておく 入り方…

vimのTips

vim

vimの便利な操作方法を見つけたら忘れないようにメモする [s]でカーソル位置にある文字を削除&挿入モードに移行 [f] → <アルファベット一文字> でその文字を検索 [;]で次[,]で前に移動 [I]で行頭から、[A]で行末からの追記モードに移行 [Shift] + [c] — カー…

ゼロから始める(た) Travis CI

Travis CIって? プログラムのテストを自動化してくれるWebサービス GitHubと強力に連携 Travis CIを使うと、GitHubにコードをプッシュするだけで自動的にコードのテストを行ってくれる。 さらにテスト結果がメールで届いたりする。 SignUpからテストの実行…