北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

今日は 吉祥寺.pm20 の日です

弊社での開催でしたので、自分用のメモを残しておきます。

本当は難しいPSL / hiratara

自分のセッションでした。

speakerdeck.com

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さん

  • エンジニアリングマネージャー
  • 1on1やった
  • オープンなカルチャー
  • やることがない ... 20%ルールなどやる
  • タイトルと給料がオープン
  • 給料はみんなで決めている
  • リクルートに力を入れている

オープニング

  • 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さん

  • コールドスタート時の性能が重要視
  • JVM は不利
  • Sprint boot からインスパイア
    • 依存はしていない
  • 昔のフレームワークはモノリシック前提だった
  • Netty ベース
  • @Singleton アノテーション。独自実装アノテーションもある
  • Kotlin、Groovy も対応
    • Groovy はイメージ化できない
    • ScalaClojureにも対応する予定らしい
  • 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 に直すのはすごく大変
  • PHPJava にするデモ
  • 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)なものとシンプルなもの
  • フルスペック
  • シンプル
    • 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 でメールを読む
    • mutt から派生。 CLI 。 hjkl で移動ができる
  • HTMLメールをちゃんと読める?
    • w3m
    • テキストベース。 hjkl で移動ができる。 mutt が勝手に開く
    • 普通、 text/plain と text/html が両方送信されている
  • IMAP 接続が遅い問題
    • mbsync (isync)
    • IMAPサーバからメールを取って Maildir 形式で保存
  • 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
  • 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 送りまくり、マックでエンジニアぽい人をナンパ
    • これは引かれるので、絶対にやめたほうがいい
  • 相手のことを考えていっぱいやる
    • 活動時間が半分入って、同じ人数入る
  • 決意表明: 恋愛にノウハウを活かしたい