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

码农翻身:用故事给技术加点料 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
刘欣(@码农翻身) 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-12-26

类似图书 点击查看全场最低价

图书介绍

出版社: 电子工业出版社
ISBN:9787121341175
版次:1
商品编码:12364204
品牌:Broadview
包装:平装
开本:16开
出版时间:2018-06-01
用纸:胶版纸
页数:336
字数:476000


相关图书





图书描述

产品特色

编辑推荐

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

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

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


内容简介

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

《码农翻身》分为6章。

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

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

第3章偏重Web后端编程;

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

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

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

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

作者简介

刘欣(@码农翻身):

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

内页插图

精彩书评

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

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

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

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

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

常读的书大概有两种:一种讲故事,另一种传知识。前者愉悦身心,后者保养头脑。这本书是融合。作者把计算机元素和行为用拟人手法编成一个个精彩纷呈的故事,绘声绘色且深入浅出地演绎晦涩枯燥的编程知识。不必说编程初学者可以津津有味地学习,连老手也能饶有兴致地查漏补缺。力荐!

——白海飞,IBM中国开发中心开发经理

优秀的技术人员应该具有广阔的技术视野,同时拥有贯通的技术深度;不仅知道技术是什么,而且还懂得为什么是这样的;总是不断地抽象分离技术的本质与不变,持续地总结建立技术的体系和结构,唯此才能应对这个时代的技术焦虑——日新月异的技术更迭。读这本书就是学习这样一位优秀的架构师是如何思考、如何抽象、如何成长的,从操作系统、Java语言到Web技术,每个主题都深入浅出。力荐!

——胡浩,京东Y事业部供应链及技术总监

我还没有问过刘欣,码农“翻身”后面是省略了“做主人”吗?刘欣凭着对计算机和软件无比的挚爱,用三年的微信公众号文章积淀出这本书,他是我佩服的、接地气的计算机专家和导师。书中用故事的形式写计算机原理和编程,更是用一人称、拟人化手法写了线程、进程……没有绝对的真爱和深刻的理解,何以生动地描绘出操作系统老大和CPU阿甘之间的故事?我建议中学和大学引入这本书作为教辅材料,让学生在玩中学,喜欢上这些故事,喜欢上码农这个职业。

——金易,Agilean咨询顾问

目录

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

1.1 我是一个线程 1

初生牛犊 1

渐入佳境 4

虎口脱险 5

江湖再见 8

1.2 TCP/IP之大明内阁 9

1.3 TCP/IP之大明邮差 12

1.4 CPU阿甘 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.1 Java:一个帝国的诞生 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.4 JDBC的诞生 108

谈判 108

统一接口 110

面向接口编程 111

简单工厂 112

数据驱动 114

工厂方法 115

2.5 Java帝国之宫廷内斗 119

JDBC大臣 119

密谋 120

两阶段提交 121

JTA 123

塞翁失马,焉知非福 124

基本可用 125

走漏风声 127

宫廷激辩 128

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

黑暗岁月 131

服务器端动态页面 132

标签库 134

模板引擎 134

草根搅局 135

2.7 Java 帝国之消息队列 137

张家村的历史 137

拆分 138

新问题 139

消息队列 139

互不兼容的MQ 140

消息队列接口设计 141

配置和代码的分离 143

再次抽象 144

2.8 Java帝国之动态代理 147

深夜奏对 147

明察暗访 149

Java 动态代理 150

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

XML大臣 153

安翰林献计 154

早朝争斗 157

2.10 Java帝国之泛型 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.14 Spring 的本质 182

问题来源 183

设计模式:模板方法 184

设计模式:装饰者 186

AOP 187

实现AOP 188

对象的创建 189

IoC与DI 191


第3章 浪潮之巅的Web 192

3.1 Web的起源 192

3.2 两个程序的爱情故事 195

好感 195

分离 196

网络 197

Web 198

3.3 一个故事讲完HTTPS 199

总有一种被偷窥的感觉 199

RSA:非对称加密 200

非对称加密 对称加密 202

中间人劫持 202

你到底是谁 203

HTTPS 206

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.10 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

4.1 版本管理简史 258

“人肉” 版本管理 258

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

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

分支:多版本并行 261

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

程序员也爱社交 264

4.2 Build的演进之路 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.1 JavaScript :一个草根的逆袭 284

出世 284

成长 286

第一桶金 288

发明JSON 289

人生巅峰 291

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

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

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

让人怀疑的C 语言 300

被忘却的 VB & Visual FoxPro 301

蹂躏我的C 302

赖以谋生的Java 303

优雅的Ruby 304

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

一则小故事 306

命令式编程 306

声明式编程 307


第6章 老司机的精进 309

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

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

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

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

抛弃细节:抽象 312

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

我怕等不及:异步调用 313

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

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

好奇心 315

养成计算机的思维方式 315

扎实基础,融会贯通 317

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

能写漂亮的代码 318

抽象的能力 319

技术领导力 319

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

6.5 学习编程的四兄弟 322

摇摆不定的老大 322

“小仓鼠”老二 322

不看书的老三 323

半途而废的老四 323

精彩书摘

我是一个线程
我是一个线程,一出生就被编了一个号——0x3704,然后被领到一间昏暗的屋子里,在这里,我发现了很多和我一模一样的同伴。
我身边的同伴0x6900待的时间比较长,他带着沧桑的口气对我说:“我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。”
我一脸懵懂:“包裹,什么包裹?”
“不要着急,马上你就会明白了,我们这里是不养闲人的。”
果然,没多久,屋子的门开了,一个凶神恶煞的家伙吼道:“0x3704,出来!”
我一出来就被塞了一只沉甸甸的包裹,上面还附带着一张写满了操作步骤的纸。
“快去,把这只包裹处理了。”
“去哪儿处理?”
“跟着指示走,先到就绪车间。”
果然,地上有指示箭头,我跟着它来到了一间明亮的大屋子,这里已经有不少线程了,大家都很紧张,好像时刻准备着往前冲。我刚一进来,就听见广播说:“0x3704,进入运行车间。”
我赶紧往前走,身后有很多人议论。
“他太幸运了,刚进入就绪状态就能运行。”
“是不是有关系?”
“不是,你看人家的优先级多高啊,唉!”
前面就是运行车间,这里简直是太美了,怪不得老线程总是唠叨:“要是能一直待在这里就好了。”
这里空间大,视野好,空气清新,鸟语花香,还有很多从来没见过的人,像服务员一样等着为我服务。他们也都有编号,更重要的是每个人还有一个标签,上面写着:硬盘、数据库、内存、网卡……我现在理解不了他们究竟是做什么的,看看操作步骤吧。
第一步:从包裹中取出参数。
打开包裹,里面有一个HttpRequest 对象,可以取到userName、 password 两个参数。
第二步:执行登录操作。
噢,原来是有人要登录啊。我把userName、password 交给数据库服务员,他拿着数据,慢腾腾地走了。他怎么走得这么慢?不过我是不是正好可以在车间里多待一会儿?反正也没法执行第三步。
就在这时,车间里的广播响了:“0x3704,我是CPU,记住你正在执行的步骤,然后马上带着包裹离开!”我慢腾腾地开始收拾。
“快点,别的线程马上就要进来了。”
离开这个车间,又来到一间大屋子,这里有很多线程在悠闲地喝茶、打牌。
“哥们儿,你们没事儿干了?”
“你是新来的吧,你不知道我在等数据库服务员给我数据啊!据说他们比我们慢好几十万倍,在这里好好歇着吧。”
“啊?这么慢!我这里有人在登录系统,能等这么长时间吗?”
“放心,你没听说过‘人间一天,CPU 一年’吗?我们这里是用纳秒、毫秒计时的,人间等待1 秒,相当于我们的好几天呢,来得及。”干脆睡一会儿吧。不知道过了多久,大喇叭又开始广播了:“0x3704,你的数据来了,快去执行!”
我转身就往CPU 车间跑,却发现这里的门只出不进!
后面传来阵阵哄笑声:“果然是新人,不知道还得去就绪车间等。”
于是我赶紧到就绪车间,这次没有那么幸运了,等了好久才被再次叫进CPU 车间。
在等待的时候,我听见有人小声议论:“听说了吗,最近有一个线程被Kill 掉了。”
“为啥啊?”
“这家伙赖在CPU 车间不走,把CPU 利用率一直搞成100%,后来就被Kill 掉了。”
“Kill 掉以后弄哪儿去了?”
“可能被当作垃圾回收了吧。”
我心里打了一个寒噤,赶紧接着处理,剩下的动作快多了,第二步登录成功。
第三步:构建登录成功后的主页。
这一步有点费时,因为有 码农翻身:用故事给技术加点料 下载 mobi epub pdf txt 电子书 格式


码农翻身:用故事给技术加点料 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

码农翻身:用故事给技术加点料 下载 mobi pdf epub txt 电子书 格式 2024

码农翻身:用故事给技术加点料 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

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

评分

蛮不错的,毕竟是一本值得学习的书呀

评分

买到随手翻了下,很不错,生动幽默的讲述让人不会犯迷糊

评分

很喜欢刘老师的这本书,生动有趣,会好好学习的。

评分

讲解清晰,数学推导和代码实践都很全面,很实用的一本书

评分

邯钢还好还好哈还好还好哈

评分

非常好,真的非常好,nice

评分

京东快递的速度让人很满意,书的内容很赞!支持!

评分

太棒了!太棒了!太棒了!太棒了!

类似图书 点击查看全场最低价

码农翻身:用故事给技术加点料 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.teaonline.club All Rights Reserved. 图书大百科 版权所有