All posts by jmalarcon
Menú de navegaciónMenú
Categorías

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

7 mitos sobre tiempo y horas que muchos programadores se creen (y que son mentira)

Una de las cosas más habituales que hay que hacer en cualquier aplicación es gestionar datos relativos a fechas y horas. Sin embargo, existen muchos pequeños detalles que debemos tener en cuenta cuando manejamos datos de este tipo en nuestro código. Muchos de estos detalles se nos escapan a veces o directamente puede que no los conozcamos. Vamos a repasar a continuación algunos mitos y falsedades sobre el tiempo y las horas que muchos programadores desconocen pero que deberían saber. Puede que algunos los tengas claros, pero seguro que otros te sorprenden... [Más]

SQL Server: Cómo anular temporalmente un campo auto-numérico

Toda tabla de una base de datos debería disponer de **una clave primaria**. Esta clave primaria identifica de manera única a cualquier registro dentro de dicha tabla. Una forma muy habitual de crear una clave primaria es utilizando **un campo numérico auto-incrementado**, también llamado simplemente **"auto-numérico"**. El típico campo "Id" que se traduce en nombres de campo de tipo `idEntidad`. Cada vez que insertemos un nuevo registro la base de datos se encarga de manera automática de asignarle un valor e ir incrementándolo a medida que se añaden más datos. Pero ¿qué pasa si necesitamos desactivar esta funcionalidad momentáneamente, por ejemplo para restaurar datos que se han perdido? En este artículo te contamos cómo lograrlo... [Más]

FRIKADAS: Versiones Open Source de cientos de juegos clásicos

Los años comprendidos entre el lanzamiento de Space Invaders en 1978, y la aparición de las primeras consolas modernas, a finales de los '80, marcaron la que se conoce como la Edad de Oro de los Video-Juegos. No es de extrañar que muchos de los que crecimos en los años '80 sigamos enamorados de los juegos de entonces, y los juegos actuales, a pesar de su espectacularidad, no nos enganchen de la misma manera. Si tienes adición a los 8 bits y además programas, esto te va a interesar... [Más]

Cómo concatenar subconsultas en un solo campo con SQL Server

Una situación típica pero complicada de resolver es cuando tenemos registros en una base de datos que están relacionados con varios registros de otra tabla y lo que necesitamos es obtenerlos todos juntos, en un solo campo, en lugar de obtener un montón de filas con el mismo dato de origen repetido. Suena complicado, pero se entiende mejor con un ejemplo. imagina, por ejemplo, un producto que está en varias categorías, un post en un sistema de blogs que tiene asignadas varias etiquetas, y en general cualquier relación uno-a-muchos. Si quieres sacar toda esa información junta, en una cadena de texto lista para usar puede que no sepas ni por dónde empezar. En SQL Server hay una técnica muy útil para conseguirlo que es la que te vamos a explicar en este (largo) artículo... [Más]

¿Qué es la máquina virtual de Java o Java Virtual Machine?

Los lenguajes de programación de alto nivel como C, C++, Java o Python, por citar unos pocos, sirven para comunicarse con una computadora mediante algo más fácil de entender para un humano que el "lenguaje máquina" o el lenguaje ensamblador, que está muy cercano a la máquina. Estos lenguajes se llaman "de alto nivel" porque están en un nivel de abstracción mucho mayor que el que ofrece un ordenador: tienen bucles, condicionales, matrices, tipos de datos... Tradicionalmente, el compilador de un lenguaje de alto nivel se encargaba de traducir ese lenguaje "sencillo" en lenguaje máquina, directamente utilizable por el computador a través del sistema operativo. Sin embargo Java, C# y muchos otros lenguajes modernos usan otra técnica para conseguir ciertos beneficios. En este artículo te contamos cómo funciona y cómo se implementa en el caso concreto del lenguaje Java. [Más]

Webpack: qué es, para qué sirve y sus ventajas e inconvenientes

Si trabajas en desarrollo web, entonces casi seguro que has escuchado hablar de Webpack. Esta útil herramienta se vende como un "bundler", una herramienta capaz de empaquetar varios módulos JavaScript en un solo archivo .js para optimizar las descargas. Pero lo cierto es que es muchísimo más que eso. Es tan potente que hoy en día ha sustituido por completo a otras herramientas tradicionales de desarrollo web Front-End como Bower, Gulp o Grunt, e incluso a servidores web de desarrollo. En este artículo te explicamos qué es, para qué se usa y cuáles son sus ventajas e inconvenientes. [Más]

Plataforma .NET, Plataforma .NET Core y Xamarin: el panorama de las tecnologías de desarrollo Microsoft en 2018

Ya han pasado dos años desde que se empezó a hablar públicamente sobre .NET Core, y poco más de 1 año desde que se lanzó la versión 1.0 de la nueva plataforma (apareció el 28 de junio de 2016). El mes pasado Microsoft lanzó, por fin, la versión 2 de .NET Core, ofreciéndonos una segunda encarnación más robusta y completa de la nueva tecnología. A pesar de todo este tiempo, aún hoy en día sigue habiendo una gran confusión en torno a todo lo que tiene que ver con la plataforma, sus versiones, sus compatibilidades, etc... ¿En qué estado están las cosas? ¿Qué debemos esperar de cara a finales de 2017 y principios de 2018 en lo que respecta a las tecnologías de desarrollo de .NET? ¿Cuál es el panorama actual? [Más]

TRUCO VS #5: Uso de snippets para acelerar la escritura de código

Un snippet (o "fragmento" en español) o es más que un fragmento de código ya creado que podemos insertar de golpe mientras escribimos, ahorrándonos muchas pulsaciones de teclas. Normalmente se trata de código muy repetitivo, lo que los americanos llaman plumbing ("fontanería" se suele decir en español) y que en realidad no nos aporta demasiado tener que escribirlos una y otra vez. Gracias a los snippets puedes reducir esto a la pulsación de un par de teclas y ahorrar muchísimo tiempo. En este post te contamos cómo conseguirlo. [Más]

TRUCO VS #4: Rodear código con una estructura automáticamente

Cuando estás escribiendo código normalmente no lo haces de arriba a abajo del tirón, a la primera. Lo habitual es que sea un proceso iterativo. Lo normal es que empieces "por el medio" casi todo lo que haces. Por ejemplo, escribes unas cuantas líneas dentro de una función con las instrucciones principales de lo que quieres hacer (o de una parte de ello), compruebas que funciona y luego empiezas a meterle posibilidades con condicionales o a envolverlo en cláusulas de gestión de excepciones o a repetir la misma operación varias veces con un bucle... Para seguir este flujo resulta muy útil poder introducir nuevas estructuras de manera casi instantánea, sin tener que escribirlas. En esto también tenemos un poderoso aliado en Visual Studio. Vamos a verlo... [Más]