と思っていたら、「もし」が現実になっていた。 彼の名は小野和俊。 かつて日本中からスーパープログラマーたちの集まった「未踏ソフトウェア創造事業」で、プログラミング速度で他のプログラマーたちを驚かせたほどの爆速プログラマーである。 『諸君 私はプログラミングが好きだ』という記事 を書いちゃうほどプログラミングを愛してやまない彼は、アプレッソというITベンチャーを起業して成功させた後、今は、3700万人の顧客基盤を持ち、年間5兆円近い取引高のクレジットカード会社、クレディセゾンの常務執行役員CTOをやっている。 その彼が仕事論の本を書いた、という話を聞いて、「私なら、普通の人が読み取れないことも、その本から読み取れるだろうな」と思った。 なぜなら、私は、学生時代から含めて10年ほどプログラマーをやった後、起業して経営者になった経験があるからだ。 プログラマーが経営者になると、世界がどのように見
「Web Speed Hackathon 2022」という「非常に重たいWebアプリをチューニングして、いかに高速にするかを競う競技」があります。 リモート参加で11月1日から27日まで開催されています。 ここで言う「高速」とはCore Web Vitalsのスコアが高いことを言い、Lighthouseのスコアをベースにした500点満点の争いです。 ISUCONのフロントエンド版ですね。 以前にも同じ課題で「学生向け」と「社内(サイバーエージェント)向け」が行われたらしく、まだ500点を出した人はいません。 そこで僕は「満点を出したい」と思い、初日から、いやむしろフライングしていたからその前から頑張ってきました。 そして、先日(17日)、ついに500点満点を出しました! たぶん、レギュレーションはクリアしている、はずです(もし違反してたらすいません…)。 自動で行われる「Visual Re
自分は Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味で開発しています。使用しているプログラミング言語は Go です。 2013 年 6 月に最初のコミットを行ったので、現在 8 周年の 9 年目です。 Ebiten は「くまのレストラン」などのモバイル及び Nintendo Switch 向けゲームで使われており、一定の実績があります。 ゲームエンジンの開発は一朝一夕では終わりません。Unity や RPG ツクールといった既製品がある中、ゲームエンジンをわざわざ自作することは酔狂かもしれません。ではなぜそのようなことをしたのでしょうか。端的に言うと「ミニマムな API で実用的な 2D ゲームが作れるかどうか」ということを証明したかったのです。自分の美的感覚の追求です。この目的に気づいたのは割と最近のことです。やっていくうちに「自分がやりたかったのはこういうこ
これは何 以下記事のアンサーブログです。 qiita.com 以下のことはコメントに書いたんですが、書ききれなかった部分もあったり整理したほうがいいなと思い記事に起こしています。 現代のアプリケーションではC10K問題よりも先にDBやアプリケーションのボトルネックが先に来るため、C10K問題に遭遇するよりも先にやることがある ミドルウェアとしての成り立ちから設定ファイルの書き方に至るまで、それぞれのソフトウェアで思想が根本的に異なるので、単なるパフォーマンス比較をしてもあまり意味がない NginxとApacheの違いをC10K問題を中心に語るのは時代が違う この記事に限らず、多くの「Nginx vs Apache」系記事では「ApacheはC10K問題を抱えている」という論理をベースにそれぞれの違いを表現しています。 が、これは2022年においては(実際にはもっと前からですが)既に事実では
去年からフロントエンドのパフォーマンスについて断続的に学んでいるが、自分の頭のなかにある知識はどれも断片的で、まとまりを欠いているような感覚があった。 知識と知識がつながっておらず、各施策が何のために行われるのかも、必ずしも自明ではなかった。何となく「パフォーマンスに効果がある」と言ってしまうが、それが何を指しているのかは実は曖昧だった。 このような状態では新しい知識を得ていくのが難しいというか、効率的に行えないように思えた。議論の背景が分からないし、文脈や問題意識を上手く掴めないから。何の話をしているのかよく分からない、という状態になりがち。書かれてあることの意味は分かっても論旨を掴めているわけではないから、自分のなかに定着しない。 そこで、現時点で自分が知っていることを整理して、自分なりに分類しておくことにした。 当たり前だが、どのテクニックがどの程度有効なのかは、状況によって違う。
これらの試算から、1人あたりのトラッキングによる通信量はおおよそ16.88kbpsから112.50kbpsと考えられます。 スター型ネットワークの場合 ここでメタバースでスター型のネットワークを採用することを考えます。 どのような構成かというと、クライアントがトラッキングデータをサーバーへ送信します。各クライアントへのトラッキングデータの送信はサーバーが行います。 こうした構成を行う場合、全てのクライアントのデータがサーバーを介し、各クライアントへ流れ込みます。そのため、通信速度は下り速度がボトルネックとなります。ここでは人口75%ラインの88Mbpsを上限として考えます。 先ほどの1人当たりのトラッキングに関わる通信量から算出すると、スター型の場合、801~5,340人が通信の限界になります。 フルメッシュ型ネットワークの場合 一方で、サーバーを介しないクライアント同士が直接つながるフル
全世界同時リリースする『マリオカート ツアー』の DB に Amazon Aurora を採用 高い品質が求められるゲーム配信基盤の運用工数を、大幅に削減 世界的ゲームメーカーである任天堂株式会社。2015 年ごろからスマートデバイス向けゲームアプリの開発をスタートした同社は、株式会社ディー・エヌ・エー(以下、DeNA)との協業により、全世界で 4 憶ダウンロードを超える『Super Mario Run』、『ファイアーエムブレム ヒーローズ』、『どうぶつの森 ポケットキャンプ』などにおいても、ゲームサーバーを含む各種機能を AWS 上に構築・運用してきました。2019 年に『マリオカート ツアー』をリリースするにあたり、データベースとして Amazon EC2 上で運用する MySQL から Amazon Aurora を採用。ユーザーが快適にプレイするために必要なパフォーマンスとスケーラ
このサイトでは、SQL を高速化するためのちょっとしたパフォーマンス・チューニングの技術を紹介します。と言っても、『プログラマのためのSQL 第2版』の受け売りがほとんどなので、この本を読んでいただければ、本稿を読む必要はありません。 最初に、パフォーマンス・チューニングに関する全体の方針を述べておくと、それはボトルネック(一番遅いところ)を改善することです。当たり前ですが、既に十分速い処理をもっと速くしたところで、システム全体のパフォーマンスには影響しません。従って「処理が遅い」と感じたら、最初にすることは、SQL やアプリの改修ではなく、「どこが遅いのか」を調査することです。いきなりあてずっぽうで改善をはじめても効果は出ません。医者が患者を診るとき最初にすることが検査であるのと同じです。病因が何であるかを突き止めてからでないと、正しい処方はできないのです。 その基本を承知していただいた
近年、日本の大企業による「システム開発の内製化」に関する話題を目にすることが多くなりました。それまで、システムを内製化する会社というのは、サイバーエージェントやDeNAといった、いわゆるweb企業が中心でしたが、この話が、伝統的な大企業に及んでいるのが昨今の動きです。 内製化のゴールは「システム開発を自社で行うことによって、ビジネスの競争優位を加速させること」と考えています。競争力のあるビジネスが存在することが前提になりますが、優位性を加速させる筋書きがある時に、内製に投資する意味があるわけです。 しかし、大企業によるシステム開発の内製化は、ほとんど、うまくいかないことが予想されます。多くの場合、エンジニアを雇って、お金をかければ、内製化できるという考えが流布しているように感じており、少々筋が悪い気がするからです。 そもそも、システムの内製化というのは、大企業やベンチャーを問わず、大きなリ
ChatGPTとLLMシステム開発について纏めた187ページ資料です。 2024/04 名称を改め資料を大幅にアップデートしました! 今後も随時更新していきます。 データサイエンティスト協会での発表動画はこちら。 https://youtu.be/l9fpxtz22JU Build Japanでの発表はこちら。 https://youtu.be/UEZzx6a005g?si=Ot8EO2bv8yhQQEcy 2023/7/28 体裁修正、余計なページを削除 2023/12/12 RAG、API仕様、モデルのページを追加。また情報を最新化。 2024/04 名称を改め資料を大幅にアップデートしました! 1. LLM - GPTの全体像 LLM - GPT とは何なのか ~チャットAIを例にした動作イメージ~ 大規模言語モデル(LLM)が持つ基礎能力 デジタルツールとLLMの連携 GPTに関す
個人開発で 賃貸物件の検索サービス Comfy を作りました1。グラフや地図でサクサク絞り込める UI が特徴のサービスです。とにかく気持ち良い使い勝手を実現するために色々工夫しています。 既にリリースからは 4 ヶ月以上経っているのですが、改めてサービスの概要や、システム構成及び使用した技術・サービスをご紹介しようと思います。2。 サービスの概要 Comfy は日本全国の賃貸物件を検索できる Web サービス です。画面 UI は上の GIF 画像のような感じです。 こだわったポイントを色々書くよりも実際にさわって頂いた方が新感覚の UI や気持ちよさを体感頂けるかと思いますので、 実際のサービス をぜひお試し頂ければ幸いです! システム構成 図の通り、システムは大きく 3 つに分けられます。 フロントエンド バックエンド データ基盤 使用技術は図の通りではあるのですが、フロントエンドと
こんにちは、ぬこすけです。 近年、Webフロントエンドではサイトのパフォーマンスの重要性が高まっています。 例えば、GoogleはCore Web Vitalというパフォーマンスに指標を検索結果のランキング要因に組み込みました。 また、近年の某企業が「パフォーマンスの改善に取り組んだ結果、セッション数〇%アップ、CVR〇%アップ...」などの事例は枚挙にいとまがないでしょう。 パフォーマンスチューニングするためには、定量的に計測してボトルネックを探すようなトップダウンなアプローチもあります。 しかしながら、時には千本ノック的にハウツーを片っ端から試していくボトムアップなアプローチも有効になることもあったり、日々のコーディングでパフォーマンスを意識したコードを書くことは大切でしょう。 この記事ではパフォーマンス最適化のハウツーを紹介します。 パフォーマンス改善の施策が思い浮かばない時やフロン
どんな人向けの記事? レビューによって心理的なダメージを受けやすい方 非エンジニアだが、エンジニアチームがどんな機能を作っているか知りたい方 業務が溜まっていて、レビューに割く時間を捻出するのに苦労している方 コピペできるコードも公開します 初回レビューをAIに任せると、いろんなロールの人の役に立つ レビューは得意ですか? 優秀なエンジニアしかいないチームであれば、PRは1トピックに絞って小さく明確なコミットによって作成され、適切な要約とともに提供されることでしょう。 しかし、実際にはいろいろな制約から、PRが想定よりずっと大きくなってしまったり、関連トピックと異なるコードが混じってしまうこともあります。 実際のところ、大きなPRを適切にレビューするのは難しいことです。また、自分が詳しくない領域のレビューを行わなければいけない機会もあります。 今回の記事は、レビューを作成してくれるAI C
これはフォロー / フォロワー時代の終焉の途中経過だと思っていて、、 TikTokやYouTubeのように「アルゴリズムでプラットフォームが見せたいものを見せる」ほうが、プラットフォームにとって有利なんですよね。 個人に力を持たせるよりも、プラットフォームが力を持たないといけないからです。 https://t.co/3LtEfi0Lzh — けんすう (@kensuu) August 2, 2022 たとえば、個人に力がある状態だと「他のプラットフォームに移りますー」というと、お客さんが逃げちゃうわけです。プラットフォームが個人の取り合いになってしまい、競走が生まれ個人ユーザーが得をする世界になる。 — けんすう (@kensuu) August 2, 2022 個人の力を削いで、アルゴリズムの力で閲覧させるようにすると、個人が他のプラットフォームにいくと、数字が目に見えて落ちるので、他の
社内向けに公開している記事「統計・機械学習の理論を学ぶ手順」の一部を公開します。中学数学がわからない状態からスタートして理論に触れるにはどう進めばいいのかを簡潔に書きました。僕が一緒に仕事をしやすい人を作るためのものなので、異論は多くあると思いますがあくまでも一例ですし、社員に強制するものではありません。あと項目の順番は説明のため便宜上こうなっているだけで、必ずしも上から下へ進めというわけでもありません。 (追記)これもあるといいのではないかというお声のあった書籍をいくつか追加しました。 数学 残念ながら、統計モデルを正しく用いようと思うと数学を避けることはできません。ニューラルネットワークのような表現力が高くて色々と勝手にやってくれるような統計モデルでも、何も知らずに使うのは危険です。必ず数学は学んでおきましょう。理想を言えば微分トポロジーや関数解析のような高度な理論を知っておくのがベス
はじめに 私はこれまで機械学習のパラメータチューニングに関し、様々な書籍やサイトで学習を進めてきました。 しかしどれもテクニックの解説が主体のものが多く、 「なぜチューニングが必要なのか?」 という目的に関する記載が非常に少なかったため、体系的な理解に苦労しました。 この経験を後世に役立てられるよう、「初心者でも体系的に理解できる丁寧さ!」をモットーに記事にまとめたいと思います。 具体的には、 1. パラメータチューニングの目的 2. チューニングの手順とアルゴリズム一覧 3. Pythonでの実装手順 (SVMでの分類を例に) の手順で解説を進めます。 独自解釈も含まれるため、間違っている点等ございましたら指摘頂けると有難いです。 なお、文中のコードはこちらのGitHubにもアップロードしております。 2021/9/6追記:LightGBMのチューニング実行例追加 以下の記事に、Ligh
「ChatGPTって何?」と聞かれたら、取りあえずこの資料を渡せば良い──2022年11月末に登場してすぐに世間を驚かせたAI「ChatGPT」。自民党もAIには注目しており、「AIの進化と実装に関するプロジェクトチーム」を開催しているのだが、そこで東京大学の松尾豊教授が提出した資料が「分かりやすい」と話題だ。 資料が提出されたのは2月17日開催の第2回会議。「AIの進化と日本の戦略」というタイトルで、大規模言語モデルの仕組みやChatGPT、今後の日本の戦略について説明するものだ。同資料は塩崎彰久衆議院議員が投稿したnote記事からダウンロードできる。 ChatGPTについては、その学習方法から、高度な会話を実現できた理由、ChatGPTでできること、利用場面や受け取られ方まで網羅的にまとめられている。 例えば、高度な会話後実現できた理由のパートでは、従来のモデルには「生成分が人間の好み
株式会社デジサク がお送りするプログラミング記事、 今回はAI(機械学習)について扱っていこうと思います。 ※ 無料セミナーも開催中なので、ぜひご覧になってみて下さい。 はじめに kaggleや学習サイトなど誰でも機械学習を学べる機会が増えてきました。 その反面、情報量が多すぎて全体感を掴めていない人が多いと感じています。 そこで、様々な参考書や記事で紹介されている機械学習で使用する手法を全公開しようと思います。 細かなコーディングはリンクを貼っておくので、そちらを参照されてください。 SNS でも色々な情報を発信しているので、記事を読んで良いなと感じて頂けたら Twitterアカウント「Saku731」 もフォロー頂けると嬉しいです。 機械学習の一連手順 まず、機械学習を習得するために必要なスキルは下記です。 実務の場では数段細かな作業が必要になりますが、最初は下記を勉強するだけで十分で
まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し
東京2020オリンピック・パラリンピックの開・閉会式演出企画チーム統括であった野村萬斎氏の 「太陽の下に皆が集い、皆が平等の存在であり、皆がエネルギーを得る」というコンセプトに基づいてデザインされた聖火台。 求められた「太陽らしさ」を表現するために、耐熱ガラスの球体に炎を閉じ込めたり、 炎を回転させて球状にしたりと、延べ85案が検討された。 試行錯誤の末、「五輪」をモチーフにした5枚のパネルが上下2段で構成された球状のものに。 オリンピック開会式の終盤に、最終聖火ランナーを迎えるようにして「咲く」。 これは、太陽だけでなく、植物が芽吹いたり花が咲いたり、 空に向かって手を大きく広げたりといった、 太陽から得られるエネルギーや生命力を表現したもの。 炎の燃料には次世代エネルギーとして注目されている水素エネルギーを使用。 水素は、2011年に発生した東日本大震災からの復興が進む福島県の施設で製
本ブログは、2021 AWS Partner Ambassadors で構成するアドベントカレンダー Japan APN Ambassador Advent Calendar 2021 の 24 日目のエントリです。 こんにちは。CX事業本部MAD事業部のYui(@MayForBlue)です。 年の瀬も迫った12/24ですが、みなさん資格勉強してますか?(挨拶 さて、IT系の資格の中でも人気の高いAWSの資格ですが、数も多いし何から取ったらいいのかわからない・・・という方も多いのではないでしょうか。 この記事ではAWSの全資格を紹介するとともに、2021 ALL AWS Certifications Engineers ホルダーとして資格取得やAWSの学習に有用なコンテンツをまとめてみました。 本ブログをご一読いただくことでAWSの資格取得の一歩を踏み出していただければ幸いです。 想定読者
SQLのチューニング方法 昔Qiitaで書いたものをzennにうつして、若干の修正、追加をしてみました。 ORACLEでの経験を元に書いていますがコストベースのリレーショナルデータべースなら大体共通の考え方だと思うので他にも使えると思います。 SQLのチューニングといえば比較的容易に済むインデックスをとりあえず作成する。といった対応を取られがちですが、数万レコード程度でのデータ量ではあまり効き目がなく(自分の経験則)、どちらかといえば、結合順が大幅に狂ってたりすることが原因のことが多かったりします。よって本当にインデックスがないことが原因なのか?を熟考する必要があります。(例えばID以外のフラグとかコードに単項目indexを貼ってるのもみたことがあります。怖いけど実話) また、インデックスを作りすぎるとオプティマイザが狂いやすくなって他のSQLにも悪影響を及ぼしたりするので結構熟慮して追加
「売れなかった」ハムサンド、カメラ50台で真相解明 高輪GW駅「無人決済コンビニ」の実力:開業から3カ月、成果は(1/3 ページ) 2020年3月14日に開業したJR山手線・京浜東北線の高輪ゲートウェイ駅。山手線の新駅としては約50年ぶりとなるだけに注目度は高く、開業初日には多くの観光客も訪れた。その一角で、注目を集めている店舗がある。AI(人工知能)技術を活用した無人コンビニ店舗「TOUCH TO GO」だ。有人レジはなく、来店客は店内で商品を手に取り、出口付近で「Suica」などを読み取り機にかざすだけで買い物を済ませられる。 こうした無人決済店舗は、米国では「Amazon Go」をはじめ実用化された例があるが、日本では長らく実験段階にとどまっていた。そうした中、TOUCH TO GOは国内では珍しい実用化事例として小売・流通業界はもちろん、他業界からも高い注目を集めている。無人もしく
【無料公開】社内研修書籍『Unity パフォーマンスチューニングバイブル』のPDF公開&オープンソース化しました! ゲーム・エンターテイメント事業部では、社内研修用の書籍『Unity パフォーマンスチューニングバイブル』のPDFを公開し、同時にオープンソース化しました。 本記事ではこの書籍の概要とダウンロード方法、オープンソース化とその意図についてご紹介します。 Unity Performance Tuning Bible はじめに モバイルゲーム開発においてパフォーマンスチューニングは重要ですが、その一方で、必要な知識が幅広く、体系的な学習が難しいという問題があります。 ゲーム・エンターテイメント事業部ではこのような課題感から、パフォーマンスチューニングに関する知識を体系的にまとめた書籍として、『Unity パフォーマンスチューニングバイブル』を製作し、社内の Unity エンジニアの方
近年の Node.js は API のサーバとしてはもちろん、Nuxt.js や Next.js といった SSR や BFF などフロントエンドのためのバックエンド言語としての人気が高まっています。 フロントエンドエンジニアがコンテキストスイッチ少なくバックエンドの整備ができることは非常に大きな利点です。 ですが、フロントエンド(ブラウザ側)とバックエンド(サーバ側)ではパフォーマンスチューニングで見るべき点が大きく違います。 しかし Node.js アプリケーションのパフォーマンスイシューの見つけ方などがまとまっている資料は少ないです。 そこで、本記事ではフロントエンドエンジニアが Node.js でパフォーマンスイシューを見つけ、改善するため自分が普段パフォーマンスチューニングを依頼されているときにみている基礎的なポイトをまとめていきます。 1. 計測ステップlink Node.js
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く