链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
好玩
前端
后端
工作
B3
推介
查看所有领域
Java
golang
Node.js
Python
数据库
Spring
C++
PHP
为什么要给 MVC 分层架构再加一层 Manager 层?
MVC 三层架构 我们在刚刚成为程序员的时候,就会被前辈们 “教育” 说系统的设计要遵循 MVC(Model-View-Controller)架构。它将整体的系统分成了 Model(模型),View(视图)和 Controller(控制器)三个层次,也就是将用户视图和业务处理隔离开,并且通过控制器连接起来,很好地实现了 ..
453
2 年前
(源码)JDK8-JUC-AQS 结合 ReentrantLock
----选择最熟悉/简单的 ReentrantLock 作为突破口。 理论初步 前置知识: 公平锁和非公平锁 可重入锁 LockSupport CAS Volatile 自旋锁 数据结构之链表 模板模式 AQS是什么? 字面意思,抽象的队列同步器。不仅是简单的加锁、解锁。 技术解释,用来构建锁或者其他同步器组件的重量级 ..
90
2 年前
spring-boot-devtools 引发的问题
问题描述 记录本人使用 spring-boot-dev-tools 在开发环境进行热加载的时候,遇到的问题。 问题 1 在使用 Hutool-All 依赖时调用 ObjectUtil.clone()进行对象深拷贝时发生 java.lang.ClassCastException 问题 java.lang.ClassCas ..
358
1 年前
2021 年 Go 语言入门
2021 年 Go 语言入门 1. 前言 1.1 参考 本篇文章参考了煎鱼的跟煎鱼学 Go 系列文章。教程写的非常好,推荐大家学习一下。 1.2 Go 语言是什么? Go 语言是一门编译性语言,在你运行程序之前,Go 首先使用编译器把你的代码转换程机器能够读懂的 1 和 0。它会把你所有的代码编译成一个可执行文件(Wi ..
248
2 年前
偷瞄大佬书签栏,16 个 C++ 必备学习网站,建议收藏
一、 一系列类和函数的集合,使用核心语言编写,也是 C++ISO 自身标准的一部分 [图片] http://en.wikipedia.org/wiki/C%2B%2B_Standard_Library 二、 标准模板库 [图片] https://en.wikipedia.org/wiki/Standard_Templa ..
258
2 年前
Go 语言错误处理的姿势
各位好。 前段时间看到有个帖子询问如何在 Go 中为错误加上堆栈,我以前也为类似的问题困扰过,后来找到了 pkg/errors ,再后来官方库有了 fmt.Errorf() ,我把这个小小经验写了下来,希望能抛砖引玉,欢迎各位交流拍砖。 在这篇文章中,我们将区分错误(error)和异常(panic),讨论什么样的错误是 ..
117
2 年前
Python 写入数据到 Excel
[图片] DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, st ..
103
2 年前
yaml 敏感数据加密
[图片] 故事 最近在出差,一直需求调研,下班后什么也不做,闲的有点蛋疼,每天浑浑噩噩,实在手痒痒了,想起前段时间被朋友问到一个如何对 yaml 文件里的账号密码以及一些关键密钥进行加密。今天就来简单记录一下。 jasypt 进行 yaml 加密 场景重现 个人 我们在开发过程中,特别是个人项目,有时候在 git 的时 ..
483
2 年前
golang 浮点数精度丢失问题详解
请看以下 Go 代码,会返回 0.7 吗? var num float32 for i := 0; i < 7; i++{ num = num + 0.1 } fmt.Println(num) 答案可能出人意料,是:0.70000005 也许有人会问,是不是 Go 语言的问题?换其他语言试试? OK,我们换 JS ..
247
2 年前
2021 年最新整理, C++ 学习资料,含 C++ 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等
本内容节选自:[链接] 有需要学习 C++ 的小伙伴们可以前往。 ** C++ 发展历程** C++ 编程语言的历史可以追溯到 1979 年,当时 Bjarne Stroustrup 为博士学位论文进行了一些开发。在 Stroustrup 可以使用的所有语言中,有一种被称为 Simula 的语言,顾名思义,它可能是一种 ..
139
1 年前
初识 Python
index count replace split startswith endswith upper lower isalpha isdigit title isalnum 列表中最大值: max(list) python 中的内置函数: max() min() del() len() sum() 用于任何数据类型 ..
93
2 年前
Frieda 的简单使用
[图片] Frida 介绍 frida 是一款基于 python + javascript 的 hook 框架,可运行在 androidioslinuxwinosx 等各平台,主要使用动态二进制插桩技术。 插桩技术 插桩技术是指将额外的代码注入程序中以收集运行时的信息,可分为两种: 源代码插桩[Source Code ..
240
2 年前
spring boot 读取项目参数配置
[图片] 1、简介 spring boot 项目启动时可以配置一些参数,我们可以通过实现 ApplicationRunner 或 CommandLineRunner 接口,并重写 run 方法来获取这些配置,如果项目内定义了多个类实现了这两个类的话,通过 @Order 注解来指定他们的执行顺序。 spring boot ..
133
2 年前
c++ mutex 的包装类
mutex 的包装类 头文件中为我们提供了三种 mutex 包装类,分别是 lock_guard,提供了基于作用域的互斥锁包装类 unique_lock,提供了支持移动的互斥锁包装类 scoped_lock,支持多个互斥锁同时上锁避免死锁的互斥锁包装类 lock_guard 示例 lock_guard 基本的用法如下 ..
134
2 年前
c++ mutex 分析
在我们写多线程程序时,有些资源需要保证在同一时间内不会被多个线程访问和操作,这时候通常的做法是使用锁,具体的,对资源进行访问与操作的代码片段被称为临界区,通过锁的锁定,使得在同一时刻,只能有一个线程执行临界区的代码,这样保证了临界区代码的互斥性和原子性。 在 C++ 中,为我们提供了互斥锁,用于对临界区的锁定,基本的定 ..
90
2 年前
SpringBoot 生成接口文档,我用 smart-doc
之前我在 SpringBoot 老鸟系列中专门花了大量的篇幅详细介绍如何集成 Swagger,以及如何对 Swagger 进行扩展让其支持接口参数分组功能。详情可见:SpringBoot 如何生成接口文档,老鸟们都这么玩的! 可是当我接触到另一个接口文档工具 smart-doc 后,我觉得它比 Swagger 更适合集 ..
272
2 年前
自定义注解式切面不生效?看完这篇你就明白了!
[图片] 日常开发中,切面的使用已经非常频繁了,而注解的方式因为其极强的便利性,也非常受欢迎。 问题产生 突然有一天,小伙伴问我说,他写了个自定义注解的切面,然后实际使用效果不生效。 主要有两个问题,自定义的注解,作用目标是类和方法,但在方法上生效在类上不生效。翻译成代码如下: 比如自定义一个注解 Zjoin,其 @T ..
4.6K
2 年前
谈 Golang http.Server 安全退出:容易被误用的 Shutdown() 方法
各位好。 Go HTTP server 安全退出是一个比较常见的需求,妥善使用可以降低发版时的服务抖动。 我在最近才发现两年多以来,我的实现一直有问题,原因是我没好好读文档 ┑( ̄Д  ̄)┍,另外 Shutdown() 这个方法的 API 设计略微有些毛刺,望文生义容易翻车。 我把我的经历写了下来,希望能抛砖引玉,欢迎 ..
277
2 年前
spring boot 项目集成 knife4j 2.0.5 并实现入参分组校验显示
[图片] 之前写过一篇:前后端分离时如何优雅的编写 API 文档 不过其中的部分配置还不够完善,本次对其进行一定的优化。 1 路径分组配置 项目中,有的路径需要登录,有的不需要登录,需要登录的接口还可能需要配置全局 header,用于传输校验使用的 token 等 这里是使用路径进行是否需要登录的匹配,其中,路径包含/ ..
347
2 年前
spring cloud gateway 配置
[图片] nacos 安装准备工作参考 spring cloud 整合 nacos 1、pom 引入依赖 主要是 spring-cloud-starter-gateway 4.0.0 cn.com.wenyl.alibaba gateway 1.0-SNAPSHOT org.springframework.boot ..
117
2 年前
Numpy 基础笔记
[图片] numpy 概述 Numerical Python,数值的 Python,补充了 Python 语言所欠缺的数值计算能力。 Numpy 是其数据分析及机器学习库的底层库。 Numpy 完全标准 C 语言实现,运行效率充分优化。 Numpy 开源免费。 numpy 历史 1995 年,Numeric,Pytho ..
110
2 年前
maven 中 filtering 的使用, 打包时排除资源目录, 以及 SpringBoot 下失效的一种情况处理
[图片] 第一种用法 SpringEL 表达式取值一般是{var}方式取值, 见于application.properties和@Value('{var}')中 maven 的 pom.xml 文件中也有类似的取值表达式, 也是通过 ${var}的方式取值 然而: 它们并不是一个东西! EL 表达式适用于配置文件及代码 ..
484
2 年前
SpringMVC 与权限拦截器冲突导致的 Cors 跨域设置失效问题
[图片] ———————————————— 版权声明:本文为 CSDN 博主「huangyaa729」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/huangyaa729/article/details/103893660 ..
191
2 年前
JAVA 给 GIF 添加水印时水印位置无法固定
使用 Java 对 GIF 图片添加水印,就是将 GIF 解析成一帧一帧的图片,然后将文字水印添加到图片上。 但是实际运行中,GIFImageReader 读取的每一帧图片尺寸不一致,导致水印位置无法固定。有什么好方法处理吗?
20
2 年前
python 如何合并两个 dict
问题场景 有时总是遇到两个 dict 需要合并的情况,按照正常的思路可能就是把 b dict 的 key 遍历出来,然后再添加到 a dict 中,但是这样做代码就不够简洁了。 解决方法 使用 dict 的 update() 方法,直接上代码 # 定义 a dict a = {'a':1} # 定义 b dict b ..
440
2 年前
pymongo 通过 "_id" 进行查找
问题场景 在使用 pymongo 通过 '_id' 进行查找时,总是没有结果。 原因在于我传入的是 string,而 pymongo 需要传入 ObjectId 才能进行查找。 解决方法 直接上代码 # 需要引入 ObjectId from bson.objectid import ObjectId # 引入后正常查找 ..
465
2 年前
javax.validation 参数校验
[图片] 参数校验往往让人心塞,各种判断匹配。基本的参数校验例如实体校验可以通过如下方法解决,但是因为我们的请求响应结果都是加密字符,需要解密后才能校验,所以在此的基础上增加第二段的方式,通过封装工具类的方法完成。 ———————————————— 版权声明:本文为 CSDN 博主「LailaiMonkey」的原创文章 ..
150
2 年前
Java 多线程介绍
运行环境与工具 jdk1.8.0 macOS 11.4 IDEA 操作系统可以在同一时刻运行多个程序。例如一边播放音乐,一边下载文件和浏览网页。操作系统将 cpu 的时间片分配给每一个进程,给人一种并行处理的感觉。 一个多线程程序可以同时执行多个任务。通常,每一个任务称为一个线程(thread),它是线程控制的简称。可 ..
127
2 年前