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

Django项目部署中的服务器安全详解

  跨站脚本安全保护(Cross site scripting protection)   跨站脚本攻击(XSS)通常发生于站点存储和使用不安全的内容,例如数据库里存储的用户内容是用户的脚本,这些脚本读取后未经处理便执行导致了网站的不安全。例如:     当var是来自用户类似于这样的内容:   'class1 onmouseover=javascript:func()'   这样就可能导致浏览器执行不安全的脚本。为了避免这类问题,Django的模版有一些自动过滤特殊字符的机制,类似于 ‘<’和>’之类的字符都会被过滤。如果你确定某些内容是完全安全的,不是来自用户的非法输入,想展示在...阅读全文

Repustate从Python迁移到Go,性能提高10倍

Repustate向世界各地的企业和组织提供文本分析服务。随着公司的发展,他们每天处理的文本段数量从5亿增加到10亿,其中包括Tweet、新闻文章、博客评论、用户反馈等。大规模的文本分析非常困难,因为很少会出现两段文本完全相同的情况,所以无法利用缓存来提高效率。不过,它可以将大段的文本分成多个句子,然后并发分析每个句子。近日,Repustate官方博客发表了一篇博文,介绍其API的演进过程。 Repustate API的第一个版本是用Django编写的。他们构建了一个原型,并以此为基础推出了他们的服务。但每个Django请求/响应周期的开销太大。随着API访问量增加,可靠性问题凸显,使用Amazon服务的成本也大大增加。于是,他们开始寻找一种Python代替方案,并选择了Flask。Flas...阅读全文

博文 2015-09-25 17:08:05 谢丽

2018-08-23

今天是整点写的23号的日记了终于赶上了进度我要跟懒癌和拖延症好好的斗一斗今天的账单还没有录入等下录好了今天早上喝的是自己煮的小米红枣粥哈哈哈还是挺好喝的没有放糖也是甜甜的据说这个对胃好之前本来是买来准备给那谁送个把月结果呢哎 不提了往事不堪回首今天估计她又有任务了往我们室跑了好多趟哎真心不想听到她声音不想看到她的脸我现在已经刻意的不去看她刻意的不去听她的声音希望她别太介意我也是想决断但是我现在因为买房考试这些问题不能离职买房这事这周六终于可以有个结果了成不成就看了想一想以后要背的房贷就心塞塞算了 先上车这个也不会亏了本来之前想追回来写两个人的名字结果呢造化弄人了一切都是没有缘分不去想不去问不去做感动自己的事情了加油做好自己做一个自己喜欢的人上午一杯黑咖啡提神下午一壶柠檬水+黑咖啡总之呢在公司...阅读全文

博文 2018-08-24 00:34:59 TheOne_WuX

在 Windows 上将 Golang 代码编译成 Linux 可执行文件

在部署时,我通常会先将应用编译打包。公司开发用的电脑基本都是 Windows 环境,当我们在使用 go build 编译打包时,打包好的文件通常 *.exe。这时候就存在一个问题,我们的打包好的服务最终部署的服务器环境是 Linux 环境而非 Windows。因此我们在打包前需要设置以下环境变量(假设我们的 go 是 amd64 的): set GOARCH=amd64 set GOOS=linux 设置该变量后我们再次使用 go build 就会发现打包出来的文件是 linux 可执行文件了。 接下来将打包好的 Linux 可执行文件拷贝到服务器上,chmod 700 设置该文件权限为可执行权限。然后使用 ./ 运行就 ok 了。 参考 https://stackoverflow.com/...阅读全文

博文 2020-01-04 00:32:45 清十郎sama

golang在window平台交叉编译

情景设定:操作系统:window7x64安装目录:c:/go设置环境变量: PATH=%PATH%;C:/go/bin GOROOT= C:/go GOPATH = D:/goproject 进行交叉编译的原理是设置GOARCH(cpu架构)和GOOS(操作系统)然后执行c:/go/src/make.bat --no-clean将c:/go/src的源码编译成各个ARCH下对应OS的包打包好的批处理文件如下: set CGO_ENABLED=0 ::x86 set GOARCH=386 set GOOS=windows call make.bat --no-clean set GOOS=linux call make.bat --no-clean set GOOS=freebsd call ...阅读全文

博文 2014-10-04 19:27:26 chen yuwen

C# 调用 Golang DLL

1. 编写Go文件 注意,import "C" 需要系统中安装gcc,否则会报错: exec: "gcc": executable file not found in %PATH% export不能省略,否则C#语言无法找到入口 package main import "fmt" import "C" func main() { } //PrintHello : //export PrintHello func PrintHello() { fmt.Println("Hello From Golang") } //Sum : //export Sum func Sum(a, b int) int { return a + b } 完成之后,使用go命令导出DLL文件 go build --b...阅读全文

博文 2019-03-17 18:34:41 Wenchao

论Golang 给我惊喜的Go语言

今日凌晨,看了Google推出的编译型静态语言Golang的见解。 感觉这就是我一直期望得到的一种编程语言。简单概括我喜欢的地方: 1. 语法特性非常少,精简到没有多余的语法特性,甚至没有泛型; 2.运行效率特别高,我估计会高于C++; 3.可以编译到不同的OS,实现跨平台,并且不借助于虚拟机(JVM等)。 4. 编译型强类型编程语言 说说第一点 :很符合本人自己的喜好,本人厌恶C++里太多的语法特性。比如,光一个子类继承自父类,就有public继承、private继承的区别,多重继承等大量的特性,带来的弊端往往多余带来的好处。 同样是面向对象的编程语言,Java和C#都是只有public继承,人家也能实现所有的东西,C++这样做,纯属多余。另外C#6.0又玩出写什么新特性,说是可以减小代码...阅读全文

博文 2015-08-27 10:00:07 lsm135

go编译静态文件

最近用go语言写了个 [成都房地产薪酬](http://www.cdhr6.com) 网站,抓取网上的招聘信息并进行统计。中间遇到一些坑在这里记录下来方便以后查阅 go在编译成二进制文件时并没有把我们的静态资源文件编译进去,如果我们开发的是web应用的话就需要想办法把我们的静态文件也编译进去,这里我们使用 [go-bindata](https://github.com/jteeuwen/go-bindata) 它可以把我们的静态文件生成 .go 文件,这样就可以编译成二进制文件,项目启动的时候再把这个 .go 文件再释放成静态文件 目录结构: ![目录结构](http://img.blog.csdn.net/20170927135450027?watermark/2/text/aHR0cDo...阅读全文

博文 2017-09-28 01:53:54 chen2991101

Golang 优化之路——自己造一个日志轮子

写在前面 Golang 的log包内容不多,说实话,直接用来做日志开发有些简易。主要是缺少一些功能: 按日志级别打印和控制日志; 日志文件自动分割; 异步打印日志。 按日志级别打印和控制日志 我们实现的日志模块将会支持4个级别: const ( LevelError = iota LevelWarning LevelInformational LevelDebug ) 定义一个日志结构体: type Logger struct { level int l *log.Logger } func (ll *Logger) Error(format string, v ...interface{}) { if LevelError > ll.level { return } msg := fmt....阅读全文

博文 2017-07-14 04:06:21 Cyeam

grpc(5):使用grpc+consul 开发服务调用

1,consul 服务发现 在使用了几次之后终于感受到了这个系统挺好的了。 在一个小的团队里面,要做服务发现,做的简单高效。 可以直接使用 consul 作为服务发现,服务检查的系统。 不用自己去开发了。真的很方便,只要部署下就可以了。 github 上放了代码,都是很简单的。 https://github.com/freewebsys/grpc-go-demo 2,重新研究consul启动 发现之前是使用dig 进行操作的,因为consul官方网站也是推荐使用的。 但是其实可以使用ping ,nslookup 也是一样的。 但是需要修改consul的端口。 consul agent -dev -ui -server -node=consul-dev -client=10.0.2.15 -d...阅读全文

博文 2017-07-12 02:30:18 freewebsys

golang的项目结构 相关知识

### 项目结构 ``` ├── bin │ ├── login │ └── main ├── pkg │ └── darwin_amd64 │ └── login │ └── auth1.a ├── src │ ├── cfg │ │ └── testcfg.go │ ├── db │ │ ├── innerdb │ │ │ └── innerdb.go │ │ └── db.go │ ├── login │ │ ├── auth1 │ │ │ └── auth1.go │ │ ├── auth2 │ │ │ └── auth2.go │ │ └── login.go │ └── main.go └── Makefile ``` *** ### 两种包导入方式 ##### local im...阅读全文

Go语言开发环境1.6

http://www.golangtc.com/download 下载1.4.2和1.6.2 tar -zxvf go1.6.2.linux-amd64.tar.gz -C /usr/local/src/ln -s /usr/local/src/go1.6.2 /usr/local/go 设置go的环境变量 vi /etc/profile source /etc/profile 写一个简单的go例子 sayhello.go 和同属于sayhello 目录中的 .go源代码文件 会生产代码包(.a) 文件类似c语言的静态库,每个源代码都可以有一个init函数 hello.go 导入sayhello代码包 调用代码包中sayhello.go源代码的Hello方法输出字符串 import 格式 【...阅读全文

java语言到底是翻译型还是解释型

背景 计算机执行的指令都是L0 翻译过程会将高级语言编译成新的L0程序 解释过程不会生成新的L0程序,由L0编写的解释器去解释L1程序 程序翻译 将较为高级的语言L1,通过编译,翻译成计算机可执行的语言L0 翻译型语言:C/C++、Object-C、Golang 程序解释 通过可执行语言L0实现一个新程序---解释器,直接在解释器上运行L1语言 解释型语言:Python、Php、Javascript 结论 java语言是翻译+解释型语言,C#也是 【翻译】将java程序翻译为JVM字节码 【解释】通过JVM程序解释字节...阅读全文

博文 2019-11-08 12:32:55 更多精彩内容JAVA到底是编译型语言还是解释型语言?疾风劲草_233JVM、Java编译器和Java解释器一个会写诗的程序员浅谈Java语言是编译型还是解释型值得一看的喵编程语言乱炖码园老农解释型语言python小生很忙

难上加难!扒一扒IDC行业背后那些不为人知的心酸......

大家都说IDC行业待遇好,薪酬高,事实真的如此吗?光鲜背后的心酸和压力只有IDC人自己知道,来看看IDC从业者都是怎么描述的。 ​01 把人逼成“鬼”的IDC运维夜深人静,凌晨两点,IDC运维团队还在悄无声息的忙碌中。客户的条件越来越高,硬件更新越来越快,业务需求越来越紧急,运维的压力也越来越大。业务天亮就得上线,这一切只能在业务最少的时候进行,设备半夜2点以后才能进场......两眼紧盯屏幕,监控设备运转,为保障业务稳定运行,7X24小时运维值守已经成为习惯,脸色惨白自嘲“吸血鬼”,偶尔也产生错觉,自己到底是人还是鬼? 02 中年危机下不知所措的IDC销售现在经济情况不太好,客户是能省钱就省钱,需求还一天三变!再加上这两年云计算的冲击,业务量越来越惨淡。但是公司对增长的预期丝毫没有减弱,前...阅读全文

博文 2020-06-05 17:12:47 gogogochong

golang之cgo---调用C/C++动态库函数

之前说过golang调用C代码的方式可以通过cgo或者是swig,而cgo是不能使用C++相关的东西的,比如标准库或者C++的面向对象特性。怎么办,将c++的功能函数封装成C接口,然后编译成动态库,或者是功能较为简单的可以直接嵌入到go源文件中。   cgo的使用是在linux平台上,在windows平台上可以配置交叉编译器。 动态库头文件:myfuns.h #pragma once #include #include #include #include void fun1(); void fun2(int a); int func3(void **b); // others 动态库名:myfuns.so...阅读全文

博文 2016-07-17 03:00:01 FreeApe

以alpine镜像为基础将go应用部署在docker中

当用docker进行部署go应用时,我们可以选择docker中的golang镜像。 但为了更快的启动速度和更小的磁盘占用,我们推荐以alpine镜像作为基础镜像。 Alpine 操作系统采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。 Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB) 有人可能会有疑问:为什么可以采用alpine镜像呢?alpine镜像不是没有go环境吗? 你的疑问是对的。alpine的确没有go环境。但是我们可以...阅读全文

博文 2019-05-13 19:34:52 louhangfei

使用Go开发前端应用

前言 我们知道,在目前各种容器化盛行的时代,Go在开发容器化应用当中,成为大家首选的后端开发语言。目前,最流弊的容器化管理编排系统k8s,几乎每个大的云厂商都在使用。而k8s就是Google使用go语言开发出来的。而现在,go已经可以用来开发前端语言了,有种“一切可以用go语言实现的功能,最终都会用go语言实现”的感觉。这篇文章主要用来介绍,用go语言如何入门前端开发。 go开发环境安装 首先,你需要先下载安装一下go。下载地址:golang.org/ 安装其实很简单,这里就不说了,安装完成之后,控制台执行下如下命令,确认下go的安装是否成功。 go version 复制代码 如果能够正常输出,证明你的环境已经安装好了,是不是很简单? go为什么可以用于前端开发 go在1.11版本中,加入了...阅读全文

博文 2020-04-22 15:39:53 zhongzhong05

大幅提升 golang 写日志序列化性能实践

线上服务,需要记录日志量比较大,便于排查问题,同时,线上要求所有日志需要经过rsyslog 灌到kafka 中去,我们日志需要按规定格式序列化。我们使用的log库是 "github.com/Sirupsen/logrus"。 那么问题来了,golang 的序列化性能真的是一言难尽。 从网上资料来看,Protocol Buffers 性能好于json, 而使用json 的话,有个很经典的性能对比图, 具体数据不太重要,结论就是 官方的json 最差,滴滴开源的json 库大致是目前市面最好。然后我们就列出了几个方案。 第一个方案,使用monkey patch ,替换到系统的encoding/json。 第二个方案是直接在log 模块中直接重写json formater 。由于第一种方式会导致调...阅读全文

博文 2018-03-27 23:33:05 caucy

Mandelbrot in Golang gomandel

gomandel是一个用go语言写的简单的mandelbrot demo。使用OpenGL+ SDL来显示,用软件来绘制Mandelbrot。 通过使用双精度点计算一个Mandelbrot,并正常化这些值,从而使得调色板均匀分布。 ![image](http://static.oschina.net/uploads/space/2016/0316/171522_8hVM_2652078.png) ### 安装 运行以下代码安装:

go get github.com/nfnt/resize
### 运行 在mandelbrot将 x, y 和...阅读全文

请教go-sql-driver/mysql库的问题

我是用go-sql-driver/mysql库创建了一个连接池。在链接数据库时,发现无法控制数据库的连接数。 我在程序中写了10个协程,一直发sql命令。但是发现数据库那边会有比我协程数多的链接在。我想控制链接数量,请问有什么办法么? SetMaxIdleConns的设置是做什么的?设置为0的时候,和数据库的链接就全部成了短链接了。而设置成1的时候,我协程数开为0,还会有个空闲链接连着...阅读全文

代码中的缩进线

![我在2016年伦敦Golang英国会议上谈论代码缩进线](https://raw.githubusercontent.com/studygolang/gctt-images/master/line-of-sight/1_CBjBs9EzL8q1AL6XvjjpJg.png) 在近期伦敦举行的 [Golang 英国会议](https://www.youtube.com/watch?v=yeetIgNeIkc) 上,我在[地道的Go 语言窍门](https://www.youtube.com/watch?v=yeetIgNeIkc) 交流([幻灯片](http://go-talks.appspot.com/github.com/matryer/present/idiomatic-go-tri...阅读全文

博文 2018-05-10 19:58:56 polaris

使用Go语言 生成iOS SDK

使用Go语言 生成iOS SDK 一.使用brew安装Go 1、安装命令 brew install go 2、检查 输入brew info go 或者 go env 即可查看当前安装的golang版本信息 3、配置go路径环境 主要是GOROOT和GOPATH GOROOT:就是go的安装环境 GOPATH:作为编译后二进制的存放目的地和import包时的搜索路径。其实说通俗点就是你的go项目工作目录。通常情况下GOPATH包含三个目录:bin、pkg、src。 src目录下主要存放go的源文件 pkg目录存放编译好的库文件,主要是*.a文件; bin目录主要存放可执行文件 注意:千万不要把GOPATH设置成go的安装路径,可以自己在用户目录下创建一个目录,例如mygo 一般安装好go之后,...阅读全文

博文 2018-10-09 19:34:43 MKAR

Unikernel 编译和部署平台 UniK

UniK(发音 you-neek)是一款可将应用程序源编译成 unikernels(轻量级的可启动磁盘镜像),而不是编译成二进制文件的工具。 UniK 利用一个简单的 docker-like 命令行接口,使得构建 unikernels 像构建 containers 一样容易。 UniK 是为了易于扩展而构建的,允许(且鼓励)为 unikernel [编译器](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/README.md)和云计算[提供器](https://github.com/emc-advanced-dev/unik/blob/master/docs/providers/README.md)添...阅读全文

python哪种解释器好用?初级python

Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器: **CPython** 当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。 **IPython** IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是...阅读全文

linux常用命令面试(4)

1 (ZZ)命令是在vi编辑器中执行存盘退出 A :q B ZZ C :q! D :WQ 2 用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决? 1 删除linux网卡 eth0的uuid Mac地址 2 清空 /etc/udev/rules.d/70-persistent-net.rules 3 reboot 3 常用网络检测命令及参数列举说明 1 ping 2 telnet 3 netstat -lntup 4 traceroute 4 脚本实现:查找目录/var/log/下大于1M的文件移动至/tmp/log下 find /var/log ...阅读全文

golang笔记——包

1、包简述 GO本身没有项目的概念,只有包,包括可执行包和不可执行包,而不管什么包,都应该包含在 $GOPATH/src 目录下,GO命令和编译器会在 $GOPATH/src 目录下搜索相应的包。比如 import "logging" 则会在所有设置的 $GOPATH/src 下去寻找相应包,而不仅仅是当前项目中。 2、包声明 在每一个代码文件中,都需要使用 package 命令来声明包名,所以在GO语言中,代码文件属于哪个包与文件目录结构没有必然联系,但习惯上我们会设置成跟目录结构相同。带来的问题就是当想修改文件夹名的时候,会想去修改该文件夹中所有代码中的声明的包名。 注意,命令源码文件,即 main 函数所在的包,必须声明为 main 包。 3、包导入 通过 import 命令来导入包,...阅读全文

博文 2016-02-18 03:00:00 tianyajuanke

从 Apache RocketMQ 和 Kafka 看 Topic 数量对单机性能的影响

摘要: 这次,我们来模拟一个真实的场景: * 消息的发送和订阅一定是共存的 * 要支持多个订阅端订阅自己感兴趣的消息 我们将针对 RocketMQ 和 Kafka,对比在上述场景中,究竟谁更胜一筹。 阿里云消息队列测试小组 出品 上一期我们对比了三类消息产品(Kafka、RabbitMQ、RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务只有发送消息。本期,我们就来模拟一个真实的场景: 消息的发送和订阅一定是共存的 要支持多个订阅端订阅自己感兴趣的消息 本期我们将针对 RocketMQ 和 Kafka,对比在上述场景中,究竟谁更胜一筹。在正式开始测试之前,首先要向大家明确2个概念: 查...阅读全文

[译]REST和微服务——用异步交互分解单体系统

前段时间我大发雷霆,因为有人曲解了REST在微服务中的作用,而且没能正确使用它。有人认为无法基于HTTP进行异步交互,所以基于HTTP的单体系统无法被分解成微服务。大多数人认为HTTP就是REST,这是件让人感到悲哀的事情。在我们的行业里,这些人都是很有经验的,本该知道这两者其实是不一样的。如果你也分不清它们之间的区别,那么请先看看Rest Cookbook或者Roy博士的文章。 好吧,似乎有点跑题了,让我们回到之前说的问题上:我之所以大发雷霆,是希望把大家引导到正确的方向上,同时给大家提供一些建议。 REST和HTTP 首先,并不是说构建微服务一定要基于HTTP。关于这个,可以看看InfoQ上早前发表的一些相关文章,或者回顾过去7年我们在WildFly/EAP及其它项目上所做的事情。 HT...阅读全文

博文 2016-08-05 11:19:13 xuemingdeng

IIS 反向代理 golang web开发

一. beego 开发编译 bee run 后会编译成 exe文件 编译生成后发布文件结构为 cmd 运行 cd D:/run beegoDemo.exe run 默认配置端口 不能为 80 跟iis 80 端口重复,如果用其他端口又不能绑定多个域名 所以 go 运行的进程用 非80 端口 比如 89 二. 配置IIS 反向代理 新建网站 直接访问 http://bee.91jzl.com...阅读全文

博文 2017-07-20 04:00:02 echosong

币币交易能够减少成本方便快捷的兑换你想要的数字资产

数字资产是一个比较大的概念,币币交易平台主要是针对区块链数字资产之间的币与币之间的快捷兑换,减少用户的投资成本和时间成本。作为区块链技术的第一个实际应用场景,数字资产交易平台在很大程度上是在对区块链技术特点的推广,因此数字资产交易平台一直是数字资产的有力助手。玩家想要进入币圈就先要从购买数字资产开始。在进入“币圈交易”之前,想要购买数字资产有两个途径:1、找熟人购买 2、上平台用户可以通过 OTC 场外交易来完成法币与数字资产的兑换。场外法币交易类似于淘宝的 C2C 平台,用户直接与用户交易,而平台则作为担保方。找熟人购买的这种情况到目前为止是比较少的。所以就会上平台购买,因为在2017年九四之前是用法币交易(直接用法币购买数字资产,平台坐庄)。而在九四之后法币交易直接演变成了币币交易和场外...阅读全文

博文 2019-10-28 16:28:03 yanfaruiec

android4.4 魔趣 使用go备份的解决方案。

参考:http://apk.tw/thread-550590-1-1.html ROOT後,利用ROOT Explorer等工具… 1. 首先是 進入「/system/etc/permissions」目錄。 找到 platform.xml 檔案,長按該檔以文字編輯器開啟。 找到「name=”Android.permission.WRITE_EXTERNAL_STORAGE”」這一行,在下面加入「」。 存檔後重開機 至此go备份还是不能用。 另外还需一步:修改/mnt/media_rw/目录权限为777. 最后一步费了很大功夫才解决。 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this)...阅读全文

博文 2016-01-27 17:00:02 sdfgh2046

Ego2014916001——golang开发环境搭建(支持交叉编译环境)

本文介绍在windows下面建立GO语言的开发环境。实现可以编译windows-386、linux-386、linux-arm平台的程序。这三种情况是有本人亲自测试通过的。 获取安装软件,均可直接安装到windows下面 http://download.csdn.net/detail/seek_0380/7924665 http://download.csdn.net/detail/seek_0380/7924689 http://download.csdn.net/detail/seek_0380/7924631 上面三个下载链接分别是go的windows编译器,go的交叉编译器,go的IDE 安装 分别点击软件安装,注意go的windows交叉编译器安装目录一定要记住,后面要用到点击Mi...阅读全文

博文 2016-04-08 00:00:23 seek_0380

在Sublime Text里开发go

文出自:http://blog.csdn.net/lindonglian/article/details/50659776 用sublime写了很久的markdown文档,这次环境配置省事很多。 装个GoSublime插件,和其他插件的安装方式一样,很easy! 在sublime里想要有代码提示得有gocode,上github下个。如果没装客户端也不是非得下个,github上不是有”download zip”吗。 gocode在git上的地址是https://github.com/nsf/gocode,下到本地的文件夹是gocode-master,我把它拷到go的安装目录bin文件夹下,改名为gocode 在cmd里编译成exe 这个是代码提示用的 写个helloworld ctrl+b调出...阅读全文

博文 2016-02-21 18:00:02 u011731233

Golang 在国产化平台中应用

背景国产化平台主要以Linux系统为主,CPU架构包括Arm、MIPS、PowerPC等。基于国产化平台开发的系统应用大多需要适配多CPU架构。Go语言跨平台编译特性能很好适应这种异构需求。跨平台编译Go语言支持交叉编译,例如:在linux开发环境中:GOOS=linux GOARCH=arm go build -ldflags"-s -w" -i -o ./bin/bitA main.goGOOS=linux GOARCH=arm go build -ldflags"-s -w" -i -o ./bin/bitM main.go在windows开发环境中:创建编译脚本:build.batset GOPROXY=https://goproxy.ioset GOOS=linuxset GOAR...阅读全文

博文 2020-04-13 21:32:50 holimon

5种Python实现方式简单介绍

本文转自老男孩教育,转载请注明出处:http://www.oldboyedu.com python就是是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,语言因其简洁性、易读性以及可扩展性受到欢迎。 python可用于图形处理、数学处理、文本处理、数据库编程、网络编程、Web编程、多媒体应用、pymo引擎、黑客编程、用Python写简单爬虫、人工智能等。 Python有不同的形式,我们常说的Python其实是Cpython,除此之外,还包括Jython、IronPython、PyPy和Pyston等,以下是对其简要介绍: **CPython** CPython是标准Python,也是其他Python编译器的参考实现。通常提到“Python”一词,都是指CP...阅读全文

聊一聊高并发高可用那些事 - Kafka篇

目录 为什么需要消息队列 1.异步 :一个下单流程,你需要扣积分,扣优惠卷,发短信等,有些耗时又不需要立即处理的事,可以丢到队列里异步处理。 2.削峰 :按平常的流量,服务器刚好可以正常负载。偶尔推出一个优惠活动时,请求量极速上升。由于服务器 Redis,MySQL 承受能力不一样,如果请求全部接收,服务器负载不了会导致宕机。加机器嘛,需要去调整配置,活动结束后用不到了,即麻烦又浪费。这时可以将请求放到队列里,按照服务器的能力去消费。 3.解耦 :一个订单流程,需要扣积分,优惠券,发短信等调用多个接口,出现问题时不好排查。像发短信有很多地方需要用到, 如果哪天修改了短信接口参数,用到的地方都得修改。这时可以将要发送的内容放到队列里,起一个服务去消费, 统一发送短信。 高吞吐、高可用 MQ 对...阅读全文

博文 2020-06-07 16:32:43 伟洪winnie

golang如何把一段buffer的内容生成zip文件

golang如何把一段buffer的内容生成zip文件 在前面的例子中,我们介绍了如何把一个文件压缩成zip文件,包括如何把多个文件、目录一起压缩成一个zip文件。 这里我们介绍如何把一段buffer的内容生成zip文件;例如我们从网络接收外端发送的数据,然后要把收到的数据压缩生成一个一个zip文件。 package main import ( "io" "log" "bytes" "io/ioutil" "archive/zip" ) func main() { var err error var zipBuffer * bytes.Buffer = new(bytes.Buffer) var zipWriter * zip.Writer = zip.NewWriter(zipBuffer...阅读全文

博文 2019-05-05 18:34:59 CodingCode

Docker部署Golang程序方法

之前我写过如何部署Golang程序到服务器,这次咱们来写写怎么利用Docker来部署我的Golang,当然如果要部署到Docker里面,Docker是必须安装的,可以点击这里查看安装步骤。 文/谦益 这篇文章可能不太适合对go和Docker零基础人士阅读,需要有一定的基础知识。 依赖知识 Go交叉编译基础 Docker基础 Dockerfile自定义镜像基础 docker-compose编排文件编写基础 当然,一点也不会也可以按照这个步骤部署完成,不过可能中间如果出点小问题,会不知道怎么解决,当然你也可以留言。 我是在mac环境上开发测试的,如果你是在windows上可能有一点出入,但应该不会有啥大问题。 一、依赖环境 Docker 二、编写一个GoLang web程序 我这里就写一个最简单...阅读全文

博文 2018-06-25 08:34:39 _谦益_

sublime Text2:go环境配置

1.安装 http://blog.csdn.net/love_se/article/details/7754274 2.Go编译配置:Tool=>Build System=>Go,然后就可以按ctrl+B或者F7编译了 3. GoCode提示问题: 如果没有把当前的工程目录设置成gopath那么gcode提示会有问题,主要表现为:无法自动提示当前工程里其他package的内容 解决方法: 把下面脚本放到工程的根目录,用这个启动工程 (注:start C:\Users\lenovo\Dropbox\golang\Sublime\sublime_text_cracked.exe换成你自己的sublime的路径即可) set PROMPT=$g$s set GOPATH=%~dp0 mkdir "...阅读全文

博文 2015-06-17 20:12:48 varding

golang进阶之路

类型转换 go语言提供了一种在不同但是相互兼容的类型之间相互转换的方式,并且这种转换非常安全。非数值类型之间的转换不会丢失精读。 但是对于数值类型之间的转换,可能会发生丢失精度或其他问题。 转换语法 resultOfType := Type(exportession) 例如 x := uint16(6500) y := int16(x) 由于x超出了int16的范围,所以y的值会被设置成-535。 对于数字,本质上将我们可以将任意的整型或者浮点型数据转换成别的整型或浮点型(要考虑丢失精度问题)。 string类型转换 一个字符串可以转换成一个[]byte(其底层位UTF-8的字节)或者一个[]rune(Unicode码点),并且[]byte和[]reune都可以转换成一个字符串类型。单个字符...阅读全文

博文 2019-04-24 01:34:42 b77bb494e846

理解 Deno

deno: A new way to Javascript 为什么要花时间学习它呢? 前端开发 Javascript 是世界上最大的生态圈。 TypeScript 作为 Javascript 的超集,兼顾了 Javascript 灵活性和工程化能力。 V8 使用 EventLoop 并发模型,天生适合事件驱动型场景。 在后端业务开发逐渐标准化的趋势下,业务开发工具最需要的是可控的效率。 deno 的作者在创建完 node.js 后,总结大量工业经验,系统架构设计得很简洁,简洁的东西稳定性高,根基正,可成大树。 然后,从各种资料里屡清楚这个项目的脉络 作者 Ryan Dahl 的演讲《10 Things I Regret About Node.js》 和 《Deno, A New Server...阅读全文

博文 2019-02-15 02:34:43 王谙然

Go语言的初步认识

Go语言是来自Google的一门语言,Go语言的一些开源项目如下 链接:http://www.open-open.com/lib/view/open1396063913278.html 关于Go语言的一些内容如下 链接:http://www.tuicool.com/articles/7fMzYnB 链接:http://www.csdn.net/article/2012-07-05/2807113-less-is-exponentially-more Go语言的帮助文档可以进行安装后使用命令找出,例如查看go语言hash的命令如下 如果需要查看源码,就加一个参数。如下 第一个Go语言的程序如下 Go语言的源代码可以直接运行,如下命令 也可以先进行编译成可执行文件,然后运行,编译命令如下 好了,...阅读全文

博文 2015-02-25 18:00:02 ACHelloWorld

Node之父重构的Deno终于发布了,它终究会取代Node吗?

Node之父是谁? image image 没错!就是这个叫Ryan Dahl的男人在2009年创造了Node。你看,其实也不是说大神就都没头发,这位大神毛发不是挺旺盛的嘛! 不过既然是在2009年缔造的Node,那么就不得不吐槽那时候的JS了。在2009年的JavaScript啥样大家都知道(好像貌似那时候的程序员毕竟少),ES5.0(不成熟的ES5)在09年年底才刚刚发布,而ES5.1(咱们现在用的ES5)在2011年6月才开始发布并成为ISO国际标准。 想象一下即使现在有了ES6 ~ ES2020这么新的版本,JS依然经常被大家拿来吐槽,更别提那个ES5都没普及的年代了。 在那时候既没有合适的异步方式也没有模块化,也没有什么包管理啥的。那么这样的JS写大型项目或服务端项目简直就是一场灾...阅读全文

博文 2020-05-15 14:35:39 手撕红黑树

递归

# 递归的定义:一个函数调用自己,就叫做递归。 例如很经典的Fibonacci数列: ``` func Fibonacci(n int) int { if n <= 1 { return 1 } return Fibonacci(n-1) + Fibonacci(n-2) } ``` # 递归的设计原则 1. 一个大的问题能够分解成相似的小问题 2. 定义好出口条...阅读全文

博文 2018-10-11 09:56:59 ace_kylin