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

基于AliOS Things玩转智能语音

随着AI技术的进步,智能语音开始将人机交互从手+眼睛的传统模式中解放出来。带给人们更便捷、更风趣、更有人情味的体验,让被操作对象变得不再只是一个死板的工具,而更像是一个有生命的助理。“帮我打开空调”,“明天上班需要带伞吗”,“帮我冲100块钱话费”…在万物互联的时代,你的所有需求只需要一句话便能实现。 AliOS Things 集成的Link Voice SDK即可实现智能语音交互。 关于阿里智能语音服务 阿里智能语音服务为设备提供语音交互能力、丰富的音乐内容、智能家居控制等,并可进行专有设备技能定制(如:语音操控跑步机、按摩椅等设备)。包括: 通用服务:搜歌、搜栏目、搜电台、问天气、百科、四则运算等; 阿里服务:控制智能家居、充值手机费、天猫超市购物、查询电费等 (需接入...阅读全文

阿里云播放器SDK的正确打开方式 | 功能、架构与应用(一)

阿里云播放器SDK(ApsaraVideo for Player SDK)是阿里视频云端到云到端服务的重要一环,除了支持点播和直播的基础播放功能外,还深度融合视频云业务,支持视频的加密播放、安全下载、首屏秒开、低延时等业务场景,为用户提供简单、快速、安全、稳定的视频播放服务。本文将从产品特点、技术架构、点播和直播场景中播放器的应用等几个方面来介绍阿里云播放器SDK。 阿里云播放器SDK具有哪些特点? 一、 快速接入 因为面对的是不同层次的开发者,在接入成本上需要考虑的尽量全面。为此,阿里云播放器提供了详尽完备的文档和场景化的DEMO,为用户参考使用,另外,视频指导教程和针对不同问题和场景的专题介绍也能帮助用户更好、更快地接入。 二、 简单集成 Android和iOS提供统一接口...阅读全文

[翻译]Go 和汇编

使用 cgo 让 Go 跟 C 一起工作已经不是啥稀奇的了。有大量的第三方包直接对 C 的库做了封装,提供给 Go 使用。从 Go 项目本身的代码中可以看到,不但有 C 代码,还有汇编代码存在。那么在自己的项目中是否能跟汇编结合呢?这篇文章完整并清晰的解说了如何让 Go 和汇编协同工作。真得性能敏感?上汇编吧!! ————翻译分隔线———— Go 和汇编 关于 Go,我最喜欢的部分之一就是它那坚定不移的实用主义线路。有时我们过于强调语言的设计,而忘记了编程所包含的其他内容。例如: Go 的编译器很快 Go 有着强大的标准库 Go 可以工作在多种平台下 Go 有着可以通过命令行/本地 Web 服务/ Internet 访问的完整文档 所有 Go 的代码是静态编译的,因此部署的问题微不足道 全部...阅读全文

博文 2014-10-09 16:18:21 mikespook

win下gosublime配置ctag

ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。 参考: http://baike.baidu.com/view/9340968.htm 环境准备: 1、安装 sublimetext 3 下载安装最新版本 sublimetext 3 http://www.sublimetext.com/3 2、安装 Package Control, 在打开 Sublime Text 3以后,按下快捷键 Ctrl + `或者到菜单栏的:View > Show Console执行以下命令 import urlli...阅读全文

博文 2015-03-27 09:46:34 ghj1976

请教一个字符编码转换的问题

使用go在windows下编程是,因go是UTF8的编码方式,但在用go读一些网页时,由于有些网页使用GBK的编码方式,这样,在存在转码的问题,找了很久,网上有这个第三方库,但怎么装都不成功,总有一些错,请大虾指点一下。我完全是个新手,谢谢! https://github.com/djimenez/iconv-go https://github.com/qiniu/iconv 以下是安装 https://github.com/qiniu/iconvr 的报错 C:\Users\sh>go get github.com/qiniu/iconv # github.com/qiniu/iconv C:/mingw64/bin/../lib/gcc/x86_64-w...阅读全文

【功能盘点】升级后的媒体处理MPS有哪些能力?

摘要: 不同于其他云服务厂商的媒体转码产品,阿里云将更多的技术赋能给用户,通过媒体处理,用户可以基于海量数据深度学习,对媒体的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑等视频平台不可或缺的能力。 近日,阿里云媒体转码(MTS)升级为媒体处理(MPS),原音视频转码功能不受影响,除此之外,媒体处理新增智能审核、编辑等功能。 image 自建转码与采用阿里云媒体处理的区别 阿里云媒体处理服务是基于阿里云庞大基础设施体系和计算能力而构建的,它改变了传统的购买、搭建、管理转码软硬件的高昂投入以及配置优化、转码参数适配等复杂性问题。同时,借助云计算服务的弹性伸缩的特性,可以按需提供转码能力,从而最大限度的满足业务转码需求、避免资源浪费。 采用阿里云媒体处理...阅读全文

小白入坑同性交友网站github总结

小白入坑同性交友网站github总结 常用词汇及含义 1. watch 表示会持续收到该项目的动态 2. fork 复制某个项目到自己的github仓库 3. star 可以理解为点赞的个数 4. clone 将远程服务器上的源代码下载到本地 5. follow 关注你感兴趣的作者,会收到他们的动态 可以从图中看到我们可以在途中一次找到上面的几个功能的区域,但是没有follow,如果想要关注某个开发者可以直接点击他的头像进去他的主页在头像下方就可以follow某个开发者 in 关键字限制搜索范围 我们可以使用一些搜索的技巧,就像我们使用搜索引擎一样,比如有个叫google hack的东西,很多学习安全的人都回去学google一些高级的搜索语法。在github中也同样有一些高级的搜索的语法。 ...阅读全文

博文 2019-04-13 14:34:42 _AlphaBaby_

我做了一个霸气侧漏的极客专属版万圣节南瓜机器人!

万圣节就要到了,极客、程序员们如何玩转万圣节?先来一个错误示范: ![alt text]( https://is.golangtc.com/upload/image/15824c31bd6711e7b35900163e0090de.jpg) emmmm....确实,指望装扮搞怪在“妖魔鬼怪”横行的万圣节上取胜,显然不是我们这种技术人员的强项,所以我们公司的程序员决定发挥他们的特长,定制一个捣蛋南瓜——一个炫酷的万圣节南瓜机器人,也是世界上第一只“糖果”驱动型 HEXA。 这个“南瓜”机器人不仅可以点亮糖果( LED 灯带),还能凶猛决断地移动,耍起萌来也是无敌。操作它去要糖果,本公司程序员大概能得到 1 年份的脂肪储备粮库了。 **“南瓜”机器人视...阅读全文

Go语言阅读小笔记,来自知呼达达关于unsafe.Pointer的分享.

第一式 - 获得Slice和String的内存数据 func stringPointer(s string) unsafe.Pointer { p := (*reflect.StringHeader)(unsafe.Pointer(&s)) return unsafe.Pointer(p.Data) } func bytePointer(b []byte) unsafe.Pointer { p := (*reflect.SliceHeader)(unsafe.Pointer(&b)) return unsafe.Pointer(p.Data) } 第二式 - 把[]byte转成string package test import "testing" import "unsafe" func ...阅读全文

博文 2015-11-16 10:00:00 fyxichen

阿里云消息服务使用教程

课程介绍 阿里云消息服务(Message Service,原MQS)是阿里云商用的消息中间件服务。与传统的消息中间件不同,消息服务一开始就是基于阿里云自主研发的飞天分布式系统来设计和实现,具有大规模,高可靠、高并发访问和超强消息堆积能力的特点。消息服务API采用HTTP RESTful标准,接入方便,跨网络能力强;已全面接入资源访问控制服务(RAM)、专有网络(VPC),支持各种安全访问控制;接入云监控,提供完善的监控及报警机制。消息服务提供丰富的SDK、解决方案、最佳实践和7x24小时的技术支持,帮助应用开发者在应用组件之间自由地传递数据和构建松耦合、分布式、高可用系统。 消息服务同时具备发送短信的能力,支持快速发送短信验证码、短信通知、推广短信。完美支撑双11期间的2亿用户发...阅读全文

rete算法学习

在上篇博客中,介绍了策略型业务逻辑处理中几种选择,其中有一种选择就是利用规则引擎来进行逻辑处理。其实藏在规则引擎的底层中还是有很多算法的,其中有一种算法是rete算法,最近正好也关注算法,就简单的学习了一下,因为对这个算法理解的非常清楚,所以如果有有对这个算法熟悉的朋友,可以给予指正。 RETE算法是一个用于产生式系统的高效模式匹配算法。在一个产生式系统中,被处理的数据叫做working memory,用于判定的规则分为两个部分LHS(left-hand-side)和RHS(right hand side),分别表示前提和结论。主要流程可以分为以下步骤:Match:找出符合LHS部分的working memory集合Confilict resolution:选出一个条件被满足的规则Act:执...阅读全文

博文 2017-11-29 01:46:20 lfsf802

golang的json操作

package main import ( "encoding/json" "fmt" "os" ) type ConfigStruct struct { Host string `json:"host"` Port int `json:"port"` AnalyticsFile string `json:"analytics_file"` StaticFileVersion int `json:"static_file_version"` StaticDir string `json:"static_dir"` TemplatesDir string `json:"templates_dir"` SerTcpSocketHost string `json:"serTcpSocketHost...阅读全文

博文 2014-10-04 19:25:57 go-ios

google hosts 2015.1.4

感谢互联网为所有人提供开放自由的服务,祝愿祖国繁荣富强人民安居乐业... google hosts 2015.1.4 更新,本文只提供google相关服务的hosts,目前有效 注1:请使用chrome浏览器,并在地址栏里输入 chrome://flags/,然后查找QUIC,启用该协议,同时建议启用SPDY/4,能让访问更流畅。 注2:请使用https的方式访问,比如:https://www.google.com 注3:默认可能会跳转到www.google.com.hk,如果.hk访问困难,请使用:https://www.google.com/ncr 方式访问,禁止国别跳转。 ====更新分界线,复制下面内容到hosts文件即可===== #google hosts 2015 by 360...阅读全文

博文 2015-01-05 16:00:01 明舞

一起学context(一)——上下文值传递

系列开篇 本文开始将针对context的用法进行系统化讨论,在这里你将能够在工作中合理使用context解决一些比较棘手的问题。 context处理超时处理之外还可以用来保存数据,当你需要在多个上下文传递时传递数据,那么本文提到的知识可以排上用场。 示例代码 示例代码为一个简单的http服务,流程是登录之后会跳转首页,首页通过guard中间件进行鉴权。当然,示例代码未做其他诸如连接数据库之类的处理,这不是本文的重点。守卫函数读取cookie之后将cookie值写入context并向下传递,在整个请求中可以说是“透明”的。当访问到需要保护的接口时检测到没有提供cookie,则直接终端请求,否则通过r.WithContext将username的值存入cookie,避免的业务接口直接读取cooki...阅读全文

博文 2018-10-17 22:34:41 xialeistudio

大型网站的HTTPS实践(二)-- HTTPS对性能的影响

1 前言 HTTPS在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS也会降低用户访问速度,增加网站服务器的计算资源消耗。 本文主要介绍https对用户体验的影响。 本文最早发表于百度运维部官方博客 2 HTTPS对访问速度的影响 在介绍速度优化策略之前,先来看下HTTPS对速度有什么影响。影响主要来自两方面: 1. 协议交互所增加的网络RTT(round trip time)。 2. 加解密相关的计算耗时。 下面分别介绍一下。 2.1 网络耗时增加 由于 HTTP和HTTPS都需要DNS解析,并且大部分情况下使用了DNS缓存,为了突出对比效果,忽略主域名的DNS解析时间。 用户使用HTTP协议访问http://www.baidu.com(或者www.baidu.c...阅读全文

博文 2015-05-04 11:27:08 luocn99

exec.Command管道实现循环输入

目前有一个程序需要启用另外一个code.exe程序来做转码处理 此程序运行后是一个死循环的,就等待输入按回车后就返回相应的解码数据 现在用exec.Command启动程序后就只能使用管道输入一次,代码如下 ``` cmd := exec.Command("./code.exe") var pipIn,pipOut bytes.Buffer cmd.Stdin = &pipIn cmd.Stdout = &pipOut cmd.Run() pipIn.WriteString(fmt.Sprintf("%s\n", "35063812556aa2cdd6d1cbd")) time.Sleep(time.Millisecond * 500) fmt.Prin...阅读全文

重定向301和302

网上很多关于301和302的区别,这里只举实例以作说明:3011、浏览器第一次访问url时,会请求服务器,然后从响应头的Location字段拿到落地页做跳转2、浏览器后面再访问url时,不会请求服务器,直接用浏览器缓存直接跳转到最终落地页3、清理浏览器缓存后,再次请求url,同第1步3021、浏览器无论什么时候访问url,都会请求服务器,然后从响应头的Location字段拿到落地页做跳转综上:如果希望每次跳转都经过服务器,必须使用30...阅读全文

博文 2019-08-06 10:37:04 yanglikai

base64 加密解密 golang (转)

http://www.linuxidc.com/Linux/2014-06/103843.htm package mainimport ( "encoding/base64" "fmt")const ( base64Table = "1230QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr2345601789120")var coder = base64.NewEncoding(base64Table)func base64Encode(src []byte) []byte { return []byte(coder.EncodeToString(src))}func base64Decode(src []byte) ([]byte, err...阅读全文

博文 2014-10-04 19:27:36 984195889

揭秘 | 直播美颜不靠脸 靠的是阿里云程序员?

在这个看脸的时代,美颜已经成为必不可少的社交工具。不仅美颜相机成为了装机必备,各大直播APP也都相继推出美颜功能,利用摄像头对人脸进行追踪并叠加特效的新玩法也层出不穷。在市场热的背后,离不开技术支持。那么看似简单的美颜背后隐藏了哪些技术,它们的开发难点在哪里, 本文将为你揭晓。 先来看看什么才是真正的美颜 如果你是直播APP的重度使用者,就会知道其实美颜也有天差地别之分。有的美颜能让你的皮肤看起来平滑细腻又红润,整个人颜值加分不少,而有的却是模糊一片,连人脸边缘都分辨不出,美颜不成反而观感不佳。 那为什么落差如此之大呢?其实是因为美颜是有真假之分的。真正的美颜是需要对于人脸区域进行预先的检测和定位,只对肤色区域进行特定处理,使皮肤变得更透亮。而假美颜则是直接对整个画面进行调整,...阅读全文

google hosts 2014.12.16 更新

google hosts 2014.12.16 更新,本文只提供google相关服务的hosts,目前有效,失效后会及时更新。 注1:请使用chrome浏览器,并在地址栏里输入 chrome://flags/,然后查找QUIC,启用该协议,同时建议启用SPDY/4,能让访问更流畅。 注2:请使用https的方式访问,比如:https://www.google.com 注3:默认可能会跳转到www.google.com.hk,如果.hk访问困难,请使用:https://www.google.com/ncr 方式访问,禁止国别跳转。 ====更新分界线,复制下面内容到hosts文件即可====== #google hosts 2014 by 360kb.com #base services↓ 6...阅读全文

博文 2014-12-23 13:00:03 弹一曲Happy颂

google hosts配置

注1:请使用chrome浏览器,并在地址栏里输入 chrome://flags/,然后查找QUIC,启用该协议,同时建议启用SPDY/4,能让访问更流畅。 注2:请使用https的方式访问,比如:https://www.google.com 注3:默认可能会跳转到www.google.com.hk,如果.hk访问困难,请使用:https://www.google.com/ncr 方式访问,禁止国别跳转。 64.233.166.105 www.google.com.hk64.233.166.105 www.google.com203.208.46.132 accounts.google.com 203.208.46.132 accounts.l.google.com203.208.46.132...阅读全文

博文 2014-12-13 08:00:01 吕坤

从零开始自建博客 (一)

2018 准备写点东西,于是有了下文。 1. 域名+网站空间 2016年 [小橘子](https://asmallorange.com/) 做促销时买的三年VPS 4G RAM+50G DISK +2 CPU 送一个域名 135$ 。 2. 博客程序 动态博客需要程序支撑,而且服务器环境要求高、迁移不易、安全等问题。主流静态博客生成工具有: * hexo nodejs 编写,跨平台,中文文档全。* hugo Golang 编写,跨平台,生成速度快。最终选择使用hugo,他的先天优势是一个执行文件就可以运行,而hexo 则需要安装nodejs 环境。 3. 评论留言系统 静态博客要支持评论留言有二种方式 * 第三方 搜狐提供的 (畅言 - 专业的社会化评论系统), 需要备案; (Disqus)...阅读全文

博文 2018-07-10 01:34:41 XinFlyfei

高级算法专家储开颜:无端不视频 阿里视频云三大端上技术能力

摘要: 阿里云拥有领先的云计算能力和丰富完善的基础设施,我们可以看到云上面的视频能力越来越强,我们可以在云端构建导播台、进行视频剪辑和个性化处理、极速转码、安全高效进行内容分发等等。而在储开颜看来,端也是很重要的一块。他认为视频链路中的“端“即是入口,也是出口,无端不视频。 近日,阿里云高级算法专家储开颜在云栖大会北京峰会上进行了《视不可挡,无端不视频》的主题演讲,介绍了当今视频行业的发展情况,并对阿里视频云三大端上的技术能力做了详细解读。 **视不可挡 在线视频市场发展现状** 本次分享从“视不可挡”开始,根据行业报告显示,2017上半年中国在线视频行业用户规模已经接近6亿,从2014年至今,用户规模增长率一直稳中有升。而2017年在线视频市场规模已经达到了503.3亿元,可...阅读全文

玩转算法系列--图论精讲 面试升职必备(Java版)

​玩转算法系列--图论精讲 面试升职必备(Java版)图论算法是所有计算机专业的同学必学的基础知识;也是在算法,数据结构,离散数学等领域的重要内容;是面试,升职,计算机专业考研,考博的必考内容;更是计算机网络,编译原理,社交网络算法等领域的基础。但是,由于图论算法本身的复杂性和抽象性,让大多数同学头疼不已。在这个课程中,bobo老师将用其独到的问题讲解方式,庖丁解牛,深入浅出,让大家在这个课程中,真正地玩转图论算法。适合人群准备大厂面试的同学;准备竞赛, 考研的同学;对计算机基础算法感兴趣, 渴望提高自己内功水平的同学。技术储备要求有Java语法基础;有一定数据结构基础;章节目录:1-1 欢迎大家来到《玩转图论算法》 试看1-2 图论到底有什么用? 试看1-3 课程编程环境的搭建第2章 图的...阅读全文

博文 2019-11-21 03:34:45 taiyangneng

Go中调用dll示例

package main import ( "syscall" ) func main(){ h, err := syscall.LoadLibrary("kernel32.dll") if err != nil { abort("LoadLibrary", err) } defer syscall.FreeLibrary(h) proc, err := syscall.GetProcAddress(h, "GetVersion") if err != nil { abort("GetProcAddress", err) } r, _, _ := syscall.Syscall(uintptr(proc), 0, 0, 0, 0) print_version(uint32(r)) } fun...阅读全文

博文 2015-11-19 13:00:01 rznice

阿里云媒体转码MTS使用教程

课程介绍 媒体转码(ApsaraVideo for Media Transcoding)是为多媒体数据提供的转码计算服务。它以经济、弹性和高可扩展的音视频转换方法,将多媒体数据转码成适合在PC、TV以及移动终端上播放的格式。适用于音视频网站、在线教育、金融视频、电商视频等多种场景。 产品详情:https://www.aliyun.com/product/mts 课时列表 • 课时1:如何开通媒体转码服务 • 课时2:媒体转码服务计费说明 • 课时3:如何提交单个转码任务 • 课时4:如何配置媒体工作流 • 课时5:如何使用媒体工作流提交转码任务 开始学习http://click.aliyun.com/m/27882/ ...阅读全文

go语言vim开发环境快捷键

生成标签 gotags -R 项目 > tags 跳转到变量定义 光标在某变量或函数上,输入gd跳转;ctrl+o或者Ctrl+t返回 tagbar F8是tagbar快捷键,按一下出现tagbar,再按一下隐藏 nerdtree 当你需要浏览目录的时候,就可以使用快捷键F4 来调出浏览窗口了,再按一下隐藏 遍历标签 help tags获取帮助信息 ctrl+]查找特定名称标签 tp正向遍历同名标签 tn反向遍历同名标签 tl跳到最后一个 ts列出所有符合条件的tag 函数补全 Ctrl+x+o buffer窗口切换快捷键 MBEbn前一个窗口 MBEbp后一个窗口 $(function () { $('pre.prettyprint code').each(function () { va...阅读全文

博文 2015-11-16 16:01:31 yuanfang_way

阿里云媒体转码MTS使用教程

课程介绍 媒体转码(ApsaraVideo for Media Transcoding)是为多媒体数据提供的转码计算服务。它以经济、弹性和高可扩展的音视频转换方法,将多媒体数据转码成适合在PC、TV以及移动终端上播放的格式。适用于音视频网站、在线教育、金融视频、电商视频等多种场景。 产品详情:https://www.aliyun.com/product/mts 课时列表 • 课时1:如何开通媒体转码服务 • 课时2:媒体转码服务计费说明 • 课时3:如何提交单个转码任务 • 课时4:如何配置媒体工作流 • 课时5:如何使用媒体工作流提交转码任务 开始学习http://click.aliyun.com/m/27882...阅读全文

IDEA+Go高亮出错

开发工具: IDEA 2016.3.3/2016.3.4 社区版、旗舰版都试过,golang 1.7.5,Go插件版本0.13.1924 现象: exec.Command("system_profiler", "SPHardwareDataType").CombinedOutput() inf, _ := net.InterfaceByName(name) MAC := strings.TrimSuffix(inf.HardwareAddr.String(), ":00:00") 上面几行代码中,CombinedOutput、.String()都变成了红色,按住Command键后单击也无法跳转到源码,进入sdk源码后可以看到CombinedOutput方法...阅读全文

beego实现用户未登录跳转到登录页面

主要涉及内容: 1. 自动路由 2. 过滤器 3. session控制 4. 表单请求数据处理 main.go ```go //这里应该加载 "github.com/astaxie/beego/context" 否则会加载src/context //过滤器 var FilterUser = func(ctx *context.Context){ _, ok := ctx.Input.Session("uid").(string) ok2 := strings.Contains(ctx.Request.RequestURI, "/login") if !ok && !ok2{ ctx.Redirect(302, "/login/index") } } func main() { //注册过滤器...阅读全文

博文 2018-11-21 19:13:26 lijingtian

golang time 包 常用函数

package main import ( "fmt" "time" ) func main() { now := time.Now() s := now.Unix() //秒 ns := now.UnixNano() //纳秒 fmt.Println(now) //当前时间格式 fmt.Println(s) // fmt.Println(ns) //纳秒 fmt.Println(ns / 1e6) //纳秒转毫秒 fmt.Println(ns / 1e9) //纳秒转秒 fmt.Println() fmt.Println(time.Unix(s, 0)) //秒转时间格式 fmt.Println(time.Unix(0, ns)) //纳秒时间格式 fmt.Println(time.Uni...阅读全文

博文 2016-11-15 10:00:05 liangguangchuan

大规模并行批处理作业的分布式云服务——批量计算使用教程

课程介绍 批量计算(BatchCompute)是一种适用于大规模并行批处理作业的分布式云服务。BatchCompute可支持海量作业并发规模,系统自动完成资源管理,作业调度和数据加载,并按实际使用量计费。BatchCompute广泛应用于电影动画渲染、生物数据分析、多媒体转码、金融保险分析、科学计算等领域。 产品详情:https://www.aliyun.com/product/batchcompute 课时列表 • 课时1:Docker应用使用演示 • 课时2:控制台提交和管理作业 • 课时3:命令行工具安装和配置 • 课时4:命令行工具提交和管理作业 • 课时5:云渲染管理系统使用演示 • 课时6:自定义镜像 开始学习http:...阅读全文

关于json转struct struct中有map

有这么一个json,我想直接转成struct struct ``` type whatBean struct { action string control string } ............... tmp := "{\"这个key好多\":{\"action\":\"123\",\"control\":\"456\"},\"这个key真的好多所以用map\":{\"action\":\"/roamApi/getAuthStatus.action\",\"control\":\"https://sosona.com:8443\"}}" var grid map[string]whatBean json.Unmarshal([]byte(tmp), &g...阅读全文

golang trace工具使用

1)增加如下代码 //导入包 import ( "net/http" _ "net/http/pprof" ) //增加如下代码 go func() { fmt.Println(http.ListenAndServe(":5567", nil)) }() 2)执行curl 127.0.0.1:5567/debug/pprof/trace?seconds=10 > trace.data,获取到trace.data数据 3) 执行 go tool trace -http=':8888' your_app_bin trace.data。会跳转到浏览器查看trace到数据...阅读全文

博文 2017-05-25 05:00:38 xloogson

golang CIDR 与 IpMask 互转解析

在网络设备上,没家厂商表示ip的形式各不相同,但可能表示的是同一个意思, 列如 10.95.134.192/29 = 10.95.134.192/255.255.255.248 CIDR表示方法:IP地址/网络ID的位数,比如10.95.134.192/29,其中用29位表示网络ID。 CIDR to IpMask _, ipNet, err := net.ParseCIDR("10.95.134.192/29") if err != nil { fmt.Println(err) } val := make([]byte, len(ipNet.Mask)) copy(val, ipNet.Mask) var s []string for _, i := range val[:] { s = ...阅读全文

博文 2018-11-15 01:34:40 包牙齿

关于session,求帮忙找找错

登陆时进入loginin,密码正确后创建session,返回true。网页端拿到true后跳转到第二张页面,验证session,此时从firebug上就看不到请求,拿到的session也为空,很奇怪,不知道哪里错了。想请大家帮忙看看 func sessionCreate(w http.ResponseWriter, r *http.Request, username string) { //创建session state := string(random.NewRandomEx()) //生成服务器端随机数 fmt.Println("state:", state) sidBytes, err := id.NewSessionId() //生成客户端随机数 if err ...阅读全文

Sublime Text 2使用ctags实现函数跳转

关于ctags的介绍,在这里就不介绍了,大家可以搜索了解下。(Ubuntu下测试通过,其他环境并未测试) 1. 安装ctags,如下: curl -O http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz tar xzvf ctags-5.8.tar.gz cd ctags-5.8 ./configure make sudo make install 2. 添加 ~/.ctags文件,内容如下: –langdef=Go –langmap=Go:.go –regex-Go=/func([ t]+([^)]+))?[ t]+([a-zA-Z0-9_]+)/2/d,func/ –regex-Go=/var[ t]+([a-zA-Z_][...阅读全文

博文 2014-10-09 16:54:43 Rhino(犀牛)

go在stack上干了神马?

对这个话题已经有深入理解的童鞋请绕道; 对这个话题感兴趣,且有极强学习能力的同学请阅读这里,并且不用回来了。 其他和我一样愚笨的IT民工们,继续向前冲吧…… 【2013年3月21日】以下关于 stackless 的描述有致命的脑残错误,请忽略。感谢 @minux 指出。 首先,来看一段神奇的 golang 代码: package main var ( i = 1 ) func main() { i = i + 1 print(i, "\n") main() } 熟悉 c 语言的人都知道,如果在 c 语言中编译执行类似的代码,程序最终会发生栈溢出(stack overflow),从而导致段错误(segmentation fault)。在 32 位环境下(我只有 32 位的实验环境)编译链接并执...阅读全文

博文 2014-10-09 16:15:24 mikespook

Go的条件判断语句和跳转关键字break,continue,goto

if判断语句 if判断语句的判断条件不用()包裹,可以在判断语句里面初始化判断条件的值, 当判断语句的声明变量和局部变量名称一致时候,执行到判断语句中假设变量命名是if1时,局部变量的命名if1会隐藏,等到判断语句执行完再出现 func tempIf(a int) { if a > 0 { f.Println("if is true") } else { f.Println("if is false") } } for判断语句 //循环语句只有for,支持三种形式,没有while那些循环语句 //初始化和步进表达式可以是多个值 //条件每次循环都会被重新检查,因此不建议在条件语句中使用函数,尽量提前计算好条件并以常量或者变量代替 func tempFor(a int) {//常用的循环模式 ...阅读全文

博文 2017-09-28 03:34:52 Link_Biao

让vscode完美支持go vendor的代码跳转(使用vscode必看)

Vscode是世界上最好的Go IDE!! 所以使用vscode作为Go的IDE是一件非常爽的事情。 可是事情总有不完美。现在有很多项目都是用vendor来做第三方包的版本控制,可是godef竟然不支持vendor的代码跳转!!我们想跳转到vendor中的代码,目前是无法做到的。 现在特分享一个自修改的版本,完美支持vendor特性,只要go install后,就可以爽爽的用vscode了。 欢迎大家加入Golang隐修会,群号894864,在群文件中就可下载,而且群内大神很多哦...阅读全文

博文 2017-10-27 20:59:50 erlib

记一次golang读取redis缓存,统计日活的过程

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> 最近有一个需求是从redis缓存中读取日活,redis缓存中保存着每天每个游戏的日活与局数,类型是hashset,key是$game_id:$log_date,value是玩家ID以及对应的局数,结构如下: 表示在2018-07-18日,game_id=1的游戏的日活与对应局数如下: user_id 局数 1 2 2 3 3 4 4 5 虽然能够知道所有的game_id,但是有些游戏可能没有日活,,一个一个game_id去取日活效率不是很高,所以可以执行redis的keys命令来获取有日活的所有key: 然后遍历每个key,调用hgetall命令来获取每个key对应的日活与局数信息,就可以得出每个游戏的日活与...阅读全文

博文 2018-09-01 14:33:14 Valiben