自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 K8s开发人员也需要了解的相关知识

K8s开发人员也需要了解的相关知识

2023-10-29 21:42:45 363 1

原创 vim高阶比较好用操作记录

在 Vim 中,标记可以帮助您记住文本的位置。标记是在文本中设置的位置,可以使用单个字符作为名称进行标识。在使用标记时,您可以将其用于定位文件中的重要位置,例如跳转到特定的行、函数、段落等。标记在 Vim 中非常有用,可以使您更有效地浏览和编辑文本。其中,di( 表示“删除内部括号”,即删除圆括号内的所有文本。da( 表示“删除包括括号”,即删除圆括号内的所有文本。diw: d[操作]、i[范围]、w[操作对象][c\d\y都同理,动作]

2023-02-15 23:12:40 289

原创 wrk压测工具使用

其他的内置变量:https://www.cnblogs.com/paul8339/p/6283279.html。官方示例脚本:https://github.com/wg/wrk/tree/master/scripts。以30个连接 压测5s用10个线程 ,超时设置为2s,打印耗时分布。

2022-10-20 19:02:59 1006

原创 dockerfile 的 RUN、CMD、ENTRYPOINT指令区别

Docker CMD、ENTRYPOINT、RUN指令的使用

2022-09-01 17:28:53 423

转载 aws s3 预签名 方式 分块上传

使用预签名 URL 对大文件进行分段上传 - AW数据增长的速度之快令人震惊。现在可以以每秒超过一百万个请求的频率收集原始数据。存储更快更便宜。几乎永远存储数据是正常的,即使它很少被访问。Traindex的用户可以上传大数据文件来创建语义搜索索引。本文将解释我们如何实现允许 Traindex 用户上传大文件的分段上传功能。问题及其解决方案我们希望 Traindex 的用户能够在最短的时间内通过适当的访问控制将大文件(通常为 1-2 TB)上传到 Amazon S3。在本文中,我将讨论如何设置预签名

2022-05-27 01:58:49 2020

原创 AWS S3 对象存储协议

S3 Simple Storage Service 简单存储服务S3理论上是一个全球存储区域网络 (SAN),它表现为一个超大的硬盘,您可以在其中存储和检索数字资产。但是,从技术上讲,Amazon 的架构有一些不同。您通过 S3 存储和检索的资产被称为对象。对象存储在存储段(bucket)中。您可以用硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform Resource Identifier,URI)查找。操作:https://b

2022-05-06 15:53:34 2694

原创 Java 生成微信扫描的二维码,跳转到指定网址,图片增加二维码及文字水印

两种场景:1、图片海报中加二维码2、二维码中间加入指定图标/** * @description 二维码控制器 */@RestControllerpublic class QrcodeController { @Autowired ResourceLoader resourceLoader; /** * todo 每个用户一张二维码,里面的信息就是邀请码或者是userid * * @param userid MREAM5 *

2022-05-03 16:32:17 3804 2

原创 KMP算法通透讲解

kmp思想:如果si 与 pj相等,就i++,j++si 与 pj不相等,j回退到next[j]例: s: abaabaabeca p:abaabe 比到index[5] char e时发现 e和a不相等,只需要回退到next[5]的位置。如何求next[] 动态规划的思想,假设已经知道了回退的位置为k。 前缀为 p0 pk-1 后缀为 p(j-k) p(j-1) 都为len k。并且根据dp思想, 如果pk = pj 前缀为 p0 pk 后缀为 p(j-k) p(j) 都.

2022-04-14 00:01:45 84

原创 python正则基本用法还有常用例子

def get_length_from_i(i_url): m = re.match(".*(http(s)?://)?i\w*?\.go2yd\.com/image(?:\.php\?url=|/)([A-Za-z0-9_]{8,60}).*", i_url) if not m: m = re.match( ".*(http(s)?:\\\\?/\\\\?/)?i\w*?\.go2yd\.com\\\\?/imag

2022-04-12 16:15:30 660

原创 2022 IDEA 不编译整个工程 只编译单个Java文件

背景:工程里面其他有好多编译报错,但是我只想当前文件编译运行不受影响。1. 编译单个的Java文件2. 更改运行配置![

2022-04-10 03:26:45 7275 4

转载 G1调优常用参数及其作用

暂停时间:用-XX:MaxGCPauseMillis来指定,默认值200ms。这是一个软性目标,G1会尽量达成,如果达不成,会逐渐做自我调整。对于Young GC来说,会逐渐减少Eden区个数,减少Eden空间那么Young GC的处理时间就会相应减少;对于Mixed GC,G1会调整每次Choose Cset的比例,默认最大值是10%,当然每次选择的Cset少了,所要经历的Mixed GC的次数会相应增加。同时减少Eden的总空间时,就会更加频繁的触发Young GC,也就是会加快Mixed GC的执行.

2022-03-25 15:23:49 704

原创 Java开发常见知识[方便开发或者一些常见的坑]

BeanUtils.copyProperties(packedDTOS.get(0), docContent)Bean拷贝实体类的属性可以避免很多赋值,但是注意在dest元素有值的时候,不要覆盖。likeBOs != null && !likeBOs.isEmpty() 。List判空缩写等价于 !CollectionUtils.isEmpty(likeBOs)常识: 空指针异常在很多语言中,都是运行时异常,注意判空。要不后面测试或者上线的时候就是灾难。在哪一层判空,在Contr.

2022-03-04 03:36:18 282

原创 Arrays.asList()使用及缺陷

Arrays.asList() 返回的List是一个残疾版的ArrayList[内部的一个静态类]。不能插入和删除。 但是这个list跟原本的数组关联,是同一个引用。底层是一个定长数组。使用ArrayList包装一下List list = new ArrayList<>(Arrays.asList(1,2,3));Google Guava等工具包提供了Lists类,比如 guava的newArrayList方法。guava的其他使用https://www.cnblogs.co

2022-03-04 02:43:10 196

原创 通俗易懂解释函数式编程

所谓函数式编程,是指代码中每一块都是不可变的(immutable),都由纯函数(pure function)的形式组成。这里的纯函数,是指函数本身相互独立、互不影响,对于相同的输入,总会有相同的输出,没有任何副作用[就算传进来一个引用也不会改变这个引用,而是新创建一个返回]。map\reduce\filter\sortedmap,对列表中每一个元素按照传入函数做运算。reduce,对列表中两个元素按照传入函数做合并运算,如求1-5累加,reduce(lambda x,y:x+y, range(1,6)

2022-01-09 20:46:41 533 5

原创 一、golang原理篇---从源代码文件到可执行文件过程发生了哪些事情?

1. compile源代码【本文的go代码为1.16,更高版本的可能文件差别很大】https://github.com/golang/go,golang源代码中路径为src/cmd/compile的包即为compile的全部代码,承担了将golang从.go文件编译成为二进制可执行文件的全部过程。src/cmd/compile/main.go即为编译器程序的入口文件。func main() { // disable timestamps for reproducible output log.

2022-01-01 16:13:50 853

原创 go get 更改密码 权限错误 git ls-remote -q origin in terminal prompts disabled

GIT_TERMINAL_PROMPT=1 go get -u github.com/aaa/aaa

2021-12-15 20:07:22 2258

原创 springboot整合 数据框架springjdbc、mybatis、jpa and druid 连接池 and http请求 httpclient、resttemplate

总目录1.数据库连接1. 原始的jdbc2. spring封装的jdbc3. orm框架:3.1 mybatis3.2 spring data jpa3.3 hibernate4.连接池:4.1 c3p0连接池4.2 druid连接池4.3 hikari连接池2. http请求1. jdk原生的client2. httpclient3. resttemplate4. feign1.数据库连接1. 原始的jdbc2. spring封装的jdbc3. orm框架:3.1 mybatis3.2 spr

2021-12-14 12:14:19 1304 4

原创 node axios发送post请求 multipart/form-data

const FormData = require('form-data');const axios = require('axios');let mydata = new FormData();mydata.append('pic', "");mydata.append('timestamp', '123');mydata.append('signature', '2233');mydata.append('extend', "1233434");axios({ method:

2021-11-24 10:26:44 2424 1

原创 sarama kafka消费问题记录

发现lag不会同步要隔很长一段时间或者量到一定才会同步。发现是没有途中那个同步偏移量的操作,然后消费的时候没有,session不知道groupid。加入这一行重新启动拉取最新的偏移量,但是其实业务里面已经消费过了。所以功能上是没有问题的。问题:为什么没有同步偏移量,消息消费的时候没有一直重复拉取旧的消息重复消费。...

2021-11-16 19:43:56 1543

转载 mongo查询总结及python调用mongo

目录1.mongo查询总览1.1 基础查询1.2 条件查询1.2.1 比较查询1.2.2 关联查询1.3 特定类型的查询1.3.1 null查询1.3.2 正则表达式1.3.3 数组查询1.3.4 内嵌文档查询1.4 $where查询1.5 游标1.5.1 limit,skip和sort1.5.2 高级查询选项1.5.3 游标内幕1.6 总结2.py查询示例1.mongo查询总览1.1 基础查询db.col.find({}, {“name”:1})1.2 条件查询1.2.1 比较查询$lt,$l

2021-10-12 11:40:02 822

原创 docker [export\import]容器导出与从另一个机器导入为镜像并运行

(common) ➜ [/Users/admin/yidian/script-tool/dk/dockerfile-py] docker export 9d88c87a0ab0 > ./warning_kafka_py.tar (common) ➜ [/Users/admin/yidian/script-tool/dk/dockerfile-py] docker import ./warning_kafka_py.tar warn_test sha256:7b52f33ff4785f

2021-10-10 02:16:44 308

原创 nc传输文件 close: Bad file descriptor 解决

文件接收者:$ nc -l 9878 > upload-web.jarclose: Bad file descriptor$ ls -ltotal 0-rw-rw-r-- 1 worker worker 0 Oct 8 19:36 upload-web.jar$ nc -4 -l 9878 > upload-web.jar$ lsupload-web.jar文件上传者:$ nc --send-only 11.11.123.423 9878 < upload-we

2021-10-08 19:42:10 1026

原创 完美解决go语言 mac m1 适配及调试器问题 idea can not run under Rosetta

1.下载对应版本的idea、或者goland。下载名后面有aarch64这种。2.go语言1.16才开始支持arm架构,所以要升级go语言的版本至少是1.16.【但是amd64我也试过,除了调试器之外没有发现其它问题】下载地址:https://golang.org/dl/3.如果还是不行的话,试试这个https://zhuanlan.zhihu.com/p/378979277...

2021-10-08 16:34:05 2862

原创 浅入不出设计模式---1、概览

1. 设计模式分类从范围上分为两类:类[通过对象关系建立,编译时就确定下来的] (几乎所有模式都用了继承,所以类模式只指那些集中于处理类间关系的模式)对象[在运行时可以变化,更具有动态性]从使用场景分为三类:创建型[类模式将对象的部分创建工作延迟到子类,对象模式将对象的部分创建延迟到另一个对象中]、结构型[类模式使用继承组合类,对象模式描述了对象的组装方式]、行为型[类模式使用继承描述算法和控制流,对象模式描述了一组对象怎样协作完成单个对象无法完成的任务]2. 设计模式之间

2021-10-03 14:19:17 50

原创 golang go mod依赖冲突 排查

https://tonybai.com/2019/12/21/go-modules-minimal-version-selection/

2021-09-23 10:30:07 1997

原创 golang go get 报错 fatal: could not read Username for ‘: terminal prompts disabled

这个错误是因为go get默认使用的git账户密码,更改了导致仓库的包拉不下来,但是 go get不会让重新输入密码,直接报错解决方案:export GIT_TERMINAL_PROMPT=1然后再拉包就会中断了,输入账户名密码即可。...

2021-09-17 20:14:38 1579 3

原创 golang目录分层规范

博主之前是做Java的,然后转go来写应用之后,还用原来那一套mvc的思维来分级,放置源文件组织程序。然后发现很多问题。Java是用类的角度来寻找调用方法的,而Go是按照包[目录]的角度,如果和Java一样MVC,三个包下面都放置很多不同业务的不同类时,写代码[看代码]的时候就会发现一个包下面的方法过多。然后包的作用也过于混乱或者笼统。建议的方式,把MVC,相同业务的Controller、View、Model放在一个以业务命名的包里面。[总的来说,在Go里面建议像Java很多类一样,多弄一些包]..

2021-09-16 11:12:26 736

原创 sync.Pool

https://www.zhihu.com/question/455751727/answer/1847171670https://zhuanlan.zhihu.com/p/76812714

2021-09-14 11:51:53 52

原创 Java日志框架 总结 slf4j、log4j、logback

Java日志技术1.日志的概念1.1 日志文件种类调试日志系统日志2.Java日志框架2.1 为什么要使用日志框架软件复杂,设计的知识、内容、为题太多。小系统不需要使用日志框架, 使用别人的框架你就可以集中精力完成系统的业务逻辑。2.2 流行的日志框架[日志门面技术]日志门面技术,就是面向接口编程。多种日志框架无缝切换。[类似JDBC]冷门:JCL是门面技术但也提供了实现,slf4j也提供了实现但是也不用。log4j是实现技术但也提供了门面API但是一般也不用 。2.

2021-09-12 23:05:13 494

原创 leetcode练练语法-----59. 螺旋矩阵 II

func generateMatrix(n int) [][]int { ans := make([][]int, n) for i := range ans { ans[i] = make([]int, n) } // 定义各个边界 l,r,t,d := 0,n-1,0,n-1 curV := 1 // 表示当前行动到的地方 max := n*n for curV <= max{ for i:=l;i<=r;i++ { ans[t][i] = curV c

2021-09-05 21:30:39 55

原创 docker 搭建 kafka集群,基本操作,及查询lan值[消息积压][python脚本 ]

version: '3.0'services: zoo1: image: zookeeper:3.4.12 container_name: zoo1 ports: - "2181:2181" volumes: - "/Users/docker/data/zookeeper/zookeeper1/data:/data" - "/Users/docker/data/zookeeper/zookeeper1/datalog:/datalog

2021-09-02 11:41:56 271

原创 Session 0x0 for sever , Closing socket connection. Attempting reconnect except it is a SessionExpire

解决方案:换版本号,我测试的么问题的版本号3.4.12背景:使用dockerfile镜像搭建Kafka集群时,里面zookeeper集群连接测试时报了上述的错误,然后网上找了很长时间,通过https://issues.apache.org/jira/browse/ZOOKEEPER-3828这个issue找到了解决方案。连接测试,一直报错(base) ➜ [/Users/admin] docker run -it --rm \ --link zoo1:zk1 \

2021-08-30 00:46:30 7185 3

原创 发展有感记录

中午同事几个去伟哥家happy[伟哥的手艺有点可以],听大佬[大家确实都是比较????的同事]在这里吹牛逼确实感觉有很多收获,但是具体的话也说不出来有什么收获。大概在这里记录一下。羡慕伟哥,工作跟家庭都特别美满[我们原来也能这样],但是确实感觉伟哥特别值得这么好的[性格和人都真的可以,哈哈]。吃饭中聊到职场里面的各种看钱、跟着一个靠谱的领导[国内其实去哪里其实区别并不大]。毁掉一个人最好的方式就是让他忙起来[把活分给下面并做更有意义的,或者向上提高]。在哪里都特别卷,比你位置高的人基本上也得

2021-08-28 18:31:57 76 1

转载 golang 性能分析工具 pprof总结

程序运行时主要关注的四个方面CPU占用内存占用死锁协程信息一、 嵌入应用收集数据1. 一次性执行应用// cpu f, err := os.Create(*cpuprofile)pprof.StartCPUProfile(f)defer pprof.StopCPUProfile()// memf, err := os.Create(*memprofile)pprof.WriteHeapProfile(f)f.Close()2.后台应用[如果是http应用就直接添加

2021-08-22 21:43:53 762

原创 golang slice和map源码分析,以及make、扩容的区别

// runtime/slice.gotype slice struct { array unsafe.Pointer len int cap int}func makeslice(et *_type, len, cap int) unsafe.Pointer// growslice handles slice growth during append.// It is passed the slice element type, the old slice, and the d

2021-08-20 14:02:59 226

原创 大学落幕,总结、计划和未来

想写这篇文章很长时间了,一直拖到现在,前段时间伟哥给推荐了极客时间左耳听风的专栏,看了前几篇感触很深,所以刚好趁着规划一下下面几年。立秋几天了,今天又下起了雨,今年夏天的雨像大二那年一样多。今年夏天:有幸转go并且逃离了业务开发并且遇到了我那几个哥[我不知道我为什么这么幸运,从去年安恒的龙哥波哥,到今年的,哈哈]、做了大学四年不敢做的事情[在地方学校里面弹唱喜欢的歌,虽不完美但不遗憾]、与室友告别[害,大家大四没有大一大二那味儿了,不尽兴]、家乡暴雨等等。大学先对大学做个总结吧,虽不完美,但不遗.

2021-08-15 00:01:47 136

原创 request请求头总结

回忆一下html原生的form表单提交。不带文件的form表单 默认是 application/x-www-from-urlencoded<form method="post" id="create_form" action="">带文件的form表单<form method="post" id="create_form" action="" enctype="multipart/form-data">Host: beacon.tingyun.comUser-Agen

2021-08-12 15:54:55 1359

原创 编程语言分类

编译时就知道变量类型的是静态类型;运行时才知道一个变量类型的叫做动态类型。不允许隐式转换的是强类型,允许隐式转换的是弱类型。编译型。编译型语言,目标计算机以编译语言直接翻译程序。而对于解释型语言,源代码不会直接由目标计算机翻译,而是由 另一个 程序(即解释器)读取并执行代码。详细:https://www.zhihu.com/question/420516398...

2021-08-03 14:33:56 48

原创 golang测试快速上手【表格驱动、覆盖率、性能、http、gin测试】

1. 表格驱动测试测试数据与逻辑分离出错信息可以自己diy【而不是简单的像Java那样期望得到,实际得到】跑完所有的测试数据才会停func TestGoT(t *testing.T) { tests := []struct { name string in1 string in2 int res string }{ {"test1", "biturd", 1, "biturd1"}, {"test2", "biturd", 2, "biturd2"}, {

2021-08-03 00:12:42 284

原创 Gin数据绑定[http请求体解析]

Gin数据绑定[http请求体解析]【Get、Post各种请求体的解析】1. 元信息Set、Get、MustGet、GetXXX[GetInt、GetTime]⭐️ 主要数据// Query DefaultQuery GetQuery 下面每一个方法都这三种。【主要的】 c.Query() // GET /path?id=1234&name=Manu&value= // GetPostForm is like PostForm(key). It returns the s

2021-07-25 22:27:29 722

空空如也

空空如也

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

TA关注的人

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