Por
Eduard Tomás.
Publicado el
La recursividad de “cola” (traducción libre de tail recursion) es un mecanismo qu
[Más]
Por
campusMVP.
Publicado el
El diseño de las bases de datos relacionales se basa en la existencia de tablas y de relaciones entre ellas (aunque como hemos dicho en más de una ocasión en este blog, el nombre "Relacional" otorgado a este tipo de sistemas no viene de estas relaciones, sino de las tablas en sí).
[Más]
Por
José Manuel Alarcón.
Publicado el
En Julio del año pasado, justo antes de que lanzasen Visual Studio 2015, escribí un post muy detallado sobre todo el lío de versiones que se nos venía encima con la aparición de lo que se conocía entonces como ASP.NET "vNext", y el enorme fiasco que había montado el equipo de desarrollo con la numeración de versiones que habían elegido.
Aunque creo que te interesará y deberías leerlo, si no quieres hacerlo ahora, como resumen te diré que lo que hicieron con el versionamiento del producto daba a entender a la gente que todo lo nuevo que están haciendo iba a ser una nueva versión de lo anterior, sustituyéndolo, cuando en realidad son dos proyectos distintos que trabajarán en paralelo.
[Más]
Por
José María Aguilar.
Publicado el
Cuando aún todos conocíamos el nuevo framework de desarrollo para la web con el nombre "ASP.NET vNext" y llegó el momento de darle un nombre definitivo, hubo bastante discusión al respecto. Internamente se debatió bastante, se propusieron varias alternativas y al final se optó por la línea continuista: la nueva criatura se llamaría "ASP.NET 5". Este mismo criterio se aplicó a otros productos que también habían sido creados from scratch, como .NET Core, que se versionó como 5.0, o el nuevo Entity Framework, cuya flamante primera versión sería la 7.0. La cuestión es que este enfoque en la asignación de nombres y versiones no fue del agrado de muchos, que pensábamos que algo creado desde cero y que rompía en bastantes aspectos con lo anterior no tenía sentido lanzarlo a la calle simplemente como un incremento de versión de un producto existente. Es difícil de explicar y difícil de comprender...
[Más]
Por
Eduard Tomás.
Publicado el
Las size classes representan una abstracción del tamaño de pantalla de un dispositivo iOS. Gracias a ellas no vamos a necesitar preguntar si la aplicación está en un iPhone o en un iPad, ni tan siquiera si está en posición horizontal o vertical: las size classes nos proporcionan esta información. La idea detrás de las size classes es la siguiente: Un dispositivo tiene un cierto "tamaño" vertical y un cierto "tamaño" horizontal, o dicho de otro modo una altura y una anchura. Apple ha definido dos tamaños tanto para la altura como para la anchura, llamados Regular y Compact.
[Más]
Por
José Manuel Alarcón.
Publicado el
Aunque existen otras muchas maneras de trasegar archivos con un servidor lo cierto es que nada supera todavía la facilidad de uso y conveniencia del viejo protocolo FTP (File Transfer Protocol). Por ello, en cualquier servidor tendrás que instalar casi con total seguridad un servidor FTP que permita a tus usuarios conectarse y transferir archivos. Incluso aunque no tengas usuarios, para el propio trabajo de administrador del servidor te vendrá bien disponer de un servidor FTP. El servidor FTP más conocido y (probablemente) más utilizado del mundo es Filezilla Server. El motivo es que, aunque es un tanto espartano y se actualiza menos de lo que nos gustaría...
[Más]
Por
Natalia Matesanz.
Publicado el
La gran variedad de dispositivos disponibles en el mercado actual ha traído consigo la necesidad de adaptar muchos elementos de nuestros proyectos: layout, arquitectura de información, diseño…. Una parte especialmente importante son las imágenes y cómo éstas se muestran en diferentes pantallas.
A estas alturas, seguro que habrás oído hablar del Retina Display y HiDPI. Retina Display, es un término comercial registrado por Apple para denominar las pantallas con una alta densidad de píxeles. HiDPI es el término utilizado por otras marcas para referirse a lo mismo.
Básicamente son pantallas de alta...
[Más]
Por
José Manuel Alarcón.
Publicado el
Como dice el viejo chiste: "¿Cómo te comerías un elefante?... Pues trocito a trocito, claro. " Aprender a programar en un nuevo sistema operativo es como comerse un elefante: no puedes hacerlo de golpe y si quieres tener éxito debes ir poco a poco, quemando etapas. Uno de los principales mitos del desarrollo para iOS es que es difícil por culpa de Objective-C, un lenguaje críptico y propenso a errores que no perdona los fallos. Y el mito moderno derivado de este es que Swift, por el contrario, facilita mucho las cosas ya que...
[Más]
Por
campusMVP.
Publicado el
Los códigos de estado del protocolo HTTP indican a los navegadores el estado de una petición que se realiza a un servidor Web. Así, cuando la página que estamos buscando no existe el servidor devuelve un código de estado 404 ("No encontrado"), si se ha movido a otro sitio obtendremos un código 301 ("Movido de modo permanente") o 302 ("Movido temporalmente"), y si se produce un error interno será el código 500 ("Error interno"), por citar los más conocidos.El Internet Engineering Task Force (IETF) es el organismo encargado de definir los estándares relacionados con Internet y acaba de proponer como estándar recomendado utilizar el código HTTP 451 para indicar que un sitio web ha sido interven...
[Más]
Por
campusMVP.
Publicado el
Tradicionalmente el reconocimiento automático de imágenes ha sido una tarea difícil, basada en algoritmos deterministas y con una gran tasa de errores. Para entendernos, se necesitaba crear algoritmos de propósito específico y orientados a reconocer tipos concretos de información en las imágenes.
Sin embargo, y como ya informamos aquí hace bastante tiempo, la disciplina pegó un gran salto cualitativo hace cosa de dos años cuando el "Deep learning" se empezó a volver algo del día a día. Todas las grandes empresas comenzaron a invertir en esta tecnología de Inteligencia Artificial (AI) que es cap...
[Más]