sábado, 12 de noviembre de 2016

Definiciones de Terminos Tecnológicos

En esta entrada vamos a dar una guia o definición de algunos términos tecnológicos que nos encontramos por ahí y que a veces no nos es claro de que se trata.
  • GIT
Git es un sistema de control de versiones que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante. A pesar de que los ejemplos de este libro muestran código fuente como archivos bajo control de versiones, en realidad cualquier tipo de archivo que encuentres en un ordenador puede ponerse bajo control de versiones. Si eres diseñador gráfico o web, y quieres mantener cada versión de una imagen o diseño (algo que sin duda quieres), un sistema de control de versiones (Version Control System o VCS en inglés) es una elección muy sabia. Te permite revertir archivos a un estado anterior, revertir el proyecto entero a un estado anterior, comparar cambios a lo largo del tiempo, ver quién modificó por última vez algo que puede estar causando un problema, quién introdujo un error y cuándo, y mucho más. Usar un VCS también significa generalmente que si fastidias o pierdes archivos, puedes recuperarlos fácilmente. Además, obtienes todos estos beneficios a un coste muy bajo.   Tutorial
  • MONGODB
"MongoDB es un sistema de base de datos multiplataforma orientado a documentos, de esquema libre. Como ya os expliqué, esto significa que cada entrada o registro puede tener un esquema de datos diferente, con atributos o “columnas” que no tienen por qué repetirse de un registro a otro. Está escrito en C++, lo que le confiere cierta cercanía al bare metal, o recursos de hardware de la máquina, de modo que es bastante rápido a la hora de ejecutar sus tareas. Además, está licenciado como GNU AGPL 3.0, de modo que se trata de un software de licencia libre. Funciona en sistemas operativos Windows, Linux, OS X y Solaris.

Las características que más destacaría de MongoDB son su velocidad y su rico pero sencillo sistema de consulta de los contenidos de la base de datos. Se podría decir que alcanza un balance perfecto entre rendimiento y funcionalidad, incorporando muchos de los tipos de consulta que utilizaríamos en nuestro sistema relacional preferido, pero sin sacrificar en rendimiento.

Si queremos usar nuestro lenguaje de programación favorito, existen drivers para un gran número de ellos. Hay drivers oficiales para C#, Java, Node.js, PHP, Python, Ruby, C, C++, Perl o Scala. Aunque estos drivers están soportados por MongoDB, no todos están en el mismo estado de madurez. Por ejemplo el de C es una versión alpha. Si queremos utilizar un lenguaje concreto, es mejor revisar los drivers disponibles para comprobar si son adecuados para un entorno de producción."     fuente

Instalación y configuracion de MongoDB
  
  • SISTEMAS CRUD
"En computación CRUD es el acrónimo de Crear, Leer, Actualizar y Borrar (del original en inglés: Create, Read, Update and Delete). Se usa para referirse a las funciones básicas en bases de datos o la capa de persistencia en un software."       fuente

"CRUD se usa como un Backend o panel de administración que te permite realizar las operaciones básicas. No se si alguna vez has usado phpmyadmin, pues algo parecido.

El tema ORM, para que lo entiendas, es una manera de trabajar con tu base de datos pero usando código orientado a objetos. Es decir, imagínate que quieres obtener de una tabla usuarios, aquel cuyo id es el 78. En sql tradicional, tendrías que hacer en tu código:

$sql = 'SELECT name FROM users WHERE id = 78';
mysql_query ... etc

en cambio, con un ORM, simplemente podrías hacer:

$user = new User(78);
echo $user->getName();

Es un ejemplo para que te hagas una idea, como ves, el ORM te ha creado a través de tu base de datos, unos objetos que representan tus tablas, para poder trabajar con ellos de manera cómoda y a otro nivel."    fuente