07 2018 档案
摘要:HTML 框架 iframe语法: 该URL指向不同的网页 Iframe - 设置高度与宽度 height 和 width 属性用来定义iframe标签的高度与宽度。 属性默认以像素为单位, 但是你可以指定其按比例显示 (如:"80%")。 Iframe - 移除边框 frameborder 属性用
阅读全文
摘要:HTML 表单 表单是一个包含表单元素的区域。 表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。 表单使用表单标签 <form> 来设置: HTML 表单 - 输入元素 多数情况下被用到的表单标
阅读全文
摘要:HTML 布局 - 使用<div> 元素 div 元素是用于分组 HTML 元素的块级元素。 下面的例子使用五个 div 元素来创建多列布局: 产生的效果: HTML 布局 - 使用表格 使用 HTML <table> 标签是创建布局的一种简单的方式。 大多数站点可以使用 <div> 或者 <tab
阅读全文
摘要:HTML <div> 和<span> HTML 可以通过 <div> 和 <span>将元素组合起来。 HTML 区块元素 大多数 HTML 元素被定义为块级元素或内联元素。 块级元素在浏览器显示时,通常会以新行来开始(和结束)。 实例: <h1>, <p>, <ul>, <table> HTML
阅读全文
摘要:HTML无序列表 无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。 无序列表使用 <ul> 标签 HTML 有序列表 同样,有序列表也是一列项目,列表项目使用数字进行标记。 有序列表始于 <ol> 标签。每个列表项始于 <li> 标签。 列表项使用数字来标记。 HTML 自
阅读全文
摘要:HTML 表格 表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。 表格实例 显示如
阅读全文
摘要:HTML 图像- 图像标签( <img>)和源属性(Src) 在 HTML 中,图像由<img> 标签定义。 <img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。 要在页面上显示图像,你需要使用源属性(src)。src 指 "source"。源属性的值是图像的 URL 地址。 定义图像的
阅读全文
摘要:CSS (Cascading Style Sheets) 用于渲染HTML元素标签的样式 如何使用CSS CSS 是在 HTML 4 开始使用的,是为了更好的渲染HTML元素而引入的. CSS 可以通过以下方式添加到HTML中: 内联样式- 在HTML元素中使用"style" 属性 内部样式表 -在
阅读全文
摘要:HTML <head> 元素 <head> 元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。 可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <n
阅读全文
摘要:HTML超链接(链接) HTML使用标签<a>来设置超文本链接。 超链接可以是一个字,一个词,或者一组词,也可以是一副图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。 当您把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手。 在标签<a> 中使用了href属性来描述链接的地址
阅读全文
摘要:HTML文本格式化 HTML 格式化标签 HTML 使用标签 <b>("bold") 与 <i>("italic") 对输出的文本进行格式, 如:粗体 or 斜体 HTML 文本格式化标签 HTML "计算机输出" 标签 HTML 引文, 引用, 及标签定义
阅读全文
摘要:HTML段落 段落是通过<p>标签定义的 注意:浏览器会自动地在段落的前后添加空行。(</p> 是块级元素) 不要忘记结束标签 即使忘了使用结束标签,大多数浏览器也会正确地将 HTML 显示出来: 上面的例子在大多数浏览器中都没问题,但不要依赖这种做法。忘记使用结束标签会产生意想不到的结果和错误。
阅读全文
摘要:HTML标题 标题(heading)是通过<h1>-<h6>标签进行定义的 <h1>定义最大的标题。<h6> 定义最小的标题 注释: 浏览器会自动地在标题的前后添加空行。 标题很重要 请确保将 HTML 标题 标签只用于标题。不要仅仅是为了生成粗体或大号的文本而使用标题。 搜索引擎使用标题为您的网页
阅读全文
摘要:HTML 属性 HTML元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现,比如:name=“value 属性实例 HTML 链接<a>标签定义。链接的地址在href属性中指定: HTML属性常用引用属性值 属性值应该始终被包括在引号内 双引号是最
阅读全文
摘要:HTML元素 ※ 开始标签常被称为起始标签(opening tag),结束标签常称为闭合标签(closing tag) HTML 元素语法 HTML 元素以开始标签起始 HTML 元素以结束标签终止 元素的内容是开始标签与结束标签之间的内容 某些HTML元素具有空内容(empty content)
阅读全文
摘要:HTML标题 HTML标题(heading)是通过<h1>-<h6>标签来定义的 HTML 段落 HTML段落是通过标签<p>来定义的 HTML链接 HTML链接是通过标签<a>来定义的 HTML 图像 HTML 图像是通过标签<img>来定义的
阅读全文
摘要:HTML实例 实例解析 <!DOCTYPE html> 声明为HTML5文档 <html> 元素是HTML页面的根元素 <head> 元素包含了文档的元(meta)数据,如<meta charset=“utf-8"> 定义网页编码格式为utf-8 <title> 元素描述了文档的标题 <body>
阅读全文
摘要:什么叫HTML 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 HTML实例 实例 HTML文档的后缀名 .html htm 以上两种后缀名没有区别,都可以使用 tm 与 html 的区别 前者是超文本标记(Hyperte
阅读全文
摘要:一 函数 MySQL中提供了许多内置函数,例如: 一 自定义函数 二 删除函数 三 执行函数
阅读全文
摘要:一 存储过程介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: 使用存储过程的缺点: 补充:程序与数据库结合使用的三种方式 二 创建简单存储过程(无参) 三 创建存储过程(有参) 四 执行存储过程 五 删除存储过
阅读全文
摘要:一 事物 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。
阅读全文
摘要:一 触发器 使用触发器可以定制用户对表进行【增、删、改】操作时前后的行为,注意:没有查询 一 创建触发器 特别的:NEW表示即将插入的数据行,OLD表示即将删除的数据行。 二 使用触发器 触发器无法由用户直接调用,而知由于对表的【增/删/改】操作被动引发的。 三 删除触发器
阅读全文
摘要:一 视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查
阅读全文
摘要:一 介绍 之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装 二 链接、执行sql、关闭(游标) 三 execute()之sql注入 根本原理:就是根据程
阅读全文
摘要:一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 二 多表连接查询 1 交叉连接:不适用任何匹配条件。生成笛卡尔积 2 内连接:只连接匹配的行 3 外链接之左连接:优先显示左表全部记录 4 外链接之右连接:优先显示右表全部记录 5 全外连接:显示左右两个表全部记录 三 符号条件连接
阅读全文
摘要:一 单表查询的语法 二 关键字的执行优先级(重点) 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4.将分组的结果进行having过滤 5.执行select 6.去重 7.
阅读全文
摘要:一 介绍 MySQL数据操作:dml 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 二 插入数据insert 三 更新数据update 四 删除数据delete 五 权限管理
阅读全文
摘要:一、介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: 说明: 二、not null 与default 是否可空,null表示空,非字符串 not null - 不可空 null- 可空 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动
阅读全文
摘要:枚举类型与集合类型 字段的值只能在给定范围中选择,如但选课,多选框 enum:单选,只能在给定的范围内选一个值,如性别sex,男male/女female set 多选:在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3.。。。)
阅读全文
摘要:字符类型 官网解释如下 1. char填充空格来满足固定长度,但是在查询时却会很不要脸地删除尾部的空格(装作自己好像没有浪费过空间一样),然后修改sql_mode让其现出原形 2. 虽然 CHAR 和 VARCHAR 的存储方式不太相同,但是对于两个字符串的比较,都只比 较其值,忽略 CHAR 值存
阅读全文
摘要:日期类型 DATE TIME DATETIME TIMESTAMP YEAR 作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等 验证 datetime与timestamp的区别
阅读全文
摘要:介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 mysql常用数据类型概览 1、整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 验证 注意:为该类型指定
阅读全文
摘要:blocking和non-blocking的区别在哪,synchronous IO和asynchronous IO的区别在哪。 blocking vs non-blocking:调用blocking IO会一直block住对应的进程直到操作完成,而non-blocking IO在kernel还准备数
阅读全文
摘要:异步IO(Asynchronous I/O) Linux下的asynchronous IO其实用得不多,从内核2.6版本才开始引入。先看一下它的流程: 用户进程发起read操作之后,立刻就可以开始去做其它的事。而另一方面,从kernel的角度,当它受到一个asynchronous read之后,首先
阅读全文
摘要:多路复用IO(IO multiplexing) O multiplexing这个词可能有点陌生,但是如果我说select/epoll,大概就都能明白了。有些地方也称这种IO方式为事件驱动IO (event driven IO)。我们都知道,select/epoll的好处就在于单个process就可以
阅读全文
摘要:非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking,当对一个non-blocking socket执行读操作时,流程是这个样子 从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block
阅读全文
摘要:阻塞IO(blocking IO) 在Linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还
阅读全文
摘要:一 IO模型 二 network IO 再说一下IO发生时涉及的对象和步骤。对于一个network IO \(这里我们以read举例\),它会涉及到两个系统对象,一个是调用这个IO的process \(or thread\),另一个就是系统内核\(kernel\)。当一个read操作发生时,该操作会
阅读全文
摘要:一 gevent模块 Gevent是一个第三方库,可以轻松通过gevent实现并发同步或异步编程。在gevent中用到的主要模式是Greenlet,它是以C扩展模块形式接入Python的轻量级协程。Greenlet 全部运行在主程序操作系统进程的内部,但它们被协作式地调度。 遇到IO阻塞时会自动切换
阅读全文
摘要:一 greenlet模块 如果我们在单个线程内有20个任务,要想实现在多个任务之间切换,使用yield生成器的方式过于麻烦(需要先得到初始化一次的生成器,然后再调用send。。。非常麻烦),而使用greenlet模块可以非常简单地实现这20个任务直接的切换 单纯的切换(在没有io的情况下或者没有重复
阅读全文
摘要:一 引子 一:其中第二种情况并不能提升效率,只是让CPU能够雨露均沾,实现看起来所有任务都被“同时”执行的效果,如果多个任务都是纯计算的,这种切换反而会降低效率。为此我们可以基于yield来验证。yield本身就是一种在单线程下可以保存任务运行状态的方法,我们来简单复习一下: 单纯地切换反而会降低运
阅读全文
摘要:一 进程池与线程池 基于多进程或多线程实现并发的套接字通信,这样的实现方式存在的缺陷是:服务开启的进程数或线程数都会随着并发的客户端数目的增多而增多,这会对服务端主机带来巨大的压力,甚至于不堪重负而瘫痪,于是我们必须对服务端开启的进程数或线程数加以控制,让机器在一个自己可以承受的范围内运行,这就是进
阅读全文
摘要:一 线程queue 有三种不同的用法 class queue.Queue(maxsize=0) # 队列:先进先出 class queue.LifoQueue(maxsize=0) # 堆栈:后进先出 class queue.PriorityQueue(maxsize=0) #优先级队列:存储数据时
阅读全文
摘要:一 信号量 信号量也是一把锁,可以指定信号量为5,对比互斥锁同一时间只能有一个任务抢到锁去执行,信号量同一时间可以有5个任务拿到锁去执行,如果说互斥锁是合租房屋的人去抢一个厕所,那么信号量就相当于一群路人争抢公共厕所,公共厕所所有多个坑位,这意味着同一时间可以有多个人上公共厕所,但公共厕所容纳的人数
阅读全文
摘要:一 死锁现象 所谓死锁:是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,如下就是死锁 执行效果 二 递归锁 解决方法,递归锁,在Python中为了支持在
阅读全文
摘要:一 引子 在一个Python的进程内,不仅有test.py的主线程或者由该主线程开启的其它线程,还有解释器开启的垃圾回收等解释器级别的线程,总之,所有线程都运行在一个进程内 综上: 如果多个线程的target=work,那么执行流程是: 多个线程先访问到解释器的代码,即拿到执行权限,然后将targe
阅读全文
摘要:一 守护线程 无论是进程还是线程,都遵循:守护XXX会等待主XXX运行完毕后被销毁 需要强调的是:运行完毕并非终止运行 详细解释: 验证 执行结果 二 练习 输出:
阅读全文
摘要:Thread对象的其它属性或方法 介绍: 验证 执行结果 主线程等待子线程结束 执行结果
阅读全文
摘要:一 谁的开启速度快 1. 在主进程下开启线程 执行结果如下:几乎是t.start()的同时就将线程开启了,然后先打印出了hello,证明线程的创建开销极小 2、在主进程下开启子进程 执行结果如下:p.start()将开启进程的信号发给操作系统后,操作系统要申请内存空间,让好拷贝父进程地址空间到子进程
阅读全文
摘要:一 threading模块介绍 multiprocess模块完全模仿了threading模块的接口,二者在使用层面,有很大的相似性 二 开启线程的两种方式 方式一 方式二 三 练习题 1、基于多线程实现并发的套接字通信 客户端: 服务端:
阅读全文
摘要:一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程(流水线的工作需要电源,电源就相当于CPU),而一条流水线必须属于一个车间,一个车间的工作过程是一个进程,车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一条流水线。
阅读全文
摘要:一 生产者消费者模型介绍 为什么要使用生产者消费者模型 生产者指的是生产数据的任务,消费者指的是处理数据的任务,在并发编程中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了
阅读全文
摘要:队列介绍 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的 创建队列的类(底层就是以管道和锁定的方式实现) 参数介绍 主要方法介绍 队列的使用
阅读全文
摘要:一 互斥锁 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如下: 如何控制,就是加锁处理,而互斥锁的意思就是相互排斥,如果把多个进程比喻为多个人,互斥锁的工作原理就是个人都要去争抢同一个资源:卫生间,一个人
阅读全文
摘要:一 守护进程 主进程创建子进程,然后将该进程设置成守护自己的进程,守护进程就好比皇帝身边的老太监,皇帝已死老太监就跟着殉葬了。 关于守护进程需要强调两点: 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再启动子进程,否则抛出异常:AssertionError: daemonic
阅读全文
摘要:一 Process对象的join方法 在主进程运行过程中,如果想并发地执行其它的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况: 情况一:在主进程的任务与子进程的任务彼此独立的情况下,主进程的任务先执行完毕后,主进程还需要等待子进程执行完毕,然后统一回收资源 情况二:如果主进程的
阅读全文
摘要:7、python中经典类和新式类的区别 8、如下示例, 请用面向对象的形式优化以下代码 9、请简单解释Python中staticmethod(静态方法)和 classmethod(类方法), 并分别补充代码执行下列方法。 10、下面这段代码的输出结果将是什么?请解释 11、多重继承的执行顺序,请解答
阅读全文

浙公网安备 33010602011771号