¿Cómo mostrar los usuarios activos en tiempo real en C# .Net con SignalR?, Real time

En este video te mostrare como saber cuántos usuarios están activos en tu sitio web en tiempo real utilizando SignalR, una tecnología que sirve para conectarnos con sockets de manera rápida y funcional.

¿Cuál es la diferencia entre Java y Javascript?

Esta es una pregunta que todos nos hicimos alguna vez, quizá cuando comenzamos a programar y escuchamos de estos 2 lenguajes de programación.

Es una de las dudas que seguirán existiendo siempre, gracias al juego de letras que una palabra contiene a la otra, nos hace creer, que tienen relación directa, como cuando se habla de Auto y Automóvil por ejemplo.

La verdad su relación solo tiene que ver con su historia y un poco de mercadotecnia.

Java es un lenguaje de programación que nació en 1991, creado para ser usado en el proyecto set-top-box por la empresa Sun Microsystems, un dispositivo receptor de señales analógicas de televisión. Su primer nombre fue Oak, luego Green y por ultimo quedo con el nombre de Java. Hay muchas historias sobre el origen del nombre Java que van desde las Iniciales de los diseñadores del lenguaje hasta la hipótesis de que es el nombre de un café que se vendía en una cafetería a la cual acudían los creadores del lenguaje (por eso el logotipo de la taza de café).

Resultado de imagen para java logo
Logo de Java

La propuesta del lenguaje Java era que funcionara en el dispositivo que fuera, sin importar su naturaleza: televisiones, lavadoras, computadoras etc, corriendo en una máquina virtual y permitiendo a los programadores desarrollar software en distintas plataformas.

En el año 2009 Oracle adquiere Sun Microsystem, y con ello, adquiere Java.

Java se describe como un lenguaje de programación Orientado a Objetos, compilado, fuertemente tipado y multiplataforma, y es en Java 8 cuando se le añade capacidad para programación funcional mediante expresiones Lambda.

El nombre de Javascript se dio quizá por un aspecto de mercadotecnia, en el año de 1995. ¿Recuerdan que había un navegador llamado Netscape? Pues este lenguaje agrego compatibilidad con Java. Ese mismo año nació Javascript, un lenguaje creado por Brendan Eich, un trabajador de Netscape. En un inicio Javascript tenía el nombre de Mocha, más tarde se llamó LiveScript, y por ultimo termino con el nombre Javascript. Curioso que el mismo año en el que Netscape agrego soporte a Java. Quizá se quiso aprovechar la bomba de Java para que los programadores aceptaran Javascript pensando que era una prolongación de Java.

Resultado de imagen para brendan eich
Brendan Eich

Javascript es un lenguaje de programación interpretado (Java es compilado), sigue el estándar EMAScript, se define como orientado a objetos basado en prototipos y débilmente tipado (Java es fuertemente tipado). Es decir, javascript es tan distinto de Java como lo es php de Java. Javascript comparte características a Java, pero son tan pocas que ni siquiera se parecen en sintaxis, paradigma, organización, arquitectura y funcionalidad.

Al parecer una campaña de mercadotecnia en el nombre hizo de Javascript ser lo que es ahora, quizá pudo haber terminado como VBScript si no hubiera cambiado su nombre para ser parecido a uno de los lenguajes fuertes del momento. Quizá, pero eso no quita que Javascript sea un buen lenguaje de programación, al igual que Java, pero distintos, tan distintos que su mayor relación es que un nombre de uno contiene al otro.

¿Cuánto se gana con un sitio web de programación y #adsense?, Con pruebas reales, 2018

En este video te mostrare cuanto gano con mi sitio web de programación y adsense (hoy agosto 2018), te mostrare con analytics cuantas visitas tengo y las ganancias reales, así como explicarte los factores que afectan que tus ganancias sean mayores o menores.

Aprende a programar desde Cero, sin censura

Esta es una serie de videos que hice para que cualquier persona afín o no afín al desarrollo de software, pueda aprender a programar.

Aviso: el siguiente contenido contiene sátira y majaderías, ya que fue hecho con ese fin.

Prototype deep en C# .Net, Patrones de diseño, design patterns, #3

En este video explicare el patrón de diseño prototype deep en c# .Net, sis inconvenientes y su diferencia con el patrón de diseño prototype shallow.

Código

 public class Animal : ICloneable
    {
        public int Patas { get; set; }
        public string Nombre { get; set; }

        public Detalles Rasgos { get; set; }


        public object Clone()
        {
            Animal clonado = this.MemberwiseClone() as Animal;
            Detalles detalles = new Detalles();
            detalles.Color = this.Rasgos.Color;
            detalles.Raza = this.Rasgos.Raza;
            clonado.Rasgos = detalles;
            return clonado;
        }
    }

    public class Detalles
    {
        public string Color { get; set; }
        public string Raza { get; set; }
    }

//De esta manera se demuestra
 Animal oAnimal = new Animal() { Nombre = "Oveja Dolly", Patas = 4 };
oAnimal.Rasgos = new Detalles();
oAnimal.Rasgos.Color = "Blanca";
oAnimal.Rasgos.Raza = "Oveja";

Animal oAnimalClonado = oAnimal.Clone() as Animal;
oAnimalClonado.Rasgos.Color = "Negro";
oAnimalClonado.Nombre = "Oveja negra";

Console.WriteLine("animal original: "+oAnimal.Rasgos.Color);
Console.WriteLine("annimal clonado: "+oAnimalClonado.Rasgos.Color);
Console.WriteLine("animal original: "+oAnimal.Nombre);
Console.WriteLine("animal clonado: "+oAnimalClonado.Nombre);

Todos mis videos de patrones de diseño en C# .Net: https://www.youtube.com/watch?v=K902i_tsXl0&list=PLWYKfSbdsjJiiaXNIW1OYhRnStsyGvr6t

Curso de C# .Net

En este curso me enfoco a los aspectos de C# .Net directamente sin tanta teoria. El curso es grabado en vivo como los mejores programas de la televisión, en vivo y con errores.

Aquí no veras Programación Orientada a Objetos, que son las sentencias if o while, estos conceptos ya los debes conocer, e igual hay miles de sitios aburridos que te lo enseñan.

Yo me enfocare a enseñarte C# .Net de una manera original, directo al grano, todo con el fin de que te sirva como una herramienta real de trabajo.

A partir del video 2 comenzaremos a realizar un chat multiplataforma, el cual estará conectado por medio de un servicio web al cual se comunicara un sistema hecho en MVC y otro en Windows Form.

La lista de videos esta ordenada conforme van saliendo y se encuentran aquí abajo. (Igual puedes dar clic a uno y seguir la lista de reproducción)

Código del curso (se actualiza cada que hay nuevos videos): clic aquí

1. Introducción

2. Entornos y arquitectura (Windows Form, MVC, MVC Api)

3. Publicación y configuración de IIS

4. Json a Objeto, recibir datos por POST

5. Serializar y deserializar objetos, generics, enviar datos por POST

6. Creación de librerías, ¿Que es el administrador de paquetes NuGet?, appsettings

7. Vistas en MVC .Net, Razor

8. Validaciones con DataAnnotatios en MVC .Net

9. Autentificación en MVC API .Net

10. Autentificación en MVC .Net utilizando servicio web, filtros, seguridad

11. Solicitudes remotas en tiempo real con SignalR

12. Verificar Access Token, regresar listado en json

13. Utilizar if y try catch en LINQ con Lambda

14. Enviar y recibir datos en tiempo real con SignalR

15. Seguridad y grupos en SignalR

16. Introducción a Windows Forms

17. Sesiones en windows forms

18. Creación de elementos dinámicamente en windows forms

Prototype shallow en C# .Net, Patrones de diseño, design patterns, #2

En este video te explico el patrón de diseño Prototype superficial, y ejemplos de cuando utilizarlo y como programarlo.


//clase prototype superficial
public class Animal : ICloneable
    {
        public int Patas { get; set; }
        public string Nombre { get; set; }

        public object Clone()
        {
            return this.MemberwiseClone();
        }
    }

//como utilizarla
  Animal oAnimal = new Animal() { Nombre="Oveja Dolly", Patas=4};
  Animal oAnimalClonado = oAnimal.Clone() as Animal;
  oAnimalClonado.Patas = 5;

  Console.WriteLine(oAnimal.Patas);



Todos mis videos de patrones de diseño en C# .Net: https://www.youtube.com/watch?v=K902i_tsXl0&list=PLWYKfSbdsjJiiaXNIW1OYhRnStsyGvr6t