2017-04-01から1ヶ月間の記事一覧

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 となる。 コロンの左側が引数、右側が戻り値。…

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

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