Resources:
What’s the difference between PUT and PATCH?
- PUT will update the whole object being modified, where PATCH can just update a specific key value in the object.
Provide links to 3 services or tools that allow you to “mock” an API for development like json-server
Compare and contrast Swagger and APIDoc.js
- at a glance it looks like APIDOC.js is more popular and updated more frequently than Swagger
Which HTTP status codes should be sent with each type of (un)successful API call?
- view this resource HTTP Status Codes
Compare and contrast SOAP and ReST
- Resource
- SOAP - Simple Object Acess Protocol
- messaging framework
- uses SOAP protocol
- XML data formating
- typically stateless, but can become stateful
- higher security
- REST - REpresentational State Transfer
- architectural style
- synonymous with HTTP protocol
- CSV, JSON or RSS data formating
- stateless
- easier to develop
Vocab:
- Web Server - a computer instance that listens for HTTP requests on a given URL.
- Express - an unopinionated Node web framework that gives us access to methods and properties that a server would need to use for a server to respond to requests. (HTTP Server) (resource 1/class notes).
- unopinionated means there are fewer restrictions how components interact with one another and how the directory is structured.
- Node - runtime environment for JavaScript to allow JavaScript to run on a computer vs a browser
- Routing - allows you to match character patterns in a URL to extract some values from the URL and pass them as parameters (resource 1). You can use use the express.Router object to group similar routes in their own module.
- Middleware - any function that goes between the request and the response. These functions utlize the next parameter to when the request cycle is not completed.
- WRRC - Web Request Response Cycle
- TDD - Test Driven Development
- write a test to describe what you want a feature to do
- run the test - will fail
- write basic code to pass test
- refactor code
- repeat for each feature
- CI: Continuous Integration - workflow to help ensure new code developed will integrate into the current version of the software
- CD Continuous Delivery - practice of developing software in a way that it could be released at any time
- continuous deployment - an extension of CD that allows for high confidence deployment of new production features
- Which 3 things had you heard about previously and now have better clarity on?
- REST, Express, Node
- Which 3 things are you hoping to learn more about in the upcoming lecture/demo?
- TDD, Middleware, CI/CD
- What are you most excited about trying to implement or see how it works?
- TDD