AngularJS Meetup 11/19/13 - AngularJS for MongoDB Continuous Integration

739 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
739
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AngularJS Meetup 11/19/13 - AngularJS for MongoDB Continuous Integration

  1. 1. How AngularJS Made MCI Superheroic Valeri Karpov Kernel Tools Engineer, MongoDB www.thecodebarbarian.com github.com/vkarpov15 @code_barbarian
  2. 2. What is this talk about? •MongoDB Continuous Integration •How AngularJS saved us from BackboneJS hell •Special focus: Filters, the forgotten component *
  3. 3. MongoDB Continuous Integration Q: Who broke what? MongoDB has ~1400 E2E tests Multiply that by 20 different OS configurations And again by Enterprise / non-Enterprise And again by 10-30 commits / day *
  4. 4. MongoDB Continuous Integration 6-12 hours of test execution, too much of this: *
  5. 5. Why is AngularJS important for CI? •“Is something broken?” is easy •Somewhat harder: •“Who broke it?” •“Why is it broken?” •“What happened with previous runs?” •UI needs to make this easy, buildbot doesn’t *
  6. 6. Liberate Tuteme Ex BackboneJS •Waterfall - all results from last 5 builds •800 lines of Backbone, 1000 lines of server helpers •250 lines of AngularJS, 200 lines of server helpers *
  7. 7. What are filters and what do they do? •Rules for converting data to UI-specific format •One-way tie-in to two-way data-binding •Prevent you from drowning in easy tasks *
  8. 8. Ok, what’s a very basic filter? •Build state stored in lowercase •Build status badge should have first letter in caps •Don’t extend String.prototype, use a filter! *
  9. 9. Ok, what’s a very basic filter? •Build state stored in lowercase •Build status badge should have first letter in caps •Don’t extend String.prototype, use a filter! *
  10. 10. Fun with Filters - JIRA Linkify •Commits reference JIRA tickets •Filter to make links using ng-bind-html-unsafe *
  11. 11. Fun with Filters - JIRA Linkify •Filter to make links using ng-bind-html-unsafe *
  12. 12. Fun with Filters - Easy Dates & TZ •Server in Go - times and deltas in nanoseconds •… except when they’re not •Keep dates in UTC but standardize UI on EST *
  13. 13. Next Step: Rethink Log Files •Log files - first step of debugging •Developers still prefer using less or vim •With AngularJS, we can make it better *
  14. 14. Making Log Files Cool (And Useful!) •Multi-highlight (Filters!) •Bottom-up infinite scroll •Search with context a la SublimeText *
  15. 15. Thanks for Listening! •Suggestions for log file viewer most welcome •Filters tutorial coming soon to my blog at: • • * www.thecodebarbarian.com Twitter: @code_barbarian

×