Git 與 Github 版本控制基本指令與操作入門教學

前言要成為一個真正的軟體工程師(Software Engineer)除了掌握基礎開發能力外,更重要的是和其他工程師和開發者團隊合作和溝通的能力,所以若你能培養出掌握 Git 等版本控制操作和 Git server 架設的能力,你會更容易參與開放原始碼(open source)的社群和提昇自己在職場上的價值。好,那我們就準備開始吧! 什麼是版本控制系統(Version Control System)? 版本控制系統是一種軟體工程的開發技

Read More...

前端也能玩 Deepleaning - 以 p5-deeplearn-js 為例

前言還記得約莫是 2012 年我還在唸研究所的時候,有位清大教授(原諒我忘了是哪位…)來系上演講關於類神經網路的應用,當時的我聽得霧煞煞,覺得是離我很遙遠的一門學問,而如今 Machine Learning、Deep Learning 滿天飛,說你沒聽過 KNN 就像說你沒背過 99 乘法表一樣驚人。 對於一個成天在網頁打滾的前端工程師,可能真的沒太多機會碰觸到相關實作或研究。但小心了!AI 的觸角也慢慢伸到前端的領域 - Screen

Read More...

React 性能優化大挑戰:一次理解 Immutable data 跟 shouldComponentUpdate

前陣子正在重構公司的專案,試了一些東西之後發現自己對於 React 的渲染機制其實不太了解,不太知道 render 什麼時候會被觸發。而後來我發現不只我這樣,其實還有滿多人對這整個機制不太熟悉,因此決定寫這篇來分享自己的心得。 其實不知道怎麼優化倒還好,更慘的事情是你自以為在優化,其實卻在拖慢效能,而根本的原因就是對 React 的整個機制還不夠熟。被「優化」過的 component 反而還變慢了!這個就嚴重了。 因此,這篇文章會涵蓋到

Read More...

【譯】Tokio 內部機制:從頭理解 Rust 非同步 I/O 框架

本文譯自 Tokio internals: Understanding Rust’s asynchronous I/O framework from the bottom up。Thanks David Simmons for this awesome article! Tokio 是 Rust 的開發框架,用於開發非同步 I/O 程式(asynchronous I/O,一種事件驅動的作法,可實現比傳統同步 I/O 更好的延

Read More...

Ceres 函式庫簡介

前言Ceres 是用來求解 Optimization 問題的 C++ 開源函式庫,是由 Google 所釋出的,文件相當完整,而且這個函式庫還有不少 好處(例如 code 品質、使用的方便性等等)。 今天我們會一起來看看怎麼安裝 Ceres,並用 Ceres 來求解一個最簡單的問題。 安裝 Ceres (in Linux)一開始呢,要先安裝一些 Ceres 會使用到的函式庫; 1sudo apt-get install liblapac

Read More...

Linux Command 命令列指令與基本操作入門教學

前言要成為一個真正的軟體工程師(Software Engineer)不一定一定要使用 vim 之類的編輯器進行開發,但熟悉使用終端機(terminal)操作和常用的 Linux 命令列指令碼操作則是必須的。因此接著我們將介紹軟體工程師在開發上常用的 Linux 命令列指令碼給讀者參考。若讀者使用的是 Windows 建議安裝 VirtualBox 並在上面跑 Linux/Ubuntu 來進行指令碼操作,或是使用像是 Cmder 的工具

Read More...

一起用 Google Calendar 與 D3.js 進行年終回顧吧!

前言大概是在 2016 年底的時候,我整個人的心理狀態很糟,一直覺得自己對生活的掌控力非常低落,庸庸碌碌的過著每一天,卻不曉得自己的目標在哪,對什麼都興致缺缺,似乎把生活遺失了。 我試著想從過往日常生活中的所作所為來找出一些癥結點,結果發現記憶有限,越想越覺得自己好像什麼都沒完成,接著就進入無止盡的負面迴圈… 為了打破這樣的心理狀態,我從 2017 年的一月開始記錄自己每天的生活,將一整天所做的事項記錄在 Google Calenda

Read More...

希望是最淺顯易懂的 RxJS 教學

前言關注 RxJS 已經好一段時間了,最早知道這個東西是因為 redux-observable,是一個 redux 的 middleware,Netflix 利用它來解決複雜的非同步相關問題,那時候我連redux-saga都還沒搞懂,沒想到就又有新的東西出來了。 半年前花了一些時間,找了很多網路上的資料,試圖想要搞懂這整個東西。可是對我來說,很多教學的步調都太快了,不然就是講得太仔細,反而讓初學者無所適從。 這次有機會在公司的新專案裡面

Read More...

Guided Policy Search 環境安裝

前言Guided Policy Search (GPS) 是一個滿酷的 policy search 方法,接下來我們會來介紹這個 package 的安裝還有啟動方法,讓大家好入個門。如果你不太了解什麼是 policy 跟 policy search,可以看看 這篇文章。 因為核心的安裝方法在網頁上已經寫得滿清楚,所以這篇文章主要是側重在幫大家整合一些可能需要的資源(因為安裝過程中可能會遇到一些問題)。 安裝方法首先,要先安裝一些基本的

Read More...

歡樂學 Python 位元組碼(byte code)

誰適合閱讀這篇文章:初階到中階 python 基礎的程式設計師,想深入淺出的了解 python 的位元組碼(bytecode) PyCon 2016 有一場很有趣的演講,內容是關於介紹 Python 位元組碼(Python Bytecode),演講名稱就稱為 “Playing Bytecode with Python”。這場演講有趣的地方,在於它完全表達了 Python 社群的精神,也就是以 “Monty Python” 的方式來表達一

Read More...