Download - biicode, reuse and play
![Page 2: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/2.jpg)
![Page 3: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/3.jpg)
“Los programadores de C++ somos los peores en
reutilización de código”
Bjarne Stroustrup
![Page 4: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/4.jpg)
➜ node git:(master) ls -l deps total 0 drwxr-xr-x 13 fran staff 442 16 feb 17:22 cares drwxr-xr-x 15 fran staff 510 16 feb 17:22 http_parser drwxr-xr-x 7 fran staff 238 16 feb 17:22 mdb_v8 drwxr-xr-x 21 fran staff 714 16 feb 17:22 npm drwxr-xr-x 7 fran staff 238 16 feb 17:22 openssl drwxr-xr-x 25 fran staff 850 16 feb 17:22 uv drwxr-xr-x 23 fran staff 782 16 feb 17:22 v8 drwxr-xr-x 29 fran staff 986 16 feb 17:22 zlib ➜ node git:(master)
![Page 5: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/5.jpg)
![Page 6: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/6.jpg)
![Page 7: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/7.jpg)
![Page 8: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/8.jpg)
sudo apt-get install opencv
![Page 9: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/9.jpg)
brew install opencv
![Page 10: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/10.jpg)
????? opencv
![Page 11: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/11.jpg)
Hay muchos usuarios de Windows
![Page 12: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/12.jpg)
Hay muchos usuarios de Windows
![Page 13: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/13.jpg)
![Page 14: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/14.jpg)
SETUP
![Page 15: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/15.jpg)
Tu ordenador
Tu sistema
Tus herramientas
SETUP
![Page 16: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/16.jpg)
Talk is cheap. Show me the code.
Linus Tolvards
![Page 17: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/17.jpg)
Hello Bii!!$ bii new hello
![Page 18: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/18.jpg)
Hello Bii!!$ bii new hello
#include “hello.h” int main(){ hello(); }$ vim
void main();
#include “hello.h” void hello(){ cout<<“HelloBii!”<<endl; }
fran/helloblock/main.cpp
fran/helloblock/hello.h
fran/helloblock/hello.cpp
![Page 19: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/19.jpg)
Hello Bii!!$ bii new hello
#include “hello.h” int main(){ hello(); }$ vim
void main();
#include “hello.h” void hello(){ cout<<“HelloBii!”<<endl; }
fran/helloblock/main.cpp
fran/helloblock/hello.h
fran/helloblock/hello.cpp$ bii cpp:run HelloBii!!
![Page 20: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/20.jpg)
#include “hello.h” int main(){ hello(); }
void main();
#include “hello.h” void hello(){ cout<<“HelloBii!”<<endl; }
fran/helloblock/main.cpp
fran/helloblock/hello.h
fran/helloblock/hello.cpp
Grafo de dependencias
![Page 21: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/21.jpg)
ADD_EXECUTABLE(fran_hello main.cpp hello.cpp)
CMakeLists.txt
Construcción automática
![Page 22: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/22.jpg)
Publish
$ bii publish tag: STABLE msg: MyHello main.cpp
hello.h
hello.cpp
main.cpp
hello.h
hello.cpp
MacBook Fran
biicode
![Page 23: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/23.jpg)
Solo necesitamos un comando
![Page 24: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/24.jpg)
Reuse & Play(john) $ bii new hello
![Page 25: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/25.jpg)
Reuse & Play$ bii new hello
#include “fran/helloblock/hello.h” void repeat(){ hello(); hello(); }$ vim
void repeat();#include “repeat.h” int main(){ repeat(); }
john/repeatblock/repeat.h
john/repeatblock/main.cpp
![Page 26: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/26.jpg)
Reuse & Play$ bii new hello
#include “fran/helloblock/hello.h” void repeat(){ hello(); hello(); }$ vim
void repeat();#include “repeat.h” int main(){ repeat(); }
john/repeatblock/repeat.h
john/repeatblock/main.cpp
$ bii find
$ bii cpp:run
HelloBii!!HelloBii!!
![Page 27: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/27.jpg)
Find
main.cpp
hello.h
hello.cpp
biicode
void repeat();
john/repeatblock/repeat.h
john/repeatblock/main.cpp
fran/helloblock/hello.h
fran/helloblock/hello.cpp
src dep
![Page 28: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/28.jpg)
ADD_LIBRARY(fran_hello hello.cpp) ADD_EXECUTABLE(john_repeat main.cpp) TARGET_LINK_LIBRARIES(john_repeat fran_hello)
CMakeLists.txt
Construcción automática
![Page 29: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/29.jpg)
Publish
$ bii publish tag: STABLE msg: MyRepeat main.cpp
hello.h
main.cpp
hello.h
hello.cpp
PC John
biicode
![Page 30: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/30.jpg)
Publish
main.cpp
hello.h
main.cpp
hello.h
hello.cpp
PC John
biicode
main.cpp
repeat.h
![Page 31: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/31.jpg)
Reuse & Play(carmack)$ bii new doom3
$ vim
void repeat();
#include “john/repeatblock/repeat.h” int main(){ repeat(); }
john/doom3/main.cpp
$ bii find
$ bii cpp:run
HelloBii!!HelloBii!!
![Page 32: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/32.jpg)
main.cpp
hello.h
hello.cpp
biicode
main.cpp
repeat.h
Reuse & Play
![Page 33: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/33.jpg)
![Page 34: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/34.jpg)
biicode way
#include “google/gtest/gtest.h”
bii find
sleep
![Page 35: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/35.jpg)
Update
$ vim #include “hello.h” void hello(){ cout<<“Bii rocks!”<<endl; }
fran/helloblock/hello.cpp
$ bii publish tag: STABLE msg: 2 version
![Page 36: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/36.jpg)
main.cpp
hello.h
hello.cpp
0
main.cpp
hello.h
hello.cpp
1
hello.cpp
![Page 37: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/37.jpg)
Reuse & Play
#include “repeat.h” int main(){ repeat(); }
(john)$ bii find —-update
$ bii cpp:run
Bii rocks!Bii rocks!
![Page 38: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/38.jpg)
Se pueden definir políticas de resolución de dependencias
![Page 39: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/39.jpg)
Tags y Versiones
Autores
Ramas
![Page 40: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/40.jpg)
biicode garantiza compatibilidad entre ficheros
![Page 41: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/41.jpg)
Otras features
![Page 42: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/42.jpg)
Ficheros de datos
Build configuration
Configuration rules
Colaboración
![Page 43: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/43.jpg)
Métricas reales de uso a nivel de fichero
![Page 44: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/44.jpg)
main.cpp
hello.h
hello.cpp
biicode
main.cpp
repeat.h
![Page 45: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/45.jpg)
![Page 46: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/46.jpg)
¿Cómo?
![Page 47: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/47.jpg)
![Page 48: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/48.jpg)
![Page 49: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/49.jpg)
![Page 50: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/50.jpg)
PREMIUM USERS
OPEN SOURCE PROPRIETARY CODE
FREE USERS
€$
REVENUE SPLIT
$
Biicode gives back!
![Page 51: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/51.jpg)
Roadmap
![Page 52: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/52.jpg)
#biicontest2014
1000 € 500 € 300 €
https://www.biicode.com/biicontest2014-es
![Page 53: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/53.jpg)
Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse:
complexity sells better.
Edsger W. Dijkstra
![Page 54: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/54.jpg)
![Page 55: biicode, reuse and play](https://reader034.vdocuments.co/reader034/viewer/2022051323/54b701f54a79595c3f8b4577/html5/thumbnails/55.jpg)
¡GRACIAS!