自定义博客皮肤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)
  • 收藏
  • 关注

原创 golang defer 关键字解析

关于defer的解释有很多,今天我从我自己的角度来说说defer问题 1.什么是defer?在一个函数执行到return一步的时候,实际执行的并不仅仅是return这一个操作,他不是原子的,解析golang代码的汇编语言可以发现,在计算机底层把return分为了多步去执行。比如return 1// 伪代码reval = 1 // defer_funcret很明显在函数结束的最后的时候执行了defer问题 2.defer有什么作用?这里是引用...

2020-09-18 18:40:23 154

原创 spark rdd.foreach(print)报错

在使用spark的过程中出现了符号错误异常(SyntaxError: invalid syntax)。我用的是python2通过观看源码发现print传入foreach后,print被当做一个函数去执行 既print()。而python2中的print是一个关键字,并不是一个内置函数。我们可以使用from __future__ import print_function来引入python3的新特性,将print从一个关键字变为一个函数。然后就可以愉快的使用spark了~...

2020-08-26 14:18:42 2835 1

原创 idea Failed to read artifact descriptor for ...

记载一次maven项目配置pom文件提示idea Failed to read artifact descriptor for … 的问题:原因是之前网络不好,依赖包下载有残缺,但是idea认为无需再更新,导致出现问题。解决办法:去maven依赖包目录,根据提示的倒入失败的包,挨个将其删除,而后重新再idea中reimport即可;...

2020-01-27 16:30:52 673 1

原创 HTTP协议 content-type字段常用属性

今天说说http的content-type字段属性常用的content-type属性有三种1.application/x-www-form-urlencoded2.application/form-data3.application/json

2019-12-16 15:49:08 653

原创 记载一次c3p0 pool连接mysql失败的原因

在maven项目中,使用c3p0首次进行连接时,发现无法连接java 代码日志报错信息:警告: named-config with name ‘mysql’ does not exist. Using default-config.可我明明配置了c3p0-config.xml 配置文件 ,却并未加载,发现是文件位置问题,将c3p0-config.xml移至resources目录下解决...

2019-11-27 16:30:11 1210 2

转载 liunx 读写过程

Linux系统中将数据写入到一个文件是一个很复杂的过程。如果我们只对这个过程做一个理论和概要的理解,可以总结为下面处理过程。1、首先,用户态程序需要将数据所在地址、写入文件位置、写入长度传递给内核空间。2、然后,内核需要检查用户态程序传入的参数,一部分要检查用户态空间那段存储数据的地址是否可读,还需要检查写入文件位置,写入文件长度是不是超过了文件的限制。3、通过检查后,进入一个循环中,这个循...

2019-10-18 10:57:36 107

原创 redis分布式锁

最近看了一些redis方面的书籍,对分布式锁重点看了一下,觉得想写出一把优秀的分布式锁真的非常难,下面我做一个秒杀商品的分布式锁。使用flask简单模拟一个秒杀场景。首先最简单的分布式锁一般是使用一个 setnx即可,但是如果在秒杀业务的过程中出现了代码报错怎么办?ok,我们想到了用try…finally…,没问题,但是如果是出现了断电呢?那么我们的分布式锁就永远得不到释放了,所以在写分布式锁...

2019-08-16 12:05:35 166

原创 mysql为什么不推荐在大数据量的情况下使用join连接查询

mysql为什么不推荐在大数据量的情况下使用join连接查询?这个问题涉及到join的原理,mysql在做关联查询时使用到了相关表的‘笛卡尔积’结果集,不知道笛卡尔积的话可先行google。具体过程如下1.先确定数据要用到哪些表。2.将多个表先通过笛卡尔积变成一个表。3.然后去除不符合逻辑的数据(根据两个表的关系去掉)。4.最后当做是一个虚拟表一样来加上条件即可。例如两个10w级别...

2019-08-11 17:07:23 4222

原创 django ORM查询的性能真的不太行吗?

以前在django中使用orm查询时总会想到这么一个问题,就是他查询的效率是不是有些差,但是最近的一个情景解决了我的疑惑先随便举个例子:users = User.objects.all()[0]一句很普通的orm查询语句,意为查找一个用户,我以前总是会想,按照语法来看,django是不是先查询所有的用户,将所有的query加载在内存再,然后取第一条给我吗。直到最近在做项目的时候才发现事...

2019-08-01 18:55:42 1474

原创 django sql查询优化之 select_related()

在使用ORM时,难免会遇到sql的性能问题,今天分享给大家一个可以优化sql的技巧,使用django提供的select_related 功能做优化class Question(models.Model): """ 问题表 """ user = models.ForeignKey(User,related_name="question",on_delete=mod...

2019-07-29 21:24:05 937

原创 django 驱动mysql报主键重复 1062

在django model中使用uuid作主键,发现在create 数据时出现了主键重读的问题(django.db.utils.IntegrityError: (1062, “Duplicate entry ‘38469ef5922349e4ac856207a82b7c12’ for key ‘PRIMARY’”),当时我就火了,uuid码号称全球唯一 ,我觉得他是在骗我,不过经过一波推敲才发现时...

2019-07-23 21:46:59 1301

转载 完全背包问题

http://freesouls.github.io/2016/02/27/backpack-problem-II/index.html讲的特别好!!!

2019-07-17 00:43:46 184

原创 django query查询中 objects.values() vs objects.values_list()

values()方法返回包含字典的QuerySet:<QuerySet [{‘comment’: 1}, {‘comment’: 2}]>该values_list()方法返回一个包含元组的QuerySet:<QuerySet [(1,), (2,)]>如果你使用values_list()单个字段,则可以使用flat=True返回单个值的QuerySet而不是1个元组...

2019-07-08 21:50:57 3436

转载 用户态与内核态

https://www.cnblogs.com/maxigang/p/9041080.html

2019-07-08 01:05:59 70

转载 内核线程和用户线程的区别

1.kernel thread 的权限始终是最高级,且永远不低于user thread,用户可以调整user thread级别而不能动kernel thread2.每个user thread都有一个叫TCB(thread control block 线程控制单元)存放在kernel里面,用于存储当前线程运行状态(指令指针、线程运行状态等),kernel有权访问TCB而用户线程无权限。3.ker...

2019-07-08 01:00:42 1266

原创 django contenttype完成大量外键的操作

在某些场景下我们需要对一张表设置很多的同类型外键,例如现在有几张表,article,news,question三张表,我们根据产品需要,需要再为这三张表设置一个comment(评论表),普通的的策略是在comment中设置三个外键指向之前的三张表,这就引发了一些问题,class Article(models.Model): body = models.CharField(max_length=...

2019-07-06 19:21:32 230

转载 同步异步阻塞非阻塞

https://www.zhihu.com/question/19732473

2019-06-30 12:59:40 69

原创 jquery ajax 每次求请求数都翻倍

虽然是个后端程序员,但自己的项目还得自己写前端,都是泪啊(跑题了),说说今天遇到的坑,我想在ajax请求后根据返回的data,对模态框中的元素绑定事件,我直接调用了全局初始化函数,心想这不就能绑定了吗,但是却出现了,我后续再触发绑定事件,每次都会翻倍(例如绑定的ajax请求每次都会翻倍请求次数),通过查资料,发现问题所在:在每次调用jquery绑定函数时,并不会覆盖之前对于元素绑定,而是会增加,...

2019-06-26 15:16:28 376

转载 django app_name vs namespace

django app_name vs namespacehttps://www.cnblogs.com/olivertian/p/10974281.html

2019-06-23 12:03:24 149

原创 mac下 使用pyenv安装python报错 zipimport.ZipImportError: can't decompress data; zlib not available

虽然经常使用macos,但是还是跟Ubuntu有所不同,查了很多的文章,大概是是mac因为版本升级后没有安装某些解压的包,我通过安装解压的包解决了这个问题sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /...

2019-06-19 19:24:24 1009

原创 djcelery无法取消定时任务的问题

今天在django下使用celery,为了配置方便,直接使用了djcelery,写了一些定时任务也没问题,不过运到一个比较奇怪的现象,就是我在配置文件中把定时任务注释掉了,他还是会执行,通过查看文档还有其他途径,发现djcelery是先把配置文件中的定时任务写入数据库,在运行celery时,他会直接去数据库中拿,而不是找配置文件。把配置文件注释掉,djcelery会认为没有对这个定时任务做修改,所...

2019-05-28 14:18:27 983

翻译 2059 - Authentication plugin 'caching_sha2_password' cannot be loaded dlope

今天在mac上使用navicat连接mysql报错弄了一下午,各种查询踩坑,总算解决了。即从mysql5.7版本之后,默认采用了caching_sha2_password验证方式,我用的mysql8.0,于是就遇到了这个问题。解决办法:mysql>ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY...

2019-05-25 19:50:09 6094 7

原创 nginx 403 (13: Permission denied)

今天室友部署部署项目,使用nginx做反向代理,遇到了静态文件加载不出的问题,让我帮他解决,通过查看日志·2019/05/24 20:04:15 [error] 6943#6943: *14 open() "/root/object/YYW/travel/static/images/yyw.jpg" failed (13: Permission denied), client: 1.62.2...

2019-05-25 10:38:45 733

原创 python基础装饰器及能接收参数的装饰器

北京今天天儿不错,在家写点博客吧。。。。常用的装饰器如下from functools import wrapsdef decorator(func): """ 使用系统内置的warps装饰器能够使被装饰的函数保留他原始的信息, 直观一点就是在你print(func.__name__)的时候这个函数的名字仍然是func而不是new_func. """ @warps def new...

2019-05-11 23:46:29 609

原创 django migrate失败常见错误:ValueError: Related model u'app.model' cannot be resolved

在migrate生成表的时候往往会出现Related model u’app.model’ cannot be resolved的问题,这种问题往往出现在有各种的外键关系的数据表。在我们makemigrations时,在我们app 下会生成migrations/000nxxx.py文件,记载着我们每次改动models的记录,如果我们所写的model是带有外键的时候,文件中会写入其依赖表,如图文...

2019-04-27 22:30:44 4534 1

原创 self.host_info = "socket %s:%d" % (self.host, self.port)

pymysql 连接报错:self.host_info = “socket %s:%d” % (self.host, self.port)解决办法:port=3306 而不是 port=‘3306’

2019-04-17 18:46:09 1602

原创 django csrf机制

看了很多网上的csrf机制的文章,我觉得百分之99解释的都是错误的。错误说法1:CsrfViewMiddleware中间件会把form表单的csrfmiddlewaretoken值与cookie的csrftoken字段值作比较,如果一样就表示合法。what???我试验了一下,我不断地刷新带有form表单的页面,发现cookie的csrftoken在一段时间内并不会变,而表单的csrfmiddl...

2019-02-23 21:22:08 147

原创 ubuntu报错Job for network.service failed because the control process exited with error code

通过执行他提示你的错误代码systemctl status network.service 来找出错误位置

2019-02-15 21:39:35 2105

原创 python快速排序

算法导论中的排序思想从数组头部设置两个指针按规则向右移动def quick_rank(array): #递归循环的出口,这个出口是根据你写的while排序语句设立的,不同的while语句对应不同的出口 #可以根据自己的需要来,先写while排序语句,再写出口(我的个人习惯)。 if len(array) &lt; 2: return array po...

2019-02-12 12:30:54 100

原创 python写归并排序

python写并归排序思路:递归循环进行归并排序def merge_rank(array): if len(array) &amp;amp;gt; 2: #数组的左半部分 mergetop = merge_rank(array[0:len(array)//2]) #数组的右半部分 mergelow = merge_rank(array[len(...

2019-02-11 21:20:18 159

原创 centos下 virtualenv配置

centos 安装Python virtualenv1.pip install virtualenv安装完成后,执行virtualenv venv会报: bash: virtualenv: command not found此时,可通过find命令查找到virtualenv安装目录find / -name virtualenv得出在:virtualenv 执行脚本位置进入bin...

2019-01-30 16:55:23 563

空空如也

空空如也

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

TA关注的人

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