Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
Slack是用Hack语言开发
22-09-04
banq
Slack 的后端是用
Hack
编写的,它在
HHVM
上运行。代码库在过去几年中显着增长,今天一个新的克隆需要近 30 分钟。由于这种尺寸,运行 HHVM 已经成为资源密集型的,并且除了影响其他应用程序的性能外,还因为让工程师的笔记本电脑听起来像发电机而臭名昭著。
尽管没有强制性的单一开发环境,但大多数 webapp 工程师使用
VSCode
来完成他们的工作。VSCode 提供了广泛的扩展来支持多种语言,包括 Hack,具有语法高亮、格式化程序和 linter 等功能。多年来,Slack 工程师投入了大量时间来提出不同的策略来改善我们的开发体验。虽然它运作得相当好,但它总是很脆弱。
最初的开发工作流程涉及直接在 macOS 上运行 HHVM,它遇到了自己的一组常见问题:自制程序破坏安装、升级失败以及在发布新版本的 HHVM 时必须赶上进度。由于 HHVM 更新的频率,这成为了一个主要的痛点,给工程师带来了开销和频繁的中断。
由于初始工作流程的限制,下一次迭代将所有 HHVM 依赖项移至本地 docker,使工程师更容易保持同步。这需要大量自定义脚本和服务来构建用于使用 HHVM 运行 webapp 的 docker 映像。尽管这个解决方案解决了很多不一致的问题,但它带来了新依赖项的开销,例如 docker、维护 HHVM 构建映像以及将所有内容放在一起的自动化脚本。
虽然这比以前的工作流程有了显着的改进,但从我们内部 docker 自助渠道的高流量来看,显然需要做更多工作才能获得顺畅的开发体验。
详细点击标题