Cómo instalar LAMP en Ubuntu

Instalar LAMP (Linux Apache MySQL PHP) en Ubuntu.
El procedimiento se divide en tres partes: Instalar y probar Apache, instalar y probar PHP y finalmente instalar el gestor de base de datos MySQL.

Apache

Instalación
En un terminal, ingresá:

sudo apt-get install apache2

Inicio Manual:

sudo service apache2 start
Para detener el servicio:
sudo service apache2 stop
Y para reiniciarlo
sudo service apache2 restart

El directorio donde tenés que almacenar tus sitios web es: /var/www

Dar a tu usuario los privilegios necesarios para crear archivos y carpetas.

sudo chown root:root -R /var/www/
sudo chmod 777 -R /var/www/ 


Prueba
Ingresá http://localhost en tu explorador web. Deberías ver una página de Apache.

PHP

Instalación
En un terminal, ingresá el siguiente comando:

sudo apt-get install php5 libapache2-mod-php5 php5-cli php5-mysql

Reiniciá Apache con:
sudo service apache2 restart

Prueba
Para probar que se haya instalado correctamente, vamos a crear un script PHP muy simple:
 
sudo gedit /var/www/prueba.php

Ingresá el siguiente contenido y guardá el archivo:
 


Para ejecutar el script, abrí tu explorador web y accedé a la siguiente URL: http://localhost/prueba.php. Deberías ver  una página con información sobre tu instalación de PHP.

MySQL

Instalación
Ingresá el siguiente comando en un terminal:
 
sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Durante el proceso de instalación te va a pedir que asignes la contraseña al usuario root de MySQL.

Prueba
Ingresá lo siguiente en un terminal:
 
sudo service mysql status

Debería devolver algo sobre el estado del proceso mysql.

Para verificar que la contraseña funciona bien:
mysql -uroot -pxxx

Donde xxx es la contraseña que ingresaste durante la instalación de MySQL.

Si querés cambiar la contraseña del root, ejecutá el siguiente comando después de ingresar a MySQL:
 
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yyy');

Sustituyendo yyy por tu nueva contraseña.
phpMyAdmin phpMyAdmin es un administrador gráfico para MySQL muy utilizado por los admins. Para instalarlo ingresá en un terminal:
sudo apt-get install phpmyadmin
Para acceder a él accedé a la siguiente URL desde tu explorador web: http://localhost/phpmyadmin
No olvides presionar la barra espaciadora en la pantalla de configuración para seleccionar a Apache2 como el servidor web que deseamos configurar automáticamente.

Si no puedes acceder al phpmyadmin, intentá crear un enlace simbólico en la carpeta www, así:
sudo ln -s /usr/share/phpmyadmin /var/www/

gd library

Si querés agregar soporte para la generación y manipulación de gráficos en PHP, escribí en un terminal:
 
sudo apt-get install php5-gd

SSL en Apache 2

Para activar el módulo SSL (Secure Socket Layer) en Apache 2, ingresa en un terminal:
 
sudo a2enmod ssl

Para ver los cambios, no olvides reiniciar Apache2 con:
 
sudo /etc/init.d/apache2 restart
 
FUENTE:http://blog.desdelinux.net/como-instalar-lamp-en-ubuntu/

Clase de PHP para abrir archivos de Excel


http://phpexcel.codeplex.com/
https://github.com/PHPOffice/PHPExcel

Ejemplos:
http://phpexcel.codeplex.com/wikipage?title=Examples&referringTitle=Home

De PHP a PDF con TCPDF

TCPDF es una clase de software libre PHP para generar documentos PDF. Es uno de los proyectos Open Source más activos del mundo, que se utiliza a diario por millones de usuarios y se incluyen en miles de CMS y aplicaciones Web, como por ejemplo Prestashop que genera las facturas utilizando esta potente librería.
Destaca por su facilidad de uso y la gran potencialidad que tiene a la hora de construir archivos PDFs con HTML.

Características principales

  • No se necesitan bibliotecas externas para las funciones básicas;
  • Soporte para Páginas en Formato ISO
  • Soporte de UTF-8 Unicode y RTL idiomas
  • Interpretación de HTML
  • Método para la creación de código de barras
  • Soporte de Fuentes TrueTypeUnicode, TrueType y Type1
  • Soporta Configuración de Páginas
  • Incluye Métodos para la creación de cabeceras y pies para las páginas
  • Quiebre de Hoja Automático
  • Número de Hojas Automático
  • Quiebre de Línea y Justificación Automática
  • Soporte de Imágenes
  • Soporta Colores
  • Soporta Enlaces Web
  • Soporte de Compresión de Páginas
  • Apoya el documento cifrado
  • Incluye gráficos y métodos de transformación
  • Incluye los favoritos
  • Incluye JavaScript y las formas de apoyo
Ver ejemplos
Visitar página oficial
Descargar librería

 Fuente: http://www.jose-aguilar.com/blog/tcpdf/

DISEÑO EDITORIAL

Dentro del diseño editorial encontramos ahora las publicaciones electronicas (Ebooks) con sus numerosas ventajas. Los archivos más populares son los PDF y los EPub.

Las herramientas para editar y crear estos archivos son variadas entre las que encontramos:

Adobe InDesign
Scribus
Sigil

SIGIL es un software libre editor de ePub
https://code.google.com/p/sigil/


Framework: CakePHP - Scaffoling (CRUD)


CakePHP tiene una característica interesante que realmente ayuda, se llama "scaffolding" (andamios).
La documentación de Cake deja muy claro que los scaffolding no es una solución de producción, es sólo una forma rápida para hacer algunos prototipos.Una vez que tenga su prototipo, debería ser capaz de poder intercambiar el scaffolding con su propio código, los códigos tendrán prioridad sobre los andamios.

El scaffolding es manera de construir rápidamente una aplicación básica que puede "crear", "leer", "actualizar" y "borrar" (o CRUD) objetos, con sólo unas simples líneas de código de Cake.

Todo lo que necesitamos hacer es configurar su tabla de base de datos, el modelo y el controlador, y eso es todo, puede navegar por la base de datos, añadir nuevas entradas, eliminar, actualizar, etc.

Todas las funciones básicas CRUD que necesita.

Ejemplo:

Crear la tabla 'autores' de base de datos.

Lo primero que debemos hacer es crear una tabla llamada 'autores' con un identificador de clave principal y un campo de nombre, e insertar una fila de muestra.

CREATE TABLE `authors` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
);
INSERT INTO `authors` (`id` ,`name` ) VALUES ( NULL , 'Andres Yaz');

El id debe existir y ser clave primaria.

Crear un Modelo ‘Author’

A continuación, deberíamos crear nuestro modeloubicado en /app/models/author.php con algo así:


class Author extends AppModel
{
    var $name = 'Author';
}
?>

El modelo siempre tiene el nombre de la tabla.

Crear el controlador con scaffolding

Ahora, podemos seguir adelante para crear el controlador ubicado en /app/controllers/authors_controller.php.
Observar que se respete que elnombre de archivo en el nombre del modelo en plural

Este controlador sólo contendrá una línea dentro de la clase AuthorsController:

class AuthorsController extends AppController
{
    var $scaffold;
}   
?>

Scaffolding en funcionamiento

Acceder a la URL http://localhost/autores, para verlo.
Se representa una tabla con una entrada - Andres Yaz.




Elije cual de las GUI Toolkit es mejor para tus proyectos


En este sitio completando el formulario te recomiendan que GUI Toolkit es mejor para tu proyecto.
www.awaretek.com/toolkits.html

Glade - Diseñador de Interface de Usuario

Glade es una herramienta RAD para permitir el desarrollo rápido y fácil de interfaces de usuario para GTK + y el entorno de escritorio GNOME.

Las interfaces de usuario diseñadas en Glade se guardan como XML, y utilizando el GtkBuilder GTK + OBJETO estas se pueden cargar por las aplicaciones dinámicamente según sea necesario.

Mediante el uso de GtkBuilder, archivos XML Glade se pueden utilizar en numerosos lenguajes de programación, incluyendo C, C ++, C #, Vala, Java, Perl, Python, y otros.

Glade es un software libre publicado bajo la licencia GNU GPL

 Descargas para Windows

Redondear números en PHP



Round

Por la función round() debemos pasar de forma obligatoria un dato del tipo float que será el número que queremos redondear: round(número a redondear). Después de forma opcional tenemos 2 datos: uno del tipo int que será el que indique cuantos lugares antes o después de la coma queremos tener y el otro dato podremos elegir entre 4 constantes predefinidas. round(número a redondear, precisión, modo).
Cuando pasamos un número decimal por la función round(), por defecto nos lo redondeará al número entero más cercano.
echo round(5.4); // El resultado será 5
echo round(5.54); // El resultado será 6
Si añadimos el segundo parámetro podremos cambiar la cantidad de dígitos con la que se muestra el número.
echo round(4.589, 2); // El resultado será 4.59
echo round(12.121212, 3); // El resultado será 12.121
echo round(24.86238, 1); // El resultado será 24.9
Si utilizamos un número negativo redondeará tantos lugares antes de la coma como lo hayamos indicado.
echo round(526548, -3); // El resultado será 527000
echo round(125685468, -6); // El resultado será 126000000

Ceil

Por ceil() solamente podemos pasar un dato del tipo float que será el número o resultado de una operación matemática que queremos redondear. Ese dato del tipo float será redondeado al siguiente número mayor entero. ceil(número a redondear).
echo ceil(4.226); // El resultado será 5
echo ceil(12.10); // El resultado será 13
echo ceil(24.999); // El resultado será 25

Floor

En el caso de la función floor() también podremos pasar solamente un dato del tipo float (número o resultado de una operación matemática que tenemos que redondear). A diferencia de ceil(), en este caso, el float que pasemos por la función será redondeado al número entero anterior. floor(número a redondear).
echo floor(4.226); // El resultado será 4
echo floor(12.121212); // El resultado será 12
echo floor(24.86238); // El resultado será 24

Programas Grátis para Animación 2D (Open Source / Free)


Programas gratuitos para animación 2D, estos son Open Source por lo que se pueden descargar en forma libre desde sus sitios oficiales.

Inkscape

Es un programa para creación de graficos vectoriales similar a Illustrator o Corel, nos permite crear nuestros personajes o partes de los mismos. Buen espacio de trabajo, facil de usar y rápido de aprender.

Pencil

Software de dibujo y animación 2d. Es multiplataforma, es decir funciona el Windows, Mac o Linux. 

Tupí

Programa de creación de dibujos y animaciones 2D simples.

Scratch  

Herramienta educativa para desarrollar capacidades en programación.

Synfig Studio 

Software avanzado de dibujo y animación 2D, también multiplataforma.

unFREEz 

Utilidad para creación de Gif animados.

Fuente: http://tjfree.com/

Guardar datos desde DataGrid a Archivo CVS con ActionScript 3

Como guardar datos desde un Componente DataGrid en un archivo CVS compatible con Excel.

Objetivo: Dado un componente DataGrid lleno con datos lograr exportarlo en un archivo externo en ActionScript 3. Después de un arduo trabajo de investigación y busqueda en varios sitios web les dejo publicado lo que logré.

En un archivo nuevo AS3, en la escena colocar un componente datagrid llamando aDg y un componente TextInput, en una capa de acciones colocar el siguiente código:

import fl.data.DataProvider;
import flash.events.MouseEvent;
import fl.data.DataProvider;
import fl.controls.DataGrid;
import fl.controls.Button;
import fl.controls.dataGridClasses.DataGridColumn;

//Carga automatica de datos en el DataGrid--------------------------------
 

bldRosterGrid(aDg);
var aRoster:Array = new Array();
aRoster = [
        {Name:"Wilma Carter", Bats:"R", Throws:"R", Year:"So", Home: "Redlands, CA"}, 
        {Name:"Sue Pennypacker", Bats:"L", Throws:"R", Year:"Fr", Home: "Athens, GA"},
        {Name:"Jill Smithfield", Bats:"R", Throws:"L", Year:"Sr", Home: "Spokane, WA"},
        {Name:"Shirley Goth", Bats:"R", Throws:"R", Year:"Sr", Home: "Carson, NV"},
        {Name:"Jennifer Dunbar", Bats:"R", Throws:"R", Year:"Fr", Home: "Seaside, CA"},
        {Name:"Patty Crawford", Bats:"L", Throws:"L", Year:"Jr", Home: "Whittier, CA"},
        {Name:"Angelina Davis", Bats:"R", Throws:"R", Year:"So", Home: "Odessa, TX"},
        {Name:"Maria Santiago", Bats:"L", Throws:"L", Year:"Sr", Home: "Tacoma, WA"},
        {Name:"Debbie Ferguson", Bats:"R", Throws:"R", Year: "Jr", Home: "Bend, OR"},
        {Name:"Karen Bronson", Bats:"R", Throws:"R", Year: "Sr", Home: "Billings, MO"},
        {Name:"Sylvia Munson", Bats:"R", Throws:"R", Year: "Jr", Home: "Pasadena, CA"},
        {Name:"Carla Gomez", Bats:"R", Throws:"L", Year: "Sr", Home: "Corona, CA"},
        {Name:"Betty Kay", Bats:"R", Throws:"R", Year: "Fr", Home: "Palo Alto, CA"},
];
aDg.dataProvider = new DataProvider(aRoster);
aDg.rowCount = aDg.length;

function bldRosterGrid(dg:DataGrid){
    dg.setSize(400, 300);
    dg.columns = ["Name", "Bats", "Throws", "Year", "Home"];
    dg.columns[0].width = 120;
    dg.columns[1].width = 50;
    dg.columns[2].width = 50;
    dg.columns[3].width = 40;
    dg.columns[4].width = 120;
    dg.move(50,50);
};

//------- EXPORTAR LOS DATOS A CSV ----------------------------------------------------------//

function exportCSV(dg:DataGrid):String {
    //var csvSeparator:String="\t";
    var csvSeparator:String=";";
    var lineSeparator:String="\n";
    var data:String = "";
   
    var columns:Array = dg.columns; // columnas del dataGrid
    var columnCount:int = columns.length;
    var column:DataGridColumn;
   
    var header:String = "";
    var headerGenerated:Boolean = false;
    var dataProvider:DataProvider = dg.dataProvider;
   
    var rowCount:int = dataProvider.length; // cantidad de filas
   
    var dp:Object = null;
    var j:int = 0;
   
    //loop through rows
    while (j        var obj:Object = null;
        obj = j;
       
        //loop through all columns for the row
        for (var k:int = 0; k < columnCount; k++) {
            column = columns[k];
            //Exclude column data which is invisible (hidden)
            if (!column.visible) { continue; };
           
            data += "\""+ column.itemToLabel(dg.getItemAt(j))+ "\"";
           
            trace(column.itemToLabel(dg.getItemAt(j))+"—-"+ data);
           
            var menos = columnCount-1 ;
            if (k < menos) {    data += csvSeparator;    };
           
            //generate header of CSV, only if it’s not genereted yet
            if (!headerGenerated) {
                header += "\"" + column.headerText + "\"";
                if (k < menos) { header += csvSeparator;    };
            };
        };
        headerGenerated = true;
        var filamenos = rowCount-1;
        if (j < filamenos) { data += lineSeparator; };
        j++;
        //cursor.moveNext();
   
    }
    //set references to null:
    dataProvider = null;
    columns = null;
    column = null;
    return (header + "\r\n" + data);
};

//exportCSV(aDg); test con el trace de salida
/*
//Test con boton y trace de salida.
saveBtn3.addEventListener(MouseEvent.CLICK, fcEXPORTAR);
function fcEXPORTAR(MouseEvent){ exportCSV(aDg); }
*/

//--------------GUARDA LISTADO ---------------
import flash.net.FileReference;

saveBtn3.addEventListener(MouseEvent.CLICK, writeCSV);
function writeCSV(event:MouseEvent) {
   
    var csv:String = exportCSV(aDg);
    var file:FileReference = new FileReference();
    var bytes:ByteArray = new ByteArray();
    bytes.writeUTFBytes(csv);
    file.save(bytes,'datos.csv');
}

    
DESCARGA DEL ARCHIVO FLA CS5.5

REFERENCIA Y AGRADECIMIENTO A:

http://stackoverflow.com/questions/7316416/writing-to-csv-file-in-as3
http://www.abdulqabiz.com/blog/archives/2007/08/03/datagriddataexporter-export-datagrid-data-as-csv/
http://jasmeetsingh.wordpress.com/tag/datagrid-to-csv/
http://onyxmueller.net/2011/08/15/advanceddatagrid-csv-export-utility-class/

Sistema operativo por defecto en inicio GRUB

Ctrl+Alt+T abre la terminal sudo su password $sudo edit gedit /etc/default/grub GRUB_DEFAULT=0 GRUB_TIMEOUT="10" sudo update-grub2 Cambiar 0 por 4 en mi caso, para el Windows 7.

Cargar datos de archivo .cvs de Excel en Flash con ActionScript 2

Sobre ActionScrip2

Buscando crear una aplicación que cargue datos de archivo .cvs de Excel en Flash con ActionScript 2, encontré lo siguiente: Artículo: load, import, and parse CSV actionscript class Ver Artículo
Archivos para descargar Descargar

Sobre ActionScript3 

Librería csv

Wiki-csv


Trabajando con archivos .cvs con Actionscript 3

Adobe Encore Acceso denegado Error

Este error surge cuando estaba por crear una imagen ISO del proyecto.
Solución: Ejecutar el .exe como Administrador.