2015年 09月の投稿を表示しています

ISUCON5 オンライン予選に参加していました

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

こんにちは。ごみばこです。

以前より気になっていたISUCON、ついに初参加しました。

同じ会社の人もでたいー!と言っていたので、これはいいチャンスだと思っていたのですが、
結果的にみんな予定が…とかでボッチ参戦でした。オコです。とてもかなしい。


ISUCONとは?

「Iikanjini Speed Up Contest」の略で、Webアプリケーションのパフォーマンスをあげようぜ!というものです。
http://isucon.net/


やったこと。

  • 用事のため、12時半ごろからの参加。ぐぬぬ。
  • PHPの実装があやしいということで、再実装する勇気は出ず、Rubyに逃げる
  • 静的ファイルをnginxで返すようにした
      ちょっとだけ上がった。
  • worker_processをあげてみた
      1kくらい上がった
  • relationsをRedisにキャッシュしてみるもうまくできない…
      /initializeで持ってきて、全部そこを使えばいいんじゃね!?!?と思ったけどうまく行かず。
  • footprintのDATE(created_at)をやめる
      ちょっと上がった。
  • / と /login を見直した
      8kくらいまで上がった
  • entriesがアレすぎるのでキャッシュしてみる。
      参照したentriesを全部redisに突っ込む仕様にした。が、スコアが5kまで落ちる。
  • Redisが詰まった…?(????)か、ベンチボタンダブルクリックして2回走ってた…?
      結果よくわからないので戻す。
  • 最後いろいろいじくったら9700くらいになって時間切れ
      インデックス張ったり、ビューの処理をなるたけやめたり。
  • ペプシのストロングゼロめっちゃのんでた。おすすめ
      500mlペットが75円なのめっちゃつよい。

やらなかった、やれなかったこと

  • 過去問で練習
      やろう!やろう!言っててなにもしてない!ひどい!
  • PHPでがんばる
      妥協。PHP7とかHHVMとか試したかったでござる
  • デプロイの仕組みを作る
      1人だし妥協。git pullすらしてない。
  • entriesのカラム調整
      ALTER TABLEに時間がかかりすぎ…。
  • erbをやめる
      erbめっちゃ遅いで。と噂を聞いた程度、実際にloginページはやめた。nginxのプロキシキャッシュも試してみたかった
  • SQLクエリの様子を見る
      スローログの設定がうまくできなかった。アプリ側でログだせばよかったなあ
  • Redisキャッシュ
      やり方がだいぶおかしかったかもしれない。
  • アクセスログの詳細度をあげる
      レスポンスタイムとか見れたはず
  • チームで戦う
      次こそ!
  • erb中のロジック見直し
      終了後によく見たら、もうちょっとだけなんとかできそうな部分あるじゃん…
  • 再起動しての動作確認
      完全に忘れてた。

「1日目、2日目、それぞれで3000点に最も早く到達したチーム (ただし予選終了後の追試の対象には含まれます)」とあったので、ひとまずの目標を3000点にしていました。最終的に1万にとどかないくらいというところで、まあまあ満足する結果になりました。

そんな感じで、1人でも意外といけそうということはわかったのですが、見たいところやいじりたいところが多すぎて、うまく整理できてなかったようです。
もうちょっと、ここがこうでーとか色々メモして、見ていく順番をつけてあげると、自分の動き方がよくなってスコアも伸ばせたかなあ、という印象です

あとは、圧倒的な知識不足を感じました。
以前やっていたとはいえ、Rubyもなんだっけなーくらいだったり、どんなライブラリ使うといいかとかわからないし。
nginxよくわからないし、ミドルウェアもうーん、うーん…、うーーーーーん。

直前で猛練習したり、日頃から触っているような生活じゃないと、いきなりコンテスト!は厳しい感じでした。

あとは1人なのもあって、時間とスコアだけしか見てない動き方だった部分も反省点かなと。

git?いやいや、面倒だから本番いじっちゃおー。_bkとかしときゃいいでしょ。とか。
特定のページだけ静的化とか普通しないけど、スコア伸びたしいいやこれ。とか。
なんでそうなるのかわからないけどこういう設定すりゃいいんでしょwとか。

ということで、次回(もしあれば)は、3人で出る!を目標にがんばります。
本選もいけるなら行きたいけど、楽しいのがいちばんだよね!

最後に、運営のみなさま、楽しいイベントをありがとうございました!

私立プログラミングキャンプ2015 Tokyoに参加してました。

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

ピクシブさんにて、土日通しの泊まり込みハッカソンでした。

途中でちょこっと寝てしまったようですが、ほぼほぼ完走しました。

(ただし成果がついてきているとは言っていない)

ありがとうピクシブさん。
ありがとうゲヒルンさん。
ありがとうオプティムさん。

やったこと

・ごみばこいんのマルチプレイ対応(仮)
・誤字脱字検出っぽいなにか
・ごはんをたべる
・ツイッターを見る
・アニメを見る

ごみばこいんのマルチプレイ対応(仮)

作業時間の7割くらいをここに費やしました。

過去に一度やっていたのですが、ソースコードが消えてしまい…。

ということで、改めて作っていました。

サーバサイドでそれっぽい動きをするものを作り、ある程度の頻度で同期するようにしたら、
クライアント側の動きとサーバ側の動きが異なりすぎて、ひどいラグが起きているかのような同期性能になりました。

memo

ひどい…。

以前おこなっていた方が、WebSocketで高頻度で同期していたので、安定してくっついていましたが、
ちょっとこれではだめですね。

また出直してきます。

誤字脱字検出っぽいなにか

ちょっとした都合で、誤字脱字を判定したいなーという都合があり、
それっぽい実装でできるのでは?と思って試していました。

実装としては、機械学習のようななにかになっています。

よしなにわかち書きのようなことをしてからの、
前後の出てくる文字列を数えて、データとして持っています。

入力値に対しても同じように処理し、
もっているデータと付け合わせてレーベンシュタイン距離的なものを出し、
一番近いものを出す、だけです。

超簡単!!

が、たとえば、漢字が変換されてないとか誤変換とか、
「よしなにわかち書き」が雑すぎて、実用にはちょっと無理すぎるレベルでした。

その問題あたりをちゃんとしたら戦えそうな気がするので、
また試してみます。


tmp

ごはんをたべる

パンがメインでした!!!

あとエナドリ!!!

ビタミン不足しそうだったので、ウイダーインゼリー的なのも食べてました!!!

ツイッターを見る

ひと段落つくたびにツイッターみてました。

久々にまじまじ見てましたけど、結構おもしろいですよね。ツイッター。

アニメを見る

アニメを見ながらコード書いてました。

最近はやりの、友利奈緒さんを見ました。
非常に残念なことに、私には友利奈緒さんの良さがさっぱりわかりませんでした。
もうちょっと見るといいんですかね~。

あ、伊波まひるさんはかわいかったです。
良さがありました。

おわりに

ハックしてる感の高いハッカソンめっちゃ面白いのでまたやりたいです!!!!!!!

次はISUCONか~~!?!?!??