2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
草野翔氏(以下、草野):ここからは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.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略