biicode, reuse and play

  • 180 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
180
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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