log

Rails Developers Meetup 2018 Day 3 Extreme で進行のお手伝い&発表してきた

2018/07/14 に開催された Rails Developers Meetup Day 3 Extreme に参加してきました。

techplay.jp

今回 株式会社万葉 が進行協力スポンサーとしてお手伝いさせていただきました。 具体的には @tatsuosakurai が司会、私が Google Hangout 配信役ということでお手伝いさせていただきました。

勉強会のお手伝いはほとんど初で、若干不安もありましたが無事終わってほっとしています。

スポンサーは10分の発表時間がいただけるということで、私が万葉入社時に受けた研修についてお話させていただきました。

speakerdeck.com

言いたいことを詰め込んだ結果早口で話して10分ギリギリになってしまい、もう少し削ってもよかったなーと反省しています orz これでもかなり削っていて、最初は15分くらいの内容でした。詰め込みすぎでは……。

パブリックな場での発表も7年ぶりくらいで緊張しきりだったので、リハビリせねばなーという感じでした。

印象に残った発表

エンジニアのためのスライドデザイン実践講座

speakerdeck.com

esa の赤塚さんの発表。自分のスライドを作る前にこの発表を聴きたかったですね…… orz

どう変えたか、なぜこう変えたかというのがわかりやすく解説されていて非常に参考になりました。

悪魔の城のヒアドキュメント

speakerdeck.com

ヒアドキュメントのカオスっぷりがやばかったですね。それでも発表を聞いてるとなんとなくわかったつもりになりました。

まとめ

懇親会も含めてすごく楽しかったです。オーガナイザー&発表者の皆様本当にありがとうございました!

MVP Community Camp 2014 に参加してきた

参加してから時間経ってしまいましたが。

MVP Community Camp 2014

私が参加したのは沖縄会場です。

MVP Community Camp 2014 沖縄会場

そもそも MVP とはなんぞや?ってことで、引用します

マイクロソフト MVP アワード プログラムとは

マイクロソフトが個人の活動を評価する、特別な賞。

MVP (Most Valuable Professional) アワード プログラムは、マイクロソフトの製品やテクノロジーに関する豊富な知識と経験を持ち、オンラインまたはオフラインのコミュニティや、メディアなどを通して、その優れた能力を幅広いユーザーと共有している個人を表彰するものです。MVP アワードの表彰は全世界で行われており、現在は、世界 90 か国以上、4,000 名を超える方々が MVP として精力的な活動を続けています。

そんなわけで、普段から MS 製品には馴染みが深いけど MS 製品のコミュニティってあまり見ない(少なくとも沖縄では聞かない)のでどんな情報が得られるのか、どんな人と会えるのか楽しみで行ってきました(とかいいつつ去年も参加してますが)。

非常に印象に残っているのが田中亨さんのExcelについてのセッションでした。

うろ覚えなので若干間違ってるかもしれませんがこんな感じ。

  • Excel は「機能」「関数」「VBA」から成り立っている。全てを知らなければ Excel を知ったとは言えない(それぞれに上下関係はない、と)
  • シートは「入力」「計算」「出力」に分ける。(MVCっぽいと感じました)
  • 学ぶことに「初級編」や「上級編」といった区別は意味が無い。必要な知識を覚える。
  • 「習うより慣れろ」ではなく「習ってから慣れろ」。基礎を学んだ上で実際にやってみなければ意味が無い。

内容もそうなんですが語り口がとにかく「聞かせる」発表で、聞き入ってしまいました。とにかく良かった。

schoo にも講義があったので気になる方はどうぞ。

田中亨(Office TANAKA)先生のプロフィール 教員名簿 - schoo(スクー) WEB-campus

以前開催されたITごった煮勉強会もまた開催されるかも、とのことなので、こちらも非常に楽しみです。

Oculus Rift 体験会 in 沖縄に参加してきた

Oculus Rift 体験会 in 沖縄 (http://peatix.com/event/30439/view) に参加してきました。

会場では Oculus Rift 用のゲームがインストール済みの PC が二台用意されてて、説明を聞きつつ実際にプレイしてみる、という感じでした。

実際に Oculus Rift を装着した感じですが、

  • 映像が目の前に広がっていて、かなり臨場感がある

  • 首を振るとあわせて周囲の映像も動く。360度対応しててつい周りを見渡してしまう。

  • 眼鏡を付けてるとディスプレイとの間に隙間ができてちょっと微妙かも

  • それほど重さは感じない

  • 人によっては酔うかも(私はそうでもなかったですが、酔ったという人は何人かいた)

  • 解像度はちょっと微妙。ところどころジャギってるのが見える

などなど。

写真撮ってればわかりやすかったんですが、文章だけの説明だと伝わらなさそうだったので、実際にプレイした(というより体験した)ゲームの動画をいくつか載せておきます。

ジェットコースター


Jacob tries the Oculus Rift (roller coaster) - YouTube

初音ミク

※ 動画ではコントローラと組み合わせてますが、体験会ではそれは無くて眺めるだけ


Dive into VR - Oculus Rift + Razer Hydra feat. Miku ...

進撃の巨人っぽいゲーム


Oculusで進撃の巨人 Unity - YouTube

沖縄 Ruby 会議 01 に参加してきた

Okinawa.rb, Ryukyu.rb, Ryudai.rb 共催で行われた沖縄 Ruby 会議 01 に参加してきました。 http://regional.rubykaigi.org/okrk01/

LTが大量にあって、全部は書ききれないので特に印象に残ったとこだけ感想書きます。

@bash0c7 さんの「Rubyによるバッチ業務のストリーム処理化の設計と実装」 https://speakerdeck.com/bash0c7/design-and-implement-batch-stream-processing-application-for-ruby

「業務におけるバッチ処理に fluentd 使うと最高の進捗が得られる」みたいなお話でした。

fluentd をログ収集以外の汎用的な分野に使うというのはよさげで、いわゆるギョーミーなバッチ処理に適用するというのは面白そうな話でした。

@moro さんの「カスタムマッチャーを流行らせたい」 https://speakerdeck.com/moro/suggestion-for-rspec-custom-matcher

RSpec のカスタムマッチャーを作ってアプリケーションの語彙を表現しましょう。それを使うことで RSpec でアプリケーションの振る舞いを表現しやすくなる」といったお話でした。

これ、最近テストを書いてて気になってるところで、テストを書いてるときに意図や目的が伝わりづらいテストができあがってしまって、標準のマッチャーだとなかなかスマートに記述できないけどどうしよう、みたいなケースがあったりします。

その辺りをカスタムマッチャーを使う(作る)ことで改善できるかな、と思ったのでうまいことハマる箇所があるか試してみようと思います。

後は懇親会でいろんな人と話しましたが「Ruby ほとんど触ったことないけど勉強会参加してみたくて本土から来ました」みたいな方が複数名いて Ruby の引力の強さを思い知らされました。

ちなみに、懇親会会場からホテルまでまつもとさんを送り届けるという任務が急遽発生しました。 @Tomohiro にナビとして同乗してもらいつつ、まつもとさんからいろいろお話を聞けたので楽しかったです。

ハッカーズチャンプルーに参加してきた

前夜祭から引き続き参加。

飲み物とお菓子等無料だったので会場ではノンアルコールビールクズしながら発表聞いてた。

きしださんの発表、「Java はこれからも3年遅れくらいで流行に追いつき続けるだろう」ってな話があって、流行りものから適度に枯れるのがそれくらいなのかなーとか漠然と思った。

弾さんの発表、FizzBuzz で始まってどこにたどり着くのかと思ったらマルチコアな話になった。Haskellわからん。

ビーチパーティーも引き続きノンアルコールビールクズしつつ色んな人と話せてよかった。

さらっと書いてますが、沖縄でこれだけ豪華なイベント早々無いので参加できてよかったです。 運営に携わった方々お疲れ様でした。

ハッカーズチャンプルー前夜祭

この前飲んでうまかったのでノンアルコールカシスビールクズしながら聞いてた。

  • 弾さんときしださんと河野先生が後ろでずっと立ち話しててあの辺りの霊圧が異常だった。
  • Perl関連発表時の弾さんの食い付きっぷりがよかった。さすが。
  • つーかあの空間で Perl の発表するの勇気いると思うので発表者の方々おつかれさまでした。
  • なんかもう全体的に弾さんだった。

unite-rake と bundler 環境の共存

bundler な開発環境で unite-rake という plugin を使おうとしたらうまく行かなかったお話。

ruby で開発するときには system gem 環境を汚したくないので、いつも Gemfile 書いて bundle install --path vendor/bundle するようにしている。

で、今回やりたかったのは unite-rake という plugin を使うことで、これを入れると vim 上から rake -T した結果が得られて、その結果を選択して実行ということができるらしい。

https://github.com/ujihisa/unite-rake

Unite.vim は導入済み、かつ、vim の plugin は neobundle で管理してるので、.vimrc に NeoBundle 'ujihisa/unite-rake' と書いてやって :NeoBundleInstall してやればいい。簡単。

ここまではよかったが、導入して実際にコマンド :Unite rake してみても何も表示されない。

仕方ないのでソースを読んでみる。

https://github.com/ujihisa/unite-rake/blob/master/autoload/unite/sources/rake.vim

system call で rake を実行していることがわかるので、試しに rake -sTbundle exec rake -sT に書き換えてやる。で、選択した rake task を実行する箇所も "VimProcBang " . v:val[0], から "VimProcBang bundle exec " . v:val[0], に書き換えてやった。これでとりあえず動いた。

だが、これでいいのかというと非常に怪しい。 bundler 環境かどうかを判定する処理を書いてやって、判定結果に応じて bundle exec を追加してやればいいかなーと思ったけど、どうにも納得いってない。同様なことする vim plugin は全てそういった判定処理入れるのか?ってのが頭をよぎる。

じゃあ bundle exec しなくても bundler 環境の rake が実行できればいいんだよね、ってことでそっち方面で調べてみる。plugin じゃなくて環境側を合わせる方向性。

bundle install --binstubs vendor/bin みたいにすれば特定のPATHに実行ファイルを閉じ込められるらしい。ってことはそこにPATH設定してやればいいのでは?と思ってやってみたが駄目だった。bundler が無いとか言われる。

で、いろいろやってみたが結論としては unite-rake を諦めた。

このあたり、vimmerrubyist な人達はどうやって解決してるのか。もしくはしてないのか。