miércoles, 30 de septiembre de 2015

Krita, la alternativa, de la alternativa.

Krita, es un software de edición, pintura e ilustración digital distribuido bajo la licencia GNU GLP.

Las característica de Krita son orientadas a la creación de dibujo digital, mas que las funciones de edición de fotográfica, sin embargo soporta funciones de edición de mapa de bits e ilustración vectorial.

La popularidad de Krita va en aumento llegando al punto que el departamento de Arte y Tecnología de la Imagen (ATI) de la Universidad de París sustituyo el uso de Photoshop por el de Krita (https://krita.org/item/goodbye-photoshop-and-hello-krita-at-university-paris-8/)

Lo restante por mencionar seria que le des una oportunidad a Krita y tu decidas si es la alternativa que estabas buscando. 

Descarga Aquí 

martes, 29 de septiembre de 2015

Copiar archivos de pc local a VM en Google Compute Engine

Si tienes una VM en GCE (Google Compute Engine) y necesitas copiar archivos de tu VM a tu pc local o quieres enviar archivos de tu pc local a tu VM hay un comando que te puede  funcionar

Los ejemplos que se mostraran son en PC con Linux a un VM con Linux (Sí, trabajo con Linux...)

PC a VM

gcloud compute copy-files [/archivo/a/copiar] [Nombre de tu VM]:[/directorio/destino] --zone "[la zona donde reside tu VM]"

VM a PC

gcloud compute copy-files [Nombre de tu VM ]:[/archivo/a/copiar] --zone "[la zona donde reside tu VM]" [/directorio/destino]


Importante:

Para hacer la copia de archivos debes de estar "logueado" en gcloud

gcloud auth loggin  

y tener seleccionado el proyecto donde se encuentra tu VM

gcloud config set [projectnombre-de-tú-proyecto] 
 

lunes, 28 de septiembre de 2015

Conectar Google Cloud SQL a un Cliente MySQL



Antes que anda debes de tener una cuenta de Google (gmail) y activar tus 60 días gratis de prueba dentro de:


Con tu cuenta gratis podrás acceder  durante 60 días a casi todos los componente de Google Cloud Platform.(No tendrás acceso a componente premium).


Aquí comienza tu travesía para lograr conectar Cloud SQL en la nube a tu maquina a tú lado.

1.- crea un "Instancia" de Cloud SQL recuerda usar nombres con minúsculas, sin caracteres especiales y separados por ' - ' (no emoticon)

2.-Accede a tu instancia creada para ver las opciones que ofrece CloudSQL

3.-Dentro de "Base de datos" podrás crear tu BD que después podrás manipular con un cliente de MySQL



4.-Ahora en control de acceso crea un usuario el cual podrá acceder desde el cliente. 
5.- Ahora debes autorizar la aplicaciones o IPs las cuales tendrán acceso a tu base de datos. esto es parte de la seguridad de Google  la cual puedes amar u odiar (en mi caso la odie un poquito).

  • Redes permitidas: son rangos de IPs o IPs que sabes que tendrán acceso a tu base de datos para el caso de este ejemplo debes de usar la ip que tienes asignada  para saberla entra a la pagina https://www.whatismyip.com/es/ y así podrás garantizar el acceso de tu cliente local.
 
  • Aplicaciones de App Engine: aquí podrás dar acceso a las aplicación de que tengas hospedadas en App Engine y que deban de utilizar una base de datos

6.- Obtener un IPv4, Cloud SQL otorga por default una IPv6 para poder conectar o manipular la base de datos es mas fácil utilizar un IPv4, lo lamentable es que para obtener un IPv4 Cloud SQL te la otorgara con un costo de 0.01 cents por cada hora que no se use !! para este ejemplo y como tenemos nuestra prueba gratis utilizaremos la IPv4





7.- Ya con usuario y control de accesos es momento de conectar el cliente a la nube, para este ejemplo utilizare el cliente de MySQL Workbench.

8.- Ya instalado Mysql WorkBench procedemos a la conexión llenamos todos los campos necesarios en el cliente para conectarnos y hacemos el teste de conexión



 9.- Hacemos la conexión

10.- Ahora si tendremos  acceso a nuestra base de datos en la nube gracias a Cloud SQL y a Mysql WorkBench

Google SQL Cloud







Google Cloud SQL es un manejador de base de datos MySQL (maɪˌɛskjuːˈɛl/ [mai es-quiu-el]) que recide en la infraestructura de Google Cloud.

Este manejador tiene todas las capacidades de MySQL con algunas funciones adicionales, pero también  con algunas funciones no soportadas, GCSQL es fácil de usar (una vez entendido algunos funcionamientos), no requiere instalaciones de software adicionales y es una excelente opción para para aplicaciones de tamaño bajo a medio.

Se puede acceder a GCSQL a travez de:
  • MySQL Client
  • Aplicaciones de terceros como SQL Workbench o Toad for MySQL 
  • Aplicaciones externas usando  MySQL database drivers 
  • Aplicaciones Engine Java
  • Aplicaciones Engine Pytho
  • Google Apps Script 
 Lo importante que se debe mencionar también es que al ser un servicio de Google genera un costo, de esos costos que son por .00xx centavos pero que a la larga puede llegar a un monto considerable.

Para mas información consulte https://cloud.google.com/sql/docs/introduction


 

jueves, 17 de septiembre de 2015

JAVA StringUtils

En mi trabajo, utilizo java para la cuestión de programación y no conocía la clase de StringUtils la cual me ha ayudado en algunos aspectos básicos del manejo de String (cadenas) en java.

Bueno aquí paso a los ejemplos y uso de StringUtils:


StringUtils.isEmpty()
Esta función booleana checa si la cadena es vacia ("") o nula (null).
 
StringUtils.isEmpty(null)        =   true
StringUtils.isEmpty("")            =  true
StringUtils.isEmpty(" ")           =  false
StringUtils.isEmpty("bob")     =  false
StringUtils.isEmpty("  bob  ") =  false 
 
Esta función tiene su contraparte que es: 
StringUtils.isNotEmpty() 

StringUtils.isNotEmpty(null)         = false

StringUtils.isNotEmpty("")             = false
StringUtils.isNotEmpty(" ")            = true
StringUtils.isNotEmpty("bob")      = true
StringUtils.isNotEmpty("  bob  ")  = true
 
Si es requerido también existe la funcion isBlank la cual da "más " mas precisión al momento de 
revisar si una cadena es vacía o no.
  
StringUtils.isBlank() 
Esta función booleana checa si la cadena es vacia ("")("    ") o nula (null).
 
StringUtils.isBlank(null)         = true
StringUtils.isBlank("")            = true
StringUtils.isBlank(" ")           = true (toma como vacío la cadana sin nada en su interior)
StringUtils.isBlank("bob")     = false
StringUtils.isBlank("  bob  ") = false

Esta función también tiene su contraparte que es: 
StringUtils.isNotBlank() 
 
StringUtils.isNotBlank(null)         = false
StringUtils.isNotBlank("")            = false
StringUtils.isNotBlank(" ")           = false
StringUtils.isNotBlank("bob")     = true
StringUtils.isNotBlank("  bob  ") = true 


Hay muchísimo mas funciones que se pueden utilizar y son muy utiles. aqui les dejo la documentacion
http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringUtils.html