Take a break and review this year

/* English below */

終於有個案子空檔,又接了一年的案子,就像是期中檢討那樣,來說說這一年吧:

  1. 今年的GitHub Arctic Code Vault有幸透過修復幾個Bug沾上光,成為Arctic Code Vault Contributor,確實讓人興奮不已。
  2. 接手並持續維護著一間電商公司的VueJS開口合約,其中還包含他們內部用到的AngularJS,不過AngularJS似乎2021年就LTS end,就只能繼續看下去了。
  3. 接了一個(我想也是最後一個)用VueJS開發的案子,做一個一頁式簡單的互動行銷網頁,有了上面案子的經驗,說實在非常好上手,不過最後業主接回去,即便如此也是個很好的歷練。
  4. Node JS的部分應該會告一個段落,今年最後新功能上線時,已經提出前人之作難以維護,我認為需要重構的建議。我想在現階段可行的架構下,應該不會太快需要處理。
  5. PHP Laravel則有一個時間很短的case,用既有的code複製一份,並多開發幾隻API。這前人的架構很好,改起來滿愉悅的,也因此可以順利交付。
  6. 接下一家外商公司台灣官網架設,需求很簡單,拿總部的官網改成中文內容,這也是第一次接觸PHP PbootCMS這個框架,說實在沒有難度,也順利開始續約第一年。
  7. 再來三個比較大的都是內容網站,兩個純前端、一個包含前後端,開始用React NextJS這Server-side rendering框架接案,React寫起來還是比較舒服。先透過純前端的案子把頁面及API溝通架構定好,接下來前後端的案子可以來來回回在Laravel API開發、寫API測試、React NextJS串接API之間跳來跳去,也順便利用閒暇之餘徹底改寫成Typescript,在開發、除錯的速度上都有很大的進展。
  8. 最後,今年最大的進展,上面所有接手的、新開發的案子都導入Docker,讓我電腦環境減少很多負擔,也讓開發環境可以更單純且一致,用了Docker以後再也不用煩惱那些案子之間的衝突或逐漸縮減的硬碟空間。

我經手的都還沒到百萬等級這個規模,看到最近電商跟ERP系統的新聞也只能笑笑帶過。
還有我很像離Ruby on Rails越來越遠,得要再找時間摸一摸了。

I got some spare time because of cases ending. Let me review my experiences during the past year.

  1. It’s exciting to get “Arctic Code Vault Contributor” on github by fix some bugs and typo.
  2. I got an open contract to maintain E-commerce websites, including a VueJS frontend and an AngularJS backstage system. uh… I have no idea about discontinuing support AngularJS.
  3. I have a good experience to build a interactive SPA website using VueJS from scratch. Even through VueJS is easy to use, I think this is my last VueJS case. Eventually, they took it back.
  4. It’s last update of a NodeJS case. I suggest that this code really needs refactoring before any features implementation. I guess they won’t refactor because it works well now.
  5. A short-term PHP Laravel case, based on their codebase, is to implement some API. It’s easy to read and modify because of the well-structured.
  6. First time to use PHP PbootCMS framework as a global company’s official website. They gave me source to translate to Chinese. Recently our contract have renewed.
  7. I love React very much, so I start using NextJS in big cases–three content-heavy websites. Two are pure frontend and the other is full-stack. The pages’ and async redux structure in frontend cases let me duplicate to full-stack case, so that I can enjoy switching between PHP Laravel API development, PHPUnit testing, and NextJS page implement. Moreover, I rewrite this frontend part by Typescript. The whole frontend becomes easier debugging and developing.
  8. Lastly, All of my cases are dockerized. Docker lets my env clean, and there is no conflict between my cases anymore.

That’s all. I still have no experience about heavy networking website, and I need to write some projects to recall Ruby on rails…

Set godaddy domain and build hugo on gitlab pages

The idea comes from…

I read a blog 將 Github Page 串上自己的域名 on Medium.com, and I thought about my bad experience in setting gitlab pages. I think I have to write a blog now, and let me remember how to set it again.

Hugo

First, install go and hugo:

My system is Ubuntu 19.04, so I follow Go wiki instructions.

1
2
3
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go

Read More  

Install Docker / Docker-compose on CentOS 8

新的一篇文章來講講最近踩的雷,起因手邊有個案子開了一台CentOS 8機器給我,讓我在上面設定docker跟跑起服務。實在跟CentOS很不熟的我決定寫篇備忘錄。

一開始就先開台乾淨的CentOS VM來準備被我玩爛…
install centos

Install Docker

然後,讓我慢慢安裝docker。

Read More  

[Day 30] Google AI & ML Products 系列總結

這系列文章出自於一個無窮無盡的bug的解題時間,想不到如何解bug、又想不出要寫什麼主題,參考完大家的方向以後,我發現這類型的文章很少、又很實用,才下定決心透過鐵人賽推廣 Google AI & ML Products

在這次的挑戰裡,給了自己三個目標:

  1. 更熟悉docker
  2. 開始玩Golang
  3. 入門大部分的Google AI & ML Products
    但也因為Google AI & ML Products太多了,所以把它分了很多子系列進行,現在再來回顧一下這次的內容。

前面先來個提醒,如果過程中你們有Deploy model做Online predict的,如果測完一定要記得刪掉,不然你deploy的model就會一直被收費喔。

Read More  

[Day 29] Google AI Hub - 2

今天要來玩的是AI Hub裡面的Reusing a pipeline component,對Python超不熟的我弄了超久。

這邊會需要run起tensorflow的docker
docker pull tensorflow/tensorflow:latest-py3-jupyter
docker run -it --rm -v $(realpath ~/notebooks):/tf/notebooks -p 8888:8888 --name jupyter tensorflow/tensorflow:latest-py3-jupyter

Read More  

[Day 28] Google AI Hub - 1

話說照第一天的規劃,今天本來要寫Recommendation AI,不過我測了很久始終無法使用Recommendation AI、無法Enable它,所以只好就此作罷。

AI Hub

今天找其他的玩具來玩,翻到了AI Hub,Hub會讓人直接連想到集線器,AI Hub就是把很多AI、ML集中在一起的平台,你可以在上面使用大家的AI model,也可以分享自己的AI上去給大家用。

我今天會來介紹其中幾個內容:servicenotebooktensorflow module,入門一下AI Hub。

Read More  

[Day 26] Google AutoML Table - 1

因為篇幅關係,昨天的Dialogflow沒有寫到最終章,就要先跳來AutoML Table了。

來點簡介再開始

AutoML Table是一種supervised learning,並透過表格資料訓練模型。用表格中的target欄位進行預測,還有一些用來學習的features特徵欄位。而在訓練之前我們該做的是:蒐集、準備資料、訓練、評估、測試、最後是預測。

當然還有更詳細的介紹都在這裡:https://cloud.google.com/automl-tables/docs/beginners-guide?authuser=1

Read More