En este video te explicare el patrón de diseño mediator o mediador, un patrón de diseño de tipo comportamiento con el cual puedes administrar los mensajes entre los objetos de tus sistemas.
Código fuente: descargar
En este video te explicare el patrón de diseño mediator o mediador, un patrón de diseño de tipo comportamiento con el cual puedes administrar los mensajes entre los objetos de tus sistemas.
Código fuente: descargar
En este curso te enseñare a hacer una puerta conectada a arduino y .Net.
Este curso te servirá para que seas capaz de crear sistemas de automatización de puertas.
El curso es gratuito pero cualquier aportación voluntaria es bien recibida dando clic aquí.
1.- Materiales
2.- Conexiones
3.- Código
En esta entrada se encuentra el código fuente, por si deseas copiar y pegar.
En este curso te enseñare según mi experiencia como puedes irte adentrando a ser un arquitecto de software.
Te daré consejos de como dividir un sistema y organizarlo, así como problemática que puedes encontrar, experiencia con clientes, como hacer sistemas escalables y listos para enfrentar cambios.
El curso esta en proceso por lo cual te recomiendo te suscribas a mi canal dando clic aquí para que estés enterado al momento que publique nuevo video de esta serie.
1.- Diagrama de componentes, aun sirve UML
2.- Identificar la solución al problema, diagrama de secuencia
3.- Escalabilidad y rendimiento
4.- Seguridad en desarrollo de software parte 1 de 2
5.- Seguridad en desarrollo de software parte 2 de 2
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
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
En este video te explicare el patrón de diseño strategy, también te explicare cuando usarlo y como crearlo. Todo en c# .net.
En este nuevo curso te mostrare como puedes hacer web scraping de manera fácil y rápida con C# .Net.
1.- Obtener contenido HTML, seleccionar elementos por clase, nombre, id
En este video te muestro como puedes seleccionar elementos de una página web de manera natural, utilizando su clase, su id o su nombre de etiqueta.
2.- Guardar contenido de un sitio web en base de datos
En este segundo video te enseñare a como puedes guardar el contenido de un sitio web en una base de datos.
3.- Descargar todas las imágenes de una url
En este tercer video te enseñare como puedes descargarte todas las imagenes que se visualizan en una url de un sitio web.
4.- Descargar todas las imágenes de TODO un sitio web
En este video te enseñare a como navegar por todas las ligas de una url e ir recursivamente url por url del sitio entero descargando las imagenes.
Código fuente
using HtmlAgilityPack; using ScrapySharp.Extensions; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using WebScraping.Models; namespace WebScraping { class Program { static List<string> lstYaInvocadas = new List<string>(); static List<string> lstImagenesDescargadas = new List<string>(); static string pathImages = @"C:\tuRuta\"; static void Main(string[] args) { HtmlWeb oWeb = new HtmlWeb(); string url = "https://hdeleon.net/"; /*Video: 2 - Obtener titles ***********************************************/ using (webscrapingEntities db = new webscrapingEntities()) { for (int i = 1; i <= 32; i++) { if (i > 1) url += "/page/" + i + "/"; HtmlDocument doc2 = oWeb.Load(url); foreach (var Nodo in doc2.DocumentNode.CssSelect(".entry-title")) { var NodoAnchor = Nodo.CssSelect("a").First(); var oTitle = new titles(); oTitle.title = NodoAnchor.InnerHtml; db.titles.Add(oTitle); //MisTitulos.Add(NodoAnchor.InnerHtml); } Console.WriteLine("se analizo la pagina: "+i); } db.SaveChanges(); } /* Video 3 - Ejemplo de robar imagenes ********************************************/ HtmlDocument doc = oWeb.Load(url); //obtenemos las imagenes int num = 0; foreach (var Nodo in doc.DocumentNode.CssSelect("img")) { Console.WriteLine("Imagen robada: " + Nodo.GetAttributeValue("src")); using (WebClient oClient = new WebClient()) { string urlImagen = Nodo.GetAttributeValue("src"); oClient.DownloadFile(new Uri(urlImagen), pathImages + num + ".jpg"); } num++; } /*Video 4 - Obtener todas las imagenes de todo el sitio web *************************/ HtmlDocument doc3 = oWeb.Load(url); //obtener las imagenes de la url foreach (var Nodo in doc3.DocumentNode.CssSelect("img")) { // Console.WriteLine("Imagen robada: " + Nodo.GetAttributeValue("src")); using (WebClient oClient = new WebClient()) { string urlImagen = Nodo.GetAttributeValue("src"); string[] arrUrlImagen = urlImagen.Split('/'); string nombreImagen = pathImages + arrUrlImagen[arrUrlImagen.Length - 1]; if (!lstImagenesDescargadas.Contains(arrUrlImagen[arrUrlImagen.Length - 1])) { oClient.DownloadFile(new Uri(urlImagen), nombreImagen); lstImagenesDescargadas.Add(arrUrlImagen[arrUrlImagen.Length - 1]); } } } //recursividad urls foreach (var Nodo in doc3.DocumentNode.CssSelect("a")) { string urlSon = Nodo.GetAttributeValue("href"); if (!lstYaInvocadas.Contains(urlSon) && urlSon.StartsWith("https://hdeleon.net/")) { Console.WriteLine(urlSon); lstYaInvocadas.Add(urlSon); ObtienesImagenes(urlSon); } } } #region Helpers private static void ObtienesImagenes(string url,string tab="") { try { HtmlWeb oWeb = new HtmlWeb(); HtmlDocument doc3 = oWeb.Load(url); foreach (var Nodo in doc3.DocumentNode.CssSelect("img")) { // Console.WriteLine("Imagen robada: " + Nodo.GetAttributeValue("src")); using (WebClient oClient = new WebClient()) { string urlImagen = Nodo.GetAttributeValue("src"); string[] arrUrlImagen = urlImagen.Split('/'); string nombreImagen =pathImages+ arrUrlImagen[arrUrlImagen.Length - 1]; if (!lstImagenesDescargadas.Contains(arrUrlImagen[arrUrlImagen.Length - 1])) { oClient.DownloadFile(new Uri(urlImagen), nombreImagen); lstImagenesDescargadas.Add(arrUrlImagen[arrUrlImagen.Length - 1]); } } } foreach (var Nodo in doc3.DocumentNode.CssSelect("a") ) { string urlSon = Nodo.GetAttributeValue("href"); if ( !lstYaInvocadas.Contains(urlSon) && urlSon.StartsWith("https://hdeleon.net/")) { Console.WriteLine(tab+urlSon); lstYaInvocadas.Add(urlSon); ObtienesImagenes(urlSon, tab + ">"); } } } catch { } } #endregion } }
En este video te explicare el patrón de diseño factory method, también te explicare cuando usarlo y como crearlo. Todo en c# .net.
En estos videos programados en vivo, te enseñare como hacer un sistema web que te sirva para la facturación electrónica, para que puedas generar tus facturas desde una interfaz amigable para el usuario.
El código fuente se encuentra al final de esta entrada; si quieres recibir un sistema con más elementos que este gratuito, puedes apoyarme vía patreon desde 1 USD al mes:
https://www.patreon.com/powerhdeleon
Puedes ver más videos gratis en mi canal de youtube: canal de hdeleon.net
1. Creación del proyecto en MVC .Net, y acceso de usuario
2. Librería para creación y sellado de xml 3.3 y catálogos del SAT en mysql
3. Creación de tablas en base de datos mysql para facturación
4. View Model para creación de factura
5. Seguridad y Vista para crear factura
6. Crear autocompletar de claves del SAT
7. Crear SelectList de catálogos del SAT – Parte 1
7. Crear SelectList de catálogos del SAT – Parte 2
8. Conceptos dinámicos
9. Crear objeto comprobante
10. Código para sellar el XML
11. Creación del archivo XML
12. Sellado de archivo XML
13.- Creación de capa de timbrado
14.- Timbrado de factura
Recuerda que la publicidad es para una buena causa, apoyar perros que están en la calle.
Este es un curso gratuito para que puedas crear tus xml con el complemento de pago.
Si gustas apoyarme, a la derecha puedes darme para una cerveza.
1. Convertir XSD del SAT a clases de c# .Net
2. Convertir XSD del SAT a clases de c# .Net.
3. Creación del xml, sellado y timbrado
4. Agregar documentos relacionados
Código fuente: clic aquí.