並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1557件

新着順 人気順

Bazelの検索結果1 - 40 件 / 1557件

  • ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後

    「いつか勉強しよう」と人工知能/機械学習/ディープラーニング(Deep Learning)といったトピックの記事の見つけてはアーカイブしてきたものの、結局2015年は何一つやらずに終わってしまったので、とにかく一歩でも足を踏み出すべく、本質的な理解等はさておき、とにかく試してみるということをやってみました。 試したのは、TensorFlow、Chainer、Caffe といった機械学習およびディープラーニングの代表的なライブラリ/フレームワーク3種と、2015年に話題になったディープラーニングを利用したアプリケーション2種(DeepDream、chainer-gogh)。 (DeepDreamで試した結果画像) タイトルに半日と書きましたが、たとえばTensorFlowは環境構築だけなら10分もあれば終わるでしょうし、Chainerなんてコマンド一発なので5秒くらいです。Caffeは僕はハ

      ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後
    • Node.js における設計ミス By Ryan Dahl - from scratch

      Ryan Dahl は Node.js の original author ですが、彼の作ったプロダクト deno に関するトークが jsconf.eu 2018 でありました。 Node.js にずっと関わってきた僕が見て非常に興奮するような話だったので、しばらくぶりにブログに書き起こすことにしました。 背景 Ryan Dahl は2009年に Node.js の話を初めて公の場に公開しました。その時の「公の場」というのが「jsconf.eu 2009」です。 www.youtube.com Video: Node.js by Ryan Dahl - JSConf.eu - 2009 この発表から Node.js が広まり、今やサーバのみならず、IoTデバイス、デスクトップアプリなど、様々なところで動作しています。 で、今回はその発表から9年の歳月が経過し、Node.jsに対しての設計不

        Node.js における設計ミス By Ryan Dahl - from scratch
      • ソースコードを公開したソフトウェアで収益を得ている会社

        ソースコードを公開したソフトウェアで収益を得ている会社をまとめる。いわゆる「オープンソースソフトウェア(OSS)」という有名な言葉を使わなかったのは、OSS の定義に当てはまらない、またはその可能性があるものが含まれているため。 この記事では "OSS" の定義に当てはまらないものも含め、主要な事業を構成するソフトウェアを一定のライセンスの下で公開している会社をまとめていく。このようにソースコードを公開して利用者やフィードバックを集めるビジネスモデルは open core とか COSS: Commercial Open Source Software と呼ばれているようだ。 企業が「ソースコードが公開されているソフトウェア」を利用するメリットとしては、主に以下の2つがあると考えられる。 コア機能の開発に集中できる 自社のビジネスの核となるソフトウェアの開発に集中し、それ以外の機能的・非機

          ソースコードを公開したソフトウェアで収益を得ている会社
        • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

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

            メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
          • エンジニアのスキルマップ・テックリードへの途 - 電通総研 テックブログ

            みなさんこんにちは。電通国際情報サービス(ISID) 金融ソリューション事業部の水野です。 これは電通国際情報サービス Advent Calendar 2022の16日目の記事です。 今回は、ISID金融事業部で運用しているスキルマップについてご紹介します。 テックリードとは 実は、ISIDの少なくとも金融事業部にテックリードと言うポジションはありません。 実在するのはチーフアーキテクトと言う職種のみで、各プロジェクトでリードエンジニアやテックリードという仮想的なロールがあるのが実態です。 一時期はフルスタックエンジニアと呼んでいる時期もありましたが、近年このワーディングが好まれない印象なので、大々的に使っていません。 主観ですが、フルスタックエンジニアはインフラ知識/運用系の知識のウェイトが高いエンジニアで、テックリードはソフトウェアアーキテクチャ、Webアプリケーション実装技術寄りのエ

              エンジニアのスキルマップ・テックリードへの途 - 電通総研 テックブログ
            • Twitter での 2年 · eed3si9n

              2022-11-20 僕は Twitter社の Build/Bazel Migration チームでスタッフ・エンジニアとして勤務していた。信じられないような 2年の後、2022年11月17日をもって退職した (企業買収後のレイオフでも任意でもあんまり関係無いが、僕は任意退職希望のオファーを取った)。Twitter社は、切磋琢磨、多様性、そして Flock を構成する全ての人に対して溢れ出る優しさというかなり特別な文化を持った職場だった。これを間近で経験して、その一員となる機会を得たことに感謝している。(Flock は「鳥の群れ」の意で、社内での Twitter社の通称) 以下は過去2年の簡単な振り返りだ。尚本稿での情報は、既に公開されているトークやデータに基づいている。買収後、うちのチームだけでも 10名以上のメンバーが Twitter社を抜けたので、在籍・元含め LinkedIn プロ

              • Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita

                元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピングを迅速かつ簡単にします. Dozer - アノテーション, API または XML 設定を使用して, あるオブジェクトから別のオブジェクトへデータをコピーするマッパー. JMapper - 高速コードマッピングのためにバイトコード操作を使用. アノテーシ

                  Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita
                • Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へ - Qiita

                  Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へCIgradleビルドツール継続的インテグレーション Ant とか Gradle とか,名前は見かけるけど何に使っているのかよくわかりません (意訳) 的なことを新人から立て続けに言われたので,順を追って説明してみようと試みる. ビルドとは: 書いたプログラムを本番環境で動作させるまで 「ビルド」という言葉をいきなり説明するのも唐突なので,そもそもプログラムコードが本番で稼働するまでの流れをざっくりと説明します. デプロイまでに必要な作業 アプリケーションをテスト環境や本番環境で動作させるためには,おおまかに言えば以下の様な手順をを踏みます. (自分や新人の実業務ではサーバーサイドは Java,クライアントは Java だったり TypeScript で書かれた Web

                    Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へ - Qiita
                  • 文化からツールまでを扱ったタイトルに違わぬ大著『Googleのソフトウェアエンジニアリング』を読んだ - こまぶろ

                    昨年11月末に発売された『Googleのソフトウェアエンジニアリング』を読みました。 Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス オライリージャパンAmazon 細かい内容についての感想はTwitterの方に放流しているので、ブログでは簡単に。 とりあえず一周した。17章以降は基本「いやーGoogleさんすごいっす」という感じだったが、ところどころ役立つ話があったし、「エンジニアリングを発展させていった先の一つの形がこうなのか」という面白さは大きかった。逆に前半は実践的にかなり勉強になったのでちゃんと復習しよう…… #swebookjp— こま (@koma_koma_d) 2022年1月3日 全体の構成 書籍全体の構成は、以下のようになっています。 分量としては、「第4部 ツール」が最も大きな部分を占めています。 第2部から第4部に

                      文化からツールまでを扱ったタイトルに違わぬ大著『Googleのソフトウェアエンジニアリング』を読んだ - こまぶろ
                    • 最強のServerlessプラットフォーム? Knative登場 - Cloud Penguins

                      本日開催されている Google Cloud Next ’18 ですが、非常に面白いプロダクトが発表されました。 その名も Knative (kay-nay-tiv ケイネイティブと発音) Kubernetes上でServerlessを実現するプロダクトです。 https://github.com/knative/docs より引用 KubernetesでServerlessって何が新しいの? この界隈追っている方はご存じかもしれませんが、KubernetesでServerless Platformを実現するという考え方自体は新しいものではありません。 CNCF Serverless Landscape を見てみると分かりますが Fission Kubeless OpenFaaS などなど既に多くのOSSが存在しています。これら先行のServerlessプロダクトとKnativeは何が異な

                        最強のServerlessプラットフォーム? Knative登場 - Cloud Penguins
                      • メルカリShops の CI/CD と Pull Request 環境 | メルカリエンジニアリング

                        こんにちは!ソウゾウの Software Engineer の @dragon3 です。 連載:「メルカリShops」プレオープンまでの開発の裏側の8日目を担当させていただきます。 この記事では、メルカリShops 開発において、日々バリバリに利用されている CI/CD 環境と Pull Request 毎のデプロイ環境について紹介します。 CI/CD 環境 メルカリShops では、CI/CD (テスト・ビルド・デプロイ)やその他自動化のために GitHub Actions を使っており、ほとんどのワークフロー・ジョブを Self-hosted runners で実行しています。 Self-hosted runners は、専用の VPC ネットワーク 内の GCE インスタンス上で動かしており、Managed Instance Group 等を使い、そのプロビジョニングや起動・停止等は

                          メルカリShops の CI/CD と Pull Request 環境 | メルカリエンジニアリング
                        • また make の話してる(2020年9月14日) - なにもわからない

                          私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

                            また make の話してる(2020年9月14日) - なにもわからない
                          • モノレポにすべきか、レポジトリを分割すべきか

                            先日 フロントエンドの Monorepo をやめてリポジトリ分割したワケ というブログがバズっていた。そのおかげか、Twitter でもモノレポに関する言及がちょこちょこあった。一家言あるドメインなので書きたい。ただの一家言(a.k.a お気持ち)なのでぜひ皆さんの意見も聞いてみたい。 tl;dr 別に自分はどっち派とかではなく、どっちも選ぶ。強いて言うならリポジトリ分割派で、依存更新がしんどくなったら monorepo 派。 免責 モノレポに対する一家言を書きたいだけであって、内容自体はフロントエンドの Monorepo をやめてリポジトリ分割したワケ と全く関係なく、そのブログで述べられている施策については何も言及しません。ただ一つ言及するとしたら肉の部位がコードネームに採用されているのは良いと思いました。🍖🍖🍖 モノレポにしたくなる状態の前提にあるもの 前提は元記事と同じように

                              モノレポにすべきか、レポジトリを分割すべきか
                            • 【docker buildのマニアックすぎる狂宴】Container Build Meetup #1に参加してきた #container_build | DevelopersIO

                              「あぁ、この人たち、すっごい楽しそうにマニアックな話するなぁ」 このイベントに参加しながら、ハマコーずっとそんなことを考えてました。 Container Build Meetup #1 - connpass Docker Buildだけがテーマという、すげぇフォーカスを絞りまくった勉強会だったんですが、絞り方が絶妙だったのか、参加者の熱もアツく質疑応答も盛況だったので、そのレポートをお届けいたします。技術的にも、旬のDocker界隈の話がてんこ盛りで参考になりました。 container buildきたか…!! ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 登壇者一覧 タイトル スピーカー Better Docker Image 登壇者はおりさの(@orisano)さん。 良いDockerイメージを作るには2つのアプローチがある。 どのように速くするか どのよう

                                【docker buildのマニアックすぎる狂宴】Container Build Meetup #1に参加してきた #container_build | DevelopersIO
                              • メルカリShops の技術スタック、その後 | メルカリエンジニアリング

                                こんにちは。ソウゾウのSoftware Engineer(CTO)の@suguruです。連載:メルカリShops 開発の裏側 Vol.2の1日目を担当させていただきます。 去年、2021年に開始した メルカリShopsの技術スタック についての記事を書きましたが、今回はリリースまでに採用した技術スタックが、半年通してどのようにアップデートしてきたかを共有したいと思います。 ローンチ時に採用した技術が、実際の運用でどのように変遷したのかを共有することで、技術スタックを考える際の何らかの参考になれば幸いです。 monorepo メルカリShops ではサービスに必要なコードを1つに集約する monorepo を採用しています。リリース後半年たってコード量はかなり増えてきましたが、monorepo に対する満足度は非常に高く、うまく機能しています。 サービス全体の見通しが良くなることと、すべての

                                  メルカリShops の技術スタック、その後 | メルカリエンジニアリング
                                • モノリシックなバージョン管理の利点 | POSTD

                                  以下は、私がよく交わす会話の一例です。 人物A:FacebookやGoogleは、巨大なモノリシックリポジトリ(モノレポ)を使っているんだってよ。 私:みたいだね。あれは本当に便利だと思う。 人物A:僕に言わせれば最悪の愚行さ。全てのコードを単一のリポジトリに入れるのがヒドイ考えだと、FacebookやGoogleはなぜ思わないんだろうか。 私:FacebookやGoogleのエンジニアたちも小さなリポジトリには精通しているだろうけど( 濱野純(Junio Hamano) 氏はGoogle勤務だし)、単一の大きなリポジトリの方が、きっと”ある理由”で好みなんだよ。 人物A:なるほどね。僕としては、まだちょっと違和感はあるけど、モノレポが使われる理由は分かったような気がするよ。 “ある理由”はかなり長いので、同じ会話を何度も繰り返さなくていいように、ここに書き留めておこうと思います。 シンプ

                                    モノリシックなバージョン管理の利点 | POSTD
                                  • 私からあなたへ 一人前のJavaエンジニアになるためのロードマップを送ろう - Qiita

                                    内容 以下記載のURLを参考にロードマップをJavaバージョンにしてみた。 初心者から立派なJava エンジニアになる方への学習の道しるべになれば。 また自分自身すべてできるわけではないので、できるようにするためのメモ書きとして。 (ただ以下をなんとなく理解するだけで2,3年以上かかった。。。) 参考 ※ 会社の同期から基本文法についてレベル別記載のアドバイスをいただいたので修正(2018/4/9) 学習方法 1.Hello World どのプログラミング言語でもそうですが、まずは動かし方を学びましょう。 ゲシュタルト崩壊するくらいHello Worldは書きましょう。 最初のうちはstatic void mainの意味も分からなくて大丈夫です。徐々に理解できるはずです。 2.基本を学ぶ 以下のサイトや書籍を使用してプログラミングの基礎を知りましょう。 文法の書き方やメソッドの使い方、アク

                                      私からあなたへ 一人前のJavaエンジニアになるためのロードマップを送ろう - Qiita
                                    • Bazel

                                      BazelCon 2024 registration and CFP are open now! For stable release documentation, please use the "Versioned docs" drop-down. The default view reflects the latest version at HEAD.

                                        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 - 大好きな映画やドラマをオンラインで楽しもう!
                                        • テストや開発環境における自動化に関して議論したICST2017 unofficial meetup - クックパッド開発者ブログ

                                          技術部品質向上グループの松尾(@Kazu_cocoa)です。 2017年3月13日〜2017年3月17日の間に、東京にてICST2017という国際学会が開かれました。 その学会に基調講演としてGoogleの方などが来日しました。そのさい、非公式ながらミートアップを開いたのでその時の学びを共有したいと思います。 ICST2017とは ICST2017とは、2017年に開催された第10回 IEEE International Conference on Software Testing, Verification and Validationの略です。Webサイトはこちら。 そこではソフトウェアテストや開発環境、品質に関する研究や事例が発表され、議論されました。 今年は10周年である上に、この会が始まって以来、初めて日本で開催されたようです。 学会と聞くと学術的すぎると思うかもしれませんが、比

                                            テストや開発環境における自動化に関して議論したICST2017 unofficial meetup - クックパッド開発者ブログ
                                          • ZigはCMakeの代替となるか

                                            既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_be-windows-gnu", "aarch64-linux-gnu", "aarch64-linux-musl", "aarch64-windows-gnu", "aarch64-macos-none", "aarch64-macos-none", "armeb-linux-gnueabi", "armeb-linux-gnueabihf", "armeb-linux-musleabi

                                              ZigはCMakeの代替となるか
                                            • CI/CD方針、テスト・QA方針と連動する三分類ブランチ管理方針で、開発での高品質と高スピードの両立を支える - 千里霧中

                                              最近の開発では、CI/CD、自動テスト、継続的テストが当たり前となっていますが、その影響で、それらのCI/CD方針、テスト方針と、Git等のバージョン管理のブランチ方針をどう連携させるかが、定番の課題になっていると感じています。 今回は、このブランチ方針、CI/CD方針、テスト方針を連携させて、開発の品質とスピードを向上させるアプローチについて解説します。 結論から言うと、要点は以下の二つとなります。 バージョン管理のブランチ方針は、CI/CD方針、テスト・QA方針と不可分であり、連携を考えながら方針立てする必要がある ブランチ方針の工夫で、CI/CD、テスト・QAの開発インフラリソース消費を削減でき、本当に重要なポイントに開発インフラリソースを投入できる。これにより、限られたリソースでの高品質・高スピードの両立を支えられる 背景:開発インフラの進化が全てを解決すると楽観視していた発展期

                                                CI/CD方針、テスト・QA方針と連動する三分類ブランチ管理方針で、開発での高品質と高スピードの両立を支える - 千里霧中
                                              • Webpackの後継となる新バンドルツール「Turbopack」が登場。Rust製のネイティブアプリケーションでWebpackの700倍高速に。Next.js Conf 2022

                                                Webpackの後継となる新バンドルツール「Turbopack」が登場。Rust製のネイティブアプリケーションでWebpackの700倍高速に。Next.js Conf 2022 Reactベースのサーバサイドフレームワークとして知られるNext.jsの開発元のVercelは、日本時間10月25日深夜にイベント「Next.js Conf 2022」を開催。Next.jsの最新バージョンとなる「Next.js 13」と、Rust製の高速なバンドルツール「Turbopack」を発表しました。 Introducing Turbopack, the successor to Webpack. ~700x faster than Webpack 10x faster than Vite Native incremental architecture built with Rust Support f

                                                  Webpackの後継となる新バンドルツール「Turbopack」が登場。Rust製のネイティブアプリケーションでWebpackの700倍高速に。Next.js Conf 2022
                                                • Managed Kubernetesサービス開発者の自宅k8sクラスタ全容

                                                  となっています。 構成図 クラスタを構成するものを図にすると以下のようになります。 この中の一部コンポーネントは次節以降で登場します。 Kubernetes基盤 クラスタの基盤部分についてどのような構成になっているのか説明します。 kubeadm クラスタの構築自体については kubeadm を利用しています。 kubeadm を利用したクラスタの構築方法については公式のドキュメントが参考になります。 Static Pod と systemd kubeadm でデプロイすると kube-apiserver 等は Static Pod で、kubelet は systemd 以下で動作するようになります。 kube-apiserver は意外にメモリを食ってしまうのでそのまま動作させているとメモリ不足になることがあります。(ありました) なので kube-apiserver と etcd の

                                                    Managed Kubernetesサービス開発者の自宅k8sクラスタ全容
                                                  • サーバーサイドエンジニアとして2021年に使った技術と来年の目標 | うなすけとあれこれ

                                                    昨年書いたサーバーサイドエンジニアとして2020年に使った技術1の2021年版となります。 昨年と同じく、冒頭の画像はwakatimeによる2021年1月1日から12月26日までのプログラミング言語使用率です。2位はTypeScript、3位はYAML、4位はTerraformです。 立場 フリーランスで、主にRailsやAWSを使用しているサービスの運用、開発に関わっています。いくつもの会社を見てきた訳ではなく、数社に深く関わっている1都合上、視野が狭いかもしれません。(昨年と同じ) 今年公開している成果については以下です。 Agones移行物語 - Kubernetes Meetup Tokyo 42 #k8sjp|うなすけ|note なぜ我々はクラウドゲーミング基盤をKubernetesに移行したのか #CNDT2021|うなすけ|note Repro のサーバーサイド開発環境を M

                                                      サーバーサイドエンジニアとして2021年に使った技術と来年の目標 | うなすけとあれこれ
                                                    • 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

                                                      • How we migrated Dropbox from Nginx to Envoy

                                                        In this blogpost we’ll talk about the old Nginx-based traffic infrastructure, its pain points, and the benefits we gained by migrating to Envoy. We’ll compare Nginx to Envoy across many software engineering and operational dimensions. We’ll also briefly touch on the migration process, its current state, and some of the problems encountered on the way. When we moved most of Dropbox traffic to Envoy

                                                          How we migrated Dropbox from Nginx to Envoy
                                                        • googleの新しい時刻同期プロトコル Roughtimeとは - ASnoKaze blog

                                                          [追記] 2020年1月時点の動向について、新しく記事を書きました asnokaze.hatenablog.com Googleの「Adam Langley氏のブログ」で、新しい時刻同期プロトコルについて紹介されている。このRoughtimeは特定のタイムサーバに依存しないセキュアな方法で時刻同期を行うことを目的としたプロトコルです。すでに、googleのサーバで動作しており、roughtime.sandbox.google.com:2002に向けて公開されている専用クライアントで接続できる。 現在のセキュリティは現在の時刻に依存しており、その重要性はましています。証明書の有効期限や、OCSPレスポンス、Kerberosのチケット、DNSSECの応用やPGP鍵といった機能でも重要です。しかし、Chromeの証明書エラーのうち25%はローカルの時刻に起因するとしているとしています。 現在、最

                                                            googleの新しい時刻同期プロトコル Roughtimeとは - ASnoKaze blog
                                                          • 次世代ビルドツールBazelを使ってAndroidアプリをビルドする - クックパッド開発者ブログ

                                                            会員事業部所属エンジニアの山下(@tomorrowkey)です。 去年はモバイルファースト室でバリバリとAndroidアプリを書いていたのですが、今年に入ってサーバーサイドもやってみたいと思い、最近はRubyを書いている日々です。 Rubyはあまりやったことがなかったのですが、REPLがあってとても助かります。Java 9でREPLが使えるようになるらしいですが、Androidは縁遠い話ですね。 さて、今回は来年ビルドツールとして脚光を浴びそうなBazelをご紹介したいと思います。 Bazelとは何か Bazel http://bazel.io/ BazelはGoogleが社内で使用していたビルドツールをオープンソース版として開発をしているものです。2015年3月にAlpha版が公開されました。 Alpha版ではクライアントアプリケーションやiOSアプリのビルドなどがサポートされていて、最

                                                              次世代ビルドツールBazelを使ってAndroidアプリをビルドする - クックパッド開発者ブログ
                                                            • メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング

                                                              ソウゾウの Software Engineer をやっています、@mookjp です。 8/10 の記事「メルカリShopsの技術スタックと、その選定理由」では、メルカリ Shops のアーキテクチャについて、その全体像を紹介しました。 この記事では、そのうちの BFF(Backend for Frontend) レイヤとして用意した GraphQL サーバについて、NestJS を使った実装例を交えて紹介します。 GraphQL とは GraphQL サーバ周辺の構成 NestJS とは GraphQL Module NestJS で Code First なスキーマ定義をする Object types の定義 Query と Mutation の定義 GraphQL スキーマの生成 スキーマの Breaking Change (破壊的変更)を防ぐ DataLoader を使って Bat

                                                                メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング
                                                              • Google開発主導のビルドツール「Bazel」がバージョン1.0に到達、次期Angluarでも正式採用へ

                                                                Google開発主導のビルドツール「Bazel」がバージョン1.0に到達、次期Angluarでも正式採用へ BazelはKubernetesやHadoopのように、もともとGoogle社内で使われていたソフトウェアがベースとなってオープンソース化されたものです。BazelのWebサイトには次のような説明が記されています。 When you build software with Bazel, you're running the same code that has been refined and tested for years at Google to build heavy-duty, mission-critical infrastructure, services, and applications.」 Bezelでビルドを行うとき、それは長年にわたってGoogleのヘビーデュ

                                                                  Google開発主導のビルドツール「Bazel」がバージョン1.0に到達、次期Angluarでも正式採用へ
                                                                • Netflix - Watch TV Shows Online, Watch Movies Online

                                                                  '); 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

                                                                  • Java開発におけるErrorProneのススメ - よねのはてな

                                                                    こんにちは、今シーズンのNBAもGSWの試合は全試合観てる米林です🏀 今年は毎試合満員御礼のOracleアリーナに行って観戦したいなぁと思いつつカリフォルニア州オークランドの人たちはOracleがデータベースの会社って知ってるのかどうか毎回気になっています🏀 うちの会社ではJavaの開発において、Error Prone を積極的に取り入れている。 その理由はCTOのmopemopeが入れろって怖いから、ただそれだけである。 実際のところ導入して損は無いので皆さんも是非導入を検討して頂きたい。 Error Prone とは github.com Error Prone とはGoogleが公開していて、githubに記載されている説明のとおり “Catch common Java mistakes as compile-time errors” そのままである。 コンパイル時にエラーが起き

                                                                      Java開発におけるErrorProneのススメ - よねのはてな
                                                                    • Angular 8正式版リリース。高速レンダリングエンジン「Ivy」、モダンブラウザ用と非モダンブラウザ用のJSコードを動的に使い分ける「Differential Loading」など

                                                                      Angular 8正式版リリース。高速レンダリングエンジン「Ivy」、モダンブラウザ用と非モダンブラウザ用のJSコードを動的に使い分ける「Differential Loading」など Angularは2017年4月に登場したAngular 4から、半年ごとにメジャーバージョンアップが行われるリリースサイクルを採用しています。Angular 8はこのリリースサイクルに従って、2018年10月に登場したAngular 7に続くメジャーバージョンアップです。 次世代高速レンダリングエンジン「Ivy」実験的搭載 Angular 8では、新しく開発された高速なレンダリングエンジン「Ivy」が搭載されました。 Ivyは2018年5月のng-conf 2018で発表され、モバイルデバイスでも十分に動作するほど小さく高速で、開発者にとって利用しやすいシンプルなAPIなどを備えたレンダリングエンジンとして

                                                                        Angular 8正式版リリース。高速レンダリングエンジン「Ivy」、モダンブラウザ用と非モダンブラウザ用のJSコードを動的に使い分ける「Differential Loading」など
                                                                      • Handbook - The TypeScript Handbook

                                                                        About this Handbook Over 20 years after its introduction to the programming community, JavaScript is now one of the most widespread cross-platform languages ever created. Starting as a small scripting language for adding trivial interactivity to webpages, JavaScript has grown to be a language of choice for both frontend and backend applications of every size. While the size, scope, and complexity

                                                                        • [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

                                                                          [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading To: debian-user@lists.debian.org, debian-devel@lists.debian.org Subject: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading From: Henrique de Moraes Holschuh <hmh@debian.org> Date: Sun, 25 Jun 2017 09:19:36 -0300 Message-id: <[🔎] 20170625121936.GA7714@khazad-dum.debian.net> This warning advisory is relevant for

                                                                          • ぼくがかんがえたさいきょうのWasmビルド環境

                                                                            TL;DR VS Code 前提になってしまいますが、VS Code Remote Containers 拡張最強です、という話。実際にどういう風に作れば良いかは参考リポジトリ作ったので見て下さい。 はじめに 背景ぼかしのような推論結果を使ってカメラ画像にフィルタを入れる処理を書くとき、今だと選択肢は大きく分けて 2 つあります。 tfjs を使う Wasm 経由で tflite やその他ライブラリを使う この記事では後者の Wasm を使う方に注目して、その開発環境について記載します。 先行例 w-okadaさんのリポジトリには複数の Wasm を使った事例が紹介されています。 例を挙げるとTFLite Wasm for Google Meet SegmentationやTFLite Wasm for ESPCNなどが Wasm です。 これらのビルド環境はどうなっているかというと、Do

                                                                              ぼくがかんがえたさいきょうのWasmビルド環境
                                                                            • Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita

                                                                              元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピングを迅速かつ簡単にします. Dozer - アノテーション, API または XML 設定を使用して, あるオブジェクトから別のオブジェクトへデータをコピーするマッパー. JMapper - 高速コードマッピングのためにバイトコード操作を使用. アノテーシ

                                                                                Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita
                                                                              • ソースコードのハッシュ値を利用したCIの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                                こんにちは、kintoneチームの川向です。 ソースコードハッシュ値計算ツールであるsverを導入してCIの高速化を行ったので、その紹介をさせてください。 この仕組みにより、通常は1時間かかるCIの実行時間が最善のケースでは20分程度に短縮可能になりました。 導入前の課題 解決方法の検討 sverを使ったテストのスキップによるCI高速化 kintoneでのsverの利用方法 sver設定ファイルの書き方 キャシュの保存先(GitHub Actions Cache、Amazon S3) sverを使ったジョブの書き方 sver情報生成ジョブ: ハッシュ生成とキャッシュの存在確認 ビルドジョブ: 依存ファイル以外に依存しないことの確認 テストジョブ: ジョブ成功後にキャッシュ保存 下流ジョブのifの書き方 結果 課題と今後の展開 まとめ 導入前の課題 kintoneのCIの大まかな構成は以下の

                                                                                  ソースコードのハッシュ値を利用したCIの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                                • GoogleがJPEGエンコーダー「Guetzli」をオープンソースで公開

                                                                                  by greyloch Google製のJPEGエンコーダー「Guetzli」がGitHubで公開されています。生成されるJPEGファイルはlibjpegと比較したとき、同等の品質でファイルサイズが20~30%ほど小さくなるとのことです。 GitHub - google/guetzli https://github.com/google/guetzli 特にニュースリリースなどは発表されていないようなのですが、2016年10月にEncode.ruというフォーラムにJyrki Alakuijala氏が投稿した内容(Googleキャッシュ)によると、このGuetzliはGoogleが新たな圧縮アルゴリズムとして2013年に発表した「Zopfli」ライクな、非常に遅いJPEGエンコーダーだとのこと。 画像の品質とファイルサイズについて、butteraugliを用いてlibjpegと結果を比較した

                                                                                    GoogleがJPEGエンコーダー「Guetzli」をオープンソースで公開