並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 886件

新着順 人気順

Bazelの検索結果361 - 400 件 / 886件

  • Watch The Queen's Gambit | Netflix Official Site

    '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

      Watch The Queen's Gambit | Netflix Official Site
    • vivit engineering blog

      はじめに フロントエンドエンジニアの関(@kur0buchi)です。 今回は styled-components で記述したはずのスタイルがうまく反映されていないという事象に数日間悩まされたのですが、最終的にあっけない解決方法だったので同じ悲しみを背負う開発者が少しでも減るよう記事に残します。 TR;DL 外部ライブラリやバージョン範囲指定の都合により複数バージョンの styled-components がインストールされている場合、一部のスタイルが無効化される場合がある。 前提 この記事の内容は React(Next.js) + TypeScript + styled-components の環境での事象です。 また、弊社ではプライベートレジストリに存在する社内コンポーネントライブラリを運用しているのですが、ここは適宜任意の外部ツールに置き換えてください。 事象 Next.js のバージ

        vivit engineering blog
      • Giri / Haji | Netflix (ネットフリックス) 公式サイト

        '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

          Giri / Haji | Netflix (ネットフリックス) 公式サイト
        • Installation  |  MediaPipe  |  Google for Developers

          $ sudo apt-get install -y \ libopencv-core-dev \ libopencv-highgui-dev \ libopencv-calib3d-dev \ libopencv-features2d-dev \ libopencv-imgproc-dev \ libopencv-video-dev Note. On Debian 11/Ubuntu 21.04 when OpenCV 4.5 is installed with libopencv-video-dev, libopencv-contrib-dev should also be installed. $ sudo apt-get install -y libopencv-contrib-dev MediaPipe's opencv_linux.BUILD and WORKSPACE are

          • GitHub - GoogleCloudPlatform/gke-bazel-demo: Building applications with bazel and deploying them on to GKE. This demo contains a java-spring-boot rest service and an angular front-end. Both containers are deployed on GKE.

            Building & Deploying with Bazel on Kubernetes Engine Table of Contents Building & Deploying with Bazel on Kubernetes Engine Table of Contents Introduction Architecture Prerequisites Cloud Project Run Demo in a Google Cloud Shell Supported Operating Systems Tools Configure Authentication Deployment Create the cluster Build & deploy with Bazel K8s Rules Validation Teardown Local Dev Maven to Bazel J

              GitHub - GoogleCloudPlatform/gke-bazel-demo: Building applications with bazel and deploying them on to GKE. This demo contains a java-spring-boot rest service and an angular front-end. Both containers are deployed on GKE.
            • ザ・ファイブ・ブラッズ | Netflix (ネットフリックス) 公式サイト

              '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                ザ・ファイブ・ブラッズ | Netflix (ネットフリックス) 公式サイト
              • refix: fast, debuggable, reproducible builds

                There's a simple way to make your builds all of the following: Reproducible/deterministic - same binaries always built from the same source, so you can cache build outputs across users Debuggable - gdb, sanitizers, Valgrind, KCachegrind, etc. find your source code effortlessly Fast - the build time overhead is negligible, even compared to a blazing fast linker like mold What makes it really fast i

                • C++ Package Managers: The Ultimate Roundup | Modern C++ DevOps

                  C++'s journey with dependency management has seen numerous transformations. Early years were marked by manual library integration and complex build scripts, presenting significant challenges. However, the landscape has since evolved, offering an array of sophisticated package managers designed to streamline workflows but most of all reduce the burden on developers. Join in and delve into the stren

                    C++ Package Managers: The Ultimate Roundup | Modern C++ DevOps
                  • ハイスコアガール | Netflix

                    '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                      ハイスコアガール | Netflix
                    • 【書き起こし】Merpay iOSのGroundUP Appへの移行 – kenmaz【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング

                      Merpay & Mercoin Tech Fest 2023 は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知ることができるお祭りで、2023年8月22日(火)からの3日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「Merpay iOSのGroundUP Appへの移行」の書き起こしです。 @kenmaz:今回は、「Merpay iOSのGroundUP Appへの移行」というタイトルで、iOSチームの@kenmazが発表します。 こちらが私の自己紹介です。 今回のメインテーマであるMercari iOSのGroundUP App(GU App)とは何かについて説明します。 GU Appは、メルカリ本体のコードをフルスクラッチで書き換え、さらにBazelによる高速・

                        【書き起こし】Merpay iOSのGroundUP Appへの移行 – kenmaz【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング
                      • Watch 泣きたい私は猫をかぶる | Netflix Official Site

                        '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                          Watch 泣きたい私は猫をかぶる | Netflix Official Site
                        • 高速化日記 (5) - JNI - steps to phantasien

                          カメラは画像処理とかの性質上 C++ のコードを使いがちなのだが、各チームどころか各個人がアドホックに使うものだから .so ファイルの数が大変なことになっていた。社内のグループで "そうはいってもネイティブライブラリ減らすのって大変ですよね。我々も N 個から N-1 になかなかできずに苦労してます" というコメントがあったが「いや我々 M (>>>超えられない壁>>> N ) 個くらいあるのでとりあえず low hunging fruits からやっつけますわ」などと会話をしたら、M の大きさに相手は戦慄していた。 そんなん Blaze (Bazel) のせいで俺のせいじゃねーーー。とおもって放置していたのだが、全社的に性能問題への締め付けが厳しくなった結果 OS の中の人からチクチク言われることが増え、仕方ない尻拭いするか・・・と直したら色々速くなった。あ、ごめん・・・。みたいな気分

                          • MediapipeとUnity 環境開発 - Qiita

                            Docker Windows Container ⚠️ Hyper-V backend is required (that is, Windows 10 Home is not supported). ①Install Docker Desktop ②Switch to Windows Containers ③Build a Docker image ここまでは指示通りにやります。 mediapipeが入っているフォルダの場所まで移動してコマンドを実行する。 () 今回の場合、C:\Users\〇〇(ユーザー名)\unity docker build -t mediapipe_unity:windows . -f docker/windows/x86_64/Dockerfile This process will hang when MSYS2 is being installed. If

                              MediapipeとUnity 環境開発 - Qiita
                            • SECCON CTF 2021 スコアサーバー(バックエンド) writeup - ポン酢ブログ(β)

                              この記事はミクシィグループ Advent Calendar 2021 18日目の記事です。 LifeMemoryTeamの@atponsです。今回のSECCON CTF 2021も参加いただきありがとうございました。 SECCON 2021 CTFのスコアサーバーとそのインフラ構成についてまとめて反省しようと思います。 SECCON CTF 2021 SECCONは日本の情報セキュリティコンテストイベントです。@atponsはボランティアでSECCON実行委員/LifeMemoryTeamという有志の団体のメンバーとしてインフラ周りの整備/NOCを行っています。その中でも、SECCON CTFはSECCONが実施するCTF (Capture The Flag)です。2019年までは本戦などはオフラインCTFとして実施していましたが2020年よりオンラインCTFとして実施しています。今回のS

                                SECCON CTF 2021 スコアサーバー(バックエンド) writeup - ポン酢ブログ(β)
                              • オクトパスの神秘: 海の賢者は語る | Netflix (ネットフリックス) 公式サイト

                                '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                  オクトパスの神秘: 海の賢者は語る | Netflix (ネットフリックス) 公式サイト
                                • Stampeding Elephants

                                  Stampeding ElephantsThe data-driven case for best practices and against silver bullets Just over a year ago, we published Herding Elephants, in which we explained how we—Square's Mobile Developer Experience (MDX) Android team—successfully modernized the build logic of Square's Point of Sale apps. In that post, we described the rationale for why we did this, and what we thought we gained from the e

                                    Stampeding Elephants
                                  • Hello from detekt | detekt

                                    Your companion for cleaner Kotlindetekt helps you write cleaner Kotlin code so you can focus on what matters the most building amazing software. Integrate in any projectdetekt comes with a set of plugins that helps you configure it easily in your Gradle, Maven, Bazel, ... build. Enjoy static analysis on Android, JVM, JS, Native and Multiplatform projects out of the box. Easy to extenddetekt can be

                                    • 21世紀病の七不思議 | Netflix (ネットフリックス) 公式サイト

                                      '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                        21世紀病の七不思議 | Netflix (ネットフリックス) 公式サイト
                                      • バスターのバラード | Netflix (ネットフリックス) 公式サイト

                                        '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                          バスターのバラード | Netflix (ネットフリックス) 公式サイト
                                        • Scalaプロジェクトのビルド速度改善

                                          class: center, middle # Scalaプロジェクトの<br/>ビルド速度改善 [ScalaMatsuri 2024](https://scalamatsuri.org) 2024-06-08 --- class: middle <img src="image/xuwei.gif" alt="icon" style="zoom: 0.3" /> - X(旧twitter) [@xuwei_k](https://twitter.com/xuwei_k) - github [@xuwei-k](https://github.com/xuwei-k) - blog <https://xuwei-k.hatenablog.com> --- class: middle ## 誰? - Scala 2.8出る直前くらいから使ってる - 2009年 - 仕事でのScala歴が13年以上

                                          • Netflix

                                            '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                            • テレタビーズ | Netflix (ネットフリックス) 公式サイト

                                              '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                テレタビーズ | Netflix (ネットフリックス) 公式サイト
                                              • 転職して周りについていくのが大変だったけど恥を忍んで書いてみる

                                                こんにちはミクシィの 開発本部 SREグループ のriddleです 今回は転職して感じた「周りについていくのが大変!」という思いについて、赤裸々な内容を実体験を交えながら紹介したいと思います。 どこのブログをみてもキラキラしていて、 転職するのに勇気が出ないそんなあなたの一助になれば幸いです。 目次◆どんなチームに入ったのか? ◆はじめての仕事 ◆1ヶ月ぐらいたった時の悩み ◆3ヶ月ぐらいたって ◆半年ぐらいたって ◆まとめ どんなチームに入ったのか? 私が入ったのは新作ゲームを作るサーバチームでした。担当領域としては Go を利用したサーバサイド開発と、それが動く Google Cloud (主に GKE) の設計・構築です。 自分のキャリアは SIer ではじまり、主にインフラ技術を中心として歩んできたので、配属先のチームの仕事内容と進め方は完全にはじめてでした。 たとえばこれらははじ

                                                  転職して周りについていくのが大変だったけど恥を忍んで書いてみる
                                                • ニモーナ | Netflix (ネットフリックス) 公式サイト

                                                  '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                    ニモーナ | Netflix (ネットフリックス) 公式サイト
                                                  • AI のパワーを Windows 11 にもたらす – Windows Copilot と Dev Home でお客様と開発者の生産性の新時代へ - Windows Blog for Japan

                                                    AI のパワーを Windows 11 にもたらす – Windows Copilot と Dev Home でお客様と開発者の生産性の新時代へ Panos Panay Windows + Devices 担当チーフプロダクトオフィサー ※ 本ブログは、米国時間 5/23 に公開された “Bringing the power of AI to Windows 11 – unlocking a new era of productivity for customers and developers with Windows Copilot and Dev Home” の抄訳です。 この 1 年間、Windows 11 の普及の勢いを受けて Windows の利用者数は目覚ましい成長を続けてきました。実は、この成長を牽引している最大の分野は開発者であり、開発に使用されたデバイスの月間台数は、前

                                                      AI のパワーを Windows 11 にもたらす – Windows Copilot と Dev Home でお客様と開発者の生産性の新時代へ - Windows Blog for Japan
                                                    • ナイト・エージェント | Netflix (ネットフリックス) 公式サイト

                                                      '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                        ナイト・エージェント | Netflix (ネットフリックス) 公式サイト
                                                      • ツール・ド・フランス: 栄冠は風の彼方に | Netflix (ネットフリックス) 公式サイト

                                                        '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                          ツール・ド・フランス: 栄冠は風の彼方に | Netflix (ネットフリックス) 公式サイト
                                                        • マンハント | Netflix (ネットフリックス) 公式サイト

                                                          '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                            マンハント | Netflix (ネットフリックス) 公式サイト
                                                          • How we designed our Continuous Integration System to be more than 50% Faster

                                                            Urvashi Reddy | Software Engineer, Engineering Productivity Team Earlier this year, the Engineering Productivity team at Pinterest published a blog called How a one line change decreased our clone times by 99%. In that post, we described how a simple Git configuration sped up clone times in one of our largest repositories at Pinterest. In this post, we’ll talk about how we significantly decreased

                                                              How we designed our Continuous Integration System to be more than 50% Faster
                                                            • 【MediaPipe】Face Meshを動かしてみた | DevelopersIO

                                                              カフェチームの山本です。 今までは、Multi Hand Trackingを動かし、手の検出を行っていました。 【MediaPipe】投稿記事まとめ 今回は少し手を伸ばして、同じくMediaPipeで公開されている、Face Meshを動かしてみたいと思います。 Face Meshを動かす 今回はAndroidのAPKで動かしました。こちらのページの「Example Apps」「Mobile」「Android target」の項目に、APKへのリンクがありますので、そこからダウンロードして使用できます。(とても簡単ですね) 利用したMediaPipeのバージョンはv0.7.5でした。 WSLやUbuntuから動かしたい場合は、今までと同様にビルドと実行のコマンドを打つことで実行できます。コマンドとしては以下のようになると思われます。入出力ファイルへのパスは適宜変更してください。 bazel

                                                                【MediaPipe】Face Meshを動かしてみた | DevelopersIO
                                                              • Writing Bazel rules: data and runfiles

                                                                Published on 2020-02-01 Edited on 2023-10-12 Tagged: bazel go View All Posts This article is part of the series "Writing Bazel rules". Writing Bazel rules: simple binary rule Writing Bazel rules: library rule, depsets, providers Writing Bazel rules: data and runfiles Writing Bazel rules: moving logic to execution Writing Bazel rules: repository rules Writing Bazel rules: platforms and toolchains B

                                                                  Writing Bazel rules: data and runfiles
                                                                • Enlightenmentware

                                                                  Enlightenmentware ✏ 2024-05-20 ✂ 2024-05-20 UNIX Git Emacs Boost.Graph Bazel Conclusion As programmers, we interact with software tools daily. Most of them can barely get the job done. But occasionally, we discover a piece of software that transcends mere utility. These tools capture our imagination, open new possibilities, and affect how we design our own systems. I call such software enlightenme

                                                                  • 地面師たち | Netflix (ネットフリックス) 公式サイト

                                                                    '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                      地面師たち | Netflix (ネットフリックス) 公式サイト
                                                                    • これからメルカリのエンジニアリングはもっと面白くなる──iOS&Androidのテックリードが振り返る、すべてがGo Boldだった「GroundUp App」 | mercan (メルカン)

                                                                      2020年4月にソフトウェアエンジニアとしてメルカリに入社。Architectチームに所属し、iOSリードアーキテクトとしてGroundUp Appに従事。現在はプラットフォームの設計全般を担当。 2019年にメルカリに入社。現在はクライアントアーキテクトチームのAndroidリードアーキテクトを担当。来日前は母国フィリピンで勤務し、その後シンガポールで勤務。メルカリでは、Androidに特化したユーザーと開発者の体験を向上させるために、メンバーからのフィードバックを収集し、対応することに注力。「Mercari Hack Week」では、Mercari 2025のような拡張現実のプロジェクトに取り組み、毎回賞を獲得。仕事以外の時間は、メルカリの友人たちとクルージングやカラオケ、チームビルディングを楽しんでいる。Call of Dutyでは10シーズンLegendaryランク、Apex Le

                                                                        これからメルカリのエンジニアリングはもっと面白くなる──iOS&Androidのテックリードが振り返る、すべてがGo Boldだった「GroundUp App」 | mercan (メルカン)
                                                                      • パリスとお料理 | Netflix (ネットフリックス) 公式サイト

                                                                        '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                          パリスとお料理 | Netflix (ネットフリックス) 公式サイト
                                                                        • Watch Mobile Suit Gundam Hathaway | Netflix

                                                                          '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                            Watch Mobile Suit Gundam Hathaway | Netflix
                                                                          • ミッドナイト・ゴスペル | Netflix (ネットフリックス) 公式サイト

                                                                            '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                              ミッドナイト・ゴスペル | Netflix (ネットフリックス) 公式サイト
                                                                            • Visual Studio Code October 2021

                                                                              Version 1.82 is now available! Read about the new features and fixes from August. October 2021 (version 1.62) Update 1.62.1: The update addresses this security issue. Update 1.62.2: The update addresses these issues. Update 1.62.3: The update addresses these issues. Downloads: Windows: User System Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the October 2021 re

                                                                                Visual Studio Code October 2021
                                                                              • 虫籠のカガステル | Netflix (ネットフリックス) 公式サイト

                                                                                '); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // ob

                                                                                  虫籠のカガステル | Netflix (ネットフリックス) 公式サイト
                                                                                • DSLを使って自作ビルドツールを作ろうのカレンダー | Advent Calendar 2019 - Qiita

                                                                                  ビルドツールというのは、例えばMakefileやBazelのような、プログラムをビルドするためのルールなどを処理するツールのことを言います。 これらのツールはビルドルールを組み合わせていくため、ある意味DSLの塊です。 そこで、DSLを使って自作のビルドツールを作ってみることにしました。今回はRubyのDSL関連の機能を使います。 あらかじめ断っておきますが、自作ですので性能、美しさ、分かりやすさなどはそこまでこだわっていません。 あくまでDSLとビルドツールについて自分で勉強した記録ということで、、、 成果物 : https://github.com/msyksphinz-self/rumy-make ドキュメントの整備がまだ足りていない...

                                                                                    DSLを使って自作ビルドツールを作ろうのカレンダー | Advent Calendar 2019 - Qiita