读书笔记
文章平均质量分 85
mazinkaiser1991
这个作者很懒,什么都没留下…
展开
-
《程序员的自我修养》读书笔记
程序员自我修养第六章读书笔记原创 2016-01-27 20:28:25 · 2073 阅读 · 0 评论 -
Unix网络编程读书笔记(一)
之前终于把unix环境高级编程这本书过了一遍,其中介绍的内容不少,有些内容一下子还接受不了。算了,就先这样吧,以后用到的时候再详细研究吧。今天开始看看Unix网络编程这本书。还是在看书的同时写写读书笔记,方便忘记了随时查阅。先来看看TCP与UDP之间的区别,一个老掉牙的问题了。TCP是面向连接的,UDP是无连接的。TCP是可靠的而UDP是不可靠的。为了实现这一区别,TCP采用了“发原创 2016-08-18 22:24:47 · 1291 阅读 · 0 评论 -
Unix网络编程读书笔记(四)
unix下共有5种I/O模型:阻塞式I/O非阻塞式I/OI/O复用(select和poll)信号驱动式I/O(SIGIO)异步I/O(POSIX的aio_系列函数)同步I/O与异步I/O:同步I/O操作导致请求进程阻塞,直到I/O操作完成。前4种模型都是同步I/O模型,因为其中真正的I/O操作将阻塞进程。异步I/O操作不导致请求进程阻塞。select函数读就绪条件:原创 2016-08-29 22:21:13 · 561 阅读 · 0 评论 -
UDP协议相关内容总结
本篇blog的主要内容就是根据TCP/IP详解中第11章的内容总结的。首先是一个基本概念,UDP是一个面向数据报的传输层协议:进程的每个每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。正是这一发送方式,造成了UDP在数据报的发送过程中保持了边界。此处的“保持边界”可以通过一个例子理解:对于UDP协议而言,客户端连续发送数据,此时不管服务器的接收缓冲区有多大,也只能一原创 2016-09-10 21:39:21 · 637 阅读 · 0 评论 -
Unix网络编程读书笔记(二)
套接字地址结构IPv4套接字地址结构,定义如下,位于/usr/include/netinet/in.h:typedef uint32_t in_addr_t;struct in_addr { in_addr_t s_addr; };struct sockaddr_in { __SOCKADDR_COMMON (sin_); in_port原创 2016-08-27 20:47:51 · 793 阅读 · 0 评论 -
APUE读书笔记-第三章 文件I/O
今天看得挺快的,一下子就把第二章看完了,不过第二章也确实看得不仔细,这一章其实在程序设计中还是非常重要的,因为这一章的内容决定了程序的可移植性。好了,回到这一章的主题文件I/O。 3.2节主要对文件描述符的概念进行了简单的介绍。根据APUE:文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。我也简单地翻了一下LKD和《深入理解linux内核》,其原创 2016-06-15 15:25:18 · 3085 阅读 · 0 评论 -
APUE读书笔记-第十一章 线程
匆匆了结了第十章,APUE的水确实挺深的,也许我应该几种书结合者看。开始第十一章的内容,刚刚大概翻了翻,线程开始的部分还不是很困难。11.2 线程的概念其实书中并没有明确的定义线程的概念,不过有关于线程的概念,我之前也分析过一段:http://blog.csdn.net/u012927281/article/details/51602898由于Linux对于线程的实现也经历过几个版本的原创 2016-08-09 17:33:52 · 507 阅读 · 0 评论 -
C++ primer plus读书笔记(四)
公有派生使用公有派生,基类的公有成员将成为派生类的公有成员;基类的私有部分也将成为派生类的一部分,但只能通过基类的公有和保护方法访问。可以使用初始化列表语法指明要使用的基类构造函数,否则将使用默认的基类构造函数。基类指针或引用可以指向或引用派生类对象,但基类只能使用基类的方法。但不可以将基类对象和地址赋给派生类引用和指针。如果没有使用关键字virtual,程序将根据引用类型或指针类原创 2016-08-18 15:12:56 · 382 阅读 · 0 评论 -
C++ primer plus读书笔记(七)
string类的输入对于c风格字符串,有以下三种形式:char info[100];cin>>info; //读入一个单词cin.getline(info,100); //读入一行输入,删除\ncin.get(info,100); //读入一行输入,将\n留在队列中对于string对象,有两种方式string stuff;cin>>stuff;getli原创 2016-08-19 10:09:29 · 348 阅读 · 0 评论 -
Unix网络编程读书笔记(五)
使用UDP编写的一些常见的应用程序有:DNS(域名系统)、NFS(网络文件系统)和SNMP(简单网络关系协议)。UDP协议的通信函数分别是sendto与recvfrom函数,函数原型如下:#include extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __S原创 2016-09-01 21:54:36 · 561 阅读 · 0 评论 -
APUE读书笔记-第十二章 线程控制
在上一章中学习了有关线程的基础知识,第十二章对线程的特性继续做进一步的研究。第十一章另一个方面的内容就是分析如何使用这些同步函数对线程进行同步,不过我之前对这部分内容学习较少,现在看也没看出个什么眉目来,等用到的时候再详细研究吧。12.3 线程属性每个对象具有与其原创 2016-08-12 10:31:36 · 544 阅读 · 0 评论 -
Unix网络编程读书笔记(六)
在涉及套接字的I/O操作上设置超时的方法有以下3种:调用alarm函数。在select中阻塞等待I/O,以此代替直接阻塞在read或write调用上。使用SO_RCVTIMEO和SO_SNDTIMEO套接字选项。上述三个技术都适用于输入和输出操作,不过上述技术原创 2016-09-03 11:26:01 · 558 阅读 · 0 评论 -
深度探索c++对象模型——读书笔记(一)
在c++中有两种类数据成员:静态(static)与非静态(nonstatic)。三种类成员函数:静态(static)、非静态(nonstatic)和虚拟(virtual)。c++对象模型如下:对于数据成员:nonstatic数据成员被配置在每一个类对象之内;static数据成员则存放在类对象之外。对于成员函数:static、nonstatic成员函数被配置在类对象之原创 2016-08-24 21:25:39 · 435 阅读 · 0 评论 -
Unix网络编程读书笔记(七)
可能阻塞的套接字调用可分为以下四类:1)输出操作:包括read、readv、recv、recvfrom和recvmsg共5个函数。对于TCP协议而言,由于TCP是面向字节流的,因此被阻塞的进程被唤醒,是由于只要有一些数据到达,这些数据可能是单个字节,也可能是一个TCP的完整分节中的数据。因此如果想等到某个固定数目的数据可读为止,可以指定MSG_WAITALL标志。对于UDP协议而言,由原创 2016-09-04 10:10:32 · 493 阅读 · 0 评论 -
深度探索c++对象模型——读书笔记(二)
取一个nonstatic data member的地址,将会得到它在class中的offset。取一个绑定于真正class object身上的data member的地址。将会得到该member在内存中的真正地址。对于纯虚析构函数,每一个derived class 的析构函数会被编译器加以扩张,以静态调用的方式调用其“每一个virtual base class”以及“上一层base cla原创 2016-08-25 21:06:31 · 283 阅读 · 0 评论 -
APUE读书笔记-第十四章 高级I/O
十三章直接跳过了,内容上并不太多,直接看14章的内容,这一章的内容十分重要。14.2 非阻塞式I/O非阻塞I/O使我们可以发出open、read和write这样的I/O操作,并使这些操作不会永远阻塞。如果请求的I/O操作不能完成,则调用立即出错返回,表明此时数据还没有准备好,该操作如继续则仍将阻塞。对于一个给定的描述符,有两种方法可以将其指定为非阻塞式I/O。如果调用ope原创 2016-08-15 11:44:53 · 475 阅读 · 0 评论 -
Focal loss分析
1)Class imbalance问题的提出Focal loss的提出就是问了解决Class imbalance问题,在两阶段目标检测算法中,这一问题是通过两阶段级联与启发式采样策略解决的(Class imbalance is addressed in R-CNN-like detectors by a two-stage cascade and sampling heuristics)。在p...原创 2019-02-06 15:24:02 · 1158 阅读 · 0 评论 -
C++ primer plus读书笔记(六)
友元类友元类的所有方法都可以访问原始类的私有成员和保护成员。友元声明可以位于公有、私有和保护部分,其所在位置无关紧要。可采用如下形式定义:friend class A原创 2016-08-18 20:34:06 · 274 阅读 · 0 评论 -
C++ primer plus读书笔记(五)
初始化顺序当初始化列表包含多个项目时,这些项目被初始化的顺序为他们被声明的顺序,而不是其在初始化列表中的顺序。私有继承使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员。保护继承使用保护继承时,基类的公有成员和保护成员都将成为派生类的保护成员。各种继承方式总结特征公有继承保护继承私有继承公有成员变成派生类的公有成员原创 2016-08-18 17:50:13 · 320 阅读 · 0 评论 -
APUE读书笔记-第十章 信号 (二)
大概三个月前对信号这一章初步读了一下,当时看完了前5小节,今天开始余下内容的学习。10.6 可重入函数由于信号处理函数可能会中断正常执行的指令序列,对于我们自己编写的代码,可以预防这一问题,但对于库函数我们就无能为力了,因此10.6节给出了一些可重入函数,这些可重入函数就是可以保证安全调用的函数。书中还给出了一个实例在此也就不详细研究了,基本功能比较明确就是在信号处理函数中调用不可重入原创 2016-08-07 16:57:18 · 488 阅读 · 0 评论 -
c专家编程3、4章读书笔记
c专家编程3、4章读书笔记原创 2016-04-10 15:45:33 · 484 阅读 · 0 评论 -
《程序员自我修养》第七章读书笔记
书还是接上回,本篇主要对第七章的相关内容进行总结。第七章主要对动态链接的相关内容进行分析。7.1 为什么要动态链接 既然要对动态链接进行分析,首先应对动态链接出现的原因进行一个简单的分析。动态链接从名称上看很自然就能联想到静态链接,在本书的第2部分对静态链接的相关内容进行了详细的分析,静态链接方法简单,原理也容易理解。但过于简单的东西肯定存在其漏洞。第一点漏洞就是“内存与磁盘空间的浪费”,原创 2016-02-29 19:35:18 · 1684 阅读 · 0 评论 -
《程序员的自我修养》第八章读书笔记
《程序员的自我修养》又回来了,作为一名程序员,我的修养还很不够,好了开始我们今天的主题。原创 2016-05-04 09:59:24 · 583 阅读 · 0 评论 -
《程序员的自我修养》第十一章读书笔记
本章正式开始介绍运行库,十分之难的一章,我能给大家分析多少就是多少吧。原创 2016-05-10 08:47:42 · 2212 阅读 · 0 评论 -
APUE读书笔记-第四章 文件和目录
到第四章了,不知什么时候才能把这本书看完,耽误的时间太多了。第四章是在第三章的基础上,主要描述文件系统的其他性质和文件的性质。4.2 stat、fstat、fstatat、lstat函数首先来看看这四个函数的原型:#include ///usr/include/x86_64-linux-gnu/sys/int stat (const char *__restrict __fi原创 2016-06-28 09:07:48 · 1561 阅读 · 0 评论 -
《程序员的自我修养》第十二章读书笔记
终于快完了,倒数第二章,后面几章有些问题分析的不是非常清楚,欢迎知道的大神给小弟指点一二。逐级向下研究运行库,就到了用户层面与内核层面的界限了,也就是常说的系统调用(System call)。系统调用是应用程序(运行库也是应用程序的一部分)与操作系统内核之间的接口,它决定了应用程序如何与内核打交道。系统调用主要具有以下两方面的作用:由于系统有限的资源有可能被多个不同的应用程序同时访原创 2016-05-30 22:59:23 · 1762 阅读 · 0 评论 -
APUE读书笔记-第二章 unix标准及实现
《程序员的自我修养》这本书的读书笔记就先告一段落了,最后一章的运行时库实现也没有实现,有机会再补上吧。今天又回到APUE,第一章也不给大家分享什么了,这本书的读书笔记从第二章开始。好了开始今天的主题,第二章2.4小节之前关于unix标准与实现的讨论在此也就不详细分析了,从2.5小节开始。 2.5小节主要讨论unix系统中的“限制”,主要包括两类限制:编译时限制,例如,短整型的最大值是多原创 2016-06-14 15:51:59 · 782 阅读 · 0 评论 -
APUE读书笔记-第七章 进程环境
今天一天就结了一章,确实挺快的,不过第六章的内容现在还用不太到,但第七章的内容我认为就比较关键了,主要是有关于进程环境的内容7.2 main函数这一小节介绍了简单介绍了有关于main函数的内容,我认为讲的很简单,所以给大家分享一点我之前的学习体会:http://blog.csdn.net/u012927281/article/details/513562287.3 进程终止有8原创 2016-07-18 21:21:49 · 531 阅读 · 0 评论 -
APUE读书笔记-第六章 系统数据文件和信息
昨天看完了,今天来看看第六章。感觉第六章的内容不是非常重要。简单看看吧 6.2 口令文件口令文件其实就是/etc文件夹下的passwd文件,但处于安全性的考虑,我们无法直接读取它。就是通过直接限制权限的方式对其进行保护,passwd文件具体权限如下:-rw-r--r-- 1 root root可以看到只有root用户具有读写权限,与root同组的用户与其他用户仅具有读权限。原创 2016-07-17 12:52:50 · 892 阅读 · 0 评论 -
APUE读书笔记-第五章 标准I/O库
今天草草的把第四章结了,后面的内容分析的也不是很详细,就连书中的例子都没有怎么实验,还是等以后有机会吧。从5.3节开始研究起吧,这一节主要谈了一个进程预定义的3个流,分别是标准输入、标准输出和标准错误,通过stdin、stdout、stderr引用。这里要和进程中的文件描述符STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO相区分。/* Standard st原创 2016-07-16 11:15:04 · 1038 阅读 · 0 评论 -
APUE读书笔记-第八章 进程控制
两天时间就把第七章看完了,这一章看得快,主要是有以前的基础,今天开始本书的重头戏:进程相关知识。之前看到过一句话:“Linux中除了进程都是文件”,我认为这句话虽然说的挺绝对的,但我想了一下,也没有什么特别好的反驳理由。这些都是题外话,开始今天的主题:进程控制。8.2 进程标识每个进程都有一个非负整型表示的唯一进程ID。虽然进程ID是唯一的,但某个ID被回收后,ID号是可以复用的。书中还给原创 2016-08-03 15:57:05 · 978 阅读 · 0 评论 -
APUE读书笔记-第九章 进程关系
终于把第八章原创 2016-08-05 09:54:07 · 710 阅读 · 0 评论 -
C++ primer plus读书笔记(一)
这一系列的blog主要是对以前学过的C++的特点,以及面向对象的相关内容的总结。面向对象的三大特征:封装、继承、多态。访问控制原则:public:使用类对象的程序可以直接访问公有成员。private:只能通过公有成员函数或友元函数访问对象的私有成员,这一属性是类对象的默认访问控制。内联函数定义位于类声明中的函数都将成为内联函数。或者显式的使用关键字inline。类的原创 2016-08-17 10:57:44 · 761 阅读 · 0 评论 -
APUE读书笔记-第十章 信号
今天开始写写APUE读书笔记原创 2016-04-29 16:12:38 · 4272 阅读 · 0 评论 -
C++ primer plus读书笔记(二)
运算符重载运算符重载的一般格式:operatorop(args)调用形式如下,假设定义了加法运算符。a = b + ca = b.operator+(c)以下运算符只能通过成员函数重载:=()[]->友元函数友元有3种,分别是:友元函数、友元类、友元成员函数。通过让函数成为类的友元,可以赋予该函数与类成员函数相同的访问权限。友元函数定义如下,原创 2016-08-17 15:10:29 · 329 阅读 · 0 评论 -
C++ primer plus读书笔记(三)
对于静态类成员,可以在类声明之外使用单独的语句来进行初始化,这一因为静态类成员是单独存储的,而不是对象的组成部分(存储在单独的段中)。在初始化时需要使用类限定符。如果静态数据成员是整型或枚举型const,则可以在类声明中初始化。c++自动提供以下成员函数默认构造函数,如果没有定义构造函数。默认析构函数,如果没有定义。复制构造函数,如果没有定义。赋值运算符,如果没有定义。地址运算符,原创 2016-08-17 16:23:19 · 334 阅读 · 0 评论 -
pytorch学习
1)pytorch tensor初始化方法:(1)使用empty构造空tensorx = torch.empty(5,3)(2)使用rand构造均匀分布的tensor,使用randn构造标准分布的tensorx = torch.rand(5,3)(3)使用zeros构造全0 tensor,ones构造全1 tensorx = torch.zeros((5, 3), d...原创 2019-02-10 09:39:38 · 320 阅读 · 0 评论