This blog is built with |

砚台是黑的

园龄:6年4个月粉丝:4关注:0

12 2019 档案

阮一峰博客
摘要:博客链接:http://www.ruanyifeng.com/home.html
156
0
0
Markdown语法
摘要:Markdown语法链接:https://www.runoob.com/markdown/md-tutorial.html Typora编辑器链接:https://www.typora.io/ 详细使用:https://www.52pojie.cn/thread-1049482-1-1.html#2
180
0
0
常用的设计模式-单例模式
摘要:单例模式:一种套路.单个实例对象.创建一次就是一个实例对象.通过这种模式创建出来的实例是同一个.同一个内存地址.类似列表的创建不同对象,操作其中一个,另外一个也会跟着变化不同的功能模块里面,使用的是同一个对象.很多.py文件里面,多个地方使用同一个实例对象.最常见的就是建立数据库的连接,每个.py文
220
0
0
事件驱动模型
摘要:事件驱动模型 """ 问题:遇到IO操作就切换 但是,什么时候切回去了?怎么确定IO操作完了呢? 传统的编程是如下线性模式的: 开始-->代码块A-->代码块B-->代码块C-->代码块D-->..结束 每一个代码块里是完成各种各样事情的代码.但编程者需要知道代码块A,B,C,D的执行顺序.唯一能够
232
0
0
hashlib模块
摘要:hashlib模块: 1.>什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值.2.>hash值的特点是:只要传入的内容一样,
136
0
0
logging模块
摘要:logging模块 """ 日志级别: CRITICAL = 50 #FATAL = CRITICAL ERROR = 40 WARNING = 30 #WARN = WARNING INFO = 20 DEBUG = 10 NOTSET = 0 #不设置 """ """ 默认级别是warning
131
0
0
Python的富比较方法
摘要:Python的富比较方法 """ Python的富比较方法包括__lt__、__gt__、__le__、__ge__、__eq__和__ne__六个方法, 分别表示:小于、大于、小于等于、大于等于、等于和不等于,对应的操作运算符为:<、>、<=、>=、==和!=。那么是否象普通数字运算一样, 这些符
664
0
0
格式化符号说明
摘要:格式化符号 格式化符号说明: %c 转换成字符(ASCII 码值,或者长度为一的字符串) %r 优先用repr()函数进行字符串转换 %s 优先用str()函数进行字符串转换 %d / %i 转成有符号十进制数 %u 转成无符号十进制数 %o 转成无符号八进制数 %x / %X 转成无符号十六进制数
392
0
0
__str__与__repr__区别
摘要:__str__与__repr__区别: 1.没定义__str__()的时候,print出来的东西不是自己想要的. 类默认转换的字符串基本没有我们想要的一些东西,仅仅包含了类的名称以及 实例的ID(理解为Python对象的内存地址即可).虽说这总比没有好,但确实是没什么用处啊. 所以,我们可能会手动打
164
0
0
HTTP协议
摘要:HTTP协议: """ http服务器本质也是tcp服务器. 浏览器 --> (通过HTTP协议 格式) HTTP服务器,也可看作是TCP服务器 格式:就是http协议 域名就是一串字符串.域名的本质还是IP. 域名找DNS去解析域名,转换成对应的IP.(类似找电话本的过程,由电话本里面的名字找到对
242
0
0
正则表达式
摘要:regex:正则表达式.匹配规则,是否满足规律.规则字符串.功能强大,通用性很强.作用:匹配(就是截取)和或查找符合某些规则的字符串.1.正则的作用: 一种对数据的匹配.过滤/筛选逻辑的表达式 match:表示从头开始匹配,如果一开始第一个字符没有匹配到,就返回None如果没有匹配到返回None记住
180
0
0
类装饰器
摘要:类装饰器: import time class MyClass: def __init__(self, func): """需要接收一个被装饰的函数引用 相当于装饰器函数中外层函数的作用,接收 函数名 参数""" self._func = func def __call__(self, *args,
131
0
0
装饰器工厂函数
摘要:""" 需求:参数传入0 希望时间用整数显示,参数传入1 用浮点数显示 """ import time def get_run_time(flag): """装饰器工厂函数""" def get_time(func): """装饰器函数:对函数运行时间进行统计""" print('in get_ti
263
0
0
装饰器函数
摘要:函数名的意义: 1.>就是存有函数代码空间的引用的对象 2.>对象可以将引用传递给其他对象 3.>该对象可以接收来自其他对象的引用 函数名<也是一个对象>就是指向函数代码的引用.对象既可以把引用传给别人,也能接收别人的引用. 应用:调用底层的,使用底层的 因为Python有很多使用其他语言写好的库,
181
0
0
闭包
摘要:closure:闭包的意思闭包特点: 1.>函数的嵌套定义,就是函数定义里面有另外一个函数的定义 2.>外部函数返回内部函数的引用<引用地址> 3.>内部函数可以使用外部函数提供的自由变量/环境变量 <顺序是先去找自己的位置参数,看看是否有同名,如果没有就向外扩展一层,继续这个过程.直到找到>这就是
132
0
0
web服务器
摘要:服务器实现: import socket import re import gevent from gevent import monkey import sys monkey.patch_all() # 自动切换 time.sleep recv accept 这些类型的函数在执行的时候会出现大量的
190
0
0
实现方式
摘要:flask 装饰器工厂模式: import time, pymysql # 方式1:flask 装饰器工厂模式 > # 路由列表 路径 函数引用 flask框架添加路由 route_list = [] def route(url): """装饰器工厂:接收url参数,产生装饰器""" def wra
228
0
0
web框架
摘要:""" 框架的作用: web服务器显示的是固定的<是服务器提前准备好的>,需要实时更新的数据就不支持 web服务器保存静态资源<图片等>:不会经常发生变化.意思就是一个仓库,里面的东西需要拿工具来进行操作,从而实现删除. 框架就是一个工具,用来对服务器资源进行增删改查的操作,使得服务器的资源进行变化
163
0
0
MongoDB数据库操作
摘要:MongoDB是一个面向文档的数据库系统.使用c++编写,不支持sql.但有自己功能强大的查询语法. MongoDB使用BSON作为数据存储和传输的格式,BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组. MongoDB很像mysql,document对应mysql的row,coll
151
0
0
数据库优化
摘要:一、如何对查询命令进行优化? 1.>尽量避免全表扫描,首先考虑在where 以及 order by涉及的字段上建立索引。 2.>尽量避免在where子句中对字段进行null判空操作.避免使用!=操作符,避免使用or连接条件,或在where子句中对字段使用参数,对字段进行表达式或函数操作.否则会导致全
154
0
0
数据库-索引
摘要:""" 索引:计算机中非常著名的概念,都是为了提高查找的效率 列表:顺序查找,一个一个找,很慢. <下标-索引> 字典:通过key查找值value <key其实可以称之为索引> 计算机中的二八原则: 8:2 百分之八十是读操作,百分之二十是写操作. 表索引也是数据库中的一项单独的文件:.idx in
234
0
0
数据库-事务
摘要:""" 支付10 充值10 失败了 目标: 深圳-万州 中转方案: 1.深圳-广州 2.广州-武汉 3.武汉-万州 某一步出错了回滚,回退到原来的状态. 回滚-->滚回来的意思 事务:transaction 是一系列的sql语句操作 保证所有操作完全执行,如果成功一半,完全不执行,什么都不执行.全部
128
0
0
数据库-视图
摘要:""" 视图: select goods.name,goods_cates.name,goods_brands.name from goods,goods_cates,goods_brands where goods.cate_id=goods_cates.id and goods_brands.i
214
0
0
数据库设计
摘要:带有实际场景的去思考,去学习. 如果有外键的情况下:先创建主表,再去创建子表 设计表结构:观摩别人的表结构:三范式:遵守到2范式或者3范式即可 只支持二维表 第一范式<1NF>:原子性,即列不能够再分成其他几列 >不存在嵌套的表结构 第二范式<2NF>:必须是1NF,1.>另外还需要包含一个主键,2
136
0
0
数据库编程提高
摘要:""" cate_name:分类名称 brand_name:品牌 is_show:是否显示 is_saleoff:是否售罄/是否卖光了 工作中的时候尽量使用group by 分组进行筛选,where用的较少. select round(avg(price),2) from goods group b
141
0
0
数据库高级操作
摘要:""" 1.> as 起别名 1.>给字段起别名:select id as '学号',name as '芳名'from students; 2.>给表起别名:select s.id,s.name from students as s; 注意:as可以不写,省略. select s.id,s.name
202
0
0
数据库基本操作
摘要:数据库:数据的集合. 特点: 高效的管理数据 数据库本身就是一种文件.特点:1.>持久化存储2.>读写速度极高3.>保证数据的有效性 防止数据错误<类型 约束>4.>对程序支持性非常好,容易扩展 mysql 数据库客户端-->数据库服务器-->数据库文件文件 数据库文件才是存储数据的,接受服务器取数
204
0
0
with-上下文管理器
摘要:不用管是不是close文件了.文件太大,比如FAT323格式,最大4G,如果超过了,就写不进去,这样会在close()前面会抛出异常,这样文件就一直没有关闭,会导致文件资源会一直被占用,造成资源泄露,这样就会出现一直打开文件的现象,导致资源泄露.解决方法: try: pass except: 错误
170
0
0
魔法方法-魔法属性
摘要:__私有:以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入_私有,但是我也可以改,只是提示你这是私有的不希望被改,被保护的.单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类
129
0
0
property
摘要:""" 需求:age = 0, 有人修改p.age=999 设置成公共属性:容易被其他人修改,自己还不知道已经修改了 设置成私有属性,外部使用不方便了.需要加设置属性和获取属性的方法 property:把以上两点合二为一了 既简单,又保证数据的正确性. """ class Person: def _
500
0
0
多继承与super
摘要:""" 多继承和super的关系 """ class Person: def __init__(self, name, age): print('Person类开始构造') self.name = name self.age = age print('Person类end构造') def love1
178
0
0
GIL全局解释器锁
摘要:为了解决解释器/编译器里面的资源竞争问题.CPython GIL对多线程的影响:对CPython产生的多线程有影响,影响是:同一时刻只有一个线程能够运行,其他线程都在申请GIL 互斥锁:Python代码层面的GIL:CPython层面的解释器锁 Global Inter... LockC语言写的存在
144
0
0
深浅拷贝
摘要:不是底层语言的赋值就是引用,比如Python,Java. C语言那种才说地址赋值. 对象之间的赋值本质上是引用传递(<id一样,数据一样). 对象之间赋值都是引用传递<Java,Python这种高级语言赋值都是说引用传递>不可变类型的拷贝是没有意义的.不可变类型只有赋值操作一说,赋值就是引用的传递只
149
0
0
生成器
摘要:生成器是一类特殊的迭代器(既然是迭代器了,那么当然就是可迭代对象).自己就是.不需要写__iter__(),__next__()这两个方法.自己天生就是迭代器.仍然可以使用iter(),next() 方法. 分类: 列表推导式[]: > () 就是 生成器表达式 :():<generator:> 生
154
0
0
迭代器
摘要:面试:迭代器,生成器实际开发:协程 gevent 可迭代对象:列表/字典/元组/字符串/集合/文件对象 ... 类似实际生活中看书的时候,看到哪一页就在那一页中放一个书签,主要是为了快速翻到那一页,迭代就是类似于翻书的过程.每次都有一个工具将我们读到哪一页这个位置记录下来. 迭代器的作用:帮助 我们
228
0
0
设置ll命令
摘要:ll 是 ls -l的别名,之所以 ll出现错误是因为没有定义别名. 如果要实现ll 命令,可以做如下操作: 1.编辑 ~./bashrc 添加 ls -l 的别名为 ll即可. vi /root/.bashrc 2.编辑文件内容: # 设置 rm cp mv ll 命令的别名(就是windows中
917
0
0
修改Centos中的ll命令(以 K 为单位显示文件大小)
摘要:修改CentOS ll命令:以K 为单位显示文件大小 1.编辑 .bashrc 文件:vim /root/.bashrc 2.找到 alias ll 行修改为(如果没有直接添加该行):alias ll='ls -lh --color=auto' 3.运行 source /root/.bashrc 使
1648
0
0
打包解压缩命令
摘要:.gz格式:解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName .tar.gz格式:解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName解压至指定目录: t
181
0
0
Centos剔除在线用户
摘要:CentOS踢除已登录用户的方法: 1.>先按下w查看用户终端号 2.>执行pkill -kill -t pts/1 (pts/1为w指令看到的用户终端号)命令
330
0
0
源码方式安装 lrzsz库
摘要:源码方式安装 lrzsz库:https://www.cnblogs.com/cocoajin/p/11731787.html 我们都知道安装了lrzsz工具的linux系统环境,在shell里可以非常方便的上传和下载linux里面的文件;xsehll中直接使用sz/rz命令即可在传输文件. 通常的安
379
0
0
Mysql导入导出
摘要:一、mysql 授权:grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option; 二、导入数据库使用 mysql 命令导入使用 mysql 命令导入数据库格式如下: mys
295
0
0
TCP四次挥手
摘要:tcp四次挥手: fin(finish)完成,结束 断开连接请求 ack:应答 socket:同时可以收,发.叫做全双工 套接字是双向的半双工:酒店的对讲机(别人说的时候你不能说) 只能在同一时刻进行发或者收操作单工:收音机,话筒,只能有一个 可以理解为以下对话: 男(客户端):我们分手吧女(服务器
259
0
0
TCP三次挥手
摘要:tcp:三次握手 client和server之间需要经历三次握手才能建立连接(connnect()方法中封装了三次握手的步骤)syn:同步请求,建立连接的请求ack:对syn请求包的确认 应答syn:服务器向客户端发送连接请求ack:确认服务器的连接请求 应答 可以理解为下面的对话: 男(客户端):
148
0
0
TCP
摘要:tcp:tcp使用较多.直接使用较少,使用 封装之后上层的库 较多. 不会有人从头开始写一个tcp的协议,然后做个什么软件的,造轮子这事情,差不多就得了.知道原理,会使用别人造的库就行.出错了能够找到错误的原因,处理掉就好. 面试常问:tcp和udp的区别 tcp:Transmission Cont
775
0
0
UDP部分
摘要:IP地址:互联网协议地址,计算机的通行证.计算机在网络中的唯一身份标识.桥接:Ubuntu虚拟机 直接连到局域网NAT:网络地址转换点分十进制:192.168.14.115IP地址通常为4个字节,简称ipv4,这个.是形式上有的,实际的数据中没有这个.IPv6:长度为8个字节 127.0.0.1:本
437
0
0
异常处理
摘要:异常:Bug,出现问题了.提前干预,提前预防. 网络请求的地方使用的最多.应急处理,预防这种问题. 如果真的产生了,不是让程序停掉,而是让程序给用户一个错误提示,跳过异常继续运行.而不是程序闪退. 预判处理: 如果某些代码很可能出错,就把这些代码放在try里面尝试性的去执行. 当try里面的代码出现
240
0
0
is与==的区别
摘要:is:比较两边的内存地址是否一样 ==:比较两边的数据值是否一样 list1 = [1, 2] list2 = [1, 2] if list1 == list2: # == 是比较数据 print('yes') else: print('no') # list2 = list1 这是赋值运算 # 判
234
0
0
__new__构造方法
摘要:""" 对象的创建过程:new创建 返回 模拟实例对象的创建过程. 为啥是静态方法? 先有new后来init.因为init是需要实例对象来调用的,需要一个实例对象和self形参.所以需要new首先来创建一个实例对象. """ class Dog: pass dog1 = Dog() """ 类名()
228
0
0
__str__方法
摘要:"""str()就是可以自定义输出返回值,必须是str字符串""" class Dog: def __init__(self, name): self.name = name def __str__(self): # 把对象放在print()方法中输出时,就会自动调用str()方法 return '
362
0
0
__init__初始化方法
摘要:使用场景:多个对象(由同一个类产生)的属性同名且值都一样,这时就需要使用init()方法. # 多个对象(由同一个类产生)的属性同名且值都一样,这时就需要使用__init__()方法. # class 定义属性和方法,增加代码的复用性 __init__()方法 """ 双下划线开头,双下划线结尾的方
1105
0
1
面向对象
摘要:会用,会写,即可.解释都是官方的 .实际中编码的思想都是面向过程的. 面向 >过程 :从过程的角度来考虑问题.是大锅饭的模型,国有化好处:容易理解一步接一步,环环相扣.适合做小型的开发坏处:耦合性强,不利于团队开发.重复代码多. 面向 >对象:利于团队开发,降低耦合度.分田到户了,私有化了换了称呼了
134
0
0
range与xrange
摘要:range: xrange:
255
0
0
推导式
摘要:列表推导式: 生成列表只要一行代码.以表达式的方式来快捷的生成一个列表数据的一种表达式(效率提高了,但是可读性变差了)格式:[计算公式 for X in 可迭代对象 if 条件判断] 计算公式:一个取值规则而已 执行顺序:先执行 for X in 可迭代对象 部分,然后执行 if 条件判断 , 接着
99
0
0
集合
摘要:set 无序集合特点:没有索引, 里面的数据不会有重复很少使用来表示数据 如果想让列表,元组中没有重复的元素可以把它们转换成set类型不能转字典类型,因为格式不一样set 格式:{元素1,元素2} 集合:无序,不重复作用:1.>去重 2.> 关系测试<测试两组数据之间的交集,差集,并集,对称差集等关
134
0
0
字符串
摘要:三对双引号(即"")用来注释,三对单引号(即'')用来展示多行字符串,即展示多行文本内容的意思. Python: 所有的索引均支持正负索引 for 循环中可以有 for i in range(1,8,2) 也可以有 for i in range(9,2,-1) 这种表示方法. 后期所有的字符串全部使
234
0
0
字典
摘要:所有的编程语言都有字典这种数据类型,用法都一样.Python和Golang中叫字典,其他语言中有的叫哈希,映射,map等等,都是一个概念.描述一个物体相关信息,一对(key,value的形式)数据类型不一样,意思也不一样,不同类型,但是这些数据联合在一起都表示同一个物体的信息.值可以是任何数据类型,
129
0
0
元组
摘要:不能进行增.删.改,其余的规则和列表一样,元组用的不多. 格式:(元素1,元素2...)只能进行查询,不能对其进行增.删.改元组(索引) tuple1 = ("zhang", 18, 15.87, True) print(tuple1) print(type(tuple1)) print(tuple
193
0
0
列表
摘要:函数,面向过程的叫法(C语言中).方法,面向对象(Python中).属于某个人私有的.函数是公共的.二者本质上一样的实现思想. 存储多个数据,每个数据称之为元素.格式:[元素1,元素2...]列表中尽可能存储同类型数据,且代表的含义要一致.实际上可以存储不同类型的数据. 1.增加元素: list1
264
0
0
break和continue
摘要:菜鸟教程链接: https://www.runoob.com/python/python-tutorial.html break:一旦循环中执行到break,本次循环的后续代码不会再执行,并且跳出循环(就是结束循环了)。循环体彻底报废。经常配合while True 和 if使用。 continue:
181
0
0
git命令说明
摘要:常用git命令 git删除远端分支 先查看远端分支:git branch -a 删除指定的远端分支:git push origin --delete 1.0.0/feture/lbb-fix-test 拉取最新代码 git fetch --all git pull 从gitlab服务器远端回退到上一
348
0
0
vi快捷操作
摘要:全部删除: 按esc键后,先按gg(到达顶部),然后dG 全部复制: 按esc键后,先按gg,然后ggyG 全选高亮显示: 按esc键后,先按gg,然后ggvG或者ggVG 单行复制: 按esc键后,然后yy 单行删除: 按esc键后,然后dd 粘贴: 按esc键后,然后p 注意:从外部复制文件后,
196
0
0
Linux常用命令2
摘要:注意:虚拟机中无法联网时候记得去设置里面修改虚拟机的网卡设置,将桥接模式改为NAT模式即可. 网络-UDP 网络-TCP 多任务-进程 多任务-线程 多任务-协程 正则表达式 网络协议HTTP 案例-web服务器 MySQL服务器 Python语法高级-装饰器 工作中常用 Python语法高级专题
236
0
0
Linux常用命令1
摘要:1.>ls:查看目录内容 2.>cd:切换目录 3.>touch 文件名:创建新文件 4.>rm 文件名:删除文件 5.>mkdir 文件夹名: 创建新文件夹 6.>cp A文件名 B文件名:将A文件中的内容复制粘贴到B文件中. 7.>mv: mv A文件名 B文件名:将A文件中的内容复制粘贴到B文
165
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起
  1. 1 起风了 买辣椒也用券
起风了 - 买辣椒也用券
00:00 / 00:00
An audio error has occurred.

作词 : 米果

作曲 : 高橋優

编曲 : 池窪浩一 (Kouichi Ikekubo)

这一路上走走停停

顺着少年漂流的痕迹

迈出车站的前一刻

竟有些犹豫

不禁笑这近乡情怯

仍无可避免

而长野的天

依旧那么暖

风吹起了从前

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

逆着光行走 任风吹雨打

短短的路走走停停

也有了几分的距离

不知抚摸的是故事 还是段心情

也许期待的不过是 与时间为敌

再次看到你

微凉晨光里

笑得很甜蜜

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

晚风吹起你鬓间的白发

抚平回忆留下的疤

你的眼中 明暗交杂 一笑生花

暮色遮住你蹒跚的步伐

走进床头藏起的画

画中的你 低着头说话

我仍感叹于世界之大

也沉醉于儿时情话

不剩真假 不做挣扎 无谓笑话

我终将青春还给了她

连同指尖弹出的盛夏

心之所动 就随风去了

以爱之名 你还愿意吗

吉他 : 池窪浩一 (Kouichi Ikekubo)

吉他 : 池窪浩一 (Kouichi Ikekubo)

贝斯 : 小島剛広 (Takehiro Kojima)

鼓 : 吉田佳史 (TRICERATOPS) (Yoshifumi Yoshida(TRICERATOPS))

键盘 : 平畑徹也 (Tetsuya Hirahata)

小提琴 : 須磨和声 (Wasei Suma)

弦乐 : 須磨和声/池窪浩一

录音工程 : 玉乃井光紀 (Mitsunori Tamanoi) - studioFine

发行 : Negia Entertainment Inc.

特别支持:中村光雄(Mitsuo Nakamura)