Mi primer programa: Hola Mundo!

Posted by Mario on Julio 16th, 2008

De todos es sabido que cuando comienzas a programar un lenguaje el primer programa que se realiza es el “Hola Mundo!” para comprobar como compilar y como funciona más o menos el interfaz de desarrollo. Me he encontrado en Wikipedia un Hola Mundo en muchisimos por no decir casi todos los lenguajes de programación.

http://es.wikipedia.org/wiki/Hola_mundo

Así podréis comprobar si está el lenguaje que vosotors utilizais o comprobar la sintaxis de lenguajes a los que os gustaría echarles el guante ^_^

Hola Mundo!

Leer entradas relacionadas:

Eclipse Ganymede is Here!

Posted by Mario on Junio 25th, 2008

Cuando estuve probando la versión Ganymede RC3 ya me pareció bastante estable por lo que no me extraña que hayan lanzado ya la versión final del editor.

Una de las cosas que me han parecido muy interesantes a la hora de utilizar el plugin para desarrollar en php es que a parte de localizarte las funciones de tu proyecto web, también puedes localizar con un ctrl+click donde está definida la constante, y al igual que te autocompleta con el nombre de funciones o métodos de una clase, también lo hace con los ficheros que vas a incluir!!!

Por ahora estoy encantado con esta versión, a parte de que rebosa una mayor estabilidad al producto de la versión 3.2 (obviamente Ganymede es la 3.4 tiene que ser mejor ^_^)

No he tenido la oportunidad de probar la versión Windows/MacOS, pero entiendo que irá igual de bien que la versión Linux.

Leer entradas relacionadas:

Analizando como poner en marcha un sitio Web de alto rendimiento I

Posted by Mario on Marzo 12th, 2008

La puesta en marcha de un servicio web de alto rendimiento no nace de la noche a la mañana. Es un trabajo constante en el que tienen que ir de la mano la cordinación de más de un departamento. El departamento de desarrollo tiene que preveer el crecimiento haciendo escalable el desarrollo de la aplicación coordinando con las necesidades y/o requisitos del departamento de sistemas.

Un papel fundamental para su crecimiento es la disponibilidad y velocidad del servicio. Aquí es donde se tiene que analizar como vamos a hospedar la web.

En cuanto al desarrollo hay que preveer la escabilidad técnica por parte del equipo de sistemas para el correcto funcionamiento con tráfico elevado.

El análisis de la base de datos es un papel muy muy pero muy importante en todo esto. Una vez completado el esquema de la BD es importante el definir que tablas tendrán más escritura para poder, en un mañana próspero y posible la separación de BD’s con tablas diferentes en caso de que así lo requiera el proyecto. No obstante, MySQL puede dar mucho juego. Desde el montar un cluster de BD a crear BD’s con replicación o separar las tablas de la BD en diferentes BD con la desventaja que ello podría acarrear en un futuro.

Ahora es cuando nos sentamos a pensar con que tecnología vamos a trabajar. Exceptuando los servicios de Microsoft no conozco ningún sitio web de alto rendimiento que esté funcionando con ISS por lo que por el momento vamos a comenzar con tecnologías libres.

Sistema Operativo: Debian Estable
Servidor Web: Apache 2
Base de datos: MySQL 5.0
Código: PHP 5.1

Tags: web | portal | alto | rendimiento | php | linux

Leer entradas relacionadas:

Instalación de Lighttpd (Pronunciado Lighty)

Posted by Mario on Febrero 10th, 2008

Descargamos y descomprimimos Lighttpd:

wget http://www.lighttpd.net/download/lighttpd-1.5.0-r1992.tar.gz
tar xvzf lighttpd-1.5.0-r1992.tar.gz
cd lighttpd-1.5.0/

Configuramos:

./configure
make
make install

// Copiamos el directorio de los sources de lighttpd en /usr/src por seguridad, por si necesitamos
desinstalarlo y demás algún día.

cp lighttpd-1.5.0 /usr/src/ -R

Ahora vamos a crear el directorio de configuración si no existe (/etc/lighttpd) y copiar en el el fichero principal de configuración, que se encuentra entre los directorios del código fuente

mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/

Vamos a editar el fichero lighttpd.conf y ver las partes más importantes.

nano /etc/lighttpd/lighttpd.conf

Módulos del servidor:

Se estrablecen los módulos activos dentro de la directiva server.modules(), de esta forma:

server.modules = (”mod_rewrite”,”mod_alias”,”mod_accesslog”)

De momento utilizaremos solo estos modulos. mod_rewrite para las normas de rewrite, mod_alias para los alias del servidor, mod_access para denegar el acceso a ciertos archivos y mod_accesslog para los log de acceso y error.

Configuración básica del servidor:

server.document-root = “/home/web/htdocs” # Directorio raiz del servidor
server.errorlog = “/var/log/lighttpd/error.log” # Archivo de log de errores
index-file.names = ( “index.phtml”, “index.php” ) # Archivos de índice y su orden.
accesslog.filename = “/var/log/lighttpd/access.log” # Log de acceso del servidor.
url.access-deny = ( “~”, “.inc” ) # Deniega la descarga de los archivos con las extensiones indicadas.
static-file.exclude-extensions = ( “.php”, “.phtml”) # Extensiones que el servidor tratará como dinámicas.
#server.port = 81 # Puerto por defecto. Si está comentado usa el 80
#server.bind = “grisu.home.kneschke.de” # Host del que escuchará peticiones por defecto. Si está comentado acepta todos.
server.error-handler-404 = “/missing.phtml” # Archivo que mostrará cuando se produzca un error 404 (No se encuentra la página)

Para empezar, con estas opciones nos vale.
Importante:
Si queremos incluir algun fichero;

include “lighttpd-inc.conf”

El fichero debe estar situado en /etc/lighttpd/

Por último, vamos a configurar nuestro servidor para que funcionen las páginas en php 5. Para ello necesitamos instalar el paquete php5-cgi y activar el módulo “mod_proxy_backend_fastcgi”.

apt-get install php5-cgi

Para que todo funcione aún mejor, añadimos al fichero php.ini de /etc/php5/cgi la siguiente linea:

server.modules = (”mod_rewrite”,”mod_alias”,”mod_accesslog”,”mod_proxy_backend_fastcgi”,”mod_proxy_core”,)

Y ahora configuramos el módulo:

$PHYSICAL["existing-path"] =~ “.php$” {
proxy-core.allow-x-sendfile = “enable”
proxy-core.protocol = “fastcgi”
proxy-core.backends = ( “unix:/tmp/php-fastcgi.sock” )
proxy-core.max-pool-size = 16
}

En nuestro caso, como tambien utilizamos archivos phtml haremos una copia:

$PHYSICAL["existing-path"] =~ “.phtml$” {
proxy-core.allow-x-sendfile = “enable”
proxy-core.protocol = “fastcgi”
proxy-core.backends = ( “unix:/tmp/php-fastcgi.sock” )
proxy-core.max-pool-size = 16
}

*Importante: por último para que se lanzen los procesos php ejecutar desde un script: spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u www-data -g www-data -C 5 -P /var/run/spawn-fcgi.pid

Otros detalles “sin importancia”:

modulo rewrite: Son totalmente convertibles las máscaras del rewrite de apache a lighttpd sin demasiado esfuerzo, solo cambia la sintaxis dentro de lighttpd.conf (mejor hacer un include)
más info acerca del rewrite en: http://trac.lighttpd.net/trac/wiki/Docs%3AModRewrite

modulo alias: Creas alias virtuales para poder acceder a directorios que estan fuera del docroot (por ejemplo) o acortar rutas (por ejemplo tambien)

Ejemplo: alias.url = ( “/cgi-bin/” => “”/home/web/htdocs/rg/cgi-bin/” )

Ya tenemos un servidor lighttpd sencillo que soporta procesa php.

Manual gracias a: MiJack

Leer entradas relacionadas:

Como obtener la fecha en PHP/MySQL

Posted by Mario on Febrero 7th, 2008

Llevo años trabajando como desarrollador web y nunca me había encontrado con un código como este:

fecha_php.jpg

Si programas en PHP entenderás sin problemas esta barbarie, si no entiendes el código sólo decirte que está rizando el rizo rizado de la permanente…

Tags: php | fecha | mysql

Leer entradas relacionadas:


Copyright © 2007 Pensando en Red. All rights reserved.
Cerrar
E-mail It