タネマキに行ってきた

少し前にプレスリリースを出したが、Increments社では全社的にリモートワークを導入している。当然オフィスに来る人はめっきり減っていて、分散環境でいかに仕事を滞りなく進めるか皆で知恵を出し合っている昨今だ。

会社としてはそんな感じなのだが、僕はどうも家だと作業がしにくいこともあって、毎日オフィスに行って仕事をしている。一緒に働く相手がリモートにいるので、考えようによっては僕もリモート環境に身を置いていると言えなくもないのだが、制度を有効活用しているとは言い難い。たまには外からオフィスにつないで会議に参加したい。

思っているだけでは状況は変わらないので、今日は一念発起して id:tatata111 と吉村家に行くついでに、横浜にあるタネマキというコワーキングスペースで働いてきた。昔会社で開催したもくもく会にタネマキの人が来ていたのを思い出したのだ。

tane-maki.net

横浜駅から約徒歩10分。中に入ると机がずらっと並んで、何人かが仕事をしている。受付でお金を払って席を確保する。炎天下の中歩いて来た身にはフリードリンクが嬉しい。やっぱり夏は麦茶だな、と思う。

PCを開くと周辺視野に映る景色が違うだけなのにオフィスにいる時と気分がまるで違う。見知らぬエンジニアが仕事をしている雰囲気を感じるだけで背筋が伸びる。なんかハッカソンとか、もくもく会とかに来た時のようなそんな感じだった。

横浜駅徒歩圏内にも関わらず、1100円出すと閉館までいられるという良心価格。渋谷からの往復電車賃を含めても2000円いかない。

コワーキングスペースで仕事をするのもいいな。気が向いたら同じくらいの予算感で行ける首都圏のコワーキングスペース探して訪ね歩いてみることにする。

f:id:yuku_t:20160707133312j:plain

ちなみに吉村家は安定の美味さだった 😋

芸術の秋2015

雨降りの日曜の午前、人混みを避けるように開館間もない頃合いを見計らって上野の東京都美術館へモネ展を観に行った。

事前に想像していたよりは少なかったが、それでも二重三重の人混み。「やっぱり集客力が違うな〜」美術史とか勉強したことが無くても、印象派の巨匠としてクロード・モネのことくらいは知っているのだ。睡蓮でしょ、睡蓮。

なのに一周ぐるっとまわって入り口に戻ってきたらさっきより人が少ない。なんでだ、こっちはわざわざ早起きして来たというのに。雨の日に美術館に来るような人は、皆同じようなこと考えるということなのかも知れない。

外に出てみるといつの間にか雨は止み、秋の曇り空をV字に切り裂いて綺麗な青空が広がっていた。

ISUCON5 予選通過しました

9月26日、27日と行われたISUCON5@yujinakayma @spesnova と一緒に "醤丸" として参加し、最終スコア14501で通過しました。

実質的にやったことはUnicornワーカー数を増やして、あとはひたすらSQLのチューニングのみで、結局Redisは使いませんでした。MySQLだけでもなんとかなるもんです。

あと、今までAWSしか使ったこと無かったんですが、GCPめっちゃ便利で良かったです。

以下、効果があったこと(ネタバレ)



















  • ユーザAとユーザBが友達になったとき、relationsテーブルに one=A another=Bone=B another=A の2つのレコードが作られるのを、 one < another というルールを作って回避。これにより relations を引くときの OR が消えて1800くらいになった。
  • CPU 4コアに対して、初期状態でUnicornワーカーが1つだったので4つにしたら3000超えるくらいに改善。8個にしても変化があまりなかったので4つに固定した。
  • commentsテーブルにentry_user_idを追加して効率が悪いJOINを排除して4500くらい。
  • footprintsが同一日に複数レコードを作らずに同じ日の中ではcreated_atを更新していけば(もはやcreated_atではない) GROUP BY は全くいらないということが分かったので、そういう感じにしたら 14000 くらいにジャンプ。
  • users, profiles, saltsが別テーブルになっている必要がないので、usersにまとめたら16000 になる。
  • viewで get_user しているのを先にとってくるように変更して 17000 くらい
  • indexを再度見なおして18000くらい

最高点18000近くいってるのになんで最終的な点数が14501かというと、終了間際になってテスト時にインスタンスが再起動されることに気がついて、実際に再起動してもちゃんと動くのか確かめたりしてたら、たぶんキャッシュが落ちて、ガクッと点が下がったのだと思います。MySQL温めるスクリプト作ったつもりだったけど動いていなかったのかも。冷汗かいたけどなんとか通って良かったです。

予選ではRedisもVarnishも使わなかったけど、本戦では隙を見て投入していきたいですね。

目指せ優勝!