いきさつ
こんにちは.八雲アナグラ(@AnaTofuZ)です. 今回はYAPC::Kansai 2017 OSAKAに参加したのでレポートです. 前回のHOKKAIDOは講義でいけなかったので,Kansaiが人生初YAPCでした.
~前夜祭0次
I'm at 大阪国際空港 / 伊丹空港 in 豊中市, 大阪府 https://t.co/sIaHgH4hQX
— 八雲アナグラ (@AnaTofuZ) 2017年3月3日
その後,新大阪に高速バスで移動となりました.結構スムーズです.
バスでGo! pic.twitter.com/l4NWMgFHzi
— 八雲アナグラ (@AnaTofuZ) 2017年3月3日
一応学生なのでJPAさんから交通費等々を支給していただきました. 941さんにビジネス沖縄と突っ込まれましたが
偶然にも那覇空港でKさん(@CodeHex)さんと合流したのでそこからは二人で行動していました.
Kさんと合流した
— 八雲アナグラ (@AnaTofuZ) 2017年3月3日
その後は有志数人で前夜祭0次会でした.大阪に来て初の粉もの…美味しかったです. このタイミングで長野の大学院生の方とも知り合いになりました.
前前前夜祭じゃなくて前夜祭0次会を@masakyst さんとやるです。新大阪付近で本日16時くらいからお暇な人連絡くださいませw@ikasam_a さんとかもしお時間あればw#yapcjapan
— onagatani (@onagatani) 2017年3月3日
良さげな串カツ〜 pic.twitter.com/xXhCRstXmL
— masakyst (@masakyst) 2017年3月3日
そして前夜祭です!!
前夜祭
前夜祭ではpapixさんやcharsbarさん方の開発環境を見せる! という内容でした.
前夜祭とか0次会でもそうだったのですが,YAPCでは「普通に目の前で飲んでいる人が実はすごい人」な経験が多かったです. (単純にあまりPerl会の方々を知らないのものあるのですが…)
perlです pic.twitter.com/apGHt9csSz
— 八雲アナグラ (@AnaTofuZ) 2017年3月3日
前夜祭です pic.twitter.com/HRRQF3XaM1
— 八雲アナグラ (@AnaTofuZ) 2017年3月3日
papixさんのvimでjjでESCはPerl入学式in沖縄第一回で確か披露されていて,そこからずっと使っています. charsbarの左手で全部やるとか,sagoさんのスクリーンショット+メモ(macだとMapture )は興味深かったです.
その後は前夜祭の二次会に行ったり,Acmeモジュールを書いていたりと気づいたら2時くらいでした. 遠足の前日に寝れなくなる小学生っぽさを感じながら0日目は終了しました.
YAPC当日
今日も1日 pic.twitter.com/o2t0bLXaGq
— 八雲アナグラ (@AnaTofuZ) 2017年3月4日
とりあえず宿泊したホテルで偶然同じだったyasuさん,maskystさんと食事を取り,YAPC会場に移動です.
I'm at YAPC::Kansai 2017 OSAKA https://t.co/hfzuxDk6Pf
— 八雲アナグラ (@AnaTofuZ) 2017年3月4日
Tシャツだけかと思っていたのですが,バッグとかモバイルバッテリーとか色々いただきました. 会場のスクリーンも大きい(A会場)ですし…おおっすげぇっ…って言ってました.以下聴講したトークの感想(抜粋です)
深沢千尋さん
かんたんPerl の深沢さんです. もともと社内向けツールとして以下に作業の省略化をするというところでPerlを使ったそうです. プログラムは第四段階(ワンライナー,社内向けツール,オーダーウェア,世界のため)のリリースがあるなども,再発見でした.
個人的にはプログラムは短くしていくのがより良いと思っていたのですが, 正規表現も空白と改行を多くして見やすくする.またワンライナーよりテンライナーとして細かく分けて行くのが良いよ!などなど….
この辺UNIX哲学っぽさが入ってくるような印象を受けました.メンテナンス大事 まだPerlワンライナーを量産して作業効率を図る…ということはしたことが無いので,味噌蔵をしっかりと作っていきたいです.
高速化の初歩 (@risouさん)
前日の前夜祭(2次会)で初心者向けなので〜などとの事でしたので,気になって行きました. 内容は素数を求めるプログラムを例にして,実装でどれだけ高速化できるか.というものでした. 個人的には高速化といえば,アーキテクチャを良くして並列実行させて,C言語で書いて…だったので,同じPerlプログラム上でここまで早くなるのか…!と衝撃的でした.
素数プログラムは講義で触れた(講義ではamdahl則の実測のために並列実行させた程度)のですが,当時はアルゴリズムを探したりすることが無かったので,アルゴリズムの有意性を再確認出来ました. そういえばプログラムはアルゴリズムがあってこそみたいな話を聞いたことがある….
あと関数呼び出しって時間がかかるんですね…!
Vue.jsで作るSPAから学ぶMVVM、非同期処理、その光と影 (しんぺい@猫型技研さん)
webApplicationはcakePHPとMojoliciousで遊んだくらいだったのですが,その際は結構URLバンバン変わった実装でした. もとい,そこまで踏み込んだ事をあまりやったことが無かったので,ちょっとググったりしながら聞いていました.
中ではGUIを参考にしながら,極力ブラウザの機能を使っていく. またGUIアーキテクチャパターン(MVC,MVVM)などを参考にして,voidメソッドのやり取りで完結させる.などなどでした. 非同期処理のレースコンディションの話などは,結構興味があったのでちょっとわかった気になりました.(あくまで気です)
PerlはWebApplicationとの繋がりは必要不可欠と思うので今後勉強していきたいです.
Webアプリケーションのキャッシュ戦略とそのパターン ( @moznionさん)
噂に聞いていたmoznionさんのトークでした. Webアプリケーションはあまり関わったことが無かったので,YAPC前は「キャッシュ…アーキテクチャ…?」という認識でした.(それこそヘネパタ,パタヘネの世界) 実際の業務では安全性(webアプリケーションが壊れないこと)が何よりも重要だったり. 何よりもキャッシュはあまり使うなという衝撃…moznionさんのトークも相まって面白かったですが,やはりwebアプリケーションの知識がもっと欲しいなと感じました.
お昼
お昼は前夜祭の場所で他の学生支援を使ったメンバーと小グループを作り,企業の方とお話しながらでした. いつも感じてることや,就職してからの事などについて質問したり,業務内容を紹介していただいたりしました. お弁当も美味しかったです…!
Mojoliciousではじめるマイクロサービスアーキテクチャ(@maskystさん)
okinawa.pmのmasakystさんです! MojoliciousでAPIを作ると結構簡単に作れるよ!という内容のトークでした. 以前PerlでAPIを作ろうとしたときはAmon2を利用したのですが,Mojoliciousで作ると結構シンプルに色々作れるなという印象でした.
実際に業務でAPIを作成する際の考え方,構成方法などについて初めて見ることが出来たと思います. (いつもAPIはあるものを利用するばかりだったので…)
Perl to Go(@codehex さん)
同じくokinawa.pmのKさんでした! 今回はLTの僕をいれると3会場全てにOkinawa.pmが立つという…!! プロセスやオブジェクトなど,個人的にKさんに聞いたことがある(オブジェクトに到っては新大阪への移動バス内)の話が多く面白かったです. Go言語はTour of goを多少触った程度なので,少しづつ触っていきたいと思います. こうしてみるとPerlではプロセスのforkがやりやすいけれど,Threadはあまり…などの特色が根底ではあるけれど移植は100%不可能でもないとの間隔を覚えました.
木本 裕紀さんのセッション会場に移動しましたが,時間が時間だったので,終盤でしか聞くことが出来ませんでした…. ただ,ちょっとスマホからネットワーク経由でブラウザの表示を変える部分のデモを見ることが出来ました. その他の時間ではLTの資料直したりAcmeリリースしてたりしてました.
PerlのWebアプリケーションをデプロイする時に僕達が考えたこと (@papixさん)
実際まだ開発とデプロイが分離されている環境で作業したことが無いのですが,実際の運用開発の面ではこのような事を考えないと行けないというのがわかりました. トークの中でS3というWordがあり,検索してみるとAmazonのAWSの1つであり,この辺の知識も必須だよなー.などと考えていました.
きらびやかなWebアプリケーションの裏には泥臭い作業があって,さらにチーム連携やコストを考えないと行けないなどなど. 企業で戦っていくには必要な知識だらけでした.
カヤックのゲーム開発・運用の「今」 力技と効率化の先に我々が目にしたものとは(macopyさん)
カヤックでリリースしているソシャゲの裏側を見ることが出来ました. サーバーサイドエンジニアの業務がイメージとは別方向で多岐に渡っているなという印象です.(実際にデプロイする全てを把握する必要があるなど…)
色々と環境を作る必要がある時はDockerを利用(ただしメモリやCPUは有限なのでDBはホストに配置したり定期的に消し去ったりする)などなど….
Dockerはちらっと触ったのですが,使い捨てられる試験環境という感じが強いのかなという印象でした.
Perl ウェブ開発の中世 〜CGI と Plack の間〜 (@xtetsujiさん)
てつじさんとはPerl入学式で何回かお会いしたことがあったので,気になっていたトークの1つでした. こういった業界の歴史の話好きなので嬉しいです.(世界史っぽい) 僕はCGIという単語を知る前にPerlを知ったので,あまりPerl=CGIという構図が無かったりします. ですが,結構古くからインターネットとか変わっている人に話を聞くとPerl=CGIであるので何故そうなのか気になっていました. 今まではPerlしか無かったからPerlを使ってきたんだ!というのが歴史のようですが,これからのPerlは 「むしろPerlだからこそ」という方向にシフトしている事を感じました.
はてなシステムの考古学(motemenさん)
てつじさんと同じく業界の歴史の話でした. はてなと聞くとはてなインターンの強烈っぷりが良く聞かされるので恐ろしい会社(技術力的な意味で)だったのですが,歴史を追ってみても凄まじかったです. (はてなブックマークが2泊3日で開発が終わるなど…)
50%でリリースするという50%理論はついつい100%を見て完成させないというよりは,物事を適切に細かくモデル化を行う. その中のコア機能にのみ集中して50%でリリースするという意味なのかなぁなどと思いました.
そしてこの辺でMBPのバッテリーが20%に近づき,LTにタイムスケジュールが近づいていました.
LT
というわけでLTの時間です. 今回は勢いでLTに応募してみたら,まさからのLT合格…! 応募フォームの内容を思い出すと確かPerl入学式とAcmeについて話すと書いた覚えがあるので,YAPCの前夜祭と当日でスライドとモジュールを作成しました.
minilaとかテストなどは存在は知っていましたが,触ったのも含めてLT採択されてからなので,かなり勢いだけで作成しました.
これ自体はたかはしさんのAcme::Prepara を参考にして作らせて頂きました!
ただ今現在はかなりバグが多いのでしっかり機能を追加したりとメンテしていきたいです. トーク自体は緊張しましたが,最後まで噛むこと無く(たぶん)出来ることが出来,終わった後はまたやりたいと思いました.
LTは他にもおささんのぶろるっくの話や windowsでperlをbuildすることや,あずまさんがいっぱいでてきたりとかスケジューリングの話がありました.
そしてmakamakaさんのLTを間近で拝見しましたが,これが…これがYAPCのLT…!と衝撃を受けてました(面白すぎる…)
Keynote
アセンブラ川柳やアセンブラかるた,パンチカードなど.コンピューターの歴史と関わりについて解説をしながら 次第にPerlの話へと流れていく講演でした.この時代のマシンはKUE-CHIP2などの学習用マイコンしか触ったことが無いので リアルタイムで触っていた方が結構いたのも驚きでした.
Perlでマインスイーパーを解析していくことや,USBで自動制御を行うなどwindowsならではのハックなどもあり 自分が思っている以上にPerlはなんでも出来て,かつコンピューターに詳しくない人でも楽しめるものが出来るのではと印象を受けました.
懇親会
懇親会では憧れのAcme大全著者のmakamakaさんとお話することが出来ました! Acme::MorningMusume に至るまでの歴史などについて教えて頂きました. Acme大全は無いけれど…と,ペンライト頂きました! ありがとうございます!
また941さんに「ビジネス沖縄」といじられたり,小林晋也さんともお話することが出来ました. その結果Okinawa.pmにファームノートから人を呼んでいただけるととかなんとか…!!
以上ざっとまとめたYAPC::Kansaiです.(感想が小学生並み)