Describe how websites and cloud applications work.
Websites: Browser uses url to to request information from server. Server sends response with HTML, CSS, & Javascript
Cloud applications: request content that server returns similar to website. Built to work seamlessly with cloud-based back-end infrastructure
Identify the technologies you can use to create reactive and responsive websites.
Identify the back-end technologies you can use to create functionality in your websites.
Describe how teams and squads work in a software engineering context.
Teamwork can include:
* Kick-off
* Design & code reviews
* Walkthroughs
* Retrospectives
* Mentoring
Squad
* Used in agile environment methodology
* Small team of up to 10 developers
- Squad leader
- Product developers
- UX developers/designers
* May practice pair programming
Identify the benefits of different pair programming styles.
Driver/navigator - most common
* ‘Driver’ types in the code
* Navigator reviews code as it’s written and giving directions where to go next
* Important to swap roles regularly
Ping-pong
* First developer writes failing test
* Second developer writes code to pass test
* Important to swap roles regularly
Strong style
* Pair junior programmer with experienced one
* Senior is the navigator
* Junior is the driver
Share knowledge & skills
Build soft skills
Fewer typos, logical errors, bugs
Code review on the fly
Identify optimal solution early on
Overall efficiency
Classify common web technologies into front-end and back-end technologies.
Front-end:
Javascript
CSS
HTML
SASS
Angular frameworks
Vue.js
React.js
LESS
Back-end:
XML
JavaScript
JSON
Node.js
Python
Flask
Django
Express
Identify commonly used types of development tools, including version control software, libraries, and frameworks.
Version control
* Examples: Git, GitHub for source code storage and management
Libraries
* Examples: Jquery - javascript; email validator; apache commons
Frameworks
* Examples: Angular JS (dynamic web applications); Vue JS (user interface);Django Python (web development)
Describe how some key developer tools work, including CI/CD tools, build tools, packages, and package managers.
Continuous Integration with Continuous Delivery or Continuous Deployment
Describe software stacks and identify the advantages of three popular stacks.
Software stacks:
* Combination of technologies (software / programming languages)
* Used for creating applications and solutions
* Typically include:
- Front-end technologies like programming languages, frameworks, user-interface tools
- Back-end technologies like programming languages, frameworks, web servers, app servers, operating systems, messaging applications, and databases
MEAN (MongoDB, Express.js, Angular.js, Node.js) (MEVN, MERN)
* Free, open source
* All parts use Javascript, only one language to learn
* Lots of documentation and reusable code for developers
MEVN
* Similar to MEAN, uses Vue.js instead of Angular.js for user interfaces
* Newer, less reusable libraries
LAMP (Linus, Apache, MySQL, Python)
* Open source
* One of oldest stacks
* Lots of reusable code and support