たった今、2つめの GitHub アカウントを作成したので公開します。こちらはサブアカウントとして使用していきます。

[訂正: 2016/04/22(金)]

アカウントではなく組織として作り変えました。アカウントは削除したので、この記事のサブアカウントは現在は組織です。なお、新しく作成した組織は、旧2つめのアカウントと同じ URL なのでリンクの変更はありません。組織に変更した理由については、2つめの GitHub アカウントを組織に変更しました という記事にまとめました。今後ともよろしくお願いします。

GitHub をはじめたきっかけ

知っている人も多いと思いますが、GitHub は Git で管理されたソースコードを Web 上で公開するためのサービスです。ソースコードをまとめておくリポジトリは一般公開と限定公開を選択でき、一般公開なら誰でも無料で利用できます。

個人だけでなく、Apple や Google などの企業もオープンソースとしてソースコードを公開していますし、世の中のすごいエンジニアはみんな使っているイメージです。

自分の周りには Web アプリや Web サイトを作ったり、iPhone アプリを作っている人がいて、そういう人たちはみんな GitHub を使っています。

今年の春休みに Web 系のバイトをしていたのですが、そこで一緒にバイトをしていた他大学の学生がすごく技術力の高い人でした。その人と飲み会で話す機会があったのですが、「技術力をあげようと思ったらとにかく GitHub に公開していろんな人にコードを見てもらえ!」ってアドバイスをもらいました。

今まで GitHub の存在は知っていて、アカウントも持っていたのですが、一人で作っている分には Dropbox でファイルを共有できるからいいかな…と思っていました。でも、数人で開発するとなったらバージョン管理システムの知識は必要だし、それは企業でも求められると聞きました。さらに、自分のコードを公開すれば自分が何をしてきたのかをアピールできると教えてもらったので、この機会に GitHub を本格的にはじめようと思いました。

サブアカウントを作った理由

どんなにしょぼい作品でも、コードを書いたらとにかく GitHub に公開しようと思いました。勉強会で作ったコードも、放っておくと消してしまったりどこかに行ってしまうので、GitHub に公開しておいて、昔こういうものを作ったなあと振り返るためにも積極的に GitHub を活用しようと思いました。

ところが、なかなか踏み出せずにいました。その理由は、自分オリジナルのリポジトリとごちゃ混ぜになるのが嫌だったからです。勉強会で作ったものはあくまでスライド通りに作ったもので、自分で考えて作ったものではありません。

自分で考えて作ったものと勉強会で作ったもの、両方とも自分がプログラミングを通して学んだ証として残しておきたい、でもその2つがごちゃごちゃになるのは嫌だ…なので、勉強会で作ったものはサブアカウントに公開することにしました。

2つのアカウントの使い分け

なので、ここで2つのアカウントの使い分けを明確にしておこうと思います。明確に決まっていないと結局ごちゃごちゃになってしまうので。

メインアカウント

  1. 自分のサイトに公開するものや、ストアにリリースするもの 
  2. 自分の作品としてアピールしたいもの

とにかくメインで、しっかりと開発したいものはメインアカウントで管理したいと思います。すでにメインアカウントには Chrome Web Store にリリースした Chrome 拡張機能や今後リリースしようと考えている拡張機能のコードを公開しています。

サブアカウント

  1. 勉強会で作ったもの
  2. 授業の演習課題
  3. 勉強用に適当に作ったけど一応残しておきたいもの

メインではないけど、自分が作ったものとして残しておきたいコードを公開します。先週参加した JS / jQuery イベントセミナー で作ったコードをさきほど公開しました。

それから、大学では Java の演習の授業を履修しています。その演習のレジュメに、Git でのソースコードの管理について説明があったので、こういうものも積極的に公開していこうと思います。

積極的に公開しよう

繰り返しになりますが、自分への戒めとして、もう一度言います。もっと積極的にソースコードを公開していこうと思います。

一人で何かを作っているとどうしてもなまけてしまったりめんどうな部分を、一時しのぎのコーディングでごまかしたりしてしまいがちですが、ソースコードを公開するとなると適当なコードを作ることはできません。そうやって自分を追い込むことによって、作ろうと思っていたけどやる気が出なくてそのままになっていたものに開発意欲が湧いてきたり、もっと色んなものを作ってたくさんの人にアピールしよう! という気分になるのではないかと思います。

しかし、適当なコーディングはできないからこそ、普段適当に決めてしまっている変数名や関数名、コードの書き方などにも気を配りすぎて、自由なコーディングに歯止めをかけてしまうこともあります。

なのでここらへんは自分にほどよい加減を見つけて、しっかりとしたコーディングだけどあまり細かいところまで気を配って意欲が落ちてしまわないように心がけたいと思います。

宣伝

先ほど Chrome Web Store にリリースした Chrome 拡張機能のソースコードを公開したと言ったので、ついでにその拡張機能の宣伝をさせてください。

今年の2月上旬に Chrome Web Store に Google Chrome の拡張機能をリリースしました。ニコニコマンダー という拡張機能です。

自分はニコ動をよく見るのですが、ニコ動には YouTube のようなショートカットキーがありません。YouTube では、たとえば J を押すと10秒巻き戻り、K を押すと再生/停止し、L を押すと10秒早送りします。

自分はショートカットキーを多用するので、ニコ動でも同じようなショートカットキーがあればなあ…と思って作ったのがニコニコマンダーです。

詳しい説明はダウンロードページに載っています。インストール後、設定ページをのぞくと、具体的にどんなショートカットキーがあるのかがすべてわかると思います。

ニコニコマンダーは (もちろん) 無料でダウンロードできます。iPhone アプリと違って広告などもないので、どんなにダウンロードされてもぼくにお金は入ってきませんが、たくさんダウンロードしてもらえるとぼくも嬉しいので、気になった人はぜひチェックしてみてください!

ニコニコマンダー