自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Golang channel操作详解

Golang channel操作详解序言1.channel的状态2.对`nil`状态和`close`状态的`channel`进行的验证3.对`active/open`状态的`channel`进行测试4.总结图(借用网上小伙伴 )序言对于channel的操作始终有着这么一句口诀用于记忆,空读写阻塞,写关闭异常,读关闭空零。但是对于刚开始学习并不知道具体的解释,所以在查阅了部分资料后,一一做了实验。1.channel的状态nil未初始化的状态,只进行了声明,或者手动赋值为nil (做了var操作但是没

2021-12-27 11:15:28 773

原创 git status -s

git status -s 以精简的方式显示文件状态。git status 输出的命令很详细,但有些繁琐。如果用 git status -s 或 git status --short 命令,会得到更为紧凑的格式输出。1.新添加的未跟踪文件前面有 ?? 标记 (新建文件但是没有放到git项目中)2.新添加到暂存区中的文件前面有 A 标记(放到项目中但是没有git add)3.修改过的文件前...

2019-08-15 17:31:18 600

原创 ubuntu下mysql5.7安装与卸载(超级简单无脑版)

使用apt-get安装sudo apt-get updatesudo apt install mysql-server-5.7sudo apt install mysql-client-5.7sudo apt-get install libmysqlclient-dev-5.7开机自启:update-rc.d mysql defaults在/etc/mysql/目录下添加 my....

2019-04-23 14:14:52 686

原创 mac下安装GeoIP

我是自己的需求,需要mac安装geoip == 1.3.2,在pycharm中运行首先:需要安装GeoIP的环境依赖,mac下使用这个指令:brew install libGeoIP成功后,回到我的pycharm:pip install GeoIP=1.3.2搞定!!...

2019-03-30 09:37:17 1116 1

原创 mac下安装uWSGI==2.0.12

如果你只是需要安装uWSGI,只需要在mac上进行:brew install uwsgi但是如果你是用pycharm的pip 进行安装2.0.12版本,会提示失败。解决办法:CFLAGS="-Wno-error=varargs" pip install uwsgi==2.0.12...

2019-03-30 09:29:27 1951

原创 回滚 rollback

为了保证在应用程序、数据库或系统出现错误后,数据库能够被还原,以保证数据库的完整性,所以需要进行回滚。回滚(rollback)就是在事务提交之前将数据库数据恢复到事务修改之前数据库数据状态。例如,用户A给用户B转账,在数据库中就需要给A与B的账户信息进行修改(update)操作,而这两条sql语句必须都执行或者都不执行。 例如先执行用户B的修改(update)语句,使用户B的账户金额增加了1...

2018-09-17 20:15:55 11675 1

原创 django 中的 csrf_token

在学习django的时候,在template中写form时,出现错误。要加{% csrf_token %}才可以,之前一直也没研究,只是知道要加个这个东西,具体是什么也不明白。 目的: csrf_token 是为了防止csrf(跨站请求伪造),什么是csrf,这篇文章讲的很好:这里。文章最后也说到了,防止csrf的手段就有给form加个token。 更简单的说:就是防止黑客...

2018-09-17 19:00:33 4904

原创 window 和 ubuntu下的 autopep8 安装

第一步: windows:cmd窗口输入:pip install autopep8 ubuntu:pip install autopep8 权限不够的话输入sudo pip install autopep8第二步: 将pep8 配置到软件里面(我这里是pycharm) 点击软件左上角 File –> settings –> Tools –> External Too...

2018-09-17 16:42:42 1333

原创 Django F() 的作用

F() 函数的作用:F()允许Django在未实际链接数据的情况下具有对数据库字段的值的引用。通常情况下我们更新数据时需要先从数据库里将原数据取出后存在内存里,然后编辑某些属性,最后提交。比如实现模糊查询时,查找 ID 比phone大的字段,通常我们会这么写:num = Reporters.objects.get(name = 'phone') #取出phone的id...

2018-09-11 15:26:06 1999

原创 Django 模糊查询指令 和 filter中的Q

格式如下所示:表名.objects.filter(要查的字段__指令= "过滤的内容")介绍django model 的一些常用查询指令__exact 精确等于 like ‘aaa’__iexact 精确等于 忽略大小写 ilike ‘aaa’__contains 包含 like ‘%aaa%’__icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqli...

2018-09-10 16:15:49 6754 2

原创 Django orm映射的本质

ORM:Object Relational Mapping(关系对象映射)1.UserInfo.objects.all()2.UserInfo.objects.get(id=2)3.UserInfo.objects.filter(user_name__contains='王')这条语句会被django转换成这样的SQL:1.select * from user_userinfo...

2018-09-10 15:46:03 244

原创 Django 模版(template)中 的 {{}} 和 {%%} 是什么作用

模版的常用语法只需要记两种特殊符号:{{ }}和 {% %}变量相关的用{{}},逻辑相关的用{%%}。

2018-09-10 15:14:15 11803 3

原创 多层装饰器的执行问题

首先讲到多层装饰器的时候老师都会这么说:多个装饰器的调用顺序是自下往上,但是运行时的执行顺序是自上往下!!!但是呢,我们并不知道为什么是这样的,于是抱着求真务实,积极努力,奋发图强的精神。我反复试了代码,设置断点,看看内部到底发生了啥先把测试用的代码放上来def decorator_a(func): print('进入了 a') def inner_a(*ar...

2018-08-22 16:21:18 434 1

原创 python 小习题

1、l=[1,1,6,3,1,5,2] 去重,至少两种方法 1.l = [1, 1, 6, 3, 1, 5, 2]l = set(l)2.l = [1, 1, 6, 3, 1, 5, 2]k = []for i in l: if i not in k: k.append(i)print(k)2、实现字符串反转 输入str=”string”输...

2018-08-22 08:39:48 665

原创 简简单单说下迭代器 (iterator)

迭代器(iterator)什么是迭代器呢?它是一个带状态的对象,他能在你调用next()方法的时候返回容器中的下一个值,任何实现了iter和next() 方法的对象都是迭代器 iter返回迭代器自身 next返回容器中的下一个值 如果容器中没有更多元素了,则抛出StopIteration异常,至于它们到底是如何实现的这并不重要。它有什么用处?使用迭代器不要求事先准备好整个迭代...

2018-08-20 14:42:35 415

原创 Python中_,__,__xx__的区别

Python中 _xx,__xx,__xx__ 的区别python主要存在四种命名1. object # 公用方法2. __object __# 内建方法,用户不要这样定义3. __object # 全私有,全保护4. _object # 半保护1.”单下划线” 开始的成员变量叫做保护变量,表示的是protected类型的变量 ,意思是只有类对象和子类对象自己能访问到这些...

2018-08-17 15:02:58 1924

原创 python实现TCP编程

通过python实现TCP编程流程图: 伪代码: 服务器: ss = socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字上 ss.listen() #监听连接(最大连接数)使套接字变为被动套接字 cs = ss.accept() #接受客户端连接 comm_loop: #通信循环 cs.recv()...

2018-08-16 14:27:29 833

空空如也

空空如也

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

TA关注的人

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