タグ

2021年8月10日のブックマーク (3件)

  • Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)

    Bazelは大規模なプロジェクトでも高速にビルドすることができる強力なビルドツールとして知られています。一方で、その仕組みや実際に使用する方法についての紹介されることは少なく、まだまだあまり普及していないと思います。特にNode.js/TypeScriptをBazelでビルドする方法についての解説はかなり珍しいと思います。 このではBazelによるビルドがなぜ高速なのか基的な原理の説明から、実際に自分が作成したサンプルコードを使用してTypeScriptプロジェクトのビルド、Dockerイメージの作成までのコードを解説をし、最後のBazelの大きな特徴であるリモートキャッシュを実際に使う方法まで紹介します。 ぜひhttps://github.com/Kesin11/bazel-playgroundを手元にcloneして頂き、実際に動かしながらBazelによるビルドを体験してみてください

    Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)
    t-wada
    t-wada 2021/08/10
    「統一的なキャッシュの仕組みを用意することで、各言語ごとのコンパイラやツールのキャッシュ機構に依存することなく無駄な再ビルドを省くビルドフローが構築される」のがBazelの強み
  • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer (CTO) の @suguru です。連載:「メルカリShops」プレオープンまでの開発の裏側の1日目を担当させていただきます。 7月末にメルカリShopsという新しいサービスが公開されました。メルカリShops は、2021年1月にメルカリのグループ会社として設立したソウゾウが新たに立ち上げたサービスです。 この記事では、メルカリShops を作るにあたり、どういった技術、アーキテクチャを選定したのか、その背景と意思決定をまとめて共有したいと思います。 monorepo まず最初にプロジェクトをスタートしたときに、サービスのリポジトリを作るのですが、迷わず monorepo による構成を選択しました。monorepo は、システムを構成する複数のコンポーネントの独立性を保ちつつ、全ての構成を1つのリポジトリで管理する手法です。今

    メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
    t-wada
    t-wada 2021/08/10
    root直下で言語毎に分かれたmonorepo、ビルドはBazel。サーバサイドはGoが多く、k8sは使わずCloud Runでマイクロサービスを構築しgRPCで通信。フロントエンドはNext.js、BFFはNestJSでGraphQLを扱う。各マイクロサービスのDBはPostgres
  • イーロン・マスクのロケット製造5つのステップがサイコーだった

    イーロン・マスクが YouTube チャネルでスペース X のテキサス工場スターベースの中を歩き回りながらロケット製造や電気自動車について説明しているのを観た。ツイートしたこの件。 これがめちゃくちゃに示唆に富んでいて面白かった。この日のイーロン・マスクは饒舌で楽しそうなので、かなり魅入ってしまった。きっと彼はカンファレンスや会議室の中でインタビューを受けるよりも、工場でみんながロケット作ったり作業している場で語った方が情熱を込めていろいろ説明してくれるんだと思う。 この中で製造工程の話があって、これはロケット製造などの特定分野だけでなく、IT やその他の分野にでも当てはまる普遍的な知見だと思ったので意訳してみた。ざっとビデオを観て印象に残った部分だけを意訳した。あくまで大枠で言ってることをまとめただけなので、もし詳細に興味があればぜひビデオを観てイーロン・マスクの話を直接聞いて確認してく

    イーロン・マスクのロケット製造5つのステップがサイコーだった
    t-wada
    t-wada 2021/08/10
    重要なのはロケットエンジンのデザインそのものじゃなくて、その製造工程。なぜか最も軽視されている。5つのステップ 1.要件定義にあるバカなことを減らす 2.プロセスをできるだけ削る 3.最適化 4.高速化 5.自動化