Lazy Loading en Entity Framework C# .NET utilizando Proxies

El Lazy Loading o carga diferida es una técnica con la cual solo tendrás el recurso cuando lo necesites, es decir, la carga de información se hará solo al momento que vayas a hacer uso de ella.

El Lazy Loading o carga diferida es una técnica con la cual solo tendrás el recurso cuando lo necesites, es decir, la carga de información se hará solo al momento que vayas a hacer uso de ella.

Al momento de utilizar este concepto en un ORM, por ejemplo Entity Framework, podemos hacer uso de información de una tabla, e ir a información de otra tabla relacionada solo al momento que vayamos a necesitarla.

La ventaja de esto es que no saturamos el servidor con información que muchas veces no vamos a utilizar. Teniendo igual desventaja el tener que hacer consultas extras cada vez que necesitamos un recurso.

El conocer Lazy Loading te dará una alternativa para solucionar casos en particular.

A continuación te muestro como implementar Lazy Loading en Entity Framework en .NET utilizando Proxies.

Curso de C# .NET Gratis (Intensivo)

C# es un lenguaje de programación con el cual puedes hacer todo tipo de proyectos, que van desde Iot(Internet de las cosas), desarrollo web tanto backend como frontend(Blazor), videojuegos, aplicaciones de escritorio y mucho más, con lo cual es un lenguaje muy solicitado en la industria del desarrollo de software.

C# es un lenguaje de programación con el cual puedes hacer todo tipo de proyectos, que van desde Iot(Internet de las cosas), desarrollo web tanto backend como frontend(Blazor), videojuegos, aplicaciones de escritorio y mucho más, con lo cual es un lenguaje muy solicitado en la industria del desarrollo de software.

Este curso te permitirá conocer el lenguaje de programación C# de manera rápida, sobre todo, si vienes de otro lenguaje de programación.

El curso es intensivo y abarca desde Programación Orientada a Objetos, Programación funcional, así como un apartado de LINQ el cual es una extensión del lenguaje C# que te permitirá el manejo de colecciones de manera declarativa.

Libro: Aprender a Programar con C# – Héctor de León

La programación tiene como herramienta los lenguajes de programación, pero solo es un medio para llegar a la solución, el libro, a pesar de enseñar los conceptos con C#, tiene como fin, enseñarte los conceptos, y que el lenguaje C#, sea lo que menos importe al leer este libro.

En este libro, me he enfocado a enseñar conceptos fundamentales que debería conocer todo programador.

Una vez que aprendes el concepto, implementarlo en otros lenguajes de programación, no debería ser un problema.

La programación tiene como herramienta los lenguajes de programación, pero solo es un medio para llegar a la solución, el libro, a pesar de enseñar los conceptos con C#, tiene como fin, enseñarte los conceptos, y que el lenguaje C#, sea lo que menos importe al leer este libro.

Comprar libro:

Contenido del libro:

PHP Moderno

PHP es un lenguaje de programación que ha ido evolucionando a través de los años, llegando a tener características interesantes en los últimos años.

PHP es un lenguaje de programación que ha ido evolucionando a través de los años, llegando a tener características interesantes en los últimos años.

En el siguiente video te muestro las características nuevas y obligadas a conocer de este lenguaje de programación, que te ayudarán a realizar código con mejor calidad a la hora de programar.

Código fuente videojuego Snake en JavaScript

El videojuego Snake un juego muy conocido, el cual al intentar programarlo te dará habilidades con el manejo de arrays.

El videojuego Snake un juego muy conocido, el cual al intentar programarlo te dará habilidades con el manejo de arrays.

En el siguiente video te muestro como programar el videojuego Snake con JavaScript.

Código Fuente: https://github.com/powerhdeleon/snake

¿Por qué los String son Inmutables? El String Intern Pool

En la programación es común que se nos indique que todas las variables de tipo String son inmutables, pero pocas veces se nos explica el ¿Por qué? de esto.

En la programación es común que se nos indique que todas las variables de tipo String son inmutables, pero pocas veces se nos explica el ¿Por qué? de esto.

Desde los inicios de la creación de los lenguajes de programación de alto nivel, es decir, en los años 50s, se detecto la gran problemática que traería la comparativa de variables de tipo cadena, ya que para comparar si 2 String son iguales, se necesitaba de algoritmos de O(n), es decir, algoritmos que tardarían dependiendo el numero de caracteres que tuviera tu variable de tipo String.

A parte, cuando se guarda una variable String, esta se distribuye por la memoria en distintas direcciones, por lo cual, se agrega un nivel extra de rendimiento.

En los años 60s se opto por utilizar un mecanismo el cual guardará los String distintos y solo asignarle la dirección de memoria a la variable de este tipo, de esta manera, al comparar 2 String, solo se compararía si correspondían a la misma dirección de memoria o no. Este mecanismo es llamado String Intern Pool.

El String Intern Pool es utilizado por la mayoría de lenguajes de programación más utilizados, como es el caso de C#, Python, Java y PHP.

A continuación te explico más a fondo de que va este concepto:

¡A la mierda la Programación!

Hubo una época en mi carrera como Programador donde sentía que me estaba quedando atrás en conocimientos, sentía que siempre había algo que aprender, y hasta sentía que era tonto por no saber todo lo que estaba saliendo, era frustrante no llevar el hilo de todo, sentir que era malo en lo que estaba haciendo, ya que me era imposible aprender todo lo que se escuchaba, y lo peor, cada semana que pasaba, nuevas cosas aparecían.

Hubo una época en mi carrera como Programador donde sentía que me estaba quedando atrás en conocimientos, sentía que siempre había algo que aprender, y hasta sentía que era tonto por no saber todo lo que estaba saliendo, era frustrante no llevar el hilo de todo, sentir que era malo en lo que estaba haciendo, ya que me era imposible aprender todo lo que se escuchaba, y lo peor, cada semana que pasaba, nuevas cosas aparecían.

Un día entendí que el problema no era yo, el problema era la creciente evolución de esta área, todo fue mejorando en mi cuando me di cuenta que en realidad, poco de todo lo que estaba saliendo, realmente era algo que necesitaba aprender.

Esto fue la parte difícil, aceptar que no tenemos que aprender todo, solo tenemos que aprender lo que necesitamos, pero: ¿Cómo saber que es lo que necesitamos? Probando por curiosidad, algunos minutos del día algo que nos llame la atención, y tener un juicio sin fanatismo para aceptar si eso nos servirá o solo es algo que tiene mucho hype.

Posterior a esto, al poder decidir que aprender y que no, todo se siente más relajado.

El aprendizaje debe estar orientado a objetivos, puedes tener hobbies de lectura sobre temas que te llamen la atención y no pasa nada, pero el querer aprender todo lo que esta saliendo solo por sentirse que te quedas atrás es un error que cometemos muchos que estamos dentro de la Programación.

He lanzado un video, donde las personas se han sentido identificadas, igual, quizá, puede servirte verlo:

Crear Formularios Dinámicos en HTML y JavaScript

En el siguiente video te muestro como crear y obtener la información de un formulario dinámico creado en HTML y JavaScript, sin utilizar framework o biblioteca alguna.

Los formularios dinámicos son algo indispensable que debemos saber crear como programadores.

Tarde o temprano nos amos a enfrentar a un requerimiento que necesite de una solución dinámica.

En el siguiente video te muestro como crear y obtener la información de un formulario dinámico creado en HTML y JavaScript, sin utilizar framework o biblioteca alguna.

Curso de SOLID en JavaScipt GRATIS

Los principios SOLID nos pueden ayuda a crear código el cual pueda tener mejor adaptabilidad a cambios, esto es importante ya que los proyectos de software suelen tener muchos cambios a través de su existencia.

Los principios SOLID nos pueden ayuda a crear código el cual pueda tener mejor adaptabilidad a cambios, esto es importante ya que los proyectos de software suelen tener muchos cambios a través de su existencia.

JavaScript es un lenguaje de Programación muy flexible, por lo cual se tiene complicación comprender estos principios que originalmente fueron propuestos para lenguajes de programación orientado a objetos.

En el siguiente curso te muestro ejercicios prácticos con los cuales comprenderás estos principios utilizando el lenguaje de programación JavaScript.