- 博客(244)
- 资源 (9)
- 收藏
- 关注
转载 utf8编码表
UTF,是UnicodeTransformation Format的缩写,意为Unicode转换格式。UTF-8是UNICODE的一种变长字符编码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。 如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个
2016-05-30 22:04:02
19116
转载 gbk编码表
GBK 汉字内码扩展规范编码表(二)全国信息技术标准化技术委员会汉字内码扩展规范(GBK)ChineseInternal Code Specification1.0 版(按分类顺序排列)● GBK/1:GB2312非汉字符号A1 0 1 23 4 5 6 7 8 9 A B C D E
2016-05-30 22:03:20
12161
原创 leanote
leanote私有云笔记mac下如何安装:详细步骤:https://github.com/leanote/leanote/wiki/leanote-binary-distribution-installation-tutorial下载leonote二进制版: https://sourceforge.net/projects/leanote-bin/files/1.4.2/leanote-darwi
2016-05-04 19:07:55
1786
原创 C++11以前的序列点
首先看wiki: https://en.wikipedia.org/wiki/Sequence_point简单翻译:C和C++中的序列点在C和C++中,下列位置被认为是序列点。(注意,被重载的运算符,相当于函数调用,它们引入的序列点与运算符没有关系,而与函数调用一致) 1.&&(与)、||(或)运算符的左右两边之间有序列点。(为了实现短路逻辑)逗号表达式也是一个序列点。例如, *p++ != 0
2016-02-28 10:49:33
758
原创 C++ 线程安全的singleton如何实现
线程安全的C++ 单例饿汉模式template <class T>class Singleton<T> { private: Singleton<T>() {} Singleton<T> (const Singleton<T> &); Singleton<T>& operator= (const Singleton<T> &); pu
2016-02-27 14:07:47
3492
1
原创 条件变量 condition variable
条件变量 condition variable怎么用man pthread_cond_init man pthread_cond_wait注意:必须和mutex一起用,必须先锁住mutex,再wait,否则的行为是未定义的。不是信号安全的。因此不要在信号的handler里用用同一个mutex,否则行为未定义如何实现无限缓冲区假设只有一个消费者,一个生产者// 生产者lock(&mutex
2016-01-17 20:06:38
1301
原创 Mutext,pthread_mutext_t
pthread_mutext_t的实现查看man,可以得到: pthread_mutex_getprioceiling(), pthread_mutex_lock(), pthread_mutex_timedlock(), pthread_mutexattr_getpshared()#include <pthread.h> int pthread_mutex_destroy(pthre
2016-01-10 12:53:43
2494
翻译 Mutex与Semaphore 第三部分:互斥的问题
As hopefully you can see from the previous posting, the mutex is a significantly safer mechanism to use for implementing mutual exclusion around shared resources. Nevertheless, there are still a couple
2016-01-09 21:42:23
1285
翻译 Mutex与Semaphore 第二部分 互斥锁
In Part 1 of this series we looked at the history of the binary and counting semaphore, and then went on to discuss some of the associated problem areas. In this posting I aim to show how a different R
2016-01-09 18:21:52
1887
翻译 Mutex与Semaphore 第一部分:Semephore
Mutex与SemaphoreIt never ceases to amaze me how often I see postings in newsgroups, etc. asking the difference between a semaphore and a mutex. Probably what baffles me more is that over 90% of the time
2016-01-09 16:51:25
1835
原创 内核抢占
这里有两个概念,内核抢占与用户态抢占。什么是内核抢占?就是指程序执行系统调用的时候(也就是执行于内核态的时候)被其他内核线程抢占走了。有2种情况是不会也不应该被抢占的: 1. 内核正在执行中断处理函数 2. 内核处于临界区。正在执行自旋锁。除了以上情况以外,就可能被抢占了。如何知道当前是否为抢占系统vim /boot/config-3.10.0-123.9.3.el7.x86_64 查看相应
2016-01-03 16:52:34
3527
原创 字符串的左右移动
给定一个字符串,这个字符串为*号和26个字母。现在需要把字符串的*号移动到左侧,字母移动到右侧,字母顺序不变。*号和字母,其实可以用一个一元函数来泛华bool func(char ch)。3个做法:1)空间复杂度O(n)。就是开辟一个一样长度的数组,剩下的事情就是遍历,判断,移动。从两端同时开始移动。2)假设func(ch)=true的放左边,fun*ch)=false
2015-10-29 22:29:05
2532
原创 【字符串】变位词
给定一本英语单词词典,请找出所有的变位词集。所谓的变位词是指,组成各个单词的字母完全相同,只是字母排列的顺序不同。如果只是给出一个词,要在库里查询它的变位词,那么遍历一次库,两个单词比较的时候,开辟char a[256]的空间记录每个字符出现的次数即可。现在要讲库中每一个单词都归类到某个变位词集中,没法用char a[256]来空间换时间了。如果内存放得下第一步遍历库,
2015-10-25 21:34:45
882
原创 【字符串】单词翻转
输入一个英文句子,翻转句子中单词的顺序,要求单词内字符的顺序不变,句子中单词以空格隔开。标点符号视为字母。如输入"I am a student.",应输出"student. a am I".显然,先将整个字符串翻转,再翻转以空格隔开的各个小区间即可。这里需要用空格将字符串分成多个小区间,这种需求在split等函数中也有。上代码:#include #include // 翻转p
2015-10-25 18:33:22
569
原创 【运维】pssh简介
openssh是一个安全登录的工具,执行的命令为ssh your_hostname,然后输入密码,就可以登录远端机器了。或者登录后执行一个命令立即返回:ssh your_hostname echo 1。很多时候需要在很多机器上执行同一命令,这固然可以写个shell的for循环来完成,但这是串行的执行,pssh等工具可以并行执行,当命令很耗时的时候,相对于串行执行的优势就很明显了。其他类似的工具还有
2015-09-23 00:21:58
1985
原创 【nginx】基本数据结构
首先,是整数类型: src/core/ngx_config.htypedef intptr_t ngx_int_t;typedef uintptr_t ngx_uint_t;typedef intptr_t ngx_flag_t;即整数、无符号整数和bool。intptr_t 等三种类型定义如下: /usr/local/include/stdint.h
2015-09-09 01:43:45
568
原创 以太网的几种标准
http://zhidao.baidu.com/question/66256103.html?qbl=relate_question_0&word=%CA%FD%BE%DD%C1%B4%C2%B7%B2%E3%20%B3%A4%B6%C8%CF%DE%D6%C6&optimi=4##################################################
2015-08-22 17:37:16
31327
9
转载 【转】wireshark使用过程无法抓取前序和FCS或出现IP报头校验和错误--原因
转自: http://blog.sina.com.cn/s/blog_5e8ca2db0100vopc.html大家好,我是Mr.w今天解决wireshark的2个问题:1.为什么wireshark抓不到前序和FCS2.为什么wireshark的IP报头会出错1.为什么wireshark抓不到帧尾的FCS 4字节和以太网V2的前序8字节
2015-08-22 17:34:11
3094
转载 【好文mark】少翻故纸堆,少看文学书
转自水木:http://www.newsmth.net/nForum/#!article/ShiDa/50201现在微博微信朋友圈到处都有人转发劝读书的文章,这当然是好事。但是推荐的书单里,大都有两大类书,经典和文学。这些书目多少反映了推荐者本人的知识背景和喜好。比如,现在一些40岁的人推荐的东西大都是他们当年上大学流行的东西。比起50岁以上的人推荐的东西要新一些,但是我觉得仍然不够。
2015-07-14 00:09:46
840
原创 财务计算
注意:实际计算利息都是以月利息来算的,名义年利率=月利率*12假设贷款12000,12期,每期月底还钱。那么,不同的年利息下,每期应该还多少?等效年利息每月还钱0¥-1,000.000.005¥-1,002.710.01¥-1,005.420.015¥-1
2015-06-25 00:08:54
559
原创 linux的page cache策略
1.buffer与cached 执行free命令出来的结果,包括buff和cache,实际可用的内存需要看第二行。[root@localhost chenming]# free -m total used free shared buffers cachedMem:
2015-05-31 18:57:18
9577
原创 【golang】信号捕捉和处理
捕捉和处理信号可以实现优雅start和restart等。golang的signal提供了相关的方法。这里是一个模板,目录结构:├── sig│ └── sig.go└── test.go 先看如何调用:1.new出一个对象2.register信号与对应的处理函数3.定义os.Signal类型的channel,调用signal.Notify4.for+selec
2015-05-16 10:05:21
5112
原创 获取时间戳与当地时间
gettimeofday和time(NULL)返回的都是绝对时间戳,时间戳全世界统一;可读的年月日时间则不一样。在全世界,执行date +%s的结果都一样,但是执行date +%Y%m%d-%H%M%S的结果则不同[fall@localhost zookeeper-3.4.6]$ cat test.cc#include #include
2015-05-08 23:16:56
1155
原创 chkconfig与service的用法与原理
使用chkconifg和service的不一定是常驻进程,尽管一般都是如此不受终端影响的进程:1.daemon程序2.由init进程启动的程序,写在chkconfig中3.由init启动的进程间接启动,如由crontab启动的进程。------------------------------------------------------------------------
2015-05-01 20:50:24
3617
原创 Linux daemon进程的应用、实现和原理
什么情况下用daemon进程生产环境下,除了我们ssh登录上去,然后手动跑的那部分以外,其他都是自动运行的,这些大部分都应该是后台执行的。如何才能后台执行呢?nohup ./XXX & 由系统的其他daemon进程启动。这样的话,你的程序是它的子进程,跟终端没关系。退出终端也不会导致进程退出。如写在crontab里。 写成daemon程序,可以手动执行,退出终端时程序不退出
2015-05-01 16:55:17
3094
原创 Linux daemon进程原理与使用
什么情况下用daemon进程生产环境下,除了我们ssh登录上去,然后手动跑的那部分以外,其他都是自动运行的,这些大部分都应该是后台执行的。如何才能后台执行呢?nohup ./XXX &由系统的其他daemon进程启动。这样的话,你的程序是它的子进程,跟终端没关系。退出终端也不会导致进程退出。如写在crontab里。写成daemon程序,可以手动执行,退出终端时程序不退出。如何选择呢? (1
2015-05-01 16:26:11
7696
原创 ip与域名解析 dns host
参考文献:http://www.faqs.org/docs/securing/chap5sec39.htmlhttp://www.oschina.net/question/565065_77205 【1】执行顺序所有的解析请求由linux的resolver library(指的是一些C标准库的函数,主要是gethostbyname和gethostbyaddr)完成,它涉
2015-04-24 01:03:21
3093
原创 共享内存shmat shmget shmdt shmctl ipcs ipcmk ipcrm
查ipcs -m增ipcmk -M 1024(size)ipcmk -M 1024(size) -p 0666删ipcrm -m 1024(id)size的上限:4G[chenming@localhost src]$ cat /proc/sys/kernel/shmmax4294967295------------------
2015-04-23 20:53:52
1631
原创 golang面向对象
golang可以实现面向对象,C++能做的,golang基本也可以做。1.简单继承golang用组合来实现继承,父类实例的作为子类的匿名成员即可。 继承了父类的成员变量和成员方法。 同名的成员方法,无论完整函数签名是否相同,父类方法均被隐藏。 同名的变量,子类优先,父类的必须加上父类类型才能访问。e.Human.SayHi()在正常的设计中
2015-04-18 14:58:50
2465
原创 【redis】dict
dictEntry由3个东西组成,分别是void *key,void*val,dictEntry *nextdictht需要一个数组,由三个东西即可:dictEntry **sizeused数组的元素时dictEntry指针,这样节约空间,空的时候直接NULL即可。采用chaining的方式处理冲突。如何保证一边rehash的时候,一边可以正常做增删改查呢?
2015-04-09 00:17:24
528
原创 欢迎使用优快云-markdown编辑器
Slice声明 s1 := make([]int, 10) // 10个元素,元素被初始化为零 s1 := []int{} // 0个元素 s1 := []int{1,2,3} // 元素为1,2,3 a := […]int{1,2,3} // a是array,b和c是slice b := a[:] c := b[0:2]修改 s1 := []int{1,2,3}
2015-04-02 23:36:58
371
原创 好用的xshell颜色配置
[comfort color]text=dce2e2text(bold)=dce2e2magenta=dd3682magenta(bold)=dd3682white=dce2e2white(bold)=dce2e2red=dc322fred(bold)=dc322fgreen=55bb55green(bold)=55bb55black=002B35black(b
2014-06-10 22:56:37
4536
原创 收藏夹整理——程序员笔试面试
面试总结汇:http://developer.51cto.com/exp/mszjh/index.html100w个数找最大的100个:http://bbs.youkuaiyun.com/topics/250038051字符串面试题: http://www.newsmth.net/nForum/#!article/CoderInterview/3425Trie树和后缀树:h
2014-03-22 14:40:15
1262
原创 0到n-1数组的排序
仅限 0到n-1这种情况。数组包含n个元素,只不过可能是乱序的,需要排序。 1.检测是否有序: 2.排序。拿起第一个元素k,将其放到p[k]位置,刚才的p[k]元素,也放到他相应的位置上。#include #include #include #include #include using namespace std;void sort_n(int *p,
2013-10-07 14:23:47
1648
原创 给定无序自然数数组,求最大连续自然数个数,时间复杂度为O(n)
方法1:排序,然后遍历,复杂度n lg n。方法2:并查集。用一个hash table记录数据是否出现,一个数组用于实现并查集。每次加入数据x,check 一下哈希table中x-1和x+1是否合法并存在,若存在则合并。最后遍历并查集数组,输出最大的等价类中元素的个数即可。方法3:类似2,用多个hash table:维持两个hash表tables: Start表,其中的条目
2013-10-07 11:00:51
1403
原创 找到int最左边的那个1
找到一个数最右边那个1很容易,就是x & -x,那么最左边那个1呢?【1】移位,逐个check,复杂度O(n),n是bit位数。【2】先把二进制模式翻转,再求最右边那个1,再翻转回去。复杂度O(lg N)。【3】得到最右边那个1,然后加到原数字上,这样可以消灭最右边的1,依次这么做,可以找到最左边的1,。这个方法比【1】快。实现了【2】【3】:#include#i
2013-10-05 23:26:41
3002
原创 求数组的逆序对个数【先离散化】
如果数组数据范围很大,而数据数量与之相比小很多,那么直接用输入数据来求逆序数就不值得了,可以进行离散化处理。处理要点是:1.用一个struct接受数据和一个自定义的序号no,排序时序号也就一起排序了。2.for遍历数组,no的位置写上i,就完成了离散化。例如:struct data{ int v; int no;};原始数据:100,10,1000,
2013-10-05 19:55:27
1348
原创 矩形交集和并集的面积-离散化
给出多个坐标表示的矩形,求其并集的面积和交集的面积。答案是离散化!很强。输入:210 10 20 2015 15 25 25.5310 10 20 2015 8 30 1517 13 25 250上代码。//离散化,x,y坐标分别按从小到大排序//离散化//1、首先分离出所有的横坐标和纵坐标分别按升序存入数组X[ ]和Y[ ]中.//2、
2013-10-05 17:16:48
4034
1
原创 树状数组 - POJ 3067 Japan
原题地址: http://poj.org/problem?id=3067树状数组的典型应用,典型输入如下:13 4 41 42 33 23 1表示有4条连线,如图:显然有5个交点。怎么求呢?对输入的数对(x,y)做排序,先按x升序排,x相等按y升序排,然后对y做树状数组,每次更新检查在他后面有多少个元素即可。代码:#include #i
2013-10-05 15:06:20
890
原创 求数组的逆序对个数
求数组的逆序对个数。如【3,5,1,15】,共有(3,1),(5,1)两对,逆序对个数为2;1.显然这个可以用穷举的方法去做,类似于直接选择排序,复杂度n^2.2.也可以用归并的方式去做,思路是:归并时,假设两个子数组已经排序,数组1在前,当前元素为x,数组2在后,当前元素为y,如果y#include#include#includeusing namespace std;v
2013-10-05 13:46:50
5063
相关向量机(RVM)论文6篇
2011-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人