golang内存检测工具

文章分享sheepbao 回复了问题 • 7 人关注 • 4 个回复 • 1144 次浏览 • 2016-11-09 19:22 • 来自相关话题

自动生成代替interface的线程安全map

开源程序ggaaooppeenngg 发表了文章 • 0 个评论 • 454 次浏览 • 2016-11-09 16:55 • 来自相关话题

https://github.com/ggaaooppeenngg/safemap

项目当中经常要使用线程安全的map,但是实际... 查看全部

https://github.com/ggaaooppeenngg/safemap


项目当中经常要使用线程安全的map,但是实际编码的时候会因为失误引入一些非线程安全的代码。
把这些东西封装成一个包是一个比较好的方式。


这个工具的主要的特点是能够根据类型自动生成线程安全的map,做了一些简单的测试如果用interface类型转换的代价和用自动生成的固定类型的代价可能差距大概是20ns/op(40ns/op-20ns/op)的一个差距,当然这个差距并不是很致命的一个问题,至少用代码生成可以对性能有一个提升,可能引起的问题是项目中类似的map过多,生成的map的代码可能会很多,所以综合考量的话,在一个包里只有一两个map是要保证线程的安全的话,其实是很适合的,也比较方便管理,不管是在build的时候生成还是把生成的代码放入版本控制当中。当然也有很多自动生成的库可以用,但是为了减少依赖并没有使用。


使用方式可以结合go generate使用,比如在代码中嵌入。


//go:generate safemap -k string -v string -n namespace

在项目中会生成namespace_safemap.go文件,类型为type namespaceSafemap map[string]string,对应的GetSet方法是线程安全的。


目前正在做的是一个类似的实现思路的cache,https://github.com/ggaaooppeenngg/cachemap

实现了一个定时器,但是只能在当天凌晨运行一次,第二天凌晨运行失效,怎么回事呢?

有问必答newer 回复了问题 • 4 人关注 • 3 个回复 • 516 次浏览 • 2016-11-09 14:30 • 来自相关话题

关于 API 合并的问题

有问必答zhangxu 回复了问题 • 9 人关注 • 8 个回复 • 870 次浏览 • 2016-11-09 13:52 • 来自相关话题

a,b = b,a为什么这样就可以交换变量的值

有问必答sheepbao 回复了问题 • 6 人关注 • 5 个回复 • 444 次浏览 • 2016-11-09 12:13 • 来自相关话题

beego 能不能在LayoutContent中判断LayoutSections是否设置

回复

有问必答gloomyzerg 发起了问题 • 2 人关注 • 0 个回复 • 472 次浏览 • 2016-11-09 11:27 • 来自相关话题

请大神帮忙写个详细的vscode配置,跪谢

技术讨论sryan 回复了问题 • 6 人关注 • 3 个回复 • 482 次浏览 • 2016-11-09 09:43 • 来自相关话题

Yun-Brute:一个简单而且好用的百度云私密分享链接密码暴力破解器

开源程序SuperFashi 发表了文章 • 1 个评论 • 538 次浏览 • 2016-11-08 18:29 • 来自相关话题

博客地址 | Github查看全部

博客地址 | Github




Yun-Brute


rcard


一个简单而且好用的百度云私密分享链接密码暴力破解器。


示例


Example-GIF


试着在你的电脑/服务器上跑跑这个链接!


编译


首先你得 go get -u 我在这个项目里用的两个包:



  • gopkg.in/alecthomas/kingpin.v2

  • gopkg.in/cheggaaa/pb.v1


然后 clone 这个项目来运行。


git clone https://github.com/hanbang-wang/Yun-Brute
go run brute.go

或者简单地使用这里的预编译版本。


用法


brute [<选项>] <链接>

选项:
-h, --help 查看帮助。
-p, --preset="0000" 开始破解的预设密码。
-t, --thread=1000 线程数。

参数:
<链接> 你想获取的百度云文件链接。

特点



  • 解析

    本程序自带两种百度云链接解析器。如果还有更多种的话,你可以自己添加解析函数,或者发个 PR 或者提个 issue 让我知道。

  • 中断处理

    如果你用 Ctrl-C 来中断程序,它将会输出目前的进度,让你可以晚点用 -p 选项继续破解。

  • 日志

    很可惜的是目前日志打印会和进度条打印混在一起,使用 2> /dev/null 来禁止输出日志,或者你可以尝试一下 1>&2

  • 代理

    这个程序自带4种获取代理的方式,并且有重复或失效代理纠正功能。当没有代理剩余的时候,线程将会自动挂起并等待新的代理进入。你也可以轻易地增加你自己的代理来源。


授权


这个小玩意用的是 MIT 授权,如需知更多信息请访问授权文件。

有哪些性价比比较高的主机可以允许golang

有问必答kevin 回复了问题 • 8 人关注 • 6 个回复 • 514 次浏览 • 2016-11-08 17:54 • 来自相关话题

求一个高效的Golang MD6加密算法实现

有问必答kevin 回复了问题 • 6 人关注 • 4 个回复 • 578 次浏览 • 2016-11-08 17:51 • 来自相关话题

cgo-golang和c的无缝连接

回复

技术讨论themoonstone 发起了问题 • 2 人关注 • 0 个回复 • 489 次浏览 • 2016-11-08 17:37 • 来自相关话题

Go发布至今发现的安全漏洞 5 个

回复

文章分享astaxie 发起了问题 • 1 人关注 • 0 个回复 • 862 次浏览 • 2016-11-08 15:46 • 来自相关话题

[问题]goIDE技巧:go run的进程如何快速删掉?sublime怎么直接获得文件名每次build手打很累

有问必答philosophia14 回复了问题 • 2 人关注 • 2 个回复 • 404 次浏览 • 2016-11-08 12:00 • 来自相关话题

分布式系统中的agent更新问题

技术讨论opsnull 回复了问题 • 6 人关注 • 2 个回复 • 563 次浏览 • 2016-11-08 11:49 • 来自相关话题

beego orm 关系查询 如何直接获取"外键"的值

有问必答gloomyzerg 回复了问题 • 2 人关注 • 4 个回复 • 1016 次浏览 • 2016-11-08 10:32 • 来自相关话题