Slack是用Hack語言開發
Slack 的後端是用Hack編寫的,它在HHVM上執行。程式碼庫在過去幾年中顯著增長,今天一個新的克隆需要近 30 分鐘。由於這種尺寸,執行 HHVM 已經成為資源密集型的,並且除了影響其他應用程式的效能外,還因為讓工程師的膝上型電腦聽起來像發電機而臭名昭著。
儘管沒有強制性的單一開發環境,但大多數 webapp 工程師使用VSCode來完成他們的工作。VSCode 提供了廣泛的擴充套件來支援多種語言,包括 Hack,具有語法高亮、格式化程式和 linter 等功能。多年來,Slack 工程師投入了大量時間來提出不同的策略來改善我們的開發體驗。雖然它運作得相當好,但它總是很脆弱。
最初的開發工作流程涉及直接在 macOS 上執行 HHVM,它遇到了自己的一組常見問題:自制程式破壞安裝、升級失敗以及在釋出新版本的 HHVM 時必須趕上進度。由於 HHVM 更新的頻率,這成為了一個主要的痛點,給工程師帶來了開銷和頻繁的中斷。
由於初始工作流程的限制,下一次迭代將所有 HHVM 依賴項移至本地 docker,使工程師更容易保持同步。這需要大量自定義指令碼和服務來構建用於使用 HHVM 執行 webapp 的 docker 映像。儘管這個解決方案解決了很多不一致的問題,但它帶來了新依賴項的開銷,例如 docker、維護 HHVM 構建映像以及將所有內容放在一起的自動化指令碼。
雖然這比以前的工作流程有了顯著的改進,但從我們內部 docker 自助渠道的高流量來看,顯然需要做更多工作才能獲得順暢的開發體驗。
詳細點選標題
相關文章
- nand2tetris_hack組合語言NaN組合語言
- 《黑神話·悟空》是用什麼程式語言開發的?
- Go語言一個輕便的實時日誌類似slack收集應用Go
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- ios應用開發+swift語言入門iOSSwift
- App 開發語言APP
- JS是世界上最好的語言—— 使用Electron開發桌面應用(一)JS
- 什麼是hack?css的hack有哪些?CSS
- 搞安全開發都是用什麼程式語言?
- 用solidity語言開發代幣智慧合約Solid
- python語言的優點是什麼?python開發Python
- 各行業都愛用什麼程式語言開發?行業
- 用C++從0開始開發自己的程式語言C++
- go語言安卓開發Go安卓
- C語言可以用來開發那些專案呢?C語言
- 2021 年 iOS 應用程式開發七種最佳語言iOS
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- 以太坊Solidity程式語言開發框架————6、構建應用Solid框架
- GO語言整合開發工具:GoLand 2023 Mac 中文啟用版GoLandMac
- CFF:Java 和 JavaScript 是企業開發所用最普遍的語言JavaScript
- Go語言開發環境搭建Go開發環境
- go語言開發有哪些工具Go
- 鴻蒙開發TypeScript語言:【Number】鴻蒙TypeScript
- GO 語言快速開發入門Go
- Java開發之路—java語言概述Java
- GO語言整合開發GoLand 2022GoLand
- Python語言的發展背景是什麼?Python
- Python是什麼語言?Python底層語言是什麼?Python
- 鴻蒙開發TypeScript語言:【條件語句】鴻蒙TypeScript
- 語言是 Go 還是 Golang?Golang
- FAIR & NYU開發XNLI語料庫:15種語言(含低資源語言)AI
- Slashdata:2017-2020最受開發者歡迎的程式語言是JSJS
- 當紅開發語言Go,真的是未來的技術主流嗎?Go
- 【開發語言】PHP、Java、C語言的編譯執行過程PHPJavaC語言編譯
- 鴻蒙開發TypeScript語言:【函式】鴻蒙TypeScript函式
- Go語言VSCode開發環境配置GoVSCode開發環境
- 鴻蒙開發TypeScript語言:【運算子】鴻蒙TypeScript
- 鴻蒙開發TypeScript語言:【迴圈】鴻蒙TypeScript