Go语言中文网 为您找到相关结果 102

Go 实现的网站链接检查器Muffet

Muffet 是一个 Go 实现的网站链接检查器,可递归地检查网站中的所有页面。 **具有以下特性** 速度快 彩色输出 支持不同的标签(`a`, `img`, `link`, `script`, 等) **安装** **用法示例** [](https://shady.bakery.hotland)通过 `muffet --help` 获取更多帮助信息 **运行效果** ![image](https://static.oschina.net/uploads/space/2018/0425/150129_TPCX_2720166.png...阅读全文

开源项目 2018-04-25 15:30:00 网友

网络安全 - 制作免杀

介绍:之前使用 小七免杀工具包 来作免杀(有空我会上传到网盘上),就是对PE(.bat、.exe这类)文件中出现的特征码进行替换修改,修改方法:等价替换指令,字符串修改大小写等。 现在开源的东西比起手工,免杀率高,速度快,功能多。下面我就介绍下 Hercules 工具: 一、安装 Kali Linux 二、搭建GO语言环境 1、下载解压GO 解压到 /usr/local 目录下: 2、配置环境 让GO命令有效: 文件后追加 export PATH=$PATH:/usr/local/go/bin: 再按 Esc ,输入 :wq,保存退出。使文件生效,并查看版本号,是否正确配置: 三、安装Hercules 升级软件包: 运行Hercules: 四、生成免杀载荷 选择1,输入ip、端口号(用于反弹...阅读全文

博文 2017-06-09 05:05:42 alexnevsky

golang和cache一致性

之前关于golang调度以及垃圾回收相关文章中,都有提到cache一致性的问题。今天来简单说一下cache相关内容,以及在golang中需要注意的事情。 cache结构 图中是一个存储结构示意图,cpu和主存直接使用的是L3的结构。金字塔越上面,相互之间的访问速度越快但是数据量越小,越往下访问速度越慢但数据量越大。 在单核CPU结构中,为了缓解CPU指令流水中cycle冲突,L1分成了指令(L1P)和数据(L1D)两部分,而L2则是指令和数据共存。多核CPU增设了L3三级缓存,L1和L2是CPU核自己使用,但是L3缓存是多核共享的。 cache局部性原理 局部性分为时间局部性和空间局部性,时间局部性是说,当前访问到的数据随后时间也可能会访问到。空间局部性是指,当前访问的的地址附近的地址,之后...阅读全文

博文 2019-08-10 22:34:18 lucifer_L

grep 的开源替代品 Go sift

sift 是快速强大的 [grep](http://www.oschina.net/p/gnu-grep) 开源替代品,作为一个单独的可执行程序,没有外部依赖,下载即用。sift 非常灵活,速度非常快,支持多行匹配,条件和多核。 sift 主要特性: * 速度快 * 无需安装,下载即用 * 灵活,包含 grep 所有你需要的特性 * 使用条件 示例数据:

<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gam...阅读全文

购买国内虚拟主机怎样选择机房?需要注意什么?

购买了国内虚拟主机,怎样选择机房,成了大家头疼的事情,毕竟没有好的机房去辅助,再好的虚拟主机也不能很好的发挥。 国内虚拟主机机房的选择主要考虑是速度,安全等,另外举例网站访客的物理位置靠近,举例越短访问速度快而且稳定。 分两方面考虑,地理位置和是否备案 从地理位置上。一般情况下我们建议选择离自己目标用户所在地域最接近的数据中心,这样可以进一步提升用户访问速度。比如:华北用户推荐选北京和青岛地域,华东用户选杭州地域,华南地域用户可选广州和深圳地域。机房越近,你搭建的网站就经常有秒开的刺激。与自己的电脑本地搭建的服务器相近。 从备案与否。无论是华北机房用户,还是其他国内机房,国内机房都需要按照工信部的要求来操作,对网站进行备案,域名有备案号则可直接购买主机使用。如购买的国...阅读全文

Golang 中使用 Slice + 索引 Map 替代 Map 获得性能提升

起因 在我们的多个线上游戏项目中,很多模块和服务为了提高响应速度,都在内存中存放了大量的(缓存)数据以便获得最快的访问速度。 通常情况下,为了使用方便,使用了 go 自身的 map 作为存放容器。当有超过几十万 key 值,并且 map 的 value 是一个复杂的 struct 时,额外引入的 GC 开销是无法忽视的。在 cpu 使用统计图中,我们总是观测到较为规律的短时间峰值。这个峰值在使用 1.3 版本的 go 中显得特别突出(stop the world 问题)。后续版本 go gc 不断优化,到我们现在使用的 1.10 已经是非常快速的并发 gc 并且只会有很短暂的 stw。 不过在各种 profile 的图中,我们依然观察到了大量的 runtime.scanobject 开销! ...阅读全文

使用Go语言一段时间的感受

来源:http://www.open-open.com/news/view/1894f94文/Windstorm有一段时间没更新了。最近在忙一个 Server+Client 的项目,Client 是 Android 手机,大概也就是几十的规模。Server 是纯 Golang 实现,没有 apache 或者 ngix 这种 web server,也没有数据库,自己写了个文件管理 module,handle 这种小规模的服务没问题。算下来接触 Golang 也有四个多月了,断断续续写了一些东西,这里纪录一下心得吧先大概说下为什么用 Golang。我是一个对语言有洁癖的人,曾经是一个C+Python 的坚定呐喊者,最常说的一句话就是,只要熟练这两种,什么情况都能应付,根本不用 Java 和 C+...阅读全文

博文 2015-06-17 20:06:13 heiyeshuwu

网站打开速度慢是什么原因导致

一个网站无论优化、页面布局、各方面搭建多好,如果网站打开速度慢会导致用户流失。是什么原因导致网站打开慢?网站打开慢的原因是什么?网站打开的速度与页面的响应时间,往往是站长们所忽视的,但这个问题是导致用户流失的一个大根源。当用户访问你的网站时,打开网站速度慢或者不能打开,那在用户心里对你网站的印象会大大降低。用户的直观印象会觉得只有不正规的网站才会有这样的现象。如果用户是通过搜索关键字进入你的网站想要需求合作或者帮助,一旦你网站打开速度慢,用户就会直接认为你是一个不入流的公司或者是小公司,对于公司企业网站来讲,网站打开速度很重要。网站打开速度慢的原因有很多,可能是空间问题、网站建设问题、域名解析问题等多方面。如果是新站搭建可以用建站宝盒来进行,可以大大减少网站打开速度慢的问题。今天小编给大家分...阅读全文

阿里云助力网络安全社区MMBEST,书写云上新面貌

摘要: 始于2001年的MMBEST论坛,是国内成立最早的黑客安全技术联盟学习培训基地。为了专注网站建设及简化运维工作,MmBEST选择了阿里云服务器迁移上云。 始于2001年的MMBEST论坛,是国内成立最早的黑客安全技术联盟学习培训基地。为了专注网站建设及简化运维工作,MmBEST选择了阿里云服务器迁移上云。 背景 MMBEST社区的建立初衷就是为一些网络安全爱好者提供一个学习和交流的平台,自由!免费!共享!——这是我们始终秉持的服务宗旨。但在技术的快速迭代下,自建机房的运维管理逐渐显露出颓势,渐渐产生了很多问题: 1.系统及网络安全方面; 2.数据备份方面; 3.不同地域的访问速度方面; 4.硬件的稳定性方面。 因此为了应对这些方...阅读全文

websocket server base on go language

之前使用pusher.com提供的商业服务器,但在我的站速度慢,消息传递有丢失情况,所以自行构架 主要实现通知功能: 1. 根据每个page的 session_id来区分连接,数组方式存放,应对当一个session打开了多个page的情形 2.json格式进行通讯,数据中指定要通知的session,该session下的所有page将收到通知,session_id至少做md5处理 package main import ( "flag" "fmt" "net/http" "code.google.com/p/go.net/websocket") var port *int = flag.Int("p", 443, "Port to listen.") //创建全局map,可以为sess_id,...阅读全文

博文 2016-03-12 07:00:00 ranhuan

响应式网站个人制作教程

响应式网站制作对于公司企业与团队来讲是一件简单的事情,要么公司自行开发,要么外聘建站人员建设。但是对于个人与中小型企业来讲,想要建设一个响应式网站,但又不想投入太大。那该怎么样自己建设一个响应式网站呢?今天小编给大家讲讲响应式网站个人的制作教程。 利用工具:建站宝盒 1. 首先打开建站宝盒页面,你会看到详细的栏目。 自助建站 2. 点击电脑网站>>点击更换模板>>点击自适应网站>>选择你需要的网站模板风格>>点击安装 建站宝盒界面 建站宝盒 3. 安装完成>>进入网站编辑页面>>开始编辑(注:双击页面中的图片、栏目、文字便可自行编辑) 建站宝盒模板 (1)点击上方首页可以自己添加更改主栏目与子栏目 ...阅读全文

如何快速让你的网站被收录

做网站的人最重要的就是让自己的网站被很快的收录。大部分人需要大概1个月作用才会被收了,但是有的几个小时就收录,甚至十多分钟就可以,是不是很神奇。这些是很有技巧性的。下面说下简单的方法1,去搜索引擎提交自己的域名。2、申请一些分类目录网站收录,大概几分钟就可以申请几个。但也不要太多。3、去搜外,A5,落伍者论坛等发帖,留自己的链接。4,交换几个友情了链接。5、购买几个高质量的友情链接。做到上面这几点,最重要的还是你的网站主题和内容要健康积极,千万别复制网上的文章,就算复制也要稍微改下,不然搜索引擎会视为垃圾站点,没有原创内容,要么收录很迟要么完全不收了。现在不是有一种外链工具吗,可以批量的发出几千条外链。我觉得新站最好别这样做,这种外链没有什么意义,他的原理很简单,就是去各种有搜索功能的网站不...阅读全文

响应式网站是什么

面对日新月异的互联网时代,层出不穷的技术逐渐出现。用户浏览网站的体验需求变得更加苛刻。对于以前来讲,做网站只要把PC端做好就可以了,但是对于现在上网的设备种类繁多,越来越多用户使用移动端来进行上网。面对移动端不同屏幕分辨率的设备,响应式设计是网站建设当之无愧的标准配置。为什么越来越多人都采用响应式设计来制作网站?响应式网站是什么?自适应网站与响应式网站的区别是什么? 对于传统的网站访问移动端网站时,会出现许多弊端。字体小、显示不全、图片不清晰、需要用户自己不断放大和缩写才能看清所有的内容,这样会导致网站流失许多用户。那响应式网站可以解决这些问题吗?首先你要了解响应式网站是什么。 响应式网站是什么? 响应式网站可以根据用户行为以及浏览设备的环境(系统平台、屏幕大小...阅读全文

study_note

1 提高注意力 长期 1)休息好,医生建议每天至少睡7小时最有益健康; 2)做计划,事先想好目标,否则容易在邮件、短信、网页上浪费时间; 3)冥想 ,每天给自己留一段时间,练习提高注意力的技巧; 4)均衡饮食+经常运动 短期 1)使用耳塞,最好每隔一小时就歇会儿; 2)记录注意力分散的时间段; 3)给自己留几个胡思乱想的时间段; 4)工作半个到一个小时后休息一下; 5)一次完成一件事(延伸:看完一本书、做好一份工作); 6)蜘蛛技巧:预计到那些能让你分散注意力的事情,就不会被它们影响 2 心声 作为非原生家庭的我,经不住烧,耐不住冷,做不成雷锋,当不成案例,不是合格的奋斗者,理解不了《告研发员工书》,丰富不了人们的沟通和生活。华为给我最快乐的日子,就是我还没有来华为时的日子;华为对我来说很神...阅读全文

博文 2018-07-01 17:34:49 brightsunp

hbase优化:怎么缩短查询速度

来源:http://bbs.oldboyedu.com/article-213-1.html HBase是Hadoop生态系统中的一个组件,是一个分布式、面向列的开源数据库,可以支持数百万列、超过10亿行的数据存储,因此,对HBase性能提出了一定的要求,那么如何进行HBase性能优化呢? HBase的拥有完整的支撑系统,包括底层硬件以及把硬件和操作系统、JVM、HDFS连接起来的网络之间的所有部件,这些都会对HBase性能和状态产生影响;除此之外,HBase的交互方式也会对HBase性能产生影响。 **一、HBase支撑系统优化** **1. 硬件选择** 需根据业务情况和集群规模大小选择合适的硬件。 **2. 网络配置** 由于HBase分布式系...阅读全文

golang的特性和优势

go是21世纪的C语言,也是云计算时代的C语言,它的诞生是为了有更高的开发效率,它于2009年9月加入开源语言的大家庭,2012年正式发布。 go的最大优势就是执行速度和开发效率都很出色,而且从语言级别上支持并发。执行速度快是因为go是编译型的静态语言,它在执行速度上比解释型语言具有先天的优势。生产效率高是基于go的语法和结构简明,易学易用。 go出现之前,无论汇编语言、还是动态脚本语言,在执行效率和开发效率上都不能兼备。 执行效率 execution speed: C/C++ > Java > PHP 开发效率 developing efficiency: PHP > Java > C/C++ go的不足之处就是年轻,有些方面还不够成熟和丰富,但它正在成长的道路上迅速迈进,希望在中国能今早...阅读全文

博文 2019-05-13 19:31:39 weixin_40213018

Go 语言简介

一.Go发展史 想要了解一门语言,少不了他的发展史。 这里简单的介绍一下其历史年度关键节点。 1.里程碑 Go 也叫 Golang 起源于2007年 2009年首次公开发布 2010年谷歌投入使用 2011年被Google AppEngine支持 2012年正式版Go1 2015年发布Go1.5,移除了“最后残余的C代码” 目前最新版本为Go1.10 不得不说Go是一门很年轻的语言,是一个零零后。 二.Go特点 我们学习一门语言总归是出于各种各样的原因的,他会是各式各样的原因。 那既然现在我有了一个想要了解 Go 的一个意愿,肯定要先知道该语言有那些特色,或者说有那些吸引人的地方的说。 1.效率高 — 图片来自百度 Go 被誉为“21世纪的 C 语言”。 正如 Go 语言的 Logo 这只萌...阅读全文

博文 2018-07-07 12:34:41 SeaConch

Go 语言开发的搜索引擎 bleve

全文检索领域,Elasticsearch 应该是当之无愧的大佬了,当对与一些小的项目来说还是过于厚重了,不想用 Elasticsearch。只好搜寻其他能用的项目。目前自己的网站正好用 golang 来重后台,搜寻一下 go 语言有哪些可以用的开源项目,刚好看到一篇文章。转载记录一下。 先安利一个 Go 语言开发的搜索引擎 bleve,目前看来这应该是 Go 语言开发的搜索引擎里面最有潜力,或者说最不像玩具的搜索引擎。 简单试用了一下体验还可以,并试探性的提了一个关于打版本标签的 issue ,作者的回复响应速度也很快。 网上搜的资料上显示 bleve 是由 CouchBase 团队打造出来的。 但是我比较不理解的是为什么看了一下代码提交的commit ,主要都是由作者一个人提交的代码。 这...阅读全文

博文 2019-08-21 00:02:42 烈日星辰

写了一个更易用的Golang HTTP请求库

对Golang HTTP标准库进行了封装,提供了更易用优雅的API,类似于Python-requests之于Python-urllib的封装 GitHub地址 示例代码 import ( "github.com/eddieivan01/nic" ) func main() { url := "http://example.com" resp, err := nic.Post(url, &nic.H{ JSON: nic.KV { "hello": "world", }, Headers: nic.KV{ "X-Forwarded-For": "127.0.0.1", }, }) if err != nil { fmt.Fatal(err.Error()) } fmt.Println(resp...阅读全文

博文 2019-05-17 17:35:09 Eddie_Ivan

Docker 问题 集装箱 不断更新中

本文档已经更新到GitHub上: 查看地址 docker 问题列表 Error parsing reference: "golang:alpine as builder" is not a valid repository/tag: invalid reference format 解决措施? 查看docker的版本 docker --version Docker version 1.13.1, build 94f4240/1.13.1 需要升级docker的版本 具体升级过程,可以查看007---如何升级docker的版本.md文档 Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting ...阅读全文

博文 2018-09-18 18:34:41 故新_d4ef

🔥🔥字节跳动 2020 春季实习生招聘及校招全职补录全面启动🔥🔥

🔥🔥字节跳动 2020 春季实习生招聘及校招全职补录全面启动🔥🔥投递之后记得在评论区留个言哈,方便我在后台匹配投递记录!​时间有限,抓紧投递简历了!顺便介绍一下我的部门!​我们是国际化研发部门,这个部门做啥呢?这不就是一看名字就知道是做的海外产品的吗~那你们这个部门咋样?有拿得出手的产品吗?那是必须有啊!国际化部门的重磅产品:Helo,这是公司内第一款在海外首发的社交媒体平台!现在Helo已经是印度本土语种社交媒体平台的第一名!GP上免费榜霸榜选手!目前,Helo在印度已经拥有几千万每日活跃用户,并保持高速增长!我们的未来是什么?​未来,我们希望可以把业务扩展到更多的国家地区,做全球的社交媒体平台!因此,我们需要更多优秀的人一起做有挑战的事!国际化研发团队,欢迎你!!​​什么方向的人才是我们...阅读全文

国内高防虚拟主机怎样判断好坏?

了解高防虚拟主机的人都知道,高防虚拟主机与普通的虚拟主机大不相同,它属于防御性的虚拟主机,能很好防御网络中的DDoS等流量攻击,服务器虚拟化不断发展,虚拟主机更容易受网络中的DDoS攻击,从而促使消费者偏向高防虚拟主机。 而高防虚拟主机的稳定性对网站非常重要,企业在建站时对高防虚拟主机选择要注意。那么怎样去辨别国内高防虚拟主机的好坏呢? 服务器放置的虚拟主机数量 国内专业的虚拟主机提供商都有严格的规定,每台服务器上有多少台高防虚拟主机才能更大限度的保证客户的访问速度。不排除一些小服务商为赚钱,在同一台服务器上放N多高防虚拟主机,导致用户越多访问速度越慢,所以客户在购买时可选择一些大品牌的高防虚拟供应商。 服务器稳定性 虽说高防虚拟主机防御性强,但不代表稳定,普通...阅读全文

初识GO 语言-2019-5-8

一、前言现在是2019年5月8日1点07分就在一天前,我完成了自己学生生涯最后的一项工作。即将硕士毕业。作为一个编程菜鸟,我迫切的希望自己学习一门不那么底层的编程语言。python和Go成了我的首选。鉴于最近越来越多的人将目光放到Go上,因此我希望用接下来的1个月时间入门Go语言。随缘选取了B站韩顺平老师的视频教程https://www.bilibili.com/video/av36489007/?p=2其他学习资料容后再补充。——————————————————————————————————二、Go语言的应用领域1、区块链2、服务器-高并发,是Go语言最强大的特性之一3、分布式 云计算——————————————————————————————————三、学习规划与目标P1、P2、P3 ...阅读全文

博文 2019-05-08 03:34:57 竖琴犹奏相思苦

golang:reflect反射

reflect反射 1.使用场景 当一些类型未知,有多种类型需要统一处理时,考虑使用反射来做多种情况的统一判断处理。 反射读取数据: reflect常见类型 reflect.Int,reflect.Int8,reflect.Int16,reflect.Int32,reflect.Int64 reflect.Uint,reflect.Uint8,reflect.Uint16,reflect.Uint32,reflect.Uint64,reflect.Uintptr reflect.Bool reflect.String reflect.Chan,reflect.Func,reflect.Ptr,reflect.Slice,reflect.Map,reflect.Array,reflect.St...阅读全文

博文 2018-09-07 18:34:46 super大橙子

初识golang

最近几天闲着无聊,老大给推荐了一门新的语言golang(对于我来说),看了一些 介绍,也写了几个小demo,马上爱上了这门语言,凭着一股“生命不止,折腾不息”的 极客精神,也写个小博客,发表一些个人见解。 本人主语言Java,如果说比较,那就拿Java和golang做个比较,比较的目的不是要 引发诸如“php是世界上最好的语言”这种无意义的语言之争,而是对语言的应用场景 有个大致的了解,以满足不同业务场景的应用,其实对我来说更是一种学习,一种思维 模式的练习。 先讲讲写golang程序的感受吧,写起来真是爽,没接触golang之前,用Java写程序 ,有IDE还好办,代码写起来也没觉得太冗长啰嗦,但用了golang就不同了,golang就 像一把瑞士军刀,小巧、精悍、锋利,瞬间感觉Java在...阅读全文

博文 2017-07-20 04:01:45 qq_24693837

网站访问速度提升200%以上,阿里云虚拟主机支持PHP最新版本

摘要: 日前,阿里云虚拟主机推出了新功能,支持PHP的最新版本 7.0和7.1,并支持用户在多个不同PHP版本之间切换。 PHP 作为最好的Web编程语言,最新版本已经更新到了7.0和7.1。阿里云作为国内虚拟主机的领头羊,为了给用户提供更先进、选择更多的建站环境选择,推出了PHP7.0和7.1的支持。 日前,阿里云虚拟主机推出了新功能,支持PHP的最新版本 7.0和7.1,并支持用户在多个不同PHP版本之间切换。 PHP 作为最好的Web编程语言,最新版本已经更新到了7.0和7.1。阿里云作为国内虚拟主机的领头羊,为了给用户提供更先进、选择更多的建站环境选择,推出了PHP7.0和7.1的支持。 目前,国内绝大多数虚拟主机服务商目前支持的PHP最新版本还停留在PHP 5时代...阅读全文

Golang 1.13: 解决国内 go get 无法下载的问题

在[下载并安装 go 1.13之后,安装 golang 依赖包的时候,发现长时间没有响应,无法下载,从返回的错误信息看应该是国内无法访问 golang.org。 解决办法 使用国内七牛云的 go module 镜像。 参考 https://github.com/goproxy/goproxy.cn。 golang 1.13 可以直接执行: go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct 阿里云 Go Module 国内镜像仓库服务 设置方法 go env -w GO111MODULE=on go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,dir...阅读全文

使用IP地址修改器助力网络推广

简单的说常见的网络推广渠道上主要有四类1.引擎类 google、baidu、yahoo等,主要形式以收费的关键字竞价,和免费的自然排名。 2.行业网站类 每个行业都有行业网站,各种黄页网站和大综合性门户网站也有行业目录,主要是登录,分为手工登录(效果好速度慢,需要专业人员) 自动登录 两种,而且自动登录又有 1登录推广网站(自动帮你登录多个网站目录)。2.推广软件(有些推广软件号称能做所有的事情,其实每个软件能力都是有限的有针对的)将网站推广到所能登录的各类目录(引擎)上。3.电子商务平台如阿里巴巴等等,这些大的电子商务平台可以很好推广效果,而且很多大站的反向链接,对你网站PR分(gooele的评分系统,这里泛指各种评分机制)作用是很大的。只有你的PR高了,你的网站自然排名才会高,自然排名高...阅读全文

博文 2019-01-21 09:57:17 xunsu10

golang学习笔记

1.GO面向过程 优点 速度快,高性能(类似c),开发速度快(类似python),原生并发支持(类似erlang) 流程控制 函数 2.GO面向对象 数据结构 Array,Slice,Map 封装 通过struct类似封装,大小写控制访问权限 结构 接口struct 非侵入式接口 3.并发 协程 调度由用户自己控制,本质上有点类似于用户级线程,这些用户级线程的调度也是自己实现的,不需要OS抢占式调度 同步机制 通过(channel)通信 1>不带缓冲的channel(同步) 2>带缓冲的channel(异步) 共享内存加锁 sync.Mutex和sync.RWMutex 4.网络 网络协议 Dial()函数封装 http协议接口 JSON 编码为JSON func Marshal 解码JSO...阅读全文

博文 2017-09-13 12:04:58 总是这样_2757

建站宝盒到底有多大的威力令人为之痴迷?

建站宝盒是针对中小企业用户建站需求而打造的一款自助建站系统。用户只需通过在线申请账号和密码的方式建网站,不用自己上传源代码,只需登录网站管理系统即可选择网站模板风格、上传文字和图片内容、设置网站栏目、维护网站内容,其针对不同行业特点精心设计的网站栏目和网页风格。 此外,建站宝盒支持三种语言中文版网站、繁体版网站、英文版网站、运用功能强大的管理平台。建站宝盒大大节省建立网站的成本,极大地缩短了企业建站的时间。 ![5.jpg](https://static.studygolang.com/180427/a0738317884ddcaeebd9d5b132fd9a31.jpg) 简单易用 强大灵活 传统网站建设做出的网站管理后台功能简单,后期维护、网站建设周期长,修改...阅读全文

用户UID的几种生成方案

本文目的是介绍市面上流行的UID生成方式、优劣情况,帮助读者根据自己的产品类型和用户规模选择合适的生成方案。什么是UID?UID是一个系统内用户的唯一标识,UID的特性: 唯一性、可公开广播、存在可能价值等。唯一性通过UID可以快速映射到一个具体的唯一用户上,类似于hash、短网址映射。可公开广播UID可以和用户的账号形成对应关系。对于某些以手机号、邮箱这些隐私内容为登录账号的系统,如果想增加转账这种业务,输入对方的UID,可以做到隐私保护。存在可能价值类似QQ靓号、B站短ID、微博ID这种可以存在部分价值。流行的生成方式随机生成-普通查重模式经典表ID自增模式号池模式随机生成-查重模式-加位法类Snowflake模式UUID模式随机生成-普通查重模式使用rand函数随机成生结果,再去use...阅读全文

博文 2020-08-12 10:32:39 boywus

go语言实现markdown解析库

Blackfriday是在Go中实现的Markdown处理器。您可以安全地输入用户提供的数据,速度快,支持通用扩展(表,智能标点符号替换等),并且对于所有utf-8(unicode)都是安全的输入。 ** 文章转自go语言中文文档 [http://www.topgoer.com](http://www.topgoer.com/?from=studygolang "文章转自go语言中文文档http://www.topgoer.com") ** 当前支持HTML输出以及Smartypants扩展。 ### 使用 首先当然要引入: ``` import github.com/russross/blackfriday ``` 然后 ``` output := blackfriday.Markdown...阅读全文

博文 2020-02-03 11:20:07 lu569368

go web编程——路由与http服务

本文主要讲解go语言web编程中的路由与http服务基本原理。首先,使用go语言启动一个最简单的http服务:package main import ( "log" "net/http" ) func main() { http.HandleFunc("/", sayHello) log.Println("server running...") log.Fatal(http.ListenAndServe("localhost:4000", nil)) } func sayHello(writer http.ResponseWriter, req *http.Request) { writer.Write([]byte("hello world!")) }编译,运行,浏览器访问 http://...阅读全文

博文 2019-12-19 15:17:32 JetWu

为什么Netty的FastThreadLocal速度快

一个监控项目有个需求,会对一批域名全国的边缘节点进行探测,这里包括,丢包率,http 响应时间,探测频率大概时间是2min 一个周期。这里的域名大概有几百个甚至上千。由于是golang 写的调度和agent, 所以,这里探测丢包率是一个有意思的问题。由于目前git 上没有一个好用的支持multi-ping 的库包,或者多ping 有bug,我自己实现了一个。 git 地址:https://github.com/caucy/batch_ping 1,icmp 协议介绍 icmp 的报文头部一共是2+2+4+4+4 个字节。 type ICMP struct { Type uint8 Code uint8 CheckSum uint16 Identifier uint16 SequenceNum...阅读全文

博文 2019-10-15 23:32:50 aside section ._1OhGeD

每周一个Github项目【第四期】hugo

一个用Go实现的快速灵活的静态页面生成工具 // A Fast and Flexible Static Site Generator built with love in GoLang. 名称 hugo 地址 Github 作者 spf13等 Brief Intro A Fast and Flexible Static Site Generator built with love in GoLang. LICENSE Apache 2.0 starts 19,204 介绍 Hugo 是一个快速灵活的静态页面生成工具。它在速度、易用性和可配置性上进行了优化。Hugo可以把一个包含内容、模板的文件夹渲染为一个完整的HTML网站。 Hugo基于Markdown文件。 Hugo可以在瞬间渲染出一个中...阅读全文

博文 2017-09-09 12:51:29 zablog.me

想提高用户访问的响应速度和成功率还不赶快学习CDN

课程介绍 CDN可以将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。 产品详情:https://www.aliyun.com/product/cdn 课时列表 • 课时1:CDN开通和计费 • 课时2:CDN添加加速域名 • 课时3:CDN加速域名的管理 • 课时4:CDN缓存设置 • 课时5:CDN防盗链设置 开始学习:http://click.aliyun.com/m/27844/ ...阅读全文

Golang下载包技巧

1. golang 的包, 对应下载在下面自己找 https://github.com/golang2. 下载失败或者速度慢, 直接网页打开链接例如 github.com/frankban/quicktest下载完毕之后放到GOPATH路径下src/github.com/frankban下即可, 记住下载目录带master, 自行去除其他模块module google.golang.org/protobuf https://github.com/protocolbuffers/protobuf-g...阅读全文

博文 2020-06-17 17:49:10 听我一言ing

想了解阿里云CDN产品介绍及使用入门,还不快点进了

课程介绍 通过CDN,可以将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。 本课程主要讲解阿里云CDN产品的使用方法。 课时列表 • 课时1:创建CDN并添加域名 • 课时2:利用工具合并CDN日志操作 • 课时3:通过资源监控定位CDN域名当前情况 • 课时4:CDN产品介绍 • 课时5:CDN的安全防护 • 课时6:CDN的页面优化、GZIP和range回源 • 课时7:CDN的HTTP头含义 • 课时8:CDN配置回源host及自定义404页面 • 课时9:CDN设置防盗链及使用鉴权功能 ...阅读全文

缓存命中率

概念:所谓缓存命中率,是指直接通过缓存获取数据的请求次数,占所有数据请求次数的百分比命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好优点:缓存是现在所有高并发系统必需的核心模块,主要作用就是把经常访问的数据(也就是热点数据),提前读入到内存中。这样,下次访问时就可以直接从内存读取数据,而不需要经过硬盘,从而加快应用程序的响应速度如何查询缓存命中率:Linux 系统中并没有直接提供这些接口,可以使用cachestat 和 cachetop查看系统缓存命中率cachestat提供了整个操作系统缓存的读写命中情况。cachetop 提供了每个进程的缓存命中情况查看指定文件缓存的大小:使用pcstat工具先安装go安装 pcstatexport GOPATH=~/goexport PA...阅读全文

Go语言学习历程——Go语言基础语法入门

GO语言特性开发者使用编程语言的三大分类(执行速度,简易程度,开发难度)1.执行速度快、编译速度慢(编译型):C,C++2.执行速度较慢,编译速度快(解释型):JAVA,.NET3.执行速度慢,开发难度小(动态脚本):Python,PHPGO语言在三个条件做了平衡:易于开发,快速编译,高效执行1.helloworldpackage mainimport "fmt"func main { fmt.Println("hello world")}注意: 1.如果需要将程序编译成二进制程序,要将包名写成main包第一个Go程序解读: 1.package Go源文件开头必须使用package声明代码所属包,包是Go代码分发的最基本单位。若程序需要运行,则包名必须为main。 2.import impo...阅读全文

博文 2020-05-17 01:33:14 wujunqi1996

Redis的数据结构与对象——跳跃表

引言:跳跃表是一种有序数据结构,它通过在每个节点中维持多个执行其他节点的指针,从而达到快速访问节点的目的。跳跃表的查询速度可以和平衡书相媲美,平均时间复杂度O(logN),最坏O(N),但实现起来比平衡树要简单很多。跳跃在redis中只有两个地方使用,一个是有序集合(zset还使用了字典加跳跃表实现),另一个是集群节点中用作内部数据结构。一、实现跳跃表由redis.h/zskiplistNode和redis.h/zskiplist两个结构体实现1.1、跳跃表节点 struct zskiplistNode{ struct zskiplistNode *backward;// 后退指针 double score;// 分值 robj *obj;// 成员对象 struct zskiplistLe...阅读全文

博文 2020-04-24 01:32:43 rookie_yuqi

函数——go世界中的一等公民

函数的本质在go的世界中,函数是一等公民,可以给变量赋值,可以作为参数传递,也可以直接赋值。package main import ( "fmt" "time" ) func A() { // ... fmt.Println("this is a") } func B(f func()) { // ... } func C() func() { return A } var f func() = C() func main() { time.Sleep(time.Minute) v := C() v() } 在go语言中将这样的变量、参数、返回值,即在堆空间和栈空间中绑定函数的值,称为function value函数的指令在编译期间生成,使用go tool compile -S main.g...阅读全文

博文 2020-07-22 22:32:45 Destiny池鱼

【golang】变量的stack与heap分配

堆栈定义 栈 stack:由操作系统自动释放,存放函数的参数值、局部变量等,更新速度快。 堆 heap:一般由程序员释放,在Golang中自动垃圾回收gc掉,存放全局变量、共享变量等。 golang 参数传递重点 使用值传递,该值存放在stack上,当return时候会自动释放。 使用引用传递,该值存放在heap上,需要gc。 使用引用传递,因为复制的是一份地址,减少大的结构体传递的内存占用。但因为存放在heap上需要垃圾回收掉,运行速度要比值传递慢。所以出来共享传递参数外,尽量值传递 golang 变量函数中分配位置 go语言编译器会自动决定把一个变量放在栈还是放在堆,编译器会做逃逸分析(escape analysis),当发现变量的作用域没有跑出函数范围,就可以在栈上,反之则必须分配在堆...阅读全文

博文 2020-04-16 03:32:47 dongzaidong

网络爬虫如何添加爬虫代理

现在的互联网时代,大数据的进步,网络爬虫也越来越多的网络爬虫用户。网络爬虫用户在做业务是,访问目标网站时会触发目标网站的反爬机制。由于网络爬虫用户的请求量大和采集速度快,就会导致出现这种情况,如何解决这种情况,就需要用到常见的爬虫代理IP了。那网络爬虫如何寻找这些有效的爬虫代理IP呢?1、浏览器上搜索免费代理IP2、通过自己的爬虫程序去爬取IP3、通过浏览器或者代码验证IP的有效性4、保存文本格式网上爬虫取到的免费代理加到自己的IP池去使用,有些代理虽然能用。但是对于公司业务或者是对代理IP的质量要求高的爬虫用户,不建议使用网上的免费代理,在使用免费代理的过程中很有可能会出现IP失效,网络不稳定,安全性和稳定性等问题,质量明显不行。至于如何选择取决于自己的需求,个人建议使用自动转发的爬虫代理...阅读全文

GO系列 | 00、Go简介

hello,大家好,我是小白,断断续续拖更公众号接近半年了吧,这半年多的时间很忙碌,积攒了很多学到的小知识,也换了个团队,接下来尽量陆陆续续的分享给大家吧~ 坚持不拖更哈。。一、Go背景介绍Go(或 Golang) 是非常年轻的一门语言,起源于 2007 年,并在 2009 年正式对外发布。它的主要目标是“ C/C++ 等编译型语言的性能与安全性和兼具 Python 等动态语言的开发速度”。Go语言是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持,所以用途众多。Go语言的推出,目的在应用程序的高性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前诸多 IT 公司都开始采用Go语言开发项目,同时,很多重要的开源...阅读全文

博文 2020-08-19 08:32:37 喝醉的清茶