自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

银角大王

架构师之路

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

原创 算法集合-数组

算法集合-数组数组: 是存放在连续内存空间上的相同数据类型的集合.注意两点:数组的下表都是从0开始的数组的内存空间都是连续的内存空间是连续的,所以数据查询数据的是非常快速的,只要知道开始数据的地址,加上索引,就是该元素的内存空间的位置.力扣算法题编号35: 搜索插入位置题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2

2021-04-12 17:00:12 235

原创 GO的DES/3DES加密算法的实现及通信透彻解析

GO的DES/3DES加密算法的实现及通信透彻解析前位语:前景提要:一、DES介绍MODE: ECBMODE: CBC使用方法DES二、3DES加密原理使用方法3DES注意点:三、多语言通信前位语:各位老铁万福金安,相信各位之所以找到这篇文章,肯定是因为项目遇到了关于des/des3的相关问题.不要着急,建议耐下性子花上半个小时,理解完本篇文章,你的问题将迎刃而解.前景提要:最近因工作需要,接触到des加密算法; 但是因为des加密容易被暴力破解,所以项目中用到的是3des加密算法,也就是des三

2020-12-15 15:11:12 1366

原创 Go-搭建开发环境及解读GOPATH

前言Go语言起始于2009年,相较于大多数市场上的编程语言(Python, Java等)都来自90年代的单线程环境,Go的年代已是多核时代.所以Go语言在多核并发上拥有原生的设计优势,它的并发机制使你的程序可以轻松的从多核互联网中获得最大的收益.总结来说Go是一种简单,整洁,高效的静态类型的编译语言.Golang的安装~下载地址:官网下载地址: https://golang.org/dl/官方镜像地址: https://golang.google.cn/dl/(推荐)~Windows平台安装

2020-08-23 15:59:22 554

原创 Python-pvm解释器运行程序原理

Python解释器简介一般来说,我们讨论Python,是将其作为一门编程语言来详解.但是,从实际情况来看,Python也是一个名为解释器的软件包.解释器是可以让程序运行起来一套程序,具有独立性.所以当你写了一段代码之后,Python解释器读取程序,将其转化为命令执行,得出结果.总的来说,解释器就是代码与计算机硬件之间的软件逻辑层.Python程序执行过程就简单的形式而言,一个Python程序仅仅是一个包含Python代码的文本文件.后缀是.py的文件,也是我们平常所熟知的Python脚本,但当我们运

2020-05-21 13:56:09 1525

原创 日常开发-dlib在Windows/Linux环境安装

**dlib**在**Windows**/**Linux**环境安装与使用

2020-04-17 11:28:43 329

原创 Python--Django的踩坑操作

Django框架:框架: a: 是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;b:另一种定义认为,框架是可被应用开发者定制的应用骨架。 前者是从应用方面而后者是从目的方面给出的定义。总的来说:一个框架是一个可复用的设计构件MVC框架:(Model-模型,View-视图,Controller-控制器)是软件工程的一种软件架构模式,具有耦合性低,重用性高,...

2020-03-18 18:46:30 213

原创 Python--垃圾回收机制原理解读

前提引入:高级语言java,c#等,都采用了垃圾回收机制,而c,c++这种是用户自己管理维护内存的方式,极其自由,可以任意申请内存,但如同一把双刃剑,为大量内存泄漏,悬空指针bug埋下隐患python采用的是以引用计数机制为主,标记清除和分代回收为辅的策略引用计数机制:python中处处皆对象,他们的核心就是一个结构体:PyObjecttypedef struct_obj...

2019-02-28 16:06:09 704 1

原创 Python--互斥锁|递归锁|死锁机制详解

互斥锁:牺牲了执行效率而获得数据安全问题:# 多个线程抢占资源,会发生数据混乱from threading import Threadimport os,timedef work(): global n temp=n time.sleep(0.1) n=temp-1if __name__ == '__main__': n=100 l...

2019-02-26 19:34:31 1145

原创 Python--详述执行效率和开发效率

标注:本文讲解的为cpython,由c语言实现的python问题:python为什么比其他编程语言性能差编程语言效率一词上无外乎两种:开发效率和执行效率,目前市面上没有一种可以兼得两者的编程语言;python则是更偏向于开发效率,至于执行效率,小编认为可以靠硬件支撑一下;下面我们就来分析一下python为什么性能差!第一:python为动态语言一个变量所指向对象的类型在运行时才...

2019-02-10 23:53:41 3828

原创 Python--递归算法解析

1.一段n个台阶组成的楼梯,小明从楼梯的最底层向最高层处前进,他可以一次迈一阶或两阶,问:他有多少种不同的走法?简单思路:这种大规模的问题无法解决,就无限拆分成同样表达的小规模问题,就运用到了递归的思想; --->:假如总共走法是f(n),那走到最后一个台阶时,可能是从倒数第一个一步跨过来的,所以为f(n-1) ...

2018-12-16 18:13:20 2150

原创 Python--原理解读生成器

def num(): return [lambda x: i * x for i in range(4)]print([m(2) for m in num()])咋一看,这道题似乎在考察生成器,又或列表推导式,惰性机制,只能往前,,,no,no,no这道题重点在于闭包,lambda函数相当于num函数的内层函数,而i就是lambda调用的外层的函数的变量,而i值一直在变,...

2018-11-26 22:53:35 510

原创 Python-Django的JsonResponse对象详解

----小编在写项目的时候,发现django的JsonResponse很难搞,就上网上搜,但是搜来搜去发现每个都不全面,所以小编在这就整理了一下,希望能给你带来帮助三个方面入手:参数(self, data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs) data:传入的需要序列化的对象,...

2018-11-15 20:24:46 3767

原创 Python--Django的QueryDict对象详细解析

QueryDict:本身继承dict,特性就是跟列表的一些属性封装起来了初始化方法(__init__()): def __init__(self, query_string=None, mutable=False, encoding=None): super(QueryDict, self).__init__() if not encoding: ...

2018-10-25 13:22:02 4461

原创 Python--django实现分页功能

1.html测试数据{% extends 'crm_/main_table.html' %}{% block css %} <style> th { text-align: center; } </style>{% endblock %}{% block table_ %} <...

2018-10-24 16:13:41 1325

原创 pip和pip3(安装与使用)详细讲解

在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库,当然pip还有很多参数都可以帮我们去查询一些库信息,在安装python的时候,下载带有pip的安装包就可以直接安装pip啦,当然没有带pip的,也可以通过下载安装包,手动安装。手动安装还是要会的,安装pip环境:去到官网下载pip包,地址是https://pypi.python.org/pypi/pi...

2018-09-26 21:38:10 260671 11

原创 Python--详细讲解僵尸进程与孤儿进程

一:僵尸进程(有害)  僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。详解如下我们知道在unix/linux中,正常情况下子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程到底什么时候结...

2018-08-22 16:07:55 1681

原创 Python--详解斐波那契数列Python版

1.斐波那契数列题目:斐波那契数列:1, 2, 3, 5, 8, 13, 21.....根据这样的规律,编程求出400万以内最大的斐波那契数,并求出他是第几个斐波那契数解题思路:首先要得到前两项,从第三项开始,每一项都为前两项之和; 所以这个公式应该大致为 x + y = y1)递归思想def func(num): if num == 1: return 1 ...

2018-08-21 22:26:12 1715

原创 Python--详解脚本语言|编译语言|胶水语言的区别

1.什么是脚本语言?脚本语言:脚本语言是一种介于标记语言和编程语言之间的语言,没有编程语言复杂、严谨的语法和规则。 脚本语法比较简单,比较容易掌握,与编程语言也有许多相似之处,其函数与编程语言比较相似一些。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。 脚本语言是解释性的语言,例如Python、javascript(目前接触过的)等等,它不象c\c++等可以编译成二进制...

2018-08-19 19:12:54 1257

原创 Python--利用正则表达式实现计算器功能

1.自己写的,当时没弄明白的点是float(字符串负号加数字) =负数本身s = '1-2*((60-30 +(9-2*5/3+7/3*99/4*2998+10*568/14)*(-40 / 5))-(-4*3)/(16-3*2))'s = s.replace(" ", "")brackets_first = re.compile('\([^()]+\)') # 找出最内层函数的内容...

2018-08-15 20:25:46 1330

原创 Python--几种set集合去重的方法

1.set集合的去重机制ps:set集合在内部执行时,首先会先对对象执行hash算法,存储到内存空间,(但在同一次运行过程中两个值相等的对象hash值一样)所以如果两个对象值相等,这时会做出第二步操作,判断这两个对象的值是否相等,若相等覆盖,若不等则进行二次寻址,存储到空间;*****那么问题来了!!!*****看下面这道题:1)创建一个员工管理系统 2)对象的...

2018-08-04 17:31:12 1417

原创 Python--详细讲解反射has|get|set|delattr

1.反射(内置函数hasattr,getattr,setattr,delattr)1)神赐给你的内置函数 :a: getattr(命名空间,'函数名') ==命名空间.属性名;这里的命名空间指的是对象或者类;b: getattr四个应用场景:   1)类名.名字 <==> getattr(类名,'名字')  2)对象名.名字 <==> getattr...

2018-08-02 22:11:24 354

原创 Python--实现二分法算法

专业分析二分法查找 二分法针对的对象要是有序的队列,通过索引找到你要查找的值 思想:取一个索引开头left,取一个索引末尾(len(队列)-1)right,让你的值跟(left + right)//2(middle)比 如果索引middle值比你查的值大,把middle赋值给right,反之把middle赋值给left; 代码展示: lst = [11,22,3...

2018-07-31 10:02:17 4951 5

原创 算法集合-链表

算法集合-链表链表: 链表是一种通过指针串联在一起的线性结构,每一个节点是有两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针)链接的入口点称为列表的头结点也就是head链表的类型单链表单链表的节点只能指向节点的下一个节点双链表每一个节点有两个指针域,一个指向下一个节点, 一个指向上一个节点双链表既可以向前查询,也可以向后查询循环链表循环链表就是首尾相连链表的存储方式了解完链表的类型,再介绍一下链表的存储方式数组在内存中

2021-04-27 18:56:44 170

原创 算法集合-二维数组

算法集合-二维数组本题并不涉及到什么算法,就是模拟过程,但却十分考察对代码的掌控能力解题关键: 找出边界条件, 找出循环不变量算法题目题目59.螺旋矩阵II给你一个正整数n ,生成一个包含 1 到n2所有元素,且元素按顺时针顺序螺旋排列的n x n 正方形矩阵 matrix .示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]解题思路:生成一个 n×n 空矩阵 mat,随后模拟整个向内环绕的填入过

2021-04-20 19:28:02 299

原创 2021-02-05

cannot find module providing package今天小编在开发go项目的时候, 遇到了报错项目文件中go mod有, 也已开启. 在import导入github.com/elliotchance/redismock包命令行运行go mod tidy时, 报错github.com/elliotchance/redismock: cannot find module providing package github.com/elliotchance/redismock一直排查哪

2021-02-05 12:53:51 152

原创 数据库--mysql引擎详情

关系型数据库:sqllite, db2, oracle, access, sql, server, MySQL,非关系型数据库:mongodb, redis, memcache, nosql版本问题:一般公司如果有一些旧的项目都是用的老版本项目MySQL5.5-5.6,新项目一般都是7.0了# 用的公司自己搭的环境5.6 5.7 5.5 7...

2020-03-18 18:29:35 151

原创 爬虫--xpath详解

爬虫应用:基于python的requests+lxml,lxml中有xpath语法,功能强大,定位准确Xpath用法:在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的;表达式 描述 nodename 选取此节点的所有子节点 / 从根节点选取,一层一层筛选 // ...

2019-03-01 11:41:28 618

原创 日常开发--前后端联调规范

项目场景:针对前后端分离技术,前端人员和后端开发要提前协商接口文档数据;然后再去码代码这时任何一端开发完成,都会先用mock数据(假数据)来测试程序,后端一般会用postman/http requster而前端一般会用到gulp,webpack,fekit去哪儿网的一款前端自动化构建工具,据说历史比webpack和gulp都要久远)等等自动化构建工具都有mock数据的功能,这不是...

2019-03-01 09:42:01 1932

原创 数据库--redis详解

近乎所有与python相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,下面就来说说redis。  如果你在以前面试的时候还没有遇到过面试官问你《为什么说Redis是单线程的以及...

2019-01-08 15:58:34 185

原创 日常开发--src静态请求时,url乱码的问题

问题出现:在给html标签设置src的时候,发现请求的url总是前后都加了一个%22;问题截图:解题猜想:路由参数中有特殊字符,页面自动做转义了楼主的错误由来:1.我在用websocket传输信息时,本来要传输文件的名称ff-ee-4d-e8.mp3,2.我在传输的时候对这个字符串json.dumps(filename),这时虽然出来的还是字符串,3.但是特殊字符已经...

2019-01-02 17:56:41 313

原创 Python--进程间的机制

1.模拟12306购票系统要同时开两个进程,一个进程查票,一个进程买票,都对一个文件操作 这时有可能会发生数据混乱,所以添加锁机制def check(i): with open('a')as f: s = f.read() print('\033[32m第%s人查到票,还有%s张\033[0m'%(i,s))def buy(i,l): l.acquire() with o...

2018-08-21 18:14:23 131

空空如也

空空如也

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

TA关注的人

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