[pyar] Presentación

Leonardo Otero oteroleonardo en gmail.com
Lun Abr 30 14:17:58 ART 2012


El código que pase es mas bien un ejemplo, no lo describiría como algo
production ready. No es particularmente elegante ya que la conexión a db y
definición de los modelos deberían estar en un módulos aparte y no en el
controller como vos bien indicas, lo ideal seria aprovechar las
convenciones de geddy para ello.
Los creadores de geddy proponen que uses un adapter para el model lo cual
ciertamente es mas elegante, pero como no encontré mucha documentación al
respecto ni estaba del todo claro como obtener resultados mas allá de lo
básico de REST preferí dejar el control de todo a mano. Aunque admito que
un refactor no le vendría nada mal :)

Sobre el tema de adapter en particular te paso este interesante articulo
sobre como crear una geddy todo
list<http://net.tutsplus.com/tutorials/javascript-ajax/creating-a-to-do-list-app-with-node-js-and-geddy/>
.
En el articulo usan ejs pero con poco esfuerzo podrías pasar a jade
(similar a haml) o lo que prefieras.

Saludos
Leo

2012/4/29 Carlos Mathiasen <gunmath987 en gmail.com>

>
>
> 2012/4/27 Leonardo Otero <oteroleonardo en gmail.com>
>
>> Geddy va muy bien, se complica un poco cuando queres llegar a la db. por
>> ahora tenes que usar un model adapter.
>> En mi caso como no necesitaba implementar un restful de la entidad
>> directamente accedo a un modelo mongoose desde el controller:
>>
>
> Interesante esto de mongoose, no lo conocía, va, en realidad no conozco
> nada de nodejs, siempre quise empezar con MongoDB también, así que creo que
> va a ser una buena oportunidad.
> Ahora una pregunta, la conexión la haces en el mismo controller nomas o
> eso está en el otro archivo, es decir en el adaptador??
>
>
>>
>> mongoose = require('mongoose'),
>>     Schema = mongoose.Schema;
>> var schemaMovie = new Schema ({
>>     url           : String
>>     , thumb         : String
>>     , titulo        : { type: String, index: { unique: true } }
>>     , imagen        : String
>>     , sinopsis      : String
>>     , genero        : String
>>     , estreno       : String
>>     , duracion      : String
>>     , distribuidora : String
>>     , actores       : String
>>     , directores    : String
>>     , calificacion  : String
>>     , video         : String
>> });
>>
>>
>> mongoose.connect('mongodb://localhost/popcorn');
>>
>>
>> var Cartelera = mongoose.model('Cartelera',schemaMovie);
>> var Proximos = mongoose.model('Proximos',schemaMovie);
>> var Estrenos = mongoose.model('Estrenos',schemaMovie);
>>
>>
>> var Movies = function () {
>>   this.respondsWith = ['html', 'json', 'xml', 'js', 'txt'];
>>
>>
>>   this.index = function (req, resp, params) {
>>       var self = this;
>>       var result = {
>>                 cartelera: 'comming soon',
>>                 proximos: 'comming soon',
>>                 estrenos: 'comming soon',
>>                 horarios: 'comming soon',
>>                 cines: 'comming soon' };
>>       Cartelera.find({}, function (err, doc){
>>           console.log('Estamos pasando por el callback!!!');
>>
>>
>>           result['cartelera'] = doc;
>>           result['proximos'] = result['cartelera'];
>>
>>
>>           if(err)
>>            self.respond(err);
>>           else
>>            self.respond(result, 'json');
>>
>>
>>       });
>>
>>
>>   this.add = function (req, resp, params) {
>>     this.respond({params: params});
>>   };
>>
>>
>> ...
>>
>>
>> };
>>
>>
>> exports.Movies = Movies;
>>
>>
>>
>>
>> Es interensate destacar como la respuesta recién retorna al cliente
>> cuando se resuelve la llamada al callback que va como parámentro en el
>> find. Mientras que por otro lado index seguramente ya termino su ejecucion
>> hace un buen rato. ;).
>>
>> La principal complejidad que yo le veo a node.js es entender bien como
>> trabajar con callbacks sin generar código con forma de bumerang (o de
>> muñecas rusas), Pero con poco investigar enseguida se encuentra solución a
>> esto también en poco tiempo.
>>
>> Saludos.
>> Leo
>>
>> On Friday, April 27, 2012 9:11:35 AM UTC-3, Carlos Mathiasen wrote:
>>>
>>> Hola, me llamo Carlos Mathiasen, desarrollador de Ruby on Rails hace ya
>>> 2 años, la verdad ruby me gusta mucho, pero me empezó a cansar así que
>>> empecé a buscar algo para aprender y javascript es algo que nunca aprendí
>>> realmente, siempre usé jquery y Nodejs es algo que todavía está verde con
>>> respecto a casos de éxito y eso (por lo que creo y busqué, si estoy
>>> equivocado no duden en decirme), pero es algo que aparentemente viene
>>> pisando fuerte.
>>> Quiero usar algun framework, que me facilite un poco el tema de las
>>> reglas de servidor y conexiones a base de datos.
>>> Me estoy tirando por Geddy[1], parece sencillito y no muy completo, por
>>> lo que me daría pie a aprender cuando me empiezen a faltar cosas.
>>> Si tienen alguna recomendación, la escucho, por ahi hay cosas mejores :).
>>> Bueno y eso nomás, la verdad un gusto poder estar en un grupo desde casi
>>> su comienzo :).
>>>
>>>
>>> [1] http://geddyjs.org
>>>
>>> Matt's
>>>
>>>
>>> 2012/4/27 Federico Ciliberti <ciliberti en gmail.com>
>>>
>>>> Utilicé javascript para hacer una interfáz de usuario dinámica (GUI) de
>>>> un módulo que permite la planificacion de la producción de una línea de
>>>> montaje de una fábrica de cosechadoras. Ahí pude ver el poder y la
>>>> flexibilidad del lenguaje.
>>>>
>>>> Ahora estoy con ganas de armar una arquitectura (javascritp + socket.io+ backbone + node.js + especias varias...) que implemente una tecnología de
>>>> desarrollo orientada a componentes.
>>>>
>>>> Como los componentes son netamente activados por eventos node.js y
>>>> backbone cayeron como anillo al dedo.
>>>>
>>>>
>>>> El 26 de abril de 2012 14:48, Leonardo Otero <oteroleonardo en gmail.com>escribió:
>>>>
>>>> Que les parece si nos presentamos y contamos un poco que estamos
>>>>> haciendo o tenemos pensado hacer con Javascript.
>>>>>
>>>>> Y como soy el de la idea arranco:
>>>>>
>>>>> Vengo investigando Node.js, Mongoose, MongoDB, jsdom, json y
>>>>> actualmente desarrollo por mi cuenta un parser del site de un conocido
>>>>> sitio de cine local para almacenar la data en DB y luego exponerla como
>>>>> servicio JSON a clientes móviles. Cabe destacar que tengo un amigo que
>>>>> desarrolló una app ios (solo iphone por ahora) que hace casi lo mismo pero
>>>>> por su cuenta desde el celular y luego presenta la data. Tenemos pensado
>>>>> migrar su actual capa de datos para que consuma servicios JSON ya se
>>>>> imaginaran provenientes de donde.
>>>>>
>>>>> Este desarrollo lo realizamos como prueba de concepto y puede que en
>>>>> breve estemos migrandolo a un catalogo en linea para clientes móviles que
>>>>> te permita mostrar en principio productos pero bien podría luego
>>>>> evolucionar y soportar, propiedades, hotelería, pasajes etc.
>>>>>
>>>>> De paso el chivo ;)  : Si a alguien le interesa sumarse será
>>>>> bienvenido.
>>>>>
>>>>> Saludos
>>>>> Leo
>>>>>
>>>>> --
>>>>> Has recibido este mensaje porque estás suscrito al grupo "nodesur" de
>>>>> Grupos de Google.
>>>>> Para ver este debate en la Web, visita https://groups.google.com/d/**
>>>>> msg/nodesur/-/JsNEUzfKavgJ<https://groups.google.com/d/msg/nodesur/-/JsNEUzfKavgJ>
>>>>> .
>>>>> Para publicar una entrada en este grupo, envía un correo electrónico a
>>>>> nodesur en googlegroups.com.
>>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>>>>> nodesur+unsubscribe@**googlegroups.com<nodesur%2Bunsubscribe en googlegroups.com>
>>>>> Para tener acceso a más opciones, visita el grupo en
>>>>> http://groups.google.com/**group/nodesur?hl=es-419<http://groups.google.com/group/nodesur?hl=es-419>
>>>>> .
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Saludos.
>>>> Federico Ciliberti
>>>>
>>>>  --
>>>> Has recibido este mensaje porque estás suscrito al grupo "nodesur" de
>>>> Grupos de Google.
>>>> Para publicar una entrada en este grupo, envía un correo electrónico a
>>>> nodesur en googlegroups.com.
>>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>>>> nodesur+unsubscribe@**googlegroups.com<nodesur%2Bunsubscribe en googlegroups.com>
>>>> Para tener acceso a más opciones, visita el grupo en
>>>> http://groups.google.com/**group/nodesur?hl=es-419<http://groups.google.com/group/nodesur?hl=es-419>
>>>> .
>>>>
>>>
>>>
>

-- 
Has recibido este mensaje porque estás suscrito al grupo "nodesur" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a nodesur en googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a nodesur+unsubscribe en googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/nodesur?hl=es-419.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120430/be12b734/attachment.html>


More information about the pyar mailing list