WBTECH
11.7K subscribers
230 photos
10 videos
145 links
Разработчики Wildberries делятся опытом: полезные статьи и анонсы мероприятий

Ютуб: https://www.youtube.com/@wb_tech

Регистрация в Роскомнадзоре:
№ 4963508866
Download Telegram
Манго — это фрукты или бренд?

В апреле мы рассказывали, как устроен поиск Wildberries, а сейчас просто хотели напомнить о том, что за магией всегда стоят инженеры.

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

Коротко о задаче: 1 млрд. поисковых запросов в сутки, 150 млн. документов и 300 мсек. на качественный релевантный ответ. А через год рост х2.

Осторожно, спойлер: никаких сфинксов и эластиков, все только свое, домашнее.

Присоединяйтесь *-)

#wbtech #vacancy
😎 Платим за обнаружение уязвимостей Wildberries. Жаль, что Кевин Митник не дожил

Такое уже было на двух Standoff Hacks, где мы выплатили больше 4 млн ₽ за поиск уязвимостей в закрытых программах.

А с 1 декабря запустили собственную багбаунти-программу на Standoff 365. Искать уязвимости можно на всех наших ресурсах: *.wildberries.ru, *.wb.ru, *.paywb.com, *.paywb.ru, *.wb-bank.ru.

Самое большое вознаграждения за баги, найденные в основном скоупе — до 250 000 ₽. В него входят веб-версия и приложения маркетплейса и портала продавцов, сервис «Всем работа» и платежный шлюз (только веб), Balance Pay (только мобилки).

Остальные ресурсы включены в дополнительный скоуп и там максимальное вознаграждение в два раза меньше.

😲 Отдельный сценарий — взлом личного кабинета тестового продавца. Если тебе это удастся, получишь 500 000 ₽.

Больше информации — в программе по ссылке. Читай, изучай, ломай (верим в тебя!).

#wbsecurity #bugbounty
Как собрать контейнер и не облажаться вооружить хакера.

Атаки с использованием легитимных утилит (LotL-атаки) порой крайне сложно обнаружить. Злоумышленники заставляют совершать вредоносные действия даже такие популярные программы как 7z. В столкновении с ними многие стандартные инструменты детектирования становятся бессильны.

В своём докладе на последнем HighLoad++ директор по безопасности Wildberries Антон Жаболенко и тимлид команды DevSecOps Алексей Федулаев рассказывают, какими бывают LotL-атаки на примере контейнерных инфраструктур и как от них защититься.

#wbtech #wbsecurity #wbspeakers #highload
Please open Telegram to view this post
VIEW IN TELEGRAM
Идеальный наблюдатель на Swift

Олег Бахарев, тимлид iOS-разработки предается мечтательно‑философским размышлениям об идеальной реализации паттерна Observer в большой хабр-статье с кусками кода.

#wbtech #swift #ios #wbtech_habr
Идеальный REST-клиент для iOS

В подавляющем большинстве современных мобильных приложений используется сетевой обмен данными. В нашем представлении идеальный REST-клиент должен обеспечивать: сетевые запросы в одну строчку, асинхронность (с iOS 13.0), гибкость и компактность реализации.

Лонгрид с кусками кода от тимлида iOS-разработки Олега Бахарева, в котором он делится опытом построения идеального сетевого клиента для iOS.

#wbtech #swift #ios #wbtech_habr
Open Source AppSec Review: как сделать приемку, внедрение и харденинг опенсорс-решения

Оперсорс стал неотъемлемой частью нашей жизни, двигая прогресс вперед и являясь порой безальтернативным вариантом. В любом продакшене есть опенсорс: от простой либы до Кубера с Постгресом.

Само собой, плохим парням здесь есть, где развернуться: начиная от атак на оперсорс-пакеты и заканчивая вредоносными коммитами в популярный софт под видом issues.

В своём докладе на последнем HighLoad++ тимлиды команд DevSecOps и автоматизации сервисов ИБ Алексей Федулаев и Лев Хакимов делятся чек-листом, который можно распечатать и повесить себе на стену, чтобы сверяться при внедрении нового опенсорс-продукта: обезопасились ли вы от того, что находится внутри.


#wbtech #wbsecurity #wbspeakers #highload #opensource
Падам-пумс!

Через 10 минут Android-тимлид Wildberries Ексей Пантелеев стартует с двумя докладами на GPU AR/VR-митапе в Южном ИТ_Парке:

«Программирование для GPU: Vulkan, Metal, шейдеры»

«AR/VR-разработка под visionOS и Android»

Пишите вопросы спикеру прямо в этом топике — мы передадим.

Подключайтесь к трансляции 👈

#south_gpu_arvr_meetup #wbtech #wbspeakers #wbmeetups #southitpark

🖤❤️🤍
Please open Telegram to view this post
VIEW IN TELEGRAM
«Не делайте так!» — ИБ-специалисты Wildberries о взломах личных кабинетов и грязной конкуренции среди продавцов

Какие чувствительные данные пользователей хранит маркетплейс, и возможна ли их утечка, fingerprint и сессионный антифрод, сколько ИБ-шников работают в Wildberries, и как защититься от них самих, Privileged Access Management (PAM) и Security Operation Center (SOC), passwordless и аппаратные токены, багбаунти и популярные типы атак, продавцы и фишинг, шифровальщик на основе 7zip и как поднять привелегии через утилиту less.

Обо всем этом и не только — Алексей Федулаев и Антон Жаболенко в теплом ламповом подкасте (там действительно есть лампа!) у Котелова.

Аудиодорожка на mave.

PS. На острые вопросы про падение WB и списания с карт тоже ответили ;-)

#wbtech #wbsecurity #wbspeakers #wbpodcast
ЦОД Wildberries без охлаждения и смс

Помните, Егор Карицкий рассказывал, как мы построили ЦОД без охлаждения?

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

Строим второй такой же в Дубне, ищем место под третий. Словом делаем все для того, чтобы вы могли спокойно заказывать товары на своем любимом маркетплейсе.

А для наглядности сняли небольшой ролик о том, как выглядит наш центр обработки данных.

#wbtech #wb_infrastructure
Субботняя задача про JavaScript: unlimited storage VS 5101K characters.

Вопрос о бесконечности Вселенной уже давно не дает покоя ученым. По версии одной из сторон, Вселенная конечна, замыкается сама в себе и должна быть по крайней мере в 250 раз больше того, что мы наблюдаем. И поскольку мы живем в трех измерениях, то по самой скромной оценке, Вселенная должна простираться как минимум на 11 триллионов световых лет во всех направлениях.

Это много, но... небесконечно.

Поговаривают также, что localStorage в одном из популярных браузеров не имеет лимита на количество символов, которые туда можно записать.

Выясните эмпирическим путем: в каком браузере отсутствует лимит на запись в localStorage и так ли это на самом деле.

Ответы и куски кода присылайте в комментариях.

#wbtech #wbchallenges #wbjschallenges
«Нашло то, что спрашивал, но не то, что искал» — подкаст про ранжирование и ретривел

Прежде чем стать хэдом оф дата сайнс в Вайлдберриз Саша Сидоров прошел большой путь в поиске и ранжировании.

В подкасте конференции I'ML Саша постарался приблизить нас всех к пониманию разницы между свитером, джемпером и зипкой:

— почему важно понимать как устроена математика под капотом у ML-моделей?
— как сделать крутое ранжирование быстро, дешево и сердито в 2024 году?
— как мультимодальные трансформеры в маркетплейсе помогают лучше понять контекст запроса пользователя на основании разных данных?
— как рассчитать количество видеокарт, необходимых для работы дата-центров, обработки данных и обучения моделей?
— баланс при разработке высоконагруженных ML-сервисов: масштабируемость, инфраструктура и сроки.

Обсудили BERT, TwinBERT, DLRM, mCLIP, BST, Yolo, ViT, DINO и NN. Поговорили про оркестрацию моделей, кластеризацию и эмбеддинги и, конечно же, о том, как создать инфраструктуру под растущие нагрузки.

#wbtech #wbds #wbspeakers #wbpodcast
Подборка ссылок про ранжирование.

Вдогонку к предыдущему посту — рекомендасьон от Саши Сидорова, хэда оф дата сайнс Вайлдберриз.

Полезные материалы про ранжирование:
TwinBERT: Distilling Knowledge to Twin-Structured BERT Models for E€icient Retrieval
Deep Learning Recommendation Model for Personalization and Recommendation Systems
DLRM: Deep Learning Recommendation Model for Personalization and Recommendation Systems (на русском)
Learning Transferable Visual Models From Natural Language Supervision
Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
Про BST на русском (видео)
Архитектура NN в поиске TaoBao
Unified Embedding Based Personalized Retrieval in Etsy Search
Сборник статей про LLM for Recommendation Systems
Cтатьи и видео, как всё устроено в поиске и рекомендациях (hh.ru, Wildberries)


Любимые каналы Саши Сидорова про DS/ML:
— information Retriever — рекомендательные системы глазами RecSys R&D лида Яндекса. Недельные дайджесты arxiv/cs.IR, обзоры статей, образовательные посты и не только;
gonzo-обзоры ML статей — дайджест от Гриши Сапунова (ex. Яндекс.Новости, ныне CTO Intento) и Лёши Тихонова (ex. Яндекс, автор Автопоэта, Нейронной Обороны);
канал PyMagic

Enjoy!

🖤❤️🤍

#wbtech #wbds #artircles
Что выведется в консоль?


console.log((NaN + NaN - NaN)*NaN);


Только давайте без Cmd+C / Cmd+V ;—)
Кстати, какой размер у структуры struct{}{}?

Только не гуглите *-)

#wbtech #wbchallenges #wbgochallenges
Media is too big
VIEW IN TELEGRAM
Технологический фундамент Wildberries — это люди. Не только знания и опыт, но и личности, характеры.

Изначально в серии роликов #wbpeople мы хотели рассказать о том, с какими классными ребятами нам повезло работать, но неожиданно для самих себя затронули интереснейшую тему поколений в IT.

В кадре два человека — их объединяет работа в команде Wildberries, но в чём-то они очень разные. Бумер и зумер. Кандидат наук и разработчик без высшего. Джун и тимлид, между которыми почти 20 лет.

Знакомьтесь с героями первого эпизода: руководитель разработки портала продавцов Азат Разетдинов и фронтенд-разработчик Руслан Иванов. Первое увольнение, ночные переработки, как пропатчить KDE под фрю, рост из простого руководителя в большого босса (руководителя руководителей) — эти и другие темы ребята обсудят в первом выпуске.

#wbtech
Оптимальный архитектурный шаблон iOS-приложения

Большая хабростатья от тимлида iOS-разработки Олега Бахарева, в которой рассматривается оптимальный архитектурный шаблон большого iOS-приложения на Swift — преимущественно тонкого клиента. Основной упор делается на применение чистой архитектуры.

Будет полезно как новичкам, так и опытным разработчикам.

Еще почитать:
Роберт Мартин «Чистая Архитектура»
Кент Бек «Мастерство программирования»
Raúl Ferrer García "iOS Architecture Patterns"
Олег Бахарев «Идеальный наблюдатель на Swift»
Олег Бахарев «Идеальный REST клиент iOS»

#wbtech #swift #ios #wbtech_habr
Пятничная задача про JS: сколько обещаний (promises) может удержать JavaScript?

Лучший способ освоить какую-то технологию — познать ее ограничения ;)

1. Напишите функцию promiseFlood, которая будет создавать новые промисы в цикле;
2. В каждом промисе должно быть выполнено некоторое тривиальное действие (например, вывод в консоль или задержка на минимально возможное время);
3. Функция должна прекращать создавать промисы и возвращать их количество, когда достигнет точки, в которой среда выполнения не сможет корректно обрабатывать новые промисы;
4. Для проверки устойчивости вашего решения, попробуйте запустить ваш код в разных браузерах и сравните результаты.

Пишите в комментариях результаты ;)

#wbtech #wbchallenges #wbjschallenges