• Stars
    star
    626
  • Rank 71,456 (Top 2 %)
  • Language
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Programming Dictionary

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ-индСкс понятий со ссылками

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Бсылки Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

ОглавлСниС:

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ понятия

  • Абстракция / Abstraction это ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠ΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠΊΠΈ с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ сущСствСнных ΠΈ отсСчСниСм нСсущСствСнных свойств ΠΈ связСй. АбстрагированиС - построСниС абстракций ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ….
    • Абстракция - ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ), подходящСС для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡;
    • Абстракция - модСль Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (мноТСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²), ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ мноТСства, ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, достаточноС для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ;
    • Абстракция - мноТСство свойств ΠΈ связСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, относящССся ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π΅Π³ΠΎ аспСкту, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΌΡƒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ;
    • Π‘Π»ΠΎΠΈ абстракций / Abstraction Layer
  • ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования / Programming Paradigm
    • ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° Π·Π°Π΄Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΈΠ΄Π΅ΠΉ ΠΈ понятий, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², постулатов, ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ программирования для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π½Π° Π­Π’Πœ;
    • ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ модСль Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ) примСняСмых для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;
  • Бинтаксис / Syntax - ΠΏΡ€Π°Π²ΠΈΠ»Π° построСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ· символов, Π½ΠΎ Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΡΠΌΡ‹ΡΠ»ΠΎΠ²ΡƒΡŽ (ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ) Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠ΄Π°. Бинтаксис опрСдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ структуру ΠΊΠΎΠ΄Π°.
  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ / Value - Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, записанная Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ мСсто памяти Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.
  • Π’ΠΈΠΏ / Type - мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π°Π΄ этими значСниями. НапримСр, Π² JavaScript Ρ‚ΠΈΠΏ Boolean ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π΄Π²Π° значСния true ΠΈ false ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ, Ρ‚ΠΈΠΏ Null ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null, Π° Ρ‚ΠΈΠΏ Number мноТСство Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ограничСниями Π½Π° минимальноС ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ограничСния Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ + - * ** / % ++ -- > < >= <= & | ~ ^ << >>.
  • Π›ΠΈΡ‚Π΅Ρ€Π°Π» / Literal - запись значСния Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр: Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ чисСл, логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, null ΠΈ undefined, строк, массивов, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис, ΠΎΡ‚ ΠΎΡ‡Π΅Π½ΡŒ простого, для записи чисСл, Π΄ΠΎ слоТных синтаксичСских конструкций, для записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • Бкаляр / Scalar / Primitive / Atomic value - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Бкаляр копируСтся ΠΏΡ€ΠΈ присвоСнии ΠΈ пСрСдаСтся Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.
  • Бсылка / Reference ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ссылочного Ρ‚ΠΈΠΏΠ°, Ρ‚.Π΅. Π½Π΅ скалярноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, для JavaScript это ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΡ‹ Object, Function, Array.
  • Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ / Identifier - ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, констант, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², классов, ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅.
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ / Variable - имСнованная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€), ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, адрСс ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ константы (Π° для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языков ΠΈ Ρ‚ΠΈΠΏ): let cityName = 'Beijing';
  • ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ / Assignment - связывания значСния ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ присвоСния Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ присваиваСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ выраТСния).
  • ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° / Constant - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ связано нСизмСняСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ: const WATCH_TIMEOUT = 5000;
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ / Composed types - ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈΠ»ΠΈ структуры состоят ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… скалярных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ± Π½Π°Π΄ этим ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, массив, мноТСство, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.
  • ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ / Enumerated types
  • Π€Π»Π°Π³ / Flag - ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ состояниС Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ закрытия соСдинСния, ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ поиска ΠΏΠΎ структурС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄. НапримСр: let flagName = false; Иногда Ρ„Π»Π°Π³Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ логичСскиС, Π° пСрСчислимыС Ρ‚ΠΈΠΏΡ‹.
  • Алгоритм / Algorithm - это Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС порядка вычислСний для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса Π·Π°Π΄Π°Ρ‡ Π·Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ врСмя (ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ для любого мноТСства Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…).
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° / Program - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ для вычислСния ΠΈ управлСния Π­Π’Πœ.
  • Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ / Engineering - ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ практичСской ΠΏΠΎΠ»ΡŒΠ·Ρ‹ ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ рСсурсов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π°ΡƒΠΊΠΈ, Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ структуры, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΈ Π·Π½Π°Π½ΠΈΠΉ.
  • Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния / Software engineering - ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ ΠΊ индустрии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, исслСдованиС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, тСстированиС, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ПО.
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Programming - это искусство ΠΈ инТСнСрия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.
  • ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Coding - написаниС исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ синтаксиса (языка), стиля ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΏΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΌΡƒ Π’Π—.
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния / Software development - это соСдинСниС программирования ΠΈ кодирования Π½Π° всСх этапов ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ПО: проСктирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, тСстирования, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, сопровоТдСния ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ / Instruction - ΠΎΠ΄ΠΈΠ½ шаг Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° вычислСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ инструкция процСссора исполняСтся CPU.
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ / Statement - наимСньшая синтаксичСская Ρ‡Π°ΡΡ‚ΡŒ языка программирования, исполняСмая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, срСдой ΠΈΠ»ΠΈ компилируСмая Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.
  • Команда / Command - атомарная Π·Π°Π΄Π°Ρ‡Π° для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора.
  • Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ / Expression - синтаксичСская конструкция языка программирования прСдназначСнная для выполнСния вычислСний. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: (len - 1) * f(x, INTERVAL)
  • Π‘Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° / Block - логичСски связанная Π³Ρ€ΡƒΠΏΠΏΠ° инструкций ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π‘Π»ΠΎΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости. Π‘Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: {}, (+ a b), begin end, отступы Π² Python.
  • ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° / Procedure or Subroutine - логичСски связанная Π³Ρ€ΡƒΠΏΠΏΠ° инструкций ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ имя. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° способствуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΈ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках (Π½ΠΎ Π½Π΅ Π² JavaScript) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° описываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ синтаксиса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΈΠΏΠ° void).
  • Ѐункция / Function - абстракция прСобразования Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ѐункция ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° Π±Π»ΠΎΠΊΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Ѐункция ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Ѐункция способствуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΈ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π’ JavaScript функция описываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ function ΠΈΠ»ΠΈ синтаксиса стрСлок (лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ).
  • Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ / Function signature - имя (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€), количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΠΈΠΌΠ΅Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²), Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.
  • ΠœΠ΅Ρ‚ΠΎΠ΄ / Method
    • функция ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, связанная с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ контСкстом ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ интСрфСйсом;
    • { a: 10, b: 10, sum() { return this.a + this.b; } }
  • Π¦ΠΈΠΊΠ» / Loop
    • ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ исполнСниС Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²
  • УсловиС / Conditional statements
    • синтаксичСская конструкция, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ дСйствия ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π·Π½Ρ‹Π΅ значСния (Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€) Π² зависимости ΠΎΡ‚ логичСского выраТСния (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ true ΠΈΠ»ΠΈ false)
  • РСкурсия / Recursion - Π·Π°Π΄Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° вычислСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² Π΅Π΅ самой (прямой ΠΈΠ»ΠΈ нСпрямой) ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π΅ саму.
    • КосвСнная (нСпрямая) рСкурсия - ΠΊΠΎΠ³Π΄Π° функция ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сСбя Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π° Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ»ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
    • Π₯востовая - частный случай, ΠΊΠΎΠ³Π΄Π° рСкурсивный Π²Ρ‹Π·ΠΎΠ² являСтся послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ значСния, Ρ‡Ρ‚ΠΎ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² Ρ†ΠΈΠΊΠ», Π΄Π°ΠΆΠ΅ автоматичСским способом. НС хвостовая Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² Ρ†ΠΈΠΊΠ» ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТным способом, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.
  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° / String
    • ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов (Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· синтаксис доступа ΠΊ элСмСнтам массива, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки).
  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ / Collection - структура Π΄Π°Π½Π½Ρ‹Ρ…, слуТащая для хранСния Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ доступ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ индСксам ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.
  • Массив / Array - коллСкция элСмСнтов, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся ΠΏΠΎ индСксам. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: const cities = ['Tehran', 'Yalta', 'Potsdam'];
  • ΠžΡ‚Π»Π°Π΄ΠΊΠ° / Debug - процСсс обнаруТСния ΠΈ устранСния ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний ΠΈΠ»ΠΈ инструмСнтов: ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°, дСкомпилятора, систСм ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° рСсурсов ΠΈ логирования, систСм Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ тСстирования.
  • ЦП / CPU - Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор / central processing unit - устройство, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции.
  • АЛУ / ALU - Π±Π»ΠΎΠΊ ЦП, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ арифмСтичСскиС ΠΈ логичСскиС прСобразования Π½Π°Π΄ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ словами, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа, числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, адрСсами памяти, строками, логичСскими Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ / Component - нСсколько ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, классов, ΠΌΠΎΠ½Π°Π΄, Ρ‚ΠΈΠΏΠΎΠ²) ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ / Module - цСлостный, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ, нСзависимый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ имя, интСрфСйс, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ / Modularity
    • ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ ΠΈ тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎ частям;
    • ограничСния: ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ классы/ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка программирования, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ/ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°; ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ слабо связаны, Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· внСшнСС API (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) ΠΈΠ»ΠΈ ΡˆΠΈΠ½Ρƒ событий (Ссли систСма построСна Π½Π° событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ, подпискС).
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° / Library - сборник ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, классов, ΠΌΠΎΠ½Π°Π΄, Ρ‚ΠΈΠΏΠΎΠ²) ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования (часто ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ). Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° это Π±ΠΎΠ»Π΅Π΅ крупная логичСская Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Иногда Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ синоним модуля, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ / Complexity
    • Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ / Computational complexity
    • ΠšΠΎΠ»ΠΌΠΎΠ³ΠΎΡ€ΠΎΠ²ΡΠΊΠ°Ρ (ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ) ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ / Kolmogorov (descriptive) complexity
    • Если Π½Π΅Ρ‚ Ρ†ΠΈΠΊΠ»ΠΎΠ², Ρ‚ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ с Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ЭкзСмпляр / Object or Instance - структура Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащая состояниС ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, связанныС с этим состояниСм. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΊΠ°ΠΊ Π»ΠΈΡ‚Π΅Ρ€Π°Π» {} ΠΈΠ»ΠΈ экзСмпляр класса new ClassName() ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ экзСмпляр ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° new PrototypeConstructor() ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ ΠΈΠ· Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ.
    • const person = { name: 'Marcus', city: 'Roma', born: 121 };
    • const person = new Person('Marcus', 'Roma', 121);
  • Класс / Class - программная абстракция, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π°Ρ состояниС ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹) своих экзСмпляров (инстансов).
    • class Point { constructor(x, y) { this.x = x; this.y = y; } }
    • class Rect { move(x, y) { this.x += x; this.y += y; } }
    • class Square extends Rect { constructor(x, y, m) { super(x, y, m, m); } }
    • class Point { static from(point) { return new Point(this.x, this.y); } }
  • ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ / Prototype - ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ экзСмпляры ΠΈ наслСдники. Бвойства ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° становятся Π²ΠΈΠ΄Π½Ρ‹ Ρƒ наслСдников, Ссли эти свойства Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρƒ наслСдников. ЀормируСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ происходит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ поиск свойств, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнут ΠΊΠΎΠ½Π΅Ρ† Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ наслСдования. Иногда ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ понимаСтся шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ клонируСтся Π²ΠΎ врСмя инстанциирования (Π½Π΅ для JavaScript).
  • Π˜Π½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Instantiation - созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (экзСмпляра) ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти для структуры Π΄Π°Π½Π½Ρ‹Ρ….
    • const rect = new Rectangle(-50, -50, 100, 150);
    • const rect = { a: { x: -50, y: -50 }, b: { x: 100, y: 150 } };
    • const cities = new Array(1000);
    • const cities = ['Tehran', 'Kiev', 'Yalta', 'Beijing', 'Potsdam', 'London'];
  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости / Scope - Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ "Π²ΠΈΠ΄Π΅Π½" ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.
  • ЛСксичСский контСкст / Lexical environment - Π½Π°Π±ΠΎΡ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², связанных с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ значСниями Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° (Π² Ρ‚ΠΎΠΌ числС Π±Π»ΠΎΠΊΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ², условий ΠΈ Ρ‚.Π΄.).
  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ контСкст Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, связанный со слуТСбным ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ this. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ стрСлочных, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ контСкстом. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ связан с this Ссли функция являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ссли функция привязана ΠΊ Π½Π΅ΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· bind ΠΈΠ»ΠΈ Π²Ρ‹Π·Π²Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· apply ΠΈ call.
  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ контСкст / Global context - Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-справочник. Если ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ находится Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… лСксичСских контСкстов, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π΅Π³ΠΎ поиск Π² глобальном контСкстС (global, window, sandbox).
  • ОбъявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ / Function definition - способ объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄Π΅Π½ ΠΈΠ· любого мСста Π² лСксичСском контСкстС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ объявлСна функция, ΠΏΡ€ΠΈΠΌΠ΅Ρ€: function sum(a, b) { return a + b; }
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ / Function expression - связываниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ присвоСния, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ доступно Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ Π²ΠΎ всСм лСксичСском контСкстС, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС мСста присвоСния. Π˜ΠΌΠ΅Π΅Ρ‚ нСсколько синтаксичСских Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:
    • Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ / Named function expression
      • const max = function max(a, b) { return a + b; };
    • Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ / Anonymous function expression
      • const max = function(a, b) { return a + b; };
    • лямбда-функция / Lambda function
      • const max = (a, b) => { return a + b; };
    • лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ѐункция-стрСлка / Lambda expression, Arrow function
      • const max = (a, b) => (a + b);
  • Чистая функция / Pure Function
    • функция, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° основС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ состояния ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°ΡΡΡ ΠΊ опСрациям Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°
    • функция, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всСгда Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, Ρ‚.Π΅. для любого Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
    • функция, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов (см. ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт)
  • Π—Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ / Closure
    • Ссли Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ g ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f, Ρ‚ΠΎ g Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ контСкст Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f, Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ свои Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹;
    • Ссли f Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ g, Ρ‚ΠΎ говорят, Ρ‡Ρ‚ΠΎ экзСмпляр g Π·Π°ΠΌΠΊΠ½ΡƒΠ» контСкст f;
    • способ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с контСкстом (с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ контСкста);
    • Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ свойств Π² ООП, Ρ‚ΠΎΠΆΠ΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ свойства с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎ сути ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ООП сам являСтся контСкстом связывания;
    • ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ замыкания ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ наслСдованиС;
    • const add = a => b => a + b;
    • const hash = (data = {}) => (key, value) => (data[key] = value, data);
  • БупСрпозиция / Superposition
    • объСдинСниС Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² выраТСния Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ΄Π½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ становится Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
    • const expr2 = add(pow(mul(5, 8), 2), div(inc(sqrt(20)), log(2, 7)));
  • ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ / Composition
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ / Instruction - ΠΎΠ΄ΠΈΠ½ шаг Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° вычислСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ инструкция процСссора исполняСтся CPU.
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ / Statement - наимСньшая синтаксичСская Ρ‡Π°ΡΡ‚ΡŒ языка программирования, исполняСмая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, срСдой ΠΈΠ»ΠΈ компилируСмая Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.
  • Команда / Command - атомарная Π·Π°Π΄Π°Ρ‡Π° для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора.
  • Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ / Expression - синтаксичСская конструкция языка программирования прСдназначСнная для выполнСния вычислСний. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β (len - 1) * f(x, INTERVAL)
  • Π‘Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° / Block - логичСски связанная Π³Ρ€ΡƒΠΏΠΏΠ° инструкций ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π‘Π»ΠΎΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости. Π‘Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:Β {},Β (+ a b),Β begin end, отступы Π² Python.
  • ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° / Procedure or Subroutine - логичСски связанная Π³Ρ€ΡƒΠΏΠΏΠ° инструкций ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ имя. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° способствуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΈ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках (Π½ΠΎ Π½Π΅ Π² JavaScript) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° описываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ синтаксиса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΈΠΏΠ° void).
  • Ѐункция / Function - абстракция прСобразования Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ѐункция ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° Π±Π»ΠΎΠΊΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Ѐункция ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Ѐункция способствуСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΈ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π’ JavaScript функция описываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ function ΠΈΠ»ΠΈ синтаксиса стрСлок (лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ). Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ / Function signature - имя (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€), количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΠΈΠΌΠ΅Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²), Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.
  • ΠœΠ΅Ρ‚ΠΎΠ΄ / Method функция ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, связанная с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ контСкстом ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ интСрфСйсом; { a: 10, b: 10, sum() { return this.a + this.b; } }
  • Π¦ΠΈΠΊΠ» / Loop - ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ исполнСниС Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²
  • УсловиС / Conditional statements - синтаксичСская конструкция, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ дСйствия ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π·Π½Ρ‹Π΅ значСния (Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€) Π² зависимости ΠΎΡ‚ логичСского выраТСния (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ true ΠΈΠ»ΠΈ false)
  • РСкурсия / RecursionΒ - Π·Π°Π΄Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° вычислСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² Π΅Π΅ самой (прямой ΠΈΠ»ΠΈ нСпрямой) ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π΅ саму.
  • КосвСнная (нСпрямая) рСкурсия - ΠΊΠΎΠ³Π΄Π° функция ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сСбя Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π° Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ»ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
  • Π₯востовая - частный случай, ΠΊΠΎΠ³Π΄Π° рСкурсивный Π²Ρ‹Π·ΠΎΠ² являСтся послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ значСния, Ρ‡Ρ‚ΠΎ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² Ρ†ΠΈΠΊΠ», Π΄Π°ΠΆΠ΅ автоматичСским способом. НС хвостовая Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² Ρ†ΠΈΠΊΠ» ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТным способом, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.
  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° / String - ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов (Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· синтаксис доступа ΠΊ элСмСнтам массива, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки).
  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ / CollectionΒ - структура Π΄Π°Π½Π½Ρ‹Ρ…, слуТащая для хранСния Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ доступ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ индСксам ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.
  • Массив / Array - коллСкция элСмСнтов, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся ΠΏΠΎ индСксам. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β const cities = ['Tehran', 'Yalta', 'Potsdam'];
  • ΠžΡ‚Π»Π°Π΄ΠΊΠ° / Debug - процСсс обнаруТСния ΠΈ устранСния ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний ΠΈΠ»ΠΈ инструмСнтов: ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°, дСкомпилятора, систСм ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° рСсурсов ΠΈ логирования, систСм Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ тСстирования.
  • ЦП / CPU - Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор / central processing unit - устройство, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции.
  • АЛУ / ALU - Π±Π»ΠΎΠΊ ЦП, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ арифмСтичСскиС ΠΈ логичСскиС прСобразования Π½Π°Π΄ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ словами, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа, числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, адрСсами памяти, строками, логичСскими Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ / Component - нСсколько ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, классов, ΠΌΠΎΠ½Π°Π΄, Ρ‚ΠΈΠΏΠΎΠ²) ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ / Module - цСлостный, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ, нСзависимый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ имя, интСрфСйс, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.)
    • const compose = (f1, f2) => x => f2(f1(x));
    • const compose = (...funcs) => (...args) => (funcs.reduce((args, fn) => [fn(...args)], args));
  • ЧастичноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ / Partial application
    • const partial = (fn, x) => (...args) => fn(x, ...args);
  • ΠšΠ°Ρ€Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Currying
    • const result = curry((a, b, c) => (a + b + c))(1, 2)(3);
  • ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты / Side effects
  • Ѐункция Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка / Higher-order Function
    • Ссли функция Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, Ρ‚ΠΎ это ΠΊΠΎΠ»Π±Π΅ΠΊ;
    • Ссли функция Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Ρ‚ΠΎ это Ρ„Π°Π±Ρ€ΠΈΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° замыканиях;
    • Ссли возвращаСмая функция ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ смысл, Ρ‡Ρ‚ΠΎ ΠΈ получаСмая Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… (+ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅), Ρ‚ΠΎ это ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°;
    • ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ возвращаСмая функция Π½Π΅ связана с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (Π½ΠΎ ΠΏΠΎΠΊΠ° Π½ΠΈ ΠΊΡ‚ΠΎ Π½Π΅ нашСл Π²Ρ€Π°Π·ΡƒΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π³Π΄Π΅ это Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ);
    • Ссли Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ класс ΠΈΠ»ΠΈ функция-конструктор, Ρ‚ΠΎ это Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ классов ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² соотвСтствСнно;
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ наслСдованиС / Functional Inheritance - ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ, частичного примСнСния, каррирования, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… лямбд.
  • ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° / Wrapper
    • функция, которая ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, интСрфСйс ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚), добавляя Π΅ΠΌΡƒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅;
    • ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ API интСрфСйс ΠΈ Π΄Π°ΠΆΠ΅ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вмСстС с ΠΊΠΎΠ»Π±Π΅ΠΊΠ°ΠΌΠΈ (Ссли извСстСн ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚);
  • Π”ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ / Generics
    • ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ - ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡΡΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ / Interface
    • Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ контСкстом ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ структурам Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Ρ‚.Π΅. смыслом (API);
    • способ опрСдСлСния (спСцификации) ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ связаны ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹;
    • Набор ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс / Application Interface, API
    • интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²: ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, слоСв абстракции, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
  • Π‘ΠΈΠ½Π³Π»Ρ‚ΠΎΠ½ / Singleton
    • шаблон проСктирования, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½ (процСссС, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…) Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр класса (ΠΈΠ»ΠΈ просто ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ (извСстному) ΠΈΠΌΠ΅Π½ΠΈ;
  • Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΊΠΎΠ»Π±Π΅ΠΊ / Callback
    • функция пСрСдаваСмая Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° значСния, ошибки ΠΈΠ»ΠΈ увСдомлСния;
    • Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΡ‹:
  • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Iteration - ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Π΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ: элСмСнтами массивов, мноТСств, списков, ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ значСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°.
  • Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Iterator - интСрфСйс доступа ΠΊ элСмСнтам ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ: массива, мноТСства, списка;
  • Π€Π°ΠΉΠ» / File
  • ΠŸΠΎΡ‚ΠΎΠΊ, Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ / Stream, File Stream
  • Π‘ΠΎΠΊΠ΅Ρ‚ / Socket - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс (ΠΈΠ»ΠΈ абстракция) для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами.
  • ДСскриптор / Handle - ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы): Ρ„Π°ΠΉΠ»Π°, сокСта, ΠΎΠΊΠ½Π°, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, соСдинСния ΠΈ Ρ‚.Π΄.
  • БостояниС / State - ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…), ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌ.
  • Кэш / Cache - мСсто Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния Π΄Π°Π½Π½Ρ‹Ρ… (Π±ΡƒΡ„Π΅Ρ€, коллСкция, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти) для быстрого доступа ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния, вычислСний, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи (ΠΊΠΎΠ³Π΄Π° запись Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° достаточно быстро) ΠΈΠ»ΠΈ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π² Π±ΡƒΡ„Π΅Ρ€ (ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Ρ‹ с наибольшСй Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ).
  • Π₯ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Hashing - ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (Π±ΡƒΡ„Π΅Ρ€Π°, массива, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…) Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (Ρ…Π΅Ρˆ) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ…ΠΎΡ‚ΡŒ 1 Π±ΠΈΡ‚Π° Π² Π΄Π°Π½Π½Ρ‹Ρ… Ρ…Π΅Ρˆ мСняСтся сущСствСнно).
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½, ΠΊΠ°ΠΊ функция ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
  • Π€ΡƒΠ½ΠΊΡ‚ΠΎΡ€ / Functor - это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π΅Ρ‰Π΅ ΠΈ рСкурсивным Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ΠΌ. Π€ΡƒΠ½ΠΊΡ‚ΠΎΡ€ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ map).
  • Аппликативный Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ - Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ apply.
  • Монада / Monad - Π°ΠΏΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ chain.
  • ΠœΠ΅ΠΌΠΎΠΈΠ·Π°Ρ†ΠΈΡ / Memoization - ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π°Ρ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для прСдотвращСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… вычислСний.
  • ΠŸΡ€ΠΈΠΌΠ΅ΡΡŒ / Mixin - Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ свойств, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ повСдСния ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ послС Π΅Π³ΠΎ инстанциирования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Object.assign(target, { field1, field2 }, { field3 });
  • Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ / Decorator - шаблон оборачивания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для добавлСния Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π΅Π· наслСдования ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ синтаксиса.
  • НаслСдованиС / Inheritance
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС / Multiple Inheritance
  • НСпрямоС наслСдованиС / Indirect Inheritance
  • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Generator
  • Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Iterable and Iterator
  • Π’Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ / I/O, Input-output
    • ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, выходящиС Π·Π° Ρ€Π°ΠΌΠΊΠΈ CPU ΠΈ RAM (Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСского устройства ΠΈ памяти), Ρ‚.Π΅. ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с устройствами Π²Π²ΠΎΠ΄Π° Π²Ρ‹Π²ΠΎΠ΄Π°: ΡΠ΅Ρ‚ΡŒ, диск, ΠΏΠΎΡ€Ρ‚Ρ‹, консоль (ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ экран), Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства (взаимодСйствиС с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½Π° порядки ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² АЛУ ΠΈ памяти);
  • EventEmitter
    • ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ абстракция для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с событиями Ρ‡Π΅Ρ€Π΅Π· подписку (subscription: addListener, on, once) ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ (emit)
  • Π§Π΅ΠΈΠ½ΠΈΠ½Π³ / Chaining
    • Ρ†Π΅ΠΏΠΎΡ‡Π½Ρ‹ΠΉ синтаксис Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ total(april)(may)(july) ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² array.filter(f1).reduce(f2)
  • БСриализация / Serialization - ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΉ Π² памяти) Π² Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ² (бинарная сСриализация) ΠΈΠ»ΠΈ Π² строку (тСкстовая сСриализация).
  • ДСсСриализация / Deserialization - опСрация, обратная сСриализации, Ρ‚.Π΅. восстановлСниС структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚ΠΎΠ² (Ρ‡Π°Ρ‰Π΅ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ»ΠΈ строки).
  • ΠŸΠ°Ρ€ΡΠΈΠ½Π³ / Parsing - синтаксичСский Π°Π½Π°Π»ΠΈΠ· тСкста, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ:
    • для Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ - AST-Π΄Π΅Ρ€Π΅Π²ΠΎ;
    • для слабоструктурированного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° - структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Ρ‡Π΅Ρ‚ΠΊΡƒΡŽ структуру, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ частично пСрСнСсСны Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· слабой структуры;
    • для Π΄Ρ€ΡƒΠ³ΠΈΡ… СстСствСнных ΠΈΠ»ΠΈ искусствСнных языков - ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅;
  • РСгулярныС выраТСния / Regular Expressions - синтаксичСская конструкция, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ порядок парсинга Π΄Ρ€ΡƒΠ³ΠΎΠΉ синтаксичСской конструкции.
  • Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ / Dependency - ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (зависимый) "Π·Π½Π°Π΅Ρ‚" Π΄Ρ€ΡƒΠ³ΠΎΠΉ; это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (рСализация ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ) ΠΈΠ»ΠΈ ΠΎΠ½ ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ½ "Π·Π½Π°Π΅Ρ‚" структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.
  • ДСкомпозиция / Decomposition - Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π° части ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΈ этом, каТдая Ρ‡Π°ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ появится Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, которая опрСдСляСт порядок связи всСх частСй (ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ).
  • Π›Π΅Π½ΠΈΠ²ΠΎΡΡ‚ΡŒ / Lazy
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок / Error handling
  • Π€Π°Π±Ρ€ΠΈΠΊΠ° / Factory - функция ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ для инстациирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… абстракций, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, экзСмпляров класса Π² ΠΎΠ±Ρ…ΠΎΠ΄ конструктора ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠŸΡƒΠ» / Object Pool - ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ инстанциированных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΈΠ»ΠΈ массивов, сокСтов, Π±ΡƒΡ„Π΅Ρ€ΠΎΠ², структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… абстракций) ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ… Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ экзСмпляры (вмСсто инстанциирования Π½ΠΎΠ²Ρ‹Ρ…) ΠΈ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… послС использования.
  • Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ / Timers
  • АдаптСр / Adapter - ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ достиТСния совмСстимости, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ класс, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с нСсовмСстимым ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½.
  • БтратСгия (Strategy) - ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· совмСстимых ΠΈ взаимозамСняСмых классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ), Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ интСрфСйс. АктуалСн ΠΈ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования.
  • Ѐасад / Facade - ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ для скрытия слоТности. Ѐасад скрываСт нСсколько инстансов Ρ€Π°Π·Π½Ρ‹Ρ… классов Π² своих свойствах (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ…, Π½ΠΎ для JS этого ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚) ΠΈ прСдоставляСт ΠΎΠ±Ρ‰ΠΈΠΉ (фасадный) интСрфСйс для управлСния ΠΈΠΌΠΈ. Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π°Π½Π°Π»ΠΎΠ³ фасада - функция ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°, ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ инстансы Π² своСм контСкстС ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ доступ ΠΊ Π½ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (с Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ΠΌ) ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ инстанса (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊ скрываСмым инстансам Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅).

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

  • Π›ΠΈΠ½Ρ‚Π΅Ρ€ / Linter - статичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° (Π±Π΅Π· запуска), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ стилистичСскиС, грамматичСскиС ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ просто Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ автоматичСски).
  • БистСма контроля вСрсий
  • ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
  • НСпрСрывная интСграция
  • ВСстированиС

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

  • Π—Π°ΠΏΠΈΡΡŒ ΠΈΠ»ΠΈ структура / Struct or Record
  • Массив / Array
  • Бписок / List
    • ΠžΠ΄Π½ΠΎΡΠ²ΡΠ·Π½Ρ‹ΠΉ, двусвязный, ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠΉ, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ список (список массивов)
    • РСализация Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, массивах ΠΈ замыканиях
    • РСализация Π½Π° синтаксисС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ², классов ΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊ
    • РСализация Π½Π° замыканиях ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…
    • РСализация Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π΄Π²ΡƒΡ… катСгориях (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ·Π΅Π» ΠΈΠ»ΠΈ список ΠΈ ΡƒΠ·Π΅Π»)
  • Π‘Ρ‚Π΅ΠΊ, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π΄Π΅ΠΊ
    • Π‘Ρ‚Π΅ΠΊ / Stack - список, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ LIFO;
    • ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ / Queue - список, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ FIFO;
    • Π”Π΅ΠΊ / Dequeue - двухсторонний список, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ стСк ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ;
  • Π”Π΅Ρ€Π΅Π²ΠΎ
  • Π”Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, поисковоС Π΄Π΅Ρ€Π΅Π²ΠΎ, красно-Ρ‡Π΅Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ.
  • ΠšΡƒΡ‡Π° / Heap - дрСвовидная структура Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти для динамичСского распрСдСлСния ΠΏΠΎΠ΄ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….
  • Π“Ρ€Π°Ρ„ / Graph
  • Π‘ΡƒΡ„Π΅Ρ€ / Buffer - ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти для хранСния Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°).
  • Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ массивы
  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ / Collection - структура Π΄Π°Π½Π½Ρ‹Ρ…, слуТащая для хранСния Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ доступ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ индСксам ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ / Set
    • структура Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ матСматичСскоС "мноТСство";
    • структура Π΄Π°Π½Π½Ρ‹Ρ…, слуТащая для хранСния ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ индСксов ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ порядок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, индСкс Π² массивС, ΠΎΠ΄Π½Π°ΠΊΠΎ, мноТСство абстрагируСт нас ΠΎΡ‚ этой особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ).
  • ΠšΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π₯Сшмап / Map, Key-value

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ понятия

АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Asynchronous Programming
  • ΠΠ΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ опСрация / Non-blocking I/O
  • АсинхронноС ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / Asynchronous Iterable
  • Асинхронный ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… / Asynchronous data collector
  • ΠŸΡ€ΠΎΠΌΠΈΡ / Promise
  • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Generator Function
  • Асинхронный Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Asynchronous Generator Function
  • Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Iterator
  • Асинхронный ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Asynchronous Iterator
  • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ / Iterable
  • Асинхронная композиция Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ / Asynchronous Function Composition
  • Thenable
  • async/await
  • Асинхронная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ / Asynchronous Queue
  • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ конструктор / Revealing Constructor
  • Π€ΡŒΡŽΡ‡Π΅Ρ€ / Future
  • Π”ΠΈΡ„Π΅Ρ€ / Deferred
  • МодСль Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² / Actor Model
  • ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ / Observer
  • ΠŸΠΎΡ‚ΠΎΠΊ событий / Event stream

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • БостояниС Π³ΠΎΠ½ΠΊΠΈ / Race Condition - состояниС Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмС, ΠΊΠΎΠ³Π΄Π° нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² исполнСния конкурируя Π·Π° ΠΎΠ±Ρ‰ΠΈΠΉ рСсурс портят Π΄Π°Π½Π½Ρ‹Π΅, приводят ΠΊ нСпрСдусмотрСнному порядку исполнСния, Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΈ Ρ‚.Π΄., Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ рСсурсов, нСпрСдсказуСмому ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ повСдСнию, уязвимостям, Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • Взаимная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° / Deadlock - состояниС Π² многопроцСссовой (распрСдСлСнной) систСмС, ΠΊΠΎΠ³Π΄Π° нСсколько процСссов Π·Π°Ρ…Π²Π°Ρ‚ΠΈΠ»ΠΈ рСсурсы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π², Ρ‚Π΅ΠΌ самым Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.
  • Livelock - зациклСнная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, бСсконСчно ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ состояниС, Π½ΠΎ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • РСсурсный Π³ΠΎΠ»ΠΎΠ΄ / Resource starvation - состояниС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмС (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ), ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° постоянно Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ доступ ΠΊ рСсурсам (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ раздСляСмым), ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.
  • ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ сСкция / Critical section - участок исполняСмого ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ производится ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΉ доступ ΠΊ раздСляСмому рСсурсу.
  • ΠŸΠΎΡ‚ΠΎΠΊΠΈ / Threads
    • SharedArrayBuffer
    • worker_threads Π² Node.js
  • АтомарныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ / Atomics
  • Π‘Π΅ΠΌΠ°Ρ„ΠΎΡ€ / Semaphore
  • ΠœΡŒΡŽΡ‚Π΅ΠΊΡ / Mutex

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования

More Repositories

1

Index

Metarhia educational program index πŸ“–
JavaScript
3,216
star
2

Book

Metaprogramming. Multi-paradigm approach in the Software Engineering.
JavaScript
461
star
3

NodejsStarterKit

Starter Kit for Node.js 16 or later, minimum dependencies πŸš€
JavaScript
436
star
4

Letters

Письма ΠΊ студСнтам курса
JavaScript
105
star
5

DDD

Domain-driven design
JavaScript
100
star
6

NodeServer

Compare node.js servers
JavaScript
74
star
7

Exams

Exams readiness test
JavaScript
62
star
8

Profile

Personal profile of software engineering skills
59
star
9

Certification

Certificates of Qualification in Software Engineering
39
star
10

Function

Functions as a method to raise level of code abstraction
JavaScript
37
star
11

DataTypes

Built-in data types
JavaScript
36
star
12

Reusable

Reusable abstractions
JavaScript
31
star
13

Metaprogramming

Metaprogramming examples
JavaScript
29
star
14

Tools

Development tools and environment configuration
JavaScript
28
star
15

InversionOfControl

IoC: dependency injection, module sandboxing, framework wrappers, etc.
JavaScript
23
star
16

Closure

Function closures and storing data in function scope
JavaScript
23
star
17

AbstractionLayers

Abstraction Layers
JavaScript
23
star
18

AsynchronousProgramming

Asynchronous Programming
JavaScript
22
star
19

HigherOrderFunction

Higher-order functions having functions as arguments or result
JavaScript
20
star
20

Promise

Asynchronous Programming with Promises
JavaScript
20
star
21

EventEmitter

Simple EventEmitter with multiple listeners
JavaScript
19
star
22

ChatGPT

How to work together with ChatGPT
JavaScript
19
star
23

API

Application Interface with HTTP Transport and JSON serialization
JavaScript
19
star
24

Generator

Generators, coroutines and some monads examples
JavaScript
19
star
25

Functor

Mappable objects
JavaScript
19
star
26

Composition

Function composition
JavaScript
18
star
27

Memoization

Memoization of synchronous and asynchronous functions
JavaScript
18
star
28

WebsocketChat

Simple browser chat with websocket and node.js
HTML
18
star
29

Benchmark

Performance testing for different techniques
JavaScript
17
star
30

PartialApplication

Partial function application and Currying
JavaScript
17
star
31

ServiceWorker

Service Workers for PWA caching, proxy and offline
JavaScript
16
star
32

InterProcessCommunication

Inter-process Communication
JavaScript
16
star
33

Mutex

Preventing race conditions with Mutual Exclusion
JavaScript
16
star
34

go-meetups

Lectures of Go meetups at HowProgrammingWorks
Go
14
star
35

Antipatterns

Antipatterns as a Worst Practices
JavaScript
14
star
36

Sandboxes

VM Sandboxes
JavaScript
14
star
37

Projection

Data structures projection
JavaScript
14
star
38

EventDrivenProgramming

Event-driven programming
HTML
14
star
39

Controller

GRASP: Controller principle
JavaScript
13
star
40

Databases

Work with Database Management Systems
JavaScript
13
star
41

ActorModel

Actor model (concurrent computation model)
JavaScript
13
star
42

Session

HTTP server with sessions, tokens, cookies
JavaScript
13
star
43

Graph

Directed graph implementations
JavaScript
12
star
44

Lowcode

Low-code simplified JavaScript
JavaScript
12
star
45

Wrapper

Wrapper functions, Interface wrappers, etc.
JavaScript
12
star
46

Observer

Pattern Observer
JavaScript
12
star
47

ProxyHTTP

Node.js HTTP Proxy
JavaScript
12
star
48

FunctionalProgramming

Functional Programming
JavaScript
11
star
49

LinkedList

Linked list data structure
Haskell
11
star
50

School

Modern school program
11
star
51

Threads

Multithreading: WorkerThreads, Workers, SheredWorkers
JavaScript
11
star
52

Abstractions

Programming is abstract thinking
JavaScript
11
star
53

Iteration

Different implementation of iterations as a code abstraction
JavaScript
10
star
54

Callbacks

Callbacks, Listeners and Events
JavaScript
10
star
55

Packages

Node.js Packages
JavaScript
10
star
56

RaceCondition

Race Condition
JavaScript
10
star
57

Semaphore

Binary Semaphore, Counting Semaphore
JavaScript
10
star
58

Environment

Environment Setup
9
star
59

Proxy

Proxy
JavaScript
9
star
60

Files

Files and file system
JavaScript
9
star
61

Cheatsheet

Language Cheatsheet
JavaScript
9
star
62

PrototypeChain

Chain of Prototype Inheritance
JavaScript
9
star
63

DependencyInjection

Resolving dependencies with dependency injection
JavaScript
9
star
64

Introduction

Introduction to programming
9
star
65

Modularity

Modularity and Dependency
JavaScript
9
star
66

Prototype

Prototype-oriented programming
JavaScript
8
star
67

Project

Example project
JavaScript
8
star
68

CommandLine

CLI, Command Line Interface and Console
JavaScript
8
star
69

LiveQA

Programming, JavaScript, Node.js, Architecture Seminars
8
star
70

VersionControl

Git Version Control System and GitHub Usage Recommendations
8
star
71

NonBlocking

Non blocking loops
JavaScript
8
star
72

ServeStatic

Serve static content with HTTP
JavaScript
8
star
73

Socket

Network Socket Endpoint Interface
JavaScript
8
star
74

AsyncAwait

Async/Await
JavaScript
8
star
75

LiveTable

Multiuser spreadsheet example
HTML
7
star
76

GracefulShutdown

Graceful shutdown for network servers
JavaScript
7
star
77

Chaining

Chaining with classes, ptototypes and functors
JavaScript
7
star
78

CodeReview

Code Review Examples
JavaScript
7
star
79

Future

Future as Asynchronous Abstraction
JavaScript
7
star
80

Thenable

Thenable contract
JavaScript
7
star
81

AsyncAdapter

Asynchronous Adapters
JavaScript
7
star
82

ConcurrentQueue

Asynchronous Concurrent Queue with Priority and Factor
JavaScript
7
star
83

Mixin

Mixin behavior, structure and relations
JavaScript
7
star
84

RegExp

Regular Expression is a Syntax to Define String Pattern
Java
7
star
85

Automata

Automata-based programming
JavaScript
6
star
86

DataStructures

Data structures basics
JavaScript
6
star
87

SQL

Structured Query Language
JavaScript
6
star
88

Transaction

Atomic transaction container for struct or object
JavaScript
6
star
89

Map

Map as Associative Array
JavaScript
6
star
90

Pool

Object Pool
JavaScript
6
star
91

Arrays

Arrays
JavaScript
6
star
92

PromiseError

Catch, unhandledRejection, rejectionHandled and multipleResolves
JavaScript
6
star
93

Application

Browser application loader example
JavaScript
6
star
94

hpw

Laboratory work auto checker
JavaScript
6
star
95

Node-API

Node-API (N-API)
C
5
star
96

MemoryLeaks

Memory Leaks
JavaScript
5
star
97

Lenses

Lenses, fp getter & setter
Haskell
5
star
98

Cancelable

Cancelable Asynchronous Abstractions
JavaScript
5
star
99

HttpRequest

HTTP, XMLHttpRequest, fetch
JavaScript
5
star
100

Decomposition

Decomposition and refactoring
JavaScript
5
star