Nengo AI 入門

前言今天要跟大家介紹一個叫做 Nengo AI 的 Python 函式庫,這個函式庫主要提供的功能就是讓人可以建立分散式的 AI 系統,可以想像成更加龐大、功能也更強大的 AI。大家可以看一下介紹影片: 安裝安裝的步驟滿簡單的,一行 pip install nengo 就搞定。 12345678910(C:\Users\rosindigo\Anaconda3\envs) C:\Users\rosindigo\PycharmProjec

Read More...

如何使用 Python 進行字串格式化

前言在開發應用程式時我們往往會需要把變數進行字串格式化,也就是說把字串中的變數替換成變數值。事實上,在 Python 中有許多方式可以進行,其中最常見的有四種方式(斯斯有三種,但 Python 字串格式化方式竟然有四種!): 舊式字串格式化 新式字串格式化 字串插值 樣板字串 字串插值是在 Python 3.6 之後有支援的方法,若是你的版本是在 Python 3.6 之後的話建議可以使用。若是需要讓使用者可以輸入變數來轉換成字串

Read More...

React Form: Redux Form vs React Final Form vs Formik and Yup

本文會先從為何要做表單狀態管理說起,接著看目前市面上有哪些好的表單函式庫和條列挑選原則,並探討三個表單函式庫 Redux Form、React Final Form、Formik & Yup,最後做比較和總結。 為何需要做表單狀態管理?為什麼需要做表單狀態管理呢?這就要從 controlled component 和 uncontrolled component 開始談起。 在一般 HTML 的世界裡面,表單的狀態是由元件本身

Read More...

利用 Elm 製作 Chrome Extension

前言直接先來個成果圖: 今年二月移轉陣地到日本來工作,搬到一個人生地不熟的地方,初始開銷少不了,除了交通、伙食、房租外,還需要添購許多傢俱。而當然,所有東西都是以日幣標價,就算 Amazon JP 已經非常方便的有簡體版的語系可以切換,價格上還是得以日幣顯示。 對我來說,還沒有辦法習慣以日幣來衡量物品的價值,像是我能很快知道一千日幣大約三百台幣,但看到一個東西標價兩萬九日幣,我沒辦法很快速的理解這東西是多貴或多便宜,腦袋還是會想把它轉

Read More...

記一次幫開源專案 spectrum 修 bug 的經歷

前言最近又開始了自己的教學計畫,第一期的時候寫了這篇:利用 Github Classroom 加 Travis CI 打造改作業系統,第二期寫了這篇:AWS Lambda + GitHub API + Google Sheet = 自動化簽到系統,都是利用現成工具來快速湊出符合自己需求的系統。 而第三期開始前我希望課程能有個討論區,讓學生們可以在上面很方便地問問題。一直以來都是用 Slack,但 Slack 最大的缺點就是免費版會吃訊息

Read More...

一起來讀論文 - Robot Learning via Human Adversarial Games

前言這次要跟大家介紹一篇論文 - Robot Learning via Human Adversarial Games。這篇論文主要想研究的問題是,在機器人透過 Reinforcement Learning 學習抓東西的過程中,如果有人類來干擾機器人、試圖讓機器人抓到的東西被弄掉,是不是有辦法讓機器人學習得更有效率? 這篇論文透過一個簡單的實驗場景,透過讓一些測試者參與實驗,證明人類的干擾可以讓機器人學習得更好,就讓我們繼續看下去。

Read More...

如何使用 Python 實現 LRU Cache 快取置換機制

前言由於電腦記憶體空間(memory)的限制,無法容納所有資料和文件,所以當有新的文件要被置換進入快取(cache)時,必須根據一定的規則來取代掉適合的文件,這就是所謂的快取文件置換機制。 一般來說常見的快取文件置換機制有: FIFO(First In, First Out)先進先出算法 LFU(Least Frequently Used)最近最不常使用算法 LRU(Least Recently Used)最近最少使用算法 NMRU

Read More...

用 TypeScript 輕鬆學 Design pattern - Command Pattern

前言雖然直到最近才實際在工作上使用 TypeScript 進行開發,但是早在去年就有斷斷續續在自己的 side project 上玩玩 TypeScript,剛好後來公司讀書會在研讀經典的 Design Pattern 書籍,就索性使用 TypeScript 來製作範例,意外發現 TypeScript 在講解一些 Design Pattern 的時候非常適合,不僅能夠有類別、物件等清楚的表示,也能夠直接在網頁上做出會動的範例。 雖然這是

Read More...

從 React 原始碼看 keyPress 與 keyDown 事件

前言前陣子有個學生跑來問我一個問題,說他在寫 React 的時候分不清楚 keyPress 與 keyDown 這兩個事件,還有 keyCode 跟 charCode 這兩個東西,有時候拿得到值,有時候卻拿不到,覺得十分困惑。 我原本以為是 React 做了一些處理,所以去看了一下原始碼。後來發現 React 的確有做一些處理,但實際上這個問題跟 React 沒什麼關係,而是 keyPress 跟 keyDown 這兩個原生的 Java

Read More...

Vatic 安裝教學

前言Vatic 是用來標註影片中 bounding box 的好用工具,因為它提供了 bounding box tracking 的功能,不需要一個一個 frame 去重新標註,所以想用 Machine Learning 學習影片中 bounding box 的人來說是很好用的工具。 因為 vatic 的安裝步驟有一點複雜,所以寫這篇教學提供給需要的讀者朋友。筆者自己有在 Ubuntu 16.04 裝成功,這篇教學主要會 cover

Read More...