2015-11-10

Como utilizar Composer + CakePHP 2.x

Hola para utilizar Composer con CakePHP 2.x tenes que hacer lo siguiente en la consola.

$ cd app/ $ curl -s https://getcomposer.org/installer | php $ php composer.phar require --no-update opauth/opauth:dev-wip/1.0 opauth/twitter:dev-wip/1.0 $ php composer.phar config vendor-dir Vendor $ php composer.phar install

Alternativa
$ curl -s https://getcomposer.org/installer | php -d allow_url_fopen=On
  1. Entramos al directorio de nuestro proyecto
  2. Agrego la librería "opauth" a  modo de prueba
  3. Bajamos Composer si no lo tenemos en la maquina
  4. Configuramos Composer para guarda todo dentro de nuestra carpeta "app/Vendor" 
  5. Instalamos las librerias via Composer después de configurarlos para CakePHP
Entramos a nuestro archivo "app/Config/bootstrap.php" y le agregamos esto al final
App::import('Vendor', array('file' => 'autoload'));

Y para utilizarlos desde un controller como "UsersController.php" solo tenes que hacer
$Opauth = new Opauth\Opauth($config); $data = $Opauth->run();
Esto es un ejemplo con una libreria, pero es valido para cualquier que utilices con Composer dentro de CakePHP.

PD: Como crear un Alias a un ejecutable desde la consolar y permanetes
$ echo 'alias git="/usr/local/cpanel/3rdparty/bin/git"' >> ~/.bashrc && . ~/.bashrc
$ echo 'alias composer="php -d allow_url_fopen=On ~/composer.phar"' >> ~/.bashrc && . ~/.bashrc  


2015-10-26

Hosting que ofrecen de forma gratuita alojamientos de servicios en la nube con NodeJS y mas


image
Parse un lugar donde alojar nuestras aplicaciones en la nube sin necesidad de montar ningun servidor, parse trabaja con las plataformas IOS, OSX, Android, JavaScript, Windows Phone 8, Windows 8, .NET, Xamarin, Unity y REST API. A demás nos ofrecen un servicio de monitorización en tiempo real de nuestras aplicaciones o incluso ejecutar nuestros propios programas en la nube, con Parse podemos crear nuestras redes sociales en cuestión de minutos. Un servicio bastante interesante para comenzar a desarollar ya que su servicio gratuito esta bastante bien.
image
Nitrous.IO nos ofrecen de forma gratuita desplegar una aplicación, con 384Mb de RAM y 750Mb de espacio en disco. Podemos alojar proyectos en: Ruby/Rails, Node.js, Python/Django, GoDispone de un Web IDE bastante completo el cual se puede usar para entornor colaborativos, permite conexión con GitHub. Podemos usar diferentes bases de datos como MongoDB o Mysql o trabajar con memcached entre otras opciones. En lugar a tener en cuenta por su gran diversidad de servicios que ofrecen.
image
Openshift es un proyecto de Red Hat de computación en la nube. Podemos trabajar con diferentes lenguajes como Java, Ruby, PHP, Node.js, Python y Perl, o usar frameworks CakePHP, Django, Ruby/Rails o Tornadoentre otros. Ee cuanto a base de datos podemos usar Mongodb, Mysql o PostgreSQL. Dispone conexión con GitHub y acceso SSH. Es un lugar bastante robusto y con una gran comunidad.
image
Appfog nos ofrece 2Gb de Ram y la posibilidad de instalar 8 servicios de forma gratuita. Nos permite desplegar aplicaciones en Java, Java rails, Java Spring Mysql, Node, Node Express, PHP, Drupal, Django, Python, Ruby/Rails entre otros. Como base de datos podemos usar Mysql, MongoDB, PostgreSQL, RabbitMQ o Redis. A demás nos permite instalad diferentes Addons como por ejemplo SendGrid, MongoHQ, ElephantSQL, Logentries entre un gran listado. También puedes elegir la región donde desplegar tus sitios. Para mi es el lugar mas completo que conozco.
image
En Heroku puedes programar en Ruby, Node.js, Clojure, Java, Python y Scala, podemos trabajar conPostgres, Memcache, Mongo, Redis o Hadoop entre otros servicios, nos ofrecen la posibilidad de instalar multitud de addons,como Cluster Mysql, MongoHQ, Treasure Data Hadoop, MongoLab, Pusher, Spreedplyentre otros. Usa Git para los despliegues y ofrece un servicio para clonar rápidamente nuestras aplicaciones. Otra alternativa a considerar gracias a la cantidad de Addons que nos ofrecen.
image
Cloudno.de es otra de las alternativas que nos permiten tener un plan gratuito, esta pensada para el desarrollo en Node.js y es de las pocas que ofrecen CouchDB, a demás de Redis, nos permite usar WebSockets y usa para desplegar Git. Podemos usar nuestros propios dominios o un subdominio que elijamos cuando creemos nuestra aplicación.
 
 
 
 
 
 
Como veis existen diferentes sitios donde alojar nuestros proyectos, algunos pueden sernos de mayor utilidad que otro dependiendo de nuestras posibilidades, en HispaBigdata usamos AppFog para nuestros proyectos, ya que cubre todas nuestras necesidades. Os dejamos unacomparativa de diferentes sitios con los planes que ofrecen, este esta comparativa es de sitios que ofrecen Node.js, a demás viene un gran listado de otros proveedores para que dispongáis de mas alternativas de las que hemos hablado.

2015-07-28

Como crear tu TAB en tu FANPAGE de FaceBook como un Desarrollador (27-08-2015), sin nada externo y gratis.

Voy a comomentar lo que hay que hacer para poder tener tu TAB dentro de una pagina de FaceBook "FanPage".

Requerimiento:


1 - Tener un usuario en FaceBook

2 - Este usuario tiene que estar activo como desarrollador en LINK

3 - Si tu perfil fue activado como Desarrollador, vas a poder crear una APP, para la red social.


4 - Crear una App y Cargas todo los datos Ejemplo:


5 - Indicas que es de tipo "Page Tab"

6 - Le agregas los premisos en "App Center Permissions" para que pueda ser instalada como TAB.



7 - Activar la APP al publico, con un click en YES y tiene que quedar en VERDE.



8 - Tener una FanPage creada donde vas a instalar el TAB que estas creando.

9 - Estando logiado con la FanPage, generar este link

https://www.facebook.com/dialog/pagetab?app_id=499999999999999&redirect_uri=https://URL-DE-DESTINO-QUE-ESTA-DENTRO-DE-LA-APP/

Detalles:
  1. 499999999999999 tiene que ser el codigo "APP ID" que tedio FB.
  2. https://URL-DE-DESTINO-QUE-ESTA-DENTRO-DE-LA-APP/ tiene que ser la misma URL que cargaste dentro de la APP, como pagina de destino del TAB, cuando creaste tu APP. Si es distinto vas a tener un mensaje de error de parte de FB.
10 - Con la URL generada correctamente la pegas en una ventana nueva y vas a tener que ver algo como esto, si esta todo Ok.


Ahh también en lugar de generar una URL como la del paso 10, se puede hacer por POST, como lo muestra la documentación de FB, en este link.
https://developers.facebook.com/docs/graph-api/reference/v2.4/page/tabs


Listo eso es todo, para tener tu TAB dentro de tu FanPage.

Saludos y compartilo si te fue útil.




2015-07-14

Diferencia entre las carpetas "/Plugins" vs "/app/Plugin" en CakePHP

La diferencia que hay entre las carpetas "/Plugins" vs "/app/Plugin" son.

/Plugins: Se utilizar para guarda de manera central todos los plugins que utilizan todo los sitios que están utilizando esa versión de CakePHP. Ya que dentro de un sitio podemos tenes una versión de CakePHP para muchos sitio con ejemplo /app, /app2 /app3 /etc.. y todos esto utilizarían este Plugin.

/app/Plugin:
Pero si queremos tener un Plugin puntual para nuestro /app, podemos sobre escribir la carga poniendo un versión distinta dentro de la carpeta "/app/Plugin" ya que CakePHP primero busca si existe dentro de "/app/Plugin" y si no existe sube al nivel superior y lo busca en "/Plugins" si tampoco lo encuentra en este lugar, da error ya que no se puede cargar el plugin.

Conclusión para sitio complejo, que esta dividido en múltiples módulos "/app, /app2, /app3, etc.." lo recomendable es ponerlo en un "/Plugins" si solo tenes un sitio donde no vas a tener múltiples modulos "app", lo podes poner donde mas te gustes, no hay diferencia.

2015-07-10

Como activar PHPStorm 8 o superior para que corrar en 64Bit con Java de 64Bit

Para poder ejecutar PHPStorm en 64Bit tenes que tener configurado el path "JAVA_HOME" en mi caso es "C:\Program Files\Java\jre1.8.0_45"

Print: http://s25.postimg.org/t37yy8bqn/Print_de_pantalla_634.jpg

Y cambiar el path del acceso directo de PHPStorm por "PhpStorm64.exe" como se ve abajo en la imagen.

Print: http://s25.postimg.org/j76vyl5yn/Print_de_pantalla_635.jpg

Listo eso es todo para que corra en 64bit con nuestro Java de 64Bit.

2015-07-09

Como genera un diccionario en español para PHPStorm con Aspell desde Ubuntu

Hola acá dejo los comando para poder generar una diccionarios para poner dentro del programa PHPStorm.

Desde nuestro terminal en Ubuntu
Pornesmo


// Instalamos el Aspell + las fuentes en Español si no esta en la PC.
sudo apt-get install aspell aspell-es

// Genera un archivo UTF-8 con todas las palabra:
aspell --lang=es --encoding=utf-8 dump master | aspell --lang=es --encoding=utf-8 expand | tr [:space:] '\n' > spanish-utf8.dic
Listo con el archivo "spanish-utf8.dic" que se genero, lo podemos vincular dentro del programa para que soporte castellano y no marque errores cuando no los hay.

Saludos

2015-06-05

Como Activar el AutoCompletar en PHPStorm 8 para CakePHP 2 y 3


Para activar el AutoCompletar en  CakePHP 2.x o 3.x  para las vistas "*.ctp" hay que agregar la siguiente linea.

CakePHP 2.x

    <?php /** @var View $this */ ?>

CakePHP 3.x

    <?php /** @var \Cake\View\View $this */ ?>

Print CakePHP 3.x: http://s25.postimg.org/ovkjbgtbj/Print_de_pantalla_579.jpg

En cosa de tener otro Helper personalizado si no lo muestra hay que agregarlo de manera similar pero en lugar de ser $this tendría que ser $nombreDeMiHelper

Saludos

2015-05-22

Cambiar el tamaño de los discos virtuales *.vdi de una maquina VirtualBox en minutos y con 2 click, muy simple.

Hola gente hoy le dejo una herramienta que no ayuda a redimencionar de manera simple con dos click un disco virtual con extension *.vdi de la maquina VirtualBox y a redimencionar las partición desde el mismo programa.

El programa se llama CloneVDI Versión 2.05 y solo pesa unos 260Kb.


  1. Los paso a seguir son ejecutar el programa
  2. Buscar el disco virtual *.vdi siempre con las maquina apagada por completo, nunca con el estado de se maquina congelada, o en Pausa. 
  3. Le poner un nombre al archivo de destino, le cambias el tamaño "Increase virtual drive size to" y le tildas la opción reampliar partición "Increase partition size"
  4. Listo le da click en procesar y esperasa.
  5. Después va a tu maquina virtual y le cambiar el disco por el nuevo que se genero y si todo esta ok eliminar el disco viejo.
Print con un ejemplo:
Donde creo un disco de 25Gb a 35Gb y expando la partición



NOTA: Es no es valido para maquinas con "Instancias" o "SnapShot" de la maquina virtual porque lo que haces en es momento es crear varios discos. Para esos caso lo mejor es hacer un clon de la maquina virtual, eliminar todas las instancias para quedarte solo con la que te interesa de esa manera VirtualBox haces un Merge de todos los "SnapShot" y te genera un solo disco virtual (*.vdi) de nuevo. Cuando ya tenes solo ese disco, podes hacer los pasos anteriores con CloneVDI


2015-04-14

Como crear una pagina Web o Documento y restringir por Tags para que "Google Translator" traduzcas ese texto.



Acá dejo unos tags HTML para bloquear la traducción de una pagina entera o texto parcial dentro de una sitio web o documento.

Es muy útil para hacer documentación; por ejemplo que traduzca los textos explicativos y los comentario del código, pero nunca modifique el código del ejemplo.

Esto es para texto puntuales dentro del sitio:

Send us feedback at <span class="notranslate"><?php echo 'Hello PHP' ?></span>.

Esto es para bloquiar todo la pagina:
<head>
<meta name="google" value="notranslate" />

<head>

2015-02-11

Ayuda Memoria de los comando por teclado de PHPStorm 8

En esta post le dejo la version en Español de PDF con todo los comendos por teclado para trabajar con la IDE PHPStorm 8 para Windows, Linux y Mac. Traducios al Español.
Espero que le sea tan util como a mi. Comporta el Post o el link al PDF.

Link: PhpStorm_ReferenceCard_Es_AR.pdf

Link al Codigo Fuente LibreOfice Draw *.odg

Fuente del repositorio: LINK