03 2020 档案
摘要:JavaScript(一种浏览器的编程语言) 1.存在形式 1.跟CSS一样,可以导入文件来使用 2.也可以写在开头 用<script></script>包括起来 3.但是最好还是放在body的最后面,否则如果放在前面而JavaScript的操作又非常费时,就会使 页面一直在加载而看不到body的内
阅读全文
摘要:关于float的补充使用(背景色) XX:hover :当鼠标移动到标签,更改样式 XX:after :在标签后面加内容 XX:before :在标签前面加内容 当做网页的时候几乎都需要背景色,但如果在背景上面加多个div那么父级就会被隐藏起来,看不到背景色,而且不好设置高度,因为不知道内容有多少
阅读全文
摘要:HTML -头部:编码,title,style,link -身体: 内联 块级 inline-block a标签: target,href(url,#i1锚点) img标签: src,alt=“文本”,如果图片显示不出来,就会显示alt的内容 iframe(伪Ajax,上传文件): 把别人的网站偷过
阅读全文
摘要:CSS(外观) -style 1.直接<div style="background-color: black;color: white">白底黑字</div> 2.在head里写上<style>div{background-color: black;color: white}</style>,这样<
阅读全文
摘要:from 标签:可以提交在本form的输入内容内容,默认是提交的本URL 1.可以用action指定提交的URL <form action="htt://www.baidu.com"> 提交的时候,input需要有一个name,这样就可以以{name:value} 提交给URL 如:<input t
阅读全文
摘要:1.本地调试的时候可以随便建个文本调试,直接打开就能看到效果,不需要一直用socke创建服务器来连接(pycharm可以直接在编程时打开) 2.Doctype :告诉游览器使用什么规范来解析html文档,如果没写,就默认是BackCompat 1.BackCompat:标准兼容模式未开启 2.CSS
阅读全文
摘要:一、使用SSHClient:用于连接远程服务器并执行基本命令 1.基于用户名密码连接 1.使用SSH帮我们创建transport对象 1 import paramiko 2 3 # 创建SSH对象 4 ssh = paramiko.SSHClient() 5 # 允许连接不在know_hosts文件
阅读全文
摘要:实现的效果:可以使自己的Queue队列让别人使用,通过socket数据互通 基础代码实现: # ————————生产者—————————— import pika # 创建连接 connection = pika.BlockingConnection(pika.ConnectionParameter
阅读全文
摘要:memcached:: 代码的简单实现 mc = memcache.Client([('1.1.1.1:12000',1),('1.1.1.2:12000',2),('1.1.1.3:12000',3)],debug=True) mc .set('k1','v1') 权重为1代表创建1份1.1.1.
阅读全文
摘要:ORM框架:SQLAlchemy(code first) 作用: 提供简单的规则 自动转换成SQL语句 DB first:手动创建数据库以及表 --> ORM框架 --> 自动生成类 code first:手动创建数据库和类 --> ORM框架 --> 自动创建数据表 DBAPI有许多:如:mysq
阅读全文
摘要:慢日志 慢日志的大概功能(记录以下条件的SQL语句) SQL语句执行时间 > 10 未命中索引...等 如何配置慢日志 在内存中配置(直接在CMD窗口执行)show variables like '%query%' 然后通过显示出来的列表修改想要的变量set global 变量名 = 值 ,如以下几
阅读全文
摘要:索引 作用 约束 加速查找 索引 普通索引:加速查找 主键索引:加速查找 + 不能为空 + 不能重复 唯一索引:加速查找 + 不能重复 联合索引 (联合唯一索引) 联合主键索引(多列联合起来作为主键索引) 联合唯一索引(多列联合起来作为唯一索引) 联合普通索引 加速查找(索引就像一个目录一样,如果没
阅读全文
摘要:视图: 当重复使用到某个查询语句时,可以设置别名,方便日后使用,这样就叫做创建视图 创建:create view 视图名称 as 查询语句 # 这是虚拟的,原来的表改变这个视图也会改变 修改:alter view 视图名称 as 查询语句 删除:drop view 视图名称 触发器: 在创建时,要先
阅读全文
摘要:连接数据库 查: con = pymysql.connect(host="localhost",user="root",password="",database="xxx") # 返回一个值,但执行语句还需要一个光标,就跟程序和线程差不多一个关系 cursor = con.cursor() # 这就
阅读全文
摘要:学会使用 Navicat,不过SQL语句依旧是必须要会的 导出: mysqldump -u root db1 > db1.sql -p # 这样导出包含数据结构和数据 mysqldump -u root -d db1 > db1.sql -p # 这样导出只有数据结构没有数据 导入: 先创建一个文件
阅读全文
摘要:增 insert into t1(name) values ('小明'),('小红') ; # 一次性其实可以插入多条的 insert into t1(name) select name from t2; # 可以从别的表复制一份出来 删 delete from t1 where xx =!>< a
阅读全文
摘要:唯一索引(只要是索引就有一个好处是加速查找) create table t1(id 1int,id2 int, unique uql(id1,id2));一个称为唯一索引,两个称为联合唯一 好处: 约束:不能重复(可以回空) # 主键也不能重复(不能为空) 加速查找 外键使用的补充 一般来说是一对多
阅读全文
摘要:操作文件夹 create database db1 default charset utf8; (创建文件夹) show databases ; (显示内容) drop database db1; (删除文件夹) 操作文件 use db1; (进入) show tables; (显示表) creat
阅读全文
摘要:以前存储数据不容易,不够详细也不易备份和保存,更不易查找。而现在可以使用文件和数据库(非常特殊的文件)来存储 数据库的优点有: 持久化存储 读写速度极高 保证数据的有效性 对程序支撑性非常好,容易扩展 数据库中的信息:把每一列称为字段,每一行称为记录,如果能唯一标记某个字段称为主键,主键所在的列称为
阅读全文
摘要:在电脑通信之前,必须规定好 IP 和 子网掩码 才能进行通信 网线与电线不同,一根网线不能连接多台电脑,所以就有了 集线器(Hub)(很久以前的方法)缺点:使用广播的方式发送数据,即:A给B发送数据,集线器会与ABCD都建立连接,如果这时C想给D发送数据就不行,因为通道被占用了 后来,就出现了更高级
阅读全文
摘要:TCP-IP协议不是一个协议,是一类协议,是许多协议的总称。 还有另外一类协议 OSI....
阅读全文
摘要:用 epl = select.epoll # 来创建epoll对象 epl.register(xxx.fileno(),select.EPOLLIN) # 将监听套接字对应的fd注册到epoll 中 fd_event_list = epl.poll (返回的是一个列表) # 默认会堵塞,直到os检测
阅读全文
摘要:单进程,单线程怎么做到跳过堵塞?可以用 xxx.setblocking(False) # 来设置套接字为非堵塞的方式这样在 xxx.accept() 的时候如果没有数据传入就会产生异常 (可以用try的方式来解决) 短连接就是用三次 ‘握手挥手’ 获得三次数据如果是处理一些比较小的数据,就用短连接,
阅读全文
摘要:当使用进程实现多任务的HTTP服务器时,必须客户端的连接套接字要执行两次close 一次在函数中 一次在主进程中因为进程在执行时,会创建子进程,而子进程会复制主进程的资源,也创建一个客户端的连接套接字,这样就会有两个 “名字”指向同一个文件描述符, 所以只调用一次close是不行的,要把两个“名字”
阅读全文
摘要:https://fishc.com.cn/forum.php?mod=forumdisplay&fid=243&filter=typeid&typeid=403 服务器发送回去的数据必须有 HTTP/1.1 200 OK 之类的 head 和 body 一定要空一行,这样浏览器才知道哪个是数据头,哪
阅读全文
摘要:进程是资源分配的单位 线程是操作系统调度的单位 进程切换需要的资源最大,效率很低 线程切换需要的资源一般,效率一般(在不考虑GIL的情况下) 协程切换任务资源很小,效率很高 多进程,多线程根据CPU核数不一样可能是并行,但协程是在一个线程中,所以是并发 打个比方: 有一个老板想要开个工厂进行生产某件
阅读全文
摘要:比线程所需的资源更少 可以用yield 实现多任务,其实是并发,但速度很快,相当于同时进行 import time def test1(): while True: print('——1——') yield def test2(): while True: print('——2——') yield
阅读全文
摘要:生成器是一种特殊的迭代器。没有 iter,next方法,甚至不是一个类,只靠yield 如果一个函数汇总有 yield 那么就不是一个函数,变成了一个生成器的模板。本来的调用函数就变成了创建一个生成器对象。当你在使用它时,第一次从头开始执行到yield暂停;之后它不会从函数的开头开始执行,会从yie
阅读全文

浙公网安备 33010602011771号