Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

1038 artículos publicados

SQL Server: cuáles son las diferencias entre @@identity y Scope_identity

Cuando insertamos un registro en una tabla de una base de datos, lo más habitual es que se genere automáticamente un nuevo identificador único para el nuevo registro, generalmente un autonumérico. Este identificador es el que vamos a utilizar luego para relacionar el nuevo registro con cualquier otra tabla de la base de datos que necesite utilizarlo. La generación de este autonumérico es mucho más compleja de lo que parece ya que debe tener en cuenta la simultaneidad a la hora de usar la base de datos. Y lo mismo ocurre al recuperarlo para que podamos sacarle partido y relacionar nuestros registros con los de otras tablas. Te explicamos qué métodos tienes en SQL Server, cuáles son sus diferencias y cuál te recomendamos. [Más]

HTTPS en todas partes y el fin de los sitios no seguros - Instala un certificado en tu servidor Web

En unos pocos días Google Chrome empezará a marcar como inseguros a todos los sitios web que no se sirvan a través de HTTPS. En este artículo te contamos cuándo ocurrirá esto, por qué, cómo puedes evitarlo y trataremos de desmentir algunos mitos importantes que existen acerca de HTTPS y las conexiones seguras en Internet. [Más]

¿Qué son los archivos .gitkeep en Git?

Seguro que has visto mil veces el archivo .gitignore en la raíz de proyectos gestionados con Git. Sin embargo existe un archivo menos conocido llamado .gitkeep que tiene un propósito completamente diferente y que, si no lo conoces, puede dejarte un tanto sorprendido, porque encima siempre suele estar vacío. A continuación te contamos qué es este archivo y para qué se utiliza. [Más]

¿Qué diferencia hay entre Docker (Contenedores) y Máquinas virtuales (VMWare, VirtualBox...)?

Mucha gente, cuando oye hablar de Docker y de lo que hace, lo primero que piensa es en máquinas virtuales. Al fin y al cabo, una máquina virtual es un software que permite aislarse del sistema operativo subyacente y compartirlo entre varias aplicaciones. Sin embargo las diferencias entre las tecnologías de contenedores como Docker y las máquinas virtuales son enormes, tanto conceptualmente como en la práctica. En este artículo vamos a repasar brevemente ambas tecnologías para ver cómo trabajan y entender bien sus diferencias. No volverás a tener dudas al respecto 😉 [Más]

7 motivos para utilizar Docker en general y con ASP.NET Core en particular

El objetivo de Docker es permitirte la creación "paquetes estándar" pensados para despliegue llamados "contenedores" que incluyen todo lo necesario para que una aplicación funcione (dependencias, servicios...) y que se aíslan del sistema subyacente para lograr que siempre funcionen exactamente igual. Cuando se piensa en Docker, por lo general no se asocia con tecnologías Microsoft como .NET o Windows, pero en realidad existen un montón de buenos motivos para usar Docker con ASP.NET, especialmente con .NET Core y .NET Core MVC. En este artículo vamos a repasar las principales razones para utilizar Docker en general en tu proceso de desarrollo, y Docker con .NET en particular, mostrándote cómo te puede ayudar en tus desarrollos. [Más]

GAMBADAS: Engañando a la inteligencia artificial para que crea que cualquier foto es una tostadora

Es cierto que el Deep Learning ha experimentado un auge y unas mejoras sin precedentes durante el último lustro. Pero por mucho que lleve la palabra "inteligencia" en su nombre, las AI todavía no entienden nada. Son poco inteligentes, vamos. Sus aplicaciones en el mundo digital son muchas y de gran impacto: desde traducciones cada vez mejores, reconocimiento de voz impecable, diagnóstico de enfermedades, ahorro de energía... El peligro puede venir cuando controlen cuestiones del mundo físico, como un coche autónomo o el sistema de seguridad de un edificio, por ejemplo. En este artículo analizamos de qué manera se pueden engañar a una AI y cómo responden algunas de ellas al engaño. [Más]

Cómo solucionar el error "java.lang.NoClassDefFoundError" en Java

La excepción en el hilo "main" del tipo java.lang.NoClassDefFoundError es uno de los errores más comunes que te puedes encontrar al programar en Java. Y también una de las que más quebraderos de cabeza te pueden ocasionar dependiendo de la circunstancia que la cause. Dependiendo del tamaño de tu aplicación, resolver este error puede ser más o menos difícil (cuanto más grande más complicado, lógicamente). En este artículo vamos a ver por qué se produce (existen muchas posibles causas) y estudiaremos los 7 principales motivos y cómo solucionarlos. [Más]

Formatos de vídeo para Internet: MP4 y sus variantes, MP4/H.264 y MP4/MPEG-4 - Diferencias y similitudes

Los vídeos que reproducimos en Internet o bien de manera local en el ordenador o en cualquier otro dispositivo, pueden estar codificados de diferentes maneras. Cada método de codificarlos implica unas ventajas e inconvenientes, y existen formatos mejores que otros dependiendo del uso que queramos darle al vídeo. Así, tenemos formatos como AVI, MP4, MKV, 3GP, WebM de Google, etc... El formato más popular en la actualidad es el MP4, archivos con la extensión .mp4. Pero: ¿Son iguales todos los archivos .mp4?, si no son iguales, ¿qué tipos hay? ¿cuáles son las diferencias, ventajas e inconvenientes de cada uno?¿Valen todos para la Web? ¡Vamos a verlo! [Más]

Cómo eliminar el último commit de Git en el repositorio de origen (p.ej Github)

El objetivo principal de trabajar con un sistema de control de código fuente como Git es, por supuesto, mantener un histórico fiel e inalterado de todas las etapas por las que ha ido pasando el código fuente de un proyecto. Sin embargo, a veces, podemos añadir algo a esta historia que no pretendíamos añadir. Por ejemplo, hacemos un commit sin querer, metemos archivos de más o de menos, o va con un bug vergonzoso que no queremos que nadie vea y que se nos ha colado... Por regla general no deberíamos modificar la historia salvo que sea estrictamente necesario, pero ¡hey!, estas cosas pasan, así que deberíamos poder arreglarlo. En este artículo vamos a ver cómo conseguirlo... [Más]

Entity Framework: Code First, Database First y Model First ¿En qué consiste cada uno?

Entity Framework es el ORM (Object-Relational Mapper) de Microsoft, con versiones tanto para la plataforma .NET "tradicional" como para .NET Core, con capacidades muy diferentes en cada caso. Entity Framework nos ofrece diversas maneras de trabajar con los datos desde nuestros programas. Cada una tiene un enfoque diferente y es interesante para ciertos casos concretos, además de tener sus beneficios y problemas. Vamos a dar un repaso rápido a los modos de trabajo principales de Entity Framework para ver en qué consisten y sus ventajas e inconvenientes. Además las capacidades de Entity Framework en .NET "tradicional" (EF6) y en .NET Core (EF Core) son completamente diferentes y veremos también en qué consisten. [Más]