En este podcast me centrare en las ventajas y desventajas como programador freelance, sin dogmas ni creencias, sino lo que a mi me ha tocado vivir en persona.
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
Podcast #6 – Cursos de programación gratuitos vs de paga, opinión
En este podcast, primera vez que no es en vivo por causas de fuerza mayor, daré mi opinión sobre cursos gratuitos y cursos de paga. Es opinión personal, y cada quien sabe en que gasta su dinero al final.
¿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:
Curso de facturación electrónica Colombia en C# .Net
En este curso te explico cómo puedes crear la factura electrónica de Colombia según lo establecido por el DIAN.
Todo el proceso esta explicado para la tecnología C# .Net.
El curso esta en proceso, si quieres estar informado de cuando publico los videos, te invito a que te suscribas a mi canal de youtube dando clic aquí.
1.- Generar clases a partir de XSD
Podcast #5 – Antipatrones de diseño PARTE 1
En este primer podcast enfocado a antipatrones de diseño vamos a hablar de que es lo que no se debe hacer en la programación.
- Antipatrones de diseño mencionados:
- Objeto todopoderoso
- Gran bola de lodo
- Poltergeist
- Magic pushbutton
- Reinventar la rueda
Podcast #4 – Lenguaje cuántico Q#
En este podcast hablaremos brevemente del lenguaje de programación Q#.
¿Cuál es el código javascript para simular la tecla f11 del navegador? Pantalla completa en navegador.
Antes de todos, cabe recalcar, que ningún navegador les permitirá poner la pantalla completa sin que el usuario tenga interacción con el sitio web.
A continuación anexo el código que puede incluir en un botón o algún elemento html para que active el full screen de su navegador.
var el = document.documentElement; var rfs = // for newer Webkit and Firefox el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen ; if(typeof rfs!="undefined" && rfs){ rfs.call(el); } else if(typeof window.ActiveXObject!="undefined"){ // for Internet Explorer var wscript = new ActiveXObject("WScript.Shell"); if (wscript!=null) { wscript.SendKeys("{F11}"); } }
Esto pueden agregarlo para que cuando el usuario de clic en la pagina se haga full screen de la siguiente manera:
document.getElementsByTagName("body")[0].onclick= function(){ var el = document.documentElement; var rfs = // for newer Webkit and Firefox el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen ; if(typeof rfs!="undefined" && rfs){ rfs.call(el); } else if(typeof window.ActiveXObject!="undefined"){ // for Internet Explorer var wscript = new ActiveXObject("WScript.Shell"); if (wscript!=null) { wscript.SendKeys("{F11}"); } } }
Sql Server para novatos
Este curso está enfocado para todas las personas que tienen curiosidad por aprender SQL Server y nunca lo han utilizado.
Es un curso rápido y práctico para que una persona novata enesta tecnología tenga la experiencia suficiente para desarrollar bases de datosen este motor de base de datos.
Si quieres más cursos gratuitos puedes suscribirte a mi canal dando clic en el siguiente enlace: canal de youtube
1.- Crear tablas, seleccionar, editar, insertar y eliminar datos
2.- Foreign key, vistas, inner join
3.- Funciones escalares, transact-SQL básico
4.- Procedimientos almacenados, transact-SQL básico
5.- Union, Union All, Crear funciones SQL que regresen tablas
6.- Funciones de agregación, Group by, Having
7.- Subconsultas, consultas anidadas
8.- Índices, transacciones
9.- Copiar una base de datos
10. Restaurar base de datos, delete sin where
También he hecho un curso de SQL SERVER Nivel Intermedio
Programación recursiva fácil explicada con 3 ejemplos, C# .Net, recorrido arreglos, suma, dibujar árbol
En este video te enseñare como se programa recursivamente, te mostrare 3 ejemplos con los cuales comprenderás esta forma de programar rápidamente.
Código fuente
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Recursividad { class Program { static void Main(string[] args) { //ejemplo 1: recorrer un arreglo int[] arregloDeEnteros = new int[] { 2,1,1,1,1,1,2}; Recorrer(arregloDeEnteros); //ejemplo 2: sumar elementos de un arreglo int total = Sumar(arregloDeEnteros); //ejemplo 3: pintar un arbolito Bitmap bmp = new Bitmap(100,100); Pintar(bmp,bmp.Width/2,20); string path = @"C:\Users\Bioxor\source\repos\Recursividad\Recursividad\arbolito.jpg"; bmp.Save(path,ImageFormat.Bmp); } static void Pintar(Bitmap bmp,int x, int n,int y=0) { if (y < n) { bmp.SetPixel(x, y, Color.Red); Pintar(bmp,x+1,n,y+1); Pintar(bmp,x-1,n,y+1); } } static int Sumar(int []arreglo,int posicion=0) { if (posicion == arreglo.Length) return 0; return arreglo[posicion] + Sumar(arreglo, posicion+1); } static void Recorrer(int [] arreglo,int posicion=0) { if (posicion == arreglo.Length) return; Console.WriteLine(arreglo[posicion]); Recorrer(arreglo,posicion+1); } } }