Difference between revisions of "DPS909 & OSD600 Winter 2018"

From CDOT Wiki
Jump to: navigation, search
Line 211: Line 211:
 
** [[OSD600 and DPS909 Winter 2018 Lab 5|Lab 5]]
 
** [[OSD600 and DPS909 Winter 2018 Lab 5|Lab 5]]
 
** Continue working on [[OSD & DPS909 Winter 2018 Release 0.2|Release 0.2]]
 
** Continue working on [[OSD & DPS909 Winter 2018 Release 0.2|Release 0.2]]
 +
 +
== Week 10 ==
 +
 +
* Testing
 +
** Unit Tests
 +
** Regression Tests
 +
** Performance Tests
 +
** Integration Tests
 +
** Fuzz Tests
 +
** Stress/Load Tests
 +
** Smoke Tests
 +
 +
* JavaScript Testing Examples
 +
** https://medium.com/welldone-software/an-overview-of-javascript-testing-in-2018-f68950900bc3
 +
** Frameworks - [https://mochajs.org/ mocha], [https://facebook.github.io/jest/ jest]
 +
** Assertions - [http://www.chaijs.com/ chai], [https://facebook.github.io/jest/docs/en/expect.html Jest expect]
 +
** Test Runners - [https://karma-runner.github.io/2.0/index.html karma]
 +
** Browser Environments - [https://github.com/GoogleChrome/puppeteer Puppeteer], [https://github.com/jsdom/jsdom jsdom]
 +
** Code Coverage - [https://gotwarlost.github.io/istanbul/ istanbul]
 +
 +
* Continuous Integration
 +
** Most are free for Open Source projects
 +
** [https://travis-ci.com/ Travis CI]
 +
** [https://www.appveyor.com/ AppVeyor]
 +
** [https://circleci.com/ CircleCI]
 +
** Example in VSCode https://github.com/Microsoft/vscode/pull/46117
 +
 +
** Writing tests in Bridge Troll

Revision as of 11:26, 19 March 2018

Week 1

  • Some questions:
    • When you hear "open source," what comes to mind?
    • On a scale from 1 (not at all) to 5 (very)...
      • How comfortable are you working with technology you've never seen before?
      • How curious are you about how things work?
      • How likely are you to stick with a problem when it gets hard to solve?
      • How likely are you to ask for help when you get stuck?
      • How likely are you to pause your own work in order to help someone else who is stuck?
      • How self-motivated are you?
      • How self-directed are you?
  • How to have Success in this course:
    • Willingness to be lost and not panic
    • Willingness to put yourself out there, jump in
    • Curiosity
    • Being driven, persistence
    • Willingness to ask for help
    • Willingness to give others help
    • Independent learning
    • Doing more than the bare minimum
  • Let's talk about Copyright and Open Source Licenses
      • IANAL: "I Am Not A Lawyer"
      • We're going to explore licensing from the POV of a developer participating in open projects
  • Copyright (Copyright in Canada video)
    • Who created it, "owns" it.
    • Set of exclusive rights granted to the work's creator
    • "The right to copy," to produce or reproduce a work or substantial portion thereof
    • Copyright is automatic when a work is created, you don't have to register it.
    • Copyright in Canada
    • Copyright Guide
    • In a software project, there can be many copyright holders (e.g., many contributors), or all contributors may assign their copyright to the project (e.g., CLA, which we'll cover later)

Week 2

  • Licenses
    • Rights, privileges, responsibilities, etc. applicable to someone other than the work's creator
    • "Terms and Conditions"
    • These must be granted by a copyright holder

Week 3

Week 4

Week 5, 6

Week 8

  • Open Data, Open Standards, Open Soure
  • Building a Business on Open?
  • Open Standards: ECMAScript and WHATWG, W3C
  • How and Why to Read a Standard: example URL()
  • Participation in Standards Processes: maintenance (e.g., docs, correcting things) and evolution (e.g., adding new aspects, standardizing ad hoc things)
  • Case studies: iframe @sandbox "parallizable"
  • Comparing “big” vs. “small” contribution: working on standards is about as big as it gets.
  • Discussion open source (and technology in general) as it exists in Europe vs North America, trends, opportunities, etc.

Week 9

Week 10

  • Testing
    • Unit Tests
    • Regression Tests
    • Performance Tests
    • Integration Tests
    • Fuzz Tests
    • Stress/Load Tests
    • Smoke Tests
    • Writing tests in Bridge Troll