![]() |
| De OxaSeis |
bueno en debian y en general en la mayoria de distros:
1. #/etc/init.d/mysql stop
Renzo Taco Coayla, Tecnologías de la Información, Software Libre, Software Propietario, SGBD.
![]() |
| De OxaSeis |
Etiquetas: bd, Debian, mysql, Programacion, software libre 0 comentarios
Etiquetas: bd, mysql, Open Source, Programacion, software libre 0 comentarios
Me he olvidado de postear ultimamente :(
Bueno como dice el titulo, se me presento un caso algo complicado, imaginense tener 300 usuarios o mas usuarios y en la restauracion de su home directory, perdieron los permisos de propietario tanto de grupo como de usuario, ir cambiando uno a uno esta sentencia:
chown -R usuario.usuario /home/usuario
300 o 1000 veces?? en windows ni idea como hacer eso, pero vaya que en bash es tan simple como esto:
creamos un archivo chgperm.sh
for fichero in $(ls /home/.)
do
echo "cambiando persisos a $fichero"
chown -R $fichero.$fichero /home/$fichero
done
y listo lo ejecutamos y habremos dado como propietario al mismo nombre de la carpeta a todos los existentes en la carpeta.
Etiquetas: Debian, Linux, Programacion 0 comentarios
Google code sin lugar a dudas es un nuevo muy buen amigo, comparto esta lib que me tropece hace poco, he usado ya librerias que manejan libros, encabezados hojas etc. pero esto cuando tu tienes tu servidor, pero que pasa cuando el hosting no permite pear, o no te permite ni shell. entonces necesitas algo mas simple algo donde puedas subir un lib o include y usarlo, pues eso es esta libreria que halle en Google Code que les comparto aqui.
http://code.google.com/p/php-excel/wiki/QuickUsageGuide
para exportar digamos registros de una tabla en mysql a excel, digamos una lista de clientes, nombre, apellidos, etc. o listado de productos ya segun su necesidad es asi de simple.
1. ir al url indicado arriba
2. bajar el archivo class-excel-xml.inc.php (desde http://php-excel.googlecode.com/svn/branches/)
3. crear el codigo aqui un pequeño ejm.
------------phpmysql2excel.php
//codigo de conexion a la bd yo uso una lib tambien y uso solo $db
require (dirname (__FILE__) . "/class-excel-xml.inc.php");
$sql="select * from clientes order by nombres"; //uds especifican su query
$resultado=$db->get_results($sql);
foreach ( $resultado as $reg )
{
// si tu query es exacto los campos necesarios esto bastaria
//$doc[] = $reg;
// si en tu query sobran campos y quieres mandar a excel lo necesario haces esto
$doc[]=array($reg->codigo,$reg->direccion,$reg->nombres);
}
$xls = new Excel_XML;
$xls->addArray ( $doc );
$xls->generateXML ("afiliados");
?>
----------fin phpmysql2excel.php
4. solo grabar o ver en el explorador, esto abrira un cuadro de dialogo donde te permitira grabar, ver o cancelar.
espero les sirva es la forma mas simple y sencilla de generar un archivo excel usando php y mysql.
Etiquetas: Open Source, Programacion, software libre 0 comentarios
Etiquetas: Linux, oracle, Programacion 0 comentarios
Nuestro querido debian tambien ya incorpora symfony, y de la manera mas facil como nos tiene acostumbrado debian.
1.- añadir en /etc/apt/sources.list
deb http://www.symfony-project.org/get debian/
grabar y luego:
2.- apt-get update
3.- apt-get install php5-symfony
y listo instaladito y listo para usar, lo unico malo que en la version unstable, tenemos la version 1.0, pero de todas maneras si quieren estar actuales, ya saben ir a :
http://www.symfony-project.org/installation/1_1
Etiquetas: Debian, Linux, Programacion 0 comentarios
un buena noticia ha llegado al mundo de los frameworks, especificamente a symfony! sin duda ya habiamos pasado los pininos en postgresql, y el ya acostumbrado mysql y mysql innodb, ahora bien oracle tambien ya esta dentro de ORM de symfony.
leer aqui todo los pasos como usar oracle con symfony.
y leer aqui todo sobre symfony
Etiquetas: Linux, oracle, Programacion 0 comentarios
Siempre me preguntan porque cakephp, y creo que esto lo confirma una vez mas, aunque fui tentado por Symfony!! lamento haber ya avanzado por cakephp! pero ahi estamos bien!!.
Este articulo me parece bueno y detalladado, lo extraje de aqui, para lectura y aclaración de las dudas (soy malo explicando) .
CakePHP
CakePHP [http://www.cakephp.org/ ] es un framework de desarrollo rápido de aplicaciones de código abierto en PHP. Inspirado en Rails, un framework para la construcción de sitios web que utilizan una base de datos como fuente de recursos, posee una infraestructura que tiene como finalidad permitir el desarrollo de aplicaciones web de manera ágil y estructurada, sin perder flexibilidad.
Entre las características más destacables de CakePHP se incluyen:
- Arquitectura basada en el patrón Modelo Vista Controlador (MVC) y orientada a objetos: define clases modelo, vista y controlador con funcionalidades básicas y de las cuales heredan todas las clases que se ajustan a este patrón y que son usadas en la aplicación construida con el framework.
- Una comunidad activa de usuarios: creada tras la publicación del framework en 2005 y que ha contribuido a mejorar el framework (a través de subproyectos específicos en CakeForge.Org) y difundir su uso.
- Licencia flexible: es distribuido bajo la licencia X11, más conocida entre los desarrolladores de software como MIT License.
- Compatible con PHP4 y PHP5: aunque en PHP4 se requiere especificar algunos parámetros de configuración adicionales en las clases a implementar.
- Operaciones básicas en base de datos (Creación, Obtención, Actualización y Borrado): estas operaciones están integradas para interacción con la base de datos y la simplificación de consultas.
- Estructura de aplicaciones (Application Scaffolding): permite al programador hacer uso de un conjunto de convenciones aplicables a la estructura de la base de datos de la aplicación y el framework se encarga de generar el código para la interacción a lo largo de todas las capas de la aplicación.
- Despachador de peticiones: permite acceder a la aplicación a través de URLs amigables y configurables.
- Incorporación de validaciones a lo largo del framework.
- Generación de plantillas de manera rápida y flexible: usando la sintaxis de PHP y con asistentes o helpers.
- Incorporación de asistentes de construcción de vistas: para la automatización de la generación de código en AJAX (Asynchronous JavaScript and XML), JavaScript, formularios HTML, entre otros.
- Componentes de seguridad, manejo de sesiones y de peticiones: que reúnen las mejoras prácticas estandarizadas por la industria del software.
- Listas de control de acceso flexibles: para gestionar el ingreso de usuarios a la aplicación construida con el framework.
- Verificación de ingreso de datos permitidos (Data Sanitization): permite determinar qué datos pueden ser ingresados y darle el formato adecuado a aquellos que no cumplen las reglas de validación.
- Almacenamiento en caché de las vistas: para acelerar la descarga de las páginas web.
- Trabaja en cualquier subdirectorio de un servidor web: requiere poca o nula configuración del servidor Apache donde se instalará.
El framework surge como un proyecto personal de Michal Tatarynowicz y a agosto de 2007 existe una versión estable (1.1.16.5612) y una versión de desarrollo (1.2.0.5427alpha).
Symfony
Symfony [http://www.symfony-project.com/ ] es un framework diseñado para optimizar el desarrollo de aplicaciones web a través de diversas características clave. Separa las reglas de negocio de la aplicación, la lógica del servidor y las vistas de presentación. Contiene una gran variedad de herramientas y clases para conseguir acortar el tiempo de desarrollo de aplicaciones web complejas. Adicionalmente, automatiza tareas comunes para que el programador pueda enfocarse por completo en las especificaciones.
Entre las características generales del framework podemos citar:
- Fácil de instalar y configurar: ha sido probado con éxito en plataformas Windows y derivadas de Unix.
- Independiente del manejador de base de datos: utiliza Propel, una capa de abstracción que le permite interactuar con varias bases de datos.
- Simple de usar: y al mismo tiempo lo suficientemente flexible para adaptarse a escenarios complejos.
- Basado en la premisa de "convención sobre configuración": el desarrollador sólo necesita configurar aquellos aspectos sobre los cuales no hay una tendencia definida.
- Cumple con la mayoría de las mejores prácticas en diseño web y patrones de diseño.
- Utilizable en entornos empresariales: puede adaptarse a políticas y arquitecturas ya existentes en tecnologías de información, y es lo suficientemente estable para proyectos de largo plazo.
- Código legible: con comentarios en phpDocumentor para su fácil mantenimiento.
- Fácil de extender: permitiendo la integración con otras librerías.
- Incorpora herramientas que facilitan la prueba y depuración de aplicaciones: como unidades de generación de código, pruebas del funcionamiento del framework, panel de depuración, interfaz por línea de comandos y configuración en tiempo real.
Adicionalmente, pueden señalarse otro grupo de características que permiten la automatización de ciertas tareas relacionadas con la construcción de aplicaciones web, como las siguientes:
- Incorpora una capa de internacionalización: que posibilita la traducción de datos e interfaces, así como la localización de contenido en función de la ubicación geográfica del usuario.
- Uso de plantillas: las cuales pueden ser elaboradas por diseñadores de páginas web que desconocen el resto de detalles técnicos del framework.
- Asistentes de vistas: que reducen la cantidad de código de presentación al escribir grandes bloques de código con simples llamadas a funciones.
- Validación y regeneración automática de formularios: lo que asegura una buena calidad de los datos en la base de datos y una mejor experiencia de usuario.
- Verificación de la salida enviada por la aplicación: que ofrece una protección frente a ataques por datos corruptos.
- Manejo de memoria caché: lo cual reduce el uso del ancho de banda y la carga en servidor.
- Mecanismos de autentificación y credenciales: que facilitan la creación de secciones restringidas y la gestión de seguridad de usuarios.
- URLs inteligentes: que permiten que las direcciones de las páginas web sean parte de la interfaz y resulten amigables a los motores de búsqueda.
- Una gestión de listas más amigables al usuario: gracias a la paginación automática, ordenamiento y filtrado de resultados.
- Las interacciones usando AJAX son fáciles de implementar gracias a los asistentes de una sola línea de código que encapsulan efectos en JavaScript compatibles con varios navegadores.
Symfony, al igual que CakePHP, se originó a partir de un proyecto personal. Su primer desarrollador fue Fabien Potencier y la primera versión fue publicada en el año 2005. A agosto de 2007 existe una versión estable (1.0.6), aunque ya se comenzó a recibir sugerencias para la versión 2.0.
Zend Framework
Zend Framework [http://framework.zend.com/ ] destaca el hecho de que no sólo busca facilitar la programación a través del patrón MVC, sino también automatizar tareas más específicas, como el acceso a base de datos, el filtrado de datos ingresados a la aplicación o la búsqueda en un sitio web ordenando resultados por relevancia.
Entre sus metas se encuentran:
- Proveer un repositorio de componentes de alta calidad y que cuenten con soporte activo.
- Proveer un sistema completo para el desarrollo de aplicaciones web elaboradas en PHP5.
- Facilitar el aprendizaje en el uso del framework sin tener que aprender un nuevo lenguaje de programación.
- Organizar la colaboración de la comunidad para una programación avanzada en PHP5.
Los componentes con los que cuenta este framework pueden ser agrupados en las siguientes categorías:
- Infraestructura del núcleo del framework: componentes requeridos por otros bloques del framework, como memoria caché, configuración del ambiente de trabajo, operación por línea de comandos, registro de actividades y gestión de memoria, entre otros.
- Autentificación y autorización de acceso: responsables de la configuración de listas de control de acceso, autentificación de usuarios y manejo de sesiones.
- Base de datos: clases de acceso, modificación de tablas, obtención de datos mediante consultas SQL y lectura en formato XML.
- Internacionalización y Localización: para configurar la fecha y hora, la ubicación geográfica que tomará como base la aplicación web, las unidades de medida a usar y la posibilidad de traducir la información a otros idiomas.
- Emails, formatos y búsquedas: generación de archivos PDF, mensajes de correo electrónico en formato de texto y MIME (Multi-Purpose Internet Mail Extensions, Extensiones de correo Internet multipropósito)
- Modelo-Vista-Controlador: centra su atención en el desarrollo de controladores genéricos y específicos: de acciones, de atención de peticiones, de generación de URLs; además de una clase para las vistas.
- Web y Servicios Web: permite que la aplicación web pueda hacer uso de servicios web ofrecidos por aplicaciones externas y exponga servicios web propios.
- Documentación: intenta facilitar la lectura del código fuente, brindar ejemplos de su uso, promover equipos de traducción de la documentación y elaborar un tutorial del desarrollo de una aplicación web.
Zend Framework, a diferencia de los otros entornos de desarrollo presentados previamente, es un intento dirigido por la compañía responsable del desarrollo del lenguaje PHP, Zend Technologies Ltd, y mantenido por una comunidad de voluntarios. A pesar de ello, a la fecha aún no consigue niveles de eficacia y adopción similares a los frameworks en PHP ya existentes. A agosto de 2007 su última versión recibe la denominación de Zend Framework 1.0.1 y se espera el lanzamiento de la versión 1.1.0 en septiembre del mismo año.
Cuadro Comparativo de frameworks en PHP
| Características | Cake PHP | Symfony | Zend FW |
| Arquitectura de aplicaciones |
|
|
|
| Incorporación del patrón Modelo Vista Controlador orientado a objetos. | X | X | X |
| Operaciones CRUD (Create, Retrieve, Update y Delete) asociadas a patrón Active Record. | X | X | |
| Mapeado de objetos a bases de datos relacionales (ORM). | X | X |
|
| Independiente del manejador de base de datos. | X | X | X |
| Estructura por defecto para aplicaciones (scaffolding). | X | X |
|
| Archivos de configuración de la aplicación. | .php | .yml* | .php |
| Acceso vía web |
|
|
|
| Despachador de peticiones HTTP. | X | X | X |
| Generación de URLs amigables. | X | X | X |
| Implementación de código HTML |
|
|
|
| Uso de plantillas en PHP. | X | X | X |
| Posibilidad de uso de plantillas en Smarty. | X | X |
|
| Implementación de ayudantes de plantillas (helpers). | X | X |
|
| Seguridad |
|
|
|
| Manejo propio de sesiones por usuarios. | X | X | X |
| Manejo de privilegios de acceso a secciones de la aplicación (Access Control List). | X |
| X |
| Verificación de la salida generada en HTML por procesamiento de peticiones (Data Sanitization). | X | X |
|
| Usabilidad y acceso rápido |
|
|
|
| Almacenamiento en caché de las vistas. | X | X | |
| Almacenamiento en caché de configuración de las aplicaciones. |
| X | |
| Documentación para su uso |
|
|
|
| Manual de referencia. | X | X | X |
| Documentación de la Interfaz de Programación de Aplicaciones (API). | X | X | X |
| Herramientas de programación |
|
|
|
| Generación de código PHP. | X | X |
|
| Herramientas de prueba y depuración. |
| X | X |
| Interfaz de línea de comandos para la creación y mantenimiento de aplicaciones. | X | X |
|
| Almacenamiento de logs de funcionamiento del framework. |
| X | |
| Extensibilidad y opciones adicionales |
|
|
|
| Integración con otras herramientas a través de plugins. | X | X | |
| Implementación propia de llamadas Asyncronous JavaScript and XML (AJAX) | X | X | |
| Soporte para Web Services. |
|
| X |
| Soporte para envío de correo electrónico. |
| X | X |
| Generación de contenido sindicalizado (RSS). |
| X | X |
| Generación de archivos PDF. | X | X | X |
| Soporte para internacionalización y localización de contenidos. |
| X | X |
| Soporte PHP |
|
|
|
| Soporte para PHP4. | X |
|
|
| Soporte para PHP5. | X | X | X |
| Características adicionales |
|
|
|
| Licencias libres. | X11 | X11 | BSD |
| Comunidad activa de usuarios. | X | X | X |
* YAML: YAML Ain't Markup Language, formato de archivos similar a XML, pero más intituito y legible.
Literatura de Referencia
[AND2006] ANDERSON, John y Larry E MASTERS. CakePHP: A Rapid Development Framework. CakePHP Programmer's Reference Guide . Cake Software Foundation Inc. En: CakeForge.
[CHA2006] CHASE, Nicholas. Understanding the Zend Framework, Part 1: The basics . En: developerWorks: IBM's resource for developers (27 Jun 2006).
[POT2007] POTENCIER, Fabien y François ZANINOTTO. The Definitive Guide to symfony . Apress, 2007. ISBN: 1590597869. Traducción al español disponible en http://www.librosweb.es/symfony/ .
[ZEN2006] ZEND TECHNOLOGIES. Why Zend Framework? . En: Zend Framework: Roadmap.
[ALA2007] ALAMOS, Roberto. Top 13 reasons to use a web framework and never look back. En: CoderBattery: Enpowering Developers.
Actualización
En IBM developerWorks se ha iniciado una serie de cinco artículos sobre frameworks en PHP enfocada en Zend Framework, Symfony y CakePHP:
IBM developerWorks
PHP Frameworks, Part 1
Etiquetas: Programacion 1 comentarios
suele pasar que uno tiene su bd mysql y quiere usar vfp para desarrollo de aplicaciones, pues esta paginita es bien util, para tener las cadenas de conexion:
Etiquetas: Programacion 0 comentarios
RENZO TACO COAYLA | OXASEIS@GMAIL.COM | 51-52-9879721