Este documento proporciona una introducción al sistema de control de versiones distribuido Git. Explica que Git puede usarse para gestionar trabajo en grupo y desplegar aplicaciones, aunque también incluye clientes gráficos para aquellos que prefieren no usar la línea de comandos. Además, describe cómo crear un repositorio Git, clonar repositorios existentes en GitHub, realizar confirmaciones y fusiones, y utilizar las funciones de GitHub como problemas e hitos para organizar el trabajo.
Guía de Referencia de Git, Herramientas y Clientes Windows, ideal para programadores que quieran inicarse en el control de sus proyectos bajo control de versiones distribuidos
Guía de Referencia de Git, Herramientas y Clientes Windows, ideal para programadores que quieran inicarse en el control de sus proyectos bajo control de versiones distribuidos
Esta es una breve introducción a git y gitHub. En ella se tratan muchos temas de manera conceptual y no detallada, y se omiten algunos temas importantes; pero es más que suficiente para empezar a trabajar con git y a partir de aquí ampliar esta introducción.
La razón de utilizar eclipse para la presentación, es que sea más fácil de entender los conceptos de git, para dejar la base para después empezar a trabajar con git en consola.
Aquí está un manual un poco más detallado, que permitirá empezar a trabajar con git, utilizando GitHub como servidor git: http://es.slideshare.net/MiguelAscanioGmez/manual-y-git-github
En muchos tutoriales de git se ignoran cuestiones importantes. Por ejemplo, la configuración de claves e identidad del usuario son cosas cruciales para una buena experiencia con git.
En esta presentación se explica el proceso desde cero, orientado tanto a quienes quieren usarlo desde consola, como a desarrolladores que deseen emplearlo desde Eclipse.
Los ejemplos tratan de emular un proceso de desarrollo real basado en ramas, con conflictos entre diferentes desarrolladores.
Curso: Publicando mi proyecto web en GithubCarlos Huamaní
Este taller está diseñado para entrenar a aquellos interesados en publicar código de aplicaciones así como sitios web estáticos, tengan o no conocimientos previos de Git. Es una sesión presencial donde se presentarán conceptos alrededor del Control de Versiones aplicados al desarrollo web. Al finalizar los estudiantes estarán en capacidad de publicar proyectos web en Github.
Herramientas de trabajo para entorno LAMP.
- Gestión de proyectos
- Herramientas de desarrollo (IDE)
- Entorno: LAMP
- DevOps
- Repositorio de código
- Despliegue
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
Git es un sistema de control de versiones distribuido. Jenkins es un sistema de integración contínua.
Esta presentación es el material de un seminario de impartido por Juan José Fidalgo de @paradigmate el 17 de mayo del 2012 en Escuela Politécnica Superior de la Universidad CEU San Pablo en Madrid.
La aplicación práctica de la presentación se sigue mejor con un cliente por línea de comandos, por ejemplo con el plugin eGit en el entorno de desarrollo Eclipse.
Más información en http://www.paradigmatecnologico.com/git-y-jenkins-el-futuro-en-la-gestion-del-ciclo-de-vida-de-aplicaciones/ y http://www.javahispano.org/portada/2012/4/25/seminario-gratuito-sobre-git-y-jenkins.html
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? emateucr
En el desarrollo en documentos de LaTeX (tesis, libros, artículos, etc.), el manejo eficiente de los cambios es una tarea vital. Es una tarea aún más importante si se necesita compartir esos archivos con terceros.
Git es un sistema controlador de versiones que fue concebido para solucionar estos problemas.
Esta charla es una introducción al sistema Git en archivos LaTeX. Este permite opciones interesantes como la edición en paralelo de archivos y la facilidad para compartir documentos.
-- Coloquios Escuela Matemática UCR.
Administrar las versiones del código fuente de tus programas puede facilitarles la vida no sólo a ti, sino a tu equipo, y a toda la gente que se involucre con él a lo largo del tiempo. Los versionadores son herramientas muy útiles hoy en día para proyectos de software de todos los tipos, en particular los proyectos de software libre se ven muy beneficiados con estas herramientas. Git es una de ellas, y el sitio Github una forma muy popular de usarla.
Recomendable descargarla por las animaciones de las diapositivas, que se aprecian mejor a verlas estáticas.
Codigo fuente del ejemplo: https://github.com/jstitch/helloworld
Esta es una breve introducción a git y gitHub. En ella se tratan muchos temas de manera conceptual y no detallada, y se omiten algunos temas importantes; pero es más que suficiente para empezar a trabajar con git y a partir de aquí ampliar esta introducción.
La razón de utilizar eclipse para la presentación, es que sea más fácil de entender los conceptos de git, para dejar la base para después empezar a trabajar con git en consola.
Aquí está un manual un poco más detallado, que permitirá empezar a trabajar con git, utilizando GitHub como servidor git: http://es.slideshare.net/MiguelAscanioGmez/manual-y-git-github
En muchos tutoriales de git se ignoran cuestiones importantes. Por ejemplo, la configuración de claves e identidad del usuario son cosas cruciales para una buena experiencia con git.
En esta presentación se explica el proceso desde cero, orientado tanto a quienes quieren usarlo desde consola, como a desarrolladores que deseen emplearlo desde Eclipse.
Los ejemplos tratan de emular un proceso de desarrollo real basado en ramas, con conflictos entre diferentes desarrolladores.
Curso: Publicando mi proyecto web en GithubCarlos Huamaní
Este taller está diseñado para entrenar a aquellos interesados en publicar código de aplicaciones así como sitios web estáticos, tengan o no conocimientos previos de Git. Es una sesión presencial donde se presentarán conceptos alrededor del Control de Versiones aplicados al desarrollo web. Al finalizar los estudiantes estarán en capacidad de publicar proyectos web en Github.
Herramientas de trabajo para entorno LAMP.
- Gestión de proyectos
- Herramientas de desarrollo (IDE)
- Entorno: LAMP
- DevOps
- Repositorio de código
- Despliegue
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
Git es un sistema de control de versiones distribuido. Jenkins es un sistema de integración contínua.
Esta presentación es el material de un seminario de impartido por Juan José Fidalgo de @paradigmate el 17 de mayo del 2012 en Escuela Politécnica Superior de la Universidad CEU San Pablo en Madrid.
La aplicación práctica de la presentación se sigue mejor con un cliente por línea de comandos, por ejemplo con el plugin eGit en el entorno de desarrollo Eclipse.
Más información en http://www.paradigmatecnologico.com/git-y-jenkins-el-futuro-en-la-gestion-del-ciclo-de-vida-de-aplicaciones/ y http://www.javahispano.org/portada/2012/4/25/seminario-gratuito-sobre-git-y-jenkins.html
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? emateucr
En el desarrollo en documentos de LaTeX (tesis, libros, artículos, etc.), el manejo eficiente de los cambios es una tarea vital. Es una tarea aún más importante si se necesita compartir esos archivos con terceros.
Git es un sistema controlador de versiones que fue concebido para solucionar estos problemas.
Esta charla es una introducción al sistema Git en archivos LaTeX. Este permite opciones interesantes como la edición en paralelo de archivos y la facilidad para compartir documentos.
-- Coloquios Escuela Matemática UCR.
Administrar las versiones del código fuente de tus programas puede facilitarles la vida no sólo a ti, sino a tu equipo, y a toda la gente que se involucre con él a lo largo del tiempo. Los versionadores son herramientas muy útiles hoy en día para proyectos de software de todos los tipos, en particular los proyectos de software libre se ven muy beneficiados con estas herramientas. Git es una de ellas, y el sitio Github una forma muy popular de usarla.
Recomendable descargarla por las animaciones de las diapositivas, que se aprecian mejor a verlas estáticas.
Codigo fuente del ejemplo: https://github.com/jstitch/helloworld
Jenkins - don't break my builds! is an introductory talk in spanish I gave at the PHP Conference 2013 in Argentina. I spoke about how I met Contintinuous Integration at Google in 2005, and how my experience has been since. I also gave tips on how to start using it in projects that have no "integration" to speak of (such as most PHP projects).
Linux containers and Docker specifically have revolutionized the way applications are run at scale, but testing can greatly benefit from those technologies too.Containers allow to run tests in isolation with a minimum performance penalty, increased speed with respect to virtual machine based tests and easier configuration and less complexity for integration testing. Testing with containers allows running tests in a new, clean environment for each execution, minimizing false positives and environment corruption. At the same time it allows reusing container clusters to run development, testing and production workloads.You will learn to effectively use Jenkins with Docker and Kubernetes, a multi host Docker clustering technology, to run your Jenkins jobs in isolated containers for each execution at scale.
http://www.agiletestingdays.com/session/using-docker-for-testing/
Java mission control para monitoreo, administración y profilig de aplicacione...César Hernández
Descripción de problemas comunes de monitoreo, administración y profilig de aplicaciones java. Introducción a Java Mission Control y la funcionalidad de Java Flight Recorder para poder identificar y prevenir dichos problemas.
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers GranadaJM Robles
JJ Merelo (@jjmerelo) nos cuenta las bondades de GIT para el desarrollo colaborativo de software y ¡libros!
También explica las grandes features que tiene GITHUB
Git - Iniciando la Administración de ContenidosGary Briceño
Git es una herramienta gratuita y de código abierto para el control de versiones en forma distribuida, diseñado para manejar desde un proyecto pequeño hasta un gran proyecto en forma rápida y eficiente. En esta presentación revisamos la instalación de Git.
Presentación introductoria sobre GIT como sistema distribuido de control de versiones. Introducción y vistazo rápido a comandos para iniciar con GIT en Ubuntu. Presentación a cargo de Simón Sánchez
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
Una presentación corta que me sirvió de apoyo durante una charla que di sobre git, por ello no esta completa del todo por que solo era un apoyo, pero espero que pueda ser útil.
Presentación realizada para demostrar los diferentes flujos de trabajo a la hora de realizar proyectos de software así como también buenas prácticas a la hora de colaborar
Como triunfar con tu proyecto en un hackatónJuan J. Merelo
Guía para los proyectos participantes en el hackatón de proyectos de la UGR, donde explicamos qué hacer para atraer colaboradores en el hackatón y, si es posible, conservarlos
Benchmarking languages for evolutionary computationJuan J. Merelo
A poster presented at ECTA/IJCCI 2016 with our research on evolutionary algorithms. Paper sources and data at https://github.com/geneura-papers/2016-ea-languages-PPSN/releases/tag/v1.0ECTA
Introducción a HDR y Tonemapping con LuminanceJuan J. Merelo
Una breve introducción al tratamiento de imágenes HDR con esta herramienta. Desde tonemapping con una sola imagen hasta creación de imágenes HDR mediante bracketing
Enforcing Corporate Security Policies via Computational Intelligence TechniquesJuan J. Merelo
Paper presented at the SecDef workshop @GECCO 2014, by Enforcing Corporate Security Policies via Computational Intelligence Techniques
Antonio Moral is the main author of the presentation
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...espinozaernesto427
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta intensidad son un tipo de lámpara eléctrica de descarga de gas que produce luz por medio de un arco eléctrico entre electrodos de tungsteno alojados dentro de un tubo de alúmina o cuarzo moldeado translúcido o transparente.
lámparas más eficientes del mercado, debido a su menor consumo y por la cantidad de luz que emiten. Adquieren una vida útil de hasta 50.000 horas y no generan calor alguna. Si quieres cambiar la iluminación de tu hogar para hacerla mucho más eficiente, ¡esta es tu mejor opción!
Las nuevas lámparas de descarga de alta intensidad producen más luz visible por unidad de energía eléctrica consumida que las lámparas fluorescentes e incandescentes, ya que una mayor proporción de su radiación es luz visible, en contraste con la infrarroja. Sin embargo, la salida de lúmenes de la iluminación HID puede deteriorarse hasta en un 70% durante 10,000 horas de funcionamiento.
Muchos vehículos modernos usan bombillas HID para los principales sistemas de iluminación, aunque algunas aplicaciones ahora están pasando de bombillas HID a tecnología LED y láser.1 Modelos de lámparas van desde las típicas lámparas de 35 a 100 W de los autos, a las de más de 15 kW que se utilizan en los proyectores de cines IMAX.
Esta tecnología HID no es nueva y fue demostrada por primera vez por Francis Hauksbee en 1705. Lámpara de Nernst.
Lámpara incandescente.
Lámpara de descarga. Lámpara fluorescente. Lámpara fluorescente compacta. Lámpara de haluro metálico. Lámpara de vapor de sodio. Lámpara de vapor de mercurio. Lámpara de neón. Lámpara de deuterio. Lámpara xenón.
Lámpara LED.
Lámpara de plasma.
Flash (fotografía) Las lámparas de descarga de alta intensidad (HID) son un tipo de lámparas de descarga de gas muy utilizadas en la industria de la iluminación. Estas lámparas producen luz creando un arco eléctrico entre dos electrodos a través de un gas ionizado. Las lámparas HID son conocidas por su gran eficacia a la hora de convertir la electricidad en luz y por su larga vida útil.
A diferencia de las luces fluorescentes, que necesitan un recubrimiento de fósforo para emitir luz visible, las lámparas HID no necesitan ningún recubrimiento en el interior de sus tubos. El propio arco eléctrico emite luz visible. Sin embargo, algunas lámparas de halogenuros metálicos y muchas lámparas de vapor de mercurio tienen un recubrimiento de fósforo en el interior de la bombilla para mejorar el espectro luminoso y reproducción cromática. Las lámparas HID están disponibles en varias potencias, que van desde los 25 vatios de las lámparas de halogenuros metálicos autobalastradas y los 35 vatios de las lámparas de vapor de sodio de alta intensidad hasta los 1.000 vatios de las lámparas de vapor de mercurio y vapor de sodio de alta intensidad, e incluso hasta los 1.500 vatios de las lámparas de halogenuros metálicos.
Las lámparas HID requieren un equipo de control especial llamado balasto para funcionar
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
12. Sin compromisos
git commit -a -m “Esto es un cambio”
Git @canubeproject 12
13. ¿Y tú de quién eres?
Generar pareja de claves y subirla
https://help.github.com/articles/generating-ssh-keys
Git @canubeproject 13
14. Empujando a los cambios
Git push origin master
Git @canubeproject 14
15. Antes de la existencia de GitHub
mkdir repo; cd repo; git init; touch README; git
add README; git commit -m “1st”
[Crear repo en GitHub]
git remote add origin
https://github.com/username/myrepo.git
Git @canubeproject 15
16. Mientras puede haber habido
algún cambio
git pull origin master
Git @canubeproject 16
17. ¡Hay un conflicto!
Aparece en el texto y se corrige
+ commit + push
Git @canubeproject 17
18. Hay que ponerse a trabajar
Los “issues” de GitHub están integrados con el git
Git @canubeproject 18
19. Hitos y asuntos
Los issues o tickets se organizan en hitos
(milestones)
Git @canubeproject 19
20. No se cierra hasta que no se
acaba
git commit -m “references o fixes o closes #xxx”
Git @canubeproject 20
21. Hay muchas más cosas
●
Fetch
●
Merge
●
Rebase
●
checkout
Git @canubeproject 21
22. Creando un fork
Y, además, añadiendo repositorios upstream (y
fusionando con el original)
Git @canubeproject 22
23. Integración continua
Github está integrado con Travis y permite hacer
integración continua
Git @canubeproject 23
24. Eso es todo
¿Alguna pregunta?
Git @canubeproject 24
Notas del editor
En general, desarrollo de software, pero también cualquier tipo de desarrollo
En general, desarrollo de software, pero también cualquier tipo de desarrollo
En general, desarrollo de software, pero también cualquier tipo de desarrollo
En general, desarrollo de software, pero también cualquier tipo de desarrollo
GitHub no es el único sistema gratuito (freemium, en realidad) de alojamiento de Git. También está Google Code, Sourceforge, Bitbucket (que te permite diferentes repos privados) o Gitorius (basado en un backend libre). Lo que ocurre es que GitHub es simplemente el mejor y por eso también el más popular.
Lo fácil es instalarlo en Linux, pero también puedes instalarlo para cualquier otro tipo de cliente y sistema de desarrollo. Por supuesto, también en emacs http://blog.art-of-coding.eu/using-git-and-github-in-emacs/ También hay clientes de Git no específicos de GitHub, pero no permiten aprovechar todas estas capacidades.
Pero generalmente se usa como si fuera un sistema centralizado. Eso no quiere decir que no se pueda usar como uno quiera. En general, se puede sincronizar ocn cualquier ordenador al que se tenga (o al que se dé) acceso
Repositorio = repo para los amigos. No hace falta crear un repositorio para empezar a trabajar, nos pueden añadir a otro. Pero empecemos así. Cuando diga si se va a crear un README, decidle que sí. En GitHub los proyectos son públicos por omisión. Sólo permiten un repositorio privado en las cuentas de pago o bien para enseñanza.
Mi repositorio de té abierto. Cada cual tendrá el suyo. Es importante tener en cuenta que un repositorio puede tener diferentes URLs con diferentes privilegios. Si se usa un cliente de Git o Github habrá que configurarlo con la dirección del repositorio y usar “clone” del menú. Esa es también la estructura de las órdenes de git Git + comando + url + rama Hay, por otro lado, diferentes formas de clonar un repositorio. En este caso lo hace usando ssh por debajo, lo que te permite más adelante subir los cambios sin necesidad de introducir la clave. Dependiendo del URL los privilegios serán diferentes. Por ejemplo, git:// será un clon de sólo lectura y https:// no te permitirá más adelante usar la clave pública/privada para enviar info fácilmente. Esta línea de órdenes se puede usar tanto en Linux como para un cliente que se crea en Windows de línea de órdenes similar al bash de Linux.
Comodines y toda la pesca. Puedes añadir directorios completos. Todo esto se puede hacer también desde el interfaz gráfico con apunta y dale al botón, claro.
Un commit es un punto de cambio en el repositorio local, igual que todos los comandos anteriores. En ningún caso hemos subido nada a github todavía. Sólo establecemos un punto de control para volver en caso necesario.
Se puede usar la autentificación por https, pero es un poco latosa porque hay que meter el nombre de usuario y clave de cada vez. No es necesario en caso de que uses un cliente github.
Se trata de enviarlo al repositorio. En general, puedes hacerlo a cualquier repositorio, pero en este caso lo haremos al GitHub. Con git push en la mayor parte de los casos es suficiente. Por otro lado, un repositorio puede tener varios orígenes. Si estás trabajando con GitHub y quieres, por ejemplo, subir las cosas a Gitorious no tienes más que hacer Git remote add origin [URL] http://caiustheory.com/adding-a-remote-to-existing-git-repo
Para más info y comentarios, https://help.github.com/articles/create-a-repo En vez de https puede que sea más conveniente usar alguna de las otras URLs. En todo caso, la que te dé el repositorio. Generalmente, por cierto, es más cómodo hacerlo de otra forma, pero esta es la forma también de tener un repo local sin necesidad de subirlo a ningún sitio.
Git pull es git fetch + git merge http://stackoverflow.com/questions/292357/whats-the-difference-between-git-pull-and-git-fetch
Los conflictos se producen en los ficheros binarios o cuando dos usuarios han modificado el mismo grupo de líneas. Se puede producir tanto en el pull como en el push, siempre que haya habido una divergencia. Se puede liar todavía más parda, pero lo dejamos para más adelante.
Un issue es simplemente una orden de trabajo. En principio es para una persona, pero se puede en el mismo mencionar a otras personas mediante @username; esas personas recibirán notificaciones (creo)
No es obligatorio, pero es conveniente. U hito puede ser un hito del proyecto, o una tarea. El principal problema es que, a diferencia de otros sistemas de gestión más avanzados (como redmine) no se organizan de forma jerárquica, con lo que la cosa está (relativamente) limitada.
Esos commits aparecen en la página web y se pueden, a su vez, comentar o actuar de alguna forma sobre ellos. Este tipo de commits aparecen con un tipo de letra especial.
https://help.github.com/articles/fork-a-repo
Cada vez que se hace un push se puede activar un “trigger” que hace una serie de cosas: pasar tests, por ejemplo. Se puede usar http://travis-ci.org o cualquier otro servicio de integración continua (en tu propio servidor o en la nube)