一直以來感謝大家使用Nuita。
今個月也來到每月一次的期待時刻——Nuita通訊的時間到了!讓我們一起回顧一下今個月的Nuita吧。
不過,今次的內容好像有點偏向技術宅取向……
我們引入了imageproxy

在Nuita中,當用戶的擼帖內含有URL時,系統會自動解析連結頁面並取得資訊,在時間軸上顯示該內容(這項處理是以panchira的形式對外公開開發的)。
為了顯示內容的縮圖,需要取得並分享原始網頁的圖片。但如果直接嵌入原始連結的圖片,不僅會產生保安上的問題,而且每次有人瀏覽Nuita時,都會向原網站的圖片發出請求,造成原網站伺服器的負擔。
因此,為了避免直接存取原網站,我們之前一直暫時使用camo作為代理伺服器。它相當於一個跳板,能避免圖片被直接連結,而且似乎實際上(曾經?)被Togetter等各種網絡服務所使用。
另一方面,由於快取伺服器的功能需要另外準備,加上更新似乎從大約三年前就已經停止(最後一次更新似乎是2017年),有時會出現無法順利運作的情況,結果我們不得不將其使用降至最低限度。
因此,作為今個月開始的新嘗試,Nuita引入了imageproxy!
它和之前的camo一樣具有代理伺服器的功能,但同時亦兼備快取伺服器的功能,透過將上載的圖片暫時保存在記憶體或儲存空間中,可以將對原網站的存取降至最低限度。
當用戶上載URL時,該圖片會被快取到Nuita伺服器的記憶體中,完全毋須存取原網站即可顯示URL的縮圖。此外,除了記憶體之外,快取區域有時亦會使用AWS上的儲存空間,但該等圖片會以無法直接查看的形式保存,並在到達一定期限後自動刪除。

Nuita今後亦會以成為對內容平台與創作者都有益的服務為目標,持續開發下去。有關該方針的詳細內容,歡迎參閱這篇文章。
我們引入了Docker和Github Actions
Nuita的開發在Github上進行,在repository中,義務技術人員為了更好的射精報告,不分晝夜持續開發。
然而,軟件開發不僅外觀樸素,亦經常得不到甚麼樂趣,導致大家為了獲得直接的快感,漸漸變成開發自己的身體多過開發Nuita。
因此,為了在能夠投放於Nuita的有限時間內獲得最大效果,Nuita新引入了Docker以及Github Actions!
Docker是一款可以輕鬆啟動容器(冒住被內行人責備的風險說一句,大概可以理解成一種虛擬機)的軟件,透過分享其設定檔案,多位開發人員之間亦能輕鬆共用開發環境。
此外,Github Actions是一項便利的功能,可以針對Github上的程式碼在虛擬環境中自動執行一連串指令——有了它,即使人類正在射精的時候,亦能讓機器進行測試、部署等工作。雖然未來的目標之一是實現部署自動化,但現階段主要用於對提交的pull request以及已合併程式碼進行自動測試。

透過引入這些新技術,我們深信Nuita的開發變得更加便利!如果正在閱讀這篇文章的你多少具備一點Web工程技術,不妨和我們一起愉快地參與Nuita的開發吧?
關於今次新功能的使用感受等,如果有任何想法,歡迎隨時透過twitter或GitHub與我們聯絡。 那麼,請在新增了時間軸、變得更加便利的Nuita上盡情享受射精吧!