hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

A-Frame触ってみている

React VRがお気に入りだったけど気づいたらReact 360に名前が変わっていて,以前に触ってたときとAPIが変わったり,ビルドが激重だったり,なんだかんだ重厚な感じがするので,A-Frameというライブラリを触ってみている.HTMLにマークアップしていくことで組み立てられておもしろい.Reactやなんやとちがってビルドが不要で,CDNから配信されてるJSを読み込むだけで動くので,気軽に作るのに向いている.

身の回りでVRで遊んでる人はいてもVRコンテンツ作ってる人がいなくて,僕は作ることにしか興味がなくて,遊びはしないが作っているという状態.

aframe.io

ロジックをしっかり書くならReact VR,静的にオブジェクトが置いてあるだけみたいなときはA-Frameというイメージがあったけど,A-Frameのデモのダンス大会みたいなコンテンツを見て,これができるなら僕が作りたいようなものはなんでも作れそう,と急に信頼度が増した.

aframe.io

 

 

有給とりつつも一日中家にいて趣味のコードを書いていた.家から出たのは,最寄りのスーパーに昼ごはんの材料買いに行ったのと,最寄りのスーパーに晩ごはんの材料買いに行ったくらい.学生の頃の夏休みとかこんな感じで朝から晩までコードを書いたり調べ物したりして実家なのでご飯が出てきて風呂が勝手に湧いて風呂に入って寝るみたいな日がよくあり有意義だった.有給余ってるので定期的に作業するためにもうちょっと計画的に休んでもよさそう.

ISUCON8 22位でした

賞金ゲットできずでした.次回は優勝したい.

3人横並びで座れる場所を探して,畳スペースの窓際に席を獲得した.なぜかほかのチームは来なかったので異常に広々していた.
f:id:hitode909:20181022085847j:plain

インデックスを張った

素朴に点数を上げてテンションを上げる施策として最初に張ってみて,ちょっと点数上がった.

SELECT FOR UPDATE NOWAIT

アップデートのロックを取ろうとして時間がかかっていたので,ロックが取られてたらあきらめさせるため,NOWAITをつける版のメソッドを作ってみた.取引を直列化するのが正しい選択だった.

ログの送信を非同期化したかった

`curl -X POST --silent ... &`することでサブプロセスでPOSTし,結果を待たないという野蛮な試みをしたけどfailしたので不採用.今考えると並列に投げてしまったことでAPIリミットに引っかかったのだと思う.

ログの送信を後回しに

トランザクション内で通信してるのがもったいないので,送信内容をバッファリングして,トランザクション抜けてから送るようにしてみた.guardを使ってスコープを抜けるようにしたり,きれいに書けたけど,バルク送信の仕組みに気づいていなかったので点数はそんなに上がらなかった.

弁当

畳でお茶飲んで弁当食べてるとリラックス感が出てきた.
f:id:hitode909:20181022092250j:plain

ロウソクチャートの計算をアプリケーション側に

DBのCPUが高かったので,SELECT *してひとまず転送してしまい,アプリケーション側で最大や最小の計算をすることにした.これでCPU使い切りは終わったものの,UPDATEのロック待ちは解消できず.

グミ

チームメンバーがグミをたくさん買ってきていたので食べ続けていた.
f:id:hitode909:20181022092836j:plain

failするようになったのであれこれrevertした

ウォームアップできてないときにfailするようになってしまい,ロウソクチャートの変更や,ログ送信を後回しにする変更などを,どれが原因かわからないのでどんどんrevertして,点数が下がっていった.山みたいな形になって終了.revertしたら点数が下がったので,少しずつでも我々のやっていたことに意味はあったのだという変な達成感はあった.

f:id:hitode909:20181022092747p:plain

良かったこと

  • 本戦に出られたのは良かった.懇親会で上位チームの話を聞くと,作戦の立て方が正確で論理的で,こんな人もいるんだなって勉強になった
  • failで終わらなかった
    • 0点だと悲しい
  • 慌てず,事前に考えてたスケジュールで動けた
    • ペアプロ組と1人組くらいで動いて,困ったら助けを呼ぶというモデルで1日過ごせた
    • が,慌てず点数も上がらないというイマイチな結果であった

悪かったこと

  • バルク送信の仕組みに気づけなかった.ドキュメントをちゃんと読んで取り組むと良いことをやれなかった
    • プロファイル結果を見て判断することはできたが,ドキュメントに書いてあることを軽視していた
  • ふだんの問題の解き方の幅が小さい
    • 「自分だったら1秒ごとにファイルに書き出して別プロセスからPOSTする仕組みを書く」みたいな話をいくつか聞いた.普段の仕事ではリクエストを受けてレスポンスを返す仕事が99%くらいで,それ以外のプロセスモデルを取り入れようという考えがあまりない

素敵な会場,素敵な弁当,素敵な問題,素敵な仲間たち,我々の解法以外はいずれもすばらしいナイス大会でした.主催者の皆様,参加者の皆様,ありがとうございました.

歌舞伎町の思い出

新宿駅について,歌舞伎町どっちだっけとなって,JR新宿駅の東口を出たら,みたいな歌詞を思い出して,無事たどり着けた.

あしたイスコン本戦なので東京出社していた.前に東京オフィスに来たのは驚くべきことに2016年10月で,2年ぶり.東京にはちょくちょく来ているけど出社せず素通りしている状態.次に来るのは東京オリンピックに来るときだと思う.地下のビールタワーがでてくる中華料理屋が気に入っている.べきべきに疲れた状態で新宿にやってきて,歌舞伎町のホテルを取ってしまったことを後悔している.歌舞伎町おすすめ朝食情報も募集しています.