SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
Нужны ли 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 ✅ ✅ ✅ ➖
github.com/vapor/fluent
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

Mais conteúdo relacionado

Mais procurados

Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"Fwdays
 
Всему своё время / Роман Ивлиев (Банки.ру)
Всему своё время / Роман Ивлиев (Банки.ру)Всему своё время / Роман Ивлиев (Банки.ру)
Всему своё время / Роман Ивлиев (Банки.ру)Ontico
 
Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост...
 Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост... Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост...
Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост...it-people
 
Тестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и какТестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и какSQALab
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7Alexander Levantovsky
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlDaniel Podolsky
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Daniel Podolsky
 
Владимир Довыденко — БЭМ в ТКС
Владимир Довыденко — БЭМ в ТКСВладимир Довыденко — БЭМ в ТКС
Владимир Довыденко — БЭМ в ТКСYandex
 
Проблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteПроблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteautomated-testing.info
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) АксеновAlex Chistyakov
 
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успехаSQALab
 
Гибкие методики разработки
Гибкие методики разработкиГибкие методики разработки
Гибкие методики разработкиyaevents
 
мифы о спарке
мифы о спарке мифы о спарке
мифы о спарке Evgeny Borisov
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"Dev2Dev
 
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Anton Baranov
 
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИСЭволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС2ГИС Технологии
 
Javaone 2013 moscow gradle
Javaone 2013 moscow gradleJavaone 2013 moscow gradle
Javaone 2013 moscow gradleEvgeny Borisov
 
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)Ontico
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruAlex Chistyakov
 

Mais procurados (20)

Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"Илья Климов "О драконах ни слова"
Илья Климов "О драконах ни слова"
 
Всему своё время / Роман Ивлиев (Банки.ру)
Всему своё время / Роман Ивлиев (Банки.ру)Всему своё время / Роман Ивлиев (Банки.ру)
Всему своё время / Роман Ивлиев (Банки.ру)
 
Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост...
 Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост... Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост...
Естественный отбор: как из 100 таксистов получить 2-х программистов и не ост...
 
Тестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и какТестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и как
 
On scaling teams
On scaling teamsOn scaling teams
On scaling teams
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
 
Владимир Довыденко — БЭМ в ТКС
Владимир Довыденко — БЭМ в ТКСВладимир Довыденко — БЭМ в ТКС
Владимир Довыденко — БЭМ в ТКС
 
Проблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteПроблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestComplete
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
 
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
 
Гибкие методики разработки
Гибкие методики разработкиГибкие методики разработки
Гибкие методики разработки
 
мифы о спарке
мифы о спарке мифы о спарке
мифы о спарке
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
 
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...
 
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИСЭволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
 
Javaone 2013 moscow gradle
Javaone 2013 moscow gradleJavaone 2013 moscow gradle
Javaone 2013 moscow gradle
 
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
 

Semelhante a Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?

Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterAleksandr Tarasov
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parseryalegko
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Кирилл Толкачёв
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontendDenis Kolesnikov
 
Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?SQALab
 
Яндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачи
Яндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачиЯндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачи
Яндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачиСергей Мочалов
 
Хипстеры в энтерпрайзе
Хипстеры в энтерпрайзеХипстеры в энтерпрайзе
Хипстеры в энтерпрайзеAleksandr Tarasov
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеReturn on Intelligence
 
Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровьМаксим Сячин
 
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014it-people
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеReturn on Intelligence
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Ontico
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java DeveloperOlexandra Dmytrenko
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Расширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleРасширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleAleksandr Tarasov
 
Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...Maria Kuneva
 
Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...OdessaJS Conf
 

Semelhante a Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift? (20)

Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parser
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?Скажи мне правду, Scrum, когда тестировать нам?
Скажи мне правду, Scrum, когда тестировать нам?
 
Яндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачи
Яндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачиЯндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачи
Яндекс.Поиск для сайта. HTML+CSS: новые возможности дизайна выдачи
 
Хипстеры в энтерпрайзе
Хипстеры в энтерпрайзеХипстеры в энтерпрайзе
Хипстеры в энтерпрайзе
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбине
 
Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровь
 
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбине
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Расширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleРасширь границы возможного вместе с Gradle
Расширь границы возможного вместе с Gradle
 
Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...
 
Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...Artem Zakharchenko - What happens when you don't write the code. What advises...
Artem Zakharchenko - What happens when you don't write the code. What advises...
 

Mais de RAMBLER&Co

RDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRAMBLER&Co
 
Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!RAMBLER&Co
 
Rambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRAMBLER&Co
 
RDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRAMBLER&Co
 
RDSDataSource: OCLint
RDSDataSource: OCLintRDSDataSource: OCLint
RDSDataSource: OCLintRAMBLER&Co
 
RDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRAMBLER&Co
 
RDSDataSource: App Thinning
RDSDataSource: App ThinningRDSDataSource: App Thinning
RDSDataSource: App ThinningRAMBLER&Co
 
RDSDataSource: Мастер-класс по Dip
RDSDataSource: Мастер-класс по DipRDSDataSource: Мастер-класс по Dip
RDSDataSource: Мастер-класс по DipRAMBLER&Co
 
RDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRAMBLER&Co
 
Rambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRAMBLER&Co
 
Rambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRAMBLER&Co
 
Rambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRAMBLER&Co
 
Rambler.iOS #8: Как не стать жертвой бэкендеров
Rambler.iOS #8: Как не стать жертвой бэкендеровRambler.iOS #8: Как не стать жертвой бэкендеров
Rambler.iOS #8: Как не стать жертвой бэкендеровRAMBLER&Co
 
RDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRAMBLER&Co
 
RDSDataSource: Автогенерация документации для SDK
RDSDataSource: Автогенерация документации для SDKRDSDataSource: Автогенерация документации для SDK
RDSDataSource: Автогенерация документации для SDKRAMBLER&Co
 
RDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRAMBLER&Co
 
RDSDataSource: Promises
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: PromisesRAMBLER&Co
 
RDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRAMBLER&Co
 
Rambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRAMBLER&Co
 
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложении
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложенииRambler.iOS #7: Прием платежей по банковским картам в iOS приложении
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложенииRAMBLER&Co
 

Mais de RAMBLER&Co (20)

RDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRDSDataSource: Основы LLVM
RDSDataSource: Основы LLVM
 
Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!
 
Rambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memory
 
RDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на Swift
 
RDSDataSource: OCLint
RDSDataSource: OCLintRDSDataSource: OCLint
RDSDataSource: OCLint
 
RDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграмм
 
RDSDataSource: App Thinning
RDSDataSource: App ThinningRDSDataSource: App Thinning
RDSDataSource: App Thinning
 
RDSDataSource: Мастер-класс по Dip
RDSDataSource: Мастер-класс по DipRDSDataSource: Мастер-класс по Dip
RDSDataSource: Мастер-класс по Dip
 
RDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRDSDataSource: YapDatabase
RDSDataSource: YapDatabase
 
Rambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тесты
 
Rambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектура
 
Rambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCore
 
Rambler.iOS #8: Как не стать жертвой бэкендеров
Rambler.iOS #8: Как не стать жертвой бэкендеровRambler.iOS #8: Как не стать жертвой бэкендеров
Rambler.iOS #8: Как не стать жертвой бэкендеров
 
RDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperienced
 
RDSDataSource: Автогенерация документации для SDK
RDSDataSource: Автогенерация документации для SDKRDSDataSource: Автогенерация документации для SDK
RDSDataSource: Автогенерация документации для SDK
 
RDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOS
 
RDSDataSource: Promises
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: Promises
 
RDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwift
 
Rambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейса
 
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложении
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложенииRambler.iOS #7: Прием платежей по банковским картам в iOS приложении
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложении
 

Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?