Децентрализованная конфигурация webpack или как упростить сборку проекта

Довольно частая ситуация, когда с ростом проекта растёт и сложность его сборки. Широкий зоопарк технологий, сторонние компоненты, библиотеки, линтеры, серверный рендеринг и нюансы, связанные с конкретным проектом, — всё это в итоге приводит к тому, что…

Кластеризация изображений с помощью нейросети CLIP

В статье пойдёт речь о том, как можно автоматически разделить датасет изображений на кластеры, которые поделены по качественному контекстному признаку, благодаря эмбедингам из нашумевшей нейронной сети CLIP от компании Илона Маска. Расскажу на примере …

«Право на забвение» или как просто удалять персональные данные по запросу пользователя

Удалять персональные данные пользователя по его запросу, чтобы продукт соответствовал законам CCPA или GDPR, можно по-разному. Хоть вручную каждую заявку на почте разбирать. Главное — сделать процесс максимально простым и понятным для пользователя. А э…

11 признаков Senior QA, к которым я пришёл за годы работы в тестировании

Если открыть вакансии QA, можно увидеть огромный разброс открытых позиций — от младшего тестировщика до ведущего, а иной раз и до главного. Часто слышу вопрос, чем должен обладать тестировщик уровня сеньор по сравнению с джуном или мидлом. Сейчас попро…

Посмеяться над мемами, стать мемологом, найти связь между «Симпсонами» и «Риком и Морти»: итоги конкурса про мемы

На прошлой неделе прошла конференция по мобильной разработке Mobius 2021, на которой мы выступили с докладом про анализ данных в приложениях, а также предложили участникам поиграть в мем-квиз и Memology Game. Cуть последней — найти связь между мем…

Как добавить обязательный запрос на IDFA через App Tracking Transparency

С весны этого года каждый iOS-разработчик должен запрашивать разрешение пользователя на использование рекламного идентификатора IDFA. В предыдущей статье мы сделали подробный обзор изменений в App Store и их влияния на мир iOS-разработки.А сегодня — пр…

Чаты на вебсокетах. Теперь про бэкенд

Продолжаем рассказывать про чаты на вебсокетах, но уже со стороны бэкенда. Когда-то использовали сторонний сервис, но было важно решить ряд моментов, которые он не мог покрыть. Выбирать особо не пришлось, и мы принялись разрабатывать собственное решени…

[Перевод] 20 вещей, которые я узнал за 20 лет работы инженером-программистом

Наткнулся на любопытный материал, в котором автор систематизировал и записал свой опыт инженера-программиста в 20 тезисов. Я работаю в коммерческой разработке ПО больше 25 лет, и этот текст отозвался во мне практически каждой буквой — большинство совет…

App Tracking Transparency: что изменилось с новой политикой приватности от Apple

Apple в прошлом году заставила понервничать весь мобильный рекламный рынок, анонсировав для App Store новую политику приватности данных. Теперь создатели приложений обязаны спрашивать разрешение пользователей на рекламный трекинг (да-да, тот самый нашу…

Дообучаем готовую нейросеть для классификации данных

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