弦而時習之

COSCUP 2020 速記

距離上一篇文章已經好幾個月了,手邊還有一些有趣的東西想寫不過實在太忙。每年參加完研討會都會寫一篇心得來記錄一下,不過我後面幾個月可能還要準備日本的 RubyKaigi(線上版)、鐵人賽跟在等投稿結果的 JSDC、MOPCON 等,應該是暫時沒辦法跟大家分享這幾個月找到的有趣技術。

GitLab 是如何讓 SSH Server 和 Git 並存而不影響安全性

這次第四屆的 Astro Camp 有學員嘗試做了 GitHub 的架構,也就是能夠在遠端建立 Git 專案並且能夠在本機上傳檔案。

不過在和當助教的同事跟學員聊到 git 使用者可以登入伺服器進行任意操作的安全性問題時,在前陣子的一些測試發現實際上我自己的假設(特製的 SSH Server)是有問題的,而這個解決方法實際上也比我們想像的還容易。

TGONext: 追蹤和技術債

在 TGONext 期間我們基本上有 4 ~ 5 次的聚會,而這次算是表定上的最後一次聚會。在可能是最後一次的聚會,我們先討論了幾個原本沒有要討論的主題。

這次聚會中,我們會討論關於日誌追蹤跟如何處理技術債。

做一個 Rails Form Helper 相容的 Form Object

當我們的 Rails 專案邊複雜的時候,Form Object 算是一個常見的方法。不過網路上的教學似乎大多都沒有能夠相容 Rails 的 Form Helper 的版本。

所以我就開始思考,有沒有辦法法在比較少的修改下去支援 Form Helper 呢?

TGONext: 資料庫變遷跟架構改變

這次在開始討論關於架構的主題之前,我們的倒是讓我們提出一些問題。

剛好在兩次聚會的期間,我的客戶因為一些錯誤的計畫讓 Migration 失敗了,所以我提出了關於在不停機的狀況下做 Migration 的規劃問題。

TGONext: 從缺點選擇架構

這次聚會我們先簡單的回顧一下上一次的討論,然後就切換到了下一個主題。基於前一次聚會高併發的討論,我們模擬一個簡單的架構然後開始演進。

重複利用的 Ansible Role 難題

大概一年前左右,我開始製作一個 Ansible 的 Playbook 來幫五倍紅寶石的客戶安裝環境。

不過當我們的客戶增加之後,其實開始有點變的很難透過 Fork 的機制來管理不同客戶的 Playbook。

這表示我必須先更新主要的 Playbook 然後再同步到每一個客戶的版本上,也因此我決定去把這些通用的部分拆成單獨的 Role 專案。

TGONext: 規劃高併發服務

昨天是 TGONext 的第一次聚會,在這個活動中我們會向台灣的一些高階主管學習。在開場結束後我們的導師 Ant 讓我們投票選出幾個想在這半年的時間內討論的題目。基本上我們預定討論四個主題,而「高併發」是我們的第一個主題。