通过Python脚本支持OC代码重构实践(三):数据项使用模块接入数据通路的适配
在软件开发中,经常会遇到一些代码问题,例如逻辑结构复杂、依赖关系混乱、代码冗余、不易读懂的命名等。这些问题可能导致代码的可维护性下降,增加维护成本,同时也会影响到开发效率。这时通常通过重构的方式对已有代码结构进行改进和优化。在重构的工作中,大部分的工作是人工的方式完成,是一个耗时且容易出错的过程。对于研发人员来讲,在不改变软件的功能和行为的前提下,保证质量和效率完成对已有功能的重构,是一个极大的挑战。本系列以Python实现自动化的工具,支持代码重构过程的实践。
滴滴 Redis 异地多活的演进历程
为了更好的做好容灾保障,使业务能够应对机房级别的故障,滴滴的存储服务都在多机房进行部署。本文简要分析了 Redis 实现异地多活的几种思路,以及滴滴 Redis 异地多活架构演进过程中遇到的主要问题和解决方法,抛砖引玉,给小伙伴们一些参考。
你背的“八股文”可能已经过时了
随着技术的不断更新迭代,一些曾经被认为是“标准答案”的观点和方法,已经不再适应当前的需求,甚至被视为过时的做法。在新的JDK版本中,许多新的特性、工具和方法被引入,使得Java编程变得更加简洁、高效和强大。所以,是时候对“八股文”进行一次知识库的清理和更新了。
美团一面:会单例模式吗,写个单例看看?(8大单例模式实现方式总结)
本文目录: 单例模式的定义 单例模式的使用原因 单例模式的 8 种实现方式 单例模式的 4 大应用场景 单例模式的优点、缺点 单例模式的选型参考思路 总结
聊聊如何在Java应用中发送短信
很多业务场景里,我们都需要发送短信,比如登陆验证码、告警、营销通知、节日祝福等等。 这篇文章,我们聊聊 Java 应用中如何优雅的发送短信。
记一次 Android 周期性句柄泄漏的排查
滴滴国际化外卖 Android 商户端正常迭代版本过程中,新版本发布并且线上稳定一段时间后,突然触发线上 Crash 报警。
听我一句劝,业务代码中,别用多线程。
业务代码中一般也使不上多线程,或者说,业务代码中不知不觉你以及在使用线程池了,你再 duang 的一下搞一个出来,反而容易出事。 所以提到线程池的时候,我个人的观点是必须把它吃得透透的,但是在业务代码中少用或者不用多线程。 关于这个观点,我给你盘一下。
2分钟通俗理解迪米特法则,架构设计筑基必看
迪米特法则是对软件实体之间通信的限制,它要求限制软件实体之间通信的宽度和深度。
阿里双11秒杀如何设计?
秒杀是电商业务里的标志性事件,马上双11秒杀又要开始了。这样的典型高并发场景会遇见什么样的挑战呢,然后又是如何来解决的呢?本篇我就来重点详解秒杀的设计
聊聊宿主机管理
2020年,机器上线需要在八个服务间反复横跳,而且全程手动操作。伴随滴滴业务规模上云,弹性云新增大量物理机,上线操作至少有百次,这时暴露了一个问题:如果按这个速度上线机器,需要大量人力投入到上机器中。因此,弹性云急需一个平台来管理宿主的上下线。
JaCoCo助您毁灭线上僵尸代码
随着需求不断迭代,业务系统的业务代码突飞猛进,在你自豪于自己的代码量产出很高时,有没有回头看看线上真正的客户使用量又有多少呢🤔?赶快利用jacoco探针深入分析一行行代码,让您看到线上功能运行最真实的一面,参照代码覆盖情况针对性下线和删除僵尸代码,提升产研效能,降低维护成本!
一文了解电商大促系统的高可用保障思路-献给技术伙伴们
本文面向受众可以是运营,可以是产品,也可以是研发、测试人员,希望通过如下思路(知历史->清家底->明目标->定战略->做战术->促成长)帮助大家了解电商大促系统的高可用保障,减少那些高深莫测的黑话和高大尚的论调,而希望以体系化的知识让读者有所得。
生产真实案例:震惊,几条SQL把服务器干崩了,事后还大言不惭!
今天跟大家分享一个发生在今天凌晨的真实案例,这篇文章也是我事后临时写出来的,处理事情的过程有点无语,又有点气愤!
3 分钟吃透开闭原则,架构设计筑基必知必会
在开发项目时,几乎都会再三强调开闭原则。
深入浅出线程池
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际 运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 程并行执行不同的任务。
一文带你走进得物视频
一、背景 二、视频体验技术优化 1. 视频质量提升 2. 视频卡顿率优化 3. 视频秒开优化 4. 其他 三、视频从发布到消费 1. 发布 2. 编码 3. 解码 四、过程中典型案例分析 1. 沉浸流冷启优化内存泄漏 2. 高帧率倍速播放音画不同步 3. 关注流进入视频详情页,再返回关注流没有续播 五、视频体验我们做了什么 1. 性能 2. 性能分析 3. 发热分析 4. 总结 六、未来展望
Greenplum AO表存储分析
前阵子有位客户反馈两个类似表结构的表,其中一个表的数据量远小于另外一个表(百万级和千万级),但百万级的表(后文以A表作为替代)大小远大于千万级的表(后文以B表作为替代)大小。按照以往单机PostgreSQL思维来思考的话,可能是TOAST,也可能是表中存在了很多大字段,大宽表之类的,亦或是数据类型差异、字节对齐等原因造成的,但是经过排查,发现这些并没有太大差异,甚至A表中的json/text字段更多,所以这个思路行不通了。不过怀疑的方向是这个A表经常会insert xxx。
通过Python脚本支持OC代码重构实践(一):模块调用关系分析
在软件开发中,经常会遇到一些代码问题,例如逻辑结构复杂、依赖关系混乱、代码冗余、不易读懂的命名等。这些问题可能导致代码的可维护性下降,增加维护成本,同时也会影响到开发效率。这时通常通过重构的方式对已有代码结构进行改进和优化。在重构的工作中,大部分的工作是人工的方式完成,是一个耗时且容易出错的过程。对于研发人员来讲,在不改变软件的功能和行为的前提下,保证质量和效率完成对已有功能的重构,是一个极大的挑战。本文以Python实现自动化的工具,支持代码重构过程的实践。
技术人对抗焦虑的加减法
对抗焦虑,首先我们要分离好“被贩卖的焦虑”这个课题,其次,摆正好姿态,管理好自己的欲望,通过螺旋式的“成长”来改善“自己的不满意”。
ThreadLocal:多线程环境下的神秘武器
ThreadLocal是一个线程安全的,以线程为单位的数据传递工具。广泛应用于多层级数据传递。