- 博客(67)
- 资源 (3)
- 收藏
- 关注
原创 技术网站记录
<个人bog>lvyilong316 他的blog技术很全面,很底层。我暂时主要关注的epoll等多路复用那块.面向信仰编程(Draveness's Blog) 他的blog看了leveldb的介绍,感觉很有深度。其他文章没看,但是看标题也很有深度Git使用教程(一个不错的git教程,网站其他内容没看)三点水(里面有个“手把手教你构建C编译器”,非常nice)WuS...
2014-10-09 20:53:55 3927
原创 C++11——内存模型
[TOC]# 零、 前言 &emsp;&emsp;C++11早就来了,各种特性,其中影响最大的一个(我个人觉得)是多线程。 早早的去接触了线程相关的一些特性。而其中的一个子特性就是原子操作。而想要深刻理解原子操作,则必须要深刻认识`C++内存模型`。而前前后后18遍,都是以“战败”告终——都是囫囵吞枣,不得其法。 最近看`线性一致性`,突然有想起了这个“硬茬”...
2018-10-08 18:37:41 892
原创 网络地址之字节序
之前,记录了下网络地址的认识,在结尾处,提到了ipv4地址+字节序问题,是很容易让人混乱的。所以,这里就来讨论下字节序。 其实,字节序是个单独的理论。本身来说,这方面的介绍是“数不甚数”,基本结构就是——介绍下什么是“字节序”,然后告诉下你“什么两种字节序分别是什么样子的”。然后,我就差不多了然了;然后,过两天我又差不多“混乱了”。我网上看到过一篇文章,讲出了让人混乱的根源(后续...
2018-09-26 14:24:01 268
原创 APUE2错误记录
在14年5月份的时候,看APUE2的信号处理章节,看到“10.10 alarm和pause函数”的时候,其中有一个例子是“超时功能的read函数”;我当时试了试这个代码,但是发现,并没有超时功能,并且在chinaunix论坛上发了提问帖(链接:http://bbs.chinaunix.net/thread-4135617-1-1.html)。 具体代码如下: #inclu...
2018-09-26 14:21:46 246
原创 golang学习记录之Cgo
最近学习golang,学习到cgo章节。发现cgo还是有许多要注意的小细节,这里特别记录下。1、要用golang调用C代码,那么必须要`import "C"`,最好单独写一行,不要和其它的import写在一起,否则很可能报错。2、一旦用了c代码,那么cgo直接会编译、检查注释中的代码。所以,一层注释其实是看做C代码的。如果要用注释,至少要两层注释。(`// //cgo下面两层注释`)3
2016-11-23 10:58:19 1880
原创 随心所语之容器(C++ Container)
作为软件开发者,必然会用到各种各样的容器:vector(array),list,map,set,tree等等(主要针对C++)。那么,其中的区别是什么么?官方教程(数据结构教科书)有些简单的对比、对其特征有描述。但是,真正用的时候,却仍然觉得飘忽,或者说凭感觉用,没有道理可言。 今天,突然来了点灵感,这里讲讲我的感受。 容器,顾名思义,就是用来放东西的。那么,这些东西都...
2016-09-23 21:16:38 549
原创 syslog写远端日志超时问题
背景描述:我们基于libuv开发了一个跨平台的底层库;其中,日志部分,用的是syslog,实际应用过程中是配置的romote; 需要将现有产品移植到基于uv的库。经过一段时间的调测,可以正常业务了。于是就上线了。问题描述:上线运行了1天多,突然发现有些人登陆失败、登陆不了;但是有些人却登陆正常。过了一段时间,直接发现在线玩家都无法正常登陆。重启之后,正常运行。但是过了一段实际,发现又无法正常登
2016-07-05 09:58:06 1692
原创 多线程锁的一点测试
C++11提供了原子操作atomic;而在一些代码中,也会经常看到利用原子操作来实现spinklock(pthread提供的spinklock似乎性能不如mutex)。于是,我就来试试用atomic来实现spinklock。测试,仅仅是测试lock/unlock。测试平台是windows和linux.测试结果,两种锁耗时完全一样;(另外,windows耗时大约是linux耗时的2倍)
2015-09-22 15:10:46 1349 1
原创 shared_ptr/unique_ptr一点体会
由于用muduo库,所以对shared_ptr有一定的了解;但是,对于unique_ptr就有些茫然了于是,了解了些相关资料,并且写了测试代码,对其有了一定的了解。 首先说明下,每一个pointer,都指向一个obj;每一个pointer,对该obj持有;一、unique_ptr unique_ptr,其实就是一个简单的指针,它实现的功能,仅仅就是在作用域内有效,超过作用域
2015-08-10 14:54:52 6673
原创 signal学习代码实例(sigaction/signalfd)
#include //signalfd;#include //sigemptyset#include //exit;read;#include //#include inline void handle_error(const char *msg){ perror(msg); exit(EXIT_FAILURE);}void test_singal_pause(
2015-08-07 16:41:49 1160
原创 Linux定时器描述符(timerfd)shiy
最近,学习、研究Linux基于文件描述符的定时器应用。相关介绍N多,这里将碰到的问题,要注意的地方,说明下 这个主要有三个相关函数:1、timerfd_create(int clockid, int flags)说明:创建一个timer fd;1-1、clockid:可以是CLOCK_MONOTONIC或者CLOCK_REALTIME。说明:CLOCK_MONOTONIC是机
2015-08-06 14:53:54 1371
原创 mpq中hash表的一点理解
最近学习了hash表,还去网上找了些资料来看。网上比较推崇的一个hash运用就是mpq,暴雪公司的一个算法。具体请看下面链接: 十一、从头到尾彻底解析Hash表算法MPQ技术内幕insidemopaq之前,研究了这个hash用法,有点认识;今天,照着抄写了一边,发现了另外的一些认识,主要是针对下面的这个hash函数:下面这个函数是初始化hash表cryptTab
2014-03-10 19:42:50 2277
原创 随心所“语”之多线程——谈谈我多线程的认识
现在,只要是高级编程语言,一般都支持多线程;只要公司面试,都会面试多线程。 最近,我也学习了点多线程,对其也有了点认识,这里也记录下。由于是自己的理解、总结(当然,是依据就是书本、前辈的经验),所以肯定会存在各种认识不到位,希望大家不吝赐教。再直接点:我就是犯贱、找喷!!!下面开始: 多线程,我觉得就是并行,并行的一种。多进程,也算并行。那么,多线程,对于多进程的好处在哪里呢?
2014-01-11 12:32:16 1481
原创 数据结构-hash表-mpq
最近,在学习hash表;网上想查些应用实例,找到了一些不错的文章。其中,有些人谈到了mpq,关联着hash谈的。所以,也对此做了研究,聊下看法。 首先,列出参考博客:1、http://blog.csdn.net/v_JULY_v/article/details/6256463 该博文,是通过自己对hash表的认识,谈到了mpq(也是自己的认识)。是一个“消化”过之后的文章,
2014-01-06 21:30:39 1255
原创 数据结构之“查找”-1:静态查找表
静态查找表,一般情况下,数据是比较稳定的,很少变动的。所以,可以不考虑构造成本(即一次构造,会使用很多很多次)。 首先,当然是我们常用的:顺序查找。即,一个一个往后找,找到就找到。常用数据结构有线性表。时间复杂度是O(N)。平均查找长度ASL=(n+1)/2. 然后,再进一步:如果是有序的,那么就可以用二分查找,也叫折半查找。这种查找其实是区域性查找:因为是有序的,所以可以通过
2014-01-05 17:10:07 2070
原创 数据结构之“查找”-0
最近,重新拿起了《数据结构》(严蔚敏版的),过了一遍。开始是看书,后来是看视频,偶尔看下书。觉得,需要记录些东西:主要是现在的理解。 现在,在学习第九章的查找,所以就从这里开始吧。 在第九章之前,主要的内容是一些常用的数据结构:线性表(顺序表和链表),字符串,数组和广义表,树,图。第八章开始,可能就是这些数据结构的实际应用了:许多实际的操作(即应用),是需要数据结构来支持的。比
2014-01-05 17:09:11 721
原创 严蔚敏-数据结构-递归算法总结
在看严蔚敏的数据结构视频,在32课时的时候,对递归算法进行了总结。在网上没找到对应的资料。而严蔚敏老师总结的又很不错,所以觉得有必要这里记录下(不是完全照搬,详细可以去找对应的视频)。一共有5点。 1、递归特性,一般都是可以分解成相同的小问题,同时解又可以归并。注意:递归,一定有个结束的时候(即要关注结束条件);还有注意参数的对应关系。 2、递归的实现,用的是“栈”。所以,递归
2013-12-19 20:18:38 4024
原创 随心所“语”之huffman编码
huffman编码、压缩,曾经写过一次,感觉很痛苦;最近,学习数据结构,又试了一次,感觉好多了。这里写下,总结下。 huffman编码、压缩,我觉得主要两件事情:1、对字符生成对应的huffman编码;2、对数据进行huffman压缩。这些书本、网络介绍的太多了(比如:http://coolshell.cn/articles/7459.html),而且也很容易理解,我这里简单的讲下:将要
2013-12-06 20:06:38 1116
原创 随心所“语”之“做”与“想”
经常,活听到somebody说,写代码,先想好了再写。如果边想边写的话,经常性会写返工代码:写着写着,发现不对了,那么就又得回头重写。 对此,我的态度是不可置否。因为,我写过一些东西,发现不清楚、不了解的情况下,根本不知道需要什么,那么就没法想好了再写。必须是写着,看看效果,然后再决定怎么做。 但是,就是因为这样,导致我写代码越来越想当然,养成了这个不好的习惯。特别是逻辑比较复
2013-11-24 11:41:11 848
原创 随心所语之“读书”
计算机科学与技术毕业,干C++开发4年,但是,发现好多东西、甚至是相关的东西都不会、不懂,于是,就需要学习,需要读书。也许,这就是所谓的学无止境。 我买的书,有30+ 本,但是看完的,却是寥寥无几,为什么呢?简单一个词:没有恒心。但是,为什么会没有恒心呢?这里,我有点没“恒心”的心得,希望纠正这些之后,可以有恒心。 读书,如果看到不懂的、弄不明白的,那么,就会被打击,导致看不下
2013-11-22 22:41:10 884
原创 最近学习计划
今天,阿里电话面试了,很失败。但是,好歹知道学什么了,所以,快点记录下。 1、tcp协议,一定要熟悉。一开始就问了,而且后续问项目相关问题的时候,会关联到tcp协议相关问题。 2、自己做过的项目。一定要能够说明白,你的项目流程是什么。这是最基本的。 由于我面的是无线事业部,所以对协议要求比较高。 另外,在网上的淘宝“面经”,许多时候是需要对数据结构熟悉的。
2013-11-15 11:09:18 1249
原创 随心所“语”之 3B大战:robots协议问题
最近,3B又开打了,大概事情是这样子的:百度利用robots协议,屏蔽360搜索(似乎不正当,我不知道);360搜索就强行抓取百度不给抓的内容。 我作为软件开发人员,谈下我的看法。 百度这么做固然不对,但是,360就可以因为百度这么做了,就不遵守robots规定了吗? 我看了下评论,许多人都认同360的做法,我对此表示极度的遗憾:在中国,经常做这种无视规定的事情,最明
2013-10-20 11:33:23 861
原创 Assemble(王爽)—— 中断(代码例子,测试不了)
中断,(好像)系统自带的,硬件芯片BIOS中。 (这里用的内存地址,都是绝对地址。另外,我用的是win7,nasm) 系统一共有256个中断——一个字节大小。中断,一般由int + 中断号来触发。触发之后,根据中断向量,调用对应的中断代码进行处理。在内存0-3ffh内存放的是中断向量。一个中断向量4个字节,分别2字节的cs和2字节的ip——指向对应的中断处理代码。 在
2013-08-17 15:55:31 1097
原创 Assemble(王爽)——nasm 和 masm的一些简单区分
最近在学习汇编语言,王爽的那本书。他用的汇编编译器是masm;而用选择的nasm;所以最近用了下,对两者区别有点体会,记录下。 首先,why nasm?我选择nasm,最重要的一个原因是它开源:我现在一般选择的软件,都是开源免费的,不再用盗版的、不正规的软件了。这是我的一个起誓。我努力去守誓!另外,就是跟masn比较相似,有利于我学习这本书。 汇编语言分为汇编指令,伪指令、标号
2013-08-12 09:56:17 15598 3
原创 Assemble(王爽)——1、2、3章学习记录
首先,是对汇编语言本身、和计算机之间的关系做了个介绍。个人总结:汇编,就是CPU和内存之间的交互。本身来说,计算机就是这样一个功能(其实,还包含各个硬件部件和内存交互,先忽略)。由于汇编贴近硬件,所以,汇编要做的工作就是把计算机的这个功能表达出来——CPU和内存交互。交互,那么CPU和内存之间就需要“通道”:总线。地址总线,数据总线,和控制总线。地址总线将内存地址告知内存,CPU通过数据总线读写一
2013-08-10 09:53:54 1236
原创 Assemble(王爽)——写在前面
最近,一个招聘,上面写的要求汇编。而我不会。突然就发狠,想着:要不就学下呗。于是就开始了学习汇编之旅。 汇编,我学过好多次了,效果都不怎么好(或者说是“没效果”)。第一次就是学校,大一的时候,学的第一门语言就是汇编。当时啥子都不懂,学会个二进制,然后加减法计算下,以为就了不得了。还有印象比较深刻的就是“寻址”,各种寻址各种乱,一团浆糊。最后,课上完了,考试通过了,就是不知所谓。第二次接触
2013-08-10 09:25:13 1890
原创 ubunt入门(最基础的)
做为计算机专业出来的人,用linux是基本技能。我也试着用linux,是在毕业之后。我选择的是ubuntu。从虚拟机,到双系统,多次来来回回的弄,发现许多问题都是再次碰到,所以这里记录下来。下次就不用再去查找了。由于这些问题都是网上搜索来的,所以参考了其他人的博客、论坛的结论,但是比较多,所以就不一一列出了。不过还是感谢大家。(另外,这里不是告诉你怎么做,而是记录正确答案的链接,这样就不用去搜
2013-07-19 16:45:24 1650
原创 dota==玩物丧志 ?NO
我是一个玩dota的人,非常喜欢,喜欢到容不下其他游戏——虽然我很菜。 看到许多人在毁dota“清誉”,我不能忍,但是有找不到有力的话语,所以很是不爽。最近终于找到一点半点,所以在这里说说。 dota有许多好的地方,教会我们许多东西,这点是毋庸置疑的。 当然,dota也有反面影响归结起来主要就一点:玩物丧志。所以,我们就来讨论下。 首先,这个可能不是游戏的问
2013-07-19 10:15:06 1009
原创 网络地址的认识
来来回回,反反复复,多次接触到网络地址(包括MAC地址,IP地址)。但是,却是云里雾里,不是很了解、明白,感觉就是在飘着,不踏实。 也就昨天,突然就“灵光一现”,感觉好像找到了“本质”,于是,就有了脚踏实地的感觉——踏实。(仅仅是个人浅见) 计算机中的网络编址,其实就是用一个N个字节来标示(MAC是6个字节,IP是4个字节,IPV6是128/8=16个字节)。为了可读性,所以呢
2013-07-18 15:56:38 767
原创 关于C++访问控制
今天看了下书,看到类的“访问控制”,对其有了新的认识(才知道以前的认识是一知半解)。特此记录下。这里所讨论的东西的前提是:不包含“友元”。 类的访问控制一共有3种:public,protected,private。其中,public成员是公共的,就是说所有的都能访问;protected,有派生类和自己可以访问;private,只有自己可以访问。(访问操作,好像只有函数可以。)
2013-05-31 11:24:04 877
原创 随心所语 之 计算机专业与linux
曾经,跟我同学、同事聊天的时候,下过这么个论断:一个学校计算机专业如何,看下机房用的操作系统就差不多了。今天,就来聊下这句话。 当然,这句话是有很大的片面性的。但是,如果一个学校机房,仅仅只有windows操作系统,没有其他系统,那么,这个学校的计算机肯定不会好的。其实吧,我想表达的是,linux(还有unix,我这里想表达的是类unix系统)对计算机专业的学生很重要。 举个例
2013-05-29 10:54:21 754
原创 随心所语之“速战速决”
天天跟代码、软件打交道,有的时候,觉得这个不好,那么不行,所以偶尔也会蹦个自己想法出来,并且想着方案、设计什么的,试着把这个想法实现——简单来说,就是想自己写段代码、写个软件。 我也有过想法,有些也试着去实现过。有点感触,我觉得其中最重要的一条就是“速战速决”。 一般,有个想法,都会很兴奋的——因为自己会觉得新颖,觉得创新。然后,在细想过程中,会发现一些问题。经过这些问题的锤炼
2013-05-29 10:18:07 792
原创 C++箭头操作符重载(记录下,备忘)
最近由于工作,学习了下箭头操作符,好复杂的说,过了没几天就忘了,又学了一遍。同时决定,这里记录下,备忘!(这里的内容,参考了C++primer ,加上了些我自己的整理)箭头操作符,一般都有左右两部分:a->b;(其中,b可以是函数或者成员;)如何开始:由a开始,分下面两种情况1、a是指针,那么就是我们熟悉的,指向我们a类型的成员数据或函数“b”;到这里,就结束了!2、a是对
2013-02-23 23:37:04 1543
原创 怎么才能长大?
这两天,我用指针函数了,虽然最终没用上(方案否决了),但是,至少用过指针函数了。我这里不是来讲解指针函数的,我也仅仅是个new bird。 我只是想到了个问题:我们许多的时候,看过了,相关知识点知道了,但是还是不会!怎么才能会?最终建议就是:敲代码。是的,我也这么认为的。我很是赞同。但是,我为什么没有去做?周围的同事看C++ primer,我跟他说:多敲哦,否则没用,记不住。但是,我自己
2013-01-24 17:47:42 541
转载 腾讯笔试题
写在之前: 今年我找工作,去了几家单位,做了笔试,发现好多题目 都在其中,而我不会的80%出现在了其中,所以这里转下,记录下,也算与大家分享下。(当然,其中有些答案也不竟然全对,许多可以不确定的最好自己试试,比如,第一页,第4(3)题,我将代码拷贝,执行,发现与他的答案不符。)原文网址:http://kb.cnblogs.com/page/54484/下面是原文的拷贝:
2012-09-10 10:57:26 1338
gperftools-2.1
2014-07-30
CLog,C++编写的一个日志类,与大家交流下
2012-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人