SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Dive into .git

 2012-05-24 西尾泰和
about

• このスライドは社内勉強会で10分間で
 gitの中身を見てみるデモをするために
 アンチョコとして作られたものです。

• 1ページ16スライドで印刷すると1枚で
 収まるのでちょうどいいかと思います。
Gitよくわからん?

• 「Gitのいろんな概念が難しい」?
• じゃあ概念は置いといて、
 「物理的にはどうなってんの?」
 を確認してみよう!

• Gitがどんなものかイメージしやすくなれば幸い
実験用のリポジトリを作る
$ mkdir test   種も仕掛けもないただの
$ cd test      空のディレクトリを作る
$ ls -a
.    ..

$ git init
Initialized empty Git repository
in .../test/.git/ ←できた!

                  $ git init test でもOK
$ ls -a
.    ..   .git

                 リポジトリができた!
中身を見てみよう
$ cd .git
$ tree
.
|-- HEAD
|-- config
|-- description
|-- hooks
|-- info
|   `-- exclude
|-- objects
|   |-- info
|   `-- pack
`-- refs
    |-- heads
    `-- tags      hooksの中身は省略した
コミットしたら
         何が変わる?

$ cd ..
$ touch README
$ git add README
$ git commit -m “initial commit”
[master (root-commit) 4dd66d3]
initial commit
objectsが増えた
$ tree .git/objects
.git/objects
|-- 4d
|   `-- d66d3a32a66f3578317717ccfb18
|-- 54
|   `-- 3b9bebdc6bd5c4b22136034a95dd
|-- e6
|   `-- 9de29bb2d1d6434b8b29ae775ad8
|-- info
`-- pack
              長いファイル名の末尾は省略した
            他にも変わる部分があるが今回は割愛
中を見てみよう!
   表示スクリプトを作る
$ cat > show.py
#!/usr/bin/env python
import sys
import zlib

data = file(sys.argv[1], "rb").read()
data = zlib.decompress(data)
print repr(data)

   以下ではshow.py。chmod +xを忘れずに
Commitの中身
$ ./show.py .git/objects/4d/d6...
'commit 201x00
tree 543b...n
author NISHIO Hirokazu <...> 1337655529 +0900n
committer NISHIO Hirokazu <...> 1337655529 +0900n
n
initial commitn'


 ハッシュ値はコミット時のメッセージに表示されている
                               適当に改行を入れた
                                tree 543bに注目
Treeの中身
$ ./show.py 54/3b...
'tree 34x00
100644 READMEx00
xe6x9dxe2x9b...'


                適当に改行を入れた
                  e69bに注目
Blobの中身


$ ./show.py e6/9d...
'blob 0x00'
           これがREADMEの中身
           今は空なのでサイズが0
            x00の後に何もない
ファイル名

$ python -c “import hashlib;
hashlib.sha1('blob 0x00').hexdigest()”
'e69de29b...'

         実は中身のSHA1ハッシュ!
まとめ
• リポジトリは.git/の中に入っている
• .git/objects/に、sha1ハッシュを名前にし、
 値をzlibで圧縮して、いろいろ入っている

• 「いろいろ」の中にはcommitオブジェクト、
 treeオブジェクト、blobオブジェクト

• 今回はtagやrefsの話は割愛(次回?)
やってみよう
• READMEを編集してどう変わるか観察しよう
• 新しいcommitオブジェクトには
 「parent <ハッシュ値>」の行がある

• 新しいblobにはREADMEの内容が入っている
• 新しいファイルを追加してみよう。Treeはどう
 変わる?

• ファイルに追記したら?blobは差分?全体?
おまけ


• git show --format=rawがぜんぜんraw
 じゃなくて使いものにならない話
中を見てみよう
$ git show --format=raw 4dd6
commit 4dd66d3a32a66f3578317717ccfb1876d43034ea
tree 543b9bebdc6bd5c4b22136034a95dd097a57d3dd
author NISHIO Hirokazu <...> 1337138246 +0900
committer NISHIO Hirokazu <...> 1337138246 +0900

    initial commit

diff --git a/README b/README
new file mode 100644
index 0000000..e69de29


                          メールアドレスは省略した
Treeの中身

$ git show --format=raw 543b
tree 543b

README
Blobの中身


$ git show --format=raw e69d

        何も表示されない
おかしい
$ git show --format=raw 543b
tree 543b

README
          これの中身がe69d
         だという情報はどこ?


         というわけで表示スクリプトを作った
Q&A
• Q: スクリプト作らなくてもgunzipとかで解凍す
 れば良いのでは?

• A: zlibで圧縮されてはいるが、zipファイルとして
 validなフォーマットにはなっていないので解凍で
 きなかった。もしもっと手軽な方法があれば教え
 て下さい。

Weitere ähnliche Inhalte

Was ist angesagt?

MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略ippei_suzuki
 
New Generation Build System "Fly"
New Generation Build System "Fly"New Generation Build System "Fly"
New Generation Build System "Fly"deepblue will
 
Sphinxでドキュメントを書こう
Sphinxでドキュメントを書こうSphinxでドキュメントを書こう
Sphinxでドキュメントを書こうKazufumi Ohkawa
 
Juliaを使った機械学習
Juliaを使った機械学習Juliaを使った機械学習
Juliaを使った機械学習Aki Ariga
 
Offline Hoogleで何処でもはすはす
Offline Hoogleで何処でもはすはすOffline Hoogleで何処でもはすはす
Offline Hoogleで何処でもはすはすKiwamu Okabe
 
Github勉強会
Github勉強会Github勉強会
Github勉強会From Atom
 
Git天空闘技場_ハンズオン
Git天空闘技場_ハンズオンGit天空闘技場_ハンズオン
Git天空闘技場_ハンズオンsinsoku listy
 
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazakiAyachika Kitazaki
 
カウチなやつら CouchDB in the room
カウチなやつら CouchDB in the roomカウチなやつら CouchDB in the room
カウチなやつら CouchDB in the roomMakoto Ohnami
 
Go conference 2017 Lightning talk
Go conference 2017 Lightning talkGo conference 2017 Lightning talk
Go conference 2017 Lightning talkmokelab
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Shinsuke Sugaya
 
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようLastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようShinsuke Sugaya
 
nioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったnioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったchibochibo
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画Kazufumi Ohkawa
 

Was ist angesagt? (14)

MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略
 
New Generation Build System "Fly"
New Generation Build System "Fly"New Generation Build System "Fly"
New Generation Build System "Fly"
 
Sphinxでドキュメントを書こう
Sphinxでドキュメントを書こうSphinxでドキュメントを書こう
Sphinxでドキュメントを書こう
 
Juliaを使った機械学習
Juliaを使った機械学習Juliaを使った機械学習
Juliaを使った機械学習
 
Offline Hoogleで何処でもはすはす
Offline Hoogleで何処でもはすはすOffline Hoogleで何処でもはすはす
Offline Hoogleで何処でもはすはす
 
Github勉強会
Github勉強会Github勉強会
Github勉強会
 
Git天空闘技場_ハンズオン
Git天空闘技場_ハンズオンGit天空闘技場_ハンズオン
Git天空闘技場_ハンズオン
 
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki
 
カウチなやつら CouchDB in the room
カウチなやつら CouchDB in the roomカウチなやつら CouchDB in the room
カウチなやつら CouchDB in the room
 
Go conference 2017 Lightning talk
Go conference 2017 Lightning talkGo conference 2017 Lightning talk
Go conference 2017 Lightning talk
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
 
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようLastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
 
nioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったnioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になった
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画
 

Andere mochten auch

KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版
KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版
KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版nishio
 
読む技術
読む技術読む技術
読む技術nishio
 
カイ2乗分布について
カイ2乗分布についてカイ2乗分布について
カイ2乗分布についてnishio
 
エンジニアのための学ぶ技術
エンジニアのための学ぶ技術エンジニアのための学ぶ技術
エンジニアのための学ぶ技術nishio
 
般若心経
般若心経般若心経
般若心経nishio
 
テストとデバッグ
テストとデバッグテストとデバッグ
テストとデバッグnishio
 
モジュールとはなにか?
モジュールとはなにか?モジュールとはなにか?
モジュールとはなにか?nishio
 
般若心経
般若心経般若心経
般若心経nishio
 
Dive into .git
Dive into .gitDive into .git
Dive into .gitnishio
 
クリーンスペース体験記
クリーンスペース体験記クリーンスペース体験記
クリーンスペース体験記nishio
 
数学的帰納法は帰納ではない?
数学的帰納法は帰納ではない?数学的帰納法は帰納ではない?
数学的帰納法は帰納ではない?nishio
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法nishio
 
機械学習キャンバス0.1
機械学習キャンバス0.1機械学習キャンバス0.1
機械学習キャンバス0.1nishio
 
Wifiで位置推定
Wifiで位置推定Wifiで位置推定
Wifiで位置推定nishio
 
KJ法の実践
KJ法の実践KJ法の実践
KJ法の実践nishio
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?nishio
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memorynishio
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズムnishio
 

Andere mochten auch (18)

KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版
KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版
KJ法のW型問題解決モデルとU理論、それぞれの問題意識 加筆版
 
読む技術
読む技術読む技術
読む技術
 
カイ2乗分布について
カイ2乗分布についてカイ2乗分布について
カイ2乗分布について
 
エンジニアのための学ぶ技術
エンジニアのための学ぶ技術エンジニアのための学ぶ技術
エンジニアのための学ぶ技術
 
般若心経
般若心経般若心経
般若心経
 
テストとデバッグ
テストとデバッグテストとデバッグ
テストとデバッグ
 
モジュールとはなにか?
モジュールとはなにか?モジュールとはなにか?
モジュールとはなにか?
 
般若心経
般若心経般若心経
般若心経
 
Dive into .git
Dive into .gitDive into .git
Dive into .git
 
クリーンスペース体験記
クリーンスペース体験記クリーンスペース体験記
クリーンスペース体験記
 
数学的帰納法は帰納ではない?
数学的帰納法は帰納ではない?数学的帰納法は帰納ではない?
数学的帰納法は帰納ではない?
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
 
機械学習キャンバス0.1
機械学習キャンバス0.1機械学習キャンバス0.1
機械学習キャンバス0.1
 
Wifiで位置推定
Wifiで位置推定Wifiで位置推定
Wifiで位置推定
 
KJ法の実践
KJ法の実践KJ法の実践
KJ法の実践
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memory
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズム
 

Ähnlich wie Dive into .git 日本語版

今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版VirtualTech Japan Inc./Begi.net Inc.
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編Sanae Yamashita
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る GitYouhei Nitta
 
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版VirtualTech Japan Inc./Begi.net Inc.
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Kiwamu Okabe
 
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2tamtam180
 
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)tamtam180
 
Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbJun Fukaya
 
20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎Makoto Yamazaki
 

Ähnlich wie Dive into .git 日本語版 (20)

今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版
 
今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21
 
Yesod on Heroku
Yesod on HerokuYesod on Heroku
Yesod on Heroku
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
 
Git overview (v 0.96)
Git overview (v 0.96)Git overview (v 0.96)
Git overview (v 0.96)
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
Git 仕組み 入門
Git 仕組み 入門Git 仕組み 入門
Git 仕組み 入門
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
 
今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版今さら聞けない人のためのGit超入門 GitLab 13対応版
今さら聞けない人のためのGit超入門 GitLab 13対応版
 
P4p20120408
P4p20120408P4p20120408
P4p20120408
 
Git
GitGit
Git
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
 
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
 
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
 
Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rb
 
20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎20120516 第7回ウフィカ社内ハンズオン Git基礎
20120516 第7回ウフィカ社内ハンズオン Git基礎
 

Mehr von nishio

量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミング量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミングnishio
 
夏プロ報告
夏プロ報告夏プロ報告
夏プロ報告nishio
 
ITと経営
ITと経営ITと経営
ITと経営nishio
 
部分観測モンテカルロ計画法を用いたガイスターAI
部分観測モンテカルロ計画法を用いたガイスターAI部分観測モンテカルロ計画法を用いたガイスターAI
部分観測モンテカルロ計画法を用いたガイスターAInishio
 
交渉力について
交渉力について交渉力について
交渉力についてnishio
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道nishio
 
組織横断型研究室構想
組織横断型研究室構想組織横断型研究室構想
組織横断型研究室構想nishio
 
2017首都大学東京情報通信特別講義
2017首都大学東京情報通信特別講義2017首都大学東京情報通信特別講義
2017首都大学東京情報通信特別講義nishio
 
強化学習その5
強化学習その5強化学習その5
強化学習その5nishio
 
良いアイデアを出すための方法
良いアイデアを出すための方法良いアイデアを出すための方法
良いアイデアを出すための方法nishio
 
強化学習その4
強化学習その4強化学習その4
強化学習その4nishio
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
強化学習その2
強化学習その2強化学習その2
強化学習その2nishio
 
強化学習その1
強化学習その1強化学習その1
強化学習その1nishio
 
首都大学東京「情報通信特別講義」2016年西尾担当分
首都大学東京「情報通信特別講義」2016年西尾担当分首都大学東京「情報通信特別講義」2016年西尾担当分
首都大学東京「情報通信特別講義」2016年西尾担当分nishio
 
ESP8266EXで位置推定
ESP8266EXで位置推定ESP8266EXで位置推定
ESP8266EXで位置推定nishio
 
Raspberry Piで Wifiルータを作る
Raspberry PiでWifiルータを作るRaspberry PiでWifiルータを作る
Raspberry Piで Wifiルータを作るnishio
 
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)nishio
 
「ネットワークを作る」 ってどういうこと?
「ネットワークを作る」ってどういうこと?「ネットワークを作る」ってどういうこと?
「ネットワークを作る」 ってどういうこと?nishio
 
「ネットワークを作ることで イノベーションを加速」 ってどういうこと?
「ネットワークを作ることでイノベーションを加速」ってどういうこと?「ネットワークを作ることでイノベーションを加速」ってどういうこと?
「ネットワークを作ることで イノベーションを加速」 ってどういうこと?nishio
 

Mehr von nishio (20)

量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミング量子アニーリングマシンのプログラミング
量子アニーリングマシンのプログラミング
 
夏プロ報告
夏プロ報告夏プロ報告
夏プロ報告
 
ITと経営
ITと経営ITと経営
ITと経営
 
部分観測モンテカルロ計画法を用いたガイスターAI
部分観測モンテカルロ計画法を用いたガイスターAI部分観測モンテカルロ計画法を用いたガイスターAI
部分観測モンテカルロ計画法を用いたガイスターAI
 
交渉力について
交渉力について交渉力について
交渉力について
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
組織横断型研究室構想
組織横断型研究室構想組織横断型研究室構想
組織横断型研究室構想
 
2017首都大学東京情報通信特別講義
2017首都大学東京情報通信特別講義2017首都大学東京情報通信特別講義
2017首都大学東京情報通信特別講義
 
強化学習その5
強化学習その5強化学習その5
強化学習その5
 
良いアイデアを出すための方法
良いアイデアを出すための方法良いアイデアを出すための方法
良いアイデアを出すための方法
 
強化学習その4
強化学習その4強化学習その4
強化学習その4
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
首都大学東京「情報通信特別講義」2016年西尾担当分
首都大学東京「情報通信特別講義」2016年西尾担当分首都大学東京「情報通信特別講義」2016年西尾担当分
首都大学東京「情報通信特別講義」2016年西尾担当分
 
ESP8266EXで位置推定
ESP8266EXで位置推定ESP8266EXで位置推定
ESP8266EXで位置推定
 
Raspberry Piで Wifiルータを作る
Raspberry PiでWifiルータを作るRaspberry PiでWifiルータを作る
Raspberry Piで Wifiルータを作る
 
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
 
「ネットワークを作る」 ってどういうこと?
「ネットワークを作る」ってどういうこと?「ネットワークを作る」ってどういうこと?
「ネットワークを作る」 ってどういうこと?
 
「ネットワークを作ることで イノベーションを加速」 ってどういうこと?
「ネットワークを作ることでイノベーションを加速」ってどういうこと?「ネットワークを作ることでイノベーションを加速」ってどういうこと?
「ネットワークを作ることで イノベーションを加速」 ってどういうこと?
 

Dive into .git 日本語版