E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《程序员的自我修养》
论
程序员的自我修养
——重构(1)
重构与我想写重构,完全是因为上个月看了一本关于重构的书,里面介绍了十几种不同的重构方法。真的是手把手形式的教你各种重构的方法,书名叫《重构:改善既有代码的设计》(http://book.douban.com/subject/1229923/)。不能说这本书能带给我多大的启发,里面介绍的大部分代码设计的方法,都是我已经学过或知道的,但这算是我第一次真正系统地接触重构。尽管以前一直有优化自己代码的习惯
Phospher_Lau
·
2020-08-11 22:19
程序员感悟
软件开发
全局对象构造函数的调用时机
今天小翻了下新书《
程序员的自我修养
——链接、装载与库》中的11.4.2章节的《MSVCCRT的全局构造与析构》部分。
sapair
·
2020-08-10 07:12
其他
谈职业生涯——读《
程序员的自我修养
》
题图:黄昏时分的上海陆家嘴最近在看《
程序员的自我修养
》,作者陈逸鹤,一本写给程序员的思考书,其实市面上类似题材的书也不少,比如我看过的另外两本《内外兼修——程序员的成长之路》《程序员必读的职业规划书》,
weixin_33858336
·
2020-08-10 03:53
关于大小端的一些问题
——《
程序员的自我修养
》A.1字节序(ByteOrder)到底如何工作?这里有个ja
fovwin
·
2020-08-09 20:37
通信协议篇:TCP/IP
语言学习篇:C/C++
自我修养——静态链接
不知不觉,点点滴滴,虽不说都是高质量博文,但也算是个里程碑,毕竟都是一手敲出来的文章最近有点迷茫,脱离android大半年了,发张方向是个迷,程序员生涯接下来的路应该怎么走~得好好想想了空下来把之前的补上,
程序员的自我修养
这本书里面的第三部分撰写不易
南丶烟
·
2020-08-09 09:57
【Embedded】
【自我修养】
思维导图读书笔记《
程序员的自我修养
—链接、装载与库》
一、问题二、全书概览二、全书概览全书大致讲什么:第1章温故而知新介绍了一些后面会用到的计算机的基础知识,包括CPU、存储、线程和操作系统等。知识点提炼:第2章编译和链接介绍了从helloWorld.c到helloWorld.out的编译和链接的过程,并介绍了编译器和链接器。知识点提炼:第3章目标文件里有什么以Linux下的ELF格式为例,详细介绍了目标文件(*.o)的内部结构,包括段、文件头、各种
Nemo的读书笔记
·
2020-08-08 16:58
LINUX
C语言
操作系统
linux
编程语言
编译器
为什么要动态链接,动态链接库和静态连接的区别与优势
本文摘抄于
程序员的自我修养
-链接装载与库7.1节,这段写的很好,直接拿过来来收藏http://www.wq3028.top/technology/compile/20180727124/静态链接使得不同的程序开发者和部门能够相对独立地开发和测试自己的程序模块
wq3028
·
2020-08-07 21:13
编译相关
Linux下编译、链接和装载
——《
程序员的自我修养
》读书笔记编译过程在Linux下使用GCC将源码编译成可执行文件的过程可以分解为4个步骤,分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly
weixin_30359021
·
2020-08-07 19:19
操作系统
运维
c/c++
程序的编译、链接与装载
《
程序员的自我修养
-链接装载与库》是一本值得推荐的书,主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的
鹏在天
·
2020-08-07 19:14
简图记录-程序的生命周期:编译链接装载运行
简图记录学习~《
程序员的自我修养
-链接、装载与库》你的代码在编译过程做了什么?如何链接的?静态链接与动态链接差异?如何装载到内存里面?可执行文件和程序虚拟空间与物理内存的关系?
runafterhit
·
2020-08-07 17:54
软件工程类
深入编译链接和运行
参考资料:
程序员的自我修养
、深入理解计算机系统*首先能称得上是计算机系统,必须具备以下:CPU、内存、I/O;对于着三个部分,我们可以使用不同厂商的硬件,但是操作系统为了屏蔽底层硬件的差异,使应用层的用户在编写程序的时候使用统一的接口
cc_Zzzz
·
2020-08-07 16:09
机器人
iOS中线程Call Stack的捕获和解析(二)
1.部分参考资料做这一块时也是查阅了很多链接和书籍,包括但不限于:《OSXABIMach-OFileFormatReference》《Mach-OProgrammingTopics》《
程序员的自我修养
》
weixin_33963594
·
2020-08-04 05:37
程序员的自我修养
(2)——计算机网络
几乎所有的计算机程序,都会牵涉到网络通信。因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的。本文在介绍一些基础网络知识的同时,给出了一些高质量的系列文章链接,以方便大家随时参考学习。相信通过本文的学习,你能对计算机网络有全面的认识!在阅读本文之前,建议阅读以下两遍文章,以便对”计算机网络是如何工作”的有个大概的了解。互联网协议入门(一)互联网协议入门(二)接下来,我们介绍一些基础网络
快课教程
·
2020-08-04 03:44
网络编程
proc//maps文件格式
程序员的自我修养
第六章可执行文件的装载与进程P168/proc//maps文件存放进程的虚拟空间的分布,示例如下:7f23a6e30000-7f23a6e4d000r-xp0000000008:059050308
gebigye
·
2020-08-03 17:55
程序员的自我修养
40 个笑到抽筋的神回复,绝了!
每个程序员都是天生的段子手...
程序员的自我修养
杀一个程序员不需要用枪,改三次需求就可以了。程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上了上好檀香。
代码小生
·
2020-08-03 07:17
程序员
产品经理
代码
职场
《
程序员的自我修养
》读书笔记:静态链接
空间与地址分配1.按序叠加将输入的目标文件按照次序叠加起来,但浪费空间。2.相似段合并(采用)相同性质的段合并在一起。“.bss”段在目标文件和可执行文件中并不占用文件的空间,但是它在装载时占用地址空间。所以链接器在合并各个段的同时也将“.bss”合并,并且分配虚拟空间。“链接器为目标文件分配地址和空间”,此处的“地址和空间”有两个含义:在输出的可执行文件中的空间。在装载后的虚拟地址中的虚拟地址空
Allblues57
·
2020-08-02 15:21
《程序员的自我修养-链接
装载与库》笔记
程序员的自我修养
--链接、装载与库笔记:静态链接
1.空间与地址分配对于链接器来说,整个链接过程中,它就是将几个输入目标文件加工后合并成一个输出文件。测试代码a.c和b.c内容如下://a.cexternintshared;intmain(){inta=100;swap(&a,&shared);}//b.cintshared=1;voidswap(int*a,int*b){*a^=*b^=*a^=*b;}通过执行:$gcc-ca.cb.c,生成a
fengbingchun
·
2020-08-02 13:16
C/C++/C++11
GCC/Clang/LLVM
程序员的自我修养
编译和连接1.预处理(Prepressing)将所有的#define删除,并展开宏定义。处理所有的条件预编译,比如#if#ifdef#elif#else#endif。处理#include预编译指令,将包含的文件插入到该预编译指令的位置,注意,这个过程是递归。删除所有的//和/**/添加行号和文件名标识保留所有的#pragma编译指令2.编译(Compilation)编译就是把预处理完的文件进行一系
mark20
·
2020-08-01 14:26
《
程序员的自我修养
》笔记
本书作者:陈逸鹤以下是我读此书时作的一些笔记,当然书中还有很多值得参考的想法,就不一一列举了。一万小时说法☆这个说法很普遍了,它再次提醒了我如何去做一个领域的专家。如果平均每天八小时在这个领域上,那么一年300天=300*8=2400,保持这种学习激情在上面,五年内就可以成为专家了,我算了算自己在这个领域投入的时间(主要学习时间),除去我没有怎么写代码的时间,我从14年开始写代码到现在18年,有五
深蓝浅蓝的天
·
2020-08-01 02:01
读书
《
程序员的自我修养
》读书笔记——一个程序是如何运行起来的一:源代码怎么变成可执行文件
先来看一个程序#includeintmain(){printf("HelloWorld!\n");return0;}这个程序可以说是每一个程序员写出来的第一个程序。可是它到底是怎么在一个计算机上运行起来呢?众所周知,计算机是不认识这些单词的,计算机只能识别0101的二进制文件。所以我们首要的任务就是把这个c语言文件转换成一个二进制文件。我们这里只讨论编译过程,屏蔽硬件知识。罗马不是一天建成的,编译
小丁要进大厂
·
2020-07-30 22:25
web
程序员的自我修养
:服务器端的修炼
Web应用程序的服务器端,相对前端而言,通常亦称为后端,可谓是web应用程序的核心部分,在服务器端,要接受并处理客户端的请求,完成业务逻辑,获取和处理数据,或者调用其他系统的应用接口、数据接口,等等,最后将结果返回给客户端,再通过客户端的渲染,呈现给用户。后端程序员的修炼,主要在于编程语言、数据库、服务器配置、网络等几大方面。编程语言选择什么作为服务器端的语言(服务器端脚本语言),跟多种因素相关,
linuodi
·
2020-07-30 15:27
程序的内存布局——函数调用栈的那点事
[注]此文是《
程序员的自我修养
》的读书总结,其中掺杂着一些个人的理解,若有不对,欢迎拍砖。程序的内存布局现代的应用程序都运行在一个虚拟内存空间里,在32位的系统里,这个内存空间拥有4GB的寻址能力。
yang_yulei
·
2020-07-30 13:14
程序的本质
GitHub 热点速览 Vol.28:有品位
程序员的自我修养
作者:HelloGitHub-小鱼干摘要:一个程序员除了技术好,还得品位高,有什么比一个高颜值的GUI更能体现你品味的呢?rocketredis就是一个高颜值、简约的Redis管理界面,比它简直更高的是极客风的eDEX-UI,一看它浓浓科幻风的界面,你一定会被它圈粉的。当然,小工具只能体现你的外在品味,你的内在品味自然是通过你的内涵(技术)体现了,本周刚开源就获得2k+star的hackingto
削微寒
·
2020-07-30 11:47
Linux
程序员的自我修养
:玩转 GDB 调试
我从学生时代到进入软件开发这个行业,不知不觉已经十余年了。这些年,先后在网游公司做过游戏服务器,为上海某交易所做过金融交易系统、在金融证券公司做过股票证券交易系统和即时通讯软件、在音视频直播公司做过直播服务器,各种项目使用的服务器操作系统都是Linux,开发语言是C/C++。正如从事WindowsC/C++开发的一定要熟悉VisualStudio、从事Java开发的要熟悉Eclipse或Intel
蔚1
·
2020-07-30 09:31
达人课
Linux
技术书籍整理
《重构:改善既有代码的设计》《修改代码的艺术》《
程序员的自我修养
-链接、装载与库》俞《UNIX网络编程.卷2.进程间通信》内核《深入理解Linux内核》《Linux内核设计与实现》原书第三版.RobertLove
執著我們的執著
·
2020-07-27 12:10
操作系统真实的虚拟内存是什么样的(一)
参考阅读:《
程序员的自我修养
—链接、装载与库》第10章--内存Linux进程地址空间分布
iihero
·
2020-07-16 00:21
DotNet
编程工具
个人随笔
书单推荐:各领域入门书籍推荐——文史理工艺术——
程序员的自我修养
文章目录学科分类启程理工科书单数学计算机天文文科书单经济外国文学中国文学哲学历史社会学科普科幻艺术书单美学书法音乐效率提升书单**书单来源**后记学科分类在亚里士多德之前,自然科学(当时称自然哲学)与哲学是混为一谈的,而亚里士多德超越了他的前辈,将过去广义上的哲学(即知识或者所有学科的总称)分为了三大领域1.理论的科学,即我们现在常说的理工科,比如数学和自然科学;2.实用的科学,即我们现在常说的文
工程师小星星
·
2020-07-15 22:16
读书
自我修养
虚拟地址空间相关--
程序员的自我修养
虚拟地址空间和物理地址空间物理地址空间是实实在在存在于计算机中,并且对于每一台计算机来说只有一个。虚拟地址空间是指虚拟的、人们想象出来的地址空间,它实际并不存在。每个进程都有自己独立的虚拟空间,而且每个进程只能访问自己的地址空间。(做到了进程的隔离)它出现的原因如何将计算机上有限的物理内存分配给多个程序使用。解决的问题:-地址空间不隔离(可能会不小心修改了其他程序的内存数据,导致其他程序运行失败)
00000000_4571
·
2020-07-15 17:25
Linux后端开发
4.熟悉底层,计算机体系结构
程序员的自我修养
—链接、装载与库深入理解计算机系统5.熟悉Linux系统编程UNIX环境高级编程UNIX网络编程_卷2_进程间通信6.学习
有时需要偏执狂
·
2020-07-15 15:05
心情
很认真地聊一聊
程序员的自我修养
浅谈程序员的英语学习》,对于文章中的观点我非常认同,英语是非常重要的,但文章站的高度还是太高,具体表述的学习方法我不是很认同,也认为不太实际,恰好之前有一篇一直没有发表的文章想重新发布,就借此机会和大家很认真的谈一谈
程序员的自我修养
问题
weixin_30484739
·
2020-07-15 03:58
程序员的自我修养
——链接,装载与库(八)运行库
运行库是程序运行时所需要的库文件。操作系统装载程序以后,首先运行的不是main函数,而是入口函数(往往是运行库的一部分)。Linux下程序的运行步骤由4部分构成:操作系统在创建进程后,把控制权交到了程序的入口,这个入口往往是运行库的某个函数。入口函数对运行库和程序运行环境进行初始化,包括堆栈,堆,I/O,线程,全局变量构造。入口函数在完成初始化之后,调用main函数,正式开始执行程序主体部分。ma
Cry .
·
2020-07-14 21:27
程序员的自我修养——链接
装载与库
程序员的自我修养
——链接,装载与库(七)内存
内存是承载程序的运行介质,也是程序进行各种运算和表达的场所。应用程序的内存布局为:栈,堆,可执行文件的映像和保留区。栈(高地址->低地址)用于维护函数调用的上下文,离开了栈,函数调用无法实现。堆(低地址->高地址)用于储存应用程序动态分配内存的内存区域。可执行文件映像用于存储可执行文件在内存中的映像。保留区存储内存中收到保护而非禁止访问的对象。动态链接库映射区用于存储装载的动态链接库。程序中出现的
Cry .
·
2020-07-14 21:27
程序员的自我修养——链接
装载与库
温故而知新——
程序员的自我修养
搭配计算机体系结构基础一起理解计算机硬件对于程序员,计算机中最为关键的部件是中央处理器(CPU)、内存、I/O控制芯片。SMP&内核一个计算机可能有多个CPU,最常见的是对称多处理器(SMP),即每个CPU在系统中所处的位置以及所发挥的功能是一样的、相互对称的。注意不可以说CPU数量多运算速度就快,因为程序并非都可以分解成若干不相干的子问题。只有在请求相互独立时作用大,如:大型数据库、网络服务器这
零度苏打
·
2020-07-14 20:29
#
笔记
[
程序员的自我修养
-做一个牛逼的程序员,就得从设计模式入手]-原型模式
写这期原型模式时,心里是很忐忑的。因为前两天996的原因,精神不是很好。在看了别人写的模式介绍时,觉得大师们有自己的深刻理解,总说一些我没有听过的概念。就没有了写下去的勇气了。其实,就是从了心,怂了。但是一切的理所当然不都是自己一股劲儿闯出来的吗。所以,依然还是写了。以下,个人理解的原型模式。原型模式,如果究其字面的意思,就是有一个母体,别的类都是通过它克隆出来的。我就把关键词克隆记住,觉得在以后
Jasson_noong
·
2020-07-14 15:30
个人笔记
[
程序员的自我修养
-做一个牛逼的程序员,就得从设计模式入手]-建造者模式
建造者模式是一种创造型的模式,它关注的是具有相同属性的多个复杂对象的创建问题。同时,能够细粒度的把控该对象的部件赋值操作和创建顺序等。比如,麦当劳的套餐可以是汉堡加可乐,也可以是鸡块加果汁(套餐是一个对象,饮料和主食就是两个部件)。服务员可以先打好可乐,再做汉堡,也可以反过来。最后,到顾客手里的就是一份完整的套餐了。以下,以代码说明。//不管饮料还是主食,都有名称和价格。publicclassMe
Jasson_noong
·
2020-07-14 15:30
个人笔记
[
程序员的自我修养
-做一个牛逼的程序员,就得从设计模式入手]-外观模式
大家好,我是杰森小哥哥。很久没有动手写设计模式的笔记了。今天继续了,做事要有始有终。最近刚换了砖厂,深感学习和自我提升甚是重要。今天要写的是外观模式(facade,这个法语词的读音很有味道,建议百度下,别读错哦)。每每说到设计模式,我都要想一个问题。这个鬼东西到底是为了什么问题而存在的。有动机才会有动力。说个例子。我今年去体检过两次。一次是体检机构,一次是一家私立医院。先说结论,这个体检机构的效率
Jasson_noong
·
2020-07-14 15:59
个人笔记
设计模式
[
程序员的自我修养
-做一个牛逼的程序员,就得从设计模式入手]-单例模式
做任何事情都要先问一次为什么要这么做,可不可以换一个更容易的,甚至可以不这样做吗?开始会很难,但越往后活得越通透。想看大而全的总结式文章的道友可以去百度道场,毕竟这篇文章只是我个人的学习总结。里面的说法,理解你我各有不同。能耐心看完的,也是十分感激,拜谢!自己也算是做了2年多的码农了,总觉得自己码砖时,在看源码时,总会看到很多源码中使用了多种多样的设计模式,不由得给先贤们竖起了中拇指,觉得技不如人
Jasson_noong
·
2020-07-14 01:29
个人笔记
从代码到App启动整条流水线都做了啥(一)
这几天读完了这本书的第二章编译器,结合《编译原理》和《
程序员的自我修养
》——链接、装载与库这两本书,决定写此文普及一下程序员从写代码,到呈现到手机上一个个活灵活现的App,都经历了哪些过程。
lefex
·
2020-07-14 01:56
论
程序员的自我修养
想要成为一名资深的程序员需要具备各方面的能力,这就是
程序员的自我修养
,作为刚入行的程序员小辈最初的疑问是如何成为一个程序员?随着阅历的增长,有的程序员就会发问:如何成为一名资深的程序员?
weixin_34416754
·
2020-07-12 10:33
C++ 系列:静态库与动态库
这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《
程序员的自我修养
——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底
weixin_30716141
·
2020-07-12 06:15
关于weakref的用法
在《
程序员的自我修养
—链接、装载、库》这本书的3.5.5节,讲到了一个知识点:weakref,弱引用。书中在第93页举出的例子发现编译不通过,报错。
iCode王者伟业
·
2020-07-12 04:56
C++基础编程
程序员的自我修养
程序员的自我修养
--链接、装载与库笔记:编译和链接
集成开发环境(IDE),如VisualStudio,一般都将编译和链接的过程一步完成,通常将这种编译和链接合并到一起的过程称为构建(Build)。1.被隐藏了的过程以下是测试代码hello.c:#includeintmain(){printf("HelloWorld\n");return0;}在Linux下执行以下命令:将会在屏幕输出:HelloWorldgcchello.c;./a.out上述过
fengbingchun
·
2020-07-11 05:18
C/C++/C++11
GCC/Clang/LLVM
程序员的自我修养
(一)
1)数据结构数据结构课程通俗的说就是告诉你如何用最基本的语言类型、变量,关键词语句等,去处理各式各样的逻辑问题,我们称之为算法,而日常编程中的各种问题,例如排序、文件夹遍历操作、数据库查询等,都可以在数据结构课程中,找到对应的数学原型。数据结构课程的理解能力,也是一个人数学能力的体现,数据结构学习的好坏,是程序员水平差异的一个重要分水岭,对于这一块内容的学习,有如下建议:使用VB、C、C++、Pa
bestyjava
·
2020-07-11 02:22
编程开发
C++静态库与动态库(比较透彻)
这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《
程序员的自我修养
——链接、装载与库》。
千么漾漾
·
2020-07-10 18:20
Return-to-dl-resolve
ELF文件结构如果想深入了解的话可以看下《
程序员的自我修养
》的第三章P70如果一个可执行文件要进行动态链接,它的程序头部表将包含类型为PT_DYNAMIC的段,它包含.dynamic节结构如下typedefstruct
zs0zrc
·
2020-07-10 15:13
pwn
【Linux】系统调用实现原理(中断、特权、用户态内核态)
参考《
程序员的自我修养
》第十二章:系统调用与API(这章篇幅很短,20多页,1个小时便可以读完)一、系统调用与库函数1.系统调用函数是系统内核抛出来给用户空间调用的接口,系统调用由用户态调用,在内核态执行
David 's blogs
·
2020-07-10 14:07
程序员自我修养
Linux
学习笔记1:书单
编程基础:1、数据结构与算法《数据结构与算法》《大话数据结构》《算法导论》《算法—第四版》2、计算机网络《TCP/IP详解》《计算机网络—自顶向下》3、操作系统《深入理解计算机系统》(CSAPP)《
程序员的自我修养
Code_Leon
·
2020-07-10 11:08
程序员的自我修养
的读书感想:雾里看花
如果,这本书压缩下,减少到300页。效果会更好,周边没有用处的引用太多,有些历史典故放到页下注脚解释一行就行了。不要浪费那么多篇幅,淹没本来该有的知识点。前面有位评论推荐linux程序员应该读读,那么我推荐windows程序员不要读。可以看作者访谈中推荐的书来代替。全书给我的感觉是雾里看花水中望月,讲了很多,又都不细,历史典故不少,当你想更多了解知识点得时候它又结束了,感觉不够过瘾,不够到位。所以
weixin_30794491
·
2020-07-10 06:33
个人读书书单
Linux内核】张天飞2019年【内向思考】10%【格局】吴军,100%【态度】吴军,100%,40封家书,讲述了对人,对事的态度【失恋33天】100%【活法||】20%【现代操作系统第四版】20%【
程序员的自我修养
王二车
·
2020-07-09 12:05
程序人生
程序员的自我修养
(雾)
N神3随笔-266,文章-362,评论-6,引用-0程序员自我评价篇一:程序员简历自我评价程序员简历自我评价本人勤奋踏实,工作认真负责,自学能力强;性格开朗,容易与人相处,注重团队协作精神,且能承受较大压力。注重专业基础学习和实践能力的培养,在校期间不仅做过多个课程设计暑假期间也去过单位实践过,对java编程和网站开发具有浓厚的兴趣。篇二:优秀的程序员自我鉴定优秀的程序员自我鉴定以下一篇是一名优秀
weixin_30532987
·
2020-07-09 07:52
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他