shortcuts:
TOC
NanoTwitter
search:
Demo TDD
Test Driven Development
One of the central ideas from Agile Software Methodology
But it has been applied too dogmatically
All your code should be covered by tests
But not all of it needs to be developed via test-driven-development
What is it?
It is always done with as an extension to automated testing
Core idea: write the tests before you write the code
Sounds counter-intuitive!
Allows you to think of making your API clean before you worry about how to implement it
Allows you to build up your functionality with confidence of a solid foundation
Prepares you to be able to introduce refactoring with confidence
Money Demo
Goal: A Money class
represent money in different currencies
What are all the operations you would want to do with them?
As a client how do you want to call them?
Discuss with a neighbor how you would write the test
Intro
Cosi105 - Scalability 2022 Syllabus
List of lectures
nanoTwitter
Homeworks
Lectures
Web Apps + Sinatra
Welcome
What is Scalability?
Cosi166 Quick Bullets
Intro to Sinatra
Sinatra and Twitter
NanoTwitter introduced
nano Twitter
Starting to think about scaling
Scaling at Hubspot
Service Oriented Architecture
Deploying to the Cloud
Scalable Service design
Scalability, continued
Testing in the world of SOA
Scaling Patterns
Testing Scalability
Tuning for Scale
Logging
Caching
Database Tuning 1
Database Tuning 2
Concurrency 1
Concurrency 2
Queueing
SOA + µservices
Software Engineering
Scalability Runoff 1
Last class!
Background
Technical Presentations
Misc Links and Resources