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

golang 数据库批量更新工具备份

使用golang多线程批量更新数据数据。 共4个文件 main.go package main import ( "bufio" "fmt" _ "github.com/go-sql-driver/mysql" "os" . "pt" ) func main() { args := os.Args if len(args) == 2 { switch args[1] { case "1": Cu.Run() case "2": //平台负债表数据静态化 Fz.Run() case "0": os.Exit(0) default: } } if len(args) == 1 { for { fmt.Println("操作目录: ") fmt.Println("1、平台有效客户更新(202:13...阅读全文

博文 2016-03-10 18:00:02 ivy19860929

你知道内容营销吗?,在不学习你就落伍了

很多企业(品牌)、尤其是过去使用传统媒体获利颇丰的企业,往往将内容营销规划放在媒体计划环节,然而最好的方式应该是在拟定沟通策略乃至整体市场销售策略阶段,积极和内容营销部门沟通,因为好的内容营销是整合营销。对于大多数2C产品(面向个人用户的产品)而言,整个内容传播过程都有可能产生即时销售或获得大量销售线索。 综观以上,作为营销和传播领域的企业,一定要跳脱代理的思维,从对客户的理解开始,找到客户的真正课题,并提供与客户课题及核心价值观吻合的、符合社会潮流的解决方案,它既可以以体育或音乐为中心,也可以电影或卡通形象为中心,然后通过这个中心来营造整个事件,从核心受众扩展到一般受众,达到营销效果最大化,把体育、娱乐等作为整体营销的重要部分来企划和实施。 企业为什么纷纷改做内...阅读全文

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 谢丽

关于golang中IO相关的Buffer类浅析

io重要的接口 在介绍buffer之前,先来认识两个重要的接口,如下边所示: type Reader interface { Read(p []byte) (n int, err error) } type Writer interface { Write(p []byte) (n int, err error) } 上边两个接口在golang sdk安装目录src/io/io.go中定义。后边凡是涉及到io相关操作的,基本上都实现了这两个接口,如: 1. package bufio 中的Reader类 2. package bytes 中的Reader类与Buffer类 3. package os 中 的File类,这个实现的最为复杂,主要由于在文件操作中,需要系统底层提供服务。 ...不...阅读全文

博文 2017-02-21 17:00:24 hzwy23

网站优化与推广的细节

网站优化与推广的细节 做网站优化推广的成效在于细节,往往在起初的时候,可能忽略了一个小细节导致没有得到更高的效益。前文我给大家讲解过小部分关于简单的网站优化方法。今天我给大家继续详细讲下网站优化与推广的细节。昨天给大家讲解了关键词、网站地图、404页面、301重定向。今天给大家讲一下其他方面的站内优化。 一、站内优化 1.内链布局策略(给重要网页更多关注、控制文章内链数量) 2.内容优化(原创文章内容与伪原创文章内容) 3.内容细节优化(标题、关键词、描述设置) 4.次导航 5.图片ALT属性、title标签 6.关键词密度 做网站推广的大前提就是自身网站的优化一定要做好、做充分,这样才能更好的去做站外优化推广。做网络推广,最重要的是需要沉淀与沉积。...阅读全文

Golang 语言基础之三: array, slice

Golang 语言基础之三: array, slice Golang 语言基础系列: Golang 语言基础之一: type, variable, constant Golang 语言基础之二: for, ifelse, switch Golang 语言基础之三: array, slice Golang 语言基础之四: map, range Golang 语言基础之五: function Golang 语言基础之六: string, pointer Golang 语言基础之七: struct, method Golang 语言基础之八: interface Golang 语言基础之九: error, panic, recover Golang 语言基础之十: goroutine, chann...阅读全文

博文 2017-02-10 13:39:15 Xiaohui Wang

【golang】小技巧-sync.Map解决map并发不安全问题

golang中的map在并发下是不安全的,如果同时读写会出现: type M struct { Map map[string]string } // Set ... func (m *M) Set(key, value string) { m.Map[key] = value } // Get ... func (m *M) Get(key string) string { return m.Map[key] } func main() { c := M{Map: make(map[string]string)} wg := sync.WaitGroup{} for i := 0; i < 21; i++ { wg.Add(1) go func(n int) { k, v := strcon...阅读全文

博文 2020-05-15 17:38:32 dongzaidong

像Go一样写Java,从Go的特性,讨论一种编程风格。

上篇转帖的blog里面提到了Go的特性,作为编写Java时也可以给自己点编程风格的参考。 下面是提到的改进 下面简单学习和分析一下重点的风格提示,领会Ken和Pike的编程思想: 规范的语法(不需要符号表来解析) 垃圾回收(独有) 无头文件 明确的依赖 无循环依赖 常量只能是数字 int和int32是两种类型 字母大小写设置可见性(letter case sets visibility) 任何类型(type)都有方法(不是类型) 没有子类型继承(不是子类) 包级别初始化以及明确的初始化顺序 文件被编译到一个包里 包package-level globals presented in any order 没有数值类型转换(常量起辅助作用) 接口隐式实现(没有“implement”声明) 嵌入(...阅读全文

博文 2015-05-12 20:00:04 Brin想写程序

详解golang中bufio包的实现原理

最近用golang写了一个处理文件的脚本,由于其中涉及到了文件读写,开始使用golang中的 io 包,后来发现golang 中提供了一个bufio的包,使用这个包可以大幅提高文件读写的效率,于是在网上搜索同样的文件读写为什么bufio 要比io的读写更快速呢?根据网上的资料和阅读源码,以下来详细解释下bufio的高效如何实现的。bufio 包介绍 bufio包实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了该接口,且同时还提供了缓冲和一些文本I/O的帮助函数的对象。以上为官方包的介绍,在其中我们能了解到的信息如下:bufio 是通过缓冲来提高效率简单的说就是,把文件读取进缓冲(内存)之后再读取的时候就可以避免文件系统的io 从而提高速度。同...阅读全文

博文 2019-10-30 22:33:04 aside section._1OhGeD

golang中的buffer是什么?

io重要的接口 在介绍buffer之前,先来认识两个重要的接口,如下边所示: type Reader interface { Read(p []byte) (n int, err error) } type Writer interface { Write(p []byte) (n int, err error) } 上边两个接口在golang sdk安装目录src/io/io.go中定义。后边凡是涉及到io相关操作的,基本上都实现了这两个接口,如: 1. package bufio 中的Reader类 2. package bytes 中的Reader类与Buffer类 3. package os 中 的File类,这个实现的最为复杂,主要由于在文件操作中,需要系统底层提供服务。 ...不...阅读全文

博文 2018-07-20 18:34:46 豆瓣奶茶

AliOS Things v1.1.1新特性

摘要: 今年杭州云栖大会上,AliOS Things正式发布,10/20在github上开源v1.1.0版本。经过AliOS Things团队及合作伙伴1个多月的努力,很高兴有些更新可以和大家分享。AliOS Things v1.1.1包含了ESP32支持,AT框架,3BIN,JS运行环境,Testbed基础设施等新特性。 今年杭州云栖大会上,AliOS Things正式发布,10月20号在github上开源v1.1.0版本。经过AliOS Things团队及合作伙伴1个多月的努力,很高兴有些更新可以和大家分享。 AliOS Things回顾 作为公众号的第一篇文章,在展开之前,先简单回顾一下AliOS Things的一些基本特性。 AliOS Things的愿景是,通过...阅读全文

TODO:Golang指针使用注意事项

TODO:Golang指针使用注意事项先来看简单的例子1:输出:11例子2:输出:13例子1是使用值传递,Add方法不会做任何改变;例子2是使用指针传递,会改变地址,从而改变地址。在看例子3:输出:map[a:aa b:bb]map[b:world a:hello]发现什么了,TestMap前面没有加*,没有用指针,怎么也会改变值呢?因为map提供键值功能,用起来像指针引用的类型。类似这种功能的类型还有,数组切片,channel,interface。Go语言包这种指针引用类型,有兴趣可以去阅读一下源码,变量前面都有带“*”号,如果没有看看是否是map类型等。值的拷贝,操作后不会影响到副本的值;而指针则会改变同一地址的所有变量名。例子4:输出:tempBytes: [97 98 99 100 ...阅读全文

[golang]slice的坑:从append到共享

go是宣扬实用主义的语言,很多时候都把c中的最佳实践直接规定成语法了。其中之一就是slice,简单但是非常容易踩坑。 先看一个小例子: func main() { a := make([]int, 2, 2) a[0], a[1] = 1, 2 b := append(a[0:1], 3) c := append(a[1:2], 4) fmt.Println(b,c) } 在这个小例子中,原本是希望将a[0:1]作为b的前缀,然后追加上3;将a[1:2]作为c的前缀,然后追加上4。但实际上输出结果并不是原本期望的[1 3] [2 4],而变成了[1 3] [3 4]。这是为什么呢? 我们知道数据结构中数组是非常高效的,可以直接寻址,但是有个缺陷,难以扩容。所以slice被设计为指向数组的指针...阅读全文

博文 2018-09-29 12:34:45 一桶冷水

2019年度总结

2019年目标 2019年,可能当时心里有目标,但是没有写出来,更没有使用OKR的方式表达出来,现在年底往前翻目标的时候,已经忘记了自己的出发点。 2019年大事记 2019年,最大的事情,应该就是放弃创业,选择加入了小年糕这家公司,现在来看当时的决定,是一个非常正确的选择,虽然也经历了大概半年的挣扎和磨合,但是我很喜欢这里,学习到很多其他地方学习不到的东西,也有很多想感谢的人。 3月入职小年糕,3月主要是在适应公司文化,适应节奏。 4月上线基于谷歌论文的ABtest分层实验平台,架构比较简单,系统性能TP99在1ms左右,现在已经全量使用在小年糕的推荐系统上。用到的技术也很简单,就是本地缓存&redis缓存。 5月,重构了内容审核系统,彻底解决之前系统中的漏审和审核历史问题,系统易用性也大...阅读全文

博文 2020-01-29 05:32:40 不如假如