Fundamentos de GNU/Linux para Desarrolladores de
Software
Identificación del Documento
1 Lugar y fecha
San Cristóbal, 24 de abril de 2014
2 Código del documento 3 Tipo de documento 4 Versión
TE-FUNLINDEV-01 Temario de entrenamiento tecnológico 1
5 Nombre del documento
Fundamentos de GNU/Linux para Desarrolladores de Software
6 Uso
Próximo escalón: empezando a poner manos a la obra 5
Un poco más arriba: cómo poner manos a la obra, en equipo 5
Cierre y conclusión 6
Audiencia 6
Cantidad de horas 6
4.Consideraciones 6
Fundamentos de GNU/Linux para Desarrolladores de
Software
1. Introducción
Existen varias plataformas sobre las que se puede desarrollar software, siguiendo las mejores prácticas recomendadas a nivel global. ¿Por qué es atractivo el desarrollo de software sobre distribuciones basadas en GNU/Linux? ¿Qué ventajas puede aprovechar un desarrollador? ¿Cuáles herramientas del sistema debe manejar el programador para llegar a un nivel en el que su productividad se incremente y ponga de manifiesto en cada proyecto en que participe? Este curso de Fundamentos de GNU/Linux para Desarrolladores de Software
busca dar respuesta a estas y otras interrogantes, llevando las habilidades del participante a un nivel más elevado, uniendo la teoría y la práctica a través de situaciones aplicables a lo que un desarrollador debe enfrentar en su día a día.
2. Objetivo del entrenamiento
Lograr que el participante aprenda, comprenda e internalice la forma de trabajo sobre un ambiente GNU/Linux, a través del uso apropiado de los recursos y funcionalidades que le ofrece el sistema operativo.
Un fin secundario, aunque no por ello menos importante, es la filosofía del trabajo en equipo para desarrollar software que implique el apoyo a una meta organizacional, aspecto imprescindible en nuestra actualidad.
3. Temario
3.1. Lo mínimo que todos debemos conocer
1. La historia de Linux y de GNU/Linux 2. La filosofía Unix o the Unix way
3. El rol de diversas distribuciones basadas en GNU/Linux
4. Comprendiendo la arquitectura del sistema operativo, incluyendo los roles y opciones de los entornos gráficos
8.3. Sistemas de archivos y permisos de acceso
8.4. Comandos de shell muy poderosos y que economizarán mucho tiempo y esfuerzo al desarrollador de software
8.5. Gestión de procesos
9. El arranque del sistema y la gestión de servicios
10. Gestión de software a través de la línea de comandos
11. Entendiendo el uso de los componentes principales del sistema: memoria principal, swap y almacenamiento secundario.
12. Conectividad de red y herramientas esenciales
13. ¿Qué está pasando o ha sucedido en el sistema? Importancia de los archivos de bitácora
14. Tipos de aplicaciones: scripts, aplicaciones de escritorio y aplicaciones web
3.2. Próximo escalón: empezando a poner manos a la obra
1. ¿Qué lenguajes de programación puedo utilizar y aprovechar? 2. ¿De cuáles sistemas de gestión de bases de datos puedo disponer? 3. Examinando algunas aplicaciones de ejemplo con fines ilustrativos 4. Empezando a unir las piezas: desarrollando una aplicación web básica
3.3. Un poco más arriba: cómo poner manos a la obra, en equipo
1. Sin un sistema de control de versiones el desarrollo irá hacia el caos (más temprano que tarde)
2. Los conceptos subyacentes tras un sistema de control de versiones y su respectiva puesta en práctica
Fundamentos de GNU/Linux para Desarrolladores de
Software
5. El rol de las pruebas automatizadas y su importancia (mención introductoria)
3.4. Cierre y conclusión
1. Listado de otras aplicaciones utilitarias que también economizarán mucho tiempo y esfuerzo
2. Próximos temas para estudiar
1. Virtualización y configuraciones típicas para interactuar con sistemas operativos invitados
2. Frameworks para desarrollo de aplicaciones
3. Un arma poco conocida, pero muy potente, para contar con entornos de desarrollo portables y reproducibles (e incluso desechables)
Audiencia
Desarrolladores de software o usuarios expertos que trabajan sobre otros sistemas operativos, sin experiencia o con poca experiencia trabajando en un ambiente basado en GNU/Linux.
Se recomienda que cada participante domine los contenidos presentes en la capacitación denominada GNU/Linux Usuario Final.
Cantidad de horas
20 horas (de 60 minutos cada una)
4. Consideraciones
• Se requiere que las estaciones de trabajo (PC o laptop) de los participantes posean
GNU/Linux Ubuntu/Debian.
• Para que la experiencia de uso del entorno de desarrollo de software sea fluida y dinámica es muy recomendable, prácticamente un requisito, que la estación de trabajo usada por el programador tenga abundante memoria RAM (mínimo unos 4
5. Información de contacto
E-mail de OpenSinergia [email protected] Sitio web www.opensinergia.com
Dirección Nº 1-63, carrera 10 entre calle 1 y avenida 19 de Abril. Sector La Concordia.
San Cristóbal – Estado Táchira – Venezuela