Yulin Wang

Yulin Wang

Kaohsiung, Taiwan
Open to Work

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

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