自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雀黑够呛哥

所谓觉悟,就是在漆黑的荒野上开辟出一条理当前进的光明大道。

  • 博客(58)
  • 收藏
  • 关注

原创 opencv图像识别车牌

放假前写的代码,pip更新了连注释都不能写,现在看一下真不知道自己写了什么鬼。最邪的是我的能在当前py文件下调用函数生成imread的对象,但是在测试文件就不行,检查过绝对路径和相对路径没有中文,我尝试通过导入imread对象还是None,我纳闷了。所以我决定还是把测试写到同一个地方吧。车牌已经打马赛克。目录1 安装2 代码实现2.1 调整图片2.2 去噪声2.3 Ca...

2020-07-23 15:40:53 186

原创 python实现串口通信

因为店家只给了我两页纸的vc0706通信协议,许多细节我还是不清楚,写得也没有特别优雅,大家就凑合看吧。目录1 硬件设备2 serial安装3 实现串口通信3.1 发现端口3.2 发送命令3.2.1 协议格式3.2.2serial传送的方式3.3 获取版本号(hello world)3.4 复位3.5 照相3.5.1停止当前帧刷新3.5.2...

2020-07-23 15:39:56 895

原创 比特币的Merkle tree

1区块链的数据结构1.1 特殊的单链表这个单链表就特殊在它是反过来,而且是hash指针作为记录当前最近的区块。反过来的意思是指指向是反向的,如下图:解析一下上面的图,第一个是创始区块,第三个块假如命名为H3(m3) ,H3(m3)= H2(m2+H(m2)),同理,第二个块相应命名为H2(m2) ,H2(m2)= H1(m1+H(m1)),hash指针记录的是当前最新的结点的H...

2019-11-04 21:01:48 236

原创 区块链的密码学基础

效仿Unyielding_L的杂谈分享,这些都是零碎的知识点。目录1 hash加密1.1 hash的定义1.1 hash用于检验信息是否篡改1.1 hash碰撞1.2 hash的输入取值要求2 区块链怎么运用hash2.1 hash只是用于签名而不是用于加密货币1 hash加密1.1 hash的定义hash加密就是指不同长度的明文,转换成具有相同长度,不...

2019-11-04 16:20:01 426 4

原创 【面试】访问量由百万级突破到千万级的应对方法

第一次技术群面,十个人和两个面试官,题目是访问量由百万级突破到千万级会遇到的问题以及处理方法。然后单独面试。那时候还没用过Hbase也不晓得各位大佬再聊些什么,有幸过了,再复试。目录1、前端1.1 把静态页面和图片等静态资源放到CDN中1.1.1 CDN 的定义1.1.2 没有CDN的访问过程1.1.3 引用CDN1.1.4 CDN的其他作用2负载均衡2.1...

2019-10-17 21:31:47 266 3

原创 感谢我强哥感谢骚丹

可能是学校的问题,我在齐齐哈尔大学就读,学习的氛围很差,我可以这么说我的大学,但是别的学校的人不允许。风气问题我的舍友10点起床都是常事,我大一的时候有幸接触到了it极客社,认识了很多好朋友,大一和大二是我最快乐的时间,大二下的时候学长们毕业了,我也带不起来社团,后来我也退社团了,感觉没有希望了后面详细说。平时我的性格十分的孤僻,人缘非常不好,脾气也很古怪,也不懂得怎么和别人合作。我的大一:...

2019-09-22 10:45:43 1185 9

原创 【前端报错】Uncaught TypeError: Cannot read property'变量名' of undefined

这只是多给大家一种解bug思路,通常undefined错就是用了一个没有定义的变量,也引申到下面这种情况:一、现状说明变量名定义正常; 数据成功渲染到前端; 但是一直报错Uncaught TypeError: Cannot read property' 变量名' of undefined二、代码说明用js遍历json数据渲染到前端。1、html代码<div cla...

2019-09-16 10:53:46 5963 2

原创 【剑指offer】旋转数组的最小元素

一、题目以及解题方法:题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解:找出转折处的数字,因为数组是递增的,假如找到某一个点是突然递减小,那个点就是要返回的...

2019-07-19 19:14:23 51

原创 排序总结(四大类型10种排序+运行过程+图解)

目录一、排序简介以及代码实现1、插入型排序(1)直接插入排序(2)希尔排序(3)链表的插入排序2、比较换位型排序(1)单向冒泡排序(2)双向冒泡排序(3)快速排序3、选择最值型排序(1)简单选择排序(2)计数排序(3)堆排序4、分治类排序(1)归并排序5、各种排序的分析一、排序简介以及代码实现1、插入型排序(...

2019-04-30 20:15:36 139 1

原创 二叉树的题目练习总集(一次做到爽)

摘要:建立二叉树、前中后层序、求树高度、叶子结点个数、k层结点个数、结点是否存在于二叉树、两个叶子最近公共祖先、判断平衡树、求二叉树最远两个结点距离。目录分析需求:一、节点二、队列三、树1、树的基本方法:建立二叉树。2、求前中后层遍历3、求树的高度:4、求叶子节点个数5、求二叉树第k层的结点个数6、判断一个结点是否在二叉树中?7、求两个结点的...

2019-04-14 20:12:41 369 1

原创 KMP算法python实现

目录一、找出prefix_table二、KMP算法实现二、测试:三、结果:四、时间复杂度简单匹配算法的时间复杂度为O(m*n),KMP匹配算法时间复杂度为O(m+n).。一、找出prefix_table1、把要匹配的字符串pattern拆成子串找出最大公共前后缀,原来的要匹配的字符串列入为求最大公共前后缀的行列里面。最大公共前后缀是指前后两个子串相同,而且子串的...

2019-04-09 17:37:58 89

原创 代码整洁艰辛之道的分享

写出整洁的代码到底有多重要?现实例子:经常有人抱怨读别人的代码好像吃别人的典明粥,如何把典明粥做得更好吃?到底怎么样写才能写出门外汉都能懂的代码呢?目录写出整洁的代码到底有多重要?1、变量名要通俗易懂合乎规范2、减少魔术变量3、一个函数只做一件事4、注释是非常必要的5、实例:6、不断的回顾1、变量名要通俗易懂合乎规范(1)、英语不好,拼音也是不错的选...

2019-04-05 17:44:06 347 1

原创 scrapy爬取大众点评并解析??

目录爬取大众点评需求第一关:大众点评爬取遇到403第二关:scrapy的信息传递第三关:DNS域名解析错误第四关:报错'ItemMeta' object does not support item assignment.第五关:中间件过滤信息问题:Filtered duplicate request或者是Filtered offsite request to 域名...

2019-03-23 22:37:51 1802 4

原创 python实现阻塞队列

目录一、初始化函数:二、 task_done(self):三、join(self):四、put(self, item, block=True, timeout=None):五、阻塞的情况怎么实现阻塞队列?当然是靠锁,但是应该怎么锁?一把锁能在not_empty,not_full,all_tasks_done三个条件之间共享。好比说,现在有线程A线程B,他们准备向队列put任...

2018-09-23 10:40:49 3753

原创 future与线程池

目录一、future二、future作用三、future的基本结构四、线程池的工作五、线程的工作六、主线程的工作七、过程解析第一段是处理时间的工具类:第二段是我们的牌牌(future)第三段是我们的厨师第四段是线程池一、futurefuture(期物,流畅的python是这么翻译的)期物是指一种对象,表示已不执行的操作。算了文绉绉的我也不知道...

2018-09-17 18:01:15 908 1

原创 爬取动态网站表格内容

一、简介(1)选用requests(2)数据来源以执法惩戒网站为例网址:http://119.6.84.165:8085/sfgk/webapp/area/cdsfgk/zxxx/zxcj.jsp目录一、简介二、考察网站三、开始爬虫四、爬取的数据:五、数据的过滤和保存二、考察网站按f12,f5刷新,点击network如图: 点击每...

2018-04-30 13:06:59 2956

原创 被大创耽误的一堆反思

这是一篇说实话的文章:这一次大创项目《基于Android的声纹考勤系统》总体来说我觉得自己很失败浪费了很多时间,做了很虚无缥缈的东西。目录项目简述:失败原因的分析:我个人的原因:外部原因:大创项目的总结一年后的我大创项目的现状项目简述:这个项目是学长已经做好了,我没有参与APP的代码编写,我是负责论文的编写以及填表。论文是我写的,这的确是让我提高...

2018-04-08 19:23:18 8237 31

原创 正则表达式贪婪与懒惰实用技巧

1、只需要学贪婪和匹配,其他翻阅文档查一查即可贪婪:尽可能往多的匹配(得到更多)典型模板:(.*)懒惰:尽可能往少的匹配(更加准确)典型模板:(.*?)>>> str = "<p>lazy<p>fei</p>qiang</p>">>> reg = "<p>(.*?)</p>"...

2017-12-11 11:37:59 232 1

原创 对于爬虫的一些思考

最先应该思考的问题稳定性除重爬虫的稳定性由于项目并不会投入太多的时间,所以稳定性能是最终的。稳定性的可以从以下的维度进行考虑:数据量不多的时候采用单线程。异常处理。重试。详细的日志。个人觉得数据量少就是在40小时内遍历全部并且可以爬完的就是小数据量。异常处理主要就是放在请求网站时、入库。而重试主要是用traceback这个库,它的作用是捕捉到特定异常、设定重试间隔的时长、间隔时常的增长策略。如果真的想不到要在什么地方写重试就思考:在断网的情况下会出现什么情况,重试多次以后会

2020-08-23 14:14:38 89

原创 sqlalchemy AttributeError: can‘t set attribute可能的错误原因

在model没有缺少字段的前提下做以下查询def foo(path): imgs = sess.query( Img.url, Img.map_url ) for img in imgs: img.path = path sess.commit()会出现sqlalchemy AttributeError: can't set attribute的情况,同理改成def foo(path):

2020-08-23 11:19:49 91

原创 webargs,restful参数处理

普遍程序员给大家的印象都是穿衣打扮很out,但是他们对于新技术和数码产品的追求绝对是很in的。-----我说的前言:这次用的web框架是Tornado,webargs的中文例子还是挺少的,我起个头,接下来指定有很多抄袭的1 获取参数的基本操作在官网中有两种一种是使用装饰器一种是声明parse实例。既然有两种方式,那就要思考到底哪一种更加的优雅。在restful的风格的大前提,同一个路由路径可能有多种不同的请求方式,例如‘/api/books/’这个接口使用POST请求则对应添加一本新书的操作,.

2020-08-07 00:04:34 111

原创 SQLAlchemy 出现TypeError: unhashable type: ‘dict‘的一种可能性

一、首先是检查对应的model数据类型是否对上了。可能你并不知道可以通过数据库表反向生成model,也有可能是在网上搜索得到结果是:sqlacodegen --tables [数据库名称] --outfile [要写入文件的路径]/[要写入的文件名称].py mysql://[用户名]:[密码]@[数据库host]/[数据库db]?charset=utf8然后报错:zsh: no matches found:然而想反向生成文件只需要打印到控制台即可,不需要写入文件,在终端输入:s.

2020-08-04 23:28:56 125

原创 tornado websocket实现后台推送数据

1、长轮询一句话来概括:长轮询就是客户端和服务器端保持连接,相互发信息。2、流程前端发出一个请求。 后端接收到请求后,触发on_message方法(执行write_message("hello"))。 前端收到“hello”触发on_message方法(执行渲染,把hello渲染到页面上)。 后端开始轮询,向前端发消息。 前端接收到信息后不断渲染新的内容。3、代码示例...

2020-07-23 15:40:33 103 1

原创 python dict赋值列表会嵌套一个元祖

一、现象dict["key"] = [{"k1":"v1"},{"k2", "v2"}] 赋值后的结果dict["key"] = ([{"k1":"v1"},{"k2", "v2"}],),前端遍历数据,会把元祖转化成列表。返回前端的就是dict["key"] = [[{"k1":"v1"},{"k2", "v2"}],]]。二、解决办法改变赋值的方式改成dict = {"...

2020-05-06 18:03:33 86

原创 爬虫吐槽

1、不要跟老娘说什么bs4什么xpath什么css选择器,傻逼吗?json不香吗?安利直接请求json文件。2、连限频都不会求你不要秀了,怕到人家服务器500只能说你损,403都是活该,还在用sleep?scrapy是不是不好限频?安利用ratelimite。3、错误也不会捕捉也不能重试?安利backoff。4、还可以写成插件,解藕又方便。安利pluginbase。...

2020-03-23 23:49:50 77 2

原创 mac把python项目部署到ubuntu服务器没有root权限并且做定时任务

1、首先是把自己的项目代码上传到服务器中点击shell,左边点击sftp安全文件传输,右边新建远程连接点击+号添加服务器IP地址,填写用户,点击链接。或者是直接在终端执行以下命令:sftp 【你的用户名】@IP地址然后把什么.git、env、log、存放测试结果、.DS_Store、__pycache__等等的垃圾都不要上传了。put -r 【本地项目文件绝对路径】【存放...

2020-03-23 23:34:00 75

原创 gitlab mergerequest操作

我今天做了一件错事别人叫我mr我直接push了,对不起,我错了,给各位大爷添堵了。不过幸好我把测试做足了。mr流程:新建一个分支,然后把代码commit然后push到新建的分支,而不是push当前的分支否则会把当前分支的东西覆盖。新建一个mr,在mr里面选择将要合并到哪一个分支,并选择要@的人。例子:远程仓库的分支有dev1,dev2, 我当前在本地的dev2分支,我想对handler文件...

2020-03-23 17:28:51 664

原创 水tornado.access:404 GET /static/css/bootstrap.min.css.map

删除最后一行注释即可/*# sourceMappingURL=bootstrap.min.css.map */又水一篇

2020-02-26 17:33:03 294 2

原创 python安装过程中Retrying (Retry(total=4, connect=None……after connection broken by 'ReadTimeoutError……

一、报错描述在安装的时候报错:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443):...

2020-01-08 20:33:27 498

翻译 基于区块链的去中心化抗量子密钥管理系统

摘要:区块链技术在2008年被提出被称为比特币(我觉得应该是翻译为比特币应用了区块链技术),区块链技术是一种分布式的数据库。公钥基础设施PKI(Public Key Infrastructure)系统是一种中心化密钥管理系统。PKI系统很可能会出现单点故障。例如比特币和以太坊都用了经典的数字签名算法ECDSA。通过运用Shor的算法很容易会受到量子的攻击。在此文中,我们提出一种基于基于区块链的...

2019-12-21 15:41:41 633

原创 【面试】INNODB和MYISAM的区别

MyISAM INNODB 支持主键和外键 × √ 支持事务 × √ 支持行锁表锁 支持表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作 只会锁住操作的那一行,其他行不会受到影响,适合高并发的场景。 缓存 只缓存索引,不缓存数据 不仅缓存索引还缓存真实数据 表空间 小 大 关注点 性能...

2019-11-26 15:07:05 137

原创 以太坊笔记

1 以太坊和比特币工作机制的区别出块时间:以太坊出块时间短,比特币出块时间大约是10min而以太坊的出块时间大约是15s。 Mining Puzzle:以太坊是Memory hard以及是ASIC Resistance,目前以太坊和比特币都是proof of work 都是以工作量作为证明,而以太坊往后想转为权益证明proof of stake,因此也预留了难度炸弹,用于顺利过渡。 以太坊...

2019-11-19 22:24:58 227

原创 比特币的挖矿

1挖矿的特点无记忆性:每一次挖矿的时间都是独立的,就是说在挖矿的过程中突然监听到新的区块已经成功发布了。 安全性:密码学的签名保证了安全,地址不是直接是公钥,是公钥的hash值。 匿名性:账户其实就是公私钥对,只要不花钱基本上就没有途径猜出是谁。2 挖矿的工具挖矿的工具演变过程:CPU→GPU→ASIC芯片 挖矿工具的趋势:专业化,效益最大化,只能用于某一种货币,同时伴随着矿机的...

2019-11-12 14:04:25 127

原创 比特币的结点

1 区块链的结点类型1.1 全结点介绍全结点之前,相信大家都会疑惑在分布式的情况下,不可以保证每一个结点都是在线的,怎么去记录所有的交易内容?所以就需要全结点去把所有的交易记录保存到磁盘里面,而且要求全结点必须时时刻刻上线,记录最新的区块。1.1.1全结点的功能功能主要是三点:监听、校验、保存更新。监听:监听比特币网络上的交易信息。 监听矿工挖出来的区块。校验:查...

2019-11-11 20:41:43 130

原创 区块链达成共识要解决的问题

我在学习时的有以下疑问。目录1 怎么定义一单交易1.1 处理反复花费同一笔钱的问题?1.2 钱是怎么产生的?1.3 交易过程是怎么样的?1.3.1假如某一次交易没有完全消耗所有的钱,要修改前面的区块把现在有的钱订正余额吗?1.3.2 那么按照上面的说法,就是输入的总量=输出的总量?1.3.3 为什么需要这一笔交易费?1.4怎么查询余额?1.5怎么去验证...

2019-11-05 22:29:48 407

原创 【面试】怎么通过python执行linux命令?

用于python3的os模块下的system()返回0则表示成功执行0,返回值是整形0,所以还要解决怎么去打印信息1、利用os模块os.system("cmd")>>> import os>>> os.system("dir")在pycharm里面是可以直接打印出结果的,只是编码有问题,通过修改pycharm的File->Setting...

2019-10-25 08:58:14 117 1

原创 【面试】面试官啊!我真的很久都没写过SQL语句了,我现在就写!!

首先感谢自己修的福报,在面试的时候认识了小姐姐ghm,愿意听我逼逼叨复盘,你是我修来的福报,还有感谢火币的五位面试官,谢谢你们我学到了很多东西,谢谢你们给了我这次机会,先挖个坑慢慢填。我呢还是决定复习基础语法然后开始刷题。数据库其他知识点,好文分享:MySQL优化/面试,看这一篇就够了没有保存啊QAQ又得重写目录1、基本查询语法2、刷题2.1查找最晚入职员工的所有信息...

2019-10-24 11:54:42 110 1

原创 【面试】框架的整洁之道

目录一、背景描述二、借助前人的翻译三、我的理解一、背景描述面试官前一天晚上给我发了一篇全英文的文章《Clean Coder Blog》让我第二天讲一下感悟。第一次接触这样的面试,心里没有底,那天晚上肝到1点写了一页的稿子,第二天6点就起床了,那时住地下室特别冷,根本不想起,还是坚持起床了,毕竟我还挺喜欢创业公司的。最后到答的时候紧张得一批,还是没有答好,但是面试官很nic...

2019-10-24 11:44:41 93

原创 【面试】Https

面试官问你了解https吗?一、对称和非对称加密算法1.1 对称加密对称加密:用来加密和解密的密钥是一样的,常见的算法:AES(常用),DES,3DES1.1.1 加密过程(每一点对应图的序号)生成密钥letmekang。 把密钥传给客户端。 通过密钥加密得到密文。 通过原有的密钥解密。1.1.2 对称加密的不适应性对称加密前提条件:服务器和客户端都有密钥。把密...

2019-10-22 15:38:36 455

原创 【flask】Restful风格的文章

一、定义Restful是一种定义API文档的风格,大白话就是某个功能要叫什么名字要用什么方法,不一定要完全遵守,规矩是死的人是活的,完全遵守也是没有问题。大部分公司都是前后端分离的,而后端给前端传什么数据,变量名是什么就很有必要去遵守,我曾经套路过很多骚货教我怎么写API,第一是公司信息保密,第二是脱离业务是写不出API,所以没有一个骚货回答过这个问题。二、主要内容三、应用场景...

2019-10-04 21:34:58 129 2

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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