windowsでcygwinでgitを使うメリット・デメリット

Windows上でgit使う人は、素直にhttp://git-scm.com/から取得して使うのが普通なんですが、古き良きCygwinでGit使うのもキレイなターミナルで日本語に悩まされずに使えるので結構オススメですよ。みんな使えばいいってわけじゃなくて短所もあるので判断した上で。

何をいまさら感もあるのですが、備忘録的に書かせてください。

メリット

  • 日本語文字化けしない
  • ターミナル上で日本語打てる
  • Cygwin Terminal (Mintty)フォントキレイ!透明化背景スキスキ
  • git以外のUnix系ツールも使えること多い(zsh, screen.. などtmuxは無理っぽい?)

デメリット

  • 最新じゃないので追っかけてる人には厳しい
  • gitkにx serverが必要→(ここだけmsysgitのgitk使ってる)

Cygwin使うので万人向けではないと思います。そういう前提で書いたものですのでデメリットを享受できるかた、Windowsのコマンドプロンプトに辟易している人は、検討してみてもいいと思います。

ターミナルMinttyの設定で透明化、256色カラー指定、Rictyへのフォント変更などができるので、見た目もストレス減ります。

ターミナル上での日本語入力(vimを起動したコミットコメント編集)
cygwin12

git logでの日本語表示
cygwin13

git commit -m での日本語コメント設定
cygwin15

日本語名ファイルのコミット
cygwin16

ターミナル上での日本語関係の問題点は、ほとんど無くなるとおもいます。

設定

cygwinのsetup.exeをダウンロードしてインストールします。
cygwin01

適当に進めていってPackageの選択で、git, opensshあたりを入れておきます。vimなんかも使う人はどうぞ。
Package選択は検索ボックスに入力すればインクリメンタルに絞り込まれるのですが、遅いので1文字1文字引っかかります。でも焦らず待ちましょう。
余談ですが、setup.exeは今後もパッケージをインストールするときに便利だったりするので、cygwinディレクトリに保存しておいて必要なときにまた起動しましょう。インストーラとはちょっと違うので。

インストールが完了すると、Cygwin Terminalのショートカットがデスクトップ上に作成されます。これを起動するとあんまりキレイじゃないCygwinTerminalが立ち上がります。
ウィンドウ左上のアイコンからオプション設定をおこなって自由に変えてください。Transparencyが背景透明化で良い感じになります。フォントやらもお好きな様に。

cygwin17

cygwin上での/home/username のホームディレクトリは、Windows上でc:\cygwin\home\username のようになります。ターミナル上でできたファイルでもWindowsアプリで触ることができます。

gitの日本語のためにこの設定は忘れないでください。
$ git config –global core.quotepath false
cygwin14

UTF-8環境で表示するのにこの設定がないと文字化けします。Cygwin向けの設定はこれぐらいです。

あっ、設定これだけって書きましたがもう一つありました。gitkをCygwin上で動かすのは面倒なんです。そこでmsysgitもやっぱりインストールして、gitkコマンドを打った時にそっちを起動するようにエイリアスを作ってます。(やっぱり必要なのかよ!)そのうちSourceTreeのWindows版もでそうなんで我慢しましょう。

それでは快適なターミナルライフを!


Crowyがオープンソース化された→とりあえず動かし方

CrowyはHootSuiteと並んで、Web型SNSクライアントでマルチカラムなところが似てたんですが、Twitter以外にも力を入れているところがありました。Google App Engine for Pythonを使っているというのをリリース当初に聞いてました。そのCrowyがオープンソース化されると!

前向きなオープンソース化ではなくて、サービス継続困難のためになんとかしてください!というオープンソース化。ひえー!
https://github.com/co-meeting/crowy

とりえあえず、動かすところまで確認できたので。

まずGoogle App Engine for Pythonが必要です。

Twitter APIのConsumer Keyは自前で用意しなければなりません。
https://dev.twitter.com/apps/new
開発用に自前で作成しておきます。
conf/settings.pyを編集して、TWITTER_CONSUMER_KEYとTWITTER_CONSUMER_SECRETを設定しておきます。

Pythonのバージョンは2.5系でないとダメです。GAEで開発するときは2.7系でもまあ警告付きで開発できちゃうのですが、2.5系に依存したコードになっているので、2.5系にしないとこのへんでエラーになります。

File ".../crowy/src/httplib2/__init__.py", line 64, in
_ssl_wrap_socket = ssl.wrap_socket
AttributeError: 'module' object has no attribute 'wrap_socket'

sslモジュールが、用意されてあるのですが、2.6系以降は標準ライブラリにsslモジュールがあるのでそのためにエラーになるっぽい?

virtualenvを使っているんであれば、2.5系の開発環境を用意してその上で動かしましょう。

$ virtualenv --python=python2.5 env
New python executable in env/bin/python
Installing setuptools............done.
Installing pip...............done.
$ source env/bin/activate
$ python /usr/local/bin/dev_appserver.py .

動きました。

Googleアカウントのログインがあるのですが、Google App Engineの開発サーバで動かしているので、ダミーのログインになります。
そのあとは通常のCrowyの操作と同じです。Twitterアカウントの設定をすることでタイムラインが表示されます。(このとき先ほど設定したTwitter APIのConsumer Keyのアプリが利用されます)

Crowyの3/5までの修正点としては、公式ブログにまとめてあるとおり

  • API v1.0からv1.1への変更
  • ツイート表示形式の厳格化(詳しくはDeveloper Display Requirements)

がメイン。v1.1対応については、基本的にはAPIの置き換えでいいはずなんですが、Crowyの機能によっては1.1では実現できなくなる機能もあります。延命するのが目的なんで、そういう機能はとりあえず切り捨てるしかしょうがないかと思います。HootSuiteもRetweeted to meなんかの機能を停止しちゃいます

割り切ってAPIでできないところは切り捨てていきましょう。Retweet系の幾つかは切り捨てて、controller/twitter.pyエンドポイントを1.1に変えればわりと動くんじゃないかな。。。それと動く・動かないとは別の話としてRate limitのカウント方法が変わります。どの程度使われているのか実績がわからないのですが、API制限がきつくなったりすることも考えられます。。

Twitter以外のサービスについてはしりません。。
表示形式の厳格化はそのとおりにしないとですね。ハイ。

とりあえず、ここまでやった。


iPadじゃイマイチ捗らないこと

iPadたいへん便利な「たぶれっとー」なんですが、「ノート買う?」それとも「iPad買う?」って迷ったときに考えたいこと。

iPadいわゆるiOSって前面に出てるアプリは1つだけです。バックグラウンドで動くっていってもパソコンのそれとは全然違います。なので、Webブラウザを閲覧しながら、ブログ書くとか、なにか複数の作業を並行して行う場合には非常に不便です。

一応、タスク切り替えが簡単にできるのですが、Web閲覧しながら、ちょこっとコピーして、文章書いて、また閲覧しながら・・・みたいな作業は捗りません。。。リファレンスみながらコード書くとか、辞書系みながら文章読む、画像編集しながら別の作業するとか並行作業が苦手です。

おまけにソフトウェアキーボードがでれば画面の半分ちかくを占有されて物書きには不便なんですよね。。そこで、はいBluetoothキーボードですね。外部キーボード持ち歩けば、ソフトウェアキーボードに画面を邪魔されません。でもそこまで来たらノートPCに近いですよね。。

 

Apple Wireless Keyboard (JIS) MC184J/B
アップル (2011-07-22)
売り上げランキング: 398

 
 
やっぱり私が思うに、iPad、いわゆるタブレットは入力系端末ではなく情報閲覧端末なんです。多少の入力もできるけど、やっぱり手軽に閲覧するのがベストな端末だと思いました。

あっ、iPadは大変いいものですよ!ただノートPCの置き換えとかで迷っているんであれば、参考にしてください。

それでは快適なiPadライフを!