火山引擎 RTC 自研音频编码器 NICO 实践之路

随着互联网技术的不断发展,越来越多的人开始尝试使用或者依赖实时音视频产品解决团队沟通与协作问题。在通话过程中,我们时常会遇到因为网络波动(如拥塞、丢包、延时和抖动等)而导致的音频卡顿、掉字或者杂音等问...
3年前
640

聊聊分布式中灰度方案实践

分布式系统中会存在这样的开发场景,不同需求可能涉及到对同一个服务的开发,那么该服务在研发期间就会存在多个版本并行的状态,为了保持不同版本之间的隔离性,验收需要将请求路由到指定版本号的服务上处理;,,假...
3年前
640

消息中间件系列介绍-Kafka

作者 | 葛贤亮,单位:中国移动智慧家庭运营中心,近年来,互联网技术发展迅猛,各行各业的信息量急剧膨胀。随着云计算和算力网络时代的到来,消息中间件在国内许多行业的关键应用中越来越受到重视。在高并发分布...
3年前
640

敏捷是知与行的功夫

作者 | 王子琪,以上是一段常见的关乎敏捷的定义。,,而当我们动态地看待过去几十年的敏捷发展史,光是围绕敏捷二字产生的框架、实践、理论等,便是五花八门。,早期的时候,有诸如 Scrum、XP、Crys...
4年前
640

关于技术能力的思考和总结

作者 | 朱春茂(知明),在程序员界有一个悖论持续在困惑着很多技术人:在写代码的人的困惑是一直写代码是不是会丧失竞争力,会不会被后面年轻的更能加班写代码的人汰换。典型代表就是工作5年左右的核心技术骨...
4年前
640

一篇带你从零开始学微服务

,说起微服务,大家应该并不陌生,不只是一线大厂,很多中小规模团队也已经将这项技术引入并在实际业务中落地。,那作为一名开发人员,应该如何学习微服务呢?,虽然现在开源的微服务框架有很多,各种编程语言的都有...
4年前
640

python类型提示是什么

,说明,1、如果正在处理复杂的数据结构,那么类型提示非常有助于理清复杂性并使您的代码更具可读性(尤其是想稍后参考代码时)。,2、类型提示是一种新的语法用来声明一个变量的类型。Python中的类型有简单...
4年前
640

基于SPI的增强式插件框架设计

很久之前,为了诊断线上的问题,就想要是能有工具可以在线上出问题的时候,放个诊断包进去马上生效,就能看到线上问题的所在,那该是多么舒服的事情。后来慢慢的切换到java领域后,这种理想也变成了现实,小如I...
3年前
630

12种解决CSS旧问题的新技巧

​译者 | 陈峻,审校 | 孙淑娟,如果您一直在使用CSS,那么很可能会遇到一些布局或跨浏览器兼容性等问题。例如,CSS3的样式不太适用于IE的某些旧版本。而有时候,当我们准备使用某项功能时,却发现它...
3年前
630

Netty 如何做到单机百万并发?

相信很多人知道石中剑这个典故,在此典故中,天命注定的亚瑟很容易的就拔出了这把石中剑,但是由于资历不被其他人认可,所以他颇费了一番周折才成为了真正意义上的英格兰全境之王,亚瑟王。,说道这把剑,剑身上铭刻...
4年前
630

我是怎么读代码的

作为一名程序员,总有一些时候,会对自己所做的重复性的工作感到厌倦,也会羡慕明星项目做得热火朝天 Star 数蹭蹭上涨。而读代码,则是缓解焦虑的良方。,每当读懂软件的精彩设计,赞叹优美整洁的代码,甚至发...
4年前
630

一文读懂微服务设计模式

,译者 | 李腾辉,数十年来,人们一直采用单体构架来开发应用程序,而现在越来越多的人正在转向微服务架构。微服务架构可以为我们带来更快的开发迭代速度,更高的可扩展性、可靠性,以及灵活性—使用更合适的技术...
4年前
630

Python包管理工具之 PDM

大家好,我是小姜。之前讲了一个pipenv和poetry包管理工具,想必大家也和我一样去了解过pipenv所存在问题,所以不是很推荐使用。后来改成了poetry工具,但这个东西对我来说稍微有点麻烦,经...
4年前
630

JVM 垃圾回收的工作原理

对于程序员来说,掌握 Java 的内存管理机制并不是必须的,但它能够帮助你更好地理解 JVM 是如何处理程序中的变量和类实例的。,Java 之所以能够如此流行,自动 垃圾回收Garbage Colle...
4年前
630