SlideShare a Scribd company logo
1 of 178
Download to read offline
Git 仕組み 入門




2013 02 23
岡山 Git 勉強会
自己紹介



                                 Emacs
                     Twitter     Haskell
  火村 智彦                  eielh
                                 Ruby
                     Github      Gentoo
                         eiel
 http://eiel.info/               弐寺
目的
目的
目的
目的



• Git の仕組みを
目的



• Git の仕組みを
 •   なんとなく理解する
目的



• Git の仕組みを
 •   なんとなく理解する

• 特に
目的



• Git の仕組みを
 •   なんとなく理解する

• 特に
 •   Git の Object について
中身を知ると
中身を知ると
中身を知ると




• 応用力がつく
中身を知ると




• 応用力がつく
• トラブルに強くなる
対象者
対象者
対象者




• 一応 Git を利用してる人
参考文献
参考文献
参考文献



• Pro git 9章
参考文献



• Pro git 9章
 •   http://git-scm.com/book/ja/Git%E3%81%AE%E5%86%85%E5%81%B4
参考文献



• Pro git 9章
 •   http://git-scm.com/book/ja/Git%E3%81%AE%E5%86%85%E5%81%B4



•    man 7 gittutorial-2
参考文献



• Pro git 9章
 •   http://git-scm.com/book/ja/Git%E3%81%AE%E5%86%85%E5%81%B4



•    man 7 gittutorial-2
 •   http://cdn8.atwikiimg.com/git_jp/pub/git-manual-jp/Documentation/gittutorial-2.html
アジェンダ
アジェンダ
アジェンダ



• そもそも Git ってなんだっけ
アジェンダ



• そもそも Git ってなんだっけ
• Git Object
アジェンダ



• そもそも Git ってなんだっけ
• Git Object
• 考えてみよう - 他の機能とか
そもそも Git ってなんだっけ
バージョン管理システム
バージョン管理システム
バージョン管理システム



•   履歴が辿れる
バージョン管理システム



•   履歴が辿れる

•   変更内容を確認できる
バージョン管理システム



•   履歴が辿れる

•   変更内容を確認できる

•   以前の状態に戻れる
履歴が辿れる




• いつ、どうして変更したんだっけ
変更内容を確認できる




• どんな変更をしたんだっけ
以前の状態に戻れる




• やっぱり前のほうが…
Git はどのように実現したか
Git はどのように実現したか
Git はどのように実現したか



• 履歴にすべてを保存した
Git はどのように実現したか



• 履歴にすべてを保存した
 •   ファイルの内容
Git はどのように実現したか



• 履歴にすべてを保存した
 •   ファイルの内容

 •   ディレクトリの構造
Git はどのように実現したか



• 履歴にすべてを保存した
 • ファイルの内容
 • ディレクトリの構造
  • ファイルの一覧
Git はどのように実現したか



• 履歴にすべてを保存した
 • ファイルの内容
 • ディレクトリの構造
  • ファイルの一覧
 • 履歴の情報
Git はどのように実現したか



• 履歴にすべてを保存した
 • ファイルの内容
 • ディレクトリの構造
  • ファイルの一覧
 • 履歴の情報
Git はどのように実現したか



• 履歴にすべてを保存した     復元できる
 • ファイルの内容
 • ディレクトリの構造
  • ファイルの一覧
 • 履歴の情報
履歴の情報
履歴の情報
履歴の情報



• 変更した人、時間
履歴の情報



• 変更した人、時間
• ひとつ前の履歴
履歴の情報



• 変更した人、時間
• ひとつ前の履歴
• 変更した理由
履歴の情報



• 変更した人、時間
• ひとつ前の履歴
• 変更した理由
履歴の情報



• 変更した人、時間   履歴を辿れる

• ひとつ前の履歴
• 変更した理由
Git はどのように実現したか
   履歴                    内容
変更した理由       ディレクトリ
変更した人、時間   README
ディレクトリ     lib
前の履歴



                ディレクトリ
   履歴          hoge.rb        内容
変更した理由
変更した人、時間
ディレクトリ
前の履歴
             ディレクトリ
            README
まとめ
まとめ
まとめ

• Git はバージョン管理システム
まとめ

• Git はバージョン管理システム
• バージョン管理システムを作るには
まとめ

• Git はバージョン管理システム
• バージョン管理システムを作るには
 •   ファイル
まとめ

• Git はバージョン管理システム
• バージョン管理システムを作るには
 •   ファイル

 •   ディレクトリ
まとめ

• Git はバージョン管理システム
• バージョン管理システムを作るには
 •   ファイル

 •   ディレクトリ

 •   履歴
Git Object
Git Object
Git Object
Git Object




• Git のデータベース
Git Object の種類
Git Object の種類
Git Object の種類

• blob
Git Object の種類

• blob
• tree
Git Object の種類

• blob
• tree
• commit
Git Object の種類

• blob
• tree
• commit
• tag
Git Object の種類

• blob
• tree
• commit
• tag
 •   今回は省略
blob
blob
blob




• ファイルの内容
blob




• ファイルの内容
• それ以上でもそれ以下でもない
tree
tree
tree




• ディレクトリ構造
tree




• ディレクトリ構造
• blob と treeの一覧
commit
commit
commit


• 履歴そのもの
commit


• 履歴そのもの
• ひとつ前の commit を知ってる
commit


• 履歴そのもの
• ひとつ前の commit を知ってる
• 誰がいつ作ったものか知ってる
commit


• 履歴そのもの
• ひとつ前の commit を知ってる
• 誰がいつ作ったものか知ってる
• ルートディレクトリを知ってる
Object のフォーマット
名前
名前
名前




• 中身を SHA-1 でハッシュ化したもの
中身
中身
中身

• ヘッダ
中身

• ヘッダ
 •   オブジェクトの種類
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ

• ボディ
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ

• ボディ
 •   内容
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ

• ボディ
 •   内容

• ヘッダとボディの区切り NUL
中身




• ヘッダとボディ が zlib で圧縮
オブジェクトの保存場所
オブジェクトの保存場所
オブジェクトの保存場所




• .git/objects
具体的に
サンプルリポジトリ




$ git clone git@github.com:eiel/git-object-sample.git
$ cd git-object-sample
コマンドとか資料は以下に用意してます。
https://github.com/eiel/okagit-object
ファイル構成



$ tree
.
├── README.md
├── doc
│   └── commands.org
└── object.org

1 directory, 3 files
オブジェクトの保存場所




• .git/objects
.git/objects



$ tree .git/objects
.git/objects/
├── info
└── pack
    ├── pack-68c839f0766ad945f74b6bc1785d7b952c07996b.idx
    └── pack-68c839f0766ad945f74b6bc1785d7b952c07996b.pack

2 directories, 2 files
pack はオブジェクトをまとめたもの
今回は無視します
.git/objects



$ tree .git/objects
.git/objects/
├── info
└── pack
  ├── pack-68c839f0766ad945f74b6bc1785d7b952c07996b.idx
  └── pack-68c839f0766ad945f74b6bc1785d7b952c07996b.pack


2 directories, 2 files
とりあえずコミットしてみる
とりあえずコミットしてみる



$ echo "READMEを上書き" > README.md
$ git commit -a -m 'READEMを上書きしました'
$ cat README.md
READMEを上書き
.git/objects


  $ tree .git/objects/
.git/objects/
├── 04
│   └── fb0db5f68f3e917ba90aacb09db78199bda6a7
├── a0
│   └── d74d48d61f95a874e30f8fb71bbd68506d0f6e
├── fe
│   └── ba9138249c3c6fcd9435fc38a6a29193abb76c
├── info
└── pack
    ├── pack-68c839f0766ad945f74b6bc1785d7b952c07996b.idx
    └── pack-68c839f0766ad945f74b6bc1785d7b952c07996b.pack


5 directories, 5 files
オブジェクトが3つできました
04fb0db5f68f3e917ba90aacb09db78199bda6a7
 - commit      人によって違う


a0d74d48d61f95a874e30f8fb71bbd68506d0f6e
 - blob        README


feba9138249c3c6fcd9435fc38a6a29193abb76c
 - tree
ファイルの中身を見てみよう
zlib ライブラリで圧縮されてるので…
ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)'
展開して中身をみる




$ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
          ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)'
blob 19READMEを上書き
ただのテキストデータ
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ

• ボディ
 •   内容

• ヘッダとボディの区切り NUL
ヘッダ       ボディ

blob 19READMEを上書き
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ

• ボディ
 •   内容

• ヘッダとボディの区切り NUL
種類 サイズ

blob 19READMEを上書き
中身

• ヘッダ
 •   オブジェクトの種類

 •   ファイルサイズ

• ボディ
 •   内容

• ヘッダとボディの区切り NUL
区切りは NUL




  $ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
            ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)' | 
           od -c
0000000   b    l   o   b       1   9 0    R   E   A   D   M  E   202
0000020 222      ? 212   233   ?   201 215 n
0000033
区切りは NUL




  $ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
            ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)' | 
           od -c
0000000   b    l   o   b       1   9 0    R   E   A   D   M  E   202
0000020 222      ? 212   233   ?   201 215 n
0000033
名前




• 中身を SHA-1 でハッシュ化したもの
名前は 中身を SHA でハッシュしたもの




$ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
    ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)' | 
    sha1sum
  a0d74d48d61f95a874e30f8fb71bbd68506d0f6e
名前は 中身を SHA でハッシュしたもの




$ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
    ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)' | 
    sha1sum
  a0d74d48d61f95a874e30f8fb71bbd68506d0f6e
名前は 中身を SHA でハッシュしたもの




$ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
    ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)' | 
    sha1sum
  a0d74d48d61f95a874e30f8fb71bbd68506d0f6e
名前は 中身を SHA でハッシュしたもの


                                               一致


$ cat .git/objects/a0/d74d48d61f95a874e30f8fb71bbd68506d0f6e | 
    ruby -rzlib -e 'puts Zlib.inflate(ARGF.read)' | 
    sha1sum
  a0d74d48d61f95a874e30f8fb71bbd68506d0f6e
他の中身を見る方法


$ git cat-file -t a0d74
blob

$ git cat-file -s a0d74
19

$ git cat-file -p a0d74
READMEを上書き

$ git show a0d74
READMEを上書き
他の中身を見る方法


$ git cat-file -t a0d74   種類
blob

$ git cat-file -s a0d74
19

$ git cat-file -p a0d74
READMEを上書き

$ git show a0d74
READMEを上書き
他の中身を見る方法


$ git cat-file -t a0d74   種類
blob

$ git cat-file -s a0d74   サイズ
19

$ git cat-file -p a0d74
READMEを上書き

$ git show a0d74
READMEを上書き
他の中身を見る方法


$ git cat-file -t a0d74   種類
blob

$ git cat-file -s a0d74   サイズ
19

$ git cat-file -p a0d74
READMEを上書き
                          中身

$ git show a0d74
READMEを上書き
他の中身を見る方法


$ git cat-file -t a0d74     種類
blob

$ git cat-file -s a0d74     サイズ
19

$ git cat-file -p a0d74
READMEを上書き
                            中身

$ git show a0d74
READMEを上書き                整形された情報
補足
パックされてるオブジェクトの一覧
オブジェクトを全部見てみる

$ git rev-list --all --objects
04fb0db5f68f3e917ba90aacb09db78199bda6a7
7dca985cea0d6e31591b46fe2610d5538dce466d
26d033a78bb394bb0e86f8fb27a024f1df165300
e4ffe1da5832106dd1a173db4854a1f18d54f0e8
feba9138249c3c6fcd9435fc38a6a29193abb76c
a0d74d48d61f95a874e30f8fb71bbd68506d0f6e   README.md
7ba05afba1830003b1c68c63f95f08440ee7a355   doc
2784fbf7b28eeebf2676ff242e6490247e5477d6   doc/
commands.org
e2c1d9639a78a7eeb2432931f3fc78ffabf6aed9   object.org
3b146a001783e7e5333f6da0560cf569c73da9b2
bbc83e8056103c2270c974e1abe2b79ac518cb6a   README.md
488d7f8b03c0874df7e9829cfa96a318fe4a4248
オブジェクトの詳細
commit
ふたつ前のcommit をみてみます
ふたつ前のcommit




$ git cat-file -p 7dca985cea0d6e31591b46fe2610d5538dce466d
tree 3b146a001783e7e5333f6da0560cf569c73da9b2
parent 26d033a78bb394bb0e86f8fb27a024f1df165300
author Tomohiko Himura <eiel.hal@gmail.com> 1361346494 +0900
committer Tomohiko Himura <eiel.hal@gmail.com> 1361347251 +0900

三番目のコミット
commit


• 履歴そのもの
• ひとつ前の commit を知ってる
• 誰がいつ作ったものか知ってる
• ルートディレクトリを知ってる
ふたつ前のcommit




$ git cat-file -p 7dca985cea0d6e31591b46fe2610d5538dce466d
tree 3b146a001783e7e5333f6da0560cf569c73da9b2
parent 26d033a78bb394bb0e86f8fb27a024f1df165300
author Tomohiko Himura <eiel.hal@gmail.com> 1361346494 +0900
committer Tomohiko Himura <eiel.hal@gmail.com> 1361347251 +0900

三番目のコミット
commit


• 履歴そのもの
• ひとつ前の commit を知ってる
• 誰がいつ作ったものか知ってる
• ルートディレクトリを知ってる
ふたつ前のcommit




$ git cat-file -p 7dca985cea0d6e31591b46fe2610d5538dce466d
tree 3b146a001783e7e5333f6da0560cf569c73da9b2
parent 26d033a78bb394bb0e86f8fb27a024f1df165300
author Tomohiko Himura <eiel.hal@gmail.com> 1361346494 +0900
committer Tomohiko Himura <eiel.hal@gmail.com> 1361347251 +0900

三番目のコミット
commit


• 履歴そのもの
• ひとつ前の commit を知ってる
• 誰がいつ作ったものか知ってる
• ルートディレクトリを知ってる
ふたつ前のcommit




$ git cat-file -p 7dca985cea0d6e31591b46fe2610d5538dce466d
tree 3b146a001783e7e5333f6da0560cf569c73da9b2
parent 26d033a78bb394bb0e86f8fb27a024f1df165300
author Tomohiko Himura <eiel.hal@gmail.com> 1361346494 +0900
committer Tomohiko Himura <eiel.hal@gmail.com> 1361347251 +0900

三番目のコミット
tree
tree




$ git cat-file -p feba913
100644 blob a0d74d48d61f95a874e30f8fb71bbd68506d0f6e   README.md
040000 tree 7ba05afba1830003b1c68c63f95f08440ee7a355   doc
100644 blob e2c1d9639a78a7eeb2432931f3fc78ffabf6aed9   object.org
mode 種類 sha ファイル名
tree




$ git cat-file -p feba913
100644 blob a0d74d48d61f95a874e30f8fb71bbd68506d0f6e    README.md
040000 tree 7ba05afba1830003b1c68c63f95f08440ee7a355    doc
100644 blob e2c1d9639a78a7eeb2432931f3fc78ffabf6aed9    object.org

mode                          sha
   種類                                                  ファイル名
ファイル構成



$ tree
.
├── README.md
├── doc
│   └── commands.org
└── object.org

1 directory, 3 files
tree




$ git cat-file -p feba913
100644 blob a0d74d48d61f95a874e30f8fb71bbd68506d0f6e   README.md
040000 tree 7ba05afba1830003b1c68c63f95f08440ee7a355   doc
100644 blob e2c1d9639a78a7eeb2432931f3fc78ffabf6aed9   object.org
ファイル構成



$ tree
.
├── README.md
├── doc
│   └── commands.org
└── object.org

1 directory, 3 files
tree




$ git cat-file -p feba913
100644 blob a0d74d48d61f95a874e30f8fb71bbd68506d0f6e   README.md
040000 tree 7ba05afba1830003b1c68c63f95f08440ee7a355   doc
100644 blob e2c1d9639a78a7eeb2432931f3fc78ffabf6aed9   object.org
mode については
  man 2 stat
st_mode で検索
blob
blob は もう見たからいいや
まとめ
まとめ
まとめ

• Git は バージョン管理システム
まとめ

• Git は バージョン管理システム
• バージョン管理システムを作るには
まとめ

• Git は バージョン管理システム
• バージョン管理システムを作るには
 •   ファイル   - blob
まとめ

• Git は バージョン管理システム
• バージョン管理システムを作るには
 •   ファイル    - blob

 •   ディレクトリ - tree
まとめ

• Git は バージョン管理システム
• バージョン管理システムを作るには
 •   ファイル    - blob

 •   ディレクトリ - tree

 •   履歴      - commit
考えてみよう
Git の 機能について
    実装方法を
  想像してみよう
答えはかかないけど
前の状態にもどす
差分をとる
ブランチ
git add しとけば復元できるかも
ファイルの移動の検知
git clone とか fetch
rebase したり
コミットログをかきかえると
 コミットの sha が変わる
ご清聴ありがとうございます

More Related Content

Similar to Git 仕組み 入門

実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る GitYouhei Nitta
 
git-followup @明石高専2E
git-followup @明石高専2Egit-followup @明石高専2E
git-followup @明石高専2ESanae Yamashita
 
Githubことはじめ
GithubことはじめGithubことはじめ
Githubことはじめtikitikipoo
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgitTadahiro Ishisaka
 
Gitpractice2
Gitpractice2Gitpractice2
Gitpractice2mmm110
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめNatsumi Kashiwa
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubToru Tamaki
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbJun Fukaya
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザktateish
 
医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門Yui Tomo
 
20130706 git
20130706 git20130706 git
20130706 gitKasu Unko
 

Similar to Git 仕組み 入門 (20)

実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
 
git-followup @明石高専2E
git-followup @明石高専2Egit-followup @明石高専2E
git-followup @明石高専2E
 
Get along with Git
Get along with GitGet along with Git
Get along with Git
 
Githubことはじめ
GithubことはじめGithubことはじめ
Githubことはじめ
 
Git
GitGit
Git
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
GitListの使い方
GitListの使い方GitListの使い方
GitListの使い方
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgit
 
Gitpractice2
Gitpractice2Gitpractice2
Gitpractice2
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめ
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHub
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rb
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザ
 
はじめてのGit
はじめてのGitはじめてのGit
はじめてのGit
 
医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門
 
20130706 git
20130706 git20130706 git
20130706 git
 

More from Tomohiko Himura

つながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsつながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsTomohiko Himura
 
コンピュータをもっと使おう
コンピュータをもっと使おうコンピュータをもっと使おう
コンピュータをもっと使おうTomohiko Himura
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島Tomohiko Himura
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪いTomohiko Himura
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。Tomohiko Himura
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Tomohiko Himura
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるTomohiko Himura
 
すごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したすごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したTomohiko Himura
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
すごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうすごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうTomohiko Himura
 
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とかTomohiko Himura
 
Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較Tomohiko Himura
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップTomohiko Himura
 
Hakyllで遊んでみた。
Hakyllで遊んでみた。Hakyllで遊んでみた。
Hakyllで遊んでみた。Tomohiko Himura
 
Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Tomohiko Himura
 

More from Tomohiko Himura (20)

つながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsつながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notifications
 
Hiroshimarbについて
HiroshimarbについてHiroshimarbについて
Hiroshimarbについて
 
コンピュータをもっと使おう
コンピュータをもっと使おうコンピュータをもっと使おう
コンピュータをもっと使おう
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決める
 
すごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したすごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試した
 
すごい広島
すごい広島すごい広島
すごい広島
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
すごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうすごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼう
 
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
 
Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ
 
Hakyllで遊んでみた。
Hakyllで遊んでみた。Hakyllで遊んでみた。
Hakyllで遊んでみた。
 
Liquid の紹介
Liquid の紹介Liquid の紹介
Liquid の紹介
 
Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 

Recently uploaded

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Git 仕組み 入門