适合 JS 新手学习的开源项目——在 GitHub 学编程-程序员宅基地

技术标签: java  编程语言  html  react  javascript  

此文转载自:https://blog.csdn.net/a419240016/article/details/110618020

作者:HelloGitHub-小鱼干

这里是 HelloGitHub 的《GitHub 上适合新手的开源项目》系列的最后一篇,系列文章:

  1. C++ 篇
  2. Python 篇
  3. Go 篇
  4. Java 篇
  5. JavaScript 篇

Java 篇中老荀说到当今互联网份额最大的编程语言是 Java,作为后辈我对此话是没有异议的。但,要说到国内互联网最火、最热闹的编程语言是什么?应该没人对 JavaScript 当选有异议吧。相对 C++、Java 这些老前辈,JS 可谓门槛之低,连 Python 都自叹不如。那作为一个新手要学习系统化地学习 JS,应该走哪几步呢?

  • 第一步:打开浏览器,输入网址:https://hellogithub.com/
  • 第二步:选择 JavaScript 项目
  • 第三步:逐一学习

[手动狗头]有更快捷的方法吗?有!在本篇文章中你将从基础招式学习,了解 HTML、CSS、JS 等基础概念之后,实践一把吃豆人游戏制作,再开启性能调优之旅,最后闯荡前端江湖。

出发,前进

成神第一式:打好根基

1.1 前端成长之路:Web

HG #vol.036 Web 是一个前端入门的图文教程,记录了作者从 0-1 学习前端的过程。作为一个入门的图文教程,Web 遵循了事无巨细原则,在所有的介绍中详细讲 HTML、CSS、JS 等知识点,简单的移动端开发、Vue 等框架使用、Node.js 介绍也略有涉猎。值得一提得失,它所有的示例中代码注释清楚地标注了使用某个函数时你所需要注意的事项,贴心到不行。

不过,Web 项目在 JS 基础和进阶内容分层方面略有不足,会发现 16 个类目有许多重复内容,以及原先在前端进阶分类下的前端几道题被独立出来成为一个单独分类,收录了大量面试题和网友面经,但瑕不掩瑜,该 Repo 绝对是一个新手入门的实用教程。

由于作者没有对分类内容及分类下内容做脑图介绍,所以这里小鱼干绘制了它的脑图/目录结构,部分相同主题内容进行了折叠。

.
|── 前端工具
|   ├──VS Code 的使用
|   ├──Git 使用
|   ├──Mac 安装和 iTerm2 配置
|   ├──Sublime Text 的使用
|   ├──WebStorm 的使用
|   ├──Atom 的使用
|   ├──GitHub 的使用
|   ├──VS Code 的使用累积
|   ├──Chrome 浏览器
|   ├──Emmet in VS Code
|   ├──iTerm2 + OhMyZsh + agnoster 搭建
|   ├──iconMoon
|   └──whistle 网络抓包
|──HTML
|   ├──认识 Web 和 Web 标准
|   ├──浏览器的介绍
|   ├──初识 HTML
|   ├──HTML 标签:排版标签
|   ├──HMTL 标签:字体标签和超链接
|   ├──HTML 标签:图片标签
|   ├──HTML 标签:图文详解
|   ├──HTML5 详解
|   ├──HTML5 举例:简单的视频播放器
|   ├──HTML 详解(二)
|   ├──HTML 详解(三)
|   └──HTML 基础回顾
|──CSS 基础
|   ├──CSS 属性:字体属性和文本属性
|   ├──CSS 属性:背景属性
|   ├──CSS 样式表和选择器
|   ├──CSS 选择器:伪类
|   ├──CSS 样式表的继承性和层叠性
|   ├──CSS 盒模型详解
|   ├──浮动
|   ├──CSS 属性:定位属性
|   ├──CSS 案例讲解:博雅互动
|   ├──CSS3 选择器详解
|   ├──CSS3 属性详解(一)
|   ├──CSS3 属性详解:动画详解
|   ├──CSS3 属性:Flex 布局图文详解
|   ├──CSS3 属性:Web 字体
|   ├──SaaS 入门
|   ├──浏览器的兼容性问题
|   └──CSS3 的常见边框汇总
|──CSS 进阶
|   ├──准备
|   ├──CSS 中的非布局样式
|   ├──CSS 布局
|   ├──网页开发和设计中的字体常识
|   ├──如何让一个元素水平居中
|   ├──CSS 开发累积
|   ├──CSS 文章推荐
|   ├──CSS 的一些小知识
|   └──CSS 面试题
|──JS 基础
|   ├──编程语言
|   ├──JS 简介
|   ├──变量
|   ├──变量的数据类型:基本数据类型和引用数据类型
|   ├──基本数据类型
|   ├──typeof 和数据类型转换
|   ├──运算符
|   ├──流程控制语句
|   ├──对象简介
|   ├──基础包装类型
|   ├──内置对象
|   ├──数组
|   ├──函数
|   ├──作用域和变量提升
|   ├──预编译
|   ├──this 指向
|   ├──call、apply 和 bind
|   ├──高阶函数
|   ├──闭包
|   ├──对象
|   ├──深浅拷贝
|   ├──原型链和原型继承
|   ├──类和构造继承
|   ├──正则表达
|   ├──事件
|   └──jQuery
|──JS 之 ES6 语法
|   ├──ES6 介绍和环境配置
|   ├──ES5 中的严格模式
|   ├──ES5 中的一些扩展
|   ├──ES6:变量 let、const 和块级作用域
|   ├──变量的解构赋值
|   ├──箭头函数
|   ├──剩余参数和扩展运算符
|   ├──字符串、数据和对象的扩展
|   ├──内置对象扩展:Set 数据解构
|   ├──Promise 入门详解
|   ├──ES7:async 函数详解
|   └──ES6:Symbol
|──JS 进阶
|   ├──var、let、const 的区别
|   ├──数据的赋值
|   ├──JS 开发累积
|   ├──call、apply、bind 的区别
|   ├──this
|   ├──作用域与闭包
|   └──创建对象和继承
|──前端基本功
|   ├──CSS 基础练习
|   └──DOM 操作练习
|──Ajax
|   ├──服务器分类及 PHP 入门
|   ├──Ajax 入门和发送 http 请求
|   ├──函数封装
|   ├──同源和跨域
|   └──模版引擎
|──移动 Web 开发
|   ├──Bootstrap 入门
|   ├──Bootstrap 使用
|   └──Less 详解
|──Node.js 和数据库
|   ├──Node.js 介绍
|   ├──Node.js 的特点
|   ├──Node.js 开发环境安装
|   ├──Node.js 模块化规范
|   ├──Node.js 内置模块
|   ├──Node.js 操作 MySQL 数据库
|   ├──CommonJS
|   ├──ES6
|   ├──JS 模块化:AMD
|   ├──JS 模块化:CMD
|   ├──JS 模块化:ES6
|   ├──KOA2
|   ├──Node.js 代码举例
|   ├──WebSocket
|   └──事件驱动和非阻塞机制
|──Vue 基础
|   ├──指令系统
|   ├──v-on 事件修饰符
|   ├──系统指令(二)
|   ├──举例:列表功能
|   ├──自定义过滤器
|   ├──自定义按键修饰符 & 自定义指令
|   ├──Vue 实例的生命周期函数
|   ├──Vue 中的 Ajax 请求
|   ├──Vue 动画
|   ├──Vue 组件的定义和注册
|   ├──Vue 组件之间的传值
|   ├──Vue-router 路由
|   ├──Vue.js 在开发中的常见写法累积
|   ├──Vue 开发累积
|   └──Vue 组件
|──React 基础
|   ├──React 介绍
|   ├──JSX 语法介绍
|   ├──React 组件:生命周期
|   ├──React 组件:常见属性和函数
|   ├──React 中绑定 this 并给函数传参的方法
|   ├──React  单向数据绑定
|   ├──React 路由的使用
|   ├──Ant Design 的基本使用
|   ├──AntD 框架的踩坑记录
|   ├──AntD 框架 upload 组件自定义
|   └──React Native 初识
|──前端面试
|   ├──面试必看
|   ├──面试题累积
|   └──网友面经
|──前端进阶
|   ├──代码规范
|   ├──常见专有名词
|   ├──数组的常见操作
|   ├──前端监控技术
|   ├──lazyload & 防抖动和节流阀
|   ├──Vue 开发累积
|   └──前端的几道题目
|──前端综合
|   ├──2019 Web 前端入门自学路线
|   ├──前端学习分享
|   ├──Express
|   ├──2018 前端日记
|   ├──2019 前端日记
|   ├──2020 前端日记
|   ├──CSS 开发总结
|   ├──Ajax 相关
|   ├──HTML 相关
|   ├──Json 字符串的解析和遍历
|   ├──Json 相关
|   ├──前端博客推荐
|   ├──前端开发累积
|   ├──前端语录
|   └──网络抓包和代理工具:Whistle
└──扩展阅读
    ├──2020 Web 前端最新导航
    ├──GitHub 项目推荐
    ├──网站推荐
    ├──前端文章推荐
    ├──上海有哪些互联网大厂
    ├──北京有哪些互联网大厂
    └──深圳有哪些互联网大厂

GitHub 地址→https://github.com/qianguyihao/Web

1.2 寓教于乐:Pacman

HG #vol.029 Pacman 是基于 HTML5 的吃豆人游戏。核心代码就两个文件,主程序仅有 1000 行代码,且代码有注释、整洁。对于新手来说是个很好的实践项目,也能让你养成阅读他人代码的好习惯。

GitHub 地址→https://github.com/mumuy/pacman

1.3 新手关卡:33-js-concepts

HG #vol.031 33-js-concepts 是一个国外知名的 JS 项目,作为基础最后一道门槛,它帮你查漏补缺,让你对每个 Javascript 开发者应该知道的 33 个概念熟记在心,开启下一个阶段的进阶之旅。

GitHub 地址→https://github.com/leonardomso/33-js-concepts

成神第二式:招式变化

2.1 深度乃广度基础:Web-Series

HG #vol.028 Web-Series 是小鱼干很喜欢的一名前阿里工程师:王下邀月熊编写的 Web 全栈开发、工程架构与性能调优。在你熟悉前端基础概念,制作简单的例如吃豆人游戏之后,是时候在上一层楼了解下进阶的性能调优、工程架构问题。作为一名十多年开发经验的前端工程师,在 Web-Series 系列,王下邀月熊致力于探索,如何有效地提升团队的研发效能,在整个产品迭代的生命周期中都能及时、可靠地完成交付;同时能够控制住系统整体的复杂性,并且不断地、持续地进行系统的性能与体验优化。可以说升职加薪就差这招 [手动狗头]

GitHub 地址→https://github.com/wx-chevalier/Web-Series

2.2 简化操作流程:D3.js

HG #vol.031 D3.js 的全称是(Data-Driven Documents),该库提供了各种简单易用的函数,大大简化了 JavaScript 操作数据的难度。该库的使用是数据可视化必须掌握的技术。

最重要的一点在于,D3.js 项目本身提供了极度丰富的 demo 供你直接使用,化身做一个“调参工程师”绘制各种酷炫力导图,呈现各种可视化数据,例如:红楼梦的人物关系组图。等你在 demo 中习得基本使用之后,就可以根据自己的业务需求将任意数据绑定到 DOM 上,或直接操作 DOM完成 W3C DOM API 相关操作,能限制 D3.js 强大的只能是你的想象力。

GitHub 地址→https://github.com/d3/d3

2.3 包罗万象:x-build

HG #vol.040 x-build 是面向小型项目的脚手架工具,通过终端命令最快在几秒钟初始化项目目录。该库内部集成了 Webpack、Babel、ESLint 等前端常用的工具。通过该项目可以了解脚手架的开发,并且可以熟悉如何在工具中集成 Webpack 这对自定义脚手架开发很有帮助。

GitHub 地址→https://github.com/codexu/x-build

成神第三式:问鼎武林

3.1 同设计把酒言欢:next

HG #vol.054 前端工程师的对手之一便是设计师,像素级还原度挡住了多少前端工程师的晋升之路。Next 便是你的闯关宝剑,阿里开源的企业级中后台 UI 解决方案,致力于解决设计师与前端在工作协同、产品体验一致性、开发效率方面的问题。就是设计师修改颜色之类的元素之后,可以生成一个 NPM 主题包,前端拿到这个包就可以直接还原设计师的设计。Next 真妙 ‍♂️

GitHub 地址→https://github.com/alibaba-fusion/next

3.2 得 Chrome 者得天下:chrome-extensions-searchReplace

HG #vol.052 chrome-extensions-searchReplace 一款搜索并且替换文本的谷歌插件,也是一个极佳的插件开发实践。

GitHub 地址→https://github.com/Summer-andy/chrome-extensions-searchReplacet

最后

本文《GitHub 上适合新手的开源项目》收官篇,大家从这个系列有没有找到适合自己进阶的方向或感兴趣的项目呢?如果还有什么想看的系列可以留言告诉我们,也可以聊聊想对 HG 说的话!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40442753/article/details/110676404

智能推荐

什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?_成员内部类和局部内部类的区别-程序员宅基地

文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别

分布式系统_分布式系统运维工具-程序员宅基地

文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具

用Exce分析l数据极简入门_exce l趋势分析数据量-程序员宅基地

文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量

宁盾堡垒机双因素认证方案_horizon宁盾双因素配置-程序员宅基地

文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置

谷歌浏览器安装(Win、Linux、离线安装)_chrome linux debian离线安装依赖-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖

烤仔TVの尚书房 | 逃离北上广?不如押宝越南“北上广”-程序员宅基地

文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...

随便推点

java spark的使用和配置_使用java调用spark注册进去的程序-程序员宅基地

文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序

汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用_uds协议栈 源代码-程序员宅基地

文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码

AUTOSAR基础篇之OS(下)_autosar 定义了 5 种多核支持类型-程序员宅基地

文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型

VS报错无法打开自己写的头文件_vs2013打不开自己定义的头文件-程序员宅基地

文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件

【Redis】Redis基础命令集详解_redis命令-程序员宅基地

文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令

URP渲染管线简介-程序员宅基地

文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线

推荐文章

热门文章

相关标签