网站颜色:

码农翻身 用故事给技术加点料 好玩又有趣的编程知识 刘欣 计算机程序员软件编程项目开发经验大全书籍 企业级应用架构师设计开发

  • 产品名称:码农翻身
  • 书名:码农翻身
  • 作者:刘欣
  • 定价:69.00元
  • 书名:码农翻身
  • 是否是套装:否
  • 出版社名称:电子工业出版社

编辑推荐

√ 书中把计算机素和行为用拟人手法编成一个个精彩纷呈的故事,绘声绘色且深入浅出地演绎晦涩枯燥的编程知识。

√ 编程初学者可以津津有味地学习,老手也能饶有兴致地查漏补缺。

√ 学习优秀的架构师是如何思考、如何抽象、如何成长的,从操作系统、Java语言到Web技术,每个主题都深入浅出。

内容简介

《码农翻身》用故事的方式讲解了软件编程的若干重要领域,侧重于基础性、原理性的知识。

《码农翻身》分为6章。

第1章讲述计算机的基础知识;

第2章侧重讲解Java的基础知识;

第3章偏重Web后端编程;

第4章讲解代码管理的本质;

第5章讲述了JavaScript的历史、Node.js的原理、程序的链接、命令式和声明式编程的区别,以及作者十多年来使用各种编程语言的感受;

第6章是作者的经验总结和心得体会,包括职场发展的注意事项、作为架构师的感想、写作的好处等。

目 录

第1章   计算机的世界你不懂   1

我是一个线程   1

初生牛犊   1

渐入佳境   4

虎口脱险   5

江湖再见   8

TCP/IP之大明内阁   9

TCP/IP之大明邮差   12

CPU阿甘   17

启动   17

运行   18

新装备:缓存   19

自我提升:流水线   20

我是一个进程   21

批处理系统   22

多道程序   22

地址重定位   24

分时系统   26

分块装入内存   27

虚拟内存:分页   28

分段 分页   30

程序的装载   31

线程   35

我是一块硬盘   36

内部结构   37

文件   38

文件的存放   39

管理空闲块   44

文件系统   45

我是一个键盘   46

二等公民   46

总线和端口   47

轮询(程序式I/O)   48

中断   49

DMA   50

数据库的奇妙之旅   51

无纸化办公   51

数据的冗余和不一致   52

李氏查询   52

并发访问   54

原子性问题   56

安全   58

搞清楚Socket   59

从1加到100:一道简单的数学题挑战一下你的大脑   64

CPU和内存   64

从1加到100   65

热身   65

正式出发   65

一个翻译家族的发家史   68

机器语言   68

汇编语言   69

高级语言   70

编程世界的那把锁   74

共享变量惹的祸   74

争抢吧,线程   75

改进   76

信号量   77

绕不开的加法器   81

递归那点事儿   85

第2章   Java帝国   91

Java:一个帝国的诞生   91

C语言帝国的统治   91

反抗   92

一鸣惊人   93

开拓疆土   93

帝国的诞生   94

我是一个Java Class   96

陌生   96

刺探信息   97

初识虚拟机   98

快乐假期   102

真相大白   103

持久化:Java帝国反击战   104

断电的威胁   104

数据库联合酋长国   105

表面风光的EJB   106

轻量级O/R Mapping框架   106

帝国的反击   107

JDBC的诞生   108

谈判   108

统一接口   110

面向接口编程   111

简单工厂   112

数据驱动   114

工厂方法   115

Java帝国之宫廷内斗   119

JDBC大臣   119

密谋   120

两阶段提交   121

JTA   123

塞翁失马,焉知非福   124

基本可用   125

走漏风声   127

宫廷激辩   128

JSP:一个装配工的没落   131

黑暗岁月   131

服务器端动态页面   132

标签库   134

模板引擎   134

草根搅局   135

Java 帝国之消息队列   137

张家村的历史   137

拆分   138

新问题   139

消息队列   139

互不兼容的MQ   140

消息队列接口设计   141

配置和代码的分离   143

再次抽象   144

Java帝国之动态代理   147

深夜奏对   147

明察暗访   149

Java 动态代理   150

Java注解是怎么成功上位的   153

XML大臣   153

安翰林献计   154

早朝争斗   157

Java帝国之泛型   159

新王登基   159

C 使者   159

泛型实现  162

泛型方法   163

泛型和继承   164

一个著名的日志系统是怎么设计出来的   166

前言   166

张家村   167

小张的设计   167

正交性   170

Log4j   171

尾声   171

序列化:一个老家伙的咸鱼翻身   172

寒冬的蛰伏   172

XML和JSON的挑战   173

新协议的崛起   175

加锁还是不加锁,这是一个问题   176

互斥锁   176

要不要加锁   177

CAS的扩展   179

Spring 的本质   182

问题来源   183

设计模屎模板方法   184

设计模屎装饰者   186

AOP   187

实现AOP   188

对象的创建   189

IoC与DI   191

第3章   浪潮之巅的Web   192

Web的起源   192

两个程序的爱情故事   195

好感   195

分离   196

网络   197

Web   198

一个故事讲完HTTPS   199

总有一种被偷窥的感觉   199

RSA:非对称加密   200

非对称加密 对称加密   202

中间人劫持   202

你到底是谁   203

HTTPS    206

机房夜话   207

第一夜   207

第二夜   209

第三夜   211

从密码到token,一个有关授权的故事   215

我把密码献给你   215

token   216

授权码 token   218

后记   220

后端风云   220

数据库老头儿   220

危机   221

党委扩大会议   221

分家   223

Redis   224

余数算法   227

一致性Hash算法   229

Hash槽 (Hash Slot)   233

故障转移   235

高可用的Nginx   237

高可用的Tomcat   238

数据库的读写分离   240

我是一个函数   243

从SOA到微服务   246

什么是框架   249

HTTP Server:一个差生的逆袭   252

HTTP Server 1.0   252

HTTP Server 2.0:多进程   253

HTTP Server 3.0:select模型   254

HTTP Server 4.0:epoll模型   255

第4章   代码管理那些事儿   258

版本管理简史   258

“人肉”版本管理   258

锁定文件:避免互相覆盖   259

允许冲突:退一步海阔天空   260

分支:多版本并行   261

分布式管理:给程序员放权   262

程序员也爱社交   264

Build的演进之路   265

手工Build的烦恼   265

自动化Build   267

Java 与 XML   268

消除重复   270

烂代码传奇   275

敏捷下的单测试   277

敏捷运动   277

困惑   278

讨论   279

一年以后   280

再见!Bug   281

第5章   我的编程语言简史   284

JavaScript :一个草根的逆袭   284

出世   284

成长   286

第一桶金   288

发明JSON   289

人生巅峰   291

Node.js:我只需要一个店小二   292

C老头儿和Java小子的硬盘夜话   295

编程语言的“爱恨情仇”   300

让人怀疑的C 语言   300

被忘却的 VB & Visual FoxPro   301

蹂躏我的C    302

赖以谋生的Java    303

优雅的Ruby    304

命令式编程 VS 声明式编程   306

一则小故事   306

命令式编程   306

声明式编程   307

第6章   的精进   309

凡事必先骑上虎背,和性格内向的程序员聊几句   309

码农需要知道的“潜规则”   311

的规矩:局部性原理   311

坐飞机的怎么和坐驴车的打交道:缓存   311

抛弃细节:抽象   312

我只想和邻居打交道:分层   312

我怕等不及:异步调用   313

大事化小,小事化了:分而治之   314

15年编程生涯,一名架构师的总结   314

好奇心   315

养成计算机的思维方式   315

扎实基础,融会贯通   317

要透彻地理解一门技术的本质   317

能写漂亮的代码   318

抽象的能力   319

技术领导力   319

对自己狠一点,开始写作吧   320

学习编程的四兄弟   322

摇摆不定的老大   322

“小仓鼠”老二   322

不看书的老三   323

半途而废的老四   323

显示部分信息

前 言

从来没想到自己也能出一本书。 

作为一名工作了十五年的老程序员,我深知编程行业的不容易,不仅需要应对高强度的工作,还需要学习大量的技术知识,而且不像医生、律师这些知识相对稳定的行业越老越吃香,软件行业的技术每隔一段时间就会更新换代,让你清零,逼着你从头再来。所谓“活到老,学到老”,用到程序员身上再合适不过了。

在不断学习的过程中,我“痛恨”那些采用bottom-up方式来讲解技术的资料和文章,一上来就是技术细节、安装步骤、配置方法,让初学者晕头转向、不知所云,看完了以后也不知道为什么有这个东西、解决了什么问题、它有什么来龙去脉。换句话说,这些资料和文章习惯于讲解How,而不是Why。但是在我看来,Why有时候比How更重要。

有时候在公司听技术讲座,看到上面的人眉飞色舞,下面的人却一脸茫然,我总在想:为什么不举一些生动有趣的例子呢?如果是我在讲,那我怎么才能通俗易懂地把这个知识点讲解出来呢?我该怎么去类比呢?我该从哪个角度切入呢?

这种潜移默化的思考多了以后,我发现自己也慢慢地养成了用通俗易懂的方式讲解技术的习惯。

我工作了这么多年,踩了这么多坑,能不能把这些经验写下来,让后来者少走一些弯路呢?

显示全部信息

媒体评论

很高兴看到刘欣的处女作,这本书主要讲的是基础知识。这是他在阅读了大量书籍再加上自己长期实战后的提炼总结。很惊喜地发现刘欣的文笔相当好,晦涩的知识被融入一个个故事中深入浅出地讲出来,读下来居然一点也不累。

希望刘欣的书能够帮助更多的程序员,尤其是新入职场的程序员,夯实基础知识,喜欢上基础知识,逐渐成长为公司里的明星员工。

——常红片IBM软件商务系统全球负责人

 

本书引经据典、幽默风趣,举重若轻地把深奥的道理讲出来、讲明白、讲透彻,言之有物,深入浅出,是还在学海中苦苦挣扎的程序员的。

——孤尽,阿里巴巴代码中心负责人

热门设计服务