Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chaudinh/js-concepts

A collection of concepts in JavaScript
https://github.com/chaudinh/js-concepts

algorithms clean-code data-structures design-patterns es6 javascript javascript-concepts regular-expression

Last synced: about 4 hours ago
JSON representation

A collection of concepts in JavaScript

Awesome Lists containing this project

README

        

# Concepts in JavaScript I collect from other materials

## Introduction

This repository was created with the intention of self-study to master JS concepts. Though it's not a requirement, it's a guide for future study other frameworks, libraries, and even languages.

## Materials

Updating...

## Table of Contents

- Callstack

- Premitive Type, Reference Type

- Implicit, Explicit, Nominal, Structuring, and Duck

- Function, Scope, block scope, lexical scope

- Arrow functions

- IIFE, modules, namespaces

- Message queue and Event Loop

- Expression, statement

- setTimeout, setInterval, requestAnimationFrame

- this, bind, call and apply

- Bitwise operators, type arrays and array buffers

- DOM and Layout trees

- Factories and Classes

- new, constructor, instanceof and instance

- Prototype Inheritance and Prototype Chain

- Object.create and Object.assign

- Closures

- Higher order functions

- Recursion

- Pure functions, side effects, state mutation

- map, reduce, filter

- Collections and Generations

- Promises

- Async/await

- Data Structures

- Expensive Operation and Big-Oh notation

- Algorithms

- Inheritance, Polymophism and Reuse

- Partial Applications, Currying, Compose and Pipe

- Design patterns

- Clean code

## Trở thành một lập trình viên chuẩn mực

### Một số thủ thuật cơ bản (tricks):

- 2 con trỏ (multiple pointers)
- Dãy tạm

Một số suy nghĩ về việc tối ưu thời gian chạy:

- Dùng bảng băm khi đề bài yêu cầu tìm chính xác (O(1));

- Dùng 2 con trỏ khi cần tìm gần đúng, hoặc tìm kế tiếp (chống vòng lặp for và đệ quy).

- Biết dùng đệ quy đúng cách.

- Dùng cây tìm kiếm tối thiểu trả về giá trị Min, không cần duyệt toàn bộ hay sort().

- Dùng cây tìm kiếm nhị phân, vừa thêm, vừa kiếm.

### Thuật toán

- Đệ quy Backtrack
- Quy hoạch động - đệ quy có nhớ:
- Đếm cách
- Dùng ít nhất (chi phí nhỏ nhất)
- Nhánh cận
...

### Cấu trúc dữ liệu

- Cây nhị phân: tối thiểu, tìm kiếm
- Graph
- Hash table, hash map
...

### Khả năng thực chiến - Xây dựng ứng dụng, app ...

- Tìm median (eCommerce)
- Bài toán đặt phòng
- Autocomplete