巨大なリポジトリ を Git で上手く扱う方法

git は、コードベースの発展過程を記録し、開発者間の協同作業を効率化する強力なツールです。でも、記録対象のリポジトリがとてつもなく巨大なものになったときは何が起こるのでしょうか? この記事では、いくつかの異なる意味での巨大化に正しく対処するためのアイデアと手法を少し紹介してみたいと思います。 二種類の 巨大なリポジトリ よく考えてみると

続きを読む »

Git Submodule の代替: Git Subtree

インターネットには、Git submodule を使っては いけない という記事が飛び交っています。私はこれらの記事が言うほどひどいものとは思っていませんが、そういった主張が大方正しいことは認めます。以前の投稿でも説明しましたが、submodule は利用価値のあるユースケースは少なく、逆にいくつもの欠点があります。 では、これに代わるものはあるのでしょうか? 答えは「ある」です。Git

続きを読む »

キック・アスなコードレビューを全てのチームに

ソフトウェア開発では、複数のチームで共同作業をする場面がよくあります。チーム構成人数が 1 人、2 人、それ以上へと増えるにつれ、問題が生じて創造的なワークフロー体系に支障が出始めます。そして多様な人々からなるチームにおいて、カルチャーを維持することが難しくなります。コードは日常的に組織全体の多くの人々の間で共有されるため、コードを扱うエンジニアグループは特にその問題の影響を受けやすい傾向があります。コードレビューを行うことは、コード関連のナレッジとベストプラクティスをチーム全体に普及させるのに役立ちます。この記事では、コードレビューが重要な理由と、コードレビューの実践を最適化する方法について説明します。 コードレビューとは? ソフトウェア開発は、個々人の作品をコラボレーションという

続きを読む »

チームが Git を使っていなくても Git を使う: git-svn をうまく使うコツ

私はアトラシアンに入社する前、バージョン管理システムとして Subversion (SVN) を使用している多様なプロジェクトに携わってきました。私はすでに Git へ移行して数年経っていたので、可能な限り Git を利用したいと思いました。 そして幸運にも、git-svn を使うことができました。Git-svn は、パワフルな Git ツールセットの快適な使用感を手放すことなく、Subversion リポジトリとやり取りができるすばらしい完全なソリューションです。そして、それには知っておくと便利な点がいくつかあります。この投稿では、すでに

続きを読む »

「Atlassian Connect 1.0」をリリース!

JIRA、Confluence アドオンの未来形がここに Atlassian Connect がどなたでもご利用頂けるようになったことをここにお知らせします。Atlassian Connect により、JIRA オンデマンドおよび Confluence オンデマンドのアドオンをクラウド上に構築することが可能です。お好みの開発言語を使え、簡単に使い始められます。すでに JIRA と Confluence オンデマンドで今すぐ使える 20 種類以上のアドオンがアトラシアンとアトラシアンのパートナーから提供されています。 Atlassian

続きを読む »

Git 1.9 最新情報

皆さんが、DayZ の徹夜プレイで略奪しまくるのに忙しいのは承知していますが、少しお時間をください。今日ご紹介する内容はチェックするだけの価値があるものです。git ポイントリリースの最新版(1.9)がリリースされました! リリースノートの中で私の目を引いた点を紹介します。興味のある方は、早速リリースノートに目を通し、オタク心をときめかせる華麗さを堪能することができますが、私にも手伝わせてください! 最新版の説明に入る前に、これまでのリリース1.8.2、1.8.3、1.8.4、1.8.5

続きを読む »

Developers Summit 2014 にご来場頂きありがとうございました!

Developers Summit 2014 (通称: デブサミ) が去る 2 月 13 日 - 14 日に開催され、2 日目は大雪にも関わらずたくさんの方にご来場いただきました。ありがとうございました! アトラシアンは、ゴールドスポンサーとして参加し、ブース出展のほかテクニカルエバンジェリスト長沢によるセッションでさまざまな方々と交流させていただきました。 前回のブログでも書いた通り、アトラシアンは

続きを読む »

Git ワークフローでシンプルに

既に多くのチームは git への移行を済ませており、また更に多くのチームが現在その移行段階にあります。一人のデベロッパーを訓練して、採用の支援として チャンピオン を任命することは重要です。それに加え、物事をあまり複雑にしない、シンプルで扱いやすい、コードコラボレーションのプラクティスを選ぶ事が肝要です。git であれば、非常に複雑なワークフローであっても魔法のようにシンプルにできます。私は実際にそれを目の当たりにしたので、間違いありません。 ワークフローに関するマニュアルは

続きを読む »

Git 1.8.5 最新情報

かなり重要なアップデートをもたらす次の git メジャーリリースを待つ間、最新リリースのポイントを紐解いていきましょう。1.8.5 の到来です! 以下は、私が リリースノート を調査した結果、平均的な git ユーザーである私の立場から見て興味深いと感じた内容です。 それから、まだ目を通していなければ 1.8.2、1.8.3 と 1.8.4の各リリースに関する私の過去メモも参照して下さい。 インストールに関するお決まりの助言 パッケージマネージャーがディストリビューションを遅らせる場合がある

続きを読む »

Docker で Java アプリをデプロイする。すごい!

Vagrant を用いた Java プロビジョニングに関して私が少し前に書いたブログを思い出す方もいらっしゃるかも知れません。今日ご案内するものは、そのライバルであり、同時にそれをしっかりと補完する役割も持っています。 今回は、Docker についてお話し、またそれがいかに素晴しいものであるかの説明もしたいと思います。Docker をご存じない方のために、開発者自身によるイントロダクションを次に紹介します:

続きを読む »