Quantcast
Channel: 小惡魔 – 電腦技術 – 工作筆記 – AppleBOY
Browsing all 325 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Go 語言的 graphQL-go 套件正式支援 Concurrent Resolvers

要在 Go 語言寫 graphQL,大家一定對 graphql-go 不陌生,討論度最高的套件,但是我先說,雖然討論度是最高,但是效能是最差的,如果大家很要求效能,可以先參考此專案,裡面有目前 Go 語言的 graphQL 套件比較效能,有機會在寫另外一篇介紹。最近 graphql-go 的作者把 Concurrent Resolvers 的解法寫了一篇 Issue 來討論,最終採用了...

View Article


Image may be NSFW.
Clik here to view.

Go 語言專案程式碼品質

本篇想介紹我在寫開源專案會用到的工具及服務,其實在編譯 Go 語言同時,就已經確保了一次程式碼品質,或者是在編譯之前會跑 go fmt 或 go vet 的驗證,網路上也蠻多工具可以提供更多驗證,像是: errcheck (檢查是否略過錯誤驗證) unused (檢查沒用到的 func, variable or const) structcheck (檢查 struct 內沒有用到的 field)...

View Article


Image may be NSFW.
Clik here to view.

gofight 支援檔案上傳測試

gofight 是一套用 Go 語言撰寫的 HTTP API 測試套件,之前已經寫過一篇介紹用法,當時候尚未支援檔案上傳測試,也就是假設寫了一個檔案上傳的 http handler 在專案內如何寫測試,底下來看看該如何使用。 準備環境 首先需要一個測試檔案,通常會在專案底下建立 testdata 目錄,裡面放置一個叫 hello.txt 檔案,內容為 world。接著安裝 gofight...

View Article

Image may be NSFW.
Clik here to view.

Go 語言 1.11 版本推出 go module

本篇來聊聊 Go 語言在 1.11 版本推出的 新功能,相信大家也許還不知道此功能是做什麼用的,我們來回顧看看在初學 Go 語言的時候,最令人困擾的就是 GOPATH,所有的專案都必須要在 GOPATH 底下開發,然而在更久前還沒有 Vendor 時候,兩個專案用不同版本的同一個 Package 就必須要使用多個 GOPATH 來解決,但是隨著 Vendor 在 1.5...

View Article

Image may be NSFW.
Clik here to view.

用 10 分鐘部署專案到 AWS Lambda

看到這標題也許非常聳動,也可能覺得不可思議,今天來探討如何將專案直接部署到 AWS Lambda 並且自動化將 API Gateway 設定完成。當然要做到完全自動化,必須要使用一些工具才能完成,本篇將介紹由 TJ 所開發的 apex/up 工具,如果您不熟悉 EC2 也不太懂 Command line 操作,本文非常適合您,不需要管理任何 EC2 機器,也不需要在熟悉任何 Linux...

View Article


Image may be NSFW.
Clik here to view.

高雄 Mopcon 濁水溪以南最大研討會 – Drone CI/CD 介紹

今年又以講者身份參加 Mopcon 南區最大研討會,此次回高雄最主要推廣 Drone 這套 CI/CD 平台。大家可以從過去的 Blog 或影片可以知道我在北部推廣了很多次 Drone 開源軟體,唯獨南台灣還沒講過,所以透過 Mopcon 研討會終於有機會可以來推廣了。本次把 Drone 的架構圖畫出來,如何架設在 Kubernetes 上以及該如何擴展 drone...

View Article

Image may be NSFW.
Clik here to view.

Flutter 推出 1.0 版本

很高興看到台灣時間 12/5 號 Flutter 正式推出 1.0 版本,相信很多人都不知道什麼是 Flutter,簡單來說開發者只要學會 Flutter 就可以維護一套程式碼,並且同時編譯出 iOS 及 Android 手機 App,其實就跟 Facebook 推出的 React Native 一樣,但是 Flutter 的老爸是 Google。相信大家很常看到這一兩年內,蠻多新創公司相繼找...

View Article

Image may be NSFW.
Clik here to view.

Drone CI/CD 推出 Cloud 服務支援開源專案

Drone 在上個月宣布推出 Cloud 服務 整合 GitHub 帳戶內的 Repo,只要登入後就可以跑 GitHub 上面的專案自動化整合及測試,原先在 GitHub 上面常見的就是 Travis 或 CircleCI,現在 Drone 也正式加入角逐行列,但是從文中內可以看到其實是由 Packet 這間公司獨家贊助硬體及網路給 Drone,兩台實體機器,一台可以跑 X86 另外一台可以跑...

View Article


Image may be NSFW.
Clik here to view.

將 Flickr 相簿備份到 Google Photos

Flickr 在 2019 年一月會開始將免費會員照片刪除到剩下 1000 張,這次透過 Go 工具 來將備份好的 Flickr 相簿上傳到 Google Photos,此工具只適合用在 MacOS 及 Linux 上面,Windows 請改用『Backup and Sync from Google』工具。 *Free members with more than 1,000 photos or...

View Article


Image may be NSFW.
Clik here to view.

用 Docker 整合測試 Flutter 框架

Flutter 是一套以 Dart 語言為主體的手機 App 開發框架,讓開發者可以寫一種語言產生 iOS 及 Android,只要裝好 Flutter 框架,就可以在個人電腦上面同時測試 iOS 及 Android 流程,如果您需要 Docker 環境,可以直接參考此開源專案,裡面已經將 Flutter 1.0 SDK 包在容器,只要將專案目錄掛載到 Docker 內,就可以透過 flutter...

View Article

Image may be NSFW.
Clik here to view.

Go Module 導入到專案內且搭配 Travis CI 或 Drone 工具

相信各位 Go 語言開發者陸陸續續都將專案從各種 Vendor 工具轉換到 Go Module,本篇會帶大家一步一步從舊專案轉換到 Go Module,或是該如何導入新專案,最後會結合 CI/CD 著名的兩套工具 Travis 或 Drone 搭配 Go Module 測試。 影片介紹 舊專案內 vendor 轉換成 go module 設定 (1:15) 新專案如何啟用 go module...

View Article

Image may be NSFW.
Clik here to view.

用 Traefik 搭配 Docker 快速架設服務

更新: 2019.01.10 新增教學影片 相信大家在架設服務肯定會選一套像是 HAProxy, Nginx, Apache 或 Caddy,這四套架設的難度差不多,如果要搭配 Let’s Encrypt 前面兩套需要自己串接 (Nginx, Apache),而 Caddy 是用 Golang 開發裡面已經內建了 Let’s...

View Article

Image may be NSFW.
Clik here to view.

Seagate 2.5吋 4TB 外接硬碟 好市多 2699 元

本週 Costco 正在特價 Seagate 4TB 外接硬碟特價 2699 元,本來只有 3TB 特價 2699 元活動,後來廠商供應數量不夠,只好拿 4TB 一起來特價 2699 元,所以我去賣場發現一樣價錢,但是足足多了 1 TB 容量啊,只有在本週特價喔 01/18 ~ 01/27 數量有限,賣完就沒了。目前 costco 線上版本已經賣完 4TB 了,大家有需要的可以快去現場看看。...

View Article


Image may be NSFW.
Clik here to view.

Traefik 搭配 Docker 自動更新 Let’s Encrypt 憑證

之前寫過蠻多篇 Let’s Encrypt 的使用教學,但是這次要跟大家介紹一套非常好用的工具 Traefik 搭配自動化更新 Let’s Encrypt 憑證,為什麼會推薦 Traefik 呢,原因在於 Traefik 可以自動偵測 Docker 容器內的 Label 設定,並且套用設定在 Traefik 服務內,也就是只要修改服務的 docker-compose 內容,重新啟動,Traefik...

View Article

Image may be NSFW.
Clik here to view.

有效率的用 jsonnet 撰寫 Drone CI/CD 設定檔

Drone 在 1.0 版本推出了用 jsonnet 來撰寫 YAML 設定檔,方便開發者可以維護多個專案設定。不知道大家有無遇過在啟動新的專案後,需要從舊的專案複製設定到新專案,或者是在 .drone.yml 內有非常多重複性的設定,假設 Go 語言的開源專案需要將執行檔包成 ARM64 及 AMD64 的映像檔,並且上傳到 Docker Hub,底下是 AMD64 的設定檔範例。剛好在...

View Article


Image may be NSFW.
Clik here to view.

快速部署網站到 Heroku 雲平台

大家在寫開源專案時,一定需要一個免費的雲空間來放置網站,方便其他開發者在 GitHub 看到時,可以先點選 Demo 網站來試用,也許開發者可以使用 GitHub 提供的免費靜態網站,但是如果是跑 Golang 或是其他語言 Node.js 就不支援了,本篇來介紹 Heroku 雲平台,它提供了開發者免費的方案,您可以將 GitHub 儲存庫跟 Heroku...

View Article

Image may be NSFW.
Clik here to view.

在 docker-in-docker 環境中使用 cache-from 提升編譯速度

在現代 CI/CD 的環境流程中,使用 Docker In Docker 來編譯容器已經相當流行了,像是 GitLab CI 或 Drone 都是全走 Docker 環境,然而有很多人建議盡量不要在 CI 環境使用 Docker In Docker,原因在於 CI 環境無法使用 Host Image 資料,導致每次要上傳 Image 到 Docker Hub 時都需要重新下載所有的 Docker...

View Article


Image may be NSFW.
Clik here to view.

開源專案 Gitea 支援 OAuth Provider

很高興看到 Gitea 正式支援 OAuth Provider 了,此功能經歷了四個月終於正式合併進 master 分支,預計會在 1.8 版本釋出,由於此功能已經進 master,這樣我們就可以把原本 Drone 透過帳號密碼登入,改成使用 OAtuh 方式了,增加安全性。但是在使用之前,Drone 需要合併 drone/go-login@3 及 drone/drone@2622。如果您會使用...

View Article

Image may be NSFW.
Clik here to view.

10 分鐘內用 Traefik 架設 Drone 搭配 GitHub 服務

這標題也許有點誇張,但是如果實際操作一次,肯定可以在 10 分鐘內操作完成。本篇來教大家如何用 Traefik 當作前端 Proxy,後端搭配 Drone 服務接 GitHub,為什麼會用 Traefik,原因很簡單,你可以把 Traefik 角色想成是 Nginx,但是又比 Nginx 更簡單設定,另外一點就是,Traefik 自動整合了 Let’s Encrypt...

View Article

Image may be NSFW.
Clik here to view.

用五分鐘了解什麼是 unbuffered vs buffered channel

本篇要跟大家聊聊在 Go 語言內什麼是『unbuffered vs buffered channel』,在初學 Go 語言時,最大的挑戰就是了解 Channel 的使用時機及差異,而 Channel 又分為兩種,一種是 buffered channel,另一種是 unbuffered channel,底下我來用幾個簡單的例子帶大家了解這兩種 channel 的差異,讓初學者可以很快的了解...

View Article
Browsing all 325 articles
Browse latest View live