Rg Software Libre Y Otras Hierbas

38 %
63 %
Information about Rg Software Libre Y Otras Hierbas

Published on February 4, 2009

Author: slizardo

Source: slideshare.net

De software libre y otras hierbas 8 de octubre del 2008 Santiago Lizardo <santiago.lizardo@gmail.com>    

Presentación Santiago Lizardo Oscares Analista de sistemas ➢ ➢Sun Certified Enterprise Architect (SCEA) ➢Sun Certified Java Programmer (SCJP) ➢Zend Certified Engineer (ZCE, PHP) Blog http://santiago.lizardo.info    

Presentación Tiempo completo: abiquo Explorando tecnologias como grid computing  (computación intensiva), cloud, distributed file  systems, sensor networks. Tiempo parcial: emprendedor Realización de prototipos y proyectos de software  libre.    

Agenda Profesión, vocación ● La importancia de sentirse un artesano ●Comunicación Profesionales con mas valor ●Escena actual Lo que se usa y porque ●Tecnologias emergentes Lo próximo ●Trabajo en equipo Comparación de metodologias ●Consideraciones tecnicas Pensar primero, desarrollar despues ●Proceso de desarrollo de software Desde la concepción de la idea hasta la publicación ●Software libre     Un nuevo modelo de negocios y oportunidades

Profesión, vocación Notable crecimiento en la demanda de profesionales en  todo el mundo. ●Desplazarse a otras ciudades ●Trabajar de forma remota con internet Infinidad de recursos a nuestro alcanze de forma gratuita. Unicos requisitos para llevar adelante una idea: ➔Tiempo ➔Conocimientos ➔Hardware    

Profesión, vocación ¿Que podemos hacer con nuestro conocimiento? ✔Desarrollar aplicaciones comerciales/libres ✔ Web (portales, mashups, comunidades) ✔ Escritorio (videojuegos, SGBD) ✔ Celulares ✔Escribir un blog ✔Documentar ✔Reportar/corregir bugs Artesanos del siglo XXI ●Creatividad ●Puntillismo    

Profesión, vocación Nuestros conocimientos son utiles mas alla de las fronteras  laborales. Saber usarlos para tareas cotidianas convierte nuestra profesión  en una vocación, de la que sacaremos mas provecho. Ejemplos Desarrollar una aplicación para gestionar nuestro presupuesto ● Desarrollar un videojuego para compartir con amigos ● Programar algoritmos como si fueran crucigramas ●    

Profesión, vocación Conseguir ser diferencial Tomar el camino dificil ➢ Tener iniciativa > emprender ➢ Para obtener Satisfacción personal ➢ Reconocimiento frente a empleadores ➢    

Comunicación Un profesional integral tiene  cualidades tecnicas y humanas. La importancia de la comunicación: Transmitir bien un mensaje (digitalmente, en persona) ● Humildad ● Utilización de redes de contacto profesionales: LinkedIn, http://www.linkedin.com  ➢ Xing, http://www.xing.com  ➢ Para encontrar: Nuevos empleos ● Colaboradores para un proyecto ● Expertos en areas especificas de conocimiento ●    

Comunicación Medios Internet ● Blog (escribe el tuyo o comenta en otros) ● Foros Presenciales ● Eventos ● Conferencias/charlas ● Grupos de usuario (Linux, Blender, ...) ● ¿No existe un grupo con tus intereses? ¡Crealo!    

Escena actual Web 2.0 Contenidos creados y mantenidos por el usuario  Ofrecen API y servicios Web que permiten integrar sus   servicios por parte de terceros Ejemplos:   Wikipedia (enciclopedia)  YouTube (videos)  Flickr (fotos)     

Escena actual Mashups Aplicaciones Web que ofrecen valor añadido integrando datos de  otras fuentes. (a través de su API o mediante screen scrapping) Panoramio: Geolocalización de fotos http://www.panoramio.com/     

Escena actual Cuadro tecnologico segun tipo de aplicación Tipo de aplicación Tecnologia libre Tecnologia propietaria Aplicación de escritorio Java Standard Edition .NET Aplicación Web empresarial Java Enterprise Edition .NET (ASP) Aplicación Web PHP ASP Videojuego C/C++ Aplicación móvil Java Mobile Edition .NET Mobile    

Tecnologias emergentes Cloud computing Amazon Elastic Cloud Computing (Amazon EC2) ● Google App Engine (GAE) ● 1 server 1 ­ n servers 1 ­ ∞ servers    

Tecnologias emergentes La Web semantica (Web 3.0) Es una descripción de metadata que da información sobre un  contenido y elementos relacionados, sin preocuparse por la  presentación de esos datos (!HTML) Permitira buscar contenidos y obtener resultados que tenga  relacion directa o indirecta con la frase escrita. Ejemplo de Web semantica: ● RSS: Catalogación de contenidos de noticias y eventos    

Trabajo en equipo / roles Jefes de proyecto Analistas Arquitectos Programadores y Quality assurance desarrolladores (beta testers)    

Consideraciones tecnicas Desarrollar teniendo en cuenta I18N (internacionalización abreviado) ● ●Flexibilidad (extensibilidad, modularidad) ●Portabilidad (Linux, Windows, Mac, ...) ●Interoperabilidad (API, Web services, ...) ●Mantenibilidad (documentación, testing, ...)    

Consideraciones tecnicas / patrones de diseño Son soluciones a problemas de diseño, que han demostrado  reusabilidad en diferentes aplicaciones y tecnologias. Entre los mas populares se encuentra el MVC  (Model/View/Controller) que propone la separación de las capas  logicas de una aplicación. Vista Modelo Swing Controlador BBDD Logica de negocios HTML/JSP XML WAP    

Consideraciones tecnicas / herramientas Control de versiones Equipos de desarrollo numerosos (+3) Copia de seguridad, e historico Edición de un mismo fichero de forma simultanea Soluciones libres CVS (concurrent versioning system) ➔ Subversion (SVN) ➔ Soluciones propietarias SourceSafe ➔    

Consideraciones tecnicas / buenas practicas Pruebas unitarias Se refiere a la practica de crear pruebas para cada unidad de  codigo que exista en una aplicación. (por ejemplo, una clase de  test para cada clase del proyecto) Esto permite: Identificar rapidamente errores consecuencia de un cambio. ● Mantener el codigo libre de errores ● Herramientas *unit: cppunit, junit, Nunit, etc...    

Consideraciones tecnicas / herramientas Entornos de desarrollo Los entornos de desarrollo integrado (IDE) son herramientas que  permiten la creación (devel), depuración (debug) e incluso la  optimización (profiling) de aplicaciones desde un mismo  programa. Eclipse es una de esas fantasticas herramientas que te permitira  trabajar y cambiar de tecnologias facilmente: Eclipse CDT (C/C++) ➢ Eclipse PDT (PHP) ➢ Eclipse JEE (Java Enterprise Edition, Web applications) ➢    

Procesos de desarrollo / metodos pesados Rational unified process (RUP)    

Procesos de desarrollo / metodos agiles Caracteristicas comunes: ● Entregas rapida del software ● Retroalimentación Metodologias agiles ● eXtreme programming (XP) ● Scrum ● FDD (Feature driven development) ● TDD (Test driven development)    

Procesos de desarrollo / metodos agiles Extreme programming (XP) ●Programación de a pares ●Desarrollo iterativo ●Pruebas unitarias ●Simplicidad Scrum Autoorganización del equipo ● Gestión del tiempo y tareas de forma autonoma ●    

Software libre / modelo de negocio Software propietario Orientado a productos Ingresos por: ✔Licencia Software libre Orientado a servicios Ingresos por: ✔Soporte tecnico ✔Extensiones ✔Funcionalidades ad­hoc    

Software libre / proceso Concepción de la idea Desarrollo del prototipo Publicación del desarrollo Recepción de feedback por parte de la comunidad    

Software libre / licencias Publicar el código de nuestro proyecto no significa perder nuestro  control sobre el. Las licencias existen para proteger nuestro valor intelectual, y  poner algunas reglas en su redistribución. Licencias mas conocidas: GPL: Publicar código. No permite derivados comerciales ● LGPL: Similar a GPL. Puede ser usado en software  ● propietario. CPAL: Exige mostrar un logo del software original. ● Otras... ●    

Software libre / plataformas Plataformas para hospedar nuestro software libre: SourceForge, http://www.sourceforge.net  ● Google Code, http://code.google.com/hosting/  ● Servicios ofrecidos: Control de versiones (SVN, CVS) ● Hosting Web ● Mailing list ● Wiki ●    

¿Preguntas?    

¡Muchas gracias! Feedback sobre esta presentación a santiago.lizardo@gmail.com    

Add a comment

Related presentations

Related pages

Software libre y otras hierbas

Software libre y otras hierbas. ... La misma, permitirá a los amantes del software libre editar documentos en la nube desde cualquier dispositivo, ...
Read more

Etiqueta: LibreOffice - pensarbinario.wordpress.com

Software libre y otras hierbas. ... con el avance de las tecnologías es muy común hablar de la nube y ... permitirá a los amantes del software libre ...
Read more

Software Libre y Otras Hierbas

Software Libre y Otras Hierbas Matando el tiempo. domingo, 12 de abril de 2009. ... y han decidido crear un nuevo Sistema Operativo, Midori, ...
Read more

cdlibre.org - Recopilaciones de Software Libre

Recopilaciones de software libre o gratuito para Windows y Linux. Recopilaciones de Software Libre. Inicio; Catálogo; Boletín; Recopilaciones; Inicio ...
Read more

Software libre - Wikipedia, la enciclopedia libre

... para justificar parcialmente las limitaciones impuestas por la licencia GNU GPL frente a otras licencias de software libre ... de Software Libre y ...
Read more

VI JORNADAS DE SOFTWARE LIBRE - madrid.org

Las VI Jornadas de Software Libre se celebrarán el 17 y 18 de marzo en la edición bautizada Colmux 2011 ... Bricolaje, software libre y otras hierbas
Read more

Acerca de – De todo un poco - mantisfistjabn.wordpress.com

Software libre y otras hierbas. davidochobits. Todos los mundos caben dentro de davidochobits, Linux, GNU, Rock, Pintura, Escritura y tantas otras cosas.
Read more

GNU | El Gato con Linux

Software Libre, Opinión, ... Archivo de la etiqueta: GNU. abril 26, 2015. Las distribuciones derivadas Linux y otras hierbas. Linux, Sistema Operativo, ...
Read more

Marco Aurelio Vela Guerrero - Google+

Marco Aurelio Vela Guerrero hasn't shared anything on this page with you. ... Les y otras hierbas. Johana Guerrero. ... Linux y Software Libre.
Read more

Hongo Reishi | Susan G. Komen®

Una combinación del hongo reishi y San Miao ... y suplementos no se han probado completamente en cuando a la interacción con otras hierbas, ...
Read more