Социальные сети Рунета
Пятница, 10 мая 2024

Вестник Midjourney: новая документация, генерация фрагментов и тюнер стилей В начале 2023 года я рассказывал о четвертой версии Midjourney, а затем — о альфа-доступе к пятой. Сейчас актуальная версия — 5.2, а недавно вышла альфа шестой. Сохраним хронологию и посмотрим, что нового в пятой версии. Спойлер: разработчики уделили внимание не только про...

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

Code smells — обзор на примере PHP Hola, Amigos! Меня зовут Евгений Шмулевский, я PHP-разработчик в агентстве заказной разработки Amiga. В этой статье хотелось бы рассмотреть вопрос качества кода и что из рекомендаций по нему лично для себя использую. Статья адресована начинающим разработчикам. Читать далее

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

Российские СХД, очень много платформ для ML, новые GPU и коммутаторы. Дайджест серверного железа за февраль Привет! Меня зовут Сергей, в этой статье я расскажу о новинках в мире железа за прошедший месяц. Многие из них показали на выставке Mobile World Congress 2024 в Барселоне. Бонус — обзор нового оборудования российских вендоров. Уже присматриваете железо для своих серверов? П...

Kandinsky 3.0 — новая модель генерации изображений по тексту Без чувства современности художник останется непризнанным. Михаил ПришвинВ прошлом году на АI Journey мы представили модель Kandinsky 2.0 — первую диффузионную мультиязычную модель генерации изображений по тексту, которая может генерировать изображения на основе русскоя...

Решение ошибки при миграции на Storybook 7: «Providers from the BrowserModule have already been loaded» Привет, я фронтенд-разработчик в Skyeng. При переходе с шестой версии Storybook на седьмую встретилась ошибка «Providers from the BrowserModule have already been loaded. If you need access to common directives such as NgIf and NgFor, import the CommonModule instead».В этой с...

Transition Animation: настраиваем анимацию переходов во Flutter Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. Современное приложение почти невозможно представить без анимации. И один из ее типов — Transition Animation, или анимация переходов. Ее используют, чтобы переход с одной страницы на другую был плавным и крас...

Сервисы дружитес. Как платформа упрощает создание интеграций без ошибок Всем привет! Кратко обо мне: меня зовут Никита и я уже третий год работаю над тем, чтобы платформа СберМаркета становилась лучше день ото дня. Мой основной язык программирования — Go, но, учитывая специфику платформенной разработки, еще и bash.В этой статье на примерах разбе...

Attention is Not All You Need: как менялась архитектура трансформера С момента выхода оригинальной статьи про трансформер прошло уже больше 7 лет, и эта архитектура перевернула весь DL: начав с NLP архитектура теперь применяется везде, включая генерацию картинок. Но та ли это архитектура или уже нет? В этой статье я хотел сделать краткий обзо...

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

Программа поиска эллипсов и определения их параметров МНК Привет! Я новичок на Харбре. Меня зацепила статья от 2011 года: «Детектирование эллиптических частиц на микрофотографии. Новый алгоритм поиска эллипсов на изображении». https://habr.com/ru/articles/135332/. Вот комментарий к этой статье (Mrrl 27 дек 2011 в 07:49): «А почему ...

Почему FilamentPHP — это хорошее решение для создания CMS Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь по...

Мастерим многопоточность: техники и инструменты для Java-разработчиков. Часть 1 Привет, Хабр! Это первая часть обзора по изучению существенных тем Java стека и туториала по их применению. В этой статье вы найдете важные аспекты многопоточности в Java, а также полезные шпаргалки с практическими примерами.Меня зовут Влад, я Java-разработчик в компании Sim...

Ищем альтернативу SharePoint среди российских решений. Обзор «Первой Формы» Всем привет! Меня зовут Саша Бойко, я бизнес-аналитиков «Первой Формы». В этой статье я хочу сравнить функциональные возможности этих двух решений для организации совместной работы. В 2023 году мы несколько раз проводили такое импортозамещение, и вот, когда Microsoft совсем ...

Как работает блокчейн Scroll: технические детали и обзор архитектуры Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов на Solidity в команде MetaLamp. ​​В этой статье я расскажу про основные технические принципы блокчейна Scroll, которые повлияли на дизайн блокчейна, а также дам обзор общей архитектуры блокчейна.Из этой ст...

Правильные, но (не)простые бэкапы. Как настроить резервное копирование в Kubernetes? Разработчикам и системным администраторам важно обеспечивать надежность и доступность данных в приложениях Kubernetes. Несмотря на высокую степень автоматизации и управления контейнерами, всегда остаются риски сбоев или человеческих ошибок — поэтому необходимо заранее задум...

Как установить MikroTik CHR в облаке? Шпаргалка MikroTik Cloud Hosted Router (CHR) — удобное решение для создания виртуальных маршрутизаторов в облаке. С помощью него можно эффективно управлять сетевым трафиком, регулировать безопасность и оптимизировать работу в облачной среде. Меня зовут Кирилл, в этой статье я подроб...

Fuzzing-тестирование. Практическое применение Привет, Хабр! Меня зовут Никита Догаев, я Backend Team Lead в команде Контента на портале поставщиков Wildberries. Мы отвечаем за карточки, которые каждый день испытывают на прочность сотни тысяч продавцов из разных стран.В статье поделюсь своим опытом применения фаззинга дл...

Айтишникам нельзя не быть креативными, и я сейчас это докажу Всем привет. Меня зовут Антон, я Scrum-мастер IT-отдела компании AppEvent и по-совместительству front-end разработчик. В моей первой статье на Хабр хочу рассказать вам, почему же айтишнику нужно быть креативным и как этот навык вообще можно проявить. Ведь зачастую он являетс...

Машины как я или генеративная овсянка? О генеративном ИИ в игровой индустрии Привет, Хабр! Меня до сих пор зовут Владимир Садовский, я по-прежнему работаю программистом инструментария в Nau Engine, всё так же обожаю игры, и меня всё ещё не заменил искусственный интеллект. В прошлый раз я рассказывал о процедурной генерации в игровой индустрии. Пришла...

5 стадий принятия необходимости изучения «плана запроса» или почему может долго выполняться запрос Всем привет! Меня зовут Виктор, я работаю в Компании БФТ-Холдинг руководителем группы разработки. В этой статье разберем подходы и рекомендации по выявлению и устранению проблем с производительностью в системе базы данных Greenplum. Материал будет особенно полезен начинающим...

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе. Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд п...

Как автоматизировать заполнение changelog через GitHub Action Привет, Хабр! Меня зовут Юрий Петров, я автор Youtube-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. Разработчики используют GitHub, чтобы писать и хранить свои прое...

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

Как решить типичные проблемы Django нестандартным подходом: Fake Injection Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я back...

Ограничения в телеграм-бот (Bot API), о которых никто не расскажет Привет! Меня зовут Оля, я программист учебного центра компании «Тензор».В декабре 23-го мне поступила творческая задача разработать телеграм-бот для проведения новогоднего марафона-тренинга по личностному росту.В этой статье расскажу о проблеме, с которой столкнулась при раз...

Почему native Account Abstraction в zkSync лучше ERC-4337 Привет, Хабр! Меня зовут Рома Ярлыков, я разрабатываю смарт-контракты на Solidity в MetaLamp. В этой статье я расскажу, как реализован Account Abstraction в zkSync и чем такой подход отличается от уже популярного стандарта ERC-4337. Чтобы понять, что за блокчейн zkSync, реко...

Обзор Llemma: новая математическая open-source модель Привет! Меня зовут Дарина, и я занимаюсь фундаментальными исследованиями в MTS AI. Основной фокус нашей работы сейчас — обучение больших языковых моделей, их тестирование и оптимизация.Сегодня хочу сделать обзор на недавно вышедшую статью LLEMMA: an open language model for m...

Подключение робота-пылесоса к водопроводу и канализации на примере Dreame L30 Ultra В общем, у меня возникли сложности с подключением робота-пылесоса к водопроводу и канализации. А сама модель робота мне понравилась. Не дорого думал, решил обновиться до версии L30 с модулем самоочистки RAW4. Читать дальше →

Мечтают ли нейроовцы о генеративных трубах? Кратко о PCG в контексте игровой индустрии Привет, Хабр! Меня зовут Владимир Садовский и я трудоголик (вялые аплодисменты) работаю программистом инструментария в Nau Engine. А ещё — обожаю игры. С детства. Компьютер у меня появился, когда мне было восемь. Предполагалось, что для учебы, но на глаза мне попалась Carmag...

После прочтения применить, или Чистый код на практике Начинающие разработчики часто встречают на ревью пулл-реквестов очень дотошных ревьюеров, дающих кучу комментариев по теме чистоте кода. Меня зовут Мария Кондаурова, я фронтенд-разработчик в департаменте вычислительной биологии в BIOCAD. И у меня есть свои мысли на тему чист...

Как устроен @State в SwiftUI Привет! Меня зовут Илья, я iOS разработчик в компании Банки.руУже больше двух лет наше приложение мы пишем на SwiftUI. В статье расскажу о Property Wrapper'е @State. Читать далее

[Перевод] Погружение в компиляторы Kotlin Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новы...

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

Взгляд на ИБ со стороны не ИБ-разработчиков Всем привет! Меня зовут Елена Галата, в ГК "Цифра" я руковожу направлением разработки программного обеспечения. Хочу сегодня немного поговорить об информационной безопасности и о том, как она выглядит со стороны тех, кто имеет отношение к созданию ПО. Не только программисто...

10 забавных сервисов в области ИИ Привет, Хабр! Генерирую я значит через сервис ИИ новые эмодзи и думаю, а почему бы не написать прямо сейчас статью про это и поделиться с Вами 10 сервисами, которые мне показались забавными. Кого-то из Вас они могут натолкнуть на ещё более интересные идеи или мысли. Меня зов...

Митап по С++ в Питере и онлайн: цена абстракции, статический анализ и дискуссия о код-ревью 20 марта собираемся на бесплатном митапе в Санкт-Петербурге и онлайн. Константин Владимиров расскажет о цене абстракции, а разработчик из команды телекома YADRO Владимир Леонтьев на примере инструмента генерации RPC-серверов покажет, как написать кодогенератор. В конце встре...

Юнит-тесты: чек-лист методик проектирования Привет, Хабр! Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше ис...

«Найти и утилизировать»: как мы автоматизировали очистку ресурсов после тестирования с помощью Tempest Cleanup Всем привет! Меня зовут Валентина, я разработчик в тестировании Selectel. В своей прошлой статье я рассказала, как мы автоматизировали запуск тестов Tempest в GitLab. Статья вам понравилась, поэтому я написала продолжение. В нашей автоматизации была проблема: после тестов ...

Рекомендации по ведению SQL-кода В этом материале разберем общие рекомендации по ведению SQL-кода на примере СУБД MS SQL (T-SQL). Однако, многие пункты можно также применить и к другим СУБД. Читать дальше →

Обзор архитектуры Compose с использованием паттерна «координатор» В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее разверну...

Библиотека на Go для работы с RuStore API Привет, Хабр!Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. Иногда авторизация через API и получение JWE-токена занимают больше времени, чем хотелось бы. С ...

Я научился управлять компьютером силой мысли: обзор нейроинтерфейса NextMind Dev Kit Совсем недавно мне в руки попала невероятная вещь — нейроинтерфейс NextMind Dev Kit. С виду небольшое устройство, простая пластиковая «шкатулка» с несколькими платами и девятью электродами, которая может согласовать мозг с компьютером. На выходных у меня нашлось немного вр...

Микрофронтенд для самых маленьких Всем привет. Меня зовут Алексей. Сейчас я работаю frontend-разработчиком в компании Ozon. В свободное время мне нравится читать про новые технологии, фреймворки, а учитывая то, с какой скоростью развивается frontend, я никогда не скучаю. В этой статье пойдет речь о микрофрон...

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

Как создавать аттестованные системы — на примере инфраструктуры Selectel Ежегодно российские компании создают десятки тысяч информационных систем на базе инфраструктуры провайдеров. Облачные технологии активно развиваются в разных отраслях. В том числе, их используют для обработки персональных данных и других задач, подпадающих под требования ФС...

Инклюзивность и цифровая доступность в дизайне: почему это важно для всех Всем привет! Меня зовут Юля Алёхина, я дизайнер в AGIMA. В этой статье поговорим об инклюзивном дизайне, о том, почему он касается не только людей с инвалидностью и как правильно аргументировать важность доступности в общении с заказчиком. Еще расскажу, как наш дизайн-отдел ...

Figma to Frontend: как мы автоматически синхронизируем дизайн и код Меня зовут Анастасия Кабалкина, я Head of design в VK Tech. В этой статье я расскажу, как мы синхронизировали треть нашей дизайн-системы за счет автоматической генерации дизайн-токенов и компонентов. Читать далее

Когда одной ARIMA мало. Прогнозирование временных рядов нейросетями Привет, Хабр! Меня зовут Никита, я работаю в Мегафоне аналитиком больших данных. В этой статье я хочу поговорить про временные ряды, а если конкретнее, про использование нейросетей для их прогнозирования. В статье мы не только разберем две актуальные архитектуры для про...

Как сделать тесты на Espresso более читабельными и стабильными Если вы писали тесты на Espresso — тестовом фреймворке от Google с открытым исходным кодом, — то вы знаете, что они не всегда стабильны и легко читаемы. Меня зовут Ксения Никитина, я являюсь Android-разработчиком в мобильной команде «Лаборатории Касперского». В этой статье я...

Почему нельзя сделать прогноз CLTV с помощью одной модели Или как превратить набор продуктовых моделей склонности и оттоков в полноценный инструмент прогнозирования продуктового состояния клиента.В чём специфика задачи оценки СLTV в банке? К каким математическим задачам она сводится? Как их решить и почему стандартные способы, напр...

Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проб...

Tarantool: как избавиться от «зоопарка технологий» с помощью потоков событий Каждый проект рано или поздно обрастает разными технологиями, часть из которых может выполнять схожие или даже одинаковые функции. Наряду с развитием продукта это несет и скрытые трудности, в первую очередь для команды, которая должна поддерживать и развивать весь «зоопарк...

Обзор Polygon zkEVM: как работает L2 решение для Ethereum Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Pol...

Что я понял на первой работе программистом / Мои советы Junior-разработчикам Всем привет! Меня зовут Максим. Я backend-разработчик, который не так давно устроился на свою первую работу. В этой статье хочу поделиться своими наблюдениями/советами/рекомендациями для начинающих программистов. Ведь, как известно, если опыт не превращён в текст, он даже не...

Как не заскучать в 1С-разработке Многие считают 1С особым замкнутым миром. А методы работы в нем — неприменимыми в «нормальном» программировании. Это давно не так. Конечно, у каждого решения есть свои плюсы и минусы. Но я уверен: если вы не любите 1С, то вы просто не умеете его готовить. Меня зовут Вла...

Почему айтишники часто не справляются с ролью скрам-мастера? И как ментор может с этим помочь? Одно дело — внедрить гибкие практики в стартапе на пару команд разработки, совсем другое — в один из крупнейших банков. У нас в ВТБ более двух тысяч команд разработки. Это значит, что нам нужно две тысячи скрам-мастеров — новые практики сами себя до разработчиков не донесут....

Что делать, чтобы эксплуатация не превратилась в бесконечное тушение пожаров Меня зовут Владимир Медин, я работаю в подразделении SberWorks, которое внедряет практики DevOps и MLOps. Хочу поделиться нашим опытом повышения надёжности enterprise-систем, вводимых в эксплуатацию, особенно впервые. Для кого-то эта статья будет в большей степени спасательн...

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

Выжимаем максимум из PostgreSQL Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом! Читать дальше &rar...

Хороший, плохой, никакой: почему важно проектировать дизайн и как это делать? Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В этой статье я хочу рассказать о том, как мы пришли к проектированию и review плана разработки до начала реализации задачи, что это дало и как повлияло на с...

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года. В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грам...

Как использовать ChatGPT для разработки и учебы. Четыре сценария Привет, Хабр! В 2023 году искусственный интеллект (далее ИИ)  вышел на тот уровень популярности, когда о нем не говорил только ленивый. Все больше компаний активно начали обсуждать свои разработки в этой области, а такие модели как Midjourney, ChatGPT, Gemini (ex-Bard),...

KISS your website или как написать уважаемый сайт на аутсорсе, глава первая Добрый день. Меня зовут Тимофей, я фронт-тимлид в диджитал-продакшене ДАЛЕЕ. В данном цикле статей я поделюсь подходами и инструментами фронтенд-разработки на аутсорсе, которые помогут создать качественный продукт без кошмарного instant-legacy и значительно облегчат жизнь ко...

Система мета-сборки GN: краткий обзор и подходы Привет! Меня зовут Александр, я работаю в VK в команде браузера Atom. В его основе лежит open source-движок Сhromium. Сегодня хочу поговорить о системе мета-сборки GN. Её используют в крупных проектах Google (Chrome, Fuchsia, а также связанных с ними), и, например, когда раз...

Корутины C++ для чайников: пишем асинхронный веб-клиент Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятс...

Тестирование менеджера транзакций Привет, Хабр! Меня зовут Георгий Лебедев, я учусь на 4-м курсе ФРКТ МФТИ и работаю в команде разработки ядра Тарантула. В этой статье я хочу поделиться методикой тестирования менеджера транзакций, которая применяется в Тарантуле. Читать дальше →

Ваша карта не будет бита: как добавить Impact Map, CJM и USM в документ и не пострадать Наверняка у многих бизнес-аналитиков есть цель использовать особые артефакты: Impact Map, CJM (Customer Journey Map), USM (User Story Map). Особые, т. к. не так часто они встречаются в бизнес-требованиях, и даже бывалый аналитик может с непривычки растеряться, если не создаё...

Meilisearch — организация поиска в связке с Laravel Hola, Amigos! Меня зовут Евгений Шмулевский, я backend-разработчик на Laravel в агентстве продуктовой разработки Amiga. В статье описываю организацию поиска через Meilisearch и нюансы использования в связке с Laravel. Читать далее

Почему с каждой новой версией Windows от нее усиливается усталость Привет! Меня зовут Васьен и я пользуюсь Windows уже 24 года. Большие боссы из Майкрософт молодцы и соображают, что делают. Тут и удачные инвестиции, развитие самых различных направлений и стремление захватить как можно больше рынка (хотя куда уж больше?). Но мне, простому см...

Как менять команды, не увольняясь из компании. Культура горизонтальной мобильности в Контуре Меня зовут Настя Миронова, я менеджер разработки в Контуре и уже около двух лет  руковожу командой Рейнджеров – это разработчики без своего продукта, такие мобильные инженеры. Команда появилась в конце 2020 года, и за это время мы постоянно исследуем, чем можем помочь п...

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

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи...

Применяем стандартные алгоритмы в C++. Семь примеров Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В этой статье я хочу поделиться своим опытом применения алгоритмов. Каждый из нас знает, что существуют алгоритмы стандартной библиотеки, и что они делают. Но не все и не всегда используют их. Я тоже их н...

Лучшие альтернативы ChatGPT для QA Привет, Хабр! Меня зовут Иван, я Full Stack QA. Сегодня поговорим про альтернативы ChatGPT, которые работают на территории РФ без костылей и совершенно бесплатно.Каждую из LLM моделей я использую как в повседневной жизни, так при написании автотестов, изучения нового материа...

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

Обзор современных подходов персонализации диффузионных нейронных сетей Задача персонализации text-to-image модели состоит в донастройке предобученной нейронной сети так, чтобы она могла генерировать изображения заданного объекта в выбранных сценах. Несмотря на то, что подходы к решению этой задачи существуют, для их применения в высоконагруженн...

Как мы удвоили разрешение фотографий с помощью камеры Flutter на iOS Привет, меня зовут Сергей, и я мобильный разработчик в компании Brickit. Некоторое время назад мы наконец мигрировали приложения для iOS и Android на общий код на Flutter. Мы были в восторге от результата, но сам переход был далеко не гладким. Одной из важных частей этой ава...

Вам не нужен time management, вам нужен attention management Привет, меня зовут Ася Исакова, и я организационный психолог. Я уже 10 лет работаю с разными командами, и за это время видела сотни горящих, выгорающих и сгоревших на работе людей. В этой статье я расскажу, как управлять своим вниманием так, чтобы хватало сил на важные дела ...

[Перевод] Флаттер 3.18 | бета-релиз | Топ-8 фичей Привет! Меня зовут Саша Ворожищев, я руководитель направления Flutter/iOS в AGIMA. У одного из организаторов митапов Flutter Indore вышла хорошая статья — решили перевести ее для нашей команды и заодно для всех желающих. Дальше его текст с небольшими сокращениями, а после — ...

Ключи в базе данных: практический обзор для начинающих системных аналитиков Всем привет! Меня зовут Оксана, я системный аналитик из компании EvApps. Что побудило меня написать эту статью? Я обучаю стажеров – системных аналитиков, и недавно столкнулась с такими вопросами, о которых раньше даже не задумывалась.Вопросы были связаны с разными видами клю...

Обзор актуальных инструментов шифрования в Android Привет, Хабр! Меня зовут Артур Илькаев, я работаю в департаменте экосистемных продуктов, мы разрабатываем VK ID SDK и все что связано с авторизацией и сессиями, в частности — мультиаккаунт.Секретные данные требуют особого внимания при хранении и передаче. Инструмен...

Как мы меняли чат-бот ВТБ для мессенджера ВКонтакте до прода и после Привет, Хабр. Меня зовут Мурат Атила, я фронтенд-разработчик в ВТБ. Недавно мы рассказывали на Хабре о запуске банка в мессенджере «ВКонтакте». В комментариях вы спрашивали про изнанку решения — и коллеги призвали меня ответить и рассказать побольше о том, как мы создавали б...

DevX: ориентированный на разработчиков подход к измерению и повышению производительности Привет, Хабр! Меня зовут Олег Хромов, в МТС я руковожу центром «Управление разработкой». В статье расскажу, как мы оцениваем производительность IT-специалистов. Универсальные методы работают плохо, поэтому мы пришли к специально адаптированному для IT подходу под названием D...

Тонкости работы short-circuit routing в ASP.NET Core 8.0 В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как...

[recovery mode] Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1 Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере...

Как и зачем мы строили 3D-модели достопримечательностей на Картах За последний год мы добавили много нового на Яндекс Карты: например, высокодетализированные дороги с подробной  разметкой, растительность, а ещё совершенно новые, цветные и детальные 3D-модели достопримечательностей. Их можно увидеть, приблизив, например, Пушкинский муз...

RFM-анализ вашего поведения в банке Мы анализируем ваши действия с тем, чтобы понимать во всех каналах контакта, что для вас актуально. Это влияет на разного рода подсказки, возможность предлагать определённые акции и условия. Но в первую очередь — на повышение лояльности, а следовательно — на уменьшение отт...

PaaS два года спустя. Обзор инструментов и какие задачи они решают Друзья, привет! Если у вас так же много разработчиков как у нас, то и им, возможно,  стало тесно стоять в очереди на deploy в монолите. А значит, вы можете решить перейти на микросервисную архитектуру и дать каждому игроку свой мяч каждой команде свой микросервис. ...

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

Как стоит и как не стоит использовать HttpClient в .NET Всем привет! Меня зовут Андрей Федотов, я бэкенд-разработчик в одной из команд платформы интернета вещей ZIIoT Oil&Gas. В этой статье я рассказываю, что нужно знать и как работать с HttpClient в .NET, чтобы не получить трудноподдерживаемый и сложный код и не нарваться на...

«Иногда твоя работа выглядит магией»: что делают дата-сайентисты в промышленности и почему так востребованы Привет, Хабр! Меня зовут Светлана Потапова, я руковожу «Северсталь Диджитал» — подразделением ИТ-функции Северстали, которое занимается разработкой и внедрением решений на основе машинного обучения. Data Science уже давно вышла за пределы ИТ-компаний, шагнула дальше банков и...

Упрощаем подключение линтеров в пайплайны Gitlab CI Всем привет! Меня зовут Юра, я Python-разработчик в Точке. В статье я покажу, как написать шаблон с линтером для Gitlab CI, чтобы при старте нового проекта (или уже запущенного) было легко добавить линтер в пайплайны. А ну-ка

SQL инъекции для продолжающих: ломаем настоящий сайт Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.Стат...

Алгоритмы вокруг нас Привет, друзья! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Маленький дисклеймер. Данная статья – материал для размышления. В особенности для людей, которые разрабатывают новые алгоритмы и реализуют их.  Читать далее

#Net Oчень добрый день. Меня зовут Тимур и я программист. В прошлой своей статье я вкратце описал как можно внести минорные правки в код хромиума, собрать его и подтянуть в собственную сборку электрона. Статья имела оглушительный успех и вызвала бурные дебаты (34 комментария з...

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это&nbs...

Помощь на старте: 10 полезных ссылок для начинающих iOS-разработчиков Всем привет! Меня зовут Денис Сурков, я iOS-разработчик в компании «Мой спорт» и наставник на курсе «iOS-разработчик» в Яндекс Практикуме.В этой статье хочу поделиться ресурсами и советами, которые помогали мне в начале карьеры. Я рекомендую их студентам, а многими из них са...

Что такое MLOps и как мы внедряли каскады моделей Привет, меня зовут Александр Егоров, я MLOps инженер. В статье расскажу о том, как мы в банке выкатываем огромное количество моделей. Разберём не только пайплайн по выкладке отдельных моделей, но и целые каскады. Читать далее

Backend-разработчик: из стажера в джуны Всем привет! Меня зовут Егор, я стажёр backend-разработчик в зарплатном проекте Росбанка (он же Payroll). В этой статье я расскажу про путь становления от «зеленого» стажера до боевой единицы в команде: через что мне пришлось пройти, с какими трудностями я столкнулся и как п...

Процедурная генерация уровней для двумерного платформера Привет, Хабр. Меня зовут Кирилл. Я увлекаюсь геймдевом в свободное от работы время. В этой статье я поделюсь опытом разработки процедурного генератора миров для своей инди-игры Unsigned Character. Игра представляет собой платформер с бесконечным процедурным миром, который до...

«Хватит программировать в YAML и JSON!»: неочевидные проблемы шаблонизирования Часто в IT-компаниях разработчики используют шаблонизаторы в YAML, JSON и Terraform, управляя параметрами конфигураций, ACL-списками и другими сущностями. Но у такого подхода много подводных камней: шаблоны не всегда корректно отрабатывают и превращают код в спагетти. Особе...

Как ускорить LLM-генерацию текста в 20 раз на больших наборах данных Всем привет, я Алан, разработчик-исследователь в MTS AI. В команде фундаментальных исследований мы занимаемся исследованием LLM, реализацией DPO и валидацией наших собственных языковых моделей. В рамках этих задач у нас возникла потребность в генерации большого количества да...

Деплоим сайт в облако за рубль в месяц Как часто бывает: делаешь pet-проект, разрабатываешь фронтенд лендинга, а потом понимаешь, что это нужно протестировать. Посмотреть, как отображается страница на разных устройствах, чтобы корректно ее адаптировать. Ведь не всегда DevTools отражают «полную картину». Может б...

Range Loop в Go: подводные камни, как с ними бороться и что нас ждёт в версии 1.22 Привет, Хабр! Меня зовут Рафаэль Мустафин, я ментор на курсе «Go-разработчик» в Яндекс Практикуме. Эта статья посвящена нюансам цикла range в Go. Мы рассмотрим распространённые подводные камни, лучшие практики и интересные изменения, ожидаемые в Go 1.22. Читать далее

database/sql: плохой, хороший, злой Многие Golang-разработчики  пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на...

Два вида мошенничества с помощью сайтов: розыгрыши айфонов, корм для собак и отъем денег через СБП Меня зовут Ростислав, я разработчик (одного из) чата для сайтов. Как правило, чаты можно подключить бесплатно на любой сайт. И среди пользователей чата появляются недобросовестные люди. Точнее говоря - явные мошенники. В этой статье я хочу рассказать о двух типах развода, с ...

От идеи до сервера на Mac mini M2 Pro: как мы запускаем новые продукты Меня всегда интересовало, как создают новые гаджеты, автомобили, самолеты и форматы домов. Сейчас я в команде выделенных серверов Selectel и сам участвую в разработке новых продуктов. Под катом делюсь опытом и рассказываю, откуда мы черпаем идеи и как реализуем проекты. На ...

[Перевод] Советы разработчика с 8-летним опытом работы Привет! Меня зовут Бенуа, я работаю разработчиком программного обеспечения последние 8 лет. В своей предыдущей компании я проработал 7,5 лет, а в начале 2022 года перешел в новую.Эта статья написана в результате недавнего самоанализа о том, что мне стоило начать делать в сво...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного при...

Testplane в опенсорсе: автоматизируем пользовательские сценарии в веб-интерфейсах Привет! Меня зовут Евгений Константинов. Я занимаюсь разработкой инструментов автоматического тестирования в Яндексе. В этой статье хочу рассказать про историю создания инструмента TestplaneTestplane поможет вам:- протестировать разные сценарии в любом браузере; - прове...

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

Task и structured concurrency в swift В данной части из серии статей про Swift concurrency мы подробно остановимся на сущности под названием Task и разберем на примерах, как с ней работать. Также поговорим про structured concurrency. Что это такое, как это понятие связано с Task и почему механизмы языка async/a...

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

«Душа молчит, хоть слышит всё вокруг»: как мы отучаем генеративные модели галлюцинировать Вот так когда-то отвечала языковая модель, когда её просили привести пример стихотворения Бальмонта. Стихотворение с таким названием действительно есть, но начинается оно совсем не так. К сожалению, генеративные модели могут галлюцинировать и выдумывать ответ. С таким м...

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

Топовые подходы к решению алгоритмических задач Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Стат...

Настоящие российские коммутаторы, ИИ-ускорители и новые видеокарты от NVIDIA: новинки в мире железа за март Если спросить у популярного GPT-бота, какое серверное железо появилось в марте 2024 года, — он расскажет о серверах на основе квантовых вычислений. А еще про сверхпроводящие интерференционные устройства и технологии ионных ловушек для хранения и обработки кубитов. Правда эт...

Сравнение Open Source BI-платформ Привет, Habr!Меня зовут Остапенко Настя, я лидирую направление BI в компании Axenix. Год назад мы выпустили статью с большим обзором Российского рынка BI. На этот раз мы проведем сравнение трех популярных Open-Source BI-платформ: Apache Superset, Metabase и относительно ново...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

Мониторинг на Python: как сохранить метрики в мультипроцессном режиме Привет, Хабр! Меня зовут Никита, я backend-разработчик команды клиентских сервисов. В Selectel мы строим и поддерживаем IT-инфраструктуру для компаний, которые развивают свои цифровые продукты. В нашем департаменте около 20 приложений, большая часть из которых работает на F...

Пишем свой драйвер Molecule без костылей и боли Привет, Хабр! Меня зовут Павел, я инженер по разработке инфраструктуры в компании YADRO. В апреле 2023 года разработчики Molecule представили мажорный релиз инструмента в версии 5.0.0. Помимо множества багфиксов и улучшений, пользователи получили возможность написать свой со...

Безопасность CI/CD: обзор тoп-10 угроз по версии OWASP и рекомендации по их устранению в вашем конвейере Привет, Хабр!Меня зовут Артём Пузанков, я DevSecOps Cluster Lead (руководитель направления безопасной разработки) в МТС Digital.Экспертное сообщество OWASP представило OWASP Top 10 CI/CD Security Risks — список критических уязвимостей конвейера CI/CD. Его получили, исследова...

Продуктовые апдейты февраля: облако 1С, серверы с Keycloak и многое другое Вот уже во всю разгар весны. Это время примечательно тем, что просыпается природа. А вместе с ней — и новые облачные сервисы, апдейты и конфигурации серверов. Привет! Меня зовут Александр, я технический писатель в Selectel. В этом дайджесте рассказываю, какие обновления у...

Почему Linux не для игр на примере 7 Days to Die 21 b324 На этот раз будет протестирована нативная Linux версия игры, сможет ли Linux наконец догнать и перегнать хотя бы древнюю Windows 7? Сейчас узнаем...

Обзор Simulator — платформы для обучения инженеров безопасности Kubernetes с помощью CTF-сценариев Ранее мы делали обзор инструментов для оценки безопасности кластера Kubernetes. Но что, если нам нужно обучить инженеров основам безопасности Kubernetes на реальных примерах и автоматизировать этот процесс? Недавно компания ControlPlane, специализирующаяся на Cloud Native-ре...

Путь iOS-разработчика: как я много собеседовался и попал на стажировку Привет! Меня зовут Владислав Латышев, мне 28 лет, и сейчас я прохожу стажировку в Банки.ру как iOS-разработчик Я пробовал себя в разных специальностях — получил финансовое и менеджерское образование, занимался бухгалтерией, стал кандидатом в мастера спорта, был тренером по ф...

Как мы не выбрали Airbyte, или почему собирать данные лучше по старинке Привет, Хабр! Меня зовут Илья, я работаю инженером данных в компании Selectel. В отделе BI мы собираем информацию из внутренних и внешних источников и предоставляем аналитикам. У нас достаточно большой набор внешних ресурсов, данные из которых нужно собирать и обрабатывать...

Генерация контрактов OpenApi или прикладной API first: совсем немного про зачем Новое место, новая позиция, новый продукт! Финтех, камунда, ~ 40 (!) микросервисов за которые отвечает наша команда. Первый спринт. Я в роли наблюдателя. В спринте вроде бы обычная задача - нужно вызвать из одного сервиса другой, и обработать результат. Ребята оценивают, нач...

Что делать, если кандидат оказался сеньором или психом: советы на случай форс-мажоров Меня зовут Александр Гирев, я Android-разработчик и технический интервьюер. В одной компании я выполнял роль interview expert: следил за качеством собеседований, готовил рекомендации и матрицы вопросов, обучал начинающих интервьюеров.Однажды на интервью я спросил кандидата, ...

Протезы MODESTA: из гаражных изобретателей в резиденты SKOLKOVO Здравствуйте, дорогие друзья.Меня зовут Абрамов Роман, являюсь инженером‑разработчиком и со‑основателем компании по производству протезов «MODESTA». С самого детства являюсь заядлым радиолюбителем, в любое свободное время бежал к паяльнику. Тяга к те...

FineBI под микроскопом: Обзор новых функций и улучшений в Q1 2024 Хабр, привет! Меня зовут Александр Ларин, я являюсь руководителем центра технической поддержки и обучения в GlowByte, а также лидером самого большого в России сообщества FineBI.Сегодня в нашем фокусе – обновления, которые не оставят равнодушными ни одного бизнес-аналити...

Структура драйвера Linux для одноплатного компьютера Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля. Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с уч...

MyBatis «на минималках» Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis. Почему MyBatis? Потому что мы в CDEK используем его в большинстве проектов, и в деле он весьма не...

Быстрый старт, или Как ускорить запуск iOS-приложений Всем привет! Меня зовут Фируза, я iOS-разработчик в компании SimbirSoft. В этой статье мы попробуем разобраться, как ускорить запуск приложения, а именно:• что происходит от момента нажатия на иконку приложения до представления возможности пользователю взаимодействовать с U...

Как обучают GPT Привет, Хабр! Меня зовут Родион Уколов, я занимаюсь искусственным интеллектом в компании Friflex. Мы помогаем компаниям внедрять модели машинного обучения и развиваем свои цифровые продукты.Может быть, вы помните статью моего коллеги о том, как решать реальные задачи с ChatG...

Художественные приемы и профессиональные термины для создания изображений с ИИ. Всё, что нужно знать В этой статье собраны все основные понятия для написания текстовой подсказки для генерации изображений с помощью нейросети.Если вы хотите создавать качественные изображения, нужно понимать (или просто запомнить) некоторые профессиональные термины и приемы, используемые худож...

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки. Но я знаю Python. Оказывается, для любителей парсел...

Аналитик за 4 месяца в Автомаконе: почему и зачем? как? где? когда? сколько? Всем привет!Меня зовут Белоусова Александра, я развиваю направление по обучению и стажировкам аналитиков в «Автомакон». Уже полгода в нашей компании проходит отбор и обучение стажеров на системных аналитиков (с сильным «налетом» бизнес-аналитика)! В этой статье расскажу о то...

Процедурные складки на одежде для мультфильма на основе Geometry Nodes Привет, Хабр! Я Михаил Солуянов, ведущий разработчик в МТС Авто — занимаюсь генерацией синтетических изображений для обучения нейросетей. В рабочее время я Unity-разработчик, а в свободное — инди-аниматор мультфильмов. Сегодня расскажу о том, как сделать складки на одежде бе...

Человек не за бортом: зачем новеньким онбординг и как его проводить, чтобы первый день сотрудника не стал последним В этой статье HR-менеджер нашей студии расскажет о том, что входит в онбординг, чем он выгоден для компаний и как мы погружаем ребят в новые обязанности. ***Привет! Меня зовут Валерия, я старший HR-менеджер веб-студии Pyrobyte. Наверняка многие из вас сталкивались со стрессо...

SmartFlow: «В начале был пароль...» или новая аутентификация VK ID Привет, Хабр! Исторически сложилось, что первым способом аутентификации (в 1960-х) с появлением доступных компьютеров стал пароль. О рисках его использования и об изобретённых человечеством альтернативах мы подробно рассказали в статье о будущем беспарольной аутентифика...

Разработка браузерных игр с использованием Phaser3, React, Typescript Думаю, ни для кого не секрет, что каждый уважающий себя разработчик программного обеспечения должен иметь в своем портфолио хотя бы один пет-проект, а лучше полноценный продукт, дающий дополнительный постоянный заработок. Предметных областей и тематик приложений великое множ...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. В статье расскажу, зачем вообще нам понадобился подобный инструмент...

JIRA + AI = LOVE или Как Product manager-у найти друзей и перестать страдать Развитие AI-инструментов на базе современных LLM запустило в последние годы тренд на автоматизацию всего, что прибито меньше, чем на 2 гвоздя, и первыми адоптерами здесь традиционно выступает IT сообщество. Как Луи Пастер некогда ставил себе и друзьям намешанные на голой кол...

[recovery mode] Выбор технологического стека для digital-продукта в 2024 году Стек технологий для запуска нового продукта в компании обычно выбирается исходя из того, с чем команда работала до этого и сколько наработок уже имеется.Однако если вы свободны от необходимости использования какого-либо наследия (набираете новую команду или ищете актуальные ...

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

Конфигурация вместо кода при написании Telegram-бота Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.Эта статья будет посвящена подходу, который мы использовали д...

Bizon 3. Первые впечатления. Почему я обратил взор именно на Бизон 3? На вопрос отвечает предыстория моих метаний. Он у меня шестой по счету и второй из работающих в данный момент. Начав с очень простого устройства, я поднимал планку, пока не остановился на достаточно сложном, которое меня сейчас устраи...

Как TDD помогает мне делать RTS Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кейсом, как Test Driven Development помогает мне разрабатывать мою RTS игру. Читать далее

Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label В прошлом месяце я рассказал, зачем нужна семантика, на примере атрибута role. Если вы не читали мою статью, пожалуйста, прочтите её перед тем, как читать эту. А сегодня я хочу рассказать про атрибут aria-label. В статье не будет заумных определений и бездумного копировани...

Мегагайд: культура работы с Git Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».За время работы в разных компаниях и над разными проектами я поняла, чт...

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

Ловкость рук, четкость алгоритма и никакого мошенничества: чек-лист для дизайнеров интерфейсов и фронтенд-разработчиков Привет, Хабр! Меня зовут Даша, я проектировщик интерфейсов в Selectel. В профессии нахожусь уже более пяти лет и периодически встречаюсь с ошибкой: дизайнеры не всегда в процессе передачи макета в разработку проверяют, все ли кейсы и состояния учтены. Это приводит к потере...

Распланировать бюджет компании и не поседеть: как мы автоматизировали процесс, который не любит никто  Так выглядит стартовая страница. Цифры и имена на всех скринах выдуманы, даны для наглядности. Детали интерфейса разберем подробнее ниже. Любой бизнес, хоть кофейня, хоть компания по производству космических шаттлов, планирует ресурсы и считает, что во сколько обойдется. А...

«Поздравляем с терабитом». Та самая статья про DDoS-2023 — без цензуры Дисклеймер ↓ Этот материал должен был выйти в декабре 2023, прямо перед Новым годом, — и это классический пример про «лучшее враг хорошего». Сначала нам не нравилось, что мало подробностей. Потом — что их излишне много. Была версия с цитатами, но без скринов. Со скринами, ...

Как мы тестируем серверы Привет! Меня зовут Олег Рябов, я главный эксперт Управления исследований и разработок новых решений компании «Ростелеком-ЦОД» и автор программы и методики испытаний (ПМИ) серверов. В этой статье расскажу, как мы проводим тестирование серверов и какие утилиты и методы использ...

Обзор на новую CSS-in-JS либу от Facebook* – StyleX Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.В этой статье мы рассмотрим пример исполь...

Как мы создали и развиваем лабораторию R&D Привет, меня зовут Александр, я руковожу Управлением исследований и разработки новых решений в «Ростелеком-ЦОД», если коротко — лабораторией R&D.Сейчас лаборатория хорошо прокачана и продуктивна, но так было не всегда. В этой статье я расскажу, как мы ее создавали, к чем...

Выбираем подходящий PHP-фреймворк для проекта Привет, Хабр. Меня зовут Денис, я backend-разработчик в Пиробайте. Поговорим о самых распространенных PHP-фреймворках и о том, для каких проектов целесообразнее выбрать тот или иной вариант. Статистику распространения бэкенд-фреймворков на PHP я брал с портала JetBrains...

Новые процессоры от Intel, AMD и видеокарты от Nvidia: что еще представили на CES 2024 В начале января 2024 года в Лас-Вегасе прошла выставка Consumer Electronics Show, CES. На ней собрались производители, дистрибьюторы, ритейлеры и потребители со всего мира, чтобы продемонстрировать инновации и достижения электроники, бытовой техники, компьютерных технологий...

Тайны пингвина: как работают исключения и прерывания в Linux? Привет, хабр! Моя прошлая статья о работе памяти в Linux вам понравилась. Сегодня мы разберем работу исключений и прерываний. Что это, как они работают в ОС и Linux? Давайте разберемся вместе! Читать дальше →

Oxlint — более быстрая альтернатива ESLint Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со...

Наняли 30 джунов за год: рассказываем, зачем и как В этом году Lamoda Tech открыла 30 вакансий для джунов. Раньше мы нанимали только специалистов с большим опытом, и для нас это стало началом большого эксперимента. Меня зовут Дима, я тимлид, и в моей команде этой весной появилось 3 начинающих специалиста: QA и два бэкен...

Зачем нужен архитектор 1С. Часть 2 В предыдущей статье habr.com/ru/companies/otus/articles/772490 я постарался на конкретном примере показать различие между разработчиком 1С и архитектором 1С. Насколько по разному они подходят к решению одной и той же задачи. В этот раз я приведу пример, в котором различие ...

Импортозамещение high-availability решений: обзор китайского балансировщика TongTech К концу 2023 года большинство балансировщиков в российских ЦОДах по-прежнему западного производства. В прошлом году западные вендоры ушли из России, и оставаться на их оборудовании стало рискованно. Но мигрировать на доступные решения — тоже риск: они на рынке недавно, не хо...

Pure.DI v2.1 С момента выхода генератора исходного кода Pure.DI версии 2.0 летом 2023 прошло уже больше чем пол года. За это время удалось собрать отзывы по его использованию, добавить несколько полезных фич, улучшить производительность анализа и качество генерируемого кода, а также испр...

На стороне своих правил в ESlint Всем привет! Меня зовут Владимир Земсков, я работаю в B2C билайна, в команде билайн Про, где пишу бэк-офис для нашей системы. Мы помогаем нашей рознице продавать лучше и больше. Для соблюдения нужного уровня качества кода в билайне мы используем и ESlint, и тесты, и ревью, и...

Большая шпаргалка по Docker: как распилить монолитный проект на части Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли ра...

Сам себе ментор: что ещё делать, кроме работы, чтобы подрасти Привет, меня зовут Кирилл Павлик. Я ведущий JS-разработчик в Альфа-Банке, «25 лет» в вебе, но 4 года реального опыта. И переходя в этот ваш айти, понял, что проявление некоторых активностей, которые настолько очевидны и всем понятны, что их даже не пишут в должностных инстру...

Временное хранилище данных на Apache Druid: почему это эффективно сработало для загрузки табличных файлов Всем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.В статье опишу, почему для реализации проекта мы выбрали именно Apache Dr...

Полное краткое руководство по grammY — JS-библиотеке для создания Telegram-ботов Привет! Меня зовут Арсений, я сеньор фронтенд-разработчик. В этой статье хочу рассказать про основные механизмы библиотеки grammY и разобрать стартовый набор файлов бота, обработку ошибок, виды обработчиков событий, контекст обновлений, работу с разными видами клавиатур и м...

Flutter и ГОСТ TLS Меня зовут Куприёв Андрей, я Flutter‑разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. В этой статье мы рассмотрим, как реализовать поддержку протокола ГОСТ TLS в приложениях, разработанных на Flutter.Flutter, с ...

KC868-A16S: тоже железный, но в два раза дешевле Продолжаем обзоры новой «железной» серии контроллеров Kincony и на этот раз разберём очередного её представителя — KC868-A16S. В прошлом обзоре комментаторы справедливо заметили, что сколько бы ни был хорош контроллер, но цена в 50 тыс. рублей не очень гуманна — в этом смы...

Reflection в iOS: как посмотреть содержимое любой сущности В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего...

Метод Reverse-engineering на практике: как расшифровать исходный код Всем привет! Сегодня в нашем эфире новый автор - Никита Синкевич, руководитель группы анализа и реагирования Инженерного центра Angara Security. Итак, начинаем!Иногда в ходе расследования инцидента информационной безопасности необходимо понять, имеет ли та или иная программа...

Apple Vision Pro: обзор платформы и создание первого мобильного приложения Привет! Меня зовут Андрей Груненков, я iOS - разработчик в агентстве InstaDev. Делаем мобильные приложения, которые помогают бизнесу расти. В этой статье я расскажу о том, как разработать первое мобильное приложение для платформы Apple Vision Pro.Для начала надо сказать пару...

Как управлять распределённой системой, не привлекая внимания санитаров Привет! Меня зовут Александр Попов, я tech lead команды маркетплейса 05.ru. Сейчас мы занимаемся бэком маркетплейса и некоторыми другими сервисами на рынке Дагестана. При разработке серверной части маркетплейса мы сразу решили строить её в распределённой архитектуре. Эт...

Размываем границы времени и учимся создавать видео — Kandinsky шагает дальше В последние несколько лет активно развиваются генеративные модели, причём синтезировать с хорошим качеством уже сейчас получается и тексты, и аудио, и изображения, и видео, и 3D, и другие модальности. Если говорить про генерацию изображений, то стремительность прогресса в эт...

Анализ производительности React Native приложений: как выявить проблемы и улучшить перформанс Привет, Хабр! Меня зовут Вадим, я мобильный разработчик в СберМаркете. В этой статье расскажу, как провести профилирование (оно же измерение производительности или оценка перформанса) в react native приложениях: как выявить источник проблем и решить их. В русскоязычных источ...

Опыт внедрения компонентной разработки Привет! Меня зовут Александр Омельяненко, я работаю тимлидом Flutter-команды в AGIMA. Расскажу, как и почему на одном из наших проектов мы внедрили компонентный подход к разработке и какие плоды нам это дало. В статье покажу основные плюсы и минусы нашего решения. А еще затр...

Google Apps Script и с чем его едят Всем привет! Меня зовут Леша Штанько, я системный администратор и интегратор (если остается время, еще и JS-разработчик :D) в AGIMA. Если представить Google большим айсбергом, то на его верхушке точно разместятся всеми любимые и популярные инструменты, вроде Google Sheets и ...

Какой язык программирования выбрать? Обзор на Go Продолжаем серию статей про особенности, применение, плюсы и минусы языков, которые используются в «Криптоните». В этой статье наш инженер департамента инфраструктуры Алексей Косов расскажет про Golang.Ранее наши разработчики делали обзоры на Rust, Scala, JavaScript и Spark....

Безопасность в Docker: от правильной настройки хоста до демона Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Помогаю клиентам обеспечивать защиту инфраструктуры и участвую в разработке новых решений компании в сфере ИБ. И сейчас я начала больше погружаться в тему разработки и изучать лучшие пр...

Google срочно патчит в Chrome шестую уязвимость нулевого дня в этом году Разработчики Google выпустили экстренное обновление для Chrome, которое устранило 0-day уязвимость в браузере, уже находившуюся под атаками. Этот баг стал шестой проблемой нулевого дня, исправленной в Chrome в 2023 году.

Мифический человеко-DevOps Привет! Меня зовут Эмин, я тех-лид платформенных команд в Профи. В этой статье поделюсь мнением о том, что такое хороший DevOps и какими качествами должен обладать DevOps-инженер.  Читать далее

Propensity score matching: как оценивать маркетинговые кампании, если невозможно провести A/B тесты Всем привет! Меня зовут Вячеслав Назаров, я лид аналитики промо в СберМаркете. В этой статье я расскажу, как оценивать маркетинговые кампании, если провести A/B- тесты нельзя. Еще обсудим логику в Propensity Score Matching (PSM), и то, какую пользу инструмент может принести ...

Возможности JS, о которых вы возможно не знали Всем привет! Меня зовут Леша, я фронтенд-разработчик. Крашу кнопочки, пишу js скрипты, веду канал в TG https://t.me/frontend_tales (подписывайтесь, стараюсь выкладывать полезный материал). В этой статье хотел бы поделиться с вами лайфхаками JavaScript, которые, возможно, пом...

Обзор инструмента DefectDojo: почему его выбирают? Практика ASOC (Application Security Orchestration and Correlation, оркестрация и корреляция безопасности приложений), интегрирующая инструменты анализа защищенности со стеком разработки ПО, сегодня широко известна в сфере безопасной разработки. О ней много писали мы и другие...

Модульные механики на Unity Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье хотел бы рассказать, как можно делать модульные механики для игровых объектов, за счет разделения данных и логики без ECS. Читать далее

Пошаговая инструкция создания нового вида контроля в «1С: Управление холдингом» Привет, Хабр! Меня зовут Донскова Елена, я работаю разработчиком на проектах внедрения 1C в IBS, занимаюсь разработкой нового функционала и модифицирую типовой функционал для удовлетворения потребностей бизнеса. Сегодня я расскажу о том, как создать новый вид контроля в сист...

AMD внедрила генерацию кадров на основе драйверов AMD считает, что их новая технология генерации кадров на основе драйверов лучше технологии Nvidia.

Как устроен онбординг в больших компаниях: личный опыт Привет! Меня зовут Маша Сафронова, и я уже почти 3 месяца работаю младшим продуктовым дизайнером в Lamoda Tech. За последний год я успела пройти стажировку и поработать в двух других крупных IT-компаниях, а еще раньше я переучилась и пришла в дизайн из другой профессии. ...

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка Статья о том, как реверс-инжиниринг и разбор форматов могут не только расширить старую любимую игрушку, но и сделать из неё абсолютный шедевр, который будет смотреться уже в новом свете. Обзор уникальных фишек игры Проклятые Земли, исправление её лёгких недостатков и разбор ...

PI-планирование: как с его помощью мы выстроили здоровую коммуникацию с заказчиком Привет! Меня зовут Даша Семенова, я руководитель проектов в AGIMA. Уже пять лет настраиваю процессы у одного большого заказчика. Это еком, ребята продают свою продукцию, а многие из вас ее покупают. А если не покупаете, то точно слышали. В общем, бренд известный и важный для...

Что быстрее: Animated + useNativeDriver или Reanimated? Привет! Меня зовут Денис, я мобильный разработчик в СберМаркете. Пишу на React Native и люблю анимации, ведь они дают жизнь нашим проектам :)В этой статье попробуем разобраться, что же все таки работает быстрее: React-Native-Reanimated или Animated + useNativeDriver: true.Бу...

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

Как быстро интегрировать Систему быстрых платежей (СБП) в приложение на Flutter Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения и специализируемся на решениях для ритейла. На одном из наших проектов мне пришлось столкнуться с внедрением кнопки оплаты через Систему Быстрых Платежей (СБП). В эт...

От хаоса к порядку. Как мы внедряем стандарты в CDEK Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ...

[Перевод] Как вручную протестировать веб-API Ранее я рассказывал об основных понятиях и терминологии API. В этой статье я покажу, как применить эти знания и попробовать API с помощью тестирования вручную. Читать дальше →

Особенности проектирования интерфейсов в ИБ продуктах на примере Ampire Привет хабр! Меня зовут Виталий Матыцин, я отвечаю за дизайн в Ampire. Cегодня хочу рассказать об особенностях и подводных камнях, с которыми мне пришлось столкнуться во время редизайна. Читать далее

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

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

Введение в Apache Flink: осваиваем фреймворк на реальных примерах Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет ...

Неочевидные моменты TypeScript и способы их решения Разрабатывая на TypeScript, можно столкнуться с ситуациями, в которых код будет работать не так, как ожидается. В статье разберем несколько таких моментов. Часть просто придется иметь ввиду, часть решается обновлением, а часть исправляется – обо всем по порядку. Если вам бу...

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

Обзор электронной книги ONYX BOOX Kant 2: Привычный или необычный формат для читалки? Новый тренд в эволюции электронных букридеров. И если к первому поколению ONYX BOOX Kant я присматривался, то вторую версию взял без раздумий. Особенностью модели является форм-фактор смартфона, что не типично для E-Ink ридеров, но делает использование читалки удобным наряду...

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

Проектируем микросервисы с Reactive Manifesto Работаете с распределенными системами или только пытаетесь к ним подобраться? Проектировать такие системы с нуля бывает сложно и страшно: чтобы учесть все нюансы, нужен определенный багаж знаний. На помощь приходит Reactive Manifesto — документ, который обобщил опыт цел...

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

Альтернатива Nova: почему решили перейти с самописного решения на Orchid Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написан...

Как стать надёжной базой Secure-base leadership или как стать надежной базой для коллег в нестабильные времена Сейчас набирает популярность относительно новый вид лидерства: secure base или «надёжная база». Этот подход в большей степени отражает контекст и потребности людей в вопросах построения карьеры и коммуникаций на работе. Во времена неопределенности важно, чтобы лидер мог воод...

Четыре года с умным домом: личный опыт и интересные сценарии Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенят...

Проблема омографов в ударениях и как я ее решал Меня зовут Денис (tg: @chckdskeasfsd), и это история о том почему в опенсурсе нет TTS с нормальными ударениями и как я пытался это исправить. Читать далее

Оптимизируем параметры запуска приложения Spark. Часть первая Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта осно...

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

Mobile Web, навигация и при чем тут Nginx Привет, Habr! Я frontend-разработчик в Альфа-Банк. В статье я хотел бы поделиться опытом внедрения мобильной версии web приложения «Альфа-Бизнес» в нашу архитектуру. А точнее — как без массовых доработок 100 фронтовых сервисов мы заставили работать mobile web версию с новой ...

Как я документацию для дизайн-токенов в Storybook генерировал Привет, Хабр! Меня зовут Саша, я Full-Stack разработчик и последние 7 лет пишу фронтенд, 6 из которых я работаю в американском стартапе. Я думаю ни для кого не секрет, что бизнес процессы в стартапах, мягко сказать,  хромают. Я же как оптимист вижу возможность в ка...

Ламповый дисплей для компьютера. Часть 1 — обзор концепций и постановка задачи Всем привет! Мне с большим трудом удалось побороть лень и начать писать новый цикл статей, но на этот раз не о лазерах. Дело в том, что лазеры – не единственный мой интерес, значительное место в списке интересов у меня занимает ламповая техника в её разнообразных проявлениях...

Вышел LibreOffice 24.2: что нового и что это за версия такая? Подробности о релизе Разработчики офисного пакета LibreOffice представили новую версию. Сразу стоит сказать, что в заголовке не опечатка и не ошибка (ну, вдруг, вы не знаете) — это просто новая нумерация версия. Она привязывается к датам, отображая как год, так и месяц формирования релиза. Соот...

В поиске оптимального подхода к миграциям в Go Привет! Меня зовут Нина, и я Golang разработчик.Однажды, мы поняли, что в нашей компании очень много Go-сервисов, но каждая команда использует свой инструмент и подход. Поэтому мы решили систематизировать и унифицировать инструменты, используемые для создания и применения ми...

Сбер представил новую версию модели Kandinsky Улучшенная модель генерации изображений по текстовому описанию будет доступна всем пользователям без ограничений в ближайшее время.

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

Линеаризация: зачем и как укрощать ratio-метрики в A/B-тестах Привет, Хабр! В прошлой статье я указал, что в A/B-тестах используются три основных типа метрик, а именно пользовательские конверсии, средние метрики пользователей и ratio-метрики. К последним обычно относят средний чек, CTR баннера, среднюю длину сессии и др. Такие ме...

Прогресс WebAssembly и будущее веба. Быстрые интерфейсы, пример Figma Скетч из статьи Лин Кларк «Создание и работа с модулями WebAssembly» WebAssembly (Wasm) — это бинарный формат для безопасного и эффективного выполнения портативных программ в стековой виртуальной машине (в браузере или на сервере). Как и ASM.js, представляет собой низкоуро...

Как в 14 лет я стал сисадмином Привет, читатель! Это моя первая статья на Хабре. Прошу строго не судить.Хочу рассказать свою историю. Меня зовут Марк, мне 14 (2009г). В свои 14 я зарабатываю сам и занимаюсь делом моей мечты. Читать далее

Неполадки в отладке: как уязвимость в WinDbg позволяет атаковать разработчиков Привет, Хабр! Меня зовут Александр Калинин, я занимаюсь разработкой средств обеспечения безопасности контейнерных сред в МТС RED, дочерней компании МТС в сфере кибербезопасности. Сегодня расскажу о том, как я обнаружил в отладчике WinDbg уязвимость, которая позволяет запуска...

Эволюция в мире UX: как мы создали паттерн проектирования и упростили прогулки пользователей по панели управления Привет, Хабр! Меня зовут Витя, я проектировщик интерфейсов в Selectel. Так вышло, что мне поручили разработать интерфейс формы создания облачного сервера. Задача не из самых простых: конфигуратор достаточно функционален и гибок, но должен оставаться понятным. Было сложно, ...

Генерация контрактов OpenApi или прикладной API first: oneOf, anyOf, allOf В продолжение истории с генерацией по спецификации OpenAPI покажу несколько примеров с использованием композиции и полиморфизма. OneAllAnyOf

Применяем Java Sealed Classes на практике В этой статье применим Sealed Classes для улучшения читаемости кода, используя пример из реальной разработки. В статье используется Java 21 т.к. это первая LTS версия Java с релизным Pattern Matching. Также в примере используется Spring Boot, но этот подход можно использоват...

Как внедрить гайд по стилю кода в проект Всем привет! Меня зовут Соня Гусева, я фронтенд-разработчик в Яндекс Практикуме (или фронтенд-капибара). Вместе с командой мы развиваем платформу practicum.yandex.ru. Например, сделали поиск по пройденным материалам — тот самый, где «найдётся всё». И тёмную тему — для комфор...

Жук, нумерология, хеш или ничо? Оптимизация работы с путями Привет, Хабр! Меня зовут Евгений Кузьмин, я Java-разработчик в CDEK. Надеюсь, все знают, что это за компания и чем она занимается. Давайте представим, что вам нужно отправить посылку с гостинцами родственнику в Москву из Новосибирска. Вы приходите в ближайший пункт приёма по...

Рулим запуском Spark-приложений в Airflow с помощью самописного оператора Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.Все Spark-приложения сабмитятся из Docker-контейнеров. И здесь сталкиваемся с пробл...

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

Технологии групповой разработки в современной 1С-индустрии Привет, Хабр! Меня зовут Стас Ганиев, программист 1С, в этой статье я рассмотрю и сравню три самых популярных подхода к групповой разработке: хранилище конфигураций, конфигуратор + Git, EDT + Git. Читать далее

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 8 В прошлой части мы оставили разработчиков Doom в тот непростой момент, когда они расстались со своим старым коллегой, креативным директором Томом Холлом из-за его неприятия чрезмерно брутального стиля новой игры. До релиза уже оставались считаные месяцы — и команде id Softw...

Короткой строкой: почему я начал учить английский и пригодился ли язык в работе Всем привет! Меня зовут Павел, я работаю в Альфа-Банке на позиции QA Tech Lead. В этой статье хотел бы поделиться своим видением и опытом использования английского языка в повседневной и профессиональной жизни. Не сказать, чтобы мой английский был на высочайшем уровне, но дл...

Как ELK довел нас… до Vector.dev и Clickhouse Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье расскажу я вам о том как мы развивались и с нами развивалась наша система логирования. Почему вам нужен Vector.dev + Clickhouse для хранения и когда это выгодно.Когда компания ...

Прыжок по облакам: кейс миграции MS SQL Server из Azure в VK Cloud Миграция ИТ-инфраструктуры из облака в облако — квест, с которым сейчас сталкиваются многие компании и на своих шишках понимают сложность всего процесса. И чем больше инфраструктура, тем выше уровень сложности этого квеста. Особенно если перенести надо работающий сервис с ...

Улучшаем динамические таблицы YTsaurus с помощью алгоритмов Динамические таблицы в YTsaurus занимают заметное место во внутренней инфраструктуре Яндекса. В них можно хранить огромные массивы данных, и читать их можно настолько быстро, что многие сервисы Яндекса используют YTsaurus при построении ответа внешним пользователям. Всё...

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

Виджетная система: как масштабировать образовательную платформу без боли и слёз? Почему если веб-проект собирается расти, но пока не понимает, куда и как, — виджетная система может стать спасением. Меня зовут Антон Фокин, я CEO студии QTIM и сегодня я расскажу о нашем опыте. Читать далее

Тест новых батареек Epilso Недавно в продаже появились батарейки нового бренда Epilso. Я протестировал и изучил батарейки Epilso Alkaline и Epilso Turbo Alkaline двух форматов — AA и AAA. Читать дальше →

Бенчмарк HTML парсеров в Python: сравнение скорости Привет, Хабр!Меня зовут Вадим Москаленко и я разработчик инновационных технологий Страхового Дома ВСК. В этой статье хочу поделиться с вами информацией по проведенному сравнению производительности нескольких популярных библиотек для простого HTML-парсинга.При необходимости с...

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

1000 человек на место или как новичку стать синьором Привет! Меня зовут Сергей, я немножко ведущий фронтенд-разработчик и немножко продуктовый менеджер, а еще друг, поэт и музыкант. Как так получилось — история для другой статьи, а здесь я расскажу о другом. По долгу профессии я сталкиваюсь с наймом новых сотрудников...

Выбираем базовые образы для приложений на .NET: минимум уязвимостей, максимум быстродействия Микросервисы и контейнеры для их развертывания сейчас являются стандартом в крупных компаниях. Для разработчиков и DevOps-инженеров это удобный подход: он дает больше возможностей и ускоряет процессы.Но для специалистов по информационной безопасности микросервисная архитекту...

Оценка тестового покрытия интеграционных тестов с помощью JaCoCo. Инструкция к применению Всем привет! Меня зовут Александр и в hh.ru я занимаюсь решением инфраструктурных (и не только) задач, касающихся автотестирования. В статье я опишу один из подобных кейсов. Читать далее

ИНЬ-ЯН в UI/UX дизайне Привет, Хабр! Меня зовут Иван Вербов, я UI/UX дизайнер команды разработки платформы контейнеризации dBrain.cloud. Эта статья адресована моим коллегам-юиксерам, а также всем, кого затрагивают задачи анализа, обсуждения и согласования предложений и результатов работы над диз...

Как спланировать разработку без хаоса? Привет, Хабр! Меня зовут Александр, я уже около 15 лет в IT. Долгие годы занимался разработкой, но в последнее время перешел в менеджмент.Сейчас я работаю в крупной компании, которая занимается юридическими услугами. За несколько лет компания выросла, и сейчас IT-отдел ...

Найти работу в IT: миссия 2024 Привет! Меня зовут Полина, и я уже десять лет работаю дизайнером в айти. В основном продуктовый UX/UI, но были и отдельные проекты разного характера.  Расскажу про свой (и друзей) опыт поиска работы два года назад и сейчас, на русскоязычном рынке.  Читать дальше →

Lavritech: теперь с дисплеем и платой управления (наконец-то дождались) В своё время, в беседе с разработчиками Lavritech, я высказал пожелание оснастить их контроллеры дисплеем, платой управления и индикации — у меня не вызывает сомнений, что это простое дополнение значительно расширяет возможности и удобство пользования контроллером. Но, ка...

Обзор 3D принтера Elegoo Mars 4 Ultra 9K быстрый, компактный, фотополимерный! В этом обзоре мы наконец закроем тему новых фотополимерных 3D принтеров от компании Elegoo. Сегодня рассмотрим старшую версию 3D принтера Mars 4.Перед тем как мы начнем, подпишитесь на наш Telegram! Там мы проводим розыгрыш пластика из нашей линейки LIDER-3D Classic! А еще с...

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

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

Celery: изучаем на реальных примерах ч.1 Лучший способ что-то понять - попробовать на практике, а лучшая практика - это реальные примеры. В этой статье мы узнаем шесть основных сценариев использования Celery. Разберем основные методы и аргументы, которые точно пригодятся. От асинхронной обработки задач до управлени...

Книга «Дизайн-мышление для роста бизнеса: проектирование и масштабирование бизнес-моделей и экосистем» Привет, Хаброжители! Книга содержит принципиально новый подход к проектированию и масштабированию бизнес-моделей и экосистем. Михаэль Леврик описывает комплексную процедурную модель для проектирования, развития и внедрения бизнес-экосистем. А также рассказывает о наиболее ...

Почему инфраструктура big tech обычно состоит из самописных решений Привет! Предлагаю поговорить о том, почему крупные IT‑компании так любят создавать в своей инфраструктуре собственные решения. Казалось бы, напрашивается ответ: NIH‑синдром и ничего более. Но такой ответ вряд ли может считаться сколько-нибудь полным,...

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

Попасть в IT: невозможное возможно В последние годы конкуренция на рынке IT стала велика и самым очевидным способом войти в эту сферу – начать путь с нуля, а именно попасть на стажировку в одну из соответствующих компаний. Так получилось у меня. Привет, Хабр! Меня зовут София, я эксперт в Дивизионе информацио...

Об импортозамещении MATLAB/Simulink на примере модели динамики авиационного средства поражения Когда-то давно меня попросили разработать модель динамики полета АСП (авиационного средства поражения) в отечественном ПО, в среде SimInTech, причем разработать не с нуля, а тупо повторив уже созданную ранее модель в Матлабе (с Симулинком), и любезно выложенную в публичный д...

«Трудности перевода»: как ChatGPT справился с задачей адаптации сложных текстов Привет, Хабр! Меня зовут Сергей Кулабухов, я занимаюсь внедрением ИИ в бизнес-процессы компании Fix Price. С появлением моделей обработки естественного языка (natural language processing) изменился и подход к реализации подобных задач. Теперь мы не программируем и не обучаем...

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

Как перестать переусложнять и начать жить Мое наблюдение состоит в том, что мы — разработчики и продукты, сильно переусложняем, осознанно или нет, но всякие «„Архитектурные комитеты“, „Планирования“, „Апрувы у 50 отделов“ и деплои в 2-часовые окна, простыни текста сопровождающие простей...

Разбор примера BLE Audio от Nordic Semiconductor (или переходник I2S->BLE-Audio) Обзор технологии беспроводной передачи данных BLE 5.3. Представлен разбор примера Ble Audio от Nordic Semiconductor для микроконтроллера nRF5340. Это пример передачи звука по Bluetooth 5.3. Читать далее

DR, SDN, V2V: обзор свежего релиза платформы виртуализации zVirt 4.1 Хабр, привет! На связи Алексей Зотов из К2Тех, и сегодня я хочу поговорить об одном из российских решений для виртуализации. Сегмент этот в каком-то смысле уникален. Если в целом по рынку заказчик выбирает между 5–6 отечественными продуктами для решения задачи импортозамещен...

Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого из них можно решить строго определенный круг прикладных задач. Меня зовут Константин Шибков, я старший Java-разработчик CDEK и программный д...

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

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

Играемся с RTX 5000 Ada (AD103): первые впечатления Майнинг и использование для майнинга в этой статье не обсуждается.У меня есть пара старых статей (про A100, и про 3090 и A10) и также вот есть тоже старое, но всё еще неплохое и актуальное сравнение карточек для расчетов от Selectel. С тех пор прошло примерно два года и пора...

Докручиваем графу «Опыт» в резюме На примерах разберем как буквально небольшими изменениями повысить читаемость (и привлекательность) резюме. Без лишних слов сразу к делу. Читать далее

Тесты: 100% покрытия и юниты не нужны Мы покрываем код тестами, когда хотим быть уверенными, что в негативных сценариях он сработает надёжно. Хочется, чтобы тесты были не бланковой заглушкой, а полезной нагрузкой, которая позволит считать, что наше поведение достаточно валидное. Так мы можем обеспечить корректно...

Рекомпозиция в Compose: что не видно разработчику невооруженным глазом Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.Все новые фичи в проекте пишутся на Compose, поэтому встал вопрос о повышении собственной квалификации. Нужно было разобра...

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. Наш опыт я постарался упаковать в пошаговый гайд – надеюсь, этот материал поможет тем, кто только начинает свой ...

«Берегите платье снову, а персональные данные смолоду»: рассуждения и советы по цифровой гигиене Всем привет! Меня зовут Андрей, я специалист по информационной безопасности в Selectel. За время своей работы я понял, что часто люди используют правила цифровой гигиены в профессиональной деятельности, но совсем забывают про них в обычной жизни. По данным компании RTM Grou...

Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS Привет, Хабр!Меня зовут Саша и вот уже 7 лет я работаю фулстек разработчиком и пишу на C# и TypeScript/React.Сегодня я хотел бы поделиться своим небольшим успехом в автоматизации. В какой-то момент я понял, что во время код ревью я указываю разработчикам на одни и те же ошиб...

Отладка в PL/SQL Developer Привет! Меня зовут Алексей Маряхин, я работаю разработчиком на Oracle и пишу много, очень много кода. И когда программа ведёт себя не так, как ожидалось, на помощь приходит отладка. Не так давно выяснил, что не все разработчики владеют функционалом отладки или знаю...

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

GigaChat и русский жестовый язык Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английс...

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

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

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настро...

Kotlin Coroutines. Часть 1: Первое погружение Привет, Хабр!Меня зовут Соловьев Андрей, я Java-разработчик в «Рексофт». Сегодня мы поговорим про Kotlin Coroutines. Это моя первая серьезная публикация, и я буду рад вашему фидбеку.Ну что ж, давайте начинать! Читать далее

SQL в Фокусе: Полное Руководство. 100 ключевых Вопросов с собеседований В этой статье мы разберем самые простые и продвинутые аспекты языка SQL через 100 ключевых вопросов, которые встречаются на собеседованиях. Независимо от того, являетесь ли вы начинающим или опытным разработчиком баз данных, здесь вы найдете интересные и полезные аспекты для...

Существуют ли  джуниор-DevOps-инженеры и почему их ищут Привет! Меня зовут Сергей, я занимаюсь направлением DevOps в KTS. Сегодня поговорим о том, существуют ли джуниоры в DevOps-разработке — и какими они должны быть. Читать далее

Как мы прогнозируем объемы грузоперевозок на основе машинного обучения, используя MLflow Привет, коллеги! Меня зовут Александр Кузьмичев, и я ведущий специалист по анализу данных в Первой грузовой компании. Мы с коллегами разработали «Прогнозатор» — инструмент для оценки объемов грузоперевозок между ж/д станциями. В основе лежит открытая платформа MLflow, и сего...

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

Анемичная модель предметной области и логика в сервисах Анемичная модель предметной области (Anemic domain model) это такая модель, где сущности содержат только свойства, а бизнес-логика находится в сервисах. Ее противоположность это богатая модель предметной области (Rich domain model), где логика находится в сущностях, а cервиc...

Postman Interceptor — альтернатива классическому сниффингу (краткий гайд по установке и взаимодействию) Привет, хабровчане! У вас было такое, когда снифаешь спокойно трафик через бесплатную версию Charles, а потом появляется окошко через час работы и закрывает программу? А может вы думаете, что переросли функционал других снифферов и хотите попробовать что-то новое и необычное...

Как выжить на первом испытательном сроке в IT и не только Всем привет! Меня зовут Артём Харченков, и я руководитель подразделения разработки программных продуктов в компании Crosstech Solutions Group. Сегодня я расскажу, как успешно пройти свой первый испытательный срок, что нужно делать обязательно и чего лучше не делать. Для...

[Перевод] Спасти Linux Некоторое время назад я написал статью, в которой критически высказался о Linux-разработчиках, не желающих поддерживать дистрибутив, если он предназначен для работы на компьютерах, которым более 15 лет. За это я получил немало критики от читателей с Hacker News. Кто-то ука...

Путь из бизнес-аналитика в программного роботизатора Привет, Хабр! Меня зовут Леонид Бычков, я руководитель продукта ROBIN CLOUD в команде ROBIN, входящей в SL Soft. Это моя первая статья здесь, и для знакомства расскажу, как пришёл к тому, чем сейчас занимаюсь, — опишу своего рода путь в ИТ без программирования. Уверен, что N...

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

Exception Handling: сквозь мультивселенные интероперабельности В любой программе периодически возникают исключительные ситуации, которые необходимо обрабатывать. В большинстве случаев обработка ошибок не вызывает вопросов, но ситуация становится сложнее, когда среда вашего исполнения представляет собой сэндвич из интерпретируемого и н...

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), ...

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

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

Дебаггинг приложения без Xcode Привет, меня зовут Владимир Петров, я iOS разработчик в Альфа-Банке. Я вам расскажу как мы сделали свой дебаг-инструмент и научились дебажить наше приложение без Xcode. Обратите внимание на статью, если думали над тем, чтобы делать свое решение или готовое — расскажу, к...

[recovery mode] Отчаяние, отказы и академический отпуск: как я за год вернул уверенность и стал Android-разработчиком Привет всем! Меня зовут Фаридун. В своём пути в мир разработки я неоднократно сталкивался с моментами, когда отчаяние казалось единственным компаньоном, а отказы накладывались печатью на каждом шаге.В своей первой статье на Хабре я хочу поделиться своей историей становления ...

Как мы автоматизировали VDS и пытались не сгореть, часть 2: сетевые вопросы Всем привет! Меня зовут Владимир и я тимлид команды по развитию и поддержке продуктов DDoS-Guard, таких как: хостинг, VDS и выделенные серверы. Сегодня я продолжу тему алкоголика инженера @analog_cat про горение, автоматизацию и не только. Расставлю все точки в сетевом вопро...

Как сделать Spark в Kubernetes простым в использовании: опыт команды VK Cloud Сегодня Spark — отраслевой стандарт среди инструментов обработки данных. Его часто используют в связке с Hadoop, однако Hadoop не очень подходит для работы в облаке. Альтернативой может быть Kubernetes, однако самостоятельно его настраивать и конфигурировать очень сложно. ...

Техническое собеседование инженеров мобильной разработки в RuStore Привет Хабр, меня зовут Вячеслав Таранников, я старший Android-разработчик в команде монетизации RuStore, и сегодня хочу поделиться взглядом, из каких ингредиентов можно собрать полезное и эффективное техническое интервью. Читать далее

Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой Привет

[recovery mode] Почему я и мой стартап променяли США на Голландию? Всем привет. Меня зовут Алекс, я уехал из России в 2015, по-серьезному жил в 3 странах (Швеция, Израиль, США), но в итоге выбрал Нидерланды для жизни и работы. Я переехал сюда по стартап-визе в 2022 году, развиваю свой небольшой стартап, работаю в системе нидерландских фасил...

Самообучение ИТ-специалиста: мой эксперимент с ChatGPT Процитирую автора древнеримского романа «Сатирикон»: «Чему бы ты ни учился, ты учишься для себя». Актуальности она не потеряла и по сей день. Так что, как вы уже могли понять, речь в статье пойдет про самообразование. А точнее — про то, как его можно разнообразить и попробов...

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

Практические аспекты ранжирования ответов виртуального ассистента Салют Всем привет! Меня зовут Аня Максимова, я занимаюсь NLP в команде Нейронные сети продукта Собеседник! 5 апреля проходила конференция Giga R&D Day, где мой коллега — Артем Снегирев рассказывал про практические аспекты ранжирования ответов виртуального ассистента ...

DVC — прекрасный инструмент для DataScience Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка". Сегодня я хочу рассказать про DVC: инструмент, который многие, незаслуженно, обходят стороной. Была хорошая статья от Райффайзен Банк, в этой статье я по...

Создание сервиса авторизации через систему ЕСИА Всем привет. Меня зовут Динис, я старший разработчик в БФТ-Холдинге. В данной статье приведен план по созданию сервиса авторизации через систему ЕСИА. Тема будет интересна тем, кто внедряет такой сервис для своего приложения. В статье я собрал ключевые выдержки из документац...

Quick & worldwide: как мы ускорили DocLoc-релизы и апдейты для 34 локализаций Наши потребительские мобильные продукты уникальны тем, что распространяются в более чем 100 странах на 34 языках — возможно, рекордное значение в российской IT-индустрии. В основном лишь считанные продукты отдельных компаний переводятся на десяток-другой языков; у нас же мас...

Документация как сервис: как мы генерируем документы независимо от стека разработки Привет, Хабр. Меня зовут Наталья Павликова, в YADRO я работаю в команде DocOps. У нас обширная инфраструктура вокруг задач документирования, которая немного напоминает ходячий замок Хаула. Сегодня я расскажу о небольшой ее части — процессе автоматической генерации и публикац...

Формальные методы проверки смарт-контрактов Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про п...

Впихнуть невпихуемое, или Как мы боролись с сервисами, которые слишком много «ели» Всем привет! Меня зовут Максим, я релиз-инженер Ozon, и в этой статье я расскажу про впихивание невпихуемого, или про оптимальную с точки зрения используемых ресурсов стратегию деплоя в Kubernetes, которая позволила нам сэкономить тысячи ядер CPU и терабайты RAM. Читать дале...

«Серёга, диктуй код из смс»: как мы ускорили проверку гипотезы с помощью эксперимента Привет! Меня зовут Алина Бузинова, я менеджер продукта Отелло, сервиса бронирования отелей от 2ГИС.Ключевой принцип развития молодого продукта — скорость доставки полезных решений. Но не каждая фича — полезная, и не каждая полезная фича — дешёвая. Планировать шестимесячную р...

[recovery mode] «Они убивают Lottie — молодцы!» Привет, Хабр. Меня зовут Алексей, я разрабатываю мобильные приложения на Flutter в Пиробайте. Помимо этого увлекаюсь моушн-дизайном. В прошлый раз рассказывал о том, почему Flutter Web (не) мертв. Сегодня предлагаю продолжить наш тру-крайм в мире разработки и снова узнать кт...

Pkl — новый язык конфигураций от Apple. Обзор и сравнение с YAML и JSON Каждое приложение требует определенного уровня конфигурации. С помощью специальных языков можно создавать файлы, которые способны автоматизировать инициализацию системы. Эти файлы обычно читаются и интерпретируются только один раз. Наиболее распространенный пример — конфигу...

Как поддерживать себя в кибербезопасной форме: инструкция по самообразованию в IT на примере ИБ Привет, Хабр! Меня зовут Роман Панин, я начал свой путь в ИТ с фронтенда около 10 лет назад. Затем я перешёл в кибербез и успел построить его в нескольких сферах – от нефтянки и финтеха до телекома. А ещё исследовал массу способов получения новых знаний и укрепления твердых ...

Покрытие архитектуры as Code тестами

Решение на миллион: разбираем алгоритмические задачи с победителями True Tech Champ Привет, Хабр! Меня зовут Алина Ёжикова, я работаю в МТС Диджитал и делаю мероприятия для разработчиков. Сегодня расскажу, как мы организовали самый большой и сложный ивент в моей карьере — олимпиаду по программированию на восемь тысяч разработчиков.Я говорю про True Tech Cha...

Samsung не остановить: вышла уже шестая бета-версия One UI 6 для смартфонов линейки Galaxy S23 Samsung усиленно работает над прошивкой One UI 6 для своих нынешних флагманов линейки Galaxy S23. Новые сборки выходят едва ли не каждую неделю, вот и сейчас в Индии вышла такая – это уже шестой вариант бета-версии One UI 6 на базе Android 14. Размер обновления с...

NET hosting. Обзор вариантов и пример деплоя приложения Приложения Dotnet и Mono можно развернуть на сервере разными способами. В статье мы рассмотрим специализированные решения для хостинга dotnet приложений и предоставим инструкцию по развертыванию, написанную на конкретном примере. Читать далее

Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье Меня зовут Станислав Герасимов, 31 год, я разработчик. Хочу рассказать свою жизненную историю и о том, как я, преодолевая трудности и преграды, шел и иду к своим мечтам — стать профессиональным разработчиком, поправить здоровье и найти друзей. Читать далее

WidgetKit в iOS — не просто большие иконки Меня зовут Даша, я iOS-разработчик в Surf. Сегодня я освежу в вашей памяти философию и design виджетов. Подсвечу технические аспекты, которые помогут, если вы собираетесь делать свой первый виджет или хотите вдохнуть жизнь в старый. А ещё затрону несколько неочевидных, ...

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

Разработка мобильного клиента СДУ «Приоритет» под ОС «Аврора» на фреймворке Qt Всем привет! Меня зовут Илья, и я разработчик ПО в области автоматизации документооборота в компании «Диджитал Дизайн». Так получилось, что изначально я iOS-разработчик, но по воле случая мне удалось поучаствовать в создании мобильного приложения — клиента СДУ «Приоритет» (д...

Android Lint: оптимизируем проверку мердж-реквестов Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспол...

Хватит маппить все руками, используй Mapster Привет, Хабр! Меня зовут Георгий, я С#-разработчик в SimbirSoft. Хочу рассказать об опыте использования библиотеки Mapster: как он может упростить разработку, сэкономить силы и частично избавиться от рутины маппинга.Данная статья подойдет и тем, кто только собирается открыть...

Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям В Yandex Cloud с сегодняшнего дня открыт доступ к тестированию API YandexART — нейросети для генерации изображений и анимаций, которая лежит в основе приложения Шедеврум. Протестировать API можно в сервисе Foundation Models, в котором доступно несколько моделей машинного обу...

Открытый AI в коммерческом продакшене: обзор h2oGPT Крупные компании пока используют проприетарные нейросети, мягко говоря, неохотно или не используют вовсе. Как правило, их применяют отдельные сотрудники. Частично это можно объяснить опасениями со стороны специалистов по информационной безопасности, ведь тот же ChatGPT, нап...

Бесшовность 2.0: как работает шардирование в Сбере Если у вас не просто большая компания, а целая экосистема с разными сервисами, IT-инфраструктура должна обеспечивать бесшовность. Клиенты и сотрудники могут входить в систему с разных устройств, но изменение информации в одном канале должно отображаться в других, а целостнос...

Правда ли, что программы вузов для разработчиков отстают от индустрии — и почему это не так важно Снижение популярности высшего образования — общемировой тренд. По данным Национального студенческого информационного центра США, с 2011 по 2020 год количество студентов университетов упало на 10%. А согласно опросам SuperJob, в России примерно за этот же период количество вы...

[Перевод] Если покупка — это не владение, то пиратство — не воровство Двадцать лет назад я ввязался в публичную перепалку (дружескую) с Крисом Андерсоном, работавшим тогда главным редактором Wired. Я публично выразил своё разочарование публикуемыми в Wired радужными обзорами отягощённых DRM цифровых устройств. Андерсон сказал, что я идеалист,...

Google расширяет линейку моделей искусственного интеллекта Gemma Компания Google представила два новых варианта моделей ИИ Gemma - CodeGemma для генерации кода и RecurrentGemma для анализа данных, расширяя доступность передовых инструментов ИИ для разработчиков и исследователей.

Распределенный SQL в Picodata Недавно мы выпустили новую значительную версию Picodata — распределенной in-memory СУБД с открытым исходным кодом. Это продукт на основе Tarantool c поддержкой плагинов на Rust и некоторыми другими интересными особенностями, о которых можно почитать в статье Picodata: просто...

INP: что это и зачем с этим работать С 12 марта 2024 года показатель FID (First Input Delay) из семейства Core Web Vitals заменён новой метрикой — INP (Interaction to Next Paint), которая отражает скорость отклика сайтов. Необходимость такой замены, среди прочего, подтверждают данные об использов...

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

Epic Games ввела годовую подписку для разработчиков Unreal Engine Компания Epic Games, разработчик популярной игры Fortnite, представила новую платежную модель для использования своего продукта Unreal Engine. Неигровым разработчикам придется платить ежегодную подписку в размере $ 1,850 за каждое рабочее место, в отличие от модели с роялти,...

Typescript ENUM — баланс использования Привет Всем. Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript. В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно исп...

[Перевод] Новые клиентские хуки React 19 Вопреки распространенному мнению, основная команда разработчиков React занимается не только серверными компонентами React и Next.js. В следующей версии — React 19 — появятся новые клиентские хуки. Они сфокусированы на двух ключевых аспектах: выборке данных и работе с форм...

Phrozen Sonic Mini 8K и Sonic Mini 8K S: обзор, сравнение, примеры печати После успешного запуска Sonic Mini 8K компания Phrozen решила закрепить свои достижения, представив новый мощный 3D-принтер с разрешением 8K, также по доступной цене — Sonic Mini 8K S.Один из экспертов компании по практической 3D-печати, Деннис, одним из первых получил этот ...

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали б...

Ещё одна статья про карьеру: 15 убеждений, которые превратились в инсайты Сознание начинающего разработчика отличается от сознания его опытного и преисполненного коллеги. Даже у меня были убеждения,  которые изменились с приростом опыта. Всего их было 15. Я придерживаюсь их всех и они работают (кроме последнего, с ним прям беда).Я Екатерина П...

Какой ПК выбрать SEO-специалисту? Тестируем на «лягушках» и делаем выводы С выбором подходящего компьютера для разработки, видеомонтажа или игр сталкивался каждый. Рекламные кампании вендоров демонстрируют, как классно их продуктами пользуются программисты, монтажеры, звукорежиссеры, ученые и другие. Очевидно, что какой-нибудь топовый ноутбук Len...

Шпаргалка для QA: как тестировать Flutter-приложения Привет! Меня зовут Юлия Андреева, я QA-специалист в AGIMA. Мы пилим и тестируем много Flutter-приложений. И недавно я заметила, что не все коллеги понимают специфику их тестирования. В этой статье расскажу про основные инструменты и подходы, которые мы используем. Сосредоточ...

Многогранный мониторинг Angie Здравствуй, дорогой читатель. Меня зовут Дмитрий. Я — системный инженер компании «Веб-сервер». На протяжении моего опыта оказания услуг технической поддержки сначала в компании Nginx, а теперь и в компании разработчика российского веб-сервера Angie, мы отвечаем на очень попу...

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

Разработчикам на аутсорсе: как уложиться в эстимейт, сделать круто и сохранить доверие клиента Привет, меня зовут Ислам, я тимлид в ФОДЖИН. В этой статье поделюсь тем, как я выстраивал работу со своими разработчиками, командой и клиентами. Кому будет полезен мой рассказ: • начинающим тимлидам/техлидам, за которыми закрепили команду разработчиков, но которые ...

Сборка игрового ПК за 30к Всем привет! Меня зовут FarmPC, и в этой статье я подобрал оптимальные комплектующие для игрового ПК за 30к. И, да - никаких зеонов! Ну, что, интересно? Тогда погнали!

Интеграция видеоплеера YouTube во Flutter Hola, Amigos! Меня зовут Вова Зевеке, я Flutter-разработчик в Amiga. В одном из проектов передо мной стояла задача — интегрировать видеоплеер во Flutter- приложение, с которого можно было бы смотреть видео с YouTube. Казалось бы, подключаем  пакет youtube_player_flutter...

Laravel трюки: автоматическое подключение каналов логирования Всем привет! Меня зовут Иван Шишкин и я руковожу разработкой в агентстве Intensa.В этой статье хотел бы поделиться методом автоматического подключения каналов логирования в Laravel через механизм сервис контейнеров(DI). Читать далее

Управляем навигацией во Flutter с помощью библиотеки auto_route: часть 2. Guards, Wrappers и миграция Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Это продолжение моей статьи про библиотеку auto_route. В этой статье, я попробую пояснить, что такое охранники(guards), обертки (wrappers) и с чем вам придется столкнуться в легаси проектах при миграции на ...

Делаем PageObject правильно. Удешевляем тестирование и снижаем порог вхождения Привет, меня зовут Коля, занимаюсь тестированием 7 лет, автоматизацией — 6 лет. Так уж сложилось, что не особо люблю WebUI-тесты, но почему-то именно они у меня получаются лучше всего.В один день мне позвонил мой друг Рома и сказал: «Коля, помнишь ты у нас автотесты делал с ...

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

[Перевод] Как дальнобойщик в 38 лет стал разработчиком на Ruby on Rails Недавно мне представилась возможность взять интервью у Педро Давида Гарсии Лопеса, разработчика на Ruby on Rails из Великобритании, который до этого работал дальнобойщиком. Интересно то, что он решил стать программистом в 38 лет. В этой статье я расскажу его историю, котора...

15+ полезных ссылок для начинающего специалиста по Data Science Привет, Хабр! Меня зовут Раф. Сейчас я работаю аналитиком ценообразования в Яндекс Лавке, куда попал после стажировки в команде аналитики Яндекс Браузера. Параллельно учусь в НИУ ВШЭ и уже успел пройти курс «Специалист по Data Science» в Практикуме.В этой статье я собрал пол...

Сложности роста Ruby-приложений Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проб...

ChatGPT плохо отвечает на «простые вопросы». Как это починить? Привет, Хабр! Меня зовут Антон Разжигаев, я аспирант в Сколтехе и участник научной группы Fusion Brain (AIRI), работающей над мультимодальными подходами. В этой статье я расскажу о нашей последней работе — Multilingual Triple Match — системе для поиска ответов на фактологиче...

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте...

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

Как мы Kafka с NestJS microservices подружить пытались Привет, меня зовут Валентин, я NodeJS-разработчик в Сравни. Моя команда делает Profile Service — внутренний продукт, который отвечает за быстрое получение и запись личных данных пользователей для экосистемы Сравни. Мы взаимодействуем с 20+ продуктовыми командами, которые даю...

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

Как Agile поменял регулярный менеджмент? Меня зовут Курдюмов Дмитрий, я сертифицированный Agile коуч и Лидер по трансформации бизнеса, последние 7 лет помогаю компаниям трансформировать их процессы и структуру для достижения большей адаптивности и скорости. В этой статье хочу поделиться тем, как Agile поменял принц...

Как настроить GitHub Actions и не заплакать: пошаговая инструкция Как настроить GitHub Actions и не заплакать: пошаговая инструкцияПривет всем! Меня зовут Виталий, я фронтендер в Mish. Решил недавно освоить полноценный автоматический деплой проекта, чтобы все работало само. Расскажу и вам, что из этого получилось.В статье буду разговариват...

Полезные ресурсы для Python-разработчиков Привет, Хабр! Меня зовут Катерина. Вот уже пять лет я профессионально занимаюсь переводами статей по Python. Для работы мне пришлось освоить основы этого языка и попутно ознакомиться со множеством ресурсов. Я решила собрать эти ресурсы в одной статье, чтобы поделиться ими. Н...

Пристальный взгляд на отладку JavaScript приложений Всем привет! Меня зовут Паша Востриков, я делаю на JS/TS много разного в «Лаборатории Касперского»: фронт, облачные сервисы (Node.js), штуки для коробочной поставки (OnPrem), платформенные компоненты и библиотеки. И, конечно же, Open Source. Сегодня хотел бы затронуть тему ...

Как студенты Практикума перепроектировали сайт Alfa Digital Привет! Меня зовут Максим, я продакт и студент курса «Продакт-менеджер». . В этой статье я расскажу о проекте по редизайну карьерного сайта Альфа-Банка — с ним наша команда победила на хакатоне Практикума. Читать далее

Автопровижининг телефонов Yealink. Часть 3 Мы продолжаем публикацию цикла статей, посвященных автопровижинингу IP-телефонов Yealink. Первая часть цикла была посвящена обзору функции автопровижининга, во второй части рассмотрен принципы работы с конфигурационными файлами. Завершающая статья цикла посвящена практическо...

Как мы реализовали аутентификацию трафика для MSA на базе монолита Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая пробле...

Релиз-менеджер — почему он вам нужен Привет! Меня зовут Ксения, я уже больше 7 лет занимаюсь релизами и сейчас работаю релиз-менеджером в RuStore. Сегодня хочу рассказать больше об этой роли, в каких случаях он вам нужен (спойлер, не всегда) и когда её можно переложить на другого сотрудника.  Читать далее

Как и почему AI изменит работу дизайнера, но не заменит его Всем привет, меня зовут Иван Ардинцев, я арт-директор и дизайнер. Мои коллеги и знакомые часто дискутируют на достаточно важную тему AI-экспании в дизайн-отрасль и интересуются моим мнением в этом вопросе, поэтому я решил собрать все свои мысли по этому поводу в единую стать...

Почему люди не делают бэкапы? Есть у меня вузовский товарищ Сашка. Математик, физик, а теперь и разработчик (умело монетизирует мозги), умный до безобразия. Ещё в университете он проявлял патологическую собранность в походах: чего бы ни понадобилось, всё было у него в рюкзаке. Год за годом он погружался ...

Принципы ООП в примерах для начинающих Как создатель и руководитель курсов по C# я вижу, что часто у людей, начинающих изучать этот язык, принципы Объектно-Ориентированного Программирования вызывают затруднения в понимании. А так как один из лучших способов что-то понять, это посмотреть применение на примерах, то...

Чем бизнес-аналитик отличается от системного и почему для проектов цифровой трансформации вам нужно два специалиста Привет, Хабр! Я Владимир Хрипун, руководитель центра компетенций по развитию BPM-систем в Первой грузовой компании. Сегодня разберем с вами, чем бизнес-аналитик отличается от системного и почему для проектов цифровой трансформации вам нужно два специалиста. Статья будет поле...

[Перевод] Rust 1.75.0: API адресной арифметики, async fn и impl Trait в трейтах, уcкорение rustc Команда Rust рада сообщить о новой версии языка — 1.75.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.75.0 ва...

Как наложить макет на вёрстку через PerfectPixel Привет! Меня зовут Сергей Криворучко, я работаю наставником на курсе «Фронтенд-разработчик» в Практикуме. Иногда у студентов возникают сложности с PerfectPixel — расширением Chrome, совмещающим макет из Figma с вёрсткой в браузере.В этом материале я расскажу, как корректно э...

Ubuntu 24.04: финальный релиз уже скоро. Изменения и возможности дистрибутива Уже 25 апреля будет опубликован финальный релиз дистрибутива Ubuntu 24.04 «Noble Numbat». Фактически он готов и сейчас, единственное, что осталось разработчикам — тщательно протестировать новинку на наличие ошибок, а если они есть, то исправить их. Новая версия относится к к...

Экстремальные практики программирования: что, как и зачем Всем привет! Меня зовут Сергей Бережной, я работаю в Яндексе уже 18 лет: в 2005 году пришёл разработчиком интерфейсов, потом руководил подразделениями разного размера, а сейчас я директор по взаимодействию с разработчиками. Ещё я много занимаюсь обучением: в рамках наших сез...

Press F, чтобы рассчитать использование облачных ресурсов Привет, Хабр! Меня зовут Эд, я менеджер биллинга в Selectel. Сегодня хотел бы рассказать про подход FinOps, который объединяет продуктовое мышление, мониторинг и управление облачными ресурсами. А еще показать графики и разобрать, кому и зачем это вообще нужно. Спойлер: не т...

Tarantella — распределённое key-value хранилище в рекламных технологиях VK Привет, Хабр! Меня зовут Виктор Лучиц, я руководитель группы backend-разработки в департаменте рекламных технологий VK. В этой статье я расскажу вам про Tarantella — наше key-value хранилище, которое мы используем в рекламных технологиях. Из материала вы узнаете о том, ...

Пуш-уведомления RuStore Привет! Меня зовут Артем Ковардин, я работаю в VK и мы с командой разрабатываем Push Service RuStore и SDK для него. Если вы занимаетесь разработкой мобильных приложений и хотели бы иметь канал коммуникации с пользователями или же вам просто интересно то, как работают разраб...

Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти Многим знаком подход Backend Driven UI. С его помощью можно создавать новые страницы, запускать А/B-тесты, легко менять флоу в любое время и сразу на всех платформах. И при этом не надо долго и мучительно перевыкатывать приложение.Обычно о BDUI рассказывают мобильные разрабо...

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

Как перезагрузиться, пройдя пешком 250 км, или каким был для меня Путь Сантьяго Всем привет! Меня зовут Катя Черных, я бизнес аналитик в Х5 Tech, работаю на продукте Ценообразование. Живу в Москве, со времён ковида работаю удалённо и большую часть дня провожу дома. Поэтому к планированию отпуска отношусь серьёзно, стараюсь уезжать подальше из своего дом...

Дом, милый дом: нюансы работы с ClickHouse. Часть 1 Всем привет, меня зовут Пётр, я инженер компании Nixys. На современных проектах используется огромное разнообразие баз данных: реляционные, ключ-значение, документоориентированные. Особое место среди них занимают колоночные базы данных, ярким представителем которых является ...

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

Смогут ли разработчики конкурировать с нейросетями: оцениваем возможности AI и человека Привет, Хабр! Меня зовут Александр Демидов, я директор по разработке департамента управления технологиями МТС. Сегодня поговорим про использование в программировании нейросетей, включая ChatGPT и конкуренцию нейросетей и программистов.Всё чаще слышны разговоры, что вот-вот к...

Геймер создал фейковый сайт обзоров игр и бесплатно получал их от разработчиков В недавней статье на HackerNoon описывался эксперимент, проведенный Матеем Смычкой, который создал фальшивый сайт с обзорами игр, чтобы проверить, сможет ли он получить бесплатные копии игр от самих разработчиков.

Технические предпочтения пользователей с нарушениями зрения в 2023 году. Исследование Яндекса Цифровые продукты и сервисы стали обыденным явлением, и сегодня это часть повседневной жизни самых обычных людей, а не только ранних энтузиастов новых технологий. Однако есть пользователи, которые по-прежнему испытывают существенные трудности при взаимодействии с современным...

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

Хотите похудеть – НЕ спрашивайте меня как Почему то все делятся историями успеха. Поделюсь историями неудач. 10 лет назад я внезапно обнаружил себя в клубе «кому за сто». С тех пор прошло с десяток попыток похудеть, кому интересно что было дальше – под кат. Читать далее

7 направлений оптимизации ClickHouse, которые помогают в BI Привет, Хабр! Меня зовут Никита Ильин, я занимаюсь разработкой архитектуры BI-платформы Visiology. Сегодня мы поговорим про оптимизацию ClickHouse — ведущей СУБД, которую все чаще используют для решения задач аналитики на больших объемах данных. В этой статье я расскажу, поч...

Как мы сделали настоящий хакатон. Такой, каким он должен быть Привет! Меня зовут Игорь Бессчастный, я лидер Платформы API ВТБ. Мы представили рынку Платформу два с половиной года назад в рамках большой цифровой трансформации банка. Продумывая хакатон, мы хотели и привлечь внимание к интерфейсам прикладного программирования, и найти реш...

От каждого по способностям. Как мне удалось прокачать инженерную культуру своей команды, не будучи тимлидом Привет, Хабр! Меня зовут Кирилл Веркин, я Senior QA в СберМаркете. Эта статья о том, как за 1,5 года моя команда прокачала уровень инженерной культуры с нуля до самого высокого среднего балла в компании среди 105 команд. (Да, у нас есть уровни инженерной культуры!) Хочу...

Играем в крестики-нолики c RPN калькулятором Когда я разбирался с программируемыми калькуляторами, то думал, как бы элегантнее протестировать функциональность устройства. Один из известных способов проверки – это реализация какой-либо игры. Игр для калькуляторов, как на просторах бывшего СССР, так и за рубежом громад...

Как распаковать айтишника и настроить цикл управления знаниями О преимуществах управления знаниями уже много написано, но вот выстраивание этого процесса — настоящий вызов... Привет, Хабр! Меня зовут Лена, я архитектор продуктовых знаний. В этом тексте я сосредоточусь на тиражировании знаний и расскажу, как их эффективно «перекладыват...

Обзор беспроводных наушников Anker soundcore SPACE A40 Аудиопродукты soundcore многими, кто сталкивался с брендом, были оценены по достоинству. Уже этот факт провоцирует интерес и определенные ожидания. Поэтому сегодня будет любопытно протестировать одну из ходовых и доступных по цене моделей беспроводных наушников в линейке s...

Стейт-машины: The Good, The Bad and The Ugly Стейт-машины: The Good, The Bad and The Ugly Привет! Меня зовут Дарья Андреева, я тимлид в команде бэкенда Биллинга Яндекс 360. Яндекс 360 объединяет такие сервисы, как Диск, Телемост, Почта и другие, в единую экосистему, а мы собираем их в...

Изучаем матчасть: зачем нужны дизайнеры, когда есть нейросети Привет! Меня зовут Федя Ноздрин, я креативный директор в AGIMA. В этой статье расскажу, что такое генеративный дизайн и зачем он нужен. Пишу я ее не для профи — они и так всё знают. Я пишу ее для тех, кто задается вопросом: зачем учиться дизайну, когда всё то же самое уже ум...

Привычка быть SOLIDным разработчиком Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому ...

Перенос вашего проекта под Embox на новую плату STM32 Всем приветВ этой статье я хочу показать, насколько в Embox легко перенести существующий проект на новую платформу. За основу возьмем уже описанный ранее демонстрационный проект с ModBus и расскажем, как портировать наш проект на новую плату на примере STM32 NUCLEO-F2207ZG.В...

Platform Engineering: что, зачем и как Привет! Меня зовут Александр Тарханов, я тимлид команды платформы в 05.ru. Сегодня расскажу о набирающем популярность тренде Platform Engineering и постараюсь ответить, что это, зачем необходимо и как это реализовать. Что дальше

Как быстро выбирать языковые модели (LLM) под свои задачи Последние полгода я активно занимаюсь разработкой сервисов на базе больших языковых моделей, они же «LLM». Для каждого проекта мне приходится подбирать модель по определенным критериям: языковая поддержка, требования к памяти, типу (instruction-based или completion), скорост...

Как Сбербанк Онлайн готовится к пиковым нагрузкам Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.Меня зовут Артём Арюткин, я руковожу проектным офисом в Сбере. Весь мой профессиональный опыт завяз...

Как Сбербанк Онлайн готовится к пиковым нагрузкам Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.Меня зовут Артём Арюткин, я руковожу проектным офисом в Сбере. Весь мой профессиональный опыт завяз...

[Перевод] Rust 1.77.0: C-подобные строки, offset_of!, рекурсивные async fn, strip в release-профилях Команда Rust рада сообщить о новой версии языка — 1.77.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.77.0 ва...

Решаем трудности адаптации мобильных приложений с Responsive_framework Hola, Amigos! Меня зовут Ярослав Цемко, я Flutter-разработчик в компании заказной разработки Amiga. Сейчас я расскажу об очень крутом плагине, который помог нам решить проблемы, связанные с адаптацией контента под разные дисплеи в одном из наших проектов. Читать далее

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

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

Как мы изобрели самый бессмысленный и беспощадный дифференциал Здравствуйте, меня зовут Николай и я алко... хуже, я соучастник и организатор изобретения дифференциала для дорожного катка (да, слово «соучастник» здесь подходит лучше всего, потому что таких преступлений против логики и здравого смысла надо ещё поискать...) Мой р...

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

Как и где практиковаться начинающему мобильному разработчику Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник и автор на курсе «Android-разработчик» в Яндекс Практикуме. Помню то время, когда я начинал заниматься разработкой, — материалы были в основном на английском, а специализированны...

Как написать идеальный запрос для ChatGPT Управление промтами – важный навык для работы с нейросетями. Однако иногда не знаешь, как лучше их прописать. В результате ответы, генерируемые чат-ботами, оказываются очень общими и неточными.Я потратил много часов на различные курсы по промт-инжинирингу и постоянно тестиро...

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

Алгоритм генерации столбцов (Column Generation) Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: з...

AutoLove: апдейты девушке с YandexGPT Салют! Меня зовут Григорий. Как и у многих из нас, у меня есть вторая половинка, и ей свойственно требовать внимания. Сам по себе я человек занятой и мне бывает трудно отвлечься от дел и написать апдейт девушке, из-за чего приходиться терпеть капризы по причине «недостатка в...

Почему Linux не для игр, на примере игры Control Некоторые приверженцы очень любят рассказывать сказки, мол Linux лучше Windows для игр, DXVK/VKD3D, все дела, но на практике...

[Перевод] Rust 1.74.0: конфигурация проверки в Cargo, авторизация для приватных реестров, проекции возвращаемых типов Команда Rust рада сообщить о новой версии языка — 1.74.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.74.0 ва...

Просветлённый выживший: кто такой фичекрайний и зачем это всё разработчику? Меня зовут Игорь Буняков, я был фичекрайним за реалистичные дороги в 2ГИС. Недавно они вышли в навигаторе, а позже будут доступны в режиме карт на мобильных устройствах и на 2gis.ru. Реалистичные дороги оказались невероятно большими, невероятно сложными, невероятно красивыми...

Классифицирую клиент-серверное взаимодействие от А до Kafka Всем привет, меня зовут Александр Карташов, я Java-бэкенд разработчик в Альфа-Банке. Работаю в проекте альфа-бизнес мобайл, мобильное приложение для юрлиц. В рамках проекта мне часто приходилось интегрироваться с разными банковскими системами, с разными стеком технологий, та...

[Перевод] Rust 1.76.0: обновление совместимости ABI, получение имени типа из ссылки Команда Rust рада сообщить о новой версии языка — 1.76.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.76.0 ва...

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

Метаморфозы сознания. Про ревью и комментарии в технической документации Привет! Меня зовут Дмитрий Миронюк, я старший технический писатель в компании Bercut. До этого работал системным администратором, специалистом внедрения и поддержки, программировал IP-телефонию, успел поработать тимлидом. Но как в итоге стал техническим писателем расскажу в ...

Как сделать СКУД на стойку своими руками за 20 тыс. рублей Привет! Меня зовут Иван, я отвечаю за СКУД, видеонаблюдение и системы противопожарной безопасности в дата-центре Nubes Alto. Сегодня расскажу о том, как своими руками и за вменяемые деньги установить СКУД на стойку в серверной или в ЦОД. Решение буду показывать на примере ст...

Zyxel XMG1930-30HP: обзор способов управления В прошлой статье мы разобрались с внешним видом, индикаторами и даже заглянули внутрь коммутатора. Теперь пришла пора его подключить и посмотреть, каким образом системные администраторы и сетевые инженеры могут управлять этим устройством и контролировать его параметры. Чита...

Как рассчитать CLTV с помощью машинного обучения и как нам в этом помогает Feature Store Условия задачи: дано число клиентов банка N, число банковских продуктов М, горизонт времени прогноза Т. Нужно посчитать ( Pij ).Привет, меня зовут Игорь Дойников, в Альфе я CDS — Chief Data Scientist в Розничном Бизнесе. Моя команда строит модели машинного обучения для розни...

[Перевод] Rust 1.73.0: очищение сообщений о панике, изменение в работе с локальными данными потока Команда Rust рада сообщить о новой версии языка — 1.73.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.73.0 ва...

[Перевод] Rust 1.78.0: Диагностические атрибуты, проверка предусловий unsafe и детерминированное повторное выравнивание Команда Rust рада сообщить о новой версии языка — 1.78.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.78.0 ва...

Войти в ИТ после 45-ти: личный опыт смены профессии Привет, Хабр! Меня зовут Базянова Зиля, я работаю ведущим инженером Блока обеспечения и контроля качества выпуска изменений ПО в РСХБ-Интех. В статье хочу затронуть вопрос касательно смены профессии в возрасте 45+ и поделиться своей историей. Читать далее

Что не так с онлайн-курсами? Привет! Меня зовут Павленко Виталий, и сегодня я хочу поговорить об онлайн-курсах программирования. Это не реклама онлайн-курсов и даже не антиреклама. Я сам сотрудничаю с двумя известными онлайн-школами. Эта статья скорее является ретроспективой на онлайн-образование в IT и...

Помощь логистам: как сделать SMS-уведомления о разгрузке товара на складе на основе FastAPI Привет, Хабр! Меня зовут Анастасия Иванова, я технический писатель МТС Exolve. Сегодня расскажу о системе SMS-уведомлений, созданной с помощью FastAPI. Она оповещает логистов о прибытии автомобилей на склад и автоматически назначает приёмщиков.  Система интегрирована с ...

Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта Привет, Хабр! Меня зовут Сергей Скубач, я работаю в VK и разрабатываю облачное хранилище WorkDisk. Мы используем Tarantool в своём продукте, так как его разрабатывают и развивают наши коллеги. Я впервые столкнулся с Tarantool именно в VK, и для более глубокого понимания реши...

Оживляем раритетный домофон с магнитным ключом Приветствую всех! Год назад я уже рассказывал про то, как работают домофоны с магнитным ключом. Но вот сейчас ко мне в руки попала ещё более старая панель от той же фирмы. И, как оказалось, про неё у меня тоже есть, что рассказать. Итак, в сегодняшней статье вернём к жизн...

Lego наборы, которые я всегда хотел Все уже в курсе, что искусственный интеллект может многое. В этой статье я дам возможность ИИ собрать интересные наборы LEGO, которые я бы с удовольствие сам пособирал и в конце статьи, поделюсь инфо, как именно можно сгенерировать такие наборы своей мечты самостоятельно.Мен...

Как мы упростили работу с данными с помощью пайплайна: пошаговый план Привет, меня зовут Руслан Шкарин. Я Senior Software Engineer и это моя первая статья в DIY-медиа вАЙТИ от beeline cloud. Расскажу, как занимался построением пайплайна для сбора и анализа логов системы в реальном времени для сервиса, который обходил сотни ...

Diplodoc — открытый набор инструментов для создания документации Всем привет, меня зовут Женя Колесников, я из команды Yandex Infrastructure. Сегодня я расскажу, как мы пришли к написанию документации в концепции Docs as Code, придумали для этого набор инструментов, назвали его красивым именем Diplodoc и выложили в опенсорс — теперь вы то...

Разработка и применение систем разграничения доступа на базе атрибутов Привет! Меня зовут Михаил, в Positive Technologies я руковожу бэкенд-разработкой метапродукта MaxPatrol O2. В этой статье я расскажу, зачем нам в компании понадобилось разграничение доступа на основе атрибутов. Его еще называют ABAC (attribute-based access control). Рассмотр...

Как в РСХБ разработали средство генерации SQL-запроса для упрощения задач по тестированию Привет, Хабр! Меня зовут Андрей Околелов, я работаю ведущим инженером в Блоке обеспечения и контроля качества выпуска изменений ПО в РСХБ. В банковской сфере я работаю с 1992 года, с 2018 основная деятельность — тестирование банковских прил...

Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации Значение слова – это его использование в языкеЛюдвиг Витгенштейн (сурс) Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родн...

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

Общее описание и реализация Word2Vec с помощью PyTorch В данной статье даётся общее описание векторного представления вложений слов - модель word2vec. Также рассматривается пример реализации модели word2vec с использованием библиотеки PyTorch. Приведена реализация как архитектуры skip-gram так и CBOW. Читать далее

Изменить цвета и кнопки сервиса — и не сломать дизайн-систему Меня зовут Алексей Афонин, я старший дизайнер продукта в Yandex Cloud. В прошлом году нам понадобилось полностью изменить внешний вид нашего сервиса для бизнес‑аналитики DataLens перед его выходом в опенсорс. Разработчики и дизайнеры интерфейсов часто ста...

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную Меня давно интересовало, как работают беспроводные клавиатуры, но как-то не сильно вдавался в подробности, пока не возникла идея превратить свою механическую клавиатуру в беспроводную. Честно говоря, не думал, что узнаю так много нового и интересного. Вероятно, у многих е...

Как обычному фронтендеру стать по-настоящему классным фронтендером Меня зовут Илья, я фронтенд-разработчик в Авито, и я долго искал эффективный способ развития своих скиллов. Под катом я подробно описал весь свой путь и рассказал, получилось у меня это или нет. Интересно будет всем: и тем, кто только ищет свой путь, и тем, кто уже всё знает...

Как мы с Кандинским дракона рисовали Очень часто для оформления документов, например, презентаций или статей на Хабре

Как мы в TestIt мигрировали  Привет, Хабр! Меня зовут Евгений Токарев, я руководитель группы автоматизированного тестирования в Innostage. Хочу поделиться нашим опытом выбора новой TMS и миграции достаточно большого количества тест-кейсов практически одной кнопкой.Поехали! Читать далее

Как сэкономить миллионы рублей, или перевод документации нейродвижками Всем привет!Меня зовут Александр Денисов. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC).В этой статье я расскажу о том, как у нас был автоматизирован процесс перевода документации с помощью нейродвиж...

Сравнение работы MTS AI Chat с другими русскоязычными LLM Всем привет!Мы в MTS AI занимаемся созданием технологий и продуктов на базе искусственного интеллекта. Непосредственно наша группа фундаментальных исследований разрабатывает LLM и модели для генерации кода. В этой статье мы представим нашу первую фундамен...

Полиномиальные корневые методы синтеза САУ ч.3 (заключение) Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения ав...

Fedora Linux 40: новая версия дистрибутива. Что нового и что изменилось? В мире дистрибутивов Linux всё идёт по плану. Разработчики Fedora Linux 40 выпустили финальный релиз 23 апреля. Уже готовы версии Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки. Они поставляются c десктоп-окружениями KDE...

Как успешно пройти собеседование на Technical Product Manager в Тинькофф? Личный опыт Всем привет, меня зовут Виктор и на днях я выхожу в Тинькофф на позицию тех-продакта в Платформу базовых мобильных технологий.Во время подготовки к собеседованиям мне очень помогла статья на Хабре, однако там речь шла о позиции QA. Поэтому в этой статье я хочу рассказать о л...

Хороший ретрай, плохой ретрай, или История одного падения Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в с...

По заветам кота Вжуха: превращаем веб-приложение в сервис на платформе VK Mini Apps VK Mini Apps — это платформа для создания мини-приложений, работающих внутри ВКонтакте. На ней можно создать продукт любого масштаба — от лендинга до сложного сервиса с множеством функций. А ещё вы можете портировать на площадку ваше веб-приложение, чтобы получить доступ к о...

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

Прокрастинация, youtube и горящий дедлайн — что мешает нам учиться? Всем привет! Меня зовут Лиза, я методолог обучающих программ в ЕДИНОМ ЦУПИС. Даже во время прохождения очень интересного и полезного курса сосредоточиться может быть крайне сложно. В мире, наполненном информацией, учиться мешает буквально любой внешний фактор. В статье я рас...

Квантовое программирование для диспетчеризации производства Лучший способ изучить новую технологию это применить ее на практике. Но как быть, если у вас нет квантового компьютера, а на изучение физики нет времени/желания? Это не проблема, потому что сегодня мы разберем наиболее доступный и безболезненный способ погружения в квантовые...

Исследование безопасности десктопных приложений на основе Electron Electron — фреймворк с открытым исходном кодом для создания кросс-платформенных десктопных приложений с помощью JavaScript, HTML и CSS. Это крутая технология, но с ней связаны многие ИБ-риски. В статье я разберу основы безопасной работы с этим фреймворком и расскажу: как а...

Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform Привет, Хабр! Меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложени...

Как новому тимлиду завоевать доверие команды: 9 правил, которые я усвоил за полгода в этой роли Привет! Меня зовут Кирилл Комиссаров, я пришел на позицию лида примерно полгода назад. Срок небольшой, но за это время многое понял о том, почему доверие в команде так важно. Вы замечали, что одно и то же мнение, высказанное разными людьми, воспринимается по-разному? Я ...

Nota, Typst и Evidence. Языки программирования для генерации документов Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX. В то же время появляется всё больше новых языков, которые позиционируют...

Почему я возмущен хабрапостом на 75 минут, или Вы неправильно нанимаете DevOps Достаточно часто я сталкиваюсь с существенной проблемой, которую допускают многие компании на уровне почти всех отделов при найме DevOps. Она многоуровневая и затрагивает как взаимодействие и зоны ответственности HR-отдела и нанимающей команды, так и выстраивание общих проце...

[recovery mode] Ваша емайл-рассылка нуждается в AMP-emails прямо сейчас В данной статье я расскажу про AMP-emails из личного опыта разработки , покажу примеры какие бывают емайлы, как их можно отправлять, в каких областях емайл-маркетинга они могут использоваться. У меня более 4 лет опыта работы с AMP-emails и мне есть чем с вами поделиться Чита...

Почему проверять результат вызова malloc c помощью assert плохая идея Указатель, который вернула функция malloc, необходимо проверить перед использованием. Неправильным решением будет использовать для этого макрос assert. В этой статье мы разберём, почему это является антипаттерном. Читать дальше →

Бегущий по витринам KION. Как контент попадает на витрины приложений Привет, Хабр! Меня зовут Алексей Жиряков, я техлид backend-команды витрины онлайн-кинотеатра KION. В этой статье я расскажу вам, как в нашем сервисе формируется витрина с фильмами и сериалами. Приподниму завесу тайны над нашей архитектурой и поделюсь, как мы компонуем выдачу...

Почему MacBook Pro на M3 Max лучше брать в базовой, а не в старшей комплектации В одном из выпусков на YouTube-канале Max Tech протестировали MacBook Pro с M3 Max в двух комплектациях: с 14c/30с и 16с/40с. Сильно ли большой между ними на деле будет разница?

Пароли в открытом доступе: ищем с помощью машинного обучения Я больше 10 лет работаю в IT и знаю, что сложнее всего предотвратить риски, связанные с человеческим фактором. Мы разрабатываем самые надежные способы защиты. Но всего один оставленный в открытом доступе пароль сведет все усилия к нулю. А чего только не отыщешь в тикета...

Как тестировщику уйти из корпорации в стартап и не сойти с ума Меня зовут Лена и я QA Engineer в Brickit, приложении для сканирования кубиков Lego. До этого мне довелось поработать в крупном зеленом банке. В этой статье я расскажу об отличиях корпорации и стартапа в разрезе процессов тестирования и разработки, а также дам несколько прак...

DevOps-инструментарий в помощь с качеством кода: автоматические сценарии для тестов с использованием Helm Привет, Хабр! Меня зовут Анджей, я QA-лид в Сравни. В этой статье давайте попробуем если не победить, то хотя бы побороться вот с какой ситуацией: вроде всё сделали хорошо и проверяли, а сайт всё равно пролежал на выходных с 500-ми ошибками. Помогать с тестированием нам буде...

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

Как мы запустили автобиддер для управления рекламными кампаниями в Ozon? Привет! Меня зовут Артём, я руковожу командой эффективности рекламы в Ozon. Наша задача состоит не только в том, чтобы реклама приносила деньги компании, заказы рекламодателям и была релевантной для пользователей, но и в том, чтобы сделать запуск рекламных кампаний удобным и...

Как мы с помощью ML вылечили проблему, не дававшую перейти на автомаршрутизацию курьеров Привет, Хабр! Меня зовут Наталья Макарова, я ведущий разработчик команды геоданных в CDEK. В этой статье расскажу, как мы с помощью ML решили проблему, не дававшую нашей компании перейти на автоматическую маршрутизацию курьеров. Мы умеем отслежи...

Unpacking аналитиков: виды, особенности и отличия Приветствую всех читателей Хабра!Меня зовут Белоусова Александра, я развиваю направление по обучению и стажировкам аналитиков в «Автомакон». У меня довольно разнообразный профессиональный опыт: была и бизнес-аналитиком, и системным, и аналитиком данных, руководила проектами ...

Ламповый дисплей для компьютера. Часть 2 – ускорение и фокусировка электронов в ЭЛТ В предыдущей части я привел обзор ряда подходов к созданию необычного дисплейного устройства. В отличие от приведенных примеров мне хотелось создать дисплей, который будет пригоден для регулярного пользования. Для этого я выбрал круглую индикаторную ЭЛТ от радиолокационной у...

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

Как нефункциональные требования влияют на архитектуру Привет, Хабр, меня зовут Светлана Уварова, я — ведущий системный архитектор в МТС. В этой статье я расскажу о том, как может меняться архитектура системы в зависимости от нефункциональных требований к ней, и как важно знать все нефункциональные требования на начальном этапе ...

Spring Cloud Gateway. Единая точка входа или отказа: путь к non-blocking API gateway Привет, Хабр! Меня зовут Никита Летов, я техлид бэкенд-разработки сервисов дистанционного банковского обслуживания Росбанка для физических лиц, или как модно сейчас говорить, ретейла. В этом посте я расскажу, что такое входная точка в приложение, когда в ней появляется необх...

Эффективные вложения в ИТ: Как посчитать ROI при внедрении ПО на примере системы маскирования данных Всем привет! Меня зовут Али Гаджиев, я Директор по продукту в компании Crosstech Solutions Group. Мы с моими коллегами Продакт-менеджером Дмитрием Симаком и Руководителем отдела анализа данных и машинного обучения Владимиром Коршуновым решили поднять ту тему, которую, зачаст...

Как мы загрузочный экран приложения в полезный для пользователя инструмент превратили. Кейс онлайн-кинотеатра KION Привет, Хабр! Меня зовут Михаил Фандуберин, я Product Owner, отвечающий за авторизацию и онбординг в KION. В прошлом августе я написал статью о повышении конверсии регистраций на примере страницы входа онлайн-кинотеатра KION. Сегодня расскажу о другом проекте — работе со ста...

Как и почему я писал для Флиппера на Си-с-классами Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулч...

Мифы о работе тестировщиков, на которые всегда один ответ: «Ага, конечно. Ты полностью прав» Привет! Меня зовут Кирилл, я работаю тестировщиком в R‑Style Softlab. Ни для кого не секрет, что работа тестировщика в области информационных технологий окутана мифами и непониманием со стороны обывателей. Я вспомнил несколько самых распространенных ...

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

От дощечки к компьютеру. Путь от ткачества к ЭВМ Привет, Хабр! Меня зовут Арина Шахтарина, я — инженер в Сбере, а ещё занимаюсь ткачеством. Сегодня поговорим о том, откуда появились первые компьютеры и разберём одну из версий — путь от ткачества к ЭВМ.Кажется, что компьютеры начали разрабатывать совсем недавно, лет 50-70 н...

Обзор синтаксиса Tailwind CSS Салют, Хабр!Tailwind CSS – это utility-first CSS фреймворк, который отличается от традиционных CSS фреймворков вроде Bootstrap или Foundation тем, что вместо предопределенных компонентов предлагает набор utility-классов, позволяющих стилизовать элементы прямо в HTML.Utility-...

Липовый соникс. Реверсим картридж Liposonix и пишем его эмулятор Для подписчиковВ этой статье я расскажу, как происходит реверс‑инжиниринг реального медицинского оборудования. На примере картриджа для аппарата Liposonix мы разберем базовые приемы обратной разработки протоколов цифровых устройств и посмотрим, как можно подделать передаваем...

Локальные GPT нейронный сети — проверяем на адекватность аналоги ChatGPT, запускаемые на домашнем компьютере Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, и понять, действительно ли они так хороши. Читать далее

Хотел устроиться Python-разработчиком, стал мидлом в QA-отделе — как я искал первую работу Привет! Меня зовут Юра, и в этой статье я хочу поделиться своим опытом поиска работы. И это вряд ли блестящая история успеха — на этом пути нашлось место и самым неожиданным факапам, и офферу от галеры, и отчаянию. Спойлер: на работу я всё-таки устроился, хоть и совсем не в ...

Эволюция главного экрана: хаос, исследования и редизайн Всем привет! Меня зовут Анна Бугрий, я старший продуктовый дизайнер и работаю в сфере шесть лет. Последние два года создаю совершенный опыт и дизайн для пользователей  СберМаркета. Команда, в которой я работаю, отвечает за главный экран приложения и навигацию на всех пл...

MaaS, или мониторинг как сервис Привет, Хабр! Меня зовут Валентин Лебедев, я отвечаю за мониторинг в Газпромбанке. Мой опыт в области построения систем мониторинга — более двенадцати лет, из которых последние шесть — строил мониторинг для крупного и сверхкрупного бизнеса. Статья будет полезна специали...

Как сделать консистентный UX для 40+ продуктов. Уроки, которые я извлекла из перезапуска дизайн-системы Привет! Меня зовут Ксения Гаврилова, я дизайн-менеджер в Selectel. Определяю, поддерживаю процесс и качество дизайна продуктов в компании, занимаюсь поиском и онбордингом людей в команду, помогаю дизайнерам развиваться. В 2022 году мы создали свою дизайн-систему. Это был с...

Шардирование: с нуля до Яндекс Диска Меня зовут Андрей Колнооченко. Я отвечаю за ядро файловой системы Яндекс Диска. Когда мы запускали сервис, то сразу ориентировались на рост и приняли решение шардировать базу метаданных о файлах. Но за 11 лет Яндекс Диск настолько вырос, что нам пришлось трижды менять подход...

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

Экзоскелет «Норникеля»: как он таким стал Всем привет! Меня зовут Владислав Давыдов, я главный менеджер центра развития цифровых технологий компании «Норникель».Возможно, вы уже знаете, что «Норникель» ведет разработку промышленного экзоскелета. У вас могли возникнуть закономерные вопросы: Почему экзоскелет именно т...

Перенести терабайты канбан-досок в облако: опыт команды Yandex Tracker Привет, меня зовут Мария Карпенко, я разработчик в команде Yandex Tracker — сервиса для управления процессами и проектами. Внутри Яндекса сервис  используется для постановки задач практически во всех командах, так что общее количество событий по задачам исчисляется уже ...

Как сделать NeoVim самым удобным текстовым редактором: туториал по настройке В этой статье затронем редакторы семейства Vi и разберем базовые сценарии работы с NeoVim. Начинающие специалисты смогут использовать материал в качестве туториала, а опытные разработчики, возможно, отметят для себя что-то новое.Почему именно NeoVim? Всё просто: этот те...

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

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)