自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

如雨随行的博客

记录些问题

  • 博客(171)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 【算法】KMP-快速文本匹配

字符串s的next数组为int数组,长度等于s的长度。next[i]表示在s中下标i之前子串的前缀和后缀的最大匹配长度(不包含整体)以字符串"aabaabs"为例。

2024-03-28 01:12:06 303

原创 【算法】pdqsort

pdqsort(Pattern-defeating quicksort)是一种融合插入排序堆排序和优化后的快排的新型排序算法,rust和go1.19中采用;

2023-03-29 01:18:34 378 1

原创 【Go】cron时间格式

简单学习cron的时间格式

2023-03-10 23:40:27 573

原创 【Go】GORM手册(一)

GORM基本使用

2023-03-10 23:19:31 309

原创 【算法】斐波那契数列通项公式

斐波那契数列

2022-12-14 01:28:02 2092

原创 【Go】单例模式与Once源码

单例模式,Sync.Once源码

2022-11-30 22:12:32 359 1

原创 【Go】性能分析

性能优化

2022-11-20 16:42:23 171

原创 【Go】条件编译

多标签:一个源码文件可以包含多个构建标签。是 Go 1.17 中引入的新条件编译指令格式。为何要采用新的格式呢?可以添加编译标签,以满足不同场景不同编译的需求。设置tags,避免编译器报错。

2022-11-20 16:40:59 245

原创 【Go】随笔(1)

channel必须先初始化再使用

2022-11-20 16:40:31 60

原创 【Go】单元测试

单元测试

2022-11-20 16:39:13 171

原创 【Vim】学习笔记(7)宏

五五五五

2022-08-06 20:49:08 93

原创 【Linux】终端用户名颜色高亮

终端用户名高亮修改.bashrc文件;在最后加上//设置u为颜色为紫色,@为紫色,h为紫色,“:”为红色,w为蓝色,“$”为绿色,后面打出来的字为白色PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;1m\]\u\[\033[00;35;1m\]@\[\033[01;35;1m\]\h\[\033[00;31;1m\]:\[\033[00;34;1m\]\w \[\033[01;32;1m\]\$ \[\033[0;37;1m\]'手动加载.b

2022-05-28 23:52:09 798 1

原创 【网络】fiddler

1. 跳过证书检查2. websocket数据解压在图中位置添加代码if (oSession.RequestHeaders.ExistsAndContains ("Sec-WebSocket-Extensions", "permessage-deflate")) { oSession.RequestHeaders.Remove ( "Sec-WebSocket-Extensions"); }.........

2022-05-28 23:51:11 100

原创 【Go】自定义json序列化

一、忽略字段我们知道,通过tag,可以有条件地实现定制Go JSON序列化的方式,比如json:"abc,omitempty", 当字段的值为空的时候,我们可以在序列化后的数据中不包含这个值,而json:"-"可以直接不被JSON序列化,如果想被序列化key-,可以设置tag为json:"-,",加个逗号二、改变一个字段显示有下面这个结构体type MyUser struct { ID int64 `json:"id"` Name string `json:"n

2022-05-28 23:24:14 1819

原创 【圆锥曲线】双曲线

定义与方程1. 定义到两定点F1(−c,0),F2(c,0)(c>0)距离之差的绝对值等于定值2a的点的轨迹即为双曲线到两定点F_1(-c, 0), F_2(c, 0)(c>0)距离之差的绝对值等于定值2a的点的轨迹即为双曲线到两定点F1​(−c,0),F2​(c,0)(c>0)距离之差的绝对值等于定值2a的点的轨迹即为双曲线2. 标准方程x2a2−y2b2=1\frac{x^2}{a^2}-\frac{y^2}{b^2}=1a2x2​−b2y2​=1性质和结论1. 离

2022-05-23 00:56:49 213

原创 【Go】sql拼接库

sql拼接库在一些web项目开发中,涉及到数据库操作,使用原生的sql或者接近原生的sqlx,会有大量的sql语句,又丑又难维护。而类似于gorm这样的ORM框架又太笨重了。下面介绍的这个库就介于原生和ORM框架,用这个库可以对sql语句和参数进行动态拼接https://github.com/elgris/sqrl // 线程不安全这个库是从另外一个库fork的https://github.com/Masterminds/squirrel // 线程安全两者的区别是,前者是线程不安全,后者是

2022-04-19 02:10:12 1781

原创 【Go】sqlx操作

sqlx使用指南安装sqlxgo get -u github.com/jmoiron/sqlx基本使用连接数据库var db *sqlx.DBfunc initDB() (err error) { dsn := "user:password@tcp(127.0.0.1:3306)/sql_test?charset=utf8mb4&parseTime=True" // 也可以使用MustConnect连接不成功就panic db, err = sqlx.Connect("mysq

2022-04-19 02:09:14 958

原创 【圆锥曲线】抛物线

一、定义与方程定义:到定点F(p2,0)和直线x=−p2距离相等的运动轨迹,F点被称为焦点,直线被称为准线定义:到定点F(\frac{p}{2},0)和直线x=-\frac{p}{2}距离相等的运动轨迹,F点被称为焦点,直线被称为准线定义:到定点F(2p​,0)和直线x=−2p​距离相等的运动轨迹,F点被称为焦点,直线被称为准线方程:y2=2px方程:y^2=2px方程:y2=2px二、切线方程已知抛物线方程:y2=2px以及曲线上一点P(x0,y0),求过P点的切线方程已知抛物线方程:y^2=2

2022-03-11 23:33:51 675

原创 【圆锥曲线】椭圆

一、椭圆定义与标准方程1. 椭圆定义椭圆定义:到两顶点距离之和为定值的曲线椭圆定义:到两顶点距离之和为定值的曲线椭圆定义:到两顶点距离之和为定值的曲线2. 标准方程标准方程:x2a2+y2b2=1标准方程:\frac{x^2}{a^2}+\frac{y^2}{b^2}=1标准方程:a2x2​+b2y2​=13. 证明等价为了方便计算,从定义到标准方程,即证明:到两点F1(−c,0),F2(c,0)距离之和为定值2a的运动轨迹满足方程:x2a2+y2b2=1(b2=a2−c2)证明:

2022-03-11 23:32:57 1092

原创 【圆锥曲线】圆

一、切线方程问题如图:点M(x0,y0)在圆x2+y2=r2求:过M点的切线l如图:点M(x_0,y_0)在圆x^2+y^2=r^2\\求:过M点的切线l如图:点M(x0​,y0​)在圆x2+y2=r2求:过M点的切线l解法一因为OM⊥l,所以kOMkl=−1kOM=y0x0,可求出kl=−x0y0因此切线方程为y−y0=−x0y0(x−x0)化简可得y0y−y02=−x0x+x02y0y+x0x=x02+y02=r2因为OM\perp{l},所以k_{OM}k_l=-1\\k_{OM}=\fra

2022-03-11 23:20:39 216

原创 【Vim】学习笔记(二)光标移动

文章目录一、方向移动二、单词跳跃三、行间跳转四、find跳转一、方向移动二、单词跳跃只需要记住b、e就足够了,w和ge都可以用b、e组合得到,w=bb/b、ge = bbe/be三、行间跳转一般不用0,而是使用^四、find跳转f只能在当行t和T一般很少用到,可以仅使用f、;、,和少量的F...

2021-10-04 19:05:05 94

原创 【Vim】学习笔记(一)模式切换

文章目录一、插入模式1. 普通模式==>插入模式2. 插入模式==>普通模式二、可视模式1. 普通模式==>可视模式2. 可视模式==>普通模式三、命令模式在Vim中,普通模式相当与桥梁,所有模式都是可以和普通模式互相切换,下面介绍各种模式与普通模式的转换一、插入模式1. 普通模式==>插入模式2. 插入模式==>普通模式esc/ctrl+[二、可视模式1. 普通模式==>可视模式2. 可视模式==>普通模式三、命令模式...

2021-10-04 18:31:48 233

原创 【Cmder】设置默认打开目录

文章目录打开设置win + alt + p选择Startup-Task,修改{cmd::Cmder}项把*cmd /k "%ConEmuDir%\..\init.bat" -new_console:d:%USERPROFILE%修改为cmd /k "%ConEmuDir%\..\init.bat" -new_console:d:D:\

2021-09-30 00:39:29 519

原创 【Linux】学习笔记

文章目录--help软链接pwd -P修改文件权限查看磁盘使用查看当前目录占用空间查看系统状态–help–help可以查看命令帮助man + 命令和info + 命令也可以软链接当前路径创建test 引向/var/www/test 文件夹ln –s /var/www/test test删除软链接和删除普通文件是一样的,rm test // 不要 rm -rf test/千万不要在test后面加/pwd -P如果使用软链接,pwd默认是"-L"会显示软链接的路径,要真实路径就使用

2021-09-30 00:03:41 69

原创 【window】显示最近应用

文章目录问题解决问题当win+r打开运行时,期望是可是显示上次运行的应用,但是,现在却没有解决将 设置>个性化>开始 里面的显示最常用的应用打开就可以但是这里的按钮是灰的将 设置>隐私 里面的允许windows跟踪。。开启即可...

2021-09-29 22:19:26 146

原创 【Java】协变与逆变

文章目录一、定义二、数组协变,泛型不变1. 数组的协变性2. 泛型的不变性3. 泛型有界的副作用\<? extends T>\<? super T>总结3. PECS原则一、定义若类A是类B的子类,则记作A ≦ B。设有变换f(),若:当A ≦ B时,有f(A)≦ f(B),则称变换f()具有协变性。当A ≦ B时,有f(B)≦ f(A),则称变换f()具有逆变性。当A ≦ B时,f(A)与f(B)无关,则称变换f()具有不变性。二、数组协变,泛型不变1. 数组的协

2021-09-23 00:33:00 464

原创 【Go】内存同步

文章目录一、现象二、说明三、解决四、扩展as-if-serial 语义happens-before 语义一、现象思考如下代码片段的输出 var x, y int go func() { x = 1 // A1 fmt.Print("y:", y, " ") // A2 }() go func() { y = 1 // B1 fmt.Print("x:", x, " ") // B2 }()因为两个协程

2021-09-14 01:41:20 304 2

原创 【Go】数据竞争探究

文章目录一、引入二、解释(未完成)一、引入观察如下程序var val = 0func main() { go add() go add() time.Sleep(1 * time.Second) fmt.Println(val)}func add() { for i := 0; i < 100; i++ { val++ }}在Java中,如果两个线程同一个变量加100次,那么结果是未知的,但是绝大数情况下val的值是小于200的。但是运行结果却是200(我试了好

2021-09-12 01:29:48 93

原创 【Go】字符串趣题

文章目录问题思路代码问题给定一个字符串s和一个下标i,返回下标i对应的那个字节所在的字符。字符串在Go中的底层是byte数组,Ascii范围内的字符使用一个字节表示,但是超过Ascii表示范围时字节数就不一定了,比如中文就是使用三个字节。但是,可以确定的是Go是采用UTF-8编码的,而UTF-8编码有如下规律// UTF-8最多可用到6个字节, 实际位数最多有31位,即下表中x所表示的位// 1字节 0xxxxxxx// 2字节 110xxxxx 10xxxxxx// 3字节 1110xxxx

2021-09-12 01:21:35 70

原创 【Go】优雅上下线(二)

文章目录关闭一、子协程关闭二、主协程等待所有子协程关闭三、对子协程个数的限制关闭上一篇已经讲了如何捕获Unix信号,这一篇我们来探究一下在多个协程工作的情况下如何正确关闭程序。一般在项目中不会仅一个协程处理任务,而是主协程做完初始化后,启动若干个子协程去处理各自的业务,甚至子协程继续开启子协程。如此一来,在关闭程序就有两个问题需要解决:子协程如何收到关闭信号主协程如何知道所有子协程都完成了主协程需要等待所有子协程都完成后才能退出,因为主协程退出后,子协程会被强制关闭。准确来说,第二个是比较

2021-09-12 01:11:18 108

原创 【Go】优雅上下线(一)

文章目录什么是优雅上下线代码什么是优雅上下线当你有一个运行在服务器上的程序需要停止时,因为要保持数据的一致性,不能直接杀死程序(kill -9),而是需要做一些“善后”处理,一般来说就是把当前处理的任务完成,这往往涉及多个协程之间协作(后续会展开)。那应该怎么处理这种情况呢?我们注意到,在关闭程序(并非kill9强制杀死程序)时,Go可以收到Unix信号,一般来说是两个syscall.SIGINT, syscall.SIGTERM,pm2发送SIGINT(2),k8s发送SIGTERM(15)。依据

2021-09-12 00:02:01 115

原创 【工具】实用插件

GitToolBoxMaven HelperAceJumpIDE Eval ResetGrep Console

2021-08-22 14:32:18 134

原创 【Go】Slice和Map

Slice的append可能会修改地址Map和Slice为nil时都可以遍历Map为nil时不能取值和设置Slice为nil也不能取值和设置但是Slice可以append和取切片[:],但是切片只能0:0或者默认0:len(A)Map可以delete

2021-08-01 11:08:12 132

原创 【git】番外~~佛主

今天分享一下如何在git commit时插入表情首先win+.调出window自带的表情包,或者输入中文时,候选词框最后一个选择这个表情这样就可以请求佛主保佑没有bug了

2021-06-27 17:33:09 89 2

原创 vscode中使用cmder

打开用户设置文件ctrl shift p ===> 输入setting json将下面代码复制到设置文件中 "terminal.integrated.shell.windows": "C:\\Windows\\system32\\cmd.exe", "terminal.integrated.shellArgs.windows": [ "/k %CMDER_ROOT%\\vendor\\init.bat" ]...

2021-06-27 17:17:50 840 2

原创 【Go】Idea快捷键

ctrl j 代码提示// 展开/合并操作ctrl +/- 展开ctrl shift +/- 全部展开ctrl alt +/- 递归展开// 前后行操作ctrl shift j 向下合并行(或者合并选中的多行)ctrl shift/alt enter 向上/下插入一行shift enter 向下插入一行(不会补全括号,分号等)ctrl enter 将光标后面的内容另起一行// 代码结构ctrl u 找到实现的接口/方法 ctrl +

2021-06-27 14:00:22 339

原创 【window】实用快捷键

Win+Ctrl+D:新建桌面Win+Ctrl+F4:关闭正在使用的桌面Win+Ctrl+左/右:在已打开的桌面之间进行切换Win+Pause:打开系统属性Win+逗号:启动AerPeek,窥探桌面Alt+空格+S:改变窗口大小Alt+空格+M:移动窗口Alt+空格+X:最大化当前窗口Alt+空格+N:最小化当前窗口Alt+空格+C:关闭窗口Alt+回车:查看文件属性...

2021-06-27 13:27:47 51

原创 cmder光标错位

文章目录问题原因解决方法问题我输入的git submodule然后删除完原因前面的 λ 或者> 导致的,换成# 就行了新版的 Cmder 的光标像是插入模式,打了以后自动在后面好像多了个空格,往前移动一下 光标还在最后一个字母后面但是其实输入的话已经是在最后一个字幕之前了解决方法在 Cmder 下的 verndor 目录里,修改 clink.lua 文件大约50行前后,把符号 λ 改为 # 保存即可光标的样式怎么从竖线改成方块:vscode中Settings-&gt

2021-06-27 01:06:39 1359

原创 【go】Goland中使用cmder

打开设置将Shell path 内容改为(需要设置环境变量CMDER_ROOT)"cmd.exe" /k ""%CMDER_ROOT%\vendor\init.bat""或者使用Git bash%GIT_ROOT%\bin\bash.exeGIT_ROOT是git的安装路径

2021-06-27 00:10:31 394

原创 【go】goland的终端无法输入

文章目录问题描述解决过程问题描述goland的终端无法输入内容解决过程感谢Sven Eberth的帮助打开的GoLand的日志(Help|Show Log in Exploer)发现报了错误could not initialize class com.pty4j.windows.winpty然后继续搜索到了https://youtrack.jetbrains.com/issue/IDEA-175703...

2021-06-26 23:46:15 1298

jquery和react的js文件

使用jquery和react框架需要导入的库,

2018-09-28

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

TA关注的人

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