タグ

ブックマーク / int128.hatenablog.com (6)

  • git statusを利用したリポジトリ情報のプロンプト表示 - GeekFactory

    zshでGitのステータス情報をプロンプトに表示するにはvcs_infoを使う方法が一般的ですが、vcs_infoで得られる情報には限りがあります。そこで、git statusを使ってプロンプトを表示する方法を調べてみました。なお、OS XのGit 2.3.2で確認しています。 git statusで得られる情報 git status --porcelain --branch を実行するとブランチ、ワーキングツリー、インデックスの状態が得られます。--porcelainを付けることで機械処理に適したフォーマットが得られます。このコマンドの実行結果は下記の2つの部分で構成されます。 ローカルブランチの状態(1行目) ローカルブランチの状態 表示 リモートブランチと同期している ## master...origin/master リモートブランチより古い ## master...origin/

    git statusを利用したリポジトリ情報のプロンプト表示 - GeekFactory
    hamaco
    hamaco 2015/07/21
  • Evernote風のGistクライアント Gistnote を作ってる - GeekFactory

    ちょっとしたメモを残すにはGistが便利です.一方で,Evernoteのような一覧表示があるともっと便利そうです. そこで,Evernote風のGistクライアント Gistnote を作っています. https://gistnote.github.io 最低限の機能を実装したのでいったん公開します.Gistのファイル名を変更するとか,まだまだ実装できていない機能があるので,今後も開発を進めていきます. アーキテクチャとか アプリはGitHub Pagesにデプロイしています.サーバサイドは使わず,クライアントサイドのJavaScriptからGitHub APIに直接アクセスしています.ただし,OAuth AuthorizationだけはClient Secretを扱う必要があるのでサーバサイド(App Engine/Groovy)を経由させています. 基的な構造は以下のような感じです.

    Evernote風のGistクライアント Gistnote を作ってる - GeekFactory
    hamaco
    hamaco 2015/01/23
  • クックパッドにおけるScalable Deploymentsのスライドが興味深い - GeekFactory

    クックパッドにおけるアプリのデプロイの資料が非常に興味深いので紹介します.これは @sora_hさんがRubyKaigi 2014で発表 された資料で,100台以上のサーバに短時間でアプリをデプロイする仕組みをどうやって作り上げたのかが説明されています. 以前,スライドの内容を箇条書きにまとめていたのでシェアします.最近では,Jenkins User Coferenceの発表(How We Use Jenkins? // Speaker Deck)でほんの少し引用されていたりします. 内容のまとめ スライドは90枚あります.ざっくりまとめた内容を以下に示します. 概況 140サーバに1日10回のデプロイを実施している(ピーク時) コードベースが大きい モデルだけで約 69K LOC プロダクトコードとテストコードを合わせると約 319K LOC デプロイのルール CIのビルドが成功したリビ

    クックパッドにおけるScalable Deploymentsのスライドが興味深い - GeekFactory
    hamaco
    hamaco 2015/01/19
  • 家計を支える技術 - GeekFactory

    家庭を支える技術 Advent Calendar 2014 - Adventarの12日目です。 記事では、我が家の「家計」を支える技術と運用を紹介します。これから同棲を計画しているカップルや家計の見直しを検討している方のお役に立てば幸いです。 独立採算制のメリット 我が家では、夫婦が各自の裁量で収支と資産(貯蓄)を管理するルールにしています。これには以下の3つの目的があります。 まず、利益を最大化するモチベーションが生まれることです。収入から支出を引いた利益がそのまま各自の資産になるというルールにすることで、無駄な支出を抑えて利益を確保するモチベーションが生まれます。もし、資産を合算で管理してしまうと、相手が使った分だけ自分も使わないと損することになります。ただし、これはお互いの信頼関係があって初めて成立するものです。 もう一つは、透明性を確保できることです。収支を各自で管理することで

    家計を支える技術 - GeekFactory
    hamaco
    hamaco 2014/12/28
  • Jenkinsでジョブの結果を集計する - GeekFactory

    Jenkinsはジョブを実行するだけでなく、結果を集計する機能にも優れています。Jenkinsには標準でJUnitの結果を集計する機能が付いており、これを応用すると、複数サーバで実行したジョブの結果を分かりやすく表示するといったことが簡単にできます。 複数サーバで同じジョブを実行するには Multi-configuration Project を使います。ジョブの設定で、実行したいサーバにチェックを入れると、同じスクリプトが指定したサーバで実行されます。そして、後処理に「JUnitテスト結果の集計」を追加すれば結果を集計することも可能です。 例として、各サーバの設定ファイルをdiffでチェックするジョブを考えてみましょう*1。 リポジトリからお手を取得した後、お手とサーバの設定ファイルを比較するスクリプトを実行します。こんな感じ。 find . -type f | cut -d/ -f

    Jenkinsでジョブの結果を集計する - GeekFactory
    hamaco
    hamaco 2013/09/10
  • サーバとL2スイッチの接続を冗長化する設計の基本 - GeekFactory

    インフラを設計する上で冗長化による信頼性向上は避けて通れない道です。サーバとL2スイッチの接続を冗長化する設計については意外と情報が少ないのでまとめてみました。変なこと書いてたらご指摘ください。 インフラ設計の基は単一障害点(SPOF)を取り除くことです。構成要素のうち1つが故障してもサービスを維持できるように設計します。構成要素は以下のものが挙げられます: CPU マザーボード メモリ ローカルディスク 電源 FC-HBA NIC LANケーブル L2スイッチ ・・・ ただし、これらすべての故障に備えようとすると費用対効果が割に合わないので、ローカルディスクから下を冗長化する構成が一般的と思います。絶対に止まってはいけないサービスは別ですけどね。 冗長化の種類 サーバを冗長化するにはクラスタを組みます。クラスタはActive-ActiveとActive-Standby(HA)の二種類に

    サーバとL2スイッチの接続を冗長化する設計の基本 - GeekFactory
  • 1