Presentaciones de la international 2007 PHP Conference Spring Edition

En Alemania se ha llevado a cabo la llamada International 2007 PHP Conference, edición de primavera. Ben Ramsey, ha colgado en su web sus dos presentaciones que llevó para éste evento.

Habrá que prestarle especial interés a la presentación que habla sobre memcached, un sistema para distribuir mediante caché, la carga que tienen las consultas a la base de datos de nuestras aplicaciones web, sobre la memoria de nuestro servidor. Por lo que he leido es muy muy rápido, pero no lo he comprobado aún :P

Os dejo los links a las presentaciones:

Actualizado (9/6/2007)*

Tobias Schlitt ha publicado en  su blog dos presentaciones de Ez para la2007 PHP Conference. Vienen en un zip con ejelos de código.

Comandos útiles para visualizar información de un equipo xp/vista

Me apunto algunos comandos para visualizar diferentes informaciónes de algun equipo con xp/vista instalado (también sirven en algunos casos para 2000 y 9x), y así ya no se me olvida ninguno.

Systeminfo
Visualiza información completa de nuestro equipo, con sus actualizaciones, uso de meria fisica, moria virtual, tarjetas de red etc.

Net config workstation
Muestra el nombre del equipo, el dominio al que pertenece, el usuario que esta logeado y la versión del sistema operativo.

Ipconfig /all y getmac
Con el parámetro /all, ipconfig permite visualizar la configuración de nuestros dispositivos de red, su dirección mac y dns.
Getmac nos devuelve las direcciones mac de nuestro equipo.

Gpresult
Visualizamos todas las políticas de grupo aplicadas sobre nuestro equipo y usuario

TaskList
Lista de procesos que se están ejecutando en nuestra máquina

At
Lista las tareas programadas en nuestro equipo

NetStat y Nbtstat
Netstat lista de conexiones de red de nuestro equipo, nbtstat muestra las realizadas a través de netbios.

Openfiles y net share
Openfiles lista los directorios y archivos abiertos de nuestra máquina a través de la red, también nos indica qué usuario los tiene abiertos Net share lista los directorios compartidos en nuestro equipo.

driverQuery
Lista los drivers instalados en nuestro equipo

prnjobs y prncnfg
Prncnfg muestra información acerca de las impresoras intaladas y prnjobs los trabajos que tenemos en cola.

sc query
Lista información de los servicios que tenemos en nuestro equipo

Test de intrusión web, por Chema Alonso

Chema Alonso “Maligno” (MVP en Seguridad de Microsoft) ha publicado en su blog dos post sobre intrusiones web, donde nos explica los ataques más frecuentes que se hacen para probar o romper la seguridad de un sitio web.

Imprescindible lectura para los que desarrollan o están empezando a desarrollar proyectos web y se preocupan un mínimo por la seguridad de sus aplicaciones.

Oracle con consultas Limit de mySQL

Al igual que ésta semana anotaba cómo hacer consultas con Limit en Sql Server 2005, en éste post le toca el turno a Oracle.

La forma de paginar resultados en Oracle, al igual que se hace con un Limit en mySQL, es la siguiente:

SELECT * FROM ( SELECT TABLA.* , ROWNUM AS FILAS FROM TABLA ) WHERE FILAS BETWEEN 5 AND 10

Ésta consulta devuelve los resultados del 5º encontrado al 10º

Ésta entrada se la dedico a mi ex-compañero y Red Hat Trainer de Ecuador, Washington Luis Villamar Lavayen “Luisao”, que fue quién me chivó ésta consulta hace algo así como un año… cuando trabajabamos juntos ;)

Los videos de Lee LeFever, la mejor forma de enseñar sobre tecnologías web

Lee LeFever trabaja en Common Craft, empresa que fundó en el 2003 y tiene como clientes a Microsoft y Boing entre otros.

Su trabajo consiste en acercar a los consumidores con sus empresas clientes, por medio de internet. Conoce muy bien las herramientas para conseguir esto y su uso más práctico.

Es asombroso lo fáciles y precisas que son sus explicaciones en éstos videos para alguien que no tiene ni idea, de lo que es o cuales son las ventajas (yeeeh! :P) de el “RSS” de una web o un “WIKI

[youtube 0klgLsSxGsU]

[youtube -dnL00TdmLY]

Configuraciones para claves externas en mySQL

Al crear  claves externas en mySQL debemos especificar que acción se ejecutará sobre las mismas en el caso de que los registros de la tabla padre asociados a esas claves sean actualizados u eliminados.

La sintaxis para configurar éstas opciones sería la siguiente:

[CONSTRAINT símbolo] FOREIGN KEY [id] (nombre_índice, ...)
  REFERENCES nombre_de_tabla (nombre_índice, ...)
  [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
  [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

Podriamos hacerlo también mediante el mySQL administrator, desde entorno gráfico:

mysql

Como vemos en la sintaxis anterior, las opciones para la acción sobre esas claves foráneas (FOREIGN KEY) son Restrict, Cascade, Set Null y No Action:

  • CASCADE: Borra o actualiza el registro en la tabla padre y automáticamente borra o actualiza los registros coincidentes en la tabla hija. Tanto ON DELETE CASCADE como ON UPDATE CASCADE están disponibles en MySQL 5.0.

  • SET NULL: Borra o actualiza el registro en la tabla padre y establece en NULL la o las columnas de clave foránea en la tabla hija. Esto solamente es válido si las columnas de clave foránea no han sido definidas como NOT NULL. MySQL 5.0 soporta tanto ON DELETE SET NULL como ON UPDATE SET NULL.

  • NO ACTION: Significa ninguna acción en el sentido de que un intento de borrar o actualizar un valor de clave primaria no sera permitido si en la tabla referenciada hay una valor de clave foránea relacionado.. En MySQL 5.0, InnoDB rechaza la operación de eliminación o actualización en la tabla padre.

  • RESTRICT: Rechaza la operación de eliminación o actualización en la tabla padre. NO ACTION y RESTRICT son similares en tanto omiten la cláusula ON DELETE u ON UPDATE. (Algunos sistemas de bases de datos tienen verificaciones diferidas o retrasadas, una de las cuales es NO ACTION. En MySQL, las restricciones de claves foráneas se verifican inmediatamente, por eso, NO ACTION y RESTRICT son equivalentes.)

  • SET DEFAULT: InnoDB rechaza definiciones de tablas que contengan ON DELETE SET DEFAULT u ON UPDATE SET DEFAULT.