ーーーー
特徴量作成
# 拡張機能は以下の4つからなる
manifest
- メタデータ書く、大元のベースとなるファイル
serveice worker
- ブラウザイベント(次ページへ移動、tab削除、ブックマーク追加等)をhandleしたり、listenしたりする。
content script
- Javascriptをwebページのコンテンツの中で実行できる(DOMオブジェクトをいじったりとかもできる)
- chrome APIの一部しか使えないが、serveice workerとmessageをやりとりすることで、残りのやつも使える
popup (&option page, other HTML pages)
- 拡張機能にHTMLfileを入れて使うことができる
感想
- 思ったより楽しかった。
- もっと準備したらさらに楽しめそう。
- パスワードの暗号化方式を軽いものにする、とか典型的?な解法が効いたらしいが、そういう典型的な解法の存在すら知らないと試せないな、という感じだった
- チームでスコア競いなが改善していくの楽しい。実体のないwebアプリでこれなら、F1レースのエンジニアチームとか死ぬほど楽しそう。kaggleもこんな感じでチームでやったら楽しいかも?(処理時間まちがあるから微妙なのかな?)
次回に向けて
過去問をたくさん解いて、典型的な解法を覚える&素早く動けるように。
- ISUCON11 予選問題の解説と講評 : ISUCON公式Blog
- ISUCON12 予選の解説 (Node.jsでSQLiteのまま10万点行く方法) : ISUCON公式Blog
事前に用意すべきスクリプトなど用意
- ISUCON8予選 序盤環境構築覚え書き | わたしろぐ
- ISUCON 事前講習2022 座学 を開催しました(資料と動画と問題あり) : ISUCON公式Blog
- ISUCON 事前講習2021 座学 を開催しました(資料と動画と問題あり) : ISUCON公式Blog
goにしただけで速くなるらしいのでgoを学んでみる?
1. create prj
2. sbadmin2のダウンロード
3.
前提
JavaScriptの型は、オブジェクト型とプリミティブ型の2つだけ
プリミティブはオブジェクトじゃない、つまりインスタンスメソッドを持たないデータだってこと。
プリミティブ型一覧
Boolean
Number (小数もここに入る。Float的なものはない。NaN:Not A Numberもここ。)
(BigInt)
String
(Symbol)
Null
Undefined
------------------------
しかし以下みたいに、プリミティブ型からメソッド呼べるように見える
'My name is taro'.replace('taro', 'hanako')
これはJavaScriptの特殊仕様によるもの。
(nullとundefinedを除く)プリミティブ型には、その値を包含するラッパーオブジェクトが存在する。
そして、プリミティブ型にアクセスするとき、それに対応するラッパーオブジェクトに自動変換する、という仕様がある。
上の例だと、そのラッパーオブジェクトStringのインスタンスメソッドを実行していた。
どちらもデータ値は型は持っている。
静的の方は、関数の引数および戻り値の型が、プログラム実行前にあらかじめ決まってなければならない。