如何在 Windows 打造 Python 開發環境設定基礎入門教學

前言如何設定開發環境應該是每個初學程式設計者的痛(即便是老手有時也會覺得苦惱),尤其當你需要在終端機(terminal)輸入指令(command)來操控你的指令時(好吧,若你完全只走圖形化介面,習慣 GUI 操作就另當別論,但若你有志於往程式設計領域發展,建議還是熟悉一下指令碼)。 要在 Linux、Mac OS 這種屬於類 Unix 系統(指各種 Unix 的衍生系統,而 Unix 指的是一種電腦作業系統,具有多工、多使用者的特色,是

Read More...

用 Javascript 進行邏輯迴歸分析

前言上一篇文章中,我們利用 Deeplearn.js 學習了 linear regression,從氣溫與紅茶的關聯性中預測銷量,這次就來練習在機器學習中另一個很基本的方法 - Logistic regression(邏輯分析)。 先來張 Demo 成果圖: 從成果圖中可以看出,所謂的 Logistic regression 與 Linear regression 最大不同就是,邏輯回歸大多用來進行分類,當結果只有兩種時,就是二元分

Read More...

在 Ethereum 上開發簡單的 Todo App

前言近一兩年區塊鏈的技術造成一股熱潮,由於加密貨幣在投資上的炒作,常看到的區塊鏈範例都是和虛擬貨幣相關連的服務,另外,技術的應用焦點也常放在金融和會計業上,這是因為這兩個行業長久以來在市場上都有球員兼裁判的嫌疑(例如會計有資產信用背書和被雇用人這兩種矛盾的角色),因此需要一個「備受信任」的機制來重拾市場對它們的信任。而區塊鏈,或是廣義上來說的分散式賬本技術,正是一個有潛力的解法。不過就像《區塊鏈革命》這本書所說的,這個技術實現了「價值上

Read More...

淺談 React Fiber 及其對 lifecycles 造成的影響

前言雖然說從以前就一直聽到 React 要把內部的 reconciler 換成一個叫做 Fiber 的東西,但從沒仔細研究過,也不知道這樣子的改變會對上層造成什麼影響。 真正開始比較深入理解,是在某一次使用 Redux Form 時踩到一個相關的 bug,才知道 React 自從正式改用 Fiber 之後,其實對上層也有一些改變。 這篇的標題「淺談」不是騙你的,這篇真的很淺,我不會談到 Fiber 底層的運作(因為我也還沒認真研究過),

Read More...

初探 Probabilistic Models of Cognition

前言最近這幾年,AI 的發展又再次變得蓬勃,是一次很好的機會,讓人們可以打造出極棒的科技來為眾人服務。近年最紅的是深度學習已經有很多相關研究,TB 周刊中也一直會為大家放上一些最新的發展,但是,筆者一直對潛藏在我們心智中的基石很有興趣,而這些基石,就跟今天想要介紹的 Probabilistic Models of Cognition 很有關係。 Probabilistic Models of Cognition 的基本想法如果我們將人的

Read More...

使用 Docker 建立 nginx 伺服器入門教學

前言相信一般開發者每次開發應用程式時最討厭的就是設定環境。往往裝好環境時開發應用的熱情往往被消磨一半,不過如今有了 Docker 不但可以提高開發效率也可以更容易管理整個服務架構,發展 micro service! Docker 基本概念Docker 和傳統在硬體做虛擬化的方式不同,其主要在作業系統層做虛擬化且在主流的作業系統和雲端平台上都可以使用(例如:Linux、MacOS 和 Windows),不同作業系統 Docker 相關安

Read More...

用 Javascript 進行簡單線性迴歸分析

前言約莫兩個月前,我利用 p5-deeplearn-js 這套工具在 Chrome extension 中玩了一下機器學習的應用 (請參閱前端也能玩 Deepleaning - 以 p5-deeplearn-js 為例),當時雖然有去看他們的 source code,但對於底層 deeplearnjs 的部分並沒有仔細去了解,畢竟還是要對 ML 有根本的了解,才能讀得懂。 而隨著 Google 發布 Machine Learning C

Read More...

CSS keylogger:攻擊與防禦

前言前陣子在 Hacker News 上面看到這篇:Show HN: A CSS Keylogger,大開眼界,決定要找個時間好好來研究一下,並且寫一篇文章分享給大家。 這篇會講到以下東西: 什麼是 keylogger CSS keylogger 的原理 CSS keylogger 與 React 防禦方法 好,那就讓我們開始吧! Keylogger 是什麼?Keylogger 就是鍵盤側錄,是惡意程式的一種,拿來記錄你電腦上面所有

Read More...

測試替身(上篇)

如果你在工作時寫過一些測試程式,也許你聽過什麼是 Mock,但其實 Mock 只是測試替身的其中一種,測試替身包含了 Dummy、Mock、Fake、Stub、Spy。而不同語言或不同 framework 有時候會把類似的概念合在一起。 本系列的目的是讓你寫單元測試的時候,對應不同情況,知道應該用哪一種替身。像筆者常用的 Mockito 基本上把大部份的測試替身都用 Mock 取代,雖然用起來容易,但我以前從來不知道自己用的是哪一種測試

Read More...

一起來玩 OSRF 的 TensorFlow Object Detector

前言上次我們一起 使用 TensorFlow 來做簡單的手寫數字辨識,雖然我們可以自己使用這些 API 兜自己的模組,但我們也可以利用現成的工具,節省開發時間。 安裝安裝步驟可以參考官方的 README文件。我自己是在 Ubuntu 14.04 + Indigo 測試過,也 OK,只要記得將一些安裝 kinetic package 的地方更新成 indigo 就好。例如第二步的 camera dependencies: 1sudo ap

Read More...