从0到1

pyhon从0到1

排序:
默认
按更新时间
按访问量

tcp连接编写聊天室

1. 问题 1.1 无法退出 1.2 服务器端案列程序 1.3 客户端案列程序 1. 问题 此程序案列仅供参考学习,学习其中的思维 1.1 无法退出 在Linux系统中运行案列代码时存在如下问题: 当服务器端quit时,此时self.socket关闭,但是已经进入s...

2018-06-20 15:42:13

阅读数:13

评论数:0

连接池预加载编程思路

1. 主要思路 2. 伪代码 1. 主要思路 建立连接connect类,每一个连接是一个实例对象,实例对象初始化连接时需提供密码、账号、IP等相关参数 建立管理预加载的连接池,连接数可以通过信号量控制,申请一个连接,使用完后返还一个连接,申请一个连接时采用信号量减一,返回时加1...

2018-06-16 20:27:19

阅读数:13

评论数:0

异常对程序的影响

异常影响范围 异常影响的是运行的线程,运行的线程会奔溃,若异常出现在主线程中时,会导致主进程奔溃,若异常出现在其他线程或其他进程中时,不线程不会奔溃...

2018-06-14 09:13:18

阅读数:2

评论数:0

线程等待属性操作和方法操作

前言 1. daemon属性 1.1 线程为 non-daemon 1.2 线程为 daemon 1.3 两种线程共存 2. join方法 前言 进程靠线程执行代码,至少有一个主线程,其他线程是工作线程 主线程是第一个启动的线程 父线程:如果线程中启动了一个线程B,A就...

2018-06-11 21:42:23

阅读数:12

评论数:0

多线程加锁

多线程加锁 在多线程加锁的过程中,要注意如下两个核心关键点: 加锁的位置,加锁的位置代表了一旦其中某一线程获取锁后,其他线程就会阻塞到此位置,当加锁的线程执行完毕释放锁后,其他线程会根据阻塞时的位置继续向向执行。 加锁边界处理, 在到达边界时,一旦某一线程完成任务后,其他阻塞的线程就不能继续...

2018-06-10 20:52:40

阅读数:9

评论数:0

数据库主从复制中继日志

前言 1. 中继日志概念 2. relay log参数说明 2.1 max_relay_log_size: 2.2 relay_log: 2.3 relay_log_index: 2.4 relay_log_info_file: 2.5 relay_log_purge: 2.6 relay_...

2018-06-09 18:29:09

阅读数:18

评论数:0

数据学习经验

1.1 数据安全修改 在使用update时,若不加where子句时会修改全表,是很危险的一个动作,因此将变量进行修改,要修改变量sql_safe_updates,默认情况系下是off,因此通过配置文件修改变量为ON,这样不加where子句就无法修改 mysql&...

2018-06-07 16:33:18

阅读数:21

评论数:0

mysql事物

1.事物 1.1 ACID 1.2 事务流程 1.事物 事务:一组原子性的SQL语句 1.1 ACID A:atomicity,原子性,整个事物中的所有操作要么全部成功执行,要么全部失败后回滚; B:consistency,一致性,数据库总是从一个一致性状态转换到另外...

2018-06-06 21:18:10

阅读数:5

评论数:0

配置apache参数策略

.htaccess 此文件得放置在/var/www/html数据目录中 AllowOverride all 表示.htaccess文件中得配置都生效 AllowOverride None 表示.htaccess文件中得配置都不生效 options index...

2018-06-02 09:33:39

阅读数:29

评论数:0

http协议web服务

1. MIME 2. HTTP协议首部 2.1 请求报文语法 2.1.1 header结构 2.2 相应报文语法 2.2.1 status状态码 1. MIME MIME多用途互联网邮件扩展 作用:将非文本数据在传输前重新编码为文本格式,接受方能够用相反的编码方法...

2018-06-01 20:09:48

阅读数:29

评论数:0

apache主配置文件翻译

主配置文件 Do NOT simply read the instructions in here without understanding what they do. They're here only as hints or reminders. If you are unsure...

2018-05-31 19:41:44

阅读数:18

评论数:0

进程和线程

进程 进程是计算机系统的一套资源,资源包括cpu、内存、IO等,一个计算机可管理的单位,都有独立的堆栈,这也为什么是资源管理器中看到进程。 线程 线程是进程开的一个个干活单位。 操作系统开一个线程比开一个进程速度快10-100倍, 对比 进程在单位中销售团队,企业管理销售同一款产品时,...

2018-05-23 10:02:33

阅读数:11

评论数:0

Linux常用经验操作

文本查找替换 在linux文本处理中,尤其是在shell编程中,经常会用到查找替换,如关闭selinux等操作,根据经验可知,最有效的方法是sed的扩展正则表达式分组替换最快,如下举例,替换开头为root为python,此时用分组替换最为有效。 [root@localhost ~]#sed -...

2018-05-22 19:33:06

阅读数:12

评论数:0

git日常操作记录说明

仅限最后一次commit增补 在git中经常会遇到这样一件事,在提交一个任务后,发现忘记提交某些文件,但是又不想再次创建一个commit,因此此时有一种增补的方式,很轻松的实现再次添加数据 仅限最后一次commit的增补 具体操作 git add license git commit --...

2018-05-22 15:14:50

阅读数:24

评论数:0

初始化git的初始化用户信息

初始化用户信息 系统级别初始化用户 用户级别初始用户 项目级别初始化用户 举例验证 在用户级别设定 在项目级别设定 验证配置 官方帮助信息 初始化用户信息 初始化用户信息,当人为提交add或commit编辑时,git服务器会记录提交人及邮箱,方便记录信息和给提交人发送邮...

2018-05-21 20:38:01

阅读数:17

评论数:0

Linux编译软件过程

编译过程 1在预处理阶段 2编译阶段 3汇编到二进制机器码 链接阶段 一次性编译 编译过程 1在预处理阶段 输入的是C语言源文件,通常为.c或者.C,它们一般带有h之类的头文件。这个阶段主要处理源文件中的#ifdef、#include和#define预处理命令。该阶段...

2018-05-21 09:15:03

阅读数:16

评论数:0

Linux软件编译make相关操作介绍

make clean仅仅是清除之前编译的可执行文件及配置文件。 而make distclean要清除所有生成的文件。 Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作: make 根据Makefile编译源代码,连接,生成目标文件...

2018-05-21 08:37:03

阅读数:9

评论数:0

NotImplemented与NotImplementedError区别、__slot__和\__radd__

导入 根据实例导入实例演示 抛出异常时,根据初始化__init__方法,携带字符串,方便阅读,这也是写日志的最好方法 若不按照初始化方法进行抛出异常时,通常采用直接携带字符串并打印出相关字符串 NotImplemented在源码中就不是一个类,而是NotImplementedType的一个实...

2018-05-20 20:24:03

阅读数:20

评论数:0

代码技巧:处理单一文件或者一个列表中的文件及ini配置文件读取

ini配置文件的读取 其中有一个非常好的技巧就是当用户传入单一文件,就将这个文件放入一个列表中,若用户传入一个可迭代对象,直接进行跌倒 def read(self,filenames,encoding=None): if isinstance(filenames,str): ...

2018-05-19 20:08:03

阅读数:3

评论数:0

代码技巧01:模块动态导入雏形------优雅写法,字符串分割后直接解构

动态导入模块方法 要继承优雅的书写格式 举例导入模块并调用方法,自我方法 import importlib def plugin(name:str,sep='.'): argeglist = name.partition(sep) mod = importlib.i...

2018-05-19 10:55:06

阅读数:9

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭