ターミナルでタブを開きすぎて作業内容がわからなくなるのを防ぐ方法
なにかの作業をするときはできるだけ作業毎にウインドウやタブをわけています
しかしターミナルではタブやウインドウに名前が付かず 時間が経つとそれぞれが一体なにをしていたものなのか不明になってきてしまいます
忘れるということは重要ではなかったのだと思いますが なんとなくもったいない気もしていました
最近 作業内容が不明 → タブの全消しの流れに嫌気が差してきたのでタブに名前がつけられる方法を探してみました
HOWTO
Shift + Command + i
とても簡単なので活用していきたいです
ちなみにウインドウのタイトルはタブごとに設定が変わるようなのでイジらないほうが楽だと思います
cf.
http://wayohoo.com/mac/tips/how-to-change-the-name-of-the-tab-of-the-terminal.html
Python のイースターエッグ
いろいろあるの知ったので
>>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! >>> import __hello__ Hello world! >>> import __phello__ Hello world! >>> from __future__ import braces File "<stdin>", line 1 SyntaxError: not a chance >>> import antigravity >>> love = this >>> this is love True >>> love is True False >>> love is False False >>> love is not True or False True
this
は有名ですね
__hello__
と __phello__
は C から Python のモジュールを使うときの確認でつかうそうです
braces
は語気が強すぎて笑える
antigravity
は Python の作者の Guido 氏が Google の App Engine チームで働いていて定義されている fly( ) に関連してとのことです マニアック
結果↓
xkcd.com/353/
最後のはよくできてんなーって感じです
cf.
Check IO open-labyrinth
迷路探索
迷路は壁をさわって移動し続ければ脱出できるのでそんな感じで S を向いてたら ESWN で移動できる場所に移動の繰り返し
nonlocal
を使ってみたかった
roman-numerals
アラビア数字をローマ数字に変換するという問題
以下で 0 ~ 9 まで作ります
規則は桁が変わっても同じ
def make_rn(i, v, x): rn = [i*n for n in range(4)] # 0, 1, 2, 3, rn.append(i+v) # 4 rn.append(v) # 5 rn += [v+i*n for n in range(1,4)] # 6, 7, 8 rn.append(i+x) # 9 return rn
3999 までなので M は MMM まで
int と str を行き来してるのがツラい
Check IO x-o-referee
解説いれてきます
マルバツゲームの判定を書く問題で 単純に 縦、横、斜め でパターンがあるのかっていうのを見ればいいなっていう感じで
r = gr # 横 r += ["".join(v) for v in zip(*gr)] # 縦 r += [gr[0][0] + gr[1][1] + gr[2][2], # 斜め gr[0][2] + gr[1][1] + gr[2][0]]
でこのあとパターンを確認して True ならそれを戻します
まあ X O が同数っていうのは現実的じゃないんですけど一応
Python 環境構築メモ
2014-03-13 22:54
~ %brew install python ~ %pyvenv venv ~ %source venv/bin/activate (venv) ~ %cd venv/lib/python3.3/site-packages/ (venv) ~ %sudo curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py (venv) ~ %python get-pip.py (venv) ~ %pip3 install spam (venv) ~ %python -m spam Hello, I am spam!
get-pip.py
の実行を書き漏れてたのと pip3
にするのを忘れていたようです
pip3 -V
するとどこの pip
をつかうのかわかるっぽい
2014-03-09 11:09
前のでイケたとおもったんですけど どうもうまくいかなかった
~ %brew install python ~ %sudo curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py ~ %pyvenv venv ~ %source venv/bin/activate (venv) ~ %pip install -t venv/lib/python3.3/site-packages/ spam (venv) ~ %python -m spam Hello, I am spam!
2014-02-20 20:27
~ %brew install python ~ %pyvenv venv ~ %source venv/bin/activate (venv) ~ %sudo curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py (venv) ~ %pip install spam (venv) ~ %python -m spam Hello, I am spam!
2014-03-08 23:44 訂正 sudo
-> sudo curl
speech module
ほかの人のはだいたい辞書とかリストつくってそこから拾うみたいなのが多かった
def checkio(number): a = [] if number == 0: return FIRST_TEN[0] if number >= 100: a.append(FIRST_TEN[int(number / 100)]) a.append(HUNDRED) number %= 100 if number >= 20: a.append(OTHER_TENS[int(number / 10) - 2]) number %= 10 if number >= 10: a.append(SECOND_TEN[number - 10]) number = 0 if number >= 1: a.append(FIRST_TEN[number]) return ' '.join(a)
http://www.checkio.org/mission/speechmodule/publications/matuyuji/python-3/first/