Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
www.fg.cz
Využití NodeJS pro Javisty
Michal Franc
2
3
4
5
TEST
snadná instalace
množství test runnerů / frameworků / assert
6
var request = require('supertest');
var base = require('../base.js');
request = request(base.baseUrl);
describe('úložišt...
7
var request = require('supertest'); var base = require('../base.js');
var cheerio = require('cheerio'); var should = req...
8
CLI
integrace do command line
9
> npm install –g yo
> sudo npm install -g yo@1.1.2
10
Yeoman – YO
project scaffolding
11
12
• Založení projektu – edeecms generátor
• Načte developer settings
• Provede git pull kostry projektu
• Zeptá se na vla...
13
14
Grunt
task runner
buildování js, css
15
> grunt server
16
> grunt deployWar
17
> grunt deployWar
sshexec: {
deployWar: {
command: [
'cd <%= projectRoot %>/<%= warRoot %>',
'mv ./<%= expandedWar %>'+...
18
NodeJS – npm
Mocha (Jasmine)
Yeoman
Bower
Grunt (Gulp)
19
Proč?
Upcoming SlideShare
Loading in …5
×

Využití NodeJS pro Javisty - jOpenSpace 2014

429 views

Published on

Co může přinést NodeJS pro java vývojáře.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Využití NodeJS pro Javisty - jOpenSpace 2014

  1. 1. www.fg.cz Využití NodeJS pro Javisty Michal Franc
  2. 2. 2
  3. 3. 3
  4. 4. 4
  5. 5. 5 TEST snadná instalace množství test runnerů / frameworků / assert
  6. 6. 6 var request = require('supertest'); var base = require('../base.js'); request = request(base.baseUrl); describe('úložiště obrázky', function() { it('poskytuje uložený obsah dle uri', function(done) { request .get('/storage/pictures/logo.jpg‚) .auth(base.user,base.pass) .expect('Content-Type', /image/) .expect('Cache-Control', /600/) .expect(200, done); }) });
  7. 7. 7 var request = require('supertest'); var base = require('../base.js'); var cheerio = require('cheerio'); var should = require('should'); request = request(base.baseUrl); describe('Úvodní stránka', function() { before(function(done) { request.get('/homepage.html').auth(base.user,base.pass) .end(function(err, res) { if (err) return done(err); this.doc = cheerio.load(res.text); done(); }.bind(this)); }); it('obsahuje zprávy za 1-10dní', function() { this.doc('#middle').find('.one-day-line').length .should.within(1,10); }); });
  8. 8. 8 CLI integrace do command line
  9. 9. 9 > npm install –g yo > sudo npm install -g yo@1.1.2
  10. 10. 10 Yeoman – YO project scaffolding
  11. 11. 11
  12. 12. 12 • Založení projektu – edeecms generátor • Načte developer settings • Provede git pull kostry projektu • Zeptá se na vlastnosti projektu, výběr modulů • Dle výběru zkopíruje složky z kostry • Vygeneruje heslo do db • Založí databázi • Stáhne základní závislosti pro další provoz • Modifikace projektu – subgenerátor • Přidání modulu • Založení databáze
  13. 13. 13
  14. 14. 14 Grunt task runner buildování js, css
  15. 15. 15 > grunt server
  16. 16. 16 > grunt deployWar
  17. 17. 17 > grunt deployWar sshexec: { deployWar: { command: [ 'cd <%= projectRoot %>/<%= warRoot %>', 'mv ./<%= expandedWar %>'+ ' ./backup/<%= expandedWar %>'+ '<%= grunt.template.today("yyyymmdd-HHMMss") %>', 'rm -rf ./<%= expandedWar %>/', 'unzip -o ./<%= warFile %>'+ ' -d ./<%= expandedWar %>', 'rm ./<%= warFile %>', 'find ./backup/ -maxdepth 1 -ctime +3 | xargs rm -rf' ].join(' && '), options: { config: 'sshsettings' } }}
  18. 18. 18 NodeJS – npm Mocha (Jasmine) Yeoman Bower Grunt (Gulp)
  19. 19. 19 Proč?

×