关闭

[置顶] 后端网络编程知识点总结

这一篇是网络编程的面试知识点的总结。不打算从计算机网络的基础讲起,只是摘要性的总结一下知识点,更多的内容请从经典的书籍中获取。1、tcp与udp的区别(必问) 可靠性  首先,TCP是一个面向连接的协议,需要三次握手。具有可靠性,但是并不是百分百的可靠,它通过序列号确认,超时重传等机制提供数据的可靠传送或者故障的可靠通知,但并不能保障数据一定会被对方接收。   UDP是一个无连接的协议。UDP不保...
阅读(1798) 评论(0)

[置顶] 后端c++知识点总结

这一篇是C++的一些面试点的总结。 1、一个String类的完整实现必须很快速写出来(注意:赋值构造,operator=是关键)   如果对C++String不熟悉的话,先看http://www.cplusplus.com/reference/去了解一下String类常用的方法,如果想了解C语言的实现,去看一下《C语言接口与实现》(十五章 低级字符串)。   Scott Meyers在《ef...
阅读(1197) 评论(0)

[置顶] 后台开发知识点总结(一、Linux和OS)

偶然在知乎上看到想要从事linux后台开发需要的能力集锦,总结的挺全面的,鉴于自己贫弱的记忆力,还是在这里总结一下供以后查看,顺便检验一下自己。    1、 命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验   在《TCP/IP》协议一书中,经常使用到netstat和tcpdump这两个命令,netstat常用于显...
阅读(5832) 评论(3)

[置顶] python+selenium实现登录账户后自动点击

公司在codereview的时候限制了看代码的时间,实际上不少代码属于框架自动生成,并不需要花费太多时间看,为了达标,需要刷点时间(鼠标点击网页固定区域)。我想到可以利用自动化测试的手段完成这种无效的体力劳动。  首先,明确一下需求:    自动打开网页    登陆账号  每隔一定时间点击一下固定区域 我想到的方案有两个,sikuli或者python+selenium。sikuli的优点是逻辑操作简...
阅读(8482) 评论(0)

[置顶] CSAPP 3e Attack lab

总结一下CSAPP第三版的attack lab。...
阅读(21578) 评论(6)

python打包工具比较

前一段用python写了点小工具,希望能给同事用,这里总结一下python的打包以及构建的方法。首先是一些需要安装依赖包的方法,这也是比较推荐的正统的方法。1.setuptools or pip  在setup.py文件中写明依赖的库和版本,注意需要提前安装setuptools,然后运行   python setup.py install文件大致如下,这里是selenium的安装文件:import...
阅读(3820) 评论(0)

C++委托实现(函数指针,function+bind,委托模式)

这一段在公司的某个框架代码中看到了函数指针的使用。风格比较偏纯C,其实C++有更加合适的解决方案,在这里总结一下。   首先从函数指针说起。      一、函数指针   从定义上讲,函数指针指向的是函数而非对象,函数指针指向某种特定类型。其类型由函数的返回类型和形参类型决定。   声明方式如下:bool (*pf)(const string &,const string &);  注意pf...
阅读(1150) 评论(0)

网络编程总结(一)

这几天在看muduo网络库,顺便第二次详细的精读一下《unix网络编程》。   在这里从最基础的编程模型开始,记录一下一步步改进程序的过程和细碎的知识点。   首先看一下启动一个服务器程序所必须的库函数。    socket #include int socket(int family,int type,int protocol); family参数指明协议...
阅读(477) 评论(0)

c++内存问题整理与智能指针使用

公司里小组组织c++知识的分享会,正好我手上碰到过几个purify的内存泄露问题,就借这里总结一下c++的内存问题。   借鉴陈硕总结的分类,c++大致的内存问题有以下几个方面:   1.缓冲区溢出   在使用自己编写的缓冲区或者使用不安全的函数时,会遇到类似数组越界的缓冲区溢出问题,Linux内核的解决办法是栈随机化,金丝雀的检测,具体的攻击手段和例子,可以参考我另一篇的buffer lab...
阅读(1176) 评论(0)

c++primer文本查询系统

以下是c++pirmer的文本查询系统再探的源码,基本部分没有做什么修改。 这里提几个注意事项: 1.使用c++11特性的时候,在编译环境里增加指令-std=c++11.代码中出现的shared_ptr、make_ptr原本是boost库中的内容,已经被吸收到了c++标准库中,引用头文件memory即可。 2.如果在做15.34的练习的时候,编译会出现Link error undefined...
阅读(546) 评论(0)

shell中使用vi退出的注意事项

在使用shell脚本的时候,有时候会在程序里直接调用vi处理,简单的例子如下: 1 2 3 4 5 6 7 #! /bin/bash vi abc.txt i                        #进入insert模式 Here is a document!      #输入文...
阅读(789) 评论(0)

红黑树的实现原理

前一段在>看到了红黑树,本来打算自己写一篇理解的,但是实在没有人家写的清晰易懂,这里转载过来给大家看看吧。 比那个排名挺高的算法分析的透彻很多,反正csdn上那个我没有看懂,以其昏昏使人昭昭。 原文地址:http://note.youdao.com/share/?id=ffe7439c125ece767b58c813c3d03b20&type=note 注:本文所有内容均翻译自维...
阅读(560) 评论(0)

<stl>list::sort源码分析

STL的算法中,提供了sort()算法,算法接收两个RandomAccessIterator。所有关系型容器底层使用红黑树的,有自动排序功能。序列容器中的stack,queue使用priority-queue。而优先队列使用堆实现,它们都有特定的出入口,不允许排序。剩下的vector,list,deque中,list无法使用,因为list的迭代器属于BidirectionIterators。lis...
阅读(388) 评论(0)

<stl>将bytes上调至8的倍数

在源码剖析>>的空间配置一章的二级配置器中,有如下一段源代码,功能是将bytes上调至8的倍数。 enum{_ALIGN=8}; //小型区块的上调边界 private: static size_t ROUND_UP(size_t bytes){ return (((bytes)+_ALIGN-1)&~(_ALIGN-1)); 这里的源码乍一看很难懂,但是十分高效,现在具体看一下...
阅读(598) 评论(0)

memmove和memcpy

在阅读>的过程中,看到关于内存处理工具的问题,其中的uninitialized_copy使用了memmove函数,但是并没有详细解释,这里记录一下。 memmove和memcpy都是用于内存拷贝的函数,并不是像函数名字一样,一个是复制,一个是移动。它们声明在头文件中。 memcpy是把源地址(const void *型)指向的对象中的n个字符,拷贝到目的地址(void *)所指向的对象...
阅读(502) 评论(0)

c-free中hashtable问题

最近在学习c++ STL方面的知识,复习《STL源码剖析》的时候,想简单的练习一下里面的使用实例,使用的编译环境是比较轻巧的c-free 5.0。 前面序列容器部分没有什么问题,在测试hashtable的时候卡主了。hashtable在客户端程序实现时在头文件中。 #include 首先,编译器会提示:No such file........。找不到头文件。 打开c-f...
阅读(617) 评论(0)

ICCAVR注释乱码

今天在使用以往程序的时候,发现从codeblock和记事本里复制过来的中文注释是乱码,尝试百度一下,基本答非所问。去谷歌了一下,找到了答案。 虽然很扯,但是复制的时候输入法切换成中文,就可以了,原理还在了解中。 顺便提一下,ICCAVR里的字体设置在tools->editors Options->Highlighting->Charset。 另外吐槽一下ICCAVR编译环境真心没有Keil舒...
阅读(653) 评论(0)

关于VC与VB调用matlab的exe文件.

前些天帮同学调试关于matlab的毕业设计,图像处理的。具体的实现倒没什么,开始需要我帮忙的是在VC里显示MATLAB的处理结果。 我非常偷懒的想法是,直接用一个按钮响应点击事件,然后处理函数里调exe.这样有一个坏处是,其实跟VC没什么关系,之间也没有交互。 下面是生成exe的参考 一、生成独立可执行的程序(exe文件)步骤     1、安装编译器。可有多种选择,matlab自带了一...
阅读(933) 评论(0)

关于AVR的PWM的使用

这一段帮同学用AVR128A做毕设,航模遥控控制机械臂工作台,使用驱动的时候遇到了锁不住电机的问题。原来解决这个问题是两个方案:一是设置驱动的截断的电流,<多少转速是死区。第二种方法是自己用编码器写一个抱死的程序。        下面是参考的抱死说明和程序,抱歉原作者我找不到了。  先说一下我的硬件情况:一块ATMEGA128实验板;一个带编码器的80:1的变速电机,编码器的输出端连接到单片机...
阅读(2145) 评论(0)

wifi robot的安卓端开发经验教训

这一段应学妹要求,做了一个关于物联网的wifi robot的安卓端应用,其中很多的dani...
阅读(685) 评论(3)
    个人资料
    • 访问:54374次
    • 积分:632
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:1篇
    • 译文:0篇
    • 评论:12条
    最新评论