Манго — это фрукты или бренд?
В апреле мы рассказывали, как устроен поиск Wildberries, а сейчас просто хотели напомнить о том, что за магией всегда стоят инженеры.
В команды Поиска и Каталога нужны golang-сеньоры и golang-помидоры, дата-инженеры и продуктовые аналитики. Без хороших девопсов тоже не обойтись.
Коротко о задаче: 1 млрд. поисковых запросов в сутки, 150 млн. документов и 300 мсек. на качественный релевантный ответ. А через год рост х2.
Осторожно, спойлер: никаких сфинксов и эластиков, все только свое, домашнее.
Присоединяйтесь *-)
#wbtech #vacancy
В апреле мы рассказывали, как устроен поиск 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
Такое уже было на двух 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
Атаки с использованием легитимных утилит (LotL-атаки) порой крайне сложно обнаружить. Злоумышленники заставляют совершать вредоносные действия даже такие популярные программы как 7z. В столкновении с ними многие стандартные инструменты детектирования становятся бессильны.
В своём докладе на последнем HighLoad++ директор по безопасности Wildberries Антон Жаболенко и тимлид команды DevSecOps Алексей Федулаев рассказывают, какими бывают LotL-атаки на примере контейнерных инфраструктур и как от них защититься.
#wbtech #wbsecurity #wbspeakers #highload
Идеальный наблюдатель на Swift
Олег Бахарев, тимлид iOS-разработки предается мечтательно‑философским размышлениям об идеальной реализации паттерна Observer в большой хабр-статье с кусками кода.
#wbtech #swift #ios #wbtech_habr
Олег Бахарев, тимлид iOS-разработки предается мечтательно‑философским размышлениям об идеальной реализации паттерна Observer в большой хабр-статье с кусками кода.
#wbtech #swift #ios #wbtech_habr
Идеальный REST-клиент для iOS
В подавляющем большинстве современных мобильных приложений используется сетевой обмен данными. В нашем представлении идеальный REST-клиент должен обеспечивать: сетевые запросы в одну строчку, асинхронность (с iOS 13.0), гибкость и компактность реализации.
Лонгрид с кусками кода от тимлида iOS-разработки Олега Бахарева, в котором он делится опытом построения идеального сетевого клиента для iOS.
#wbtech #swift #ios #wbtech_habr
В подавляющем большинстве современных мобильных приложений используется сетевой обмен данными. В нашем представлении идеальный REST-клиент должен обеспечивать: сетевые запросы в одну строчку, асинхронность (с iOS 13.0), гибкость и компактность реализации.
Лонгрид с кусками кода от тимлида iOS-разработки Олега Бахарева, в котором он делится опытом построения идеального сетевого клиента для iOS.
#wbtech #swift #ios #wbtech_habr
Open Source AppSec Review: как сделать приемку, внедрение и харденинг опенсорс-решения
Оперсорс стал неотъемлемой частью нашей жизни, двигая прогресс вперед и являясь порой безальтернативным вариантом. В любом продакшене есть опенсорс: от простой либы до Кубера с Постгресом.
Само собой, плохим парням здесь есть, где развернуться: начиная от атак на оперсорс-пакеты и заканчивая вредоносными коммитами в популярный софт под видом issues.
В своём докладе на последнем HighLoad++ тимлиды команд DevSecOps и автоматизации сервисов ИБ Алексей Федулаев и Лев Хакимов делятся чек-листом, который можно распечатать и повесить себе на стену, чтобы сверяться при внедрении нового опенсорс-продукта: обезопасились ли вы от того, что находится внутри.
#wbtech #wbsecurity #wbspeakers #highload #opensource
Оперсорс стал неотъемлемой частью нашей жизни, двигая прогресс вперед и являясь порой безальтернативным вариантом. В любом продакшене есть опенсорс: от простой либы до Кубера с Постгресом.
Само собой, плохим парням здесь есть, где развернуться: начиная от атак на оперсорс-пакеты и заканчивая вредоносными коммитами в популярный софт под видом 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
🖤❤️🤍
Через 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
Какие чувствительные данные пользователей хранит маркетплейс, и возможна ли их утечка, 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
Помните, Егор Карицкий рассказывал, как мы построили ЦОД без охлаждения?
Прямой фрикулинг и никаких кондиционеров, чиллеров, испарителей и других сложных агрегатов. Спроектировали и построили в 2-3 раза дешевле и эффективнее, чем обычные дата-центры.
Строим второй такой же в Дубне, ищем место под третий. Словом делаем все для того, чтобы вы могли спокойно заказывать товары на своем любимом маркетплейсе.
А для наглядности сняли небольшой ролик о том, как выглядит наш центр обработки данных.
#wbtech #wb_infrastructure
Субботняя задача про JavaScript: unlimited storage VS 5101K characters.
Вопрос о бесконечности Вселенной уже давно не дает покоя ученым. По версии одной из сторон, Вселенная конечна, замыкается сама в себе и должна быть по крайней мере в 250 раз больше того, что мы наблюдаем. И поскольку мы живем в трех измерениях, то по самой скромной оценке, Вселенная должна простираться как минимум на 11 триллионов световых лет во всех направлениях.
Это много, но... небесконечно.
Поговаривают также, что localStorage в одном из популярных браузеров не имеет лимита на количество символов, которые туда можно записать.
Выясните эмпирическим путем: в каком браузере отсутствует лимит на запись в localStorage и так ли это на самом деле.
Ответы и куски кода присылайте в комментариях.
#wbtech #wbchallenges #wbjschallenges
Вопрос о бесконечности Вселенной уже давно не дает покоя ученым. По версии одной из сторон, Вселенная конечна, замыкается сама в себе и должна быть по крайней мере в 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
Прежде чем стать хэдом оф дата сайнс в Вайлдберриз Саша Сидоров прошел большой путь в поиске и ранжировании.
В подкасте конференции 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 Eicient 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
Вдогонку к предыдущему посту — рекомендасьон от Саши Сидорова, хэда оф дата сайнс Вайлдберриз.
Полезные материалы про ранжирование:
— TwinBERT: Distilling Knowledge to Twin-Structured BERT Models for Eicient 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
Кстати, какой размер у структуры struct{}{}?
Только не гуглите *-)
#wbtech #wbchallenges #wbgochallenges
Только не гуглите *-)
#wbtech #wbchallenges #wbgochallenges
Media is too big
VIEW IN TELEGRAM
Технологический фундамент Wildberries — это люди. Не только знания и опыт, но и личности, характеры.
Изначально в серии роликов #wbpeople мы хотели рассказать о том, с какими классными ребятами нам повезло работать, но неожиданно для самих себя затронули интереснейшую тему поколений в IT.
В кадре два человека — их объединяет работа в команде Wildberries, но в чём-то они очень разные. Бумер и зумер. Кандидат наук и разработчик без высшего. Джун и тимлид, между которыми почти 20 лет.
Знакомьтесь с героями первого эпизода: руководитель разработки портала продавцов Азат Разетдинов и фронтенд-разработчик Руслан Иванов. Первое увольнение, ночные переработки,как пропатчить KDE под фрю, рост из простого руководителя в большого босса (руководителя руководителей) — эти и другие темы ребята обсудят в первом выпуске.
#wbtech
Изначально в серии роликов #wbpeople мы хотели рассказать о том, с какими классными ребятами нам повезло работать, но неожиданно для самих себя затронули интереснейшую тему поколений в IT.
В кадре два человека — их объединяет работа в команде Wildberries, но в чём-то они очень разные. Бумер и зумер. Кандидат наук и разработчик без высшего. Джун и тимлид, между которыми почти 20 лет.
Знакомьтесь с героями первого эпизода: руководитель разработки портала продавцов Азат Разетдинов и фронтенд-разработчик Руслан Иванов. Первое увольнение, ночные переработки,
#wbtech
Оптимальный архитектурный шаблон iOS-приложения
Большая хабростатья от тимлида iOS-разработки Олега Бахарева, в которой рассматривается оптимальный архитектурный шаблон большого iOS-приложения на Swift — преимущественно тонкого клиента. Основной упор делается на применение чистой архитектуры.
Будет полезно как новичкам, так и опытным разработчикам.
Еще почитать:
— Роберт Мартин «Чистая Архитектура»
— Кент Бек «Мастерство программирования»
— Raúl Ferrer García "iOS Architecture Patterns"
— Олег Бахарев «Идеальный наблюдатель на Swift»
— Олег Бахарев «Идеальный REST клиент iOS»
#wbtech #swift #ios #wbtech_habr
Большая хабростатья от тимлида 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
Лучший способ освоить какую-то технологию — познать ее ограничения ;)
1. Напишите функцию promiseFlood, которая будет создавать новые промисы в цикле;
2. В каждом промисе должно быть выполнено некоторое тривиальное действие (например, вывод в консоль или задержка на минимально возможное время);
3. Функция должна прекращать создавать промисы и возвращать их количество, когда достигнет точки, в которой среда выполнения не сможет корректно обрабатывать новые промисы;
4. Для проверки устойчивости вашего решения, попробуйте запустить ваш код в разных браузерах и сравните результаты.
Пишите в комментариях результаты ;)
#wbtech #wbchallenges #wbjschallenges