CompoundJS Node on rails

Panašūs dokumentai
Pardavimų aplikacija (Microsoft Dynamics AX (Axapta) sistemai) Diegimo instrukcija bifree.lt qlik.com

DB sukūrimas ir užpildymas duomenimis

Hexagonal Architecture with Ruby on Rails - Šiašiakampe architektura su Ruby on Rails

Programų sistemų inžinerija Saulius Ragaišis, VU MIF

MUITINĖS DEPARTAMENTAS PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS BENDRO NAUDOTOJŲ VALDYMO SISTEMOS, ATITINKANČIOS EUROPOS KOMISIJOS REIKALAVIMUS,

Atviro konkurso sąlygų 4 priedas BENDROJO PAGALBOS CENTRO INFORMACINĖS SISTEMOS APTARNAVIMO PASLAUGŲ TEIKIMO SPECIFIKACIJA 1. Pirkimo objektas Bendroj

Algoritmai ir duomenų struktūros (ADS) 7 paskaita Saulius Ragaišis, VU MIF

Techninė dokumentacija Qlik Sense architektūros apžvalga 2015 m. gruodis qlik.com

PowerPoint pristatymas

Administravimo vadovas SAFTit Pro v3

Algoritmai ir duomenų struktūros (ADS) 2 paskaita Saulius Ragaišis, VU MIF

Priedai

LIETUVOS ITS POLITIKA IR ĮGYVENDINIMAS: STATUS QUO IR ESMINIAI POKYČIAI FORMUOJANT ITS DARBOTVARKĘ GRAŽVYDAS JAKUBAUSKAS Konferencija Intelektinės tra

NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS Tel El. p. NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS PRIE KRAŠTO APSA

LIETUVOS RESPUBLIKOS VALSTYBINIO PATENTŲ BIURO DIREKTORIAUS

PRESTASHOP 1.7 OMNIVA MODULIO DIEGIMO INSTRUKCIJA

PS Testavimo ir konfigūravimo valdymas Užduotis nr. 1. Karolis Brazauskas Mindaugas Rekevičius Jonas Riliškis Eugenijus Sabaliauskas

Slide 1

Slide 1

PowerPoint Presentation

K9 WebProtection (toliau K9) programa yra nemokama asmeniniam naudojimui. Programa suderinama su Windows Vista, Windows 7, Windows 10 ir Mac operacinė

Algoritmø analizës specialieji skyriai

Vienlusčių įtaisų projektavimas

KTU BIBLIOTEKOS PASLAUGOS

Microsoft Word naujienos_platinti.doc

Slide 1

Microsoft Word - Dainius_Jurcikonis.doc

Microsoft Word - 15_paskaita.doc

PowerPoint Presentation

Masyvas su C++ Užduotys. Išsiaiškinkite kodą (jei reikia pataisykite) ir paleiskite per programą. Ciklo skaitliuko įrašymas į vienmatį masyvą: #includ

PowerPoint Presentation

Muzikos duomenų bazės NAXOS Music Library naudojimo vadovas Turinys Kas yra NAXOS Music Library... 2 Kaip pradėti naudotis... 3 Kaip atlikti paiešką..

Microsoft Word - Vadovas senjorams.doc

CPTED in the USA

CE ATITIKTIES DEKLARACIJA Gamintojas arba jo įgaliotas atstovas Europos Sąjungoje: BASE PROTECTION SRL, oficiali būstinė adresu Via dell'unione Europe

VĮ GIS-Centras Vilnius 2019 Palydovinių duomenų peržiūros ir analizės paslauga Naudotojo vadovas v.1

Mokinių kūrybinių darbų vertinimo kriterijai, vertinimo aptarimas

Sveiki virtualieji santykiai Dalyviai ištirs sveikų ir gerų santykių savybes ir kokią įtaką elgesys internete turi sveikiems ir nesveikiems santykiams

MAGENTO 1.9 OMNIVA MODULIO DIEGIMO INSTRUKCIJA

Microsoft Word - Tech irangos specifikacija 4 priedas (patikslinta).docx

NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS Tel El. p. NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS PRIE KRAŠTO APSA

PowerPoint Presentation

Įžanga apie privatumą Dalyviai tyrinės tai, kaip jie patys suvokia privatumą ir kokį poveikį jis daro jų gyvenimams. Dalyviai apžvelgs informacijos, k

SUSITIKIMO VIETA – NAUJAS ITALIJOS LIETUVIŲ TINKLAPIS

274 PRIEDAI K priedas. Elektroninio vartotojo gyvavimo ciklo tyrimo duomenų charakteristikos K.1 lentelė. Klausimyno dalies, skirtos elektroninio vart

AB Linas Agro Group 2018 m. spalio 31 d. eilinio visuotinio akcininkų susirinkimo BENDRASIS BALSAVIMO BIULETENIS GENERAL VOTING BALLOT at Annual Gener

Longse Wi-Fi kameros greito paleidimo instrukcija 1. Jums prireiks 1.1. Longse Wi-Fi kameros 1.2. Vaizdo stebėjimo kameros maitinimo šaltinio 1.3. UTP

VLKK

Style Sample for C&N Word Style Sheet

MHAIA Estimation of Production rd Stage

Socialiniai tinklai ir bendrinimas Dalyviai turės progą pagalvoti apie privatumą, kai internete bendrina informaciją ir bendrauja su kitais, o ypač, k

EUROPOS KOMISIJA Briuselis, C(2017) 4679 final KOMISIJOS ĮGYVENDINIMO SPRENDIMAS (ES) / dėl bendros sistemos techninių standa

Civilinės aviacijos administracija

UAB Talentor Lietuva Perkūnkiemio g. 4A, LT Vilnius Tel.: Privatumo politika Duomenų apsaugos d

PowerPoint Presentation

PRIEDAI 199 G priedas. Skirtingų kartų elektroninių vartotojų portretai G.1 lentelė. Kūkikių bumo kartos elektroninio vartotojo portretas (sudaryta au

Title

KAUNO TECHNOLOGIJOS UNIVERSITETAS ELEKTROS IR ELEKTRONIKOS FAKULTETAS Kamilė Ciechanavičiūtė DEBESŲ KOMPIUTERIJOS PASLAUGŲ TEIKIMO OPTIMIZAVIMAS B2B M

4 skyrius Algoritmai grafuose 4.1. Grafų teorijos uždaviniai Grafai Tegul turime viršūnių aibę V = { v 1,v 2,...,v N } (angl. vertex) ir briaun

PowerPoint Presentation

Java esminės klasės, 1 dalis Išimtys, Įvestis/išvestis

Cloud_sprendimu_salygos.pdf

2019 m. LIETUVOS RESPUBLIKOS BURIAVIMO TAURĖS REGATA BEI VLADIMIRO IR VALERIJAUS MAMONTOVŲ ATMINIMO VĖTRUNGĖS TAURĖ d. NIDA, Lietuva LEN

PRESENTATION NAME

Nuostatai_festivalis_Sokiai_visiems_2016_Alytus

PowerPoint Presentation

Slide 1

Krasta Auto Pasiūlymo data: Pasiūlymo nr.: D BMW i3 (94Ah) automobilio pasiūlymas Kaina (įskaitant PVM 21%) EUR Bazinė automobilio k

Slide 10

Microsoft Word - SDH2.doc

PowerPoint Presentation

XVR įrašymo įrenginys Vartotojo vadovas Versija

P. Kasparaitis. Praktinė informatika. Skriptų vykdymas ir duomenų valdymas Skriptų vykdymas ir duomenų valdymas Įvadas Skripto failas tai M

UAB AMEA Business Solutions Praktiniai IT Sprendimai smulkioms ir vidutin ms mon ms Direktor, Jurgita Vitkauskait , K

I. LIETUVOS MIŠKŲ IŠTEKLIAI Lietuvos miškų išteklių statistiniai rodikliai 2018 m. sausio 1 d. pateikiami pagal sklypinės miškų inventorizacijos (SMI)

Microsoft Word - VMI.doc

LIETUVOS RESPUBLIKOS RYŠIŲ REGULIAVIMO TARNYBOS TINKLŲ IR INFORMACIJOS SAUGUMO DEPARTAMENTO SAUGUMO INCIDENTŲ TYRIMŲ SKYRIUS (CERT-LT) 2016 METŲ VEIKL

PowerPoint Presentation

PowerPoint Presentation

Miglė Tuskienė Mokesčių ir ekonomikos vaidmuo užtikrinant minimalias pajamas

skaitiniai metodai 1

2 priedas

PowerPoint Presentation

PATVIRTINTA Lietuvos banko valdybos 2015 m. sausio 29 d. nutarimu Nr (Lietuvos banko valdybos 2018 m. spalio 30 d. nutarimo Nr redakcij

SKELBIMAS DĖL NEPRIKLAUSOMO KANDIDATO ATRANKOS Į AB,,LIETUVOS VEISLININKYSTĖ VALDYBĄ AB Lietuvos veislininkystė, įmonės kodas , įregistruota

Prekybos terminalas yra naujas ir galingas MetaTrader papildinys

Slide 1

VISŲ TIPŲ IR GAMINTOJŲ MEMBRANINIAI DUJŲ SKAITIKLIAI 1. Skaitiklių savybės. Visų tipų ir gamintojų membraniniai dujų skaitikliai indikuoja vieną rodme

AVK SUPA PLUS COUPLING 621/61 Tensile, for PE and PVC pipes, NF approved EPDM sealing 001 AVK Supa Plus is a range of tensile couplings, flange adapto

Microsoft Word - Apibendrinimas pagal skundus del asmens kodo _galutinis_ doc

Projektas

VERSLO IR VADYBOS TECHNOLOGIJŲ PROGRAMA

Microsoft PowerPoint - IOSrautai.ppt

Transkriptas:

CompoundJS Node on rails

Turinys Node pristatymas Node platformos Sintaksės palyginimas Našumo palyginimas

Node? Kas tai? 1 http = require("http") 2 onrequest = (request, response)-> 3 console.log("request received.") 4 response.writehead(200, {"Content-Type": "text/plain"}) 5 response.write("hello World") 6 response.end() 7 http.createserver(onrequest).listen(8888) 8 console.log("server has started.")

Node? Kodėl?

Augantis populiarumas Google paieškos: "ruby on rails" VS "node.js" Darbo skelbimai: "ruby on rails" VS "node.js" http://www.indeed.com/jobanalytics/jobtrends?q=ruby+on+rails%2c+node.js&l= http://www.google.com/trends/explore#q=node.js%2c%20ruby%20on%20rails&date=10%2f2009%2043m&cmpt=q

O dar kodėl? Nereikia mokytis dar vienos kalbos Auganti bendruomenė Platus platformų, plėtinių pasirinkimas Platesnės kodo perpanaudojamumo galimybės Nesiblokuojantys procesai

Platformos Sails CompoundJs Geddy TowerJs

Sails Naujas Pasirenkama DB Rails tipo generatoriai Shared templates MVC architektūra Orientuotas į backend (JSON by default) Lengvai valdomas per Socket.io

Geddy Rails tipo generatoriai MVC architektūra Templates: EJS, jade, handlebars CSS framework: - Duomenų bazė: laisvai pasirenkama

TowerJs Rails tipo generatoriai MVC architektūra DB: database-agnostic BackgroundJobs: Redis Tests: Jasmine (arba vows, qunit, assert) CSS: stylus (arba less, css) CoffeeScript FTW! visas kodas coffescript by default (arba: js) coffeecup template'ai by default (arba: jasmine, mustache)

CompoundJs Rails tipo generatoriai MVC architektūra DB: Mongo, Redis, Mysql... Tests: nodeunit CSS: stylus (arba less, sass, css) Galimybė viską rašyt coffeescriptu Template: erb, jade (+ twitter bootstrap) Shared kodas tarp browserio ir serverio

Modelis TODO...

Kontroleris load 'application' 1 2 before 'load gift search', -> 3 @giftsearch = null 4 if params.gift_search_id? 5 GiftSearch.find params.gift_search_id, (err, giftsearch) => 6 @giftsearch = giftsearch 7 next() 8 else 9 next() 10 11 action 'index', -> 12 Idea.all (err, ideas) => 13 @ideas = ideas 14 respondto (format) -> 15 format.json -> 16 send code: 200, data: ideas 17 format.html -> 18 render ideas: ideas 19 20 class IdeasController < ApplicationController before_filter :get_gift_search def index @ideas = Idea.all respond_to do format format.html format.json do render json: {data: @ideas.as_json} end end end private def get_gift_search if @gift_search.present? Idea.new(@gift_search.attributes) end @gift_search = GiftSearch.new(defaults) end 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Template (ERB VS EJS) <h1><%=t('ideas.gift_suggestions') %></h1> <table class="table table-striped" id="main-table"> <tr> <th>pavadinimas</th> <th><%= t('helpers.actions') %></th> </tr> <% for(var i = 0; i < ideas.length; i++) { %> <% var idea = ideas[i] %> <tr> <td class="title-area"> <h5><%= idea.title %></h5> Amžius: <%= idea.age_from %> - <%= idea.age_till %> </td> </tr> <% } %> </table> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <h1><%=t 'ideas.gift_suggestions' %></h1> <table class="table table-striped" id="main-table"> <tr> <th>pavadinimas</th> <th><%= t 'helpers.actions' %></th> </tr> <% @ideas.each do idea %> <tr> <td><%= link_to idea.id, idea_path(idea) %></td> <td class="title-area"> <h5><%= idea.title %></h5> Amžius: <%= idea.age_from %> - <%= idea.age_till %> </td> </tr> <% end %> </table> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Template (Slim VS Jade) div(class="page-header") h1=t 'ideas.gift_suggestions' table(class="table table-striped", id="main-table") thead tr th ID th Pavadinimas th= t('helpers.actions') tbody each idea in ideas tr td= link_to(idea.id, pathto.idea(idea)) td.title-area h5= idea.title Amžius: #{idea.age_from} - #{idea.age_till} div class="page-header" h1=t 'ideas.gift_suggestions' table class="table table-striped", id="main-table" thead tr th ID th Pavadinimas th= t 'helpers.actions' tbody - @ideas.each do idea tr td= link_to idea.id, idea_path(idea) td.title-area h5= idea.title Amžius: #{idea.age_from} - #{idea. age_till}

Routes exports.routes = (map)-> map.resources 'ideas' GiftAdvisor::Application.routes.draw do resources :ideas map.namespace "admin", (admin)-> admin.resources 'relationships' namespace :admin do resources :relationships end map.resources 'shops', (shops)-> shops.resources 'products' resources :shops do resources :products end map.root("ideas#index") root to: 'ideas#index' map.all ':controller/:action' map.all ':controller/:action/:id' match ':controller(/:action(/:id))(.:format)' end

Platformų našumas http://www.techempower.com/blog/2013/04/05/frameworks-round-2/

Klausimai?

Ačiū! :)