Thursday, July 19, 2012

Decimal a Binario en Node.JS

Desde que entre a SAP Labs, he tenido que aprender mas lenguajes de programacion y tecnologias. Una de ellas es Node.JSNode para los amigos...

He estado estudiandolo por un par de dias, porque estuve de vacaciones por una semana, y como siempre hago con los nuevos lenguages de programacion que aprendo, construi una aplicacion de Decimal a Binario -:)

Debo decirlo...no soy un gran fan de JavaScript...solo lo he utilizado un par de veces y lo evito cada vez que puedo, pero Node esta comenzando a cambiar mi punto de vista. Node es realmente impresionante puesto que nos permite crear nuestro propio servidor web y por ende controlar su flujo tal como queramos. Realmente bueno...

Para hacer mi vida mas sencilla, instale Express que es un framework web para Node.

Cree una archivo llamado app.js y una carpeta llamada views donde puse un archivo llamado index.ejb

app.js
var express = require('express')

var app = express.createServer()
app.listen(8000)

function toBinary(Decimal){
 var bnum = 0, bexp = 1, digit = 0, bsum = 0;
 while(Decimal > 0){
  digit = Decimal % 2;
  Decimal = Math.floor(Decimal / 2);
  bsum = bsum + digit * bexp;
  bexp = bexp * 10;
 }
 return(bsum);
}

app.configure(function(){
  app.set('views', __dirname + '/views');
});

app.get('/', function(req, res) {
 res.render('index.ejs', {})
})

app.post('/send', express.bodyParser(), function(req, res) {
 if (req.body && req.body.Decimal) {
  var Binary = toBinary(req.body.Decimal)
  res.send("The Binary number is: " + Binary)
 } else {
  res.send("Please enter a Decimal number")
 }
})

app.get('/tweets', function(req,res) {
 res.send(tweets)
})


index.ejb
<h3>Node.JS - Decimal to Binary</h3>
<form action="/send" method="POST">
Decimal number: <input length="10" name="Decimal" type="text" />
<input type="submit" value="To Binary" />
</form>
Ahora, algunas imagenes...


Desde luego...tengo un largo camino por aprender con Node...asi que espero postear mas muy pronto...

Saludos,

Blag.


No comments: