5/9 LTの発表しました!
5/9 LTの発表しました!
目標・やりたい事は何か?何に興味あるか?
LTの発表の準備
- 誤字脱字の修正
- GitHubのスペースの修正
わかばちゃんシリーズのgitの解説を読む
https://note.com/llminatoll/n/n0f4f7cdf6327#RQYeA
LTの発表のスライドをシェア-speakerdeck
https://speakerdeck.com/yoshihiroueki/gittogithubfalseli-shi-toren-jian-dorama
LTについてのブログを書く
日常メモ・ちょっとした事・何を感じたか?
LTの一言メモ
勉強メモ
https://speakerdeck.com/yoshihiroueki/gittogithubfalseli-shi-toren-jian-dorama
基礎知識
OSオペレーションシステムとは?
- OSは通常、ユーザーやアプリケーションプログラムとハードウェアの中間に位置
- ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理などなど
- オペレーションシステムの略で、コンピュータを使う際の土台
オープンソース
- みんなで、もっともっとより良いものを作っていこうという思想
- 再配布できる
- 無料
- 中身をいじれる
Linux
- オープンソース
- 組み込みシステムとして家電、車、ゲーム、ロボット動かす事ができる。
- サーバーとして機能する。webサービス、アプリ開発
- スーパーコンピューターのOSもLinux
- windowsは使う側であり親切、Linuxは作る側であり、真面目
git
- プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。
- Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発
- BitKeeperというバージョン管理システムを用いていたが、このソフトウェアは商用ソフトウェアであった
- この状況を快く思わない人々がBitKeeperのクローンを実装したことから、この環境が使えなくなった。
- その代替として2005年にGitが開発された。
- Gitの設計はBitKeeperとMonotoneが元になっている。
- Git以前によく使われたCVSやSubversionといったバージョン管理システムでは、一つのプロジェクトの複数の参加者に対し、中央的な“リポジトリ”(repository, 保存庫)が一つだけあった。
- 一人のデベロッパがどこかを書き換えると、その変更が直接、中央的リポジトリにも及ぶ。
- Gitは分散バージョン管理システムなので、一人一人がリポジトリ全体のコピーを保有し、そのコピーに対して変更を行う。そしてその変更がOKとなったら、中央的サーバにその変更を“チェックイン”する。コードを書き換えるたびにサーバに接続しなくてもよいから、これまでよりもきめ細かい変更とその共有が、やりやすくなる。
名前の由来
- linux
- リーナス・トーバルズは、自分の作品を「freak」変わり者「free」自由「Unix」を合成して「Freax(フリークス)」と呼ぼうと思ってた。
- トーバルズの協力者であり、当時そのサーバの責任者であったレムケは、「Freax」という名前を良く思わず
- サーバ上のプロジェクトに勝手に「Linux」という名前をつけてしまった。
- 後付けで、「Linux Is Not UNIX」の略とも「Linus UNIX」の略
- git
- 「 僕は自己中心的な奴だから、自分のプロジェクトには自分にちなんだ名前を付けるようにしているんだ。最初はLinuxで、今度はGitだ。 」
- 英語のスラングとして、Gitには「バカ」「間抜け」といった類の意味がある
- “Git”という名前に対して他にもいくつかの解釈
- Global Information Tracker
開発初期の歴史
- BitKeeperの無料提供やめるのがきっかけ
- 無料で利用していた時も技術的に不満はあった
- Gitの開発は2005年4月3日に開始
- BitKeeperのクローンを作りたくないという思いがあって設計されている。リーナスは従来と同じようなアプローチを意図的にさけているから、技術的に長けたユーザーが使えるようにしている。
- 6月6日には、GitによるLinuxカーネル2.6.12のリリースが行われた
- 2005年6月26日にはプロジェクトへの主要な貢献者であった濱野純さんにメンテナンスが引き継がれた
gitの設計
- リーナスが大規模プロジェクトのメンテナンスを行った経験
- ファイルシステムのパフォーマンスに関する深い知識
- 実用性のあるシステムを短期間に作成しなければならないという差し迫った必要性
BitKeeper
- コンピュータのソースコードのバージョン管理システム(構成管理、SCMなど)の一種
- 分散開発において、各開発者の手元のローカルなリポジトリと中心のリポジトリの整合を取りつつ開発が進められる
- BitKeeperはその高い性能から、2002年から2005年にかけてLinuxカーネルのソースコード管理にも用いられた。
- ライセンス条件を巡ってOSSコミュニティとの無償提供の期限は2005年7月1日までとされ、ユーザーはそれまでに商用版への移行かバージョン管理システムを別のものにする必要が生じた。
リーナス・トーバルズ
濱野純
- 最初のリリースから2ヶ月後の2005年7月26日からGitのメンテナ
- 2005年7月26日
Git Hub
-
Git HUB
- GitHubは、Gitを用いたソフトウェア開発プロジェクトのための共有ウェブサービスの名称です。
- Gitはシステム、GitHubはGitを用いたサービス
- GitHubの最大の特徴は、ソースコードを通じて他の開発者とコミュニケーションがとれることです。
- GitHubは、2008年4月に「コラボレーションできる環境を作りたい」という夢を持った3人の想いが集まり始まったプロジェクトである
PJハイエット
- ピージェー氏がプログラミングを始めたのは14歳のときである。ピージェー氏の父がパソコンを買ったことがきっかけ
- Rubyを使ったプロジェクトやバグ、プラグインなどの情報を専門に発信するブログを立ち上げ、それが話題となりサンフランシスコのRubyコミュニティの中で名前が通る存在だった
- ピージェー氏とクリス氏は大企業で働く事に飽きた
- 「自分たちが自分たちのボスでいたい」という想いで始めたコンサルタント会社を作るが、クライアントが自分の上司になったこと感じがして嫌になった
- 彼らが望んでいた“自由”は、コンサルタント会社という形では実現不可能だと気づいた
- 2人はコンサルタントをやめ自社開発のFamSpamというサービス。
- 1つのメールアドレスに写真を送ると、メーリングリストに入っている家族に写真が届くといったもの。楽しいけどお金にならない。
- ピージェー氏はバーでお酒を飲みながらRubyについて語る会「Ruby Meetup」で3人目の共同創業者トムに出会った。
- トム氏とバーで話しているときに、「GitHub」のアイデアが生まれた
- もともとGitHubは、サイドプロジェクトとして始められたもの
- たくさんあるプロジェクトの1つとして平日の夕方以降と週末だけで進めていた。
- GitHubがなくなっては困る」と、あるユーザーから言われ、またRuby MeetupでたまたまEngine Yardの創業者と出会いパートナーシップを組んで、本格始動!
- gitのmeetupで出会ったスコットさん!創業者3人よりもgit詳しい!スカウト!
- スコットさんいわく、Git Hubはyoutubeのプログラマ版
- YouTubeを見たくてサイトを訪れるのではない。面白い動画がそこにあるから訪れる。GitHubでは面白いプロジェクトがたくさんホスティングされると拡散され、GitHubに来てもらえる。
- GitHubをローンチした当時、創業者の3人は他の仕事をすべてやめて半年間給料がないから辛かった。。
- 人を採用する際、自分たちが信頼している人からの紹介を一番大事にしている。
採用方法
- 面接に関わった人全員が投票するシステム
- 投票は「-1」「+1」「+100」の3つ
- 採用したくない場合「-1」
- 採用していいという場合は「+1」
- メンターとして責任を持って採用したいという場合「+100」