findコマンドでファイルを探す
linuxのfindコマンドの使い方
基本
$ find <検索の起点ディレクトリ> <オプション> <条件指定>
具体例
$ find . -name '*.txt'
意味: カレントディレクトリ以下に存在している、拡張子が.txtのファイルをすべて表示させる
オプション
-iname で大文字小文字を区別しないで検索する
-type f,d,l でそれぞれファイル・ディレクトリ・シンボリックリンクを検索する
例
$ find . -type d
意味: カレントディレクトリ以下にあるディレクトリを列挙
-a(and) -o(or) オプションで複数の条件指定
例
$find . -type d -a -name 'local'
意味: カレントディレクトリ以下にある、名前にlocalが含まれるディレクトリを検索
Pythonのlambda関数
Pythonのlambda関数(無名関数)は、一文で表現される、名前のない関数のこと。
具体例
例えば引数の和を取って返す関数を普通に書くと、
def add(a,b): return a+b
これが、lambda関数を用いると
lambda a,b:a+b
となる。
コロンの左側が引数、右側が戻り値。
わざわざ名前をつけて管理するまでもないちょっとした処理をさせるのに便利。
ありがちなルータの管理画面のアドレス
ネットワークの設定を弄りたい時、ブラウザで自分が契約しているルータの管理画面を呼び出す必要がある。
管理画面への入り方は主に取扱説明書に書いてあるが、手元にないときが多いので、各社でありがちなルータの管理画面のアドレスをメモしておく
入り方は以下のアドレス(192.168…)をwebブラウザの検索窓(urlを入力するところ)に入力してエンターキーを押すだけ。
IPアドレス
- 192.168.0.1 (バッファロー、NEC,I.Oデータ)
- 192.168.0.210
- 192.168.1.1 (corega,PLANEX)
- 192.168.1.220
- 192.168.1.230
- 192.168.1.249
- 192.168.1.250
- 192.168.2.1 (Logitec)
- 192.168.11.1 (バッファロー)
- 192.168.11.100 (バッファロー)
- 192.168.12.1 (バッファロー)
- 192.168.100.1 (UQwaimax)
- 192.168.111.1
- 192.168.128.1 (huawei 504HW)
パスワード
- admin
- password
- なし
等がありがち。
数撃ちゃ当たるで頑張ってください
(説明書等見るのが確実です)
ゼロから始める(た) Travis CI
Travis CIって?
Travis CIを使うと、GitHubにコードをプッシュするだけで自動的にコードのテストを行ってくれる。
さらにテスト結果がメールで届いたりする。
SignUpからテストの実行まで,一通り行ったので手順をメモっておく。
このページを読むと…
Travis CIを使って、プログラムの簡単なテストが出来るようになる。
前提知識
“ゼロから"と言っても、やはり多少の準備は必要
- GitHubのアカウントを持っている
git commit
,git push
等ができる- シェルの基本的なコマンドの意味がわかる (
echo hoge > hoge.txt
とか)
逆に言えば、これぐらいの知識でも使いはじめることはできるということ
準備編
練習用のリポジトリを作ろう
GitHubの自分のページに、練習用のリポジトリを作成しよう。
practice_Travis_CI
でもなんでもOK。
Travis CIに登録しよう
Travis CIのページにアクセスし、Sign Up ボタンを押す。
GitHubのアカウントとパスワードを入力するだけで登録完了。
リポジトリをTravis CIに登録しよう
Travis CIのページの左側に、[My Repositories]ボタンがあるのでクリックすると、自分のリポジトリ一覧が見れる。
リポジトリ名の左側にチェックスイッチがあるので、テストしたいリポジトリのスイッチをONにしておく。
これで準備完了。
実践編
実際にテストを行うには最低でも以下の4つのファイルが必要になる。
- テスト対象となるプログラム
- テスト内容について記述してある.yml(やむる)ファイル
.travis.yml
。*1 .travis.yml
によって呼び出される、テストを実行するシェルスクリプト- プログラムの望ましい出力結果が記述してあるリファレンスファイル
スイッチオンにしたリポジトリに更新をgit push
すると、.travis.yml
ファイルにある記述に従って、自動的にテストが実行される。
それぞれ実際に作成してみる
1 テスト対象のプログラム(target.py)
何でもいい。今回は0~10までの値を標準出力に書き出すpythonプログラム、target.py
にした。
#!/usr/bin/env python #coding:utf-8 #0から10まで標準出力する for i in range(11): print i
2 .travis.yml
テスト内容について記述してある.ymlファイル。
script: sh -e ./test.sh
意味
3 テスト用のシェルスクリプト(test.sh)
#!/bin/sh python target.py > result diff result ref echo $?
意味
- プログラム
target.py
を実行して、結果をresultってファイルに書き込んでね - resultとリファレンス用のファイルrefの内容を、diffコマンドで比較してね(一致すると終了ステータスは0になる)
- 終了ステータスを吐いてね
4 リファレンス用ファイル(ref)
プログラムの望ましい実行結果が書いてあるファイル
中身
0 1 2 3 4 5 6 7 8 9 10
こんだけ*3。
テスト実行
先述の4つのファイル(target.py, .travis.yml, test.sh, ref)を作成し、git add
-> git commit
-> git push
すればOK。
今後はリポジトリの内容を更新してgit push
するたびに勝手にテストが実行される。
結果はTravis CIのページで確認できる。メールで報告も来る。
テスト結果
成功すると(するんだけど)こんな感じ
target.pyかrefを適当に書き換えると、テスト失敗が帰ってくる。こんな感じ
もっと
これ↓とか詳しい
knowledge.sakura.ad.jp