SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Desarrollo con Tecnologías
Software Libre y OpenSource
Por: Mario J. Inga Cahuana
@mario21ic
¿Quién soy?
● Miembro de Apesol
● Software Developer
● SysAdmin GNU/Linux
● Aficionado a la [in]Seguridad
● Twitter: @mario21ic
● Github: http://github.com/mario21ic
Software Libre / Open Source
● Acceso al código.
● Buena documentación.
● Los problemas o dudas ya las han tenido
otras personas.
● Aplicación de buenas prácticas: testing,
integración contínua, comentarios, coding
style, etc
Lenguajes de programación
● Python => Multi - paradigma
● Ruby => Expresivo
● Java => Multi plataforma
● PHP => Orientado Web
● C/C++
IDE
● Eclipse
● Netbeans
● Ninja-Ide
Eclipse
Editor de texto
● Gedit
● Geany
● Vim
● Emacs
● Brackets
VIM
Control de versiones
Control de versiones
● Git
● Mercurial
● Subversion
● Bazaar
Repositorios en la nubeRepositorios en la nube
● Github
● Bitbucket
● Launchpad
GithubGithub
Dependency manager
Dependency manager
● PHP: Composer
● Python: Pip, Buildout
● Ruby: Bundler
● Java: Ant, Maven, Gradle
Environments
Diferentes:
- Interpretes
- Dependencias
- Módulos
- Librerías
- Etc
Isolated Environments
● PHP: Virtualhost en Apache, Nginx
● Python: Virtualenv
● Ruby: Rbenv, RVM
● Java: Virtualhost de Tomcat, Gladfish
Frameworks
● Python: Django, Web2py, Tornado
● PHP: Symfony2, Zend, PhalconPHP
● Ruby: Ruby on Rails
● Java: Spring, Hibernate, Mybatis, Struts,
Server Faces, PrimeFaces
Micro Frameworks
● Python: Bottle, Flask
● PHP: Silex
● Ruby: Sinatra
● Java: Spark
Test Unitario
● Python: Unittest
● Ruby: Rake
● PHP: PhpUnit
● Java: JUnit
Testing Funcionales
● Python: Behave
● Ruby: Rspec, Cucumber
● PHP: PphSpec, Behat
● Java: JBehave
Integración contínua
● Buildbot => Python
● Sismo => PHP
● Jenkins => Java
● Travis CI => Libre
Jenkins
Bases de datos
● MySQL
● MariaDB
● PostgreSQL
● Firebird
● SQLite
Modelador Database
● MySQL Workbench
● FabForce DBDesigner 4
● PgModeler
Mysql Workbench
NoSQL
● MongoDB
● Redis
● CouchDB
● Cassandra
● Neo4j
Modelador UML
● ArgoUML
● Umbrello
● BoUML
ArgoUML
Gestión de Proyectos
● Redmine
● Trac
● Bugzilla
● MantisBt
Redmine
Casos de éxito
● Facebook
● Twitter
● Google
● Redhat
● HSBC
● Toyota Motor
● NASA
● Odoo (OpenERP)
¿ Y en Perú?
● Grupo El Comercio
● Grupo La República
● RPP, Radio Programas del Perú
● CRP, Corporación Radial del Perú
● Consultoras
Recomendaciones
● Migrar a Linux
● Usar controlador de versiones.
● Aplicar: TDD, BDD, DDD.
● Uso de metodologías ágiles: kanban,
scrum, lean, xp, pomodoro.
● Aprender al menos un lenguaje cada año
¿Preguntas?
@mario21ic

Weitere ähnliche Inhalte

Was ist angesagt?

Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
Antonio Ognio
 

Was ist angesagt? (20)

Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017
 
Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?
 
Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Conferencia sobre "Scripting en gvSIG" con la versión 2.x
Conferencia sobre "Scripting en gvSIG" con la versión 2.xConferencia sobre "Scripting en gvSIG" con la versión 2.x
Conferencia sobre "Scripting en gvSIG" con la versión 2.x
 
Skipfish
Skipfish Skipfish
Skipfish
 
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
 
Dia1
Dia1Dia1
Dia1
 
Dia2
Dia2Dia2
Dia2
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
 
Principios de diseño
Principios de diseñoPrincipios de diseño
Principios de diseño
 
Inyección de dependencia
Inyección de dependenciaInyección de dependencia
Inyección de dependencia
 
Solid
SolidSolid
Solid
 
Una gota de elixir 2017
Una gota de elixir   2017Una gota de elixir   2017
Una gota de elixir 2017
 
No quiero vuestra basura en Android
No quiero vuestra basura en AndroidNo quiero vuestra basura en Android
No quiero vuestra basura en Android
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
 
Java poliglota
Java poliglotaJava poliglota
Java poliglota
 
Cómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código AbiertoCómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código Abierto
 
Gestiona tus dependencias con NuGet, VSTs y MyGet
Gestiona tus dependencias con NuGet, VSTs y MyGetGestiona tus dependencias con NuGet, VSTs y MyGet
Gestiona tus dependencias con NuGet, VSTs y MyGet
 

Ähnlich wie Desarrollo tecnologias software_libre_open_source

Herramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloHerramientas Ágiles para Desarrollo
Herramientas Ágiles para Desarrollo
Gastón Guillerón
 

Ähnlich wie Desarrollo tecnologias software_libre_open_source (20)

Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológico
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 
Sobre GrooScript
Sobre GrooScriptSobre GrooScript
Sobre GrooScript
 
Del free style al mvp
Del free style al mvpDel free style al mvp
Del free style al mvp
 
Socialbro por dentro - Betabeers Córdoba (18/10/2012)
Socialbro por dentro - Betabeers Córdoba (18/10/2012)Socialbro por dentro - Betabeers Córdoba (18/10/2012)
Socialbro por dentro - Betabeers Córdoba (18/10/2012)
 
Python vs El Mundo
Python vs El MundoPython vs El Mundo
Python vs El Mundo
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
20170405 - Ecosistema Javascript
20170405 - Ecosistema Javascript20170405 - Ecosistema Javascript
20170405 - Ecosistema Javascript
 
Herramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloHerramientas Ágiles para Desarrollo
Herramientas Ágiles para Desarrollo
 
Herramientas agilesdesarrollo
Herramientas agilesdesarrolloHerramientas agilesdesarrollo
Herramientas agilesdesarrollo
 
Principios de cloud native
Principios de cloud nativePrincipios de cloud native
Principios de cloud native
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Grails and Continuous delivery
Grails and Continuous deliveryGrails and Continuous delivery
Grails and Continuous delivery
 
PHP Conference Argentina 2014
PHP Conference Argentina 2014PHP Conference Argentina 2014
PHP Conference Argentina 2014
 
Scrum para uno
Scrum para unoScrum para uno
Scrum para uno
 
Go
GoGo
Go
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con Drupal
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con Drupal
 

Mehr von Mario IC

Mehr von Mario IC (20)

Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
 
Aws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSAws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMS
 
Aws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMS
 
Testing Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraTesting Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfra
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con Ansible
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroides
 
Infraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersInfraestructura como Codigo para Developers
Infraestructura como Codigo para Developers
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Cloud native Computing Perú Octubre
Cloud native Computing Perú OctubreCloud native Computing Perú Octubre
Cloud native Computing Perú Octubre
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - Suestra
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
 
Docker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioDocker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junio
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
Testing en BDD con Python y Behave
Testing en BDD con Python y BehaveTesting en BDD con Python y Behave
Testing en BDD con Python y Behave
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
Docker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayDocker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbday
 
Modelado de API con RAML
Modelado de API con RAMLModelado de API con RAML
Modelado de API con RAML
 

Desarrollo tecnologias software_libre_open_source