2011/09/13

DevLOVEターミナル勉強会に行ってきました

Devからは遠ざかっている Opsよりな私ですが、タイトルと開催概要、対象参加者を読んで一も二もなく参加させていただきました。

  • 9月12日 DevLOVE ターミナル勉強会 〜運用と開発を加速させるの法・其ノ壱〜
    システムが動き続け、価値を提供し続けるからこそ、 我々は新たな価値を求め、新たなシステムを創ることができるのだ。 そのためには速度が必要だ。 自らのシステムを動かし、開発する環境を自在に動き回れる速度が。 今回、我々は新たな価値を創造するために必要な加速装置を手に入れる。
    ■対象参加者 ・ターミナルという言葉にグッと来る方

DevLOVE は初めての参加ですが、zsh と screen がテーマとあれば端末野郎な私は参加したくないわけがありません。他の人がどのように作業を効率化されているのか興味津々でした。

DevLOVE ターミナル勉強会 zsh + screen

はじめは @yoozoosato さんのセッション。

冒頭のターミナルらしい自己紹介がステキだなと思いました。ターミナル(CUI)を使う理由としてメリデメを挙げられていましたが、自分が他人に教えるであろう時に言おうとしていることが列挙されていて爽快でした。デメリットの項については、適材適所という感じですよね。GUI でもかなりとっつきにくい UI のソフトウェアもありますし、できることが同じで GUI/CUI 両方用意されているのであれば、自分は迷わずマニュアル引いて CUI でシェル書いてウマーですね。
  • メリット
    • 繰り返し作業に強い
    • 作業履歴が残る
    • 他の人に作業内容を伝えやすい
    • リモート接続時の転送量が少ないので軽い
    • 操作の全てをキーボードで実行可能
    • 一画面に表示できる情報量が多い
  • デメリット
    • GUI と比較するととっつきにくい
    • Office 系のソフトなど、仕事で必須のアプリが使えなかったりする
そして GNU Screen との出会いは、遅い回線で切断の恐怖におびえることからの回避。わかります。だいたいコレか、ターミナルエミュレータ開きすぎ、のどちらかになるだろうと思います。自分は後者でしたが、最近だと開発効率向上ということではじめから使っている方も多いのかも知れませんね。実演での sl コマンドの車体に「D e v e L O V E」とあるのは流石でした。

つぎに zsh の紹介。いつ、どこでに並んでいる項目にウケましたw

このあたりで TL がエロに染まりだすと、思わぬ所からお声が。。。 いや、あの、今日は zsh の話なので bash で頑張る話はちょっと。。。(あとでコッソリ熟読します)

実際、ログファイルの年月日などの数値がある一定の規則に従って続いているものは、bash より柔軟に書けますよね。他には右プロンプトや ESC-q のコマンドスタック、git のブランチ名を PS1 などに表示するなど、自分も zsh 使い出してみて分かってきた便利機能が次々に紹介されてとても面白かったです。また、第2回のテーマの候補に挙げられた、~/.ssh/config や tcsh、grep、awk、sed どれも面白そうなお話が聞けそうです。久しぶりに zsh の本を読み返そうと思いました。

zshと仮想端末マネージャで快適ターミナル生活

つづいて @nobu666 さんのセッション。

存在は知っていたものの、DECon (詳しくは、はてブを http://b.hatena.ne.jp/t/decon) でその有用さを見いだして GNU Screen を使い始められたそうです。DECon 以後の絵が個人的にウケましたw タイトルにあるように、screen というよりは広く一般に仮想端末マネージャということで、tmux を例にした解説でした。

仮想端末マネージャの嬉しいところとして次のような点が挙げられていました。@yoozoosato さんとかぶらない範囲ということですが、お二方とも挙げている「ログを残せる」というのはとくに重要なメリットだと思います。エスケープシーケンス込みでも記録さえしておけばあとで何とも表示用に加工できますからね。こちらに挙げられている項目も、どれひとつとっても手放せなくなる機能ばかりですね。

  • ながら作業(分割してログを見ながら)
  • いつ終わるのかよく分からないバッチの起動(デタッチして帰る)
  • ログを残せる
  • 教育の一環として使える(マルチアタッチモード)

つぎに zsh の説明。いきなりテトリスが出来ます、ときました。シェルとしてしか使っていなかったので、まったく知りませんでした。オロドキです。そして zsh のうれしさ尽くめです。

  • 履歴の残り方がうれしい
  • 算術演算がうれしい
  • スタックがうれしい
  • glob がうれしい
  • グローバルエイリアスがうれしい
  • マルチリダイレクトがうれしい
  • プロセス置換がうれしい
これらのツールは柔軟にカスタマイズできる分、初めて取りかかるには少し敷居が高いですので、zsh であれば oh-my-zsh や、仮想端末マネージャについては、あらかじめ初期設定が施されている byobu(screen) や tmux を使うのが良いのではとのことでした。 マルチアタッチのデモで、sl コマンドがかぶっていたのもウケましたw tmux は使ったことがないので新鮮でした。

ライトニングトーク

@hyoshiok さんの LT。『CUI 超入門』history コマンドの出力を分析してみようというお話でした。パイプで繋いで cut / sort / uniq / head 。テキストを加工するときにはいろいろやりますね。その当たりのコマンドの組み合わせを紹介されてました。冒頭のくだりはとても印象に残りました。

  • CUI のコマンドは自分の意思をコンピュータに伝える機械語である。

@ywindish さんの LT。『ターミナル、その甘い誘惑』とにかく CUI が大好きだということは伝わってきました。経歴の中で、「MS-DOSを知らない方がいるかも知れない」と仰ってたのを聞き、そういえば知らない世代も普通にいるんだよな−と思った私でした。(自分はギリギリ MS-DOS → Windows 3.1 → 95〜)

@masasuz さんの LT。『zshとtscreenとterminalと私』

rst な資料は初めて見ました。設定ファイルをバージョン管理して、Makefile でセットアップもされているとのこと。他人の dotfile は気になりますよね。私もチェックだけはしていますが、まだローカルの Subversionでしか管理していないので、ゆくゆくは github で管理してゆきたいと思います。

@mr_k_o さんの LT。タイトルは失念しました。TL 上で話題になった Screen のエントリ、

にちなんで、第2回ターミナル勉強会のサブタイトルは「俺の .file が火を吹くぜ」に決めたそうですw。タイトルを見ただけでまた参加したくなりました。昨年初めにエントリを見たときは、ここまで使いこなしている人がいるのかと衝撃を受けました。Terminal.app が Command + W で音もなく終了してくれるので、hadoop でジョブを実行したまま終了して困った事があるので screen が手放せないとか、シェルにおける Ctrl-R の履歴検索が便利すぎる、などなどアツく語られていました。

まとめ

日々 GNU Screen と zsh を使っているけれども周りを見渡すとあまりその当たりにこだわりを持った人がいない環境にある身としては、ターミナル(CUI)への熱い思いが伝わってきて、とても充実した時間を過ごせました。また、あらためてに GNU Screen と zsh の良さを再認識できました。screen は結構使っていますが、zsh はまだまだだなと思いました。運営の皆さん、このようなニッチ?なテーマで開催していただき、ありがとうございました。次回も是非参加させていただきたいと思います。

0 件のコメント:

コメントを投稿