YAPC2016 shokaiメモ
2日目のみ参加
ユーザーはbotを友達として追加する
どんなタイミングでも送信できる
50人まで登録
審査後制限解除されて5000人まで登録
一斉送信はline@でやれ?という実装になっている
チャットコマンドで操作する
チャットコマンドを発言するボタンを設置できる
自分で好きに配置できるっぽい
リッチメッセージ
1枚の大きな画像 + 画像上のエリア
昔のHTMLのareaタグみたいな感じ
画像サイズ5種を返さなければならない
URLパラメータで指定されたサイズできっちり返す
大変そう
LINEサーバーから自分のサーバーに来るメッセージ
HTTPでJSON
1リクエストに複数メッセージ入っている
mid
で区別して個別にレスポンスする
どうやらメッセージではなくユーザーIDらしい
sessionに使える
すぐレスポンスしなくてもいいらしい
同じmidに複数回レスポンスできる?
プログラミング言語処理入門以前 -- Unlispの紹介 by esehara
Ruby上で動くlispを作っている
rubyrequire 'unlisp'
machine = Unlisp::Machine.new
machine.machine_eval ["name", "0"]
# => (name 0)
stringはめんどいのでとりあえずなし
putchar(ascii_code)
で代用
boolean型はなし
integerでいいだろう
関数定義
無名関数を変数に代入する糖衣構文として実装している
関数定義.rbmachine = Unlisp::Machine.new
machine.machine_eval ["do",
["def", "x", "1"],
["+", "x", "x"]
]
このRDBについて私は驚くべき闇を見つけたがそこを発表するにはネットは怖すぎる by そーだい
数値のwhereが、先頭が数字のカラムにmatchする
WHERE val=4
で 4four
にヒット
WHERE val=3
で three3
にはヒットしない
先頭が数値の時にキャストされる
監査ログが無い
XIDが32bitで足りなくなる
datetime
に 0000-00-00
を入れると NOT_NULL
でも IS_NULL
でもヒットする
デフォルトで大文字小文字を区別しない
🍣と🍺が同じ
絵文字以降は切り捨てられるが、insertしてもエラーがでない
utf8mb4_bin
を使うべし
pgAdmin3
日本語うてない
削除と抹消というメニューが有る
dropかtruncateかdeleteか
雑務とUser Interfaceというメニューが並んでる
アンチパターン
DELETE_FLAG
マテビューとは
オラクルマテリアライズド・ビュー
正規化しろ
外部キー制約
バグやヒューマンエラーでぶっ壊れないように
連休中に脆弱性に気づく
RDBの知識は寿命が長いので覚えておくとずっと役に立つ
データの死はサービスの死
HTTP/2でウェブサイトを高速化(実践編) by kazuho
なるべく先読みしてclientにキャッシュさせたい
Link: rel=preload
ヘッダ
HTTP/1.1 100 Continue
提案中
HTTPは複数回レスポンスを返せる
DBに問い合わせている間に 100-continue
でレスポンス返す
httpdの設定
cache-aware push
clientからはcacheに見える
サーバーからはpushで送りつけておく
ブラウザにまだ載ってない、提案中のプロトコルの実証実験をServiceWorkerで擬似的にやってる