【Git入門者向け】イメージで理解するGitコマンド事始め

2015.1.14

ご無沙汰です。連載企画を書き進めると豪語しておきながら かなり経過してしまいました。連載企画の方は時間を見つけつつ少しずつ書き進めていければと思います、申し訳ございません。
さて、最近周囲の方にGitの解説をする機会が増えてきたため、今回はGitの基本コマンドに関連する説明をします。

対象読者

・何らかの理由でGitを使う事になったが、コマンドが多くてよくわからない方。
・コマンドごとの意味は何となく理解しているけど、イマイチピンと来ない方。
(※「そもそも何故Gitを使う必要があるのか」「バージョン管理とは何か」といった点については ノンプログラマ向けの連載企画として後日記載させていただければ幸いです)

解説するコマンド

git init, git add, git commit, git status, git log, git branch, git checkout, git merge, git clone, git pull, git push, git fetch

他にも remote, cherry-pick, rebase, reset 等 色々ありますが 本記事ではまず 最もよく使うであろう上記コマンドに絞って解説します。
(続きを読む…)

【ノンプログラマ向け】プログラマの仕事内容を理解する ~「テスト」という工程が必要な理由

2014.11.16

前書き

「一緒に働いている以上、プログラマのことを理解して仕事をしたい」そう考えている企画・ディレクションの方は経験則的に少なくない。
ノンプログラマから見て、プログラマの仕事はイメージが湧きづらく、何故その工程にそこまでのコストをかける必要があるのかわからない事が多い。
プログラマは作業の必要性を説明してくれるかもしれないけれど、専門用語も多いしイマイチピンとこなかったりする。

ここで重要なのはまさに「イメージ」だと思う。すなわちイメージを提供するための良質なメタファーだと思う。メタファーが良質であれば より直感的に理解できる
実際メタファーの力はバカにならない。「Chef」も「Jenkins」も それぞれ 統一的な世界観が学習者の直感的な理解を後押ししてくれる。

というわけで、今回から数回に分けて なるべく「技術的な話」をせずに イメージを想起しやすいストーリーを導入することで プログラマの具体的な仕事の内容についての説明を試みる。

対象読者

・企画、ディレクター等 プログラマと直接コミュニケーションを取る機会の多い人達
・プログラミング初学者

現時点での執筆予定

< 具体的な作業工程 >
・「テスト」について (今回)
・「アジャイル開発」について
・「TDD(テスト駆動開発)」について
・「バージョン管理(Git / SVN)」について
・「CI(継続的インテグレーション)」について
< スタンス・文化 >
・「プログラマのスタンス/経営者のスタンス」の重要な違い、ハッカー文化について
・「プログラマがよく使用する用語」について
・「自社で採用するべき言語」について(人事向け)
・「炎上」について

※ ニーズにより目次は前後・変更する可能性があります。
また、若干 宗教論争になりそうな所は テーマ・対象を厳密に熟考した上で できるだけ主観が入らないよう注意します。
※ 最近は企画の方もGitをいじられるそうなので、そのうちGit詳解編もつくる予定です。
(11/16 21:50 追記) ※ ↑ブコメにて「いわゆる”ハッカー文化”を語るのはWeb系に多く、他分野ではそうではない」という重要なコメントを頂きました。確かにWeb系を中心に考えすぎており他分野に対して盲目的でした。申し訳ございません。文化的な部分を語る際は 認識の誤りが無いよう、対象を限定するように注意いたします。
(2015.04/09 追記) ※ 私都合により少々執筆の目処が立たないため シリーズとのたまったものの一時休止させていただいております、申し訳ございません。
(続きを読む…)