Python Developers Festa2013.11に参加しました #pyfes

../../../_images/pyfes201311.jpg

あろうことかこの画像を貼り忘れていました。いやーうっかりしてた。

午前中~プレゼン開始まで

Go codelab (whispering gopher)

前々日に A Tour of Go を終わらせ参加しました。

ハンズオン資料はこちら。 Whispering Gophers

時間切れでpart8の途中で終わってしまった。無念。

発表(LT、プレゼン)

時間厳守で進行ということでしたが、結構みなさん時間にきっちりされてましたね。

原稿募集のお知らせ @turky

  • オライリーさんのことも忘れないで上げてください。

  • オライリー・ジャパンがあなたの現行を電子書籍にします。

  • 数十~200PぐらいでOK。技術テーマは問いません。ピンポイントでも1冊になっています。

  • 今ならAuthorCAP貰えます。

  • 制作環境についてはWebサイトに記事→けど、Sphinxでおk

  • make xmlでxml→ReViewのツール書きました。 turky/sphinx-xml2review-xslt

Pythonista も ls を読むべきか? @flyingfoozy

  • 書籍: lsを読まずにプログラマを名乗るな!

  • Mercurial の hack に特化したなんちゃって Pythonista

  • オライリーじゃないほうからきました。

  • Pythonista も lsを読むべきか。

  • Mercurial の話をしたいからこんな話をしてるわけではないですよ?(棒)

  • ls.c は読まなくても…… mercurial/osutil.c の listdir()の実装は読んだほうがいいかもね

PyConJP2014 開催に関するお知らせ @shkumagai

  • Pyconjp2014スタッフ/Mediaチーム

  • Pyconjp2014 開催は2014年の9月頃

  • 開催場所、募集人数:TBD→すべて未定。これから決めていく段階です。

  • スタッフ募集しています。

    • 事務局、会場、プログラム、メディア

    • イベントの運営に関わってみたい人

    • アイディアを試したい人

    • まっさらな状態から携われます

HTTP2 & HPACK @jxck_

  • あるらしいと知っている方。仕様を読んだって方。http2 の仕様は github で管理されているのを知っている方。

  • HTTPとは何だったのか。

  • spdyでチャレンジし、その結果をhttp2を育てていく。その後http2に統一していく方向。

  • 実装したい方はWireshark&TCPdumpでバイナリをいじってごりごり

HTTP2.0 クライアント @tatsuhiro_t

  • nghttp2 - HTTP/2.0 C Library

  • ドキュメントは Sphinx で書かれている。

  • クライアント実装

    • Firefoxはおすすめ。

    • Chromeiumは専用Patchを当てる必要があるので、敷居が高い。

    • Rubyはあるが、残念ながらPython実装はない。

mruby_nginx_module @cubicdaiya

  • cubicdaiya/mruby_nginx_module

  • ミドルウェアの開発・運用とかやってます。

  • pixiv ではGoをプロダクションコードに使っています。 数百行ぐらいだが、止まったらサポートにメールが殺到するレベル。 (画像が表示できないということはない。)

  • nginx をいろんなところでつかっています。

  • mruby はリッチな Lua なイメージ

pixiv を支えるインフラの技術 @harukasan

  • お絵かきがもっとたのしくなる場所、クリエイターのためのSNS

  • ログ解析はFluentd

  • 管理ツールは Munin, Nagios, Monit, Cronなど一般的なもの。 それにプラスして、Cluster Adminを使用している。

  • Capstrano/Subversionでデプロイ管理

  • 使いやすいツールを自分たちが使いやすいように。 PHPの会社だが、Rubyのツールなども使っている。

  • 尖ったことはせず、無理せず運用できる状態にもっていく。

git-flowは死んだ @troter

  • べつに、死んでないよね→プロジェクト次第。

  • @tk0miyaの後輩から、@everseの部下に。

  • A Successfull Git Branching Model = git-flow ?→昔からある安定trunkパターンに近い

  • git-flow 日常的に使っている人→けっこういる。

  • git-flow の辛いところ。抽象化されている。実装上の制限がある。ちょっとおおげさ。

  • そもそもブランチ管理よりコードに集中したい。

  • GitHub Flow (Japanese translation)

  • みんな忘れていること。→git-flowはpull-requestがないときの運用。

  • pull-requestでもっと軽量にできる。

  • 今こそSubversion UPDATE!

  • Subversion は1.8で A Successfull Git Branching Model が可能になった!

nginx + lua @moriyoshi

  • Pythonistaのための そもそもluaってなんだろう?

  • Golang 書いた後書くと混乱したりします。

  • nginx使うならlua使えないと損

Ansible入門…? @r_rudi

  • ansible/ansible

  • 全体的にAnsibleのデザインは微妙

  • ansibleとは構成管理ツール?→お前がそう思うんならそうなんだろうお前ん中ではな

  • shell module → Python が書けない人も shell でかけるので便利。fabric いらなくない?

  • これからも使うという方は AnsibleWorks AWX を買ってあげるといいかなと。10ユーザーまでは無料。

  • module はスクリプト言語だったらなんでも書ける。残念ながらGolangは無理。

  • YAMLで書きにくいなら、moduleを作成する。

  • 何台ぐらい使えるの?→5000台使用している例がある。

  • ansible は自動実行ツールとしても使える。実行速度は十分速い。

  • ansible 本がでました。

業界団体の運営について @aishimau

  • @shiumachi の姉です。

  • 業界団体のお仕事→人・もの・金の管理・運用、事業計画、実行部隊、雑務

  • 職種に関係なく仕事に必要とされること。

    • 人の話を聞くこと。

    • 理解すること。

    • 整理してあげること。

    • 自分でどうゆう答えをだすか。

    • それを説明する。

    • +α 何を言われてもブレない心。バランス感覚。政治的理解

  • おしらせ:コミックマーケットに出展します。

Introduction to Python 3.4 as of beta 1 @torufurukawa

  • 職業はプログラマー(39)です。

  • 来年の2月にFinalリリースがでます。

  • 構文の追加、変更はなし。ライブラリの追加、向上。

  • asyncio シングルスレッドで並行処理するライブラリ→PEP読んで。

  • enum 列挙型が追加。定数を安全に記述できる。

  • ensurepip パッケージインストーラが事実上入ってくる。

  • pathlib パスをオブジェクトっぽく使えるようになる。

  • selectors I/O マルチプレクスを手軽に。

  • statistics 簡単な統計処理

  • tracemalloc メモリのアロケーション

WindowsでGitを使う時はposh-gitを入れよう

以上。……だとさすがに味気無いので導入メモを残しておく。

みなさんWindowsでもCUIでGitするときのシェルは何を使っていますか? 私はmsysgitを入れた時についてくるGit Bash……ではなく、 PowerShell を使っています。

素のPowerShellではGit Bashにかないませんが、 posh-git というモジュールを導入することで、 Windows上最高のGit用CUI環境 ができあがります。(言い過ぎ)

何ができるか?何が便利か?

以下を参照してもらえたらいいと思います。

PowerShell で Git : Developer @ ADJUST

ひとことでいうと “補完超便利”

インストール

以下のコマンドを実行します。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm
git clone https://github.com/dahlbyk/posh-git.git
.\posh-git\install.ps1
. $PROFILE

しかし以下のように怒られてしました。

WARNING: Could not find ssh-agent

SSH-AGENTをする必要があるので、 Microsoft.PowerShell_profile.ps1 に以下のように設定を追記します。

この時設定が # Load posh-git example profile の上に来るようにしてください。

$env:path += ";" + (Get-Item "Env:ProgramFiles(x86)").Value + "\Git\bin"

# Load posh-git example profile
. 'C:\hogehoge\posh-git\profile.example.ps1'

もう一度 . $PROFILE で設定を読み込んだらインストール完了です。

設定

さてこれで PowerShellで最高のGit用CUI環境ができた! と言いたいのですが、表示が遅い…… 高機能なのはいいですが、表示が遅くては話になりません。

Google先生に聞いても、 posh git slow という単語が引っかかります。なんとか速くする方法はないものか。

そこで Microsoft.PowerShell_profile.ps1 に以下のように設定を追記します。

$GitPromptSettings.EnableFileStatus = $false    # 簡易ステータス非表示

これでインストール前の速度を保ちつつ、 Gitのコマンド入力時は補完機能を使って快適に操作できるようになりました。

#VimConf2013 に参加しました

../../../_images/vimconf2013.jpg

会場はCookpad株式会社さんの提供でした。ありがとうございます。

当日のイベントページ

当日の感想・まとめなど

  • #VimConf2013 がTwitterでトレンド入りすごい。

../../../_images/vimconf2013trend.jpg
  • マクロ漁船の人がEvil modeで実際にBrainf*ck試して「動かないんだけど。」っていったのがおもしろかった。

  • 参加費等でお金が貯まったらVimの作者であるBramさんを呼ぼうと考えているそう。楽しみ。

  • 会場のWindowsPCとMacが半々くらいだった。→と思ったけどGentooとかのLinuxの人も多そう。

  • Vaioのハードが変○すぎてGentoo入らない(@thinca) 先駆者求む。

発表まとめ

発表を聞いててメモしたことや思ったこと。

How to suggest new features for Vim @kaoriya

  • 実際にVimどうやって機能を取りこんでもらうかについて。

  • Vim is the TEXT EDITOR. not an IDE, not an Programming Language, not an Runtime

  • VisualStudio に嫉妬→嫉妬しているのは補完なんだ→そのパッチをなるべくシンプルに構築

  • vim-devに送ってないPatchが20くらいはある。

  • 大晦日にまたコミケに出店します。Spartan Vim 3rd出ます。Vimタオル作ります。多分100枚くらいしかつくりません。

Evil is justice. @esehara

  • Emacsの重大な脆弱性→小指です。

  • geditやIntelliJを使うのにVimのキーバインドが使えるPlugin探しますよね。そこでEvil。

  • EmacsでEvil Modeを使う。そう。あなたのEmacsはVimなのかもしれません。

  • Emacs から Vim へ移ってきた人→結構いる。以下その理由。

    • WindowsでEmacs使おうとしたときにあれだった。

    • Emacs のバイナリエディタがあれ。

    • Macへ移った時にEmacのビルドができなくて一時的にVim使ったらそのまま。

    • EmacsのEdit機能が貧弱。

How to use git from vim @c0hama

  • VimからGitを使う。まず素のVimから。githubに繋げない人もいるので、僕ですね。

  • 基本編: コマンドラインモードから”:!git ~” とやればVimからGit使えます。

  • Plugin導入編: vim-fugitive と gitv について。

  • gitvとは→gitkのVimクローン。vim-fugitiveに依存している。

  • ハッシュを使って操作することができるとgitvがすごく便利。

vital.ProcessManager @ujm

  • Gentooのせいなのか、microHDMIのせいなのか、このASUSのZenbookでは3回ともプロジェクタとの接続に失敗。そのかわりにこの素晴らしいMBAで発表します。

  • ProcessManagerとは何か。使っているのは10人くらいだと思います。→(1, 2人が手を挙げる)→10人どころではなかったorz

  • vimproc = vimプロシー

  • スタンディングデスクは本来すべきことには集中でき、Webブラウジングなど本来すべきでないことについてはやらなくなる。

Do You Know about Vim Runtime Files? @Linda_pp

  • 社会人1年目。Vim歴2年目。clever-f.vim や vim-operator-surround 作ってます。

  • vim -y にくるしむみなさん。 - Togetter

  • ftplugin/gitrebase.vim 便利。 $git rebase 時のファイル編集用設定。

  • ftplugin/ruby.vim は gf や <C-w>fで require 先を開くことができる。

  • 「それVimで出来るよ!」が「それ標準のVimでできるよ!」と言えるといいですね。

How to write patches for Vim @k_takata

  • ついカーソルキーを使ってしまう初心者です。(1年間にVimに送ったPatch約70個)

  • Vimのソースコードを読む時はctagsを使いましょう。

  • 「私が送ったお気に入りのPatch」←いってみたい。

  • 自分のオリジナルのVimをビルドしてみましょう。どんなPatchでもOKです。Vimこわくないよ。

An introduction to neocomplete @ShougoMatsu

  • 暗黒美夢王(ダークビムマスター)

  • neo-complete と neocomplete は別物である。 (バトルエディターズ参照)

  • YouCompleteMeはif_pythonに依存。圧倒的速度。しかしC++モジュールがあるので、拡張が難しい。更にビルド必須なのでインストールが難しい(特にWindow環境)

  • neocompleteはif_lua依存。neocomplecacheより速く、neocomplecacheの機能をほぼ取り込んでいる。

  • neocompleteの機能の実装はほぼ終わり。現在はたまにでてくる問題の解決がメイン。良いアイディアがあれば採用されるかもしれない。

  • neocompleteとjediの連携等はFAQに乗っているのでそちらを参考にしてください。

最後に

会場を提供してくださったCookpadさん、スタッフや発表者のみなさん、そして参加者のみなさんお疲れ様でした&とても楽しい時間をありがとうございました。

../../../_images/vimconf2013last.jpg