Pull to refresh

Technotext

Захватывающая ловля багов, которые портили работу Unbound

Level of difficultyHard
Reading time38 min
Views15K

Привет, меня зовут Сергей Качеев, я старший разработчик в отделе сетевой инфраструктуры Яндекса. Сегодня я расскажу целый сетевой детектив о том, как мы искали баг, который убивал DNS сервер Unbound. Приготовьтесь, он будет долгим.

Всё началось с того, что мне предложили помочь ребятам из команды DNS найти такие метрики и наборы запросов, по которым будет однозначно понятно, какие настройки влияют на производительность Unbound и какие запросы вызывают у него проблемы.

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

Читать далее

YandexGPT в Алисе: как мы создаём языковую модель нового поколения

Reading time7 min
Views49K
Обучение больших языковых моделей — это одно из самых актуальных направлений в машинном обучении. Крупнейшие IT-компании бьются над созданием всё более совершенных моделей. В том числе и Яндекс: мы создаём и применяем в наших сервисах нейросети YaLM уже больше двух лет.

В этом году улучшение моделей стало приоритетным на уровне всей компании. Внутри эта работа известна как проект «Генезис» или YaLM 2.0. Её результатом стал большой скачок в качестве наших моделей.

Новая модель получила название YandexGPT (YaGPT), вы могли впервые попробовать её в Алисе по запросу «Давай придумаем» чуть больше двух недель назад. Сегодня мы обновили YaGPT: Алиса научилась писать ответы с учётом истории предыдущих сообщений. В честь этого хотим рассказать Хабру историю всего проекта. Уже в ближайшее время новая модель станет частью и других сервисов Яндекса.



Читать дальше →

Полное понимание асинхронности в браузере

Reading time24 min
Views135K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →

Как сэкономить время на старте этапа макетирования отчетности или прочь «чистый лист»

Level of difficultyMedium
Reading time6 min
Views2.2K

Как правило, аналитики на этапе макетирования сталкиваются с одной и той же проблемой – нехваткой времени. Делюсь шаблоном для создания макетов отчетности, который поможет сэкономить время и силы!

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

Читать далее

А/Б тестирование с CUPED: детальный разбор

Reading time14 min
Views23K

Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как работать с бинарными метриками и что делать при противоречивых результатах.

Читать далее

Если ваш фронтендер перестал бояться IE6, покажите ему SmartTV

Reading time7 min
Views23K

В декабре 2021 года под новогодние праздники в приложении Кинопоиска для SmartTV появился раздел с Яндекс Музыкой. Он позволил пользователям на телевизорах открывать новые для себя треки в Моей волне, включать популярные подборки и слушать собственную коллекцию на телевизорах.

При создании этого раздела я впервые столкнулась с миром SmartTV. Не каждый фронтендер встречает в своей практике подобные задачи, даже несмотря на то, что сейчас разработка под ТВ довольно популярна.

Меня зовут Лена и я фронтенд-разработчик Яндекс Музыки. В этой статье я расскажу про особенности работы SmartTV и разработки под них на примере свежей фичи, которую мы назвали Время клипов. Теперь в приложении вы можете посмотреть клипы любимых артистов и открывать для себя новых исполнителей, которые подходят вам по настроению.

Под катом обсудим ключевые отличия работы фронтенда над вебом и SmartTV, поговорим про оптимизацию и вёрстку и посмотрим на фотографии множества пультов (без пакетиков).

Читать далее

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

Reading time4 min
Views3.1K

Привет, Хабр! Меня зовут Станислав Игнатьев, я начальник отдела дизайна продуктов сервисов X5 Group. Мы проектируем интерфейсы для внешних и внутренних сервисов, например: подписка «Пакет», приложение «Пятёрочка», цифровая платформа для поставщиков Dialog.X5, приложения для работы сотрудников.

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

Читать далее

33 оттенка зелёного. Как мы проектировали темизированные палитры для внутренних интерфейсов Х5

Reading time10 min
Views5.4K

У нас было 24 компонента кнопок, 4 типа селектов, 10 стилей типографики, палитра Google Material и три запроса на темизацию интерфейсов от «Перекрёстка», «Пятёрочки» и Х5.

Меня зовут Георгий, работаю в Х5 с 2019 года. Проектировал UX/UI для b2b веб-сервисов с высокой насыщенностью данных: таблицы, карточки, формы, дашборды. А с 2021 года занимаюсь дизайн-менеджментом.

Расскажу, как мы создавали цветовые палитры и меняли внешний вид внутренних интерфейсов под запросы торговых сетей через темизацию.

Читать далее

Алгоритм Левита: между Дейкстре и Беллманом

Level of difficultyMedium
Reading time5 min
Views4.7K

Привет, Хабр! Когда заходет речь о поиске кратчайшего пути между двумя вершинами выбор обычно ложится на Дейкстре или Беллмана-Форда, однако есть ещё один алгоритм, который может сработать быстрее Беллмана, но не "сломается" на графах с отрицательными рёбрами.

Приятного чтения!

Читать далее

Почему вы не тренируетесь?

Level of difficultyMedium
Reading time29 min
Views72K
Читать далее

Напиши в ЛС «томат» или же что за «Клан томатов»

Level of difficultyEasy
Reading time3 min
Views5.3K

Расскажу о игре "Клан томатов", которая уже гуляет по сети >10 лет, чем нарушу её правила.

И том, как я написал бота, что бы попытаться вывести эту игру на новый уровень!

Читать далее

Рисуем с нейросетями: тонкие корректировки в Midjourney и Lumenor.ai

Reading time3 min
Views8.7K

Привет, Хабр! Я – Михаил Суворов, ведущий дизайнер коммуникаций в X5 Tech. В статье я расскажу несколько рабочих способов “уговорить” нейросеть нарисовать то, что вам нужно. Я использую нейросети как генераторы изображений, в первую очередь для создания иллюстраций.

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

В материале рассмотрим два ресурса, которые доступны онлайн и на сегодняшний день лучше всего справляются с задачей визуализации “по брифу от человека” – Midjourney и Lumenor.ai.

Читать далее

Как воспитать в своей семье юного инженера и не разориться?

Level of difficultyEasy
Reading time8 min
Views21K

Говорят, собственный пример – это самое лучшее обучение для ребёнка. Рассказываю, как я проверил справедливость этого высказывания на себе, с нуля погрузился в робототехнику и в итоге у меня даже получилось сконструировать нечто стоящее. А ещё в процессе я поднаторел в вопросах экономии средств на покупке довольно дорогостоящих деталей для такого вида хобби.

Короче, слушайте

Что делать, если вы не согласны на обработку ваших персональных данных?

Level of difficultyEasy
Reading time10 min
Views40K

Привет, Хабр! Меня зовут Татьяна Никонорова, я работаю ведущим консультантом по ИБ и занимаюсь разработкой организационно-распорядительных документов. Проще говоря, перевожу со сложного юридического языка на понятный русский -))

Когда я говорю, что занимаюсь защитой персональных данных, один из самих частых вопросов ко мне звучит примерно так: «Как мне отказаться от обработки моих персональных данных?». Я решила рассмотреть данный вопрос не только с точки зрения требований законодательства, но и опираясь на свой практический опыт.

Читать далее

Как работать в удовольствие: 6 практик, которые поднимают настроение команде

Level of difficultyEasy
Reading time7 min
Views17K

Привет, я Саша, продакт лид, отвечаю за развитие data-продуктов. Делать пользователей счастливее — моя работа. Но мне важно делать счастливее не только их, но и людей вокруг — коллег, с которыми мы создаем продукты. 

Внедрением практик для мотивации команды я занимаюсь более 6 лет, сначала в n1.ru, а теперь в Lamoda Tech. Сегодня хочу поделиться самыми простыми из них. Это быстрые рецепты, которыми мы пользуемся, чтобы поддержать живую, драйвовую атмосферу внутри команды, даже когда все работают в разных концах земного шара и не хотят включать камеру на созвонах.

Читать далее

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC

Level of difficultyMedium
Reading time30 min
Views18K

Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настроим канареечные деплои, а также узнаем, как реализовать кучу других супернеобычных механизмов межсервисного взаимодействия на основе, не поверите, библиотеки gRPC :D И да, мы с моей командой уже раскатили это на весь Ozon Tech, состоящий из более чем 4500 сервисов. Пристегнитесь — мы начинаем… :-)

Читать далее

Зачем рассказывать про контейнеризацию в 2023 году

Level of difficultyMedium
Reading time13 min
Views24K
image
Техножрец DevOps бережно описывает документацию по проекту

Опытные специалисты с характерным оттенком глаз могут справедливо возмутиться, что это всё уже давным-давно разжёвано и вообще RTFM. И будут отчасти правы. Тем не менее приходят новые специалисты, которые не застали бесплатную рассылку дисков с Ubuntu и вдумчивую компиляцию ОС с нуля.

Каждая новая технология поначалу держится на энтузиастах, которые её полностью понимают. Например, первые пользователи радио знали почти всё про радиосвязь, могли на коленке собрать детекторный приёмник и ловить радио «Маяк» на металлическую вешалку и моток проводов. Первые пользователи GNU/Linux знали всё про ядро и ключевые принципы работы. По крайней мере, вариант «поправил и скомпилировал драйвера для модема, чтобы настроить сеть» был не самым редким. Текущие пользователи обычно не сталкивались с основами, так как начали щупать технологию уже после снижения порога входа.

Те же процессы идут не только в среде потребителей технологий, но и среди инженеров. С одной стороны, узкая специализация совершенно нормальна, с другой — мы рискуем получить аналог культа Галактического Духа на Анакреоне из цикла романов «Основание» Азимова. Техножрецы выполняют сложные ритуалы, ядерные реакторы пайплайны работают. Ровно до тех пор, пока всё не сломается к чертям на низком уровне, а чинить будет некому.

Так происходит и с контейнеризацией. Я всё чаще встречаю на собеседованиях devops-инженеров, которые знают, как пользоваться Docker и Podman, пишут Dockerfile, но теряются, когда спрашиваешь про namespaces, и начинают плавать при вопросе: «А зачем, чем RPM хуже?» Все собирают контейнеры, и я собираю. Таков Путь. Не всегда, кстати, оптимальный.
Читать дальше →

Эластичный DAG или «гнём, где не гнулось»

Level of difficultyEasy
Reading time7 min
Views3.7K

Всем привет, на связи IT-сообщество Газпромбанка, и меня зовут Грошев Павел. Я занимаюсь разработкой на языке программирования Python, и уже больше года, создаю загрузчики внешних данных для нашей DataFactory – внутрибанковской платформы больших данных.

Сегодня я расскажу, об одном интересном механизме, который, как мне кажется, может упростить жизнь разработчиков и/или команд поддержки работы DAGов Airflow и ETL-процессов.

Заинтересовали, ныряю!

Почему рукописную подпись считают надёжным способом аутентификации (и так ли это на самом деле)

Reading time7 min
Views16K
image

Подпись — один из основных методов идентификации личности. Не самый надёжный, но часто самый простой и доступный для бумажного документооборота.

Автограф должен подтверждать подлинность документа. Например, в банках сотрудники по-прежнему сравнивают подписи в документах и в паспорте.

Подписи не уникальны и не обладают общей надёжностью, но при этом достаточно надёжны в определённых задачах.

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

Разумеется, когда встаёт вопрос крупной сделки, нужны дополнительные верифицирующие факторы.

И, кажется, подписи уже отживают своё.
Читать дальше →

Что такое GitOps и почему он (почти) бесполезен

Level of difficultyHard
Reading time9 min
Views19K

Новый авиалайнер. Входит стюардесса в пассажирский салон: «Вы находитесь на нашем новом авиалайнере, в носовой части самолёта у нас находится кинозал, в хвостовой — зал игровых автоматов, на нижней палубе — бассейн, на верхней — сауна. А теперь, уважаемые господа, пристегните ремни, и со всей этой хреновиной мы попробуем взлететь».

Привет, меня зовут Олег! В ИТ-индустрии я работаю большую часть своей жизни. Мне очень интересно развитие инженерной мысли в области управления конфигурацией инфраструктуры, и последние шесть лет я занимаюсь тем, что называется DevOps.

Одна из свежих популярных тенденций — это концепция GitOps, которая была представлена в 2017 году на ставшем уже легендарным «Кубконе» Алексисом Ричардсоном — СЕО компании Weaveworks.

Weaveworks — это большая взрослая компания, которая в 2020 году привлекла больше 36 миллионов инвестиций под развитие своего GitOps.

Сейчас я попробую рассказать о тех неочевидных проблемах, которые могут вас ждать при принятии этой концепции. Если коротко, то GitOps не является «Серебряной пулей». Вполне вероятно, что спустя какое-то время вы закончите реорганизацию с ворохом велосипедов и костылей, которыми очень сложно управлять. Мы сами изрядно походили по этим граблям и хотим показать наиболее неприятные проблемы, которые не видны при чтении красивых статей.
Читать дальше →