Installing basic enviroment for start Developing Ruby on Rails apps under windows

If you plant to start developing under Ruby on Rails one good start point could be installing a basic developement enviroment.

If you are using windows I hope that this tutorial could be usefull for you.

1.- Download rubycompiler, interpreter

you can get it from http://rubyforge.org/frs/?group_id=167

2.- Download RubyGems, will be necesary for get libraries

you can get it from http://rubyforge.org/frs/?group_id=126

uncompres the zip file, and open a terminal

cd <directory where you decompress rubygems>

ruby setup.rb

3.- Download rubyInstaller developement kit

http://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe

execute the downloaded file in a directory like: C:\\Devkit

when you have it extrated open a terminal and write

cd <Devkit installer dir>

ruby dk.rb init

ruby dk.rb review

ruby dk.rb install

4.- Install rails

Open a terminal and write

gem install rails

5.- Donload and install JDK (needed for netbeans)

http://www.oracle.com/technetwork/java/javase/downloads/index.html

6.- Download amd install  Netbeans

http://netbeans.org/

7.- Install Netbeans ruby plugin

Open netbeans and select tools->plugins menu

netbeans plugins

a new dialog appears, select avaliable plugins tab and mak ruby and rails plugin

ruby and rails plugin netbeansClick install

and follow the install wizard

Congratulations you have a ruby on rails basic enviroment installed

You can create a new ruby on rails project in the wizard File->New Project

P4: Configuración de una plataforma de desarrollo de aplicaciones basadas en web

El objetivo de esta práctica es instalar en una máquina todos los servicios necesarios para desarrollar un proyecto web basado en PHP y MySQL.

Primer Apartado:

  1. Instalación y configuración de Apache
  2. Instalación y configuración de PHP
  3. Instalación de MySQL
  4. Instalación de phpMyAdmin

Segundo Apartado (archivo de configuración de Apache):

5. Comentar brevemente qué debemos realizar para que Apache ejecute correctamente páginas escritas en PHP.

una vez configurado apache debemos instalar PHP con los módulos que necesitemos y en caso de no utilizar un instalador automático debemos indicarle al servidor apache los parámetros de configuración para que cargue el interprete PHP y configurar las variables necesarias para eso basta con introducir las siguientes directivas:
PHPIniDir ruta <– indica la carpeta donde se encuentra el archivo php.ini que nos permite configurar el comportamiento de PHP
LoadModule “ruta a la librería php5apache2_2.dll que contiene el modulo php” <– indica la librería donde se encuentra compilado el modulo de php y ordena al servidor apache cargarlo
Si todos los parámetros introducidos son correctos basta con reiniciar el servidor apache para que este vuelva a leer el archivo de configuración y pueda comenzar a interpretar las paginas PHP.

6. Respecto al archivo de configuración de Apache (httpd.conf):

  • a. ¿qué objetivo tiene la sección de DirectoryIndex? Pon un ejemplo y coméntalo.
    • Establece el archivo a proporcionar cuando el navegador proporciona una ruta incompleta, por ejemplo  la conexión a http://httpd.apache.org/docs/1.3/mod/ enviara la pagina http://httpd.apache.org/docs/1.3/mod/index.html siempre y cuando exista ese fichero y en la lista de  DirectoryIndex la subcadena index.html este antes de cualquier archivo existente, en caso de que no  exista ningun archivo en la lista de cadenas la respuesta a la petición sera el contenido del directorio, (en caso de que existan restricciones en el contenido del directorio se mostrara una pagina forbidden).
  • b. ¿dónde especificarías una capeta distinta a htdocs para servir archivos?
    • Si lo que queremos es utilizar una carpeta distinta a la que viene configurada por defecto simplemente debemos de cambiar el valor asociado a la directiva DocumentRoot  especificándole la carpeta donde queremos situar la raíz del servidor httpd, hemos de recordar que el usuario asociado al servidor apache tenga los permisos garantizados en caso contrario sufrirá un error de acceso denegado.
  • c. ¿para qué sirve el parámetro Timeout?
    • Timeout es una directiva que establece un contador en segundos que apache usara para gestionar los tiempos máximos de espera para:
      • tiempo de espera para una petición get .
      • tiempo de espera para la recepción de paquetes TCP en una petición POST o PUT .
      • tiempo de espera para enviar un ACK para un paquete TCP.
  • d. ¿cómo configurarías el servidor para un puerto distinto del 80?
    • Abrimos el archivo httpd.conf y reemplazamos la linea que pone Listen 80 por Listen “puerto deseado”.

Tercer Apartado (archivo de configuración de PHP):

7. Descripción del parámetro error_reporting. Pon algún ejemplo

La directiva error_reporting define el nivel de informe de errores se puede establecer con los valores de la siguiente lista:

  • E_ERROR            1    Informa de errores en tiempo de ejecución, como problemas de asignación de memoria. detiene la ejecución del código
  • E_WARNING        2    Informa de advertencias en tiempo de ejecución (no errores fatales), la ejecución del script no se detiene
  • E_PARSE            4    Informa de errores del analizador sintáctico. Estos errores son solo generados por el analizador sintáctico
  • E_NOTICE        8    Informa de avisos en tiempo de ejecución. Podría indicar que algo encontrado es un error pero el aviso puede ser generado por la ejecución esperada del script
  • E_CORE_ERROR        16    Informa de errores fatales que ocurren durante el arranque de PHP. Es como E_ERROR excepto que solo son generados por el núcleo de php
  • E_CORE_WARNING        32    Informa de advertencias (no errores fatales) que ocurren en el arranque de PHP. Es como E_WARNING excepto que las advertencias son las generadas por el núcleo de php
  • E_COMPILE_WARNING    128    Informa de advertencias (no errores fatales). Esto es como E_WARNING, solo que las advertencias son geradas por en motor de Scripting Zend
  • E_USER_ERROR        256    Mensajes de error generados por el usuario. Esto es como E_ERROR, excepto que es generado en el código PHP por la función trigger_error()
  • E_USER_WARNING        512    Advertencias de error generados por el usuario, Es como E_WARNING, excepto que es generado en el código PHP por la función trigger_error()
  • E_USER_NOTICE        1024    Avisos generados por el usuario. Es como E_NOTICE, excepto que es generado en el código PHP por la función trigger_error()
  • E_STRICT        2048    Habilita las sugerencias de cambios de PHP , que se aseguran de obtener de la mejor interoperatividad entre versiones de PHP
  • E_RECOVERABLE_ERROR    4096    Errores fatales recuperables. Estos indican la probabilidad de que un error peligroso ocurra, pero no dejara el motor en un estado inestables. Si este error no es gestionado por un manejador definido por el usuario la ejecución de la aplicación se abortara como si fuera un E_ERROR.
  • E_DEPRECATED        8192    Avisos en tiempo de ejecución. Activar este nivel informara de advertencias sobre codigo que no funcionara en futuras versiones
  • E_USER_DEPRECATED    16384    Avisos en tiempo de ejecución generados por el usuario. Funciona como E_DEPRECATED, excepto que son generados en el código PHP usando la funcion trigger_error()
  • E_ALL            30719    Informa de todos los errores y Advertencias, siempre que estén soportadas, exceptuando el nivel E_STRICT.

Ejemplos: Si queremos verificar la compatibilidad de nuestro codigo con futuras versiones de PHP deberiamos de activar E_DEPRECATED.
En modo de depuración es recomendable activar la opción E_ALL.
Si nuestro codigo informa de errores que desencadenan otros errores, tal vez nos interese filtrar activando las opciones E_USER_***
8. ¿qué importancia tiene el parámetro register_globals?

Habilita o deshabilita el reistro de las variables de entorno, GET, POST, Cookie y Servidor como variables globales. No es recomendable habilitarlo ya que no forma parte de las buenas practicas de programación y es inseguro.

9. ¿qué objetivo tiene la sección de File Uploads? Comenta sus parámetros.

Permite la recepción de archivos en el servidor usando el protocolo HTTP. los parámetros son:

  • file_uploads = booleano habilita o deshabilita la recepción de archivos
  • upload_tmp_dir= especifica un directorio temporal para la recepción de archivos
  • upload_max_filesize = XXM acota el tamaño máximo de los archivos que puede recibir el servidor.

Cuarto Apartado:
10. Una vez instalados todos los servicios en la máquina, el alumno deberá realizar lo siguiente:
11. Crear una base de datos y tabla con unos datos de ejemplo utilizando phpMyAdmin

Para crear una base de datos en phpMyAdmin primero accedemos a la url donde esta instalado phpMyAdmin, en este caso . Una vez en la dirección aparecerá un formulario solicitándonos el nombre de usuario y la contraseña

Ventana Login PhpMyAdminintroducimos el nombre y la contraseña para un usuario con privilegios en la creación de bases de datos.

Una vez identificados en el phpMyAdmin para crear la base de datos seleccionamos la pestaña base de datos y en el campo “Crear nueva base de datos” introducimos el nombre de la base de datos que queremos crear.

Crear Nueva base de datos phpMyAdmin

al pinchar en Crear phpMyAdmin ejecutara el siguiente comando SQL

CREATE DATABASE `practicaCSI4` ;

para crear las tablas en la base de datos navegamos hasta la pagina de información de la base de datos practicaCSI4 y en la pestaña estructura introducimos el numero de campos y el nombre de la tabla que queremos añadir a la base de datos.

Crear Nueva tabla phpMyAdminnos llevara a una pagina donde definiremos los campos de la base de datos.

definiendo campos de una tabla phpMyAdminuna vez hayamos cubierto el formulario pulsaremos el boton gravar que creara la tabla insertando el siguiente comando SQL


CREATE TABLE `practicacsi4`.`personas` (
`nombre` VARCHAR( 50 ) NOT NULL ,
`apellidos` VARCHAR( 50 ) NOT NULL ,
`direccion` VARCHAR( 200 ) NOT NULL ,
`codigopostal` INT NOT NULL ,
`provincia` VARCHAR( 15 ) NOT NULL ,
`dni` VARCHAR( 9 ) NOT NULL ,
`fechaNacimiento` DATE NOT NULL
) ENGINE = InnoDB

 

Repetimos el proceso para la segunda tabla

definiendo campos a tabla 2 phpMyAdminla creación de la segunda tabla generara el siguiente comando SQL

CREATE TABLE `practicacsi4`.`noticias` (
`titular` VARCHAR( 120 ) NOT NULL ,
`entradilla` VARCHAR( 400 ) NOT NULL ,
`texto` VARCHAR( 4000 ) NOT NULL ,
`fecha` DATE NOT NULL ,
`firma` VARCHAR( 200 ) NOT NULL ,
`fuente` VARCHAR( 180 ) NOT NULL ,
`foto` VARCHAR( 100 ) NOT NULL ,
PRIMARY KEY ( `titular` )
 

12. Crear una página sencilla en php que realice la conexión con la base de datos y muestre los resultados en pantalla

Se hace en la próxima practica.

13. Facilitar al profesor una URL a través de la cual pueda visualizar la página y otra URL a través de la cuál pueda acceder a phpMyAdmin y realizar cambios en la base de datos de tal manera que esos cambios aparezcan reflejados al consultar de nuevo la página.

Acceso a phpMyAdmin:

Las tablas de base de datos a crear pueden ser:

A) Ficha de datos personal con lo siguientes campos:

  • a. Nombre
  • b. Apellidos
  • c. Dirección
  • d. Código Postal
  • e. Provincia
  • f. DNI
  • g. Fecha de Nacimiento

B) Ficha de datos de una sección de noticias:

  • a. Titular
  • b. Entradilla
  • c. Texto
  • d. Fecha
  • e. Firma
  • f. Fuente
  • g. Foto (opcional)

El problema de “Su copia de windows es pirata”

Una de las cosas ue me joden bastante es la versión preinstalada de windows XP de mi antiguo portatil.

Despues de ampliarlo simplemente no me lo deja instalar, como soy un chico muy comodo me agencie con una copia de Windows XP porque era la unica forma de poder ejecutar mis programitas. Desgraciadamente hace un par de dias me aparecio el famoso mensaje de Su windows no es legal bla bla bla bla bla bla.

La solución la dio un tal Guillaume Kaddouch en su pagina http://www.firewallleaktester.com/removewga.htm que creo una herramienta para cargarse la actualización de ventajas de productos originales de Microsoft

La podeis descargar aqui RemoveWGA

Realizar una instalación limpia con un disco de Actualización de Windows Vista

En toda mi experiencia como informático he visto de todo pero lo mas anti intuitivo, mal pensado e indocumentado es realizar una instalación limpia con un disco de actualización de Windows Vista

Windows Vista Home Basic Update
Windows Vista Home Basic Update

Apunta los pasos

  1. Instala tu Versión de Vista si introducir la clave de activación (no te va a dejar con la clave de actualización)y asegúrate de seleccionar la versión correcta.
  2. Deja que se instale
  3. Una vez instalado (un montón de tiempo) vuelve a meter el disco de actualización
  4. Ejecuta el programa de instalación
  5. Dile que vas a Actualizar tu instalación de Windows Vista con la versión instalada
  6. Mete la clave y deja que se repita el proceso de instalación

Creo que en Redmon a algunos ingenieros les quedo la cabeza cuadrada de tanto pensarlo, bicicleta

El misterioso problema de la tarjeta de red que no recibe paquetes o los usb’s que no actualizan sus controladores

Tras formatear tu ordenador e instalar los drivers de la maravillosa y sorprendentemente bien programada tarjeta de sonido GTI 16V 3D con la intervención del  revolucionario y  super bien desarrollado y acotado Microsoft UAA Bus Driver for High Definition Audio caso de la Realtek tarde perdida notaras que la instalación de Windows XP comienza a hacer cosas raras como el caso de

  • La tarjeta de red que no recibe datos
  • Los drivers USB que no actualizan el archivo INF

Solución

Irse al administrador de dispositivos

Administrador de dispositivos
Administrador de dispositivos

pinchar en mostrar dispositivos ocultos

mostrar dispositivos Ocultos
mostrar dispositivos Ocultos

Buscamos el Microsoft UAA Bus Driver for High Definition Audio

Microsoft UAA Bus Driver for High Definition Audio
Microsoft UAA Bus Driver for High Definition Audio

Deshabilitar el Microsoft UAA Bus Driver for High Definition Audio

Desinstalar el Microsoft UAA Bus Driver for High Definition Audio

Reiniciar

No reinstalar el Microsoft UAA Bus Driver for High Definition Audio cuando lo pida

Clic derecho en  lo que no funcione

Reinstalar los controladores de todo lo que de problemas

Reinstalar la tarjeta de sonido

Fiesta