您好,欢迎光临有路网!
码农翻身(好玩有趣的编程知识)
QQ咨询:
有路璐璐:

码农翻身(好玩有趣的编程知识)

  • 作者:刘欣
  • 出版社:电子工业出版社
  • ISBN:9787121341175
  • 出版日期:2018年05月01日
  • 页数:324
  • 定价:¥69.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787121341175
    • 作者
    • 页数
      324
    • 出版时间
      2018年05月01日
    • 定价
      ¥69.00
    • 所属分类
    文章节选
    第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第1章 计算机的世界你不懂 1<br />1.1 我是一个线程 1<br />初生牛犊 1<br />渐入佳境 4<br />虎口脱险 5<br />江湖再见 8<br />1.2 TCP/IP之大明内阁 9<br />1.3 TCP/IP之大明邮差 12<br />1.4 CPU阿甘 17<br />启动 17<br />运行 18<br />新装备:缓存 19<br />自我提升:流水线 20<br />1.5 我是一个进程 21<br />批处理系统 22<br />多道程序 22<br />地址重定位 24<br />分时系统 26<br />分块装入内存 27<br />虚拟内存:分页 28<br />分段 分页 30<br />程序的装载 31<br />线程 35<br />1.6 我是一块硬盘 36<br />内部结构 37<br />文件 38<br />文件的存放 39<br />管理空闲块 44<br />文件系统 45<br />1.7 我是一个键盘 46<br />二等公民 46<br />总线和端口 47<br />轮询(程序式I/O) 48<br />中断 49<br />DMA 50<br />1.8 数据库的奇妙之旅 51<br />无纸化办公 51<br />数据的冗余和不一致 52<br />李氏查询 52<br />并发访问 54<br />原子性问题 56<br />** 58<br />1.9 搞清楚Socket 59<br />1.10 从1加到100:一道简单的数学题挑战一下你的大脑 64<br />CPU和内存 64<br />从1加到100 65<br />热身 65<br />正式出发 65<br />1.11 一个翻译家族的发家史 68<br />机器语言 68<br />汇编语言 69<br />**语言 70<br />1.12 编程世界的那把锁 74<br />共享变量惹的祸 74<br />争抢吧,线程 75<br />改进 76<br />信号量 77<br />1.13 绕不开的加法器 81<br />1.14 递归那点事儿 85<br /><br />第2章 Java帝国 91<br />2.1 Java:一个帝国的诞生 91<br />C语言帝国的统治 91<br />反抗 92<br />一鸣惊人 93<br />开拓疆土 93<br />帝国的诞生 94<br />2.2 我是一个Java Class 96<br />陌生警察 96<br />刺探信息 97<br />初识虚拟机 98<br />快乐假期 102<br />真相大白 103<br />2.3 持久化:Java帝国反击战 104<br />断电的威胁 104<br />数据库联合酋长国 105<br />表面风光的EJB 106<br />轻量级O/R Mapping框架 106<br />帝国的反击 107<br />2.4 JDBC的诞生 108<br />谈判 108<br />统一接口 110<br />面向接口编程 111<br />简单工厂 112<br />数据驱动 114<br />工厂方法 115<br />2.5 Java帝国之宫廷内斗 119<br />JDBC大臣 119<br />密谋 120<br />两阶段提交 121<br />JTA 123<br />塞翁失马,焉知非福 124<br />基本可用 125<br />走漏风声 127<br />宫廷激辩 128<br />2.6 JSP:一个装配工的没落 131<br />黑暗岁月 131<br />服务器端动态页面 132<br />标签库 134<br />模板引擎 134<br />草根搅局 135<br />2.7 Java 帝国之消息队列 137<br />张家村的历史 137<br />拆分 138<br />新问题 139<br />消息队列 139<br />互不兼容的MQ 140<br />消息队列接口设计 141<br />配置和代码的分离 143<br />再次抽象 144<br />2.8 Java帝国之动态代理 147<br />深夜奏对 147<br />明察暗访 149<br />Java 动态代理 150<br />2.9 Java注解是怎么成功上位的 153<br />XML大臣 153<br />安翰林献计 154<br />早朝争斗 157<br />2.10 Java帝国之泛型 159<br />新王登基 159<br />C 使者 159<br />泛型实现 162<br />泛型方法 163<br />泛型和继承 164<br />2.11 一个**的日志系统是怎么设计出来的 166<br />前言 166<br />张家村 167<br />小张的设计 167<br />正交性 170<br />Log4j 171<br />尾声 171<br />2.12 序列化:一个老家伙的咸鱼翻身 172<br />寒冬的蛰伏 172<br />XML和JSON的挑战 173<br />新协议的崛起 175<br />2.13 加锁还是不加锁,这是一个问题 176<br />互斥锁 176<br />要不要加锁 177<br />CAS的扩展 179<br />2.14 Spring 的本质 182<br />问题来源 183<br />设计模式:模板方法 184<br />设计模式:装饰者 186<br />AOP 187<br />实现AOP 188<br />对象的创建 189<br />IoC与DI 191<br /><br />第3章 浪潮之巅的Web 192<br />3.1 Web的起源 192<br />3.2 两个程序的爱情故事 195<br />好感 195<br />分离 196<br />网络 197<br />Web 198<br />3.3 一个故事讲完HTTPS 199<br />总有一种被偷窥的感觉 199<br />RSA:非对称加密 200<br />非对称加密 对称加密 202<br />中间人劫持 202<br />你到底是谁 203<br />HTTPS 206<br />3.4 机房夜话 207<br />**夜 207<br />第二夜 209<br />第三夜 211<br />3.5 从密码到token,一个有关授权的故事 215<br />我把密码献给你 215<br />token 216<br />授权码 token 218<br />后记 220<br />3.6 后端风云 220<br />数据库老头儿 220<br />危机 221<br />党委扩大会议 221<br />分家 223<br />Redis 224<br />余数算法 227<br />一致性Hash算法 229<br />Hash槽 (Hash Slot) 233<br />故障转移 235<br />高可用的Nginx 237<br />高可用的Tomcat 238<br />数据库的读写分离 240<br />3.7 我是一个函数 243<br />3.8 从SOA到微服务 246<br />3.9 什么是框架 249<br />3.10 HTTP Server:一个差生的逆袭 252<br />HTTP Server 1.0 252<br />HTTP Server 2.0:多进程 253<br />HTTP Server 3.0:select模型 254<br />HTTP Server 4.0:epoll模型 255<br /><br />第4章 代码管理那些事儿 258<br />4.1 版本管理简史 258<br />“人肉” 版本管理 258<br />锁定文件:避免互相覆盖 259<br />允许冲突:退一步海阔天空 260<br />分支:多版本并行 261<br />分布式管理:给程序员放权 262<br />程序员也爱社交 264<br />4.2 Build的演进之路 265<br />手工Build的烦恼 265<br />自动化Build 267<br />Java 与 XML 268<br />消除重复 270<br />4.3 烂代码传奇 275<br />4.4 敏捷下的单元测试 277<br />敏捷运动 277<br />困惑 278<br />讨论 279<br />一年以后 280<br />4.5 再见!Bug 281<br /><br />第5章 我的编程语言简史 284<br />5.1 JavaScript :一个草根的逆袭 284<br />出世 284<br />成长 286<br />**桶金 288<br />发明JSON 289<br />人生** 291<br />5.2 Node.js:我只需要一个店小二 292<br />5.3 C老头儿和Java小子的硬盘夜话 295<br />5.4 编程语言的“爱恨情仇” 300<br />让人怀疑的C 语言 300<br />被忘却的 VB & Visual FoxPro 301<br />蹂躏我的C 302<br />赖以谋生的Java 303<br />优雅的Ruby 304<br />5.5 命令式编程 VS 声明式编程 306<br />一则小故事 306<br />命令式编程 306<br />声明式编程 307<br /><br />第6章 老司机的精进 309<br />6.1 凡事必先骑上虎背,和性格内向的程序员聊几句 309<br />6.2 码农需要知道的“潜规则” 311<br />上帝的规矩:局部性原理 311<br />坐飞机的怎么和坐驴车的打交道:缓存 311<br />抛弃细节:抽象 312<br />我只想和邻居打交道:分层 312<br />我怕等不及:异步调用 313<br />大事化小,小事化了:分而治之 314<br />6.3 15年编程生涯,一名架构师的总结 314<br />好奇心 315<br />养成计算机的思维方式 315<br />扎实基础,融会贯通 317<br />要透彻地理解一门技术的本质 317<br />能写漂亮的代码 318<br />抽象的能力 319<br />技术领导力 319<br />6.4 对自己狠一点,开始写作吧 320<br />6.5 学习编程的四兄弟 322<br />摇摆不定的老大 322<br />“小仓鼠”老二 322<br />不看书的老三 323<br />半途而废的老四 323显示全部信息前 言从来没想到自己也能出一本书。
    作为一名工作了十五年的老程序员,我深知编程行业的不容易,不仅需要应对高强度的工作,还需要学习大量的技术知识,而且不像医生、律师这些知识相对稳定的行业越老越吃香,软件行业的技术每隔一段时间就会更新换代,让你清零,逼着你从头再来。所谓“活到老,学到老”,用到程序员身上再合适不过了。
    在不断学习的过程中,我“痛恨”那些采用bottom-up方式来讲解技术的资料和文章,一上来就是技术细节、安装步骤、配置方法,让初学者晕头转向、不知所云,看完了以后也不知道为什么有这个东西、解决了什么问题、它有什么来龙去脉。换句话说,这些资料和文章习惯于讲解How,而不是Why。但是在我看来,Why有时候比How更重要。
    有时候在公司听技术讲座,看到上面的人眉飞色舞,下面的人却一脸茫然,我总在想:为什么不举一些生动有趣的例子呢?如果是我在讲,那我怎么才能通俗易懂地把这个知识点讲解出来呢?我该怎么去类比呢?我该从哪个角度切入呢?
    这种潜移默化的思考多了以后,我发现自己也慢慢地养成了用通俗易懂的方式讲解技术的习惯。
    我工作了这么多年,踩了这么多坑,能不能把这些经验写下来,让后来者少走一些弯路呢?从来没想到自己也能出一本书。 <br />作为一名工作了十五年的老程序员,我深知编程行业的不容易,不仅需要应对高强度的工作,还需要学习大量的技术知识,而且不像医生、律师这些知识相对稳定的行业越老越吃香,软件行业的技术每隔一段时间就会更新换代,让你清零,逼着你从头再来。所谓“活到老,学到老”,用到程序员身上再合适不过了。<br />在不断学习的过程中,我“痛恨”那些采用bottom-up方式来讲解技术的资料和文章,一上来就是技术细节、安装步骤、配置方法,让初学者晕头转向、不知所云,看完了以后也不知道为什么有这个东西、解决了什么问题、它有什么来龙去脉。换句话说,这些资料和文章习惯于讲解How,而不是Why。但是在我看来,Why有时候比How更重要。<br />有时候在公司听技术讲座,看到上面的人眉飞色舞,下面的人却一脸茫然,我总在想:为什么不举一些生动有趣的例子呢?如果是我在讲,那我怎么才能通俗易懂地把这个知识点讲解出来呢?我该怎么去类比呢?我该从哪个角度切入呢?<br />这种潜移默化的思考多了以后,我发现自己也慢慢地养成了用通俗易懂的方式讲解技术的习惯。<br />我工作了这么多年,踩了这么多坑,能不能把这些经验写下来,让后来者少走一些弯路呢?<br />2015年年底,我开设了一个微信公众号“码农翻身”,试图总结我的经验,通俗易懂地讲解技术。刚开始不温不火,直到有**,我无意中写了一篇文章“我是一个线程”,被广泛转载传播,就发现大家还是喜欢看故事的,在故事中轻松自在地掌握技术,于是就沿着这条路走了下去:用故事讲解技术的本质。<br />这条路一走就是两年多,慢慢地竟积累了几百篇文章,这本书正是从这几百篇文章中提取出来的精华,当然也经过了细心的整理、补充和完善。<br />每当我搞清楚一个知识点的时候,就会发出这样的感慨:技术本来是很简单的,只是上面笼罩着层层迷雾,让初学者难以看清。如果这本书能够帮助你搞清楚一些技术的本质,那我就会深感欣慰。<br /><br />本书特色<br />本书讲了很多故事,如“我是一个线程”“CPU阿甘”“Java:一个帝国的诞生”“Java帝国之宫廷内斗”“JavaScript:一个草根的逆袭”“两个程序的爱情故事”……我努力把技术融入其中,希望读者在读故事的过程中轻松地掌握相关技术。<br />读书本来就应该是一件轻松愉快的事情,不是吗?<br />此外,书中的每篇文章都是独立的,不用你正襟危坐,从头到尾去读,完全可以挑选自己感兴趣的章节。例如,对于半路出家的初学者来说,想了解计算机基础,可以去看看第1章;想了解Web技术,可以去第3章逛一下。<br />所谓“开卷有益”,希望你随手翻翻就能够掌握一点技术知识。<br /><br />读者对象<br />这不是一本编程的入门书,对编程一窍不通的“纯小白”可能看不明白,可能会失望。<br />根据微信公众号读者的反馈,稍有编程基础的读者读起来会非常畅快,读后会有一种“原来如此”的感觉。比如,学过Java SE的读者去读“Java帝国”一章,就会明白很多Java技术的来龙去脉,觉得很过瘾。<br />这也不是一本参考书,它的目的不是希望读者看完以后照搬,而是帮助读者理解一些技术的本质。<br /><br />勘误和支持<br />由于作者的水平有限,书中难免会出现一些错误或者不准确的地方,恳请广大读者批评指正。<br />我在微信公众号“码农翻身”中特意添加了一个新的菜单入口,专门用于展示书中的Bug。<br />如果读者在阅读过程中产生了疑问或者发现了Bug,欢迎到微信公众号后台留言,我会一一回复。 <br /><br />致谢<br />感谢微信公众号“码农翻身”的读者,你们的鼓励是我前进的*大动力。很多人直接加了我的微信号或者QQ号,只是为了表示感谢,让我非常感动。<br />很多读者鼓励我出书,也在不断询问我到底什么时候出书。这让我诚惶诚恐,生怕辜负了读者的这份厚爱。这本书终于出版了,希望大家能够喜欢。<br />感谢成都道然科技有限责任公司的姚新军老师,他给出了很多非常专业的意见和建议,是非常可靠的合作伙伴。感谢刘丹、励晓晓、张雅文等设计师在插图和封面设计方面的创意表达。<br />感谢对本书进行审稿的西安邮电大学陈莉君教授。感谢“软件那些事儿”电台主播刘延栋提出的宝贵意见。感谢百忙之中阅读书稿并且写书评的专家,他们是:IBM 软件商务系统全球负责人常红平、 阿里巴巴代码**负责人孤尽、IBM中国开发**开发经理白海飞、京东Y事业部供应链及技术总监胡浩、Agilean 咨询顾问金易等。<br /><br />特别致谢<br />特别感谢我的父母!我从小在农村长大,图书资源极为匮乏,他们在我很小的时候就让我看书,**我进入阅读之门。我至今仍清楚地记得父亲下班后从城里买的一本期刊,也是我的**本书:《故事大王》。从那以后,我就爱上了阅读。如果说我现在有一点点文采,那和父母鼓励我从小多读书是分不开的。<br />特别感谢我的爱人,在写作本书的过程中,陪伴、照顾孩子及家务琐事都被她承包了,让我可以心无二用、专心致志地写作。她也是本书的**位读者和审稿人,纠正了文章中大量“我习以为常的”文字错误。<br />她读完以后做出了非常精辟的总结:软件开发不就是抽象嘛!让我大为吃惊。<br />特别感谢我六岁的女儿,每当我晚上写作劳累,没有什么思路的时候,她都会及时地跑过来,不容分说地坐到我的腿上,盯着电脑上的书稿,问道:<br />“爸爸,你在干吗?”<br />“我在写书啊。”<br />“你的书会有很多人看吗?”<br />“是的。”<br />“那你会出名吗?”<br />“……”<br />谨以此书献给我的家人、读者,以及热爱编程的朋友!<br />刘欣(@码农翻身)显示全部信息媒体评论业内人士心声: 很高兴看到刘欣的*本书,这本书主要讲的是基础知识。这是他在阅读了大量书籍再加上自己长期实战后的提炼总结。很惊喜地发现刘欣的文笔相当好,晦涩的知识被融入一个个故事中深入浅出地讲出来,读下来居然一点也不累。 希望刘欣的书能够帮助更多的程序员,尤其是新入职场的程序员,夯实基础知识,喜欢上基础知识,逐渐成长为公司里的明星员工。 ——常红平,IBM软件商务系统全球负责人 本书引经据典、幽默风趣,举重若轻地把深奥的道理讲出来、讲明白、讲透彻,言之有物,深入浅出,是还在学海中苦苦挣扎的程序员的福音。 ——孤尽,阿里巴巴代码**负责人 常读的书大概有两种:一种讲故事,另一种传知识。前者愉悦身心,后者保养头脑。这本书是融合。作者把计算机元素和行为用拟人手法编成一个个精彩纷呈的故事,绘声绘色且深入浅出地演绎晦涩枯燥的编程知识。不必说编程初学者可以津津有味地学习,连老手也能饶有兴致地查漏补缺。力荐! ——白海飞,IBM中国开发**开发经理 **的技术人员应该具有广阔的技术视野,同时拥有贯通的技术深度;不仅知道技术是什么,而且还懂得为什么是这样的;总是不断地抽象分离技术的本质与不变,持续地总结建立技术的体系和结构,唯此才能应对这个时代的技术焦虑——日新月异的技术更迭。读这本书就是学习这样一位**的架构师是如何思考、如何抽象、如何成长的,从操作系统、Java语言到Web技术,每个主题都深入浅出。力荐! ——胡浩,*Y事业部供应链及技术总监 我还没有问过刘欣,码农“翻身”后面是省略了“做主人”吗?刘欣凭着对计算机和软件无比的挚爱,用三年的微信公众号文章积淀出这本书,他是我*佩服的、*接地气的计算机专家和导师。书中用故事的形式写计算机原理和编程,更是用*人称、拟人化手法写了线程、进程……没有*的真爱和深刻的理解,何以生动地描绘出操作系统老大和CPU阿甘之间的故事?我建议中学和大学引入这本书作为教辅材料,让学生在玩中学,喜欢上这些故事,喜欢上码农这个职业。 ——金毅,Agilean咨询顾问 故事读者感言: 很认真的看完每一章,就像看故事似的,特别有趣,而且故事还有丰富的知识,并包含一些形象化的理解,让我受益非浅。非常喜欢,就想问一句,啥时候出门啊? ——等风来 故事讲得生动,太有意思了!作为一名专业的IT招聘,实在是受益匪浅~ ——AmberzNn 写得很贴近生活,通俗易懂,以讲故事的方式讲述我在课堂上觉得枯燥无味的计算机知识,如果你去当老师,肯定很多学生愿意听! ——方剑秋 文章写得太好了,对于我们这种小白来说,一开始就能接触到这么好的文章简直是太幸运了。 ——会飞的鱼

    免费在线读
    目录
    第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
    编辑推荐语
    把计算机元素和行为用拟人手法编成一个个精彩纷呈的故事,绘声绘色且深入浅出地演绎晦涩枯燥的编程知识。 编程初学者可以津津有味地学习,老手也能饶有兴致地查漏补缺。 从前端到后端,从原理到编程,脉络清晰,体系完整。 

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外