Главная » Архив меток: Проектирование и рефакторинг

Архив меток: Проектирование и рефакторинг

[Из песочницы] RESS — Новая архитектура для мобильных приложений

Вопреки провокационному заголовку, это никакая не новая архитектура, а попытка перевода простых и проверенных временем практик на новояз, на котором говорит современное Android-комьюнити Введение В последнее время стало больно смотреть на то, что творится в мире разработки под мобильные платформы. Архитектурная астронавтика процветает, каждый хипстер считает своим долгом придумать новую архитектуру, а для решения простой задачи вместо двух строчек вставить ...

Читать далее »

Пропихиваем параметры в небезопасные операции в безопасном коде

Всем привет. В этот раз продолжаем смеяться над нормальным вызовом методов. Предлагаю ознакомится с вызовом метода с параметрами без передачи параметров. Также попробуем преобразовать ссылочный тип в число — его адрес, без использования указателей и unsafe кода. Дисклеймер Прежде, чем приступить к повествованию, настоятельно рекомендую ознакомиться с предыдущим постом про StructLayout, т.к. вещи, оговоренные там, здесь повторяться не будут. Также ...

Читать далее »

Встреча #RuPostgres: масштабирование приложений на PostgreSQL

Поговорим об алгоритмах и нюансах реализации транзакционности в языках программирования, построении бизнес-транзакций в сервисах с паттерном database per service, как устроена OZO — асинхронная типобезопасная header-only библиотека-клиент PostgreSQL для C++17, и уровнях изоляции транзакций PostgreSQL. 15 сентября в офисе Авито состоится встреча, посвященная масштабированию приложений на PostgreSQL. Регистрируйтесь на встречу и приглашайте коллег. С докладами выступят Стас Кельвич (Postgres Professional), ...

Читать далее »

Товар или сервис

На Хабре (да и в реальной IT жизни) встречаeтся много вопросов вида: Надо ли обновлять систему (или зависимости в приложении), если и так всё работает? Нужны ли вообще тесты (автотесты) в приложении (вы ведь на них потратите своё время и деньги заказчика)? Если ли смысл в паттернах и выделении абстракций (ведь подобное размазывает код, приводит к снижению производительности и т.д.)? ...

Читать далее »

Это пост с докладами и видео по MS SQL Server

А теперь выкладываем видео в общий доступ. В июне мы провели митап по Microsoft SQL Server — докладчики из Яндекс.Денег, «Лаборатории Касперского», AwaraIT и SpbDev поделились с коллегами опытом. Под каждым видео — таймкоды ключевых мест, но советуем смотреть, слушать и внимать целиком. Data-driven подписки в SSRS Антон Белокрылов, Яндекс.Деньги Это типовой сценарий использования подписок на отчёты в SQL Server Reporting Services, который встречается во многих компаниях. Каждое утро менеджеры ...

Читать далее »

Клиент-серверное взаимодействие в новом мобильном PvP-шутере и устройство игрового сервера: проблемы и решения

В предыдущих статьях цикла (все ссылки в конце статьи) о разработке нового fast paced шутера мы рассмотрели механизмы основной архитектуры игровой логики, базирующейся на ECS, и особенности работы с шутером на клиенте, в частности, реализация системы предсказания локальных действий игрока для повышения отзывчивости игры. В этот раз подробнее остановимся на вопросах клиент-серверного взаимодействия в условиях плохого соединения мобильных сетей и ...

Читать далее »

PWA — это просто. Hello Habr

Продолжаем знакомство с Progressive Web Applications. После теоретической прошлой части самое время перейти к практике. Сегодня мы построим простое, но полноценное PWA «Hello Habr». При открытии в браузере на мобильном устройстве возможно добавление ярлыка на домашний экран и запуск в полноэкранном режиме.Если кто хочет попробовать рассматриваемый пример на своем компьютере, то Chrome позволяет работать локально с простыми PWA приложениями без ...

Читать далее »

Оркестрируемая сага или как построить бизнес-транзакции в сервисах с паттерном database per service

Меня зовут Константин Евтеев, я работаю в Авито руководителем юнита DBA. Привет! Наша команда развивает системы хранения данных Авито, помогает в выборе или выдаче баз данных и сопутствующей инфраструктуры, поддерживает Service Level Objective для серверов баз данных, а еще мы отвечаем за эффективность использования ресурсов и мониторинг, консультируем по проектированию, а возможно и разрабатываем микросервисы, сильно завязанные на системы хранения, ...

Читать далее »

По дороге к 100% покрытия кода тестами в Go на примере sql-dumper

Начну с описания, зачем мне нужна была это программа. В этом посте я расскажу о том, как я писал консольную программу на языке Go для выгрузки данных из БД в файлы, стремясь покрыть весь код тестами на 100%. Дальше немного упомяну сборку на Travis CI, а затем расскажу о том, как я писал тесты, пытаясь покрыть код на 100%. Продолжу ...

Читать далее »

[Перевод] Руководство по Java 9 для тех, кому приходится работать с legacy-кодом

Добрый вечер, коллеги. Ровно месяц назад мы получили контракт на перевод книги "Modern Java" от издательства Manning, которая должна стать одной из наших самых заметных новинок в будущем году. Проблема «Modern» и «Legacy» в Java настолько остра, что необходимость такой книги довольно назрела. Масштабы бедствия и способы решения возникающих проблем в Java 9 кратко описаны в статье Уэйна Ситрина (Wayne ...

Читать далее »