I am currently watching some really interesting YouTube videos.
They contain lectures of a course called "Software as a Service" which took place in Berkeley in Fall 2012.
So if you are interested check out the link:
Computer Science 169, 001 - Fall 2012
My notes about the videos, I already watched:
Lecture 1:
Instructions, Overview, Programming Models (Waterfall Model, Spiral Lifecycle, Agile Manifesto), Testing, Formal Methods, Productivity, DRY, SaaS
Good overview. I already knew most of the content.
Lecture 2:
SOA vs. SW silo: good explanation
SaaS infrastructure, clusters, cloud computing, fallacies and pitfalls
Pair programming: learned some new views about pair programming
Introduction to ruby: interesting language, not relevant for my thesis
Lecture 3:
All about ruby: everything is an object, poetry mode, ruby oop, meta programming, loops ...
Very interesting programing language, quite efficient syntax, little code does a lot of work
Lecture 4:
High level view of architecture: very good overview
The model view controller-pattern: how to organize data
CRUD: create, read, update, delete
Data mapper vs relational databases (good to know about), REST (good explanation)
Rails as an MVC-framework: not really interesting for me
Lecture 5:
MVC-Framework - Model: Databases & Migrations, automation
Rails cookbock: Not important for my project as I don't use rails
#1: Adding features (model, view, controllers)
#2: Add a new action to a rails app
#3: Create a new submitable form
Everything that is important and big should be stored in a database!
Lecture 6:
Debugging,
RASP (Read, Ask, Search, Post): Sounds plausible
MVC: Thin controllers and views, put real code in models
Test driven design (TDD): tests implementation
Behavior Driven Design (BDD): write requirements down as user stories
User stories: 1-3 sentences in everyday language, fits on 3x5 inch card, write with customer, should be SMART (Specific, Measurable, Achievable, Relevant, Timeboxed): want to implement that for project
Cucumber and Capybara: Rails specific
UI: storyboard, am I allowed to put a storyboard in a scientific paper?
General question: Am I allowed to cite something from the Berkeley-course in my paper? Or are quotations only allowed from books and well known web sites?
MVC: Thin controllers and views, put real code in models
Test driven design (TDD): tests implementation
Behavior Driven Design (BDD): write requirements down as user stories
User stories: 1-3 sentences in everyday language, fits on 3x5 inch card, write with customer, should be SMART (Specific, Measurable, Achievable, Relevant, Timeboxed): want to implement that for project
Cucumber and Capybara: Rails specific
UI: storyboard, am I allowed to put a storyboard in a scientific paper?
General question: Am I allowed to cite something from the Berkeley-course in my paper? Or are quotations only allowed from books and well known web sites?
Lecture 7:
MVC: the
View-Layer: Haml = HTML on a diet
Explicit scenarios: part of acceptance tests
Implicit scenarios: logical consequence of explicit requirements
Imperative: specifying logical consequences, often complicated
Declarative: try to make a domain language from steps, better choice
Pitfalls: customers who confuse mock-ups with completed features, sketches without storyboards, adding cool features that do not make the product more successful, trying to predict which code you need, before you need it --> sounds all logical
Remember: debugging sucks, testing rocks :-)
HTML: general overview, invented by IBM: not a lot of new stuff for me
CSS: introduction: I already learned about it
Comments should describe things that aren’t obvious in the code: why not what!
Explicit scenarios: part of acceptance tests
Implicit scenarios: logical consequence of explicit requirements
Imperative: specifying logical consequences, often complicated
Declarative: try to make a domain language from steps, better choice
Pitfalls: customers who confuse mock-ups with completed features, sketches without storyboards, adding cool features that do not make the product more successful, trying to predict which code you need, before you need it --> sounds all logical
Remember: debugging sucks, testing rocks :-)
HTML: general overview, invented by IBM: not a lot of new stuff for me
CSS: introduction: I already learned about it
Comments should describe things that aren’t obvious in the code: why not what!
Lecture 13:
Measuring Productivity: Pivotal Tracker (I already created a project with pivotal tracker for my thesis)
Effective Meetings: SAMOSAS (Start, Agenda, Minutes, One, Send, Action, Set): sounds really useful
Version Control Systems: history, Git, solving conflicts, effective branching, forks, pitfall: good overview
I will update this post entry with every lecture I watch.
Tanja