Ker Zhang
seal-mask

Ker Zhang

Techdegree Graduate

Member Since April 8, 2017

29,113

Total Points

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

278 Achievements

  • 5 Star Techdegree Reviewer
  • 5th Techdegree Peer Review
  • Finishing the Game
  • Introducing JavaScript
  • 10th Techdegree Peer Review
  • IDE Exploration
  • How it Works
  • Setting up with Create React App
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • 1st Techdegree Peer Review
  • Exploration
  • Discovery
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Installing Sass and Setting up the Project
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Get Involved in Open Source
  •  Working on a Team
  •  Create a Web Presence on GitHub
  • Getting Started with Express
  • Working By Yourself
  • Hello, GitHub!
  • Flexbox Properties
  • Understanding Flexbox
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Creating an SVG
  • Introduction to SVG
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Getting Started with Redux
  • Structuring Tables
  • Table Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • Introduction to MEAN
  • ES2015 Basics
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Programming AJAX
  • Total Control
  • Basic ORM Usage
  • Same Old ORM
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Inlines and Media
  • Django Model Forms
  • Django Models
  • Django Forms
  • Building Custom Tags
  • Building Custom Filters
  • JavaScript Variables
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • User Input in Android
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Template Tags and Filters
  • Putting It All Together
  • Modelling Solitaire
  • Hello Kotlin!
  • Getting Started with Android
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Writing Your Own Java Annotation
  • File Uploads and Entity Updates in Spring + Hibernate
  • User Messages in Spring
  • Getting Started with CRUD in Spring + Hibernate
  • Data-Driven Application Design
  • Integrating Hibernate with Spring
  • Using the MVC Architecture with Spring
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Modeling, Storing, and Presenting Data with Spring
  • Using Java's Built-In Annotations
  • Bells and Whistles
  • Diving into Web Development
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • What to Test
  • How To Test
  • Why Test
  • AJAX Concepts
  • Test Time!
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Hello, jQuery!
  • Introducing JavaScript
  • Traversing the DOM
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting Started with Data Science
  • Getting a Handle on the DOM
  • The Browser Environment
  • Final Details
  • Django Templates
  • Model Administration
  • Broadcasting
  • Takin' Names
  • Making Strong Users
  • Character Builder
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • 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
  • Python Regular Expressions
  • Welcome to Flask
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Flask Templates
  • What a View
  • Say Hello to Django
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Meet Peewee
  • Buggy Logs
  • Cleaner Code
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Slices
  • Python Dictionaries
  • Python Lists
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Newbie