martes, 31 de enero de 2017

92. Bases de Datos noSQL - Desarrollando desde la nube

El mundo no es cuadrado, no todo puede ser finito, ni todo puede ser almacenado en la rígida estructura de una tabla, vivimos en un mundo que esta compuesto por múltiples variables.

El mundo No-SQL, forma parte de un conjunto de sistemas de gestión de datos, en donde las reglas clásicas no son validas, este tipo de bases de datos, también son llamadas bases de datos de almacenamiento estructurado, estas bases de datos son la respuesta para lo que es el almacenamiento de la información cuando esta no presenta características definidas y sin embargo de alguna forma debe ser explotada, si vemos a nuestro alrededor todo lo que existe es información no estructurada.

Las bases de datos NoSQL están diseñadas para manejar grandes cantidades de información que de otra forma no es posible analizar.

Una base de datos NoSQL posee las siguientes características:

  1. Ausencia de esquema (no existe la normalización)
  2. Escalabilidad horizontal sencilla (pueden crecer mucho fácilmente, con solo añadir nodos es posible aumentar el rendimiento)
  3. Muy veloces (Gran optimización que tienen para el procesamiento en paralelo.)

MongoDB, documentDB, Apache Cassandra, simpleDB, Google BigTable, Apache Hadoop son algunos ejemplos de bases de datos No-SQL.

En la era en la que la información esta por todos lados y en múltiples formas y que su análisis nos da una ventaja sobre la competencia, estas bases de datos se convierten en la mejor opción para guardar y analizar información.


Felices lineas

viernes, 27 de enero de 2017

91. Un nuevo Amancer (bitcoin?) - Desde el divan del gato

Nos encontramos en un punto verdaderamente interesante de la historia de la humanidad, un punto que se puede convertir incluso en un cambio de era, si hacemos las cosas de manera adecuada, los ciclos cambian se dan múltiples transformaciones, y hoy estamos ante una de ellas.

Con los cambios de política que vemos en Estados Unidos se puede decir que nos preparamos ante el fin de la globalización al perder a uno de sus principales promotores, pero esto puede no ser del todo real, esto puede representar el inicio de una nueva era con una nueva economía mundial.

Una economía cerrada, como la que nos muestra el día de hoy Estados Unidos, en la que el proteccionismo se convierte en su moneda de cambio, hace que una economía abierta sea mas sencilla, en la que realmente los mejores hagan lo que realmente tienen que hacer.

Se los mejores cuesta, pero ser una economía altamente especializada, permitirá que la humanidad realmente crezca, se transforme y llegue a esa utopía de una sola humanidad.

¿Pero como lograr esto si ya no puedo vender libremente?

Es ahí en donde entra en juego la tecnología, en donde los cambios tecnológicos marcaran el nuevo destino, en donde conceptos como frontera, país, moneda pierden el sentido.

Un nuevo amanecer, pensando en que por medio de la red de redes realmente puedo contratar a la persona especializada que requiero en el momento que requiera, sin la necesidad de que esta persona se encuentre realmente en el mismo lugar del mundo en el que yo me encuentro.

Un nuevo amanecer, pensando en que puedo buscar por el mundo los insumos que sean de mejor calidad y a mejor precio, con los que puedo convertir a mi región en una especialista.

Y sobre todo, un nuevo amanecer, pensando en una moneda única, nacida de la propia humanidad, con reglas previamente establecidas, en las que un gobierno o banco central ya no puede intervenir.

Es en este punto en donde una moneda como bitcoin nos abre un nuevo camino.

Estados Unidos se esta cerrando, el dólar que por mucho tiempo ha sido una moneda internacional no oficial, reciente los cambios en la política de Estados Unidos, como consecuencia las otras monedas mundiales también resienten el cambio, los inversionistas buscan posiciones seguras en donde su dinero no se vea afectado, por muchos años esa moneda ha sido representada por las monedas de las potencias mundiales, dólar, hoy inestable por la incertidumbre generada por Estados Unidos, Libra, hoy inestable por la incertidumbre generada por el brexit, Euro, hoy inestable por los movimientos que se dan en Europa.

El oro que tradicionalmente ha sido el mayor refugio de capitales es estable pero no tiene dinamismo, no se puede comerciar fácilmente con el.

Una criptomoneda, es segura, y esta en todos lados, esto permite que yo comercie con ella desde cualquier país, derribando el muro de las fronteras, bitcoin ve una nueva evolución al considerar una economía libre, globalizada, en la que cada país debe trabajar en ser el mejor en alguna actividad que complemente a los demás.

Ningún país es bueno en todo, pero la suma de ese todo se convierte en un progreso y un cambio en el futuro.

Una sola moneda, controlada por todos, en los que una política de un país no la afecte, es una utopía, que hoy es real.


Sean bienvenidos a una nueva era de la humanidad




jueves, 5 de enero de 2017

90. SQL Padres sin hijos (Ayuda Rapida)

Una función sencilla para obtener aquellos registros de una relación entre 2 tablas en que se tenga un padre sin hijos es:

SELECT * FROM [Tablapadre]
LEFT JOIN [TablaHijo]
ON [Tablapadre].id = [TablaHijo].id
WHERE [TablaHijo].id IS NULL


El left join nos hace la relación de ambas tablas incluso con registros que no existen, por eso al buscar aquellos en los que una columna de la relación sea nula, el query nos entregara los registros que estamos buscando


Felices líneas

miércoles, 14 de diciembre de 2016

89. Eliminar duplicados en una base de datos (Ayuda Rapida)

El siguiente Query permite eliminar rápidamente registros duplicados en una base de datos de SQL, es muy importante para que el Query opere correctamente, que exista un índice que ordene los registros de la misma manera en que forman los campos únicos.

Otro punto importante, para efectuar este cambio es que se debe evaluar la posibilidad de borrar cualquier otro índice que tenga la tabla durante el proceso, esto ayudara a que el borrado sea mas rápido ya que no actualizara los índices.

WITH CTE AS(
   SELECT [Campo1],[Campo2],[Campo3],...,Renglon = ROW_NUMBER()OVER(PARTITION BY [Campo1],[Campo2],[Campo3],... ORDER BY [Campo1],[Campo2],[Campo3],...)
   FROM [Tabla]
)
DELETE FROM CTE WHERE Renglon > 1

Felices lineas

88. Aplicaciones Universales: Día 1


Iniciemos este tutorial de creación de aplicaciones universales, el primer día es la creación de nuestra primera aplicación universal, para ello debemos hacer lo siguiente:

1.      Iniciar Visual Studio
2.      Crear un nuevo proyecto



Para el nuevo proyecto vamos a escoger C# ->Windows -> Universal
3.      Visual Studio nos preguntara para que versión de Windows se creara la aplicación


Es muy importante esta respuesta porque esto nos permite saber la compatibilidad de nuestra aplicación.

¿Cómo está integrada esta aplicación básica?


Tenemos un archivo llamado Tutorial_TemporaryKey.pfx que representa un certificado para firmar nuestra aplicación

Project.json es un archivo que nos indica los paquetes que integraran nuestra aplicación

Package.appxmanifest es un archivo muy interesante que analizaremos en otra sesión, este nos da las características que tendrá nuestra aplicación.


MainPage.xaml, es nuestra interfaz de usuario, aquí empezaremos a trabajar con xaml
App.xaml, es el punto de inicio de nuestra aplicación
Assets, es una carpeta en la que se encontraran todos aquellos componentes externos que forman la aplicación.
Felices Líneas






martes, 13 de diciembre de 2016

87. Arreglo de caracteres a Cadena C# (Ayuda Rapida)

Un problema muy simple que ocurre algunas veces con conversiones de datos, como convertir un arreglo de caracteres a una cadena.

Para ello es necesario usar el constructor que nos proporciona string y pasar el arreglo como cadena.

char[] Arreglo = new char[4];
Arreglo[0] = 'h';
Arreglo[1] = 'o';
Arreglo[2] = 'l';
Arreglo[3] = 'a';

string cadena = new string(Arreglo);

Con esto se ha efectuado la conversión,

Felices líneas

86. Aplicaciones Universales


Vamos a iniciar 2 tutoriales para este blog, de 2 temas que me parecen de gran relevancia, y que tendrán un peso muy importante en los próximos meses, si bien ambos ya existen, y llevan un tiempo en el mercado, para nosotros que nos movemos en mundo Microsoft es importante conocerlos.

Me refiero a la UWP (Universal Windows Platform) y a XAMARIN, me dirán porque quiero tratar estos 2 temas juntos, porque si los manejamos vamos a tener realmente aplicaciones que se puedan ejecutar en cualquier sistema Windows con UWP y móvil no Windows con XAMARIN.

Una aplicación que se ejecuta sobre UWP es una aplicación que puede ser compartida en diversos dispositivos siempre y cuando estos se manejen sobre la plataforma Windows, ahora considerando que la plataforma Windows cada día es más extensa, esto nos genera aplicaciones que realmente pueden ejecutarse en cualquier tipo de dispositivo.

Ahora bien, este tipo de aplicaciones son sumamente versátiles, principal mente por el grado de adaptación que tienen en la interfaz de usuario para poder ser vista en múltiples equipos incluso con diferentes arquitecturas de procesador.

Pero la adopción no ha sido tan rápida como se esperaba, esto ha sido porque existe resistencia al cambio por parte de los desarrolladores de Windows que ven el desarrollo hacia UWP muy diferente a lo que están acostumbrados.

¿Para qué hacer una UWP si tengo una plataforma WEB? Es una buena pregunta, pero su respuesta es UWP es una evolución de WinForm es decir tenemos una aplicación que aprovecha todas las características que nos ofrece Windows 10, es una aplicación que puede operar de manera desconectada y que nos ofrece una versatilidad muy alta en la interfaz de usuario, las UWP emplean XAML para construir la interfaz de usuario.

XAML ventaja o desventaja, desgraciadamente la adopción de XAML tampoco ha sido como se esperaba, XAML es increíblemente flexible lo que permite crear una interfaz de usuario muy llamativa, pero requiere ciertos conocimientos de estética, requiere que el desarrollador busque la belleza en su aplicación, y esto se convierte en un problema sobre todo cuando es un desarrollador que viene de WinForms en donde todas las formas son iguales.

XAML permite un diseño que hace que las aplicaciones dejen de ser planas y que además de ser útiles, sean fáciles y cómodas de usar para el usuario.

Felices líneas

viernes, 28 de octubre de 2016

85. Insertar a SQL una fecha por un Query

Un problema muy común cuando se esta trabajando con queries en una base de datos es el poder obtener correctamente las fechas y que estas sean entendidas adecuadamente por el sistema.

Existen ocasiones en las que es necesario obtener datos de SQL en forma de texto y después insertarlos a otra base de datos, ¿Qué hacer en esos casos? ¿con que formato debo manejarlos?, hace ya algunas entradas de este blog, hablamos de los formatos universales de fecha en SQL Formato universal , bueno con esta información lo que haremos será extraer el dato de sql en el formato correcto

¿Cómo haremos esto?

Usaremos la instrucción convert, de la siguiente forma


CONVERT(NVARCHAR(250),Fecha,126)


Felices lineas

miércoles, 5 de octubre de 2016

84. Desarrollando CFDI

Hola, les presento un nuevo blog http://desarrollandocfdi.blogspot.mx/ , algunos saben que trabajo para un PAC, no diré su nombre por razones de confidencialidad, sin embargo en este nuevo blog, haremos análisis de los cambios que nos presenta el SAT, en lo que es CFDI, mas allá del desarrollo, es conveniente que todoMexicano conosca que es lo que pide el SAT para la elaboración de sus facturas.

Felices Lineas

lunes, 3 de octubre de 2016

83. Devops

Devops, se puede decir que es una ideología, que no debería ser nueva, es mas no debería ni siquiera estar en la lista de cosas que una empresa debería implementar, sin embargo cuando perdemos la perspectiva de lo que una empresa busca, cuando nos gana el egoísmo propio del ser humano, es cuando esta ideología no se cumple.

Una empresa debe buscar un solo objetivo, ir por un solo camino, hacer que todos sus engranes se muevan juntos, así debe nacer, así debe vivir, así debe transformarse, cuando esto ocurre, la empresa se mueve muy rápido, se adapta, reacciona, es capaz de sobrevivir a la adversidad.

Pero que pasa en la realidad, supongamos que fundamos una empresa pequeña, una de un solo hombre, en donde nosotros hacemos todo, conforme el tiempo pasa, necesitamos mas manos, nos dividimos, uno desarrolla, otro vende, pero necesitamos ahora calidad, así que nos volvemos a dividir, uno desarrolla otro vende otro supervisa la calidad, poco a poco nuestra empresa se hace compleja, se empiezan a crear muchos engranes, muchas islas, y es aquí en donde empieza el problema, cada isla empieza a ver por aquello que es mas importante para ella, no por aquello que es mas importante para la empresa.

Se han escrito cientos de libros acerca de que debemos tener una misión, una visión y unos objetivos, ¿Por que? pues por algo sencillo, la empresa debe ser una, debe ir en la misma dirección, debe de seguir el mismo camino.

NO, somos islas separadas, somos un todo, eso es Devops.

Pero entonces digo, ¿Por que se considera algo nuevo? si es algo que debería existir desde el momento mismo que creamos la empresa, esto es por que todo sistema complejo tiende al caos, y ante esto es a lo que nos encontramos, cuando empezamos a dividir la empresa por responsabilidades, y a cada una se le trazan objetivos individuales y específicos, generamos ese caos, por que rompemos la comunicación, hacemos que cada uno siga su camino.

Devops, se puede resumir en una sola frase "Trabajar juntos", es seguir una meta en común, estar todos involucrados todo el tiempo, dejar de vernos como áreas independientes y participar todos en todos los procesos, tener canales amplios y fuertes de comunicación.

¿Qué ganamos? ganamos que compartimos una visión, compartimos lo que se espera del proyecto, compartimos el desarrollo y la implementación del mismo, si por alguna causa no se esta generando lo que se espera, el cambio de rumbo es sencillo, por que hay muchos ojos y todos tienen una sola visión, que amplia el panorama.

Esto no es algo nuevo, es algo útil una ideología que debería existir en todo momento, pero que tendemos a olvidarla.

Felices Líneas