• Stars
    star
    545
  • Rank 81,554 (Top 2 %)
  • Language Roff
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

这是我准备写的第一本书,其实早些时候已经打算开始写书了,只是苦于没有写书经验,无从下手。写书不同于博客,写书需要将知识,经验等系统化地讲述出来,而我现在恰巧缺乏这种表现能力。因此我决定在这里将项目中零散的东西记录下来,然后后期润色一下,写成一本书。

我的第一本书

为了获得更好的阅读体验,您可以访问在线版本

关于我

我是一个对技术充满兴趣的程序员, 擅长前端工程化,前端性能优化,前端标准化等。

做过.net, 搞过Java,现在是一名前端工程师。

除了我的本职工作外,我会在开源社区进行一些输出和分享,比较受欢迎的有leetcode题解前端面试宝典 - 图解前端

如果大家需要内推的可以找我,我这里有包括阿里,腾讯,头条,网易等很多公司的朋友。 有需要可以直接群里联系我,或者发送到我的个人邮箱 [[email protected]]。

我为什么要写这本书(序)

写这本书的目的很简单,就是审视自己。我喜欢用写作来总结自己的生活,因为花在这上面的时间是复时间,就像复利一样。我喜欢一个人散步,因为散步可以将思维释放,我认为做太多重复没有创造性的东西对我来说没有什么价值,我更喜欢将散步当做身心的一种放松,而且我很多好的想法都是在散步中得到的,它不仅能使你身体得到放松,而且可以让你工作效率翻倍。如果读书是知识的输入的话,那么写书就是对知识的输出。通过读书掌握的通常很少,据研究表面通常不到书内容的 10%。但是通过合适的输出,可以将这一比例上升到 32%。输出的方式不仅仅有写作,还有复述,讲给别人等等。

编程是一种技艺,一种需要用心学习的技艺

同时我想借这个机会认识一些志同道合的人,就是打算在这一行干点事,留下点东西的人。与人交流其实也是一种复利,通过思维的碰撞,可以将彼此的能量和创新得到有效的释放,同时也是审视自己的绝佳时机。

前言

这是我准备写的第一本书,其实早些时候已经打算开始写书了,只是苦于没有写书经验,无从下手。写书不同于博客,写书需要将知识,经验等系统化地讲述出来,而我现在恰巧缺乏这种表现能力。因此我决定在这里将项目中零散的东西记录下来,然后后期润色一下,写成一本书。

软件工程之所以叫工程是因为其中运用了很多工程化的方法。软件的构造应该是工程学科,早期的各种瀑布模型,UML 建模语言,以及近期的 SCRUM,他们中充斥着各种工程化的工具和方法。 知乎是这么描述软件工程的:软件工程 (Software Engineering) 是一门研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。 想一想中世纪的大教堂,每一座都跨越数千人数年的努力,它们相信个人的力量支撑了整个项目:

我们,采集的只是石头,却必须时刻展望未来的大教堂。

本书主要分为四个部分来讲述软件开发的工程化。

  • 第一部分讲述前后端如何分离,旨在通过任务分工,拆解,提高单个成员的开发效率,并通过减少前后端沟通进而提高项目整体成员的开发效率。这一章主要讲述为什么要前后端分离的历史,为什么要前后端分离,如何做到前后端分离,以及前后端分离能够带来哪些好处。
  • 第二部分讲述模块化与组件化。高级语言有很多模块化的思想。比如高级语言中的类和实例,各种第三方库,前端的 web-components 等等。可以说模块化和组件化无处不在,那为什么还要花时间去讲述这些东西呢?记得大学时候学习 C#的时候老师讲过面向对象的四个基本特性是抽象,继承,封装和多态。其实面向对象正是软件开发早期对模块化和组件化的一种探索,是人类智慧的结晶。其实模块化和组件化是一种将复杂系统分解为更好的可管理模块的方式。这一章主要讲述模块化的发展,模块化在不同领域的表现,模块化给我们带来了什么,以及如何实现模块化。
  • 第三部分讲流程自动化。自动化的流程无疑可以减少人力成本,可以提高效率,降低失误率。自动化可以将人们从繁琐的无味的重复劳动中解脱出来。有人说程序员是懒惰的,因为它们经常编写一些可以减少日常工作的工具,从而达到”偷懒“ 的目的。这一章主要讲述流程自动化是一种什么样的感受,如何实现自动化,这一章主要分享我在实际工作中遇到的问题,以及自己在自动化方面作出的思考。
  • 第四部门主要讲述页面加载性能优化。 性能优化一直是一个非常古老,并且非常深奥的问题。说他古老是因为,我们的产品是让用户使用的,良好的用户体验是抓住用户内心的根本,因此性能优化方面,业界做了非常多的探索。说他非常深奥是因为没有任何一种优化手段可以 cover 全部, 这就需要你能够靠你的经验和眼界分辨现实情况,采取合适的优化方法和时机(不要过早优化)。这部分主要讲述 web 性能优化,从用户输入 URL 到页面加载出来,用户进行交互着手分析可以优化的点,并讲述如何发现系统性能的短板。 建立性能监控平台也是非常重要的一环,本章也会带你一步步拆解,讲述如何设计并开发一个性能监控平台。

第一章 前后端分离

第二章 模块化与组件化

第三章 流程自动化

第四章 页面加载性能优化

第五章 前端调试

第六章 到处都是测试

附录一 自动化小脚本

附录二 参考文献

关注我

我重新整理了下自己的公众号,并且我还给它换了一个名字脑洞前端,它是一个帮助你打开大前端新世界大门的钥匙 🔑,在这里你可以听到新奇的观点,看到一些技术尝新,还会收到系统性总结和思考。

在这里我会尽量通过图的形式来阐述一些概念和逻辑,帮助大家快速理解,图解是我的目标。

之后我的文章会同步到微信公众号 脑洞前端 ,你可以关注获取最新的文章,并和我进行交流。

另外你可以回复大前端进大前端微信交流群, 回复 leetcode 拉你进 leetcode 微信群,如果想加入 qq 群,请回复 qq。

gongzhonghao

大家也可以加我微信好友进行交流!

交流群

现在还是初级阶段,需要大家的意见和反馈,为了减少沟通成本,我组建了交流群。大家可以扫码进入

QQ 群

qq-group-chat

微信群

JavaScript

(由于微信的限制,100个人以上只能邀请加入, 你可以添加我的机器人回复“大前端”拉你进群)

License

Apache-2.0

More Repositories

1

leetcode

LeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。)
JavaScript
54,257
star
2

fe-interview

宇宙最强的前端面试指南 (https://lucifer.ren/fe-interview)
JavaScript
2,832
star
3

daily-featured

不仅仅是冷冰冰的链接(Not just link)
JavaScript
575
star
4

mono-react

Create React from zero series
74
star
5

leetcode-cheat

release of leetcode-cheat
55
star
6

mono-webpack

Create webpack from zero series
53
star
7

mac-setup

Dev-Setup For Mac (I‘M a Front End Developer)
36
star
8

functional-programming

javascript函数式编程指南
36
star
9

js-algorithm-light

轻量级的 JavaScript 数据结构与算法库。
JavaScript
26
star
10

learn-shell

learn shell step by step
18
star
11

To-Be-Productive

Getting you closer to peak productivity(效率笔记)
17
star
12

azl397985856.github.io

my personal website
HTML
15
star
13

cf

Codeforces Solutions: A Record of My Problem Solving Journey.( Codeforces题解,记录自己的Codeforces解题之路。)
Python
14
star
14

git

关于git的介绍,包括基本概念,git flow,git提交规范,git插件以及常见问题解决
13
star
15

blog

my personal blog(https://lucifer.ren/blog/)
JavaScript
10
star
16

duiba-components

web-components powered by duiba
TypeScript
10
star
17

resume

my personal resume
8
star
18

QY

一站式前端自动检测平台
JavaScript
8
star
19

template-editor

一款打单系统的模板编辑器组件的实现。
JavaScript
8
star
20

over-fancy-30s

脑洞30s
JavaScript
7
star
21

azl397985856

move on ~ sweetie
6
star
22

zhuque

dashboard to show error and performance log integrated with security and persistence.
JavaScript
6
star
23

file-writer

fileWriter tool base on web browser by using HTML5 interface(download attr), support mostly modern browser including IE 10+
JavaScript
5
star
24

jsx2canvas

sytax sugar of canvas to help you build canvas easily.
JavaScript
4
star
25

cdn

白嫖 CDN
4
star
26

animation

animation in frontend
JavaScript
4
star
27

mono-series

collection of creating x from zero.
4
star
28

render-tree

just DIY
TypeScript
3
star
29

murder

推理小说家们非常喜欢完美谋杀,然而似乎不存在什么完美犯罪,所谓的完美,也不过是自欺欺人罢了。
3
star
30

Kid

A library which can make it easier for you to manipulate array just like sql statement to table.
JavaScript
3
star
31

arida-cache

a library for your client cache
JavaScript
2
star
32

postcss-safari-border-plugin

PostCSS plugin to solve problem when using border-radius + overflow: hidden + transform
JavaScript
2
star
33

canvas-filter-demo

JavaScript
2
star
34

react-performance

react性能优化 demo
JavaScript
1
star
35

learn-redux

学习redux,从作用到源码再到思想
1
star
36

reading

make reading better
1
star
37

mono-vite

Create vite from zero series
1
star
38

arida

A libabry for subcribing data what you'r interesting.
JavaScript
1
star
39

stash

1
star
40

arida-fetch

communicating framework with server for fetching data sychronously by default and combine the http request
JavaScript
1
star
41

leetcode-pp-available

monitor for my websites
1
star
42

accessibility-checklist

accessibility-checklist
1
star
43

awesome-python-webapp

一个简单的用户注册登录,日志管理的pythonWeb项目
1
star
44

L

implement a new programming language (L) from scratch
JavaScript
1
star
45

electron-work-flow

work flow software based on electron.
JavaScript
1
star
46

mobile-compatibility

移动端兼容性问题汇总
1
star
47

kmp-ac

1
star
48

cachedFetcher

fetcher with cache
1
star
49

mono-jenkins

create jenkins from zero
1
star
50

workbench

my workbench.
JavaScript
1
star
51

canvas-filter

用canvas实现图片滤镜效果
1
star
52

dev-config

开发过程中一系列工具的配置
1
star
53

emergency-site

HTML
1
star
54

coder

创业项目,主要服务对象是中小学生,服务内容是编程方面。
1
star
55

ltcrm-components

framework for developing our components isolating from our app.
JavaScript
1
star
56

deploy

deploy your project easily.
JavaScript
1
star
57

FE-UI

如何和UI撕逼
1
star
58

locus

分析用户行为轨迹数据,并将分析的数据生成json文件。
1
star
59

web-components-storybook

storybook designed for web components inspired by react-storybook.
JavaScript
1
star