SlideShare a Scribd company logo
БУДЬ
ПРОГРАМІСТОМ В
FRONT END
Роман Якобчук
Чим я займався останні пару років
■ Ruby on Rails
■ Ember
■ ExtJS
■ NodeJS
■ React – курси, розробка, консалтинг
Хто з вас знає:
■ Хоча б 3 алгоритми сортування?
■ Як оцінюється складність алгоритмів?
■ 5 різних структур даних?
■ Що таке GRASP паттерни?
■ 5 GOF паттернів?
■ 3 базових принципи OOP/FP?
Вчіть основи
@hisham_hm
Що використаємо в проекті на React?
Бізнес-логіка?
■ Flux/Reflux/Flummox/Fluxxor…
■ Elm
■ RxJS/Bacon/Kefir
■ Redux
■ Relay
■ MobX
Reactive? Продано
Давай розберемось
■ Що таке ”Реактивність”?
■ Яка вона буває?
■ Ага, MobX – явно OOP
■ А що там в FP?
■ FRP? RxJS, монади, стріми, їх комбінації…
■ Якщо спростити?
■ Redux ?!
Що я про все це думаю?
MobX vs Redux === OOP vs FP
In a fight between a bear and an alligator,
the terrain determines the outcome
Трохи OOP паттернів
@WarAngel_alk, https://habrahabr.ru/post/21028
FP паттерни?
©Scott Wlaschin, NDC Conferences
Чудно, отже вчити менше?
@timyrik20, https://habrahabr.ru/post/188010/
Задачі в FP
■ Як і де працюємо з сайд-ефектами
■ Нормалізовані чи денормалізовані дані
■ Які структури даних
■ Композиція функцій
Задачі в OOP
■ Декомпозиція
■ Розподіл даних та стану по об’єктам
■ Проектування системи, GRASP/GOF
OOP vs FP
■ FP: розділити данні та поведінку. Функкції для обробки та перетворення даних
■ OOP: об’єднати шматки даних та поведінки по сутностям – об’єктам
• Whenever I write some code to deal with data about people then functional programming
seems to work best.
• Whenever I write some code to simulate people then object-oriented programming seems to
work best.
http://blog.fogus.me/2013/07/22/fp-vs-oo-from-the-trenches/ Michael Fogus, author of
“Functional JavaScript”
Розширюйте світогляд
■ Вчіть незнайомі фреймворки
■ Практикуйте нові парадигми
■ Розв’язуйте фундаментальні задачі
■ Освоюйте різні мови
■ Розробляйте під інші платформи
■ Вчіть матчастину)
Робіть круті проекти
Роман Якобчук
Skype: r.iakobchuk
Email: r.iakobchuk@gmail.com
FB: facebook.com/IakobchukRoman

More Related Content

PPTX
JS Lab2017_Под микроскопом: блеск и нищета микросервисов на node.js
PDF
JS Lab2017_Алексей Заславский_React Fiber
PDF
JS Lab2017_Андрей Кучеренко _Разработка мультипакетных приложения: причины, с...
PDF
JS Lab2017_Юлия Пучнина_PhaserJS и что он умеет
PPTX
JS Lab2017_Евгений Сафронов_Тестирование Javascript кода. Инструменты, практи...
PDF
JS Lab2017_Lightning Talks_Рекрутинг.js
PDF
JS Lab2017_Lightning Talks_PostCSS - there is a plugin for that
PDF
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
JS Lab2017_Под микроскопом: блеск и нищета микросервисов на node.js
JS Lab2017_Алексей Заславский_React Fiber
JS Lab2017_Андрей Кучеренко _Разработка мультипакетных приложения: причины, с...
JS Lab2017_Юлия Пучнина_PhaserJS и что он умеет
JS Lab2017_Евгений Сафронов_Тестирование Javascript кода. Инструменты, практи...
JS Lab2017_Lightning Talks_Рекрутинг.js
JS Lab2017_Lightning Talks_PostCSS - there is a plugin for that
Frontendlab: Cравнить Несравнимое - Юлия Пучнина

Viewers also liked (7)

PDF
JS Lab2017_Виталий Лебедев_Практические сложности при разработке на node.js
PDF
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
PDF
JS Lab2017_Lightning Talks_React Perfomance
PDF
JS Lab2017_Сергей Селецкий_System.js и jspm
PDF
WebCamp 2016: Python.Максим Климишин.Типизированный Python
PDF
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
PDF
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
JS Lab2017_Виталий Лебедев_Практические сложности при разработке на node.js
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Lightning Talks_React Perfomance
JS Lab2017_Сергей Селецкий_System.js и jspm
WebCamp 2016: Python.Максим Климишин.Типизированный Python
AI&BigData Lab 2016. Сергей Шельпук: Методология Data Science проектов
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
Ad

More from GeeksLab Odessa (19)

PDF
DataScience Lab2017_Коррекция геометрических искажений оптических спутниковых...
PDF
DataScience Lab 2017_Kappa Architecture: How to implement a real-time streami...
PDF
DataScience Lab 2017_Блиц-доклад_Турский Виктор
PDF
DataScience Lab 2017_Обзор методов детекции лиц на изображение
PDF
DataScienceLab2017_Сходство пациентов: вычистка дубликатов и предсказание про...
PDF
DataScienceLab2017_Блиц-доклад
PDF
DataScienceLab2017_Блиц-доклад
PDF
DataScienceLab2017_Блиц-доклад
PDF
DataScienceLab2017_Cервинг моделей, построенных на больших данных с помощью A...
PDF
DataScienceLab2017_BioVec: Word2Vec в задачах анализа геномных данных и биоин...
PDF
DataScienceLab2017_Data Sciences и Big Data в Телекоме_Александр Саенко
PDF
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
PDF
DataScience Lab 2017_Мониторинг модных трендов с помощью глубокого обучения и...
PDF
DataScience Lab 2017_Кто здесь? Автоматическая разметка спикеров на телефонны...
PDF
DataScience Lab 2017_From bag of texts to bag of clusters_Терпиль Евгений / П...
PDF
DataScience Lab 2017_Графические вероятностные модели для принятия решений в ...
PDF
DataScienceLab2017_Оптимизация гиперпараметров машинного обучения при помощи ...
PDF
DataScienceLab2017_Как знать всё о покупателях (или почти всё)?_Дарина Перемот
PDF
JS Lab 2017_Mapbox GL: как работают современные интерактивные карты_Владимир ...
DataScience Lab2017_Коррекция геометрических искажений оптических спутниковых...
DataScience Lab 2017_Kappa Architecture: How to implement a real-time streami...
DataScience Lab 2017_Блиц-доклад_Турский Виктор
DataScience Lab 2017_Обзор методов детекции лиц на изображение
DataScienceLab2017_Сходство пациентов: вычистка дубликатов и предсказание про...
DataScienceLab2017_Блиц-доклад
DataScienceLab2017_Блиц-доклад
DataScienceLab2017_Блиц-доклад
DataScienceLab2017_Cервинг моделей, построенных на больших данных с помощью A...
DataScienceLab2017_BioVec: Word2Vec в задачах анализа геномных данных и биоин...
DataScienceLab2017_Data Sciences и Big Data в Телекоме_Александр Саенко
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
DataScience Lab 2017_Мониторинг модных трендов с помощью глубокого обучения и...
DataScience Lab 2017_Кто здесь? Автоматическая разметка спикеров на телефонны...
DataScience Lab 2017_From bag of texts to bag of clusters_Терпиль Евгений / П...
DataScience Lab 2017_Графические вероятностные модели для принятия решений в ...
DataScienceLab2017_Оптимизация гиперпараметров машинного обучения при помощи ...
DataScienceLab2017_Как знать всё о покупателях (или почти всё)?_Дарина Перемот
JS Lab 2017_Mapbox GL: как работают современные интерактивные карты_Владимир ...
Ad

JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде