Code makes the world a better place

菜鳥程式設計師的精進之路

The Clean Coder 心得、摘要與補充


前陣子把 《The Clean Coder》(中譯: 無瑕的程式碼 番外篇-專業程式設計師的生存之道) 看完,剛好可以回答一個網路上最常看到的問題之一:

菜鳥工程師與資深工程師的差別是甚麼?

Continue reading

我在大學期間犯下最畢生難忘的錯

我在大學期間犯下最畢生難忘的錯

錯誤不可恥,可恥的是再犯同樣的錯


其實我認為我大學期間,除了課業失敗的一蹋糊塗之外,其他方面還算優秀。不得不稱讚台大是一個很棒的舞台,讓我的立足點更高,使我有機會跟各式各樣的人接觸,參加各種有趣的活動,到不同的地方工作。在這環境下,我覺得過得還算是順遂。即便如此,仍有些事件是難以忘懷的失敗,給我很大的教訓和反省,但其中一個最難忘的故事莫過於我接下來要說的。

Continue reading

軟體工程師必修的三門課

何謂工程師?為什麼所有軟體工程師都該學資料結構與演算法、計算機架構、作業系統?


大資工時代,所有人都一窩蜂轉行、跨行進資工領域,尤其是這陣子人工智慧話題被炒起來,好像人人都該懂機器學習、深度學習。市面上產品好像都該有個「智慧」當作前墜,智慧手環、智慧眼鏡、智慧監控系統等等。而幾年前則是雲端技術很紅,所有東西都該加個雲。區塊鏈也被當作明日之星,各種公有鏈、私有鏈的新創如雨後春筍。再加上網頁前端、後端、手機 APP等人才需求本來就大,可以說資工領域的市場需求已經被捧到了極高點。

因為市場需求大,前景看好,所以很多人半路出家改當軟體工程師,這邊廣義包含各種程式開發的人才。國民教育都把資訊科學列為必修了,代表已經是全民皆碼農的時代。連非工程職位的業務、PM、顧問好像都必須會寫個 Python 才夠生存。

Continue reading

半路出家申請國內資工研究所

申請交大資工丙正取、台大網媒備取的歷程與省思


終於都放榜了,所以可以來寫心得。如副標題,推甄上108學年度交大資工所丙組,然後台大網媒所只有備取 10。

我承認標題與某專頁有點似曾相似(半路出家的軟體工程師:咦?),內容也有點老生常談,不過還是不寫不快,所以決定來分享一下整個過程。

Continue reading

這個暑假我在 CloudMosa 所見所聞

What I saw and heard at CloudMosa in this summer.

大約在一年前,因緣際會我開始接觸瀏覽器開發,一開始是貢獻 Mozilla 的 Servo Brower Engine 專案,後來覺得還是不夠了解瀏覽器,就想說就由寫文章來強迫自己學習。ITHome 的鐵人賽剛好給了我一個行動的契機,於是就開始寫了有關於瀏覽器的系列文章。

Continue reading

來寫個氣象機器人吧!

來寫個氣象機器人吧!

Let’s build a weather bot!


簡介

沒有人會懷疑了解天氣的重要性,我們總是看氣象預報或查天氣來決定等下外出時要不要帶傘,衣服要穿多厚是否需要帶件外套,或是需不需要先擦防曬油戴一副墨鏡出門等等。

想查天氣的時候我想大部分人可能就是 Google 一下、上中央氣象局網站、使用 APP、看新聞。或是有種很潮的做法是問 Siri,不過效果可能不太好 ⋯⋯。

Continue reading

你的第一份大型開源專案--Servo 瀏覽器

你的第一份大型開源專案: Servo 瀏覽器

Your First Big OSS Project: Servo Browser


前言

開放原始碼軟體,又稱開源軟體(Open Source Software),顧名思義是將軟體的原始碼公開。詳細介紹可以看維基百科介紹以及什麼是開源一文。

身為軟體開發者,我們常常會需要很多工具來幫助我們更簡單完成工作,而且我們都知道沒事不要自己造輪子,這時候就會看看網路上有沒有現成的工具。例如想要開發機器學習可能就會用 Tensorflow,想要開發網頁前端可能會使用 Angular,想要開發 Android App 可能會用 Kotlin,平常用的 gcc 或 clang,甚至 Linux 作業系統通通都是開源軟體。

Continue reading

我都怎麼發 PR?

我都怎麼發 PR?

開源專案中,如何找出問題,並解決他?


開源專案的流程很簡單,看 issue 有甚麼,然後改 code,接著發 pull request,順利的話就會被 merge,成為一個 commit。開源,就是一直重複這些步驟。

發 issue 很簡單,你哪邊看不爽,不管是 bug、feature、doc、style,就可以發個 issue。當然發 PR 也很簡單,但能被 merge 的 PR 就不簡單。所以如何寫點新東西或是修正 bug,然後發 PR 最後被 merge 進去?

Continue reading

Angular 5 是啥玩意?

Angular 5 是啥玩意?


Angular 5即將在近期發布,讓我們來看看有啥特別的呢?

沒用過 Angular 也聽過 Angular,沒聽過 Angular 總之你現在看過了 XD
Angular 5即將發布,本文將介紹什麼是 Angular 以及新版本有啥有趣的東西。本文為了友善初學者,會從最基礎的東西講起,如果想直接看版本 5 的新功能可以直接跳到後面。

Continue reading

踏入 Mozilla Servo 兩個月的心得

踏入 Mozilla Servo 兩個月的心得

開發 Servo 有感而發寫下的紀錄


不知不覺,兩個月下來已經在 Mozilla 的 Servo8 次 commits。 Servo 為新一代 Firefox 的基石,所以做起來非常有成就感,也對瀏覽器本身開始有極大興趣。而且這個社群非常友善,開發過程讓人覺得很快樂,看著兩個月以來的紀錄,有感而發寫下這篇文章。

Continue reading