2016年7月28日 星期四

TIL - 文章筆記 看了一篇線性回歸的文章


這篇作者寫的線性回歸,涵蓋 Ng 在 Coursera 上的 ML 第三章的內容。
線性回歸是一個分類的演算法。

線性回歸說起來是還蠻簡單的:

1. 準備你的資料
2. 把資料灑到圖上 (graph)
3. 然後畫一條線 (應該會有最適合的.. 看題目是什麼...),可以把灑在圖上的資料做個切分 這條線叫做 Dicision Boundary.

---

* g (...) 也稱為 sigmoid function,我們用這個 function 來約束預測的結果,使結果只會介於 0 ~ 1,單位是百分比值,如結果是 .95 則預測結果是 95%。
* Dicision boundary 是一條可以把你的資料區分成兩塊 (也就是分類) 的線。
* 如果你需要非線性分類,選擇類神經網路或是 support vector machines (SVM)。

2016年7月26日 星期二

TypeScript 的 tsconfig.json 簡介

tsconfig.json 是 TypeScript 編譯時看的編譯設定檔案,能幫助你指定編譯的 TypeScript 檔案,輸出目錄等工作事項,像我在使用 Atom 編輯器時,若你的資料夾裡面有 .ts 檔案,而且你也有裝 IDE 針對 TypeScript 的一些 package,他會幫你掃掃看有無 tsconfig.json,若沒有會給你提示訊息。

2016年7月25日 星期一

TypeScript 簡介

TypeScript 是一個 JavaScript 型別化的超集 (“typed superset”),講『超集』兩字,要是沒有 google 我自己也都無法理解...,這裡有百度的解釋,若用那個網址的解釋圖來理解第一句話,大概是這個樣子: (BTW 我真的很認真在校正這一段,如果有畫錯請告訴我 QQ,我個人以前念書的時候就很沒自信看什麼子集, 超集...)

2016年7月21日 星期四

調整 Angular 2 編譯自動產生的 .js .map 檔路徑

最近照 Angular 2 的 Tutorial 做了一個 Heroes Dashboard,通常建立好 TypeScript 的檔案之後,會自行編譯出相對應的 .map 以及 .js

這麼多檔案一同擠在 app 目錄下實在很崩潰,所以打算做個調整,把不是 TypeScript 的檔案都移到其他地方去,讓 app 保持在真正開發用的程式區域。


後來我才發現原來 systemjs.config.js 已經有提示我把 map 的 app 設定改為 dist 了。這個 dist 的資料夾表示輸出 .js .map 的資料夾路徑,你也可以換成你要的路徑。

1. 首先把 system.js.config.js 的 var map = { app: 'dist', ... 約略第八行的設定改為 'dist' (原為 app)
2. 在你的目錄下建立一個 dist 資料夾
3. 修改 tsconfig.json,在 compilerOptions 新增一個 outDir 的 key,值為 dist.  (你的輸出的資料夾目錄)

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "outDir": "dist"
  }
}


處理完之後,記得重新 npm start.
這樣子 app 底下就會乾淨一點了... (另外 app 原本產生出來的 .map, .js 要自己刪掉哦! 也別不小心刪到 TypeScript (.ts) 的檔案...)

2016年7月19日 星期二

Angular 2 404 traceur not found

討論參考: stackoverflow: Angular 2 - 404 traceur not found

剛起步就遇到這個鳥問題,原因很白痴,就是我把 .ts 的檔名打成 .js 了,基本上只要 node 版本跟 npm 版本都符合要求,照理說 npm i  整個全新的 angular 2 toturial  的教學應該是正常的,如果你也遇到這個 traceur 的問題,也請先試著檢查是否哪裡有 key 錯字。

2016年7月18日 星期一

Set up gulp-eslint to check JavaScript by Git pre-commit hook (using pre-commit package.)

我其實.. 也不知道當初為什麼要用英文寫,而且寫得蠻爛的,但我自己看得懂啦,應該是早上上班寫 code 很急,我也不想花太多時間整理了...
If we can't control other developers, but we can control some commit rule for other developer. that's why i want to use pre-commit, it can help to check other developer code convention.

By Using gulp-eslint and pre-commit.
Because my project is fully frontend project. so... i use gulp-eslint replace with eslint.

Step summary:
1. install gulp-eslint
2. install pre-commit
3. create you eslint config file, there are serveral format for eslint config file, you can go here.

2016年7月17日 星期日

一些去上自動測試與 TDD 實務開發的心得


在文章開始之前,先提供一下一些背景 context:
* 課程資訊: Skilltree 自動測試與 TDD 實務開發(使用C#) 第六梯
* 授課講師: 91哥  可參考 91 敏捷開發之路  30 天快速上手 TDD


感覺我好像很久沒有寫技術文了,因為七月前三週週末都在上 TDD,就算是週日,也在寫作業,複習 91 哥教的一些 Lab,只能說,這三週過得太精實了,如果看到我太久沒發文,一定就是有什麼作業要交,課程要上,或是交了男朋友了...

2016年7月8日 星期五

用 google spreadsheets 幫你翻譯文字

最近剛好有個需求要整理專案上的多國語系的名詞,因為多人協作,所以一開始在整理時我自己是採用 google 的 excel 來處理,大致上如下:


但因為要手動翻譯其他語系,打字實在很麻煩,以我來說,大概只有英文是比較知道如何下手的,但日文跟簡體中文呢?一直去找 google translate 也挺麻煩的,還好 google spreadsheets 有現成的函式可以幫我做到,看到這個功能眼淚都要掉出來了,因為當我有上百個字詞要翻譯的時候,根本不可能這麼“人工”,就算透過翻譯出來的英文沒有很準確,但至少我可以只挑我要修改的去修正就行。

2016年7月3日 星期日

考取 70-480 Programming in HTML5 with JavaScript and CSS3 證照

微軟的這張 70-480 證照,考得正是前端工程師的必備技能,也就是 HTML, CSS, JavaScript 三種科目的混合考。因為證照在今年 (2016) 七月中過後要漲價,我也是不經意地看到這個消息,就想說去考考看了。

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...