rch850 の上澄み

技術的な話題とか、雑談とか。タイトルを上澄みに変えました @ 2020/09/02

ISUCON5の予選抜けました

出よう出ようと思っていて、毎年気づいたら終わっていたISUCON。

ついにチーム「へしこず」として出ることができました。

そして……予選突破しました!やった!

isucon.net

開始前は Node.js でやろうとチームで話していたのですが、

心が Node.js を書きたがってるんだ……ということで、書けずに、Ruby で戦いました。Sinatra に mysql2-cs-bind なら俺達でも分かる!

※ラップトップが4台見えますが、ひとつは観戦者のものです。

※なんで心叫かってーと、ふくもく会その8〜心がもくもくしたがってるんだ〜の会場で参戦してたからです。

最初に素の状態でベンチマークとって、200点前後だということが分かり、そこからチューニング開始。開始から2時間半ぐらい、前回のスコアが800点ぐらいだったから、次は2000点ぐらい行くかなと思ったベンチマークで、突然の3000点超えで暫定トップに。

「あれ、3000点超えてる!?」

「えっ!?他のチームまだ2000点台だし、これってそういうこと?」

と、割と混乱気味なまま、本戦出場条件の「1日目,2日目でそれぞれ指定の点数に最も早く到達したチーム」を達成て本戦出場が決まりました。

やったことはというと、

  • 役割を分担して、こまめにお互いの進捗を共有
  • Chrome devtools でざっとサイトのパフォーマンスの様子見
  • nginx のログ出力項目増やしてベンチマーク走らせてボトルネックを見つける → GET / に的を絞る
  • インデックス効いてないクエリを見つけてインデックス張る
  • MySQL はスローログ取って mysqldumpslow で重いクエリを探す
  • ruby のコードでもログを取って重い処理を探す
  • nginx, unicorn, ruby でそれぞれチューニング

ざっとこんなところです。最終スコアは12616でしたが、そのほとんどが

  • インデックス
  • unicorn のプロセス増やす
  • ruby で処理していたところを SQL に書き換える

の3点で稼いだスコアだと思います。

あまり元の設計を変えないスタンスでチューニングしていたんですが、20000点などに伸ばしていくには、そもそもなところを書き換えていかないといけないんだろうなーと感じました。

本戦に行っても、島村卯月チームへしこず、頑張ります!

運良く今週末には今週末の福井技術者の集いがあるので、今回の予選の話とかをしようと思います。

fukuitech.connpass.com

μ'sとみんなのスペシャルステージ上映@福井に参加してよかった話

劇場版ラブライブ!ことラブライブ!The School Idol Movie が公開から3週目に入ったところで、「μ'sとみんなのスペシャルステージ上映」なんてものがあったから行ってきました。

はたして盛り上がるんだろうか、盛り上がりすぎる厄介さんとかいないだろうか……とそこそこ不安があっての参加でしたが、結果としては、盛り上がりたいファンが節度を守って盛り上がる、楽しいイベントでした。参加してよかった。

それなりにネタバレ的な要素を含んでるので、回避したい方はこの辺りで見なかったことにして下さい。

最初に書いた通り、公式なイベント名は「μ'sとみんなのスペシャルステージ上映」と、合唱という文字は入ってません。そんなまさか歌うわけないだろwwwと思っていたんですが、始まってすぐの「らららんらー、らららんらー」のところで、オレンジのブレードを左右に振りながら歌う人が出てきました。これにはみんな乗せられて、一気に合唱上映になりました。なるほど、そういうことか。ここから「ダレカタスケテー」への「チョットマッテテー」や、「にっこにっこにー」で、会場がいい感じにウォームアップされて一体感が出てきました。

その後も、「なるほど!」とか「大丈夫!」とかのシーンで一斉に声を出したり、自由の女神とか、スクールアイドルの使者のところでは、みんなしてブレードを真上に掲げたりしてて、いい具合に盛り上がってるなという感じでした。もちろんセリフやポーズを真似するだけじゃなくて、それぞれの推しのシーンでの声援を上げたり、りんぱなとかのぞまきでは黄色い(?)歓声が上がったりしてました。というか、セリフ真似よりはそっちのほうが多かったような。

逆に静かなシーンで声を出す人は全くいませんでした。ここの加減が絶妙で、おばあさま……では静かで、場面が外に写った途端に「ヒュ〜〜」っていう。声が出るか出ないかの微妙なラインだったシーンでは、総じて声が出ませんでした。

そして、何よりもライブシーン。学年曲は普通に棒を振ってたぐらいでした。μ's曲についてはこんな感じ。

  • Angelic Angel
    • 「えんじぇー!」は声を合わせて。その他のコールらしいコールは無し
    • 扇子買ったのに忘れて後悔。会場では使ってた人いたかもしれない
  • SUNNY DAY SONG
    • クラップ、PPPH、振りコピ、足踏み、穂乃果ソロのUO、もうみんな好き勝手に盛り上がっててこれが最高に楽しいライブってやつかと思った
    • ほとんどのライブシーンでは、終わった後に歓声が上がってたけど、この曲では静かで、「「「ラブライブ!」」」が済んでから歓声が上がった。この間の取り方はよかった。
  • 僕たちはひとつの光
    • これは立つのか座ったままなのか予想できなかったけど、結局立ち上がってた
    • こんなこともあろうかとブレードの設定は橙紫黄緑桃白青水赤に設定済み。でもそんなに色変えしてる人はいなかった
    • 立ち上がったからには、定番の「10!」と「ミュージックスタート!」やるよね
    • LoveLive! school idol project のロゴが出てくると沸き上がるありがとう!の声。泣いた
    • 「今が最高!」はみんなで
  • (おまけ)As time goes by
    • ずっとオレンジのワイパー
    • 初回のシーンでは終わった後に全力で拍手

最高に楽しいライブを目指した SDS を目一杯楽しんで、みんなで練習したアレをやって、そこからミュージックスタート!で僕光に入る。この流れは、このスペシャルステージ上映でしか体験できないものでした。本当に行ってよかったと思います。

あぐりんごさんの分かりやすい2ツイートでのまとめ

ふくもく会その4に行ってきたよ

さてレポート書くかと思ってブログ開いたら、前回の投稿がその3レポートで驚いているりちゃです。

今回のふくもく会その4鯖江市役所のIT会議室での開催でした。

どうして市役所?

その3を終えて、別の会場でやってみたいねーという話がありました。

県内で無料で開催できそうな場所がないかと色々検討していたところで、ウェアラブルアプリハッカソンが鯖江市役所で同日開催されるという話を聞きました。ふくもく会を市役所の別の部屋で開催して、ハッカソンと相互に行き来できれば面白いんじゃない?という話になって、IT会議室をお借りすることができました。

産業情報センターにつづいて鯖江市役所の掲示板にも進出!しかし名前がちょっと惜しい。でも掲載してもらっただけでもありがたいです。

IT会議室はこんな感じ。電源、WiFi、プロジェクターの三拍子が揃って快適!

市の担当者の方にも差し入れをいただくなど、とても良くして頂きました。また借りられたらいいな。

で、ふくもく会はどうだったのよ

IT会議室でもくもくしてたら、なぜか MOVERIO やら Google Glass やらが部屋に投入されてきたので、MOVERIO アプリを作るぞということ目標にもくもくしてみました。成果としては、サンプルアプリが動いた程度です。頭の向きにしっかり追従したコンテンツをシースルーで提供できるのはなかなかアツい。

他の参加者のやること宣言が、宇宙を作るとか、中国の壁を破るとかになってて、ふくもく会ぱねぇなという感じでした。

アプリをどう改良しようかなと行き詰まってたあたりで、ウェアラブルアプリハッカソンの方に移動しました。チームがいくつかあったのですが、その中に高専生と中学生だけのチームがあったので、そこに混ざってアイデア出ししつつ、実装しようとしつつしてました。

最後、学生さんが帰るときに「ステッカーがずっと気になってたんですが、もしかしてラブライブ!がお好きですか?」と聞かれたので、やはりステッカーは貼っておくべきだと思いました。「今朝は福井コロナ行ってからこっち来たんだよ」「うわー、僕は第2弾5時に並んだだけです」みたいな会話が終わりそうになかったのでやはりオタクは厄介。

朝7時に家を出て福井コロナに並んだ成果はこちら。

まとめると

  • 新しい開催場所を開拓できた
  • なんだかんだで参加者10人超えを継続中
  • 他イベントに行ったり行かなかったり自由な運用ができていて良い
  • 他イベントとの併催で新たな出会いがあった

そう、今回のサブタイトル「〜ふくもく会に出会いを求めるのは間違っているだろうか〜」は間違っていなかった!

次回は6月21日(日)の予定です。場所は産業情報センターにしようかと思ってますが、まだまだ予定です。

ふくもく会その3に行ってきたよ

fukumoku.doorkeeper.jp

福井のITエンジニアやデザイナーやらで集まって、何かしら勉強したり、作ったりする会も、定期的に開催して3回目。今回は累計15人と、結構集まりました。そろそろコワーキングスペースのキャパも危ういか!?そんなことないか。

今回のハイライト

  • うっかり着払いの受け取りを土曜にしてしまって遅刻した。昼飯には間に合った
  • けんぞう蕎麦は相変わらず激混みだけど予約してあったからすんなり入れた
  • 今のところノンアルコールは欠かしていない
  • すごい Angular おじさんがいて元気が出た
  • わいわいしながら翻訳作業をしてもなかなか進まない

というわけで、ISAC 関連の作業を進めようとしてたんですが、結局この日には終わりませんでした。

終わらなかったけど、焼き肉 @ とよしま。

次回の予定は5月23日(土)です。ではまた!

MySQL Workbench が固まるのが直らない

MySQL Workbench で、結果のデータが大きいクエリを走らせると固まる現象が発生してて困ってる。バグトラッカーには、MySQL Bugs: #73343: Workbench Freezes on Remote SSH Server Query としてこの問題が挙がっている。

細かい条件を書くとこう。

  • MySQL Workbench 6.2.x
  • Connection MethodStandard TCP/IP over SSH

MySQL Workbench の SSH 周りの処理は Python のライブラリ paramiko が動いているってのは、ソースを見てなんとなく把握してたから、paramiko のバージョンを上げて直るかどうか試してみた。

というのも、つい最近 MySQL Workbench のブログに paramiko のバージョンを上げる方法なんていう記事があがってて、これは上げれば直るってことか!?と期待してしまったのが理由で。

最新版の 1.15.2 に上げるときのハマりと対策は、別のバグ報告 MySQL Bugs: #74223: Fail to connect through SSH tunnel に色々書いてある。要点だけ言うと、[MySQLWBインストール先]/modules/wb_admin_ssh.py にパッチを当てる必要がある。

で、やってみたんだけど、結論フリーズする状況は変わらなかった。paramiko の互換性が途切れる直前の 1.11.6 にしてみたけど、変わらなかった。

wb_admin_ssh.py とか、その辺りのコードで paramiko 使ってる部分をうまいこと書き換えれば解決しそうなんだけど、なんとかならないかなー

ちなみに MySQL Workbench 5.x ではこの現象は発生してませんでした。

SIMフリー?SIM刺さってんじゃん

「Wikipediaをwikiって略すな」に敗北した我々の負けられない戦い「GitHubをGitって略すな」 - YAMDAS現更新履歴 を読んで、「SIMロックフリーをSIMフリーって略すな」という戦いに思いを馳せた。

自分の解釈では、SIMロックフリーとSIMフリーはこうなる。

SIM が刺さってるのに「この携帯 SIM フリーなんだ」とか言われると、どういうこっちゃと思ってしまう。

しなしながら世間の風は厳しく、検索のヒット数は「SIMフリー」が「SIMロックフリー」の4倍。

f:id:rch850:20150406222926p:plain:w400

f:id:rch850:20150406222931p:plain:w400

ケータイ Watch さんだけに絞ると、SIMロックフリーのほうが多数派になる。

f:id:rch850:20150406223638p:plain:w400

f:id:rch850:20150406223627p:plain:w400

がんばれケータイ Watch!がんばれ SIM ロックフリー派!

高専プロコンへの提言を読んだ

全国高等専門学校プログラミングコンテスト - 高専プロコンへの提言 - 25周年特別企画で取り上げられてる3名の提言を読んで、いいなと思ったところ。

ホームページの改善

これね、茨城大会で茨城の先生が XOOPS 入れて、その後大きな変更なくずーっと使われ続けてるって話ね。もうそろそろ10年経つしなんとかすべき。

開発チームの支援

いかに公平に支援するかが課題になりそう。有力な高専だとすでにOB/OGの手は入ってるだろうし。行き詰まったらアドバイス、というよりは、8月末あたりに中間審査でもやってアドバイスしてあげればいいんじゃないかな。

高専と共同開発

インターネット時代だし、やってほしい。高専を表彰するという形をやめる必要が出てくるだろうけど、特に理由が無ければやめてしまえばいい。

個人作品の展示

アツい。やるべき。がんばって会場確保してください。

アルゴリズムの共有

知識が高専で閉じてしまうというのが、高専プロコンでありがちな問題。というか高専で閉じるならまだよくて、チームで閉じてしまって後輩に一切受け継がれないなんてのもよくある話。これを打開するためにコード、アルゴリズムを自主的に公開する競技勢がいるけど、それをプロコン実行委員会として推進していくべき。

こんな感じで肥田君ガチ推しです。とてもよい。なぜ最優秀じゃなかったのか。

最後に、気持ち悪いと思った点。

この提言のファイル名。井上さん、肥田君、村山君が書いた提言だというのに、ファイル名が Teigen_yuge001.pdf といった名前になってるのが最高に気持ち悪い。なんで高専の名前を見てるの?そこは個人名でしょう。高専プロコンでの表彰式では作品ではなく学校が表彰されているというのを以前から不満に思ってて、それを彷彿とさせたのでついカッとなってしまいました。