並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1591件

新着順 人気順

Bazelの検索結果281 - 320 件 / 1591件

  • LINE iOS版のビルドパフォーマンスをBazelで改善

    背景 LINE iOS版のソースコードは、ローンチ以来、数百モジュールもの規模にまで成長しています。2019年末時点で、コード行数も140万行を超えており、現在もその増加ペースはとどまるところを知りません。一方、コードが大規模になると、開発者にとってはビルド時間が悩みの種ともなります。また、プロジェクトの成長に伴い、再現不可能な問題も増えていきました。 たとえば、ローカル環境で動くビルドがCIで動かなかったり、もしくはその逆が起こったり、といったものです。 そこで、一歩退いた目線に立ち、ビルドパフォーマンスと再現性を改善できる方法を考え始めました。 ライブラリ依存管理 まず、ライブラリ依存管理についてお話します。LINEでは、2012年の終わりに依存性管理ツールとして CocoaPods を導入しました。 CocoaPodsは非常に便利なOSSで、 Xcodeとの相性も良いです。 自分で書

      LINE iOS版のビルドパフォーマンスをBazelで改善
    • Google Cloud Container Builder事始め - Qiita

      はじめに Google Cloud Container Builderはdockerのコンテナイメージを構築するためのスタンドアローンのツールです。 dockerをビルドするだけでなく、任意のビルドステップを定義してnpm,git,goのような柔軟なタスクをこなすことが可能です。ローカルでビルドしたイメージをpushするのが面倒くさいぜ!という人にオススメです。pushされた変更をトリガーするだけなら30分もあれば構築することが可能です! 料金 アカウントにつき、120分/日の無料ビルドが可能です。(2017/03/21現在) 120分を超えると0.0034ドル/build time(分)の料金が発生します。 イメージ図 解説 1.ビルドのリクエスト ビルドリクエストは指定のブランチにpushされた場合と任意のタイミングでビルドを行う2種類の方法があります。順を追って説明しましょう。 トリ

        Google Cloud Container Builder事始め - Qiita
      • 怖くないGradle設定とBazel

        124ページ(!)のMS公式資料『SharePointで始める情報共有とそのアプローチ』 を読んでみたので、「それな!」「えっ?!」「むぅ…」とか思ったポイントを紹介 少しでも気になった方はぜひ実物読んでみて! https://www.slideshare.net/microsoftjp/effective-use-of-information-sharing-tools

          怖くないGradle設定とBazel
        • Watch The Social Dilemma | 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 Social Dilemma | Netflix Official Site
          • Bazel

            安定版リリースのドキュメントについては、[バージョニングされたドキュメント] プルダウンを使用してください。デフォルトのビューには HEAD の最新バージョンが表示されます。

            • Mercari’s Image Classification Experiment Using Deep Learning

              IntroductionHi, my name is Takuma Yamaguchi. I am a software and machine learning engineer at Mercari. These days, Artificial Intelligence (AI) is a very popular buzzword. We also often see terms, such as Deep Learning and Deep Neural Networks, which are both subsets of AI and machine learning. I would like to share our image classification experiment using deep learning. Neural Network WinterDeep

                Mercari’s Image Classification Experiment Using Deep Learning
              • 家造りとソフトウェアエンジニアリング - Gunosy Tech Blog

                はじめに こんにちは、 Gunosy Tech Lab 所属の hyamamoto です。 昨日に引き続き Gunosy Advent Calendar 2022 の 16 日目の記事を書かせていただきます。 昨日は社内で初めてビルドツール Bazel を導入した話 というタイトルで Bazel の導入について紹介しました! モノレポに Bazel 導入を検討している方はぜひ読んでみてください! さて、完全に私ごとで恐縮なのですが、今年はライフステージが変わるイベントが多くありました(大阪への移住、入籍、家の契約)。 諸々を考慮した結果、注文住宅を建てることにしたのですが、その過程でソフトウェアエンジニアとしての知見が活かせると思うポイントがあったので、その話を書かせていただきます。 今回はややソフトめな話になりますが、ぜひ読んでみてください! 家造りとソフトウェアエンジニアリング 家造り

                  家造りとソフトウェアエンジニアリング - Gunosy Tech Blog
                • macで情報収集したい? 要約サービスが超便利 - Qiita

                  はじめに macでは「要約サービス」がデフォルトで入っている。入っているが、デフォルトでは気付けない位置にある。 これを最近知り、情報収集がかなり楽になったので、知らない人に紹介したいという衝動に襲われた。 なお自分は、要約サービスを快適に使いたいがために、これまでいろいろ設定してきたVivaldiから、Chromeに乗り換えた。そのくらいの価値があるキラーアプリである。 使い方 システム環境設定 > キーボード > ショートカット > サービス から 「要約する」にチェックを入れる。 ショートカットキーで呼び出したければ設定。 Chromeであれば、Chrome > サービス > 要約する で要約サービスが立ち上がる。 当然ショートカットキーも使える。 要約サイズや形式は、簡単に調整可能。 自分は「文」の要約にし、大体10%くらいのサイズにして、徐々に100%に近づける手法をとっている。

                    macで情報収集したい? 要約サービスが超便利 - Qiita
                  • build2 | C/C++ Build Toolchain

                    build2 is an open source (MIT), cross-platform build toolchain that aims to approximate Rust Cargo's convenience for developing and packaging C/C++ projects while providing more depth and flexibility, especially in the build system. build2 is a hierarchy of tools consisting of a general-purpose build system, package manager (for package consumption), and project manager (for project development).

                    • リリースから10年目を迎えても、やりたいことはまだまだある iOS/AndroidのLINEアプリを開発するエンジニアの働き方

                      LINEで働くエンジニアが、各職種別に日々の業務内容や開発体制、働く環境、今後の展望などについて学生向けに話した「新卒採用 職域別エンジニア会」。今回はiOS/Androidエンジニア会において、モバイルエクスペリエンス開発室副室長の岡本雄三氏が、LINEにおけるiOS/Androidクライアントエンジニアの業務内容や開発環境について紹介しました。 ミッションはLINEアプリのモバイルエクスペリエンス向上 岡本雄三氏:LINE新卒採用エンジニア座談会ということで、私から、iOS/Androidクライアントエンジニアの業務内容や仕事の環境について説明していきたいと思います。 はじめに、自己紹介いたします。私はLINE Platform Development Center2 モバイルエクスペリエンス開発室副室長の岡本といいます。よろしくお願いします。 当時はまだネイバージャパン株式会社でした

                        リリースから10年目を迎えても、やりたいことはまだまだある iOS/AndroidのLINEアプリを開発するエンジニアの働き方
                      • How to accelerate Scala Builds with Bazel

                        Unified governance for all data, analytics and AI assets

                          How to accelerate Scala Builds with Bazel
                        • アメリカン・ファクトリー | 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 (ネットフリックス) 公式サイト
                          • 今モノレポやるならどのツール使うのがいいのん?? - Qiita

                            モノレポ管理ツール単体を管理するGitHubリポジトリとしてみると Lerna Bazel Nx あたりのStar数の多さが目を引きます。 ※npm Workspaces, pnpm Workspaces, Rush, Turborepo, Yarn WorkspacesのGitHub Star数はモノレポ管理以外の機能も含まれるリポジトリのためご参考 Trends比較 今回各ツールのトレンドを比較するため GitHub Star History npm trends State of JavaScript の調査を行いました。 GitHub Star History GitHub Star Historyで各GitHubリポジトリのStar数推移をチェックしてみました。 引用:GitHub Star History | bazel vs bolt vs lerna vs moon vs

                              今モノレポやるならどのツール使うのがいいのん?? - Qiita
                            • How Zendesk Serves TensorFlow Models in Production

                              How We Started With TensorFlowAt Zendesk we are developing a series of machine learning products, the most recent of which is Answer Bot. It uses machine learning to interpret user questions and responds with relevant knowledge base articles. When a customer has a question, complaint or enquiry, they may submit their request online. Once their request is received, Answer Bot will analyse the reque

                                How Zendesk Serves TensorFlow Models in Production
                              • 2022年のAndroidプロジェクトセットアップ - Qiita

                                Qiita Nightの資料になります。  ↑ 右下の拡大ボタンを押すと読みやすくなります。 https://increments.connpass.com/event/251564/ どうAndroidプロジェクトをセットアップするか? takahiromという名前で活動しています。 Androidが好きです。 GDE for AndroidやDroidKaigi Co-organizerやCyberAgent Developers Expertなどの活動をしています。 初めてQiitaスライドを使いました。 初めてAndroidアプリを作りたいという方 Googleから公式のチュートリアルが提供されているので、最新のAndroidの開発について確認してみてください!一緒に開発していきましょう🙌 https://developer.android.com/courses/android

                                  2022年のAndroidプロジェクトセットアップ - Qiita
                                • Announcing the Build Server Protocol v1.0.0

                                  Friday 15 June 2018 Jorge Vicente Cantero, Justin Kaeser and Ólafur Páll Geirsson The choice of an editor, IDE or build tool is personal and, therefore, asking you to go out of your way to learn a new tool to write Scala is not a viable solution. First, because changing people’s habits is difficult and takes time. Second, it frustrates beginners who just want to learn the language. Last, it distra

                                    Announcing the Build Server Protocol v1.0.0
                                  • 2022-02-22のJS: Deno 1.19、Next.js 12.1、Monorepo Toolsまとめ

                                    JSer.info #580 - Deno 1.19がリリースされました。 Deno 1.19 Release Notes deno vendorという外部モジュールをリポジトリ管理するためのコマンドが追加されています。 deno vendorは外部モジュールをローカルにインポートし、Import mapsでマッピングして利用できます。 Proposal: deno vendor · Issue #13346 · denoland/deno Deno.FileをDeno.FsFileにリネームし、Deno.Fileがdeprecatedとなっています。 Deno.Fileは次のメジャーアップデートで削除される予定です。 Deno.FsFileやDeno.ConnなどがWeb Streamsに対応、CompressionStream/DecompressionStreamのサポート、cons

                                      2022-02-22のJS: Deno 1.19、Next.js 12.1、Monorepo Toolsまとめ
                                    • steps to phantasien

                                      August 2022 Moved March 2022 Moving WSL2 「ハイブリッド勤務」にむけて Too Obvious To Innovate January 2022 Off Notes December 2021 2021 Outside Work November 2021 Restarting Extra Curricular Book: The Second Shift Webcam 横書き日記 - 完了 Publishing Blog Draft Behind oauth2-proxy on Cloud Run 横書き日記 Revisiting Writing Office HP C1030 Chromebook Alder Lake and The End Of Linux Laptop October 2021 Cycle Laptops Parties A

                                      • pantsbuild/pants: The Pants Build System

                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                          pantsbuild/pants: The Pants Build System
                                        • glibc がリンクされた binary を alpine 上で動かしたい - Qiita

                                          表題のとおり glibc がリンクされた binary を alpine 上で動かしたい docker-compose とか,golang 系のものとかをバイナリで落としてきて実行するとエラーが出る.しかも not found. docker-compose は python のバイナリなのか…… $ docker run -it --rm alpine:latest /bin/ash / # apk --update add curl fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz (1/4) Installing ca-ce

                                            glibc がリンクされた binary を alpine 上で動かしたい - Qiita
                                          • FREE WINGのホームページ

                                            Raspberry Pi ★Raspberry Pi 2022年の記事 ・2022/05/14 【2022年版】Raspberry Pi 4 Model Bの Boot用 EEPROMのファームウェアをアップデートする手順 Raspberry Pi 4 Model Bの Boot用 EEPROMのファームを更新する方法、2022年版 ・2022/05/22 sudo apt updateで謎のエラー is not valid yet (invalid for another 7d 23h 48min 10s)の解決方法 ラズパイで sudo apt updateした時に Updates for this repository will not be applied.のエラーの解決方法 ・[UPDATE] 2023/09/02 【2023年】Raspberry Piに最新版や LTSの No

                                              FREE WINGのホームページ
                                            • Tensorflowをc++のcmakeしてるプロジェクトで使いたい - Qiita

                                              tensorflowといえばpythonといったイメージを勝手に持ち続けていたが、c++も対応していることを知ったので使ってみることにした。 さっそく環境づくり とりあえず、tensorflowのビルドに必要なあたりを揃えていこう。 tensorflowはbazelを使用してのビルドを推奨している。 よって、bazelのインストールから。 bazelインストール Arch linuxの人は、

                                                Tensorflowをc++のcmakeしてるプロジェクトで使いたい - Qiita
                                              • What Does Gradle Think Of Google's Bazel? l Gradle

                                                We Got Asked a Few Times What our Opinion is on Bazel. Here are Some Thoughts From our Gradle Team on this Industry Development. GRADLE vs BAZEL!The Google team that is responsible for the internal Google build system (known as Blaze) has open sourced as alpha the Bazel build system today. Congratulations to them for their release. We got asked a few times what our opinion is on Bazel. This post i

                                                • Speeding up a Git monorepo at Dropbox with <200 lines of code

                                                  Speeding up a Git monorepo at Dropbox with <200 lines of code We migrated from Mercurial to Git in 2014 to improve local performance and began consolidating our repositories that hosted our backend code. But as this monorepo grew, we experienced Git performance issues that grew linearly with the number of files we added. Inconveniently, this problem was the most severe on macOS—the platform most o

                                                    Speeding up a Git monorepo at Dropbox with <200 lines of code
                                                  • 知識ゼロからAnt と Maven と Gradle について勉強する。-ビルドの定義からツールの特徴まで | Wild Data Chase -データを巡る冒険-

                                                    知識ゼロからAnt と Maven と Gradle について勉強する。-ビルドの定義からツールの特徴まで 2019.04.06 Knowledge 前提 筆者の知識レベル 限りなくゼロ。前の職場が Ant だったけれども、用意された環境構築手順以上のことに触れなかったので知識は無い。 勉強動機 今の仕事で Gradle と Maven を使うので。 何でこの3つ? どうせビルドツールを勉強するなら、有名な3つを比較しながら学んだ方が得るものが多いと思われたため。 ビルドツールについて ビルドって? 対象の環境でプログラムを実行できるように、アプリケーションやライブラリを組み立てること。 ソースコードの解析、プログラミング言語から機械語へのコンパイル、ライブラリのリンクなどを経て実行ファイルを作成する。テストコードの実行なども行う。 ビルドとコンパイルの違いは? コンパイルは「プログラミン

                                                      知識ゼロからAnt と Maven と Gradle について勉強する。-ビルドの定義からツールの特徴まで | Wild Data Chase -データを巡る冒険-
                                                    • 【レポート】 ng-kyoto、ng-japan meetup 2019 Spring合同開催!Angular好きが集まる勉強会に参加してきました! #ng_jp #ng_kyoto | DevelopersIO

                                                      どうも!大阪オフィスの西村祐二です。 2019/5/29(金)にng-kyoto Angular Meetup #10に参加してきました。 この勉強会は東京開催のng-japan meetup 2019 Springとの合同開催となっており、大阪会場と東京会場をビデオ会議ツールでつなぎ中継するというスタイルとなっていました。 勉強会のスタイルとしては Angular Japan User Group代表のlacoさんによるNG-Conf 2019レポート+東京会場と大阪会場からそれぞれ3件のLTという形の勉強会でした。 つまり、大阪にいながら、東京の発表がきけるなんともお得で素晴らしい勉強会でした。 ちなみにAngular v8がリリースされた日というめでたい日でもありました。 会場 大阪、東京ともにサイボウズさんのオフィスで開催されました。 私は大阪に住んでいるので、大阪オフィスから参加

                                                        【レポート】 ng-kyoto、ng-japan meetup 2019 Spring合同開催!Angular好きが集まる勉強会に参加してきました! #ng_jp #ng_kyoto | DevelopersIO
                                                      • Marginalia

                                                        すべて Tech Idea Diary 2024-06-26 WebブラウザにおけるOpenTelemetryの自動計装PoC: Trace via Service Worker TechWebOpenTelemetryService Worker 2024-06-23 Cloudflare Image Transformationで画像最適化した TechCloudflareBlog DevAstro 2024-06-20 Angular: Rendering EffectsとBusiness Effects TechAngularSignals 2024-06-14 計画の優先順位ではなく目標の優先順位を決める Idea雑記言語化 2024-06-13 Angular: Model Inputsを使ったカスタムフォームコントロール実装例 TechAngularSignalsForms

                                                          Marginalia
                                                        • steps to phantasien

                                                          August 2022 Moved March 2022 Moving WSL2 「ハイブリッド勤務」にむけて Too Obvious To Innovate January 2022 Off Notes December 2021 2021 Outside Work November 2021 Restarting Extra Curricular Book: The Second Shift Webcam 横書き日記 - 完了 Publishing Blog Draft Behind oauth2-proxy on Cloud Run 横書き日記 Revisiting Writing Office HP C1030 Chromebook Alder Lake and The End Of Linux Laptop October 2021 Cycle Laptops Parties A

                                                          • 人工知能(Tensorflow Magenta)で作曲してみた

                                                            というわけで聴いてください。 Google社の人工知能ライブラリ TensorFlow、それを音楽に使おうというプロジェクトの Magenta が発表されていたので試してみました。 手順は以下の通りです。 学習データの準備 特徴量抽出 メロディ生成 (あらかじめ、Python, Tensorflow, Magenta, Bazelのインストールが必要です。、 OSX El capitanの環境で行いました。) [学習データの準備] まず学習用のMIDIファイルを用意します。(MIDIとは、メロディなどを記録したデータファイルです) MIDIはこのmidiworld.comなどから色々ダウンロード可能ですが、実際に「メロディだけ」のMIDIファイルってあまりないです。 ということで、ここはこまめに手動で編集しました。 MIDIファイルを音楽編集ソフトで開き、ドラムやベースなどのメロディ楽器以

                                                            • ホワイト・ヘルメット -シリアの民間防衛隊- | 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 (ネットフリックス) 公式サイト
                                                              • Update SPDY4/HTTP2 identifiers/flags/NPN tokens.

                                                                Git repositories on chromiumNameDescriptionAll-ProjectsRights inherited by all other projectsAll-UsersIndividual user settings and preferences.android_apksandroid_ndkandroid_toolsangleangle/anglePortable OpenGLaospRepos that are mirrored/forked directly from https://android.googlesource.com/aosp/platform/external/dbus-binding-generator(MOVED) Merged into src/platform2/chromeos-dbus-bindings/ again

                                                                • 【爆速なるか!?】OSXでTensorflowのGPU版を使うためのセットアップ - Qiita

                                                                  ※2016/5/12追記 公式Tensorflowのレポジトリにマージされたので、この記事は完全にDeprecatedになります。 -> TensorflowでOSXのGPUが対応されたよ まぁあまりインストールの仕方は変わらないのですが。 ※非公式なので何が起きても責任負えません。 自分のMacbook Pro(Retina, 15-inch, Mid 2014)がIntel Iris Proの他にNVIDIA GeForce GT 750Mも積んでいたことを思い出したので、「Cudaで3.0やん。TensorflowのGPUいけるやん」と思い、やり方探してたら海外ですでにやってる人いたので、参考にした時の手順を残します。 ただしver0.6.0に戻ります bazelとか使うのでpip,Virtualenv,dockerのインストールした人は、まず普通にソースからのインストールした方がよ

                                                                    【爆速なるか!?】OSXでTensorflowのGPU版を使うためのセットアップ - Qiita
                                                                  • GitHub - tweag/nickel: Better configuration for less

                                                                    Nickel is the cheap configuration language. Its purpose is to automate the generation of static configuration files - think JSON, YAML, XML, or your favorite data representation language - that are then fed to another system. It is designed to have a simple, well-understood core: it is in essence JSON with functions. Nickel's salient traits are: Lightweight: Nickel is easy to embed. An interpreter

                                                                      GitHub - tweag/nickel: Better configuration for less
                                                                    • Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Mesos and Kubernetes

                                                                      Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Apache Mesos and Kubernetes To ensure the stable, scalable growth of our diverse tech stack, we leverage a microservices-oriented architecture, letting engineers deploy thousands of services on a dynamic, high-velocity release cycle. These services enable new features to greatly improve the experiences of riders, drivers, and eater

                                                                        Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Mesos and Kubernetes
                                                                      • LINE iOS版のビルドパフォーマンスをBazelで改善

                                                                        背景 LINE iOS版のソースコードは、ローンチ以来、数百モジュールもの規模にまで成長しています。2019年末時点で、コード行数も140万行を超えており、現在もその増加ペースはとどまるところを知りません。一方、コードが大規模になると、開発者にとってはビルド時間が悩みの種ともなります。また、プロジェクトの成長に伴い、再現不可能な問題も増えていきました。 たとえば、ローカル環境で動くビルドがCIで動かなかったり、もしくはその逆が起こったり、といったものです。 そこで、一歩退いた目線に立ち、ビルドパフォーマンスと再現性を改善できる方法を考え始めました。 ライブラリ依存管理 まず、ライブラリ依存管理についてお話します。LINEでは、2012年の終わりに依存性管理ツールとして CocoaPods を導入しました。 CocoaPodsは非常に便利なOSSで、 Xcodeとの相性も良いです。 自分で書

                                                                          LINE iOS版のビルドパフォーマンスをBazelで改善
                                                                        • 2022年3月11日 &quot;ディストロレス&quot;なエコシステムの拡大を―apkベースの軽量OCIイメージ作成ツール「apko」 | gihyo.jp

                                                                          Linux Daily Topics 2022年3月11日"ディストロレス"なエコシステムの拡大を―apkベースの軽量OCIイメージ作成ツール「apko」 軽量でセキュアなLinuxディストリビューションとして人気の高い「Alpine Linux」は、とくにコンテナイメージ(OCIイメージ)の作成において使われることが多い。Alpine Linuxはパッケージマネージャに独自のシステムである「apk」を採用しており、Alpine Linuxが軽量でありながら扱いやすいOSとしてコンテナ周りで普及しているのはapkによるところが大きい。 このapkをベースに"ディストロレス(distroless)"なイメージ ―アプリケーションを動作させるために必要な最小限のコンポーネントだけを含むイメージを作成するツールが「apko」だ。作成するのはオープンソースをベースにしたサプライチェーンセキュリティ

                                                                            2022年3月11日 &quot;ディストロレス&quot;なエコシステムの拡大を―apkベースの軽量OCIイメージ作成ツール「apko」 | gihyo.jp
                                                                          • Error Prone

                                                                            Error Prone It’s common for even the best programmers to make simple mistakes. And sometimes a refactoring which seems safe can leave behind code which will never do what’s intended. We’re used to getting help from the compiler, but it doesn’t do much beyond static type checking. Using Error Prone to augment the compiler’s type analysis, you can catch more mistakes before they cost you time, or en

                                                                            • evaluating bazel for building firefox, part 1 | Nathan's Blog

                                                                              After the Whistler All-Hands this past summer, I started seriously looking at whether Firefox should switch to using Bazel for its build system. The motivation behind switching build systems was twofold.  The first motivation was that build times are one of the most visible developer-facing aspects of the build system and everybody appreciates faster builds.  What’s less obvious, but equally impor

                                                                              • Kotlinの静的解析ツールDetektを導入する (Part 1/2)

                                                                                Detekt comes with a set of plugins that helps you configure it easily in your Gradle, Maven, Bazel, ... build. Enjoy… DetektはKotlinのコード静的解析ツールになっていて、フォーマットエラーやCode smellを検出してくれるものになります。 ktlintに比べて更に細かいことをしてくれますし、コードで問題がありそうな箇所も検出してくれるの、うまく運用すると非常に強力なものになると思います。 セットアップDetektの導入はドキュメントを見ても分かりにくい部分があるので、まずは最低限の設定でやっていきます。 今回はKotlin DSLを使った例になります。 まずはDetektのGardle Pluginをプロジェクト直下の build.gradle に追加します。

                                                                                  Kotlinの静的解析ツールDetektを導入する (Part 1/2)
                                                                                • ペーパー・ハウス | 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 (ネットフリックス) 公式サイト