Consolidated References: Practicum in Software Construction
Course Expectations, Version Control and Open Source
Git Manual:
https://git-scm.com/book/en/v2Open Source Definition:
https://opensource.org/osdFree Software Definition:
https://www.gnu.org/philosophy/free-sw.en.htmlLicense tl;dr:
https://tldrlegal.com/
Managing Dependencies. Introducing Spring
Maven 30 Minute Guide:
https://maven.apache.org/guides/getting-started/index.htmlSpring Rest Getting Started:
https://spring.io/guides/gs/rest-service/Semantic Versioning:
https://semver.org/The formal definition is a bit stuffy. Points up 8 are important to understand though
Using Java Spring to write HTTP Services
- This course does not currently have any references. Please reach out for more information though!
Using JUnit and Cucumber to test your code
Kent C Dodds - Testing:
https://kentcdodds.com/blog/write-testsJUnit 5:
https://junit.org/junit5/docs/current/user-guide/Cucumber:
https://cucumber.io/docs/guides/
Programming Best Practices: Functional and Immutable Programming
Why Immutability Matters:
https://debugged.it/blog/why-immutability-matters/Pure Functions Definition:
https://en.wikipedia.org/wiki/Pure_function
Thinking about software APIs
Example Solution: Assignment 3:
https://github.com/RyanKadri/spring2021-practicum-examples/tree/main/6-apis/housing-data-exampleJeff Bezos API Mandate:
https://nordicapis.com/the-bezos-api-mandate-amazons-manifesto-for-externalization/You won't be directly tested on this but it'sStevey's Platform Rant:
https://gist.github.com/chitchcock/1281611You also won't be tested on this but it's pretty famous and pretty entertaining
Going from the IDE to the internet
SSH Basics:
https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keysInstalling Maven:
https://maven.apache.org/install.htmlSSH on Windows:
https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/It sounds like ssh is included by default with Windows now as long as you're reasonably updated. This link might help if it's still not thereEC2 Reference:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-mate.htmlDefinitely not something to read 100% cover to cover. But if you're curious or need details on a specific bit
Deploying reliable services (and picking them up when they fall down)
Setting up secure access to your account. Using a database
AWS S3 Client Reference:
https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.htmlIt looks like the quick start section of this documentation has a good starter for S3
Using S3 from the Cloud. Exploring Dynamo
Dynamo Examples (GitHub):
https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/example_code/dynamodbAWS Documentation - IAM Roles:
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.htmlAWS Docs can be very verbose. I'd recommend maybe reading the linked session and one or two sub-sections underneath
Automating your Cloud Deployments
Terraform AWS Reference:
https://registry.terraform.io/providers/hashicorp/aws/latest/docsInstalling Terraform:
https://learn.hashicorp.com/tutorials/terraform/install-cli
Modern application deployment
Terraform AWS Reference:
https://registry.terraform.io/providers/hashicorp/aws/latest/docsInstalling Terraform:
https://learn.hashicorp.com/tutorials/terraform/install-cli