A learning guide for JavaScript programmers.

Overview

Table of Contents

Awesome JavaScript

JavaScript是一个仅在一周就被发明出来的小玩意, 所以,它有着有多的缺陷,即使是这样,它已经存在了20年,全世界几乎每台电脑都至少装有一个JavaScript解释器, 况且今天这个当初的小玩意的目标是编写大型的企业应用。如果你对JavaScript的理解仅限于DOM操纵,页面动画,jQuery等等, 本列表将为你展现JavaScript的更多的令人震撼的功能。

专题列表

基础

开发准备

  1. 安装 Node.js
  2. 安装 PhantomJS - 没有界面的浏览器
  3. 安装 Python27 (Node有些模块对Python有依赖)
  4. 安装 Git
  5. 编辑器 WebStormVisual Studio Code

推荐的书

源代码阅读

敏捷方法与工具

  1. 持续集成与部署

  2. 敏捷相关的几个概念

    • Scrum: Scrum Guide
    • TDD: Test-Driven Development by Example (book)
    • Pair Programming

Web安全

  1. 跨站脚本攻击 - XSS
  2. 跨站请求伪造 - CSRF
  3. SQL注入
  4. 拒绝服务 - DDoS
  5. An Introduction to Content Security Policy
  6. More: Web Application Security Testing Cheat Sheet
  7. JavaScript Beginners: Friendly Intro & Exercises

JavaScript

核心基础语法点

核心概念

  1. Functional Programming 函数式编程
  2. Prototyped-based OOP 基于原型的面向对象编程
  3. Async/Concurrent Programming 异步/并发编程

关键知识点

Other topics

  1. 日期和时间字符串
  2. 处理Cookies
  3. Promise
  4. JavaScript与有限状态机
  5. Fetch API
  6. 什么是shims和polyfills
  7. 严格模式
  8. ES5增加的新特性
  9. ES6基本介绍
  10. JavaScript的模块化进程
  11. Command Line API参考手册

ECMAScript 2015 (ES6)

阅读材料

  1. Understanding ES6 by Nicholas C.Zakas
  2. Exploring ES6 by Axel Rauschmayer

语法转换 ES6 to ES5

  1. Babel - 推荐!杀手级特性"human-readable output"
  2. Traceur
  3. Babelify: 将babel引入到Gulp, Grunt, npm run等构建过程
  4. A Brief History of ES6 Tooling

入门

  1. Learn ES2015
  2. ES6 - New features Overview & Comparison
  3. ES6 Overview in 350 Bullet Points
  4. 百度EFE:使用ES6进行开发的思考
  5. ES6 Features

其他

  1. ES5/ES6 compatibility table
  2. ES6 Cheatsheet

Node.js

图书

  1. Node.js In Action
  2. 深入浅出Node.js

开发实践

基础知识

  1. NODE_PATH

垃圾回收

  1. A tour of V8: Garbage Collection | CHN
  2. Top Node.js metrics to watch
  3. Goole V8的垃圾回收
  4. 浅谈V8引擎中的垃圾回首机制

性能对比

  1. Performance Comparison Between Node.js and Java EE
  2. Java EE threads vs Node.js - which is better for concurrent data processing operations
  3. What Makes Node.js Faster Than Java

最佳实践

  1. Node.js最佳实践:第一部分
  2. Node.js最佳实践:第二部分

风格指南

  1. Node.js风格指南(中文)

常用的Node Web框架

  1. 传统的Node框架:Express
  2. 下一代Node.js框架:Koa
  3. 专注于构建可重用的应用逻辑:Hapi
  4. 其他Node框架

常用NPM工具模块

感兴趣的可以参考NPM中被依赖次数最多的模块列表

  1. JS工具函数库:lodash
  2. JavaScript编写同步代码辅助工具包:async
  3. 精简版HTTP请求客户端:request
  4. 配置管理工具包:nconf
  5. 基于生成器的控制流管理工具包:co
  6. 轻量级模块调试工具:debug
  7. 构建请求: superagent
  8. 辅助测试工具:Sinon.js

调试、性能与安全

  1. Node.js的代码调试和性能调优
  2. Node.js安全清单
  3. Debug with Source Maps
  4. 雅虎: 网站性能优化建议

开发工具和库

对于前端开发而言,如果你需要查找一些库或框架来帮你解决问题, 下面两个网站可能会帮助你选择:

  1. JavaScripting.com
  2. JavaScriptOO

借助上面的两个网站,你能够迅速的找到相关的工具。你还可以参考这篇文章来了解JavaScript必备的工具和库。 下面会继续列举一些常用的工具、库、或框架:

  1. 版本控制

  2. 自动构建

  3. 代码质量

  4. 前端工具

  5. 文档生成

  6. 工具库

  7. UI框架

  8. 前端框架

  9. 可视化库

  10. 模块系统和包管理器

  11. 单元测试

  12. 代码衡量

    High code coverage means lower chances for your program to contains bugs.

  13. 实时应用

  14. 单页应用SAP

  15. 函数式JavaScript

  16. 模版引擎

  17. 前端资源CDN服务:

Future

很遗憾,这里只能列举一些常用的资料,但幸运的是,互联网极大便利了我们获取信息的方式, 下面几个链接或许是你正在寻找的:

  1. Frontend Rescue - 帮助你获取前端资源
  2. JSbooks - 帮助你寻找和JS相关的书
  3. Cooper Press 订阅

Other links

  1. JavaScript Training Sucks
  2. The Two Pillars of JavaScript: part one - how to escape the 7th circle of hell
You might also like...

🚧 WIP: Bartosz Milewski's "Category Theory for Programmers" Korean translation 📚

🚧 WIP: Bartosz Milewski's

프로그래머를 위한 범주론 본 레파지토리는 Bartosz Milewsk의 Category Theory for Programmers을 번역하며 학습한 레파지토리입니다. 🗂 목차 Part 1. 범주:합성의 본질 타입과 함수 크고 작은 범주 Kleisli Categories

Aug 18, 2022

microregex is an open source and highly curated catalog of regular expression patterns. It offers programmers RegEx snippets that can be quickly exported into a variety of programming languages and distributed around teams.

microregex is an open source and highly curated catalog of regular expression patterns. It offers programmers RegEx snippets that can be quickly exported into a variety of programming languages and distributed around teams.

microregex - A catalog of RegEx patterns View Demo · Report Bug · Request Feature Loved the tool? Please consider contributing ✍️ to help it improve!

Oct 25, 2022

JavaScript Style Guide

Airbnb JavaScript Style Guide() { A mostly reasonable approach to JavaScript Note: this guide assumes you are using Babel, and requires that you use b

Jan 4, 2023

Mostly adequate guide to FP (in javascript)

Mostly adequate guide to FP (in javascript)

About this book This is a book on the functional paradigm in general. We'll use the world's most popular functional programming language: JavaScript.

Jan 3, 2023

AirBnb Javascript Style Guide'ının Türkçe diline çevrildiği repository

Airbnb JavaScript Stil Kılavuzu() { JavaScript'e büyük ölçüde mantıklı/makul bir yaklaşım Not: Bu kılavuz sizin Babel kullandığınızı varsayar ve babel

Dec 29, 2022

📚 Study guide and introduction to the modern front end stack.

📚 Study guide and introduction to the modern front end stack.

Grab Front End Guide Credits: Illustration by @yangheng This guide has been cross-posted on Free Code Camp. Grab is Southeast Asia (SEA)'s leading tra

Jan 3, 2023

:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹

TypeScript Deep Dive I've been looking at the issues that turn up commonly when people start using TypeScript. This is based on the lessons from Stack

Jan 4, 2023

Frontend tech guide and collection of highly recommended materials

Frontend Learning Kit Frontend tech guide and collection of highly recommended materials Show your support by giving a ⭐ to this repo 2022 Frontend De

Jan 7, 2023

Dev Guide for Archival Node & Indexer Setup

Dev Guide for Archival Node & Indexer Setup

Algorand - The Undocumented Docs Dev Notes for Archival Node, Indexer Setup (and more) Archival Node FAQ [ ? ] How much space will I need? See - http

May 23, 2022
Comments
Owner
Sun
You are what you coded.
Sun
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A Complete Javascript Learning Reference Guide.

Learn Javascript A Javascript Reference Repository, which was initially created for my refernce is now open. Any one can Learn and Add more Content to

Abdul Rehman Kalsekar 18 Oct 26, 2022
A complete guide for learning Object Oriented Programming Pillars, SOLID Principles and Design Patterns with TypeScript!

Object Oriented Programming Expert With TypeScript This repository is a complete guide and tutorial for the principles and techniques of object-orient

Ahmad Jafari 44 Dec 29, 2022
A leetcode workspace template with test case runner for JavaScript/TypeScript programmers.

leetcode-typescript-workspace English | 简体中文 A vscode workspace template with test case runner script for JavaScript/TypeScript programmers using exte

null 10 Dec 13, 2022
A name generato for everyone (Programmers, Gamers etc)

HACKZILLA A name generator for Programmers, Gamers and etc. Used Languages HTML5 CSS3 Javascript ?? ?? Link: https://rededge967.github.io/HACKZILLA/ R

Chandula Janith 3 May 14, 2022
Programmers House api official wrapper

programmershouse-wrapper Programmers House api official wrapper Install: npm install programmershouse-wrapper Example of using: With .then //importing

Raid 2 Mar 23, 2022
A Hackable Markdown Note Application for Programmers. Version control, AI completion, mind map, documents encryption, code snippet running, integrated terminal, chart embedding, HTML applets, plug-in, and macro replacement.

Yank Note A hackable markdown note application for programmers Download | Try it Online >>> Not ecommended English | 中文说明 [toc]{level: [2]} Highlights

洋子 4.3k Dec 31, 2022
CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms

CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms. It allows developers to communicate with their fellow developers or collaborators through online voice call and realtime chat. Besides, the whiteboard makes the framing of an algorithm easier by helping programmers working collaboratively to discuss and plan their approach together

Shayan Debroy 5 Jan 20, 2022
libnIDE is an IDE for DS programmers using libnds!

UPDATE: Since I haven't had a whole lot of time to spend on this and also some bugs I don't know how to fix, I am going to stop work on libnIDE. No, n

Kenyon Bowers (CEO of BowersIndustry) 2 Jun 3, 2022