这章延续第1章内容,探讨如何实现很多Python类型中常见的特殊方法。这些特殊方法我觉得可以看成一种特别的“钩子”。Python内部设计的远比PHP/JavaScript语言严谨、精巧、精细,它定义了对象的各种各样的运算方式,这些方式在内部…
流畅的Python-Fluent Python读书笔记-08-对象引用、可变性和垃圾回收
这章开始讨论Python面向对象的话题。 Python这种动态语言,变量本身是谈不上“类型”的,因为它可以随时指向另外的内容。本章一开头就提到这点,不能把变量看成“盒子”,而要看成“标签”。它跟静态语言正好是反的。另外,Python语言支持…
流畅的Python-Fluent Python读书笔记-07-函数装饰器和闭包
这章讲的是函数装饰器和闭包。函数装饰器在Python框架、类库中大量使用,不懂这个是看不懂也无法理解它们的。闭包其实是存在了很久的概念,只是在函数式编程逐渐兴起之后,开始被广大程序猿群众熟知。特别是在JavaScript里面,到处都是闭包。…
流畅的Python-Fluent Python读书笔记-06-使用一等函数实现设计模式
这章延续上一章节的内容,继续讨论函数。这里探讨使用一等函数来实现设计模式。 设计模式是当年红极一时的概念,现在也是余威犹存。因为它反应了软件领域一些本质性的有效表达结构。不过滥用设计模式的情况也是很多的。当年很多人学了设计模式,不是根据实际…
流畅的Python-Fluent Python读书笔记-05-一等函数
这章开始讨论Python的函数。在Python中,函数是一等对象,怎么理解这个概念?定义是这样的: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 我强烈建议,看这章内容的时候,对比一下JavaScr…
后端开发中关系数据库的开发管理新思路
在工作上遇到的各类开发需求中,只要涉及到后端功能,关系数据库的使用几乎不可避免。虽说有各类NoSQL产品竞争和补充,但是它们没法完全替代关系数据库,实际上也很难替代。各项技术,各有各的优点和长处。我这里提出一个经过实践检验总结出来的新的数据…
自己编译构建Redis Desktop Manager for Ubuntu Linux客户端
在最近的工作中,我需要使用Redis客户端查看一些数据。但是突然间发现,以前使用的FastoRedis变成了收费订阅软件。好吧,这是它的自由。另外一个比较好的软件是Redis Desktop Manager,这个软件是使用QT构建的,能够跨…
导航地图避免拥堵的算法该怎么做?
早上用了高德地图导航,发现过去提供了三条路径的选择,今天只给了两条,昨天使用的那条没有提供。心想是不是系统有了什么状况?不管了,先奔昨天的路口再说,高德会自动切换路线。结果刚一到路口,吓呆。那条街堵死了,车流纹丝不动。这才想起高德提供的选项…
给苹果机换固态硬盘要注意的事情
这里说的是Mac mini,别的机器比如Macbook Pro,就干脆一步到位吧,换专用硬盘实在太贵了。只有Mac mini还能换普通的商用硬盘,费用比较合理。 我手里有一台几年前的Mac mini老机器,原配500G机械硬盘。软件不断升级…
Dependency Injection-依赖注入详解
依赖注入是目前很多优秀框架都在使用的一个设计模式。Java的开发框架如Spring在用,PHP的Laravel/Phalcon/Symfony等也在用。好多不同语言的框架,设计思想大同小异,相互借鉴参考。熟悉了一个语言的开发框架,其它不同的…