Las ventajas de nil en Objective-C

Para los que venimos de lenguajes como Java o C++ donde un objeto null es un peligro, cuando llegamos a Objective-C descubrimos la gran ventaja que tenemos en este lenguaje.

En objective-C, un puntero apuntando a nil es un objeto sobre el que se pueden invocar métodos.

Es decir, cualquiera de las siguientes líneas son perfectamente válidas:

Gestión de memoria en iPhone SDK

El desarrollo de aplicaciones para iPhone o iPad, a diferencia de Android y otras plataformas, tiene un tema bastante espinoso y que a la gente le suele parecer complicado al principio: la gestión de memoria. Debido a que la aplicación es compilada a código nativo, sin máquinas virtuales de por medio, no contamos con un recolector de basura que nos haga la limpieza de memoria de las variables en desuso. En esta entrada trataré de exponer las convenciones y consideraciones que debes tener en cuenta al enfrentarte a este tipo de desarrollos.

Liberación de memoria en IBOutlets

Hoy voy me he encontrado con un problema en el trabajo relacionado con la liberación de memoria y la convención Ownership. Bajo esta convención, las clases solo son responsables de liberar aquella memoria que reservan directamente (mediante alloc, retain o copy), pero resulta que no siempre es así.

Servidores en Amazon con EC2 y EBS

Llevo ya más de un año pegándome con Amazon y su servicio AWS. Concretamente, con servidores virtuales EC2, almacenamiento en su sistema S3 y su interconexión con EBS.

Hoy me esta tocando hacer una limpieza de una instancia que tengo con un antiguo cliente que resulta que se cayó recientemente y me ha apetecido compartir una reflexión y así escribir la primera entrada técnica (muy light), aunque no tiene nada que ver con dispositivos móviles.

Así pues, antes de exponer el grave problema al que me podría haber enfrentado si no hubiese hecho las cosas bien, os expongo un poco las partes de AWS que estoy utilizando (hay más, pero estas son las más comunes):