viernes, 2 de octubre de 2020

Sistema de control de versiones GIT



Cuando somos profesionales desarrolladores de programas de información, aplicaciones web o páginas web, debemos tomar en cuenta que vamos a trabajar en equipo. Habrán varios equipos de trabajo desarrollando diferentes partes de un programa y en diferentes tiempos o niveles de desarrollo. Para administrar todo eso existe el Sistema de Control de Versiones o GIT, el cual es como llevar un diario de un proyecto, un historial que indica fechas, versiones y quién ha hecho cada cosa.

Regularmente hay espacios que se ofrecen en la red para alojar un proyecto y administrarlo con GIT, ejemplo de ellos son GitHub y Google Cloud entre otros. Ellos brindan espacios en internet para construir proyecto y que se puedan involucrar todos los profesionales que se encargan de desarrollar cada parte del mismo.

GIT es distribuido, no necesitan estar conectados o de internet, cada desarrollador tiene una copia del proyecto o clon del proyecto en el cual va a realizar su trabajo y luego lo subirá a la plataforma donde está el proyecto alojado. Esto puede ser posible porque el proyecto se divide en ramas que se desprenden del tronco principal para no comprometerla. Luego cuando esa rama está terminada se realizan pruebas para verificar si todo funciona y entonces se fusiona al tronco principal (Branch y Merge).



Todos tienen la misma información y mediante a listas de chequeo (check list) se mantiene la integridad de los datos.

GIT: Sistema de contro de versiones, un historial del proyecto con fechas, versiones y quién ha hecho cada cosa. Un diario del proyecto.

Repositorio: un proyecto que tiene GIT.

COMMiT: cada uno de los cambios registrados en GIT.

Ramas: bifurcaciones del proyecto (Master) o rama principal, cada rama es una copia exacta que posee cada programador pero aislada.

Clon: copia exacta del repositorio, daca desarrollador tiene una copia clon del repositorio en su computador.

Fork: es un proyecto diferente a partir de una rama principal de la cual se basó.





Repositorio:

Git init (nuevo) > Git clone (clon)

    Repositorio local del programador > Stagin Area > Git Add

            Git Commint con mensaje (intermedia) > Repositorio


Herramientas

- Líneas de comandos (terminal).

- Clientes gráficos:

    - Git Kraken.

    - Source Tree.

    - Github desltop.

- Repositorios para equipos locales, sitios que usan GIT en la nube y forman ramas remotas Origin:

        - Git Hub.

        - Bitbucket.

        - Gitlab.

- Editores e IDEs de código:

        - Visual Scode (VS Code) para Microsoft, Linkedin y Github.

        - Intellij.Idea (IJ) para IDEs.

        - Atom (Github).


Programas gratis para mejorar tu Windows 2020



Hay programas en internet que puedes descargar y que debes tener obligatoriamente en tu Windows para mejorar tu rendimiento independientemente de l que hagas con tu computador. Aqui te presento los 10 programas gratis que debes tener en tu Windows para el 2020:

1- Screenpresso: captura de pantallas y editor de videos, puedes grabar videos de tu pantalla y crear videos y gifts.

2- Handbrake: cambiados de formatos de videos.

3- Fastkeys: configura tajos de teclados y automatizar tareas, variables para respuestas automáticas con un solo clic.

4- 7 Zip: compresos y descompresor de todo tipo de archivos, comprime todo y ahorra espacio.

5- Figma: diseños rápidos y miniaturas, baners y logos sencillos por capas, copias como .png.

6- Recura: recuperar archivos perdidos o borrados si no han sido sobreescritos en tu disco duro.

7- Any Desk: este programa te permite conectarte dentro de otros computadores de forma remota y acceder a su escritorio, ideal para dar clases o reparar computadores remotamente.

8- Irfanview: visualizador de imágenes, puedes editar imágenes, redimendionarlas, hacer correcciones, cortar y pegar.

9- Open Broadcaster Studio OBS: te permite grabar tu pantalla y hacer transmisiones en vivo, hacer tutoriales, videos de Youtube y mas.

10- Davinci Resolve: ya está en su versión 16, este es el mejor editor de videos del mundo, y se ha mejorado a sí mismo una vez mas. Tiene un editor de sonido y música para edición de sonidos y efectos de sonido, motion graphic para videos animados, efectos de fotografía y de videos y mucho mas. De verdad el mejor editor que puedas encontrar y tiene una versión totalmente gratis!

Espero que te haya servido este listado de poderosas herramientas que puedes utilizar en todo tipo de labores que realices y que son muy útiles tanto de forma profesional o solo para ocio.

lunes, 20 de julio de 2020

I.A.: Tecnología de reconocimiento de escritura

TECNOLOGÍA NLP



Natural Language Processing o Procesamiento del lenguaje natural, es un campo de la programación que se encarga del análisis del lenguaje humano, interpretarlo y responder de forma natural humana, son modelos de "Deep Learning" usado en el desarrollo de la inteligencia artificial. Entre los desarrollos mas significativos de NPL se encuentran:

- Visión por computadora (modelos de redes neuronales) que pueden aprender y crecer por sí mismos.

- Modelos generativos (generación artificial) usados para generar rostros humanos artificiales que no podemos distinguir de uno real.

- Generador e identificador de texto GPT-3, modelos de lenguaje que meta aprenden solos.

- Chat box de inteligencia artificial que generan diálogos fluidos naturales con personalidad. En una reconocida empresa probaron dos chats box para que conversaran entre ellos y en segundo crearon miles de líneas de comunicación fluida y coherente a una velocidad fantástica hasta que tuvieron que desactivarlos porque no se detenían.

- Cónsola inteligente con lenguaje natural que puede crear código de programación, Natural Language Plushment. Entiende el lenguaje de programación como si fuera otro lenguaje más y puede escribir código de programación.

- Facebook saca un programa que traduce lenguajes de programación, Blender, el cual es presentado como un chat box con habilidades humanas avanzado.

Estas son unas pocas áreas donde se está estudiando la aplicación de NLP. esto unido al reconocimiento facial y al reconocimiento escrito le da muchas nuevas herramientas poderosas a la inteligencia artificial.