自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (1)
  • 收藏
  • 关注

原创 golang 值传递和指针传递

切片数据结构中,包含了指向原数组内容的指针,这可以说是值传递中的指针传递。很多人可能会疑惑,什么是值传递中的指针传递,这不是两个东西吗。事实上,golang 函数只有值传递,即使是传递指针,也是将指针拷贝一份,所以函数内外参数的地址是不一样的,但是指向的底层内容是一致的,所以函数外的参数可以被修改。

2023-03-03 17:11:32 480

原创 golang 小知识

golang 入门小知识

2023-02-17 15:41:20 200

原创 rabbitmq概念的一点理解

关于rabbitmq的一些个人学习记录,不涉及到具体的代码,主要是一些概念性的东西,或许比较浅显,但对一些同样感到困惑的同学可能有一些提示作用.1.尽管没有很明显表示出来,但我们可以认为rabbitmq与消费者直接还存在着一个缓冲区,缓冲区的大小与prefetchcount关联,默认可以存几万条消息,java中使用basicQOS()修改,可用作Consumer的限流操作。消费者将缓冲区的消息消费完毕后,如果没有ack或nack,rabbitmq不会再向Consumer推送消息,Queue中的消息也不

2021-10-14 17:32:05 299

原创 django 关于Session禁用

最近在开发时,想使用token来替代django的session,所以打算禁用掉session,能节省点开销嘛。在django1.x的时候,我记得禁用session是直接注释掉INSTALLED_APPS中的session和中间件中的session中间件即可,如下:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', # 'dj

2021-07-12 16:02:01 609

原创 多线程和异步的区别

首先说明,这里介绍的区别可能有些浅显,内部更深层的原理,说实在的,我现在有点理解不了,大家可以参考以下两个地方,主要是以C#为主要语言:c#关于异步编程?C# 彻底搞懂async/await异步是一个概念,多线程是实现异步的其中一种方式,你说多线程也是异步似乎也没太大的问题。多线程中,线程需要自己创建,自己管理。而异步中,线程的创建时由线程池来管理的,当涉及到io操作时,会使用线程池中的io线程。使用多线程,系统无法自行通知我们线程是否结束,我们想要获取多线程执行后的结果,只能在主线程中阻塞。而

2020-06-29 21:45:04 4235 9

原创 django group by 的坑

django中的group by 是通过annotate()来实现的,但是这里存在一个很难发觉的坑。如果使用的model是这样定义的class Message(models.Model):sender = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='sent_messages', ...

2020-04-12 13:47:55 1747 3

原创 django reverse 和 reverse_lazy 的 区别

在django中,reverse 和 reverse_lazy 都可用于将别名转换为真实的url,但两者存在一个很重要的区别。习惯地,大家都会使用reverse(),但在某些情况下,使用reverse()会导致如下的错误:django.core.exceptions.ImproperlyConfigured: The included urlconf 'config.urls' does no...

2020-01-04 17:06:52 4179

原创 django channel 的基本使用和概念解析

网上有很多channel的教学文章,我看的时候,总感觉有些概念模糊不清,看得有点头痛(比如推送消息时的type字段究竟时什么意思)。结合多篇文章,很不容易理解了一些,于是在下面写出channel的基本使用和对一些概念的解析,希望对大家有一些帮助。关于channel的更深一层理解和使用,我也正在学习,后面可能会写的更详细点。参考:1.Django-channels2.0笔记–2、Channel...

2019-12-19 22:16:04 11404 1

原创 option请求与跨域

以前也知道HTTP请求中有option方法,只是大概知道是用来询问服务器支持什么请求方法的,直到今天遇到了一个很奇怪的问题,才对option方法有更深一步的理解。前提:项目是vue+django,我把前端项目运行起来,使用http://localhost/xx来展示前端项目,而django则用http://127.0.0.1/ 来允许服务,当我向后端发送一个POST请求时,奇怪的事情发生了,后端...

2019-12-04 18:46:15 1040

原创 关于前后端分离时,如何解决djaogo的CSRF问题

先说一句,这里我还没有找到我觉得合理的解决方案,记录了一些概念性的东西,还有别人的一些解决方法,但是我总觉得有点问题,希望有路过的同学,如果看明白了我的疑惑,能帮我解惑一下1.如果前后端都使用django来完成,那么这个CSRF防御应该是挺好解决的,可以在表单中加入{% csrf_token %}来完成。<form action="add_book" method="post">...

2019-11-24 14:42:55 485

原创 npm 局部安装和全局安装的路径问题

下面主要讲了npm 局部安装时,模块的安装路径问题。有时候安装了模块,但是又找不到它具体安装在哪里,还真的有些烦躁。我一直以为局部安装应该是把模块安装到运行命令的目录下,但其实不是这样。1.npm install 默认是局部安装,运行该命令时,首先会检查你当前目录有没有package.json文件,如果有,则在该目录下生成node_modules目录,并把安装的模块都安装在node_modul...

2019-11-19 18:19:32 1909

原创 springboot直接访问静态资源失效

最近尝试在一个springboot项目中直接访问静态资源时,如http://localhost:8080/3.png发现报了404错误,感觉很奇怪,在记忆中,只要把静态资源直接放到/static,/public,/resources,/templates下时,就可以象上面一样直接进行访问。我尝试新建了一个项目,什么东西都不修改,只是简单地添加了spring-boot-starter-web...

2019-04-24 18:06:28 1634

原创 springBoot多模块扫描子模块下的注解

今天在练习一个SpringBoot的时候出了点问题,该项目分为多个模块,其中A模块依赖于B模块。但是在B模块中的类中添加注解时,以A模块为主启动模块时却扫描不到,很久没有使用springboot了,一时间不知道是什么原因。百度了很久,才发现了问题:B模块中添加注解的类所在路径为:lkm.securityA模块中主启动类所在路径为:com.lkmspringBoot 会自动扫描启动...

2019-04-19 10:53:22 4556

原创 springboot filter

在 springboot 中注册使用Filter,大概有以下三种方法:使用 @Comment这种方法缺点就是不能限定过滤的url,会对所有的请求进行过滤@Comment# 首先要继承Filterpublic class TimeFilter implements Filter { @Override public void init(FilterConfig filterCon...

2019-04-18 19:03:40 513

原创 python编码问题

https://www.zhihu.com/question/31833164?sort=created

2019-03-27 11:00:44 268

原创 多个线程输出1-1000

多个线程按顺序输出数字,关键控制输出数据的同步1.可以利用锁机制,这里就不写了。2.利用线程辅助类 semaphore,semaphore可以控制同一时间访问某资源的线程的数量,如果我们需要按顺序输出数字,那么我们需要控制同一时间只能有一个线程进行输出。class B extends Thread{ Semaphore sem = null; public B(Semaphore se...

2019-03-06 15:24:44 970

原创 HTTPS连接过程及安全问题

https是基于ssl+http的进行内容加密、身份验证的网络协议,相比于http更安全。但是这里主要不讨论它们的区别,需要了解请另外查询。1.tcp三次握手建立连接(https是建立在Tcp协议上的,因此同样需要三次握手建立连接)2.客户端发送请求到服务端3.服务端返回数字证书和公钥(服务器搭建https是会申请一个CA证书,并生成一对私钥和公钥)4.客户端验证证书的安全性,若验证...

2019-02-18 17:47:36 1639

原创 java类初始化执行顺序

class B{ public static B t1 = new B(); public static B t2 = new B(); static { System.out.println(&quot;静态块&quot;); } { System.out.println(&quot;构造块&quot;); }}public class Const...

2019-02-16 11:14:45 482 1

原创 python发送邮件及邮件渲染

最近,公司给了我一个需求,将邮件的渲染方式进行优化,主要的话,其实就是改变邮件中图片的展示方式.之前,公司的邮件是以html的形式发送的,即邮件中的背景图片是通过超链接来实现的,这样就存在一个问题:如果以后图片的地址发生了改变,那么想再次查看邮件就变得非常不愉快,因为样式都变了.所以,图片不能再以超链接的形式进行访问,而是需要将图片当做资源进行发送.老大给我的提示是将整个邮件转换成eml进...

2019-01-13 16:00:59 1963

原创 sudo与 ssh key

今天碰到一个问题,从gitLab上clone项目时,clone失败, 一直显示要我输入网站的密码,因为是公司搭建的gitLab,自然我是不知道密码的。//我是在把项目clone到根目录下,所以需要sudo提权sudo git clone xxx@git出现这个问题应该是SSH key不对,但是我检查了一遍,ssh key 是对的。经过别人提醒才知道,我生成ssh key时,是直接在普通用...

2018-12-12 23:27:03 683

原创 解决外网无法远程连接centos上的django服务

最近在接触python的框架 django,真的踩了很多坑。刚开始是在公司电脑(Ubuntu)上配置django服务,一切岁月静好,没啥子大问题,但是公司电脑是台式的,无法携带,想在宿舍里学习一下还必须在自己的电脑上重新配置环境。我的电脑是windows,安装各种出错,又换pip版本,又手动下载django文件,结果还是失败,百度了很多,得出的结果是,windows貌似不支持django,非要...

2018-12-09 09:12:41 1285

原创 dpkg和apt-get

刚接触Ubuntu不久,刚开始,对Ubuntu上软件安装这一方面有点懵,对各种命令也不熟悉。 因为不像windows,可以直接鼠标操作下载exe文件,Ubuntu都是在终端中完成,看起来比较可怕。 在Ubuntu中安装软件,大致可以分为三种: 1.直接从网页上下载deb文件,deb文件是预编译文件,通常使用dpkg命令进行安装,(也可以双击安装)需要自己安装依赖。 2...

2018-12-06 23:20:47 712

原创 HouseRober(简单的偷盗问题)

假设有一个强盗,在一条街上进行盗窃,一条街上有一排房子,每个房子中有一定数额的金钱,你不能同时打劫相邻的房子,求一晚上能打劫的最大“收益”。分析:有i个房子,每个房间金钱为W[i],从第1个房子开始盗窃,对每一个房子只有两种选择,偷或者是不偷。这里用dp[i]表示到第i个房子时,最大收益。第i个房子,如果偷,则dp[i] = dp[i-2] + W[i],(i-2 是因为相邻房子不能偷,既...

2018-10-10 15:59:29 259

原创 二叉树和深拷贝

在做剑指中对称二叉树这一道题目时,我的思路时先把二叉树的镜像转换出来,在把两棵二叉树的左子树和右子树分别进行比较。(更简便的应该是直接将二叉树的左子树与右子树进行比较,而不必转换,不过当时没想到),不过重点不在这,先看最初的代码 class TreeNode { int val = 0; TreeNode left = null; TreeNode right = nu...

2018-09-25 15:21:18 1645

原创 redis主从复制

配置从库,不配置主库命令info replication : 查看角色信息SLAVEOF ip port : 作为从库的配置1.修改其他redis.conf的信息,包括端口号,log文件名,dump.rdb名称,即生成的文件不要具有相同名称2.window下不能开启daemonize,因此也没有pid文件3.开启redis服务​ 4.使用redis-cl...

2018-09-21 19:58:09 159

原创 redis持久化策略

RDB在指定时间间隔内将内存中的数据快照写进磁盘,也就是Snapshot(快照),它恢复时是直接将快照文件读进内存Redis会创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程结束,再用这个临时文件覆盖原先的持久化文件。整个过程,主线程是不进行任何IO操作,确保了极高的性能,如果需要进行大规模的数据的恢复,且对于数据恢复的完整性不是非常敏感,RDB比AOF高...

2018-09-21 11:32:19 155

原创 nginx 基本配置

#user nobody;worker_processes 1; #子进程,nginx启动会有1个master进程和若干个子进程#error_log logs/error.log; [ debug | info | notice | warn | error | crit ] 日志级别#error_log logs/error.log notice; #error_log ...

2018-09-19 10:17:20 604

原创 "errcode":45047,

{“errcode”:45047,”errmsg”:”out of response count limit hint:} 微信公共号客服消息在向客户推送时,可连续发送20条,如果期间客户没有回复,则停止发送.除非客户回复一下. 但20条好像也不是固定的。。。。...

2018-09-11 12:29:14 623

转载 在SpringMVC中 /* 和 / 的区别

在SpringMVC中 /* 和 / 的区别 / :会匹配到 /springmvc 这样的路径型url,而不会匹配到像 .jsp 这样的后缀型的url。 /* :会匹配到所有的url:路径型url 和后缀型的url (包括/springmvc,.jsp,.js,和.html等)。在SpringMVC中需要添加这个标签: 用来处理静态资源被“/”所拦截的问题 。...

2018-09-05 09:27:25 595

原创 @Component 和 @Bean 的区别

Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean。 完成这两个动作有三种方式,一种是使用自动配置的方式、一种是使用JavaConfig的方式,一种就是使用XML配置的方式。@Compent 作用就相当于 XML配置@Componentpublic class Student { private String name = "lkm";...

2018-09-05 09:10:51 60398 12

原创 SpringBoot 创建webSocket服务端

我们已经有了 HTTP 协议,为什么还需要webSocket?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。 如果想持续从服务的获取消息,则只能使用轮询或建立长连接的方法来实现,但是这样或浪费很多不必要的资源。 而web...

2018-09-05 00:53:18 2207

原创 数组初始化

数组初始化有三种方式:动态初始化:数组定义与为数组分配空间和赋值的操作分开进行; 静态初始化:在定义数字的同时就为数组元素分配空间并赋值; 默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。public class Test { public static void main(String[] args) { ...

2018-09-01 18:27:57 317

原创 1

微信video层级过高在制作微信小程序时,其中一个功能时实现类似抖音的视频轮播,当时使用了swiper组件,在微信编译器上调试时看上去还可以,等到在真机上预览时,瞬间心态爆炸。。在滑动页面时,视频一直浮动在上方,把其他内容都给覆盖了,这是一个超级无敌大bug,瞬间感觉这几天都白干了,冷静下来后连忙在社区和百度上找答案,结果发现这是由于video层级过高造成的,使用该组件时,我也没有注意到文...

2018-08-19 22:35:08 115

空空如也

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

TA关注的人

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