martes, 15 de octubre de 2013

Sentencias alternativas y ciclos en PHP

Un bucle o ciclo es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Se usa para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.

Hay cuatro tipos de bucles en PHP:
  • While: Primero evalua que la condición sea verdadera y luego se ejecuta (precondición), hasta que la condición pase a ser falsa. Puede que no se ejecute ninguna vez si su condición es inicialmente falsa. Ejemplo:
    <?php
    $i = 1;
    while ($i <= 10) {
    echo "$i";
    $i++;
    }
    ?>

    Este ejemplo inicializa una variable a 1 y luego pone la condición de que si la variable $i es menor o igual que 10, escribe el valor actual de la variable y luego le suma 1. La instrucción se repite hasta que $i pase de 10. Cuando pasa de 10, se termina el programa. Es "Mientras $i sea menor o igual que 10, escribir su valor actual y sumarle 1".
  • Do... While: Su uso es similar a while, pero aquí, las sentencias que siguen al do se ejecutan por lo menos una vez y se comprueba la condición después de la primera iteración. Así, si es verdadera la condición se repite por segunda vez, si es falsa se continúa con las sentencias inmediatamente después de la instrucción while. Ejemplo:
    <?php
    $i = 1;
    do {
    echo "$i";
    $i++;
    } while ($i <= 10);
    ?>

    Este ejemplo hace lo mismo que el anterior, solo que ahora primero se pone la instrucción a ejecutar y luego la condición. Es "escribir el valor de $i y sumarle 1 mientras que $i sea menor o igual que 10" (postcondición).
  • For: Los bucles for son los más complejos en PHP. Tienen la siguiente estructura:
    1. Inicialización: Es una expresión que se ejecuta sólo una vez al inicio y predetermina el primer valor inicial.
    2. Condición: Es una expresión que se evalúa como falsa o verdadera, si es falsa el bucle finaliza, en caso contrario el bucle ejecuta la sentencia.
    3. Actualización: Es una expresión que modifica la expresión de inicialización comúnmente en incremento o decremento.
    Ejemplo:
    <?php
    $i = 1;
    for ($i = 10) {
    echo "$i";
    $i++;
    }
    ?>

    Este bucle es similar al bucle while.
  • Foreach: Funciona sólo en arrays y presenta un error al utilizar una variable con diferente tipo o no inicializada. Es un buen método de iteración de objetos y arrays. Ejemplo:
    <?php
    $array = array(1, 2, 3, 4);
    foreach ($array as &$valor) {
        $valor = $valor * 2;
    }
    // $array ahora es array(2, 4, 6, 8)
    unset($valor); // rompe la referencia con el último elemento
    ?>

Contadores y acumuladores
Un acumulador es un registro donde se almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada operación en la memoria primaria. Acceder a la memoria primaria es más lento que acceder a un registro acumulador.

Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Se usan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor inicial. Se situará antes y fuera del bucle.


lunes, 30 de septiembre de 2013

El CPD de Global Switch

El Centro de Proceso de Datos de Global Switch en Madrid es el centro más moderno que se ha construido en esa ciudad, y es el mayor Centro de Proceso de Datos de carácter neutral en lo que respecta a operadores de España.

Hablaré un poco de sus características y de las medidas de seguridad que tiene:

Principales características:
  • Estructura de hormigón prefabricado, forjado de hormigón armado y cerramiento a base de paneles de hormigón prefabricado y carpintería de aluminio.
  • Carga máxima estándar sobre el suelo de 9kN/m². Carga máxima sobre el suelo de 20kN/m² en algunas zonas específicas.
  • Altura de 3,70 m entre plantas. 
  • Suelos técnicos elevados con baldosas antiestáticas y una altura entre 600 y 800 mm. Altura libre de suelo a techo de entre 3,20 y 2,80 m. 
  • Distancia entre columnas: 9,84 m. 
Alimentación eléctrica: 
  • Redundancia de N+N en el suministro eléctrico.
  • Alimentación procedente de la red eléctrica a través de 2 acometidas de 15kV. 
  • Alimentaciones eléctricas independientes (A y B) distribuidas a través de una red de 15kV. 
  • Densidad de potencia de hasta 1000 W/m² en cada planta. 
  • Generadores diésel de reserva de 15kV con una redundancia de N+1.
  • Depósitos de gasóleo en las instalaciones (2 x 50.000 litros), con un contrato que garantiza el suministro de combustible 24 horas al día y 7 días a la semana.
Protección contra incendios:
  • Sistema de detección de incendios analógico en todas las zonas con unidades manuales de activación de la alarma.
  • Sistema de alarma de detección temprana de humo.
  • Sistemas de extinción de última generación en las zonas técnicas.
  • Columnas húmedas y carretes de manguera en todas las plantas, conectados a la sala de bombas y dos depósitos exclusivos para la lucha contra incendios del centro.
  • Sistemas de extinción mediante CO2 en los transformadores de las subestaciones.
Refrigeración y entorno:
  • Redundancia de N+1 en el sistema de refrigeración. 
  • Condiciones de temperatura y humedad de los espacios técnicos conforme a las normas vigentes del sector y mantenidas de forma que se respeten los parámetros de eficiencia energética. 
  • Redundancia hidráulica. 
  • Las unidades de aire acondicionado para las salas de ordenadores de las zonas técnicas están respaldadas por generadores diésel de 15kV con una redundancia de N+1. 
Vigilancia:
  • Al menos 2 guardias de seguridad encargados de gestionar la seguridad del CPD las 24 horas del día los 7 días de la semana.
  • Control de acceso mediante lectores de tarjetas de proximidad.
  • Alarmas de detección de intrusos en todas las zonas.
  • Sistema de circuito cerrado de televisión con múltiples cámaras, tanto interiores como exteriores.
  • Puerta de control de acceso de vehículos.
  • Zonas de entrega y carga gestionadas de forma totalmente segura.
  • Aparcamiento de vehículos vigilado.

Fuente: http://www.globalswitch.es/media/115574/global%20switch%20especificaciones%20te%CC%81cnicas%20madrid.pdf

domingo, 22 de septiembre de 2013

ASO: Página de Informatica que seguiré y mi PLE

He decidido seguir Xataka porque es muy conocida (de hecho, algunos amigos míos la siguen) y habla sobre todo lo relacionado con la Informática, desde ordenadores hasta móviles, videojuegos, tecnología en el hogar, etc, además de anunciar todos los principales lanzamientos y compararlos con otros modelos similares. Es una página que me puede interesar mucho y me ayudará en la asignatura.

También he seguido en Twitter y he sindicado la página de SisBlog, que muestra conocimientos y tecnicas sobre todo lo relacionado con el curso de Administración de Sistemas Informáticos y también pone noticias sobre Informática.

¿Qué es el PLE?
Los Entornos Personales de Aprendizaje (PLE) son sistemas que ayudan a los estudiantes a tomar el control y gestión de su propio aprendizaje. El PLE se basa en 3 características que son:
  • Fuentes de información.
  • Modificación o reflexión.
  • Con quién aprendió.
Un PLE puede estar compuesto de uno o varios subsistemas: así, puede tratarse de una aplicación de escritorio o bienestar compuestos por uno o más servicios web.

Xataka y SisBlog formarán parte de mi PLE, a través de una red social (Twitter) y la sindicación de contenidos, además del temario y los ejercicios de la asignatura.

Enlace para saber mas del PLE: http://es.wikipedia.org/wiki/PLE

Enlace Xataka: www.xataka.com
Enlace SisBlog: http://www.iesgrancapitan.org/blog04/
Twitter: @MariadelMarSer


jueves, 19 de septiembre de 2013

Instalación de un SGBD

Aquí explicaré cómo instalar MySQL en Windows y en Ubuntu.

MySQL es un sistema gestor de bases de datos relacional, multihilo, multiusuario y libre en un esquema de licenciamiento dual. Se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

MySQL puede ser obtenido a partir de la página de descargas de MySQL (http://dev.mysql.com/downloads/) , donde hay información sobre la versión más actualizada e instrucciones de descarga.

Requerimientos para instalar MySQL en Windows:
  • Un sistema operativo Windows de 32 bits, como Windows NT, XP, 2000, Vista, 7 y Server 2008.
  • Soporte para protocolo TCP/IP.
  • Una herramienta capaz de leer ficheros .zip, para descomprimir el fichero de distribución.
  • Suficiente espacio en disco para descomprimir, instalar, y crear las bases de datos de acuerdo a sus requisitos. Generalmente se recomienda un mínimo de 200 megabytes.
Simplemente descargamos MySQL del enlace anterior, descomprimimos el paquete y ejecutamos el asistente de instalación. Se nos pedirá escojer el tipo de instalación (típica, completa o personalizada), la ruta donde queremos instalar el programa y por último, confirmar la instalacion para que se ejecute.
Requerimientos para instalar MySQL en Ubuntu:
  • Procesador Intel o compatible a 1 Ghz.
  • Memoria principal o RAM con un mínimo de 512 MB.
  • Aceleradora gráfica 3D compatible con OpenGL.
  • 5 GB de espacio en el disco duro.
  • Tarjeta de video: Tipo adaptador de pantalla y cantidad de memoria en la tarjeta de video (GB).
  • Unidad lectora de DVD, velocidad en Ghz.
  • Conexión a Internet, puerto RJ45 o Wifi.
Para instalar MySQL en Ubuntu debemos instalar los siguientes paquetes: mysql-server y mysql-client. Existe un entorno gráfico del programa llamado mysql-admin, dependiente de los anteriores paquetes. Y opcionalmente el paquete mysql-query-browser, que servirá para realizar consultas.

Sistemas gestores de Bases de Datos libres y comerciales

En esta entrada voy a hacer una comparativa entre los sistemas gestores de bases de datos libres y los comerciales.

El software libre es aquel que respeta la libertad de los usuarios sobre su producto adquirido y puede ser usado, copiado, estudiado, modificado y retribuido libremente. Suele estar disponible gratuitamente, aunque tambien puede ser distribuido comercialmente.

El software comercial es aquel que se comercializa, es decir, que las compañías que lo producen cobran dinero por el producto, su distribución y soporte. Posee restricciones en el uso, copia o modificación o cuyo código fuente no está disponible. La mayoría del software comercial es privativo, pero hay software libre comercial y no libre no comercial.

Voy a comparar un SGBD comercial como Oracle con un SGBD libre como Postgre SQL.

ORACLE


Ventajas:
  • Es el más usado a nivel mundial.
  • Es multiplataforma.
  • Permite el uso de particiones.
  • Es fácil de usar.
  • Entorno cliente/servidor.
  • Usuarios concurrentes.
  • Alto rendimiento en transacciones.
  • Gestión de la seguridad.
  • Autogestión de la integridad de los datos.
  • Portabilidad.
  • Conectabilidad.
  • Replicacion de entornos.
Desventajas:
  • Tiene un elevado precio.
  • Las versiones más recientes contienen muchos errores.
  • No puede desarrollar sus propios tipos de datos.
POSTGRE SQL

Ventajas:
  • Es gratuito.
  • Hace más sencillo el análisis de datos.
  • Es multiplicadora.
  • Tiene mejor soporte que los proveedores comerciales.
  • Diseñado para ambientes de alto volumen.
  • Herramienta gráfica de diseño y administración de bases de datos.
  • Tiene una mayor seguridad.
  • Es multiplataforma.
  • Soporta distintos tipos de datos, también permite la creación de tipos propios.
  • Incorpora una estructura de datos array.
  • Incorpora funciones de diversas índoles.
  • Soporta el uso de índice, reglas y vistas.
  • Incluye herencia entre tablas.
  • Permite la gestión de diferentes usuarios, como también los permisos asignados a cada uno de ellos.
Desventajas:
  • La velocidad de respuesta es relativamente lenta.
  • No es muy utilizada.
  • No tiene consultas en paralelo.

lunes, 26 de noviembre de 2012

Clonaciones



Hoy voy a explicar para qué sirve clonar equipos y aprenderemos a restaurar un equipo mediante clonación.

Preguntas previas:
1. ¿Qué finalidad tiene realizar una imagen de tu equipo?

Por si tiene algún problema como que le ataque un virus o un spyware, que algún dispositivo o programa altere el buen funcionamiento del equipo o que haya una subida de tensión que estropee los componentes internos del PC, la placa base, los circuitos, etc.

Se tendría que volver a instalar el sistema operativo, pero ocuparía mucho tiempo y se tendrían que volver a instalar los programas, drivers, periféricos, etc. Para eso se crean imágenes, que tardan 10 minutos en crearse y en restaurar el equipo sólo media hora. Así podríamos restaurar el equipo entero sin tener que instalar programas, periféricos, etc. El equipo tiene que ser el mismo del que hemos hecho la imagen.

2. ¿Qué software básico deberías tener instalado previamente a realizar la imagen?

Necesitamos tener otra partición para poder crear la imagen u otro dispositivo, como un CD, un USB, etc, ya que es imposible crearla en el mismo sitio que el sistema operativo.

El software para hacer clonaciones es el Clonezilla. Tenemos que tener instalado algún sistema operativo para poder clonar.

Procedimiento

Se utilizarán dos equipos exactamente iguales para realizar la práctica: uno de ellos (ordenador A) lo dejamos preparado con el software básico instalado y configurado adecuadamente; el otro ordenador B será clonado con la imagen realizada sobre el ordenador A. Haciendo uso del software para la creación y clonación de imágenes Clonezilla procedemos a realizar la imagen del equipo completo A y la guardamos en un dispositivo de almacenamiento con la suficiente capacidad (Pendrive o HD externo). Para ello arrancamos el ordenador con el CD de Clonezilla en la lectora. Una vez tengamos la imagen, procederemos a clonar el ordenador B. Lo arrancamos con el CD de Clonezilla en la lectora.

1) Lo primero que tenemos que tener en cuenta es si en la clonación vamos a incluir equipos con Licencia Retail (ej. sistema operativo windows). En ese caso no podemos clonar sin más, puesto que, en teoría, no debemos tener más de un equipo con la misma Sid (Identificador de sistema), además de la misma clave para todos los equipos clonados.
2) Para solucionar este problema, los sistemas operativos windows tienen una aplicación, llamada sysprep, que elimina esos datos, y cuando vuelves a arrancar el equipo, te genera una nueva Sid, además de pedirte de nuevo la clave del sistema operativo, y así solventar el problema anteriormente citado.
3) Dependiendo de la versión del sistema operativo Windows, la aplicación sysprep se puede obtener de diferentes sites. La Herramienta de preparación del sistema, Sysprep.exe, se usa para preparar una instalación de Windows para la creación de imágenes o la entrega a un cliente.
Nota: En el caso de los sistemas operativos Ubuntu, no existe este problema.
4) Ejecutamos el Sysprep  y apagamos el equipo. AHORA es el momento de hacer la clonación.
5) Para clonar un equipo necesitamos una aplicación que sea capaz de hacernos la imagen de nuestro equipo. En este caso Clonezilla.
6) Además necesitaremos un almacenamiento auxiliar, ya sea un USB, por red, etc. Nosotros vamos a utilizar un USB.

Restaurar equipo desde la imagen del USB

Arrancamos el equipo con el CD de Clonezilla en la lectora. Nos mostrará dos opciones:
·         device-image Disco/Partición a/desde Imagen: guarda un disco duro o una partición de un disco duro en una imagen (fichero) o bien restaura una imagen en fichero a un disco duro o partición de disco duro.
·         device-device Disco/Partición a Disco/Partición: imagen de disco duro a disco duro (o de partición a partición).
Como queremos restaurar una imagen a un disco duro, elegimos la primera opción.
Ahora seleccionaremos dónde se encuentra o en dónde queremos guardar la imagen que se generará del disco duro o partición. Las posibilidades son:
·         local_dev: usará un dispositivo local como destino de la imagen del disco duro o partición. Podrá ser un disco duro (una partición de un disco duro) o un dispositivo USB. Si queremos guardar la imagen a un dispositivo USB deberemos conectarlo en el siguiente paso (cuando lo pida).
·         ssh_server: realizará la copia de la imagen a un PC remoto a través de la red usando el protocolo SSH. El equipo de destino debe tener instalado y activo este protocolo.
·         samba_server: al igual que para ssh_server, aunque en este caso usará samba para la conexión, el equipo remoto destino ha de tener habilitado este protocolo.
·         nfs_server: realizará la conexión con un servidor NFS.
·         enter_shell: accederá a la línea de comandos del prompt de Linux.
·         skip: usará /home/partimag existente (copiará a memoria).
Como queremos generar la imagen desde el USB, elegimos la primera opción. Insertamos el USB cuando nos lo pida y pulsamos Intro. Seleccionaremos la partición de destino de la imagen, que en nuestro caso es el disco duro entero. Pulsamos Intro y empezará la restauración. Cuando termine, retiramos el CD de Clonezilla cuando lo pida y apagamos el equipo.

viernes, 23 de noviembre de 2012

Gestores de arranque



En esta práctica aprenderemos qué es un gestor de arranque, cómo instalarlo, desinstalarlo y configurarlo.

1.      ¿Qué es un gestor de arranque? ¿Cuándo es necesario?

Un gestor de arranque es un programa que administra el arranque del sistema operativo. En el caso de tener en tu ordenador más de un sistema operativo, el gestor lo que hace es permitir al usuario elegir entre un sistema u otro, mostrando al usuario un menú para que lo seleccione.

2. Recuerda qué gestor de arranque es utilizado en:
a) Un sistema Windows XP: NTLDR
b) Un sistema Windows 7: BOOTMGR
c) Un sistema Ubuntu: LILO o GRUB
a) Investiga los gestores de arranque:
• LILO: Lilo es un gestor de arranque que permite elegir, entre sistemas operativos Linux y otras plataformas, con cual se ha de trabajar al momento de iniciar un equipo con más de un sistema operativo disponible. En las primeras distribuciones de Linux, LILO era el gestor utilizado para arrancar el sistema. En la actualidad se usa GRUB.
• GRUB: GNU GRUB es un gestor de arranque múltiple que se usa para iniciar uno, dos o más sistemas operativos instalados en un mismo equipo. Se usa principalmente en sistemas operativos GNU/Linux. El sistema operativo Solaris ha usado GRUB como gestor de arranque en sistemas x86 desde la revisión 10 1/06.
• NTLDR: NTLDR es el archivo encargado del arranque del Sistema Operativo en las primeras versiones de Microsoft Windows NT, incluyendo Windows XP y Windows Server 2003. El NTLDR se encuentra usualmente en el disco duro principal, pero también puede encontrarse en dispositivos portátiles como CD-ROM, memorias USB, o disquetes.
• Windows Boot Manager: Es un gestor de sistemas operativos que se instala directamente en el sector primario de arranque. En sistema operativos Windows, se encuentra directamente incluido en el núcleo del sistema operativo.


Recuperación del GRUB

Como el GRUB 1.99-21ubuntu3 de nuestro equipo funciona bien, forzaremos el error para poder repararlo. Eliminaremos el GRUB del equipo y luego lo recuperaremos.
1.      Arrancamos el equipo desde el CD de instalación de Windows 7.
2.      Al comenzar el proceso de instalación, elegimos la opción Reparar Equipo (R).
3.      En la consola de recuperación insertamos la clave de administrador.
4.  Introducimos los siguientes parámetros en la línea de comandos:
- Windows XP:
prompt/> fixboot
Pedirá confirmación y si todo ha ido bien dará mensaje de éxito.
prompt/> fixmbr
- Windows Vista y posteriores:
prompt/> bootrec /fixboot
prompt/> bootrec /fixmbr
       5. Reiniciamos.

Si por algún motivo no leyera el disco, entrar en Ubuntu y eliminar el GRUB desde la consola manualmente. Se encuentra en la carpeta etc/default/grub.

Pasos para recuperar el grub con el CDLive de Ubuntu:
1. Arrancamos el equipo con LiveCD.
2. Abrimos la consola y tecleamos:
sudo fdisk -l (muestra particiones)
3. Montamos la partición donde está instalado Ubuntu (sustituimos X por el número correspondiente a la partición, por ejemplo lo habitual es que sea sda1, entonces 1 sería el numero a cambiar por X):
sudo mount /dev/sdaX /mnt
4. Procedemos a montar el resto de dispositivos:
sudo mount --bind /dev /mnt/dev
sudo mount –bind /proc /mnt/proc
5. Acceso de root a todo lo montado
sudo chroot /mnt
6. Aquí no hay que cambiar nada, dejamos sda tal como está sin agregar nada más:
grub-install --recheck /dev/sda
7. Reiniciamos normalmente, sin LiveCD.
Si el sistema Ubuntu instalado usa Grub2 y no te aparece  en el menú de arranque el nuevo sistema operativo,  ejecutamos  el siguiente comando:
sudo update-grub2
En caso de que no funcionase, quizás haya que  instalar el paquete grub2:
sudo aptitude install grub2

Configurar GRUB2



Los principales archivos para modificar las opciones de grub2 son:
  • Los contenidos en la carpeta /etc/grub.d/
    • /etc/grub.d/10_linux
      • Este archivo contiene comandos y scripts que se encargan del kernel de linux en la particion principal.
    • /etc/grub.d/30_os-prober
      • Este archivo contiene comandos y scripts que se encargan de otros sistemas operativos.
      • El archivo tiene 4 secciones. Los cambios que realicemos en una sección no afectarán al resto de las secciones.
        • Las cuatros secciones son Windows, otras particiones Linux, OSX y Hurd.
  • El archivo /etc/default/grub: 

Cambiar el tiempo de espera y sistema operativo por defecto

Estos parámetros se modifican en el archivo /etc/default/grub 

$ sudo gedit /etc/default/grub
 
En la sección: 

GRUB_DEFAULT=0    
Sistema operativo por defecto, 0 es el primero, 1 el segundo, etc.
 
GRUB_TIMEOUT="10" 
 
Tiempo de espera en segundos Despues de modificar el archivo, debemos actualizar grub.cfg con el comando:
sudo update-grub2 
 

Modificar el entorno

Modificar la imagen de fondo
La imagen de fondo debe estar en formato .png, o .tga, preferiblemente tga. Por ejemplo para utilizar una imagen cualquiera en JPG, la abrimos la imagen con Gimp, vamos al menú Imagen>Escalar imagen y le ponemos la resolución 640x480. Es preferible guardarla en el escritorio y copiarla en /usr/share/images/grub/ , donde vienen las imagenes por defecto de grub2, con una resolución de 640x480, En cierto Sistemas no se encuentra la carpeta grub por lo que hay que crearla con el comando: 

 sudo mkdir /usr/share/images/grub
 
Copiarla con el comando (en el caso de usar una imagen .png cambiar tga por png): 

 sudo cp /home/tu_nombre/Escritorio/tu_imagen.tga /usr/share/images/grub/tu_imagen.tga
 
Crearemos un link a la carpeta /boot/grub para no tener que editar el script theme (En caso de una imagen .png recordad cambiar tga por png). 

sudo ln -s /usr/share/images/grub/tu_imagen.tga /boot/grub/moreblue-orbit-grub.tga
 
Despues de modificar el archivo, debemos actualizar grub.cfg con el comando: 

sudo update-grub2 
 
Modificar el color del texto
Antes de modificar los colores del texto debemos tener una imagen de fondo. Para modificar los colores del texto abrimos el archivo /etc/grub.d/05_debian_theme 

sudo gedit /etc/grub.d/05_debian_theme 
 
En la sección: 

# set the background if possible 

if background_image `make_system_path_relative_to_its_root ${bg}` ; then set color_normal=black/black set color_highlight=magenta/black 
 
Donde en "set color_normal" el primer "black" es el color del texto sin seleccionar y en "set color_highlight", "magenta" es el color del texto seleccionado y "black" es el color del fondo en la línea de texto seleccionado. Los colores que se pueden utilizar son:
  • rojo: red
  • verde: green
  • azul: blue
  • amarillo: yellow
  • cian: cyan
  • magenta: magenta
  • blanco: white
  • negro: black
Despues de modificar el archivo, debemos actualizar grub.cfg con el comando: 

sudo update-grub2