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

¿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);
        }

     

    }
}


Crear CRUD en MVC .Net con C#, Entity Framework y Sql Server

En este video te enseñare a crear un CRUD con la tecnología MVC .Net sin utilizar javascript, es decir, con solicitudes propias de la tecnología.

Un CRUD es el acrónimo de Create, Read, Update y Delete, en español: crear, leer, modificar y eliminar, y es en si la creación de un módulo básico en programación.

Descargar código fuente

LINQ en C# .Net intermedio en 10 minutos, take, skip, select, union, count

En este video veremos LINQ a nivel intermedio, haremos ejercicios prácticos con los cuales te explicare como puedes utilizar las funciones take, skip, select, union y count en tus consultas de LINQ.

Código


  class Program
    {
        static void Main(string[] args)
        {
            List<Persona> lst = new List<Persona>() {
                new Persona() { Edad = 40, Nombre = "Pancho" },
                new Persona() { Edad = 30, Nombre = "Juan" },
                new Persona() { Edad = 11, Nombre = "Mario" },
                new Persona() { Edad = 18, Nombre = "Juana" },
                new Persona() { Edad = 6, Nombre = "Memo" },
            };

            List<Persona> lstSoloTexto = new List<Persona>() {
                 new Persona() { Edad = 30, Nombre = "Héctor" },
                 new Persona() { Edad = 38, Nombre = "Fernando" },
                 new Persona() { Edad = 12, Nombre = "Miguel" }

            };

            List<string> lstOrdenadosSoloNombres = (
                                                    from a in 
                                                        (from d in lst
                                                       select d )
                                                       .Union(
                                                        from d in lstSoloTexto
                                                        select d
                                                        )
                                                    orderby a.Nombre
                                                    select a.EdadYNombre
                                                    )
                                                   .ToList();

            int numerodepersonas = lstOrdenadosSoloNombres.Count;

            foreach (var Nombre in lstOrdenadosSoloNombres)
            {
                Console.WriteLine(Nombre);
            }

        }

        public class Persona
        {
            public int Edad { get; set; }
            public string Nombre { get; set; }

            public string EdadYNombre
            {
                get {
                    return Edad + " - " + Nombre;
                }
            }

        }
    }