El color juega un papel importante en cualquier diseño que realicemos, el uso adecuado de los colores permitirá que nuestra web sea accesible. En el siguiente artÃculo aprenderemos a utilizar adecuadamente los colores.
Hace tiempo, mientras leÃa No me hagas pensar (un libro de Steve Krug sobre usabilidad web) un amigo me comentaba que alguien le habÃa recomendado “ese gran libro”. A raÃz de esto me puse a indagar en la red… HabÃa un sector que no diferenciaba Usab
Hace ya unos días se lanzó Open Social que es, básicamente, una API abierta para crear aplicaciones montadas sobre redes sociales ya existentes… pero como en un primer momento fue bastante malentendido preferí ver que se podía hacer y que no con es
el fundador de Facebook, ha ofrecido los datos de facturación de Facebook y sus expectativas para el 2008: 150 millones de dólares de ingresos en 2007 y una estimación de 300 millones para el año que viene…
Los rumores eran ciertos, Microsoft ha ofrecido 44.6 mil millones de dólares a Yahoo! para comprarlo en una mezcla de dinero en efectivo y acciones. Según Microsoft la adquisición crearía una empresa mucho más eficiente.
Sencillo truco que nos puede ayudar a redireccionar nuestra web a la versión móvil cuando nos visite un usuario desde un iPhone, una Blackberry o una Palm
Como ya dije, esta aplicación estará basada en Mongodb, y usaremos mongoose como ODM.
El primer paso es instalar mongoose:
npm i mongoose
Una vez instalado crearemos un controlador que nos permita usar la BD en toda la aplicación Hapi.js. Para ello haremos uso de los decorate del servidor. Los decorations permite extender objectos ofrecidos por Hapi.js, en nuestro caso server y request. Usando un plugin nos conectaremos a mongodb usando mongoose y añadiremos ese objecto con los decorate.
Creamos el fichero /plugins/db.js con el siguiente código:
/**
* DB controller
*
* It uses Mongoose and "stores" it in the server and the request using `decorate`
*/const mongoose = require( 'mongoose' );
exports.plugin = {
name: 'db',
register: asyncfunction( server, options ) {
mongoose.connect( options.url, { useNewUrlParser: true } );
const db = mongoose.connection;
// eslint-disable-next-line
db.on( 'error', console.error.bind( console, 'connection error:' ) );
db.once( 'open', function() {
server.decorate( 'server', 'db', mongoose );
server.decorate( 'request', 'db', mongoose );
// eslint-disable-next-lineconsole.log( 'DB connected' );
} );
},
};
Para configurar la conectividad a mongodb tendremos que añadir los datos a la /config/index.js
Ya tenemos casi todo configurado, ahora vamos a empezar con un ejemplo creando un esquema de moongose que nos permite acceder a colecciones de mongodb.
Lo más común es tener una colección de usuarios, que tendrá los siguientes campos:
userName: de tipo String,
firstName: de tipo String,
lastName: de tipo String,
email: de tipo String,
role: que referencia a otro elemento de otra colección,
isEnabled: de tipo Boolean,
password: de tipo String,
resetPassword: un objeto representado por:
hash: de tipo String,
active: de tipo Boolean,
También crearemos un método estático que devuelva todos los elementos de la colección users para realizar pruebas:
/**
* User model based on Mongoose
*/const mongoose = require( 'mongoose' );
const Schema = mongoose.Schema;
// Mongoose schemaconst userSchema = new mongoose.Schema( {
userName: String,
firstName: String,
lastName: String,
email: String,
role: Schema.Types.ObjectId,
isEnabled: Boolean,
password: String,
resetPassword: {
hash: String,
active: Boolean,
},
} );
/**
* User static model findAll
*
* @returns {array}
*/
userSchema.static( 'findAll', asyncfunction() {
const result = awaitnewPromise( ( resolve, reject ) => {
this.model( 'User' ).find( {} ).exec( ( error, data ) => {
if ( error ) {
reject( error );
}
resolve( data );
} );
} );
return result;
} );
const User = mongoose.model( 'User', userSchema );
module.exports = User;
Ya está todo, ahora solo modificamos el handler de la ruta home.js para mostrar los valores de findAll:
Acabo de leer que el portal de fotografías GettyImages.com ha sido adquirido por Hellman & Friedman por 2.400 millones de US$. Este importe significa una prima del 55% con respecto a la cotización de la empresa en bolsa…
You see it in Google search results and a lot of other sites that have good search functionality. When you perform a search, your words or phrases are highlighted in the search results making it easy for you to find the most relevant content.
Buen aporte, gracias!.
Pd: también podrÃas twittearlos uno por uno 😛
Hola Jorge, no tengo cuenta de Twitter, yo uso YouAre y los enlaces que pongo anteriormente los he puesto en YouAre