SlideShare a Scribd company logo
1 of 31
Download to read offline
Здравствуйте :)
Контроль за
стилем кода
Борисов Кирилл, PyCon BY 2015
Контроль за
стилем качеством кода
Борисов Кирилл, PyCon BY 2015
Теория
Типичная ситуация
Команда разработчиков (3-5 человек)
Общий репозитарий
Что-то покрыто тестами
Времени на “излишества” нет
Жизнь потихонечку идет
Возникающие проблемы
Каждый пишет по-своему
Каждый знает, что его код - правильный
Каждый верит, что остальные поймут…
…или простят
Растет время code review
Сложно править чужой код
Споры о вкусах
Рабочее время тратится зря
Возникающие проблемы
Все плохо.
Чем спасаться?
Style guide
Автоматические проверки
Процедура разрешения конфликтов
Code Review
Готовность к изменениям
Практика
Как это делается в Python?
PEP8 - базовый свод рекомендаций по
оформлению кода.
PEP257 - набор рекомендаций по
оформлению docstring’ов
Множество инструментов:

pep8, pep257, pyflakes, pylint, pychecker…
Инструменты
autopep8
https://github.com/hhatto/autopep8
Автоматически правит ошибки PEP8
Может быть не тем, что вы ожидали :(
Очень консервативен
Инструменты
frosted
https://github.com/timothycrosley/frosted
Форк pyflakes
“Более открыт к изменениям”
Больше проверок
Python 2.6 - 3.4
Инструменты
pyroma
https://bitbucket.org/regebro/pyroma
Проверка стандартов упаковки кода:

PyPi, Distribute, pip…
Ставит оценку вашему коду, сравнивает его с
сыром
Инструменты
pyroma
https://bitbucket.org/regebro/pyroma
Проверка стандартов упаковки кода:

PyPi, Distribute, pip…
Ставит оценку вашему коду, сравнивает его с
сыром
Инструменты
isort
https://pypi.python.org/pypi/isort
Сортировка импортов
Автоматически правит код
Git-хук в комплекте
Инструменты
prospector
https://github.com/landscapeio/prospector
pylint + pep8 + pyflakes + mccabe + dodgy
Очень прост в использовании
Адаптируется под Django и Celery
Активно развивается
Наш выбор
flake8
https://gitlab.com/pycqa/flake8
Три в одном: pep8, pyflakes, mccabe
Часто обновляется
Легко расширяется
Много готовых плагинов
Где проверять?
Интеграция с IDE (PyCharm, Emacs, vi)
VCS pre-commit hooks (git, Mercurial, SVN)
CI (Jenkins, TeamCity)
Внешние средства (imhotep, landscape.io,…)
Git pre-commit hook
Внешние средства: landscape.io
landscape.io
https://landscape.io
Онлайн-версия prospector
Интегрируется с GitHub
Бесплатен для open-source
Графики, метрики, значки
Case study
Яндекс.Паспорт
Интегрированный pep8 в IDE
Яндекс.Паспорт
Интегрированный pep8 в IDE
Git pre-commit hooks:
– flake8
– flake8-debugger
– flake8-print
Яндекс.Паспорт
Интегрированный pep8 в IDE
Git pre-commit hooks:
– flake8
– flake8-debugger
– flake8-print
– forgetmenot
– passport-isort
Собственные инструменты
forgetmenot
<однажды на GitHub>
Поиск TODO/FIXME
Определение автора, времени
Подсветка и оформление
Не блокирует процесс коммита
Что ещё проверять?
Забытые пароли, ключи и т.д.
Сложность кода
Совместимость его с разными версия Python
TODO, FIXME
Метрики
A foolish consistency is
the hobgoblin of little
minds.
PEP8
Вопросы?
Спасибо!
@lensvol borisov.kir@gmail.com

More Related Content

What's hot

Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12HappyDev
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...ScrumTrek
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobАліна Шепшелей
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?PyNSK
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование ForkSergey Oreshkov
 
Is there life after testing?
Is there life after testing?Is there life after testing?
Is there life after testing?Sergey Gernyak
 
Можно ли обойтись без тестировщиков
Можно ли обойтись без тестировщиковМожно ли обойтись без тестировщиков
Можно ли обойтись без тестировщиковMaxim Shulga
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Rina Uzhevko
 
Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)Ontico
 
Локализационное тестирование носителями языков
Локализационное тестирование носителями языковЛокализационное тестирование носителями языков
Локализационное тестирование носителями языковSQALab
 
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийАлексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийScrumTrek
 
Тестирование Локализации и Интернализации
Тестирование Локализации и ИнтернализацииТестирование Локализации и Интернализации
Тестирование Локализации и ИнтернализацииLilia Gorbachik
 
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...SQALab
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всемSQALab
 
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...CodeFest
 
Тестирование как панацея для жизни и развития проекта
Тестирование как панацея для жизни и развития проекта Тестирование как панацея для жизни и развития проекта
Тестирование как панацея для жизни и развития проекта Evgeniy Kuzmin
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...Sergey Ponomarev
 
Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADDSergey Staroletov
 

What's hot (19)

Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a job
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование Fork
 
Is there life after testing?
Is there life after testing?Is there life after testing?
Is there life after testing?
 
Можно ли обойтись без тестировщиков
Можно ли обойтись без тестировщиковМожно ли обойтись без тестировщиков
Можно ли обойтись без тестировщиков
 
Tdd from the middle
Tdd from the middleTdd from the middle
Tdd from the middle
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать
 
Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)
 
Локализационное тестирование носителями языков
Локализационное тестирование носителями языковЛокализационное тестирование носителями языков
Локализационное тестирование носителями языков
 
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийАлексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
 
Тестирование Локализации и Интернализации
Тестирование Локализации и ИнтернализацииТестирование Локализации и Интернализации
Тестирование Локализации и Интернализации
 
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
Тестирование по жесткой схеме! Или 27 + 2 фишки в построении процесса тестиро...
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всем
 
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
 
Тестирование как панацея для жизни и развития проекта
Тестирование как панацея для жизни и развития проекта Тестирование как панацея для жизни и развития проекта
Тестирование как панацея для жизни и развития проекта
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 
Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADD
 

Viewers also liked

Viewers also liked (6)

How To Use Inbound Marketing To Grow Your Business - Rebecca Corliss, HubSpot
How To Use Inbound Marketing To Grow Your Business - Rebecca Corliss, HubSpotHow To Use Inbound Marketing To Grow Your Business - Rebecca Corliss, HubSpot
How To Use Inbound Marketing To Grow Your Business - Rebecca Corliss, HubSpot
 
Utilizing Sports To Produce Successful Social Media and Viral Marketing Campa...
Utilizing Sports To Produce Successful Social Media and Viral Marketing Campa...Utilizing Sports To Produce Successful Social Media and Viral Marketing Campa...
Utilizing Sports To Produce Successful Social Media and Viral Marketing Campa...
 
Косметические бренды и лидеры мнений в Интернете
Косметические бренды и лидеры мнений в ИнтернетеКосметические бренды и лидеры мнений в Интернете
Косметические бренды и лидеры мнений в Интернете
 
YMS17: The Formula Behind Viral Marketing
YMS17: The Formula Behind Viral MarketingYMS17: The Formula Behind Viral Marketing
YMS17: The Formula Behind Viral Marketing
 
The NBA and Social Media - A case study
The NBA and Social Media - A case studyThe NBA and Social Media - A case study
The NBA and Social Media - A case study
 
L'Orael Paris: Social Media Strategy
L'Orael Paris: Social Media StrategyL'Orael Paris: Social Media Strategy
L'Orael Paris: Social Media Strategy
 

Similar to Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015

Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Автоматизированные рефакторинги: AST, FST и все-все-все
Автоматизированные рефакторинги: AST, FST и все-все-всеАвтоматизированные рефакторинги: AST, FST и все-все-все
Автоматизированные рефакторинги: AST, FST и все-все-всеКирилл Борисов
 
Автоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, Яндекс
Автоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, ЯндексАвтоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, Яндекс
Автоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, Яндексit-people
 
Роберт Харитонов — Отдел вёрстки с нуля
Роберт Харитонов — Отдел вёрстки с нуляРоберт Харитонов — Отдел вёрстки с нуля
Роберт Харитонов — Отдел вёрстки с нуляYandex
 
Мои инструменты
Мои инструментыМои инструменты
Мои инструментыIvan Golodov
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
 
Software engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требованияSoftware engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требованияPavel Egorov
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Ontico
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Andrey Karpov
 
Когда код «убивает», или зачем нам тестировать наши продукты
Когда код «убивает», или зачем  нам тестировать наши продуктыКогда код «убивает», или зачем  нам тестировать наши продукты
Когда код «убивает», или зачем нам тестировать наши продуктыОлег Стрекаловский
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...Mail.ru Group
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомSQALab
 
Как воспитать программиста
Как воспитать программистаКак воспитать программиста
Как воспитать программистаMikhail Payson
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестированияIgor Pozumentov
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest
 

Similar to Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015 (20)

Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Автоматизированные рефакторинги: AST, FST и все-все-все
Автоматизированные рефакторинги: AST, FST и все-все-всеАвтоматизированные рефакторинги: AST, FST и все-все-все
Автоматизированные рефакторинги: AST, FST и все-все-все
 
Автоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, Яндекс
Автоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, ЯндексАвтоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, Яндекс
Автоматизированные рефакторинги: AST, FST и все-все-все - Кирилл Борисов, Яндекс
 
Code review psyhology
Code review psyhologyCode review psyhology
Code review psyhology
 
Роберт Харитонов — Отдел вёрстки с нуля
Роберт Харитонов — Отдел вёрстки с нуляРоберт Харитонов — Отдел вёрстки с нуля
Роберт Харитонов — Отдел вёрстки с нуля
 
Мои инструменты
Мои инструментыМои инструменты
Мои инструменты
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Software engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требованияSoftware engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требования
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
 
Когда код «убивает», или зачем нам тестировать наши продукты
Когда код «убивает», или зачем  нам тестировать наши продуктыКогда код «убивает», или зачем  нам тестировать наши продукты
Когда код «убивает», или зачем нам тестировать наши продукты
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектов
 
презентация.1
презентация.1презентация.1
презентация.1
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
 
IT people
IT peopleIT people
IT people
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
 
Как воспитать программиста
Как воспитать программистаКак воспитать программиста
Как воспитать программиста
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
 

More from Alina Dolgikh

Reactive streams. Slava Schmidt
Reactive streams. Slava SchmidtReactive streams. Slava Schmidt
Reactive streams. Slava SchmidtAlina Dolgikh
 
Scala for the doubters. Максим Клыга
Scala for the doubters. Максим КлыгаScala for the doubters. Максим Клыга
Scala for the doubters. Максим КлыгаAlina Dolgikh
 
Orm на no sql через jpa. Павел Вейник
Orm на no sql через jpa. Павел ВейникOrm на no sql через jpa. Павел Вейник
Orm на no sql через jpa. Павел ВейникAlina Dolgikh
 
No sql unsuccessful_story. Владимир Зеленкевич
No sql unsuccessful_story. Владимир ЗеленкевичNo sql unsuccessful_story. Владимир Зеленкевич
No sql unsuccessful_story. Владимир ЗеленкевичAlina Dolgikh
 
Java Concurrency in Practice
Java Concurrency in PracticeJava Concurrency in Practice
Java Concurrency in PracticeAlina Dolgikh
 
Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAppium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAlina Dolgikh
 
Cracking android app. Мокиенко Сергей
Cracking android app. Мокиенко СергейCracking android app. Мокиенко Сергей
Cracking android app. Мокиенко СергейAlina Dolgikh
 
David Mertz. Type Annotations. PyCon Belarus 2015
David Mertz. Type Annotations. PyCon Belarus 2015David Mertz. Type Annotations. PyCon Belarus 2015
David Mertz. Type Annotations. PyCon Belarus 2015Alina Dolgikh
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Alina Dolgikh
 
Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...
Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...
Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...Alina Dolgikh
 
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...Alina Dolgikh
 
Austin Bingham. Transducers in Python. PyCon Belarus
Austin Bingham. Transducers in Python. PyCon BelarusAustin Bingham. Transducers in Python. PyCon Belarus
Austin Bingham. Transducers in Python. PyCon BelarusAlina Dolgikh
 
Austin Bingham. Python Refactoring. PyCon Belarus
Austin Bingham. Python Refactoring. PyCon BelarusAustin Bingham. Python Refactoring. PyCon Belarus
Austin Bingham. Python Refactoring. PyCon BelarusAlina Dolgikh
 
Denis Lebedev. Non functional swift.
Denis Lebedev. Non functional swift.Denis Lebedev. Non functional swift.
Denis Lebedev. Non functional swift.Alina Dolgikh
 
Максим Лапшин. Erlang production
Максим Лапшин. Erlang productionМаксим Лапшин. Erlang production
Максим Лапшин. Erlang productionAlina Dolgikh
 
Максим Харченко. Erlang lincx
Максим Харченко. Erlang lincxМаксим Харченко. Erlang lincx
Максим Харченко. Erlang lincxAlina Dolgikh
 
Пиар в стартапе: извлекаем максимум пользы. Алексей Лартей
Пиар в стартапе: извлекаем максимум пользы. Алексей ЛартейПиар в стартапе: извлекаем максимум пользы. Алексей Лартей
Пиар в стартапе: извлекаем максимум пользы. Алексей ЛартейAlina Dolgikh
 
Подготовка проекта к первому раунду инвестиций. Дмитрий Поляков
Подготовка проекта к первому раунду инвестиций. Дмитрий ПоляковПодготовка проекта к первому раунду инвестиций. Дмитрий Поляков
Подготовка проекта к первому раунду инвестиций. Дмитрий ПоляковAlina Dolgikh
 
Как составлять правильный тизер для инвесторов? Никита Рогозин
Как составлять правильный тизер для инвесторов? Никита РогозинКак составлять правильный тизер для инвесторов? Никита Рогозин
Как составлять правильный тизер для инвесторов? Никита РогозинAlina Dolgikh
 
Startup belarus pres_khamiankova
Startup belarus pres_khamiankovaStartup belarus pres_khamiankova
Startup belarus pres_khamiankovaAlina Dolgikh
 

More from Alina Dolgikh (20)

Reactive streams. Slava Schmidt
Reactive streams. Slava SchmidtReactive streams. Slava Schmidt
Reactive streams. Slava Schmidt
 
Scala for the doubters. Максим Клыга
Scala for the doubters. Максим КлыгаScala for the doubters. Максим Клыга
Scala for the doubters. Максим Клыга
 
Orm на no sql через jpa. Павел Вейник
Orm на no sql через jpa. Павел ВейникOrm на no sql через jpa. Павел Вейник
Orm на no sql через jpa. Павел Вейник
 
No sql unsuccessful_story. Владимир Зеленкевич
No sql unsuccessful_story. Владимир ЗеленкевичNo sql unsuccessful_story. Владимир Зеленкевич
No sql unsuccessful_story. Владимир Зеленкевич
 
Java Concurrency in Practice
Java Concurrency in PracticeJava Concurrency in Practice
Java Concurrency in Practice
 
Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAppium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон Семенченко
 
Cracking android app. Мокиенко Сергей
Cracking android app. Мокиенко СергейCracking android app. Мокиенко Сергей
Cracking android app. Мокиенко Сергей
 
David Mertz. Type Annotations. PyCon Belarus 2015
David Mertz. Type Annotations. PyCon Belarus 2015David Mertz. Type Annotations. PyCon Belarus 2015
David Mertz. Type Annotations. PyCon Belarus 2015
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
 
Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...
Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...
Володимир Гоцик. Getting maximum of python, django with postgres 9.4. PyCon B...
 
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
 
Austin Bingham. Transducers in Python. PyCon Belarus
Austin Bingham. Transducers in Python. PyCon BelarusAustin Bingham. Transducers in Python. PyCon Belarus
Austin Bingham. Transducers in Python. PyCon Belarus
 
Austin Bingham. Python Refactoring. PyCon Belarus
Austin Bingham. Python Refactoring. PyCon BelarusAustin Bingham. Python Refactoring. PyCon Belarus
Austin Bingham. Python Refactoring. PyCon Belarus
 
Denis Lebedev. Non functional swift.
Denis Lebedev. Non functional swift.Denis Lebedev. Non functional swift.
Denis Lebedev. Non functional swift.
 
Максим Лапшин. Erlang production
Максим Лапшин. Erlang productionМаксим Лапшин. Erlang production
Максим Лапшин. Erlang production
 
Максим Харченко. Erlang lincx
Максим Харченко. Erlang lincxМаксим Харченко. Erlang lincx
Максим Харченко. Erlang lincx
 
Пиар в стартапе: извлекаем максимум пользы. Алексей Лартей
Пиар в стартапе: извлекаем максимум пользы. Алексей ЛартейПиар в стартапе: извлекаем максимум пользы. Алексей Лартей
Пиар в стартапе: извлекаем максимум пользы. Алексей Лартей
 
Подготовка проекта к первому раунду инвестиций. Дмитрий Поляков
Подготовка проекта к первому раунду инвестиций. Дмитрий ПоляковПодготовка проекта к первому раунду инвестиций. Дмитрий Поляков
Подготовка проекта к первому раунду инвестиций. Дмитрий Поляков
 
Как составлять правильный тизер для инвесторов? Никита Рогозин
Как составлять правильный тизер для инвесторов? Никита РогозинКак составлять правильный тизер для инвесторов? Никита Рогозин
Как составлять правильный тизер для инвесторов? Никита Рогозин
 
Startup belarus pres_khamiankova
Startup belarus pres_khamiankovaStartup belarus pres_khamiankova
Startup belarus pres_khamiankova
 

Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015