1万小时后,我从外包走进了字节跳动,现在出了一本书,文末送书!

04d85ad3a79396871da7e346191d5b75.gif

谨以此书献给相信“努力有用”的你

by 大史不说话

d2d49648d76106400aa7f3db6cef7244.png

《 前端跨界开发指南:JavaScript工具库原理解析与实战》

75e50e379b70743a59d2ea2ac7a57806.gif

先做个自我介绍

3cf0dfd1a29819fb749f0e3b7fc52c37.gif

我是大史不说话,是一名前端工程师,一个相信“努力有用”的、不太聪明的、行动力还可以的程序员曾经因为一篇《10000小时后,我从外包走进了字节跳动》而出圈,被朋友们戏称为“万时大佬”😂。我2017年走进前端领域,2018年开始技术写作。

592dcf7659cee6aa1ab6cd04f283750c.gif

为什么写这本书

ec3ea22b5956248467d0880694bb8995.gif

19751e988880d87bb15e70fd5b812639.png

一半好奇心,一半强迫症

早在正式成为前端工程师之前,我就以个人开发者的身份利用框架和第三方服务实现过完整的产品交付,这样的经历带给我极大的成就感,以至于在刚成为前端工程师的时候,其他同学都致力于讨论框架、源码和前端工程化的时候,只有我像个孩子似的乐此不疲地到处搜罗“JavaScript工具库”,想知道前端除了开发页面以外还能做哪些有趣的事情,渐渐地我才知道,原来世界各地的前端工程师早就在尝试把JavaScript应用在跨平台开发、桌面应用开发、命令行工具、AR、VR、音视频、游戏开发、神经网络、物联网等等各种不同的领域,这时我才知道把“前端”等同于“页面工程师”这种观点真的是有些无知。

当周围的同事大多都在努力提升自己的“技术深度”时,我却秉持着“好读书,不求甚解”的精神在技术世界里玩得不亦乐乎,感觉这个也好神奇,那个也好有趣。我在自己的技术博客开了一个专栏——《一统江湖的大前端》(也就是本书的前身),希望在这里记录并分享自己在探索 JavaScript 的花花世界时的反思和收获,在那时的意识形态里,前端技术首先应该是带给我快乐的,其次才是谋生的手段。当连载写到第7篇的时候,被编辑老师发现了,于是才有了今天的这本书。

写书的另一半原因大概是轻度的强迫症吧,在学习的过程中免不了需要查资料,网上很多文章也都是抄来抄去的,你经常会发现那些比较简单的知识在很多文章里被翻来覆去地讲,但那些真正令自己困惑的细节却很难找到答案,同类的事情发生得多了,反而容易让人变得自我怀疑。很多文章里展示一些代码片段(现在可以直接接沙箱程序去运行,就方便多了),而当你尝试把这些代码粘贴下来去运行时,可能就会得到各种各样莫名其妙的报错,初学者往往很难搞清楚到底是博主提供的代码有问题,还是某个工程配置或是插件导致了错误,结果就变成了“道理都懂,就是Run不起来”的尴尬境地。这种“一知半解”的体验对我来说真的太难受了,于是给自己立了Flag,下定决心对常见的前端技术进行深入学习,并在后续的写作中都尽量提供完整可运行的示例代码。我一直相信,那些困扰自己的问题,绝不可能只困扰着我一个人。

8412a914fb7a361f8b9b2bc3f686f341.gif

看完本书能收获什么

c286c4bcf01c5968b285ec4f9e595388.gif

这是一本致力于拓展前端技术广度的书籍,我在书中挑选了30多个经典的JavaScript工具库,对它们进行了详细地解析,从基本的使用方式到设计原则,从原理源码到周边知识,希望为读者呈现出一个有深度、有广度的立体的JavaScript世界。全书分为6个大的部分,内容涵盖基础工具、图形学、多媒体、跨端开发、游戏开发、人工智能、物联网:

第一部分 基础篇(第1~10章)

笔者挑选了前端工程师日常开发中经常用到的工具,内容主要涉及编写Mock数据、服务端开发、静态代码检查、模块管理工具、实用工具库、函数式编程等内容,帮助初级前端工程师了解日常使用工具的原理和最佳实践,提升开发能力。

第二部分 图形学篇(第11~15章)

主要介绍前端如何实现流程图绘制、Canvas技术使用、数据可视化、SVG技术及3D渲染相关的知识及实战指南,帮助读者了解2D/3D渲染相关的知识,为进军元宇宙打好基础。

第三部分 多媒体篇(第16~20章)

主要介绍如何在网页中绘制PPT、做高性能动画、音频处理和视频处理相关的知识和应用,在短视频技术流行的当下,一线互联网公司中有很多前端工程师专门从事音视频相关领域的研发工作,本章的内容能够帮助你建立对这个细分领域的基本了解。

第四部分 跨端开发篇(第21~25章)

主要介绍如何使用JavaScript编写命令行工具、shell自动化脚本、跨端Hybrid应用、桌面应用,以及如何发送二进制消息或通过控制反转来实现代码解耦,这部分内容旨在帮助读者提升工程化能力和基本的跨端跨界开发能力。

第五部分 游戏开发篇(第26~28章)

主要介绍游戏开发相关的基本知识、开发技巧以及物理引擎相关的知识和实践,每一章都提供了完整的可运行代码和美术素材。

第六部分 跨界实践篇(第29~31章)

主要介绍如何使用JavaScript来实现人工神经网络,利用工具库实现了一个可以语音控制的“吃豆人”游戏,并讲解了如何使用JavaScript来进行物联网的开发。

希望你能够看到,前端技术不仅仅是一个需要持续优化打磨的生产工具,更是一个能够陪你一起探索技术世界的万花筒。

浏览器,并不是前端的边界。

ef7ea2848eb056195696e5c3296228ba.gif

大咖推荐0d3bd463403947f6fcfdaae010eebaa5.gif

十年时间里,前端工程师从所谓的“页面仔”发展为“大前端工程师”,前端技术也从满足“兼容IE和页面交互”的基本应用场景延伸为跨越多端且涵盖Server、iOS、Android、PC、AR、VR、图形学、WebAI、IoT等领域的综合技术。WebGPU、WebAssembly、WebWorker、Node等技术的兴起更为前端工程师带来了许多的可能性。我相信,随着Web3.0时代的到来,前端工程师会有更广阔的发展空间。本书详细讲解了前端跨界的优秀工具库,让你一步到位、直接上手体验开发流程,是一本不可多得的好书。

袁志佳 京程一灯CEO

这是一本详细解析前端工具库原理及实战技巧的图书,书中针对精选工具库的背景知识、设计理念、代码案例及特点进行了全方位的讲解,带你步入 JavaScript的神奇世界。多年之前,我也曾写下类似的大纲,打算出一套源码导读及实战的课程,但一直没有精力也缺乏毅力来做这件事。今天看到大史撰写了一系列精彩有趣的代码故事,十分钦佩他的执行力。书中内容由浅入深,与前端工程师的日常工作结合颇多,适合不同层次的读者。感谢大史为前端社区带来这样一本立意新颖的书,也帮我圆了多年前不曾实现的技术写作梦!

Scott 前端早早聊大会创始人

近年来前端技术发展迅速,前端生态非常繁荣,随之而来的则是日渐庞杂的知识体系。大部分前端开发人员并非科班出身,在进入前端领域并掌握主流开发技术后,常常会因为不知道如何进一步提升自己的技能和视野而感到困惑。这本《前端跨界开发指南:JavaScript工具库原理解析与实战》从优秀的JavaScript工具库入手,对其使用方式、设计原则、底层原理和周边知识等进行了详细的剖析,为读者展现了一个丰富多彩的JavaScript世界。如果你对前端的理解也仅限于“使用框架还原页面”,那么请不要错过本书,它会带你领略JavaScript的无限可能。

杜文(wendux) 前端技术专家、《Flutter实战》作者

看了这本“前端框架辞典”,很是感慨,要是2015年就有这样一本书,那我在开发公司的交易管理系统时,就不用在“哪个框架能实现某某功能”这类问题上花费大把时间了。而你是幸运的,有了这本书,你可以快速找到帮你解决问题的框架,大大提升工作效率。

安晓辉 《职业复盘》《大话程序员》等图书作者

fc6c0b1d159959bccfb8b381844bd7d4.gif

适读人群b7ae49b4bd32da7b743acb7ecb9bfd0d.gif

如果你是一名前端初学者

那么我真诚地向你推荐这本书,相信它能够有效地帮助你扩展技术视野,进一步提升技术能力;

如果你是一名资深前端人

希望你能把它推荐给其他需要的朋友,帮助他们在肉眼可见的就业低潮期厚积薄发,静待花开;

如果你不是前端工程师

这本书或许也适合你,因为只需要基本的JS知识,就可以快速了解前端技术的应用场景,做好跨界知识储备。

e2c8cbcc69afcf2e4d6a67833d69eb5d.jpeg

规则:在这篇文章下留言任意内容。

从本文留言中随机挑选一位包邮送书,另外在我的源码共读笔记群(写了笔记可进笔记群)。抽奖送出其他几本(福利倾斜)。

分别是提交过1+笔记和5+笔记的群。报名进群的人有超过5000+人。可以发现:写了笔记就超过几千人!!!可是就是没有人写。

21659dee4f85a414756c73e03eda2b85.png

0d5694d22896024686fabff94b43b106.png

没参加的可以加我微信 ruochuan12 参加。

开奖时间:8月8日(下周一)晚8点。

9f855516980fcf357d5f1833e28ab44e.gif

点击阅读全文购买

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视觉设计师跟平面设计_使设计具有视觉吸引力

视觉设计师跟平面设计Interaction Design is very gratifying.交互设计非常令人满意。 From fast critical thinking to extracting ideas in tangible forms within the team is sure fun and challenging.从快速的批判性思维到在团队内部以有形的形式提炼想法,无…

ExtJs4 笔记 Ext.tab.Panel 选项卡

本篇讲解选项卡控件。 一、基本选项卡 首先我们来定义一个基本的选项卡控件,其中每个Tab各有不同,Tab的正文内容可以有三种方式获取: 1.基本方式:通过定义html和items的方式。 2.读取其他html的信息:通过设置contentEl就可以获取其他html的信…

一直刷不动算法题,怀疑人生?试试五毒掌法!

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

还在用开发者工具上传小程序? 快来试试 miniprogram-ci 提效摸鱼

1. 前言大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含包含jQuery、underscore、lo…

超级玛丽马里奥版下载_将超级马里奥赋予生命

超级玛丽马里奥版下载Have you ever seen a zoetrope? If today’s sophisticated computer animation is the latest evolution of the form, then the remarkable zoetrope is a crucial ancestor; the transitional form between the drawing and the animation.等皆你见过…

如何在繁重的工作中持续成长?

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

熊kong作品资源链接_Kong雀技术:向世界展示您的设计作品

熊kong作品资源链接The door opened and I entered the bedroom of an apartment I was looking to rent. No furniture or items inside, it was almost empty except for a frame in the wall. It was a photo of a peacock. As I stared at it, I could not shake one clear…

漫谈前端工程化基建和架构设计 | 留言送书

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。本文留言抽奖送书,具体规则看文末。透过工程基建,架构有迹可循。前…

设计模式 日志系统设计_模式:我们设计系统的故事

设计模式 日志系统设计Design Patterns are some of the most over-used concepts in design today. And we all know what happens when you have some ideas all over the place. We start repeating them like parrots and applying them to everything, therefore distorti…

前端好还是后端好,看看7年前端和后端怎么说

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

提升UI技能的5个步骤

element ui 步骤重点 (Top highlight)What to do when you know how to use the software and know the basics of designing interfaces? There are a few simple things that you can do to take your skills to the next level, and you don’t need to invest in expensiv…

空降进阿里的 P10 都是什么人

周末见了几个朋友,吃饭时聊到他们前老板郭东白(阿白),对了,我朋友在速卖通,他说阿白是 14 年来的阿里,直接就空降进了他们部门,当上首席架构师,后来又升到了 CTO&#xf…

linux下练习 c++ 关联式容器multimap特性

/* multimap特性 key可以重复 不支持下标访问 */ #include<iostream> #include<string> #include "print.h" #include<map> using namespace std; typedef pair<int,string> pairmp; typedef multimap<string,double> MS;int main() …

一致性设计,而不是一致性

一致性设计重点 (Top highlight)If we ask any design system advocate what are the main reasons to build and maintain a design system, chances are ‘Consistency’ will come up as first or second in their list, together with the ‘A single source of truth’ po…

如何在 React 应用中使用 Hooks、Redux 等管理状态

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系…

长语音识别体验_如何为语音体验写作

长语音识别体验重点 (Top highlight)“Voice User Interface (VUI) Designer” is an increasingly prominent job title in the tech world. A VUI designer typically writes the conversation and designs the flow between a VUI — an invisible interface that communica…

分析了1011个程序员的裁员情况后得出的启示

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系…

定义设计系统

System is “the whole creation, the universe,” from Late Latin systema “an arrangement, system,” from Greek systema “organized whole, a whole compounded of parts”.系统是晚期拉丁语系统的“整体创造物&#xff0c;宇宙”&#xff0c;是希腊语系统的“一种安排…

2w行代码、200个实战项目,助你修炼5大编程基本功。【送书《设计模式之美》】...

大家好&#xff0c;我是若川。之前送了很多书&#xff0c;现在又和异步图书合作再次争取了几本书&#xff0c;具体送书规则看文末。所谓练武不练功&#xff0c;到老一场空&#xff0c;以技术为驱动的程序员同样如此。面向对象编程范式、设计原则、代码规范、重构技巧和设计模式…

C++第10周项目2扩展之2参考——迭代求和

课程首页地址&#xff1a;http://blog.csdn.net/sxhelijian/article/details/7910565【项目2扩展之2&#xff08;选做&#xff09;】计算下面的式子&#xff0c;不能使用求幂函数pow()式一&#xff1a;#include <iostream> using namespace std; int main( ) { int i,m1;…