Mike Chabot

Wednesday 3/11

Frontend, Backend, DevOps

2/7

2/21

2/28

3/27

5/22

Team Selection

Client Presentations

Project Proposal

Revised Project Proposal

Final Project Documentation

No class

No class

No class

Project Presentations

5/04

No class

Implementation / Testing / Deployment

75 Days

Let's meet!

Singleton Pattern

same instances!

Restricts to only one instance of a class!

But why ?!

Database Connector

Class 1

Class 2

Class 3

Class 4

Class 5

db = new Database();
db = new Database();
db = new Database();

3 instances!

3x Memory!

Database Connector

Class 1

Class 2

Class 3

Class 4

Class 5

db = Database.getInstance();

1 instance!

db = new Database();
db = Database.getInstance();
db = Database.getInstance();

Start of Application

First Database Access

db = new Database();

Database Connector

Class 1

Class 2

Class 3

Class 4

Class 5

db = Database.getInstance();

1 instance!

db = new Database();
db = Database.getInstance();
db = Database.getInstance();

Start of Application

First Database Access

db = new Database();

Lazy Loading!

Lazy loading is a programming practice in which a component is loaded only at the time of need

class Circle:
    
    instance = None
        
    @staticmethod
    def getInstance():
        
        if Circle.instance == None:
            Circle.instance = Circle()
            
        return Circle.instance
        
public final class Circle {

    private static final Circle INSTANCE = 
      new Circle();

    public static Circle getInstance() {
        return INSTANCE;
    }
}
public final class Circle {

    private static final Circle INSTANCE = null;

    public static Circle getInstance() {
    
    	if (!INSTANCE) {
        	INSTANCE = new Circle();
        }
    
        return INSTANCE;
    }
}

runs at Application Start

runs on demand

Circle.getInstance();

Lazy Loading!

Buy vs. Build

Buy vs. Build

$10,000

$10,000

$10,000

$10,000

$10,000

$500

$500

They just sell this component over 20 times.

Buy vs. Build

No Code Access!

Who fixes bugs?

And, how fast?

What about interfaces between our code and the bought component?

Migration and Support Team!

Super Coder

Expand Your Coding Knowledge

Know As Many Tools As Possible

Improve Your Communication Skills

Think Big Picture

Understand All Solutions Are Not Equal

Build and Break Stuff

The fastest way to becoming a 10xer is to get your 10,000 hours of programming in. This will enable you to perfect your skills and increase your ability to consume and process technical information. No one became an expert overnight, nor between the hours of 9–5. If you really want to become a 10x engineer, you’re going to have to dive in and learn.

10x engineers don’t actually call themselves 10x engineers. They go out and crush it. They build great products, solve hard problems, and make everyone around them better. They’re not just better, they’re faster than your average engineer. You’ll just know a 10xer when you see how they work.

If you dedicate yourself to writing code all the time, and improve your skills in these six areas, you are going to be one hell of an engineer. Anyone will pay top dollar to hire you. Why wouldn’t they? You are a unicorn.

Noun Identification

Technique to define classes and objects

Identify Nouns in Text

Prof. Kenneth Fletcher

A system generates weather maps using data collected from unattended weather stations.  Each weather station collects meteorological data and produces summaries of the data.  On request, it sends the summary information to an area computer.  The area computer uses a database of digitized maps to generate a set of local weather maps.

Noun Identification

Prof. Kenneth Fletcher

A system generates weather maps using data collected from unattended weather stations.  Each weather station collects meteorological data and produces summaries of the data.  On request, it sends the summary information to an area computer.  The area computer uses a database of digitized maps to generate a set of local weather maps.

Noun Identification

Prof. Kenneth Fletcher

CS410 Lecture 15

By Daniel Haehn

CS410 Lecture 15

Slides for CS410 Software Engineering at UMass Boston. See https://cs410.net!

  • 315

More from Daniel Haehn