Archivo por meses: diciembre 2013

Instalación y configuración entorno de desarrollo Android

Lo primero que debemos hacer antes de realizar nuestra primera aplicación Android es preparar el entorno de desarrollo. Una gran ventaja del desarrollo con Android es que se trabaja con tecnologías libres.

Yo he escogido la integración de la SDK de Google con el IDE de Eclipse ya que es la más ampliamente utilizada hoy en día. Existen otros IDEs como NetBeans que también pueden utilizarse ya que está así mismo integrado con la SDK de Google.

Antes de empezar es necesario disponer del siguiente software en su estación de trabajo:

  • Java Runtime Environment (JRE) y Java Development Kit de Oracle (JDK), tanto el JRE como el JDK son necesarios para arrancar el IDE Eclipse. Se pueden obtener en http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • Eclipse: puede descargarse en su página www.eclipse.org. Existen muchas versiones de eclipse, ya que cada una está orientada para los lenguajes y entornos de programación que deseemos. En nuestro caso elegiremos Eclipse IDE for JAVA Developers. Nota: Eclipse no se instala simplemente se descomprime en el directorio que nosotros deseemos.

En este momento podremos probar a arrancar Eclipse, si no existe ningún problema es que hemos instalado correctamente los puntos anteriores.

Es en este punto donde necesitamos descargar el software de android disponible en la página: http://developer.android.com/sdk. Descomprimimos la última versión disponible en cualquier directorio de nuestro equipo.

Ahora deberemos ejecutar SDK Manager e instalar las APIs de Android que necesitemos para nuestros desarrollos. Particularmente yo he instalado todas las APIs superiores a 10 ya que conforman la mayor cuota del mercado. Aquí hay que tener paciencia ya que la instalación se hace online y depende de la velocidad de conexión a internet que disfrutemos.

El último paso será integrar en Eclipse un plugin que permite utilizar el SDK de Android. Para ello arrancaremos Eclipse y en el menú Help > Install New Software. Sobre la ventana de diálogo pulsaremos el botón Add e introducimos las siguiente URL: https://dl-ssl.google.com/android/eclipse/.

Cuando se carguen la lista de opciones a instalar seleccionamos el paquete Developer Tools al completo y pulsamos el botón siguiente para iniciar la descarga.

Una vez instalado hay que indicar a Eclipse donde se encuentran las API del SDK Manager. Para ello abrimos la pantalla de configuración de Android desde el menú Window > Preferences > Android de Eclipse. Ahí seleccionamos la carpeta de instalación del SDK de Android.

Mi filosofía sobre el diseño web

Una parte importantísima del desarrollo y programación web es un buen diseño. El diseño de su web ofrecerá, en gran parte, la impronta que su empresa dejará en la retina del usuario de internet.

Una de las premisas fundamentales para un diseño web sea de calidad es que sea visualmente atractivo. De hecho la primera impresión de una página web puede atraer a un visitante ocasional o fidelizar a un visitante habitual. Para ello es importante que el diseño se traduzca a un aspecto gráfico que sea agradable y llamativo sin llegar a ser exagerado.

Lógicamente diseñar una web es una tarea que depende en gran parte al sector, ámbito o temática al que pertenezca. Por ejemplo: no es lo mismo realizar un diseño para una empresa inmobiliaria que para una empresa organizadora de fiestas, o para un blog profesional. Por eso el diseño será exclusivo y personalizado.

Colores, disposición del contenido y menús, tipografías de caracteres, resaltado en palabras importantes… algunas de estas partes del diseño pueden pasar inadvertidas en apariencia para un usuario pero por contra son esenciales.

El diseño debe respetar la imagen de marca. Es decir es necesario adecuar los colores, formas y tipografías en base a los logotipos corporativos.

Todo el trabajo de diseño web y maquetación estará supervisado por el cliente aportando siempre que lo desee sus ideas, gustos y puntos de vista. Considero que la comunicación con el cliente es un punto esencial para poder conseguir su total satisfacción.

Optimización SEO en Virtuemart

Si utilizas la extensión virtuemart en tu sitio joomla! para el comercio electrónico te interesará como optimizarlo para su posicionamiento.

A continuación intentaré describir punto a punto todo lo que sería necesario para una correcta implementación SEO en Virtuemart.

  1. En la parte de configuración del panel de control de virtuemart existe una pestaña llamada SEO. En ella  podemos ver 4 campos a modificar.
    • SEO desactivado. Es un check que nos permite desactivar la optimización SEO de virtuemart. En nuestro caso es importante desactivar esta opción ya que sí queremos optimizarlo.
    • Sufijo SEO. Es un sufijo que se añadirá a cada URL de cada producto en su vista en detalle. Importante rellenar con palabras clave de nuestro sitio.
    • Traducir strings. Utilizar los archivos de lenguaje para las cadenas de virtuemart en la URL. Es decir, traduce las cadenas de la URL dependiendo del idioma en el que se esté utilizando. Si tu sitio es multiidioma sería importante activarlo en caso contrario desactivarlo es la mejor opción.
    • Usar ID de productos y categorias. Si se activa se usarán los identificadores de productos y categorías en las URLs, lo cual no es recomendable a nivel de SEO.
  2. Optimizar SEO para cada categoría. En la creación/edición de cada categoría existen los siguientes campos importantes para SEO.
    • Alias SEF. Situado en la sección información general, será la cadena que se compondrá para la URL al acceder a dicha categoría.
    • Meta información. En ella se podrá introducir un título personalizado para la página, meta descripciones y meta palabras clave. También se puede especificar la manera en como los robots de buscadores deben seguir los enlaces dentro de esta categoría.
  3. Optimizar SEO para cada producto. Cuando se da de alta o se modifica un producto deberemos tener en cuenta lo siguiente.
    • Alias de producto. Situado en el formulario inicial, compondrá la URL cuando se acceda a este producto.
    • Meta información. Esta sección se encuentra en la parte inferior dentro de la pestaña descripción. Es lo mismo que en la edición de categorías: en ella se podrá introducir un título personalizado para la página, meta descripciones y meta palabras clave, robots y nombre de autor.

Optimizar caché de navegador con htaccess en apache

Si tu servidor de alojamiento web es apache puedes mejorar la velocidad de tu sitio estableciendo el tiempo de la caché insertando dentro del archivo htaccess de la raíz de tu aplicación web:

 # Optimización caché navegador
 <FilesMatch "\.(ico|pdf|flv|jpg|JPG|jpeg|png|gif|js|css|swf)$">
 Header set Expires "Wed, 15 Apr 2020 20:00:00 GMT"
 Header set Cache-Control "public"
 </FilesMatch>

En estas líneas lo que estamos estableciendo es habilitar la caché para los ficheros que contienen las extensiones indicadas «\.(ico|pdf|flv|jpg|JPG|jpeg|png|gif|js|css|swf)$». En el ejemplo se
indica también el tiempo en el que expirará la caché para los archivos indicados: el miércoles 15 de abril del 2020 a las 20:00 horas.

Optimizar caché de navegador permite mejorar el rendimiento para cualquier sitio web que se encuentre en tu servidor apache.

Mi filosofía sobre el posicionamiento web

Google, Bing y Yahoo (en Europa, América y África), Baidu (en China) o Yandex (en Rusia) son los buscadores con mayores generadores de visitas rentables en la mayor parte de los sitios Web del planeta.

Que su negocio aparezca en los primeros puestos de estos buscadores puede ser crucial para su negocio. Esto significaría que su negocio tiene un buen posicionamiento web.

Para ello es necesario utilizar técnicas de programación web de posicionamiento web (SEO) y otras de marketing (SEM) que ayudan en gran medida que su sitio en la web y por tanto su negocio sea visible a sus posibles clientes.

Que no le engañen, desconfíen de aquellos provedores que le aseguran totalmente que conseguirán posicionar su empresa en los primeros puestos de búsqueda. Le recomiendo que pinche aquí si desea aprender más acerca del posicionamiento web en buscadores para evitar que se aprovechen de su buena fé.

El proceso de posicionamiento web es continuado durante el transcurso del tiempo, por lo tanto no llegará a ver los resultados deseados de la noche a la mañana.

Confíe en mí. Puedo favorecerle en gran medida destacándola de su competencia directa captando clientes a través de internet mediante técnicas de SEO y SEM.

Pasar trabajos a ordenador, digitalizar un manuscrito

En alguna ocasión es posible que necesites pasar trabajos a ordenador y no cuentes con el tiempo necesario. Para ello existe una herramienta que nos permite entre otras cosas convertir una imagen con texto (jpg, png, pdf…) a texto simple.

Esta herramienta se llama ABBYY FineReader. Lo que hace fundamentalmente este documento es escanear la imagen y analizarla para encontrar los caracteres escritos transformándola a texto.

Si necesitas pasar trabajos a ordenador por favor visita este enlace.

Seguridad Web

Desde los comienzos de internet, y hoy en día más aún, la seguridad ha sido un aspecto esencial en el ámbito del desarrollo y programación web. Es curioso y a la vez alarmante que no siempre se tenga en cuenta por muchos profesionales dentro de este sector.

Un sitio web se encuentra expuesto a múltiples usuarios y no siempre todos tienen buena intención. Por este motivo hay que mantener una actitud proactiva para evitar cualquier tipo de ataque.

Por suerte existen armas para proteger nuestro sitio web.

  • Gestión de permisos dentro del sistema de archivos.
  • Gestión de usuarios mediante formularios: es posible asignar diferentes tipos de rol de usuario para bloquear contenidos a usuarios con perfiles no deseados.
  • Monitorización de accesos: conocer qué usuario y en qué momento accede a nuestro sitio web.
  • Certificados SSL, permite cifrar la comunicación con el servidor cuando se envían datos sensibles.
  • Cifrado de información sensible en archivos de configuración.
  • Seguridad CMS, conocimientos adquiridos de seguridad propios de cada CMS.
  • Urls limpias, deshabilitar la posibilidad de inyección de código dentro del servidor Web.
  • Inclusión de captcha para diferenciar accesos de robots.
  • Conocimientos de seguridad dentro de la programación web.
  • Existen otras herramientas de refuerzo de seguridad propias de cada lenguaje de programación.

Realizo un gran esfuerzo en el desarrollo y programación para que su web sea segura.

Últimas tecnologías Bases de datos

Las tecnologías utilizadas en el ámbito de bases de datos son muy diversas pero por suerte tienen puntos en común. Esto a fin de cuentas quiere decir que si usted posee información en cualquier formato es relativamente fácil exportar o importar los datos a cualquier otra fuente de datos.

En los SGDBs (Sistemas de Gestión de Bases de Datos) existe un lenguaje común que simplifica las cosas: SQL (Structurated Query Language).

Puedo ayudarle en cualquier fuente de datos que usted utilice, tecnologías bases de datos:

  • SGDBs – SQLServer, MySql, Oracle…
  • Office DBs – Access, Excel…
  • Ficheros de texto plano – xml, csv, txt (solo si está normalizado)..

Usabilidad Web

Las herramientas con las que interactúa el ser humano evolucionan constantemente. En la sociedad de la información también es así y además de una forma más acelerada.

El modo en el que nos conectamos ahora a lnternet ya no es el mismo que hace unos pocos años. Las páginas web deben estar preparadas para mostrarse correctamente en un ordenador de sobremesa, una tablet o un móvil.

De la misma manera una página web debe visualizarse correctamente en cualquiera que sea el navegador que utilice el usuario: Internet Explorer, Firefox, Chrome, Safari, Opera…

Al mismo tiempo que internet el usuario también ha evolucionado. Su posible visitante y/o cliente, al igual que usted o que yo, sabe escoger la información que le interesa y en general rehuye de páginas web con tiempos de carga lentos, poco intuitivas y difícilmente navegables.

Además en muchos casos el desarrollo y programación web deben estar enfocados para la globalización y ofrecer el mismo servicio a visitantes de diversos idiomas y países (multi-idioma, multi-cultura).

Tampoco debemos olvidar la accesibilidad para personas discapacitadas o con disfunción visual.

Usar la reescritura URL en joomla! editando el web.config en IIS

Como sabréis las palabras contenidas en las direcciones URL son importantes para los buscadores a la hora del posicionamiento. Por ello es mucho más optimo tener una url del tipo:

http://posicionamiento-sitios-web.blogspot.com.es/mis-palabras-clave

que otra como la siguiente

http://posicionamiento-sitios-web.blogspot.com.es/index.php?article-id=4

Hay que aprovecharse de esto y «pasar» algunas palabras clave en cada una de las URL de nuestro sitio.

La mayor parte de los CMS que podemos utilizar actualmente están preparados para mejorar el posicionamiento orgánico. Entre estos CMS está joomla!.

Si tu servidor web es IIS con el módulo URL rewrite y tienes un sitio web en joomla! deberás editar el archivo web.config en la raíz de tu aplicación. En el apartado <system.webServer> inserta el siguiente bloque XML:


<rewrite>

<rules>

<rule name="Joomla! Rule 1" stopProcessing="true">

<match url="^(.*)$" ignoreCase="false" />

<conditions logicalGrouping="MatchAny">

<add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />

<add input="{QUERY_STRING}" pattern="(&gt;|%3C)([^s]*s)+cript.*(&lt;|%3E)" />

<add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />

<add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />

</conditions>

<action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />

</rule>

<rule name="Joomla! Rule 2">

<match url="(.*)" ignoreCase="false" />

<conditions logicalGrouping="MatchAll">

<add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />

<add input="{URL}" pattern="/component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$" />

<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />

</conditions>

<action type="Rewrite" url="index.php" />

</rule>

</rules>

</rewrite>

Con esto IIS puede aprovechar unos patrones de expresiones regulares para convertir peticiones y transformarlas a urls con alias