Emacsでキーの割り当てを調べる
M-x describe-bindings でいける。よく思い出せずに苦労するのでメモ。
# du -m /home | sort -nr | head -5で容量の大きいディレクトリTOP5調べられる。
解像度の高いMacのEclipseは下のようになぜかPackage Explorerのフォントが小さい。Source EditorなどはEclipse上でフォントサイズを設定することができるけど、なぜかPackage Explorerはできない。
んで、色々調べてたどりついたのがMake Eclipse use larger fonts – Mac OS X Hintsという質問。TinkerToolというソフトを入れて フォント→ヘルプタグのフォントサイズを大きくすればいいらしい。
こんな感じで大きくなった!これは11pt -> 15ptに変更した場合のもの。
このTinkerToolというソフト、他にも色んな設定ができて便利そうな雰囲気。とりあえずMacのEclipseで「フォントサイズが小さい」とお嘆きの人はぜひ試してみてほしい。
Effective Java 第2版 (The Java Series)
著者/訳者:Joshua Bloch
出版社:ピアソンエデュケーション( 2008-11-27 )
単行本(ソフトカバー) ( 327 ページ )
仕事でMyISAMなテーブルをInnoDBにしたかったのでこんなん書いた。
$ ~/to_innodb.py -h localhost -u root mydatabase
#!/usr/bin/env python # -*- coding: utf-8 -*- # INSTALL ==================== # $ sudo easy_install argparse # $ sudo easy_install mysql-python import argparse import MySQLdb import os def main(): # setup command line options parser = argparse.ArgumentParser( prog = os.path.basename(__file__), description = 'Convert all tables to InnoDB', conflict_handler = 'resolve' ) parser.add_argument( 'database', metavar='DATABASE', nargs=1, help='database name.', ) parser.add_argument( '-h', '--host', metavar='HOST', default='localhost', help='host name', ) parser.add_argument( '-u', '--user', metavar='USER', default='root', help='user' ) parser.add_argument( '-p', '--password', metavar='PASSWORD', default='', help='password' ) parser.add_argument( '-P', '--port', metavar='PORT', type=int, default=3306, help='port' ) options = parser.parse_args() db = MySQLdb.connect( host = options.host, port = options.port, user = options.user, passwd = options.password, db = options.database[0]) cursor = db.cursor() # get all table names cursor.execute("SHOW TABLES") for row in cursor.fetchall(): table = row[0] print("--- %s ---" % (table)) cursor.execute("ALTER TABLE %s ENGINE=InnoDB" % (table)) cursor.close() db.close() if __name__ == '__main__': main()
Webサーバがちゃんと立ち上がったかどうか、URLにアクセスしてチェックしたいので。
wget -o /dev/null -O - http://twitter.com/ > /dev/null if [ $? -eq 0 ] ; then echo "OK" else echo "Failure!!" fi
な感じかなぁ。
思い返してみると、昨年の12月に諸事情があって転職活動をせざるを得なくなって、今年の2月までは転職活動してたんですね。最終的には緑色の会社に行くことに決めたのですが、自分が思っていたより遥かに自由にやらせてくれる会社だったので、すごくあたりくじを引いた気分です。上場してるはずなのにこんな自由でいいんだろうか、と思ってしまうレベル。あと、一緒に仕事をしている人は何に対しても前向きな人が多いので、相変わらず回りの人にも恵まれています。
関わっているサービスは、事業的には非常に成功しているので自分の出る幕がないのですが、サーバの管理や裏側の仕組みはまだまだ改善の余地ありなので、来年1年間かけてしっかりと直していきたいところ。ただ、その部分に注力できるような、アプリのコードを書けてサーバ運用もある程度わかるエンジニアが圧倒的に少ない!ので、もしそういう人が転職活動を考えていればぜひぜひ話をしたいです:-)
プログラミング言語的には Perl から Java になりました。Javaは言語としてはしっかりしているのですが、やっぱりLLのお手軽さを経験してしまうとかなり堅苦しい印象が強いです。あとはJVMの運用が大変(GC回りだったり、シグナル使えなかったり)。そして運用系のツールはPythonで行くことを決めて、社内で草の根Python勉強会を始められたのが良かった。毎週誰かがプログラムを書いてきてそれを発表するというスタンスでやっているのですが、自分一人だったら絶対に途中でくじけていたことでしょう。PythonはPerlと比べると若干制約が多い言語だという印象ですが、標準ライブラリが充実しているのが好きです。Pythonのいいところはまた別エントリでまとめたいところ。
データベースは相変わらずMySQLで、前職の経験もだいぶ生きています。やっぱり運用回りの知識がある程度ないとインフラの人と話ができないので。社内ではMongoDBの事例も出て来ているので、来年はMongoDBを真面目に勉強したいところです。
社外の勉強会では、qpstudyの最初の回でrsyncのちょっとイイ話というタイトルで発表したり、study2study のWebサーバ勉強会 #1でちらっと発表したり。自分にはまだまだ創意工夫が足りないので、すごく他の人の役に立つような話はできないのですが、来年はtomahawkの布教活動を進めていきたいなぁ。
全然まとまってないのですが、来年はPythonやPerlなどのLLを引き続き頑張っていくのと、AppEngineが良さそうなので自分で何かサービス作りたいです。エンジニアとしてのキャリアパスは相変わらずよくわかりません。というわけで皆さん1年間ありがとうございました。また来年!
おそらくvirtualenv使ってると発生するのだと思うのですが、AppEngine for Pythonで下記のようなエラーがでました。
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 61, in <module> import cgi ImportError: No module named cgi
/usr/local/bin/dev_appserver.py の1行目のshebangを
#!/usr/bin/env/python ↓ #!/usr/bin/python
にしたら直りました。
コメント