Очевидно, что обновлять технологический стек в проекте с долгой историей — это как перебирать двигатель самолета на лету. Подобная ситуация и у нас в Авито. В докладе я расскажу как итеративно, поступательно мы меняем фронтенд в Авито, внедрили серверный рендеринг, менеджмент зависимостей микрофронтендов, а так же какие грабли встретили и какие выводы из всего этого сделали.
Этот доклад для разработчиков middle и senior уровня, работающих с большой централизованной кодовой базой (и желающих эту кодовую базу распилить).
Чтобы делать хороший код-ревью мало просто смотреть на код и писать свое мнение о нем
Необходимо определиться с целью: зачем мы вообще ревьим код? Каждый вкладывает в процесс что-то свое: от обучения до дизайн-ревью
Нужно подготовить кучу всего: размер кода, размер задачи и ее постановку, описание проблемы и ее решения
Затем очистить код от примесей и ошибок, которые не должен проверять человек: от архитектурных до пропущенных пробелов
Проверить оформление и следование регламенту: конечно, автоматически
Правильно выбрать ревьюера: конечно, автоматически
Затем совершить сам акт общения и ревью: по делу, жестко, но без агрессии
AWS Lambda от Amazon достаточно новая, но интересная и перспективная технология, впервые увидевшая свет чуть менее 5 лет назад. В своем докладе я расскажу как мы разрабатывали с нуля и докатили до прода в достаточно короткие сроки систему на базе AWS Lambda.
Основная задача системы — запуск ML моделей для генерации предсказаний по заданным гипотезам. Однако архитектура получилась достаточно гибкая и позволяет расширять набор моделей практически «на лету».
Я расскажу о некоторых особенностях работы с AWS Lambda, а также немного ближе познакомлю с облачными сервисами Amazon (SQS, SNS, EC2, S3, etc.)
Микросервисная архитектура — это не только новая мода, но и хорошее, а иногда даже единственно возможное решение для задач, которые сейчас встречаются в разработке программного обеспечения. На конференциях микросервисы сравнивают с монолитной архитектурой, описывают их плюсы и минусы, делятся успешными и провальными историями. Но, пока в столицах дают рок-концерты, на местах осваивают балалайки. Не всегда понятно, как начать делать систему, основанную на микросервисной архитектуре. Какие проблемы ждут архитектора и разработчиков, какие узкие места могут встретиться и как к этому подготовиться? Имеет ли смысл начинать с монолита или надо сразу разбивать систему на микросервисы? Как определить границы, которые встанут между вашими микросервисами?
Во время разработки можно заложить на будущее множество сложностей, благодаря привычкам, оставшимся после работы над монолитной архитектурой. Во время доклада будут рассмотрены различные сценарии, в результате которых происходит увеличение связанности системы. Все сценарии взяты из реальных проектов и относятся к работе с библиотеками и интеграцией между микросервисами.
Выбор микросервисов окажет большое влияние на тестирование, где специалистов QA ждет ряд новых проблем, связанных со сбором логов и развертыванием окружения для тестирования.
Цель доклада не только в освещении проблемных мест разработки микросервисов, но и в предложении советов и решений, которые помогут исправить или даже избежать сложностей и, следственно, потери времени и ресурсов на их исправление.
Принять участие в проекте «7 вершин» с Командой Приключений" alpindustria.ru/tour/news/proekt-7-vershin-s-alpindustriej.html
Что на самом деле представляет собой восхождение на Эверест? Какие требования гора предъявляет к альпинистам? Как правильно готовиться в такому восхождению? С каким снаряжением и в какой экипировке? Как шаг за шагом прийти к вершине мечты?
Руководитель пяти успешных экспедиций и восходитель на Эверест Сергей Ковалёв ответит на эти вопросы, развеет (или подтвердит) популярные мифы о горе и, конечно, поделится своим опытом восхождений на главную вершину планеты.
Сергей Михалев, VIAcode — Оптимизация SQL-запросов, часть 1
Встреча CodeFreeze в Петербурге, 28.08.2013
В среду, 28 августа в бизнес-инкубаторе «Ингрия» состоялась встреча с разработчиком компании VIACode Сергеем Михалевым. Из доклада слушатели узнали о том, какие проблемы с производительностью могут возникнуть при работе с самыми, казалось бы, обыкновенными SQL-запросами и об оптимизации этих запросов.
По ходу доклада мы последовательно рассмотрим несколько весьма непростых ситуаций, все глубже и глубже вникая в область оптимизации запросов. Для этого нам потребуется определённый уровень понимания устройства и работы SQL Server-а, а также глубокие знания в области оптимизации запросов. Несмотря на то, что основой для примеров служит MS SQL, многие аспекты могут быть применены и к другим СУБД.
Мы разберемся с такими вопросами как:
— жизненный цикл запросов — механизм подготовки, кеширования и исполнения запросов в MS SQL;
— основы чтения планов выполнения запросов;
— влияние внешних ключей, кластерных представлений и вычислимых столбцов на производительность запроса;
— проблема неявного преобразования типов;
— статистика сервера и как она может влиять на скорость исполнения запроса.
Материал для доклада собран из реальных проектов и задач. Многие примеры выстраданы долгими часами, днями (а то и месяцами) напряженной работы. Доклад будет полезен всем, кто работает с базами данных.