Github source:

This project is modified from the Github source.

The modified repot move to:


Remove not used column & table

ALTER TABLE [LibraryDB].[dbo].[asset] DROP COLUMN [assetid], [description];

ALTER TABLE [LibraryDB].[dbo].[asset_issuereturn] DROP COLUMN [issueid];

ALTER TABLE [LibraryDB].[dbo].[author] DROP COLUMN [authorid];

DROP TABLE [LibraryDB].[dbo].[user_authentication];

DROP TABLE [LibraryDB].[dbo].[user_type];

Overview and compare with existing project

  • Use DDD to replace N-tiered architecture then resolve the problem?
  • The presenter is MVP pattern or facade or whatever?
  • Domain vs. Application service, UI vs. Business logic.
  • The current Domain (CRUD without logic), should contain logic & test
  • A lot of logic in the presenter & controller (event view) is…

ProTip: How To Split Large Branches Into Small Pull Requests


# Step 1: Create a patch against your base branch

$git diff develop feature/player-management > ../my_pr_patch

# Step 2: Checkout a new branch

$ git checkout develop

$ git checkout -b xxxxxxxxxxxxx

# Step 3: Apply Changes Selectively

$git apply — ignore-space-change — ignore-whitespace ../my_pr_patch

# Step 4…

In order to solve the frequent change of requirement and Zeplin update, we can use Zeplin public API to get the screen text & image data to found the difference and update our web design.

Reference data


Zeplin API:

Zeplin extension text-extractor:


  • extract personal access token…

Create NPM lib

src/lib/app: source files
build/dist: compiled files
test/spec/tests: automated tests introduces and explains a project


  • name: @scope/packageName
  • version: at least 1.0.0
  • author: Your Name <> (
  • main: the primary entry point
  • files: specify the files should be published
  • private: if true then NPM will refuse to publish it

Angular Lib

Component Architecture:

Model-View-Presenter with Angular, Angular Architecture Series

Container Component:

  • Integrates with other application layers
  • These components know how to retrieve data from the service layer.
  • Note that the top-level component of a route is usually a Container Component

Presentational Component:

  • Pure presentational, interactive view
  • Also known sometimes as pure components or…

Homework 1 : TF-IDF

FindKeyword(self, keyword, num_from, num_to, cut_value, top_num)

  • keyword: Query by news categories from mongoDB
  • num_from & num_to: N-gram start from 2 and to 8 for Chinese
  • cut_value: Term frequency discard low bound, default 3
  • top_num: Top number of keyword to be find, default 50

ContentCut(self, content, cut_value)

  • Distinguish sentence_list for Chinese…

程式語言(一)(二) 教學助理 (Teaching assistant)



2013行政院國家科學委員會 研究助理


2013教育部資訊軟體人才培育推廣計畫 研究助理

那些年寫過上百題的的C語言題目與參加過的程式競賽,留下了一些解題時還蠻有用的圖片資料,還有整理一些參賽相關的紀錄,與線上解題平台的統計以前C、C++和Java解了UVa 130題,和最近用python解了 LeetCode 83題,雖然有部分是參考網路上或別人提供的解法才把題目解出來,在學習與模仿的過程中還是能獲得很多知識。



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store