“每天学习一点点算法”,相信很多被算法“折磨”过的人都曾立下这样的Flag,并向算法发出一轮又一轮的进攻。

这也是司徒正美老师博客园首页上的一句话。在那上面,他分享过上千篇技术文章和随笔,帮助过许多人学习。也因其高超的技术水平,他被圈内的很多人称为“前端大神”。

司徒正美老师博客园截图

再次打开司徒正美老师的博客园网站,思绪万千。2020年3月31日,平静的下午,前端圈大神司徒正美老师去世的噩耗传来,我仍然记得当时办公室里编辑老师满脸焦急的错愕表情,微博上人们开始讨论起来,大家不相信这个消息是真的。

司徒正美(真名钟钦成),著名的 JavaScript 专家,曾在去哪儿网担任前端架构师,立志做考古学家的日语系工程师,穿梭于二次元与二进制间的“魔法师”,做过陶艺,写过小说,涉猎Java、Ruby、JavaScript,常年活跃在开源社区。

私下里,大家对他的印象是技术很厉害但不善言谈,不过只要他一说到技术,便可以滔滔不绝。他乐于分享,日语很好,喜欢动漫,喜欢二次元,是个喜欢思考的有意思的人。

工作的繁忙和生活的无限重复没有阻挡他坚持输出的脚步,早在2014年,他曾出版过前端框架类图书《JavaScript框架设计》,此书上市大受好评。

据他说,因当时在博客园输出了上百篇文章,于是三四个出版社编辑来找他出书,但他当时并没有答应。直到他确定自己能hold这个大标题,他才联系出版社答应写作。可以说,对待技术他一直都是严谨且热忱的。

由于有前端读者反馈了对算法学习的需求,希望他能写一本这类的书,于是我们的编辑老师联系了司徒正美老师,问他是否有兴趣写一本,他答应了,那一天是2018年7月16日,而这本《JavaScript算法:基本原理与代码实现》,也就是传说中的那本未完成的遗作。

三年前这本书的内容已经完成了大半。当初他用“龟速”来形容自己的写作进度,而写作的收益跟他个人的收入比起来,微乎其微,但是他却一直鞭策着自己去写一本大家都能用得上的书,他害怕自己被淘汰甚至每天都要刷 LeetCode 的算法题,我们一直被他的坚持鼓舞着。

为了让这本书能以更好的样子跟大家见面,这里特别要感谢本书的另一作者李晓晨老师,他反复讨论并确认书中内容,修改书中的代码,精益求精。并四处奔走为此书寻找推荐人和审校人,他好像一座桥梁连接起读者、作者和行业专家。

如今这本《JavaScript算法:基本原理与代码实现》在他和编辑的努力下,终于付梓出版了。

这本书是司徒正美老师写给前端开发者的算法指南,他认为前端知识广阔而繁杂,虽然要懂的东西很多但总是有你掌握不到的地方。前端面试时,算法问题经常出现,也是决定 Offer 能不能顺利拿到的关键。

正如他在前言里写到的:“我已经浪费这么多钱了,踩了这么多“坑”,也做过不少 LeetCode 的题目,所以决定把这些笔记编纂成书,让大家少走些弯路。每周翻看两三页,面试时你就不用心慌。

本书一共分为 15 章,书中没有令人望而生畏的数学公式与复杂度证明,而是详细地列出解题步骤,他将这些面试时遇到的算法题归纳成可以套用的模板,为了方便大家记忆,他还针对每种算法给出多种解,读者可以根据自己的需求选取其中一个。

附上本书目录,通过更易学习的章节设计,内容涵盖了常见的算法,由JavaScript语言实现。相信会对正处在算法烦恼中的你大有裨益。

本书作者介绍

这本书适合谁读?

圈内大咖推荐

本书是一本非常友好的算法书,适合前端工程师学习。书中讲解了许多常见的数据结构和算法,并使用 JavaScript 作为演示语言,讲解浅显易懂,对于算法的应用场景也解释得非常清楚。

——方超

快手研发总监

当下越来越多的企业会用算法题来面试前端工程师,本书是前端大神司徒正美撰写的面向前端工程师面试的算法书,也是他的最后一本书,如果你有需求,可以读一读。

——刘博文(玖五)

《深入浅出Vue.js》作者

阿里巴巴大淘宝前端技术专家

记得在2017年左右,司徒正美便开始勤于背单词和做算法,《JavaScript算法:基本原理与代码实现》大抵是他在渡过算法之海后悟得的秘籍。在这本书里,司徒正美通过浅显易懂的文字、清晰形象的图解以及完全使用JavaScript编写的代码实现,以前端工程师熟悉的上下文形式呈现了数十种常见算法的解答,能够帮助前端同学更好地掌握知识并足以应对来自工作或者面试里的算法挑战。

——乾元

《TypeScript入门实战笔记》作者

资深前端工程师

随着前端开发复杂度的提高,算法的重要性也逐渐凸显出来,然而大部分前端工程师不知道如何体系化地学习算法,本书使用JavaScript讲解了前端领域用到的算法和数据结构,可以帮助你突破算法的瓶颈,快速提升。

——花果山大圣

独立开发者&讲师


这本书作为司徒正美老师的遗作,我们很荣幸有机会能完成他的遗愿,将他对技术的思考,以及这些年来对算法的输出,集结成书。不管是李晓晨老师还是编辑老师,亦或是为这本书付出过努力的每一个人,他们都希望这本书能让更多跟司徒老师遇到相同问题的同路人看到,帮助他们解决遇到的问题。我想这也和司徒老师最开始想写这本书的初衷不谋而合。

时隔三年,再一次翻看知乎和微博,依旧可以看到一些与司徒正美老师有过交集的人,甚至还有一些是他素未谋面的朋友们,写下的对他缅怀的文字,他们把最好的司徒正美老师留在心里。引用电影《寻梦环游记》里的一句台词:“真正的死亡是世界上再没有一个人记得你。”而这个专注、热忱、乐于分享、喜欢二次元的司徒正美大神似乎从未离开过

希望这本集结他多年有关技术和算法思考的书,能够不断延续,帮助到更多有需要的人。

司徒正美写给前端开发者的算法书相关推荐

  1. 送!司徒正美写给前端开发者的算法书

    "每天学习一点点算法",相信很多被算法"折磨"过的人都曾立下这样的Flag,并向算法发出一轮又一轮的进攻. 这也是司徒正美老师博客园首页上的一句话.在那上面,他 ...

  2. 司徒正美写给前端开发者的算法书(文末抽奖送书)

    "每天学习一点点算法",相信很多被算法"折磨"过的人都曾立下这样的Flag,并向算法发出一轮又一轮的进攻. 这也是司徒正美老师博客园首页上的一句话.在那上面,他 ...

  3. 如何挑选适合的前端框架(去哪儿网前端架构师司徒正美)

    前端框架不断推新,众多IT企业都面临着"如何选择框架","是否需要再造轮子"的抉择.去哪儿网前端架构师司徒正美分析了各主流行框架优劣点.适用场景,并针对不同规模 ...

  4. 迷你MVVM框架 avalonjs 入门教程(司徒正美)

    迷你MVVM框架 avalonjs 入门教程 关于AvalonJs 开始的例子 扫描 视图模型 数据模型 绑定属性与动态模板 作用域绑定(ms-controller, ms-important) 模板 ...

  5. JAVASCRIPT 正则表达式学习--基础与零宽断言(转自司徒正美)

    元字符 ( [ { \ ^ $ | ) ? * + . 预定义的特殊字符 字符 正则 描述 \t /\t/ 制表符 \n /\n/ 制表符 \r /\r/ 回车符 \f /\f/ 换页符 \a /\a ...

  6. javascript 异步编程二(转载 from 司徒正美)

    好像有这么一句名言--"每一个优雅的接口,背后都有一个龌龊的实现".最明显的例子,jQuery.之所以弄得这么复杂,因为它本来就是那复杂.虽然有些实现相对简明些,那是它们的兼容程度 ...

  7. [译] 写给前端开发者的 GraphQL 指南

    原文地址:A Front End Developer's Guide to GraphQL 原文作者:PEGGY RAYZIS 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/g ...

  8. javascript 45种缓动效果BY司徒正美

    javascript 45种缓动效果 参数 类型 说明 el element 必需,为页面元素 begin number 必需,开始的位置 change number 必需,要移动的距离 durati ...

  9. 写给前端开发者的「Promise备忘手册」

    前言 大家好,我是HoMeTown,Promise想必大家都知道,在平时的开发工程中也经常会有用到,但是Promise作为ES6的重要特性,其实还拥有很多丰富的知识,本文面向比较初级一些的同学,可以帮 ...

最新文章

  1. ASP.NET MVC开发微信(四)
  2. [shell] 让你提升命令行效率的 Bash 快捷键 [完整版]
  3. 海康存储携手英特尔发布AI企业私有云
  4. 1090 Highest Price in Supply Chain (25)
  5. ZOJ3778 Talented Chef(贪心)
  6. WinXP/2000/2003下如何重装TCP/IP协议
  7. 剑指offer 数组中只出现一次的数字
  8. Autodesk如何炸开增加属性块
  9. C++课后作业 10.教材习题7_6:哺乳动物类Mammal派生出狗类Dog
  10. 小胖子学spring-aop
  11. 记使用腾讯TIM开发聊天通讯遇到的问题及解决方案
  12. 导出excel中文文件名乱码问题
  13. 【最小费用最大流】知识点讲解
  14. Git版本控制管理——远程版本库
  15. 基于RK3568商显版开源鸿蒙板卡产品解决方案
  16. RHCI 搭建 rhca 教室环境
  17. 知名电商购物车架构流程图
  18. 卡尔一键放技能--dota
  19. in_array()的那些坑
  20. visio2003无法找到加载项的解决办法

热门文章

  1. IT工作者如何避免工作中的焦虑
  2. 【C语言】字符串(main函数参数)
  3. 计算机怎么设置本地硬盘启动不了,调整第一启动项为本地引导硬盘解决 BOOTMGR is missing...
  4. Mina、Netty、Twisted一起学(一):实现简单的TCP服务器
  5. Intellij IDEA--格式化SQL文件的方法
  6. .netCore 反射 :Could not load file or assembly 系统找不到指定文件
  7. 怎样恢复微信删除的聊天记录
  8. 冶金行业MES系统解决方案
  9. 中国有色金属行业投资现状及未来发展前景预测报告2022-2028年
  10. 【计算机网络】第一章习题总结