Zlatan Eevee
Jack of all trades and master of none.
-
如何下载centos/redhat的linux内核源代码
有个小问题一直没闹明白:CentOS的内核源代码从哪里下? 如果是linux主线的代码,可以github上获取了:linux(4.5之后的版本)。但需要注意centos并不是使用的linux主线的内核,而是redhat自己维护的。 查了下资料,在这做个笔记。 centos的内核源码获取方式参考这里的说明。 centos将源码都归档到了git.centos.org,但如果直接去看 kernel rpm git , 你会发现根本找不到代码的影子。 centos用了一个特别的办法。 [user...
-
Chrome插件:CSDN博客自动阅读全文
最近看CSDN博客比较多,发现CSDN有一个非常脑残的设定:博客稍长一点,CSDN就不会展示整个文章,而是需要用户点击“阅读全文”的按钮。 蜜汁逻辑。 为了节省用户的流量?拜托我在PC登陆的啊,我又不是身在澳大利亚。 而且CSDN其实是整个页面都GET了的,只是展示的时候隐藏了起来。 难道是怕太长了浏览器受不了吗? 蜜汁逻辑。 每次都要点击一下。否则,查找字符串的时候,会发现,匹配了10个,但是页面上只能看到2个。其他的都被隐藏起来了。 脑残。 不过难不倒我,搞个Chrome插件...
-
Javascript请求,用户登陆超时Spring Security如何跳转?
cas的认证流程 cas登录超时与session超时 为什么js拿不到302请求? 解决办法 记录一个最近遇到的小问题。 我们有个web应用,使用了React + Spring Boot + Spring Security + cas认证的组合。Spring Security支持cas,代码不赘述,这里讨论用户登陆超时跳转的问题。 用户超时时(默认2小时),点击浏览器的刷新按钮,此时可以重定向到cas的登陆页面。但通常用户未必意识到已经超时了,可能仍然去点击某些控件,由于页面...
-
Golang: 详解container/heap
1 heap是什么 2 container/heap提供的方法 3 container/heap可以用来做什么 4 heap是怎么做到的 4.1 heap.Init 4.2 heap.Push 4.3 heap.Pop 4.4 heap.Fix 4.5 heap.Remove golang的container包中提供了heap容器,这个容器可以用来做什么,又是怎么做到的呢?本文从golang 1....
-
新买了个Nintendo Switch
前几天入手了一个Nintendo Switch,淘宝店,日版。Switch不锁区,日版、港版、欧版等等,只是包装不同,主机是一样的,注意现在没有国行版,所以随便买一个就好(港版由于插头跟大陆不一样,不推荐)。 随同机器一起买了Zelda荒野之息(THE LEGEND OF ZELDA, BREATH OF THE WILD)。游戏真的太贵了,主机的1/7。不过塞尔达系列是神作,三百多就三百多吧。 以前在NDS上玩大地的汽笛的时候,经常在床上一躺就是一天,就玩这一个游戏,质量真的非常高,所谓 任天...
-
使用swagger来做API文档
使用Spring boot可以很快速的开发restful api,但是如果手工维护api文档就太费事了,很难做到同步。 swagger可以将代码和api文档维护在一起,通过访问服务进程的swagger页面就可以得到完善的api文档,还可以直接Try out。 swagger的使用,可以参考 程序员DD 的这篇文章:Spring Boot中使用Swagger2构建强大的RESTful API文档,快速开始,原文写的很好,我就不搬运了。总的来说,还是很方便的。 由于我的应用还配置了spring...
-
how to use LOAD_FILE in mysql
最近需要往mysql里存一点小图片,想用mysql的LOAD_FILE来将文件写进去,但总是返回NULL,几经周折发现LOAD_FILE对权限要求比较严格。 参照官网(遇事不决问官网啊)。 LOAD_FILE(file_name) Reads the file and returns the file contents as a string. To use this function, the file must be located on the server host, you must ...
-
Harbor Registry Garbage Collect(垃圾回收)
GC背景知识 GC过程 GC实战 我们内部开发用的Harbor做Docker registry,已经跑了7个多月了,一百多个镜像仓库,1T的硬盘空间逐渐被消耗,今天一看还剩下12GB了,赶紧做Garbage Collect。 GC背景知识 docker镜像是分层的,registry在存储镜像的时候,将docker镜像分成了2部分: 镜像元数据(manifests),存储在docker/registry/v2/repositories目录中,在这里会看到registry上的...
-
Golang: 深入理解panic and recover
panic recover 通过panic+recover来简化错误处理 recover是怎么实现的 defer recovery是如何切回来的 panic是怎么退出的 下文会介绍panic/recover的通常使用方法,并试图深入挖掘其实现原理,在这个过程中顺便介绍了defer的实现。 panic Golang里比较常见的错误处理方法是返回error给调用者,但如果是无法恢复的错误,返回error也没有意义,此时可以选择go die:主动触发panic。 除了...
-
minio是怎么解决数据可靠性的?
同事新部署了一个minio集群,用了3台服务器,每个服务器上配置了3个目录;还有一个集群,也是3台服务器,每个服务器上配置了2个目录。 那么,能不能用3台服务器,每个服务器上1个目录呢? 不能。minio的备份机制与HDFS、盘古之类不同。 HDFS、盘古,是一份数据3份副本,只要还有一个机器在,数据就不会丢失。但这样磁盘的利用率其实挺低的,只有原始容量的1/3。 而minio使用erasure code(纠删码)的机制来解决数据的可靠性。这个机制对目录数有要求。 纠删码通过算法将原始的数...