自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 WSGI

WSGIWSGI服务器——wsgirefWSGI(Web Server Gateway Interface)主要规定了服务器端和应用程序间的接口WSGI服务器——wsgirefwsgiref是Python提供的一个WSGI参考实现库,不适合生产环境使用wsgiref.simple_server 模块实现一个简单的WSGI HTTP服务器...

2019-07-14 13:21:05 455

原创 WEB开发

WEB开发CS编程BS编程HTTP协议安装httpd无状态,有连接和短连接协议URL组成HTTP消息请求报文请求方法Method常见传递信息的方式响应报文status code状态码Cookie技术Session技术推荐图书《HTTP权威指南》CS编程CS编程,即客户端、服务器编程客户端、服务端之间需要使用Socket,约定协议、版本(往往使用的协议是TCP或者UDP),指定地址和端口,...

2019-07-14 10:21:02 290

原创 React之高阶组件

React技术高阶组件装饰器带参装饰器高阶组件let Root = props => <div>{props.schoolName}</div>;如果要在上例的Root组件进行增强怎么办?例如将Root组件的div外部再加入其它div柯里化这个Wrapper函数let Wrapper = function (Component, props) { ret...

2019-07-13 20:10:57 209

原创 React技术

React简介Virtual DOM支持JSX语法测试程序程序解释JSX规范组件状态state复杂的状态例子HTML DOM的JavaScript事件属性props构造器constructor组件的生命周期函数式组件简介React是Facebook开发并开源的前端框架当时他们的团队在市面上没有找到合适的MVC框架,就自己写了一个Js框架,用来架设Instagram(图片分享社交网络)。201...

2019-07-13 19:50:37 371

原创 React项目构建

React项目项目依赖安装项目整体说明配置文件详解package.json版本管理项目管理项目依赖开发是依赖运行时依赖babel配置webpack配置webpack.config.dev.jsLESSvscode配置启动项目项目依赖安装将项目开发基础文件 react-mobx-starter-master.zip 解压缩,并用这个目录作为项目根目录。在项目根目录中,执行下面的命令,就会自动按...

2019-07-13 17:23:24 322

原创 JS -- 模块化(babel转译工具)

模块化概念ES6模块化导出缺省导出导出函数导出常量导入转译工具babel预设离线转译安装配置1、初始化npm2、设置镜像3、安装4、配置babel和安装预设5、准备目录6、修改package.json7、准备js文件导入导出缺省导入导出命名导入导出概念ES6之前,JS没有出现模块化系统。因为它在设计之初根本没有想到今天的JS应用场景JS主要在前端的浏览器中使用,js文件下载缓存到客户端,在浏...

2019-07-13 15:54:50 889

原创 JS -- Promise对象

Promise概念executorPromise的状态Promise.then(onFulfilled, onRejected)catch(onRejected)异步实例概念ES6开始支持Promise对象用于一个异步操作的最终完成(包括成功和失败)及结果值的表示简单说,就是处理异步请求的。之所以叫做Promise,就是我承诺做这件事,如果成功则怎么处理,失败则怎么处理// 语法ne...

2019-07-12 08:49:09 178

原创 JS -解构及数组对象操作

解构及数组对象操作列表解构参数解构数组解构对象解构复杂解构嵌套数组对象数组的操作数组练习对象的操作JS的解构很灵活,参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator列表解构var parts = ['shoulder', 'knees'];var ly...

2019-07-11 13:20:50 457

原创 JS - 高阶对象、高阶类或称Mixin模式

高阶对象、高阶类或称Mixin模式继承实现完整继承的代码高阶对象实现Mixin模式,混合模式JS是基于对象的,类和对象都是对象模板混合mixin,指的是将一个对象的全部或者部分拷贝到另一个对象上去。其实就是属性可以将多个类或对象混合成一个类或对象继承实现继承:子子孙孙都有基类的功能class Serialization { constructor() { co...

2019-07-11 12:44:05 229

原创 JS对象模型

JS对象模型定义类字面式声明方式ES6之前——构造器ES6中的class重写方法静态属性静态方法this的坑1 显式传入2、 ES3(ES-262第三版)引入了apply、call方法3、ES5 引入了bind方法4、ES6引入支持this的箭头函数JavaScript 是一种基于原型(Prototype)的面向对象语言,而不是基于类的面向对象语言C++、Java有类Class和实例Insta...

2019-07-10 21:18:00 167

原创 CSS(Cascading Style Sheet)

CSS(Cascading Style Sheet)使用方式基本语法颜色写法选择器标签选择器id选择器类选择器选择器分组层次选择器伪类 pseudo-classes伪元素pseudo-element属性选择器继承常见样式层叠样式表,控制HTML的布局和样式使用方式三种使用方式内联样式:在标签内使用属性stype页内样式:在 <head> 标签中使用 <style ty...

2019-07-10 18:49:33 246

原创 HTML

HTML标签HTML文档结构常用标签链接图片标题<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> ...

2019-07-10 18:17:33 104

原创 JS语法 -- 函数及异常

JS语法函数函数表达式匿名函数有名字的函数表达式函数、匿名函数、函数表达式的差异高阶函数箭头函数箭头函数参数箭头函数返回值函数参数普通参数可变参数(rest parameters剩余参数)arguments对象参数解构函数返回值表达式的值作用域严格模式异常抛出异常捕获异常函数function 函数名(参数列表) { 函数体; return 返回值;}function add(x,y)...

2019-07-02 15:37:06 210

原创 JS语法 -- 控制语句

JS语法语句块流程控制条件分支switch...case分支语句for循环while循环 和 do...while循环语句块JS使用大括号构成语句块。ES6 之前语句块是没有作用域的,从ES6开始支持 块作用域 ,let只能在块作用域内可见function hello(){ let a = 1; var b = 2; c = 3}if (1){ let...

2019-07-02 13:53:02 96

原创 Nodejs -- ES6开发环境准备及基础语法

文章目录Nodejs安装开发文档Visual Studio Code解决快捷键冲突设定 工作目录创建文件注释常量和变量标识符声明函数**var**常量和变量的选择数据类型对象的定义类型转换字符串数字boolean短路null总结:注意:NodejsNodejs是服务器端运行JavaScript的开源、跨平台运行环境Nodejs原始作者瑞安·达尔(Ryan Dahl),于2009年发布,使用了...

2019-07-01 17:59:57 790

原创 前端技术风云录

前端技术风云录HTML浏览器历史浏览器技术JS引擎JavaScriptJSESV8 引擎CSS(Cascading Style Sheets)层叠样式表动态网页技术网页布局同步和异步同步异步前端开发硬件发展HTMLHTML(HyperText Markup Language)超文本标记语言,它不同于编程语言超文本就是超出纯文本的范畴,例如描述文本的颜色、大小、字体等信息,或使用图片、音频、...

2019-06-29 16:25:38 258

原创 Python -- 元编程

元编程type类type构建类总结构建元类元类的应用元编程总结元编程概念来自LISP和smalltalk。 我们写程序是直接写代码,是否能够用代码来生成未来我们需要的代码吗?这就是元编程例如,我们写一个类class A,能否用代码生成一个类出来?用来生成代码的程序称为元程序metaprogram,编写这种程序就称为元编程metaprogrammingPython语言能够通过反射实现元...

2019-06-29 15:38:37 165

原创 Python -- ORM(SQLAlchemy库)

文章目录ORM举例SQLALchemy安装文档开发创建连接Declare a Mapping创建映射创建基类创建实体类实例化创建表创建回话sessionCRUD操作增简单查询 query()修改删除状态**复杂查询 filter与或非排序 order_by分页 limit消费者方法聚合、分组关联查询总结ORMORM,对象关系映射,对象和关系之间的映射,使用面向对象的方式来操作数据库关系模...

2019-06-27 20:12:23 389

原创 Python-- 数据库开发(pymysql)

数据库开发驱动pymysql使用安装创建数据库和表连接Connect驱动MySQL基于TCP协议之上开发,但是网络连接后,传输的数据必须遵循MySQL的协议封装好MySQL协议的包,就是驱动程序MySQL的驱动MySQLdb最有名的库。对MySQL的C Client封装实现,支持Python 2,不更新了,不支持Python3MySQL官方ConnectorMysql官网 htt...

2019-06-27 12:13:27 586

原创 关系模型和SQL- 事务、MySQL隔离级别与其他概念

文章目录事务TransactionMySQL隔离级别事务语法数据仓库和数据库的区别游标Cursor事务TransactionInnoDB引擎,支持事务。事务,由若干条语句组成的,指的是要做的一系列操作。关系型数据库中支持事务,必须支持其四个属性(ACID):特性描述原子性(atomicity)一个事务是一个不可分割的工作单位,事务中包括的所有操作要么全部做完,要...

2019-06-23 22:36:19 127

原创 关系模型和SQL (DML —— CRUD 增删改查)

DML —— CRUD 增删改查Insert语句例:Insert语句向表中插入一行数据,自增字段、缺省值字段、可为空字段可以不写INSERT INTO table_name(col_name,...) VALUES (value1,...);将select查询的结果插入到表中INSERT INTO table_name SELECT ... ;如果主键冲突、唯一键冲突就执行updat...

2019-06-23 22:26:29 424

原创 关系模型和SQL

文章目录关系模型和SQL安装SQL语句SQL语句分为语言规范DCLDDL**删除用户**(慎用)创建数据库删除数据库创建表DESC练习关系候选键PRIMARY KEY主键Foreign KEY外键索引Index约束Constraint域约束Domain Constraint实体完整性Entity Integrity引用完整性Referential Integrity ***插入规则更新规则删除规则...

2019-06-23 11:36:48 392

原创 数据库

数据库概念数据库DBMS发展文件系统管理层次数据库网状数据库关系数据库Oracle的发展Mysql发展去IOENoSQL概念数据库按照数据结构来组织、存储、管理数据的仓库诞生计算机的发明是为了做科学计算的,而科学计算需要大量的数据输入和输出早期,可以使用打孔卡片的孔、灯泡的亮灭来表示数据输入、输出1940年,数据可以存储在磁带上,顺序的读取、写入磁带。1956年IBM发明了...

2019-06-21 11:58:49 272

原创 Python -- asyncio库

asyncio协程前言问题的引出多线程版本多进程版本生成器版本事件循环协程FutureTask任务协程的使用回调的使用多个任务执行使用回调,如下新语法TCP Echo Server举例aiohttp库前言3.4版本加入标准库。asyncio底层基于selectors实现,看似库,其实就是个框架,包含异步IO、事件循环、协程、任务等内容问题的引出def a(): for x i...

2019-06-20 11:03:02 775

原创 Python 中 IO多路复用

Python 中 IO多路复用IO多路复用开发中的选择selectors库练习:IO多路复用TCP ServerIO多路复用大多数操作系统都支持select和pollLinux 2.5+ 支持epollBSD、Mac支持kqueueWindows的IOCPPython的select库实现了select、poll系统调用,这个基本上操作系统都支持。部分实现了epoll。它是底层的IO...

2019-06-18 17:11:09 154

原创 IO多种概念

IO重要概念同步、异步阻塞、非阻塞区别联系同步IO、异步IO、IO多路复用IO两个阶段IO模型同步IO阻塞IO非阻塞IOIO多路复用异步IO重要概念同步、异步函数或方法被调用的时候,调用者是否得到最终结果的直接得到最终结果的,就是同步调用不直接得到最终结果的,就是异步调用阻塞、非阻塞函数或方法调用的时候,是否立刻返回立即返回就是非阻塞调用不立即返回就是阻塞调用区别同步...

2019-06-18 14:29:54 313

原创 Python --网络编程(SocketServer模块)

SocketServer概述类的继承关系SocketServer简化了网络服务器的编写编程接口BaseRequestHandler类测试代码总结实现EchoServer实战——改写ChatServer总结概述socket编程过于底层,编程虽然有套路,但是想要写出健壮的代码还是比较困难的,所以很多语言都对socket底层API进行封装Python的封装就是——socketserver模块。它...

2019-06-17 17:43:47 1160 2

原创 python -- 网络编程(UDP编程)

UDP编程UDP服务端编程UDP服务端编程流程UDP客户端编程流程UDP编程中bind、connect、send、sendto、recv、recvfrom方法使用练习 --UDP版群聊UDP版群聊服务端代码UDP版群聊客户端代码代码改进服务端代码改进心跳机制客户端代码改进UDP协议应用应用场景测试命令windows 查找udp是否启动端口> netstat -anp udp | fin...

2019-06-17 15:02:41 264

原创 python -- 网络编程(TCP编程)

TCP编程Socket编程,需要两端,一般来说需要一个服务端、一个客户端,服务端称为Server,客户端称为Client这种编程模式也称为 CS编程TCP服务端编程服务端编程步骤创建Socket对象绑定IP地址Address和端口Port。使用bind()方法IPv4地址为一个二元组('IP地址字符串‘, Port)开始监听,将再指定的IP端口上监听。使用liste...

2019-06-16 11:03:54 2373

原创 网络概念

网络概念什么是网路什么是计算机网络带宽拓扑总线型优点缺点环形结构优点缺点星型拓扑优点缺点注意OSI参考模型物理层链路层网络层传输层会话层表示层应用层数据传输通讯的三种模式单播广播多播、组播:冲突域、广播域冲突域局域网LAN常见组网设备网络设备网络线缆集线器hub交换机switch路由器Router广域网WAN互联网InternetTCP/IP协议栈传输层协议连接可靠性有序TCP协议三次握手/四次断...

2019-06-15 18:12:36 838

原创 Python -- 网络编程(Socket介绍)

网络编程Socket介绍Socket套接字协议族Socket类型TCP编程TCP服务端编程服务端编程步骤问题客户端操作查看监听端口注意实现服务端主动断开连接 收发各一次服务端循环接受客户端信息实战 -- 写一个群聊程序需求分析代码实现socket常用方法MakeFilemakefile练习Socket介绍Socket套接字Python中提供socket.py标准库,非常底层的接口库Soc...

2019-06-15 15:33:26 236

原创 Python -- logging日志处理模块

logging模块日志级别格式字符串举例默认级别构建消息日志级别和格式字符串扩展的例子修改日期格式输出到文件Logger类构造日志级别日志级别Level数值CRITICAL50ERROR40WARNING30,默认级别INFO20DEBUG10NOTSET0日志级别指的是产生日志的事件的严重程度设置一个级别后,严重程度低于...

2019-06-13 11:43:41 842

原创 Python-- concurrent包(异步并行任务编程模块)

concurrent包concurrent.futuresThreadPoolExecutor对象Future类ThreadPoolExecutor例子ProcessPoolExecutor对象ProcessPoolExecutor例子支持上下文管理使用方法ProcessPoolExecutor 上下文例子总结concurrent.futures3.2版本引入的模块异步并行任务编程模块,提...

2019-06-11 16:50:02 522

原创 Linux中的特殊进程

Linux中的特殊进程在Linux/Unix中,通过父进程创建子进程僵尸进程一个进程使用了fork创建了子进程,如果子进程终止进入僵死状态,而父进程并没有调用wait或者waitpid获取子进程的状态信息,那么子进程仍留下一个数据结构保存在系统中,这种进程称为僵尸进程僵尸进程会占用一定的内存空间,还占用了进程号,所以一定要避免大量的僵尸进程产生。有很多方法可以避免僵尸进程孤儿进程...

2019-06-11 15:24:04 231

原创 Python -- 多进程

多进程multiprocessingProcess类注意进程间同步进程池举例同步调用异步调用多进程、多线程的选择应用由于Python的GIL全局解释器锁存在,多线程未必是CPU密集型程序的好的选择多进程可以完全独立的进程环境中运行程序,可以较充分地利用多处理器但是进程本身的隔离带来的数据不共享也是一个问题。而且线程比进程轻量级multiprocessingProcess类Proc...

2019-06-11 15:19:36 544

原创 Python -- 数据结构和GIL全局解释器锁

Queue标准库queue模块,提供FIFO的Queue、LIFO的队列、优先队列优先队列是小顶堆,每次拿出来的都是小的Queue类是线程安全的,适用于多线程间安全的交换数据。内部使用了Lock和ConditionQueue类的size虽然加了锁,但是,依然不能保证立即get、put就能成功,因为读取大小和get、put方法是分开的import queueq = queue.Qu...

2019-06-09 21:53:51 168

原创 Python -- 线程同步

线程同步概念Event练习总结wait的使用定时器 Timer/延迟执行总结Lock锁的基本使用练习加锁、解锁加锁、解锁常用语句:锁的应用场景非阻塞锁使用可重入锁RLock可重入锁总结ConditionCondition基本使用Condition总结semaphore 信号量release方法超界问题BoundedSemaphore类应用举例问题1、边界问题分析2、正常使用分析信号量和锁概念...

2019-06-09 21:36:13 134

原创 Python -- 进程和线程及进程的开发

文章目录进程和线程线程进程进程和程序的关系进程、线程的理解线程的状态Python中的进程和线程Python的线程开发Thread类线程启动线程退出线程的传参threading的属性和方法Thread实例的属性和方法start方法run方法start和run的区别多线程线程安全daemon线程和non-daemon线程总结join方法daemon线程应用场景举例threading.local类本质...

2019-06-08 15:27:30 187

原创 Python -- 高并发的解决方案

并发基本概念并发和并行区别并行,parallel并发,concurrency举例并发的解决1、队列、缓冲区2、争抢3、预处理4、并行5、提速6、消息中间件基本概念并发和并行区别并行,parallel同时做某些事,可以互不干扰的同一个时刻做几件事并发,concurrency也是同时做某些事,但是强调,一个时段内有事情要处理。举例高速公路的车道,双向4车道,所有车辆(数据)可...

2019-06-08 15:26:28 11035 5

原创 Python -- Pycharm中如何使用Git

Pycharm中使用GitGit私服穿件cmdb项目版本库项目开发1. 添加app.py文件2. 编写源码 `app.py`3. 第一次提交4. push到Git服务器存储stashstash应用场景分支branch单分支分支名多分支创建分支修改`app.py`,之后提交push到私服合并分支Fast Forward 合并no-ff的好处GitFlow工作流最佳实践辅助分支Git私服穿件cmdb项...

2019-06-07 17:28:50 3114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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