Configuración óptima Eclipse Mars

Una vez realizado una serie de pruebas y testeos, he comprobado que la siguiente configuracion del fichero eclipse.ini , mejora el tiempo de arranque y ejecución considerablemente asi que la comparto:

#poner vuestra ruta al JDK de Java

-vm
C:/Java/jdk1.7.0_51/jre/bin/server/jvm.dll
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
–launcher.defaultAction
openFile
–launcher.XXMaxPermSize
400M
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
400m
–launcher.defaultAction
openFile
–launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms512m
-Xmx1024m
-XX:NewSize=16m
-XX:PermSize=128m
-XX:MaxPermHeapExpansion=20m
-server
-XX:+UseParallelGC
-Xverify:none

Obviamente, depende del equipo que estemos utilizando, en este caso un equipo de ultima generación de sobremesa, con 8GB de RAM, tarda en arrancar unos 3 segundos.

Convertir MySQL en Oracle

En mi ánimo de intentar utilizar codigo y scripts inicialmente diseñados en MySQL, me he hecho la pregunta de si hay una correspondencia de tipos, objetos y comandos entre MySQL y Oracle. Si bien no he encontrado una herramienta oficial de Oracle para hacerlo, parece ser que hay una correspondencia de muchas palabras reservadas.

He aquí una tabla de las conversiones mas frecuentes:

MySQL

Oracle

BIGINT
NUMBER(19)

BINARY(n)
RAW(n)

BIT(n)
RAW(n/8)

BLOB(n)
BLOB

BOOLEAN, BOOL
CHAR(1)

CHARACTER VARYING(n)
VARCHAR2(n)

DATE
DATE

DATETIME(p)
TIMESTAMP(p)

DECIMAL(p,s), DEC(p,s)
NUMBER(p,s)

DOUBLE [PRECISION]
BINARY_DOUBLE

FLOAT
BINARY_DOUBLE

INT, INTEGER
NUMBER(10)

LONGBLOB
BLOB

LONGTEXT
CLOB

NUMERIC(p,s)
NUMBER(p,s)

REAL
BINARY_DOUBLE

SMALLINT
NUMBER(5)

TEXT
CLOB

TIME(p)
TIMESTAMP(p)

TIMESTAMP(p)
TIMESTAMP(p)

VARCHAR(n)
VARCHAR2(n)

¿Existe algún software que convierta todo esto?

Sí, existe uno, se llama SQLline (link is external), que viene una versión Trial, y versiones de pago desde 195$ hasta 2.995$ en la fecha de creación de este post. No obstante, tiene un conversor online gratis entre diferentes tipos de bases de datos: http://www.sqlines.com/online (link is external)

Las posibilidades de conversión son:

  • IBM DB2 a Oracle
  • Informix a Oracle
  • PostgreSQL a Oracle
  • MySQL a Oracle
  • Sybase ASE a Oracle
  • Sybase ASA a Oracle
  • SQL Server a Oracle
  • Teradata a Oracle

¿Por qué migrar a Oracle?

Porque ofrece un rendimiento, es multiplataforma, soporte, eficiencia muy dificil de superar

¿Qué otras opciones existen para migrar a Oracle?

En la web de Oracle (link is external), existe un documento en el que explica que la conocida aplicacion SQL Developer, que todo desarrollador debe conocer, ofrece una utilidad de migración a oracle desde MS SQL Server, IBM DB2, MS Access, Sybase, Teradata, Informix y MySQL.

Consumir servicios RESTful con AngularJs

Despues de investigar un poco como consumir este tipo de servicios que estan imponiendose a otras implementaciones, dejo unos enlaces interesantes sobre el consumo de los mismos:

403 Forbidden al Logarse con Basic Auth en Drupal, módulo restw_basic_auth

Si estáis probando la autenticación con servicios REST de Drupal 7 (link is external),  quizás os habéis encontrado con dificultades a la hora de probarlo. Lo primero que recomiendo es hacer una prueba con un cliente REST para ver si funciona.

Cosas que se debe tener en cuenta:

  1. Habéis creado un usuario con el prefijo que indica el módulo «restwsnombrequesequiera».
  2. Estáis haciendo la prueba contra la URL http://tudrupal.com/restws/session/token (link is external).
  3. No teneis instalado módulos de CAPTCHA o similares.

Si todo va bien devuelve un token de respuesta, el cual hay que añadir a cualquier petición al servicio:

X-CSRF-Token: EvCdeRfltYd_ELTOKENDEVUELTOENLAPETICIONANTERIOR_CvDD5YqhPZaT4

Mas información: https://www.drupal.org/node/1913358 (link is external)

Configuración óptima para eclipse.ini con jdk 1.8

Esta es la configuración que me da un mejor rendimiento en el eclipse.ini:

#sin pantalla de inicio

-nosplash
–launcher.defaultAction
openFile
-vm

#ruta a nuestra JAVA JRE
#C:\Program Files\Java\jdk1.7.0_51\jre\bin\server\jvm.dll
C:\Program Files\Java\jdk1.8.0_45\jre\bin\server\jvm.dll
#Windows
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.jee.product
–launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8

#GESTION DE MEMORIA
-Xms128m
-Xmx400m
-XX:NewSize=16m
-XX:PermSize=128m
-XX:MaxPermSize=400m
-XX:MaxPermHeapExpansion=20m

Bajo mi experiencia y las pruebas que he hecho, aumentar la cantidad de memoria, mejora el rendimiento, a veces al contrario.

Como adaptar tu web a dispositivos móviles con Bootstrap y Less

Cada vez mas se hace necesario tener una web, tanto adaptada como para tablets, como para móviles, como para ordenadores personales. Sin embargo, cada uno de ellos tienen unos modos de funcionamiento muy diferentes: diferentes tamaños, diferentes sistemas operativos, y diferentes navegadores. Pues bien, existe un framework muy interesante, Bootstrap, que maneja HTML, CSS, y Javascript, que tiene infinidad de componentes, iconos y formatos para hacer una web atractiva y que cumpla con principios de usabilidad.

¿Qué componentes se pueden utilizar? Principalmente se pueden usar temas o skins por defecto, crear rejillas(grids), paneles informativos, barras de navegación que se comprimen si no caben en la pantalla, paginas principales, carruseles de fotos, formatos de blogs…

¿Como adaptar tu sitio web a Bootstrap?, La primera impresión que te da cuando te descargas la última versión, es ir tocando las css directamente, o ir añadiendo una CSS adicional, e ir adaptando nuestro codigo HTML y nuestras clases CSS a las CSS de Boostrap. Mal. Bootstrap incorpora Less, un preprocesador CSS, que nos permite extender, duplicar y mezclar codigo CSS, sin repetir estilos una vez y otra. De esta forma, sobre todo a través de la directiva @extend, podemos asignar cada nuevo estilo de Bootstrap, a nuestra vieja clase css insertada en el HTML. Así, simplemente haremos un «mapeo» de clases entre las nuestras existentes, y las de Bootsrap.

Gran pagina de tutoriales REST, SPRING, HIBERNATE, JSON

He encontrado una página interesante sobre tutoriales de estos frameworks, en sus últimas versiones:

http://www.baeldung.com/start-here (link is external)

Tiene unas series de:

ERROR: 32-bit Linux Android emulator binaries are DEPRECATED

ERROR: 32-bit Linux Android emulator binaries are DEPRECATED, to use them
you will have to do at least one of the following:
– Use the ‘-force-32bit’ option when invoking ‘emulator’.
– Set ANDROID_EMULATOR_FORCE_32BIT to ‘true’ in your environment.
Either one will allow you to use the 32-bit binaries, but please be
aware that these will disappear in a future Android SDK release.
Consider moving to a 64-bit Linux system before that happens.

Para resolver este error que sale en Android Studio, simplemente basta con forzar al emulador a que se ejecute en modo 32 bit. Ve al menu Run –> Edit Configurations, pestaña Emulator, y en la opción «Aditional command line options» poner -force-32bit.