SlideShare a Scribd company logo
1 of 90
2
Временная сложность
алгоритма
O(n)
3
Временная сложность
алгоритма
O(n)
4
Временная сложность
алгоритма
O(n)
4 операции
5
O-нотация - обозначение, описывающее
зависимость количества операций от
входных данных
6
O-нотация - обозначение, описывающее
зависимость количества операций от
входных данных
O(n)
7
Big O
[4, 6, 6, 7, 4, 7, 8, 5]
8
Big O
O(n)
[4, 6, 6, 7, 4, 7, 8, 5]
9
Big O
O(n)
[4, 6, 6, 7, 4, 7, 8, 5]
8
O(n/2)
10
Big O
O(n)
[4, 6, 6, 7, 4, 7, 8, 5]
8
O(n/2) 4
O( 𝑛2
)
11
Big O
O(n)
[4, 6, 6, 7, 4, 7, 8, 5]
8
O(n/2) 4
O( 𝑛2
) 64
O(2 𝑛
)
12
Big O
O(n)
[4, 6, 6, 7, 4, 7, 8, 5]
8
O(n/2) 4
O( 𝑛2
) 64
O(2 𝑛
) 256
13
Основные обозначения Big O
14
Big-O Complexity Chart
bigocheatsheet.com
15
Алгоритмы VS Структуры данных
Имплементация
16
Алгоритмы VS Структуры данных
Имплементация
17
Алгоритмы VS Структуры данных
Имплементация
O(n)
O(n) O(n) O(n) O(n)
18
Алгоритмы VS Структуры данных
Имплементация
O(n)
O(n) O(n) O(n) O(n)
0 1 2 3 4
{} {} {} {} {}
19
Алгоритмы VS Структуры данных
Имплементация
Интерфейс
O(n)
O(n) O(n) O(n) O(n)
0 1 2 3 4
{} {} {} {} {}
20
Алгоритмы VS Структуры данных
Имплементация
Интерфейс
O(n)
O(1) O(n) O(n) O(1)
0 1 2 3 4
{} {} {} {} {}
push() shift() unshift() length()
14
21
Cтруктуры данных “из коробки”
22
Cтруктуры данных “из коробки”
1. Array
23
Cтруктуры данных “из коробки”
1. Array
2. Hash Table (Object, Set, Map)
24
Cтруктуры данных “из коробки”
1. Array
2. Hash Table (Object, Set, Map)
Индексация Поиск Вставка Удаление
25
Cтруктуры данных “из коробки”
1. Array
2. Hash Table (Object, Set, Map)
Индексация Поиск Вставка Удаление
O(1) O(n) O(n) O(n)
26
Cтруктуры данных “из коробки”
1. Array
2. Hash Table (Object, Set, Map)
Индексация Поиск Вставка Удаление
O(1) O(n) O(n) O(n)
(N/A) O(1) O(1) O(1) O(1)
27
Пересечение масивов
28
Array.prototype.indexOf
29
Пересечение масивов
30
Множественные проверки
31
Множественные проверки
Стэк
32
Стэк
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
33
Стэк
1
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
34
Стэк
1
2
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
35
Стэк
1
2
3
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
36
Стэк
1
2
3
4
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
37
Стэк
1
2
3
4
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
38
Стэк
1
2
3
4
LIFO (англ. last in — first out, «последним пришёл — первым вышел»).
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
39
Стэк
1
2
LIFO (англ. last in — first out, «последним пришёл — первым вышел»).
1. Парсеры (<div><p><a></a></p></div>)
2. Транспиляторы ({“(({}))”})
3. Стэк вызовов функций JavaScript
4. Истории изменений
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
40
41
Стэк вызовов функций JavaScript
42
Базовая реализация
43
Очередь
44
Очередь
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
45
Очередь
1
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
46
Очередь
2 1
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
47
Очередь
3 2 1
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
48
Очередь
4 3 2 1
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
49
Очередь
FIFO (англ. first in — first out, «первым пришёл — первым вышел»).
4 3 2 1
firstlast
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
50
Очередь
FIFO (англ. first in — first out, «первым пришёл — первым вышел»).
1. Очереди
2. Очередь событий JavaScript
4 3 2 1
firstlast
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
51
Базовая реализация
52
Связанные списки
53
Связанные списки
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
54
Связанные списки
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
DATA
55
Связанные списки
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
DATA
DATA
56
Связанные списки
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
DATA
DATA
DATA
57
Связанные списки
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
DATA
DATA
DATA
DATA
58
1. Последовательности
Связанные списки
Индексация Поиск Вставка Удаление
O(n) O(n) O(1) O(1)
DATA
DATA
DATA
59
Бинарное дерево
52
60
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
53
61
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[5, 8, 13, 6, 4, 23, 9]
54
62
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[5, 8, 13, 6, 4, 23, 9]
indexOf()/includes() - O(n)
55
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[5, 8, 13, 6, 4, 23, 9]
indexOf()/includes() - O(n)
Hash table conversation - O(n + 1) => O(n) // O(1)
63
64
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[5, 8, 13, 6, 4, 23, 9]
indexOf()/includes() - O(n)
Binary search O(n log(n) + log(n)) => O(n log(n))
Hash table convertation - O(n + 1) => O(n) // O(1)
65
Бинарный поиск
[6, 5, 8, 13, 7, 4, 23, 9]
66
Бинарный поиск
[4, 5, 6, 7, 8, 9, 13, 23]
O(n log(n))
[6, 5, 8, 13, 7, 4, 23, 9]
67
Бинарный поиск
23
[4, 5, 6, 7, 8, 9, 13, 23]
68
Бинарный поиск
23
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
69
Бинарный поиск
23
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
70
Бинарный поиск
23
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
71
Бинарный поиск
23
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
[4, 5, 6, 7, 8, 9, 13, 23]
O(log(n))
72
Бинарный поиск
73
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
indexOf()/includes() - O(n)
Binary search O(n log(n) + log(n)) => O(n log(n))
Hash table conversation - O(n + 1) => O(n) // O(1)
Binary search tree - O(log(n))
[6, 5, 8, 13, 7, 4, 23, 9]
74
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
6
[6, 5, 8, 13, 7, 4, 23, 9]
75
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
5
6
[6, 5, 8, 13, 7, 4, 23, 9]
76
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
5 8
6
[6, 5, 8, 13, 7, 4, 23, 9]
77
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
13
5 8
6
[6, 5, 8, 13, 7, 4, 23, 9]
78
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
13
5 8
6
7
[6, 5, 8, 13, 7, 4, 23, 9]
79
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
13
5 8
6
4 7
[6, 5, 8, 13, 7, 4, 23, 9]
80
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
23
13
5 8
6
4 7
[6, 5, 8, 13, 7, 4, 23, 9]
81
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[6, 5, 8, 13, 7, 4, 23, 9]
9 23
13
5 8
6
4 7
82
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[6, 5, 8, 13, 7, 4, 23, 9]
9 23
13
5 8
6
4 7
83
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[6, 5, 8, 13, 7, 4, 23, 9]
9 23
13
5 8
6
4 7
84
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[6, 5, 8, 13, 7, 4, 23, 9]
9 23
13
5 8
6
4 7
85
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[6, 5, 8, 13, 7, 4, 23, 9]
9 23
13
5 8
6
4 7
86
Индексация Поиск Вставка Удаление
O(log(n)) O((log(n)) O((log(n)) O((log(n))
Бинарное дерево
[6, 5, 8, 13, 7, 4, 23, 9]
9 23
13
5 8
6
4 7
87
1. Использование структур данных шире хранения большого объёма
данных.
2. Исполнительные конструкции кода могут быть упрощены.
3. Правильный выбор СД структурирует приложение и делает код
понятнее.
4. Повторяющиеся вычисления не должны существовать.
5. Правильно подобранная СД для задачи ускоряет приложение.
88
1. https://habr.com/ru/post/359192/ - Классические алгоритмы и
структуры данных на JavaScript
2. https://github.com/trekhleb/javascript-algorithms - Репозиторий
реализаций
3. http://bigocheatsheet.com - Таблицы и графики Big O
4. https://habr.com/ru/post/339656/ - О выборе структур данных для
начинающих
5. https://habr.com/ru/post/422259/ - Основные структуры данных.
Матчасть. Азы
Материалы
89
“Умные структуры данных
и тупой код работают куда
лучше, чем наоборот.”
ESR
Any
questions?
Nick.Gromov.92 nick-gromov-1614b7125
+38 066 083 07 06

More Related Content

What's hot

Sap java connector / Hybris RFC
Sap java connector / Hybris RFCSap java connector / Hybris RFC
Sap java connector / Hybris RFC
Monsif Elaissoussi
 
Basic Sql Handouts
Basic Sql HandoutsBasic Sql Handouts
Basic Sql Handouts
jhe04
 

What's hot (20)

A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides
 
How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021
How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021
How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021
 
Cubes - Lightweight Python OLAP (EuroPython 2012 talk)
Cubes - Lightweight Python OLAP (EuroPython 2012 talk)Cubes - Lightweight Python OLAP (EuroPython 2012 talk)
Cubes - Lightweight Python OLAP (EuroPython 2012 talk)
 
Sap java connector / Hybris RFC
Sap java connector / Hybris RFCSap java connector / Hybris RFC
Sap java connector / Hybris RFC
 
Dependency Injection in Scala - Beyond the Cake Pattern
Dependency Injection in Scala - Beyond the Cake PatternDependency Injection in Scala - Beyond the Cake Pattern
Dependency Injection in Scala - Beyond the Cake Pattern
 
Basic Sql Handouts
Basic Sql HandoutsBasic Sql Handouts
Basic Sql Handouts
 
RxSwift
RxSwiftRxSwift
RxSwift
 
A critical assessment of organic farming and food
A critical assessment of organic farming and foodA critical assessment of organic farming and food
A critical assessment of organic farming and food
 
OpenGL SC 2.0 Quick Reference
OpenGL SC 2.0 Quick ReferenceOpenGL SC 2.0 Quick Reference
OpenGL SC 2.0 Quick Reference
 
Введение в программирование (1 часть)
Введение в программирование (1 часть)Введение в программирование (1 часть)
Введение в программирование (1 часть)
 
Be Smart, Constrain Your Types to Free Your Brain!
Be Smart, Constrain Your Types to Free Your Brain!Be Smart, Constrain Your Types to Free Your Brain!
Be Smart, Constrain Your Types to Free Your Brain!
 
Doctrine MongoDB Object Document Mapper
Doctrine MongoDB Object Document MapperDoctrine MongoDB Object Document Mapper
Doctrine MongoDB Object Document Mapper
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
Purely Functional Data Structures in Scala
Purely Functional Data Structures in ScalaPurely Functional Data Structures in Scala
Purely Functional Data Structures in Scala
 
Mysql creating stored function
Mysql  creating stored function Mysql  creating stored function
Mysql creating stored function
 
Izumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala StackIzumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala Stack
 
Введение в SQL
Введение в SQLВведение в SQL
Введение в SQL
 
Applicative Functor
Applicative FunctorApplicative Functor
Applicative Functor
 
Private cloud without vendor lock // Serverless
Private cloud without vendor lock // ServerlessPrivate cloud without vendor lock // Serverless
Private cloud without vendor lock // Serverless
 
Object Calisthenics Applied to PHP
Object Calisthenics Applied to PHPObject Calisthenics Applied to PHP
Object Calisthenics Applied to PHP
 

Similar to Структуры данных в JavaScript | Odessa Frontend Meetup #13

Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Mikhail Kurnosov
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Ontico
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry Zaitsev
Iosif Itkin
 

Similar to Структуры данных в JavaScript | Odessa Frontend Meetup #13 (17)

Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
JS Fest 2019/Autumn. Adam Leos. So why do you need to know Algorithms and Dat...
 
Logarifmy logarifmicheskaya funkciya
Logarifmy logarifmicheskaya funkciyaLogarifmy logarifmicheskaya funkciya
Logarifmy logarifmicheskaya funkciya
 
Python. Введение
Python. ВведениеPython. Введение
Python. Введение
 
Анализ эффективности выполнения алгоритма параллельной редукции в языке Cray ...
Анализ эффективности выполнения алгоритма параллельной редукции в языке Cray ...Анализ эффективности выполнения алгоритма параллельной редукции в языке Cray ...
Анализ эффективности выполнения алгоритма параллельной редукции в языке Cray ...
 
JS Fest 2019. Владимир Агафонкин. Быстро по умолчанию: алгоритмическое мышлен...
JS Fest 2019. Владимир Агафонкин. Быстро по умолчанию: алгоритмическое мышлен...JS Fest 2019. Владимир Агафонкин. Быстро по умолчанию: алгоритмическое мышлен...
JS Fest 2019. Владимир Агафонкин. Быстро по умолчанию: алгоритмическое мышлен...
 
Highload: специализированные высокопроизводительные индексы
Highload: специализированные высокопроизводительные индексыHighload: специализированные высокопроизводительные индексы
Highload: специализированные высокопроизводительные индексы
 
Highload. Создание специализированных высокопроизводительных индексов
Highload. Создание специализированных высокопроизводительных индексовHighload. Создание специализированных высокопроизводительных индексов
Highload. Создание специализированных высокопроизводительных индексов
 
Learning from Swift sources, Иван Сметанин
Learning from Swift sources, Иван СметанинLearning from Swift sources, Иван Сметанин
Learning from Swift sources, Иван Сметанин
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
 
Игорь Лабутин «Коллекционируем данные в .NET»
Игорь Лабутин «Коллекционируем данные в .NET»Игорь Лабутин «Коллекционируем данные в .NET»
Игорь Лабутин «Коллекционируем данные в .NET»
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry Zaitsev
 
Поиск ошибок в программах на языке C#
Поиск ошибок в программах на языке C#Поиск ошибок в программах на языке C#
Поиск ошибок в программах на языке C#
 
На что способны современные статические анализаторы для C#
На что способны современные статические анализаторы для C#На что способны современные статические анализаторы для C#
На что способны современные статические анализаторы для C#
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и Python
 

More from OdessaFrontend

Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
OdessaFrontend
 

More from OdessaFrontend (20)

Викторина | Odessa Frontend Meetup #19
Викторина | Odessa Frontend Meetup #19Викторина | Odessa Frontend Meetup #19
Викторина | Odessa Frontend Meetup #19
 
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
 
Великолепный Gatsby.js | Odessa Frontend Meetup #19
Великолепный Gatsby.js | Odessa Frontend Meetup #19Великолепный Gatsby.js | Odessa Frontend Meetup #19
Великолепный Gatsby.js | Odessa Frontend Meetup #19
 
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
 
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
 
Викторина | Odessa Frontend Meetup #17
Викторина | Odessa Frontend Meetup #17Викторина | Odessa Frontend Meetup #17
Викторина | Odessa Frontend Meetup #17
 
Антихрупкий TypeScript | Odessa Frontend Meetup #17
Антихрупкий TypeScript | Odessa Frontend Meetup #17Антихрупкий TypeScript | Odessa Frontend Meetup #17
Антихрупкий TypeScript | Odessa Frontend Meetup #17
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
 
OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17
OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17
OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17
 
Объекты в ECMAScript | Odessa Frontend Meetup #16
Объекты в ECMAScript | Odessa Frontend Meetup #16Объекты в ECMAScript | Odessa Frontend Meetup #16
Объекты в ECMAScript | Odessa Frontend Meetup #16
 
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
 
Cлайдер на CSS | Odessa Frontend Meetup #16
Cлайдер на CSS | Odessa Frontend Meetup #16Cлайдер на CSS | Odessa Frontend Meetup #16
Cлайдер на CSS | Odessa Frontend Meetup #16
 
Современный станок верстальщика
Современный станок верстальщикаСовременный станок верстальщика
Современный станок верстальщика
 
Викторина | Odessa Frontend Meetup #15
Викторина | Odessa Frontend Meetup #15Викторина | Odessa Frontend Meetup #15
Викторина | Odessa Frontend Meetup #15
 
DRY’им Vuex | Odessa Frontend Meetup #15
DRY’им Vuex | Odessa Frontend Meetup #15DRY’им Vuex | Odessa Frontend Meetup #15
DRY’им Vuex | Odessa Frontend Meetup #15
 
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
 
Пощупать 3д в браузере | Odessa Frontend Meetup #15
Пощупать 3д в браузере | Odessa Frontend Meetup #15Пощупать 3д в браузере | Odessa Frontend Meetup #15
Пощупать 3д в браузере | Odessa Frontend Meetup #15
 
Викторина | Odessa Frontend Meetup #14
Викторина | Odessa Frontend Meetup #14Викторина | Odessa Frontend Meetup #14
Викторина | Odessa Frontend Meetup #14
 
Викторина | Odessa Frontend Meetup #13
Викторина | Odessa Frontend Meetup #13Викторина | Odessa Frontend Meetup #13
Викторина | Odessa Frontend Meetup #13
 
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
Эффективность с большой буквы Э… или любой другой | Odessa Frontend Meetup #13
 

Структуры данных в JavaScript | Odessa Frontend Meetup #13