Este documento introduce Launchpad, una plataforma para colaborar en proyectos de software libre alojados en Ubuntu. Launchpad ofrece servicios como el reporte y seguimiento de errores, asistencia en línea, propuestas de nuevas funciones, traducciones a múltiples idiomas, alojamiento de código y construcción automática de paquetes de software. El documento también describe herramientas como Quickly que facilitan el desarrollo rápido de aplicaciones de escritorio para Ubuntu.
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
Charla impartida entre Pablo Chico y Micael Gallego en la que se muestran algunas herramientas para mejorar la experiencia de desarrollo de aplicaciones cloud native para Kubernetes. Concretamente, se presenta cómo okteto puede reducir el tiempo empleado en el ciclo de change, build, push, deploy de pods Java en Kubernetes usando la sincronización de ficheros.
Ejemplos de código en https://github.com/micaelgallego/k8s-dev-tools-codemo19
Este documento describe un Master en Desarrollo y Despliegue de Aplicaciones en la Nube. Explica conceptos clave como contenedores Docker, imágenes, registros y orquestadores de contenedores como Kubernetes. También cubre temas como despliegue de servicios, gestión de contenedores, redes y producción.
Este documento presenta una introducción a GNU/Linux. Proporciona información biográfica sobre el orador Gerick Toro Rodriguez y su experiencia con software libre. Luego resume la filosofía del software libre y las cuatro libertades de GNU. Explica brevemente la historia de GNU, Linux y el proyecto GNU/Linux. Finalmente, menciona algunas distribuciones populares de Linux como Ubuntu, Mint y otras.
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
Ciclo de vida del software, repositorios de código, análisis estático de código, pruebas software, integración continua, entrega continua, despliegue continuo, DevOps.
El documento habla sobre diferentes tipos de software. Explica que el software se refiere a los componentes lógicos de un sistema informático, en contraposición al hardware que son los componentes físicos. También describe brevemente el software libre, el software gratuito y diferentes tipos de licencias para software libre como copyleft.
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
Presentación de Docker en el Master en Data Science de la URJC en la asignatura de Arquitecturas en la nube. En esta asignatura hablamos de AWS, Azure, Docker, Kubernetes, Mesos
El documento presenta un curso sobre Angular. Incluye información sobre el temario que cubre conceptos básicos de Angular como componentes, servicios, rutas y librerías de componentes. También proporciona recursos como presentaciones y ejemplos de código para aprender Angular. El documento promociona los servicios de formación y consultoría sobre desarrollo de software de Micael Gallego.
Este documento describe los pasos para montar un proyecto de software libre, incluyendo elegir un lenguaje de programación, plataforma y especificaciones, usar herramientas para desarrollo colaborativo, publicar el proyecto bajo una licencia de código abierto compatible, y proporcionar soporte a los usuarios.
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
Charla impartida entre Pablo Chico y Micael Gallego en la que se muestran algunas herramientas para mejorar la experiencia de desarrollo de aplicaciones cloud native para Kubernetes. Concretamente, se presenta cómo okteto puede reducir el tiempo empleado en el ciclo de change, build, push, deploy de pods Java en Kubernetes usando la sincronización de ficheros.
Ejemplos de código en https://github.com/micaelgallego/k8s-dev-tools-codemo19
Este documento describe un Master en Desarrollo y Despliegue de Aplicaciones en la Nube. Explica conceptos clave como contenedores Docker, imágenes, registros y orquestadores de contenedores como Kubernetes. También cubre temas como despliegue de servicios, gestión de contenedores, redes y producción.
Este documento presenta una introducción a GNU/Linux. Proporciona información biográfica sobre el orador Gerick Toro Rodriguez y su experiencia con software libre. Luego resume la filosofía del software libre y las cuatro libertades de GNU. Explica brevemente la historia de GNU, Linux y el proyecto GNU/Linux. Finalmente, menciona algunas distribuciones populares de Linux como Ubuntu, Mint y otras.
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
Ciclo de vida del software, repositorios de código, análisis estático de código, pruebas software, integración continua, entrega continua, despliegue continuo, DevOps.
El documento habla sobre diferentes tipos de software. Explica que el software se refiere a los componentes lógicos de un sistema informático, en contraposición al hardware que son los componentes físicos. También describe brevemente el software libre, el software gratuito y diferentes tipos de licencias para software libre como copyleft.
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
Presentación de Docker en el Master en Data Science de la URJC en la asignatura de Arquitecturas en la nube. En esta asignatura hablamos de AWS, Azure, Docker, Kubernetes, Mesos
El documento presenta un curso sobre Angular. Incluye información sobre el temario que cubre conceptos básicos de Angular como componentes, servicios, rutas y librerías de componentes. También proporciona recursos como presentaciones y ejemplos de código para aprender Angular. El documento promociona los servicios de formación y consultoría sobre desarrollo de software de Micael Gallego.
Este documento describe los pasos para montar un proyecto de software libre, incluyendo elegir un lenguaje de programación, plataforma y especificaciones, usar herramientas para desarrollo colaborativo, publicar el proyecto bajo una licencia de código abierto compatible, y proporcionar soporte a los usuarios.
Este documento proporciona una introducción al software libre GNU/Linux, comparando sus diferencias con el software propietario. Explica conceptos como distribuciones, entornos de escritorio como GNOME y KDE, y menciona algunas comunidades en España que han adoptado software libre como LliureX en Valencia.
Introducción al desarrollo de software en comunidad con forja de software y gitDrPantera
Presentación "Introducción al desarrollo de software en comunidad con forja de software y git" impartida por Manuel Palomo y Pablo García en la Escuela Superior de Ingeniería de la Universidad de Cádiz a petición de la Game Development Association of the University of Cádiz
PHP es un lenguaje de programación creado en 1994 para desarrollar páginas web dinámicas e incrustar código en HTML. PHP se ejecuta en servidores web tomando el código PHP como entrada y generando páginas web como salida, permitiendo acceder a bases de datos y realizar otras tareas. PHP ofrece ventajas como ser multiplataforma, ocultar el código del usuario, y contar con una gran cantidad de módulos de expansión.
Cómo incluir videoconferencia en tu web usando la tecnología WebRTC y servidores de media open source y comerciales. Se explora en más detalle OpenVidu, una plataforma de videoconferencias con ediciones open source y comerciales
OpenVidu es una plataforma para incorporar videoconferencia y video streaming en tus aplicaciones web. Es muy fácil de usar y tienes multitud de ejemplos con diferentes tecnologías. Además, es open source. Qué más se puede pedir?
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y cómo se ha desarrollado desde que Torvalds lo creó originalmente en la Universidad de Helsinki.
3) También discute los tipos de licencias de software libre como la GPL y cómo estas licencias permiten la modificación y redistribución del
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
El documento presenta una introducción a Linux, incluyendo una lista de integrantes, una descripción general del sistema operativo creado por Linus Torvalds y cómo es de código abierto, y una breve historia de su desarrollo. También discute varios tipos de licencias de software como la GPL y licencias permisivas como BSD, así como ventajas y desventajas de Linux frente a otros sistemas operativos.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y cómo se ha desarrollado desde que Torvalds lo creó originalmente en la Universidad de Helsinki.
3) También discute los tipos de licencias de software libre como la GPL y cómo estas licencias permiten la modificación y redistribución del
Este documento presenta información sobre Linux. Se menciona que Linux fue creado por Linus Torvalds y cientos de programadores para ser un sistema operativo de código abierto. Explica algunas ventajas de Linux como ser gratuito, personalizable y seguro. También cubre temas como licencias de software libre como GPL y tipos de licencias.
Este documento describe cómo colaborar con el proyecto Debian. Explica que Debian es un sistema operativo libre desarrollado por voluntarios de todo el mundo siguiendo principios como la libertad del software. Ofrece varias formas de contribuir como empaquetar software, traducir documentación, reportar errores o donar equipos. También describe el proceso para adoptar paquetes huérfanos, empaquetar software nuevo y convertirse en mantenedor oficial de Debian.
Este documento presenta una introducción al curso de Python, incluyendo la instalación de herramientas como Anaconda, PyCharm y Visual Studio Code, y cómo probar Python a través de ellas. También describe por qué Python es un popular lenguaje de programación y las aplicaciones que se pueden desarrollar con él.
Este documento describe cómo crear programas Java con interfaces gráficas (GUI) utilizando herramientas de código abierto como GCJ, Glade y GTK. Explica los conceptos básicos de Java y las máquinas virtuales, y proporciona instrucciones para instalar las herramientas necesarias como GCJ, CLASSPATH, Glade y GTK y crear programas Java con GUI en Linux.
El documento describe el proyecto openSUSE, una distribución de software libre de código abierto. Los objetivos del proyecto son desarrollar una distribución de código abierto, atraer desarrolladores de la comunidad, y hacer de openSUSE la mejor distribución. El proyecto proporciona infraestructura como wiki, listas de correo e IRC, y lanza nuevas versiones cada ocho meses con actualizaciones de seguridad gratuitas durante dos años.
FLISOL 2012 @ UNQ - Software libre para programadoresNahuel Garbezza
Este documento habla sobre el software libre y su importancia para los programadores. Explica que el software libre permite el acceso al código fuente, aprender cómo funcionan las cosas y mejorar las herramientas existentes. También describe cómo la Universidad Nacional de Quilmes utiliza el software libre en su programa de Tecnicatura en Programación, incluyendo herramientas como Git y SVN. Resalta las ventajas del software libre como mayor libertad, comunidades activas, bajos costos y soberanía tecnológica.
Este documento presenta una introducción a varios lenguajes de programación como PHP, Javascript y Python. Explica brevemente qué es cada lenguaje, sus características y ventajas. También describe las diferencias entre Java y Javascript, y menciona otros temas como el perfil del programador, el proceso de producción de programas y las ramas de la programación.
GanttPV es un software libre y de código abierto para la gestión de proyectos. Permite a los gerentes definir tareas, duraciones, dependencias y fechas de inicio para crear un gráfico de Gantt. También permite asignar recursos y horas a tareas, calcular métricas como la ruta crítica, y monitorear la productividad y gastos. GanttPV es fácil de instalar y usar, funciona en múltiples plataformas, y se ofrece bajo la licencia GPL.
Este documento introduce Python y sus características básicas. Python es un lenguaje de programación interpretado, multiplataforma y multiparadigma. Se caracteriza por ser sencillo, flexible y de código abierto. El documento también explica cómo instalar Anaconda para usar Python e IDEs como Spyder, y ofrece una introducción a conceptos básicos como objetos, variables y operaciones matemáticas en Python.
Este documento describe las características, requisitos, ventajas e inconvenientes del lenguaje de programación Python. Incluye un ejemplo de programa sencillo del juego del ahorcado que mantiene estadísticas de partidas jugadas, ganadas y perdidas. Finalmente, proporciona referencias sobre Python.
Este documento proporciona una introducción al software libre GNU/Linux, comparando sus diferencias con el software propietario. Explica conceptos como distribuciones, entornos de escritorio como GNOME y KDE, y menciona algunas comunidades en España que han adoptado software libre como LliureX en Valencia.
Introducción al desarrollo de software en comunidad con forja de software y gitDrPantera
Presentación "Introducción al desarrollo de software en comunidad con forja de software y git" impartida por Manuel Palomo y Pablo García en la Escuela Superior de Ingeniería de la Universidad de Cádiz a petición de la Game Development Association of the University of Cádiz
PHP es un lenguaje de programación creado en 1994 para desarrollar páginas web dinámicas e incrustar código en HTML. PHP se ejecuta en servidores web tomando el código PHP como entrada y generando páginas web como salida, permitiendo acceder a bases de datos y realizar otras tareas. PHP ofrece ventajas como ser multiplataforma, ocultar el código del usuario, y contar con una gran cantidad de módulos de expansión.
Cómo incluir videoconferencia en tu web usando la tecnología WebRTC y servidores de media open source y comerciales. Se explora en más detalle OpenVidu, una plataforma de videoconferencias con ediciones open source y comerciales
OpenVidu es una plataforma para incorporar videoconferencia y video streaming en tus aplicaciones web. Es muy fácil de usar y tienes multitud de ejemplos con diferentes tecnologías. Además, es open source. Qué más se puede pedir?
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y cómo se ha desarrollado desde que Torvalds lo creó originalmente en la Universidad de Helsinki.
3) También discute los tipos de licencias de software libre como la GPL y cómo estas licencias permiten la modificación y redistribución del
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
El documento presenta una introducción a Linux, incluyendo una lista de integrantes, una descripción general del sistema operativo creado por Linus Torvalds y cómo es de código abierto, y una breve historia de su desarrollo. También discute varios tipos de licencias de software como la GPL y licencias permisivas como BSD, así como ventajas y desventajas de Linux frente a otros sistemas operativos.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y su desarrollo inicial por Linus Torvalds.
3) Se discuten varios tipos de licencias de software como la GPL y licencias permisivas como BSD, y cómo afectan la distribución y modificación de software.
Este documento presenta información sobre Linux, incluyendo:
1) Linux es un sistema operativo de código abierto desarrollado por cientos de programadores de todo el mundo y liderado por Linus Torvalds, con el objetivo de promover el software libre.
2) El documento describe brevemente la historia de Linux y cómo se ha desarrollado desde que Torvalds lo creó originalmente en la Universidad de Helsinki.
3) También discute los tipos de licencias de software libre como la GPL y cómo estas licencias permiten la modificación y redistribución del
Este documento presenta información sobre Linux. Se menciona que Linux fue creado por Linus Torvalds y cientos de programadores para ser un sistema operativo de código abierto. Explica algunas ventajas de Linux como ser gratuito, personalizable y seguro. También cubre temas como licencias de software libre como GPL y tipos de licencias.
Este documento describe cómo colaborar con el proyecto Debian. Explica que Debian es un sistema operativo libre desarrollado por voluntarios de todo el mundo siguiendo principios como la libertad del software. Ofrece varias formas de contribuir como empaquetar software, traducir documentación, reportar errores o donar equipos. También describe el proceso para adoptar paquetes huérfanos, empaquetar software nuevo y convertirse en mantenedor oficial de Debian.
Este documento presenta una introducción al curso de Python, incluyendo la instalación de herramientas como Anaconda, PyCharm y Visual Studio Code, y cómo probar Python a través de ellas. También describe por qué Python es un popular lenguaje de programación y las aplicaciones que se pueden desarrollar con él.
Este documento describe cómo crear programas Java con interfaces gráficas (GUI) utilizando herramientas de código abierto como GCJ, Glade y GTK. Explica los conceptos básicos de Java y las máquinas virtuales, y proporciona instrucciones para instalar las herramientas necesarias como GCJ, CLASSPATH, Glade y GTK y crear programas Java con GUI en Linux.
El documento describe el proyecto openSUSE, una distribución de software libre de código abierto. Los objetivos del proyecto son desarrollar una distribución de código abierto, atraer desarrolladores de la comunidad, y hacer de openSUSE la mejor distribución. El proyecto proporciona infraestructura como wiki, listas de correo e IRC, y lanza nuevas versiones cada ocho meses con actualizaciones de seguridad gratuitas durante dos años.
FLISOL 2012 @ UNQ - Software libre para programadoresNahuel Garbezza
Este documento habla sobre el software libre y su importancia para los programadores. Explica que el software libre permite el acceso al código fuente, aprender cómo funcionan las cosas y mejorar las herramientas existentes. También describe cómo la Universidad Nacional de Quilmes utiliza el software libre en su programa de Tecnicatura en Programación, incluyendo herramientas como Git y SVN. Resalta las ventajas del software libre como mayor libertad, comunidades activas, bajos costos y soberanía tecnológica.
Este documento presenta una introducción a varios lenguajes de programación como PHP, Javascript y Python. Explica brevemente qué es cada lenguaje, sus características y ventajas. También describe las diferencias entre Java y Javascript, y menciona otros temas como el perfil del programador, el proceso de producción de programas y las ramas de la programación.
GanttPV es un software libre y de código abierto para la gestión de proyectos. Permite a los gerentes definir tareas, duraciones, dependencias y fechas de inicio para crear un gráfico de Gantt. También permite asignar recursos y horas a tareas, calcular métricas como la ruta crítica, y monitorear la productividad y gastos. GanttPV es fácil de instalar y usar, funciona en múltiples plataformas, y se ofrece bajo la licencia GPL.
Este documento introduce Python y sus características básicas. Python es un lenguaje de programación interpretado, multiplataforma y multiparadigma. Se caracteriza por ser sencillo, flexible y de código abierto. El documento también explica cómo instalar Anaconda para usar Python e IDEs como Spyder, y ofrece una introducción a conceptos básicos como objetos, variables y operaciones matemáticas en Python.
Este documento describe las características, requisitos, ventajas e inconvenientes del lenguaje de programación Python. Incluye un ejemplo de programa sencillo del juego del ahorcado que mantiene estadísticas de partidas jugadas, ganadas y perdidas. Finalmente, proporciona referencias sobre Python.
Este documento presenta una introducción a Laravel, un popular framework PHP de código abierto para el desarrollo rápido de aplicaciones web. Explica qué es Laravel, sus características, ventajas y filosofía. También cubre conceptos fundamentales como MVC, Eloquent ORM, migraciones, seeders, controladores, rutas y vistas. Finalmente, describe los pasos para configurar un entorno de desarrollo local con Laravel.
Este documento presenta una introducción al lenguaje de programación Python. Explica conceptos como la arquitectura de un computador, sistemas operativos, lenguajes de programación, compiladores e intérpretes. Luego se enfoca en Python, describiendo sus características, versiones, implementaciones como CPython e IDEs como Wing IDE y PyCharm. Finalmente, proporciona referencias y consejos para aprender Python.
Anjuta es un entorno de desarrollo integrado (IDE) para C y C++ en Linux que incluye un editor de código, compilador, depurador y diseñador de interfaz gráfica. Fue creado en 1999 y ha evolucionado para incluir características como gestión de proyectos, asistentes de aplicaciones y navegador de documentación. Es de código abierto y multiplataforma, con la última versión siendo compatible con Linux y BSD.
Este documento introduce el lenguaje de programación C. Explica la arquitectura de un computador y diferentes sistemas operativos. Luego describe los diferentes tipos de lenguajes de programación, incluyendo lenguajes de máquina, de bajo nivel, de nivel intermedio y de alto nivel. Finalmente, se enfoca en el lenguaje C, su historia, características y cómo crear un programa simple en C usando un entorno de desarrollo integrado.
El documento contiene información sobre diferentes temas relacionados con la programación, incluyendo las definiciones de programador, analista, diseñador, ramas de programación, factores de calidad de software, programación colaborativa, software libre, PHP, JavaScript, Java, Python y sus características y ventajas.
PHP es un lenguaje de programación creado para desarrollar páginas web dinámicas e interactivas. Se puede incrustar en código HTML para crear sitios web que accedan a bases de datos y otras funciones. Aunque se ejecuta principalmente en servidores, el código PHP genera páginas web para que las vea el usuario. Es un software libre, multiplataforma y orientado a facilitar el desarrollo web.
Este documento presenta una selección de aplicaciones libres y de código abierto para el sistema operativo Kubuntu, organizadas por categorías como Internet, Ofimática, Multimedia, Latex, Cálculo, Juegos y Sistema. Incluye breves descripciones funcionales de aplicaciones populares como Firefox, Thunderbird, LibreOffice, GIMP, VLC y Blender. El documento fue creado completamente con software libre y está licenciado bajo Creative Commons.
Forjas de Software: qué son y para que sirvenIñaki Arenaza
Este documento describe las forjas de software y repositorios de código en la nube, que son plataformas web que permiten el desarrollo colaborativo de software a través de Internet. Explica algunas de las principales plataformas como GitHub, GitLab, Bitbucket y Google Code, y sus funcionalidades como alojamiento de código, seguimiento de errores, wikis y listas de distribución. Finalmente, proporciona enlaces de demostración para crear repositorios en Google Code y GitHub.
El documento compara el software libre y propietario, indicando que el software libre otorga cuatro libertades esenciales a los usuarios mientras que el propietario limita su uso, modificación y redistribución. También describe las ventajas y desventajas del software libre, define GNU/Linux como un sistema operativo libre y de código abierto, y explica el objetivo de la Licencia Pública General de GNU de garantizar la libertad de compartir y modificar software libre.
Este documento resume la historia y funcionamiento del proyecto Debian, la distribución de Linux más popular. Comenzó en 1993 y ha crecido a tener más de 14,000 paquetes de software libre y 230 millones de líneas de código, desarrollado por voluntarios de todo el mundo. Debian sigue un Contrato Social enfocado en mantener el software completamente libre y proporcionar la mejor experiencia de usuario posible. El documento también explica cómo las personas pueden contribuir al proyecto a través de la traducción, documentación, donaciones y el desarrollo de
Manual de Ubuntu Capitulo 01, Sistema operativo libre, que explica como funciona, de una manera clara concisa y amanea que va a permitir que te familiarices con él, de una forma cómoda y muy clara. Imprescindible para ir conociendo Linux
Similar a Introduccion al desarrollo con Launchpad (20)
1. Introducción al desarrollo con
Denis Fuenzalida
<denis.fuenzalida@gmail.com / @dfuenzal>
01 de Octubre 2011
2. Acerca de mí
● Casi 10 años desarrollando
aplicaciones [web]
● Primero programando en Perl, luego
Java, Python … ultimamente Groovy
y Ruby
● Usuario de Ubuntu desde 2005,
colaborador esporádico
(traducciones, foros, blog)
● Varios pequeños proyectos
liberados en la web
● Actualmente, colaboro como editor
en www.ManzanaMecanica.org
3. Acerca de la audiencia
¿Conoces acerca del software libre?
¿Usuario de software libre?
¿Alguna experiencia en programación?
¿Usuario de Linux? ¿Debian? ¿Ubuntu?
4. ¿Qué es Launchpad?
●
Plataforma web para colaborar y alojar
proyectos de Software Libre*
●
Desarrollada para Ubuntu, pero funciona con
todo tipo de proyectos
●
www.launchpad.net
* También hay suscripciones para proyectos de software cerrado desde 250 dólares/año
5. Launchpad para colaboradores
●
Por mi interés en mejorar un proyecto
●
Averiguar cómo se realiza una tarea
●
Reportar un bug para que sea corregido
●
Solicitar que se agregue una funcionalidad a un
programa
●
Para que un proyecto esté disponible en mi idioma
o en uno que yo conozco
●
Ninguna de estas actividades requiere
conocimientos de programación
6. Launchpad para desarrolladores
●
Por mi interés en crear o ayudar a completar
un proyecto
●
Desarrollar un programa nuevo
●
Ayudar a programar a los desarrolladores de un
proyecto ya existente
●
Enviar una mejora a un proyecto que corrige un
bug
●
Para que un programa nuevo esté disponible para
instalarse en Ubuntu con facilidad (desde el
Centro de Software de Ubuntu)
7. Servicios disponibles en LP
● Bugs
● Reporte y seguimiento de errores
● Answers
● Servicio de asistencia en línea
● Base de Conocimiento
● Blueprints
● Propuestas y especificación de nuevas funciones
● Translations
● Traducciones del software a docenas de idiomas
● Code
● Alojamiento de código
● Repositorios PPA
8. Reporte y seguimiento de errores
●
Los errores se pueden reportar desde la misma aplicación
en la mayoría de los casos
11. Reporte y seguimiento de errores
● Suscribirse por mail a los cambios en un bug
● Marcar bugs como duplicados de otros
● Adjuntar archivos (videos, capturas de pantalla, logs)
● Adjuntar un parche que soluciona el problema
● Definir atributos
● Urgencia (desde “muy importante” → “bajo” y “no decidido”)
● Error o nueva funcionalidad (wishlist)
● Error ya está confirmado (triage)
● Se puede integrar con otros sistemas de otros equipos de
desarrollo: Bugzilla, Trac, Sourceforge, Google Code ...
14. Launchpad Blueprints
● Permite especificar ideas y tareas que se quieren
implementar en un proyecto
● Se pueden usar para definir la orientación del
proyecto, para ver en que etapa o hito se quiere
completar una idea o funcionalidad
15. Traducciones en Launchpad
●
Una de las funciones más potentes
●
No requiere conocimientos de
programación (sólo inglés)
●
Interfaz web
●
Reutiliza traducciones desde otros
proyectos
●
Se puede configurar de forma
completamente abierta o más restringida
(equipos de traducción)
●
Las traducciones se pueden descargar o
integrar a una rama (branch) de código
de forma automática
19. Alojamiento de código en LP
●
Utiliza Bazaar (bazaar.canonical.com),
pero se puede importar código de
otras fuentes (Google Code,
Sourceforge, SVN...)
●
Desarollo distribuido (similar a Git,
Mercurial, etc.)
●
Se puede tener código
personal/experimental y ramas de
desarrollo oficiales de un proyecto
●
Se puede operar con línea de
comandos o con herramientas de
escritorio (a-la TortoiseSVN...)
20. Alojamiento y construcción de proyectos
●
En Ubuntu (y en casi todas las distribuciones de
Linux), los programas se instalan en forma de
paquetes de software
●
Paquete de software = Archivos + Metadatos
●
Los metadatos indican:
●
Sección del catálogo al que pertenece este programa o paquete
(utilidades, oficina, web, juegos...)
●
Dependencia en otros paquetes (y versiones)
●
Pasos a seguir en la instalación (y desinstalación)
●
Otros: Autor(es), licencia, página web, etc.
21. Alojamiento y construcción de proyectos
●
Los programas provienen
de los repositorios en CD,
DVD o de repositorios en
línea
●
Se pueden agregar
repositorios llamados PPA
(Personal Package Archive)
que están alojados en
Launchpad
●
Centro de software → Editar → Orígenes del Software
●
$ sudo add-apt-repository ppa:usuario/repositorio
22. Alojamiento y construcción de proyectos
●
Launchpad permite construir y distribuir programas que no
forman parte de la distribución oficial de Ubuntu
●
Sin problemas de hosting, ni de ancho de banda
●
Permite generar paquetes de software firmados digitalmente
y para diferentes procesadores (32 y 64 bits)
●
Puedo crear versiones optimizadas de programas ya
existentes, o empaquetar versiones más nuevas que las que
están disponibles ahora o de programas ya no soportados
23. Alojamiento y construcción de proyectos
●
Se obtiene el código del
proyecto y se prepara para que
sea instalable
●
Se agregan metadatos para que
se pueda convertir en un
paquete de software
(debianización)
●
Se sube a Launchpad para su
construcción automática y
despliegue en nuestro
repositorio PPA
24. Alojamiento y construcción de proyectos
●
Se obtiene el código del proyecto y se prepara
para que sea instalable
$ git clone https://github.com/dfuenzalida/gedit-git-branch-statusbar
$ mv gedit-git-branch-statusbar gedit-git-branch-statusbar-1.0
$ cd gedit-git-branch-statusbar-1.0
# Generar archivos para paquete .deb
$ dh_make -c gpl -e denis.fuenzalida@gmail.com -s --createorig
25. Alojamiento y construcción de proyectos
●
Se agregan metadatos para que se pueda convertir
en un paquete de software (debianización)
26. Alojamiento y construcción de proyectos
●
Se sube a LP para su construcción automática
y despliegue en nuestro repositorio PPA
# Creo un paquete de código fuente con mi firma digital
$ debuild -S -sa -kADF0F1AD
. . .
Successfully signed dsc and changes files
$ cd ..
$ dput ppa:denis-fuenzalida/ppa gedit*.changes
. . .
Uploading to ppa (via ftp to ppa.launchpad.net):
Uploading gedit-git-branch-statusbar_1.0-1.dsc: done.
Uploading gedit-git-branch-statusbar_1.0.orig.tar.gz: done.
Uploading gedit-git-branch-statusbar_1.0-1.debian.tar.gz: done.
Uploading gedit-git-branch-statusbar_1.0-1_source.changes: done.
Successfully uploaded packages.
27. Alojamiento y construcción de proyectos
●
Se sube a LP para su construcción automática
y despliegue en nuestro repositorio PPA
28. Alojamiento y construcción de proyectos
●
Para que otros usuarios instalen los
programas de nuestro PPA:
●
Centro de Software de Ubuntu → Orígenes
del software → Otro software
29. Quickly
●
Nueva herramienta para el desarrollo rápido de aplicaciones
de escritorio
●
Python, GTK, Gedit, Glade, Bazaar y Launchpad en un paquete
más integrado
●
Ver más en developer.ubuntu.com/get-started/
30. Sitio de desarrolladores de Ubuntu
●
Recién estrenado: developer.ubuntu.com
●
Tutoriales sobre las tecnologías disponibles
para desarrollo de aplicaciones
●
Cómo crear un reproductor multimedia con Python
y GTK