Entrada en el blog de APSL: validadores asíncronos en angular

Os dejo esta entrada que he escrito para el blog de APSL donde explico como implementar un validación asíncrona utilizando ng-model.

Ir a la entrada: validadores asíncronos con ngModelController

Artículo en el blog de APSL: trabajar en remoto, una misión muy posible

En octubre de 2015 me mudé a Ibiza, lugar desde el que trabajo de forma remota con normalidad para APSL. Además de por motivos personales, este desplazamiento podía ser muy interesante también para la empresa, ya que en Ibiza tenemos clientes importantes y la isla tiene grandes posibilidades de evolución tecnológica por la gran cantidad de negocio que mueve. Aun así, en APSL el trabajo remoto, habitual o esporádico, no es un caso especial y forma parte de la política de la empresa para facilitar la conciliación y aportar flexibilidad al trabajador.

Otros compañeros que están en situaciones similares y yo hemos escrito conjuntamente un artículos sobre nuestra experiencia: como nos hemos organizado y como hemos resuelto las complicaciones que nos hemos encontrado en el camino. Os dejo el enlace por si tenéis curiosidad o interés sobre esta forma de trabajo:

Ir a al artículo

En el blog de APSL: combinación de QuerySets en Django

Os dejo una entrada que he escrito en el blog de APSL donde comento una funcionalidad poco conocida, pero muy útil, de los QuerySets de Django.

Ir a la entrada

Presentación de la charla

Cuestionario de análisis

Materiales de la charla de e-commerce

Os dejo los materiales que utilicé para la charla sobre comercio electrónico que dimos desde APSL junto con re:activa Sant Josep.

Entrada en el blog de APSL

 

Charla e-commerce un mercado sin fronteras

El próximo jueves 23 de Junio daré una charla sobre e-commerce enmarcada dentro del proyecto re:activa de Sant Josep. El objetivo es dar una introducción al comercio electrónico a comercios y empresas de la zona para que puedan aprovechar la convocatoria de subvenciones del Govern de les Illes Balears. La charla empezará a las 19:30 y se tratará todo el proceso de creación, las decisiones que se deben tomar, los problemas típicos y los recursos necesarios para tener nuestra tienda en línea. Tampoco faltarán algunos conceptos sobre marketing en línea, atención telemática al cliente y ejemplos de negocios exitosos.

Toda la información de la charla aquí

También en el blog de APSL

JUEVES 23 DE JUNIO DE 19.00 A 21.00 EN LA OFICINA MUNICIPAL DE SANT JORDI

Configuración de Ionic Framework

Hoy he empezado a probar Ionic, un framework para la implementación de aplicaciones móviles híbridas. Las aplicaciones híbridas aún están en un punto complicado, al estar implementadas en HTML5 y JS  hace que muchos móviles aún no las puedan mover con suficiente fluidez. Aún así, resulta muy interesante la posibilidad de implementar un única app que funcione en todos los sistemas operativos móviles. Su principal argumento es que se espera que pase lo mismo que con HTML5 y el PC: que en los próximos años los móviles aumenten su potencia y su autonomía y puedan mover las apps sin problemas. En esta entrada, resumiré el proceso de configuración y como resolver algunos problemas sencillos que me he encontrado durante la instalación.

Ionic está implementado sobre AngularJS y utiliza Cordova para generar las aplicaciones. Las apps se implementan como aplicaciones Angular ampliadas con directivas, servicios y el look and feel proporcionado por Ionic. Por ello, será necesario tener unos conocimientos mínimos del framework de Google.

1. Instalación de Cordova

La instalación de Cordova la realizaremos utilizando el gestor de paquetes de NodeJS npm:

sudo npm install -g cordova

Nota: la opción -g instala Cordova a nivel global en todo tu ordenador.

Los problemas aparecen cuando no tenemos los entornos de desarrollo configurados de la forma que espera Cordova, en ese caso la instalación nos lo hará saber con un mensaje de error.

Configuración Android

Al habilitar Cordova para Android encontré un par de errores, el primero fue:

WARNING: Your system does not meet requirements to create android projects. See error output below.
The command `android` failed. Make sure you have the latest Android SDK installed, and the `android` command (inside the tools/ folder) added to your path. Output: /bin/sh: android: command not found

SKIPPING android bootstrap.

Que resolví siguiendo la guía oficial de Cordova para habilitar Android. Resuelto el primer problema, llegó el segundo: es necesario tener instalada como mínimo la versión 4.2 del SDK de Android:

WARNING: Your system does not meet requirements to create android projects. See error output below.
Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `android` from your command-line to install/update any missing SDKs or tools.

Una actualización con Android SDK Manager:

android update sdk

y todo listo

SUCCESS: android ready to rock!

Configuración iOS

En lo que respecta a iOS me encontré con el siguiente problema:

WARNING: Your system does not meet requirements to create ios projects. See error output below.
Xcode is (probably) not installed, specifically the command `xcodebuild` is unavailable or erroring out. Output of `xcodebuild -version` is: Error: No developer directory found at /Developer. Run /usr/bin/xcode-select to update the developer directory path.

SKIPPING ios bootstrap.

Una búsqueda rápida del error y encontré una solución lanzando este comando:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Si todo ha ido bien veremos este mensaje:

SUCCESS: ios ready to rock!

2. Instalar Ionic

sudo npm install -g ionic

Si os aparecen errores de instalación del estilo:

npm ERR! Error: No compatible version found: colors@’^0.6.2′

Probad a actualizar node y limpiar caché:

npm cache clear
sudo npm update -g
npm install -g npm

3. Empezar un proyecto

Creamos el proyecto con la herramienta de linea de comandos de Ionic:

ionic start todo blank

Habilitamos las plataformas para las que desarrollaremos:

$ ionic platform ios
$ ionic platform android

Y ya estamos listos para empezar a probar!

“Trailing Data Error” on Laravel model dates handles with Carbon

Laravel models manages the datetime attributes of a model converting them to a Carbon date instance. The model knows which fields have a date type using the $dates attribute of the model instance. The name is pretty descriptive, is a list that contains the name of each field in the model that will be converted to Carbon when is got. If the DB contains an invalid value not recognized by Carbon, we will encounter the error:

ErrorException (E_UNKNOWN)
Trailing data

Provoked by an InvalidArgumentException thrown previously by Carbon.

In mi case, the problem was a DB record inserted manually, outside the app. This record had a date with a Carbon invalid format, but valid and correct for PostgreSQL:

2014-08-26 06:50:01.997969

The solution was simple, removing the milliseconds part because in my case it’s negligible.

Como elegir las herramientas apropiadas para mi juego

En la entrada anterior analizamos los procesos básicos que conforman a un videojuego llegando a construir un bucle principal que las realiza hasta que se termine la ejecución. La siguiente pregunta que aparece, es en que lenguaje de programación o en que plataforma de desarollo debemos crear nuestro juego. Esta pregunta no tiene una única respuesta puesto que en general la mayoría de lenguajes nos permitirán implementar nuestro juego, en lo que se diferenciarán será en el volumen de trabajo necesario y en la eficiencia.

Continue reading

Beneficios pedagógicos propios del Videojuego

Los videojuegos son obras que transmiten constantemente información al jugador, que una vez que la recibe y asimila ofrece una respuesta adecuada a ella. Por tanto, encontramos que mientras un usuario juega a un videojuego asimila constantemente información del mundo del juego, trata de entenderla, procesarla para poder una respuesta acorde a los objetivos. Esa información está formada por conceptos que ha creído necesarios el desarrollador para transmitir una representación del mundo y sus normas, es decir, es información tiene un sentido, un significado y un contexto. Hasta aquí podemos deducir que los videojuegos por si solos tienen influencia (hasta cierto punto) sobre el aprendizaje y conducta del jugador. Así empezaremos analizando que beneficios pedagógicos son propios del videojuego como tal para en posteriores artículos avanzar a la idea de que podemos crear videojuegos con fines educativos de forma que el mundo del juego transmite los conceptos que se desean inculcar.

Continue reading

Estructura Básica de un Videojuego (Programación)

Hace un par de días un amigo me comentó que estaba programando un tetris pero que no sabía por donde empezar, y muchos menos por donde seguir. Estas dudas se basaban en su mayoría en el desconocimiento de los conceptos y elementos que componen un videojuego, lo que hacía que no pudiese deducir que comportamiento debía implementar. Otro problema venía cuando él, siguiendo el ejemplo de un videojuego (tres en raya) que hicimos en clase, intento programar el videojuego como una aplicación de escritorio basada en eventos. Nos vamos a olvidar de la tecnología que hay debajo, para comentar que procesos se involucran en el funcionamiento de un videojuego en la parte de programación, comentarémos lo dicho sobre el ejemplo del tetris, y comentaremos la relación de porque el tres en raya se pudo implementar de esa forma. Continue reading

© 2016 Francisco Muñoz

Theme by Anders NorenUp ↑