2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
リンクをコピー
記事をブックマーク
草野翔氏(以下、草野):ここからはTwitterでみなさんに書いてもらった質問などに答えていきたいなと思っているので、いったんフリーテーマでいろんな話をしていきます。みなさん何か気になったやつありました? 「これの話をしたい」みたいなやつはありましたか? ないなら僕が拾います。
中西建登氏(以下、中西):どうぞ。
草野:拾います。「ISUCONを解く時に、自分がそのアプリをゼロベースだったらどう作るかと考えることがあるなぁ」という話があります。みなさんゼロベースでISUCONを解いて「この問題を作り直したい」とか、「この問題を根本的にやめたい」みたいなことはけっこうあるかという質問をしたいんですが、どうですか?
ISUCON本で触れなかったすごい大事な点として、要件を変えるというのがあると思います。
(一同笑)
草野:「そもそもページャーを出すのやめよう」みたいな。「続きを見る以外のページングをやめよう」みたいなこともあると思うのですが、みなさんどうですか? 「開発要件を変えたいな」ということはあったりしないんですか?
藤原俊一郎氏(以下、藤原):常にそれはあるでしょう。
金子達哉氏(以下、金子):実際にはメチャクチャありますよね。
藤原:実際の業務だと、要件をいじってゼロにできるんだったらそれに越したことはないので、コードを直すよりそちらを第1に考えます。
草野:そういう時に出がちなものはあるんですか? この要件を書いて入れるとキツくなりがちな要件。
金子:ページャーとかはあるあるじゃないですか?
草野:ページャーはあるあるだよね。あとはなんだ。
金子:ページャーで真面目に出そうとするとそこで詰まっちゃったりするので、「バカページャー」と僕は呼んでいました(笑)。あえて手抜きの実装のページャーを出すという。
草野:バカページャーはどう作るの? 何をしないの? 「次へ」があるだけ?
金子:あまり覚えていない。次のページがあると書いてあるのに、実は次のコンテンツはなかったりとか。
(一同笑)
金子:そのあたりのページ数とかが微妙に合っていなかったりとか、チェックがけっこう適当みたいなものはあるある。
草野:なるほどね。根本的にやめたいことで「gRPCをやめたい」。gRPCをやめたい人がいるのか。おもしろいな。馬場さんの章に書いてあるんですか?
馬場俊彰氏(以下、馬場):「もうその項目を画面に表示するのをやめたらいいんじゃない?」とか。
(一同笑)
馬場:「ここで『いいね』の数を出さなければいいだけじゃん」とか、「コメント数とかいらないでしょう」ということがやっぱりあるじゃないですか。そういうのを削るだけで圧倒的に有利になることもあるので、実務ではそれを(要件を変えることを考えましょう)ということは書いてありますね。
藤原俊一郎氏(以下、藤原):ISUCONでいうと、昔『クッキークリッカー』的なゲームが本選のお題に出た時があって、その時にものすごく厳密にCookieの数を数えるので、BIGINTの計算が厳密じゃなきゃいけないんだけれど、下のほうの桁はもはや画面に出ていないんですよ。指数表記になっていて、それを指数表記で計算するのでもベンチマーカーに怒られるんですよ。
「こんなん指数表記でいいやん」って思ったこともありますね(笑)。「浮動小数点で計算してもいいんじゃない?」みたいなことは思ったことがあります。
草野:なるほどな。最近やりたくないこと。なんだろう。SPAになってきたから人の名前は表示したくないのはマジでありますね。ログインしているか・していないかだけにしたい。
金子:それはCDN(Content Delivery Network)でキャッシュしたいとかじゃないですかね。
草野:そうそう。どんどんCDNでキャッシュできるパーツをとにかく増やしたい気持ちになる。とにかく特定の人にだけ見られる投稿をやめたい。パブリックかそうじゃないか、どちらかにしたい気持ちが僕はすごくありました。
金子:それはアプリケーションの重要な要件だったりするので。
草野:そうなんだよね。
馬場:本当に重要なやつはいいですけどね。「どちらでもいいんじゃない」という場合もあるので。Twitterに(コメントが)ありますけど、「全部で何件ですということを、1の位まで必要か?」というのはありますね。
草野:1の位まではいらない気はしますけどね。「『いいね』の件数とか、過去にツイートした件数とかいらなくない? あれいる?」と日々思います。
草野:他に「初心者向けのアドバイスを何か1つでもいいのでお願いします」というコメントが来ています。初心者向けのアドバイスをみなさんお好きな順番でどうぞ。
金子:それこそISUCON本を読んで、private-isuを解いてみてほしいです。
藤原:private-isuはいいですね。
金子:private-isuは初心者向けにしてあるので。
馬場:あとは事前講習。
草野:事前講習をやっています。ハンズオンに参加してね。
金子:そういう人は座学だけ聞いても、ハンズオンまで参加しないと「なんかよくわかんなかったな」で終わりそうなので、意味はないんじゃないかなと思っています。
草野:座学で一応役立つようには書いているけど、なんでわからないかわからない状態はやはりキツイので、何か1問解いてみるのは事前講習でもメチャクチャおすすめしています。とりあえず何か1問。
藤原:やはりコードをGitHubなり何なりでちゃんと管理をして、変えてプッシュして、デプロイして再起動して、ベンチをかけてスコアが出るような流れを回せないと、まず何もできないので、それだけはできるようになってから参加したほうがいいと思います。
まず「SSH(Secure Shell)って何ですか?」と聞いているとたぶん時間の無駄。当日の時間がもったいないだけなので、そういう素振りはやってから参加するのは最低限してほしいかなとは思います。
中西:先ほどの話にもありましたが、実際に手を動かしてみるのにプラスして、最初にやることは決まっていると言いつつ、「過去にこれを最初にやっていい感じにスコアが上がったから、今回のこの問題に適用できる」と思って突っ込んでみると、「そんなことはぜんぜんありませんでした」ということはわりとよくある話だと思います。
そういったスッと手を動かせるような武器というか、ツールキットみたいなものを何個か持って、「どうやってそのツールキットの一つひとつを適用するんだろう」ということを無意識にというか、スッと手が動くようになると、ファーストステップが踏みやすいのかなという感じはします。
馬場:それはdstatとかpt-query-digestとかそのあたりの(ツール)ですか。
中西:そうですね。そういったツール類もそうだし、「ここが詰まっていそうだな」というものがスッとわかってスッと直せるみたいな。まぁそんな簡単に直るものは少ないんですが(笑)。
(一同笑)
藤原:スッとわかったら苦労はいらない。
馬場:だからこの本の付録Aがすごくいいんですよね。自分で考えながらやりつつ、「藤原さんは同じ情報から何を拾っているのか」という目の付けどころみたいなのを、見ながらわかるようになっています。
金子:ISUCONを解いて、「なんかやろうとしたけどちょっとわからなかった」みたいな人は、たぶん付録Aから読んだほうがいいんじゃないかなと、僕は個人的に思っています。付録Aから読むと、「こういう知識がないと進めないんだ」ということが最初からわかります。
付録Aに、「この仕様についてはこの章に書いてありますよ」と全部書いてあるので、「そうしたらこの章を読んでみよう」みたいになると思うんですよね。だからやってみたい人は付録Aから読むと意外といいかなと思っています。
藤原:ISUCONの競技の雰囲気がよくわからないみたいな人はそうですね。そうすると流れがなんとなくわかると思うので。
草野:なるほどね。初心者向けのおすすめ情報は他にはありますか?
金子:ここ数年のISUCONの過去問は、初心者には特につらい問題が多くなってきているので、けっこう初心者寄りにしているという点で、private-isuに価値があるのかなと思っています。あれを1回ざっくり全部解いてから行けば、ここ数年の過去問もある程度解けるようになっているんじゃないかなと思っています。
草野:ありがとうございます。
藤原:private-isuはおすすめですよ。
草野:僕は事前講習で死ぬほど初心者向けの話をするので「そっちも聞いてね」と思いつつ、一応別の話をしておいてかつ本も読んでねと思いつつ話をすると、これは学生向けの話ですが、なんと(ISUCONは)現代では使われていないSSHなるものを使って開発をさせることが多くて。
Dockerという流行りのやつやコンテナという未知のものがなくて、おじさんな感じのSSHが使われたりするので、意外とそのあたりのノウハウがない。
プロダクションが「SSHは別に使わなくていいよ」という感じの世界なので、SSHのリファレンスをなんとなくやっておくとか、ポートフォワードの根本的な入り方みたいなものは練習しておくといいです。VS Codeリモートでメチャクチャ豪華になっているんだけれど、VS Codeリモートを入れたら落ちる程度のスペックのサーバーしか配布されないことがあるので。
(一同笑)
中西:ありますね。
草野:ISUCON10だよね?
金子:ISUCON10のVS Codeはしょうがないですよね。あれはリモートサーバー上ですごく計算をしてsyntax highlightとかを表示しているっぽいので、どうしようもない
草野:絶対重いので。VS Codeリモートを使ったがために予選のサーバーが返ってこなくなることがあったので、豪華な開発環境がぜんぜん使えないみたいな。「今時こんなメモリ数でサーバーやらないよ」というレベルのやつが出てきたりします。
藤原:個人的にそれは嫌なんですよね。「普通にできるようにしたい」という気持ちはありますよね。メモリ1ギガとか「今時ないやろ」という感じですよね。
草野:でも単純に物理的なコストの問題が壁として迫っているので、つらいものがあるんです。わりとオールドスタイルな開発の手法にちょびっと慣れないといけないので、素振りはやっておくとだいぶ違います。そういう意味でも、素振りをしておくとだいぶ違う。1問でもいいからやっていくのは、けっこうおすすめの話です。
(次回に続く)
関連タグ:
ISUCONの達人たちがパフォーマンスチューニングを語る 『達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践』
ISUCONという“戦いの土俵”に立つためのものから珍しい内容まで ISUCON本各章を担当の達人が語る
ISUCONで優勝する方法は? 優勝経験者が語る、チームメンバーと情報共有の重要性
「ベンチマーカーの解像度が高くなると点数はゴリゴリ上がる」 ISUCON経験者が語る、“中毒性”のある動き方
ボトルネックを倒さないと、予選の上位には食い込めない 業務にも活用できる、上位20パーセントに入る方法
ISUCONの始まりは“怒り”がきっかけ 運営実行委員会・941氏が語る、ISUCONの歴史
「使いやすさ」「成果より進捗」「いじりやすいこと」 ISUCONの達人たちが重要視しているパフォーマンス
「『何か1問解いてみる』はメチャクチャおすすめ」 ISUCON本の著者が語る、初心者に向けたアドバイス
ISUCON当日は「ふだんやってないことはやらない」がおすすめ 達人たちが語る、食べ物・飲み物の持参状況
「ISUCONがなかったら、エンジニアとして成長できなかった」 達人たちが語る、実務ではやらない“ISUCONならでは”の技術
2024.10.29
5〜10万円の低単価案件の受注をやめたら労働生産性が劇的に向上 相見積もり案件には提案書を出さないことで見えた“意外な効果”
2024.10.24
パワポ資料の「手戻り」が多すぎる問題の解消法 資料作成のプロが語る、修正の無限ループから抜け出す4つのコツ
2024.10.28
スキル重視の採用を続けた結果、早期離職が増え社員が1人に… 下半期の退職者ゼロを達成した「関係の質」向上の取り組み
2024.10.22
気づかぬうちに評価を下げる「ダメな口癖」3選 デキる人はやっている、上司の指摘に対する上手な返し方
2024.10.24
リスクを取らない人が多い日本は、むしろ稼ぐチャンス? 日本のGDP4位転落の今、個人に必要なマインドとは
2024.10.23
「初任給40万円時代」が、比較的早いうちにやってくる? これから淘汰される会社・生き残る会社の分かれ目
2024.10.23
「どうしてもあなたから買いたい」と言われる営業になるには 『無敗営業』著者が教える、納得感を高める商談の進め方
2024.10.28
“力を抜くこと”がリーダーにとって重要な理由 「人間の達人」タモリさんから学んだ自然体の大切さ
2024.10.29
「テスラの何がすごいのか」がわからない学生たち 起業率2年連続日本一の大学で「Appleのフレームワーク」を教えるわけ
2024.10.30
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには