SlideShare uma empresa Scribd logo
1 de 75
Baixar para ler offline
AOSPを
ミラーしてみた
横浜Androidプラットフォーム部
       2011.10.23
   kinneko@gmail.com
 repo sync、
時間がかかって
イヤですよね…
 待つ身はつらいわ...
少し前、
 kernel.org
突然のダウン!
 そのあおりで、
  ここしばらく、
   AOSPが
 壊滅してました。
 仕事にも、遊びにも、
   重大な問題…
 その間、皆さん、
 どう生活されて
  いましたか?
codeaurora.org
 の汚れた水を飲んだ?
android.git.linaro.org
   の軒下を間借り?
OESFのGitHub
OHAミラー乞食?
いずれにしても、
つらい日々でありました。
 祝!
AOSP復活
git.android.kernel.org
          ⇩
android.googlesource.com
so for the moment
gitweb source browsing
           and
  Gerrit Code Review
 are still unavailable.
The kernel source trees aren't
  available at the moment.
Getting them back is definitely
       on the to-do list.
 復旧には、
  まだ時間が
 必要なようです。
Since Ice Cream Sandwich
does everything that Honeycomb
     does (and much more),
    there's no plan to release
      Honeycomb in AOSP.
黒歴史 ...
あっと、
話をもとに
もどして…
だいぶ速くは
  なったけど、
   それでも、
   syncは
 つらい時間です…
Mirroring AOSP ?
https://groups.google.com/forum/#!topic/
     android-building/2gLwqjlQq3A
mjd!
AOSPを自分のマシンに
 簡単にミラーできる?
syncの苦悩からの開放…
 やってみましょう。
$ mkdir /usr/local/android-mirror


$ cd /usr/local/android-mirror


$ repo init --mirror -u https://
  android.googlesource.com/mirror/manifest


$ repo sync
$ mkdir /usr/local/android-2.3.7


$ cd /usr/local/android-2.3.7


$ repo init -u /usr/local/mirror/platform/
  manifest.git -b android-2.3.7_r1


$ repo sync
 簡単すぎです!
実際はこうでした…
kinneko@BuildSV: $ mkdir AOSP

kinneko@BuildSV: $ cd AOSP


kinneko@BuildSV: /AOSP$ ../repo init --
mirror -u https://android.googlesource.com/
mirror/manifest
Get https://android.googlesource.com/mirror/manifest
remote: Counting objects: 3, done
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
From https://android.googlesource.com/mirror/manifest
 * [new branch]    master      -> origin/master


repo mirror initialized in /home/kinneko/AOSP
kinneko@BuildSV: /AOSP$ ../repo sync
From /home/kinneko/AOSP/device/google/accessory/
arduino.git/clone.bundle
 * [new branch]    master      -> master
 * [new branch]    gingerbread -> gingerbread
remote: Counting objects: 6, done
remote: Finding sources: 100% (6/6)
remote: Total 6 (delta 0), reused 6 (delta 0)
Unpacking objects: 100% (6/6), done.
(略)
なんか、たまに

error: RPC failed; result=28, HTTP code = 0
fatal: The remote end hung up unexpectedly


とか出ますね。
remote: Counting objects: 15326, done
remote: Compressing objects: 100% (2793/2793)
error: RPC failed; result=28, HTTP code = 0iB ¦ 110 KiB/s
fatal: The remote end hung up unexpectedly
error: RPC failed; result=28, HTTP code = 0 MiB ¦ 311 KiB/s
fatal: The remote end hung up unexpectedly
error: Cannot fetch toolchain/gmp61), 18.19 MiB ¦ 198 KiB/s
error: RPC failed; result=28, HTTP code = 0 MiB ¦ 187 KiB/s
fatal: The remote end hung up unexpectedly
error: RPC failed; result=28, HTTP code = 0 MiB ¦ 104 KiB/s
fatal: The remote end hung up unexpectedly
error: Cannot fetch toolchain/gold
gitは、
JBQは1.7.3.1を使っているそうです。


Ubuntu 11.04だと1.7.4.1-3かな。
最近updateしてないけど。
deviceの下のバイナリとか、
なんか落とすのイヤだなぁ。


使わないのに。
error: Exited sync due to fetch errors


エラーで落ちた。
error:   Exited   sync   due   to   fetch   errors
error:   Exited   sync   due   to   fetch   errors
error:   Exited   sync   due   to   fetch   errors
error:   Exited   sync   due   to   fetch   errors
error:   Exited   sync   due   to   fetch   errors
error: Exited sync due to fetch errors
error: Exited sync due to fetch errors
error: Exited sync due to fetch errors
error: Exited sync due to fetch errors


エラーで落ちた。再実行しる。
TLSでエラーだと...
error: Cannot fetch platform/tools/tradefederation
error: gnutls_handshake() failed: A TLS packet with
unexpected length was received. while accessing
https://android.googlesource.com//toolchain/build/
info/refs

fatal: HTTP request failed
error: Cannot fetch toolchain/build
error: gnutls_handshake() failed: A TLS packet with
unexpected length was received. while accessing
https://android.googlesource.com//platform/external/
v8/info/refs
なんか、pythonのエラーまで出てます...


ダメかも。
Exception in thread Thread-224:0% (665/6647)
Traceback (most recent call last):
 File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
  self.run()
 File "/usr/lib/python2.7/threading.py", line 505, in run
  self.__target(*self.__args, **self.__kwargs)
 File "/home/kinneko/AOSP/.repo/repo/subcmds/sync.py", line 182, in
_FetchHelper
  success = project.Sync_NetworkHalf(quiet=opt.quiet)
 File "/home/kinneko/AOSP/.repo/repo/project.py", line 926, in
Sync_NetworkHalf
  if alt_dir is None and self._ApplyCloneBundle(initial=is_new, quiet=quiet):
 File "/home/kinneko/AOSP/.repo/repo/project.py", line 1444, in
_ApplyCloneBundle
  exist_dst = self._FetchBundle(bundle_url, bundle_tmp, bundle_dst, quiet)
 File "/home/kinneko/AOSP/.repo/repo/project.py", line 1508, in _FetchBundle
  raise DownloadError('%s: %s ' % (req.get_host(), str(e)))
DownloadError: android.googlesource.com: <urlopen error [Errno 8] _ssl.c:499:
EOF occurred in violation of protocol>
platform/prebuilt
1104MB
でかすぎ。
kinneko@BuildSV: /AOSP$ ../repo sync
Fetching projects: 100% (233/233), done.

終わった。


なんどもリトライしたよ。

丸一日がかりだったわ... orz
使用容量は?


kinneko@BuildSV: /AOSP$ du -sh ./

3.3G ./
まぁ、こんなもんでしょ。
さて、
AOSPローカルミラーから、
syncしてみる。
kinneko@BuildSV: $ mkdir mydroid
kinneko@BuildSV: $ cd mydroid/
kinneko@BuildSV: /mydroid$ ../repo init -
u /home/kinneko/AOSP/platform/
manifest.git -b gingerbread
(略)
repo initialized in /home/kinneko/mydroid
kinneko@BuildSV: /mydroid$ ../repo sync
(略)
error: pack-objects died of signal 11
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption
on the remote side.
remote: aborting due to possible repository corruption on the remote
side.
fatal: early EOF
fatal: index-pack failed
(略)
Fetching projects: 99% (169/170) error: Cannot fetch platform/
external/webkit


error: Exited sync due to fetch errors


Webkit壊れているって...
普通にミラーを再度syncしても、
異常はない。


ローカル取得分が壊れていると判断。


webkitのgitリポジトリをバッサリ削除して、
再取得してみる。
kinneko@BuildSV: /AOSP$ rm -rf platform/
external/webkit.git

kinneko@BuildSV: /AOSP$ ../repo sync
Fetching projects: 67% (157/233)
Downloading platform/external/webkit:      8%
(5MB/56MB)
(略)
Fetching projects: 100% (233/233), done.
うまくいったようだ。
ミラーのsyncがうまく
いったからといって、
ファイルが壊れていない
保証はない!
再取得後、再度syncしてみる。
kinneko@BuildSV: /AOSP$ cd ../mydroid/
kinneko@BuildSV: /mydroid$ ../repo init -u /home/
kinneko/AOSP/platform/manifest.git -b gingerbread
kinneko@BuildSV: /mydroid$ time ../repo sync
(略)
Fetching projects: 100% (170/170), done.
Checking out files: 100% (12174/12174), done.ut files:
0% (13/12174)
Checking out files: 100% (10462/10462), done.ut files:
0% (76/10462)
Syncing work tree: 100% (170/170), done.

real 2m12.760s
user 2m50.090s
sys 0m26.840s
2分強!
すげー、
-jオプションなしで、
2分強くらい!



快適すぎです。
まるで repo sync -l のよう!
kinneko@BuildSV: /mydroid$ time ../repo sync   -j12
(略)



real   2m0.475s
user 2m54.190s
sys 0m28.450s
ほとんど、IOの処理なので、
-jオプションを使っても、
速くならない。
ビルドしてみる。
kinneko@BuildSV: $ cd mydroid/
kinneko@BuildSV: /mydroid$ export ARCH=arm
kinneko@BuildSV: /mydroid$ export PATH=/home/
kinneko/panda/L27.12.1-P2/build_tools/arm-2010q1/
bin:/usr/bin:/bin
kinneko@BuildSV: /mydroid$ export
CROSS_COMPILE=arm-none-linux-gnueabi-
kinneko@BuildSV: /mydroid$ . build/envsetup.sh
including device/htc/passion/vendorsetup.sh
including device/samsung/crespo/vendorsetup.sh
including device/samsung/crespo4g/vendorsetup.sh
kinneko@BuildSV: /mydroid$ lunch generic-eng
kinneko@BuildSV: /mydroid$ time make -j12
=========================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3.7
(略)



real   12m2.785s
user 100m36.420s
sys 5m35.710s
ビルド時間は
お金で買える!
model name    :


     i7 980
Intel(R) Core(TM)   CPU   @



3.33GHz
MemTotal:


12323396 kB
どのみち、
 ICSのビルドには、
このくらいのリソースが
    必要です。
何かと一筋縄では
うまくいかなかった
    ですが、
使わない手は
ありませんよ!
syncの苦悩からの開放…
syncの苦悩からの開放

  それは、もう、
 あなたのものです!
それ以外にも…
 ・独自ブランチの運用

 ・ としてセットアップして、
  チームで使えるリポジトリに


 ・AOSPとのsync前に一度やって
  おくと差分だけのsyncで済む
 ・AOSP死んでても、
  影響ぜんぜんない!


 ・WAN接続なくてもsyncできる!


 ・裏でAOSP syncしておけば、
  いつでも最新環境を一瞬で入手。
何より、
syncごときで
  イラっと
しなくなります。
おしまい

Mais conteúdo relacionado

Mais procurados

ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~Hideki Takase
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia鉄次 尾形
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia鉄次 尾形
 
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall博文 斉藤
 
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!do_aki
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3ichikaway
 
ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!Kiwamu Okabe
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)inaz2
 
CocoaPodsのはなし
CocoaPodsのはなしCocoaPodsのはなし
CocoaPodsのはなしHironytic
 
VarnishではじめるESI
VarnishではじめるESIVarnishではじめるESI
VarnishではじめるESIIwana Chan
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注Joe_noh
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話YASUKAZU NAGATOMI
 
ActiveRecordでレガシーテーブルにつないだ話
ActiveRecordでレガシーテーブルにつないだ話ActiveRecordでレガシーテーブルにつないだ話
ActiveRecordでレガシーテーブルにつないだ話ryonext Shimamoto
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp CodereadingHiro Yoshioka
 

Mais procurados (20)

ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
 
Hacking Vox and Plagger
Hacking Vox and PlaggerHacking Vox and Plagger
Hacking Vox and Plagger
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
 
Sinatra and heroku for mac
Sinatra and heroku for macSinatra and heroku for mac
Sinatra and heroku for mac
 
Dockerの導入
Dockerの導入Dockerの導入
Dockerの導入
 
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
 
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
 
LINQ in Unity
LINQ in UnityLINQ in Unity
LINQ in Unity
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3
 
ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
CocoaPodsのはなし
CocoaPodsのはなしCocoaPodsのはなし
CocoaPodsのはなし
 
VarnishではじめるESI
VarnishではじめるESIVarnishではじめるESI
VarnishではじめるESI
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
ActiveRecordでレガシーテーブルにつないだ話
ActiveRecordでレガシーテーブルにつないだ話ActiveRecordでレガシーテーブルにつないだ話
ActiveRecordでレガシーテーブルにつないだ話
 
Get along with Git
Get along with GitGet along with Git
Get along with Git
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 

Semelhante a AOSPをミラーしてみた

ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみたkinneko
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションKazuhiro Hara
 
【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選虎の穴 開発室
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーnota-ja
 
カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜Nobuhide Watanabe
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイKazuhiro Hara
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方Yuji Oshima
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!Yohei Fushii
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方Yosuke Furukawa
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
nadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティスnadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティスKazuhiro Nishiyama
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座Masahito Zembutsu
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#Yoshifumi Kawai
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + PerlNaoya Ito
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境Masashi Shinbara
 

Semelhante a AOSPをミラーしてみた (20)

ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選
 
Fab
FabFab
Fab
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
 
カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
nadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティスnadoka さんの m17n 対応のベストプラクティス
nadoka さんの m17n 対応のベストプラクティス
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
Let's make your CDN with RUBY
Let's make your CDN with RUBYLet's make your CDN with RUBY
Let's make your CDN with RUBY
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + Perl
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
 

Mais de kinneko

CloudFormation (CFn)入門(公開用)
CloudFormation (CFn)入門(公開用)CloudFormation (CFn)入門(公開用)
CloudFormation (CFn)入門(公開用)kinneko
 
Slidev マークダウンでサクサク書けるプレゼンツール
Slidev マークダウンでサクサク書けるプレゼンツールSlidev マークダウンでサクサク書けるプレゼンツール
Slidev マークダウンでサクサク書けるプレゼンツールkinneko
 
5分で作れる! Glideappsではじめる 超簡単PWA
5分で作れる! Glideappsではじめる 超簡単PWA5分で作れる! Glideappsではじめる 超簡単PWA
5分で作れる! Glideappsではじめる 超簡単PWAkinneko
 
金沢LoRa部はじめました(画像版)
金沢LoRa部はじめました(画像版)金沢LoRa部はじめました(画像版)
金沢LoRa部はじめました(画像版)kinneko
 
金沢LoRa部はじめました
金沢LoRa部はじめました金沢LoRa部はじめました
金沢LoRa部はじめましたkinneko
 
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動kinneko
 
VRだってUIは確実に動くアナログ接続のボタンでしょ!
VRだってUIは確実に動くアナログ接続のボタンでしょ!VRだってUIは確実に動くアナログ接続のボタンでしょ!
VRだってUIは確実に動くアナログ接続のボタンでしょ!kinneko
 
3ボタン入力対応! 簡易VRゴーグル- JAGOVISORの設計と実装
3ボタン入力対応! 簡易VRゴーグル-  JAGOVISORの設計と実装3ボタン入力対応! 簡易VRゴーグル-  JAGOVISORの設計と実装
3ボタン入力対応! 簡易VRゴーグル- JAGOVISORの設計と実装kinneko
 
"Androidを利用した VRゴーグルとその応用"
"Androidを利用した VRゴーグルとその応用""Androidを利用した VRゴーグルとその応用"
"Androidを利用した VRゴーグルとその応用"kinneko
 
スマホでできるVR @上モノラボ
スマホでできるVR @上モノラボ スマホでできるVR @上モノラボ
スマホでできるVR @上モノラボ kinneko
 
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編kinneko
 
スマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステムスマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステムkinneko
 
Part3 unityを使ったvrアプリ作成入門
Part3 unityを使ったvrアプリ作成入門Part3 unityを使ったvrアプリ作成入門
Part3 unityを使ったvrアプリ作成入門kinneko
 
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版kinneko
 
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発kinneko
 
BeagleBone BlackでAndroidの下回りを学ぼう (公開版)
BeagleBone BlackでAndroidの下回りを学ぼう (公開版) BeagleBone BlackでAndroidの下回りを学ぼう (公開版)
BeagleBone BlackでAndroidの下回りを学ぼう (公開版) kinneko
 
ねえ、“えぬふぃ〜”で占いしない?
ねえ、“えぬふぃ〜”で占いしない?ねえ、“えぬふぃ〜”で占いしない?
ねえ、“えぬふぃ〜”で占いしない?kinneko
 
中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版kinneko
 
X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来kinneko
 
Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218kinneko
 

Mais de kinneko (20)

CloudFormation (CFn)入門(公開用)
CloudFormation (CFn)入門(公開用)CloudFormation (CFn)入門(公開用)
CloudFormation (CFn)入門(公開用)
 
Slidev マークダウンでサクサク書けるプレゼンツール
Slidev マークダウンでサクサク書けるプレゼンツールSlidev マークダウンでサクサク書けるプレゼンツール
Slidev マークダウンでサクサク書けるプレゼンツール
 
5分で作れる! Glideappsではじめる 超簡単PWA
5分で作れる! Glideappsではじめる 超簡単PWA5分で作れる! Glideappsではじめる 超簡単PWA
5分で作れる! Glideappsではじめる 超簡単PWA
 
金沢LoRa部はじめました(画像版)
金沢LoRa部はじめました(画像版)金沢LoRa部はじめました(画像版)
金沢LoRa部はじめました(画像版)
 
金沢LoRa部はじめました
金沢LoRa部はじめました金沢LoRa部はじめました
金沢LoRa部はじめました
 
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
 
VRだってUIは確実に動くアナログ接続のボタンでしょ!
VRだってUIは確実に動くアナログ接続のボタンでしょ!VRだってUIは確実に動くアナログ接続のボタンでしょ!
VRだってUIは確実に動くアナログ接続のボタンでしょ!
 
3ボタン入力対応! 簡易VRゴーグル- JAGOVISORの設計と実装
3ボタン入力対応! 簡易VRゴーグル-  JAGOVISORの設計と実装3ボタン入力対応! 簡易VRゴーグル-  JAGOVISORの設計と実装
3ボタン入力対応! 簡易VRゴーグル- JAGOVISORの設計と実装
 
"Androidを利用した VRゴーグルとその応用"
"Androidを利用した VRゴーグルとその応用""Androidを利用した VRゴーグルとその応用"
"Androidを利用した VRゴーグルとその応用"
 
スマホでできるVR @上モノラボ
スマホでできるVR @上モノラボ スマホでできるVR @上モノラボ
スマホでできるVR @上モノラボ
 
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
 
スマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステムスマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステム
 
Part3 unityを使ったvrアプリ作成入門
Part3 unityを使ったvrアプリ作成入門Part3 unityを使ったvrアプリ作成入門
Part3 unityを使ったvrアプリ作成入門
 
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
 
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
 
BeagleBone BlackでAndroidの下回りを学ぼう (公開版)
BeagleBone BlackでAndroidの下回りを学ぼう (公開版) BeagleBone BlackでAndroidの下回りを学ぼう (公開版)
BeagleBone BlackでAndroidの下回りを学ぼう (公開版)
 
ねえ、“えぬふぃ〜”で占いしない?
ねえ、“えぬふぃ〜”で占いしない?ねえ、“えぬふぃ〜”で占いしない?
ねえ、“えぬふぃ〜”で占いしない?
 
中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版
 
X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来
 
Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218
 

Último

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Último (7)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

AOSPをミラーしてみた