- 博客(249)
- 资源 (14)
- 收藏
- 关注
原创 XCL-Charts图表库简要教程及常见问题
这个Andriod图表库项目从开始至现在,热情消耗几近殆尽。还好已基本实现我想做的那些东西。趁还剩下点兴趣,把一些点非常简单的归纳一下。 所支持的图表类型: 基类 图表名称 BarChart 横/竖向柱形图及背向式柱形图 BarChart3D 横/竖向3D柱形图 StackBarChart 横/竖向堆叠式柱形图 RangeBarChart 范围柱
2015-01-01 20:43:48 40111 58
原创 Android开源图表库XCL-Charts版本发布及展示页
XCL-Charts图表库基于Android原生Canvas来绘制各种图表,使用简便,定制灵活。 目前支持3D/非3D柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆叠图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、 雷达图(Radar Chart)、
2014-06-12 00:16:50 44392 126
原创 31点经验分享与吐槽
本来在家安心的写 golibs,写到数据库这块时想写个备注,可能有些东西累积已经太久,然后就一发不可收拾,写了很多。放在代码仓库已经不合适了,删了又可惜,就放在这吧。 如果要用数据库中间件,个人看目前 小米的 Gaea 可能是相对更成熟的。但还是建议先在非核心系统试用,否则一次踩坑,可能足以致命 见过在 Go 框架中使用 Java 那套手写 xml 配置管理 SQL 的方案。很难理解,不同语言的开发理念是不同的,一定要这样南橘北枳吗? SQLHooks 是个好东西,但最好多测试,各
2022-05-20 12:06:34 299
原创 利用Chrome Headless模式,网页转PDF
原来一直是用wkhtmltopdf来将网页打印成PDF文件,它是基于QtWebKit内核的。但最近有个很奇怪的字体问题困扰着我。所以找找其它能在Linux下实现相同功能的方法。然后发现Chrome Headless模式可以实现我想要的,而且用Chrome来实现,可以排除掉很多Bug怀疑。 Chrome Headless模式相当于一个没有界面的浏览器,能实现很多功能,能实现pdf打
2017-07-21 23:34:02 9057 3
原创 Golang plugin 插件例子
好像手上有场景可以用Go1.8的插件来弄,写了个例子.plug3/plug3.go:package main/*封装Key到.soAuthor: XCLDate: 2017-7-16*/type ApiKey struct { key string}var myApiKey ApiKeyfunc init() { myApiKey = ApiKe
2017-07-16 15:22:05 7094
原创 map之类数据集合的几个代码小例子
Map之类的一些KV存储数据集合之类,在业务中使用蛮广泛的,其中,在CodeReview中发现,希望用map存储数据,但又能有序取出数据,以及并发安全的map的需求出现的比较多,而各自的代码实现都有点绕,其实有更好的封装,大家直接拿过来用就好了。给几个例子:几个集合的小例子
2017-06-25 12:52:09 1506
原创 随机数生成整理(C++,Go)
年前被随机数困扰了一下,年后才有时间来进行整理记录。随机数生成分为真、伪两种。通常用开发语言自带的随机函数来生成即可,但碰上较真的情况,可以调用第三方的真随机生成库或系统特殊设备来生成真随机数。Linux下可以用"/dev/random"或"/dev/urandom"来生成。关于这两个文件可以看下维基百科: https://zh.wikipedia.org/wiki//dev/
2017-02-12 15:27:00 1433
原创 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参数并重启部分服务才消停。调整参数只是暂时解决问题,根子在哪?还需要抽出时间排查代码和监控数据库,我初步怀疑是哪个业务场景同一时间突然产生大量的Prepare直至超过上
2016-12-25 18:15:05 9586
原创 HTTP/2服务端与客户端例子(Go)
圣诞节独自一人在家,火车票只抢到一张无座... 还是弄下Blog吧,不然Blog感觉要长草了。 这是翻以前的测试代码整理贴上来的。 一个完整的HTTP/2的服务端与客户端的Demo. 也许有人用得上。服务端代码:package main/*HTTP/2 服务端例子Author: XCLDate: 2016-12-25HTTP2 测试证书生成.go
2016-12-25 15:12:58 8467 1
原创 打造一个让你安稳休息的机器人助手
系统上线了,然后各种呼叫就开始没完没了,周末出去玩一下都不得安宁。而且无语的是,这些系统问题基本不是因为你写的代码有问题,而是她们误操作或需要查导各种数据,如:数据输反了,价格单位奇葩了或者有Fraud来了。真是烦燥。 难道以后到哪都要带着电脑跑。。。 我一直在找适合公司现状的好一点的方案,直到这几天在玩Slack Bot。 因为它的API很好用,我可以把一些常见的,特殊的。又不
2016-08-07 13:33:10 1372
原创 编译go1.7beta2
今天有碰到个"local error: no renegotiation"问题,就去尝试编译了下Go1.7beta2记录下: 1. 安装 go1.4 [root@ip-172-31-16-112 src]# export GOROOT=/root/go1.4[root@ip-172-31-16-112 src]# export PATH=$PATH:$GOROOT/bin
2016-07-01 00:41:47 6417
原创 Atom和Webstorm开发环境搭建
今天再折腾了一下开发环境,记录一下。一、Atom 配置C/C++开发环境 autocomplete-clang linter-clang二、Atom 配置Golang开发环境 go-plus 这个插件非常好用,安装后,初步建项目时,会get一堆相关插件. 如果其中有些东西没下载成功,手工安装也一样. 比如无代码提示之类, 可手工安
2016-04-24 11:06:30 4588
原创 glog的二次封装
二次封装glog的原因在于,现在有多个语言的不同服务在跑,为了日志管理方便,会统一下日志级别及日志显示格式。Go这边的日志一直用的glog.我之前也介绍过,这是个很好用的日志包,但它有它的一套定义,要统一风格的话,只能在其基础再封装一层,以满足通用的INFO/WARN/ERROR/FATAL/DEBUG定义之类。 这是我初次封装后的效果: 看起
2016-04-16 12:20:58 3861 2
原创 简转繁等中文转换(Golang)
之前项目需要个简体转繁体的功能,工期太紧,就自己撸了一个,效果还行. 在做这个的过程中发现简转繁其实远比想的要复杂.中间有很多简体字习惯的用法,在繁体中是不同的。且有些字如(後,后,臺灣,台灣) 在繁体中有几种写法和用法。简体字将其简化成了一个字... 然后相同的字,在不同的词组中时,有些用简体那个,有些用繁体那个... 最后,台湾繁体和香港繁体还有不同的差异.
2016-04-10 02:36:50 8642
原创 Atom插件go-plus的离线安装
Atom用了段时间了,用起来还不错。用来开发Go的话,需要安装go-plus这个插件。没在线安装成功,只好离线安装了,记录一下,说不定别人也需要. 步骤如下: 一。配置node环境 brew update brew install node brew reinstall node --with-full-ic
2016-01-24 13:53:26 6301
原创 Go语言条件变量的两个例子
在Go语言中 sync.Cond 代表条件变量,但它需要配置锁才能有用.var m Mutex c := NewCond(&m)或c := sync.NewCond(&sync.RWMutex{})之类.它有三个函数: wait/signal/broadcast 望文知义,和Windows下的InitializeConditionVariable与WaitForSing
2015-11-29 19:09:17 2233 3
原创 BlotDB数据库例子
一直想在Go系中找个类似PHP+Sqlite的组合,查了下,发现了BlotDB数据库正合用。 这个库在GitHub上star数很高,看来我是孤陋寡闻了 。 研究了下,它是个Key/Value数据库,会在磁盘上生成一个db文件,支持事务处理,支持只读打开..... 不过它不支持SQL语句,需通过相关函数和代码来手工实现。 弄了个例子:/*BlotDB 练习
2015-11-25 21:57:25 3369
原创 介绍一些有助于写出更好Go程序的工具
前面讲了测试和性能调优之类,这篇主要讲如何利用Go提供的一些工具和参数,帮助写出更好的代码.一. golint 检查代码规范二. go vet 检查代码存在的隐患三. -race 检查是否有race condition
2015-11-22 22:26:41 9039
原创 Go语言HTTP测试及程序性能调优
这篇要讲的东西,主要是HTTP,WebSocket的测试及如何调优Go程序的一些方法.分下面几个内容:一.httptest测试包二.性能测试三.怎么利用参数分析和调优程序四.在运行中实时监控调优一.httptest测试包对于HTTP和WebSocket测试,Go标准库有一个HTTP测试框架.在"http/httptest"包下. go1.5.1\go\src
2015-11-22 19:11:23 7022
原创 Go语言程序测试
最近一直在搞各种测试,然后今天周末翻翻书,发现特价萝卜的书上在测试方面写得挺全的。 这书是之前CU(chinaunix.net)论坛。搞活动得到奖品(还有作者亲笔签名),拿回来都没看完.因为写得太太太细了,又厚。 参考他的书及官网的东西,再把测试方面的东西过一下还是有点意思的.这篇主要讲这几点:一.Testing的几种不同形式功能测试:TestXxxx(t
2015-11-22 13:04:34 4366
原创 多懂点SQL可以写出更好的接口
引子: 今天被人说我MySQL懂得很浅,作为一个老OCP,我竞然无言以对。因为确实我这么多年一直都用的ORACLE,没玩过啥重量级的MySQL应用. 不过,这个刚好让我想起了前几天,一个API接口的讨论,可以拿出来聊聊. 当时的需求是如下图这样子在APP端显示一个商家列表(商家来自各行各业.).
2015-11-17 21:59:09 3732 2
原创 帐号重复登录处理
前面说了"一个帐号多设备登录的处理"这里说说另一种情况,在不允许重复登录的要求下,如何处理用户帐号重复登录后台服务? 这个看起来简单的问题,可很是纠缠了我一段时间。 一.选择哪种处理方法。 首先,有两种可选择的方法:
2015-11-15 23:26:55 5946
原创 一个帐号多设备登录的处理
多设备登录的问题处理,远没有看起来那么简单。除了设计理念,安全方面的考量外,在技术上处理也是个麻烦事。 列几种情况: 情况A: 同用户在多个同类型设备上登录。 如,同一个帐号在多个Android手机上登录. 情况B: 同用户在多个不同类型设备上登录。如,同一个帐号在手机,PC或Pad上登录. 情况C: 在一台
2015-11-15 17:40:33 21281 1
原创 文件存储相关的一些东西整理
做App后端,特别是像IM这类,会有很多语音和图片之类的大大小小一堆文件在服务端进进出出.这时,怎么存文件,就要好好想想了。 其实文件存储这回事,我并不陌生,不过以前做存储备份开发时,更多关注的是文件同步,文件消重.备份介质管理之类的东西。现在场景换了,不同了。存文件大致有下面几种选择: 1.直接保存在本地文件系统或网络文件存储上. 本地
2015-11-13 00:39:07 2479
原创 提升APNS消息推送质量的一些想法和验证程序
今天在想用什么样的方式,才能改善提高大级别时APNS的推送质量.有了个初步的想法。 首先简单列一下,APNS常见的一些限制和要注意的地方: 1.频繁建立和断开连接,被当成受到攻击,直接把链接给断了。 2.开发一堆并发,有个消息发生异常推送失败了,apns ack要等一段时间(可能有1sec左右的延迟)才返回,而 这期间,后面发的消息也会被认为有问题,直接被其
2015-11-12 00:38:23 1861
原创 HTTP/2和WebSocket及HTML5资料整理--WebSocket/HTML5篇
WebSocket比HTTP/2早发布几年,它是一个客户端与服务端间的通信协议,归属于HTML5. 它在开始时利用HTTP协议通讯。来确认对方是否支持WebSocket。当握手成功后,采用TCP传输,基本消息以数据帧为单位来传递。所以在这个协议里HTTP只是一过客,为了和HTTP协议区分开来,WebSocket采用ws://或wss://来确定通讯地址。 当客户端连接服务端时
2015-11-05 23:32:58 3254
原创 HTTP/2和WebSocket及HTML5资料整理--HTTP2篇
发现HTTP/2、WebSocket、HTML5这些东西很多人都听过,但具体到各有哪些特点?有什么区别?各自要解决什么问题? 其实很多人并不是那么清楚的。所以我之前在公司内部做了个这方面的分享。当然,我也是现抄现卖,其中大部分内容来自维基百科及网上各大神的分享。分享其实有时能收获更多,而在分享时确实有些东西又让我对一些东西更了解了。 首先说下HTTP/2。
2015-11-01 20:48:33 4677
原创 运维监控开发笔记
要把手上的一些东西理理,汇成一个运维监控的东西。本来这类东西(牛刀)大把了,不过我喜欢造轮子的习惯又犯了,主要是都是自己写的,清楚每个点,很容易把监控代码嵌入进去,只要注意控制好功能范围不挖大坑就行. 日志处理不和Hadoop扯上关系的话,可能用(ELK)的组合。 采集处理的东西有部分功能了,其中系统部份可以参考小米开源的Open-Falcon,相当完备的东西。这东西不错的,也听过小米秦晓辉的分享,有很多可借鉴的经验.可惜就我一个人没法太花时间研究,只能写的时候边写边看了,不过
2015-11-01 18:09:10 1634
原创 HTTP基本认证和摘要认证
今天试了下HTTP认证的资料. 主要是基本认证与摘要认证.其中基本认证是指 Base64(user:pwd)后,放在Http头的Authorization中发送给服务端来作认证.用Base64纯只是防君子不防小人的做法。所以只适合用在一些不那么要求安全性的场合。 不过如果是做WebAPI不是网页,且web服务器是自己可以控制的,其实没必要那么死板。 我就试了把Bas
2015-10-28 22:19:26 4477
原创 批量替换和转移目录的东东
拷,1点半了,写太晚了。 总之是个好东东。直接上代码了,不解释。/*批量替换和转移目录的东东 遍历指定目录,对于指定扩展名的文件, 查找并替换文件内容中的指定字符串,并 将其输出到新的目录下。原文件内容不变。 至于其它非指定的文件,也一并复制一份到新目录下。 使用Josn作为配置文件.Author:XiongChuanLiangDate:2015-10-23Lin
2015-10-24 01:34:46 1321 1
原创 身份认证和消息合法性验证方案分享
我最近要找一种合适的数据加密与身份认证方案,来保证服务的安全。没啥经验,一翻恶补之后,总算整合出一套方案。并用Go完成了Demo。本人对安全外行,不过自我感觉应当是个比较有安全感的身份认证方案。 不想写大段文字来说明,看得懂的,依着代码来瞧瞧吧.首先,协议包应当包含最少下面几个字段: type Proto struct { //... Timestam
2015-10-11 20:02:25 1260
原创 整理下Base64相关的东西(OpenSSL/GO...)
Base64在不同语言对接时,其实是有些小坑的,之前有碰过。首先Base64的是啥? 阮一峰有一篇写得很赞的文章说得很明白。然后是怎么编码?我用OpenSSL写了个Base64解编码实现:/* 用openssl来做Base64加解密. Author: xcl Date:2015-9-17*/#include #include #include #include
2015-09-19 23:13:37 3115
原创 Mac下配置OpenSSL
Mac本身已经有OpenSSL可以直接用,提供的相关的依赖库如下:XCLiMac:openssl-0.9.8zg xcl$ ls -l /usr/lib/libssl.dyliblrwxr-xr-x 1 root wheel 18 11 13 2014 /usr/lib/libssl.dylib -> libssl.0.9.8.dylibXCLiMac:openssl-0.9.8
2015-09-19 21:45:51 8393
原创 写了个快速打包项目源码至pdf文件的工具
为了能痛快看代码,写了个把项目工程打包到一个pdf文件中的程序。没啥特别的,但好用而且速度快。运行一下,源码随时带走看。并且依文件分了目录标签,加上了行号,非常方便。如果对默认设置不满意,像文件字体大小,一页行数都可自由设定。 反正我下了开源项目后,将其打包pdf后放在Kindle里看蛮爽的. 运行后生成的pdf效果如下:
2015-09-10 23:43:26 1285
原创 PDF开源库libharu的折腾之旅
最近入手了一台Kindle,想在上面看代码.发现直接放上去看不了。好吧,就准备写个批量将代码文件自动转成带目录标签的PDF文件的程序。找到了libharu这个开源库,准备开用,没想到要用起来真不容易。下面是折腾记录。 开发环境: Vs Express 2015 版本相关工程下载 从github下载libharu https://github.com/li
2015-09-05 20:28:35 8294 4
原创 Beanstalkd的使用(Golang)
最近需要引入一种新的消息队列,这个队列最好能专业、简单、消息不丢失等特性,但又不会引入过多的复杂性, 特别是在目前单枪匹马的情况下。然后发现Beanstalkd看起来是我所需要的. Beanstalkd 支持任务优先级 (priority), 延时 (delay), 超时重发 (time-to-run) 和预留 (buried), 同时支持binlog
2015-08-16 20:25:44 4099 1
原创 在树莓派上构建Golang及Redis环境
今天翻了翻旧资料,发现点东西。之前公司服务器还没就位(初创公司没办法)时.正讨论服务器的事,有同事拿出了他的Raspberry Pi。我一想,也行.Go本来就支持多平台。Redis更是C语言写的,应当不成问题。最后,虽然中间走了点弯路,不过还好,能跑起来. Golang: 1. 从官网去下载 1.4.2的源码包。 不要直接从github下载或用1.5版本的源码
2015-06-21 21:03:33 4909
代码统计分析命令scounter
2014-12-22
cdir命令_xcltools工具包
2014-12-07
Android画一张报表来玩
2014-04-06
Android参数传递方法汇总
2013-11-07
云计算的关键技术与应用实例光盘
2012-08-01
云计算的关键技术与应用实例.part2
2012-08-01
云计算的关键技术与应用实例
2012-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人