Mostrando las entradas con la etiqueta NUEVAS TECNOLOGIAS. Mostrar todas las entradas
Mostrando las entradas con la etiqueta NUEVAS TECNOLOGIAS. Mostrar todas las entradas

sábado, 4 de noviembre de 2017



React-Native es una plataforma desarrollada por Facebook, open source para el desarrollo de aplicaciones móviles cross-platform completamente nativas utilizando React y por lo tanto nuestro amado JavaScript ;).

Para instalar react native en un entorno windows por favor sigue los siguientes pasos:

1) Instalar Nodejs 6+
2) Instalar python 2.7+
3) Instalar JDK java 8+
4) Instalar Android studio, versión compatible con jdk.
5) npm install -g react-native-cli
6) react-native init "NOMBRE APP"
7) Install emulator device avd android, con api 23 o el que pide react-native al abrir el proyecto en AndroidStudio.
8) Iniciar el emulador desde android studio.
9) System settings, environment variables.
- Add JAVA_HOME (arriba)
- Add a Path -> C:\Users\Laptop\AppData\Local\Android\sdk\platform-tools (DEBES REESCRIBIR LAPTOP POR TU USUARIO EN EL PC)
10) En la carpeta de tu proyecto ejecutar: react-native run-android

jueves, 5 de mayo de 2016

lunes, 1 de febrero de 2016

HTML5 Novedades:

Doctype: 



metaset:

Nueva semántica:
,
,
,


Nuevo gráfico: ,

Nueva multimedia: ,

Nuevas API de programación HTML5:

HTML Geolocation, HTML Drag and Drop, HTML Local Storage, HTML Application Cache, HTML Web Workers, HTML SSE.


Elementos removidos en HTML5.

miércoles, 20 de enero de 2016


START MONGOD SERVER

mongod
mongod --port

Si hay problemas al iniciar mongo, se debe verificar no exista un archivo .lock en las carpetas de mongo, de existir lo eliminamos.

STOP MONGOD SERVER

use admin db.shutdownServer()

INSTANCIA ESPECIFICA

kill

LISTAR BASES DE DATOS

show dbs

USAR BASE DE DATOS

use

MOSTRAR TABLAS EXISTENTES EN LA BASE DE DATOS

show collections
db.getCollectionNames()



INSERT DATOS EN TABLA

db.herb.insert({name:"Anis", descripcion:"Planta de buen aroma"})













domingo, 4 de octubre de 2015



MONGODB INSTALL

Versión Ubuntu local
lsb_release -a

Pasos previos en ubuntu

Importar la llave pública
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

Crear una list file para MongoDB (ubuntu 14.04)

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Reload local package database
sudo apt-get update

Install la última versión estable de MongoDB
sudo apt-get install -y mongodb-org

Mover la instalación de MongoDb a otra ruta en Ubuntu
sudo service mongod stop sudo mv mongodb /new/disk/mongodb/ sudo ln -s /new/disk/mongodb/ /var/lib/mongodb sudo chown mongodb:mongodb /new/disk/mongodb/ sudo service mongod start # test if mongodb user can access new location: sudo -u mongodb -s cd /new/disk/mongodb/ # resolve other permissions issues if necessary sudo usermod -a -G mongodb

Iniciar el servicio de MongoDB
sudo service mongod start

Iniciar el servicio de MongoDB con archivo de configuración
mongod --config /etc/init/mongod.conf (Ejemplo unix server)

Conexión remota a mongo
mongo --host --port 27017

Instalar Nmap en Unix
apt-get install nmap

nmap -sT -O -localhost

Verificar puertos abiertos disponibles con nmap en Unix
nmap -sT -O -localhost

MONGODB COMANDOS RUTINARIOS

Crear Base de datos use Nombre_Base_Datos

Mostrar las bases de datos existentes

show dbs Crear usuario:
use db.createUser( { user:"luiseliberal", pwd:"s1zha8to", roles: [ {role:"userAdminAnyDatabase", db:"admin"}, "readWrite" ] })

otro ejemplo de creación de usuario:

use db.createUser( { "user" : "luiseliberal", "pwd": "xxxxxxx", "roles" : [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite" ] }, { w: "majority" , wtimeout: 5000 } )

Ver usuarios existentes:
show users

Otorgar autorizaciones
use db db.auth({user:"usuario",pwd:"password"})

Remover Usuarios
use db , db.dropUser("usuario")

Crear tabla e Insertar Datos
use db
use table
db.table.insert({id:1, nombre:"cualquier", propiedades:["uno", "dos"], arreglo:[{a:"", b:"", c:90}] })

Buscar (queries de consulta)
Traer todos los objetos: db.[NOMBRE_BASE_DATOS].find()

Búsqueda por criterio: db.products.find( { qty: { $gt: 25 } } )

Búsqueda por equivalencia: db.bios.find( { _id: 5 } )

Búsqueda usando operadores retornando si el id es 5 o se encuentra el object id en este caso: db.bios.find( { _id: { $in: [ 5, ObjectId("507c35dd8fada716c89d0013") ] } } ) Búsqueda por rango: db.collection.find( { field: { $gt: value1, $lt: value2 } } );





Remover la instalación de MongoDB en Ubuntu
sudo apt-get autoremove mongodb-*


jueves, 11 de junio de 2015



PUBLICACIÓN DE MODULOS EN NODE

npm login
npm publish



APP DE EJEMPLO NODE EXPRESS - CONNECT - MONGO


Requerimientos:
- Tener instalado nodejs/npm.


PRIMER PASO - EXPRESS:
- Ejecutar comando siguiente: npm i -g express
- Ubicarse en la carpeta destino y ejecutar el comando: express default (este crea un esqueleto de carpetas y archivos predefinidos para una app).
- Ejecutar el siguiente comando: express -c stylus -e exp-styl-ejs (instala el preprocesador de css)


EJEMPLO DE AUTENTICACION EN NODE JS

/** MIDDLEWARE LOGIN
TIP: Iniciar el servidor de autenticador con NODE_ENV='ambiente(desa,prod)' node Autenticador **/


var connect = require('connect');
var app = connect();

function loggerHello(req, res, next){
foo();
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World Pana');
}

function logger(req, res, next){
//res.setHeader('Content-Type', 'text/plain');
//res.end('Este es el logger');
console.log('#logger en acción', req.method, req.url); next(); } function logger(req, res, next){ console.log('Iniciando... ', req.method, req.url); next(); } function authWithDB(user, pass, cb){ if(pass !== 'luis15'){ return cb('Credenciales incorrectas.');
}
cb();
}

function restrict(req, res, next){
var authorization = req.headers.authorization;
if(!authorization){
return next(new Error('No autorizado'));
}

var parts = authorization.split(' ');
var scheme = parts[0];
var auth = new Buffer(parts[1], 'base64').toString().split(':');
var user = auth[0];
var pass = auth[1];

authWithDB(user, pass, function (err) {
if(err){
return next(err);
}
next();
});
}

function admin(req, res, next){

console.log('ACCEDIENDO A: ',req.url);

switch(req.url){

case '/':
res.end('try /users');
break;

case '/users':
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(['Luis', 'JoseLuis', 'Jp']));
break;
}
}

function errorHandler() {

var env = process.env.NODE_ENV || 'desarrollo';
return function (err, req, res, next){
res.statusCode = 500;

switch (env){

case 'desarrollo':
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(err));
break;
default:
res.end('Server error');
}
};
}

app
.use(logger)
.use('/admin', restrict)
.use('/admin', admin)
.use(loggerHello)
.listen(3000);



EJEMPLO DE ORDENAMIENTO DE CALL BACKS EN NODE JS CON LA LIBRERIA ASYNC

var async = require('async');

async.waterfall([

function (cb){
artist.findEvents('Miley', cb);
},
function (concert, cb){
concert.findTickets({price: {$lt: 100}}, cb);
},
function (tickets, cb){
tickets.purchase({cc: 424242424242}, cb);
},
function (transaction, cb) {
email.confirm(customer, transaction, cb);
}
],

//FUNCTION RETORNO
function (null, status){
if(err){
res.send(err);
return false;
}

res.send({
tickets: 'purchased'
});
}
);//FIN WATERFALL

//PATRON PROMISES DE COMMONJS - promises-aplus.github.io/promises-spec/
artist.find('Miley')
.findEvents({city: 'Bogota'})
.findTickets({price: {$lt: 100}}, cb);
.purchase({cc: 424242424242}, cb);

.then (function(transaction) {
customer.transaction = transaction;
return customer.save();
})

.then (function (customer, transaction) {
return email.confirm(customer, transaction);
})

.then function(){
res.send({
tickets: 'purchased'
});
},

function (err) {
console.log('Ha habido un error', err);
}
);

EJEMPLO DE CALL BACKS DESORDENADOS

function startExecution() {
doSomethingAsync(function(error, result) {
doSomethingElseAsync(function(error, result) {
moreAsync(function(error, result) {
evenMoreAsync(function(error, result) {
// ... I think you got it
});
});
});
});
};

miércoles, 10 de junio de 2015



Librerías Clave en Node.js

Las librerías a continuación no son las únicas que existen, y no son camisa de fuerza; tu puedes usar las librerías que quieras y que se ajustan más a tus necesidades en https://npmjs.org/ encontraras muchos paquetes que puedes usar con su respectiva información.

Librerías globales SUPERVISOR https://github.com/isaacs/node-supervisor

$ npm install -g supervisor

Cuando estamos trabajando en Node es necesario tener que compilar el código cada vez que hacemos un cambio.

SUPERVISOR reinicia la aplicación ante cualquier cambio, con la ventaja de que al ocurrir cualquier error en nuestro código, el servidor continúa su ejecución; al producirse un error, “supervisor“ avisará en la consola y mantendrá el servidor siempre despierto.

NODE-INSPECTOR
https://github.com/node-inspector/node-inspector

$ npm install -g node-inspector

Node-Inspector es una interfaz de depuración de Node.js utilizando las herramientas de desarrollo Blink (ex WebKit Web Inspector).

El depurador Blink es una gran interfaz depuradora de javascript, que funciona igual de bien para Node. Nodo Inspector es compatible con casi todas las características de depuración de DevTools.

- Navegar en los archivos de origen
- Establecer puntos de interrupción
- Interrumpir en excepciones
- Continuar a la ubicación
- Desactivar / activar todos los puntos de interrupción
- Inspeccione ámbitos, variables, propiedades de objeto
- Editar las variables y propiedades de objeto


Debugging con node-inspector

1. En la terminal escribimos
$ node —debug ruta/a/tuprogram.js
2. Vamos a http://127.0.0.1:8080/debug?port=5858 en Chrome
Listo debería poder verse la fuente javascript de Node.

FOREVER

https://github.com/nodejitsu/forever

Este la forma de correr demonios en Node, es una herramienta CLI para asegurar que un paquete determinado de node se ejecuta continuamente.

$ npm install -g forever

Nota: Para instalar forever se debe ser el administrador (sudo)

Hay dos formas distintas de utilizarlo siempre: a través de la interfaz de línea de comandos, o exigir el módulo para siempre se ejecute en su propio código.

Nota: Con FOREVER podemos mantener en constante ejecución a node-inspector, y si queremos cambiarlo de puerto.

Librerías locales UNDERSCORE
http://underscorejs.org/

$ npm install underscore --save

Underscore.js es una biblioteca de utilidades para JavaScript que proporciona apoyo a los sospechosos habituales funcionales (each, mapa, reducir, filtros ...) sin extender cualquier objeto de JavaScript.

SWIG
http://paularmstrong.github.io/swig/

$ npm install swig --save

Es un motor de plantillas basado en Node y Javascript; al igual que en Django en los templates se trabaja con Tags {% %} y Filtros {{ }} para construir las plantillas.
Ej.
{% block title %}Backend pro{% endblock %} {% block head %} {% endblock %} {% block content %}{% endblock %} Luego de construir la plantilla se renderiza en el server.

1. Requiere el paquete swig en el servidor.
swig = require('swig'); 2. Construir la vista del motor, para renderizar tu plantilla
server.engine('html', swig.renderFile ); 3. Renderizar los templates
server.set('views', './app/views');

Nota: Se esta usando Swig con Express.

CONNECT-REDIS
https://github.com/visionmedia/connect-redis

$ npm install connect-redis –save
Es un paquete de Node que sirve para almacenar sesiones de Redis soportado por node_redis y es increíblemente rápido.

lunes, 8 de junio de 2015



INTRODUCCIÓN A NODEJS

Node debe ser utilizado para aplicaciones en tiempo real básicamente.

Requerimientos:

- NodeJs Descargar - Sublime Text (opcional) Descargar

INSTALACIÓN DE NODE JS

Instalación de Nodejs en Windows, Mac y Linux

Windows
Paso 1: Ir a http://nodejs.org
Paso 2: Descargar el archivo
Paso 3: Instalar NodeJs
Paso 4: Buscar en sus programas instalados: "Node.js Command Prompt"
Paso 5: Teclear node -v para comprobar que se instalo

Deberan tener v0.8.x

Mac

Paso 1: Ir a http://nodejs.org
Paso 2: Descargar el archivo
Paso 3: Instalar NodeJs
Paso 4: Abrir el programa "Terminal"
Paso 5: Teclear node -v para comprobar que se instalo

Deberan tener v0.8.x

Ubuntu

Paso 1: Abrir la terminal
Paso 2: Instalar dependencias así:
> sudo apt-get install build-essential git-core libssl-dev libssl0.9.8Paso 3: Descargar Node
> git clone git://github.com/joyent/nodeDespués entra al folder que acabas de descargar con:
> cd node
Paso 4: Pasar a NodeJs 0.8.4
> git checkout v0.8.4 Paso 5: Compilar e instalar NodeJs
> ./configure
> make
> sudo make installPaso 6: Teclear node -v para comprobar que se instalo

Deberan tener v0.8.x

Node puede estar presente en cualquier carpeta de tu ordenador, como contenedor de apps, solo necesitas un archivo .js y un package.json con la información de la app, ejemplo:

{ "name": "NombreDeTuApp", "version": "0.0.1", "dependencies": { "express" : "3.0.3", "jade" : "0.27.7", "consolidate" : "0.5.0", "socket.io" : "0.9.11" } }

Posteriormente, ejecutar comando: npm install y node instalará las dependencias(librerías) automáticamente...


Imagen 1: Uso de depedendencia xpress, como servidor.

PRIMER ARCHIVO - INICIO DE CONTENEDOR DE APLICACION NODE

EJECUTAR COMANDO DE CONSOLA: node + nombre de archivo

/**EJEMPLO 1 FIRST.JS **/

var http = require('http'); var fs = require('fs'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'image/png'}); fs.createReadStream('../assets/nodejs.png').pipe(res); }).listen(3000); console.log('Server running at http://127.0.0.1:3000');

--------------------------------------------------------------------------------

/** EJEMPLO MODULO PPAL **/

var luis = require('./myModule'); var info2 = require('./info2'); module.exports = { luis : luis, john: { name: 'John Liberal', songs: ['Jeremy', 'Black Hole Sun'], events: ['Beijing', 'Caracas'] }, pam: pam };
/** EJEMPLO INFO2 QUE CONSUME MODULO PPAL **/
var edad = 20; var estado = 'soltera'; function sing(){ console.log('lalalalalal'); } function cry(){ console.log('boo boo boo'); } function getArrested(){ console.log('arrestada'); } module.exports = { sing: sing, cry: cry, getArrested: getArrested, estado: estado };

-----------------------------------------------------------------

/** EJEMPLO LECTURA DE ARCHIVOS **/

/** SECOND.JS **/

var fs = require('fs'); var stream = fs.createReadStream('../assets/events.json'); //CODIFICANDO LOS CARACTERES DEL ARCHIVO A LEGIBLES stream.setEnconding('utf8'); //INICIANDO STREAM stream.on('data', function (chunk) { console.log(chunk); }); //FINALIZANDO STREAM stream.on('end', function () { console.log('finished'); });

-------------------------------------------------------------------

/** EVENTS.JSON **/

{"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }}

lunes, 24 de noviembre de 2014



Instalación:
npm install -g github desde tu consola ó descarga e instala en tu pc con un wizard desde --> http://git-scm.com/download
git init: Inicializa git en el directorio.
git config --global user.email "webmasterluise@gmail.com"
git config --global user.name "Luis Eduardo"
git add -A : Agrega los archivos al branch en el nivel de test.
git commit -m "Commit inicial" : Agrega los archivos al branch en el nivel productivo.
git log : Muestra los cambios.
git checkout master: te mueves al branch "master"
git checkout experimental: te mueves al branch "expermiental".
git log --oneline --graph --all : muestra todos los commits realizados en lista.
git config --global alias.elalias 'log --online --graph --all': creas una variable en git que contiene otra.
FUSIONES
FAST FORWARD (para archivos diferentes entre colaboradores)... "O" para escribir y luego :x
git merge experimental
git branch --merged
git branch "nuevo nombre"
FUSIÓN MANUAL (para cuando dos desarrolladores hacen merge el mismo archivo)
git checkout master
git merge colaboradores
git commit -am "Fusion ejecutada" : el -am es add y merge.
Borrar rama (branch)
git branch -d experimental: borra el branch "experimental"


Github es el workstation de git en la nube.
¿Porqué NIB? ¿Para qué? Con Nib potencias el trabajo de Stylus, lo haces mucho más simple y tienes la habilidad de omitir los prefijos de vendor, con un simple import inicial. Ejemplo: @import 'nib/vendor' , @import 'nib/gradients' , vendor-prefixes: o ms moz webkit .

Instalación: Para descargar referencias e instalar los comandos requeridos en el prompt de tu OS, ejecutar el siguiente comando: npm install -g nib

Integrando Nib con Stylus: Para compilar el archivo .styl integrando nib a stylus se ejecuta el siguiente comando: stylus -u nib -c -w archivo.styl

A continuación una presentación más detallada:



¿Porqué o para que stylus? En resumidas palabras... Limpieza, rápidez, compresión, optimización, visualización, distribución y multiplicidad de css ejecutando un comando de compilación basado en otro .styl.

Instalación: Desde tu consola sea cual sea el OS, siempre y cuando tengas instalado nodejs, ejecutar el siguiente comando: npm install -g stylus. Extraer el archivo comprimido en donde gustes como referencia (ya en el prompt se agregaron los comandos de stylus).

HelloWorld stylus: Crea tu archivo .styl, inyecta parametros, y ve a tu consola de nuevo. Ejecutar desde consola el siguiente comando: stylus -c archivo.styl y será compilado tu archivo .styl a formato .css.
Para probar crea un archivo index.html, en el head has referencia al archivo .css y cada vez que cambies y ejecutes la compilación del archivo .styl podrás ver como cambia el .css y tu página web.

Mantener el compilador de stylus escuchando automáticamente cualquier cambio: Simplemente agrega al comando de compilación la etiqueta "-w" seguida de "-c". Ejemplo: stylus -c -w archivo.styl. El comportamiento será parecido al siguiente: ****** WATCHING ****** COMPILING ****** WATCHING

Subscribe to RSS Feed Sígueme en twitter!