Post on 23-Jan-2018
Нужны ли backend разработчики,когда есть swift?
Меджлумян Самвел
Нужны
2
Нужны
3
, но
О чём поговорим 4
⁉ Что случилось
🖖 Введение в мир бэкенд разработки
🏗 S3 инструменты
🆚 Сравнение с другими языками
👍 Best practices
🏃 Выводы
О чём не поговорим
⛺ Как развернуть
🈯 Синтаксис
5
О чём поговорим 6
⁉ Что случилось
🖖 Введение в мир бэкенд разработки
🏗 S3 инструменты
🆚 Сравнение с другими языками
👍 Best practices
🏃 Выводы
Наша команда 7
)*))))))*+),)))
8
Нужны серверные утилиты
🏎
9
Нужны здесь и сейчас
🚀
10
Нужна простая поддержка
/
11
Нужны API для проектов
📡
12
Задачи
🏎 Нужны серверные утилиты
📡 Нужны API для своих проектов
13
📚 Изучить новый инструмент
Решения
14
📚 Изучить новый инструмент
🗣 Попросить кого-нибудь
Решения
15
📚 Изучить новый инструмент
🗣 Попросить кого-нибудь
🤘 Реализовать на любимом инструменте
Решения
Dashramba
16
17
18
19
)))*))))
)*)),)
О чём поговорим 20
⁉ Что случилось
🖖 Введение в мир backend разработки
🏗 S3 инструменты
🆚 Сравнение с другими языками
👍 Best practices
🏃 Выводы
21
Фреймворк
🏗
22
фреймворк =
либа
23
MVC
🖇
24
25
Шаблонизаторы
🎨
26
🖼
🗄
📑
🎨
27
ORM & ODM
🗄
28
Процесс разработки
9
29
🗄
Staging
Production
Dev🗄
30
🗄
Staging
Production
Dev🗄
31
🗄
Staging
Production
Dev🗄
О чём поговорим 32
⁉ Что случилось и почему вам нужен S3
🖖 Введение в мир бэкенд разработки
🏗 S3 инструменты
🆚 Сравнение с другими языками
👍 Best practices
🏃 Выводы
33
🏗 S3 инструменты
Критерия сравнения 34
👯 Комьюнити
🏃 Активность
🗄 ORM & ODM
🎨 Шаблонизаторы
; Продуктивность разработчика
35
Комьюнити 😽😽😽😽 😽😽😽 😽😽 💩
36
Комьюнити 😽😽😽😽 😽😽😽 😽😽 💩
Активность 💪💪💪 💪💪💪💪 💪 💪
38
Комьюнити 😽😽😽😽 😽😽😽 😽😽 💩
Активность 💪💪💪 💪💪💪💪 💪 💪
ORM & ODM 🗄🗄🗄 🗄🗄🗄 🗄🗄🗄 🗄
39
PostgreSQL ✅ ✅ ✅ ✅
MySQL ✅ ✅ ✅ ✅
Redis ✅ ✅ ✅ ✅
MongoDB ✅ ✅ ✅ ➖
SQLite ✅ ✅ ✅ ➖
CouchDB ✅ ✅ ✅ ➖
41
Активность 💪💪💪 💪💪💪💪 💪 💪
ORM & ODM 🗄🗄🗄 🗄🗄🗄 🗄🗄🗄 🗄
Templating 🎨🎨 🎨🎨🎨 🎨🎨 🎨
42
Mustache ✅ ✅ ✅ ✅
Markdown ✅ ✅ ✅ ➖
Stencil ➖ ➖ ✅ ➖
Leaf ➖ ✅ ➖ ➖
43
Продуктивность
;
0
3,25
6,5
9,75
13
Меньше – лучше
44
Установка
0
3,75
7,5
11,25
15
Меньше – лучше
45
Выполнение задачи
0
2,25
4,5
6,75
9
Больше – лучше
46
Субъективная оценка
47
Наш выбор S3 инструмента
О чём поговорим 48
⁉ Что случилось
🖖 Введение в мир бэкенд разработки
🏗 S3 инструменты
🆚 Сравнение с другими языками
👍 Best practices
🏃 Выводы
Сравнение 49
50
Бенчмарки
🔎
Бенчмарки 51
1. JSON
2. Работа с памятью
3. SQL Fetching
JSON 52
Задача: сформировать и выдать json, состоящий из 100 случайных чисел от одного до 1_000_000
JSON 53
0
3500
7000
10500
14000
Количество запросов в секунду
Работа с памятью 54
Задача: создать массив из 1_000_000 случайных чисел. Сортировать массив используя сортировку выбором.
Работа с памятью 55
0
17,5
35
52,5
70
SQL Fetching 56
Задача: сделать выборку 1000 случайных нажатий из базы MySQL. База включает в себя 100_000 пользователей и 50_000 нажатий.
SQL Fetching 57
0
100
200
300
400
Summary 58
0
2,25
4,5
6,75
9
О чём поговорим 59
⁉ Что случилось
🖖 Введение в мир бэкенд разработки
🏗 S3 инструменты
🆚 Сравнение с другими языками
👍 Best practices
🏃 Выводы
👍 Best practices
REST API
SOA
Deploy
60
Rest API 61
⁉ Используйте версионность
Версионность 62
/v1/answers
getAnswers
👍
❌
Rest API 63
⁉ Используйте версионность
💣 Выбрасывайте корректные ошибки
64Неправильно
HEADER: HTTP/1.x 200 OK
BODY:
ERROR_E
65
{ "errors": [ { "status": 404, "code": 1040, "message": "URL not found" } ]}
ПравильноHEADER: HTTP/1.x 404 Not found
Rest API 66
⁉ Используйте версионность
💣 Выбрасывайте корректные ошибки
🛠 Используйте правильные методы
Используйте правильные методы 67
CREATE ⬇ POST
READ ⬇ GET
UPDATE ⬇ PUT
DELETE ⬇ DELETE
68
SOA
🎛
69
Containers
📦
70
71
Service Discovery 72
Zookeeper
DevOps 73
О чём поговорим 74
⁉ Что случилось
🖖 Введение в мир бэкенд разработки
🏗 S3 инструменты
💪 Сравнение с другими языками
👍 Best practices
🏃 Выводы
🏃 Выводы 75
👍 S3 – не компромисс
🍏 Инвестирует Apple
💡 Инвестирует IBM
🔭 Вовлечено большое OSSM
76
@smejl