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

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

今日は YAPC::Tokyo 2019 前夜祭 の日です

YAPC::Tokyo 2019 前夜祭 LTソン presented by 吉祥寺.pm に参加予定ですので、自分用のメモを残します。

技術イベントスポンサーやっていこう / micchie さん

  • なぜ? → 応援したい
  • Perlは20年前に書いていて、今はgo好き
  • イベントのことを知る
    • ターゲット層、来場者数は調べたかった
  • 年間予算の確保
    • イベントの費用は毎回違う
  • Twitter公式アカウント、代表アカウントでキャッチ
  • 会社のロゴを用意
  • 配布物を用意
    • おやつ、キーキャップ
    • 会社のロゴは嬉しいかしら
    • 自分が欲しいもの
    • メガネが多いのでメガネ拭き
    • チラシお断りステッカー
  • 別の会社のステッカーで上書きされると悲しい
  • Tシャツ、紙コップを用意した
  • デザイナーさんの力が必要
    • 紙コップ用のデザインなど
  • 当日
    • ブースがなければ、楽しんできてもらう
    • ブースがあれば頑張る
  • 目的など明確化
    • 複数の担当者が受け取れる連絡
    • 配布物のニーズを確認
    • イベントも登壇もやっていき

NQPとMoarVMと私 / AnaTofuZ さん

  • Rakudo はどうプログラムされてる?
  • Perl6はPerl6で書かれている
    • NQP という
    • Not Quit Perl
    • Perl6だが、制約がある
  • 束縛 := しかない。 i++ できないけど ++i は書ける
  • フィボナッチ、整数の和、くらいは書ける
  • NQPオペコード。MoarVMのバイトコードと1-1
  • 型が書ける
  • Perl6は漸進的型付言語
  • 型を書いたときと書かないときでオペコードが違う
  • MoarVMは頑張って実行している
  • Rubyish : NQPで作成されたRUbyエミュレータ
  • 文献が日本語も英語もない
  • Perl6が読めないと読めない
  • 関数と () の間に空白入れられない
  • NQP で Perl6 Hack

AWS CDKについて / cohalz さん

  • Perlは一文字も書いたことない
  • AWS CDK 知ってる人、使ってる人は結構いる
  • Cloud Development Kit
  • YAML、CFnで複雑な処理を書くのは辛い
  • CDK Construct Library が便利
  • cdk deploy デプロイツール。そのままデプロイ
  • cdk diff 人間が読める変更
  • IAM、Security Group の変更を警告してくる
    • TCP 80 あいちゃうよ、とか
  • リソースをテンプレ化しやすい
  • エンジニアからは、TS触りやすい
  • Construct Library の中を読むのは難しい
  • 利用者が少ないので情報が少ない
  • CDKのツール群が便利なので使おう
    • ただし、開発者プレビューです

SPVM共同開発の話 / yuki_kimoto さん

  • Static Perl VM
  • Perl 5 の話だから安心して
  • 沖縄で「目があって」
    • Perl入学式東京の講師
  • SPVM
  • Perlは配列が連続してない
    • C風の配列を実相
  • 2人で開発している
    • motxx さんと一緒
    • Perl入学式の受講生だった
  • 共同開発の方法
    • Github issue、Slack、自宅、喫茶店
    • ミーティング後の飲み食い
  • 共同開発したい方は声かけて
    • 目線を飛ばしてもらっても

DBI::TracerでN+1クエリを検知できるようにした / return520 さん

  • 今日も1,000行書いてきた
  • N+1 → SQLがたくさん発行されてサーバが辛くなること
  • 初心者でもそうじゃなくても生み出してしまうもの
    • リリースした途端RDSが停止
    • 動いているけどめちゃめちゃ重いAPI
  • スロークエリログ、計測
    • Perlのコード読みたくない
    • 楽に知りたい
  • ORMを使っている → クエリのばらつきはない
  • Amon2 の BEFORE_DISPATCH でSQLの実行をフック
    • 正規化
    • カウント、ログ
  • DBIx::Tracer でフック
  • 正規化は改行消すだけ
  • さくっとできた
  • このあとめちゃくちゃリファクタした
    • 1日の処理時間が 56.53日減った
  • DBIx::Trace 使うと簡単
  • callerでlog出しやすい
  • リファクタリング楽しい

こんな@INCにまじになっちゃってどうすんの / わいとん さん

  • とりあえず shipit
  • 同僚が古来のロジックに悩んでいた
  • @INCsub {}
    • @INC coderef hooks
    • 動的なモジュールのロード
  • perldoc -v @INC で出てくる
  • Model 層をプラガブルにロード・・・?
    • web app でモデル層をプラガブルにするのはイケてない
    • 普通に use がいいでしょう
  • Ooimachi.pm で相談した
  • おじさん「そういうのを防ぐモジュールを作るべきですよ」
  • Acme::AtIncPolice
  • MoobX で実現できる?
    • observer のトリガは読み込みのみ
  • @INC の codref hooks を予め仕込んでおく作戦
    • @INC に2つcoderefは入れられない
  • おじさん「Tie::Traceがいいんじゃない」
    • 変数の中身を追える
  • Acme大全に入るの楽しみ

YAPC Tokyo 2019前夜祭LTソン / hokkai7go さん

  • Perlのコミュニティがどうなっているのか数年ぶりに見に来た
  • 普段はサービス横断するSRE、基盤構築、
  • 「割れ窓タイム」の対応
    • 放置された不安全な状態のインフラ、ソフトウェア
    • 割れ窓 hokkai7go で検索
  • 横断するSRE
    • 把握すべきことが多い
    • 構成、キーマン、用語、ソフトウェア、最近のリリース
    • 天体観測「はてなスターのコードを読むこと」
  • 社内のことはほとんど文書化されている
  • わからないというと助けてもらえる

行動してから主張せよ / Masahiro Honma

自分のLTでした。

Cプログラム単体テストPerlで楽にする / SHIRAKATA Kentaro さん

  • JNetHack
  • readobjnam() 関数
    • 文字列をアイテムに変換
    • 「2個のりんご」「呪われた-3短剣」「祝福された油の塗られた食べかけのクロマティック・ドラゴンの死体」
    • 1111行ある
  • テストを追加ごとにコンパイル
  • Perl のテストツールで楽にできないか
  • libtap
    • TAPを吐く
    • コンパイル必要、文字列処理必要、楽じゃない
  • Inline::C
  • 標準入力でつなぐ
    • Perl側はテストファイルを読む
    • 標準入出力で
  • テスト重要
  • やり方は一つじゃない
  • NetHackの闇

Calendar::Japanese::Holiday は無事にupdateされました / melonsode さん

  • Calendar::Japanese::Holiday
    • 夜間、休日にコールセンターへ転送するプログラムで利用
  • 祝日業界に激震
    • 5/1 に爆誕、祝日と祝日に挟まれた平日は祝日
    • 2019 年は 4日休日が増え1日減る
    • 2020 年は ゲルマン民族の大移動並に変わる
  • メンテなの kztomita さんにメールを送れなかった
  • 会社のサポートページからメールを送るが、反応がない
  • 万策尽きた
  • nipotanさんがパッチ送っていたが・・・
  • yahoo.co.jp から送れなかっただけ
  • kztomita さんより直したと連絡あり
  • 祝日判定は今年も来年も大丈夫

昨日から取り組んでること / codehex さん

  • VSCode
    • ターミナルとエディタの行き来は辛い
    • emacsにする
  • vscode + emacs key bindings
  • emacs のために Lisp を覚えたい
  • Lisp interpreter を作る
  • p5-Lisp-Tiny 作った
  • カッコだらけ
  • VSCodeじゃん」「みなさんもカラフルな方が見やすいでしょう」
  • VMも作った
  • グローバル変数、ローカル変数、逐次処理、print、四則演算
  • REPLはTerm::ReadLine
  • perl もビルトイン関数

大コンテナ時代を生き残るためのJSONスキーマ / aereal さん

チームが前に進み続けるために僕たちが考えたこと / papix さん

  • トークの宣伝
  • 朝一なので
  • 考えたことシリーズの第四段
  • 対象者
    • スクラムをやってみたい人
    • これからチームにはいる人
    • 開発はコードを書くだけでは終わらない
  • はてな社のカンバンの様子とかも公開します
  • 「時間は」「後2分」「長々話すのもあれなので」

makamakaさん

  • 光る棒を入れている
  • Acme大全の作者
  • 2018年版、電子書籍版もある
  • 選り抜きAcmeさん
    • 30個くらい紹介