2012年12月9日日曜日

ブログ移転のお知らせ

「Bloggerもいいけど、SphinxでBlog書きたいなぁ」ということで、Blog移転しました。

新しいBlogの名称は
kashew_nuts-blog』です。

やはりreStructuredTextで書けると楽ですね。Sphinx便利です。

2012年11月3日土曜日

#ujihisa.vim #3に参加しました。

イベント詳細
ujihisa.vim#3


感想など
ふと思い立って、行って来ましたujihisa.vim。
敢えて一言で感想を言わせてもらうなら、「Vimmer怖い……」
発表がぶっとんでる…… これが上級Vimmerが集まりかと思いました。
(特にマクロの話とかマクロの話とか)
カーソル移動の話は非常に参考になったので、どのように操作したら
効率がいいのか見直したいです。
以下はBlogと言う名のメモ書きになります。


オープニング
  • mixiの方から挨拶
  • 飲食はペットボトルのもののみOK

発表(@kaoriya)
  • 資料: vim-jpの活動報告
  • 村岡太郎 @kaoriya
  • vim-jpってなんだっけ?
    バグの修正、新機能の提案、啓蒙活動
  • vimこわい
  • mvp二人が大体日本人が出すパッチの8割を書いてる。
  • vimdoc-ja, autofmt
    Vim documentation: help
  • cpp.vim →vim-jpによって管理されることになった。
  • vimrc読書会 http://vim-jp.org/reading-vimrc/
  • 月刊vimマガジン http://vim-jp.org/vimmagazine/2012/10/31/vimmagazine.html
  • vim-jpの本質
  • vimの未来
    • 単一のメンテナの限界
    • グループによる分割統治
      vim-jpがやっていることが先駆けになる


発表(@basyura)
  • 資料: ujihisa.vim #3 で発表した TweetVim 1.8 Release!! - basyura’s blog
  • The whirlwind evolution of TweetVim
  • ずっとjava1.4, C#, Silverlight, Ruby好きです。
  • TweetVimご存知のかた→ほぼ全員か。
  • TweetVim 24人ぐらい呟いてた→多いと思う。
  • Advent Calender 30日目で公開しました。
  • TweetVim1.8
    • now!今プッシュしたいと思います。リリースされました。
    • 末尾が...で省略される問題を解決 rhysd ++
    • 検索時の日付表示
  • TweetVim1.9
    • 非同期にタイムライン更新とか
    • できならいいなと


発表(@thinca)
  • 資料: thinca gist: 4006236 — Gist
  • vital.vim
  • プラグイン開発者向け
    quickrun.vim, neocomplcache, uniteなど他のものでも使われている。
  • ライブラリ欲しい。
  • 通常のライブラリの欠点
    • ユーザに別途入れて貰う必要がある。
    • そこでvital.vimですよ。
  • vital.vimとは
    • vim scriptのライブラリ郡
    • モジュール単位で管理されている。
  • モジュールを充実させたい。全然足りない。help。
  • テスト機能見直ししたい。一応あるが、結構適当。
  • 外部モジュールも読めるうようにする!
  • vital 開発参加者待ってます!

発表(@ujm)
  • HDMI出力のためプロジェクターに投影できない。→なんとか解決。
  • ujihisa
  • マイクラフトを知らない人は調べたり、やってみたりしないこと。
    ゲームで〜クラフトとかあるのはやったら駄目です。
  • ujihisa.vimのためにカナダから日本に来ました。
  • showtime.vimを使うつもりだったが、できない。
  • neosnippet.vimの紹介します。作ったのは@ShogoMatsuさんです。
  • neocomplcacheを使って、snippetの一覧を出してくれる。
  • unitesnippletだと更に簡単にsnippetの一覧を出してくれる。
  • C言語のHello, World!デモ
  • snippet Setup
    • install
    • map expand key
    • map jump key


発表(toku)
  • 資料: vim-jp/ujihisa.vim-3 · GitHub
  • 匿名希望さん
  • マクロ漁船に乗ろう。
  • マクロを使ってお手軽プログラミング
    どれくらい使っている?→ほとんど使っていない。
  • "[a-z]
  • 正規表現で小文字を大文字に変換することはできない→子、孫を使って実現!
  • マクロ漁船に乗る準備はいいか!→よくない!

発表(@rbtnn)
  • 資料: About regex ujihisa.vim #3
  • vimrc800行
  • set numberをしてない。rulerに行数表示。
  • vimpluginは30個ほど。
  • 自分のプラグイン Hexript について
    バイナリを書くプラグイン。quickrun対応。vinariseで見れる。
  • バイナリを書く上で、欲しい構文を募集中。
  • Twitterなどでリプライとかくれれば……
  • vital.vimに字句解析入れたいなと。

発表(@deris0126)
  • 資料: ujihisa.vim#3で発表してきた - derisの日記
  • vim歴2年半。
  • カーソル移動について。
  • 効率的に移動するには?横、縦移動。
  • 横移動
    • ステップ1: ^S
      行末から近ければ。
    • ステップ2: f(F) 行内で1つだけの文字を探す。
      記号>数字>大文字>小文字
    • ステップ3: w b h l
      数単語以内…w b, 同単語or数文字内…hlとf(F)
    • ステップ1〜3のそれぞれを一瞬で判断できるように鍛錬が必要。
    • あとは慣れと好み。
  • 縦移動
    • 移動箇所が明確の時
      • gg G
      • 目的の単語を知っている。 *で検索(プラグイン)、その後/で検索
      • どう画面内にある。{ } 5j 5k j kでアプローチ。後は横移動
    • 眺めたいだけの時
      • ざっくり Ctrl+F, Ctrl+B
      • 細かく Ctrl+D, Ctrl+U
  • おまけ: kjhl連打、おしっぱ
  • カーソル移動系Plugin
    vim-smartword, vim-visualstar, vim-easymotion, columnpjump, vim-submode, ……

発表(@ShogoMatsu)
  • 資料: neobundle.vimについて+おまけ
  • Vim人 Tシャツ
  • neobundle.vim プログラマーたちよこれがテキストエディタだ。
  • VundleとneobudleはCとC++ぐらい違うよ。
  • NeoBundleLazyを使うとプラグインの遅延読み込みができる。

2012年10月14日日曜日

エキスパートPythonプログラミング読書会 第二期 10に参加しました。 #expertpython

エキスパートPythonプログラミング読書会 第二期 10 - connpass
に参加してきました。

エキスパートPythonプログラミング
Tarek Ziade
アスキー・メディアワークス
売り上げランキング: 36822

当日の様子はこちら。
エキスパートPythonプログラミング読書会 第二期 10 - Togetter

1.アイスブレイク
恒例のアイスブレイク、各島ごと(3名程度)で簡単に自己紹介をしました。
しかしお互いに見知った顔過ぎて、
自己紹介が茶番臭いというまさかの事態に(笑)。


2.「第8章 コードの管理」
  • 2人以上だといろいろと難しい。
  • SCM(software configuration management) = VCS
  • 中央集権型: サーバーがないとコミットできない
  • 分散型: 複数の独立したローカルにコミットして同期をとる。
  • 中央集中か、分散か。 →プロジェクト状況による。
  • PythonのVCSはHGに移行済み→hg.python.org
  • DVCSの種類→Git, Mercurial, Bazzar

  • ドキュメントとリソースファイルを一緒にするのは無理?
    →この辺りに経緯がまとまってたりすので一度目を通すといいかも。
    svnからの切り替え先にbzrを検討するなど(最終的にはhgになった‥) - Togetter
    →SVNは内部をUnicodeオブジェクトから外部に落とす時にエンコーディング返還してくれる。
    →bzrはできる。hgは今頑張ってパッチ書いてる。Gitはまだ。
    →設定はあるが、Gitはもう一段Windowsの問題がある。UIの件。
    →コマンドラインをデザイナーさんに打ってもらうのはハードルが高い。
    →日本語使えねーとMLとかにDDOSして下さい。

  • unicodeのメソッドを使うと、大文字小文字の判定、濁点の問題チェック、
    east_asian_widthで文字の幅のチェックとか色々できる。
  • GitとHgは用語は対応してない。HgとSVNは似ている。
    →簡略化しているように感じるかもしれないが、人に説明するにはこっちの方が楽(らしい)。
    →Branchが一番違う。あとはHEADとか。addとか。
    →ステージの概念はないので、MQとか使った方がいい。
    →標準と拡張。
    →Gitだと初めから色々出来るが、Hgだと拡張でやったりする。
    →MQを入れると履歴を入れ替えたり、コミットの内容そのものを書き換えたりできる。
    →Pythonでやると拡張も楽に書ける。内部のUnicodeとかもいじれる。
    →Hookをいじると色々できるよ。
  • hg serveと渡すと自分をサーバーにすることができる
    →PUSHはできない。もう少し設定が必要。PUSHとかCLONEはできる。
  • hgのコマンドは日本語マニュアル化されている。言語設定を日本語に設定すればOK。
  • hg help add -v とかすると、コマンドの実行例が見れる!
    →オンラインで見るとほとんどわかるよ。でもPythonistaの人ならソース見たほうがはやいかも
  • Mercurialでプロジェクト管理→Server立てる人が読めばいいと思うよ!
  • なんでHG?
    →@shimizukawa hg。やりたいことに対してGitは複雑。
    →@hirokiky hg。いざとなったらソース読めるし。安心感。
    →@shomah4a git。前SVNで。いやで、Hgでやってたのが、なんかのタイミングで壊れたのでGit触ったらいいじゃんと。
    誤解を招く表現になっていたので訂正。
    なぜgitを選ばれたのかがご説明されています。
    Expert Python 読書会 第二期 10 #expertpython - プログラマのネタ帳
    →??? SVNを触っていたが、gitやって、それで壊すのはどうなの?あとはTortoiseHGがいい。わかりやすい。
    →@tfmagician 4年ぐらい前からGit。WebDBの初めてのGitの特集を読んで。管理は大変だが、
    今更戻れない。あとGitHubが素晴らしい。PG管理のツールとしているので。
    →@usaturn Windowsを使っていたから。Cygwinで使えばそこそこだが、アンインストールできなかったことが… Yokohama.pyの日にTokyoMercurialに参加することがったのでそれで。
  • GitはSCM bootcampのチューターの人でも「Windowsの人はVMにLinuxにいれた方がいいんじゃね?」 というレベル。
    →ポータビリティーや使いやすさを重視するとHg。
  • Buildbotは使わない方がいい。普通に使う分はJenkins。
    →セットアップが面倒くさい。
    →Jenkinsが有名でユーザーが多いし、皆がCIに求めるのはJenkins。
    →Buildbotのいいところは、ユーザ参加型であること。(自分の環境でテストしてくれる)
  • CIやっている人?→2人
    →@shomah4a 会社はJenkins。JavaやPython。趣味はTravis CI
  • この本はBuildbotは0.7で書いてあるが、0.8からソースコードが大きく分かられている。
    →最新版0.8だとドキュメントを自力で読んだほうがはやい。
  • DVCSの戦略 git-flowとか使ってるのか?
    →カスタマイズしていたり、組織の文化による。
    ex)枝は一本vs枝分かれ上等。Branch戦略について。
    hg-flow, bpmercurial-workflowドキュメントなど
3.ビアバッシュ&LT
今回は仕事の都合で参加できなかったのが残念……
久しぶりのお寿司LTだったのでぜひとも参加したかったところですが、
また次回に期待ですね。

4.まとめ
今回は@lincolinnyanさんの代役でTogetterまとめたりしましたが、
実際にその場で参加してないとわからないところがあるなーと思いました。
本は読みなおせばいいけど、LTはその場で聞かないとわからないので、
本編は聞けなくてもLTを聞ける時は迷わず参加したいですね。

参考リンク

2012年10月7日日曜日

ITコミュニティ秋祭りリターンズで登壇してきました! #itmatsuri



まさか去年はいち参加者の立場だったのに、
今年は壇上スピーカーとして話すことになろうとは……(何度でも言う)

終始緊張しっぱなしでしたが、何とか無事終わりました。
普段お話できない方ともお話できるこういった機会は本当に貴重です。

せっかくこうゆう機会を得られたので、
今回参加したことをまとめてみたいと思います。

今日やったこと&できたことリスト
  • 壇上スピーカーとしてお話してきたよ!


  • ノベルティステッカーもらったよ!

  • Pythonコミュニティの紹介してきたよ!
    #kaisenpy とか, #kabepy とか
  • 以前お会いした人と再開してお話できたよ!
  • パネリストの人たちとお話してきたよ!
  • Rubyの人たちと仲良くなってきたよ!
  • スタートアップRubyを出版された @igaiga555 さんから
    本を購入して、サインまで頂いたよ!

まとめ
Pythonコミュニティのお話しをしに行ったはずが、
Rubyの人たちとお話し、Ruby本のサインまでもらってきてしまいました。

この本はRubyの文法うんぬんが書いてあるというより、
Ruby文化や考え方みたいなことが書いてあるようなので
これから読むのが楽しみです。

今回参加して思いましたが、
言語やコミュニティは違っていても思っていることは一緒なのかなと。
これからはRuby ConferenceやYAPCなど自分が全然知らないところにも、
どんどん顔を出していったらもっと面白いかもしれない。

最後に会場を用意していただいた@niftyさん、
参加された方々、スタッフ・登壇者の方々お疲れ様でした!
そしてありがとうございました!
また来年も開催できるといいなって思います。

2012年10月2日火曜日

IT秋祭り開催間近!!!



今週の金曜(10/05)にお台場でITコミュニティ秋祭りが開催されます。
イベント詳細はこちら
去年の模様。

去年はこのイベントで「コミュニティ初参加」を果たしたわけですが、
今年はなんと「壇上スピーカー」として登壇することになりました。

登壇者のみささんはたのぐちさんがまとめてくださっています。
ITエンジニアの生き様を見よ!「ITコミュニティ秋祭り・リターンズ」の見どころを妄想紹介 全登壇者のスライド付 - Seize The Day!

この話を引き受けた時の自分の気持ちをぶっちゃけますと、

「自分が登壇?パネリスト?えっいいの!?」
「まわりみんなすごい人ばっかでこわいわ―。」
「Pythonの人だれもいないじゃないですかー。やだー。」

と思っていました。
しかしうだうだいいながらも、

「この1年間感じたことを伝えることでお役に立てるのなら……」
「普段話しをしないような人たちと、意見を交わすのはおもしろそう。」
「この人たちはどんな考え方を持っているのか知りたい!」

と興味や好奇心の方が勝ってしまい、結果登壇することになりました。


一番初めに勉強会やコミュニティに参加した時にも、

「自分はまだそんなすごい技術持ってないし……」
「まわりがみんなすごい人に見える……」
「ぼっちになったらどうしよう……」

といろいろと思ったりしましたが、

でもやっぱり行ったらおもしろそう!楽しそう!

という気持ちが一番大事なんだと思い出しました。


この「ITコミュニティ秋祭り・リターンズ」はお祭りです。
みなさんぜひこの機会に参加して、
日々思っていることを語りあいましょう!

チケットはこちら。みなさんの参加お待ちしております。