自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拙言的专栏

望眼山與水依舊 無盡的天高地厚

原创 XCL-Charts图表库简要教程及常见问题

这个Andriod图表库项目从开始至现在,热情消耗几近殆尽。还好已基本实现我想做的那些东西。趁还剩下点兴趣,把一些点非常简单的归纳一下。 所支持的图表类型: 基类 图表名称 BarChart ...

2015-01-01 20:43:48

阅读数 26678

评论数 55

原创 Android开源图表库XCL-Charts版本发布及展示页

XCL-Charts图表库基于Android原生Canvas来绘制各种图表,使用简便,定制灵活。 目前支持3D/非3D柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆叠图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)...

2014-06-12 00:16:50

阅读数 38001

评论数 124

原创 利用Chrome Headless模式,网页转PDF

原来一直是用wkhtmltopdf来将网页打印成PDF文件,它是基于QtWebKit内核的。但最近有个很奇怪 的字体问题困扰着我。所以找找其它能在Linux下实现相同功能的方法。然后发现Chrome Headless模式可 以实现我想要的,而且用Chrome来实现,可以排除掉很多Bug怀疑。   ...

2017-07-21 23:34:02

阅读数 5029

评论数 2

原创 Golang plugin 插件例子

好像手上有场景可以用Go1.8的插件来弄,写了个例子. plug3/plug3.go: package main /* 封装Key到.so Author: XCL Date: 2017-7-16 */ type ApiKey struct { key string } v...

2017-07-16 15:22:05

阅读数 5423

评论数 0

原创 map之类数据集合的几个代码小例子

Map之类的一些KV存储数据集合之类,在业务中使用蛮广泛的,其中,在CodeReview中发现,希望用map存储数据,但又能有序取出数据,以及并发安全的map 的需求出现的比较多,而各自的代码实现都有点绕,其实有更好的封装,大家直接拿过来用就好了。 给几个例子: 几个集合的小例子

2017-06-25 12:52:09

阅读数 965

评论数 0

原创 随机数生成整理(C++,Go)

年前被随机数困扰了一下,年后才有时间来进行整理记录。随机数生成分为真、伪两种。通常用开发语言自带的随机函数来生成即可, 但碰上较真的情况,可以调用第三方的真随机生成库或系统特殊设备来生成真随机数。 Linux下可以用"/dev/random"或"/dev/urando...

2017-02-12 15:27:00

阅读数 917

评论数 0

原创 Can't create more than max_prepared_stmt_count statements

前两天线上狂报"Error 1461: Can't create more than max_prepared_stmt_count statements". 调完MySQL的max_prepared_stmt_count参数并重启部分服务才消停。 调整参数只是暂时解...

2016-12-25 18:15:05

阅读数 5150

评论数 0

原创 HTTP/2服务端与客户端例子(Go)

圣诞节独自一人在家,火车票只抢到一张无座... 还是弄下Blog吧,不然Blog感觉要长草了。  这是翻以前的测试代码整理贴上来的。     一个完整的HTTP/2的服务端与客户端的Demo.  也许有人用得上。 服务端代码: package main /* HTTP/2 服务端...

2016-12-25 15:12:58

阅读数 5985

评论数 1

原创 打造一个让你安稳休息的机器人助手

系统上线了,然后各种呼叫就开始没完没了,周末出去玩一下都不得安宁。而且无语的是,这些系统问题基本不是因为你 写的代码有问题,而是她们误操作或需要查导各种数据,如:数据输反了,价格单位奇葩了或者有Fraud来了。 真是烦燥。 难道以后到哪都要带着电脑跑。。。     我一直在找适合公司现状的好一点的...

2016-08-07 13:33:10

阅读数 1070

评论数 0

原创 编译go1.7beta2

今天有碰到个"local error: no renegotiation"问题,就去尝试编译了下Go1.7beta2 记录下:   1. 安装 go1.4  [root@ip-172-31-16-112 src]# export GOROOT=/root/go1....

2016-07-01 00:41:47

阅读数 5860

评论数 0

原创 利用smtp协议发送带附件的邮件

之前写过一个发邮件的,不过没带附档,今天再看了下smtp协议,做了个带附档的邮件发送例子,也就这样吧。

2016-05-07 21:57:24

阅读数 6947

评论数 1

原创 Atom和Webstorm开发环境搭建

今天再折腾了一下开发环境,记录一下。 一、Atom 配置C/C++开发环境    autocomplete-clang    linter-clang 二、Atom 配置Golang开发环境    go-plus      这个插件非常好用,安装后,初步建项目时,会ge...

2016-04-24 11:06:30

阅读数 3892

评论数 0

原创 glog的二次封装

二次封装glog的原因在于,现在有多个语言的不同服务在跑,为了日志管理方便,会统一下日志级别及日志显示格式。 Go这边的日志一直用的glog.我之前也介绍过,这是个很好用的日志包,但它有它的一套定义,要统一风格的话, 只能在其基础再封装一层,以满足通用的INFO/WARN/ERROR/FATAL/...

2016-04-16 12:20:58

阅读数 2116

评论数 2

原创 简转繁等中文转换(Golang)

之前项目需要个简体转繁体的功能,工期太紧,就自己撸了一个,效果还行. 在做这个的过程中发现简转繁其实远比想的要复杂. 中间有很多简体字习惯的用法,在繁体中是不同的。且有些字如(後,后,臺灣,台灣) 在繁体中有几种写法和用法。 简体字将其简化成了一个字...  然后相同的字,在不同的词组中时,有些用...

2016-04-10 02:36:50

阅读数 4565

评论数 0

原创 ELK Stack搭建和使用中的一些小记录

ELK Stack搭建与使用过程中的小记录

2016-02-11 00:42:23

阅读数 988

评论数 0

原创 用Go开发WeChat接口的一个小坑

Golang开发WeChat Wallet接口的小注意事项

2016-02-10 23:27:38

阅读数 1984

评论数 0

原创 Atom插件go-plus的离线安装

Atom用了段时间了,用起来还不错。用来开发Go的话,需要安装go-plus这个插件。 没在线安装成功,只好离线安装了,记录一下,说不定别人也需要.       步骤如下:       一。配置node环境         brew update         brew install...

2016-01-24 13:53:26

阅读数 4275

评论数 0

原创 Go语言条件变量的两个例子

在Go语言中 sync.Cond 代表条件变量,但它需要配置锁才能有用. var m Mutex  c := NewCond(&m) 或 c := sync.NewCond(&sync.RWMutex{}) 之类. 它有三个函数: wait/signal/broadcast  望文...

2015-11-29 19:09:17

阅读数 1611

评论数 3

原创 BlotDB数据库例子

一直想在Go系中找个类似PHP+Sqlite的组合,查了下,发现了BlotDB数据库正合用。 这个库在GitHub上 star数很高,看来我是孤陋寡闻了 。       研究了下,它是个Key/Value数据库,会在磁盘上生成一个db文件,支持事务处理,支持只读打开..... 不过它不 支持SQL...

2015-11-25 21:57:25

阅读数 2711

评论数 0

原创 介绍一些有助于写出更好Go程序的工具

前面讲了测试和性能调优之类,这篇主要讲如何利用Go提供的一些工具和参数,帮助写出更好的代码. 一. golint 检查代码规范 二. go vet 检查代码存在的隐患 三. -race 检查是否有race condition

2015-11-22 22:26:41

阅读数 7310

评论数 0

原创 Go语言HTTP测试及程序性能调优

这篇要讲的东西,主要是HTTP,WebSocket的测试及如何调优Go程序的一些方法. 分下面几个内容: 一.httptest测试包 二.性能测试 三.怎么利用参数分析和调优程序 四.在运行中实时监控调优 一.httptest测试包 对于HTTP和WebSocket测试,Go...

2015-11-22 19:11:23

阅读数 5516

评论数 0

原创 Go语言程序测试

最近一直在搞各种测试,然后今天周末翻翻书,发现特价萝卜的书上在测试方面写得挺全的。  这书是之前CU(chinaunix.net)论坛。搞活动得到奖品(还有作者亲笔签名),拿回来都没看完. 因为写得太太太细了,又厚。     参考他的书及官网的东西,再把测试方面的东西过一下还是有点意思的. 这篇...

2015-11-22 13:04:34

阅读数 3315

评论数 0

原创 多懂点SQL可以写出更好的接口

引子: 今天被人说我MySQL懂得很浅,作为一个老OCP,我竞然无言以对。因为确实我这么 多年一直都用的ORACLE,没玩过啥重量级的MySQL应用. 不过,这个刚好让我想起了前几天, 一个API接口的讨论,可以拿出来聊聊. 当时的需求是如下图这样子在APP端显示一个商家列表(商家...

2015-11-17 21:59:09

阅读数 2047

评论数 2

原创 帐号重复登录处理

前面说了"一个帐号多设备登录的处理"这里说说另一种情况,在不允许重复登录的要求下, 如何处理用户帐号重复登录后台服务? 这个看起来简单的问题,可很是纠缠了我一段时间。   一.选择哪种处理方法。  首先,有两种可选择的方法:

2015-11-15 23:26:55

阅读数 2025

评论数 0

原创 一个帐号多设备登录的处理

多设备登录的问题处理,远没有看起来那么简单。除了设计理念,安全方面的考量外,在技术上处理 也是个麻烦事。     列几种情况:     情况A:       同用户在多个同类型设备上登录。 如,同一个帐号在多个Android手机上登录.     情况B:      同用户在多个不同类型设备上登录...

2015-11-15 17:40:33

阅读数 9204

评论数 0

原创 文件存储相关的一些东西整理

做App后端,特别是像IM这类,会有很多语音和图片之类的大大小小一堆文件在服务端进进出出. 这时,怎么存文件,就要好好想想了。         其实文件存储这回事,我并不陌生,不过以前做存储备份开发时,更多关注的是文件同步,文件消重. 备份介质管理之类的东西。现在场景换了,不同了。 存文件大致...

2015-11-13 00:39:07

阅读数 1889

评论数 0

原创 提升APNS消息推送质量的一些想法和验证程序

今天在想用什么样的方式,才能改善提高大级别时APNS的推送质量.有了个初步的想法。      首先简单列一下,APNS常见的一些限制和要注意的地方:    1.频繁建立和断开连接,被当成受到攻击,直接把链接给断了。    2.开发一堆并发,有个消息发生异常推送失败了,apns ack要等一段...

2015-11-12 00:38:23

阅读数 1398

评论数 0

原创 HTTP/2和WebSocket及HTML5资料整理--WebSocket/HTML5篇

WebSocket比HTTP/2早发布几年,它是一个客户端与服务端间的通信协议,归属于HTML5. 它在开始时利用HTTP协议通讯。 来确认对方是否支持WebSocket。当握手成功后,采用TCP传输,基本消息以数据帧为单位来传递。 所以在这个协议里HTTP只是一过客,为了和HTTP协议区分开来,...

2015-11-05 23:32:58

阅读数 2783

评论数 0

原创 HTTP/2和WebSocket及HTML5资料整理--HTTP2篇

发现HTTP/2、WebSocket、HTML5这些东西很多人都听过,但具体到各有哪些特点?有什么区别? 各自要解决什么问题? 其实很多人并不是那么清楚的。所以我之前在公司 内部做了个这方面的分享。当然,我也是现抄现卖,其中大部分内容来自维基百科及网上各大神的分享。 分享其实有时能收获更多,而在分...

2015-11-01 20:48:33

阅读数 3707

评论数 0

原创 运维监控开发笔记

要把手上的一些东西理理,汇成一个运维监控的东西。本来这类东西(牛刀)大把了,不过我喜欢 造轮子的习惯又犯了,主要是都是自己写的,清楚每个点,很容易把监控代码嵌入进去, 只要注意控制好功能范围不挖大坑就行. 日志处理不和Hadoop扯上关系的话,可能用(ELK)的组合。 采集...

2015-11-01 18:09:10

阅读数 894

评论数 0

原创 HTTP基本认证和摘要认证

今天试了下HTTP认证的资料. 主要是基本认证与摘要认证. 其中基本认证是指 Base64(user:pwd)后,放在Http头的Authorization中发送给服务端来作认证. 用Base64纯只是防君子不防小人的做法。所以只适合用在一些不那么要求安全性的场合。          不过如果是做...

2015-10-28 22:19:26

阅读数 3627

评论数 0

原创 批量替换和转移目录的东东

拷,1点半了,写太晚了。 总之是个好东东。直接上代码了,不解释。 /* 批量替换和转移目录的东东 遍历指定目录,对于指定扩展名的文件, 查找并替换文件内容中的指定字符串,并 将其输出到新的目录下。原文件内容不变。 至于其它非指定的文件,也一并复制一份到新目录下。 使用Josn作为...

2015-10-24 01:34:46

阅读数 1050

评论数 1

原创 身份认证和消息合法性验证方案分享

我最近要找一种合适的数据加密与身份认证方案,来保证服务的安全。没啥经验,一翻恶补之后,总算整合出一套方案。 并用Go完成了Demo。本人对安全外行,不过自我感觉应当是个比较有安全感的身份认证方案。         不想写大段文字来说明,看得懂的,依着代码来瞧瞧吧. 首先,协议包应当包含最少下面...

2015-10-11 20:02:25

阅读数 762

评论数 0

原创 整理下Base64相关的东西(OpenSSL/GO...)

Base64在不同语言对接时,其实是有些小坑的,之前有碰过。 首先Base64的是啥? 阮一峰有一篇写得很赞的文章说得很明白。 然后是怎么编码? 我用OpenSSL写了个Base64解编码实现: /* 用openssl来做Base64加解密. Author: xcl Date:2015-9...

2015-09-19 23:13:37

阅读数 2202

评论数 0

原创 Mac下配置OpenSSL

Mac本身已经有OpenSSL可以直接用,提供的相关的依赖库如下: XCLiMac:openssl-0.9.8zg xcl$ ls -l /usr/lib/libssl.dylib lrwxr-xr-x 1 root wheel 18 11 13 2014 /usr/lib/libssl...

2015-09-19 21:45:51

阅读数 5249

评论数 0

原创 写了个快速打包项目源码至pdf文件的工具

为了能痛快看代码,写了个把项目工程打包到一个pdf文件中的程序。没啥特别的,但好用而且速度快。 运行一下,源码随时带走看。并且依文件分了目录标签,加上了行号,非常方便。如果对默认设置不满意, 像文件字体大小,一页行数都可自由设定。          反正我下了开源项目后,将其打包pdf后放在...

2015-09-10 23:43:26

阅读数 1044

评论数 0

原创 PDF开源库libharu的折腾之旅

最近入手了一台Kindle,想在上面看代码.发现直接放上去看不了。 好吧,就准备写个批量将代码文件自动转成带目录标签的PDF文件的程序。 找到了libharu这个开源库,准备开用,没想到要用起来真不容易。 下面是折腾记录。      开发环境:  Vs Express 2015 版本 相关工程下载...

2015-09-05 20:28:35

阅读数 5339

评论数 4

原创 Beanstalkd的使用(Golang)

最近需要引入一种新的消息队列,这个队列最好能专业、简单、消息不丢失等特性,但又不会引入过多的复杂性,  特别是在目前单枪匹马的情况下。然后发现Beanstalkd看起来是我所需要的.         Beanstalkd 支持任务优先级 (priority), 延时 (delay), 超时重发 (...

2015-08-16 20:25:44

阅读数 2743

评论数 1

原创 在树莓派上构建Golang及Redis环境

今天翻了翻旧资料,发现点东西。之前公司服务器还没就位(初创公司没办法)时. 正讨论服务器的事,有同事拿出了他的Raspberry Pi。 我一想,也行.Go本来就支持多平台。Redis更是C语言写的,应当不成问题。 最后,虽然中间走了点弯路,不过还好,能跑起来.      Golang: ...

2015-06-21 21:03:33

阅读数 2983

评论数 0

原创 记使用WaitGroup时的一个错误

记使用WaitGroup时的一个错误最近重构服务器代码时,不当使用了WaitGroup,碰到了个错误,记录下.package mainimport ( "fmt" "sync" "time" )func main(...

2015-06-12 00:47:12

阅读数 6698

评论数 1

提示
确定要删除当前文章?
取消 删除