Utilización y administración avanzadas de sistemas GNU/Linux y aplicaciones Software Libre para estudiantes universitarios Recursos de programación en.

Slides:



Advertisements
Presentaciones similares
Esta obra está bajo una licencia de Creative Commons.
Advertisements

Plataforma Microsoft.NET
SQL. PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
F RAMEWORKS DE DESARROLLO JAVA,.NET Deisy Pérez Sánchez.
LINUX XIOMARA BLANCO. LINUX GNU/Linux es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a Unix denominado.
Presentado por: Ing. Manuel Rodríguez Coria. Software Freedom Day 26 de Septiembre de 2009Ing. Manuel Rodríguez Coria Quien Soy? Ing.
PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
Cristian Fonnegra Marin
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Ingeniería de Software Andrés Salinas Bendeck
PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
¿ Por que utilizar Java y la POO
Descripción Sistema Operativo Es el software mas importante del sistema, ya que, se encarga de administrar todos los recursos computacionales como: -Asignación.
Lenguajes de programación Web Juan Felipe Muñoz Fernández.
PROGRAMACION EN JAVA, NETBEANS Y GNU/LINUX Victor Leonel Orozco Con información y material del netbeans world tour
Administración de un proyecto de Software Libre: FAVS Jesús Sánchez Sánchez F AVS.
Alfa21 Outsourcing S.L. Un ejemplo de modelo de negocio basado en Software Libre 13 de julio de 2006
Soluciones en Software Libre Taller de Arquitectura de Software.
CMS ABIERTO Y CMS CERRADO MARÍA CAMILA MUÑOZ U TATIANA ARIAS CHAPARRO U CAROLINA FIGUEROA U
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
APACHE LICENSE Ronald Chacón Carlos López Leonardo Páez Adriana Rodríguez Universidad De La Salle Bogotá, Agosto 18 de 2011.
Herramientas para la elaboración de Reportes María del Carmen Castillo Consultora de Sistemas Guate-JUG
Seminario Internacional de Software Libre aplicado a la Educación Quito, Ecuador Burkhard Vogel, Andean-NetService / Yagé Software Libre.
INTRODUCCIÓN A VB.NET YESENIA ESCOBAR. .NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia.
UTFSM-Electrónica 1 Fundamentos de Java Agustín J. González Programación de Sistemas: ELO-330.
Fenando Quintero
¿Qué es GNU/Linux? Camilo Quintana, Miembro de GUL-UCA
T APESTRY Framework Java para Aplicaciones Web. Q UÉ ES T APESTRY Framework de Java, actualmente en su versión 5 (5.1 estable, 5.2 alpha) Implementa MVC.
Primer Taller de desarrollo con Software Libre Posadas - Misiones José Luís Di Biase Héctor Daniel Sanchez
Ciclope Weather Web Services ● Que tenemos – – RSS: (No Web.
David Chacón Muñoz. Servidor de Streaming Es la retrasmisión multimedia (audio y video) a través de la red. Actualmente hay dos grandes plataformas de.
Administración de la configuración (SCM) Introducción Control de versiones Analisis y diseño USAC Por: Víctor Orozco
COMUNICACIÓN Y TICS Károl Fernanda Barragán M. Jennylith Dayana Ardila P. Wendy Paola Pinto F.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
Sistema Online de Firma Electrónica
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
Iniciación a Android Dia 1: Instalación Android Studio - 1h
Linux y el Software Libre
Entornos y Tecnologías de Desarrollo en el Software Libre
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Introducción a Javascript
Agustín J. González Programación de Sistemas: ELO-330
LENGUAJE DE PROGRAMACIÓN Y SOFTWARE PROPIETARIO
MODELO CLIENTE -SERVIDOR
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
EDWIN SANTIAGO YACELGA MALDONADO SANGOLQUÍ – ECUADOR 2016
Lenguajes de programación Lara Pedraza Cindy Denise Alvarez Guzman Marco Antonio Reyes Valdespino Israel ALA Gomez Cañedo natanael.
Tecnología de la Información Software
KUbuntu Carlos Torres Denis González 7 de septiembre de 2015.
SOFTWARE. Es el soporte lógico e inmaterial que permite que la computadora pueda desempeñar tareas inteligentes, dirigiendo a los componentes físicos.
Tecnología de la Información Profesora Ariana Rosenthal Software
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
Avalos Vega Claudia Judith
R.A 2.1:EDITORES Y PROCESADORES DE TEXTO
PREZI.
INTRODUCCIÓN A JAVA.
Faber Orozco PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
La historia de Linux comienza mucho antes de lo que mayoría de personas piensan ya que en 1969, Ken Thompson de AT&T Bell laboratorios, desarrollo el.
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Unix es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios. Permite a los usuarioscorrer sus programas.
TIPOS DE SISTEMAS OPERATIVOS ● Sistemas Operativos de multiprogramación (o sistemas operativos de multitarea). ● Sistemas Operativos distribuidos. ● Sistemas.
Características Generales y Entornos de Desarrollo
Java Enterprise edition
Servidor de Reportes basado en Tecnología Java y XML
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Prepa Yucatán Mons. Luis Miguel cantón Marín Nombre de editores gratuitos de HTML, CSS y JavaScript Timna Jiménez Pérez.
Arquitectura Aplicaciones Web
Ingeniería de Sistemas. Programación II Python ¿Qué es Python? Python es un lenguaje de programación creado por Guido Van Rossum a principios de los.
AUTOR: SALGADO ESCOBAR STALIN SEBASTIAN DIRECTOR: ING. JOSE SANCHO
Transcripción de la presentación:

Utilización y administración avanzadas de sistemas GNU/Linux y aplicaciones Software Libre para estudiantes universitarios Recursos de programación en GNU/Linux Ramón Rey Vicente

Recursos de programación en GNU/Linux ● Lenguajes ● Frameworks ● Entornos de desarrollo ● Otros recursos ● Colaborando

Lenguajes ● C ● C++ ● Java / C# ● Python / Perl / Ruby ● Otros: Objective-C, Fortran, Eiffel, Haskell

C ● La base de GNU/Linux y UNIX ● Gran cantidad de bibliotecas ● glibc, GCC

C++ ● Permite usar muchos de los recursos disponibles en C ● Problemas de estandarización de compiladores ● Ventajas en el diseño e implementación de aplicaciones ● GCC

Java ● Ya es libre !!! ● Existen implementaciones ajenas al control de SUN ● Independiente de plataforma, en teoría ● El mejor camino para migrar de entornos de desarrollo privativos a entornos libres ● JDK, GCJ

C# ● “Java” de Microsoft ● MONO ● Buen framework de desarrollo, moderno ● Intenta seguir a Microsoft con su.NET ● Incompleto, siempre por detrás ● Complicado migrar de MONO a.NET y viceversa

Python ● Multiplataforma ● Dinámico ● Orientado a objetos ● Sencillo ● Web y escritorio

Perl ● Multiplataforma ● Hereda features de C, sh, Awk ● Potente manejo de XML ● Fácilmente trabaja con C/C++ ● DBI, simplifica accesoa BBDD

Ruby ● Multiplataforma ● Dinámico ● Javascript + Python + Java ● Fácil extender en C

Otros ● Haskell ● Eiffel ● Fortran ● R ● ML ● Objective-C

Frameworks ● Java ● Mono /.NET ● QT / KDE ● Gtk+ / GNOME

Java ● Bytecode ● Recolector de basura ● JDBC, acceso a bases de datos ● aplicaciones web, servlets ● introspección, plantillas ● manejo de xml, cifrado y seguridad ● programación distribuida

Java (II) ● Swing/AWT para aplicaciones gráficas ● Soporte de Ruby además de Java ●... hasta tiempo real

Mono /.Net ● clon de Java ● integra XML, multihilo, seguridad y cifrado ● interfaz gráfica con gtk#/gnome# ● sopora Python, Perl, Javacript, VB.net, Java, etc además de C# ● no es recomendable para multiplataforma

QT / KDE ● creación de aplicaciones gráficas QT/KDE ● manejo de multihilo ● XML ● red ● tipos básicos portables ● KDE: multimedia, manejo de archivos, componentes con dcop

gtk+ / GNOME ● creación de aplicaciones gtk/GNOME ● tipos básicos portables (glib) ● manejo de gráficos, animaciones ● GNOME: manejo de archivos, multimedia (gstreamer),

Entornos de desarrollo ● Eclipse ● Netbeans ● Anjuta ● Kdevelop ● Vim / Emacs

Eclipse ● multiplataforma ● toolkit propio SWT, nativo para cada plataforma ● soporta Java, C++, PHP, a través de plugins ● soporta múltiples SCM ● editores visuales (incompletos)

Eclipse (II)

Netbeans ● Java, C++ y Ruby ● Editor visual de aplicaciones Java ● Muy extensible: plugins ● Multiplataforma ● Requiere bastantes recursos

Netbeans (II)

Anjuta ● Orientado a gtk+/GNOME ● Integración con autotools (automake, autoconf, etc) ● Integración con gdb ● Soporte para Pascal, Perl, Java, por archivo ● Ligero, ideal para máquinas modestas

Anjuta (II)

GLADE

Kdevelop ● Orientado a QT/KDE ● Gran soporte de C++ ● Soporta C, Java, Pascal, PHP, Ruby, etc ● Integración con autotools, qmake y ant ● Ligero

Kdevelop (II)

Vim ● Editor con muchas posibilidades ● Soporta virtualmente cualquier lenguaje ● Únicamente para editar código ● Obliga a conocer autotools, etc ● Ideal para máquinas muy modestas

Vim (II)

Emacs ● Editor altamente extensible ● Soporta cualquier lenguaje ● Integración con sistemas de control de versiones, compiladores, debuggers, etc ● Es un IDE sin ser IDE

Emacs

Otros recursos ● SCM: control de versiones ● Buscando software ● Alojamiento ● Licencias

SCM ● “Gestión del código fuente” ● “Control de versiones” ● SVN, el “bueno” ● git, arch, bazaar, los “feos” ● CVS, el “malo”

Subversion (SVN) ● Desarrollo centralizado ● Sencillo ● “Compatible” con comandos del CVS ● Soporta directorios ● El nuevo estándar para los habituados al CVS

CVS ● Desarrollo centralizado ● Sencillo ● Muy estable ● Un “estándar” ● Obsoleto

SCM´s distribuidos ● git ● arch ● bazaar

git ● sencillo ● complejo ● potente ● flexible ● escalable

Buscando software ● Freshmeat ● Sourceforge ● Directorio del proyecto GNU ● Savannah ● Proyecto Debian ● GNOME, KDE,...

Alojamiento ● Savannah ● Sourceforge

Licencias ● GPL “todos somos iguales ante el código” ● LGPL “somos iguales excepto los desiguales” ● BSD / MIT X11 “somos iguales los que queremos serlo”

Colaborando ● Elegir un proyecto ● Elegir un módulo o componente ● Elegir un tarea o bug ● Desarrollar la solución ● Exponerla a los miembros del proyecto ● Reimplementar

Elegir un proyecto ● Según lenguaje de programación ● Según la licencia ● Según el tamaño ● Según la ayuda y la comunidad creada

Elegir un módulo ● Según el nivel de cada uno ● Sencillez para empezar ● Pensar funcionalidades no presentes

Elegir una tarea ● Bugzilla ● TODO ● Roadmap ● Bounties (€)

Implementar solución ● Seguir las convenciones y guías de estilo ● Realizar los cambios mínimos necesarios en el código de los demás ● El software libre no es solo Linux ● Considerar la licencia del proyecto

Mostrar el trabajo ● Mostrar el trabajo a la comunidad ● Buscar la aceptación del mantenedor del proyecto ● Modificar y reimplementar todo en función de la respuesta ● Trabajo colaborativo

Reimplementar ● Aceptar las críticas ● Argumentar las decisiones ● Buscar la excelencia técnica ● Y finalmente, conseguir que acepten el parche

Fin

Licencia Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 España