YAPC::Fukuoka 2017 HAKATAに行ってきた
6/30、7/1に開催されたYAPC::Fukuoka 2017 HAKATAに行ってきました。
初めての九州、福岡の良さ
今回のYAPCがキッカケで始めて九州に行きました。
福岡空港は市街地と近いと話には聴いていましたが、実際に見てみると市街地のど真ん中に飛行機が降りていくのは不思議な感じでした。そして地下鉄で博多や天神まですぐということで、東京とのアクセスは思っていた以上に良かったです。
あと、ラーメン屋が大量にあってラーメン好きとしては最高の街ですね。
前夜祭
ホテルにチェックインした後、新天町の立ち飲み屋で1杯飲んでから前夜祭会場であるヌーラボさんのオフィスに向かいました。
LTを聴いたり、聴かずに議論したり、酒のんだりいつものYAPCの光景でした。
前夜祭のあと沖縄の学生たちを連れて鯖を食べに行きました。
酒の隠れ家 博多鯖郎(中洲/海鮮(海鮮料理)) - ぐるなび
時間が遅かったこともあってお造りなどは食べられませんでしたが、ごまさば、鯖のなめろうが美味しかったです。あと日本酒が大量にあったのも高ポイントで若波FY2が特によかったです。
本編
以下のトークを聴きました。
- 2017年夏のPerl
- ウェブセキュリティの最近の話題早分かり
- コンテナを「守る」仕組みから、中身を理解しよう!
- はてなブログ最近の開発テクニックと最新の開発風景のご紹介
- Web application good error messages and bad error messages
- cpm
- P6W に基づく Perl6 に於ける Web 開発の基礎となる Crust
- スペシャルセッション
- 新時代のテストフレームワークTest2
- スキップしていいテスト、スキップしてはいけないテスト 〜速さと信頼を兼ねたテストコードを構築する術〜
今回はPerlなトークが多くて良かったです。個人的には仕事でPerlよりPythonを多く書くようになっていますが、Perlの話はやっぱり楽しいです。
あと、LINEさんのフリードリンクサービスめちゃくちゃ良かったです。
懇親会、そしてその後
懇親会では福岡のPHP勢と「CPAN Testersはいいぞ」という話をしたり、CPAN文化と他の言語のパッケージ文化の違いについてなど話していました。
懇親会の後、Goodbeer STAND、ふとっぱらに行き、終電過ぎたので歩いて中洲の屋台へというコースでした。
残念だった点
あまり言いたくはないですが
スポンサーセッション
スポンサーセッションで「あれはちょっと・・・」となるものがありました。社内でエンジニア相手にリハーサルしておいたほうが良いと思います。あれだと「現場と採用担当のコミニケーションがうまくいってないのかな?」とか「関わりたくない」といった感じを受けて逆効果ではないでしょうか?
お疲れ様でした。
今回のYAPCも楽しかったです。運営の皆さんお疲れ様でした。
次は沖縄
次回のYAPC JAPANは、2018/3/3 沖縄で開催ということで、できるだけ多く休みをとって沖縄を楽しみたいですね。
Y8 2017 Springに行ってきた #y8spring
5/27に開催された、Y8 2017 spring in Shibuyaに行ってきました。
よかったトーク
初心者枠なのに完全に初神者枠でしたが、非常に面白かったです。やっぱり闇を感じるマイグレーション四方山話は強い。
WindowsでC#は仕事でも使っているので、.Net Coreでのデバッグは気になっていました。P/Invokeで遅くなる罠や、リモートデバッグが興味深かったです。
Node.jsのC++モジュールを書いてたときにV8のソースコードも読んでいたので、V8を読む難しさに共感しつつ、変わった部分についても知ることができたので非常に有意義なトークでした。
タイトルの「慢心、環境の違い」からネタ臭がしましたが、それを覆して既存の機能を非推奨・廃止していく難しさを「慢心、環境の違い」と絡めて伝えるいい話でした。
さいごに
今回は1日で1トラックでしたがとても楽しかったです。
あと、Macのアダプタは純正が正義ですね。本物はすごい。
uzullaさんはじめ、スタッフの皆様ありがとうございました。そしてお疲れ様でした。
YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa に行ってきた
7/2-3に開催されたYAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa (通称ヤパチー)に行ってきました。
聴いたトーク
- 既存のAndroidアプリをリファクタリングしていく話
- 歴史あるSNSで業務&システム改善を行ったので知見共有
- 諸君、私はゲームボーイが大好きだ。PHP & ゲームボーイ。
- あの日見たM-V-WhateverのModelを僕たちはまだ知らない
- セキュリティテストサービスを開発運営してきた2年間
- このRDBについて私は驚くべき闇を見つけたがそこを発表するにはネットは怖すぎる
- 俺たちのブロックチェーン
- 突如見知らぬ言語に出会ってしまった俺達は
これ以外の時間は主にD部屋にいました。
飛び入りトラックは部屋は小さいですがそのぶん発表者と聴衆が近く、トーク中にもどんどん質問・ツッコミを入れていくスタイルで楽しかったです。特に@yoku0825さんと@soudai1025さんの「MySQLとPostgresSQLがキャッキャウフフする」は完全によくて、学びがありました。
懇親会
懇親会はドタキャンなしの100名参加という驚異の参加率でした。
懇親会ではベストトーカーとなった@soudai1025さんとDBの話や格ゲーの話をできてよかったです。
打ち上げ
何を話したかよく覚えていないけどひたすら楽しかったです。
さいごに
@uzullaさんを始めスタッフの皆様、ありがとうございました。そして、お疲れ様でした。
ヤパチーに参加したことで「やっていく」という気持ちを得られたので最高としか言いようがありません。
YAPC::Asia Tokyo 2015に行ってきた #yapcasia
YAPC::Asia Tokyo 2015に行ってきました。
今年は開催時期の近辺で仕事が忙しくなることが事前にわかっていたのでトークには応募せず、個人スポンサーとして参加しました。
↓の個人スポンサーのノベルティのタンブラーが非常に良かったです。大事に使います。
スタッフの皆様、良いネットワークを提供してくださったCONBUの皆様お疲れ様でした&ありがとうございました。
以下、聞いたトークの雑な感想です。特に意識してなかったけどハードウェア系を中心に見ていた模様。
前夜祭
1日目
Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜
スマートロックロボット「Akerun」の開発に関するお話。発表者のkazuphさんとは懇親会でも耐久試験の話などいろいろでき、Akerunステッカーもいただけたので良かったです。
どうしてもPerlでドローンを飛ばしたい人のためのハードウェアハック概論
既存のドローン(クアッドコプター)に電気的に介入して制御する話+ドローンを自作する話でした。暴走しないように電気的な対策を講じているのが倫理があって非常に良い感じ。
Yet Another Perl Cooking
低温調理の話。他のハードウェア系の人が安全対策しているのと対照的にヒューズなしの電源ハックなど明らかに倫理がないところがmoznionらしく「ロック」って感じで良かった。
大規模でも小中規模サービスでも捗る microservices な Web サービスのつくりかた
サービスが成長していくと自然とmicroservices的なものにたどり着くというのが納得感ある発表でした。
LT
全俺が選ぶこの日のベストLTは「(昔の) PHP が誇った最高の機能 register_globals の真実、そして未来へ」かなー。昔、PHPを書いていたことはあるけどここまで闇が深いとは・・・
2日目
Perlでゼロから作るコンテナ
Linuxのシステムコールの基礎からコンテナの仕組みを学べる発表でした。Linuxの権限周りの説明などは同時通訳が大変そうでひやひやしましたが、とてもおもしろかったです。
Parallelism, Concurrency, and Asynchrony in Perl 6
この発表は本当に素晴らしかった。Perl6がもつ構造的な並列処理、並行処理、非同期処理の仕組みは(いい意味で)キメラ的に他の言語の良い所をとってきてくっつけていて興味深い。俄然Perl6を書きたくなってきた。
あと、Jonathan Worthington氏の英語は聞き取りやすかったので同時通訳なしでも結構いけた。
Profiling & Optimizing in Go
ほぼライブコーディング&デバッギングな発表でした。自分もgolangを書いているのでとても参考になった。
LT
CONBUのライブ設営が最高だった。
io.js on Travis-CIでNode.jsのC++アドオンのビルドが失敗する件
Node.jsのC++アドオンをTravis-CIでテストする際に、io.js@v3の環境でのみビルドエラーが発生していたので原因と対策を記録しておく。
※バージョン等の情報は2015-08-19時点のものである。
事象
io.js@v3.0.0の環境で以下のようなビルドエラーが発生する。
/home/travis/.node-gyp/3.0.0/include/node/v8.h:336:1: error: expected unqualified-id before ‘using’ /home/travis/.node-gyp/3.0.0/include/node/v8.h:468:1: error: expected unqualified-id before ‘using’ /home/travis/.node-gyp/3.0.0/include/node/v8.h:499:48: error: ‘Handle’ does not name a type /home/travis/.node-gyp/3.0.0/include/node/v8.h:499:48: error: ISO C++ forbids declaration of ‘parameter’ with no type [-fpermissive] /home/travis/.node-gyp/3.0.0/include/node/v8.h:499:54: error: expected ‘,’ or ‘...’ before ‘<’ token ...
原因
Travis-CIのデフォルトのGCCが古い。Travis-CI(Node向け)のGCCのバージョンは以下であった。
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
io.js@v3用のC++アドオンをコンパイルするためにはC++11に対応したコンパイラが必要であるが= 4.8を要求している">*1、GCC 4.6.3はC++11に対応していないためエラーとなっていた。
対策
暫定対処として、io.js用のテスト環境ではビルド前にGCCのバージョンを4.8.xに上げることによりエラーを回避した。
以下が対処を行った.travis.ymlである。
language: "node_js" node_js: - "0.8" - "0.10" - "0.12" - "iojs" before_install: - if [ "$TRAVIS_NODE_VERSION" == "iojs" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi - if [ "$TRAVIS_NODE_VERSION" == "iojs" ]; then sudo apt-get update -qq; fi - if [ "$TRAVIS_NODE_VERSION" == "iojs" ]; then sudo apt-get install -qq g++-4.8; fi - if [ "$TRAVIS_NODE_VERSION" == "iojs" ]; then export CXX="g++-4.8"; fi
追記
" container based infrastructure"(sudo:falseを指定)では上記の方法は使用できないが、以下の設定でできた。
language: "node_js" node_js: - "0.8" - "0.10" - "0.12" matrix: include: - node_js: "iojs" addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.8 before_install: - export CXX="g++-4.8" sudo: false
Hachioji.pm 46で「Goを書いてたら、いつのまにかアセンブリを書いてた話」をしてきた
1/31に開催された Hachioji.pm #46に行ってきました。
Goを書いてたら、いつのまにかアセンブリを書いてた話
Goで最適化のためにアセンブリ書いた話をしました。
スライド
https://github.com/hideo55/go-popcount
参考:http://golang-jp.org/doc/asm.html
追記:GoでPopCountやってるパッケージはすでに他にもあるけど、POPCNT使えて、かつPopCount単機能で使えるのが無かったので書きました。
LT
他の人の LTの雑なメモです。
- @xtetsujiさん
- 透過的に例外をキャッチ
- ENDだとだめ
- 透過的に例外をキャッチ
- @tsucchiさん
- DBの自動再接続
- @ichigotakeさん
- C言語はじめました
- @akira1908jpさん
- 最近Raspberry Piを購入
- @mackee_wさん
- @karupaneruraさん
- 昔、Windowsで取り込んだMP3の曲情報がiTuneで文字化けして辛い
- @uzullaさん
- PSR-7
- @moznionさん
- DBIx::TransactionManagerを参考にししてJaveに移植
- Javaのtry-with-resource
- DBIx::TransactionManagerを参考にししてJaveに移植
- @maka2_donzokoさん
- Kichijoji.pmでやった話
- iThread
Hachioji.pm #43 に行ってきた
9/13に開催された Hachioji.pm #43 に参加してきました。
今回の参加者は10名。うち初参加3名でした。
LT
以下、雑なLTのメモです。
自分のLT
LOUDS-Trieの話をしました。
資料