- 博客(41)
- 收藏
- 关注
原创 大厂是怎样对待线上故障的?
软件测试有句名言:测试只能证明缺陷的存在,而不能证明产品没有缺陷。为了保障安全,我们引入规范和流程,小心翼翼设计编码,如履薄冰测试发布,软件的结构和实现非常大的比重服务于稳定性,然而,纵使...
2021-04-13 15:46:00 685 1
原创 记忆中的味道
不久前,托一个亲戚从衡阳寄了些家乡的吃货到北京,有米粉、合胶,还有其他两样,满满一大箱。今年春节在衡阳过,返京前买了十斤米粉打算带回北京,晒干之后觉得太占地方,遂放弃,我几乎是一到北京就后...
2021-03-16 20:42:09 296 1
原创 过客
接上篇:重逢“美碟”两字让云剑的内心为之一颤,他连忙沿着云剑所指方向望去,却没有看见美碟。“停车,我要下车。” 云剑坐在后排,身子探前拍了拍月京的肩膀。“等下,我靠边。”月京说完找了个...
2021-01-16 13:58:17 300 1
原创 重逢
接上篇:哪个男人经得住这样的考验?看完美倩的信,泪水模糊了云剑的眼。“干嘛呢?”一倌推了一下云剑。“没干嘛。” 云剑说。“送走了?”一倌问道。“嗯,送走了。” 云剑答道。“你哭了?”...
2021-01-10 12:03:53 207 1
原创 打工人一文讲清软件性能优化
性能优化是指在不影响正确性的前提下,使程序运行得更快,它是一个非常广泛的话题。优化有时候是为了降低成本,但有时候,性能能决定一个产品的成败,比如游戏服务器的团战玩法需要单服达到一定的同时...
2020-12-31 12:00:13 445
原创 软件性能优化全景
性能优化是指在不影响正确性的前提下,使程序运行得更快,它是一个非常广泛的话题。软件产品多种多样,影响程序执行效率的因素很多,因此,性能优化,特别是对不熟悉的项目做优化,不是一件容易的事。...
2020-12-30 19:32:40 669 1
原创 享受这段技术旅程
昨晚聚餐,回到宾馆已经晚上12点多,因为最近的项目涉及http2,便请教了之前的一个同事,晚上多聊了几句,不知不觉已到1点多,对方是个夜猫子型女程序员,也是我佩服的技术专家。每次聊到网络...
2020-12-21 08:40:50 95
原创 哪个程序经得起这样的优化?
# 一、思维导图# 二、什么是性能优化?性能优化指在不影响系统运行正确性的前提下,使之运行得更快,完成特定功能所需的时间更短,或拥有更强大的服务能力。## 关注不同程序有不同的性能关...
2020-12-03 15:51:43 286
原创 性能优化知识图谱
先列个提纲,后面补充内容## 一、关注和度量### 关注- 优化执行效率- 优化内存占用- 优化IO- 磁盘IO- 网络IO ### 度量- 吞吐量- 响应时间(Response Tim...
2020-11-22 11:02:14 472
原创 人到中年
几天前,一个同学来北京了。因为工作日,只能约在晚上吃饭,我早点下班,见上面已经7点半了。因为他反方向坐了十多站,所以我比他早到,便拿了号,在门口等他。夜色中,只见一个又黑又憔悴的中年人向...
2020-09-27 08:58:23 151
原创 猝不及防的相遇
上了火车,云剑和一倌坐在一起,云剑靠着过道,一倌坐在中间,不一会儿,翠花拎着行李换到了靠窗的位置,三人一排三座坐定,大约是靠窗的女子要换座到家人旁边。待到翠花落定,一倌余光斜视打量一番,...
2020-09-12 21:18:34 347
原创 如何做好软件的思考
如何做好软件这个问题太大,全面讨论可能需要很长时间。个人如何做好软件和公司如何做好软件,在难度上和方法上可能完全不同,本着思考胜于执行的原则,我近期对如何做好软件做了一些思考和总结,本篇...
2020-09-05 09:00:00 349
原创 一桩往事
大约5年前,我加入一个大厂的MMORPG手游项目,彼时那个项目已经研发了2-3年,正处于冲刺上线的关键期,那是一段忙碌的日子,回想起那段岁月,依然心潮澎湃。领导一看我是老司机,便安排我去...
2020-08-30 07:49:15 183
原创 对不起,来晚了,御姐趣讲设计模式
御姐力作,深入浅出,妙趣横生,值得一看!## 引言你好,欢迎来到设计模式的世界,这一篇我将用一种引导、启迪的思路去讲述设计模式。在程序员的世界里,设计模式就相当于武侠世界的剑招、套路。掌...
2020-08-13 21:20:24 265 1
转载 刘瑜访谈节选
极端的声音未必更有市场,它只是更有战斗力。因为声音越极端就越清晰、越有激情,很容易形成观念的同伴群体,而一旦形成群体,哪怕是非正式组织的群体,只要他们形成一拥而上的集体行动态势,其力量就...
2020-08-12 08:56:08 255
原创 高并发软件系统的密码
# 0、引言软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,全面讨论需要三天三夜,本篇讨论高并发。高并发(High Concurrency)。并...
2020-08-08 13:08:32 367 1
原创 岁月不负深情
云剑和一馆因为都找了广东的工作,便相约一起坐火车去深圳。离校那天,班长查楠开车送他们,在校门口候着,云剑和一倌收拾了行囊,来到学校门口,伊萍也赶来给一倌送行,查楠带了相机,大家在校门口合...
2020-08-02 11:48:42 243
原创 反对匈牙利命名法
2020年了,匈牙利命名法的遗毒还在危害人间,是时候彻底摒弃匈牙利命名法了,理由如下:变量的类型由其含义决定。这是最重要的反对理由。比如money的类型就是money_t,比如objec...
2020-07-28 18:58:12 350
原创 【最佳实践】C++陷阱与套路
# 一、导语C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发语言;C++虽功能强大,灵活巧妙,但却属于易学难精的专家型语言,不仅新手难以驾驭,就是老司机也容易掉进各种陷阱。...
2020-07-25 09:41:07 324
原创 软件系统稳定性设计的秘密
何谓系统稳定性?控制系统理论认为:系统受到某种干扰而偏离正常状态,当干扰消除,如果系统的扰动能逐渐收敛并最终恢复正常状态,则系统是稳定的,反之,系统偏离越来越大,则是不稳定的,所以,稳定...
2020-07-10 18:02:02 2043
原创 那些难以忘怀的日子
云剑下楼进了屋,收拾了几本书,便回学校去上自习,世间真是奇妙,想不到之前救的人,竟然跟自己住到了一套房子。临近大学毕业,同学之间经常聚餐,学校附近的一家烤串店是大家聚会常去的地方,推杯换...
2020-06-21 20:51:34 271 1
原创 C语言编程核心要点,男人看了沉默,女人看了流泪
引言笔者有十余年的C++开发经验,相比而言,我的C经验只有一两年,C比较简单,简单到《The C Programming Language》(C程序设计语言)只有区区的200多页,相比上...
2020-06-16 15:00:37 318
原创 我的致富计划
大约小学4-5年级的时候,我无意间看到一本讲农民致富的书,里面传授各种技术思路,现在依然记得的是书里讲授的如何养猪,那时候我家里只有一头母猪+几只猪,然后我忽然对养猪变得很有兴趣,我每天...
2020-06-13 14:06:03 396 3
原创 程序员真香定律:源码即设计
我们经常谈论架构,讨论设计,却甚少关注实现和代码本身,架构和设计固然重要,但要说代码本身不重要,我不同意,Robert C.Martin大叔也不同意,Martin认为“源码即设计”。在讨...
2020-06-10 17:33:23 688
原创 代码的品味
我们经常谈论架构,谈论设计,却甚少关注实现和代码本身,架构和设计固然重要,但要说代码本身不重要,不仅我不同意,Robert C.Martin大叔也不同意,大叔认为“源码即是设计”。在讨论...
2020-06-09 20:21:21 557
原创 软件工程的迷途与沉思
上世纪60年代爆发的软件危机催生了软件工程,人们寄希望于借助工程化的手段管理、设计、构建和维护软件,自此,聪明绝顶的工程师便在追求更美好软件的漫漫长路上艰苦求索。开发语言经历了汇编、C、...
2020-06-04 23:22:28 583
原创 面向对象设计(OOD):迪米特法则(LoD)
迪米特法则(LoD:Law of Demeter)又叫最少知识原则(LKP:Least Knowledge Principle ),是由Ian Holland于1987年提出来的,指的是...
2020-06-01 10:58:48 282
原创 面向对象设计(OOD):里氏替换原则
什么是里氏替换原则?里氏替换原则(Liskov Substitution Principle LSP)由麻省理工学院计算机科学实验室的Liskov女士在1987 年的“面向对象技术的高峰...
2020-05-29 17:20:37 168
原创 那些难以忘怀的日子(接上篇)
一篇小说,无题(1)01年,云剑坐绿皮火车到成都上大学,主修电子工程;04年,云剑大三,大学时候的他,没钱,但有的是时间,睡懒觉,玩游戏,打牌,日子过得可谓堕落。因为是工科专业,所以系里...
2020-05-16 00:02:25 455
原创 服务发现和负载均衡的来龙去脉
问题缘由单机时代,传统软件大多是单体/巨石架构(Monolithic)。大家往一个代码仓库提交CODE,这会导致应用膨胀,难以理解和修改,以及扩展受限,无法按需伸缩等诸多问题。单体架构怎...
2020-04-15 18:31:27 858
原创 如何通过wrap malloc定位C/C++程序的内存泄漏
用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路。什么是内存泄漏?动态申请的内存丢失...
2019-09-27 22:43:36 632
原创 通信安全基础知识
通信安全基础知识,程序员都应该了解的网络通信相关的安全基础知识。散列(HASH)散列也叫哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值,也叫摘...
2019-09-18 21:39:51 943
原创 穿越NAT的迷雾:深入理解网络地址转换和NAT穿透,以及STUN、TURN、ICE的关系
NAT是什么?NAT是NetAddressTranslation的缩写,即网络地址转换。NAT部署在网络出口的位置,位于内网跟公网之间,是连接内网主机和公网的桥梁,双...
2019-08-17 14:28:41 772 1
原创 性能之癫-优化你的程序
outline:关注&指标&度量,基础理论知识,工具&方法,最佳实践,参考资料性能优化关注:CPU、内存、磁盘IO、网络IO等四个方面。性能指标:...
2019-08-16 20:27:11 359
转载 十年牧码,我的平凡之路
我是一个有着十年码龄的无证程序员,如果算上996那就更长了。我有读故事的喜好,别人的艰辛、遭遇、苦难,往往能化为我生活的勇气和前进的动力。今天我想讲讲自己的故事,它虽不够...
2019-07-31 19:18:33 248
原创 通俗易懂用户数据报协议(UDP)
一、什么是UDP?UDP是User Datagram Protocol(用户数据报协议)的缩写,它是一个简单的协议,简单到UDP规范RFC0768只有区区3页。UDP是工...
2019-06-22 20:10:03 417
原创 安全实时传输协议(SRTP-RFC3711)翻译
最近工作上需要理解srtp协议,学习协议最好的方式就是阅读RFC文档,但英文文档读起来有点费劲,网上也找不到对应的中文翻译,所以便决定把RFC3711翻译成中文,一来是逼...
2019-06-20 20:19:20 1715 1
原创 通俗易懂网络协议(IP)
之前写过一篇《通俗易懂TCP/IP(概述)》,广受欢迎和好评,并有网友催更,本次续写IP章节,回应粉丝期待。TCP/IP网络模型TCP/IP网络模型分为4层,自下而上分布...
2019-06-09 18:03:47 291
原创 通俗易懂TCP/IP(概述)
近期工作,跟网络协议相关,这让我有机会更深入学习网络协议,而之前很长一段时间,我对网络协议的理解都停留在比较浅的层面。比如:TCP是面向连接的、可靠传输,而UDP是非连接...
2019-05-19 13:39:32 543
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人