弊社での開催でしたので、自分用のメモを残しておきます。
本当は難しいPSL / hiratara
自分のセッションでした。
Windowsデスクトップでweb開発 / setoazusaさん
- Windowsで開発している人は少ない
- TypeScriptやJavaScriptならなんとかなる?
- ネイティブコード、symlink、permission、ビルドスクリプトでのUNIXコマンド
- 大型アップデートの繰り返し。Win7とは違う
- VSCode のリモート WSL のデモ
- wsl.exe を起動
- Dancer(Perl)でのデモ
- サーバを起動
- VSCode から編集して、反映
- Live Reload が効かない。WSLの問題なのでWSL2に期待
- Windows 開発で楽しく Perl 開発
EMはじめまして 10年努めたSIerから転職して3週間 / tenten0213さん
オープニング
- 20回目です
- 6周年です
- 生まれ故郷: YAPC::Asia のリジェクトコンの与太話で生まれた
ソフトウェアラジオとC++ / jj1bdxさん
- 昔のラジオ
- FMエアチェック?
- ラジオをカセットに録音?
- 現代のラジオ
- USBデバイスで得た信号をソフトウェア処理
- コードが書ければラジオをかけれる
- 負の周波数とは?
- std::atan2 はすごく時間がかかるので、 gnu の実装を使う
- AM放送なら振幅が必要
- FM放送なら位相を微分し、復調する
- 位相が歪むとFM放送で不快な音がする
- 時間だけを見ると、反射波の遅延の波が加算される
- マルチパスフィルタ: 逆方向のフィルタをかける
- FIRフィルタ 複素数でやったフィルタ
- Vector Optimized Library of Kernels (volk ... x86 と ARM だけすごく早くなる)
- 世界初のOSSで実装したマルチパスフィルタ
- airspy-fmradion
- Rasberry Pi でも動く
- Windows 対応も予定している
- 冬の夜に 雷を伝える 電離層
触ってみよう Micronaut Framework / shimamchanさん
- コールドスタート時の性能が重要視
- golang, Node.js
- JVM は不利
- MICRONAUT / マイクロサービス、サーバレス用のフレームワーク
- Sprint boot からインスパイア
- 依存はしていない
- 昔のフレームワークはモノリシック前提だった
- Netty ベース
@Singleton
アノテーション。独自実装アノテーションもある- Kotlin、Groovy も対応
- DI対象がない場合は実行時エラー
- コンパイルしたあとはデコンパイル(して、何をやっているか調べる)
- リフレクションを使ってないことがわかる
- フィールドインジェクションすると、リフレクションが使われる
- むやみに使うとテストでもDIコンテナが必要にある
- コンストラクタインジェクションのほうが、よい。
final
にできる
PHP で AST 解析して Java の中間コードを生成する / memoryさん
- PHP そのものを JVM 言語にする話
- Abstract Syntax Tree 抽象構文木
- 意味のある情報のみをツリーに
- インデントなどを消す
- 言語に合わせたシンタックスを理解してトークンに分解
- AST解析の方法
- PHPのライブラリを使うか
- 自作するか
- nikic/PHP-Parser を利用
- Javaのオペコードとは
- javap で吐き出せる
- iconst_1, iconst_2, iadd, iconst_3 (1 + 2 + 3)
- echo を System.out.println に直すのはすごく大変
- PHP を Java にするデモ
- javap するとコンパイル元が HelloWorld.php になっている
- php-java / コントリビュート募集中
- 作っている理由: 刺激が欲しいから
- 辛いところ: 型
詳解 Class::Accessor::Typed / papixさん
- Kichijoji Poem Meeting : 句会
- お前の型は間違っている、という話は勘弁
- Go、Scalaとは違う
- Perlの型: スカラ、配列、ハッシュ
- 文字列を期待するところにリファレンスを渡すと
- 期待する動作をしない
- 死なない
- モジュールで動的に型を定義する。実行時に検証
- エラーにならないよりはマシ
Smart::Args
型チェック- 型の定義は
Mouse::Util::TypeConstraints
Type::Tiny
というのもある
- 型の定義は
bless
後付で作られたPMP- 祝福するとオブジェクトができる
- クラスビルダーを使って、書きやすくする
- フルスペック(バリデーションやMixin)なものとシンプルなもの
- フルスペック
- Mouse, Moose, Moo
- シンプル
- Class::Accessor, Class::Accessor::Fast
- Class::Accessor::Lite, Class::Accessor::Lite::Lazy
- Class::Accessor::Lite::Lazy :
ro_lazy
など - フルスペックは重厚。複雑。型の恩恵がある
- Class::Accessor::Typed
- Class::Accessor::Lite::Lazy + SmartArgs
- ベンチマーク
- Moose, Moo(ISA) よりは速い
- Mouse よりは遅い
- 始めよう 型の力で 良いPerl
スポンサートーク / hirose30さん
- FOについて
- RTBを作った会社。マーケティングテクノロジ
- モバイル、WEBの広告。位置情報の広告。タクシー
- TV ✕ AdTech
- Give People Work That Requires A Person
- Roppongi PRODUCT MANAGER Meetup やってます
- 決意表明: 1年以内に開催したい
IR Reading 2019 秋に行ってきました / sakuraさん
- モンハンとマリオメーカーとプログラミングから変更
- IR(情報検索)の論文読み
- 5時間で22人のスピーカー、26本
- Health Cards for Consumer Health Search
- ナレッジグラフ。健康のクエリにも有効?
- 右側に出るやつ
- Teach Machine How to Read: REading Behavior Inspired Relevance Estimation
- 決意表明: 検索を諦めない
自分の仕様の伝え方は間違っていた! / i47_rozaryさん
- ストーリーテリングで仕様を伝える
- よくある伝え方
- 機能のリストが書いてある
- なぜ必要なのか書いてない
- ストーリーテリング
- 物語を通じて、情報を印象づける
- 病院に行かない理由にも色々ある
- 定期検診がめんどい、忘れる
- 急病だが病院が遠い、行けない
- タスクに簡単に書くと、開発者は作り始めてしまう
- 利用状況の説明が足りない
- ユーザの環境情報を元に仕様を考える
- チーム全員でプロダクトに向き合うことができる
- 決意表明: 40歳になったら宇宙旅行
それでもスクラムマスターをやっていく / KamoShinichiroさん
- 30分のスライドを5分で
- スクラムマスターの価値
- PはPoemのP
- 人間は自分たちへの甘えがある
- 現状の自分を肯定しがち。masterへpushしたときなど
- そこで止まってしまう
- 長期的に見ると問題が起きていることがある
- 悪いからサボるのではなく弱いからサボる
- チームのトレーナー : スクラムマスター
- スクラムマスターは第三者なので、自分しか知らない自分がいる
- 走りながら自分のフォームを見直すことができない
- エンジニアにも同じことを言えるだろう
- ボトルネックになったりしがち。だが、価値がある
令和なのでメールを読む話 / tennashiさん
- 人間は増えますね
- PM = "P"OP I"M"AP
- neomutt でメールを読む
- HTMLメールをちゃんと読める?
- IMAP 接続が遅い問題
- Maildir 形式
- メールの形式: RFC5322/RFC2822/RFC822
- ローカルの形式はない。 mbox か Maildir(++)
- mbox は1ファイルだから怖い
- mbsyncの定期実行は systemd やら cron
- imapnotify : IMAPのNOTIFY 拡張をトリガに
いまさらMySQL::Dump::Parser::XSの話 / karupaneruraz さん
- ダンプすると数十GB
- mysqld 通して importすると時間がかかって大変
- MySQL::Dump::Parser::XS
- 5 年前に作った
- 金でいいインスタンスを立てるといい
- 突然のPR
- 5年越しのCPANリリースした
- メタ文字のサポート
- charset indicator (
__latin1'abc'
) など
昔作っていたソシャゲーの裏側 / わいとんさん
- 大井町.pm 6人くらい
- 2007 年 facebook platform
- 11月 OpenSocial
- Zynga, FarmVille 8300万人のプレイヤー
- 2008年 月mixiアプリ
- 2009年 怪盗ロワイヤル
- モバゲーAPI, GREEアプリ
- 2011 探検ドリランド
- 2007年12月
- 「猿渡学園」
- 2013年 クソアプリオブ・ザ・イヤーに選ばれる
- すでに存在しない会社
- 猿渡学園の裏側
- 猿渡学園DX (iアプリ、スマホアプリ)
- ヤンキー、学力は控えめ
- モヒカン版きれいなジャイアン
- 検索機能でタイマン (PvP)
- 戦術は3つ
- メールで果たし状
- tableタグを利用した体力ゲージ
- 10,000 回自動対戦で、差があるとエラーとなる(パワーバランス)
- Scientific Linux 4.x
- Perl 5.8 (よくわからない言語)
- Catalyst (Catamoose ではない)
- Apache2.0 + mod_perl
- Tritonn (MySQL 5.0 + Senna)
- memcached
- gearman から TheSchwartz に
- タイマン、抗争が発生しない現象が解決
- Ultra Monkey L7, Heartbeat
- iptables + Heartbeat
事業を横から見たエンジニアの悩み / kfly8さん
- 組織の生産性を上げることが仕事のミッション
- 総合格闘技。人に聞いて現状把握。仮説を立てる。PDCAを回す
- 毎日デプロイではなく、ゆっくり、継続がキモ
- 1on1、勉強会、カンファレンス参加支援、評価制度 うまく機能しているか
- マネージメントが機能しているか
- 目標設定、成果、進捗、雑談
- フルスクラッチで頑張りすぎ
- ドキュメントが多すぎ。車輪の再発明。
エンジニアが(きっと)知らないエンジニア採用の話 / chan_centerさん
- 採用って恋愛に似ている?
- 似てない。採用はできるけど彼氏はできない
- 相手の気持ちに従う、相手のペース、何もしなかったり、3時間の面談
- うまくいくこともうまくいかないこともある
- 万能薬はない
- 相手に有効な切れるカードを増やしていく
- Facebook 送りまくり、マックでエンジニアぽい人をナンパ
- これは引かれるので、絶対にやめたほうがいい
- 相手のことを考えていっぱいやる
- 活動時間が半分入って、同じ人数入る
- 決意表明: 恋愛にノウハウを活かしたい