Daj się wyręczyć

1,210 views

Published on

Moja prezentacja o automatyzacji pracy przygotowana na wiosenną edycję WordUp Kraków.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,210
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Daj się wyręczyć

  1. 1. DAJ SIĘ WYRĘCZYĆ Tomasz Dziuda WordUp Kraków Wiosna@2014
  2. 2. –Typowy Klient po odkryciu gotowców w projekcie “Dlaczego chce Pan za to zlecenie X złotych skoro korzysta Pan z gotowego motywu?”
  3. 3. NIE O TYM JEST TA PREZENTACJA ;-)
  4. 4. Źródło: (https://twitter.com/iamdevloper/status/458263644628078592)
  5. 5. ZŁOŻONOŚĆ PROJEKTÓW WWW ROŚNIE
  6. 6. A CZAS TRWANIA DOBY SIĘ NIE ZMIENIA
  7. 7. AUTOMATYZACJA?
  8. 8. AUTOMATYZACJA?
  9. 9. AUTOMATYZACJA?
  10. 10. AUTOMATYZACJA?
  11. 11. CO WARTO ZAUTOMATYZOWAĆ?
  12. 12. • Powtarzalne czynności
  13. 13. • Powtarzalne czynności • Zadania w których łatwo można zaprogramować kolejne etapy
  14. 14. • Powtarzalne czynności • Zadania w których łatwo można zaprogramować kolejne etapy • Warto zwracać uwagę na złożoność i zasobożerność rozwiązania automatycznego
  15. 15. JAK ŻYĆ AUTOMATYZOWAĆ?
  16. 16. WYGODNY EDYTOR
  17. 17. SUBLIME TEXT
  18. 18. EMMET ul>li*3>a <ul> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=“"></a></li> </ul> -webkit-box-sizing: ; -moz-box-sizing: ; box-sizing: ; -box-sizing: ;
  19. 19. AUTOPREFIXER
  20. 20. LINTER
  21. 21. EMMET LIVESTYLE
  22. 22. LESS PARSER [brak screena] On po prostu działa ;-)
  23. 23. PRZYDATNE WTYCZKI Emmet (http://emmet.io/) ! Emmet Live Style (http://livestyle.emmet.io/) ! AutoPrefixer (https://github.com/sindresorhus/sublime-autoprefixer) ! Linter (https://github.com/SublimeLinter/SublimeLinter) ! LESS Parser (https://github.com/timdouglas/sublime-less2css)
  24. 24. ALTERNATYWY Codekit (https://incident57.com/codekit/) ! Grunt.js (http://gruntjs.com/) ! Atom (https://atom.io/) ! Wypasione IDE ;-)
  25. 25. SCAFFOLDING
  26. 26. $ npm install -g yo generator-wordpress ! $ yo wordpress
  27. 27. PRZYDATNE GENERATORY YeoPress (https://github.com/wesleytodd/YeoPress) ! generator-wp-theme (https://github.com/danielauener/generator-wp-grunted-theme) ! generator-wp-plugin-boilerplate (https://github.com/thiagolcks/generator-wp-plugin-boilerplate)
  28. 28. ALTERNATYWY Brunch (http://brunch.io/) ! ! Loom (https://github.com/rpflorence/loom)
  29. 29. UNIKANIE NUDNYCH ZADAŃ
  30. 30. JAK TO DZIAŁA? • Tworzymy package.json • Tworzymy Gruntfile.js • Wchodzimy do katalogu z projektem • Aktualizujemy wszystkie zależności z package.json poprzez npm install • Uruchamiamy zadania komendą grunt lub grunt <nazwa_zadania>
  31. 31. GRUNTFILE.JS • Funkcja otaczająca • Konfiguracja grunta i zadań • Załadowanie wtyczek i zadań • Definicje własnych zadań (domyślne zadanie ma nazwę “default”)
  32. 32. module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy- mm-dd") %> */n' }, build: { src: 'src/<%= pkg.name %>.js', dest: 'build/<%= pkg.name %>.min.js' } } }); ! grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.registerTask('default', ['uglify']); };
  33. 33. PRZYDATNE TASKI • grunt-csscss • grunt-jsbeautifier • grunt-cssbeautifier • grunt-contrib-jshint • grunt-contrib-less • Więcej na: http://gruntjs.com/plugins
  34. 34. ALTERNATYWY Gulp.js ! (http://gulpjs.com/)
  35. 35. AUTOMATYCZNE WYKLIKIWANIE
  36. 36. CASPER.JS
  37. 37. var casper = require('casper').create({ verbose: true, logLevel:“debug", onError: function(self, m) { console.log('FATAL:' + m); self.exit(); }, viewportSize: { 'width': 1280, 'height': 1024 } });
  38. 38. casper.start(); ! casper.setHttpAuth('admin',‘demo'); ! casper.thenOpen('http://domain.com/administrator/index.php', function() { this.echo('Logged to HTACCESS', 'INFO'); });
  39. 39. casper.then(function() { this.fill('#form-login', { 'username': 'admin', 'passwd': 'demo' }, true); ! this.captureSelector(‘admin.png', '#main'); }); ! casper.run();
  40. 40. ALTERNATYWY Phantom.js (http://phantomjs.org/) ! Slimer.js (http://slimerjs.org/) ! Nightwatch.js (http://nightwatchjs.org/)
  41. 41. I WIELE INNYCH SPOSOBÓW
  42. 42. DLA MIŁOŚNIKÓW KONSOLI WP-CLI (HTTP://WP-CLI.ORG/) ! DICTATOR (HTTPS://GITHUB.COM/DANIELBACHHUBER/DICTATOR) ! (HTTP://TORQUEMAG.IO/DIVING-INTO-DICTATOR-A-PROVISIONING-TOOL-FOR-WORDPRESS/)
  43. 43. TESTY JEDNOSTKOWE Jak pisać testy jednostkowe dla wtyczek (https://speakerdeck.com/tierra/unit-testing-wordpress-plugins) ! Travis CI (https://travis-ci.org/) ! QUnit (http://qunitjs.com/)
  44. 44. KONTAKT Lead Developer @ www.gavick.com ! @dziudek ! http://wp.dziudek.pl ! http://zebymniezapomnial.tumblr.com !
  45. 45. PYTANIA?

×