Тестирование презентера с использованием PromiseKit

Паттерн MVP в разработке мобильных приложений — это довольно простой способ разгрузить ViewController и вынести часть логики в презентер. Презентер начинает обрастать логикой, которая легко поддается тестированию. Пусть есть экран MelodyListViewController показывающий список мелодий. У него есть презентер MelodyListPresenter, который говорит ViewController что показывать. Данные презентер будет брать из сервиса MelodyService. MelodyService это обертка над […]

CodeRainbow: интерактивное изучение и документирование кода

Часто программистам приходится разбираться с чужим незнакомым кодом. Это может быть и изучение интересных проектов с открытым кодом, и необходимость по работе — в случае присоединения к новому проекту, при анализе большого объема legacy кода и т.д. Думаю, каждый из вас сталкивался с этим. У меня в процессе такой работы всегда остро ощущалась необходимость некоего […]

Oculus Quest

Всё, что нужно знать об Oculus Quest по информации с крупнейшей выставки года по виртуальной реальности. Если Вы интересуетесь виртуальной реальностью, то наверняка знаете, что в Сан Хосе 26 и 27 сентября прошло одно из самых важных событий года в мире виара — а именно Oculus Connect 5 от компании Facebook. На самом мероприятии мне, […]

Обнаружение лиц на видео: Raspberry Pi и Neural Compute Stick

Около года назад компания Intel Movidius выпустила устройство для эффективного инференса сверточных нейросетей — Movidius Neural Compute Stick (NCS). Это устройство позволяет использовать нейросети для распознавания или детектирования объектов в условиях ограниченного энергопотребления, в том числе в задачах робототехники. NCS имеет USB-интерфейс и потребляет не более 1 ватта. В этой статье я расскажу об опыте […]

SSR: когда, зачем и для чего. На примере Vue

Once upon a time Несколько лет назад, когда я только начинал работать с вебом на Java, мы работали с JSP. Вся страница генерировалась на сервере и отправлялась клиенту. Но потом встал вопрос о том, что ответ приходит слишком долго… Мы начали использовать подход, при котором отдается пустой темплейт страницы, а все данные уже постепенно подгружались […]

Дизайн-процесс: 7 шагов к идеальному проекту

Одна из самых больших проблем начинающих дизайнеров - отсутствие налаженного процесса работы. Это логично, ведь большинство дизайнеров - самоучки, которые начинали с копирования и только после этого всерьез начали заниматься ремеслом. Я, как и многие, на старте карьеры столкнулся с этой проблемой. Периодические заказы могли создать иллюзию того, что я все делаю правильно, но со временем я начал понимать, […]

Ещё больше практики! Научим Spring Framework и профилированию без всяких конференций

Вы читаете посты в нашем блоге и думаете: «Кому они нужны, я не хожу на конференции». А на конференции вы не ходите потому, что вам хочется научиться каким-то конкретным вещам, а не просто увеличить кругозор. Да, для кого-то это имеет смысл! Не только вы так думаете. Специально для вас мы сделали нечто совершенно другое. За […]

Как я взломал Steam. Дважды

Привет, Хабр! Сегодня я расcкажу за что же Valve заплатила наибольшие баунти за историю их программы по вознаграждению за уязвимости. Добро пожаловать под кат! 1. SQL Injection Сервис partner.steampowered.com предназначен для получения финансовой информации партнеров Steam. На странице отчётов о продажах рисуется график с кнопками, которые меняют период отображения статистики. Вот они в зелёненьком прямоугольнике: […]

Security Week 37: Facebook, Twitter и надувные баги

Околоайтишные маркетологи нынче любят обсуждать, что абсолютно любое сообщение о новом продукте, технологии или событии воспринимается лучше, если в нем присутствует блокчейн. Или машинообучаемые алгоритмы. Аналогичным образом, любое сообщение в сфере информационной безопасности становится более резонансным, если в нем упоминается социальная сеть Facebook. Информационная реальность, подогретая скандальчиком с приватностью данных пользователей, такова, что если в […]

Цукерберг финансирует: Построение инструментов для Science Together

Зарождение совместных вычислительных средств для Human Cell Atlas Специалист по вычислительной статистике Ким-Анх Ля Цао, работающая с ученым CZ Biohub Анджелой Писко. Клетки являются фундаментальными единицами жизни, но нам еще многое предстоит узнать об их основной функции и организации. Существуют тысячи типов клеток и триллионы отдельных клеток, работающих в сложных системах дабы обеспечить многообразие функций […]