会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
morning_sun
待历经沧海,待阅尽悲欢,方心倦知返。君已尘满面,泥满身,好个白发迷途人。莫说天无涯海无岸,纵然归程须万载。今日归来不晚,彩霞濯满天,明月作烛台,与故人重来,天真作少年。沧浪之江,西来水泱泱,江上一轮明月,照多少沉浮过往。沧浪之江,东往水莽莽,谁赏江上明月,谁听江声浩荡。
博客园
首页
新随笔
联系
订阅
管理
[置顶]
golang 多维哈希(map,hashmap)实践随笔
摘要: 有些场景使用多维哈希来存储数据,时间复杂度恒定,简单粗暴好用。这里记录一下。 如下是三维哈希的简单示意图,建议层数不要太多,否则时间久了,自己写的代码都不认识。 下图是三维哈希在内存的存储形式,hashmap嵌套了3层。图里一层数组存放entry和链表next指针,每个节点里面都存放一个数组,数组存
阅读全文
posted @ 2018-08-29 16:37 morning_sun
阅读(4221)
评论(0)
推荐(1)
[置顶]
golang 防SQL注入 基于反射、TAG标记实现的不定参数检查器
摘要: 收到一个任务,所有http的handler要对入参检查,防止SQL注入。刚开始笨笨的,打算为所有的结构体写一个方法,后来统计了下,要写几十上百,随着业务增加,以后还会重复这个无脑力的机械劳作。想想就low。 直接做一个不定参数的自动检测函数不就ok了么? 磨刀不误砍柴工,用了一个下午的时间,调教出一
阅读全文
posted @ 2018-07-09 16:59 morning_sun
阅读(1399)
评论(0)
推荐(0)
2019年12月27日
C# 阻塞队列(Block Queue)实现
摘要: C#实现的阻塞队列,功能类似GO里的channel。 public class CBlockQueue<T> { private readonly Queue<T> queue = new Queue<T>(); private readonly int maxSize; bool closing;
阅读全文
posted @ 2019-12-27 17:13 morning_sun
阅读(3515)
评论(0)
推荐(0)
2019年10月11日
随记
摘要: 依山傍水房数间,行也安然,坐也安然;一头耕牛半倾田,收也凭天,荒也凭天;雨过天晴驾小船,鱼在一边,酒在一边;路逢骚客问诗篇,好也几言,歹也几言;布衣得暖胜丝绵,新也可穿,旧也可穿;粗茶淡饭饱三餐,早也香甜,晚也香甜;夜归挚友话灯前,今也谈谈,古也谈谈;一觉睡到日三竿,不是神仙,胜似神仙。
阅读全文
posted @ 2019-10-11 10:47 morning_sun
阅读(170)
评论(0)
推荐(0)
2019年2月22日
golang实现LRU,转载学习
摘要: 作者:qingxili 来源:CSDN 原文:https://blog.csdn.net/qingxili/article/details/79870601 版权声明:本文为博主原创文章,转载请附上博文链接!
阅读全文
posted @ 2019-02-22 17:29 morning_sun
阅读(743)
评论(0)
推荐(0)
2019年1月23日
转载:《我是怎么招聘程序员的》
摘要: 最近在研究K8s,翻到酷壳https://coolshell.cn/ 看着看着发现里面有一篇关于招聘程序员面试的文章,看完很受益。转载收藏一下。 想起刚工作的时候,一个前辈分享的面试经验有核心三点:1,知识的广度深度;2,学习能力;3,解决问题的能力 原文地址:https://coolshell.c
阅读全文
posted @ 2019-01-23 15:49 morning_sun
阅读(226)
评论(0)
推荐(0)
2018年12月12日
踩坑留印,启动进程遇到报错:/proc/self/fd/9: 2: ulimit: bad number
摘要: 启动进程,遇到报错: 分析配置文件内容没有错误。 怀疑可能是文件格式问题,在IDE里面查看,果然是windows格式。IDE里面可以修改,此外在Notepad++里面也可以。截图如下 用Notepad++(v7.5.9)打开配置文件,编辑选项—>文档格式转换—>转为UNIX格式
阅读全文
posted @ 2018-12-12 18:21 morning_sun
阅读(998)
评论(0)
推荐(0)
2018年12月11日
github上的golang双向rpc,基于原生“net/rpc”库实现,可以注册回调
摘要: github上的golang双向rpc,基于原生“net/rpc”库实现,可以注册回调。仅支持一个server和一个client交互。 地址:https://github.com/rocket049/rpc2d 公共包: server端代码: 客户端代码:
阅读全文
posted @ 2018-12-11 11:53 morning_sun
阅读(1714)
评论(0)
推荐(0)
2018年11月3日
golang 兼容不同json结构体解析实践
摘要: 线上服务器,同一个web接口有时需要兼容不同版本的结构体。这种情况思路是使用interface{}接收任意类型数据,结合reflect包处理。 如下,http接口调用者会传入不同的json结构数据(单体结构或切片结构): 兼容不同XXX结构体的方法是使用interface{},接收任意类型数据。 代
阅读全文
posted @ 2018-11-03 15:28 morning_sun
阅读(2797)
评论(0)
推荐(0)
2018年8月13日
快排(golang实现) 递归方法
摘要: 递归方法,逻辑简洁清晰。这个算法还是很重要的,需要重点记忆理解,面试经常考手写。据说是与傅里叶变换等并称“20世纪十大算法”。https://blog.csdn.net/v_JULY_v/article/details/6127953 快速排序算法的平均时间复杂度是 O(nlogn),最坏情况时间复
阅读全文
posted @ 2018-08-13 11:00 morning_sun
阅读(847)
评论(0)
推荐(0)
2018年7月19日
golang 并发执行函数func类型slice
摘要: golang的slice支持func。使用func slice要注意func要完整描述入参出参。 如果需要执行一系列类型相同(入参出参格式相同)的函数,可以动态添加到一个slice里面。range slice顺序执行,也可并发执行,构造匿名goroutine,代码如下。 执行结果截图: 如果想对入参
阅读全文
posted @ 2018-07-19 10:38 morning_sun
阅读(667)
评论(0)
推荐(0)
2018年7月12日
golang 协程嵌套,会产生依赖关系(父子关系)么?
摘要: 编码时冒出一个问题:在一个协程内部,再创建一个或多个协程,是否会产生依赖关系? 做了一个小实验,这里随笔记录一下经过,备注后续深入研究。 test代码: 运行结果: 可以得出结论:不同于linux里的进程依赖,golang里,协程都是互相独立的,没有依赖(父子)关系。main函数本身也运行在一个go
阅读全文
posted @ 2018-07-12 11:47 morning_sun
阅读(6212)
评论(0)
推荐(2)
2018年7月7日
golang for循环里面创建协程问题的研究
摘要: 原本想在一个for里面创建10个协程,这些协程顺序拿到for的递增变量,把这10个递增变量都打印出来。但事与愿违,于是做实验,查书,思考,写出以下记录。 golang里,在for循环里面起协程,如下代码。会输出for循环的最后一个数,或者参杂有不确定的其他数字。 原因有二:1,golang是值拷贝传
阅读全文
posted @ 2018-07-07 15:03 morning_sun
阅读(5533)
评论(1)
推荐(0)
golang 正则表达式 匹配局域网
摘要: 做一个微服务,需要对http头域里的remoteip做访问限制:所有局域网都要鉴权,其中一些特殊ip,如网关地址,直接拒绝,防止公网访问。正则表达式很好的解决了这个,直接贴代码,读者拿来直接改改就能用了。 核心正则: golang的代码也很简单了,如下:
阅读全文
posted @ 2018-07-07 14:27 morning_sun
阅读(964)
评论(0)
推荐(0)
公告