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

安装golang的mongodb驱动mgo速记

这里介绍的方法只适用于Centos平台,测试版本为centos 6.5 下载源码安装实在麻烦,这里采用比较简单的方法给GO安装mongodb驱动 安装mgo之前,需要先安装bzr yum -y install bzr 安装完成后,执行如下命令: go get labix.org/v2/mgo 成功后什么内容也不显示,没有出错提示,表示安装成功。 详细使用教程:http://labix.org/mg...阅读全文

博文 2014-10-04 19:26:12 yjken

golang 导出数据到csv文件

```go // 导出设备列表信息到csv func (ba *businessActor) ExportDeviceListInfo(deviceList []device.AllDevice, filename string) error { // 创建文件 newFile, err := os.Create(filename) if err != nil { return errors.Wrap(err, "创建文件失败") } defer func() { newFile.Close() }() // 写入UTF-8 newFile.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM,防止中文乱码 // 写数据到csv文件 w := csv.NewW...阅读全文

博文 2018-05-31 11:00:49 18393910396

[golang]一个复杂的中文编码问题

今天在网上遇到一个问题,觉得挺有意思,就帮人解答了。 需求 在编码为Latin1的MySQL数据库中插入中文数据,由另一个系统将Latin1编码的字符串转码为GBK后作为短信内容发出。 简单版解答 import ( "golang.org/x/text/encoding/charmap" "golang.org/x/text/encoding/simplifiedchinese" ) func Convert(src string) (string, error) { gbk, err := simplifiedchinese.GBK.NewEncoder().Bytes([]byte(src)) if err != nil { return "", err } latin1, err :=...阅读全文

博文 2017-09-16 03:04:56 一桶冷水

3D 可视化展示 Go 项目源码GoCity

GoCity 用于可视化展示 Go 项目的源代码。GoCity 将 Go 项目当作一个城市并遵循以下的约定: 将整个项目看作城市的“区” 将项目中的 Go 文件看作是城市的“建筑物” 将 Go 源码文件中的数据结构看作是构建于文件之上的“建筑物”(和 Go 文件通过颜色进行区分) **建筑物说明** 建筑的颜色深浅表示代码行数(LOC),行数越多,颜色越暗 建筑的基本尺寸表示变量数(NOV) 建筑的高度表示方法数(NOM) **示例** ![image](https://static.oschina.net/uploads/space/2018/1105/155107_wKLb_2720166.png...阅读全文

开源项目 2018-11-05 16:30:00 网友

记一次字符串压缩操作

记一次字符串压缩操作 项目中遇到一个场景:需要将一批数据发送到APP端,且实际应用场景中,对数据的长度有一定的限制,于是就需要用到字符串压缩。APP端使用Java,后端使用Golang,使用gzip压缩,同时涉及到了base64编码,中文和西欧字符集转码。 过程描述 后端: 字符集转换 参考自:一个复杂的中文编码问题 压缩字符串 使用base64编码为可见字符 网络传输 APP端 接收网络响应 base64解码,得到一个字节数组(压缩的) gzip读取压缩的字节流,解压缩 转码为中文 示例代码 所有示例代码可以在这里找到 server端 func compress(s string) string { //使用GBK字符集encode gbk, err := simplifiedchines...阅读全文

博文 2018-11-26 23:34:41 AlexTuan

使用 emacs 结合 xcscope 阅读 go 代码

#-TITLE: xcscope 支持 go 语言 Table of Contents 1 下载源码,编译 ./configure make sudo make install ,会把 cscope 生成到 usr/local/bin/ 下面 2 为 mac 添加补丁 2.1 patch -p0 < cscopeosx.patch 2.2 cscopeosx.patch 如下 3 把cscope源码中的contrib/xcscope/xcscope.el 拷贝到 emacs 的 load-path 中,并在 emacs 中添加如下代码 4 为源码生成 cscope 文件 4.1 find . -name "*.go" > cscope.file...阅读全文

如何搭建直播平台?低延时连麦+人工智能让互动升级

摘要: 通过集成阿里云直播SDK,用户可以轻松实现移动端、PC端的直播流推送。直播服务器接收到直播流,对流进行处理(转封装、转码等),并通过CDN进行分发。支持10万+路流输出,1000万+观众同时在线。本文将详细展开。 2016年是直播平台爆发增长的一年,直播领域不断有新应用进入,其他垂直领域也纷纷加入直播功能。为了快速切入行业,掌握市场先机,绝大部分公司都选择了用视频云厂商的解决方案来促成业务能力的快速实现,如同快手、虎牙、熊猫TV、陌陌、全民TV等热门直播平台均采用了阿里云的视频直播解决方案。 阿里云视频直播服务(ApsaraVideo Live),提供端到端的一站式视频直播解决方案。通过集成阿里云直播SDK,用户可以轻松实现移动端、PC端的直播流推送。直播服务器接收到直播...阅读全文

go源码阅读笔记(math.3)

go源码阅读笔记(math.3) dim.go package math // Dim returns the maximum of x-y or 0. // // Special cases are: // Dim(+Inf, +Inf) = NaN // Dim(-Inf, -Inf) = NaN // Dim(x, NaN) = Dim(NaN, x) = NaN func Dim(x, y float64) float64 func dim(x, y float64) float64 { return max(x-y, 0) } func dim(x, y float64) float64 ,返回x-y与0的较大者 这里我们可以看出,调用的函数max()进行了各种异常判断,所以在di...阅读全文

博文 2016-03-18 16:00:03 qq_15437667

golang遇到的win下读取txt字符乱码的问题

import ( "encoding/csv" "os" "github.com/axgle/mahonia" ) // GetCSV 读取csv文件. func GetCSV(csvPath string) [][]string { file, err := os.Open(csvPath) if err != nil { glog.Error("Error when open file in GetCSV():", err) return nil } defer file.Close() decoder := mahonia.NewDecoder("gbk") // 把原来ANSI格式的文本文件里的字符,用gbk进行解码。 // r := csv.NewReader(file) r :=...阅读全文

博文 2016-06-15 09:00:00 xiaouisme

golang zip 操作示例

下面的代码,来之golang的示例源码,其中涉及的常见zip文件,修改了部分代码, 在ExampleWriter中添加了如下 fw, err := os.Create("/home/xxx/mem_sub/go/z.zip") if err != nil { //panic(err) fmt.Println(err) return } defer fw.Close()屏蔽了以下部分 // Create a buffer to write our archive to. // buf := new(bytes.Buffer) 使之能够创建看的见的zip文件 package main import ( "archive/zip" // "bytes" "fmt" "io" "log" "os" ...阅读全文

博文 2014-10-04 19:26:10 u011363248

Golang 下载文件

这里使用net/http下载文件,可以设置Content-Type(具体参考)告诉客户端返回的内容类型实际上是什么,实现不同方式的文件的下载。 示例 package main import ( "fmt" "io/ioutil" "net/http" "net/url" "os" ) func main() { http.HandleFunc("/", downloadHandler) // 设置访问路由 http.ListenAndServe(":8080", nil) } func downloadHandler(w http.ResponseWriter, r *http.Request) { r.ParseForm() //解析url传递的参数,对于POST则解析响应包的主体(req...阅读全文

博文 2019-08-27 16:02:49 guyan0319

Golang签名系列之MD5

先从个简单点的,也是用的比较多MD5加密开始,不多说直接上代码 package sign import "crypto/md5" type MD5Client struct { } var MD5 = MD5Client{} func (this *MD5Client) Encrypt(plantext []byte) []byte { result := md5.Sum(plantext) return result[:] } /* 给要加密的信息加把盐 */ func (this *MD5Client) EncryptWithSalt(plantext []byte,salt []byte) []byte { hash := md5.New() hash.Write(plantext) ...阅读全文

博文 2015-08-28 16:00:01 君子藏锋

七牛云音视频新功能:音频支持 AAC_HE

![1.png](http://studygolang.qiniudn.com/160229/ae427c76a903c127fb114c705f44f355.png) 与大家所熟知的 MP3 一样, AAC 也是一种常见的音频格式。现如今常见的 AAC 规格有三种: LC-AAC (最基本的), HE-AAC ( AACPlus v1 ), HE-AAC v2 。 HE :“ High Efficiency ”(高效性)。 HE-AAC (又称 AACPlus v1 , SBR ),用容器的方法实现了 AAC ( LC )和 SBR(频段复制)技术。 SBR 把频谱切割开来,低频单独编码保存主要成分,高频单独放大编码保存音质,在减少文件大小的情况下还保存了音质。 HEv2...阅读全文

怎么对接个人收款支付接口(扫码支付)

实现个人收款是一件很麻烦的事,可以通过 [paybob](https://www.paybob.cn/) 注册个人收款接口,帮助签约个人支付宝,微信支付接口(不需要营业执照),几分钟就可以开通,申请开通后,获取商户号和通信密钥,然后开始对接,本章主要说一下扫码支付 + # 扫码支付请求步骤: 1. 构建请求参数 1. POST 参数到请求地址 1. 根据返回内容展示二维码 1. 用户支付成功后接收异步通知 - # 扫码对接 php代码如下: ```php 'xxxxxxxxxxx', 'body' => 'test', // 订单标题 'out_trade_no' => time(), // 订单号 'total_fee' => 120...阅读全文

博文 2019-07-27 12:06:20 paybob

studygolang源码阅读小结 <三>

##studygolang数据库设计的看法## 源码使用sql来管理与数据库表的交互。在sql.db之上派生struct Dao。Dao结构封装SQL语句的组建过程,为具体的数据模块服务提供,提供增删查改等功能,以及数据返回。在Dao之上,则是各种与数据库表对应的实际的数据模块,这一层通过Dao拿到需要的数据或执行操作。 要分析源码设计思路,我的思路是需要从最底层开始分析,从最底层提供的能力,提供的API出发 - sql package提供的接口能力 在sql package内有一个结构是DB,他是数据库的一个句柄,并具有goroutine安全性。 sql.Rows 多用与对返回的结果集进行处理。sql.Result是对执行结果的 它的一下两个方法是所有查询...阅读全文

关于RSA签名验签官网示例用openssl无法验证的问题

关于RSA签名验签官网示例用openssl无法验证的问题 我想用openssl签名,用Go验签,在网上搜到了源码页,但源码页的结果和我的无法对应,如下 源码页 https://golang.org/src/crypto/rsa/pkcs1v15_test.go 其中的签名和验证代码: ``` // These vectors have been tested with // `openssl rsautl -verify -inkey pk -in signature | hexdump -C` var signPKCS1v15Tests = []signPKCS1v15Test{ {"Test.\n", "a4f3fa6ea93bcdd0c57be020c1193e...阅读全文

Go On Android

文地址:Go, on Android作者:橙子InfinityGo 语言的高效一直让我想将之用于 Android 的开发上,很多事情,单纯从代码角度考虑,用 Go 来写会方便很多。这篇文章只是一个实例,没啥实质性的意思,只是开发时的一些记录。 我不想说如何获得 Go 的源码或是如何编译之,那些在网上到处可找,推荐直接参考 Go 语言官方网站(http://golang.org/),里面许多有价值的东西。 同样的参考官方网站所述,我们可以将 Go 环境编译为支持 arm 的,使用该环境编译出的程序,也可运行于 Android。 那么先编译 Go 本身,让它可以编译 arm 下的应用,修改一下 .bashrc 文件 在最后加上以下条目 PATH 取决于你的 Go 源码下载到哪里,不一定和我是一样...阅读全文

博文 2015-04-23 17:00:16 yangying19911113

go arm、android版本

export GOROOT="$home/src/go"#go 源码存放位置 export GOBIN="$GOROOT/bin"#go、gofmt、godoc工具位置 export PATH="$GOBIN:$PATH"# #开始编译,arm架构,linux系统 cd $GOROOT/src export GOOS=linux#适应的OS export GOARCH=arm#目标架构 ./all.bash #host comply cd $GOROOT/src ./all.bash cat > hello.go <阅读全文

博文 2014-10-04 19:25:56 qioixiy

go语言 看代码,学strings包

package main import ( "fmt" "strings" //"unicode/utf8" ) func main() { fmt.Println("查找子串是否在指定的字符串中") fmt.Println(" Contains 函数的用法") fmt.Println(strings.Contains("seafood", "foo")) //true fmt.Println(strings.Contains("seafood", "bar")) //false fmt.Println(strings.Contains("seafood", "")) //true fmt.Println(strings.Contains("", "")) //true 这里要特别注意 fm...阅读全文

博文 2014-10-04 19:25:59 zistxym

go语言nsq源码解读-基本介绍

希望可以在空余时间完成nsq源码解读系列的文档。 本篇作为第一篇,简单介绍一下nsq. 参考 http://feilong.me/2013/05/nsq-realtime-message-processing-system 的介绍:NSQ是由知名短链接服务商bitly用Go语言开发的实时消息处理系统,具有高性能、高可靠、无视单点故障等优点,是一个非常不错的新兴的消息队列解决方案。 nsg易于配置和部署,所有参考都通过命令行指定,编译好的二进制文件,没有其它依赖项。而且支持多种消息格式。 源码下载地址: https://github.com/bitly/nsq 本系列文档下载的源码为0.2.27版本。 为更好的理解源码,最理想的起步当然是先了解nsq的用法。所以接下来会先讲解nsq的安装、使用...阅读全文

博文 2015-06-13 12:12:36 baiyuxiong

视频内容谁来保护?阿里云视频加密技术大揭秘,打造云上视频安全体系

摘要: 阿里云视频加密解决方案可广泛应用于在线教育、财经金融、行业培训、独播剧等在线版权视频领域,本文从技术角度来讲述视频加密的原理、架构和流程,并对两种方案进行对比,用户可根据需求来选择合适的方案。 视频行业的从业者——尤其是在线教育、财经分析等重视内容版权的播放平台都知道,视频安全是一个非常重要的基础需求。用户通过一次付费行为,就可以拿到付费视频的播放URL,将播放URL进行二次分发,这种行为叫做盗链;用户直接将视频下载到本地,然后再进行二次上传分发,这种行为叫做盗播,这两种行为都会给内容版权方造成十分严重的经济损失,面对日渐增多的盗链和盗播情况,我们应该怎么样去保护内容呢? 阿里云最新推出的 视频加密解决方案 对视频版权的保护可以从视频处理的各个环节来分别实现。阿里云通过转...阅读全文

专栏 - 《那些不可错过的Java源码解析》 - 开篇词

1 个人简介 牛客网积极分子(红名大佬等级),全网唯一笔名:JavaEdge,华为软件工程师,南京某双一流高校本科毕业, CSDN博客专家,阿里云栖社区博客专家,腾讯云自媒体计划邀约作者,慕课网认证作者,头条号认证优质科技领域创作者 曾在百度,携程等公司实习,目前就职于华为南研。 在学生时代,对于Java极具热爱,并从大二开始持续创作博客记录学习轨迹,并且具有丰富的项目经验,并在校级部门易班作为技术骨干人员,提供技术指导并承担招新职责。 使用语言:Java三年,C语言一年,当然也欢迎和我交流GoLang和大数据。 2 专栏创作初心 实习 => 秋招 => 春招,这条通道,是不是像极了你的毕业前的时光? 在找工作时,牛客网给大家提供了一个良好的学习与交流平台。我自己也是在大二准备学习Java时...阅读全文

博文 2019-12-25 01:32:42 JavaEdge

阿里云助力创业者从零开启视频之路,史上最低门槛,299元打造视频点播平台

摘要: 为了扶持众多创业者,降低入行门槛,阿里云推出了全新的视频点播创业版套餐,只需299元,即可获得960GB/年的流量包、60GB/年的存储包和24小时/年的转码包,可供个人、小微企业门户网站使用。 近年来,互联网的内容形态快速演变,从最原始的文字博客。到微博时代的图文混合,再到早已主流普及的长视频与近期如火如荼的短视频模式,一直是趋于更具互动性、丰富性的迭代。据公开数据显示,截至2016年12月,中国网络视频用户规模达5.45亿,这个数字足以证明视频已经成为当下最为主流的内容形态。 作为平台方或内容提供方,迎合主流的用户消费习惯,更新迭代内容形态载体,才能留住用户。打个比方,大多数在线教育网站都已经支持视频授课,那些只沉迷于图文课件的教育网站也被市场竞争慢慢淘汰。所以,越来...阅读全文

golang1.3.3 源码编译 卡在Checking API compatibility处

我的系统是ubuntu 14.04 64bit 我的环境变量设置如下: export GOROOT=$HOME/go export GOBIN=$GOROOT/bin export GOPKG=$GOROOT/pkg/tool/linux_amd64 export GOARCH=amd64 export GOOS=linux export GOPATH=$HOME/go_src export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH ./all.bash 之前一切正常运行(我之前也有成功编译的经验) 直到 # ../test real 0m25.396s user 1m6.490s s...阅读全文

Go 问答之如何阅读 Go 源码

我的知乎回答,问题是关于如何阅读 Go 源码。地址。胡扯了些自己的想法。 Go 的源码在安装包的 src/ 目录下。怎么看它的源码呢?直接看吧!没人教的情况下,只能自己撸了。当然,这种内容一般也不会有人教。 怎么撸? Go 源码中,应该可分为与语言息息相关的部分,和官方提供的标准库。与语言实现相关的肯定是最难的,不是那么容易理解。可以先主要看标准库,其他的可以先大概了解下。 先把源码目录整体扫一遍,大概看看涉及了哪些模块,然后再挑自己喜欢的部分进行更深一步的学习与研究。建议每个目录都简单写个 hello world,如此的体悟会更深。如果连 hello world 也写不出来,这个模块的源码暂时就没必要研究了,先学好基础吧。毕竟,包的使用不仅与语言相关,还涉及具体场景和实现原理,这都是要学习...阅读全文

博文 2019-08-28 14:04:17 波罗学

studygolang源码阅读小结 <四>

##http与 router## 先看http 提供的强大简洁服务器端的功能 - HTTP响应模块 func ListenAndServe(addr string, handler Handler) error 这个方法就处理了所有的http请求。第二个参数如下 type Handler interface { ServeHTTP(ResponseWriter, *Request) } 也就是实现了该接口的结构,均能够对http请求作出相应。看这个方法的参数大致就能猜出,这个方法是让使用者自己往RewponseWriter中写http header 以及http data。 type ResponseW...阅读全文

阿里云搭建SS代理教程

一.安装环境 我是Windows系统,所以我下载一个xshell来进行Linux命令操作,然后我在阿里云官网买了一个名字轻量级的服务器,拿到了服务器的ip和密码。 二.搭建服务器 东西准备齐全我们就开始搭建服务器啦 1.使用root用户,分别执行以下3条命令$ wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent...$ chmod +x shadowsocks-all.sh$ ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log 2.执行之后会提示输入语言,密码,端口和加密方式,端口我是用的是8080,源码使用的go,加密方式使用的ae...阅读全文

博文 2019-08-23 15:02:42 杨巍

共抗疫情,教学不延迟:EasyDSS轻松开启线上视频学习平台

随着前端技术的不断发展,视频点播早已不再是IE6时代的浏览器嵌入式Windows Media Player,也不是后来的flash media player需要的rtmp点播流,现在能够唯一满足全终端、全平台、H5播放,这些条件的,可能只有HLS协议了(也就是大家熟悉的m3u8流)。尤其现在正处于疫情防控期间,由于严密的疫情防控,学生开课延迟,各大教育机构为了确保学生能够准时复课上学,纷纷启用了线上授课的教学方式。基于这样的大背景,线上课堂点播的发展也迎来了新的升级,在音视频点播/直播服务日渐发展的今天,我们应该如何去选择一款优秀的服务器呢? 实际上,视频点播的核心技术是转码,先把视频文件在云端转码成标准格式,因为播放前已经将文件转成标准格式,所以理论上所有视频格式都是支持即点即播的。这省却...阅读全文

Go语言:MD5加密

Golang的加密库都放在crypto目录下,其中MD5库在crypto/md5包中,该包主要提供了New()和Sum()函数。 package main import ( "crypto/md5" "encoding/hex" "fmt" ) func main() { data := []byte("Mdroid.cn") md5Ctx := md5.New() md5Ctx.Write(data) cipherStr := md5Ctx.Sum(nil) fmt.Println(cipherStr) fmt.Printf("%x\n", md5.Sum(data)) fmt.Printf("%x\n", cipherStr) fmt.Println(hex.EncodeToString...阅读全文

博文 2017-08-27 16:34:54 Mdroid

阿里云视频点播解决方案使用教程

课程介绍 视频点播(ApsaraVideo for VoD,简称VoD)是集视频音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。 产品详情:https://www.aliyun.com/product/vod 课时列表 • 课时1:首次视频转码配置 • 课时2:为视频添加水印 • 课时3:如何进行视频上传 • 课时4:如何进行视频管理 • 课时5:如何管理多个域名 开始学习http://click.aliyun.com/m/27869...阅读全文

golang的helloworld

新建源码文件hello.go mkdir -p /work/goTest/ cd /work/goTest/ vim hello.go 编码hello.go文件: package main import "fmt" func main(){ fmt.Printf("hello world\n") } 直接运行: go run hello.go 运行会有点慢,因为golang要先把源码编译出来再运行。 那么现在,我们把源文件编译成二进制文件吧: cd /work/goTest go build -o hi.out 编译生成的文件有点大,我们可以加个优化参数: go build -ldflags "-s -w" -o hi.out 运行二进制文件试试。 完...阅读全文

博文 2016-08-11 12:00:00 liyou-blog

惊喜 Christmas,七牛携明星客户送大礼~

![720X400-1.jpg](http://studygolang.qiniudn.com/151224/dbacf5b8b5f25b6b71083b482aba959d.jpg) 2015 年,七牛云迎来了第 40 万用户, 每天 750 亿的请求, 为客户安全托管 1600 亿份文件, 快速稳定地处理 12 亿在线数据, 我们,一直在努力! 2015 年,这一年被称作寒冬之年, 据说,收到牛小七与明星客户送的圣诞礼物, 寒冬很快就会过去哦! ![720X400-2.jpg](http://studygolang.qiniudn.com/151224/0e1370677318cc65de62c50391a1ec92.jpg) ...阅读全文

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

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

程序员如何自我学习?阿里资深技术专家这样做

摘要 互联网信息技术发展太快,作为一个优秀的程序员,必须不断学习,单纯靠积累经验是无法长久的,技术淘汰的速度远大于经验积累的速度,因此,更新知识这件事就变得相当重要。 为何要持续学习,靠经验积累不行吗?很多人都说程序员的薪资水平不错,媲美医生和律师,而程序员和医生、律师的不同在于持续学习上。不是说医生和律师不需要学习,医生、律师能够凭之前的case积累深厚的经验(这也是大家看病更愿意相信年纪大的医生的原因之一),而且这些经验很大程度上可以被复用。程序员这个职业则不同,主要是因为行业信息更新太快,积累的经验很快就不适用了。举几个例子:如果你是Java程序员,且非常擅长Struts + JSP开发,解决了很多Struts框架的问题,但今天,这部分知识已经过时了,需要重新学习。如果仍坚持使用之前的...阅读全文

博文 2018-09-09 10:34:39 JAVA后端开发

golang 通过(Google Authenticator)实现动态口令

golang 通过(Google Authenticator)实现动态口令 Google Authenticator,是谷歌推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题;许多安全性比较高的网站都会采用这种工具来验证登录或者交易;这个动态口令就是Google身份验证器每隔30s会动态生成一个6位数的数字。它的作用是:对你的账号进行“二步验证”保护,或者说做一个双重身份验证,来达到提升安全级别的目的。 通过 一致算法保持手机端和服务端相同,并每30秒改变认证码。 方法说明 GetSecret() :获取秘钥(32位字符串) GetCode() :获取动态码 GetQrcode() :获取动态码二维码内容 GetQrcodeUrl() :获取动态码二维码图片地址 Verif...阅读全文

博文 2020-01-01 02:32:53 谁不曾年少轻狂过

go源码阅读笔记(math.1)

go源码阅读笔记(math.1) abs.go func Abs(x float64) float64 package math // Abs returns the absolute value of x. // // Special cases are: // Abs(±Inf) = +Inf // Abs(NaN) = NaN func Abs(x float64) float64 { // TODO: once golang.org/issue/13095 is fixed, change this to: // return Float64frombits(Float64bits(x) &^ (1 << 63)) // But for now, this generates bet...阅读全文

博文 2016-03-16 00:00:00 qq_15437667

Go 语言实现的应用安全网关Janusec Application Gateway

Janusec应用网关(Janusec Application Gateway)一款基于Golang打造的应用安全网关,具备WAF(Web应用防火墙)功能及组合策略配置,天然支持HTTPS(符合PCI-DSS认证要求),无需Agent,私钥加密存储在数据库,提供负载均衡和统一的Web化管理入口。 ![Janusec Application Gateway](https://camo.githubusercontent.com/292d1c91acf55a2572fdfdf91a287c4f1eb1afa4/68747470733a2f2f7777772e6a616e757365632e636f6d2f696d616765732f67617465776179312e706e67) Janu...阅读全文

开源项目 2018-07-30 12:30:01 网友

编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别

最近在研究Python和Golang。反复提到动态类型语言、动态语言、解释型语言这些概念。这些概念很生涩,在这里做一个总结。 编译型语言和解释型语言 1、编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执...阅读全文

博文 2019-02-15 16:34:47 Legendary

研发工程师该如何成长?--好未来学而思网校负责人2019年总结

作者:学而思网校 陈雷 大家好,我是陈雷,网校事业部互联网研发系统的负责人。今天分享的主题是“研发工程师该如何成长”。 很多年轻的研发伙伴都有关于“研发工程师该如何成长”的困惑,大家普遍对如何成长为技术专家、如何在繁忙的工作中持续学习充满了困惑,这其实是每一位研发伙伴成长过程中的必经之路。我来网校小一年了,这一年里一直致力于“打造学习型组织”,经过一年的摸索和尝试,有了一点点的成绩和心得,在新一年的开始,我想对2019年做一个总结,也跟大家分享一下我的心得。 初到网校,我跟不少伙伴做过1对1的沟通,伙伴们普遍对自己的成长充满焦虑:工作太忙,甚至每天都在加班,没有时间学习;需求太琐碎,做了很多工作但是并没有感到自己有什么成长;希望有牛人带一下,但是貌似缺少这种导师;整个团队的技术氛围不是太强,...阅读全文

博文 2020-01-12 23:32:40 LNMPR源码研究

go install , go build 与 go get 三者之间的区别

go build go build命令是在当前目录编译生成可执行文件,注意 go build 指令会调用所有引用包的源码进行重新编译而不是使用之前pkg里的文件 go install 执行 go install 命令会完成类似 go build 的功能 ,但go install 命令执行生成的可执行文件是在【$GOPATH/bin】目录中 go get 该命令可以理解为两个操作 git clone + go install , 执行会将远程代码clone 到【$GOPATH/src】 目录中 三个命令作用相似,需要重点掌握go get 命令,切勿混...阅读全文

博文 2019-12-28 16:32:41 Beng

beego.Error 原理

在用beego查询数据库后经常会 ```go if err != nil { beego.Error(err) } ``` 刚开始学习go,很不知道这里面发生了什么, 1. beego记住了这个error后会做什么,如果web进行一次数据库操作出错了,调用了这个beego.Error(err),那页面会显示正常页面还是报告error呢。 2. beego记住了这个error后我们怎么在其他地方访问到 3. 还有就是我在models里写了一次这个判断,那么我返回到controller里的时候,还需要写吗?还是我可以在models不写都直接将error返回给controller来处理呢? 4. 我想翻翻源码,发现太多了,不知道哪个是对头的,应该怎么从源码看起呢。 5....阅读全文

用golang打印数字

效果: guodeMacBook-Air:programming_in_go guo$ go run 1_1.go 1234 1 222222 333333 4 4 1 1 2 3 4 4 1 222222 333333 444444 1 2 3 4 1111111 222222 333333 4 go 源码(节选) package main import ( "fmt" "os" ) func main() { if len(os.Args) != 2 { fmt.Printf("%s number\n", os.Args[0]) return } bigdigits := [][]string{ {" 000 ", " 0 0", " 0 0", " 0 0", " 000 ", }, ...阅读全文

博文 2015-04-29 23:00:00 guonaihong

微信小程序解码工具

项目地址起因 前段时间想学习微信小程序开发但是又没有什么深厚前端功底,看到很多很好玩的小程序想要做一个类似的学习学习,所以想着借鉴一下现有的小程序。但是苦于没有源码,抓包也没有办法获取源码。 google后知道可以用安卓模拟器安装微信然后安装小程序,然后在文件系统中找到小程序对应的wxapkg文件,拿到压缩包解压后就可以得到小程序源码。 但是压缩包是2进制文件,找了一遍后发现一个现有现有的开源项目可以直接解压小程序压缩包。废话不多说,直接开干~使用源码安装安装golang没有用过golang的人可以直接去官网下载go get github.com/sjatsh/unwxapkgcd ~/go/src/github.com/sjatsh/unwxapkg使用可执行文件下载地址使用unwxapk...阅读全文

博文 2019-01-04 01:34:44 打瞌睡滴花花