Zhaopeng Wang

Zhaopeng Wang

Techdegree Graduate

Shanghai

Software Developer

32,207

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Job Title

    Software Developer

  • Spoken Languages

    • English
    • Chinese
  • Looking for work

    Yes

322 Achievements

  • Unit Testing
  • Digging Deeper Into Migrations
  • Getting Started with Using Migrations
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • CRUD Operations
  • LINQ Queries
  • Extending Our Entity Data Model
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Data Persistence & ORMs
  • Entity Framework and Databases
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Go Syntax Overview
  • What is Big Data
  • How To Test
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Introducing Vue
  • Why Test
  • Advanced Tooling
  • IDE Exploration
  • How it Works
  • Day 1: Joining Tables
  • Interfaces in Java
  • Java Maps
  • Generics in Java
  • Java Inheritance
  • Java Lists
  • The Merge Sort Algorithm
  • How Jenkins Works
  • Writing a Classifier
  • Building a Linked List
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Gotchas and Wins
  • Iteration
  • Creation
  • Delivering the MVP
  • Exploring Arrays
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Introducing Entity Framework
  • Finishing Our CRUD Web App
  • Adding Form Validation
  • Improving Our Form
  • Creating a Basic Form
  • Introducing CRUD Applications
  • Query Builder
  • Query Operators
  • Functional!
  • Orientation: Selecting Data
  • Now You're Querying!
  • Adding a List Page
  • Modeling and Presenting Data
  • Directories and Files
  • The Command Shell
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Views
  • Controllers
  • Completing Our Service
  • Building Our Service
  • Data Retreiver
  • Serialized!
  • Data Parser
  • Planning Our Service
  • Sets and Dictionaries
  • Lists
  • Arrays
  • Demystifying the Portfolio
  • Data Reader
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Project Setup
  • Abstraction
  • System.Object
  • Polymorphism
  • Loops and Final Touches
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • Perfect
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • Prototyping Designs in Adobe XD
  • Introducing Adobe XD
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Introducing Sketch
  • Scrum Artifacts
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Practicing Getters and Setters
  • Practicing Classes
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Building API Routes in Express
  • Practicing Object Basics
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Introducing IntelliJ and Unpacking Packages
  • Integrating 3rd Party APIs
  • Implementing Redux
  • Implementing React Native
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Working By Yourself
  • Hello, GitHub!
  • Building a REST Service
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Classes
  • Objects and New Collection Types
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • ES2015 Basics
  • The Cooler Parts of ES2015
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Installing WordPress Locally
  • What Is WordPress?
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Creating the MVP
  • Harnessing the Power of Objects
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Introducing Spreadsheets
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Express
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Go Further With Mongo
  • Getting Started with Java
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Practice forEach
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Thinking in Components
  • First Steps in React
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Getting the REST You Need 2
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Getting Started with CSS
  • Better SEO Through Content
  • Introduction to SEO
  • Perform
  • Why React Native
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • AJAX Concepts
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • Getting a Handle on the DOM
  • The Browser Environment
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Console I/O
  • Prepare and Plan
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Finishing the Game
  • Introducing JavaScript
  • Ordering, Limiting and Paging Results
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • HTML First
  • Beginning HTML and CSS
  • PHP Includes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Arrays
  • PHP Conditionals
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Newbie