Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/chaudinh/js-concepts
- Owner: ChauDinh
- Created: 2019-05-07T08:35:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T13:55:50.000Z (almost 2 years ago)
- Last Synced: 2023-03-03T14:42:30.134Z (over 1 year ago)
- Topics: algorithms, clean-code, data-structures, design-patterns, es6, javascript, javascript-concepts, regular-expression
- Language: JavaScript
- Size: 969 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
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ạmMộ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