- 博客(131)
- 资源 (9)
- 收藏
- 关注
翻译 数据迁移的几种方案
这篇文章讲一下数据迁移的几种方案,也是鞭策一下自己不管环境什么样,一定要坚持学习,提升自己的能力才是王道,立贴为誓,本周日之前会写完本篇文章。
2024-11-01 16:29:11
818
1
原创 golang学习之七:for 语句的常见“坑”与避坑方法
1.凡是用到for-range的地方一定要小心2.凡是用到闭包的地方,参数取值或传参一定要小心3.go方法的本质,也就是 一个以方法的receiver参数作为第一个参数的普通函数4.for-range的时候,如果调用闭包千千万万要看清在将函数注册到函数栈上时有没有注册参数:若有:则注意参数的类型是指针还是非指针。若没有:那么函数运行时,就找闭包函数之外的变量运行了,注意此时变量的值。
2023-07-23 15:39:56
1525
1
原创 记一次线上kafka造成的事故
比如,当前生产者的offset为1000,消费者的offset为100,此时想要直接消费offset为1000的数据,然后修改消费者端的offset为1000,然后消费者提交了1000,但是消费者还在继续消费啊,下次消费完就又向生产者提交了自己的offset101了,于是就又消费了老的数据。方案2:mysql的删除操作为持续操作一直在进行,被删除的数据一直在向kafka中生产,即使重置offset也无法解决问题。但是重置offset需要先关闭消费组消费,最好kill 掉,或者重新换个消费组。
2023-07-07 19:09:40
1055
原创 2023
生活真的很奇妙,上个实习生昨天正式入职,现在的实习生昨天刚结束实习离开公司,同一天且相差不过几分钟,感觉真的很奇妙,像是一个循环,从他们身上也看到了很多自己当年的影子,勤奋,努力,还卷(哈哈哈,我远没有他们卷)。2023过去一半了,也给自己定2个小目标吧,还一还自己欠下的技术债…1、关于工作:一定要善于总结,好记性不如烂笔头,把自己趟过的坑写个博客记下来,下次遇到问题就可以很快的有解决方向。2、关于欠债:出来混,迟早是要还的,只要一天还在这个圈子里,那些年欠下的数据结构和算法设计,迟早是要还回来的。
2023-07-04 11:44:19
319
转载 并发编程-信号量的使用方法和其实现原理
信号量是并发编程中常见的一种同步机制,在需要控制访问资源的线程数量时就会用到信号量,关于什么是信号量这个问题,我引用一下维基百科对信号量的解释,大家就明白了。
2022-09-07 00:03:00
980
原创 golang学习之八:并发编程基础(goroutine、channel、select)
这里写目录标题协程goroutine创建协程主协程退出,其它协程也都退出主协程先退出导致其它子协程未来的及调用runtime包Gosched(写在哪个协程里,哪个协程就让出cpu时间片)Goexit(写在哪个协程里,就终止哪个协程执行)GOMAXPROCS(设置可并行计算的CPU核数的最大值,并返回之前的值)协程goroutinegoroutine是Go并行设计的核心。goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些
2022-07-31 22:43:57
1478
原创 golang的timer的一些坑
golang的timer的一些坑最近项目有一些定时任务的需求,如每天的早上10:00:00定时的去执行一些任务。但是我遇到了一些问题,就是我定时10:00:00去执行,但是这个定时器疯狂的翻滚停不下来了,代码如下package mainimport ( "fmt" "time")func main() { //每天10:05 通报昨日报警数量统计 go func() { for { // 定时器会一直执行 now := time.Now() // 计算明天的时间
2022-04-02 15:14:06
1607
2
原创 vscode里拉取golang项目,点击函数名跳转不到函数定义
vscode里拉取golang项目,点击函数名跳转不到函数定义1、在项目根目录下打开比如你在a文件夹下拉取项目go_project,那么要点击go_project,然后选择在vscode里打开2、打开项目在项目的.vscode文件夹里编辑settions.json,配置如下{ "go.inferGopath": false}或者改成如下配置(未测试):export GOROOT=/usr/local/goexport GOPATH=/root/goexport GOPROXY=
2022-03-17 16:19:39
2865
转载 golang学习之三:Go语言切片面试真题8连问
Go语言切片面试真题8连问01. 数组和切片有什么区别?02. 拷贝大切片一定比拷贝小切片代价大吗?03. 切片的深浅拷贝04. 零切片、空切片、nil切片是什么零切片nil切片空切片05. 切片的扩容策略07. 参数传递切片和切片指针有什么区别?08. range遍历切片有什么要注意的?总结原文链接:传送门01. 数组和切片有什么区别?Go语言中数组是固定长度的,不能动态扩容,在编译期就会确定大小,声明方式如下:var buffer [255]intbuffer := [255]int{0}
2022-03-10 13:32:18
678
原创 golang学习之二:切片slice
、golang切片slice创建、切片与数组的区别、切片截取、切片与底层数组关系、切片内建函数append、copy、切片做函数参数
2022-03-09 00:17:10
1585
转载 Go 互斥锁(sync.Mutex)和 读写锁(sync.RWMutex)
Go 互斥锁(sync.Mutex)和 读写锁(sync.RWMutex) 什么时候需要用到锁?互斥锁(sync.Mutex)读写锁(sync.RWMutex)互斥锁和读写锁的性能对比1)使用互斥锁:2)使用读写锁结论关于互斥锁的补充关于读写锁的补充什么时候需要用到锁?当程序中就一个线程的时候,是不需要加锁的,但是通常实际的代码不会只是单线程,所以这个时候就需要用到锁了,那么关于锁的使用场景主要涉及到哪些呢?多个线程在读相同的数据时多个线程在写相同的数据时同一个资源,有读又有写互斥锁(syn
2022-03-01 20:06:15
874
转载 [HTML] 完美解决vscode在style中没有代码提示的问题
原文链接:https://www.jianshu.com/p/7fdcb29080da正文最近因为工作需要开始着手使用vscode, 发现在写行内样式时并没有代码提示,怎么解决呢?答: 一般都移动一下光标之后再继续写就能有代码提示了. 效果如图之后一定有很多人不愿意这样做, 然后开始在网上搜解决方案.我们最常看到的答案是这样的:"editor.parameterHints": true,"editor.quickSuggestions": {"other": true,"comment
2022-02-10 11:15:29
6100
3
原创 goalng打包:missing dot in first path element
go项目打包编译的时候出现一下问题,收钱说是啥go-log missing dot in first path element,但是我项目中确实没有引用这个包,后来发现是sql-builder这个依赖里引用了这个包后,也是很无语,然后又出现其他问题如下图所示是toml的问题,搞了一整天,也没弄明白,后来是同事曹大神给解决掉了,再次感谢。原因,项目里我的配置文件用了toml格式的文件。高版本的toml文件需要高版本的golang配合才行。比如golang1.16.0配合使用github.com/Burnt
2022-01-21 22:48:03
1907
原创 vue-element-template登录后带参数自动跳转到url所指向的页面,退出登录再次点击登录自动跳转到上次退出的页面
vue-element-template登录后带参数自动跳转到url所指向的页面vue-element-template登录后带参数自动跳转到url所指向的页面,退出登录再次点击登录自动跳转到上次退出的页面由于使用的是vue-element-template框架,想要实现我在地址栏访问页面b,此时未登录,然后它自动跳转到登录页面,点击登录,登录成功之后自动跳转到b页面并且带着原有的参数。第一步修改src/permission.js,在该
2022-01-12 12:08:01
2945
转载 dial tcp: lookup xxx.com on 8.8.8.8:53: no such host
dial tcp: lookup xxx.com on 8.8.8.8:53: no such host搞了好长时间没弄出来,看了一篇博客顺利解决问题,一看作者,竟然是涛哥。。。果然厉害。原文链接:https://blog.csdn.net/stpeace/article/details/106875395
2022-01-06 19:19:59
5696
原创 mac上gitclone出现password: Permission denied, please try again.
gitclone出现password: Permission denied, please try again.问题分析解决情况1:git地址为http协议:http://xxx.git情况2:git地址为git协议:git@git.xxxxx.com:abc/xxx.git总结问题在mac上拉取项目出现一下问题,然后我输入密码还是这样的提示。password: Permission denied, please try again.分析解决情况1:git地址为http协议:http://xxx
2022-01-05 22:41:10
7591
原创 go读取静态文件.html、css、js404问题
go读取静态文件.html、css、js404问题简单项目的静态资源404问题vue-element-template打包生成的静态资源404问题本篇博客分两种情况来解决golang项目访问静态资源404问题,第一种是自己将静态页面手动创建或者复制到golang项目中。第二种情况是采用第三方框架vue-elementui-template打包生成的文件静态资源404问题简单项目的静态资源404问题问题运行golang项目后,打开index.html页面后各种js、css加载404问题。不多比比,直
2021-12-27 18:35:18
3592
原创 go语言中,main函数调用其它文件夹下的函数
需求,main.go调用httpServer.go下的Start方法。结构目录:main.go中import 需要引用的文件路径package mainimport ( "fmt" // 这里的路径开头为项目go.mod中的module "engine_stability_platform/src/app/httpServer") func main() { fmt.Println("main.....") httpServer.Start()}go.mod这里要注意
2021-12-27 14:39:08
7020
1
原创 go并发编程之一:并发与并行的区别、go语言并发优势
这里写目录标题并发与并行的区别并发并行go语言并发优势进程与线程线程与协程线程与协程的通俗说明goroutine和协程的区别并发与并行的区别并发并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。并行并行(parallel)::在同一时刻有多条指令在多个处理器上同时执行。例子:并发是两个队列交替使用一台咖啡机并行是两个队列同时使用两
2021-12-23 01:08:33
884
原创 mac下安装brew
直接在终端输入一下命令https://blog.csdn.net/yuanshangshenghuo/article/details/106599836参考文章:https://blog.csdn.net/yuanshangshenghuo/article/details/106599836
2021-12-16 15:07:25
82
转载 git clone 遇见问题:fatal: unable to update url base from redirection:
在使用git clone时遇见unable to update url base from redirection:问题,解决方法:1.使用账号和密码正确登录github2.使用以下命令查看用户名,邮箱是否正确$git config user.name --->查看用户名 $git config user.email --->查看邮箱 $git config --global credential.helper store -->会生成一个.gitconfig文件用来保存
2021-10-09 10:55:37
16471
原创 并发编程之七:java内存模型(JMM)、volatile
java内存模型JMMjava内存模型原子性可见性解决共享变量可见性问题(volatile、synchronized)可见性vs原子性终止模式之两阶段终止模式(volatile实现)同步模式之Balking(犹豫)同步模式之Balking(犹豫模式)应用场景有序性volatile原理**1、如何保证可见性(读、写屏障)****2、如何保证有序性**double-checked locking问题学习java内存模型,主要解决的问题是:多个线程并发访问时的原子性、可见性、有序性。在上一章已经学习过了Mon
2021-07-22 13:28:39
425
2
原创 并发编程之六:ReentrantLock线程活跃性问题(死锁、活锁、饥饿),线程执行顺序
并发编程之六:死锁线程的活跃性多把锁(细粒度的锁)死锁三级目录线程的活跃性活跃性:线程的代码是有限的,但是由于某些原因线程的代码一直执行不完。如死锁。活跃性包括3种现象:死锁、活锁、饥饿。多把锁(细粒度的锁)我们前几篇博客都是使用一把锁,这样会有一些并发度上的问题。多把不相干的锁栗子:-间大屋子有两个功能:睡觉、学习,互不相干。现在小南要学习,小女要睡觉,但如果只用一间屋子(- 个对象锁)的话,那么并发度很低就变成了串行的,但是小南学习与小女睡觉是完全不影响的,串行显然不是太好。解决方法是
2021-07-20 13:58:11
1087
原创 并发编程之五:synchronized底层原理、monitor、轻量级锁、偏向锁、wati/notify/notifyAll、join、状态转换
并发之共享模型之:管程synchronized底层原理Monitorjava对象头monitor(锁)synchronized原理进阶小故事轻量级锁膨胀锁wait/notify线程状态转换活跃性Locksynchronized底层原理我们从底层原理来分析synchronized,进一步的了解它。下面的内容会非常的枯燥和无聊,想要学习上乘武学就得耐得住枯燥、无聊和寂寞。Monitor学习Monitor之前我们先了解以下java对象头,后面我们会用到java对象头里的知识。java对象头通常我们的
2021-06-29 11:22:16
836
2
原创 logstash7.0.1将数据从mysql5.7同步至es7.0.1大数据量下同步慢的问题
首先我们分为两种情况全量导库:以主键id的方式写sql语句分页导入es增量倒库:按数据修改时间的时间字段进行到库情况1:原因:如果我们按修改时间的字段来进行全量倒库,那么logstash的sql语句在大数据量的时候会非常慢,因为logstash在我们的sql之外又套了一层如:logstash里的mysql.conf文件里的sqlSELECT * FROM article_lib WHERE update_time >= '2021-01-01 10:06:00'但是logstash执行
2021-05-24 15:54:12
1830
原创 并发编程之四:并发之共享问题、线程安全、synchronized关键字
4.共享模型之管程本章内容·共享问题synchronized·线程安全分析Monitorwait/notify·线程状态转换·活跃性Lock解决并发的两种思路,共享、非共享
2021-03-27 15:10:10
1074
原创 logstash从mysql向es同步数据报错:retrying failed action with response code: 403 ({“type“=>“cluster_block_exce
logstash从mysql向es同步数据报错:retrying failed action with response code: 403 ({"type"=>"cluster_block_excelogstash.outputs.elasticsearch] retrying failed action with response code: 403 ({"type"=>"cluster_block_exception", "reason"=>"blocked by: [FORB
2021-01-12 10:52:04
1424
原创 并发编程之三:线程状态
线程状态线程的五种?六种状态?五种状态(从操作系统的层面描述)线程的五种?六种状态?五种状态(从操作系统的层面描述)线程的五种状态
2020-12-04 20:01:57
279
原创 并发编程之二:线程创建方法、运行原理、常见方法(sleep,join,interrupt,park,守护线程等)
线程创建方法、运行原理线程的创建方法继承Thread实现RunnableFutureTask线程的运行原理栈与栈帧线程运行情况线程的上下文切换(Thread Context Switch)线程中的常见方法start与runsleep与yield线程的创建方法继承Thread/** Thread */ public static void test1 () { // 创建线程 Thread thread = new Thread("某将"){
2020-11-29 23:28:07
884
原创 logstash7.0.1将mysql5.7.1数据库数据同步至elasticsearch7.0.1
logstash:7.0.1mysql:5.7.1elasticsearch:7.0.1mysql插件:mysql-connector-java-5.1.18.jar同步方式按照数据库的时间字段来进行同步遇到了太多的坑,这里记录一下配置文件input { jdbc { jdbc_driver_library => "/root/logstash7.0.1/mysql-connector-java-5.1.18.jar" jdbc_driver_class => "
2020-11-10 11:15:21
766
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人