Easy-going, with some humor.
Love music, anime, and the trivia that may not come in handy for a whole life.
Since 2015, I have worked as frontend research developer for almost 8 years. (including student time
Slowly get to the point of if you know one thing so well,
there's not going to be too hard to understand the others.
Even though sometimes feeling numb about tracing new stuff,
but also feel lucky about myself that I can keep up with the frontend trend.
Started from no-framework generation, which makes me know well about the framework concept.
Due to the work division,
the products which focus on animation are incomparable with the past.
But on the other hand,
I have a great advancement in framework, pure functional, project structure and performance stuff.
Everything has its own place and function.
Keep coding to solve the smallest inconvenience in life, still
Including es5 and es6
Familiar with modules and async events
Concept of call by value and call by reference
Knowledge of prototype chain and closure
Familiar with browser storage and devtools
Flexible application of css-like selector and code tracing skill
studying windicss recently.
Including SPA and pure static Vue.js.
Experience of Vue2 and Vue3.
Experience of both vuex and pinia about store
Experience of tuning Webpack and Vite
Experience of tuning performance.
Knowledge of dividing components.
With the knowledge of Vue,
the next familiar framework is on the way.
experience of pnpm, axios, moment, lodash, elementUI, sweetalert, json-server, chanceJS, socket.io... etc.
Familiar with Git flow and relative commands.
Familiar with submodule and worktree usage.
Familiar with recovery situation and its solutions.
Experience of status reset flow with Gitlab CI/CD.
Company Git lecturer presentation
Experience of implementing build/deploy script
Go with docker and Jenkins create workflow
Create a custom script for quick project setup.
Experience of writing Dockerfile for Gitlab CI/CD
Create custom basic docker-image as default layer
Paradise-soft • Sep 2017 - May 2022, 4 years 8 months
Transfer Knockout.js to Vue, and transfer MVC architecture to SPA step by step.
Cache the unchanged section, update needed part only. Handle building machine's memory usage.
Create components which follow specific rules, so other RDs can pick them up quickly and get hints when the way they use components is incorrect.
Planning monorepo building flow, custom build/deploy flow of each project. Create a rollback system when there's something going wrong.
Create a basic project folder structure like route, store and eslint config. Also, refactor old projects to the same structure.
Get rid of unreasonable rendering and code re-sorting. Substantially increased render performance and code readability.
Fashionguide • Oct 2016 - Jul 2017, 9 months
University of Taipei • Sep 2016
University of Taipei • Sep 2011 - Jun 2015
First prize in the social network analysis course group competition. In charge of frontend.
As assistant teacher of social network analysis course next grade.
Internship in Pixnet (half year)
Large number of requests in a short time.
According to lots of game types, flexibility and reusability are the key points.
The odds of a game may change very frequently.
So we do a lot of work on socket receiving and rendering performance tuning.
Sites for increasing exposure.
Not only the game introduction, but also provides an HTML widget for users to promote their sites.
Pyramid-like level system.
Profit counting and how to handle the layer-upon-layer system are the key points.
Combine lottery, sport lottery and agent system, like a monorepo.
Because this project is created by MVC architecture first, how to refactor and combine with SPA subprojects or even only combining SPA components is a big deal.
Almost every project has its own backstage.
Including money transfer apply, deposit/withdraw method, statistic chart, front site setting and permission tree.
Things go wild when the number of projects increases.
Go with Jenkins, implement section updates, build resource cache/shared and error catch.
Campaign websites for holidays or festivals, like Mother's Day or summer vacation.
Including sign-up event and small psychological test game.
Keep refactoring and continue to increase.