码农翻身

码农翻身:用故事给技术加点料

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

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

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

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

内容简介

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

《码农翻身》分为6章。

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

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

第3章偏重Web后端编程;

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

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

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

《码农翻身》不是一本编程的入门书,对编程一窍不通的“纯小白”可能看不明白,可能会失望。但稍有编程基础的读者读起来会非常畅快,读后会有一种“原来如此”的感觉。

作者简介

刘欣(@码农翻身):

15年的软件行业从业经验,前IBM系统架构师,擅长企业应用架构和设计,领导过多个企业级应用架构设计和开发工作。

章节目录

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

1.1我是一个线程 1

初生牛犊 1

渐入佳境 4

虎口脱险 5

江湖再见 8

1.2TCP/IP之大明内阁 9

1.3TCP/IP之大明邮差 12

1.4CPU阿甘 17

启动 17

运行 18

新装备:缓存 19

自我提升:流水线 20

1.5我是一个进程 21

批处理系统 22

多道程序 22

地址重定位 24

分时系统 26

分块装入内存 27

虚拟内存:分页 28

分段 分页 30

程序的装载 31

线程 35

1.6我是一块硬盘 36

内部结构 37

文件 38

文件的存放 39

管理空闲块 44

文件系统 45

1.7我是一个键盘 46

二等公民 46

总线和端口 47

轮询(程序式I/O) 48

中断 49

DMA 50

1.8数据库的奇妙之旅 51

无纸化办公 51

数据的冗余和不一致 52

李氏查询 52

并发访问 54

原子性问题 56

安全 58

1.9搞清楚Socket 59

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

CPU和内存 64

从1加到100 65

热身 65

正式出发 65

1.11一个翻译家族的发家史 68

机器语言 68

汇编语言 69

高级语言 70

1.12编程世界的那把锁 74

共享变量惹的祸 74

争抢吧,线程 75

改进 76

信号量 77

1.13绕不开的加法器 81

1.14递归那点事儿 85

第2章 Java帝国 91

2.1Java:一个帝国的诞生 91

C语言帝国的统治 91

反抗 92

一鸣惊人 93

开拓疆土 93

帝国的诞生 94

2.2我是一个Java Class 96

陌生警察 96

刺探信息 97

初识虚拟机 98

快乐假期 102

真相大白 103

2.3持久化:Java帝国反击战 104

断电的威胁 104

数据库联合酋长国 105

表面风光的EJB 106

轻量级O/R Mapping框架 106

帝国的反击 107

2.4JDBC的诞生 108

谈判 108

统一接口 110

面向接口编程 111

简单工厂 112

数据驱动 114

工厂方法 115

2.5Java帝国之宫廷内斗 119

JDBC大臣 119

密谋 120

两阶段提交 121

JTA 123

塞翁失马,焉知非福 124

基本可用 125

走漏风声 127

宫廷激辩 128

2.6JSP:一个装配工的没落 131

黑暗岁月 131

服务器端动态页面 132

标签库 134

模板引擎 134

草根搅局 135

2.7Java 帝国之消息队列 137

张家村的历史 137

拆分 138

新问题 139

消息队列 139

互不兼容的MQ 140

消息队列接口设计 141

配置和代码的分离 143

再次抽象 144

2.8Java帝国之动态代理 147

深夜奏对 147

明察暗访 149

Java 动态代理 150

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

XML大臣 153

安翰林献计 154

早朝争斗 157

2.10Java帝国之泛型 159

新王登基 159

C 使者 159

泛型实现 162

泛型方法 163

泛型和继承 164

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

前言 166

张家村 167

小张的设计 167

正交性 170

Log4j 171

尾声 171

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

寒冬的蛰伏 172

XML和JSON的挑战 173

新协议的崛起 175

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

互斥锁 176

要不要加锁 177

CAS的扩展 179

2.14Spring 的本质 182

问题来源 183

设计模式:模板方法 184

设计模式:装饰者 186

AOP 187

实现AOP 188

对象的创建 189

IoC与DI 191

第3章 浪潮之巅的Web 192

3.1Web的起源 192

3.2两个程序的爱情故事 195

好感 195

分离 196

网络 197

Web 198

3.3一个故事讲完HTTPS 199

总有一种被偷窥的感觉 199

RSA:非对称加密 200

非对称加密 对称加密 202

中间人劫持 202

你到底是谁 203

HTTPS206

3.4机房夜话 207

第一夜 207

第二夜 209

第三夜 211

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

我把密码献给你 215

token 216

授权码 token 218

后记 220

3.6后端风云 220

数据库老头儿 220

危机 221

党委扩大会议 221

分家 223

Redis 224

余数算法 227

一致性Hash算法 229

Hash槽 (Hash Slot) 233

故障转移 235

高可用的Nginx 237

高可用的Tomcat 238

数据库的读写分离 240

3.7我是一个函数 243

3.8从SOA到微服务 246

3.9什么是框架 249

3.10HTTP 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

4.1版本管理简史 258

“人肉” 版本管理 258

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

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

分支:多版本并行 261

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

程序员也爱社交 264

4.2Build的演进之路 265

手工Build的烦恼 265

自动化Build 267

Java 与 XML 268

消除重复 270

4.3烂代码传奇 275

4.4敏捷下的单元测试 277

敏捷运动 277

困惑 278

讨论 279

一年以后 280

4.5再见!Bug 281

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

5.1JavaScript :一个草根的逆袭 284

出世 284

成长 286

第一桶金 288

发明JSON 289

人生巅峰 291

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

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

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

让人怀疑的C 语言 300

被忘却的 VB & Visual FoxPro 301

蹂躏我的C302

赖以谋生的Java303

优雅的Ruby304

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

一则小故事 306

命令式编程 306

声明式编程 307

第6章 老司机的精进 309

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

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

上帝的规矩:局部性原理 311

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

抛弃细节:抽象 312

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

我怕等不及:异步调用 313

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

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

好奇心 315

养成计算机的思维方式 315

扎实基础,融会贯通 317

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

能写漂亮的代码 318

抽象的能力 319

技术领导力 319

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

6.5学习编程的四兄弟 322

摇摆不定的老大 322

“小仓鼠”老二 322

不看书的老三 323

半途而废的老四 323

码农翻身是2018年由电子工业出版社出版,作者刘欣。

得书感谢您对《码农翻身》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
计算机网络技术(第4版) 电子书
12章详解计算机网络、技术、安全与应用
嵌入式应用程序设计综合教程(微课版) 电子书
嵌入式应用设计实例解析:涵盖Linux开发环境、进程控制、多线程编程等核心概念。
SRv6网络编程:开启IP网络新时代 电子书
本书以IP网络发展过程中面临的挑战为切入点,详细介绍了SRv6技术的产生背景、设计思路与实现过程,以及SRv6在传统业务与新兴业务中的应用。以IP技术的发展历史开篇,重点阐述了MPLS和IPv6在网络发展过程中遇到的问题,帮助读者了解SRv6技术带来的变革以及承载的历史使命。详细阐述了SRv6网络编程的原理,包括SRv6的报文头设计与报文转发过程、IGP/BGP/PCEP等针对SRv6的协议扩展、
Arduino入门基础教程 电子书
“精通Arduino硬件平台:由浅入深,循序渐进。”
Python网络爬虫实例教程(视频讲解版) 电子书
本书主要内容包括:网络爬虫概述、requests库入门、xapth语法详解、认识和应对反爬虫、模拟登录和验证码的处理、动态页面的分析方法、scrapy框架基础、应对反爬虫策略、scrapy数据存储、提交数据和保持登录、crawlspider模板、图片下载和文件下载、分布式爬虫、增量式爬虫、