21 jun. 2007

Hoy tengo flojera....VIVA EL COPY PASTE !!!

heredoc

Desde la versión 4.0, PHP ofrece la posibilidad de utilizar la construcción heredoc (o here print), que nos permite volcar en la pantalla grandes cantidades de texto, evitando la necesidad de escapar carácteres en su interior.

Su uso es bien sencillo. Al comienzo del texto que vamos a volcar necesitamos situar un identificador, que será "<<<" seguido de tres carácteres alfanuméricos, seguidos de la cadena y al terminar incluimos de nuevo los tres carácteres que sirvieron de identificador:

echo <<esta cadena se imprimirá sin problemas,
y podemos usar en ellas "comillas" sin necesidad de escape;
Tambien interpreta (expande) las $variables
Lo que es ideal para incluir grandes trozos de código html.
EOT;

?>

Cuestiones a tener en cuenta: el identificador de cierre puede ser cualquier combinación de letras; convencionalmente se suele usar EOT o EOF, vale cualquier otro (siempre que NO este incluido en el texto !!) y debe incluirse al comienzo de la linea (sin espacios en blanco ni tabuladores, ni comentarios), La linea no puede incluir detrás ningun otro carácter, salvo un punto y coma. Es mas, si escribes tu código con un editor windows, también puedes tener problemas si incluyes un retorno de carro (ENTER) ya que windows no termina las lineas con un carácter de nueva línea (\n) sino \r\n.

Por ello si ves que tu script no termina de volcar el texto justo al encontrar el identificador de cierre, lo primero que debes verificar es que la linea de cierre esta verdaderamente vacía.

Normalmente no deberías tener ningun problema de retorno de carro siempre que al subir el código al servidor emplees el modo ascii (no binario).

La principal ventaja de este sistema es que evita operaciones de entrada/salida en el modo php, con lo cual se incrementa la velocidad del script, facilitando además la introducción y legibilidad de código.

24 may. 2007

Un poco de historia..... (aun que nadie pesque este blog)

Bueno...aun que nadie pesque este blog... :'( .....igual voy a postear....

un poco de historia para los incurtos...

Evolución de la GUI. .... reentretenido.

Impresionante....

Quien dice que paint es arcaico ????....es solo cosa de talento..

este video es impresionante.

juesuuuuuu....

(y después dicen que yo soy ocioso.)

23 may. 2007

Hoy estoy generoso....bonus track : 5 métodos para cabrear a un programador

La función de este manual, destinado a empresarios, jefes de proyecto, jefes técnicos..., es explicar de forma sencilla ( esta vez no necesitarás la ayuda de un programador para entenderlo ) cómo cabrear a un programador.

Practicando en tu abundante tiempo libre podrás perfeccionar estas técnicas y verás rápidamente como aumentan tus enemigos y tus posibilidades de morir asesinado ( con el beneficio que esto supone para la sociedad ).
1 Reduce los plazos
Reducir los plazos de entrega es una técnica excelente para que un programador quiera nuestra cabeza en una bandeja, esta técnica esta basada en el principio de "aumenta su trabajo / reduce su tiempo libre", es importante comunicar los cambios de plazo en persona y con una frase bien escogida, aquí van algunas recomendaciones:
- Utiliza un tono amistoso / burlesco
- Recalca que va a trabajar más y a tener menos tiempo libre
- Hazle notar que a ti te sobra el tiempo libre
Este es un ejemplo muy efectivo:

Empresario: Fernandez, empieza el proyecto X que tenemos que entregar a finales del año que viene, quiero que lo acabes este mes así tengo un año para testearlo todo, que trabajando 2 horas al día no me da tiempo... jeje

2 Cambia los prototipos constantemente
Esta técnica es un poco más complicada ya que requiere imaginación para dar nuevos prototipos al programador justo cuando acaba de aplicar los cambios de los prototipos anteriores. Como probablemente carecerás de imaginación puedes necesitar la ayuda de un prototipador, experto en usabilidad... ( existen muchos profesionales expertos en tocar las pelotas a los desarrolladores ).

Si careces de recursos para contratar un profesional, puedes esforzarte para crear 2 prototipos completamente diferentes e ir cambiando de uno al otro.

3 Apoderate de sus ideas
Si tu programador tiene una buena idea díle que no vale para nada y espera a estar junto con él y tu jefe para explicar a tu jefe tu nueva idea. Puedes apuntar la idea en tu agenda por si tu jefe tarda mas de diez minutos en aparecer.

4 Díle como debe hacer su trabajo
Este método requiere un poco de documentación previa, puedes intentar utilizar Google para encontrar información sobre programación o, si se te resiste, puedes preguntar a otros programadores.

Apréndete 4 o 5 frases y repítelas constantemente a tu programador cuando las cosas no funcionen ( aunque ayuda, no hace falta que tenga nada que ver con lo que está pasando ) .

Empresario: Como va el proyecto X
Programador: Tengo problemas de lentitud con el Postgre
Empresario: Migra la bases de datos a Access a ver que pasa...

5 Infra-valora su trabajo
Utiliza el adjetivo "fácil" en todas tus comunicaciones con el programador, otras palabras como "cambio tonto", "pequeño cambio de prototipo" tambien ayudan a infravalorar su trabajo y a aumentar su cabreo hacia tí.

Empresario: Toma mirate este cambio tonto
Programador: Pero... si esto son 3 semanas de trabajo!!
Empresario ( intentando aguantar el descojone ): ¿Que dices? esto es una tonteria y lo hago hasta yo en 2 dias...
Si aprendes a combinar correctamente estas técnicas no habrá programador que no quiera tu cabeza como trofeo. Si por otro lado te cuesta un poco cojerle el truco, puedes preguntar a otros empresarios, jefes de proyecto, jefes técnicos... seguro que en tu empresa hay verdaderos expertos en el tema.

Errores con las sql....Típico

Continuando con los consejos de php......y haciendo uso de mi tiempo de aburrimiento.....
les cuento que existen algunos elementos que nos pueden servir a la hora de encontrar un error en las sql que ejecutamos desde php.

Muchas veces probamos y probamos una sql en un cliente MySql cualquiera...o en las herramientas que nos entrega el fabuloso...(jajajaja) Sql Server y finalmente cuando las implementamos.......la sorpresita.....un error.

Bueno....cuando php nos devuelve el error en pantalla...nos muestra el mensaje que recibe del motor de bases de datos que estemos usando indicándonos el error....
¿Pero que pasa si el error es generado en un archivo que hicimos hace ya varias semanas y que no nos acordamos cual?.....lamentablemente el error devuelto por el motor de bases de datos no nos indica de que archivo y que línea es el error.

Para que no suceda esto....y tengamos una información mas acertada de donde está el error les aconsejo lo siguiente: Agregar unas variables que nos ofrece php "__FILE__" y "__LINE__".....vean a lo que me refiero.

Si hago esto:

$lnk = Conectar();
$sql = "selec * from personas";
$rs = mysql_query($sql,$lnk) or die(mysql_error());

me lanzaría el siguiente error:

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'selec * from personas' at line 1


lo cual me dice el error....pero en que $·$%&·$%&/·$(&/)/(= archivo y línea está?????

para que no me pase eso yo hago:

@$rs = mysql_query($sql,$lnk) or die("ERROR: Archivo: ".__FILE__."; Linea: ".__LINE__."; ErrMysql: ".mysql_error());

es un poco mas largo....pero nos devolverá:

ERROR: Archivo: login.php; Linea: 14; ErrMysql: Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'selec * from personas' at line 1


Mucho más completo no creen ????.....

Espero que les haya servido.....

22 may. 2007

Problema con ACER 5610

Bueno....como no todo en esta vida es trabajo y programación....he decidido que este blog también será de otras cosas que no tienen que ver con php ( al menos no directamente.... ).
Al que le guste..perfecto....y al que no...pues mala suerte...
Así será mas fácil también para mi postear temas cuando ya esté cabreado de tener código en mi cabeza.

Hoy estaba trabajando en mi notebook.....( ehhh al fin me lo compré...gracias SII... ), programando.....programando...aburrido....quedándome dormido...y entonces surgió en mi una idea....voy a poner música....abrí mi jetAudio y le agregué a la lista la carpeta de Muse.

estaba en lo mejor escuchando cuando noté que la música se lageaba....(término counter..jajaja).
como que se quedaba pegado por instantes.

Esto no debería pasar...cuando escuchaba música en Windows Vista (S.O de fabrica...ahora un xp sp2) sonaba bien... a demas...tengo 1gb de ram y un core duo de 1.7......
Me puse a buscar en los foros pensando que podría encontrar alguna respuesta referente a los codecs....

Debo admitir que me costó encontrar la respuesta.

Se trata de la versión de la bios del notebook..... lo ideal es cambiarla a la última version de la bios que se encuentra en la página de acer.
El archivito es HBL50_350_Winflash.zip.
Actualizan la bios y el problema desaparece.....que tal ???....

uno nunca termina de aprender...eejejejjeje..

18 may. 2007

Conexión con bases de datos

Un aspecto básico a la hora de desarrollar aplicaciones sobre cualquier plataforma, es la conexión con bases de datos.
Por supuesto que php nos ofrece muchas opciones para conectarnos con bases de datos, pero las que comúnmente se utilizan más son las conexiones a bases de datos MySql y Sql Server.

Para conectar php con alguna base de datos, por ejemplo mysql, simplemente debemos usar una función llamada "mysql_connect" en la que básicamente son necesarios 3 parámetros...¿cuales creen?....sisisisi....nombre del host, nombre de usuario y password.

La función nos devuelve un identificador de la conexión (si esta ha sido efectuada) o simplemente false en caso de alguna falla.

Lo recomendado es generar un documento php, en donde tengamos los parámetros de conexión y otro archivo aparte (de funciones por ejemplo) en donde tengamos la función que nos conecte a la base de datos y nos devuelva el identificador. ¿Por qué?....pues simplemente por que nos será más facil cuando tengamos que actualizar parte de nuestro sitio web o sistema a un servidor....solo reemplazamos los archivos que hemos modificado....y los de conexión permanecen intactos.

EJ; 1.- parametros.php

$Host = "localhost";
$User = "root";
$Pass = "xxx";
$BD = "mi_base_de_datos";
?>


2.- funciones.php

require_once("parametros.php");
function Conectar()
{
$xConexion = mysql_connect($Host, $User, $Pass) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($BD), $xConexion);
return $xConexion;
}
?>

3.- index.php

require_once("funciones.php");
$lnk = Conectar();



Y ya estamos conectados con la base de datos.
Es posible que a muchas personas les paresca engorroso hacer 2 paginas adicionales para establecer conexión con una base de datos....ya que esta misma operación se puede hacer en todas las páginas .... ¿pero que pasaría si por alguna razón se cambia de host, password o usuario?, tendríamos que cambiar los parámetros de todas las páginas en donde hayamos llamado a la funcion mysql_connect.

Para mi...esta es la mejor forma de conectarse con bases de datos.....por que como ya lo dije anteriormente, es más facil hacer las actualizaciones y hacer más portable nuestra aplicación.