Último post del año (2018)

Este es el clásico post aburrido que solo lleva la estadística de la página.

Este año según google analytics he tenido 285,248 visitas únicas, casi el triple que el año pasado, esto para mi significa que vamos por buen camino.

Eso quiere decir que mi blog ha sido visto por más de un cuarto de millón de personas, y pensar que si al 10% de esas personas les ha servido lo que hay aquí, es algo que me emociona a continuar con este blog.

Este año se cumplieron 2 metas: que el blog se pague por si solo con el dinero ganado por la publicidad y que mi canal de youtube llegara a 1k de suscriptores.

Espero pasen un buen fin de año y logren lo que se propongan para este 2019.

¿Cómo hackear Facebook?, te mostrare que es posible gracias al hackeo masivo del 28 de septiembre.

En el siguiente video te explico cómo es posible hackear una cuenta de Facebook, debajo del video el link a la aplicación.

En el siguiente video te explico cómo es posible hackear una cuenta de Facebook, debajo del video el link a la aplicación.

LINK DE DESCARGA

Esta entrada fue una broma del día de los inocentes, obvio no es real, solo es diversión.

Activar o desactivar todos los checkbox en un sitio web con vanilla javascript

El siguiente código desactiva todos los checkbox existentes en una página web.

Si deseas hacer lo contrario, solo cambia el valor false a true y listo.

//seleccionamos todos los input
var inputs = document.getElementsByTagName("input");

//recorremos los inputs
for(var i = 0; i < inputs.length; i++) {

    //si es checkbox aplicamos el valor
    if(inputs[i].type == "checkbox") {
        inputs[i].checked = false; 
    }  
}

Métodos de extensión en C# .Net, Agrega métodos a tus clases ya compiladas

En .Net tú puedes agregar métodos a tus clases ya compiladas, a las de .Net o a cualquier dll que descargues para tus proyectos. Esto es útil para darle más dinamismos a .Net y puedas tener mayor flexibilidad para crear funcionalidades.

En este video te mostrare como puedes agregar métodos a tus clases ya compiladas.

Curso para realizar pagos en línea con php, conekta, html5, javascript

En este curso te mostrare como puedes poner un formulario en tus sitios web el cual pueda realizar pagos en línea utilizando el proveedor conekta y con el lenguaje de programación php.

Este curso esta en proceso, puedes recibir notificaciones suscribiendote a mi canal de youtube en el siguiente enlace: canal de youtube

Diagrama del proceso de pago en línea

1.- Tokenizar tarjeta

2.- Realizar pago y guardado en base de datos

Descargar código fuente

¿Cómo obligar al comando xsd.exe a poner el nombre que deseemos a nuestra clase de c# creada a partir de archivos xsd?

Para todos los que hemos trabajado con facturación electrónica nos resulta común crear nuestras clases a partir de los archivos xsd otorgados por hacienda.

Hay un bug cuando creamos nuestra clase a partir de muchos xsd con la aplicación xsd.exe ya que esta le agrega al nombre final la concatenación de los nombres de todos los archivos utilizados, pero en Windows tenemos una limitante de 248 caracteres.

Por ejemplo para la facturación electrónica de Colombia tenemos que utilizar más de 10 archivos xsd y lo normal es que utilizáramos un comando así:

xsd 
DIAN_UBL.xsd DIAN_UBL_Structures.xsd xmldsig-core-schema.xsd CodeList_CurrencyCode_ISO_7_04.xsd CodeList_LanguageCode_ISO_7_04.xsd CodeList_MIMEMediaTypeCode_IANA_7_04.xsd CodeList_UnitCode_UNECE_7_04.xsd UBL-CommonAggregateComponents-2.0.xsd UBL-CommonBasicComponents-2.0.xsd UBL-CommonExtensionComponents-2.0.xsd UBL-ExtensionContentDatatype-2.0.xsd UBL-QualifiedDatatypes-2.0.xsd UnqualifiedDataTypeSchemaModule-2.0.xsd /classes

El cual nos dará un error ya que la concatenación del nombre del archivo resultante supera los 248 caracteres.
Para otorgarle un nombre de salida debemos hacer lo siguiente:

xsd DIAN_UBL_Structures.xsd xmldsig-core-schema.xsd CodeList_CurrencyCode_ISO_7_04.xsd CodeList_LanguageCode_ISO_7_04.xsd CodeList_MIMEMediaTypeCode_IANA_7_04.xsd CodeList_UnitCode_UNECE_7_04.xsd UBL-CommonAggregateComponents-2.0.xsd UBL-CommonBasicComponents-2.0.xsd UBL-CommonExtensionComponents-2.0.xsd UBL-ExtensionContentDatatype-2.0.xsd UBL-QualifiedDatatypes-2.0.xsd UnqualifiedDataTypeSchemaModule-2.0.xsd .\DIAN_UBL.xsd /classes

Poniendo .\DIAN_UBL.xsd antes del parámetro /clases hará que nuestro archivo final se llame DIAN_UBL.cs.

Video explicando paso a paso: