タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとprogrammingとCIに関するatsushifxのブックマーク (4)

  • Bazel とお別れして make を使いはじめた話

    こんにちは。MIXI 開発部 SREグループの riddle です。 自分の所属するプロダクトでは、ビルドツールとして Bazel を利用していたのですが、いろいろあって make に変えたので「Bazel をなぜ導入してなぜやめたのか?」 を紹介します。 <目次> Bazel とはどこに Bazel を使ってたのか?なぜ Bazel をやめたのか? 3-1. Bazel の運用コストが高かった 3-2. Bazel の速度問題 3-3. Bazel ではできないことがあるmake に移動したわけまとめBazel とは Bazel は Google が開発したビルドツールで、JavaC++GoAndroid、iOS、その他多くの言語とプラットフォームを使用してビルドとテストができます。 ローカルやリモートのキャッシュをうまく用い、アプリケーションのビルドやコンテナイメージの生成、テ

    Bazel とお別れして make を使いはじめた話
    atsushifx
    atsushifx 2022/10/24
    枯れたツールゆえの優位性
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマ

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
    atsushifx
    atsushifx 2014/05/25
    それこそTDDを叩き込むべき話。小さくして頻繁に確認することがBugを減らす一番の近道だし、それをうながすためのユニットテストなのに。ただソフトウェア工学をきちんと勉強していないとわかりにくいのかもしれな
  • 状態ではなく、振る舞いをモックせよ

    TL;DR GOOS『実践テスト駆動開発』で触れられている「ロールをモックせよ」について、違った角度で解説ドメインモデルを豊かにすることでコードがシンプルになる例Mock Behaviors, Not Statesユニットテストを記述する際、テスト対象のオブジェクトが利用しているオブジェクト(依存オブジェクト、隣接オブジェクト)はモックオブジェクトにして、テストしたい状況をテストコード側からコントロールします。しかし、闇雲にモックを使ってテストを記述すれば良いわけではありません。今回は、モックが有効に機能するテストとはどういったものなのかを解説します。 サンプルコード簡単なサンプルで説明します。Extract Till You Dropのモデルと近いものを使います。グループ、メンバー、およびグループリポジトリがあります。グループオブジェクトはインメモリでは所属メンバーの情報を保持しておら

    状態ではなく、振る舞いをモックせよ
    atsushifx
    atsushifx 2013/11/08
    TDD\BDDでの注意点。テストで大事なのは中を意識させないこと。そのクラス/モジュールの入出力・振る舞いをテストするということ。
  • 継続的デリバリのパターン

    継続的デリバリを導入しようとする前に、いくつかの準備が必要です。真っ先に必要なのは、ビルドサーバに合うソースコード管理システムです。ビルドサーバは継続的統合を実施するサーバにもなります。ひとつひとつのチェックインをビルドできるサーバでなければなりません。一般的に言って、この用途では“既成”のビルドサーバが欲しくなります。チェックインを監視して、自動でビルドをする仕組みを構築するのは、想像以上に大変です。利用しているソースコード管理システムにフックできるトリガがあるとしても、ビルド失敗時の通知機能のような他の機能を実装するには割に合いません。 リソースが限られているとしても、継続的デリバリにとってステージングサーバは重要です。ステージングサーバは運用環境に可能な限り似せておく必要があります。ここで第一の問題は“予算がいくらあるか”ということです。運用環境のデータベースサーバがとても高価な

  • 1