Yulin Wang

Yulin Wang

Kaohsiung, Taiwan

36,990

Total Points

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

Skills & Experience

  • Company

    Kutai

  • Job Title

    Engineer

  • Spoken Languages

    • English
    • Mandarin
  • Looking for work

    Yes

426 Achievements

  • Becoming a Design Thinker
  • Getting the REST You Need 2
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Persuasive Patterns
  • UI Patterns
  • Designing with Patterns
  • Treehouse Club - CSS
  • Design Patterns
  • Page Layout
  • Exploration
  • Discovery
  • Adding a List Page
  • Modeling and Presenting Data
  • Views
  • Controllers
  • Project Setup
  • Chrome DevTools Basics
  • Access for Everybody
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • WordPress User Roles
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • Installing WordPress Locally
  • What Is WordPress?
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Practice forEach
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Creating and Modifying Database Tables
  • Introducing Grid Layout
  • Web Apps
  • Websites
  • Introduction
  • Creating an SVG
  • Introduction to SVG
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • 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
  • Captioning Video
  • Media Basics
  • Structuring Tables
  • Table Basics
  • Thinking in Components
  • First Steps in React
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Welcome to the Treehouse Club
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Computer Basics
  • Computer Languages
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • WWW
  • DNS Basics
  • Graphic Basics
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Getting Started With Git
  • Why Version Control Matters
  • The Internet
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Finishing the Game
  • Introducing JavaScript
  • Security: Solutions
  • Security: Concerns
  • Go Concurrency Overview
  • Go Custom Types Overview
  • Go Data Structures Overview
  • Go Flow Control Overview
  • Dates and Times
  • Buggy Logs
  • Go Syntax Overview
  • Cleaner Code
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Selections with D3
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • What To Test
  • Test Driven Development
  • Writing Unit Tests
  • Unit Testing
  • Query Builder
  • Query Operators
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Express Middleware
  • Sessions and Cookies
  • Functional!
  • User Registration and Login
  • What is Authentication?
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Now You're Querying!
  • Middleware
  • Sets and Dictionaries
  • Deeper into Routing with Express
  • Lists
  • Using Templates with Express
  • Arrays
  • Data Retreiver
  • Getting Started with Express
  • Serialized!
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Data Parser
  • Welcome to Gulp.js
  • Installing Programs
  • Environment and Redirection
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Console Processes
  • What is npm?
  • Data Reader
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Abstraction
  • System.Object
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Polymorphism
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Loops and Final Touches
  • Classes
  • Encapsulation with Properties
  • Console Users and Permission
  • Moving Around in the Console
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • UI Testing with Espresso
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • Unit Testing - Now Featuring Robolectric!
  • Unit Testing
  • ES2015 Basics
  • Quiz Practice Project
  • Prototypal Inheritance
  • An Introduction to Swift Programming
  • Local Notifications
  • Broadcast Receivers
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Improving the Application Code
  • Implicit Intents and Intent Filters
  • For All Intents and Purposes
  • But Wait There's More!
  • Editing and Filtering Names
  • Adding and Removing Names
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Interacting with Google+ APIs
  • The Browser Environment
  • Connecting to Play Services
  • Interacting with Your API
  • Adding Play Services to Your App
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • File Storage
  • Introduction to Data Persistence
  • Tablet Time
  • Ingredients and Directions
  • Managing Fragments
  • Introducing Fragments
  • Activity Transitions: Advanced Topics
  • Shared Element Transitions
  • Transitions Framework
  • Animation Basics
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Bound Services
  • Introducing Services
  • A Route to a Delete Action
  • Routes to Update Actions
  • Threads in Android
  • Routes for Create Actions
  • A Route to a Read Action
  • Hooking up the Model to the View
  • Rails Resource Index
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Building the Weather UI
  • Introduction to HTTP
  • Working with JSON
  • Store Inventory Using Modules
  • Include and Extend
  • Ruby Core Modules
  • Concurrency and Error Handling
  • Ruby Module Basics
  • Gems In Depth
  • Networking
  • Ruby Gems
  • Blocks Practice
  • Exploring an API
  • Working With Blocks
  • Ruby Blocks
  • Ruby Booleans
  • Build a Simple Todo List Program
  • Adding a Model Attribute
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Themes and Compatibility
  • Using Styles in Layouts
  • Dice Roller
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Python: Advanced Objects
  • Ruby Core
  • The Rest of the Story
  • Build a Bank Account Class
  • Finishing the User Interface
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • The Model-View-Presenter Pattern
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Intents and Multiple Activities
  • Tuning the User Interface
  • AJAX and APIs
  • User Input in Android
  • jQuery and AJAX
  • Testing and Debugging
  • Improving Our Code
  • Programming AJAX
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • AJAX Concepts
  • 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
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Responsive Web Design and Testing
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Properties
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Test Time!
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Say Hello to Django
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Newbie