Mostrando entradas con la etiqueta Tutoriales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutoriales. Mostrar todas las entradas

2012-06-26

En 5 VideoTutoriales vemos como utilizar el Auth de Permisos de Usuario con CakePHP 2.x todo en castellano

Crear un Proyecto y Configurar la Base de Datos en Cakephp desde la Consola

Crear Modelos, Vistas y Controladores de un Proyecto en Cakephp desde la consola

Activar Consola de Cakephp 2.x

Crear Modelo Vista y Controlador en Cakephp 2.x desde la consola

Control de Usuarios en Cakephp 2.x

2012-06-16

3 Días de vídeos tutoriales de Symfony 2, todo en catellano

Acá le dejor 3 dias de videos tutoriales de Symfony 2 con sus respectivas presentaciones también, que fue realizado en el evento "deSymfony 2011" es bueno para lo que quieren aprender sobre este framework ya que todo el contenido de los vídeos es 100% en castellano.


Primer día (1 de julio):
Segundo día (2 de julio):
Tercer día (3 de julio):

2012-06-12

Introducción a Zend Framework 2 en Castellano


Introducción a Zend Framework 2 (beta)

Autor: Rob Allen, www.akrabat.com
Versión original: Getting started with Zend Framework 2 (beta), Revisión 0.3.2
Copyright © 2011, 2012
Traducción: Alejandro Mohamad, www.alemohamad.com
Este tutorial está destinado a brindar una introducción al uso de Zend Framework 2 mediante la creación de una aplicación simple con base de datos, utilizando el paradigma de Modelo-Vista-Controlador.
Nota: Este tutorial ha sido testeado en la beta 3 de Zend Framework 2. Puede que funcione en versiones más recientes, pero es probable que no lo haga en versiones anteriores.

2011-05-25

Link interesantes sobre AndroId, Snippets de utilidad y mas..

 
 
Prendiendo Los que seguís esta sección, puede que recordéis haber leído en alguna ocasión que estaría basada en códigos y también en esos llamados “Snippets“. Estos “Snippets” son, intentando hacer una traducción literal, “trozos de” o “fragmentos de”, pequeñas partes de un código que pueden cumplir una función concreta y por lo general muy útil dentro de una aplicación. Desde hace bastante tiempo a esta parte he estado...
 
Volvemos tras un paréntesis a la quincenal cita de “Aprendiendo android”. Esta, si no me fallan las cuentas, es la décima entrega de esta sección, en ella hemos hablado de muchos temas o métodos de hacer cosas, pero sobre todo, y es en lo que más me gusta insistir, en las bases de las cosas. Voy a intentar explicarme, por ejemplo, en esta quincena y tras consultar los mails o tweets que tenía recibido con peticiones sobre las temáticas,...
 
Volvemos con una nueva entrega de “Aprendiendo android”, la novena ya Se puede decir, a grandes rasgos, que los desarrolladores de android pueden dividirse en dos bloques, hablando de forma muy general claro, los que provienen de otro lenguaje de programación y los que no. Si algún lector de este blog está leyendo esto y pensando si empezar a desarrollar para este sistema operativo, a este respecto puedo decir que el consejo que me dieron a...
 
Este artículo se publicó en mi blog hace ya algunos días. Como uno de los cuatro gatos que me leen es Adrian de El Androide Libre y parece que le gustó, me propuso muy amablemente publicarlo también en EAL (minolles y minolles de gracias). ¡Mira mamá! ¡Salgo en el androide libre! Trata sobre los layouts de Meneadroid, ya que mucha gente me ha preguntado al respecto. Meneadroid es una aplicación Android cliente del sitio Meneame.net (disclosure:...
 
 
“Aquí estamos de nuevo, con nuestros eclipses listos y una nueva entrega de “aprendiendo android”. A raíz de estos artículos u otras vías, a veces me llegan dudas o preguntas de como se pueden realizar determinadas acciones en android, o simplemente consultas de ejemplos de códigos para implantar en aplicaciones. Para está ocasión he optado por rescatar dos de estas demandas para explicar como pueden ser ejecutadas en android. De...

Volvemos al ataque con la VII entrega de “Aprendiendo android”. Cuando se inició esta sección, al igual que ocurre con todas claro, no sabía si finalmente podría resultar de utilidad o facilitar las cosas a iniciados o no tan iniciados, lo cierto es que hasta la fecha de hoy he recibido no pocos tweets de personas que me cuentan que algo de lo aquí explicado les ha ayudado con sus aplicaciones o desarrollos. Solo quería comentar...

Continuamos nuestro camino en el aprendizaje de funcionalidades con una nueva y veraniega entrega de “aprendiendo android” Hasta ahora estamos viendo partes sólidas del código de una aplicación, ajustes gráficos, listeners, acceso gps  movimiento entre actividades… Esta vez nos introducimos en esa parte del código que no realiza una acción concreta, sino que ayuda a que otras cosas del código, como por ejemplo las vistas...

Unos van de vacaciones y otros vuelven, en mi caso, me identifico con el segundo grupo, para los que ahora van a tener más tiempo y para los que buscan el tiempo donde lo haya, vamos con una nueva entrega de códigos, snippets o usos de programación android. En esta entrega vamos a hablar de la iniciación a una aplicación de android por la que ya habéis preguntado en más de una ocasión, el acceso al GPS. Como es bien sabido, la mayoría de...

En esta ocasión vamos a cambiar de tercio en lo que se refiere a la temática a explicar. El desarrollo de una aplicación conlleva diversos aspectos además del que todos conócenos sobre programación, nos referimos por ejemplo al aspecto gráfico o para que todo lo que hemos hecho llegue al usuario final, la distribución de nuestro programa. Nada nuevo bajo el sol si digo que la vía de distribución más extendida para aplicaciones android es...


Tras una ajetreada semana en el universo android con la actualización oficial de froyo, el más que feliz cumpleaños de el androide libre, presentación de lo nuevo de motorola, etc, continuamos con la tercera entrega de aprendiendo android, para los curiosos del “como se hace” A diferencia del último capítulo donde principalmente nos centramos en ver como se estructuraba una aplicación en relación a las actividades o llamadas...
 
Continuamos con una nueva entrega sobre trucos, explicaciones, o snippets que puedan sernos útiles en el desarrollo de nuestras aplicaciones android. Anteriormente vimos que una vez el desarrollador tiene el esquema de lo que va a ser su código, puede encontrarse con pequeños inconvenientes no previstos que retrasarán el ritmo de creación. En esta ocasión vamos a centrarnos en explicaciones o ejemplos básicos que responden a algunas de las...
 
Estrenamos una sección llamada Aprendiendo Android. Cada 15 días, Vierco, nos traerá algunos trucos, snippets para facilitar la vida a los desarrolladores de android. Va por ellos Cuando alguien se propone desarrollar una aplicación para android, por lo general se sigue un planteamiento que va desde el concepto inicial de la idea hasta el resultado final. Aunque esto por supuesto, queda a gusto o manías del programador. Una vez se tiene esa...

2010-08-19

OCW Consortium – Cursos virtuales gratuitos de universidades de todo el mundo

El OpenCourseWare Consortium es el resultado de la colaboración entre instituciones y organizaciones de educación superior de todo el mundo, incluyendo enlaces con contenido de cursos en varios idiomas y de diversos temas.

Entre ellos se encuentran muchos cursos en español y catalán, de universidades de reconocido prestigio que ofrecen el contenido siguiendo la linea de la web social.

En su web podemos ver la lista de países que están colaborando en este magnífico proyecto que nos permite filtrar el contenido por idioma y universidad.

Un recurso imprescindible para los amantes de la educación libre y de calidad.

2010-05-31

Opciones para realizar Videoconferencias privadas en la web

chatride.com


Sin necesidad de registro sólo tenemos que crear una sala y divulgar su enlace a la persona con la que queremos comunicarnos. El aspecto recuerda mucho al del famoso chatroulette, siendo tan sencillo como el popular mebeam.com, con el mismo objetivo.

Adobe Connect Now


Con un panel bastante completo y sencillo de usar, Adobe ConnectNow ofrece la posibilidad de compartir una dirección del tipo https://connectnow.acrobat.com/diegopolo, a la que los invitados a la videoconferencia tendrán que acceder para verse las caras usando sus webcams.

vawkr.com

Integrada con Facebook y con la posibilidad de crear salas también en myspace o en cualquier página web o blog, sin necesidad de instalar nada ni de tener que registrarse en ningún sitio.

meeting24.tv


meeting24.tv es una aplicación de videoconferencia que permite, en poco tiempo, crear una sesión en la que pueden participar hasta 24 usuarios al mismo tiempo.

ubiqq.com


Ubiqq genera una dirección url que, después de ser abierta por la persona con la que queréis hablar, creará una sesión de chat con vídeo en la que se podrán ver los dos protagonistas al mismo tiempo.

palbee.com

Una de las opciones más completas, ideal para hacer reuniones, ya que pueden compartirse archivos, capturas, presentaciones, etc.

ekko.tv


Una barra que incluye la posibilidad de realizar videoconferencia entre dos personas.

Hay otras opciones, como oovoo o tokbox.com, por ejemplo. Aunque estoy seguro que con tanta opción encontraréis lo que se adapte a vuestras necesidades particulares.


Fuente:wwwhatsnew.com

2010-05-12

Mikogo.es – Reuniones online para la vida profesional y académica

Mikogo, el resultado de una idea que nació en 2007 y que nos permite realizar reuniones online, conferencias, presentaciones y sesiones de soporte remoto de forma gratuita, se está mostrando también una excelente opción para el mundo académico.

Con miles de usuarios distribuidos alrededor de todo el planeta, el principal mercado se encuentra en Estados Unidos, ya que la aplicación estuvo solamente en inglés por casi dos años. Desde que a finales del año pasado se lanzaron otras páginas en diferentes idiomas, los usuarios de habla hispana lo han empezado a utilizar para decenas de aplicaciones diferentes, estando el soporte remoto, presentaciones profesionales y apoyo académico entre tres de los principales usos.

[...] pequeñas empresas y empresas que utilizan el software como medio de comunicación para realizar presentaciones. También educadores alrededor del mundo, lo utilizan para mostrar a sus alumnos diferentes presentaciones y prepararles para el futuro [...] usuarios con intereses personales que utilizan el programa para diferentes fines o sea para ayudar un amigo con la pc o mac, mostrar fotos a familiares en otros países, mostrar nuevos trucos que han aprendido, etc.

El poder compartir escritorio para los reuniones online es cada vez más importante, por eso no es de extrañar que la idea sea cada vez más frecuente en la web.

Enrique Castellanos me comenta que ya están desarrollando la versión 4, que incluirá una mejor interfaz de usuario con un panel que le permitirá al presentador tener un mejor control y organización de las reuniones. Además incluirá un chat para poder intercambiar mensajes durante la conferencia sin interrumpir al presentador durante la charla.


Fuente: wwwhatsnew.com

2010-02-16

Selección de enlaces para diseñadores

Aquí os dejo una lista de enlaces que pueden ser útiles para quien trabaja con diseño.

- Trucos para pasar de un archivo PSD a HTML: line25.com
- Cómo pasar de un boceto a un tema en Wordpress: spoongraphics.co.uk
- Tutoriales de CSS3 y técnicas de creación de botones: speckyboy.com
- Excelentes diseños web oscuros: webdesignledger.com
- Cientos de trucos para quien trabaja con CSS: css-tricks.com
- 17 extensiones de Google Chrome para webdesigners: designm.ag

Espero que los aprovechéis.

2009-12-26

Tutoriales para programar en Adobe Air en Ingles

Las aplicaciones en Adobe Air son las reinas en la web. Pueden ser compatibles con cualquier sistema operativo y usan los datos de nuestras cuentas en Internet para ofrecer lo mejor de la web y lo mejor de las aplicaciones de escritorio.

En vandelaydesign.com han publicado 35 enlaces a tutoriales para los que estén interesados en programar este tipo de aplicaciones. Todos en inglés, por desgracia.

Espero que os sean de utilidad.

Introduction to Adobe AIR

Adobe AIR and Flex – Getting Started

Building an Adobe AIR Application with Flex

Writing Well-Behaved, Efficient AIR Applications

Performance Apps for AIR (vídeo)

Christmas is in the Air

How to Build a Contact Manager in AIR using XML Part IPart II

Building a Desktop Application with Ext, AIR, Aptana and Red Bull

Developing Cross-Platform Adobe AIR Applications

Create a Drag and Drop MP3 Player with Adobe AIR

Building Lupo: A Case Study in Building Commercial AIR Applications

Building Web and Adobe AIR Applications from a Shared Flex Code Base

Creating Desktop Applications for the Cloud with Adobe Flex, AIR, and Amazon S3

Adobe Air Tutorial for HTML/JavaScript Developers

Implementing Drag and Drop Between the OS and AIR

Notification Windows with JavaScript and AIR

Recreating MapCache on Adobe AIR

Creating a Downloader for YouTube with Flex/AIR

Walk on AIR: Create a To-do List in Five Minutes

Adobe AIR & Flash Tutorial

Developing AIR in Flash (vídeo)

Webcams, PNGs, and AIR (vídeo)

How to Store Adobe AIR Application Preferences Using JavaScript

Take Your CSS to the Desktop with AIR

Adobe AIR: Supercharged Development with Debugging

Creating an AIR RSS Reader Application from Scratch with Flex and PureMVC

Building an XML Viewer on AIR with Flex

Synchronizing Drupal Modules with Adobe AIR

Getting Started with Adobe AIR as a Web Developer/Designer

Simple Zip Viewer with JavaScript and AIR

Reducing CPU Usage in Adobe AIR

Performance Tips for Adobe AIR

Create Your Own Adobe Air Application with Flash

Build a Custom File Extension AIR App


Fuente :wwwhatsnew.com

2009-12-06

Uso de herramientas de Logging y Profiling en Framework DooPHP

DooPHP viene con su propio generador de perfiles y de herramienta de registro de forma predeterminada. La clase que se ocupan de esto en el marco es DooLog (dooframework / app / registro / DooLog.php)

Existen algunos métodos en este archivo en el que puede utilizar para el perfil y la explotación forestal consulta o mensaje importante en su aplicación. Usted puede registrar un mensaje llamando a:

Doo::logger()->log('Something fishy here!', DooLog::Alert);

O puede utilizar los métodos de alias en lugar de pasar el nivel de registro:

Doo::logger()->alert('Something fishy here!');
Doo::logger()->emerg('message...');
Doo::logger()->crit('message...');
Doo::logger()->err('message...');
Doo::logger()->warn('message...');
Doo::logger()->notice('message...');
Doo::logger()->info('message...');
Doo::logger()->trace('message...');

Todos los mensajes de registro pueden ser organizados por categoría, simplemente pasa en otro parámetro al final de los métodos:

Doo::logger()->log('Something fishy here!', DooLog::ALERT, 'editpost');
Doo::logger()->emerg('message...', 'editpost');
Doo::logger()->alert('message...', 'editpost');

Para ver los mensajes registrados, sólo tiene que llamar showLogs (). Por DooLog defecto devolverá un registro perfectamente formato XML que puede ser filtrada por el nivel o categoría. Usted puede obtener un registro de texto sin formato si es necesario para:

//display all logs
echo Doo::logger()->showLogs();

//display plain text log
echo Doo::logger()->showLogs(false);

//display only logs in category editpost
echo Doo::logger()->showLogs(true, null, 'editpost');

//display only logs in level Alert and category editpost
echo Doo::logger()->showLogs(true, DooLog::ALERT, 'editpost');

Cuando tienes que escribir los mensajes de registro en el archivo, todo lo que tienes que hacer es llamar writeLogs (). Similar a showLogs (), se escribe la cadena XML en el archivo por defecto.

//Creates a log file log.xml
Doo::logger()->writeLogs();

//You can write as plain text
Doo::logger()->writeLogs('log.txt', false);

Usted puede escribir los registros de cierto nivel o categoría, así

Doo::logger()->writeLogs('log.xml', true, DooLog::ALERT, 'editpost');

Si usted está preocupado de que los archivos de registro se hacen más grandes con el tiempo, todo lo que tienes que hacer es especificar un tamaño de archivo para la rotación de registro. Cuando se alcanza este archivo, los registros serán automáticamente expulsado y los nuevos mensajes serán escritos.

//maximum log file size is 20kb

Doo::logger()->rotateFile(20);

Doo::logger()->writeLogs();

La clase Logger escribe el archivo en el que su aplicación se encuentra por defecto (SITE_PATH). Si desea cambiar el lugar donde los archivos de registro serán almacenados, sólo tiene que añadir la puesta en log_path common.conf.php:

//this will store log files at /var/logs/, eg. /var/logs/log.xml
$config['LOG_PATH'] = '/var/logs/';

Eso no es todo!Si usted ha pasado a través de la aplicación por defecto App, hay una ruta llamada de depuración que se parece a esto:Eso no es todo!Si usted ha pasado a través de la aplicación por defecto App, hay una ruta llamada de depuración que se parece a esto:

$route['*']['/debug/:filename'] = array('MainController', 'debug');

Esta ruta es para que usted pueda usar con la herramienta de visor de registro hecho en Flex (sí necesita Flash Player para ver este). El parámetro de nombre de archivo de ruta '' sería el nombre de su archivo de registro que se log.xml por defecto. Bien, ahora vamos a probarlo, estoy con la demo de blog como ejemplo y la dirección a la demo es http://localhost/amfdemo/blog/ (sí, habrá un amfphp DooPHP tutorial más adelante)

Todo lo que necesitas hacer es visitar http://localhost/amfdemo/blog/tools/logviewer.html. Sólo tienes que introducir la ruta de depurar el nombre del archivo de registro como la dirección (http://localhost/amfdemo/blog/debug/log) y esto es lo que van a recibir.

Log Viewer Tool

Con esta herramienta, usted puede fácilmente controlar su punto de vista de registro. Usted puede hacer la clasificación en la fecha y hora, el nivel de registro, la categoría, el acceso URI, el mensaje de su registro, así como algunos de filtrado.

Filtrar por categoría:

Filter by Category - log viewer

Filtrar por nivel de registro / tipo:

filter by log level/type - log viewer

Filtrar por URI:

filter by URI - log viwer

Puede filtrar con la combinación 3 también. Una cosa a tener en cuenta es cuando se utiliza el nivel de seguimiento de registro, sólo se registrará si el modo de depuración está en (DEBUG_ENABLED es cierto). Esto es bueno para las pruebas durante el desarrollo y puede simplemente desactivado el registro de seguimiento mediante el establecimiento de

$config['DEBUG_ENABLED'] = False;

Aquí descargar este blog registro demo, ya hay un log.xml en la carpeta blog de modo que usted puede tener un rápido vistazo a la herramienta Visor de registro. Los mensajes de registro no tiene ningún sentido ya que sólo para efectos de demostración :P

Eso es todo por la tala, al lado voy a explicar cómo hacer perfiles y perfiles de base de datos con DooPHP. Si desea más discusión, hay un hilo en este tutorial en el foro aquí.

2009-12-04

Documentos de UX ¿Que es?

La documentación de "UX" ¿Qué es? ¿Qué es todo lo que hay que hacer? ¿Cómo hay que documentar? Todo, esta en este breve y simple documento de acá abajo.

Cron para Backup y Optimizacion de tablas con PHP + Zend Framework

Hace mucho no escribía un post, y quiero volver a retomar el habito con este pequeño scripts realizado con Zend Framework para optimizar todas las tablas de una base de datos mysql y además generar un dump por cada tabla, los resultados los vamos a comprimir para que no ocupe espacio innecesario.

Mantener un backup de nuestras tablas es mas que recomendable, uno nunca sabe cuando lo va a necesitar, sobre todo porque es muy fácil implementar un sistema automatico para generar backups como vamos a ver a continuacion.

En este post aunque es corto quiero demostrar que es posible realizar lo siguientes puntos:

1- Correr php desde la consola de linux
2- Correr Zend Framework desde la consola ( si es posible! ) y usar componentes de Zend Framework sin la necesidad de usar MVC, Zend_Application.
3- Realizar backups diarios de sus base de datos.

1- Correr php desde la consola de linux.

Esto espero que no sea una ciencia para ninguno, realmente es muy fácil. Creamos un scripts antes de los tags php ?> agregamos #!ruta_de_php en mi caso seria #!/usr/bin/php con esta linea le decimos a quien llamar para ejecutar el código que viene a continuación.
Un ejemplo simple seria el siguiente.

  1. #!/usr/bin/php
  2. < ? php
  3. echo "Estoy imprimiendo directamente en la consola";
  4. ? >

Guardamos el archivo como test.php, y le damos permisos de ejecución con el comando

$ chmod a+x test.php

Ahora lo ejecutamos

$ ./test.php

El resultado es el siguiente

2- Correr Zend Framework desde la consola ( si es posible! ).

Zend Framework mas allá de un montón de herramientas que nos brinda y formas de trabajo. Así como Zend_Application, Estructura de directorios organizadas, MVC, etc tambien nos permite usar sus componentes individualmente.
Si nosotros quisieramos usar Zend_Db, y todos los beneficios que este trae, solo necesitamos una configuracion mínima y listo. Podemos usar Zend_Db sin usar MVC o Zend_Application y mantener nuestra estructura de directorios.

En este caso voy a usar Zend_Db para conectarme a una base y conseguir un listado de tablas.

El código es el siguiente.

  1. #!/usr/bin/php
  2. < ? php
  3. set_include_path( implode( PATH_SEPARATOR, array(
  4. realpath( ‘library’ ),
  5. )));
  6. require_once( "library/Zend/Db.php" );
  7. /** Conectamos a la base de datos con ZF */
  8. $db = Zend_Db::factory( ‘Pdo_Mysql’,
  9. ‘adapterNamespace’ => Zend_Db_Adapter,
  10. ‘dbname’ => ‘mysql’,
  11. ‘host’ => ‘localhost’,
  12. ‘username’ => ‘test’,
  13. ‘password’ => ‘qwerty’
  14. )
  15. );
  16. $db->getConnection();
  17. $rowset = $db->fetchAll( "SHOW TABLES" );
  18. print_r( serialize( $rowset ));
  19. ? >

Para el ejemplo yo use Pdo_Mysql pero puden usar el adapter que quieran. Yo serialize el array $rowset para que sea mas claro en la imagen que se ve a continuacion que muestra todas las tablas que tiene la base de datos mysql.

3- Incentivar a realizar backups diarios de sus base de datos.

Es muy comun que una tabla se rompa o alguien cometa algun error y se pierdan datos o dañe una tabla o toda una base. Hay mil factores que pueden hacer que necesitemos un backup reciente de nuestra base. Si creamos un dump entero de nuestra base cuando queramos recuperar una tabla se nos va a complicar un poco realizar esta tarea sin tener que abrir un archivo que vaya a saber cuando miles de mega ocupe. Por eso es conveniente hacer backup de las tablas individualmente, asi en el caso que tengamos problemas con una sola tabla recuperar esa tabla se hace una tarea facil .

Hacer un script que genere este backup diariamente no es complicado, creamos el scripts, y configuramos el cron para que se ejecute a la hora que tengamos la menor cantidad de visitas.

Este script esta en PHP, en realidad la manera mas optima seria hacerlo en shell scripting pero tambien queria demostrar los 2 puntos anteriores.

Mi script es muy sencillo y es facil de entender. Primero trae todas las tablas de la base que estamos usando. Ejecutamos un optimize para cada tabla, inmediatamente generamos un backup de esa tabla en una carpeta temporal, cuando terminamos de hacer estas acciones con todas las tablas comprimimos la carpeta y borramos la carpeta orginal, para que no ocupe espacio.

Para ejecutar los comandos de linux use noFollow y no me preocupe mucho en validarlo, cada uno puede buscar la forma de optimizar el codigo.

El script cuenta con dos archvios. Un application.ini donde guardo toda la info de la base de datos

config/application.ini
[db]
adapter = Pdo_Mysql
params.adapterNamespace = Zend_Db_Adapter
params.host = localhost
params.username = test
params.password = “qwerty
params.dbname = mibase
params.port = 3306
params.options.autoQuoteIdentifiers = 0

Y el script completo

  1. #!/usr/bin/php
  2. < ? php
  3. set_include_path( implode( PATH_SEPARATOR, array(
  4. realpath( ‘library’ ),
  5. )));
  6. require_once( "library/Zend/Config/Ini.php" );
  7. require_once( "library/Zend/Db.php" );
  8. /** Conectamos a la base de datos con ZF */
  9. $applicationConfig = new Zend_Config_Ini( ‘config/application.ini’ );
  10. $db = Zend_Db::factory(
  11. $applicationConfig->db
  12. );
  13. $db->getConnection();
  14. $rootPath = "/home/backup/db/";
  15. $destination = $rootPath . date("Y.m.d") ;
  16. mkdir ( $destination );
  17. $config = $db->getConfig();
  18. $rowset = $db->fetchAll( "SHOW TABLES" );
  19. foreach ( $rowset as $row ){
  20. /** Optimizamos la tabla */
  21. $query = "OPTIMIZE TABLE " . $row[‘Tables_in_’ . $config[‘dbname’] ] ;
  22. $db->query( $query );
  23. $path = $destination . "/{$row['Tables_in_' . $config['dbname'] ]}." . date("Y.m.d") . ".sql" ;
  24. /** Generamos un dump de la tabla */
  25. system( "mysqldump –opt -u {$config['username']} -p{$config['password']} -h {$config['host']} {$config['dbname']} {$row['Tables_in_' . $config['dbname'] ]} > $path " );
  26. }
  27. /** Comprimimos la carpeta con los dump de la fecha y borramos la carpeta */
  28. system( "tar zcf {$destination}.tar.gz {$destination}" );
  29. system( "rm -rf $destination" );
  30. $db->closeConnection();
  31. echo "ndone!nn";
  32. ? >

Antes de ejecutar el script tienen que crear la carpeta /home/backup/db y darle permisos de escritura

$ sudo mkdir -p /home/backup/db

$ sudo chmod -R a+rw /home/backup/db

lo agregamos al crontab y listo.

$ sudo vim /var/spool/cron/crontabs/root

Agregamos la siguiente linea para que se ejecute todos los dias a las 2:20 am
20 2 * * * /var/www/html/scripts/cronOptimize.php > /dev/null 2> /dev/null

Y listo

Recuerden que tienen que tener instalado php5-cli

$ sudo aptitude install php5-cli



Fuente: blog.pablo-morales.com

2009-12-02

CSS: Menúes dropdowns más livianos con el método Son of Suckerfish

El artículo original, llamado Suckerfish Dropdowns y publicado hace seis años en A List Apart, probó ser una forma popular de implementar menúes desplegables livianos y accesibles basados en CSS que se acomodan en IE. En este artículo de hoy les enseñaremos cómo implementar menúes dropdowns más livianos con el método Son of Suckerfish, una evolución del primero que ya está siendo ampliamente implementado.

Haz clic aquí para ver una demostración de los menúes dropdowns de único nivel »

Haz clic aquí para ver una demostración de los menúes dropdowns de doble nivel »

Haz clic aquí para ver una demostración de los menúes dropdowns de triple nivel »

Haz clic aquí para ver una demostración de los menúes dropdowns de triple nivel »

Haz clic aquí para ver una demostración de los menúes dropdowns dispuestos en forma vertical »

Haz clic aquí para ver una demostración de los menúes dropdowns estilizados con CSS »

Fuente: HTML Dog



Fuente: elwebmaster.com

WordPress: Como crear una sección de “Acerca del autor” en tu blog

Es común encontrar una sección de "Acerca del autor" al final de los artículos de un blog, especialmente en aquellos en los que escriben muchas personas.

Utilizando una mezcla de etiquetas template de WordPress, una sección de información puede convertirse fácilmente en una bonita sección sobre al autor ¿Quieres hacer una?

1

Una sección del autor típica, se muestra debajo de sus posts, por lo que colocaremos nuestro código en el archivo single.php de Wordpress. El objetivo es mostrar el nombre del autor, enlazarlo a su sitio personal, mostrar su foto de perfil y una pequeña biografía.

Ingresar la información del usuario

La mayoría de esta información se inserta en la sección Usuarios del panel de administración WordPress. Crea el usuario y rellena los campos pertinentes. Selecciona la opción adecuada de cómo debe mostrarse el nombre, introduce la dirección web del usuario, y completa la información biográfica.


Ver el link

2009-11-27

Uso DooTranslator para la traducción

DooTranslator salió, apoya "CSV", "gettext", "Array", "ini", por ahora, pronto se llevarán a cabo otros "tipos de archivo". Así, por ejemplo, usted tiene su archivo de traducción con este contenido:

en.svntest;"This is just a test!"

Permite inicializar la clase DooTranslator:$translator = Doo::translator('Csv', $this->_basePath . 'languages/en/LC_MESSAGES/en.csv');echo $translator->translate("test");

Como usted puede ver su muy simple, el primer argumento es el tipo de archivo para la traducción y la segunda es la ruta al archivo, el tercer argumento puede ser opciones de matriz. Para CSV puede configurar opciones como: delimitador, recinto y la longitud. El valor por defecto para delimitador es ";" y para la carcasa es ".

Ahora vamos a añadir algunas opciones a nuestra llamada, digamos que queremos un delimitador de otros entonces "," y queremos añadir algo de almacenamiento en caché.$translator = Doo::translator('Csv', $this->_basePath . 'languages/en/LC_MESSAGES/main.csv', array('cache' => 'apc', 'delimiter' => '|'));

Así que ahora hemos añadido mecanismo de caché que es "APC" y hemos añadido delimitador que es "|", ahora en nuestro en.csv debemos cambiar delimitador:test|"This is just a test!"

De mecanismos de caché compatibles son "APC", "php", "XCache" y "eaccelerator". Ahora vamos a añadir marcadores de posición para traducir método:
$translator->translate("Hello [_1], wellcome to my website!", array("John"));

Esto le mostrará traducida cadena con: "Hola Juan, bienvenido a mi página web!".

Muy bien de eso, si usted tienen alguna pregunta por favor te pido, esto es una simple traducción de su clase aún en fase beta por lo que bugy puede ser poco, probarlo y por favor enviarme comentarios si usted encuentra algunos errores.

2009-11-07

Como crear un Blog con Zend Framework ver.1.9 Tutorial en Ingles

Tutorial en Ingles de como crear un Blog con Zend framework dividido en 4 paginas.
En el sitio tenes un barra superio dende te pregunta si lo queres traducir al castellano.

Link al tutorial:
http://www.harikt.com/content/simple-blog-using-zend-framework-19