2018年11月16日

摘要: __slots__ 最简单的hash算法,取余,便于理解模型 字典为了提高查询效率,使用空间换时间 实例的属性都需要一个空间,里边只放一两个了浪费 解决数百万个对象问题,字典就太多了 此时就可以用slots解决,只要定义了__slots__,对象的字典消失 __slots__中没有的属性,对象不能添 阅读全文
posted @ 2018-11-16 23:29 Riper 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 异常处理 异常Exception 错误 Error 逻辑错误:算法写错了, 笔误:变量名错误或者语法错误 函数或类使用错误,也属于逻辑错误 大部分的错误都可以避免 异常Exception 本意就是意外情况,在没有错误的前提下,在某些情况下,会有意外,导致程序无法正常执行下去 例如open文件,已存在 阅读全文
posted @ 2018-11-16 23:27 Riper 阅读(160) 评论(0) 推荐(0) 编辑
摘要: ORM ORM,对象关系映射,对象和关系之间的映射,使用面向对象的方式来操作数据库。 关系模型和Python对象之间的映射 table => class ,表映射为类 row => object ,行映射为实例 column => property ,字段映射为属性 SQLAlchemy 是一个OR 阅读全文
posted @ 2018-11-16 23:25 Riper 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 描述器 描述器的表现 用到三个魔术方法,__get__, __set__, __delete__ 方法签名如下 object.__get__(self,instance,owner) object.__set__(self,instance,value) object.__delete__(self 阅读全文
posted @ 2018-11-16 23:22 Riper 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 反射 概述 运行时,区别于编译时,指的是程序被加载到内存中执行时 反射,reflection,指的是运行时获取类型定义信息 大部分动态语言提供了反射 一个对象运行时,像照镜子一样,反射出类型信息 自省也是反射的一种称呼 在Python中能够通过一个对象,找出其 type,class ,attrbut 阅读全文
posted @ 2018-11-16 23:21 Riper 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 可调用对象 函数也是对象,函数可以调用,对象加上括号,就是对象调用自己的__call__方法,函数也是可调用对象 都返回__main__ foo __call__ 类中定义的方法,使实例可以像函数一样调用 格式化返回坐标的点 加法器 斐波那契数列的实现 使用类来实现斐波那契数列较为合适,还可以缓存, 阅读全文
posted @ 2018-11-16 23:21 Riper 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 魔术方法 python精华之一 特殊属性 __name__ 类,函数,方法等的名字__modle__ 主模块,当前的模块__main__,其他模块调用返回模块对象__class__ 相当于type,对象或类所属的类__bases__ 返回基类的元组,顺序为基类列表中出现的顺序__doc__ 文档,未 阅读全文
posted @ 2018-11-16 23:20 Riper 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 分发 对于监控系统,需要处理很多数据,包括日志,对其中的数据采集,分析。 被监控数据对象就是数据的生产者producer,数据的处理程序就是消费者consumer。 生产者消费者模型的传统的模型,生产,消费的耦合度大,写在同一个代码中,如果生产规模扩大,就不易扩大,而且生产和消费的速度很难匹配. 简 阅读全文
posted @ 2018-11-16 23:19 Riper 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 线程同步 概念 线程间的操作,需要协同完成任务,在访问某些数据时,其他线程不能访问这些数据,直到该线程完成对数据的操作。 不同的系统实现技术不同,有临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件等 Event Event事件,是线程间通信机制中最 阅读全文
posted @ 2018-11-16 23:17 Riper 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 包管理 python的模块或者源文件可以直接复制到目标项目目录中,就可以导入使用了。 目的是为了复用 Pypi(Python Package Index),公共的模块储存中心,https://pypi.org 主要工具有: distutils 官方库,使用安装脚本setup.py来构建,安装包 20 阅读全文
posted @ 2018-11-16 23:17 Riper 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 并发 并发和并行 并行,parallel,某时刻,同时做几件事 并发,concurrency,时间段内有事情要处理 并发解决方案 并发必须解决,所有程序几乎都要面对,特别是面对用户是互联网用户时,高并发更需要处理 打饭模型,中午十二点,食堂涌入大量人,如果人很多,这就是高并发。 1,队列,排队, 假 阅读全文
posted @ 2018-11-16 23:17 Riper 阅读(128) 评论(0) 推荐(0) 编辑
摘要: JS对象模型 JavaScript 是一种基于原型(Prototype)的面向对象语言,而不是基于类的面向对象语言。 C++、Java有类Class和实例Instance的概念,类是一类事物的抽象,而实例则是类的实体。 JS是基于原型的语言,它只有原型对象的概念。原型对象就是一个模板,新的对象从这个 阅读全文
posted @ 2018-11-16 23:15 Riper 阅读(155) 评论(0) 推荐(0) 编辑
摘要: JS语法 函数 一等公民 函数表达式 函数、匿名函数、函数表达式的差异 除非递归使用,否则不用内部命名 函数会声明提升,函数表达式不会 高阶函数 高阶函数:函数作为参数或返回一个函数 计数器counter map函数,可以对某一个数组的元素进行某种处理 生成器版本 箭头函数 箭头函数就是匿名函数,它 阅读全文
posted @ 2018-11-16 21:28 Riper 阅读(180) 评论(0) 推荐(0) 编辑
摘要: JS语法 语句块 JS使用大括号构成语句块。ES6 之前语句块是没有作用域的,从ES6开始支持 块作用域 ,let只能在块作用域内可见,函数作用域还是在函数内对内可见,外部无法直接访问 块作用域 大括号中的一行可以不加括号,多行必须加,为了代码安全性,最好全都加上 流程控制 条件分支 注意等效fal 阅读全文
posted @ 2018-11-16 17:59 Riper 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Nodejs Nodejs是服务器端运行JavaScript的开源、跨平台的运行环境。 Nodejs 原始作者Ryan Dahl 于2009年发布,使用了V8引擎, 事件驱动,非阻塞,异步IO模型。 2010年,npm包管理器诞生,可以方便的发布,分享Nodejs的库和源代码。 Nodejs4.0 阅读全文
posted @ 2018-11-16 17:58 Riper 阅读(91) 评论(0) 推荐(0) 编辑
摘要: HTML (Hyper Text Markup Language)超文本标记语言 描述的内容超出文本的范畴,可以描述文本的颜色,字体,大小等信息,或者使用图片,视频,音频等非文本内容。 HTML 由一个个标签组成,各负责不同的任务。 HTML 标签是由尖括号包围的关键词,比如 <html> HTML 阅读全文
posted @ 2018-11-16 17:57 Riper 阅读(99) 评论(0) 推荐(0) 编辑
摘要: JS基础语法 注释 常量和变量 标识符 标识符必须是字母、下划线、美元符号$和数字,但必须是字母、下划线、美元符号开头,依然是不能数字开头。标识符区分大小写。 声明 var 声明一个变量let 声明一个块作用域中的局部变量const 声明一个常量JS中的变量声明和初始化是可以分开的 var会把变量提 阅读全文
posted @ 2018-11-16 17:56 Riper 阅读(151) 评论(0) 推荐(0) 编辑

导航