我们现在有一个需求,做一个模拟鸭子的游戏。游戏中的鸭子一边游泳一边呱呱叫。我们来设计一些这个鸭子。 以上是我们最初的代码设计,看起来很OK,设计的也算不错接下来就是我们非常熟...
我们现在有一个需求,做一个模拟鸭子的游戏。游戏中的鸭子一边游泳一边呱呱叫。我们来设计一些这个鸭子。 以上是我们最初的代码设计,看起来很OK,设计的也算不错接下来就是我们非常熟...
开篇之前推荐一本书《Head First 设计模式》,真是一本神书,这本书里面把设计模式讲很透彻,唯一美中不足的是书中的语言是JAVA的,对于go语言爱好者来说理解起来稍微有...
go 语言以并发作为其特性之一,并发必然会带来对于资源的竞争,这时候我们就需要使用 go 提供的 sync.Mutex 这把互斥锁来保证临界资源的访问互斥。 既然经常会用这把...
领域模型可成为软件的通用核心语言。该模型是一组得自于项目人员头脑中的概念,以及反映了领域深层含义的术语关系。这些术语和相互关系提供了模型语言的语义,虽然语言是为领域量身定制的...
什么是领域模型 ? 领域 :软件程序是为了执行用户的某项活动,或是满足用户的某种需求,这些问题区域就是软件的领域。例如机票预订程序领域的中包括飞机的乘客。 模型 :为了创建真...
epoll的原理和流程 【转载作者】 罗培羽【文章来源】 https://zhuanlan.zhihu.com/p/64746509 创建epoll对象 如下图所示,当某个进...
Redis的存储很好用,用起来简单,性能好,我们经常使用它做缓存,做缓存的时候我们对数据的安全性和更新的及时性都要求的比较简单,如果我们要把redis当成主要存储,我们会遇到...
共享锁与排它锁 锁粒度之 行与表 锁粒度之 间隙(Gap)3.1 何为间隙?3.2 为什么要有间隙锁?3.3 插入意图锁(Insert Intention Locks) RR...
学习一门语言,第一步搞清楚逻辑判断,第二步就要搞明白其中的错误处理的逻辑。 go 语言支持多值返回,我们一般用来返回一个error。但是只依赖简单的函数返回并不能很好的解决工...
SRP 单一职责原则 OCP 开闭原则 LSP 里氏替换原则 ISP 接口隔离原则 DIP 依赖反转原则 在架构之路上和代码设计上,我们一定要明白上面的几个原则,在这几个原则...
转发来自http://www.ruanyifeng.com/blog/2016/11/byte-order.html 计算机硬件有两种储存数据的方式:大端字节序(big en...
在优化索引时,思考了一个问题,DATE, DATETIME, TIMESTAMP,还有INT存储的时间,在索引中哪个效率更高一些?索引存储的,如果单纯的测试,而不去了解底层存...
在计算机的存储领域中经常会看到 100Mb和100MB,这样的写法有什么区别?计算机中int是32位还是64位存储说的又是什么呢?这些概念都非常简单,但是时间长了就会搞混,这...
利用select 进行一个超时的处理
谢谢分享