Социальные сети Рунета
Вторник, 2 июля 2024

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

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

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

Важность позитивного фундамента на рабочем месте Сначала ищешь справедливость, потом другую работу.Хотелось бы поговорить о важности того, что я называю "позитивным фундаментом" в деятельности человека, которая занимает большую часть его времени на протяжении длительного участка жизни. И о проблемах, которые...

Личный опыт: переход с Redux на Effector. И при чем тут DX Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчик...

Статический анализ мультиязычности Angular приложения c помощью ngx-translate-lint Не так давно мне довелось решить интересную задачу, направленную на снижение риска того, что разработчик забудет о мультиязычности приложения и это станет причиной заведения нежеланных багов в будущем. Изначально я искал решение проблемы на Хабре, но, увы, не нашел. Поэтому ...

Как я проходила стажировку в отделе аналитических решений почти без опыта работы с данными Привет, меня зовут Луиза, я инженер данных в ЮMoney — работаю здесь уже год. Мы собираем данные, структурируем их, храним и создаём аналитические решения, например OLAP-кубы и дашборды. Департамент разделён на несколько команд, у каждой своя предметная область. За год я прев...

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

Операция «K». Ищем баги в коде IntelliJ IDEA В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio. Читать далее

[Перевод] 15+ Инструментов на базе искусственного интеллекта для разработчиков Перевод статьи https://www.marktechpost.com/2023/12/04/15-ai-tools-for-developers-august-2023.От переводчика: Выбор темы современных инструментов на базе ИИ оказался для меня не только хайповым, но и лично значимым. Мой интерес к этой области возник из желания совместит...

Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости Всем привет! Снова с вами Юрий Шабалин. Уже много лет я занимаюсь безопасностью мобильных приложений и в своих исследованиях доношу важность этого направления для бизнеса.В одной из прошлых статей я составлял шорт-лист мифов о безопасности мобильных приложений. Один из них б...

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

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

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

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

Проверка игрового движка qdEngine, часть вторая: упрощение C++ кода В этой статье мы рассмотрим, как статический анализатор PVS-Studio воодушевляет заняться рефакторингом кода. Ведь чем короче, проще и понятнее код, тем меньше в нём ошибок. Читать дальше →

Система иконок на React Очень часто при разработке React-приложения нам приходится работать с большим количеством иконок в проекте. Наверное, каждый разработчик стремится максимально упростить и автоматизировать подобные рутинные задачи. Есть несколько способов работы с иконками в веб-приложениях, ...

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

Как настроить библиотеку SFML C++ в Visual Studio 2022 статическая компоновка В этой статье рассказывается, как настроить ваши проекты SFML С++ со статической компоновкой используя интегрированную среду разработки программного обеспечения Visual Studio.Установка SFML библиотекиЗагрузите библиотеку SFML c официального сайта. Выбираем самую последнюю ве...

PVS-Studio в 2023 За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS-Studio. Читать дальше →

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

Как загружать классы в Java 8 и Java 9+? Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.Модули...

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

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

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

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

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

Где брать знания бизнес-аналитику? Подборка бесплатных ресурсов Привет! Меня зовут Ольга Мазур, сейчас я работаю продакт-менеджером в Samokat.tech, а до этого 5 лет занималась бизнес-анализом. Я прошла путь от бизнес-аналитика на аутсорсе до руководителя департамента бизнес-анализа на 100 человек в продуктовой компании. Также я один из а...

[Перевод] Macroni: рецепт поступательного улучшения языка программирования Хотя, Clang и используется в качестве инструмента для рефакторинга и статического анализа, у него есть серьёзный недостаток: в абстрактном синтаксическом дереве не предоставляется информации о происхождении конкретных расширений-макросов на CPP, за счёт которых может надст...

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

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

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

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

Расчетная архитектура платформы для A/B-тестов Mail.Ru Привет Хабр! Меня зовут Андрей Каймаков, я работаю в продуктовой аналитике Mail.ru в VK. Сейчас практически каждая IT-компания (да и не только IT) знает про A/B-тесты и понимает важность проверки новых фичей с помощью этого метода. Когда фичей становится много, то A/B-тесты ...

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

Погружение в мир Lint'a в Android-проекте Статические анализаторы уже давно являются неотъемлемой частью разработки проектов не только на Android. Они позволяют выявлять ошибки, несоответствия стандартам code style, производительности или безопасности, обозначать какие-то узкие места, сокращать code review и т. д. A...

Трёхлетний перерыв в IT из-за декрета: есть ли смысл переживать? Моя история Всем привет! Меня зовут Даша, мне 32 года, я работаю Java-разработчиком в ЮMoney — занимаюсь разработкой серверной части платёжной системы. В компании я почти семь лет, три из которых была в декрете.В этой статье расскажу, с какими страхами я столкнулась перед уходом в декре...

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

The New York Times: США давили на Киев, добиваясь ужесточения мобилизации Важность мобилизационных мер не уступает важности военной помощи, поскольку ситуация с личным составом армии критическая.

Обработка данных для RAG-систем Всем привет, меня зовут Андрей Шахов, я Python-разработчик и Lead Backend Developer в wpp.digital. ML-направлением, а точнее LLM в компании я начал заниматься только в конце 2023 года. Сейчас на задачи подобного рода у меня уходит примерно 40% рабочего времени.Решил начать п...

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

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

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

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

(Еще один!) личный опыт переезда в США. Часть 1: оффер Всем привет, меня зовут Александр и я алкоголик бы хотел поделиться личным опытом получения оффера в США, подготовки к получению визы этой страны, собственно, получения визы (ох, и разные это вещи!), переезда, получения гринкарты. Может, что-то получится добавить по результа...

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

Garnet. Хранит ли баги кэш-хранилище от Microsoft? Microsoft представили Garnet — проект кроссплатформенного быстрого кэш-хранилища с открытым исходным кодом, написанный на языке C#. Предлагаю расчехлить статический анализатор и посмотреть, какие ошибки и странности содержатся в исходном коде проекта. Читать далее

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

Полезные ресурсы для тестировщиков Привет, Хабр! Меня зовут Катерина. Недавно я опубликовала подборку ресурсов для питонистов и, поскольку ее неплохо приняли, решила поделиться еще и ресурсами для QA-специалистов. Я не систематизировала их по важности или популярности, просто разбила на статьи, YouTube- и Tel...

[Перевод] Как я пишу на C по состоянию на конец 2023 года Этот год выдался переломным для моих навыков по программированию на C. Можно сказать, что я пережил слом парадигмы, что побудило меня пересмотреть привычки и весь стиль программирования. Это была крупнейшая метаморфоза моего личного профессионального стиля за долгие годы, та...

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

Хирург объяснил важность чистки зубов профилактикой тяжёлых болезней Челюстно-лицевой хирург Евгений Никончук рассказал о важности регулярной и качественной чистки зубов. И если такой чистки нет, человеку могут сулить серьёзные болезни.

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

Уравнение с тремя неизвестными: как отлавливать баги в системах хранения данных Привет! Меня зовут Никита Гуцалов, я инженер в компании YADRO и занимаюсь разработкой ПО для системы хранения данных TATLIN.UNIFIED. Вообще с системами хранения данных (СХД) я работаю уже много лет и люблю эту тему, поскольку она постоянно бросает новые вызовы, заставляя реш...

7 причин моей гибкости. Как работают принципы ITIL Привет, меня зовут Кирилл, в СИГМЕ я работаю в департаменте решений SAP. И речь сегодня пойдет о 7 руководящих принципах ITIL, которые я хочу раскрыть на собственных примерах. Эти принципы не новы, но, как бывает с классикой, — к ней хочется возвращаться. Тем более что обозн...

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

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

Коротко про алгоритмы и структуры данных Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самопис...

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

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

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

[recovery mode] Просто об архитектуре в Android В нашем скромном мире разработки Android есть общепринятый подход к проектированию приложений - Clean Architecture, который рекомендуется Google. Несмотря на множество статей, посвященных этому стандарту, вопросы и споры вокруг того, как "правильно готовить" Clean Architectu...

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

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

Возвращаемся на Гроув-Стрит. Анализ движка Grand Theft Auto: San Andreas на Unity Серия Grand Theft Auto стала культовой в игровой индустрии, а San Andreas — одной из самых запоминающихся частей для многих игроков. Время проходит, но фанаты всё так же преданы игре. Кто-то достаёт старый и пыльный диск с ностальгией, а некоторые заходят ещё дальше. Сегодня...

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

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

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

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

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

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

NativeScript в мире кроссплатформенной разработки Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.Материал будет полезен не только разработчикам, которые уже пишут прило...

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

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

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

Ода хейта C++ Я люблю С++. Это мой основной язык разработки на работе и в домашнем проекте. Я люблю его за скорость, за гибкость и близость к железу. Используя его, я понимаю "что происходит внутри". Я учился на нем программировать, и когда я пишу программы я "думаю на С++". Я работаю в г...

Magento 2: Visual Search модуль (php + Tensorflow) Всем привет! Давайте знакомиться ;) Я Аня, и я php разработчик. Основной стек - Magento. Очень люблю в свободное время писать всякие интересные штуки, и сегодня я хочу поделиться своей наработкой для реализации поиска по изображению в Magento 2. На мой взгляд - это полезная ...

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

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

Обзор языка Crystal Привет, Хабр!История Crystal начинается в 2011 году, когда команда энтузистов решили создать язык, который бы исправил некоторые из тех ограничений и проблем, с которыми они сталкивались, работая с Ruby. Они мечтали о языке, который бы позволял писать код, легкий для пониман...

Современный С++ в разработке девайсов Привет, Хабр.Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных ...

Системное мышление на практике: переход от монолита к микрофронтендам и обратно Меня зовут Олег, я уже 20 лет работаю в ИТ и в основном на Enterprise-проектах. Сейчас работаю в Альфа-Банке на проекте Альфа-Онлайн и хочу поделиться своим видением управления сложностью на больших проектах.Мой опыт работы с десятком комплексных решений показал, что системн...

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

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

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

Tech4Art: как дроны и VR помогают рисовать граффити и муралы Привет, Хабр! Меня зовут Миша Most, я художник, который начинал как граффити-райтер. Сегодня расскажу о том, как технологии помогают нам, представителям искусства, творить, создавая необычные проекты. Сначала — немного о своих работах, которые находятся на стыке искусства и ...

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

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

BDUI: sapere aude или продолжай писать на коленке Backend Driven UI — относительно новая парадигма создания приложений. Она позволяет сделать продукт индивидуально полезным для каждого пользователя. На личном опыте я убедился, что это очень важно в современном процессе мобильной (и не только) разработки.В данной статье я по...

Тёмные боги корпоративной архитектуры Многие пользовались разными мобильными приложениями С7 и фишечками вроде автоматической сдачи багажа, даже болтали с нашим ботом в чатике. Всем этим мы занимаемся у себя в подразделениях.Меня зовут Андрей Жуков, я директор по ML, AI и другим высокотехнологическим базвордам в...

Знакомьтесь, WOPI! Как настроить работу с документами в браузере Всем привет! Меня зовут Алексей Симонов. Я — разработчик в компании ELMA. Сегодня мы поговорим про протокол под названием WOPI. Он позволяет работать с файлами документов с использованием облачного сервера. Вы выбираете файл который хотите посмотреть или отредактировать...

Как совмещать работу с учебой. Что-то про тайм-менеджмент Всем привет! Меня зовут Даша и я системный аналитик компании SM Lab. Работаю в команде Brand Planning Tool. Наша команда BPT помогает брендам (таким как Fila, Demix, Northland) запускать новые коллекции. В этом я году закончила бакалавриат и поступила в магистратуру по напр...

[Перевод] Безопасность памяти меня не волнует Фото с сайта платформы CHERIoT, проекта Microsoft по решению проблем с доступом к памяти IoT-устройств на аппаратном уровне Такое заявление может показаться странным для тех, кто более десяти лет работает над обеспечением безопасности памяти на аппаратном уровне, так что я...

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

[Перевод] Реляционные системы управления базами данных становятся проблемой. Что с этим делать? С реляционными базами данных я знаком очень давно, с конца 90-х. Мои первые шаги в мире компьютеров и программирования связанны именно с ними. Реляционным БД было отведено особое место в моей образовательной программе и стажировке на инженера-программиста. Они преследовали м...

Контролируем чистоту воды с Home Assistant Всем привет! Хочу рассказать о небольшом и довольно простом кейсе использования Home Assistant, но на мой взгляд очень полезном. Это контроль ресурса магистральных фильтров. Идея сделать что то такое беспокоила меня давно и вот наконец руки дошли и до этого. Читать далее

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

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.Хотите узнать, что скрывается по...

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

70% IT-специалистов отметили важность атмосферы в компании, где им предстоит работать Мы на Хабр Карьере снова пообщались с IT-специалистами и собрали исследование. Но в этот раз не только его — результаты показались нам настолько интересными, что мы придумали тест для поиска работы. Эта статья — про атмосферу в IT-командах, а именно «вайбах», которые, как ок...

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

Быстро и легко ищем баги в играх на Unity (для C# разработчиков) Все мы сталкиваемся с багами в играх. В некоторых даже чаще, чем хотелось бы. Множество этих багов связаны с ошибками в коде. Сегодня посмотрим, как с помощью статического анализа можно легко находить ошибки и улучшать ваш проект. Читать далее

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

[Перевод] После смерти Agile Перед вами перевод статьи автора Doug Bridgens, в которой он рефлексирует свой опыт и критически отзывается о Agile. В его статье совсем нет анализа и аргументации, это личные размышления на тему конкретного разработчика. Это мой второй перевод и я позволю себе в этом предис...

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

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

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

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

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

Что нам стоит карьеру в Machine Learning построить: профессии, возможности и советы для начинающих специалистов Привет, Хабр! Меня зовут Виктор Кантор, я директор центра Big Data МТС. В этой статье расскажу о треках и профессиях в ML. Дам общие рекомендации по развитию. Считайте, что эта статья — базовая инструкция, дающая понимание, как в этой сфере карьерно можно жить и профессионал...

[Перевод] Что разработчик никогда не должен делать Перевод статьи разработчика из Южной Кореи.Я работал разработчиком более пяти лет. Это не делает меня экспертом, но я считаю, что сделал достаточно ошибок, чтобы поделиться с вами. Вот 10 вещей, которые никогда не стоит делать разработчику.1) Быть перфекционистомНичто не иде...

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

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

Некоторые нюансы в настройке профиля в LinkedIn Когда мы говорим о зарубежных клиентах и карьере, то из-за угла выглядывает LinkedIn. Через него проходят все, кто развивает свою карьеру и бизнес за рубежом. Меня зовут Светлана Петровичева, в подборе я уже 12 лет, основатель headz.io, Get.it, спикер, веду канал про ре...

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

Как я проходил собеседования на QA-инженера в разных компаниях и что на них обычно спрашивали Меня зовут Вадим, я тестировщик в ЮMoney. Недавно моя знакомая разработчица из Канады искала работу в тестировании, в том числе в российских компаниях, и обратила внимание, что у нас собеседования сложнее: они более долгие, детальные и насыщенные техническими вопросами. У ме...

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

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

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

Из инженеров в DEVOPS — «Войти в  IT» на практике Меня зовут Степан Вахета, и я хочу рассказать о своем пути от инженера инфраструктуры до позиции младшего DevOps-инженера в HOSTKEY. Надеюсь, эта информация будет полезна тем, кто находится в раздумьях по поводу развития карьеры в IT или о переходе в новую профессию. Я специ...

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

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

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

Call Activity vs SubProcess: В чём отличие? Приветствую моих читателей! Меня зовут Екатерина. Ранее 3.5 года я администрировала bpm-систему, сейчас вот уже более двух лет я работаю системным аналитиком и развиваю нашу собственную bpm-систему. В данной статье хочу рассказать о дилемме, с которой столкнул...

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

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

React Native: мифы, претензии и реальные проблемы Привет, Хабр! Меня зовут Кирилл, я ведущий разработчик в Lad. В статье, опираясь на мой реальный опыт, хочу развеять все мифы о React Native, которые накопились, и рассказать, на что способен этот кроссплатформенный фреймворк. Читать далее

Распределённые системы на службе ФССП России. Часть 2. Суперсервис «Цифровое исполнительное производство» Привет, Хабр! Меня зовут Дима. Я работаю в отделе разработки систем межведомственного взаимодействия РЕД СОФТ. Представляю вам вторую статью про импортозамещение в АИС ФССП России, в которой я расскажу о проектировании сложных территориально распределённых информационных сис...

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

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

Инструмент статического анализа Slither Всем привет! Я из команды по анализу уязвимостей распределенных систем Positive Technologies. Мы занимаемся исследованием безопасности в области блокчейн-технологий и хотим поделиться обзором фреймворка для статического анализа кода, написанного на Solidity, — Slither. Он ра...

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

Улучшаем технику серфинга с помощью компьютерного зрения Привет, Хабр! На связи Рустем, и я — серфер. Я катаюсь на Тенерифе и углубленно изучаю мир серфинга. Моя страсть к волнам привела меня к исследованию того, как технологии могут помочь нам стать лучше в серфинге. Именно поэтому я решил создать проект, использующий компьютерно...

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

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

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

Как отзывы пользователей улучшают продукт. Кейсы Личного кабинета МТС Бизнес Привет, Хабр! Меня зовут Ильдар Хабибуллин, я занимаюсь улучшением клиентского опыта в Личном кабинете МТС Бизнес. Сегодня расскажу, как мы работаем с отзывами клиентов и почему даже несодержательная обратная связь, вроде «Мне не нравится» или «Все нормально», может повлиять...

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

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

Diátaxis: структура технической документации Это первая статья в корпоративном блоге компании documentat.io. Мы занимаемся заказной разработкой технической документации и помогаем компаниям настраивать процессы документирования.Многие разработчики сталкиваются с тем, что писать и поддерживать документацию трудно: непон...

Как я пришёл в дата-анализ после долгих блужданий по онлайн-курсам, маршрут со всеми тупиками и ухабами Привет! Меня зовут Алексей, я дата-аналитик. Четыре года назад я пришёл в дата-анализ из сферы, далековатой от IT, — пивоварения (хотя о том, что на самом деле они не так далеки, я рассказывал здесь). До того как я нашёл свою нишу, тщетно пробовал вкатиться в IT через разные...

Как начать писать на Java в VSCode Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.Тогда зачем пробоват...

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

Статический анализ структуры базы данных (часть 1) Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни ста...

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

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

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

Подход, который помог нам точно оценить трудозатраты на разработку дизайн-системы При планировании проекта команде дизайна приходится отвечать на много вопросов. Главные — что делать, как долго и сколько это будет стоить. Ответы есть не всегда и точно не у дизайнеров, которые занимаются отдельными задачами и не видят картину в целом. Меня зовут Александр...

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

Автоматическая проверка названий тестовых методов для Java Без сомнений, автоматические тесты важны для поддержания высокого качества кода, снижения вероятности повторного возникновения ранее обнаруженных ошибок и уменьшения времени подготовки к релизу. Но также не менее важно обеспечивать качество и соответствие стандартам кода сам...

Разбираем 5 способов ускорить сайт: от простого к сложному Низкая скорость загрузки — это критично. По данным исследования Unbounce, долгое ожидание негативно влияет на пользователей: 45,4% из них с меньшей вероятностью совершат целевое действие, а 11,9% — вообще покинут сайт. Давайте обсудим несколько способов, которые помогут...

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. Наши усилия направлены на то, чтобы в реальном времени следить за тем, как быстро работают наши сервисы и платформа. Благодаря инстру...

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

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

Микросотовые IP-DECT-системы Yealink: сбор требований и проведение радиопланирования Вторая статья посвящена особенностям работы с микросотовой системой Yealink на этапе ее внедрения.Внедрение — важнейший этап построения стабильно работающей высоконагруженной микросотовой DECT-системы. В этой статье рассмотрим следующие вопросы:• что такое радиопланиров...

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

Парсинг веб-сайтов: взгляд изнутри Статья о парсинге веб-сайтов освещает следующие аспекты:• Понятия парсинга и скрапинга; • Законность и этика парсинга; • Парсинг с использованием requests и BeautifulSoup; • Статические страницы; • Динамические страницы; • Работа с API; • Защита от парсеров; • Способы обхода...

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

TMS на замену TestRail: писали для себя, а выложили в open source В прошлом году TestRail прекратил предоставлять и продлевать лицензии компаниям из России, поэтому мы в YADRO решили разработать собственную тест-менеджмент систему TestY. Опирались на опыт работы с другими сервисами, чтобы добавить тот функционал, которого не хватало нашим ...

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

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

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

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория Всем барев дзес! На связи Гагик Антонян. Я — Frontend-разработчик и это моя первая статья на Хабре. Сегодня вы узнаете, как полноценно удалять .env, который по ошибке попал на удаленный Github-репозиторий. Буду рад, если поддержите данный материал лайками и комментариями. А ...

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

Кулинарный гид по Vue.js: всё о props Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более...

Вестник Midjourney: обзор шестой версии модели Привет, Хабр! Меня зовут Владимир Туров, я разработчик в Selectel. В это статье расскажу, что нового в Midjourney v6 и почему она лучше предшественников. Разберем примеры генераций и протестируем новые функции. Читать дальше →

Закупщик и Айтишник: понять и принять Хочу рассказать о моей профессии — закупщик в ИТ. Во-первых, это — красиво (с). А ещё я уверена, что многие айтишники и инженеры как-то, да взаимодействуют с отделом закупок и даже знаю, каким технические специалисты видят процесс закупок («просто возьмите и купите по специф...

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

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

Некорректная валидация UI при работе с файловой системой: что может пойти не так и как это починить Привет, Хабр. Меня зовут Александр Пиманов, я ведущий iOS-разработчик в МТС Диджитал. Сегодня расскажу о простой (как мне сначала показалось) задаче — нужно было свалидировать UI в зависимости от того, есть в файловой системе файл с логами или нет. Я быстро с ней справился, ...

Сделали библиотеку компонентов, но пришлось переделывать. Почему так вышло и чем дело кончилось Привет, Хабр. Меня зовут Артем Арефьев, я руковожу Frontend-разработкой в направлении продукта для учеников в Учи.ру. Фронтендом занимаюсь уже 11 лет, шесть из которых работаю у нынешнего работодателя. Еще принимаю участие в проектах Open Source (например, внес вклад в проек...

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

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

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

Apache Superset 2024. Лучшие практики Привет, Хабр! Меня зовут Антон, я работаю аналитиком в отделе бизнес-аналитики и анализа доходности в ОТП Банке. В нашей новой статье мы погрузимся в мир Apache Superset 2024 и откроем вам лучшие практики и продвинутые методы работы с этим мощным инструментом. После прочтени...

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

Как использовать EDR-систему для расследования и реагирования на инциденты безопасности: кейс Armitage для Metasploit Привет! Меня зовут Валерий Слезкинцев. В Positive Technologiesя руковожу направлением реагирования на конечных точках в отделе обнаружения вредоносного ПО в PT Expert Security Center (PT ESC). Наша команда мониторит свежие атаки и воспроизводит их на лабораторных стенда...

Вы за это заплатите! Цена Чистой Архитектуры Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 м...

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

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

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

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

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

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

[Перевод] Структурированное логирование в Go с помощью Slog Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила...

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

Timeweb Cloud CLI. Часть 1: S3 Салют! Не так давно компания Timeweb Cloud выпустила новую версию своего CLI (twc), который позволяет легко и удобно управлять всеми предоставляемыми ресурсами облачной платформы. В этой серии статей рассмотрим основные сценарии применения этого инструмента. В данном мате...

[Перевод] Моя любимая задачка по программированию для кодинг-интервью За время работы в Google я провёл более двух сотен интервью. И главное, что я вынес из этой работы — проводить качественные собеседования очень непросто. Все дело в сигналах, которые мы посылаем и получаем. И у интервьюера, и у самого кандидата есть меньше часа, чтобы выложи...

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

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

Как бороться с всадниками выгорания: личный опыт и пара советов Привет, Хабр! Меня зовут Данил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в РСХБ‑Интех. В прошлом материале я описал основные, на мой взгляд, причины появления и развития выгорания на работе. Сегодня хочу поделиться&...

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

Amplicode: учим IDE говорить на языке фреймворка Вы когда-нибудь задумывались, как много кода, который мы пишем, предназначено именно для решения поставленных задач? Казалось бы, странный вопрос: зачем писать код, который не нужен? Но давайте подумаем, ставят ли разработчику бизнес-задачу написать скрипты миграции? Или под...

PostgreSQL 16. Организация данных. Часть 1 PostgreSQL очень популярная СУБД.Её используют во многих проектах, как новички, так и профессионалы. Однако не все понимают, как именно работает данная система и какое у неё внутренне устройство.Давайте разберемся вместе на основе книги "PostgreSQL 16 изнутри" и официальной ...

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

Что не увидит SCA Всем привет!

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

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

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.В то же время мне показалась весьм...

Что выбрать опытному разработчику? Фриланс vs агентство Существует миф, что на фрилансе разработчику можно заработать больше, чем работая на агентство. Может быть, это бы и было так, если бы разработчики умели себя продавать. По статистике, если взять двух специалистов с абсолютно одинаковыми hard- и soft-скиллами, но один из них...

Простые шаги к эффективному code review Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает около 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов п...

Первый взгляд на Termit 2.0 — российскую систему терминального доступа Хабр, привет! Меня зовут Алексей Ватутин, я руководитель практики инфраструктуры рабочих мест в компании К2Тех. Мы с командой давно изучаем рынок корпоративного ПО, но с тех пор, как российские разработчики пустились догонять и обгонять зарубежных, мониторить новинки стало в...

Выгорание. Ответственность. Well-being Привет, Хабр! Меня зовут Даниэла, я руковожу направлением корпоративных льгот в Росбанке. В этом посте я расскажу, что такое выгорание, как оно проходит, как уберечь себя от выгорания, отслеживать его у сотрудников и, наконец, что мы для этого делаем в компании. Читать далее

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

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

Давайте поговорим о Kubernetes Всем привет! Меня зовут Андрей, я DevOps инженер.Когда я начинал изучать Kubernetes (K8s), я перечитал много статей, и, что в статьях, что в документации, информация была сильно разрознена, обрывочна. Сложно было скомпоновать информацию в единое целое. На тот момент, мне бы ...

Анализ зависимостей бинарных файлов на основе ML Всем привет!

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

[Перевод] Как устроено автоматическое удаление мёртвого кода в Meta* В фреймворке Systematic Code and Asset Removal Framework (SCARF) компании Meta* есть подсистема выявления и удаления мёртвого кода. SCARF использует статический и динамический анализ программ для выявления кода, мёртвого с точки зрения как бизнеса, так и языков программиро...

[Перевод] Что такое платформенная инженерия: как она связана с DevOps и SRE? Появление новых ролей и обязанностей в IT и разработке сильно повлияло на работу современных компаний. Одно из направлений, которое с каждым годом становится популярнее, — платформенная инженерия. В этой статье разберемся, что это такое, почему важность ПИ растет и какое отн...

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

Автоматизация или как я избегала общения с коллегами. Часть 1 Хочу написать небольшую серию постов о том, как я автоматизировала или ставила на конвейер какие‑то процессы, с разной степенью успешности, из личного и рабочего опыта. По функционалу это Python, SQL с привлечением Airflow, гитлаба и д...

Мой первый опыт с VyOS. Часть 1 Привет хабр!Меня зовут Берик, я работаю системным администратором в IT холдинге SAMGAU, где отвечаю за IT инфраструктуру. Хочу написать серию статей где поделюсь своим опытом по использованию VyOS. Читать далее

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

Учишь русский, учишь Java, едешь в Россию работать, или Как я «зашёл в ИТ» 10 лет назад Писатель Дмитрий Глуховский как-то предложил водителю автобуса из Саратова свой вариант карьерного плана в ИТ. Моя карьера сложилась почти по этому плану. Только я учил Java.Hola, Хабр. Меня зовут Джулио, я ведущий бэкенд-разработчик в IBS. Я родился и вырос в Перу, но уже н...

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

Как мы реализовали Low-code на микросервисах Привет Хабр!Меня зовут Алексей Пушкарёв, я – архитектор продуктовых решений компании ELMA. Наша команда разрабатывает одноименную Low-code платформу.  В этой статье я расскажу, почему мы выбрали микросервисную архитектуру для Low-code системы вместо классической монолит...

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

Опрос для оценки индекса лояльности сотрудников В этой статье мы рассмотрим важность проведения опросов для оценки индекса лояльности сотрудников и предложим практические рекомендации по их реализации. Индекс лояльности сотрудников (Employee Loyalty Index, ELI) является ключевым показателем, который помогает понять, наско...

Выгорание на работе: что это такое и по каким причинам происходит Привет, Хабр! Меня зовут Даниил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в Россельхозбанке. В прошлый раз я рассказал о работе в условиях the roof is on fire на испытательном сроке: проект и сроки горят, старший коллега в отпуске, а ты в к...

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

SwiftUI на iOS 14: преодолевая баги и улучшая перформанс в 3 раза Привет, меня зовут Никита, я iOS-разработчик в команде Яндекс Диска. В этой статье я расскажу про наш опыт разработки на SwiftUI с минимальным деплоймент таргетом iOS 14.В статье я собрал топ-6 багов, с которыми можно столкнуться, а еще поделился, что помогает улучшить перфо...

[Перевод] Как самоотверженные сотрудники Amazon спасали Рождество ...И еще несколько историй прямиком из моего шкафчика со старыми футболкамиНесколько дней назад я набрался смелости и прибрался в своем платяном шкафу. Я не умею наводить чистоту и в буквальном смысле ни разу в жизни не выбросил ни одной старой футболки, независимо от пятен ...

Медленное выполнение команды TRUNCATE: анализ проблемы блокировок спинлока в SQL Server Приветствую всех читателей Хабра! Меня зовут Михаил, я администратор DBA в компании «Автомакон». На данный момент работаю на проекте для «ВкусВилл».Решил затронуть одну из насущных проблем, связанную с работой SQL Server, а именно со спинлоками в нем. Да, даже такой зрелый и...

[Перевод] Cloudfare положил наш сайт после того, как мы отказались выплатить 120 000 $ в течение 24 часов Я работаю системным оператором в довольно крупном онлайн-казино (мне представляется, что материал статьи может быть полезен читателям вне зависимости от их позиции касательно этичности казино в целом – упоминаю об этом просто для контекста). У нас около четырех миллионов акт...

Выжимаем из Go максимум производительности Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?Меня зовут Никита Галушко. Я старший программист-разработчик в отдел...

От вуза до банка: почему я ушел работать из маленькой компании в большую Привет, Хабр! Меня зовут Михаил Синельников, я Team Lead DevSecOps в РСХБ‑Интех. Не так давно я рассказывал, по каким критериям выбираю сотрудников себе в команду. В этой истории, ввиду распространенности удаленки и того факта, что сам я сотрудн...

Простой способ обработки качественных исследований Данная статья может оказаться полезной начинающим менеджерам, аналитикам и дизайнерам. В ней рассказано о подходе, который поможет структурировать и упорядочить информацию, полученную из различных источников, таких как “one to one” встречи, глубинные интервью и другие подобн...

Автоматизация бизнес-процессов в Heflo: от А до Я Привет, Хабр! Меня зовут Анастасия Андреева, работаю процессным аналитиком направления Business Process Management в компании GlowByte. Не так давно мой коллега рассказывал о Heflo – универсальной системе бизнес-моделирования. В рамках деятельности Heflo Club мы в GlowByte с...

Из врача в тестировщики: как прийти в ИТ после 20 лет на скорой Всем привет! Меня зовут Юрий Маркин. Мне 46 лет. Совсем недавно я начал работать тестировщиком в компании IBS. Вся моя предыдущая профессиональная жизнь была связана с медициной. Но даже после 20 лет работы в одной сфере можно кардинально сменить направление деятельности.&nb...

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

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

[Перевод] Увлекательный лексический анализ языка Rust Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока л...

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

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

Атака Kerberoasting без пароля пользователя — миф, или новая реальность? Всем привет!Меня зовут Алексей, я работаю в компании «Визум», и занимаюсь тестированием на проникновение, направления классические – инфраструктура и веб. Данную статью меня сподвиг написать мой друг и коллега – Михаил Л., совместно с которым мы и провели данный небольшой ре...

Основы TypeScript Привет, Хаброжители! TypeScript — популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript. «...

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

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

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

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

Интерактивные и документированные диаграммы для сложных систем Мой первый on-call выдался нелегким. Недели тренингов и обучения не подготовили меня к тому что придется бегать по Slack каналам различных команд и искать того, кто может что либо знать о какой-то из частей системы. Оказалось что многие страницы в корпоративной Wiki уже не о...

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

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

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

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

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

Pet-проекты — это зло. Вредные советы для фронтендеров Привет, Хабр! Меня зовут Александр Водолазских. Я руковожу направлением разработки интерфейсов в СберМаркете и после работы люблю посидеть за кодом, разрабатывая собственные пет проекты. Чего я только не кодил по вечерам: писал смарт контракты на Solidity, копался с раз...

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

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

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

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

Пишу форму без использования хуков Мой путь от концепции к реальности: реализация, которая даёт нечто большее, чем однократное решение. Читать далее

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

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

Культура и внутриком: с чего начать? Культура напоминает воздух — он везде, но невидим, и сложно сходу понять, как им управлять (не будем считать управлением хаотичные размахивания руками в попытках поднять ветер). При всём этом вы сразу ч у в с т в у е т е, есл...

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

Как мы создали приложение знакомств, чтобы находить «половинку» в 8 раз быстрее Всем привет! Меня зовут Константин, и я основатель Radaro.В статье я расскажу, что не так с популярными приложениями знакомств, и как наша команда сделала сервис знакомств без свайпов и переписок, который бережет время и работает на результат. Читать далее

Продюсеры и консьюмеры с Apache Kafka в Python Салют, Хабр!Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную...

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

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

Гайд по ICLR 2024: тренды и лучшие доклады Привет! Меня зовут Света Маргасова, и я руковожу бригадой моделей с внешней информацией в Яндексе. В этом году в большой компании коллег впервые побывала на конференции ICLR (Learning Representations (ICLR) — обучение представлений), которая проходила в Вене. Масштаб и форма...

[Перевод] Как я создал еще один JS фреймворк Многие могут усмехнуться при мысли о запуске очередного фреймворка JavaScript, учитывая множество уже существующих проверенных решений. Зачем браться за создание нового? Давайте я расскажу свою личную историю о том, что подтолкнуло меня к разработке этого фреймворка JavaScri...

Компиляция на этапе выполнения в C++: constexpr, consteval и constinit Сегодня мы поговорим о том, как constexpr, consteval, и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме.constexpr делает воз...

Релиз без ошибок. Невозможное возможно? Привет! Меня зовут Сергей, я технический эксперт в компании Bercut. Когда-то увлекался Delphi и J2ME, издал несколько книг на эти темы, а сейчас создаю высоконагруженные приложения для баз данных.Первой СУБД, с которой я познакомился — случилось это в далеком 2002 году, ...

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

Реализация многооконного приложения на Vue 3 В наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB-приложения для управления промы...

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

Нодовая архитектура на Unity Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContain...

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

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

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

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

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

Анализ и оценка перспективы использования LSMW для автоматизации подготовки тестовых данных в SAP Привет, Хабр! Меня зовут Василь Хамидуллин, я работаю в ЦК тестирования решений на платформе SAP в компании РСХБ-Интех. В прошлый раз я делился опытом тестирования бизнес процессов, внедряемых модулей SAP, в банке. Сегодня расскажу вам про LSMW, и как данный инструмент ...

Анализ зависимостей бинарных файлов на основе ML. Заключительная часть В прошлой статье мы разобрали идею нашего компонентного анализатора и поделились результатами некоторых экспериментов, проведенных в лабораторных условиях. Результаты, полученные на маленькой части датасета в размере 3000 библиотек, вышли довольно оптимистичными. В этой стат...

eSIM и протоколы спецификации GSMA SGP.02: кейс МТС Привет, Хабр! Меня зовут Алексей Степанов, я работаю аналитиком в проектах IoT Connected Car и eSIM M2M в «МТС Диджитал».Среди наших клиентов — совершенно разные компании. Производители умных счётчиков для воды, терминалов для эквайринга, и даже автомобилей.В этом посте расс...

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

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

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

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

Какие ML-платформы нужны бизнесу, и кто их может сделать Привет, Хабр! Меня зовут Виктор Кантор, я директор Big Data МТС. Около 14 лет я работаю с технологиями, связанными с Machine Learning, Big Data, Data Science. Но есть одна проблема, с которой я постоянно сталкиваюсь. Например, поставлена задача, которую нужно решить при помо...

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

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

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

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

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

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

MovableType — отрывки из разработки плагинов MovableType — не сильно популярная в нашей стране, однако весьма стоящая на посмотреть система ведения блогов. Из коробки поддерживает множество блогов, с 5й версии — еще и управление полноценное сайтом. Работает на perl, путем генерации множества статических html файлов, за...

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

Нефть глазами аналитика данных Любите ли вы работать с данными, как люблю это делать я? Страдаете ли вы также от несовершенства инструментов для анализа данных? И вот, буквально в первых строках, я понимаю, что мне надо быть очень аккуратным, дабы не задеть чувства, к примеру, фанатов Excel или Notepad+...

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

На какие AI Coding Assistants стоит обратить внимание в 2024? Не является секретом, что LLM в настоящее время являются неотъемлемой частью нашего рабочего процесса. Особое внимание заслуживает AI Coding Assistant — искусственный интеллект, или просто программный помощник, который поддерживает разработчиков, помогая писать более качеств...

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

Как я устроился в Амазон и перестал переживать за свой английский Готовитесь к собеседованию за рубежом и переживаете за свой английский? Хотели бы работать в международной компании, но сомневаетесь, хватит ли языка? Не уверены, поймут ли ваш акцент? Тогда эта статья может помочь.Меня зовут Андрей Столбовский, последние 5 лет я работал в Я...

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

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

Вы никогда не сократите Тime Тo Мarket, если будете тестировать все фичи на одном сервере Привет, это Максим Павлов из KTS. Мы создаём IT-продукты для бизнеса.Все твердят про важность Time To Market — времени от появлении идеи фичи до её релиза для пользователей. При этом почему-то тестируют все фичи на одном сервере. В статье рассказываю, как ускорить Time To Ma...

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

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

Памятка: 15 фраз для стендапов на английском языке Работая с зарубежными коллегами, вам наверняка придётся участвовать в стендапах — коротких ежедневных встречах, на которых IT-специалисты рассказывают о выполненных задачах, проблемах и планах на сегодня. Делать это на английском сложнее, чем на родном языке, но, к счастью, ...

Разбираемся в автотестах gRPC без боли и седых волос Всем привет! Меня зовут Катя Муличева, я тестировщица в СИБУР Диджитал. Последние два года я пишу автотесты для gRPC на Kotlin. Получив опыт, я захотела написать статью, которая очень пригодилась бы мне самой, когда я только начинала разбираться с gRPC. Надеюсь, вы найдете е...

Майами глазами айтишника После того, как я написал свое мнение о жизни в Сан-Франциско, многие стали присылать мне вопросы о других городах. "Наверняка", - сообщает один из читателей, - "где-то есть рай. А как насчет Майами? Я играл в GTA Vice City, и там все выглядело весьма неплохо".Если хотите уз...

Используй Силу, Люк: Single Pane of Glass в Мире SRE Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. В...

Готов ли Swift OpenAPI Generator для продуктивного кода? Привет! Меня зовут Андрей, я iOS-разработчик приложения «Пункт Ozon». С помощью него сотрудники пунктов выдачи Ozon выдают посылки, принимают возвраты, проводят инвентаризации. Мы хотим упростить работу с OpenAPI-спецификациями, внедрив кодогенерацию для автоматического...

[Перевод] Почему Facebook* не использует Git Я работаю над созданием Graphite, источником вдохновения для которого стал внутренний инструментарий Facebook. Когда я решил создать стартап с друзьями, то никогда раньше не слышал о Mercurial, хотя всегда страстно любил инструменты разработчика. Мой предыдущий опыт разработ...

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

Почему светофор важнее Шекспира? Про примечания в технических текстах У химиков есть известная байка, которую они любят рассказывать молодому поколению. Главный герой этой истории — студент, который пошагово воспроизводил методику одного химического эксперимента из учебника. Он старательно выполнил очередной шаг «добавьте азотную кислоту» и......

Почему светофор важнее Шекспира? Про примечания в технических текстах У химиков есть известная байка, которую они любят рассказывать молодому поколению. Главный герой этой истории — студент, который пошагово воспроизводил методику одного химического эксперимента из учебника. Он старательно выполнил очередной шаг «добавьте азотную кислоту» и......

Работа с A/B-тестами в крупной соцсети: подробно об A/B платформе Одноклассников ОК — социальная сеть, которой ежемесячно пользуется более 36,5 млн уникальных пользователей из России. Наш продукт имеет сложную архитектуру, включает десятки сервисов и инструментов, которые мы постоянно совершенствуем и добавляем новые. Чтобы в процессе выкатки обновлений ...

Максимизируем продуктивность: Создание ИИ-секретаря с Whisper и ChatGPT Приветствую! Меня зовут Григорий, и я главный по спецпроектам в команде AllSee. В современном мире искусственный интеллект стал незаменимым помощником в различных сферах нашей жизни. Однако, я верю, что всегда нужно стремиться к большему, автома...

Нетипичные сценарии использования BI-системы (Apache Superset) Всем привет!Сегодня поговорим о немного нетипичной для меня теме, а именно - Apache Superset. Обычно я пишу длинные "философские" статьи "на свободную тему", но в этот раз - это будет туториал. Так что кому-то может показаться банальностью, но, опять таки, вдруг кому поможет...

Как deep learning помогает в разработке персонализированной терапии рака? Специалистам в области технологий и медицинских инноваций посвящается новое слово в борьбе с раком – применение глубокого обучения, использованное исследовательской командой университета Джона Хопкинса для индивидуального анализа генетических данных пациентов. В мире, где он...

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

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

Четвёртое наблюдение о командной строке и путях в файловой системе В недавно опубликованной статье «Три наблюдения о командной строке и путях в файловой системе» были рассмотрены некоторые особенности интерпретации командной строки оболочками в операционных системах Windows и Linux. Первое наблюдение было о том, что командные оболочки SH/BA...

Как я стал iOS разработчиком О чем пойдет речь В данной статье я хочу рассказать вам как я стал iOS разработчиком в 32 года не имея профильного образования, не оканчивая курсы, без знания английского языка и без друзей/знакомых в сфере IT.Понеслась.Первые мысли об...

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

Комбинаторы синтаксического анализа на Kotlin Существуют разные способы реализации синтаксических анализаторов для заданной грамматики. В статье рассматривается реализация комбинаторов синтаксического анализа на языке Kotlin для разбора контекстно-свободных и контекстно-зависимых языков. Читать далее

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

Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье.Я бы хотел с в...

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

Фабрика для std::variant: как объединить compile-time и run-time, чтобы получить выигрыш от обоих Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии пользовательского приложения для совместной работы сотрудников с любого устройства VK Teams.  Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные пат...

Xpath — залог стабильных UI-автотестов на Web и Mobile Web Локатор — обязательный элемент любого автотеста, который позволяет системе находить правильный путь к тестируемому компоненту интерфейса. От точности локатора и корректности его оформления зависит не только, смогут ли разобраться с локатором тестировщики и другие коллеги, но...

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

Миграция витрины данных с СУБД Teradata в СУБД Greenplum Миграция СУБД с одной технологии на другую — сложный процесс, который связан не только с конвертацией кода и переливкой данных из одной системы в другую, хотя и здесь есть неочевидные нюансы. Это часто и вопросы, связанные с совместимостью функциональности, производительност...

Перенести проверенную схему бэкапа больших данных из S3 в Yandex Cloud: опыт Битрикс24 Меня зовут Александр, я руковожу направлением больших данных в Битрикс24. Клиенты нашего сервиса хранят миллиарды файлов: от документов до фотографий, — а моя команда предоставляет возможность строить бизнес-аналитику на основе этого множества данных. И нам важно позаботитьс...

Перспективы промышленного производства фуллеренов и нанотрубок В июне 2021 года я затрагивал в этом блоге тему наступающего углеродного века – публиковал статьи «Очень крепкие мячики. Фуллереновый конструктор и другие заметки на заре углеродного века» и «Космический лифт. Как, зачем, из чего». Под статьёй о космическом лифте развернулас...

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

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

Стресс на работе: каким он бывает и как с ним справляться По данным опроса SuperJob, лишь 6% россиян не испытывают стресса на работе, 22% считают уровень стресса высоким, а 18% — очень высоким. Меня зовут Татьяна Белова, я автор медиа вАЙТИ и в этой статье мы разберемся, что такое стресс, для чего он нужен....

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

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

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

Я написал бесплатную книгу для профессионалов в области AI (и не только) Привет, Хабр! Меня зовут Никита Горячев, работаю в позиции AI/ML Engineer в Сбере. В мой скоуп входит работа с SOTA (state-of-the-art) алгоритмами в областях NLP и RecSys. Книга написана в форме Guide Book с теоретическими и практическими заданиями. Ниже написал анонс в виде...

Изометрическое Черчение в Inkscape Во время инженерной работы постоянно приходится проектировать заказные детали. Очевидно, что нужен какой-то векторный редактор для быстрого и простого создания статической графики. Редакторы 3D черчения как правило платные. При этом есть бесплатные программы для 2D черчения....

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

RFM-анализ RFM-анализ — это анализ клиентской базы на основе истории покупок, проще говоря, сегментация по частоте, давности и сумме трат.В рамках анализа мы будем основываться на том, как клиент покупает наш продукт: он потихонечку начал «отваливаться» или, наоборот, покупает часто, м...

97 откликов, 2 тестовых, 3 технических собеседования — и оффер в IT-компанию у меня в кармане Привет, я Настя — младший разработчик в «Метре квадратном». Это статья о том, как я пришла в разработку практически с нуля в 2023 году. Знаю, на «Хабре» таких уже много, но когда-то подобная статья помогла мне начать свой путь, и я решила, что этот текст тоже может быть поле...

Playground. Как сэкономить время на настройке локальной среды Привет, Хабр! Меня зовут Никита, и я Go-разработчик. В свободное от работы время я интересуюсь платформенной разработкой, а в рабочее — практикую в команде PaaS в СберМаркете. Моя специализация — локальное окружение разработчика и тулинг. Главная метрика, на которую работает...

Вентилятор Thermalright TL-C14X: типоразмер 140 мм, дополнительный крепеж в комплекте Вентилятор Thermalright TL-C14X очень хорошо работает при низком статическом давлении, то есть шумит меньше, а прокачивает воздуха больше, чем все из протестированных к данному моменту вентиляторов. Его оптимально ставить, например, в качестве корпусного, если не требуется п...

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

Почта без хлопот: автоматизация отправки писем с помощью Python Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней. В этой статье расскажу, как автоматизировать...

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

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

Сначала войдите через Телеграм Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится. Читать далее

Радикальная защита селфхостинга. Уровень: хардвар и хардкор Сейчас у многих есть свой личный сервер. Насколько вы задумывались о безопасности? Настроили вход по ssh-ключам, firewall и на этом всё? Давайте поговорим про РЕАЛЬНУЮ безопасность.Эта статья о том, как запариться, распилить свой ноутбук болгаркой, вставить туда микроконтрол...

[Перевод] Оффлайновое использование Git Некоторые компании, защищая свои системы от несанкционированного доступа, используют изолированные компьютерные сети, или полностью обходятся без сетей. Работа в таких системах может быть сопряжена со сложностями, но нельзя сказать, что в&n...

Мне плевать на твой браузер, я все равно открою ссылку в Edge! Боремся с новыми методами продвижения браузера MS Начиналось все прозаично - я приобрел новую версию Microsoft Office и решил ее переустановить с полным удалением и зачисткой всех "хвостов". Операционную систему использую Microsoft Windows 11 Pro. Установка прошла "без сучка и задоринки". Проверил что работает корпоративный...

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

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

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

Анализ данных КХЛ. Часть 1 — про теорию шести рукопожатий Привет, Хабр! Эта статья посвящена исследованию о том, насколько тесен мир хоккея.Меня зовут Рашит Гафаров, я начинающий дата-инженер и выпускник Яндекс Практикума. Мы с наставницей Юлией Муртазиной и ещё пятью студентами проанализировали с помощью Pytnon связи между хоккеис...

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

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

[Перевод] Многоуровневое логирование: Руководство по структурированному и последовательному ведению логов В прошлом месяце мне представилась возможность выступить на AmsterdamPHP с докладом на тему уровней логирования. Полученные положительные отзывы вдохновили меня на то, чтобы поделиться этой информацией для более широкой аудитории, поэтому я решил написать эту статью. Читать ...

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

Как быстро получать данные из ОС Аврора через интерфейс D-Bus во Flutter-приложении Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб‑канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье я расскажу, как с помощью ин...

Цифровой паспорт оборудования промышленного производства Привет, привет! Представлюсь: меня зовут Тамара, и я являюсь ведущим инженером по нормативно-справочной информации в компании Bimeister.Начну с того, что это лишь малая часть той большой истории, которую я хочу вам рассказать.Будет много вопросов типа «Что это?», «Для чего н...

Как с помощью YouTube продать умных столов на 25 млн за 1 год без вложений в рекламу Меня зовут Матасов Иван, я сооснователь бренда Mensa Design. Мы изготавливаем лучшие в мире индивидуальные проекты умных столов и кабинетов на заказ. Дорого. Качественно. Под ключ.В этой статье расскажу основные принципы создания видео, которые набирают миллионы просмотров (...

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

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

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

Как устроены видеоконференции Привет, Хабр! На связи Женя Фирстов, лид команды разработки бэкенда видеозвонков в Т-Банке. Расскажу про устройство современных систем видеоконференцсвязи. Я затрону широкий спектр тем, но не буду углубляться в детали, чтобы статья была понятна для тех, кто ранее не работал ...

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

О Важном в управлении проектами Всем привет! Меня зовут Андрей Софронов и я тимлид продукта “ЭДО и S2P”. Хочу поделиться с тобой своим опытом и наблюдениями о том, что важно в управлении проектами, как можно посмотреть на проект и свою деятельность в целом, что следует учесть, что помнить и о чем позаботит...

Стартап виза в Испанию — гайд по личному опыту получения стартап ВНЖ Привет! Я получил стартап-визу в уже далеком 2021 году. С тех пор каждый день мои друзья и знакомые, и незнакомые пишут и спрашивают меня про мой опыт получения стартап-визы Испании. Решил, что пришло время выложить все на бумагу, т.е. написать статью на хабре.За 2.5 года мн...

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

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

Как измерить то, чего не видно: метрики SOC Привет! Меня зовут Маша, и я являюсь руководителем  первой линии Security Operation Center в Ozon.Наша первая линия постоянно выращивает стажёров и растёт. О стажёрах можно прочитать в статье моего руководителя. Но помимо стажёров, растёт и число обязанностей первой лин...

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

FUSE: как написать свою файловую систему Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реал...

Совместимость серверов «Тринити» с платформами виртуализации: «РУСТЭК» Привет! Меня зовут Эрик Игнатов, я — ведущий инженер «Тринити».  С недавнего времени у нас в R&D-отделе появился план по тестированию достижений народного промысла русских инженеров. В него входит в том числе порядка 12 отечественных решений для серверной виртуализа...

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

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

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

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

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

О важности гайдлайнов в дизайне иконок Всем привет! Я Алёна Лагойкина, дизайнер в AGIMA. Хочу рассказать вам о роли иконок в улучшении пользовательского опыта. Они служат визуальными подсказками, которые быстро передают информацию и направляют пользователей к ключевым действиям. При добавлении новых элементов на ...

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

Объектно-ориентированный подход к написани REST-клиентов, или возможна ли жизнь без Open API Как-то в общении с моим другом-разработчиком из одной крупной софтверной компании у нас зашёл разговор о взаимодействии распределённых команд. В его компании было множество достаточно изолированных команд, каждая из которых разрабатывала свой сервис. В ответ на мой вопрос, к...

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

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

2d движок для игр Javascript Game Engine (JsGE) Привет всем. Меня зовут Артурас, я пишу на Javascript. Полтора года назад я уволился из оффшорной компании и решил написать свой движок для браузерных 2d игр. Сегодня - делюсь результатами. Читать далее

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

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

Почему Россия (и многие СНГ) – одна из стран, где уровень владения английским повально низок? Только 3.5% россиян знают английский. Пакистан 50%, Германия 56%, Египт 40% — почему? Генетика, лень, система образования, не с кем практиковать... Много причин и очень много вопросов к каждой. У меня есть собственная гипотеза, основанная на личном опыте. Читать далее

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

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

Кадровое агентство в IT: способ найти место потеплее, о котором мы с вами забыли Всем привет!Меня зовут Мария, и я ИТ-рекрутер *здесь должны быть тяжкие вздохи айтишников*Свою профессиональную деятельность я начинала именно с кадрового агентства. Я работала с такими компаниями как Avito, Ozon, Yandex, X5 Group, Тинькофф, etc. Так что мне определенно есть...

Фоновые асинхронные задачи в FastAPI и их мониторинг Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.В туториалах для фоновых задач в FastAPI обычно предлагают celery и при этом используют синхронный код. Но сегод...

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

Жизнь на колёсах. Велосипед как способ проветрить голову Привет! Меня зовут Артём, я старший программист в SM Lab. А ещё я люблю велосипеды. Так как работа программистов чаще всего так или иначе сидячая (ну, кроме тех ребят, кто осилил освоить стол для стоячей работы и прочие плюшки), то нам приходится придумывать, как бы добавить...

Конверсия 1 собеседование на 500 откликов на западном рынке. Как так вышло и чем грозит? Привет, меня зовут Артур, и это моя вторая публикация на Хабре. Я долго не решался опубликовать эту статью, переписывал её несколько раз и всё-таки в приятный пятничный вечер решил вынести эту тему на всеобщее обсуждение. Мне кажется, тема очень важной и актуальной. Несмотря...

ML-алгоритмы против хакеров: как поведенческая аналитика меняет правила игры в кибербезопасности Здравствуйте, друзья! Меня зовут Алексей Потапов, и я представляю экспертный центр безопасности Positive Technologies. Ранее мы уже знакомили вас с ключевыми элементами нашего подхода к обнаружению атак на примере технологий в SIEM: механизме построения цепочек запускаемых п...

Мой опыт смены ЯП с PHP на Golang Я разработчик и уже много лет в данной профессии. Как таковой я fullstack, но с уклоном в backend. Для меня в кайф возиться с SQL запросом, нежели верстать. Читать далее

Jenkins: оптимизируя динамический пайплайн → распределённая сборка компонентов ОС В процессе улучшения подходов к менеджменту зависимостей компонентов нашей Операционной Системы появилась необходимость перейти от монолитной статической сборочной системы на основе CI/CD инструментов к динамическому распределённому подходу с порождением сотен и тысяч автон...

Это база: нюансы работы с Redis. Часть 1 Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на т...

7 примеров ИИ, которых не хватает прямо сейчас Писать статьи для блога вместо авторов? Генерировать картинки на сайт вместо веб-дизайнеров? Дописывать код за стажерами, которые активно вкатываются в IT после трех месяцев обучения на каких-нибудь курсах? Этим уже никого не удивить.Но ведь у нейросетей есть и более интерес...

Команда исследователей Google рассказала о новой нейросети VLOGGER Метод позволяет генерировать анимацию говорящего человека по одной статической фотографии.

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

Начал бегать с марта 2023 (60 пробежек). Продолжил с марта 2024 (15 пробежек) Анализируем, визуализируем данные, ЧСС=119 Нередко попадаются видео и статьи с примерным смыслом, что начал бегать в 45+ лет, через месяц уже бегал по 10 км, через год уже марафон и похудел со 120 до 70 кг. Но это не мой случай. Начинал с 300 метров (>>моя статья как это было), прогресс шел очень тяжело, тренир...

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

Как я создавал мобильное приложение для хранения прочитанных книг BookDesk Всем привет! Меня зовут Александр, мне 33 года и я React-разработчик (10 лет опыта во фронтенде), я из Беларуси.Я хочу рассказать о моем опыте создания мобильного приложения для хранениях прочитанных книг BookDesk.Все началось еще в 2020 году, когда началась пандемия коронав...

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

Сам себе экосистема: итоги. Как работают мои самопальные клиенты ВК, YouTube, Telegram на смартфонах 13-летней давности Рубрика «сам себе экосистема» уже успела стать постоянной в моем блоге. Для тех, кто читает меня в первый раз, расскажу: одним из основных направлений блога всегда был моддинг и попытка использования устройств прошлых лет в современных реалиях. Именно поэтому я пишу клиент...

Статический и динамический полиморфизм в C++ Привет, Хабр! К сегодняшнему дню написано уже немало учебников и статей по полиморфизму в целом и его воплощения в C++ в частности. Однако, к моему удивлению, при описании полиморфизма никто (или почти никто) не затрагивает тот факт, что помимо динамического полиморфизма в C...

InfiniBand в Windows — это просто К написанию этой небольшой инструкции меня привела статья на Хабре - Быстрая сеть в домашней лаборатории или как я связался с InfiniBand . Я был очень заинтригован данным вопросом, но каково было моё удивление, когда я не мог найти почти никакой информации по InfiniBand на W...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

Облачная трансформация ИТ инфраструктуры современной компании. Практический опыт Х5 Group Привет, меня зовут Максим Осорин, я руковожу Х5 Облаком в Х5 Group. Хочу рассказать про то, как мы трансформируем ИТ инфраструктуру крупнейшего в стране продуктового ритейлера. Зачем это нужно, как мы это делаем, с какими сложностями сталкиваемся и как их преодолеваем.Данная...

Почему американские корпорации загоняют людей в офис. Личный опыт В последние полгода появилась четкая тенденция: крупные корпорации загоняют сотрудников обратно в офис. Они обязуют 60% рабочего времени проводить в офисе, что примерно равно трем дням в неделю.Приводятся разные доводы: кто-то говорит, что в офисе лучше строится до...

Топ 20 стран для комфортной жизни с зарплатой 500/1000/1500 долларов Я релоцировался из России пару лет назад, как полагаю и многие читатели Хабра. В последнее время решил поменять страну проживания и обнаружил, что сложно найти систематизированную информацию по странам, чтобы принять решение куда лучше направиться.В связи с чем я провел анал...

Как мы упростили процесс интерактивной визуализации данных в веб-приложении, используя HoloViews Идея этой статьи родилась, когда наша команда занималась разработкой минимально жизнеспособного продукта (MVP) внутренней веб-системы, важной составляющей которой было визуальное представление данных, а именно результатов работы различных анализаторов исходного кода программ...

Постфиксный калькулятор на Haskell Можно ли внедрить в Haskell постфиксный калькулятор?begin push 1 push 2 add endbegin push 1 push 2 push 3 add mul endНа первый взгляд такой код на Haskell не может работать. Функция begin должна иметь произвольное количество аргументов, а Haskell является языком со статическ...

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

Как мы реализовали кнопку со свайпом на Jetpack Compose Привет, Хабр! Меня зовут Женя Мельцайкин, я работаю в команде мобильной разработки Контура.Мы разрабатываем экосистему для бизнеса, которая оптимизирует рутинные задачи: работу с маркировкой, проверку контрагентов, товароучет, документооборот, отчетность. И в одном из продук...

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

[recovery mode] Где учить Frontend бесплатно в 2024 году В 2024 году изучать frontend по-прежнему актуально. Вот несколько причин, почему это может быть полезным:1. Развитие технологий: Веб-технологии постоянно развиваются, и в 2024 году можно ожидать еще большего прогресса. Изучения frontend поможет быть в курсе последних те...

Хотите присоединить Windows к домену ALD Pro (FreeIPA)? Спросите меня как Конечная цель проектов импортозамещения в ИТ — полный отказ от операционной системы Windows. Но, как говорится, гладко было на бумаге, да забыли про овраги. Может так оказаться, что быстро заменить какие-то клиентские корпоративные приложения, написанные под эту операционну...

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

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

Пишем минимальный ActivityPub-сервер с нуля В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon. Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется Activity...

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

В «Почте Mail.ru» тестируют сервис для организации покупок Компания VK (бывшая Mail.ru Group) объявила о запуске обновления для своего фирменного почтового сервиса. Теперь пользователи «Почты Mail.ru» смогут получить доступ к бета-версии сервиса для организации покупок.  Иллюстрация: VK Сервис позволяет систем...

Интеграция SonarQube в Kubernetes В современном мире разработка программного обеспечения стала неотъемлемой частью бизнес-процессов, требующей не только высокой производительности, но и надежной защиты от угроз безопасности. В этом контексте DevSecOps выступает как ключевая парадигма, интегрируя принципы без...

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

Адаптация сотрудников в IT: пристегните ремни, к взлету готовы Одна из основных причин аэрофобии — первый неудачный опыт полета на самолете. Даже самая популярная авиакомпания может потерять лояльность пассажира после первого же промаха. Так обстоит дело и с адаптацией сотрудников: долгие поиски прохода к офису, неподготовленное рабочее...

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

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

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

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

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

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

Тестируем отечественную систему виртуализации: VMmanager Привет, Хабр!В первой статье моего цикла я предложил читателям выбрать системы виртуализации, которые должны стать «подопытными кроликами» в моем исследовании. Одним из лидеров народного голосования стала российская платформа VMmanager. Пришло время посмотреть, что из себя п...

Как мы создавали дизайн-систему: опыт компании Звук Привет, Хабр! Меня зовут Мария Бажина, я Android Developer в компании Звук. Вот уже полтора года я работаю над дизайн-системой, поэтому знаю здесь каждую мелочь. И в этой статье я хочу рассказать, зачем нам нужна дизайн-система и в каком виде она существует в нашем прое...

Как построить бастион-хост и превратить его в неприступную крепость Привет, меня зовут Сергей Истомин, я DevOps-инженер в KTS. Осталось ли бастион-хостам место в мире, в котором инфраструктуру можно защитить оверлейными сетями, нативными прокси и VPN? Задавшись этим вопросом, мы провели анализ материалов некоторых авторов (ссылки на мат...

Мощь AST в действии, или как переписать код 10 летней давности на ES6-модули и ничего не сломать Всем привет! Меня зовут Кирилл и я работаю фронтенд-разработчиком. Я расскажу о том, как мы перевели несколько тысяч файлов, написанных на JavaScript, с легаси кода, который использовал goog.module, на новые ES6-модули с помощью построения и преобразования абстрактного синта...

«Follow the sun» как принцип поддержки Меня зовут Максим Журавлев, я управляющий директор ДИТ «Занять и Сберегать», лидер сообщества инженеров сопровождения Сбера. В этой статье я хочу рассказать про надёжность высоконагруженных ИТ-систем и принципы, которым мы следуем.Гаджеты, мобильные приложения и различные ци...

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

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

GraphQL и микросервисная архитектура: объединяем сервисы в федерацию Меня зовут Владислав Гончаров, я разработчик в команде Platform V DataSpace СберТеха. Расскажу, как мы решаем вопрос с объединением сервисов в GraphQL и микросервисной архитектуре, которая позволяет разбить любое большое приложение на маленькие сервисы. С одной стороны, их п...

Как рисовать Sequence без боли и страданий в PlantUML Привет! Меня зовут Настя, я старший системный аналитик в X5 Tech. Я рисую sequence-диаграммы каждый день на протяжении четырёх лет. За это время я прошла все круги ада по Данте, то есть попробовала разные инструменты для рисования этих самых диаграмм. Пока не встретила его –...

Как начать карьеру в пентесте: опыт сотрудника Angara Security Мы продолжаем цикл материалов о старте карьеры в кибербезопасности. Этот материал подготовил сотрудник отдела анализа защищенности Angara Security, по просьбе автора, мы не будем раскрывать его имя. Если после прочтения статьи будут вопросы, welcome в комментарии или в личны...

Хроники пикирующего бота или как важно не пропускать стадию QA в проектах Эта статья должна была рассказать вам о проекте простого телеграм-бота, который заточен на одно простое действие: мониторинг доступности сайтов. Но, опубликовав MVP и представив проект на публику, мы заранее не провели полный объем необходимых тестов, в самый ответственный м...

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

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

Два сапога — пара, а три — уже community: как алгоритмы на графах помогают собирать группы товаров Привет, Хабр! Меня зовут Иван Антипов, я занимаюсь ML в команде матчинга Ozon. Наша команда разрабатывает алгоритмы поиска одинаковых товаров на сайте. Это позволяет покупателям находить более выгодные предложения, экономя время и деньги.В этой статье мы обсудим кластеризаци...

Siemens LOGO, Home assistant, или моё видение умного дома Привет! Меня зовут Максим, и работаю я DevOps инженером. Год назад я купил квартиру в новостройке, а это значит что я волен полностью все сделать под себя. Профессия обязывает всё автоматизировать, и мне это очень нравится, поэтому я не упустил возможность отыграться даже ту...

Как я перешёл на тёмную сторону: путь из Андроида в бэкенд Привет, Хабр! Меня зовут Андрей. 7 лет я разрабатываю под Android. Год назад я писал код для мобильного приложения банка и особо не задумывался о переходе на другие задачи. В один прекрасный день мне прилетела таска — добавить параметр в диплинк на Андроиде. Потом меня попро...

Пишу на псевдокоде, работает в PHP Я могу писать программы на псевдокоде и превращать их в PHP-код. Или в переносимый Си. Или ещё во что-нибудь. Список будет пополняться. Часть проекта, которая «превращать в PHP», готова не полностью. Но я пишу статью уже сейчас, чтобы: узнать, кому ещё интересен проект; с...

Платформа инвестиционного бизнеса. Как устроена IPS в РСХБ Привет, Хабр! Меня зовут Денис Антонов, я работаю SRE‑инженером и менеджером системы на платформе IPS (Investment Platform Solutions) в Блоке ИТ‑развития Инвестиционного бизнеса РСХБ‑Интех (дочерняя технологическая компания Россельхозбанка). Совместно с коллег...

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

Деплой Flutter-приложений и особенности платформ Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с ...

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

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

Как начать работать с IPv6 там, где его нет (часть 3) В предыдущих частях цикла статей (часть 1, часть 2) мы настроили подключение к IPv6-брокеру на VDS под управлением операционной системы CHR от Mikrotik. Подготовили туннелирование до устройств сети, которые как умеют, так и нет работать с VPN, используя PPTP, SSTP и статич...

Какой плащ был у Понтия Пилата? Отвечает GigaChat Всем привет! На связи лид разработки SDK GigaChat’a — Константин Крестников. В этой статье я расскажу о том, что такое GigaChain и как в целом SDK позволяет упростить жизнь разработчика LLM, например, научить LLM давать ответы на вопросы по вашим документам или работать в ре...

Интеграция LLM в корпоративное хранилище данных В данной статье рассматриваются способы интеграции Large Language Models (LLM) в корпоративные системы хранения данных. Основное внимание уделено использованию LLM для автоматического извлечения информации из текстовых данных с последующим формированием SQL-запросов. В рамка...

Сервер Юк. Заставляем Yandex Cloud Functions работать на F# В этой статье я расскажу, как засунуть F# в Yandex Cloud Functions. Навыка работы с Serverless у меня нет, так что это будет не компиляция моего опыта, а отчет о вполне успешном эксперименте.Судя по всему, разработчики Yandex Cloud Functions считают, что dotnet = C#. Поэтому...

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

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

Анализ безопасности приложений, использующих GraphQL API Привет! Меня зовут Даниил Савин. Летом я участвовал в программе стажировки для безопасников от Бастион и в процессе глубоко исследовал тему безопасности приложений, использующих GraphQL. Так появилась статья, из которой вы узнаете:— какие встроенные функции есть у GraphQL;—...

Японский стартап разработал ракету, двигатель которой работает на коровьем навозе В Японии провели серию «статических испытаний на огнестойкость» для ракеты-носителя Zero, ракетный двигатель работал на биометане, произведенного из коровьего навоза.

Японский стартап разработал ракету, двигатель которой работает на коровьем навозе В Японии провели серию «статических испытаний на огнестойкость» для ракеты-носителя Zero, ракетный двигатель работал на биометане, произведенного из коровьего навоза.

Мониторинг и точка, или логотип ИТ-компании Привет, Хабр! Это снова я, Николай, сооснователь компании Монк Диджитал Лаб, российского разработчика системы мониторинга Монк. Но о мониторинге сегодня в статье практически ничего не будет. Эту статью я пишу про самый популярный вопрос на любом нашем ивенте “А вы не замечал...

Эффективные Практики Подготовки к Code Review В этой статье мы исследуем эффективные практики для разработчика, отправляющего свой код на ревью. Эти практики не только упростят жизнь ревьюеру, но и помогут извлечь максимальную пользу из этого опыта и значительно сократят time‑to‑market.Мы н...

[Перевод] Генеративный ИИ в Android и эффективность фоновой работы приложения — важное с Google I/O 2024 Всем привет! Меня зовут Тимур, я Android-разработчик в KTS. Состоялась конференция Google I/O, и наша команда решила выпустить обзор докладов. В этой статье — про интеграцию передового генеративного ИИ в Android-приложения, который предлагает идеальные ответы или даже д...

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

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

Ролевая модель и интеграция c Jira: что изменилось в системе для управления тестами, которая доступна всем В конце прошлого года мы представили TestY, тест-менеджмент систему с открытым исходным кодом, которую разработала команда YADRO на замену TestRail. Сегодня на связи я, Александр Зырянов, QA-менеджер в департаменте контроля качества YADRO и проектный менеджер TMS TestY. Посл...

Как создать структуру службы поддержки, которая подойдёт под большинство систем Всем привет! В этой статье я поделюсь четвёртым выпуском рубрики Открытый микрофон, в котором Иван Хахарев, ведущий аналитик Департамента системного анализа в Спортмастере, выступил с докладом про то, как создать службу поддержки, которая ляжет на большинство систем. Такая р...

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

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

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

Шаблонизатор GO text template для новичков Шаблоны - это инструмент программирования, который позволяет создавать структурированный и повторно используемый контент или код. Они имеют много применений в различных областях, включая веб-разработку, генерацию отчетов, форматирование текста и многое другое. В целом, ...

Детектирование атак на контейнеры с помощью eBPF Привет, Хабр!Меня зовут Илья Зимин, я аналитик-исследователь угроз в компании R-Vision. Сегодня в статье я расскажу о возможностях обнаружения атак на контейнеризированные приложения с помощью такого инструмента, как eBPF, на примере приемов, связанных с побегом из Docker-ко...

Как я перешёл из ручного тестирования в автоматизированное От коллег-тестировщиков я не раз слышал: «В ручном тестировании упёрся в потолок, хочется перейти в автоматизацию, но боюсь, что не потяну» или «…не знаю, с чего начать». Меня зовут Михаил, в тестировании 7 лет, из них около 4 занимаюсь автоматизацией. В последние пару лет м...

Как не давать пустых обещаний себе, команде и заказчику Привет, Хабр!14 лет я работал в международной компании Airbus – компании, занимающейся авиастроением. В IT же мой путь начался совсем недавно – всего лишь чуть больше года назад. Чем отличается управление релизами программного обеспечения и управление проектированием констру...

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

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

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

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

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

Make It Right! Максимум пользы, минимум проблем: рекомендации по написанию API автотестов на Python Привет, Хабр! Меня зовут Катерина, я инженер по автотестированию в команде онлайн-кинотеатра PREMIER и сегодня я хотела бы поделиться с вами своим опытом в написании API автотестов на Python. Я работаю в сфере автотестирования уже довольно давно и на практике встречаю проект...

Как работать с Kafka-consumer в Spring-проектах Эта статья сборник небольших рекомендаций как работать с Kafka-consumer в Spring основанных на личном опыте. Читать далее

Большая компания или малый бизнес: где первый шаг карьерного пути? У меня был замечательный преподаватель. Он давал нам, второкурсникам, сложные и не очень задачи из своей реальной практики и спрашивал: «Что вы будете с этим делать через три года?» Это был очень ценный и правильный вопрос, который направил толковых студентов от зубрёжки тео...

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

Настройка протокола OSPF на оборудовании Cisco и HUAWEI В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат. ...

Как мы лечили раздвоение встреч в конференциях на базе Jitsi Привет! Меня зовут Дима. Я из команды бэкенда Яндекс Телемоста — сервиса для проведения видеовстреч, который входит в Яндекс 360. Перед нами стоит задача не просто предоставить сервис, а предоставить отказоустойчивый и надёжный сервис, который работает 24/7 и ...

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

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

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

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

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 3: Специализированное машинное обучение Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor). В предыдущей статье я поделился материалами для подготовки к этапу по классическому машинному обучению.В этой статье рассмотрим ма...

Как продвигать бизнес в 2024 году с помощью ПромоСтраниц и Дзена. Подробное руководство Каждый руководитель считает, что в его IT-компании работают гениальные программисты, которые создают волшебный код. Но вот клиенты об этом не всегда в курсе. И чтобы их просветить, нужно заниматься личным брендом и транслировать экспертность. Желательно, как можно шире и быс...

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

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

Aqueduct: Как мы экономим железо для МЛ-вычислений Привет! Меня зовут Олег Бугримов, я руковожу разработкой в команде Data Science SWAT в Авито. Мы занимаемся инженерией для машинного обучения. Одно из направлений - это оптимизация продового инференса. Наша задача чтобы модельки работали быстро и не потребляли безумное колич...

Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска UI-автотесты под Android — отличный инструмент, который позволяет кратно сократить время на проверку разрабатываемых фич и свести к минимуму участие в ручном регрессионном тестировании инженеров по обеспечению качества. Но работать с UI-тестами надо правильно — иначе все мож...

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