08 2018 档案

摘要:awesome python 中文版 相见恨晚! https://www.zhihu.com/question/24590883 这篇知乎厉害了!一定要学习! 作者:知乎用户链接:https://www.zhihu.com/question/24590883/answer/92420471来源:知乎 阅读全文
posted @ 2018-08-30 16:19 Niuli'blog 阅读(1316) 评论(0) 推荐(0) 编辑
摘要:HTML:超文本标记语言 结构: <html> <head> <body> head内常用标签: <meta>元素可提供有关页面的原信息(mata-information),针对搜索引擎和更新频度的描述和关键词。<meta>标签位于文档的头部,不包含任何内容。<meta>提供的信息是用户不可见的。m 阅读全文
posted @ 2018-08-30 15:37 Niuli'blog 阅读(118) 评论(0) 推荐(0) 编辑
摘要:这个可能是最终的安装方法吧,找了太多都不能用 https://www.linuxidc.com/Linux/2017-11/148172.htm?from=singlemessage 安装Python3.6可能使用的依赖 # yum install openssl-devel bzip2-devel 阅读全文
posted @ 2018-08-28 16:38 Niuli'blog 阅读(163) 评论(0) 推荐(0) 编辑
摘要:一、首先用vi命令打卡要编辑的文件: 注意:vi命令的使用如下 打开或新建文件,并将光标至于第一行首:[root@centos6 /]# vi /etc/my.cnf 打开文件,并将光标移至最后一行行首:[root@centos6 /]# vi + /etc/my.cnf 打开文件,并将光标置于第n 阅读全文
posted @ 2018-08-28 16:33 Niuli'blog 阅读(3676) 评论(0) 推荐(0) 编辑
摘要:yield 是一个类似 return 的关键字,只是这个函数返回的是个生成器 当你调用这个函数的时候,函数内部的代码并不立马执行 ,这个函数只是返回一个生成器对象 当你使用for进行迭代的时候,函数中的代码才会执行 https://pyzh.readthedocs.io/en/latest/the- 阅读全文
posted @ 2018-08-28 09:43 Niuli'blog 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1、先按shift+ctrl+opt+开机键,等待10秒,着10秒是没有反应的,屏幕不会亮,系统不会跑起来。2、10秒过后松开所以的键。3、再按opt+cmd+r+p接着按开机键,这时电脑会不断重启,期间不会进入系统,屏幕白又黑白又黑,系统声音也不断响起,响了4次之后松开所有的键,就恢复 之前是加了 阅读全文
posted @ 2018-08-27 19:45 Niuli'blog 阅读(1135) 评论(0) 推荐(0) 编辑
摘要:concurrent.futures 这个模块是异步调用的机制concurrent.futures 提交任务都是用submitfor + submit 多个任务的提交shutdown 是等效于Pool中的close+join,是指不允许再继续向池中增加任务,然后让父进程(线程)等待池中所有进程执行完 阅读全文
posted @ 2018-08-27 16:40 Niuli'blog 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:1 学习线程 线程被称作轻量级的进程。 GIL:全局解释锁(只有Cpython解释器才有) 对于线程来说,因为有了GIL,所以没有真正的并行 计算机的执行单位以线程为单位。计算机的最小可执行是线程。 进程是资源分配的基本单位。线程是可执行的基本单位,是可被调度的基本单位。 线程不可以自己独立拥有资源... 阅读全文
posted @ 2018-08-23 15:59 Niuli'blog 阅读(210) 评论(0) 推荐(0) 编辑
摘要:网络编程 queue [kju] : 队列 Priority [praɪˈɔ:rəti] : 优先 PriorityQueue 优先级队列 concurrent [kənˈkɜ:rənt] : 同时发生的 ProcessPoolExecutor : 进程池执行 ThreadPoolExecutor 阅读全文
posted @ 2018-08-23 15:54 Niuli'blog 阅读(160) 评论(0) 推荐(0) 编辑
摘要:进程池: 一个池子,里边有固定数量的进程。这些进程一直处于待命状态,一旦有任务来,马上就有进程去处理。 因为在实际业务中,任务量是有多有少的,如果任务量特别的多,不可能要开对应那么多的进程数 开启那么多进程首先就需要消耗大量的时间让操作系统来为你管理它。其次还需要消耗大量时间让cpu帮你调度它 进程 阅读全文
posted @ 2018-08-22 21:58 Niuli'blog 阅读(138) 评论(0) 推荐(0) 编辑
摘要:在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。 该模式通过平衡生产进程和消费进程的工作能力来提高程序的整体处理数据的速度。 举个应用栗子: 全栈开发时候,前端接收客户请求,后端处理请求逻辑。 当某时刻客户请求过于多的时候,后端处理不过来, 此时完全可以借助队列来辅助,将客户请求放入队列 阅读全文
posted @ 2018-08-22 20:09 Niuli'blog 阅读(1505) 评论(0) 推荐(0) 编辑
摘要:进程间通信--IPC(Inter-Process Communication) 管道 #创建管道的类: Pipe([duplex]):在进程之间创建一条管道,并返回元组(conn1,conn2),其中conn1,conn2表示管道两端的连接对象,强调一点:必须在产生Process对象之前产生管道 # 阅读全文
posted @ 2018-08-22 15:58 Niuli'blog 阅读(241) 评论(0) 推荐(0) 编辑
摘要:在使用pycharm的时候遇到了一个情况, 下载了一个文件,自己修改了文件夹名称后再打开文件夹里的py文件, 打不开了,pycharm没有反应, 百度了一下,没有类似的问题,觉得应该是个个例... 然后删掉文件,重新下载了文件,这次没有直接重命名文件夹, 直接打开后没有问题 在操作文件的时候, 想要 阅读全文
posted @ 2018-08-21 15:47 Niuli'blog 阅读(6226) 评论(0) 推荐(0) 编辑
摘要:锁 —— multiprocessing.Lock 通过刚刚的学习,我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理,他们之间的运行没有顺序(或者说由操作系统调度决定他们的顺序),一旦开启也不受我们控制。尽管并发编程让我们能更加充分的利用IO资源,但是也给我们带来了新的问题。 当 阅读全文
posted @ 2018-08-21 15:34 Niuli'blog 阅读(575) 评论(0) 推荐(0) 编辑
摘要:什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 并行: 指两者同时执行,比如有两条车道,在某一个时间点,两条车道上都有车在跑;(资源够用,比如三个线程,四核的CPU ) 并发: 并发是指资源有限的情况下,两 阅读全文
posted @ 2018-08-20 18:11 Niuli'blog 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:个人的情况是, mac本连的网线,用的无线鼠标, 屋里80多号人都在用笔记本,应该也有好多开着无线的东西 解决方法: mac 或macbook 连接蓝牙耳机播放音乐断断续续的原因, 在网上找了好多方法,试了各种方法,用各种命令,都完全没有效果 终于在晚上回家的时候灵机一动, 怕不是因为无线鼠标的原因 阅读全文
posted @ 2018-08-17 22:10 Niuli'blog 阅读(9062) 评论(0) 推荐(0) 编辑
摘要:前言 看了网上的一些描述CPU执行程序的过程,发现他们涉及到的内容太多了,恨不能把整个CPU的底层结构都拿出来说,这对计算机理论知识匮乏的新人甚至是一些老人都是非常不友好的。这个问题也是当初拦在我面前的一只大老虎,把这个原理写出来也有助于我自己的深入理解。 YouTube上的一个视频How does 阅读全文
posted @ 2018-08-17 11:09 Niuli'blog 阅读(1519) 评论(0) 推荐(0) 编辑
摘要:了解c语言的人,一定会知道struct结构体在c语言中的作用,它定义了一种结构,里面包含不同类型的数据(int,char,bool等等),方便对某一结构对象进行处理。而在网络通信当中,大多传递的数据是以二进制流(binary data)存在的。当传递字符串时,不必担心太多的问题,而当传递诸如int、 阅读全文
posted @ 2018-08-16 17:29 Niuli'blog 阅读(296) 评论(0) 推荐(0) 编辑
摘要:TCP协议下 服务端可以同时接收多个客户端信息 阅读全文
posted @ 2018-08-16 17:12 Niuli'blog 阅读(133) 评论(0) 推荐(0) 编辑
摘要:更详细的文件按行读取操作可以参考:http://www.cnblogs.com/xuxn/archive/2011/07/27/read-a-file-with-python.html 一行一行得从文件读数据,显然比较慢;不过很省内存 带缓存的文件读取 readlines 速度最快 1. 最基本的读文件方法: ? # File: readline-example-1.py f... 阅读全文
posted @ 2018-08-15 22:37 Niuli'blog 阅读(8166) 评论(0) 推荐(0) 编辑
摘要:1 模块简介 functools,用于高阶函数:指那些作用于函数或者返回其它函数的函数,通常只要是可以被当做函数调用的对象就是这个模块的目标。 在Python 2.7 中具备如下方法, cmp_to_key,将一个比较函数转换关键字函数; partial,针对函数起作用,并且是部分的; reduce 阅读全文
posted @ 2018-08-15 17:06 Niuli'blog 阅读(215) 评论(0) 推荐(0) 编辑
摘要:用于提供系统级别的操作 阅读全文
posted @ 2018-08-14 20:30 Niuli'blog 阅读(106) 评论(0) 推荐(0) 编辑
摘要:用法 以前我一直用os.system()处理一些系统管理任务,因为我认为那是运行linux命令最简单的方式.我们能从Python官方文档里读到应该用subprocess 模块来运行系统命令.subprocess模块允许我们创建子进程,连接他们的输入/输出/错误管道,还有获得返回值。subproces 阅读全文
posted @ 2018-08-14 19:25 Niuli'blog 阅读(185) 评论(0) 推荐(0) 编辑
摘要:首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机浮点数通过下面的图简单看下: 这里就打印了一个值范围是在10~20之间的浮点数。 在来说说lambda表达式是匿名函数,是函数的另 阅读全文
posted @ 2018-08-14 15:43 Niuli'blog 阅读(6471) 评论(2) 推荐(0) 编辑
摘要:两种情况下会发生粘包。 发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合到一起,产生粘包) 接收方不及时接收缓冲区的包,造成多个包接收(客户端发送了一段数据,服务端只收了一小部分,服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包) 只有tcp协议才会发送粘包 阅读全文
posted @ 2018-08-14 15:41 Niuli'blog 阅读(213) 评论(0) 推荐(0) 编辑
摘要:udp是无链接的,启动服务之后可以直接接受消息,不需要提前建立链接 UDP协议的通信优势: 允许一个服务器同时和多个客户端通信, TCP不行 服务端 客户端 阅读全文
posted @ 2018-08-13 18:24 Niuli'blog 阅读(265) 评论(0) 推荐(1) 编辑
摘要:TCP协议 面向连接 可靠的 面向字节流形式的 tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 TCP协议编码流程: 服务器端: 客户端 实例化对象 实例化对象 绑定IP地址和端口号 监听 接收客户端的连接 连接服务器 收发 收发 关闭 关闭 问题:有的同学在重启服务端时可能会遇 阅读全文
posted @ 2018-08-13 17:09 Niuli'blog 阅读(11185) 评论(0) 推荐(1) 编辑
摘要:套接字工作流程 一个生活中的场景。你要打电话给一个朋友,先拨号,朋友听到电话铃声后提起电话,这时你和你的朋友就建立起了连接,就可以讲话了。等交流结束,挂断电话结束此次交谈。 生活中的场景就解释了这工作原理。 图3 先从服务器端说起。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行 阅读全文
posted @ 2018-08-13 15:14 Niuli'blog 阅读(149) 评论(0) 推荐(0) 编辑
摘要:import re bracket = re.compile(r'\([^()]+\)') # 寻找最内层括号规则 mul = re.compile(r'(\d+\.?\d*\*-\d+\.?\d*)|(\d+\.?\d*\*\d+\.?\d*)') # 寻找乘法运算规则 div = re.compile(r'(\d+\.?\d*/-\d+\.?\d*)|(\d+\.?\d*/\d+\.?... 阅读全文
posted @ 2018-08-11 19:00 Niuli'blog 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-08-11 17:55 Niuli'blog 阅读(161) 评论(0) 推荐(0) 编辑
摘要:数据类型的扩展模块 总结在insert remove的时候 deque的平均效率要高于列表列表根据索引查看某个值的效率要高于dequeappend 和pop对于列表的效率是没有影响 阅读全文
posted @ 2018-08-10 21:59 Niuli'blog 阅读(89) 评论(0) 推荐(0) 编辑
摘要:什么是异常? 异常发生之后 异常之后的代码就不执行了 什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) 如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这 阅读全文
posted @ 2018-08-10 21:53 Niuli'blog 阅读(95) 评论(0) 推荐(0) 编辑
摘要:功能 1.日志格式的规范 2.简化操作 3.日志的分级管理logging不能做的事 自动生成你想要打印的内容 (需要程序猿自己在开发的时候定义好) 在哪些地方需要打印,要打印的内容是啥,内容的级别logging模块的使用: 普通配置型 简单的 可定制化差 对象配置型 复杂的 可定制化强 默认情况下P 阅读全文
posted @ 2018-08-10 21:19 Niuli'blog 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1 软件开发架构: c/s架构: client/sever 客户端/服务端 充分发挥pc机的性能,大型游戏,大型工具软件 b/s架构: browser/sever 浏览器/服务端 统一了应用接口 2 通信 2.1 同一台电脑两个py文件通信: 打开同一个文件 2.2 两台电脑: 连一根网线 2.3 阅读全文
posted @ 2018-08-10 16:34 Niuli'blog 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)对于同一个字符串,不管这个字符串有多长,只要是相同的,无论在任何环境下,多少次执行,在任何语言中使用相同的算法\相同的手段得到的结果永远是相 阅读全文
posted @ 2018-08-09 22:44 Niuli'blog 阅读(962) 评论(0) 推荐(0) 编辑
摘要:import pickle # dump的结果是bytes,dump用的f文件句柄需要以wb的形式打开,load所用的f是'rb'模式# 支持几乎所有对象的序列化# 对于对象的序列化需要这个对象对应的类在内存中# 对于多次dump/load的操作做了良好的处理 # pickle支持几乎所有对象 # 阅读全文
posted @ 2018-08-09 18:02 Niuli'blog 阅读(167) 评论(0) 推荐(0) 编辑
摘要:......得到一个 字符串 的结果 过程就叫序列化 字典 / 列表 / 数字 /对象 -序列化->字符串 为什么要序列化 # 1.要把内容写入文件 序列化 # 2.网络传输数据 序列化 字符串-反序列化->字典 / 列表 / 数字 /对象 序列化模块 json pickle shelve impo 阅读全文
posted @ 2018-08-09 17:21 Niuli'blog 阅读(214) 评论(0) 推荐(0) 编辑
摘要:异步复制 异步复制,主库将事务 Binlog 事件写入到 Binlog 文件中,此时主库只会通知一下 Dump 线程发送这些新的 Binlog,然后主库就会继续处理提交操作,而此时不会保证这些 Binlog 传到任何一个从库节点上。 全同步复制 全同步复制,当主库提交事务之后,所有的从库节点必须收到 阅读全文
posted @ 2018-08-09 14:03 Niuli'blog 阅读(1378) 评论(0) 推荐(0) 编辑
摘要:sys模块是和python解释器打交道的 阅读全文
posted @ 2018-08-08 17:10 Niuli'blog 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:import time# 时间戳时间: 格林威治时间,float类型,给机器看 # 从 英国伦敦时间 1970.1.1开始算 # 用法: time.time() #print(time.time())# 结构化时间: 时间对象 时间戳时间 与 格式化时间 的中间状态 # 时间对象(结构化时间) 能通过 .属性名 来获取对象中的值 # 用法: time.loca... 阅读全文
posted @ 2018-08-08 16:49 Niuli'blog 阅读(150) 评论(0) 推荐(0) 编辑
摘要:计算当前时间与所输入的时间的时间差 阅读全文
posted @ 2018-08-08 16:43 Niuli'blog 阅读(455) 评论(0) 推荐(0) 编辑
摘要:常用的方法 findall / search / match / compile / finditer sub subn split import re findall, search, match re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。 s = 'a123asd456' ... 阅读全文
posted @ 2018-08-07 21:00 Niuli'blog 阅读(148) 评论(0) 推荐(0) 编辑
摘要:正则表达式:1. 概念: 一种字符串匹配规则 1.1 判断 input进来的 是不是qq号 是不是手机号 身份证号 ...... 1.2 有一个文件,要求把手机号 qq号 取出来2. 能做什么: 2.1 可以制定一个规则: # 来确认某一个字符串是否符合规则的内容 # 从打断的字符串中找到符合规则的 阅读全文
posted @ 2018-08-06 18:02 Niuli'blog 阅读(135) 评论(0) 推荐(0) 编辑
摘要:转载:http://python.jobbole.com/81683/ 呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂。搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数相关语法的一些特点。 我没法 阅读全文
posted @ 2018-08-03 20:08 Niuli'blog 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-08-02 17:14 Niuli'blog 阅读(308) 评论(0) 推荐(0) 编辑