Pues bien, esta es una propuesta para el logo de KumbiaPHP:
Antes
Después 1
Espero que le guste a todos, cualquier cosa comentan.
Este trabajo está realizado en Inkscape.
Pues bien, esta es una propuesta para el logo de KumbiaPHP:
Antes
Después 1
Espero que le guste a todos, cualquier cosa comentan.
Este trabajo está realizado en Inkscape.
Para variar un poco…
EDUCACIÓN 1969 vs 2009
“Todo mundo piensa en dejar un país mejor para nuestros hijos…
Cuando lo que debería pensar es en dejar mejores hijos para el país”
Esta caricatura fue la ganadora en un congreso sobre educación y vida sostenible celebrado en Sao Paulo.
ADOdb es un conjunto de librerías de bases de datos para PHP y Python. Esta permite a los programadores desarrollar aplicaciones web de una manera portable, rápida y fácil. La ventaja reside en que la base de datos puede cambiar sin necesidad de reescribir cada llamada a la base de datos realizada por la aplicación, por ejemplo, si tenemos la mitad del proyecto con MySQL y por x,y o z motivos tenemos que pasarla a Oracle ¡ lo único que cambiamos es el controlador de acceso y conexión! .
Según el Sitio Oficial de ADOdb, son soportadas las siguientes bases de datos:
INSTALACIÓN:
Abrimos el Gestor de paquetes Synaptic (o tu gestor de paquetes) e instalamos libphp-adodb o por consola:
$ sudo aptitude install libphp-adodb
Este paquete se instala por defecto en el directorio /usr/share/php/adodb, por consiguiente necesitamos hacer un enlace simbólico desde la carpeta /var/www/, para esto abrimos una consola y ejecutamos lo siguiente:
$ sudo ln -s /usr/share/php/adodb/ /var/www/adodb
Si es necesario le damos permisos de ejecución
$ sudo chmod 777 -R /var/www/adodb
Puedes descargarla desde aquí, la descomprimimes, la renombras como “adodb” y la colocas en tu directorio del proyecto y listo.
Pero ¿Como usar ADOdb?.
CONEXIÓN A LA BASE DE DATOS
Para conectarnos a la base de datos creamos un archivo llamado conexion.php y lo configuramos según nuestros parámetros:
<?php
//Invocamos la librería ADOdb
require_once("adodb/adodb.inc.php");
$conServidor = "localhost";
$conBaseDeDatos = "nombre_base_de_datos";
$conUsuario = "usuario";
$conClave = "clave";
/*
*Aquí especificamos el controlador que debe utilizar para la conexión
*MySQL: mysql
*/
$bd = NewADOConnection("mysql");
$bd->debug = false;
$bd->Connect($conServidor,$conUsuario,$conClave,$conBasededatos);
?>
FUNCIONES
Estas son las funciones basicas para cualquier tipo de acciones a una base de datos, podemos crear un archivo llamado bd_usuarios.php
<?php
/* Funcion de busqueda */
function buscar($bd, $arreglo)
{
//Con prepare precompilamos la consulta
$sql = $bd->Prepare("SELECT * FROM usuarios WHERE usuario = ? AND pass = ? ");
//Ejecutamos la consulta y tomamos los datos en forma matricial
$rs = $bd->GetAll($sql, $arreglo);
//Devolvemos la matriz con los registros consultados
return ($rs);
}
/* Funcion de listado */
function listar($bd)
{
//Con prepare precompilamos la consulta
$sql = $bd->Prepare("SELECT * FROM usuarios ORDER BY id ASC");
//Ejecutamos la consulta y tomamos los datos en forma matricial
$rs = $bd->GetAll($sql);
//Devolvemos la matriz con los registros consultados
return ($rs);
}
/* Funcion de insertar */
function insertar($bd, $arreglo)
{
//Insertamos en la base de datos
$rs = $bd->AutoExecute("tbl_usuarios", $arreglo, "INSERT");
return ($rs);
}
/* Funcion de modificar */
function modificar($bd, $arreglo, $__codigo)
{
/*
* Recibimos en el arreglo los datos a modificar
* El codigo es identificador de la fila o llave primaria
*
* Indicamos la tabla donde se va a modificar, los datos a modificar
* y la accion UPDATE y decimos que el campo id de la fila de la tabla sea igual
* al codigo recibido.
*/
$rs = $bd->AutoExecute("tbl_usuarios", $arreglo, "UPDATE", "id = '".$__codigo_usuario."'");
//retornamos true si se modifico con exito o false si se produjo algun error
return ($rs);
}
?>
LLAMADO A LAS FUNCIONES
A continuación veremos como preparamos los datos para registrar/buscar/modificar en una base de datos
<?php
//incluimos el archivo con la conexion y las funciones
require_once 'conexion.php';
require_once 'bd_usuarios.php';
/* Busqueda */
//Definimos una variable tipo array con los datos recibidos de un formulario
//o cualquier tipo de dato
$reg = array();
$reg['Campo1_tabla'] = $_POST['campo_formulario´]
$reg['Campo2_tabla'] = $_POST['campo_forulario']
$rs = buscar($bd, $reg)
if ($rs)
echo "Encontrado";
else
echo "No se encontro el registro";
/* Funcion de listado */
$rs = listar($bd);
foreach($rs as $k => $fila)
{
echo "Campo: ".$fila['nombre_campo o numero_posicion']."<br>\n";
}
/* Funcion de insertar */
//Definimos una variable tipo array con los datos recibidos de un formulario
//o cualquier tipo de dato
$reg = array();
$reg['Campo1_tabla'] = $_POST['campo_formulario´]
$reg['Campo2_tabla'] = $_POST['campo_forulario']
$rs = insertar($bd, $reg)
if($rs)
echo "Se registro correctamente";
else
echo "Se produjo un error al guardar los datos";
/* Funcion de modificar */
$__codigo = $__codigo_de_la_fila_o_llave_primaria;
$reg = array();
$reg['Campo1_tabla'] = $_POST['campo_formulario´]
$reg['Campo2_tabla'] = $_POST['campo_forulario']
$rs = modificar($bd, $reg, $__codigo)
if($rs)
echo "Se Modifico correctamente";
else
echo "Se produjo un error al modificar los datos";
?>
Espero que este super mini tutorial les sirva de ayuda y los guie un poco. Actualmente estoy trabajando en un ejemplo práctico con adodb tanto estructurado como orientado a objetos, así que les pido un poco de paciencia.
Cualquier inquietud puedes dejar un comentario.
En un copiado y pegado pero que acojona XD.
Consultando ElGeek me encuentro con lo siguiente…
Esto va para todos los que se quieran dedicar a la programación y desarrollo de soft:
Aun así te gustaria esta profesión?
Tomado de | Cachi
Tiobe ha publicado un nuevo ranking de los lenguajes de programación más utilizados en el mundo hasta los días de Junio de 2009 y vemos que Java cada día va posicionándose más en el mercado.
En resumen los primeros 5 privilegiados lugares son:
1.- Java: 20.147%
2.- C : 16.779%
3.- C++: 10.594%
4. Php: 9.675%
5. Visual Basic: 7.943%
Para ver el listado completo puedes pinchar aquí
Visto en | Carlos Ruiz Ortega
Después de re-instalar una y otra vez phpmyadmin, por fín pude abrir el http://localhost/phpmyadmin
Es un pequeño bug que trae, aunque no se si es de Ubuntu Jaunty o del mismo phpMyAdmin. Lo primero que hacemos es identificar si en /usr/share existe el directorio phpmyadmin, si es asi entonces abrimos una terminal y ejecutamos:
$ sudo ln -s /usr/share/phpmyadmin /var/www
Con esto hacemos un enlace simbólico que apunta al directorio /usr/share/phpmyadmin y listo….ya tenemos phpMyAdmin trabajando.
Pero si queremos que nada mas que al digitar http://localhost en la barra de direcciones aparezca el phpMyAdmin, vamos a /var/www borramos el index.html que aparece, una vez ha sido borrado le damos Click derecho-> Crear un documento->Archivo vacío y lo nombramos como index.php.
Lo abrimos con un editor de texto y colocamos lo siguiente:
<?php
header ("location: phpmyadmin");
?>
Y listo…ya podemos abrir el phpMyAdmin digitanto http://localhost
Buscando tutos para Java SE 5.0 me he encontrado con unos vídeos muy buenos. Para aquellos que queremos comemzar a programar en Java o para aquellos que quieren documentarse mejor se los recomiendo.
Si quieres más información puedes visitar la página web del autor locx24
Capitulo 0: Introducción a la programación.
Tema 1: Conceptos básicos de programación.
Tema 2: Introducción al lenguaje de programación Java. parte 1
Tema 2: Introducción al lenguaje de programación Java. parte 2
Tema 3: Herramientas de desarrollo. parte 1
Tema 3: Herramientas de desarrollo. parte 2
Tema 3: Herramientas de desarrollo. parte 3
Tema 3: Herramientas de desarrollo. parte 4
Capitulo 1: Arreglos unidimiensionales y multidimensionales.
Tema 1: Arreglos unidimensionales.
Tema 2: Arreglos multidimensionales.
Capitulo 2: Metodos y mensajes.
Capitulo 3: Constructores y recolección de basura.
Tema 2: La recolección de basura en Java.
Capitulo 4: Sobrecarga.
Tema 1: Conversión de tipos primitivos.
Tema 2: Sobrecarga de métodos y constructores.
Visto en | Casidiablo.net
Página del autor | Locx24

Carta a un usuario de Window$….
“Querido amigo “Windolero”:
Te escribo para saber de ti y de tu sistema operativo Windows. Imagino que desde la última vez que hablamos has tenido que instalalrlo unas par de veces. Imagino que se te a bloqueado, congelado, saturado y/o hasta te has encontrado con la pantalla azul de la muerte… si, eso que nosotros los linuxeros llamamos la “BSOD”… Ah vaya pero que descortés soy xD, te dije que soy un “Linuxero” pero no me expliqué. Verás que desde la última vez que hablamos he estado probando un sistema que se conoce generalmente como GNU/Linux del cual se derivan muchos sistemas operativos hermanos. En mi caso estoy utilizando el sistema operativo Ubuntu pero existen muchísimos más como por ejemplo: Fedora, OpenSUSE, Mandriva, Slackware, Debian, Arch Linux, Linux Mint, Sabayon, etc…
Te cuento que este sistema operativo que estoy usando es bastante estable. Ya no tengo esos problemas que Windows solía darme. Antes tenía batallas con los caballos de troya, los viruses me enfermaban, tuve que ir al doctor varias veces porque los gusanos vivian de mí como parásitos y una vez llegué a salas de emergencias casi muriendome… al final del túnel he visto una gran luz azul con el código de un error. Fué en ese momento cuando un amiguito divino vino a mi rescate. Te lo presento, se llama “Tux” y es un pinguino muy envidiado por muchos pero yo le debo la vida. Es mi mejor amigo. Fué “Tux” quien me enseñó el camino correcto y mirame; Ni un solo virus en mi sistema inmunológico, ningún cabayo de troya se atreve a enfrentarse a “Tux” y repele todo gusano sucio que quiera vivir de mi!
Tux fué quien me enseñó el sobre estos sistemas de los que te he hablado anteriormente en esta carta. He aprendido que existe un tipo de software llamado “Software Libre”. El Software Libre es software que además de ser gratuito en su mayoría de veces, también deja su codigo abierto al público para que sea mejorado cada día más o simplemente para que aprendas y te desarrolles como programador. Dentro de cada sistema operativo GNU/Linux encontrarás un sin fín de programas libres. Así tendrás un sistema operativo completo. Podrías tardar 2 o 3 horas instalando software adicional para tu Windows pero yo en cambio solo tardo 20 minutos instalando mi sistema de GNU/Linux y listo. Estos programas son full, no esperes que GNU/Linux pre-instale en tu sistema una versión de prueba de algún software al cual luego deberás de instalarle un key pirata, jejeje. Además muchos de los sistemas operativos de GNU/Linux se actualizan constantemente mediante actualizaciones online y/o nuevas versiones disponibles en CD, DVD, USB y/o instalación Online; Así tendrás un sistema operativo al día / actualizado y estable.
Deberías de darle una probadita, amigo Windolero… pues te cuento que muchos de los sistemas operativos de GNU/Linux cuentan con un disco vivo que también se le conoce como LiveCD. Este LiveCD te deja probar el sistema sin tener que instalarlo en tu disco duro. En ningún momento le hará daño a tu querido Windows que tanto quieres; Recuerda que Tux es un pinguino del bien y no del mal.
Por cierto… recuerdas la vieja PC que tirastes a la basura hace unos meses? Pues te cuento que recuerdo haberla recogido del basurero para saber que problemas te pudo haber causado. Creí que podía arreglarla. Al poco tiempo encontré que sus piezas estaban viejas pero no estaban dañadas. Así que la probé y me dí cuenta que Windows XP no corría en ella… Pero aún así la guardé en un rincón de mi casa y hace una semana la he podido revivir con un sistema operativo de GNU/Linux para sistemas de bajo consumo. Te lo dije! “Tux” es un ser divino! ha resucitado ese viejo PC!!!… GNU/Linux cuenta con varios entornos de escritorios. Desde uno liviano y bonito hasta uno elegante y fino. Cada uno cumple su tarea como entorno de escritorio y son bastante tuneables.
Olvidé mencionarte que muchos de los sistemas de GNU/Linux cuentan con repositorios llenos de Software Libre listos para ser instalados?, Pues si, amigo… Digamos que un repositorio es como un servidor lleno de software. La mayoría de los sistemas operativos de GNU/Linux cuentan con un programita desde el cual puedes buscar, instalar o desintalar esos programas dentro de esos repositorios. Así puedes ahorrar tiempo para tomarte un té y librarte de lugares maliciosos. No digo que vayan a destrozar tu sistema de GNU/Linux pero es una perdida de tiempo entrar a esos lugares llenos de publicidad porno o gay! Además todos los programas en los repositorios son testeados y actualizados! “
Para ver el artículo completo y todas las variedades de aplicaciones disponibles y más utilizadas puedes seguir este lanzador.
Visto en | Portal Linux
Esta tarde revisando la web me encontré con un artículo muy interesante “Como se mide la calidad de un Software” publicado en el blog de Andresoftmanta. Muchos pensamos que al realizar un programa o una aplicación para un usuario final tiene que ser bonito, amigable, funcional, etc, pero como determinamos la calidad?
Para ver el artículo completo puedes pinchar aquí
Esto es un sencillo ejemplo en JavaScript, el cual evita que una vez enviado los datos de un formulario no los pueda volver a enviar, pues bloquea los botones. Un ejemplo práctico sería el ingreso de información a una base de datos, regresamos a la página anterior y volvemos a enviar la misma información.
Para aplicarlo a nuestro tabajo, lo que tenemos que hacer es copiar y pegar este código en la cabecera del archivo o importarlo.
<script language="JavaScript">
<!--
function misubmit(label) {
var forma = document.nombreFormulario;
forma.action.value = label;
forma.enviar.disabled = true;
forma.cancelar.disabled = true;
forma.submit();
}
//-->
</script>
y en el formulario colocamos en los botones de la siguiente manera:
<input id="enviar" onclick="misubmit('Enviar');" name="Enviar" type="button" value="Enviar" />
<input id="cancelar" onclick="misubmit('Cancelar');" name="Cancelar" type="button" value="Cancelar">
Y listo, ya podemos evitar que un usuario “explorador” retroceda e ingresen de nuevo la información.
Espero que les sirva de ayuda.
Comentarios recientes