摘要:
前言 直接上测试结果, 向redis中写入值(KV相同)为5000001..5100000共10万个字符串类型KV 数据. 先自以为是的单计算一下需要多少内存: K/V相同, 均为整形, 各占用8字节, 那么一条数据会占用16字节. 10万数据大概占用155kb. 但事实真的是这样么? (如果是这样 阅读全文
摘要:
场景 使用ssh命令链接远程服务器后执行.bashrc中定义的alias命令, 提示命令不存在. ssh root@10.0.0.1 ll # ll: command not found 但是使用ssh命令登录后, 在交互界面是可以正常执行的. 解决 因为shell在非交互模式下, alias默认是 阅读全文
摘要:
这次国庆回家前查看过, 老家这边疫情并不怎么严重, 因此放心的回来了. 可谁知在10月4号当天, 突然收获了健康宝弹窗3. 但是新增的阳性是在市里, 而我所在的县距离市里将近500里地, 没想到竟然能够波及到我这里. 再后来, 发现不光我所在县, 而是所在市全部弹窗了. 再然后, 发现全国各地出现了 阅读全文
摘要:
前言 有这样一段代码: func main() { // 捕捉异常 defer func() { if err := recover(); err != nil { fmt.Println(err) } }() go func() { fmt.Println("start goroutine") p 阅读全文
摘要:
一直以来都有一个疑问? 为什么我的身份证号最后一位是个字母嘞? 别人都是数字的呀? 为了搞懂这个问题, 我专门研究了一下身份证号码的组成. 身份证号码组成 我找到了在1999年9月30号发布国务院公报, 其中第16页对公民身份证号码有这样一段介绍: 公民身份号码按照GB11643-1999《公民身份 阅读全文
摘要:
在Go中, 有这样一个数据结构sync.Map, 他的出现是为了提供一个并发安全的map. Map 在了解sync.Map之前, 我们有必要知道为什么map不是并发安全的, 这里一笔带过了. map这个数据结构在各个语言中都有实现, 基本上大同小异, 大部分都是通过数组+链表来实现的, 在Go中也不 阅读全文
摘要:
问题 小提示, 若想直接查看原理, 可从接口原理开始查看. 有这样一段GO代码: func main() { var obj interface{} fmt.Printf("obj == nil. %b\n", obj == nil) type st struct{} var s *st obj = 阅读全文
摘要:
在我写下这段文字的时候, 已经是半夜的三点. 没错, 我失眠了, 翻来覆去怎么也睡不着, 还是决定爬起来小小的感概一下吧. 我离职了, 就在今天正式离开了这个我为之奋斗了近4年的公司. 虽然这次离职是在半年前就已经决定了的, 但真的到了离开的这一天, 心情还是十分复杂. 有留恋, 有遗憾, 有思念, 阅读全文
摘要:
前言 我现在工作的公司是在毕业前实习的公司, 实习结束后直接转正, 因此也是我任职过的唯一一家公司. 在日常工作进行 HTTP 接口的开发时, 发现了一个疑惑, 只用到了POST和GET请求, 但我们知道 HTTP还有PUT/DELETE等等, 为什么不用呢? 并且, 接口的响应码也只有200, 接 阅读全文
摘要:
前言 在PHP中, 载入文件可以选择使用require, 也可以使用include, 那么那他们有什么区别呢? 看了网上的一些文章, 说他们使用场景不同, require一般在文件开头引入文件, include一般在函数中动态引入文件. 但是我觉得并不是这么简单, require是作为语言结构(关键 阅读全文