祝全天下的开发者朋友,新年职业发展虎啸风生,新年工资增速如虎添翼,新年爱情运势虎跃龙骧,新年代码事故虎口逃生,虎!虎!虎! 开源圣经《大教堂与集市》一书中曾言:任何行业的成功几乎都直接和这个行业供应商及客户所享有的自由度相关。而在软件开发行业,开源是让技术走向普及、下沉落地的不二法门。开源软件系统性地利用开放式开发和分布式同行评审,不仅降低了开发成本,还提高了软件质量。由此,OpenSourceiseatingtheworld从臆想变为了现实。 字节跳动技术团队过去一年间,以审慎的态度在开源领域稳扎稳打,陆续向社区开放了多个经过内部业务验证的开源项目,也向社区反哺了多个主流开源项目的新特性。 以下内容为字节跳动技术团队公众号所发布的字节跳动开源技术集合,以飨读者。 干货太多,请先点赞、在看、转发、收藏一键四连sonic:基于JIT技术的开源全场景高性能JSON库 sonic是字节跳动开源的一款GolangJSON库,基于即时编译(JustInTimeCompilation)与向量化编程(SingleInstructionMultipleData)技术,大幅提升了Go程序的JSON编解码性能。同时结合lazyload设计思想,它也为不同业务场景打造了一套全面高效的API。自2021年7月份发布以来,sonic已被抖音、今日头条等业务采用,累计为字节跳动节省了数十万CPU核。 项目地址:https:github。combytedancesonic sonic:基于JIT技术的开源全场景高性能JSON库 btrace:基于Systrace的高性能Trace工具 btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进。目前已有多款App接入,包括抖音、TikTok、今日头条、幸福里等,并为其体验优化提供强有力支持。 项目地址:https:github。combytedancebtrace btrace开源!基于Systrace高性能Trace工具 Monoio:基于iouring的高性能RustRuntime Monoio是字节跳动服务框架组开源的基于iouring的threadpercore模型高性能RustRuntime,旨在为高性能网络中间件等场景提供必要的运行时。在与同类型工具的绝大部分测试中,Monoio都具有更低的延迟和更高的吞吐。Monoio提供了threadpercore场景下最高性能的Runtime实现,目前字节已经开始基于Rust和Monoio构建下一代ServiceMesh。 项目仓库:https:github。combytedancemonoio Monoio:基于iouring的高性能RustRuntime 企业级设计系统ArcoDsign ArcoDesign是由字节跳动GIPUED团队和架构前端团队联合推出的企业级设计系统。ArcoDesign拥有系统的设计规范和资源,同时依据规范提供了丰富的原子组件,覆盖了React、Vue、Mobile、Chart等框架和方向。在原子组件基础上也提供了丰富的定制化工具,包括风格配置平台、物料平台等,也提供了资源平台包括IconBox、品牌库、ArcoPro最佳实践等。旨在帮助设计师与开发者解放双手、提升工作效率,更高效、高质量的打造符合业务规范的中后台应用。 官网:https:arco。design 项目地址:https:github。comarcodesignarcodesign 刚刚,两大重磅开源框架正式官宣! 现代Web开发框架Modern。js Modern。js脱胎于字节跳动WebInfra团队推动的前后端一体化的现代Web开发理念,是以客户端为中心,前后端一体的现代Web开发框架。该框架能降低软件应用开发和服务器端门槛,实现在同一套程序里一体化开发,在开发、调试、运行、部署等环节做到无服务器化,让前端技术栈的开发者更容易成为真正的产品开发者。 官网:https:modernjs。dev 项目地址:https:github。commodernjsdevmodern。js 刚刚,两大重磅开源框架正式官宣! 移动研发工具链MBox MBox是字节跳动抖音基础技术、ClientInfraDevOps根据移动端研发出现的现状与问题,结合移动端研发工具相关实践经验,自研的一款面向移动端开发者的研发工具链产品。MBoxCLI(CommandLineTool)已经开源啦!现已支持CocoaPods(iOS)与Bundler项目,后续将增加更多平台支持。通过开源,我们希望更多的开发者能够加入到MBox的生态建设中来,为广大的移动端开发者带来一款出色的研发工具。 项目地址:https:github。commboxplusmbox 一文读懂字节跳动自研移动研发工具链MBox 微服务中间件CloudWeGo 多年来,在亿级流量背后,字节跳动基础架构团队开发的技术底座支撑着庞大的微服务生态系统,从2018年至今,团队维护的在线微服务数量增长了近600,超过5万。面对这样的规模和增速,提高性能、可扩展性和稳定性成了构建CloudWeGo的核心。作为项目维护方,字节跳动基础架构团队已推进项目以CloudWeGo开源库为主进行迭代,未来,团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https:github。comcloudwego 字节跳动正式开源内部微服务中间件CloudWeGo Flutter应用内调试工具UME 字节跳动已有累计超过70款App使用了Flutter技术,公司内有超过600位Flutter开发者。在这一数字背后,有一条完整的Flutter基础设施链路作为支撑。UME是由字节跳动FlutterInfra团队出品的Flutter应用内调试工具,目的是在脱离FlutterIDE与DevTools的情况下,提供应用内的调试功能。在字节跳动,UME内部版已打磨了超一年时间,服务了近二十个App,众多插件功能广受开发者好评。 项目地址:https:github。combytedanceflutterume UME丰富的Flutter调试工具 安全好用的ORM框架GEN GEN是一个基于GORM的安全ORM框架,其主要通过代码生成方式实现GORM代码封装。旨在安全上避免业务代码出现SQL注入,同时给研发带来最佳用户体验,由字节跳动无恒实验室与GORM作者(https:github。comjinzhu)联合研发。具有自动同步库表、代码一键生成、字段类型安全、查询优雅返回等特性。 项目地址:https:github。comgogormgen 无恒实验室联合GORM推出安全好用的ORM框架GEN GAN模型压缩框架OMGD 字节跳动技术团队在计算机视觉顶会ICCV2021上发表的在线多粒度蒸馏算法(OnlineMultiGranularityDistillation,简称OMGD),专治GAN模型体积过大、太费算力,目前已经开源了代码以及CycleGAN与Pix2Pix的预训练模型,并且已经在抖音等产品上落地。实验表明,这项技术可以把GAN模型的计算量最低减少到原来的146、参数量最低减少到原来的182。 项目地址:https:github。combytedanceOMGD 字节跳动开源GAN模型压缩框架,算力最高节省97。8丨ICCV2021 下期字节技术年货预告:自研篇 正月初三11:00,不见不散!