Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA
ESCUELA TECNICA
LABORATORIO DE INTRODUCCION A LA PROGRAMACION Y COMPUTACION 2
AUXILIAR: REIMER CHAMALE
INVESTIGACION FASE 1
GIT
Como instalar GIT
Para instalar la herramienta de GIT se debe descargar desde la pgina https://gitscm.com/downloads la versin que necesitamos respecto al sistema operativo, en este
caso el sistema operativo es Windows 10 para 32 bits.
Tu repositorio local est compuesto por tres "rboles" administrados por git. El primero es tu
Directorio de trabajo que contiene los archivos, el segundo es el Index que acta como una zona
intermedia, y el ltimo es el HEAD que apunta al ltimo commit realizado.
add & commit:
Puedes registrar cambios (aadirlos al Index) usando git add <filename>, git add .
Este es el primer paso en el flujo de trabajo bsico. Para hacer commit a estos cambios se usa git
commit -m "Commit message". Ahora el archivo est incluido en el HEAD, pero an no en tu
repositorio remoto.
Envo de cambios:
Tus cambios estn ahora en el HEAD de tu copia local. Para enviar estos cambios a tu repositorio
remoto ejecuta git push origin master. Reemplaza master por la rama a la que quieres enviar tus
cambios.
Si no has clonado un repositorio ya existente y quieres conectar tu repositorio local a un repositorio
remoto, usa git remote add origin <server>. Ahora podrs subir tus cambios al repositorio remoto
seleccionado.
actualiza & fusiona:
Para actualizar tu repositorio local al commit ms nuevo, ejecuta git pull en tu directorio de trabajo
para bajar y fusionar los cambios remotos.Para fusionar otra rama a tu rama activa (por ejemplo,
master), utiliza git merge <branch> en ambos casos git intentar fusionar automticamente los
cambios. Desafortunadamente, no siempre ser posible y se podrn producir conflictos. T eres
responsable de fusionar esos conflictos manualmente al editar los archivos mostrados por git. Despus
de modificarlos, necesitas marcarlos como fusionados con git add <filename>.
Antes de fusionar los cambios, puedes revisarlos usando
git diff <source_branch> <target_branch>
Reemplaza cambios locales:
En caso de que se haga algo mal puedes reemplazar cambios locales usando el comando
Reemplaza cambios locales:
En caso de que se haga algo mal puedes reemplazar cambios locales usando el comando
git checkout -- <filename>. Este comando reemplaza los cambios en tu directorio de trabajo con el
ltimo contenido de HEAD. Los cambios que ya han sido agregados al Index, as como tambin los
nuevos archivos, se mantendrn sin cambio.
Por otro lado, si quieres deshacer todos los cambios locales y commits, puedes traer la ltima versin
del servidor y apuntar a tu copia l
Entornos
Qu tipos de entornos existen al desarrollar.
Entorno de programacin
Las actividades mejor soportadas por herramientas de desarrollo son normalmente las centrales:
codificacin y pruebas de unidades. El conjunto de herramientas que soportan estas actividades
constituyen lo que se llama un entorno de programacin. A veces se utilizan las
siglas IDE (Integrated Development Environment) para designar estos entornos, aunque no son un
entorno de desarrollo completo, sino slo una parte de l.
o
o
o
Los componentes cuya evolucin ha sido ms aparente son los que realizan la interaccin
con el usuario:
o El editor ya no es un simple editor de texto, sino que tiene una clara orientacin al
lenguaje de programacin usado (reconoce y maneja determinados elementos
sintcticos)
o El depurador no presenta informacin en trminos del lenguaje de mquina, sino
del lenguaje fuente
o El editor est bien integrado con las dems herramientas (se posiciona
directamente en los puntos del cdigo fuente en los que hay errores de
compilacin, o que se estn ejecutando con el depurador en un momento dado.
No es fcil establecer una clasificacin dentro de la variedad de entornos de programacin
existentes. En algn momento [1] se describieron las siguientes clases de entornos, no
excluyentes, usando un criterio esencialmente pragmtico:
o Entornos centrados en un lenguaje
o Entornos orientados a estructura
o Entornos coleccin de herramientas
En [4] y [5] se exponen otras clasificaciones basadas en criterios ms o menos formales.
Estos entornos estuvieron de moda en los aos 80. Los desarrollos fueron fundamentalmente
acadmicos, y quedaron en desuso. En la actualidad los lenguajes de marcado (XML) pueden ser una
buena forma de representar la estructura del cdigo fuente con vistas a su manipulacin. Existen
editores y procesadores XML que podran ser la base de nuevos entornos de programacin
orientados a estructura.
Entornos basados en combinacin de herramientas
Consisten en una combinacin de diversas herramientas capaces de interoperar entre ellas de
alguna manera. Se denominanentornos toolkit. Presentan las siguientes caractersticas:
o
o
o
Entornos multilenguaje
Hay aplicaciones que combinan piezas de cdigo fuente escritas en diferentes lenguajes de
programacin. Algunas posibilidades de combinacin son las siguientes:
Entornos genricos
o No se combinan lenguajes en un mismo programa. Hay varios programas, cada
uno en su propio lenguaje
o Bastara combinar las herramientas correspondientes a cada lenguaje
(compiladores, etc.)
o Se podra usar un frontal comn: editor personalizable que soporte los lenguajes
concretos
o Ejemplos:
Emacs (con diferentes "modos")
Eclipse (con diferentes "plug-ins")
Entornos especficos
o Para una combinacin concreta de lenguajes
o Vienen a ser como los entornos centrados en un lenguaje, slo que admiten ms
de uno
o Usan un formato binario compatible que permite combinar en un mismo
programa partes escritas en los diferentes lenguajes
o Ejemplo: GPS permite combinar mdulos en Ada y C++
Lenguajes ejecutados sobre mquina virtual
o La mquina virtual establece el formato del cdigo binario
o Pueden combinarse mdulos escritos en diferentes lenguajes para los que exista
el compilador apropiado
o Cada lenguaje puede tener su entorno de programacin separado, o bien existir
un entorno de programacin nico
o Ejemplos:
JVM (Java Virtual Machine). El lenguaje original es Java. El intrprete es el
JRE (Java Runtime Environment). Hay compiladores a JVM para otros
lenguajes adems de Java: Ada, Fortran, Component Pascal (Oberon), etc.
(incluso C#)
.Net (Microsoft). El lenguaje original es C#. El intrprete es el CLR
(Common Language Runtime). Hay compiladores a .Net para otros
lenguajes adems de C#: Ada, Fortran, Component Pascal (Oberon), etc.
(incluso Java)
Cada miembro del equipo de desarrollo puede disponer de una estacin de trabajo con un entorno
de programacin adecuado para realizar su trabajo individual, y se necesita adems algn medio de
combinar los trabajos individuales en una labor de conjunto, debidamente organizada.
Una manera intuitiva de organizar el entorno general de desarrollo es basarlo en un repositorio
central de informacin, dotado de un sistema de gestin de configuracin, y aadirle sistemas de
mensajera, de gestin de incidencias, herramientas de modelado para anlisis y diseo, de gestin
del proyecto, etc.
Por ejemplo, hay plataformas generales que ofrecen este soporte como servicios web, incluso de
manera gratuita para el desarrollo de software libre: SourceForge, Google Code, etc.
Patrones de diseo
Qu tipos de patrones hay.
Los patrones de diseo se clasifican en tres tipos diferentes dependiendo del tipo de problema que
resuelven. Estos pueden ser creacionales, estructurales y de comportamiento.
Creacionales: Estos patrones se utilizan cuando debemos crear objetos pero debemos tomar decisiones
dinmicamente en el proceso de creacin. Para esto lo que hacemos es abstraer el proceso de creacin
de los objetos para realizar la decisin de qu objetos crear o cmo crearlos para el momento en que
se tenga que hacer. Su objetivo resolver los problemas de creacin de instancia. Patrones de creacin
son: Abstract Factory, Builder, Factory Method, Object Pool, Prototype y Singleton.
Por ejemplo:
Singleton (Instancia nica): Nos garantiza la existencia de una nica instancia para una clase.
Prototype (prototipo): Clona las instancias ya existentes.
Estructurales: Nos describen como utilizar estructuras de datos complejas a partir de elementos ms
simples. Sirven para crear las interconexiones entre los distintos objetos y que estas relaciones no se
vean afectadas por cambios en los requisitos del programa. Algunos patrones estructurales son:
Adapter, Bridge, Decorator, Facade, Flyweight yProxy.
Por ejemplo:
Bridge (Puente) Separa la abstraccin de la implementacin.
Decorator (Decorador) Agrega funcionalidades a una clase de forma dinmica.
Facade (Fachada) Nos provee una interfaz unificada y simple para acceder a un sistema ms complejo.
Ejemplos
Proxies
Factoras
Adaptadores
Composicin
Broker