06 2018 档案

摘要:一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能 阅读全文
posted @ 2018-06-29 14:47 rianley 阅读(120) 评论(0) 推荐(0)
摘要:一 引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间 阅读全文
posted @ 2018-06-29 14:39 rianley 阅读(121) 评论(0) 推荐(0)
摘要:一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一个流水线 流水线的工作需要电源,电源就相当于cpu 所以 阅读全文
posted @ 2018-06-29 14:26 rianley 阅读(127) 评论(0) 推荐(0)
摘要:一 什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 举例(单核+多道,实现多个进程的并发执行): 程小航在一个时间段内有很多任务要做:python备课的任务,写书的任务,交女朋友的任务,王者荣耀上分的任务, 但程小航同一时刻只能做一个任务(cpu同一时间只能干一个活) 阅读全文
posted @ 2018-06-29 12:44 rianley 阅读(209) 评论(0) 推荐(0)
摘要:一 背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统,详情请去参考(点击查看 阅读全文
posted @ 2018-06-29 11:54 rianley 阅读(121) 评论(0) 推荐(0)
摘要:1.内建属性 2.__getattribute__ 属性访问时拦截器 带方法的 3 __getattribute__的坑 4。内建函数 1) range 2)map函数 map函数会根据提供的函数对指定序列做映射 3)filter函数 filter函数会对指定序列执行过滤操作 4)reduce函数 阅读全文
posted @ 2018-06-22 14:16 rianley 阅读(134) 评论(0) 推荐(0)
摘要:1.生成器 想生成一个存放很多数据的列表,但是又不想内存占用太多 每次用一个生成一个,最好 2)列表生成器:生成多个值,每次生成1个 2.斐波那契数列 1)版本1:a,b = b,a+b 2)版本2:生成器 yield b 3)版本3:当成模块导入 可以通过 next() 函数获得生成器的下一个返回 阅读全文
posted @ 2018-06-22 14:11 rianley 阅读(158) 评论(0) 推荐(0)
摘要:1.垃圾回收 1.) 小整数对象池 #提前建立好的 Python 对小整数的定义是 [-5, 257) 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象. 2). 大整数对象池 每一个大整数,均创建一个新的对象。 3). int 阅读全文
posted @ 2018-06-22 14:08 rianley 阅读(311) 评论(0) 推荐(0)
摘要:1. is == 总结 is 是比较两个引用是否指向了同一个对象(引用比较)。 == 是比较两个对象是否相等。 2.深copy 浅copy 深拷贝是对于一个对象所有层次的拷贝(递归) 浅拷贝是对于一个对象的顶层拷贝 通俗的理解是:拷贝了引用,并没有拷贝内容 通俗的理解是:拷贝了引用,并没有拷贝内容 阅读全文
posted @ 2018-06-22 14:04 rianley 阅读(129) 评论(0) 推荐(0)
摘要:作者:程小航 版权声明:原创作品,谢绝转载!否则将追究法律责任。 程序中难免出现错误,而错误分成两种,即语法错误和逻辑错误。语法错误根本过不了python解释器的语法检测,必须在程序执行前就改正,还有一种就是逻辑错误,对逻辑错误的处理是本篇博客介绍的重点。 一.什么是异常 1>.python解释器检 阅读全文
posted @ 2018-06-13 16:32 rianley 阅读(708) 评论(0) 推荐(0)
摘要:原理:javascript加密PHP解密; 完全依赖openssl; 一. openssl 是干嘛的 OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl: 阅读全文
posted @ 2018-06-12 11:39 rianley 阅读(624) 评论(0) 推荐(0)
摘要:通过 array_keys 获取 数组的key: 通过 array_combine来替换键值: 通过for 重组 新的 数组 #数组的一些运用。。。。。。。。。。。。。 阅读全文
posted @ 2018-06-11 18:40 rianley 阅读(2037) 评论(0) 推荐(0)
摘要:本项目基于c/s架构开发(采用套接字通信,使用TCP协议) 服务端记录之后: 写的比较low,需要FTP源码的小伙伴,关注我博客,下方评论。送上源码。。。 阅读全文
posted @ 2018-06-10 18:20 rianley 阅读(345) 评论(2) 推荐(0)
摘要:最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结。 了解c语言的人,一定会知道struct结构体在c语言中的作用,它定义了一种结构,里面包含不同类型的数据(int 阅读全文
posted @ 2018-06-10 15:22 rianley 阅读(112) 评论(0) 推荐(0)
摘要:一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频) C/S架构与socket的关系: 我们学习socket就是 阅读全文
posted @ 2018-06-10 15:17 rianley 阅读(138) 评论(0) 推荐(0)
摘要:一 为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率:全部掌握这 阅读全文
posted @ 2018-06-09 11:58 rianley 阅读(134) 评论(0) 推荐(1)
摘要:一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。 注:计算机(硬件)->os->应用软件 二.网络通信原理 2.1 互联网的本质就是一系列的 阅读全文
posted @ 2018-06-08 15:33 rianley 阅读(281) 评论(0) 推荐(1)
摘要:作者:程小航 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 二 利用该特性,优雅的取代多分支的if 二 函数嵌套 一 函数的嵌套调用 二 函数的嵌套定义 三 名称空间与作用域 一 什么是名称空间? 二 名称空间的加载顺序 三 名字的查 阅读全文
posted @ 2018-06-01 16:36 rianley 阅读(165) 评论(0) 推荐(0)
摘要:作者:程小航 版权声明:原创作品,谢绝转载!否则将追究法律责任。 小白容易犯的错误 1.面向对象的程序设计看起来高大上,所以我在编程时就应该保证通篇class,这样写出的程序一定是好的程序(面向对象只适合那些可扩展性要求比较高的场景) 2.很多人喜欢说面向对象三大特性(这是从哪传出来的,封装,多态, 阅读全文
posted @ 2018-06-01 16:30 rianley 阅读(174) 评论(0) 推荐(0)
摘要:作者:程小航 版权声明:原创作品,谢绝转载!否则将追究法律责任。 面向对象的软件开发 很多人在学完了python的class机制之后,遇到一个生产中的问题,还是会懵逼,这其实太正常了,因为任何程序的开发都是先设计后编程,python的class机制只不过是一种编程方式,如果你硬要拿着class去和你 阅读全文
posted @ 2018-06-01 16:13 rianley 阅读(131) 评论(0) 推荐(0)
摘要:一 类中定义的函数分成两大类 一:绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法。 为类量身定制 类.boud_method(),自动将类当作第一个参数传入 (其实对象也可调用,但仍将类当作第一个参数传入) 2. 绑定 阅读全文
posted @ 2018-06-01 16:10 rianley 阅读(115) 评论(0) 推荐(0)
摘要:作者:程小航 版权声明:原创作品,谢绝转载!否则将追究法律责任。 如果你想开发一款游戏,会存在角色的混搭的情况,这个时候“面向对象过程”就出现了,他能轻松的解决这个问题。 一.编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 。 一个程序是程序员为了得到一个 阅读全文
posted @ 2018-06-01 15:47 rianley 阅读(224) 评论(0) 推荐(0)
摘要:logging模块(重要指数5个星星) 声明:严禁盗用博客,翻版必究! 一 日志级别 二 默认级别为warning,默认打印到终端 三 为logging模块指定全局配置,针对所有logger有效,控制打印到文件中 介绍: 四 logging模块的Formatter,Handler,Logger,Fi 阅读全文
posted @ 2018-06-01 15:16 rianley 阅读(156) 评论(0) 推荐(0)
摘要:哈哈哈哈............... 开始写博客 模块续集: shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟j 阅读全文
posted @ 2018-06-01 15:03 rianley 阅读(99) 评论(0) 推荐(0)
摘要:二,多个装饰器的案例 三,有参装饰器 2.编写下载网页内容的函数,要求功能是:用户传入一个URL,函数返回下载页面的内容。 3.装饰器包装原函数案例 心灵鸡汤: 莫让惰性,成为惯性 (不要让懒惰成为习惯!) 欢迎加入 程序员的自我修养 群:687226766 阅读全文
posted @ 2018-06-01 14:44 rianley 阅读(240) 评论(0) 推荐(0)