Skip to content

Commit cf61936

Browse files
committed
Add readme
1 parent f2d60e6 commit cf61936

File tree

2 files changed

+185
-2
lines changed

2 files changed

+185
-2
lines changed

JavaScript/README.md

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
# Programming Dictionary
2+
3+
## Базовые понятия
4+
5+
- [Абстракция / Abstraction](https://github.com/HowProgrammingWorks/Abstractions)
6+
- обобщенное (абстрактное) решение задачи, в отличие от конкретного решения, подходящее для широкого круга задач
7+
- модель реального объекта (или множества объектов), являющаяся приближением к реальности, обобщением
8+
- множество свойств объекта, относящиеся к определенному его аспекту
9+
- [Слои абстракций / Abstraction Layer](https://github.com/HowProgrammingWorks/AbstractionLayers)
10+
- Парадигма программирования / Programming Paradigm
11+
- [Переменная / Variable](https://github.com/HowProgrammingWorks/DataTypes)
12+
- `let cityName = 'Beijing';`
13+
- [Константа / Constant](https://github.com/HowProgrammingWorks/DataTypes)
14+
- `const cityName = 'Beijing';`
15+
- [Типы данных / Data Types](https://github.com/HowProgrammingWorks/DataTypes)
16+
- `[5, 'Kiev', true, { city: 'Beijing' }, a => ++a ].map(x => typeof(x));`
17+
- [Скалярные типы / Scalar Types](https://github.com/HowProgrammingWorks/DataTypes)
18+
- [Ссылочные типы / Reference](https://github.com/HowProgrammingWorks/DataTypes)
19+
- [Объект / Object](https://github.com/HowProgrammingWorks/DataTypes)
20+
- Инстанциирование / Instantiation
21+
- `const rect1 = new Rectangle(-50, -50, 100, 150);`
22+
- Класс / Class
23+
- `class Point { constructor(x, y) { this.x = x; this.y = y; } }`
24+
- Прототип / Protorype
25+
- [Cтруктуры данных](https://github.com/HowProgrammingWorks/DataStructures)
26+
- Массив / Array
27+
- `const cities = ['Tehran', 'Yalta', 'Potsdam'];`
28+
- [Функция](https://github.com/HowProgrammingWorks/Function)
29+
- Объявление функции / Function definition
30+
- `function max(a, b) { return a + b; }`
31+
- Функциональное выражение / Function expression
32+
- Функциональное выражение с именованной функцией / Named function expression
33+
- `const max = function max(a, b) { return a + b; };`
34+
- Анонимное функциональное выражение / Anonymous function expression
35+
- `const max = function(a, b) { return a + b; };`
36+
- Лямбда функция / Lambda function
37+
- `const max = (a, b) => { return a + b; };`
38+
- Лябмда выражение, Функция-стрелка / Lambda expression, Arrow function
39+
- `const max = (a, b) => (a + b);`
40+
- [Чистая функция / Pure Function](https://github.com/HowProgrammingWorks/Function)
41+
- [Замыкание / Closure](https://github.com/HowProgrammingWorks/Closure)
42+
- `const add = a => b => a + b;`
43+
- Пример:
44+
```js
45+
const hash = () => {
46+
const data = {};
47+
return (key, value) => {
48+
data[key] = value;
49+
return data;
50+
};
51+
};
52+
```
53+
- [Суперпозиция / Superposition](https://github.com/HowProgrammingWorks/Composition)
54+
- `const expr2 = add(pow(mul(5, 8), 2), div(inc(sqrt(20)), log(2, 7)));`
55+
- [Композиция / Composition](https://github.com/HowProgrammingWorks/Composition)
56+
- `const compose = (f1, f2) => x => f2(f1(x));`
57+
- `const compose = (...funcs) => (...args) => (funcs.reduce((args, fn) => [fn(...args)], args));`
58+
- [Частичное применение / Partial application](https://github.com/HowProgrammingWorks/PartialApplication)
59+
- `const partial = (fn, x) => (...args) => fn(x, ...args);`
60+
- [Каррирование / Currying](https://github.com/HowProgrammingWorks/PartialApplication)
61+
- `const result = curry((a, b, c) => (a + b + c))(1, 2)(3);`
62+
- [Побочные эффекты / Side effects](https://github.com/HowProgrammingWorks/Function)
63+
- [Функция высшего порядка / Higher-order Function](https://github.com/HowProgrammingWorks/HigherOrderFunction)
64+
- Если функция только в аргументах, то это колбек
65+
- Если функция только в результате, то это фабрика функций
66+
- Если функция в аргументах и в результате, то это обертка
67+
- Функциональное наследование / Functional Inheritance
68+
- [Метод / Method](https://github.com/HowProgrammingWorks/Function)
69+
- Пример:
70+
```js
71+
const p1 = {
72+
x: 10, y: 10,
73+
quadrant() {
74+
if (this.x > 0) return this.y > 0 ? 'I' : 'IV';
75+
return this.y > 0 ? 'II' : 'III';
76+
}
77+
}
78+
```
79+
- [Контекст](https://github.com/HowProgrammingWorks/Function)
80+
- [Область видимости / Scope](https://github.com/HowProgrammingWorks/Function)
81+
- [Обертка / Wrapper](https://github.com/HowProgrammingWorks/Wrapper)
82+
- Интерфейс / Interface
83+
- Прикладной интерфейс / Application Interface, API
84+
- Синглтон / Singleton
85+
- [Функция обратного вызова, колбек / Callback](https://github.com/HowProgrammingWorks/Callbacks)
86+
- [Событие / Event](https://github.com/HowProgrammingWorks/Callbacks)
87+
- [Лисенер / Listener](https://github.com/HowProgrammingWorks/Callbacks)
88+
- [Дифер / Deferred](https://github.com/HowProgrammingWorks/Callbacks)
89+
- [Промис / Promise](https://github.com/HowProgrammingWorks/Promise)
90+
- [Фьючер / Future](https://github.com/HowProgrammingWorks/Callbacks)
91+
- [Итерирование / Iteration](https://github.com/HowProgrammingWorks/Iteration)
92+
- [Итератор / Iterator](https://github.com/HowProgrammingWorks/Iteration)
93+
- [Цикл / Loop](https://github.com/HowProgrammingWorks/Iteration)
94+
- [Условие / Conditional statements](https://github.com/HowProgrammingWorks/Conditional)
95+
- [Строка / String](https://github.com/HowProgrammingWorks/String)
96+
- [Коллекция / Collection](https://github.com/HowProgrammingWorks/Collections)
97+
- [Множество / Set](https://github.com/HowProgrammingWorks/Set)
98+
- [Ключ-значение, Хешмап / Map, Key-value](https://github.com/HowProgrammingWorks/KeyValue)
99+
- [Список / List](https://github.com/HowProgrammingWorks/LinkedList)
100+
- [Дерево](https://github.com/HowProgrammingWorks/TreeNode)
101+
- [Граф / Graph](https://github.com/HowProgrammingWorks/DirectedGraph)
102+
- [Файл / File](https://github.com/HowProgrammingWorks/Files)
103+
- [Поток, Файловый поток / Stream, File Stream](https://github.com/HowProgrammingWorks/Streams)
104+
- [Буфер / Buffer](https://github.com/HowProgrammingWorks/Buffers)
105+
- [Сокет / Socket](https://github.com/HowProgrammingWorks/Socket)
106+
- [Дескриптор / Descriptor](https://github.com/HowProgrammingWorks/Files)
107+
- Состояние / State
108+
- Кэш, Кэширование / Cache
109+
- Хэш, Хэширование / Hashing
110+
- [Функциональный объект](https://github.com/HowProgrammingWorks/Functor)
111+
- [Функтор / Functor](https://github.com/HowProgrammingWorks/Functor)
112+
- Рекурсивное замыкание / Recursive closure
113+
- Объект функционального типа, хранящий в себе защищенное значение и позволяющий отобразить это значение в другой функтор через функцию
114+
- [Аппликативный функтор](https://github.com/HowProgrammingWorks/Functor)
115+
- Монада / Monad
116+
- [Мемоизация / Memoization](https://github.com/HowProgrammingWorks/Memoization)
117+
- [Примесь / Mixin](https://github.com/HowProgrammingWorks/Mixin)
118+
- Добавление свойств, методов или поведения к объекту после его инстанциирования (создания)
119+
- Декоратор / Decorator
120+
- [Наследование / Inheritance](https://github.com/HowProgrammingWorks/Function)
121+
- Множественное наследование / Multiple Inheritance
122+
- Непрямое наследование / Indirect Inheritance
123+
- [Генератор / Generator](https://github.com/HowProgrammingWorks/Generator)
124+
- [Синхронные операции](https://github.com/HowProgrammingWorks/AsynchronousProgramming)
125+
- [Асинхронные операции](https://github.com/HowProgrammingWorks/AsynchronousProgramming)
126+
- [Ввод/вывод / I/O, Input-output](https://github.com/HowProgrammingWorks/AsynchronousProgramming)
127+
- [EventEmitter](https://github.com/HowProgrammingWorks/EventEmitter)
128+
- [Чеининг / Chaining](https://github.com/HowProgrammingWorks/Chaining)
129+
- [Сериализация / Serialization](https://github.com/HowProgrammingWorks/Serialization)
130+
- [Десериализация / Deserialization](https://github.com/HowProgrammingWorks/Serialization)
131+
- Парсинг / Parsing
132+
- [Регулярные выражения / Regular Expressions](https://github.com/HowProgrammingWorks/RegExp)
133+
- [Модуль, модульность](https://github.com/HowProgrammingWorks/Modularity)
134+
- [Зависимость / Dependency](https://github.com/HowProgrammingWorks/Project)
135+
- [Линтер / Linter](https://github.com/HowProgrammingWorks/Tools)
136+
- Декомпозиция / Decomposition
137+
- [Ленивость / Lazy](https://github.com/HowProgrammingWorks/Lazy)
138+
- [Прокси / Proxy](https://github.com/HowProgrammingWorks/Proxy)
139+
- [Символ / Symbol](https://github.com/HowProgrammingWorks/Symbol)
140+
- [Обработка ошибок / Error handling](https://github.com/HowProgrammingWorks/Errors)
141+
- [Сборка мусора / Garbage Collection](https://github.com/HowProgrammingWorks/GarbageCollection)
142+
143+
## Расширенные понятия
144+
145+
- Неизменяемые данные / Immutable Data
146+
- Изменяемые данные / Mutable Data
147+
- Интроспекция / Introspection
148+
- Рефлексия / Reflection
149+
- Скаффолдинг / Scaffolding
150+
- [Инверсия управления / IoC, Inversion of Control](https://github.com/HowProgrammingWorks/InversionOfControl)
151+
- [Внедрение зависимостей / DI, Dependency Injection](https://github.com/HowProgrammingWorks/DependencyInjection)
152+
- [Межпроцессовое взаимодействие / IPC, Interprocess Communication](https://github.com/HowProgrammingWorks/InterProcessCommunication)
153+
- [Песочница / Sandbox](https://github.com/HowProgrammingWorks/Sandboxes)
154+
- Архитектура / Architecture
155+
- Слой доступа к данным / Data Access Layer
156+
- Курсор / Cursor
157+
- Объектно-реляционное отображение / ORM, Object-relational Mapping
158+
- Сервер приложений / Application Server
159+
- Тонкий клиент
160+
- Толстый клиент
161+
- [Проекция данных / Projection](https://github.com/HowProgrammingWorks/Projection)
162+
- [Измерение производительности / Benchmarking](https://github.com/HowProgrammingWorks/Benchmark)
163+
- [Интерфейс командной строки / CLI, Command Line Interface and Console](https://github.com/HowProgrammingWorks/CommandLine)
164+
- [Мониторинг файловой системы / File System Watching](https://github.com/HowProgrammingWorks/Files)
165+
- Метаданные
166+
- Протокол
167+
168+
## Парадигмы программирования
169+
170+
- [Императивное программирование / Imperative Programming](https://github.com/HowProgrammingWorks/ImperativeProgramming)
171+
- Неструктурное программирование / Non-structured
172+
- Структурное программирование / Structured Programming
173+
- Процедурное программирование / Procedural Programming
174+
- [Object-oriented programming](https://github.com/HowProgrammingWorks/ObjectOrientedProgramming)
175+
- [Prototype-oriented programming](https://github.com/HowProgrammingWorks/PrototypeOrientedProgramming)
176+
- [Функциональное программирование / Functional Programming](https://github.com/HowProgrammingWorks/FunctionalProgramming)
177+
- [Логическое программирование / Logical Programming]
178+
- [Декларативное программирование / Declarative Programming]
179+
- [Программирование управляемое данными / Data-driven Programming](https://github.com/HowProgrammingWorks/DataDrivenProgramming)
180+
- Техники программирования
181+
- [Асинхронное программирование / Asynchronous Programming]
182+
- [Реактивное программирование / Reactive Programming]
183+
- [Событийное программирование / Event-driven Programming](https://github.com/HowProgrammingWorks/EventDrivenProgramming)
184+
- [Метапрограммирование / Metaprogramming](https://github.com/HowProgrammingWorks/Metaprogramming)

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
# Closure
2-
Function closures and storing data in function scope
1+
# Function closures and storing data in function scope

0 commit comments

Comments
 (0)