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

Tor.net: biblioteca para .NET que permite el acceso a la red Tor

Tor (The Onion Redirector) es una red oculta de navegación que, a través de comunicaciones encriptadas entre nodos redirectores que actúan como proxies anónimos, permite navegar de manera segura y anónima en Internet. Además de la navegación, permite alojar servicios ocultos, solo accesibles desde Tor. [Más]

Proteger y hacer más ágil tu código JavaScript: Minimización y ofuscación

Minimización La minimización (o "minificación") del código es un proceso muy común que se utiliza antes del despliegue de una aplicación web, y que sirve para eliminar todo lo superfluo de tu código con el fin de hacerlo lo más compacto posible y que pese muy poco. Este proceso le quita todos los espacios innecesarios, cambios de línea, tabuladores, comentarios, etc... y queda un código bastante difícil de leer, pero que ocupa mucho menos y se descarga más rápido desde el servidor. Para conseguir esto hay que usar algún programa específico. Existen muchos, pero el más conocido y potente es Uglify. Lo más habitual es usar alguna herramienta de automatización de código como Grunt o Gulp que ya disponen de plugins específicos para hacer uso de Uglify (y otros minificadores) de manera automática cuando queramos desplegar. Muchas herramient... [Más]

GAMBADAS: Ciber-ataques a la red eléctrica dejan a más de 225.000 personas sin luz

El que a estas alturas tenga todavía dudas de que gran parte de las guerras del futuro se librarán en Internet, debería leer esto. En diciembre del año pasado se produjo un incidente en tres compañías eléctricas de Ucrania, que enseguida dio la vuelta al mundo. Se trataba del primer ataque informatizado contra una infraestructura nacional. que se lleva a cabo con efecto. Es decir, sí, ya había habido multitud de ataques a centrales nucleares, controles de oleoductos, redes semafóricas, etc...pero nunca uno cuyo efecto hubiera impactado en el servicio. En este caso cerca de la mitad de los hogares de la región ucraniana de Ivano-Frankivsk se quedaron sin electricidad; más de 225 mil casas... [Más]

Ser mejor programador aprendiendo algoritmos (y de paso Swift)

Los algoritmos. Esos conceptos abstractos que se estudian en la teoría de computación y que luego raramente los usas en tu trabajo diario programando. ¿Cuándo fue la última vez que creaste una lista enlazada o diseñaste un algoritmo para búsqueda eficiente de datos? Probablemente nunca. De hecho, cualquier lenguaje o plataforma que se precie te ofrecerá "de serie" el 90% de los algoritmos que vas a necesitar usar alguna vez...

Sin embargo, cualquier problema que debas resolver usando un programa se reduce al final a crear un algoritmo, una serie de pasos lógicos y ordenados que te permiten resolver el problema de la manera más eficiente posible. Conocer la teoría y los conceptos que hay debajo de los algoritmos comunes (los que ya te da resueltos el propio lenguaje), aunque puedan parecer abstractos, en realidad marcan la diferencia entre un buen programador y un gran programador. [Más]

Migrando aplicaciones de .NET al nuevo .NET Core - Preguntas y respuestas

.NET Core es la nueva generación de tecnologías basadas en .NET y orientadas a la nube. No se trata de una nueva versión llamada a sustituir a la anterior, sino que es una nueva tecnología que se mantendrá en paralelo a la tecnología actual. Tiene unos objetivos diferentes: sobre todo que sea multi-plataforma (Windows, Linux y Mac), que ofrezca más rendimiento y menos uso de recursos para su uso en la nube, y que sea totalmente modular. En un artículo te explicábamos hace poco en qué consiste .NET Core, qué contendrá y qué esperar de esta tecnología en el corto plazo.Hace poco el equipo de .NET Core sacó un artículo en el que explicaban a vista de pájaro qué opciones existen para poder migrar tus aplicaciones desde la versión completa de .NET a la más liviana y multi-plataforma nueva versión, que por otro lado no ha sido lanzada todavía... [Más]

Los 10 lenguajes de programación de 2016

En los últimos años son numerosos los nuevos lenguajes de programación que van ganando aceptación entre los desarrolladores. Estos lenguajes revolucionaron la industria tecnológica, llegando en algunos caso a superar en popularidad a los lenguajes “de toda la vida”, como por ejemplo sucedió con Go de Google o Rust de Mozilla en su momento de mayor apogeo. Sin embargo, a excepción de Swift, cuya adopción parece imparable, de acuerdo con los datos publicados por la empresa RedMonk, los desarrolladores siguen prefiriendo los lenguajes establecidos. La figura que se muestra a continuación ha sido extraída de los datos publicados por RedMonk (véase enlace anterior) y por lo tanto es propiedad de RedMonk. En un post anterior ya os explicamos con qué propósito realizan este ranking de lenguajes y cómo llevan a cabo el análisis, por lo que ahora... [Más]

FRIKADAS: La red neuronal de Google que adivina la ubicación de cualquier foto

Te proponemos una tarea complicada: vete a tu buscador de imágenes favorito, busca una fotografía cualquiera y trata de adivinar, solo usando la imagen, aproximadamente en dónde fue tomada. No hace falta acertar la ciudad, llega con el país o incluso el continente... Parece una tarea sencilla, pero no lo es en absoluto. Si la foto tiene un edificio representativo o un cartel de carretera es muy fácil, pero si lo único que tenemos es un paisaje o, peor aún, el interior de un edificio, es casi imposible acertar por mucho mundo que tengamos.
Hace unos días un equipo de investigación de Google, liderado por el especialista alemán en visión artificial Tobias Weyand, han lanzado un software, PlaNet, capaz de hacer precisamente eso: identificar la ubicación aproximada de una foto usando tan solo la propia foto. [Más]

Pattern matching en lenguajes de programación funcionales

El pattern matching (se podría traducir como búsqueda de patrones) es otro concepto traído de la programación funcional que (como la propia programación funcional, de hecho) está tomando cada vez más importancia. ¿Pero�� en qué consiste exactamente? Muchos lenguajes tienen este concepto, aunque no todos con el mismo nivel de profundidad. En este artículo hablaremos un poco del pattern matching , su importancia y veremos algunos ejemplos. En la actualidad ECMAScript ya dispone de ciertas capacidades de patrones y se está valorando incluirlo en C# 7, por lo que conviene ir aprendiendo sobre el asunto. Nota: Aunque los conceptos son genéricos, el lenguaje que vamos a usar para los mismos es Elixir. Elixir es un lenguaje funcional que se ejecuta bajo BEAM, la máquina virtual de Erlang. La razón para escojer Elixir es que el pattern ... [Más]

El futuro de Xamarin con Microsoft: grandes noticias para los desarrolladores

Actualmente los teléfonos inteligentes o smartphones forman parte de nuestro día a día, entrando de lleno en las actividades diarias de cada uno de nosotros. Desde despertarnos a escribir un correo, pasando por estar al tanto de las últimas noticias, tomar fotos o permanecer en comunicación constante. Con cada revisión de hardware se aumentan las posibilidades de estos dispositivos como, por ejemplo, la integración de pagos o la conexión con otros dispositivos con el gran auge del Internet de las Cosas. Todo el apogeo del mundo móvil tiene una gran repercusión en nuestro mercado, el tecnológico, en nuestro mundo, el de los desarrolladores. Aunque las áreas de movilidad de las empresas cada vez tienen más y más peso, el desarrollo móvil es sin duda, un gran reto. Con diferentes plataformas dominando el mercado, con diferentes lenguaj... [Más]