Entradas

Mostrando entradas de abril, 2009

Jugando a ser Dios (haciendo un DSL)

Como vimos antes no es muy dificil crear meta lenguajes o lenguajes de dominio especificos con Javascript. Pero como no se me habia ocurrido una aplicación especifica, deje pasar el hecho de no mostrar un DSL en concreto. Por suerte hace unos dias, en el trabajo, tuve la necesidad de realizar pequeñas o simple consultas algo parecidas a un SQL muy básico sobre algunas Arrays Javascript, entonces recordé mi post sobre DSL y decidí implementar algunas funcionalidades de javascript para que puedan ver un DSL en funcionamiento. aquí les va (si yo se que el código es largo pero lo voy a comentar bien asi se comprende) //arrSQL.js var arrSQL =(function(){ //usamos una funcion para tener funciones privada //private constructor function _arrSQL(args){ this.sel=[]; this.from=args[0]; this.wh=[]; this.arrayResp=false; return this; }; _arrSQL.prototype = { where:function (crit){ this.wh.push(crit); return this; }, select:function(field){ if(arguments.length===1){

Google Map-Reduce

Bueno vamos a ir un poco al futuro y empecemos a hablar de Grid computing que es muy distinto de cloud computing Cloud Computing: la capacidad de procesamiento de una aplicación, no reside en el cliente, sino en la estructura de servidores. Grid Computing: la capacidad de procesamiento se distribuye en una gran cantidad de nodos, cada nodo procesa una pequeña porción de los datos. es complicado pero piensen asi Cloud Computing puede funcionar sobre Grid Compupting más allá de todo esto Google a liderado el mercado explicando su teoría Map Reduce y ahora podemos ver los primeros avances en implementar estas tecnologías sobre javascript. Porque? porque javascript es el lenguaje más popular del mundo. practicamente todas las PC tienen uno o más interpretes de javascript instalados. De esta forma podríamos distribuir el procesamiento de nuestro set de datos a lo largo de millones de nodos, tantos como browsers seamos capaces de encontrar. http://www.igvita.com/2009/03/03/collaborative-map-