Menú de navegaciónMenú
Categorías

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

1052 artículos publicados

Cómo sustituir GIFs animados por vídeo y ganar en el proceso

Los GIF animados vuelven a estar de moda. Cada vez se ven más. Pero este tipo de archivo es muy ineficiente, consume mucho ancho de banda, ralentiza las páginas y hace que el navegador haga más uso del procesador del que debiera. De hecho, la mayor parte de las páginas que tienen GIFs realmente no los utilizan. Usan otro truco para que parezcan GIFs pero en realidad los optimizan para que no tengan ninguno de estos inconvenientes. En este post te contamos cómo conseguir lo mismo... [Más]

GAMBADAS: engañar al GPS para enviar a tu coche autónomo directo contra el tráfico

Cada día millones de personas utilizan el sistema global de posicionamiento americano, GPS. Todos los móviles llevan un sensor GPS incorporado que recibe señales de su constelación de satélites y mide desfases para determinar con precisión pasmosa la ubicación actual. Muchos coches también los incorporan, y en el futuro próximo los coches autónomos estarán al orden del día, y también lo usarán para apoyarse en sus datos de cara a la navegación... Pero ¿es seguro este sistema? Algunos expertos creen que no y además lo demuestran... [Más]

3 formas de inicializar colecciones Java a la hora de declararlas

En muchos lenguajes, al definir una colección como un array o una lista podemos asignarle una una sucesión de valores de forma que los contenga como elementos. En Java, podemos hacer esto con arrays básicos. Sin embargo, a la hora de inicializar una colección de objetos de una clase, la misma sintaxis no es aplicable. En su lugar, habitualmente debemos recurrir a los métodos que añaden elementos. En este post veremos tres vías para conseguir introducir los elementos en la colección en menos código y con mayor legibilidad. [Más]

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]

GAMBADAS: El efecto 2000 japonés

Cuando tú o yo cambiamos de trabajo, como mucho actualizamos nuestro perfil de LinkedIn. Y eso si nos acordamos. Pero cuando el emperador de Japón se jubila, es un problema muy grave para mucha gente, y no solo en Japón... Y es que el emperador Akihito va a abdicar en su hijo Naruhito el año que viene, y esto tiene más implicaciones de las que imaginas. Tantas que ya se habla de una especie de "efecto 2000" debido a esto. Te lo contamos... [Más]

Las 10 herramientas más importantes para orquestación de contenedores Docker

Los contenedores son tan ligeros y flexibles que han dado lugar a nuevas arquitecturas de aplicaciones. Este nuevo enfoque consiste en empaquetar los diferentes servicios que constituyen una aplicación en contendedores separados, y luego desplegar esos contenedores a través de un clúster de máquinas físicas o virtuales. Esto lleva a la necesidad de "orquestar" los contenedores, que forman una aplicación, es decir, automatizar el despliegue, la gestión, el escalado, la interconexión y la disponibilidad de todos esos contenedores. En este artículo te presentamos los 10 mejores y más conocidos. [Más]

3 trucos para automatizar tus tareas de desarrollo con git hooks

El sistema de control de versiones Git, como muchos otros, viene con unos cuantos trucos en la manga que lo hacen muy extensible de forma programática. En este artículo aprenderemos uno de ellos, los hooks, que permiten realizar acciones automáticas junto a muchos de los comandos típicos de Git. Los hooks son programas que se ejecutan antes o después que algún evento importante de Git. Por ejemplo, antes de completar un git commit, tras cambiar de rama o antes de enviar los cambios durante un git push. Se pueden hacer cosas muy interesantes con ellos. Vamos a verlo... [Más]

FRIKADAS: Cómo construir tu propia super-computadora por menos de 100 euros

Un superordenador es en realidad un clúster de computación que se compone de cientos o miles de ordenadores individuales que están conectados entre sí y controlados por software especial. Cada nodo del clúster está ejecutando procesos similares en paralelo, pero cuando se combina toda su potencia de cálculo se termina con un sistema que es mucho más potente que cualquiera de sus partes por si mismas. Uno de estos chismes puede llegar a ocupar el espacio de varias pistas de tenis. Te contamos cómo montar uno por muy poco dinero, que si bien no será tan potente, podrás aprender el funcionamiento de uno de los grandes. [Más]

HTML y CSS: Cómo arreglar ese extraño espacio que aparece a veces debajo de las imágenes

Bueno, en realidad no es solo cosa de las imágenes. Suele ocurrir en elementos en línea que están dentro de un elemento de bloque sin altura definida. Si llevan un tiempo trabajando en el frontend, seguro que alguna vez te ha pasado algo así: Tienes una serie de imágenes, cada una dentro de un enlace, y para ordenar esos enlaces decides darles un display:block; o inline-block, para poder manejarlos a gusto. Pero, oh sorpresa, de repente te aparece un hueco debajo de la imagen que no sabes de dónde ha salido. [Más]

¿Cuáles son las causas más comunes de despido de un programador?

¿Por qué motivos se suele despedir a un programador o a un ingeniero de software? Existen miles de razones por las que despedir a cualquier tipo de empleado, y también hay miles de razones por las cuales los mandos evitan despedir a empleados que sí deberían despedir.
Sin embargo, para desarrolladores de software e ingenieros, siempre hay un conjunto de motivos que destacan sobre el resto. Al igual que a un comercial se le despide por no llegar a la cifra de venta, o por tratar mal a un cliente o quitarle cuentas a sus compañeros, los programadores tienen sus propios motivos de despido "tipo". [Más]