15 de septiembre de 2010

Proyectos para desarrolladores Android en GoogleCode

Ultimamente estoy bastante liado programando cosillas para Android, y el otro día me dio por buscar utilidades para desarrollo y APIs que pudieran venirme bien para hacer el proyecto en el que estoy metido.

Buscando cosas en "Google Code" proyectos libres de donde sacar algo de código he visto muchos proyectos interesante.

Este post no está orientado a programas para el telefono sinó para desarrolladores de software y/o hardware.

Emuladores de Android:


He visto varios emuladores para Android que nos permiten montar nuestras propias maquinar virtuales para que corran Android.

http://code.google.com/p/live-android/

http://code.google.com/p/android-x86/

http://code.google.com/p/android-pc/

Hardware develop:


Estos dos proyectos están enfocados a quien esté pensando hacer su propio cacharro con este SO.

http://code.google.com/p/magik/

http://code.google.com/p/0xdroid/

Ing. Inversa:


Estas utilidades ayudan a realizar un desempaquetado de un .apk para poder se analizado o editado.

http://code.google.com/p/dex-decomplier/

http://code.google.com/p/android-apktool/

Game Develop:


Existen multitud de librerías para crear tus propios juegos.

http://code.google.com/p/simple/

http://code.google.com/p/android-2d-engine/

http://code.google.com/p/candroidengine/

http://code.google.com/p/eadventure-android/ Este es un proyecto de la Universidad Complutense de Madrid llamado <e-Adventure> que parece bastante interesante

http://code.google.com/p/squeak-android-vm/ La primera vez que escuche sobre Squeak fue en la OSWC de extremadura. Este sistema estaba siendo usado en los PCs de 100$.

Librerias:


http://code.google.com/p/zxing/ Librería de procesamiento de códigos de barras.

http://code.google.com/p/libs-for-android/ Librearía con varias utilidades para no "picar" de más.

http://code.google.com/p/psqldroid/ Librería para PostgreSQL.

http://code.google.com/p/android-send-me-logs/ Esta librería te permite que te manden un mail con los logs del sistema si la aplicación falla.

http://code.google.com/p/acra/ Permite enviar los reportes de error a una cuenta de GoogleDocs.

http://code.google.com/p/sociallib/ Librerías para acceder a redes múltiples sociales.

Librearías para eBooks:


Incluso hay cosas para los libros electrónicos.

http://code.google.com/p/edgelibrarylib/

http://code.google.com/p/nookdevs/

Miscelanea:


http://code.google.com/p/androidemulatorcontroller/ Permite mover el (teléfono) emulador (Muy chulo).

http://code.google.com/p/linux-on-android/ Permite tener doble arranque es equipos pensados para correr Android.

Ejemplos para NDK:


http://code.google.com/p/android-ndk-stacktrace-analyzer/

http://code.google.com/p/androidndkgame/

1 de septiembre de 2010

Gestión de dispositivos de almacenamiento

He estado un poco liado y por eso todo este tiempo, pero bueno continuamos con los apuntes dirigidos al “Módulo Profesional de Seguridad informática” que pertenece a el FP. de grado medio de “Técnico en Sistemas Microinformáticos y Redes”.

Vamos a continuar con un nuevo apartado.

Gestión de dispositivos de almacenamiento


Como con cualquier equipo los sistemas/dispositivos de alamacenamiento han de ser mantenidos por los trabajadores. Dado que son estos dispositivos los encargados de almacenar la información tenemos que tener en cuenta nuestras necesidades para saber que dispositivo es el más adecuado a nuestras necesidades.

Almacenamiento de la información: rendimiento, disponibilidad, accesibilidad.


Cuando estamos diseñando un sistema de almacenamiento tenemos que pensar para que uso va a ser destinado, ya que dependiendo de esto los requerimientos los equipos y dispositivos que necesitaremos serán distintos.

Por ejemplo un sistema encargado de servir páginas web estaticas no necesitará el mismo dispositivo de almacenamiento que un equipo encargado de gestinar una base de datos.

  • Rendimiento: Cuando hablamos de rendimiento de un sistema de almacenamiento nos referimos a la relación 'velocidad de lectura'/'tamaño de almacenamiento'. El rendimiento depende de las limitaciones mecánicas, eléctricas y de la carga de E/S. Algunos dispositivos modifican su rendimiento con el uso de los mismos.

  • Disponibilidad: La disponibilidad de un sistema de almacenamiento es la facultad del mismo por ser accesible en cualquier momento.

  • Accesibilidad: La accesibilidad de un sistema de almacenamiento hace referencia al mecanismo por la cual podemos tener acceso al disco. Podemos usar distintos protocolos que nos permiten tener acceso a un disco bien sea local o externo.


Estos factores dependen de los dispositivos, del bus de datos y de la tecnología en general.

Almacenamiento redundante y distribuido.



Nos referimos a almacenamiento redundante cuando los datos del dispositivo se encuentran replicados en otro. Lo más importante en la redundancia en los datos es que ambos discos se encuentren sincronizados, de forma que ambos tengan la misma información.

Los sistemas de almacenamiento distribuido se basan en separar la información de un fichero en distintos dispositivos. De este modo cuando se quiere leer un fichero el tiempo empleado para recuperar el fichero es menor dado que todas las partes llegan a la vez por distintos buses y/o puertos.

El almacenamiento distribuido es habitual en sistemas de cluster. Estos sistemas forman una red de nodos de tal modo que la información se encuentra repartida en distintos equipos y/o dispositivos.

La tecnología SAN (storage area network) está basada en el almacenamiento distribuido, pero permite accesos a bajo nivel.

Almacenamiento remoto y extraíble.



Cuando hablamos de almacenamiento remoto nos referimos a que el dispositivo donde se almacena la información no se encuentra en la máquina local. Hoy en día existen muchos servicios de almacenamiento remoto.

Las tecnología NAS (inglés Network Attached Storage) es un claro ejemplo de almacenamiento remoto, dado que estos sistemas permiten acceder a un disco situado en la red por protocolos como SMB, SFTP, FTP, ... .

Los métodos de almacenamiento extraíbles son sistemas de almacenamiento que se pueden conectar y desconectar de un sistema en caliente (si estar apagado el sistema).

Los dispositivos extraíbles se conectan al sistema por buses como USB o Firewire entre otros.

----
En el proximo capitulo de este tutorial, continuaremos será:
-Criptografía.
-Copias de seguridad e imágenes de respaldo.
-Medios de almacenamiento.
-Sistemas RAID.
-Programación de copias de seguridad.