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

lunes, 12 de septiembre de 2016

82. Dia del programador



Se bien que no ha prosperado mucho la celebración de este día, sin embrago es importante reconocer que la programación se ha vuelto muy importante en nuestras vidas, en donde hay procesos, en donde hay cambios en donde es necesario darle vida a la información ahí siempre hay un programador.

Por lo que quiero felicitar desde aquí a todos los programadores del mundo.

Que si bien este día no es reconocido en todo el mundo, de hecho solo en Rusia, les deseo que lo disfruten.

Feliz día del programador (día 256 del año)




viernes, 9 de septiembre de 2016

81. Reflecciones de telefonia movil

Antes que nada debo decir que nunca he sido fanático de Mac, por lo mismo mi opinión puede perder un cierto grado de objetividad, he de reconocer que Mac ha generado cambios, no como una empresa tecnológica de vanguardia, sino como una empresa tecnológica que ha hecho la tecnología deseable, dejando de ser esos monstros toscos que hacen muchas cosas, hacia una tendencia en que la tecnología se vea bonita.

Hacer fácil el uso de la tecnología, ese es su gran logro, hacerlo agradable.

Año con año, la conferencia de lanzamiento de nuevos productos es esperada con muchas ansias, por que es cuando sabremos ¿Qué novedades habrá para este año?, Pero realmente solo en pocas ocasiones se puede hablar de un cambio real, de algo que valla mas allá del poder de computo, de algo que haga que un dispositivo sea realmente deseable.

¿De que depende esto?, depende realmente de nuestra capacidad de asombro, todos deseamos ver algo nuevo, algo que todos deseen.

Eso fue lo que ocurrió en el lanzamiento de su interfaz grafica, eso ocurrió en el lanzamiento del primer iPhone, en el lanzamiento del iPod, quizás en un menor grado en el iWatch, por que todos podemos vivir sin tener el reloj, pero hoy en día no podemos vivir sin tener un Smartphone.

Estos cambios tecnológicos no se pueden dar todos los años, no es que se pierda la capacidad de asombro, es que en muchos casos una mejora no es algo nuevo, es solo es una mejora.

Hoy estamos en una carrera en que los fabricantes ofrecen mejoras a sus teléfonos, que se quedan en eso mejoras que pueden ser fácilmente copiadas por otros fabricantes, esto no les d una ventaja competitiva real, no genera el deseo de tener el producto, el cliente no reconoce la necesidad de que eso hace falta en su vida.

iPhone 7, no es mas que una mejora a la gama iPhone, como lo ha sido el Galaxy Note 7 o incluso el Lumia 950 (que en mi opinión personal es un gran teléfono), pero no ofrecen ese extra eso que nos diga yo lo necesito.

Una cámara asombrosa que nos permite tomar parte de la realidad... los 3 lo tienen...

Mas apps, y mejores... seamos francos las apps llámense como se llamen giran alrededor del mismo tema, hace mucho que no se ve una app asombrosa, Me dirán ¿y pokemon go?, pokemon go en un app de coleccionista, un app que explota la necesidad del ser humano de ser reconocido por lo que tiene, de tener mas que los demás, de tener una colección completa de pokemons, es un álbum de estampas traído al mundo virtual.

Los fabricantes tienen que arriesgar para crear esos cambios, pero arriesgar puede ser complicado y costoso, pero al final eso es parte del desarrollo.

Ver mas allá de lo que existe, proponer cosas nuevas, por que una mejora de lo anterior... esta destinada a solo quedar como eso una mejora perdida en el tiempo.

Y bueno este es mi sentimiento de la conferencia de mac de esta semana, es solo eso, una mejora perdida en el tiempo, esperemos un año, para ver que nos trae el futuro.

Mientras tanto, felices lineas


jueves, 8 de septiembre de 2016

80. Creando una dll desde un programa

La creación de una dll dinámica nos puede ayudar algunas veces a construir procesos mas rápidos, esto por que podemos tener datos pre compilados en una dll, que cambie a través, del tiempo.

Una dll dinámica es mu sencilla de hacer.

El código es tan sencillo como esto:


Y que hace, hace algo muy simple toma el código que nosotros le damos, y lo convierte en una dll lista para ser utilizada por otro proceso.

Felices lineas