- 博客(12)
- 收藏
- 关注
转载 从Code Review 谈如何做技术(zz)酷 壳
这两天,在微博上表达了一下Code Review的重要性。因为翻看了阿里内部的Review Board上的记录,从上面发现Code Review做得好的是一些比较偏技术的团队,而偏业务的技术团队基本上没有看到Code Review的记录。当然,这并不能说没有记录他们就没有做Code Review,于是,我就问了一下以前在业务团队做过的同事有没有Code Review,他告诉我不但没有Co...
2017-08-27 17:42:00 157
转载 program smart
1,可维护(Maintenance),被修改的能力。包括纠错,改进,新需求或功能规格变化的适应能力。1)模块:高内聚,低耦合2)处理流程和数据解耦3)抽象:提取共同特征&流程,剥离易变部分4)接口设计:原子化,不暴露内部数据和实现5)组件&服务:自治,自组织,独立演进2,简洁(Simple),易于理解,易于实现1)圈复杂度2)注释:w...
2017-08-27 17:41:00 283
转载 耦合
耦合性(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。内聚性是一个和耦合性相对的概念,一般而言低耦合性代表高内聚性,反之亦然。耦合性和内聚性都是由提出结构化设计概念的赖瑞·康斯坦丁(英语:Larry Constantine)所提出[1]。低耦合性是结构良好程序的特性,低耦合性程序的可读性及可维护性会...
2017-08-27 17:38:00 279
转载 7个示例科普CPU CACHE(zz)
原贴:https://coolshell.cn/articles/10249.htmlCPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章不仅仅用7个最简单的源码示例就将CPU c...
2017-08-27 13:48:00 100
转载 zz从面向对象的设计模式看软件设计
原贴:https://coolshell.cn/articles/8961.html前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一句——“那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了……OO的设计模式思想和Unix的设计思想基本没什么差别”,结果引来了一点点争议。所以,我写下这篇文章把我的观点说明一下。我希望这样可以...
2017-08-27 13:36:00 124
转载 zz酷客:tcp的那些事儿
TCP 的那些事儿(上)TCP 的那些事儿(下)转载于:https://www.cnblogs.com/soul-stone/p/7440163.html
2017-08-27 13:32:00 65
转载 spinlock(自旋锁)zz
1,自旋锁 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。 由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。 信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因此只...
2017-08-25 22:15:00 56
转载 读写信号量(todo)
读写信号量的相关API有:DECLARE_RWSEM(name)该宏声明一个读写信号量name并对其进行初始化。void init_rwsem(struct rw_semaphore *sem);该函数对读写信号量sem进行初始化。void down_read(struct rw_semaphore *sem);读者调用该函数来得到读写信号量sem。该函数会导致调...
2017-08-25 21:48:00 221
转载 字符设备模板3:misc_register
内核代码#include <linux/kernel.h>#include <linux/init.h>#include <linux/types.h>#include <linux/spinlock.h>#include <linux/blkdev.h>#include <linux/modu...
2017-08-24 16:50:00 130
转载 HMP调度器
https://zhuanlan.zhihu.com/p/23966171ARM公司在推出Cortex-A15之后市场反馈功耗有点过大,于是提出了大小核的概念即big.LITTLE模型,该模型主要目的是为了省电。目前大部分旗舰手机基本上都才有big.LITTLE模型,比较经典的配置是Cortex-A72+Cortex-A53,Cortex-A72是大核,Cortex-A53是小核。用...
2017-08-23 21:40:00 551
转载 内核态信号量(todo)
void sema_init (struct semaphore *sem, int val);void init_MUTEX (struct semaphore *sem); //将sem的值置为1,表示资源空闲void init_MUTEX_LOCKED (struct semaphore *sem); //将sem的值置为0,表示资源忙void down(struct se...
2017-08-23 10:52:00 96
转载 openBMC(todo)
https://github.com/facebook/openbmc1、GPIOint gpio_open(gpio_st *g, int gpio){ char buf[128]; int rc; snprintf(buf, sizeof(buf), "/sys/class/gpio/gpio%u/value", gpio); rc ...
2017-08-09 21:48:00 646
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人