Java Developer Nanodegree
助教微信
udacity公众号
Nanodegree key: nd035 求知若渴,虚心若愚。
Version: 2.0.0
Locale: en-us
Learn enterprise scale back-end development with Java, and be prepared for the software engineering jobs that are in demand at a majority of Fortune 500 companies like Google, Amazon, and more.
Content
Part 01 : Welcome to the Nanodegree
Welcome to the Nanodegree program!
- Module 01: Nanodegree Orientation
- Lesson 01: Nanodegree IntroductionWelcome to the Nanodegree program!
- Concept 01: Welcome to the Nanodegree Experience
- Concept 02: Welcome to the Java Developer Nanodegree program
- Concept 03: Prerequisites
- Concept 04: Meet your instructors
- Concept 05: How to succeed
- Concept 06: What you will learn in this nanodegree
- Concept 07: Access the Career Portal
- Concept 08: Prepare for the Udacity Talent Program
- Lesson 01: Nanodegree IntroductionWelcome to the Nanodegree program!
Module 02: How to Get Help from Peers and Mentors
- Lesson 01: Welcome to UdacityYou are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
- Concept 01: What It Takes
- Concept 02: Project Reviews
- Concept 03: Knowledge
- Concept 04: Mentors and Student Hub
- Concept 05: Community Initiatives
- Concept 06: Meet the Careers Team
- Concept 07: Introduction to the Career Portal
- Concept 08: Access Your Career Portal
- Concept 09: Your Udacity Professional Profile
- Concept 10: Prepare for the Udacity Talent Program
- Lesson 02: Get Help with Your AccountWhat to do if you have questions about your account or general questions about the program.
- Lesson 01: Welcome to UdacityYou are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Module 01: Java Basics
- Lesson 01: Java Refresher CourseLet’s get up to speed with Java
- Concept 01: Java Introduction
- Concept 02: Java Basic APIs
- Concept 03: Java Basic APIs - String
- Concept 04: Java Basic APIs - StringBuilder, StringBuffer, Regex
- Concept 05: Java Basic APIs - Binary Search, Recursion, Big-O Notation
- Concept 06: Collections
- Concept 07: Collections - List
- Concept 08: Collections - Stack and Queue
- Concept 09: Collections - Map and Set
- Concept 10: Environment Setup
- Concept 11: Exception and File IO
- Concept 12: Java Programming Practice Exercises
- Concept 13: Java Refresher Course - Summary
- Lesson 02: Introduction to the Spring Boot frameworkIntroduction to the Spring Boot framework
- Concept 01: Intro to Microservice
- Concept 02: Microservice And MVC framework
- Concept 03: Spring Boot Introduction
- Concept 04: Spring Boot MVC Development Introduction
- Lesson 03: Spring Boot template engineSpring Boot template engine
- Concept 01: Spring Boot Template Engine
- Concept 02: Spring Boot Template Engine - Thymeleaf
- Concept 03: Thymeleaf - Variable
- Concept 04: Thymeleaf - Condition
- Concept 05: Thymeleaf - Loop
- Concept 06: Thymeleaf - Scope
- Concept 07: Thymeleaf - URL
- Concept 08: Spring Boot Unit Test, Hot Swap And Logging
- Concept 09: Spring Boot Form Validation
- Lesson 04: Spring Boot - continuedSpring boot exception, web socket, and package.
- Concept 01: Spring Boot Exception
- Concept 02: Spring Boot Exception- @ControllerAdvise + @ExceptionHandler
- Concept 03: Spring Boot Exception - SimpleMappingExceptionResolver
- Concept 04: Spring Boot Exception Handling - Summary
- Concept 05: WebSocket
- Concept 06: Package Spring Boot Application
- Lesson 05: Create a Chat Room Application with Spring BootIn this project you will create a Chat Room!Project Description - Project: Chat RoomProject Rubric - Project: Chat Room
- Lesson 01: Java Refresher CourseLet’s get up to speed with Java
Module 01: Web Services and APIs
- Lesson 01: OverviewFirst, meet your instructor Kesha and learn about the course. Then, learn a brief overview of web services and how they compare to APIs and microservices.
- Concept 01: Instructor Introduction
- Concept 02: Course Intro
- Concept 03: Web Services & APIs Overview
- Concept 04: Web Services
- Concept 05: Benefits of Web Services
- Concept 06: Web Services vs APIs vs Microservices
- Concept 07: Web Service Demo
- Concept 08: Spring Initializr
- Concept 09: Lab: Test an API
- Concept 10: Recap
- Lesson 02: REST APIsLearn how to build RESTful APIs with Spring Boot, first by learning about the REST architecture, then how to use annotations with REST controllers in Spring Boot.
- Concept 01: Introduction
- Concept 02: Architecture Style
- Concept 03: Case Study: Intro & Maven Dependencies
- Concept 04: Lab I: Build a Dog REST API (Set Up)
- Concept 05: Lab I: Solution
- Concept 06: Case Study: Annotations
- Concept 07: Lab II: Build a Dog REST API (Annotations I)
- Concept 08: Lab II: Solution
- Concept 09: Case Study Continued
- Concept 10: Lab III: Build a Dog REST API (Annotations II)
- Concept 11: Lab III: Solution
- Concept 12: Recap
- Lesson 03: GraphQL APIsDive into GraphQL, a query language for APIs. GraphQL lets calling clients limit the data response to just what is needed.
- Concept 01: Introduction
- Concept 02: Overview
- Concept 03: Schemas
- Concept 04: Operations
- Concept 05: GraphiQL
- Concept 06: Case Study: Steps
- Concept 07: Case Study: Bootstrap & Configure
- Concept 08: Lab I: Build a Dog GraphQL API (Set Up)
- Concept 09: Lab I: Solution
- Concept 10: Case Study: Schema Creation
- Concept 11: Lab II: Build a Dog GraphQL API (Schema)
- Concept 12: Lab II: Solution
- Concept 13: Case Study: Queries & Mutations
- Concept 14: Case Study: Exception Handling
- Concept 15: Lab III: Build a Dog GraphQL API (Queries & Exceptions)
- Concept 16: Lab III: Solution
- Concept 17: Case Study: Testing
- Concept 18: Case Study: GraphiQL
- Concept 19: Lab IV: Build a Dog GraphQL API (Testing)
- Concept 20: Lab IV: Solution
- Concept 21: Recap
- Lesson 04: MicroservicesFind out how Microservices improve on the older monolithic application structure, including how to use Eureka and Spring Data REST for easy development and deployment.
- Concept 01: Introduction
- Concept 02: MSA
- Concept 03: Spring Cloud & Eureka
- Concept 04: Case Study: Eureka Server
- Concept 05: Lab I: Build a Dog Microservice (Eureka)
- Concept 06: Lab I: Solution
- Concept 07: Spring Data REST
- Concept 08: Case Study: Spring Data REST
- Concept 09: Lab II: Build a Dog Microservice (Spring Data REST)
- Concept 10: Lab II: Solution
- Concept 11: Microservice Registration
- Concept 12: Case Study: Registration
- Concept 13: Lab III: Build a Dog Microservice (Registration)
- Concept 14: Lab III: Solution
- Concept 15: Recap
- Lesson 05: SecuritySecurity is key to keeping your information safe - here, you’ll learn how to add security to your APIs to keep out unwanted eyes and avoid undesired changes.
- Concept 01: Introduction
- Concept 02: Security Overview
- Concept 03: Authentication vs Authorization
- Concept 04: Basic Authentication
- Concept 05: Spring Security
- Concept 06: Case Study
- Concept 07: Lab: Secure Your Dog API
- Concept 08: Lab Solution: Secure Your Dog API
- Concept 09: Recap
- Lesson 06: Consuming SOAP & RESTEnable the consumption of SOAP and REST APIs within your own API to further speed up development time and avoid reinventing the wheel.
- Concept 01: Introduction
- Concept 02: Consuming REST
- Concept 03: Case Study: Consume REST
- Concept 04: SOAP & Spring Web Services
- Concept 05: Case Study: WSDL
- Concept 06: Case Study: Code Generation
- Concept 07: Case Study: Client
- Concept 08: Lab: Consume an API
- Concept 09: Recap
- Lesson 07: DocumentationLearn about the importance of documentation and easily implement it with the use of Swagger within your code.
- Concept 01: Introduction
- Concept 02: Importance
- Concept 03: Swagger
- Concept 04: Swagger UI
- Concept 05: Swagger Configuration
- Concept 06: Case Study: Swagger Configuration
- Concept 07: Customizing Swagger
- Concept 08: Case Study: Error Messages
- Concept 09: Lab: Document Your Dog API
- Concept 10: Lab Solution: Document Your Dog API
- Concept 11: Recap
- Lesson 08: Unit & Integration TestsBuild unit and integration tests to give you confidence your application continues to work as intended after making new changes to your code.
- Concept 01: Introduction
- Concept 02: Overview
- Concept 03: Unit Testing
- Concept 04: Case Study: Unit Testing
- Concept 05: Integration Testing
- Concept 06: Case Study: Integration Testing
- Concept 07: Lab: Test Your Dog API
- Concept 08: Recap
- Concept 09: An Emphasis on Testing & Documentation
- Concept 10: Course Outro
- Lesson 09: Project: Build the Backend System for a Car WebsiteIn this project, you’ll create a REST API to store vehicle data, while consuming information regarding location and pricing data from external resources. Also, you’ll document and test your API!Project Description - Build the Backend System for a Car WebsiteProject Rubric - Build the Backend System for a Car Website
- Concept 01: Introduction
- Concept 02: Location Service Code
- Concept 03: Pricing Service Code
- Concept 04: Vehicles API Code
- Concept 05: Instructions
Part 04 : Data Stores & Persistence
Learn about different data stores and how to build persistence for Java applications. Work with relational and non-relational databases, and use Java to read/write and build test cases for MySQL and MongoDB.
- Lesson 01: OverviewFirst, meet your instructor Kesha and learn about the course. Then, learn a brief overview of web services and how they compare to APIs and microservices.
Module 01: Data Stores & Persistence
- Lesson 01: RDBMS & JDBCLearn the basics of a relational database, MySQL and how to use it in your java applications using JDBC.
- Concept 01: Welcome
- Concept 02: RDBMS
- Concept 03: MySQL
- Concept 04: MySQL Datatypes
- Concept 05: Working with tables
- Concept 06: Working with Foreign Keys
- Concept 07: Working with rows
- Concept 08: JDBC
- Concept 09: Database Migration
- Concept 10: Recap
- Lesson 02: Java Persistence APILearn how to write simple, maintainable and flexible persistence layer code using JPA and Spring Data JPA.
- Concept 01: Object Relational Mapping (ORM)
- Concept 02: Java Persistence API (JPA)
- Concept 03: JPA Querying Entities
- Concept 04: Spring Data JPA
- Concept 05: DB Testing
- Concept 06: Recap
- Lesson 03: NoSQL and MongoDBLearn the advantages of NoSQL databases and the basics of MongoDB, a document database.
- Concept 01: NoSQL Databases
- Concept 02: MongoDB
- Concept 03: Working with documents
- Concept 04: Data Modeling
- Concept 05: Recap
- Lesson 04: MongoDB for JavaLearn to use MongoDB in your java applications
- Concept 01: Java Driver
- Concept 02: Working with documents
- Concept 03: Spring Data MongoDB
- Concept 04: DB Testing
- Concept 05: Recap
- Lesson 05: Midterm: Customer Reviews APIYou will build the MySQL part of persistence layer for a REST API that supports the customer reviews section of a product page in an e-commerce application.Project Description - Midterm: Customer Reviews APIProject Rubric - Midterm: Customer Reviews API
- Concept 01: Introduction
- Concept 02: Instruction
- Lesson 06: Final - Customer Reviews APIYou will add support for sorting & filtering reviews to your e-commerce app. Polyglot persistence will be introduced with Review information residing in both MySQL and MongoDB in different shapes.Project Description - Final: Customer Reviews APIProject Rubric - Final: Customer Reviews API
- Concept 01: Introduction
- Concept 02: Instructions
- Lesson 01: RDBMS & JDBCLearn the basics of a relational database, MySQL and how to use it in your java applications using JDBC.
Module 02: Career Services: GitHub
- Lesson 01: Optimize Your GitHub ProfileOther professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.Project Description - Optimize Your GitHub ProfileProject Rubric - Optimize Your GitHub Profile
- Concept 01: Prove Your Skills With GitHub
- Concept 02: Introduction
- Concept 03: GitHub profile important items
- Concept 04: Good GitHub repository
- Concept 05: Interview with Art - Part 1
- Concept 06: Identify fixes for example “bad” profile
- Concept 07: Quick Fixes #1
- Concept 08: Quick Fixes #2
- Concept 09: Writing READMEs with Walter
- Concept 10: Interview with Art - Part 2
- Concept 11: Commit messages best practices
- Concept 12: Reflect on your commit messages
- Concept 13: Participating in open source projects
- Concept 14: Interview with Art - Part 3
- Concept 15: Participating in open source projects 2
- Concept 16: Starring interesting repositories
- Concept 17: Next Steps
Part 05 : Security and DevOps
- Lesson 01: Optimize Your GitHub ProfileOther professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.Project Description - Optimize Your GitHub ProfileProject Rubric - Optimize Your GitHub Profile
Module 01: Security and DevOps
- Lesson 01: Authentication and AuthorizationImplement authentication on a Spring Boot application using a JSON Web token.
- Concept 01: Introduction
- Concept 02: Authentication & Authorization
- Concept 03: Authentication Considerations
- Concept 04: Authentication Protection
- Concept 05: Hashing
- Concept 06: Salting
- Concept 07: How to Pick a Good Hash Function
- Concept 08: Authorization
- Concept 09: JWTs
- Concept 10: eCommerce Starter Code
- Concept 11: JWT Internals
- Lesson 02: TestingLearn fundamental concepts of testing. Learn how to set, write and run tests using Junit, the most popular Java Unit Testing Framework and Mockito.
- Concept 01: Introduction to Testing
- Concept 02: What is Testing and Why Does it Matter?
- Concept 03: Software Development Life Cycle
- Concept 04: Types of Testing
- Concept 05: Introduction to JUnits
- Concept 06: More Advanced Features of JUnit
- Concept 07: Code Coverage
- Concept 08: Mocks
- Concept 09: Mockito
- Concept 10: Best Practices
- Lesson 03: LoggingLearn how to use logging to get better insights into your code and debug your applications more easily. Get practice with two commonly used logging utilities: SLF4J and Log4J.
- Concept 01: Logging
- Concept 02: SLF4J and Log4J
- Concept 03: Log Levels
- Concept 04: Log4J Example
- Lesson 04: SplunkSplunk was founded in 2003 to make sense of machine-generated data. Here you’ll learn about what Splunk can be used for, how to install it, and how to use it for generating dashboards and more.
- Concept 01: Splunk
- Concept 02: Indexing in Splunk
- Concept 03: Deployment Models
- Concept 04: Installation
- Concept 05: Adding Data to Splunk
- Concept 06: SPL Commands
- Concept 07: Forwarders
- Concept 08: Introduction to Visualization and More
- Lesson 05: CI/CDYou’ll learn about various CI/CD tools including git, docker, Jenkins, and more and how to use them to setup a pipeline on an AWS instance.
- Concept 01: CI/CD Introduction
- Concept 02: Git
- Concept 03: Docker
- Concept 04: AWS
- Concept 05: Jenkins
- Concept 06: Bringing it all together
- Concept 07: Course Recap
- Lesson 06: ProjectProject Description - eCommerce ApplicationProject Rubric - eCommerce Application
- Concept 01: Instructions
- Lesson 01: Authentication and AuthorizationImplement authentication on a Spring Boot application using a JSON Web token.
Module 02: Career Services: LinkedIn
- Lesson 01: Take 30 Min to Improve your LinkedInFind your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.Project Description - Improve Your LinkedIn ProfileProject Rubric - Improve Your LinkedIn Profile
- Concept 01: Get Opportunities with LinkedIn
- Concept 02: Use Your Story to Stand Out
- Concept 03: Why Use an Elevator Pitch
- Concept 04: Create Your Elevator Pitch
- Concept 05: Use Your Elevator Pitch on LinkedIn
- Concept 06: Create Your Profile With SEO In Mind
- Concept 07: Profile Essentials
- Concept 08: Work Experiences & Accomplishments
- Concept 09: Build and Strengthen Your Network
- Concept 10: Reaching Out on LinkedIn
- Concept 11: Boost Your Visibility
- Concept 12: Up Next
Part 06 (Elective)__ : Intro to Java Programming
- Lesson 01: Take 30 Min to Improve your LinkedInFind your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.Project Description - Improve Your LinkedIn ProfileProject Rubric - Improve Your LinkedIn Profile
Module 01: Intro to Java Programming
- Lesson 01: Variables and Data TypesDiscover the basic idea behind programing and write your first Java program. Use variables to store and retrieve information.
- Concept 01: Intro
- Concept 02: Course Map
- Concept 03: Hello World
- Concept 04: Print a Line
- Concept 05: The Memory Game
- Concept 06: Variables
- Concept 07: Updating Variables
- Concept 08: Third Bus Stop
- Concept 09: Displaying the Output
- Concept 10: Remembering the Stops
- Concept 11: The Bus Driver
- Concept 12: Variables (Strings)
- Concept 13: String Concatenation
- Concept 14: String Operations
- Concept 15: Variable Names
- Concept 16: Data Types
- Concept 17: Data Types Quiz
- Concept 18: All the Maths
- Concept 19: Casting
- Concept 20: Comments
- Concept 21: The 5th Subject
- Concept 22: Track the Values
- Concept 23: Summary
- Concept 24: Lesson 1 Problem Set
- Lesson 02: Control Flow and ConditionalsUse if-else statements and switch-case statements to write Java programs to tackle any decision making scenario.
- Concept 01: Introducing Control Flow
- Concept 02: Decision Making
- Concept 03: if Statement
- Concept 04: Self-Driving Car
- Concept 05: Recognize Traffic Lights
- Concept 06: Windshield Wipers
- Concept 07: Variable Scope
- Concept 08: What’s the Scope?
- Concept 09: else Statement
- Concept 10: else-if
- Concept 11: Multiple else-if’s
- Concept 12: Boolean Expressions
- Concept 13: Evaluate these Expressions
- Concept 14: The Art Museum
- Concept 15: Tickets to the Museum
- Concept 16: Complete Museum Code
- Concept 17: Logical Operators
- Concept 18: Order of Operations for Logical Operators
- Concept 19: Logical Operators Practice
- Concept 20: true or false?
- Concept 21: Nested if Statements
- Concept 22: Restaurant Rating
- Concept 23: switch Statement
- Concept 24: switch(month)
- Concept 25: Conclusion
- Concept 26: Lesson 2 Problem Set
- Lesson 03: FunctionsCreate functions in Java. Declare methods with input arguments and return types. Then, call the functions you create.
- Concept 01: Introducing Functions 1
- Concept 02: Introducing Functions 2
- Concept 03: What is a Function?
- Concept 04: Importance of Functions
- Concept 05: Function Definition
- Concept 06: Practice with Syntax
- Concept 07: Calling Chorus
- Concept 08: Play Music
- Concept 09: Parameters and Arguments
- Concept 10: Weather Arguments
- Concept 11: Variable Temperature
- Concept 12: Rollercoaster Parameters
- Concept 13: Multiple Parameters Intro
- Concept 14: Multiple Parameters
- Concept 15: Argument Order
- Concept 16: Liking Photos
- Concept 17: Return Values
- Concept 18: Popular Photos
- Concept 19: Return Photo Likes
- Concept 20: What’s Missing?
- Concept 21: Making Change
- Concept 22: Random Numbers
- Concept 23: Rolling Dice
- Concept 24: Consider All Sides
- Concept 25: Improved Dice Roll
- Concept 26: Power of Functions
- Concept 27: Java Documentation
- Concept 28: Read this Doc
- Concept 29: Importance of Documentation
- Concept 30: Java Documentation Comments
- Concept 31: Complete this Doc
- Concept 32: Conclusion
- Concept 33: Lesson 3 Problem Set
- Lesson 04: LoopsUse for and while loops to iterate over a block of code. Learn how to write nested loops. Use 2D arrays to store and retrieve information.
- Concept 01: Alarm
- Concept 02: How Many Repeats?
- Concept 03: While Loops
- Concept 04: Googol
- Concept 05: Yahtzee
- Concept 06: It’s a Match
- Concept 07: Three Dice
- Concept 08: Roll a Yahtzee
- Concept 09: Warning Alert
- Concept 10: For Loops
- Concept 11: Loop Counters
- Concept 12: Count the Blocks
- Concept 13: Not Just Increment
- Concept 14: Counting Down
- Concept 15: Step Faster
- Concept 16: Break
- Concept 17: Know When to Quit Intro
- Concept 18: Know When to Quit Quiz
- Concept 19: Know When to Quit Solution
- Concept 20: Press Conference
- Concept 21: Arrays
- Concept 22: Array Index Intro
- Concept 23: Array Index Quiz
- Concept 24: Press Conference Part 2
- Concept 25: Arrays and Loops
- Concept 26: Rubik’s Cube Championship
- Concept 27: Find the Longest Name
- Concept 28: What if There’s a Tie?
- Concept 29: 2D Arrays
- Concept 30: Sandra’s Grade
- Concept 31: Iterating Over 2D Arrays
- Concept 32: Nested Loops
- Concept 33: Inside a Nested Loop
- Concept 34: How Nested Loops Work
- Concept 35: Summary
- Concept 36: Lesson 4 Problem Set
- Lesson 05: IntelliJ and DebuggingPrepare for your next project by installing Java and IntelliJ, debugging your code, and applying the skills learned in previous lessons.
- Concept 01: Introduction
- Concept 02: JDK
- Concept 03: Mac: Install Java Development Kit
- Concept 04: Windows: Install Java Development Kit
- Concept 05: Mac: The Terminal
- Concept 06: Windows: Command Prompt
- Concept 07: Mac: Hello Java!
- Concept 08: Windows: Hello Java!
- Concept 09: Windows: Changing Environment Variables
- Concept 10: IntelliJ
- Concept 11: Mac: Install IntelliJ
- Concept 12: Mac: Install IntelliJ 2
- Concept 13: Windows: Install IntelliJ
- Concept 14: Setup a Project
- Concept 15: IntelliJ Environment
- Concept 16: Hello World in IntelliJ
- Concept 17: Tic Tac Toe
- Concept 18: Download Tic Tac Toe
- Concept 19: Import the Project Code into IntelliJ
- Concept 20: Run the Game!
- Concept 21: The Grid
- Concept 22: 2D Coordinates
- Concept 23: Winning Conditions
- Concept 24: Detect a Win
- Concept 25: What type of error
- Concept 26: Debugging in IntelliJ
- Concept 27: Project Instructions
- Concept 28: Next Steps
- Lesson 01: Variables and Data TypesDiscover the basic idea behind programing and write your first Java program. Use variables to store and retrieve information.
【点击购买】