- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 gif图片处理工具gifsicle和graphicsmagick对比测试
简介gifsicle是一个可以对gif类型图片进行各类操作的命令行工具,通过查阅相关资料发现gifsicle库针对gif类型图片的处理进行了大量的优化,不仅输出图片文件的size比较小,压缩时消耗的cpu资源也很比较少.图片集在线上提取了一天的gif原图访问记录的url进行测试,原图下载后总共大小5924M原图大小分布:压缩结果对比压缩的方式
2017-11-11 06:59:45
2148
原创 golang如何得到一个变量的类型
直接使用reflect的TypeOf方法就可以了fmt.Println(reflect.TypeOf(var))
2017-02-22 14:50:38
29776
2
原创 golang获取文件夹下面的文件列表
golang的文档里面比较容易找到的一个方法是filepath.Walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方法代码写起来也比较多比较复杂,我们也没有必要这么做.如果仅仅是想获取一个目录下面的文件和文件夹的列表,有两个比较简单的方法利用ioutil的ReadDir方法package main
2017-02-22 13:39:56
40638
1
原创 解决三星note5无线充电偶尔充不进去的问题
买三星note5的时候送了一个无线充电板,开始用着没啥问题,但是从某次系统更新之后就经常出现充电充不进去的情况,一直没搞明白具体是什么原因.后来发现原来是有短信提示的时候就有可能充不进去,读取短信之后就可以正常充电了,看来是一个系统逻辑上的问题.
2016-06-08 13:40:23
8970
原创 解决vim当中鼠标右键粘贴不了的问题
最近升级了操作系统,vim也重新安装了一下,之后发现之前设定的右键粘贴不管用了,一点左下角就显示 -- (insert) VISUAL--,之前解决过这个问题,忘了是怎么解决的了,搜了一下也不好找到答案,后来突然想起来了是在.vimrc里面设置成下面这样,注意等号后面什么都没有,再使用vim就正常了set mode=
2016-04-08 13:56:42
3736
3
原创 xshell里面使用黑色背景时蓝色字体看不清楚的解决方法
对于使用xshell的linux程序员来说,每天有绝大部分是在xshell里面操作,并且也应该有不少人把背景调成了黑色,但是默认的黑色背景有个问题是蓝色的文件夹看不清楚,就像下面这样没贴近屏幕基本上看不清楚,解决这个看不清楚的办法可以是直接去网上下个字体来修改配色,不过由于自己常年熟悉的不同类型的文件颜色出现了变化,导致看着不舒服不过有个更简单的办法就是直接在工具->配色方案里面把
2016-02-25 14:28:51
5448
原创 golang获取昨天的日期
golang的time包里面有个AddDate方法,可以通过参数获取之后的日期,如果把参数写成负数就可以获取之前的日期nTime := time.Now()yesTime := nTime.AddDate(0,0,-1)logDay = yesTime.Format("20060102")
2015-12-16 17:39:56
28550
1
原创 golang读取文本文件示例
一般文件比较小的话可以将文件全部读入内存中,然后转换成string再按行分割一下func GetFileContentAsStringLines(filePath string) ([]string, error) { logger.Infof("get file content as lines: %v", filePath) result := []string{} b, err :
2015-12-16 10:31:15
9667
原创 golang判断key是否在map中
判断方法示例代码if _, ok := map[key]; ok {} 另外golang也没有提供item是否在array当中的判断方法,如果程序里面频繁用到了这种判断,可以将array转化为以array当中的成员为key的map再用上面的方法进行判断,这样会提高判断的效率.
2015-11-23 15:59:08
137330
原创 golang判断文件或文件夹是否存在
golang判断文件或文件夹是否存在的方法为使用os.Stat()函数返回的错误值进行判断:如果返回的错误为nil,说明文件或文件夹存在如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹不存在如果返回的错误为其它类型,则不确定是否在存在func PathExists(path string) (bool, error) { _, err := o
2015-11-23 11:21:33
15599
原创 golang按行写文件
将map[string]string写入文件func WriteMaptoFile(m map[string]string, filePath string) error { f, err := os.Create(filePath) if err != nil { fmt.Printf("create ssi map file
2015-11-23 11:00:34
18193
原创 socket编程实例
server.c#include#include#include#include#include#include#include#include#include#define PORT 5555#define MAXNSG 512int make_socket(uint16_t port){ int sock; struct sockaddr_in na
2012-01-08 18:41:37
525
原创 nagios当中的一些函数
int my_free(void **ptr){ if(ptr==NULL) return ERROR; /* I hate calling free() and then resetting the pointer to NULL, so lets do it together */ if(*ptr){
2011-12-22 06:48:55
551
原创 nagios的主文件nagios.c
nagios的文件是nagios.c是main函数所在的文件#ifdef EMBEDDEDPERLint main(int argc, char **argv, char **env){#elseint main(int argc, char **argv){#endifEMBEDDEDPERL用来标识是否将内置的perl支持进行编译接下来为一些局部变量的定义
2011-12-22 06:41:12
541
原创 nagios当中使用nonblocking方式建立tcp连接
int my_tcp_connect(char *host_name, int port, int *sd, int timeout){ struct addrinfo hints; struct addrinfo *res; int result; char *port_str=NULL; int flags=0; fd_set rfds; fd_set wfds; struct
2011-12-20 07:08:37
585
原创 nagios event_execution_loop分析
time_event结构体typedef struct timed_event_struct{ int event_type; time_t run_time; int recurring; unsigned long event_interval; int compensate_for_time_change; void *timing_func; void *event_da
2011-12-19 17:03:33
493
原创 nagios中的跳跃表
skiplistnode结构体typedef struct skiplistnode_struct{ void *data; struct skiplistnode_struct *forward[1];}skiplistnode;data用于存放指向实际数据的指针forward[]为一个指针数组,forward[i]中的i值对应跳跃表中的一层,如果本skiplistnode
2011-12-19 05:42:53
484
原创 写得第一个linux下面c的多线程的例子
/* * ===================================================================================== * * Filename: example.c * * Description: test how to use thread * * Version: 1.0 *
2008-11-09 08:21:00
568
原创 在fedora 9下面如何安装amule
linux下面有一个amule和emule差不多,可以下载emule的资源首先要安装(1/2): GeoIP-devel-1.4.4-2.fc9.i386.rpm | 7.6 kB 00:00 (2/2): GeoIP-1.4.4-2.fc9.i386.rpm | 655 kB 00:11
2008-11-08 08:57:00
1520
2
原创 想一下最近做了点什么
最近主要想做的就是把用c写成的libtranslate用python进行改写,现在看来很困难,python到现在也只能写点hello world的程序,别的还是什么都干了不了。现在主要是想把那个源代码读懂,看过了开发文档,英文的读起来有一点困难不过不是太大,也看过源代码了,里面的结构还算是明白一些了。接下来的几天就可以写一下测试代码了,也算是真正的开始这个项目了。这些天还是有事困扰着我,不知道该怎
2008-11-08 06:46:00
435
原创 想想该做点什么
进度太慢了,不知道该去做什么,也许这些天是该多做点,但是工作也得找,就不能把过多的精力放在这上面了,想尽快做出点东西来,但是不知道从何下手,确实到了总结点东西的时候了。
2008-11-04 20:44:00
510
原创 杂七杂八
最近在看csdn只能跟着讨论一些无关痛痒的东西,真正的编程里面的技巧自己知道的还不是很多。现在想学点技巧但是天天都很累,不知道为什么,学什么都是很累的。现在看重的觉得学起来有用的就是c、java、python,java我觉得主要就是库,这个记得多了用起来不是很难,要是工业级的应用我们现在也不用去掌握。c还是比较难学的,至少我这么认为,语法的东西倒 是不是很多,但是编程的技巧还是很多的,有些也没有什
2008-11-04 20:28:00
484
原创 写个日志吧
好多人没有写点什么 了,现在写点吧。这些天也没做什么,也没多少可写的。这些天一直在想这个iimei该怎么做。这些开发用的东西都知道是什么了,接下来就是孰悉这些东西吧,还有就是编程。
2008-10-29 21:16:00
435
原创 这几天学了点什么
这些天再看makefile,看官方的那个手册,太多了,我开始觉得应该是全看完了才能有所了解。后来知道了里面很多的东西很少用到,也没有必要去用那些东西。明白了makefile.am,makefile.in和makefile的关系,从左到右一个生成另一个对源码包的组织形式还是不太了解,应该赶快弄明白里面的很多东西也不知道是干什么的对于做开发来讲,看docs里面的东西足够了总是感觉很乱,里面要了解的东西
2008-10-26 12:30:00
508
原创 我的fedora学习
学习linux最好还是用最新,我反正是这么认为,GUN/linux变得太快,如果有老版本,有的功能已经过时了,都去掉了,学会了怎么用也没什么用。所以linux应该是学会最基本的原理,然后找一个最新版的linux去学着用,做做实验之类的。有些东西是不变的或者是在相当长的一段时间内是不变的,这个当然是要记住,有的东西很快就变了也没必要去记这个。装系统开始是个很麻烦的事,对于一个新手来说一切都是
2008-09-15 15:54:00
1146
原创 qq for linux官方版已经发布
虽然只是一个预览版,毛病多多,我的fedora 9装还是有点麻烦不过以后应该会发布更好的版本等出正式版的时候再用吧
2008-08-05 15:27:00
485
amqp 1.0文档
2013-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人