14-junio-2016
admin

Base de datos NoSQL con PostgreSQL 9.4

PostgreSQL te permite crear base de datos NoSQL, para ello te facilita varias soluciones:

Tipos de datos como HSTORE
Consiste en un almacenamiento tipo clave valor. De tal forma que por ejemplo tendriamos:

create table ejemploHstore(id SERIAL, nombre TEXT, ejemploHstore HSTORE, primary key (id));

insert into ejemploHstore (nombre, ejemploHstore) values ('dato1', 'subdat01=>sss, subdat02=>qwe, subdat03=>prueba');

select * from ejemploHstore;
select ejemploHstore->'subdat01' from ejemploHstore;

Tiene soporte GIN y GIST para generación de índices en columnasHSTORE.
GIN es tres veces más rápido buscando, tarda tres veces más en construirse y es más lento en actualizaciones. Además, ocupa entre dos y tres veces más que GIST
Lo normal es utilizar para datos estáticos, GIN, y para datos dinámicos GIST.

Documentación


Soporte para JSON
Json para representación en texto.

create table ejemploJson(id SERIAL, ejemploJson json, primary key (id));

insert into ejemploJson (ejemploJson) values ('{"subdat01":"sss", "subdat02":"qwe", "subdat03":"prueba"}');

select * from ejemploJson;
select ejemploJson->'subdat01' from ejemploJson;

El almacenamiento en JSON permite validación de documentos y su acceso es similar al HSTORE

Documentación


Soporte para JSONB
Jsonb para representación binario. No se debe confundir jsonb con bson de mongodb, ya que no es lo mismo.
Tiene un formato compacto y eficiente, permite acceso avanzado y operadores de comparación. Así como GIN,GIST, hash y btree

Tiene un tamaño reducido en disco, muy inferior al tamaño JSON. Se organiza como un diccionario (una tabla hash), cuyo acceso es
tremendamente rápido, sin embargo, el orden no es preservado.
JSONB es compatible con las operaciones JSON

Tutorial jsonb

7-junio-2016
admin

Herramientas para testeo de Microsoft Edge

Microsoft nos facilita una serie de herramientas gratuitas para mejorar el diseño y la accesibilidad de nuestros sitios web en las distintas plataformas.

Virtual machines
Te permite probar tu aplicación web desde cualquier versión de internet explorer mediante máquinas virtuales gratuitas que se pueden descargar. Disponibles para cualquier tipo de sistema operativo.
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/windows/


RemoteIE
Mediante esta herramienta puedes probar de forma remota gratis con Azure RemoteApp en Windows, Mac, iOS o Android.
https://developer.microsoft.com/en-us/microsoft-edge/tools/remote/


Generate screenshots
Herramienta que te muestra como se ve tu sitio web a través de 9 navegadores y dispositivos más comunes.
https://developer.microsoft.com/en-us/microsoft-edge/tools/screenshots/


F12 Dev Tools
Uso de las propias herramientas de desarrollo de Microsoft Edge.
https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/f12-devtools-guide/


Site Scan
Herramienta que permite analizar tu sitio web. Detecta problemas de diseño y accesibilidad.
Analiza el código HTML, CSS y JavaScript de un sitio o aplicación web. Se advierte acerca de las prácticas tales como la especificación incompleta de las propiedades CSS, doctypes no válidos o incorrectos, y las versiones obsoletas de JavaScript populares de libraries.
https://developer.microsoft.com/en-us/microsoft-edge/tools/staticscan/


Otras Herramientas que pueden resultar útiles:
BrowserStack: Prueba todos los navegadores y dispositivos de forma interactiva desde su dispositivo preferido
Borland Silk Test: Asegura la calidad de la aplicación web a través de navegadores de escritorio y móviles.
Kraken.io: Permite optimizar sus imágenes, ahorrar ancho de banda y mejorar los tiempos de carga.

29-mayo-2016
admin

Efectos en aplicaciones Androd

View Pager
El viewpager es un componente que nos permite desplazarnos entre pantallas deslizando el dedo horizontalmente. Permite dotar a nuestras aplicaciones de un buen efecto y es sencillo de implementar. Es muy usado, te lo puedes encontrar en aplicaciones como: youtube, google store,…

Documentación oficial
Tutorial

Drawer Layout
Se trata de un layout que incluye Android que nos permite crear menus que se muestran y se ocultan en el lateral de tu aplicación.

Documentación oficial
Tutorial

Sliding Pane Layout
Es otro layout similar al Drawer Layout, se diferencia en que desplaza una vista para situar otra.

Tutorial

Parallax
Este efecto se utiliza mucho en los listados. Te permite hacer que, por ejemplo, la cabecera de una lista se expanda o se contraiga según nos movemos utilizando el scroll.

Ejemplo con ListView y ScrollView

21-mayo-2016
admin

El cubo de emprendimiento

El Cubo del Emprendimiento es un modelo de autoevaluación que nos permite conocer en qué posición estamos respecto a la posibilidad de llevar a cabo un proyecto emprendedor.

cubo del emprendimiento

CLAVES DEL CUBO DE EMPRENDIMIENTO
1. Los factores más importantes para todo emprendedor son su actitud, su aptitud y sus recursos disponibles. Estos factores componen el definido por Senén Barro como “El cubo del Emprendimiento”.

Actitud (Querer): Disposición, interés y comportamiento adecuados para emprender y sacar adelante tu proyecto.
Aptitud (Saber): Capacidad y conocimientos necesarios para emprender y sacar adelante tu proyecto.
Recursos (Poder): Recursos monetarios (dinero) o de otro tipo que te permiten emprender un proyecto sin depender de otros.

 
 

2. Las aristas de este cubo representan distintas situaciones extremas, donde el emprendedor contaría bien con el óptimo, bien con el mínimo, de cada uno de los factores. Probablemente ninguna situación real se encuentre en ninguna de las aristas, pero puedes utilizarlo como guía para otear tu situación y reflexionar sobre cómo suplir tus carencias y potenciar tus virtudes. Ten en cuenta que, si formas parte de un equipo, puedes tener en cuenta la suma de las características de todos vuestros miembros para situaros en el cubo.

¿Estás vivo? No tienes recursos, ni actitud para cambiar la situación, ni aptitudes para lograrlo. Cambia tu actitud, fórmate en aquello que te apasione, y a por todas.
Oportunidad Perdida: Tienes grandes aptitudes pero careces de recursos y te falta una actitud adecuada. Replantéate tus convicciones y tu forma de actuar, estás perdiendo una gran oportunidad desaprovechando tu talento.
Disfruta: Si tienes recursos (dinero) pero ni aptitud ni actitud… encuentra una motivación que te lleve a cambiar o, sencillamente, ¡disfruta lo que la vida te ha dado!
Invierte: Tienes los conocimientos necesarios para emprender, y recursos suficientes para no depender de nadie, pero tu actitud, tu forma de ser, no es emprendedora. Tal vez sea el momento de buscar a alguien con esa actitud, estudiar su idea, valorarla, aportarle tus conocimientos e invertir en ella.
Asóciate: ¿Tienes una gran actitud emprendedora y recursos suficientes pero te faltan los conocimientos necesarios? Busca a quién los tenga, asóciate.
Piensa: ¿Tienes una gran actitud pero te faltan las aptitudes necesarias para tener éxito? Piensa, tal vez necesites formarte y obtener esos conocimientos que te faltan, busca alternativas para obtener recursos.
¡Adelante!: Eres un emprendedor privilegiado. Tienes lo más importante, una actitud positiva y proactiva, y los conocimientos necesarios para sacar adelante tu proyecto. Confía en tu idea,depúrala, y adelante con ella. El dinero es un subproducto del talento y las ganas de hacer cosas, si tu idea vale y sabes encontrarlo, llegará.
¡Enhorabuena!: Tienes todo todo todo lo que se necesita para emprender, probablemente no exista nadie en esta situación pero si es tu caso… ¡congratulations! No te garantiza el éxito, pero estás en la situación ideal.

Fuente

9-mayo-2016
admin

Análisis DAFO

El análisis DAFO, también conocido como análisis FODA o DOFA, es una metodología de estudio de la situación de una empresa o un proyecto, analizando sus características internas (Debilidades y Fortalezas) y su situación externa (Amenazas y Oportunidades) en una matriz cuadrada. Proviene de las siglas en inglés SWOT (Strengths, Weaknesses, Opportunities y Threats).

Es una herramienta para conocer la situación real en que se encuentra una organización, empresa o proyecto, y planear una estrategia de futuro.
Durante la etapa de planeamiento estratégico y a partir del análisis DAFO se deben contestar cada una de las siguientes preguntas:
– ¿Cómo se puede destacar cada fortaleza?
– ¿Cómo se puede disfrutar cada oportunidad?
– ¿Cómo se puede defender cada debilidad o carencia?
– ¿Cómo se puede detener cada amenaza?

Análisis DAFO

Entrelazando las debilidades con las amenazas se establecen las llamadas estrategias defensivas, las llamadas mini-mini. Tenemos debilidades que nos perjudican y nos pueden atacar por ahí, por lo que tenemos que tomar medidas para defendernos.

Entrelazando las fortalezas con las amenazas se establecen las llamadas estrategias reactivas, las maxi-mini. Hay amenazas que nos pueden acechar pero tenemos puntos fuertes que nos ayudan. Reaccionaremos cuando se presenten.

Entrelazando las debilidades con las oportunidades se establecen las llamadas estrategias adaptativas, las mini-maxi. Hay oportunidades ahí fuera pero tenemos debilidades que hay que minimizar o eliminar para aprovechar estas oportunidades. Tenemos que ir adaptándonos.

Entrelazando las fortalezas con las oportunidades se establecen las llamadas estrategias ofensivas, las maxi-maxi. Hay oportunidades ahí fuera y nosotros tenemos ventajas, por lo que actuaremos al ataque.

Wikipedia
Fuente

2-mayo-2016
admin

Modelo canvas

El Método Canvas busca con un modelo integral analizar la empresa como un todo y sirva como base para desarrollar diferentes modelos de negocios, se a convertido en una herramienta de Innovación Estratégica.

modelo canvas

Segmentos de clientes. El objetivo es de agrupar a los clientes con características homogéneas en segmentos definidos y describir sus necesidades, averiguar información geográfica y demográfica, gustos, etc. Después, uno se puede ocupar de ubicar a los clientes actuales en los diferentes segmentos para finalmente tener alguna estadística y crecimiento potencial de cada grupo.
Propuestas de valor. El objetivo es de definir el valor creado para cada Segmento de clientes describiendo los productos y servicios que se ofrecen a cada uno. Para cada propuesta de valor hay que añadir el producto o servicio más importante y el nivel de servicio. Estas primeras dos partes son el núcleo del modelo de negocio
Canales. Se resuelve la manera en que se establece contacto con los clientes. Se consideran variables como la información, evaluación, compra, entrega y postventa. Para cada producto o servicio que identificado en el paso anterior hay que definir el canal de su distribución adecuado, añadiendo como información el ratio de éxito del canal y la eficiencia de su costo.
Relación con el cliente. Aquí se identifican cuáles recursos de tiempo y monetarios se utiliza para mantenerse en contacto con los clientes. Por lo general, si un producto o servicio tiene un costo alto, entonces los clientes esperan tener una relación más cercana con nuestra empresa.
Fuentes de ingresos. Este paso tiene como objetivo identificar que aportación monetaria hace cada grupo y saber de donde vienen las entradas (ventas, comisiones, licencias, etc.). Así se podrá tener una visión global de cuáles grupos son más rentables y cuáles no.
Recursos clave. Después de haber trabajado con los clientes, hay que centrarse en la empresa. Para ello, hay que utilizar los datos obtenidos anteriormente, seleccionar la propuesta de valor más importante y la relacionarse con el segmento de clientes, los canales de distribución, las relaciones con los clientes, y los flujos de ingreso. Así, saber cuáles son los recursos clave que intervienen para que la empresa tenga la capacidad de entregar su oferta o propuesta de valor.
Actividades clave. En esta etapa es fundamental saber qué es lo más importante a realizar para que el modelo de negocios funcione. Utilizando la propuesta de valor más importante, los canales de distribución y las relaciones con los clientes, se definen las actividades necesarias para entregar la oferta.
Asociaciones claves. Fundamental es realizar alianzas estratégicas entre empresas, Joint Ventures, gobierno, proveedores, etc. En este apartado se describe a los proveedores, socios, y asociados con quienes se trabaja para que la empresa funcione. ¿Qué tan importantes son? ¿se pueden reemplazar? ¿pueden convertir en competidores?
Estructura de costos. Aquí se especifican los costos de la empresa empezando con el más alto (marketing, R&D, CRM, producción, etc.). Luego se relaciona cada costo con los bloques definidos anteriormente, evitando generar demasiada complejidad. Posiblemente, se intente seguir el rastro de cada costo en relación con cada segmento de cliente para analizar las ganancias.

Fuente

13-marzo-2016
admin

WordPress: “Briefly Unavailable for Scheduled Maintenance”

Este error puede aparecer en WordPress en el momento que falla alguna actualización, ya sea del propio wordpress o de un plugin.

Al realizar las actualizaciónes Wordpres crea un archivo en el llamado .maintenance (en la raiz del sitio). Este archivo es el encargado de mostrar el mensaje: “Briefly Unavailable for Scheduled Maintenance”. De tal forma que muestra ese mensaje en tu sitio en lugar de mostrar los errores de PHP mientras se produce la actualización de los archivos necesarios.

Una vez finalizada la actualización, el archivo se borra automáticamente. Si por lo que sea la actualización falla y ese archivo no llega a borrarse se debe borrar a mano. De otro modo sacará constantemente el mensaje de error. Una vez borrado es recomendable ejecutar las actualización que ha fallado para que la aplique correctamente.

25-febrero-2016
admin

Borrado de documentos en Alfresco

Por un lado hay que tener en cuenta que los documentos en alfresco no se borran realmente hasta que el usuario que los ha borrado o el administrador vacia la papelera de reciclaje. Ésta se vacia en la sección User Profile.

Por otro lado se debe tener en cuenta que lo que se hace es un borrado lógico. De tal forma que aunque no podamos verlos desde el interfaz de Alfresco, no se han borrado físicamente del disco. Se mantienen dentro del contentstore en estado huérfano ya que no quedan referencias a él en la base de datos.

Ahora bien, en Alfresco se ejecutan una serie de procesos automáticos de mantenimiento. Se definen en el fichero scheduled-jobs-context.xml que se apoya en el repository.properties para configurarse (localizables ambos en /Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/). Entre ellos nos encontramos con:

contentStoreCleanerTrigger: es el encargado de lanzar el bean contentStoreCleaner (definido en el content-services-context.xml) que se encarga de borrar los contenidos huérfanos del contentstore. Por defecto se ejecuta a las 4:00 AM cada día (0 0 4 * * ?). El parámetro system.content.orphanProtectDays establece el número mínimo de días que el contenido debe ser huérfano antes de poder eliminarlo, el valor predeterminado es de 14 días. Es decir, el documento permanecera 14 días en estado huérfano en el contentstore hasta que por fin la tarea Cleaner lo pase al contentstore.deleted.

Nota 1: Si la propiedad system.content.eagerOrphanCleanup está a true los documentos se moverán al directorio contentstore.deleted sin necesidad de la ejecución del contentStoreCleaner.

Nota 2: El contentstore.deleted es responsabilidad del administrador de borrarlo para liberar espacio.

Scheduled jobs
Content store configuration

10-febrero-2016
admin

Logging en python

Ejemplo de configuración de log para python. Se utiliza un fichero de configuracion llamado logging.conf, donde se definen dos manejadores uno a nivel de consola StreamHandler y otro a nivel de fichero FileHandler.
StreamHandler: Escribirá en la salida estandar del sistema las trazas con nivel INFO.
FileHandler: Escribirá en un fichero llamado Result_Operations.log las trazas con nivel DEBUG.
En ambos se formatean los mensajes para que sólo muestre el contenido del mensaje.

from logging import config
....
logging.config.fileConfig('logging.conf')
logger = logging.getLogger('root')

logger.debug("mensaje para el FileHandler")
logger.info("mensaje para ambos")

logging.conf

[loggers]
keys=root

[handlers]
keys=FileHandler,consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=FileHandler,consoleHandler

[handler_FileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=("Result_Operations.log",)

[handler_consoleHandler]
class=StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stdout,)

[formatter_simpleFormatter]
format= %(message)s
datefmt=

Documentación oficial logging python
Documentación de los tipos de manejadores

5-febrero-2016
admin

SyntaxError: Non-ASCII character ‘\xe9’

En python para definir la codificación del archivo se puede colocar al inicio del archivo la siguiente línea de código.

# -*- coding: utf-8 -*-

De esta forma se solucionan los errores del tipo: Non-ASCII character ‘\xe9’

Más info PEP 0263 — Defining Python Source Code Encodings.

Páginas:«123456789...24»

Categorias

Linkedin