Социальные сети Рунета
Среда, 29 июня 2022

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

Обзор решений для навигации в iOS Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали! Читать...

Мобильная разработка: Cross-platform или Native Всем привет! Я Игорь Веденеев, руководитель мобильной разработки в AGIMA. Поговорим немного о нативной и кроссплатформенной разработке. Раньше я по большей части скептически относился ко второй: не устраивало качество конечных приложений в первую очередь. Однако за последний...

Личный опыт: стоит ли переезжать в Иннополис? В этом году мы — дизайн-центр электроники Promwad — открыли новый офис в Иннополисе, чтобы разрабатывать софт и железо для электромобилей, FPGA, AI-решений и других проектов. Так что сегодня вместо очередной инженерной статьи из серии «как это сделано» мы решили поделиться л...

Управление распределенными транзакциями с помощью Camunda "Всякое решение плодит новые проблемы" (закон Мерфи)В этой статье я собираюсь поговорить о подходе к решению задачи обеспечения консистентности данных в микросервисной архитектуре, т.н. распределенных транзакциях. Почти два года назад я впервые познакомился с инструментом Ca...

[Перевод] Меняем std::sort для Google Мы меняем std::sort в библиотеке libcxx проекта LLVM. В этой статье мы подробно расскажем о том, как мы пришли к этому решению и какими будут возможные последствия, о багах, с которыми вы можете столкнуться в примерах из open source. Мы покажем несколько бенчмарков, объясни...

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

Приплюснутый, плюсы и «кресты»: за что мы любим и ненавидим C++ В конце прошлого года 71 год исполнился Бьерну Страуструпу – создателю C++, одного из самых сложных и интересных языков программирования. Мы в ABBYY любим C++, ведь он лежит в основе и наших технологий компьютерного зрения, и используется в алгоритмах обработки естественного...

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 1 Многие что-то слышали, некоторые даже пробовали, но лишь единицы рассказали о таком мощном и удобном инструменте автоматизации биржевой торговли, как TNIKOFF INVEST API. Полностью раскрыть все возможности API или написать полноценного робота в рамках одной статьи – непосильн...

Как сделать свою рекомендательную систему: история одной дипломной работы Каждая дипломная работа в Практикуме — самостоятельный проект. Здесь нет подробных вводных или подсказок — студенты сами ищут решения и пробуют разные подходы. И здесь нужны все знания, которые накопились за время прохождения курса, а может, даже чуть больше. Звучит серьёзно...

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

10 обидных ошибок авторов на Хабре Большинство опытных и начинающих авторов Хабра уже знают, что такое хорошо и что такое плохо, поэтому творят хорошее или плохое относительно сознательно. Но, просматривая и прочитывая сотни статей изо дня в день, я постоянно сталкиваюсь с одними и теми же проблемами, которые...

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

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

Эффективная работа с формами с помощью react-redux-hook-form Привет! Это моя первая статья на Хабре и в ней я хочу рассказать о, первой мной написанной, библиотеке для работы с формами. Но сперва, давайте поговорим о том, как должна выглядеть идеальная библиотека для работы с формами. Читать далее

[Перевод] Знакомство с трансформерами. Часть 2 Публикуем вторую часть материала о трансформерах. В первой части речь шла о теоретических основах трансформеров, были показаны примеры их реализации с использованием PyTorch. Здесь поговорим о том, какое место слои внутреннего внимания занимают в нейросетевых архитектурах, и...

Перенос нейронной сети из PyTorch на Google Coral Всем привет! Меня зовут Антон Расковалов и мы с командой  отдела перспективных исследований «Криптонит» решили проверить, можно ли использовать Google Coral в решении наших задач. Приобретённым опытом делюсь в статье ниже. Санкции вынуждают пересматривать подходы к орга...

Go в браузер. Создание веб-приложений с использованием Web Assembly на Go Технология WebAssembly появилась относительно недавно (в 2015 году) и позиционировалась как альтернатива JavaScript для выполнения в среде браузера с максимально достижимой производительностью. Приложение на WebAssembly может использовать все возможности, доступные в "песочн...

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

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

Почему в центре вселенной IoT должен быть человек Аналитики прогнозируют, что к 2025 г. в мире будет 55,7 млрд. подключенных устройств, поэтому для успеха бизнеса крайне важно уделять внимание безопасности людей, пишет на портале eWeek Амур Лакшминараянан, генеральный ...

[Перевод] Как избежать 10 частых ошибок в настройке NGINX Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распро...

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

Как завести XCRemoteCache, или Кэши из топора Всем привет! Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-mar...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

Моя история удаления 7 зубов включая 2 сверхкомплектных В 16 лет я увидел панорамный снимок на фото выше и, уже успев натерпеться стоматологии и врачей, я загрустил. Я спросил врача в Красноярске, который анализировал снимок, мол что же делать с лишними зубами (а тогда они еще не особо мешали и только слегка прощупывались)? Я по...

Как разработчики проект с Flow.js на Typescript переводили Вы когда-нибудь путешествовали по незнакомым местам без туроператора, гида или даже GPS для базовой ориентации в пространстве? Приходится составлять маршрут самостоятельно, разбираться в местности на ходу, импровизировать, чуть ли не рисовать собственную карту… Занятие не из...

Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes. Многие знают, что Kubernetes имеет встроенный механизм для автоскалирования подов...

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

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

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

Пишем свою библиотеку для I2C OLED микродисплея 128х32px Недавно я обратил свой взгляд на небольшой, но весьма привлекательный OLED микродисплей, который можно вполне успешно применять в своих самоделках, одна беда — известные библиотеки для него поддерживают только латинский шрифт. Ситуация усугубляется тем, что я использую его ...

Пишем простого slack-бота на Java Привет! Я — Саша Казанцев, разработчик в hh.ru. В статье я расскажу, как сделать простого бота в Slack на java и немного о других вариантах использования slack api.Слак обладает обширной и всеобъемлющей документацией и туториалами, и чтобы написать эталонного бота, лучше про...

Управление агрегацией логов с помощью Logstash-operator в Kubernetes — opensource-решение от М2 Писать, собирать, агрегировать и сохранять логи для последующего анализа важно: это наиболее подробное представление того, как работает система.Логи можно собирать и отправлять в централизованную систему по-разному, например используя библиотеки в самом приложении или сторон...

Доводим распределённые действия до конца с использованием простейшего паттерна Saga Привет! Меня зовут Иван, я занимаюсь бэкенд-разработкой в Ozon: пишу микросервисы на Go для личного кабинета продавца. В прошлом году мы запустили новый процесс регистрации продавцов, в котором задействовано сразу несколько микросервисов. В нём стало больше шагов, при этом к...

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

Respect Validation на Python Всем привет! Сегодня мы поговорим о валидации данных, а точнее о том как я перенёс библиотеку с PHP на Python. Библиотека настолько крутая (по мнению автора), что рекомендую вам с ней ознакомиться, особенно, если вы пишите API с библиотекой flask (ссылка на интеграцию в ста...

[Перевод] Создание нативных CLI приложений на Java с помощью Graalvm и Picocli Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значитель...

Angular Libs как монорепозиторий 2: tree shaking и сборка клонов Всем привет! В прошлом посте мы с вами разобрали механизмы создания библиотек с помощью Angular libs, а также научились настраивать их работу в приложении и друг с другом и даже вынесли наши ассеты в одну из таких библиотек.В этом посте хочу продолжить тему разделения функци...

Как встроить качество в процессы производства ПО? Как обеспечить качество программного обеспечения? Как обеспечить качественные производственные процессы? Как сделать так, что поменять, чтобы процессы и сам продукт имели встроенное качество?  Такими вопросами задаются практически все компании, которые занимаются п...

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

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

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

Это Gaidai какой-то. Сервис HTTP сценариев Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов ...

Непростая линковка Swift и C И ман по линковке swift и Си библиотек и история одной проблемы - два в одном - чуть не дотягивает до кофе от нескафе! Читать далее

[Mikrotik] Шаманизм в RouterOS или как я сделал нормально закрытый Firewall в RAW Здравствуй! Пишу эту статью для того, чтобы чуть-чуть прояснить практическое использование Raw и обобщить свой опыт. Сколько бы не искал информации о настройке Raw - нашел лишь крупицы. Проблема настройки оной осложняется тем, что рабочих конфигураций или адекватных применен...

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

Один в поле не воин. Полезные интеграции для инструментов анализа мобильных приложений Привет, Хабр!Как вы уже наверняка помните, меня зовут Юрий Шабалин и я занимаюсь разработкой динамического анализатора мобильных приложений Стингрей. Сегодня мне хотелось бы затронуть тему интеграций с системами распространения (дистрибуции) мобильных приложений. В статье ра...

Разбор HackTheBox. Прохождение лаборатории OSINT (уровень: easy) Добрый день Хабр! В этой статье хочу рассказать вам про свой опыт прохождения лаборатории OSINT на сайте hackthebox. В данном обзоре я решил взять разобрать одно интересное задание по OSINT.Задание простое, оно не заставит вас страдать при поиске решения. Требуется только им...

Webpack Module Federation: «официальное» решение в микрофронтендах Module Federation — это подход, при котором можно разделить приложение на небольшие отдельные модули и в рантайме объединять в единое приложение. Это одно из немногих рабочих решений для разработки микрофронтендов. Почему оно лучше, чем остальные, какие еще решения для микро...

Коварные перцентильные фильтры В жизни каждого A/B-эксперимента наступает момент, когда пора проанализировать его результаты и понять, а не зря ли мы пилили все эти фичи. Всем привет! Меня зовут Костя Житков, я — аналитик в команде Поиска рекомендаций hh.ru. В этой статье я расскажу о том, как мы чут...

Проблема омографов в задачах G2P и автоматической простановки ударений Задачи автоматического перевода слов в фонемы, автоматической простановки ударения, и автоматической простановки буквы ё сейчас решаются довольно успешно даже на уровне открытых решений (например: 1, 2, 3).Тем не менее, практически ни одно открытое р...

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

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

Как ускорить Python с помощью C-расширений Привет, Хабр! Я – Игорь Алимов, ведущий разработчик группы Python в МТС Digital, работаю над продуктами Smart Rollout, B2B портал. В этой статье я расскажу о том, как писать быстрый код на Python с использованием C-расширений и способах победы над GIL.Интересно? Добро пожало...

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

[Перевод] Как писать bash-скрипты надежно и безопасно: минимальный шаблон Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому почти все уделяют мало внимания этой теме.Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу ...

3 функции MIUI 13, о которых многие забывают MIUI, как и следовало ожидать, распространяется в несколько волн. Во второй волне будет еще 13 устройств Xiaomi, например, Xiaomi Mi 10 и Xiaomi Mi 10 Pro. Они получат стабильную MIUI 13 следом за ранее объявленными устройствами. Сама операционная система улучшает защиту ко...

Как я разочаровался в low-code и стал руководителем команды разработки Привет, меня зовут Евгений, и я никогда не был программистом — написание кода вызывало у меня чуть ли не смертельную скуку. Конечно, за двадцатилетнюю карьеру приходилось писать скрипты на PowerShell, Python и т. д., но о серьёзной разработке речи не было. Тем не менее моя п...

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

Capacity allocation — совмещаем разработку, поддержку и выплату техдолга без смс и регистраций Этот материал для тех, к кому когда-то подошли и сказали: «Некогда объяснять, ты теперь тимлид (или начальник отдела)». Может быть, теперь вы уже профессионал своего дела, знаете кучу различных инструментов для решения своих задачи. Но давайте посмотрим чуть-чуть с другой ст...

React Hooks простыми словами О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял пр...

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

Где работать в ИТ в 2022: Wallarm Наша рубрика «Где работать в ИТ» — это интервью с интересными айти-компаниями, в которых они делятся подробностями о процессах своей работы. Сотрудники компании рассказывают о найме, условиях, командах и технологиях. Участник этого выпуска — компания Wallarm (...

Как создать инструмент для контроля остатков на складе Озон с помощью API и google-таблиц Привет! В этой статье хочу поделиться тем, как мы создали инструмент на основе google sheets для контроля товарных остатков на складе Озон по схеме работы FBO (full by Озон). Я расскажу, как таблица помогает автоматизировать принятия решений по поставкам товара на склад Озон...

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

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

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

Если мошенники украли деньги с банковской карты — не спешите в полицию Мне давно надоели эти банки, но инфопространство постоянно забито историями, как мошенники в очередной раз украли деньги, причём даже без социальной инженерии. Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл дракон...

[Перевод] Обучение с подкреплением: математический аппарат В предыдущем материале из этой серии мы простыми словами рассказали о том, что такое обучение с подкреплением (Reinforcement learning, RL). Там мы, на интуитивном уровне, разобрались с тем, как работают механизмы RL, поговорили о том, как обучение с подкреплением п...

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 2: кастомные перехватчики Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.В первой статье ...

Репликация Oracle с Quest Shareplex вместо Oracle GoldenGate в Oracle, PostgreSQL, Kafka и другие приёмники Любопытное наблюдение: когда говоришь о репликации Oracle, тебе сразу говорят «да знаем мы про этот GoldenGate!». Конечно, знаете, ведь это решение предлагает непосредственный вендор объекта репликации. При этом за кадром остаются не менее интересные решения. Вендор Quest на...

Как проходит интервью мобильных разработчиков в Тинькофф Привет! Я Максим Коробов, руководитель отдела разработки мобильного приложения Тинькофф. В статье расскажу о том, как проходит отбор кандидатов на вакансии разработчиков iOS и Android, что спрашивают на первичном и техническом интервью и какие задачи предлагают решать во вре...

“Танец на граблях” или сколько раз нужно ошибиться, чтобы выпустить смарт-браслет для предприятий? Ошибаться полезно. Когда исправление одной ошибки уже не добавляет две новые, продукт начинает взрослеть. Мы третий год разрабатываем смарт-браслет для предприятий и решили написать лонгрид о его начинке и тех граблях, на которые наступили за это время. Возможно, вы вместе с...

Как ускорить расчет витрин с помощью материализаций Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat. Несколько лет назад мы выбрали Snowflake как сервис для нашей дата-платформы. С ростом объемов данных до сотен миллионов строк (спойлер: а затем и до десятков ми...

Нет, правда, зачем нам TypeScript? Когда код на JavaScript содержит больше одного выражения, ну хорошо, больше трех, в нём можно легко запутаться. Выходов два — или добавить кучу проверок, но тогда код станет громоздким и его будет сложно сопровождать. Или можно добавить комментарии, но&nb...

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

Музыка на удаленке — утилита для джема с друзьями по сети с нестандартным подходом к работе с задержками Мы уже рассказывали об утилите FarPlay, которая позволяет передавать аудио с минимальными задержками и писать музыку с коллегами по цеху, находящимся за сотни километров. Сегодня продолжим тему и поговорим о Ninjam, авторы которого нашли интересный подход к проблеме рассинхр...

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

ML-модели VS осложнения при бурении нефтяных скважин Всем привет. Меня зовут Семён. Я занимаюсь разработкой интеллектуальных приложений для нефтегазовой отрасли в компании «Цифра». В этой статье я и моя коллега Анна Тарасова расскажем, как мы искали решение для проблемы с прихватами при бурении нефтяных скважин с помощью машин...

React hooks, как не выстрелить себе в ноги. Часть 1: работа с состоянием Статья поможет новичкам понять как работать с хуками, а также будет полезна и опытным разработчикам. Этой статьей открываю серию статей про хуки.Использование хуков с одной стороны позволяет использовать методы жизненного цикла в функциональных компонентах и призваны улучшат...

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

Рисуем интерактивный линейный график на iOS с помощью Charts Однажды бизнес попросил меня создать минималистичный график, который будет отображать сглаженную кривую с градиентом под ней. По этому графику можно перемещаться между значениями, водя пальцем. При этом за пальцем должна следовать вертикальная линия, а текущее значение должн...

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

Как один разработчик PVS-Studio защищал баг в проверяемом проекте Мы в PVS-Studio часто проверяем открытые проекты и пишем статьи об этом. Иногда при написании статьи случаются интересные ситуации или попадаются особенно эпичные ошибки, тогда хочется написать про это отдельную небольшую заметку. Сейчас совпали оба случая. Читать далее

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

Раз, два, три и готово! 3 месяца, 1 проект и новая команда Привет, Хабр! Меня зовут Дмитрий Адмакин, руководитель отдела архитектурных решений и перспективной разработки одного из бизнес-центров в компании «БАРС Груп». Сегодня я расскажу о том, как мы создавали современную систему мониторинга по исполнению государственных программ, ...

Локальная разработка в Kubernetes с помощью werf 1.2 и minikube В этой статье на примере простого приложения будут описаны подготовка и развертывание инфраструктуры для локальной разработки с Kubernetes и последующий запуск проекта в этом окружении.Зачем это может понадобиться? Предоставляя услуги поддержки инфраструктуры нашим клиентам,...

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

Дампы LSASS для всех, даром, и пусть никто не уйдет обиженный Здравствуйте, хабролюди!Меня зовут @snovvcrash, и я работаю в отделе анализа защищенности компании Angara Security. Отвечаю я, значится, за инфраструктурный пентест, и в этой статье я хотел бы поговорить об одном из самых эффективных методов добычи учетных данных на «внутряк...

[Перевод] Когда босс — алгоритм, который заставляет работать с полшестого утра Курьеры сделали самоизоляцию возможной, и это не преувеличение. Как в России, так и за рубежом благодаря им народ смог пережить самые жесткие ограничения во время пандемии. Но обычные люди даже не догадываются, что работа курьера куда сложнее, чем кажется на первый взгляд.&n...

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

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

Использование Crosstab в бесплатной библиотеке отчетности JasperReports В автоматизации отчетности очень часто используют открытую Java-библиотеку JasperReports, например статья Опенсорс-решение для автоматизации отчетности рассказывает об ее использовании для получения PDF форматов отчетности между делом упомянув о возможности экспорта в другие...

Меняем стек с PHP на Golang, или Разработка под Kubernetes Привет, Хабр!На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам...

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

Безопасная разработка приложений — что такое Secure SDLC и на что обратить внимание Мы в облачном провайдере T1 Cloud уделяем серьезное внимание защищенности клиентских сервисов, поэтому решили подготовить серию материалов о разработке приложений в облаке. Начнем с вводных и расскажем, что собой представляет процесс безопасной разработки программного обеспе...

Security Week 2212: взлом шифрования методом Ферма Типичным следствием уязвимости в алгоритме шифрования становится лишь теоретическая возможность кражи секретных данных. Например, решение о полном отказе от алгоритма хеширования SHA-1 было принято еще до практической атаки в 2017 году, стоимость которой (в условных виртуаль...

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

Open Source-инструменты для запуска виртуальных машин в нативном облаке Унаследованные рабочие нагрузки мешают вам перейти в нативную облачную среду? Независимый эксперт Кристофер Тоцци рассказывает на портале ITPro Today о четырех открытых решениях для запуска виртуальных машин (ВМ) в нативной облачной среде с минимальными ...

[Перевод] Как поживает Firefox? Популярный (во всяком случае, какое-то время назад) браузер Mozilla, который создатели позиционируют как решение с высоким уровнем конфиденциальности, переживает кризис. В статье мы попробуем поразмыслить, как те или иные «повороты» в судьбе браузера могут повлиять на будуще...

Что там в «Мире Hi-Fi»: DAW, ремастеры из игр и ПО по радио В прошлый раз мы обсудили ЯП и библиотеки для работы со звуком. Сегодня продложим тему и поговорим о специальной ОС, открытых решениях и не только. Читать далее

Охота на toggle: Как простую фичу сделать максимально сложно – Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.– Не вопрос, бро. В чем проблема?– Toggle сбрасывается при возврате на экран. Изи ваще!С этой безобидной фразы началось мое недельное приключение в мир безумной архитектуры, сумасшедших фиксов и красноглазия. И...

Топ вопросов работодателю от Android-разработчика Представьте: вы на собеседовании, только что закончили отвечать на кучу вопросов и были на высоте. Наконец наступает ваш черед задавать ваши вопросы работодателю. Не знаю как вы, а я в таких ситуациях часто начинал теряться и забывал самое важное, о чем стоило бы спросить. О...

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

[Перевод] Как писать питонический код: три рекомендации и три книги Новички в Python часто спрашивают, как писать питонический код. Проблема — расплывчатое определение слова "питонический". Подробным материалом, в котором вы найдёте ответы на вопрос выше и три полезные книги, делимся к старту курса по Fullstack-разработке на Python. Читать д...

Python и Samila. Делаем красиво Как при помощи языка программирования Пайтон и библиотеки Samila создавать красивые изображения, даже с минимальными усилиями. Читать далее

Responder Chain, или как правильно передавать действия пользователя между компонентами Эту статью я решил написать под впечатлением от выступления Евгения Ртищева (@katleta) на конференции Mobius. Так же как и в его докладе, в этой статье я хочу показать, как можно, используя подзабытые нативные средства iOS, без труда выполнять простые и очень частые задачи.Я...

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source) dgrm.net | GitHubdgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.Отличительные особенности:- аскетичность,- работает на телефонах (одно из немногих web-решений),- открытый исходный код.В процессе разработки появляются интересные моменты. Статья п...

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

Развертывание Standalone центра сертификации на базе Windows Server 2019 и настройка сетевого автоответчика OCSP Всем привет, с вами Искандер Рустамов, младший системный администратор Cloud4Y. Сегодня мы будем покорять развертывание центра сертификации (ЦС). Необходимость в выстраивании инфраструктуры на базе государственных требований к решениям в области информационной безопасно...

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com. Практика показывает, что далеко не все ...

Как правильно верстать в 2022 году. Часть 1 Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, врод...

Div на div’е не сидит и div’ом не погоняет: пишем семантически верные индикаторы загрузки на Angular Сверстать собственный индикатор загрузки — одна из самых простых задач, с которой может столкнуться веб-разработчик. Для получения рабочего решения пригодятся базовые знания HTML и CSS, а JS будет нужен лишь для управления процентом выполненной задачи.Однако эта простот...

Стоит ли покупать MacBook Air прямо сейчас или подождать Пока мы день за днем находились в мощном круговороте событий и новостей, связанных с техникой Apple и различными ограничениями, как-то незаметно подкралась последняя пятница мая. А это значит, что наша рубрика, в которой мы отвечаем на ваши вопросы, заданные в нашем Телегра...

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

Как вы относитесь к переработкам? Скажи мне, как ты относишься к переработкам и я скажу, кто ты...Задаваться вопросом о том, как вообще происходит так, что люди перерабатывают, я начал ещё в раннем детстве. Матушка моя периодически задерживалась на службе, из-за чего я допоздна сидел с воспитателям...

Стелс-миграция с первого Angular на React 17, или история о том, как дёшево побороть страшное легаси Мы разрабатываем ati.su, это площадка где грузоотправитель находит грузоперевозчика. Между собой они общаются заявками. Заявка — это карточка с множеством полей. Так мы её и зовём — «Карточка груза». Поиск таких заявок по сложным фильт...

DotNetRu. 2020-2021. Итоги Привет, на связи DotNetRu – сообщество, объединяющее .NET разработчиков России и не только. Казалось бы, совсем недавно мы рассказывали про митапы и прочие наши активности 2019 года и с оптимизмом смотрели в наступающий 2020-й. Штош, начался он действительно бодро, но з...

[Перевод] Способы переписать логические параметры в С++ Программисты читают код намного чаще, чем пишут его, поэтому важно писать понятный, последовательный, однозначный код. Автор книги С++17 in detail написал о способах избегать путаницы. Делимся его материалом к старту курса по разработке на С++. Читать далее

Стоит ли учить PHP в 2022 году IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрез...

Личный опыт лечения от коронавируса в Дании Я программист из Новосибирска. С 2017 года я с семьей живу и работаю в Копенгагене.TL;DR: Чуть-чуть не дождался вакцинации, заболел, побыл на самоизоляции в отеле, полежал в госпитале, поправился. Читать далее

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

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

Чем бизнесу заменить любимые IT-сервисы: защита, связь и сохранность данных Привет, Хабр! Многие компании столкнулись с необходимостью адаптироваться к новым реалиям бизнеса: искать альтернативное ПО и инструменты для работы. Решение некоторых проблем клиенты нашли в списке услуг Selectel. Мы решили рассказать о них подробнее в надежде, что они тоже...

Забавы с маргинальными фреймворками: Пишем приложение для отладки TCP соединений с Malina.js Одна из моих работ связана с отлаживанием протоколов общения теплосчётчиков для удалённого снятия показаний. Чаще всего теплосчётчик даже не мой, а находится у клиента на объекте, поэтому я подключаю его через GPRS-терминал к какой-либо своей сетевой машине, где поднят TC...

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

Вторая жизнь звука в «Художественном» — работает 3D печать В этой статье речь пойдет о том, как с помощью 3D-печати можно получить качественное звуковое оборудование и при этом сделать уникальный дизайн. В данном случае компании удалось выполнить нелегкую задачу по оснащению и одновременно сохранению исторического облика одного из с...

Удаленное управление БЗК камерой Z6 посредством SDK Добрый день Хабрчане!В этом посте я хочу поделиться с вами своим скромным опытом в написании софта для удаленного управления БЗК Никон Z6. Точнее правильнее будет сказать не «написании», а скорее «допиливании», однако более подробно об этом я напишу ниже. Ну а сначала я расс...

Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz Привет! В данной статье расскажу о том, как мы подняли ретеншн приблизительно на 30% на проекте World of Tanks Blitz на регионе NA (Северная Америка).Сперва немного о себе и о нашей игре. Меня зовут Козловский Владимир. Работаю на должности ...

JNI Часть 2: Примеры Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу примеры решений на JNI, кот...

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

Как BI «купается» в озёрах данных: практика платформы «Форсайт». Часть 2. Виртуализация данных Всем привет. Мы продолжаем цикл публикаций о том, как наша BI-платформа «Форсайт» работает с данными. В этой статье мы бы хотели поговорить о том, как выйти за рамки привычного online analytical processing (OLAP) и с помощью enterprise BI погрузиться в проблематику «Fixed fo...

Рукопись моей первой книги о Java Статья о том, как я просто писал статьи на ИТ-тематику в личный блог, как вдруг получил контракт от издательства. Много работал и страдал. Прошёл через кучу этапов и написал рукопись своей первой книги о Java и её изменениях от версии к версии. Как чуть не переделал все пере...

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

Нужен ли антивирус для macOS Надеемся, ваша короткая рабочая неделя пролетела так же быстро, как и у нас! Тем не менее, она была насыщенной: несмотря на выходные, Apple нашла время напакостить и отключила еще один способ оплаты в App Store для россиян, а также стало известно, что Сбербанк остался без &...

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

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

Особенности проекта Debezium для решения задачи миграции баз данных С 2014 года в России реализуется программа импортозамещения, которая распространяется в том числе на программное обеспечение и системы управления базами данных, поднимая вопросы оптимальной миграции. В этой статье мы, специалисты департамента разработки «Консист Бизнес Групп...

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

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

Как попробовать ELK-стек за один вечер и наконец-то перестать grep'ать логи Как часто вы, в очередной раз матерясь и grep'ая простыню текста, говорили себе, что вот-вот перестанете хранить логи в файлах и переедете на ELK? Я - часто, а виной тому кажущаяся сложность настройки всей системы в целом. Наверное, так оно и есть, но для того, чтобы складыв...

Собираем интересные .NET блоги в Telegram-канал с помощью GitHub Actions Будучи .NET разработчиком, я стараюсь периодически просматривать различные ресурсы, связанные с .NET тематикой. Как правило, это различные блоги. Иногда то тут, то там появляются какие-нибудь интересные статьи, на которые стоит обратить внимание.Недавно я поймал себя на мысл...

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

Нужно ли закрывать приложения на Айфоне Последние деньки апреля, отличная весенняя погода и предвкушение долгоиграющих майских праздников не дают вам сосредоточиться на работе? Это абсолютно нормально! Тем не менее, не забывайте заглядывать в наш Телеграм-чат и задавать интересующие вопросы, как это делают сотни ...

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

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

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

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

Signum Explorer Telegram Bot — разработка open-source pet-project телеграм бота для блокчейна Signum Кто про что, а я про телеграм бота… Сейчас я работаю в компании Каруна на позиции старшего Go-разработчика. В свободное от работы время стараюсь смотреть по сторонам (нет — не в поиске работы, и да — это корпоративный блог, но пишу про пет-проект

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

Библиотека как продукт: от папки в проекте до международного опенсорса Работа над общей библиотекой сильно отличается от работы в продуктовой команде. Но разработчики библиотек тоже проходят длинный путь становления своего продукта, причем, в отличие от приложений, часто без помощи менеджеров или бизнес-аналитиков.Давайте посмотрим, из чего мож...

К процессорам Intel Core i9-12900K и Core i7-12700K все больше вопросов. На дешевых материнских платах на чипсете Intel Z690 их производительность падает на 25-30% Только вчера мы писали о лукавстве Intel, допущенном при официальном сравнении производительности Core i9-12900K и Ryzen 9 5950X, и вот сегодня новые подробности о CPU Alder Lake, которые тоже напрямую касаются производительности. Но если вчера казалось, что в своем обы...

[recovery mode] Python: рефлексия Я пишу на Python примерно с 15-го года. Я определённо люблю его. Он так прост... В этом эссе я хотел бы вспонить, как начались мои взаимоотношения с этим замечательным языком, что за всё это время я узнал, что заставляло меня пищать от восторга, и рвать на голове волосы от р...

Идеальный кандидат: миф или реальность? Привет, Хабр! Меня зовут Арина Кретова, я IT-рекрутер в Lamoda. Время от времени у наших кандидатов возникает вопрос — кто для нас идеальный кандидат и как им стать? Думаю, пришло время поговорить на эту тему и расставить все точки над i. В статье я расскажу о качествах...

Спокойный сон и крепкие нервы. Резервное копирование для Kubernetes. Часть 1 Как известно, системные администраторы делятся на 3 категории - кто еще не делает резервные копии, кто уже делает и кто уверен, что из них можно восстановиться. В нашу эпоху DevOps вопрос автоматизации управления резервным копирования стал еще более актуальным, поскольку каж...

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

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

Альтернативный браузер Vivaldi получил большое обновление — в помощь любителям открыть сотню вкладок одновременно Команда набирающего популярность браузера Vivaldi объявила о выпуске обновления десктопной версии Vivaldi 5.1, которое добавляет ряд интересных новшеств.  Одним из нововведений стала горизонтальная прокрутка вкладок. В результате пользователь получает»  ...

Выпущена первая нативная сборка Visual Studio 2022 для ARM64 На конференции разработчиков Build 2022 Microsoft анонсировала девкит Project Volterra на платформе ARM64 от Snapdragon, который призван упростить создание и тестирование приложений для ARM-устройств. Компания хочет, чтобы разработчики могли работать в этой «открытой аппара...

Как построить сетевой клиент в большом приложении, написать плагин на Kotlin и работать с UI-библиотекой Сегодня делимся видео для мобильных разработчиков с IT-конференции ЮMoneyDay. Начнём с процессов в UI. Что помогает команде работать быстро и слаженно и как срезать углы в работе с дизайн-системой? В первом докладе поделились, как наладить разработку в iOS-команде....

Что писать в резюме, чтобы получить работу мечты: советы от HR для сферы IT Мы много пишем про релокейт и смену работы, но уже как про свершившийся факт. Поэтому решили рассказать, что делать IT-инженеру, чтобы получить работу мечты. Для этого мы поговорили с HR-ами, которые регулярно нанимают айтишников: расспросили, на что они смотрят в резюме, ка...

Как бы вы реализовали форму аутентификации на сайте? Вопрос для собеседования на Junior/Middle/Senior? В свете исследования "Веб-разработчики пишут небезопасный код по умолчанию" мне подумалось, что именно так может звучать один из базовых вопросов на собеседовании с точки зрения проверки знания web-разработчика от уровня Junior до Senior.Тема с одной стороны в общем-то прост...

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим Иногда на сайте stackoverflow.com мы видим очередной вопрос, как искать баги определённого типа. И знаем, что решением проблемы может стать использование PVS-Studio. К сожалению, мы вынуждены молчать, иначе ответ будет интерпретирован как неприкрытая реклама. Это статья про...

FENIX возрожденный из Anycubic i3 Mega Добрый день друзья, представляю на ваш суд ещё один самодельный 3Д принтер, это FENIX.Не обращайте внимание на потёртости и лишние дырки, принтер уже больше года трудитсяи пережил не одну модификацию, к тому же я собрался его перекрасить синим металликом,А то, как то мрач...

Steins;Gate: визуальная новелла в стиле сайнс-фикшн, которая прокачает ваш английский Привет, Хабр! Давненько мы не писали об играх, которые помогают изучать английский язык. Поэтому исправляемся. Сегодня расскажем о Steins;Gate. Для тех, кто не в курсе: это визуальная новелла про путешествия во времени. С машиной времени, параллельными мирами и запутанн...

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

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

[Перевод] Капля здравого смысла для Windows-разработки на C и C++ Суровая действительность разработки на C и C++ для Windows такова: для этой платформы никогда не существовало качественной, нативной реализации стандартной библиотеки этих языков. Стандартная библиотека должна абстрагировать механизмы базовой системы ради упрощения разработк...

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

Превратить всё лобовое стекло в дисплей Heads-Up. Volvo инвестировала в стартап, разрабатывающий подходящую для этого технологию В будущем в автомобилях Volvo лобовые стёкла могут превратиться в огромные экраны.  Компания сообщила, что посредством своего фонда Volvo Cars Tech Fund инвестировала в стартап Spectralics, специализирующийся на оптических технологиях и техноло...

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

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

CrowdSec 1.2: изменения, дополнения, улучшения Привет, Хабр! Нам приходилось сталкиваться с мнением, что разработка — скучное занятие: cиди себе, копируй строчки кода с «Гитхаба» да компилируй готовое приложение. Но мы работаем по-другому: в каждую новую версию мы добавляем реально интересные и полезные фичи, которы...

Как ускорить Python с помощью C-расширений. Часть 2 Привет, Хабр! Меня зовут Игорь Алимов, я ведущий разработчик группы Python в МТС Digital, и это вторая часть статьи, посвященной тому, как писать быстрый код на Python с использованием C-расширений. Я расскажу о всех нюансах и приведу конкретный пример применения этого метод...

Технотекст-2021: есть победители Привет, Хабр! 9 месяцев, 600 заявок, 570 принятых заявок, 1,5 месяца работы жюри, 15 профессионалов в жюри в соответствие с номинациями и 0,5 потерянного протокола — так выглядит конкурс технических статей на Хабре «Технотекст-2021». Вчера мы подвели итоги на онлайн-встрече,...

[Перевод] Создание собственного React с нуля В последнее время видны масштабные изменения в способах разработки веб-приложений. Если раньше интерфейс создавался на сервере, а на стороне клиента выполнялись лишь незначительные сценарии, то в наши дни стандартом является использование какой-либо из различных библиотек ре...

Нетривиальный подход, или Как мы обнаружили баг в отечественной СУБД и успешно его обошли Три года назад у одного из наших заказчиков — крупнейшего российского банка — появилась задача перенастроить платёжный сервис для ГИС ГМП (штрафы, пошлины и налоги), ГИС ЖКХ, а также запросы начислений (подписки). Выбор решений на рынке был невелик, поскольку нам нужно было ...

Как приручить DDD. Часть 1. Стратегическая DDD — одна из моих основных рабочих методологий, я применяю её больше пяти лет. Хотя она довольна сложная, в том числе потому что это верхнеуровневый набор практик. DDD - это не фреймворк, когда нет опыта, его немного сложно применять. Тем не менее мы переводили на DDD работ...

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

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

Как поделиться паролем от Wi-Fi с Айфона на Андроид Компания Apple старается добавлять новые фишки в свои устройства чуть ли не с каждым обновлением. Но, к большому сожалению, большинство из них работает исключительно внутри яблочной экосистемы. Иной раз задумываешься, как было бы хорошо иметь одну единственную операционку н...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

Как мы тестируем Rest API в SM 2.0 с помощью Postman: сценарии, запросы, переменные окружения и немного автотестов Всем привет! Сегодня я расскажу о том, как мы тестируем Rest API в SM 2.0 с помощью инструмента Postman. И сделаю это на примере реальной задачи — посмотрим сценарий пользователя (как оформляется заказ у нас на сайте), посмотрим, как это работает все изнутри, пару слов ...

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

Управление данными в системе автоматизации на Vue и Vuex и решение проблем тестирования с помощью Jest Привет! Меня зовут Артём Карачёв, я фронтенд-разработчик в Sportmaster Lab. Сейчас мы пишем модуль автоматизации физической фотостудии, где работают несколько фотографов, менеджеров, фоторедакторов, кладовщиков и других. Все фото кроссовок, которые вы видите в интернет-магаз...

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

Раскопки, MindMap и читерство: как составить цепляющее УТП и не сойти с ума Одни говорят, что уникальное торговое предложение (УТП) – чуть ли не главное понятие маркетинга. Доносит до потребителя ценность продукта, его отличие от конкурентных товаров и все такое. Другие возражают, что на УТП уже никто не смотрит. Мол, если компания/продукт известны ...

Кошелек с нуля в 2020 году: технологии, вызовы, решения Большую часть своей рабочей биографии я занимаюсь различными финтех продуктами – Яндекс.Деньги, 1ЦУПИС и так далее. Последние два года я разрабатываю очередное платежное решение и хочу рассказать о некоторых задачах, с которыми мы встретились. Но мне интересно рассказать не ...

DI.kt: одна из первых DI библиотек для Kotlin Multiplatform Прошу приветствовать одну из первых DI библиотек для Kotlin multiplatform — DI.kt. Вы можете спросить: «А зачем нам ещё DI либы?». Долгое время полноценного DI для Kotlin Multiplatform не было. Существующие библиотеки — это сервис-локаторы (Koin, Kodein, Popkorn), котор...

Выбор браузера по умолчанию стал немного проще в сборке Windows 11 Build 22509 В последнее время Microsoft оказалась в центре многочисленных споров по поводу веб-браузера Edge. Компания изо всех сил старается продвигать Edge для большего количества пользователей, и можно утверждать, что ее подход не был самым продуманным. Однако, похоже, компания не бе...

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

Некоторые сайты перестанут открываться после выпуска Chrome 100 В конце марта 2022 года должен состояться релиз браузера Google Chrome 100, но с появлением третьей цифры в номере версии могут возникнуть проблемы, из-за которых некоторые сайты перестанут открываться. Google уже знает о потенциальных проблемах и работает над их решени...

Arbitrary Precision — удобная C++ библиотека для работы с длинными целыми числами Вопреки тому, что авторских C++ библиотек для длинных целых очень много, мне было трудно найти решение, которое было бы простым в использовании на всех этапах (интеграция зависимости, разработка, релиз с зависимостями). Авторские библиотеки имеют одну или несколько проблем р...

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

[Перевод] Нецелевое использование утверждающих функций в TypeScript Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одн...

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

Особенности применения LRU кэша в ASP NET Core приложениях В современной веб разработке сложно переоценить значение такого инструмента как кэш. Мы сохраняем результаты выполнения длительных, дорогостоящих или часто выполняемых операций в некое хранилище, обратиться к которому будет быстрее и дешевле чем к первоисточнику или дешевле ...

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

Как мы провели TAC 2021. Впечатления, тезисы, видео Привет, я Евгений Степченко, delivery-менеджер Тинькофф. В октябре мы провели Tinkoff Agile Conference про масштабирование изменений и изменения при масштабировании, развитие команд и инженерные практики. Нам важно, чтобы тимлиды, техлиды, менеджеры и эксперты развивались ка...

Как я винду по-реверсерски чинил Ваша винда не работает как хотелось бы? Все советы из поисковика перепробовали установили Linux, а оно всё равно не работает? Вы реверс-инженер или кто вообще, ну в самом деле!? Применим свои навыки владения отладчиком, поможем Шиндовс нормально (по мере её сил) работать!На ...

[Карьера в IT] Как составить резюме, чтобы взяли в Долину. С плохими и хорошими примерами из практики Какое резюме точно зацепит рекрутеров и из стартапов, и из FAANG? Этой статьей запускаем серию материалов с универсальными карьерными советами. Разберем весь процесс: от резюме и поиска работы до принятия оффера. Особенно актуально для тех, кто ищет работу за рубежом, но и д...

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальны...

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

Автоматическая многоязычная модерация сообщений для миллионов пользователей Как мы все знаем, слова обладают силой. Ими можно вдохновить людей, но можно и навредить. Мы в Badoo и Bumble стараемся оградить пользователей от неприятных ситуаций, поэтому внедрили инструмент Rude Message Detector. Это многоязычный детектор грубых высказываний, работающий...

[Перевод] Как создавать в играх бесконечные миры при помощи процедурной генерации Привет, Хабр! Обратите внимание, Распродажа «Чёрная Пятница» от издательства «Питер» скоро закончится.Поговорим о том, как в известных играх, например, Minecraft и Terraria, из ничего генерируются бесконечные и разнообразные миры. Пост снабжен подробными примерами кода....

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

Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями В предыдущей статье мы рассмотрели использование Go для создания веб-приложений (с выполнением через Web Assembly). Но прежде всего Go интересен как язык для реализации высокопроизводительных и неблокирующих решений на стороне сервера и в этой статье мы изучим использование ...

Написание ОС с нуля: Часть 1 — Загрузчик Хай Хабр! Это серия статей по написанию моей ОС с нуля. Я лютый фанат ретропрограммирования, поэтому я мгновенно забуду про существование EDК. Просьба не писать комменты по типу "BIOS давно устарела где UEFI?". Пишу это просто чтобы было, что почитать вечером и порелаксить....

[Перевод] Руководство по визуальному языку субтитров Эти рекомендации применимы к видимым субтитрам для телевидения или кино, к переводным субтитрам, субтитрам на YouTube, встроенным субтитрам для видео в социальных сетях и субтитрам в видеоиграх.Максимальное количество символов на строку и время показа субтитра ограничены, по...

Особенности реализации STL в Clang, GCC и Microsoft С++ Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы...

[sobjectizer] Синхронное общение с агентами в реальном проекте Давненько мы ничего не писали про SObjectizer. Надо бы исправить это упущение, тем более, что представился достойный повод. Ну а чтобы было интереснее, в этот раз поговорим не об абстрактных фичах в вакууме, а о примерах использования вполне себе конкретной функциональности ...

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

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

Первые шаги с werf: собираем и деплоим простое приложение в Kubernetes В этой статье мы рассмотрим, как с помощью Open Source-утилиты werf собрать Docker-образ простого приложения и развернуть его в кластере Kubernetes, а также с легкостью накатывать изменения в его коде и инфраструктуре.Мы поговорим об общих принципах работы с werf при использ...

Введение в distributed tracing В один прекрасный момент вы можете переезжать из одного ДЦ в другой и понять, что не знаете свои системы: их поведение может стать неожиданным. В одной системе вы должны были работать гораздо быстрее, но теперь работаете медленно. В другой — не понимаете, куда приходит запро...

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

Написание ОС с нуля: Часть 2 — 32 лучше 16-ти Хай Хабр! Это серия статей по написанию моей ОС с нуля. Я лютый фанат ретропрограммирования, поэтому я мгновенно забуду про существование EDК. Просьба не писать комменты по типу "BIOS давно устарела где UEFI?". Пишу это просто чтобы было, что почитать вечером и порелакс...

Мобильная игра на HTML, CSS, JavaScript, jQuery, Apache Cordova и Firebase. Как сделать красиво снаружи и плохо внутри В данной статье будет рассказана история одной мобильной игры разрабатываемой на HTML, CSS, JavaScript, jQuery, Apache Cordova и Firebase. Также будут освещены следующие вопросы: - Стоит ли использовать jQuery? - Стоит ли вообще разрабатывать мобильные игры на JS с нуля? Чит...

Правки на мёрдже: зачем редактору GitLab Всем привет! Меня зовут Наталья Которева, я редактор в Яндекс.Практикуме. В этой статье я расскажу, как мы создали обучающий курс в GitLab. Да-да, вместо текстовых документов.Вообще сложно представить, как можно подружить git и редактуру, а главное, зачем. Есть же много пров...

oneTBB: интеграция и сборка через CMake Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать...

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

[Перевод] Нет такого понятия — чистый код Кажется, все сейчас стремятся к «чистому» коду. Нет почти ни одной статьи в блогах, где автор не скажет о том, насколько «чист» его подход. Команды собираются обсудить, какое из возможных решений самое чистое. Разработчики вокруг заверяют, что практикуют «чистый код».Тем не ...

«Сонет» внедрил один из первых в России проектов с использованием системы распознавания лиц для АО «АтомЭнергоСбыт» Крмпания «Сонет» разработала решение и завершила внедрение одного из первых в России аппаратно-программных комплексов (АПК) по использованию системы распознавания лиц для автоматизации и ускорения обработки в зонах ...

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

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

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

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

«День с̶у̶р̶к̶а̶ Redux» — как бороться с рутиной, применяя автоматизацию "Ух-ты! Какая интересная задача! И оценка времени на разработку хорошая! ..." 2 часа спустя: "Какой же это ужас, ещё 10 редьюсеров создать, ещё 10 раз описать зависимости состояний. Типы, компоненты... Сколько же бесполезной рутины... Вот бы можно было писать только декларат...

Optimum Transformers: как экономить от 20к$ в год на NLP Недавно компания

Автоматизируем iOS-сборку c помощью Jenkins Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной м...

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

Секреты запуска Flutter в production. Создаем IT-верфи Про нас Привет! Мы Даниил Левицкий и Дмитрий Дронов, мобильные разработчики компании ATI.SU — крупнейшей в России и СНГ Бирже грузоперевозок. Хотим поделиться с вами своим видением разработки приложений на Flutter. У нас несколько команд мобильной разработки, и раньше мы п...

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

От LiveData к Flow… Мы Дима и Настя, Android-разработчики в компании СберЗдоровье. В этой статье мы хотим рассказать о том, как мы перевели весь наш проект с LiveData на Flow, с какими трудностями столкнулись и что полезного узнали. Эта статья будет полезна тем, кто работает с LiveData, уже про...

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

Как подружить Elementary и BLoC У каждого инструмента свои границы применимости, сильные и слабые стороны. Использовать решение в подходящей ситуации, а также комбинировать различные решения — хороший способ достичь эффективной разработки. Например, наша команда Surf удачно использует Elementary в связке с...

[Перевод] NVIDIA EditGAN — редактирование изображений на основе эскизов Сегодня при помощи набросков, которые чуть сложнее детских рисунков, EditGAN позволяет изменить на фотографии конкретные черты лица (глаза, брови) или даже колёса автомобиля. Ранее эта задача была крайне сложной. Делимся кратким обзором разработки Университета Торонто, M...

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

Вы «продоете теплых кросовок»: ищем идеальную пару обуви с помощью Elasticsearch Привет, эту статью мы пишем вместе — Дмитрий Генинг, руководитель направления разработки R&D, и Александр Желубенков, руководитель направления ранжирования и навигации в компании Lamoda. Одна из самых важных систем, с которой мы работаем — это поиск. Ежедневно на La...

Нужен ли Mockito, если у вас Kotlin? Салют, коллеги.В рамках пятничной статьи предлагаю посмотреть на интересный способ создания моков в Kotlin, без использования сторонних библиотек.Я занимаюсь разработкой аддонов для Atlassian-стека в компании Stiltsoft и, из-за технических ограничени...

Сам себе PKI: Практика на примере OpenSSL и CA Smallstep. (Статья 2) Введение В предыдущей статье "Сам себе PKI: Теория на примере Let’s Encrypt" мы рассмотрели теорию и разобрали пример, как происходит установка HTTPS соединения между браузером и веб-сайтом при использовании сертификатов Let's Encrypt. В этой статье перейдем к...

Двигать влево или вправо? Экономический подход к ИБ Привет, Хабр! Меня зовут Петр Умнов, и сегодня я хочу рассказать об одной интересной концепции, которой поделился наш коллега Джефф Харди из Acronis Hosting Solutions. Речь идет о концепции отношения к киберугрозам со стороны хостинговых компаний, а также о методах “сдвига в...

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

Цифровые E2E-сервисы Huawei для российских заказчиков Мы много пишем об оборудовании и инфраструктуре, но до сих пор мало внимания уделяли сервисам, которые получают клиенты Huawei. Сегодня мы расскажем, сколько русскоязычных инженеров работает в поддержке Huawei, что такое Smart NOS, Smart IDC и как наши глобальные центры пере...

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

Советы для начинающих (и не очень) разработчиков на Unreal Engine В этой статье я стараюсь поверхностно пройтись по, как как мне кажется, наиболее важным для новичков аспектам разработки на Unreal Engine. Моя цель - подсказать вам направления, в которых можно и нужно копнуть поглубже. Рассказать что есть и для чего это можно использовать, ...

[Перевод] Двенадцатифакторная модель создания CLI-приложений Современному пользователю сложно представить себе взаимодействие с операционной системой без мышки или пальца на экране. Интерфейс однозначно ассоциируется с чем-то графическим и оконным, основанным на пользовательском опыте  миллионов людей за несколько десятилетий. Эт...

[Перевод] Лучший способ использовать аннотацию Spring Transactional В этой статье я собираюсь показать вам лучший способ использования аннотации Spring Transactional.Это один из лучших методов, которые я применял при разработке RevoGain, веб-приложения, которое позволяет вам рассчитать прибыль, полученную при торговле акциями, товарами или к...

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

Подсчёт слов В статье рассказывается о решении задачки с собеса в одну российскую IT-контору. Читать далее

Гальваническая изоляция USB 2.0 High Speed Эта статья - новый способ "разогнать" изолированный USB-порт, так как появляется новое решение - новая микросхема. В статье приведен частный пример, а так же немного дополнительной информации про скорость USB. Читать далее

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

8 правил, которые пригодятся при описании Git-коммитов Иногда системы контроля версий напоминают групповые чаты: вроде бы все тут собрались по какому-то поводу и пишут о чём-то одном, но что именно пишут ― разобраться порой просто невозможно. Как и в чате, где на одно грамотное и полное сообщение наберётся сотня «гыгы, лол» и «)...

Криптобраузер Opera теперь доступен для iPhone К уже известным браузерам Opera и Opera GX для геймеров присоединяется Opera Crypto со встроенным криптокошельком. Opera Crypto Browser был доступен для Windows, macOS и Android, а теперь выпущена версия для iOS. Его можно установить бесплатно из App Store. Приложение ориент...

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

Идеальный каталог, пример использования Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать заме...

[Перевод] Гайдлайны и бритвы компании Bungie по кодингу на C++ Для создания игры наподобие Destiny требуется много командной работы и мастерства. У нас есть талантливые люди во всех областях знаний, однако было непросто достичь уровня координации, необходимого для создания игры масштаба Destiny. Это похоже на то, как если бы группе лю...

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

[Перевод] От песочных часов к пирамиде: как усовершенствовать структуру тестов Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования — один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, с...

«Ваша сезонность, сэр!»: ищем тренд и прогнозируем спрос с помощью временных рядов, SARIMA и Python. Ч.1 Как вы можете помнить по первой статье "Маркетинговая аналитика на Python. Пишем код для RFM-сегментации", более 8 лет я работаю в сфере маркетинга для B2B и примерно столько же бешусь от дилетантского подхода к аналитике, который тянет за собой ряд проблем с определением кл...

[Перевод] Военные хитрости средних веков: диверсии с помощью «кошек-ракет» Кошка-ракета, XVII век (Источник: Wikimedia Commons/Folger Shakespeare Library, V.b.311, f. 129r) «В войне все средства хороши… лишь бы вели к победе», — Так рассуждали когда-то и рассуждают до сих пор многие главнокомандующие. Хотя эта статья не будет поднимать вопрос опра...

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

Время жизни = 00000001 Эпицентр цунами 2004 года прогремел вблизи берегов Северной Суматры. Эта близость только в одной Индонезии унесла жизни 131000 человек; с другой стороны, затушила собой другой эпицентр - тридцатилетнюю войну за независимость в Аче. Спустя десять лет землю, где автоматная оче...

«Через этот инструмент мы настраиваем всё»: как работает Ansible в департаменте DMP X5 Group Алексей Кузнецов работает системным архитектором в департаменте DMP X5 Group три года. Всё это время в DMP X5 Group применяют Ansible, чтобы обеспечить непрерывную конфигурацию на серверах и автоматизировать ручную работу.В поддержку своего курса «Ansible: Infrastructur...

Не Raspberry единым: мощные и не очень одноплатники конца весны 2022 года Мы часто пишем о «малинках», поскольку являемся поклонниками этой линейки устройств. Но кроме Raspberry есть и другие одноплатники, на которые стоит обратить внимание. Среди них есть как не очень производительные системы, так и устройства, которые вполне способны на решение...

Прилег, полежал, встал, побежал Намедни наш Rutube немного прилег. Не сам, конечно, говорят хакеры помогли, но тем не менее. И со всех сторон зазвучали критические мантры о левых руках, растущих чуть ниже спины у тамошних разрабов и ИБ-шников. Тем интереснее было посмотреть по сторонам. Наверняка же были н...

Qualcomm и Microsoft совместно работают над решениями для AR-очков нового поколения Техногиганты Qualcomm и Microsoft организовали сотрудничество для разработки нового кастомизированного чипсета Snapdragon для использования в AR-очках, предназначенных для экосистемы Microsoft. О новом партнёрстве упомянуто в докладе Qualcomm на выставке CES 2022. Источник: ...

Обзор self-hosted serverless-фреймворков для Kubernetes В статье расскажу про serverless computing и какие есть Open Source-реализации self-hosted-фреймворков с поддержкой Kubernetes, об их возможностях и ограничениях. Еще поделюсь опытом нашего клиента, который использует одно из таких решений (OpenFaaS). Идея обзора как раз и ...

Про Flutter: как бекендер в мобильную кроссплатформу лез Flutter – это полноценная SDK, позволяющая писать нативные приложения на ненативном языке (dart), имеющем высокую скорость работы (выше конкурентов, но немного ниже натива), отклика/отрисовки. Этот набор средств разработки позволяет писать достаточно сложные с точки зрения и...

Трекер привычек и 3 простых правила для их закрепления Чуть больше года назад я решил первый раз в своей жизни закрепить полезные привычки. Полный мотивации и намерений изменить свою жизнь, каждый день я вставал в 6 утра, занимался спортом, читал книги по 30 минут и даже начал медитировать. Пару дней все было в порядке, я дейст...

ElasticSearch: отказоустойчивый сервер отказал Всем привет, меня зовут Илья, я работаю в компании DINS на должности инженера отдела мониторинга. В этой статье расскажу о нашей боли при работе с ElasticSearch. Мне не удалось найти решение этой проблемы где-либо ещё, поэтому, думаю, этот туториал будет интересен всем, кто...

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

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

Зачем архитектору Pet project? Эта статья – о Pet project, собственных проектах, которыми многие из нас занимаются в свободное время. Поговорим о том, нужны ли такие увлечения архитектору и как Pet project может помочь в работе. Также я расскажу о своих проектах и опыте, который я с их помощью получил. До...

EcoFlow DELTA Pro стоит в одном ряду с инновационными решениями 2021 года Портативный домашний аккумулятор от EcoFlow DELTA Pro вошел в список 100 лучших изобретений 2021 года. Ежегодный рейтинг был составлен  популярным мировым еженедельником TIME и основан на инновациях, которые «делают нашу жизнь...

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

Apple MacBook Pro 16” на базе M1 Max: тестируем один из самых дорогих ноутбуков в мире В этой статье мы подробно расскажем вам о MacBook Pro 16″ на базе M1 Max c 10 ядрами CPU и 32 ядрами GPU, а также с 64 ГБ объединенной памяти; такая конфигурация стоит от 375 тысяч рублей. Это, кажется, идеальный ноутбук для преимущественно стационарного профессионального ис...

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

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

Про поддержку сайтов с национальными сертификатами в Яндекс Браузере Очень много вопросов по этой теме. Оно и понятно: информации мало, противоречивых интерпретаций много. Для нас, как команды Яндекс Браузера, тема защиты соединений с сайтами близка. Мы пишем на Хабре об этом уже лет восемь. Например, в своё время мы первыми поддержали dnscry...

[Перевод] Понимание утечек памяти в Java Одним из основных преимуществ Java является автоматизированное управление памятью с помощью встроенного сборщика мусора (или сокращенно GC). GC неявно заботится о выделении и освобождении памяти и, таким образом, способен решать большинство проблем, связанных с ее утечкой.Хо...

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

Шлем Магнето Всем привет! У меня новый интересный проект!Самая трудная часть, это создание 3d модели. Дизайнеры не думали о том, как это одевать, важно лишь бы красиво выглядело, и в оригинале лицевая часть была съемной. Я же сделал размер чуть больше и сделал лицевую часть откидной. На ...

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

Лучшие фишки приложения Калькулятор на Айфоне Каждый из нас хоть изредка, но пользуется калькулятором на своем iPhone. Сам я пользуюсь им, пожалуй, раза в три больше, чем остальные. И дело совсем не в профессиональной необходимости. Просто в работе я не сталкиваюсь с вычислениями вообще никогда, поэтому сейчас настольк...

Универсальный Helm-чарт v2.0 Прошло чуть больше 2 месяцев с момента релиза первой версии универсального чарта, и мы рады представить чарт версии 2.0. В этой статье расскажу что нового, и рассмотрим на примере, как это работает. Читать далее

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

[Перевод] 6 правил, которые пригодились бы мне, когда я осваивал программирование В кодинге главное — не кодинг Как вы думаете, что такое программирование? Написание кода? Написание хорошего кода? Нет. Это только часть истины. Программирование — это не про кодинг. Программирование — это о решении задач при помощи кодинга. Конечного пользователя не в...

Самообучаемый чат-бот python, который умеет искать ответы в Wikipedia Написание телеграмм бота, обучающегося при общении с Вами и умеющим искать ответы на Ваши вопросы в Википедии. Читать далее

Фронтенд на рельсах (почти) без JS Вопреки слухам на пространствах девелоперских комьюнити, Rails не становится устаревшей технологией, он не собирается умирать, и остается отличным инструментом для разработки вашего нового проекта. И одна из причин заключается в том, что у Rails имеется достаточно инструмент...

QA Meetup от Ozon Tech Привет, хабравчане. Меня зовут Дима Колесник, и я занимаюсь разработкой инструментов тестирования в маркетплейсе. У нас серьёзные нагрузки: 90 млн уникальных пользователей, а в распродажи выдерживаем 5к заказов в минуту. При таком масштабе мы тестируем релиз за 5 минут и дел...

Единая точка входа с Keycloak и Яндекс в условиях большого переезда Так же, как и многие другие компании, мы долго и счастливо использовали целый стек популярных облачных сервисов (Github, Slack, Jira, Confluence и т.д.) и связывал это все Google Workspace, который выступал в том числе и как SSO для всех используемых сервисов.В связи с после...

Joomla-дайджест за 1-й квартал 2022 года На самом деле чуть больше

Элегантный вопросительный знак В этой заметке я хочу поделиться элегантным решением одной задачи с сайта-хрестоматии RosettaCode. Речь пойдёт о программе, вычисляющей функцию Минковского — одного из инструментов теории чисел и динамических систем. Несмотря на то, что реализовать эту функцию относительно н...

ИИ от DeepMind успешно помогает изучать теорию узлов, и это (скорее всего) прорыв Совсем недавно команда исследователей из компании DeepMind, которая специализируется на разработке различных ИИ-алгоритмов, опубликовала интересную научную статью. Она называется "Advancing mathematics by guiding human intuition with AI" и опубликована в авторитетном научном...

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

Opera работает над браузером, предназначенным для криптовалют Opera только что выпустила бета-версию своего Web3 (Crypto Browser). Мы найдем там много полезных функций для людей, которые работают с криптовалютами. В браузере Web3 вы найдете такие функции, как встроенный криптовалютный кошелек, а также легкий доступ к NFT и биржам крип...

Протестировать всё: о чём расскажут на Heisenbug 2022 Spring В этом сезоне Heisenbug пройдёт хитрее обычного, совместив онлайн и офлайн. На рубеже весны–лета мы проведём онлайн-часть конференции. А когда станет еще теплее — можно будет встретиться в Питере и закрепить успех мероприятия живым общением, вопросами и личными знакомствами....

Лучшие Проекты Для Начинающих Python-Разработчиков Чтобы научиться ходить – надо ходить, чтобы научиться подтягиваться – надо подтягиваться, чтобы научиться решать задачи по физике – надо решать задачи по физике. Так говорил преподаватель физики в моём университете, и эта аналогия применима и к программированию. Можно скольк...

Почему всё ломается даже у хороших программистов? Часть 2/2 После несерьёзной статьи на серьёзную тему Job Safety Driven Development стоит рассказать о том, почему даже опытные и добросовестные программисты волей случая могут попадать в схожие ситуации. Сначала захотелось написать, почему программисты ошибаются вообще, но о...

Создаём игру на KPHP с помощью FFI и SDL KPHP теперь поддерживает механизм Foreign Function Interface (FFI). Мы с Владом решили продемонстрировать его возможности и за сутки написали первую в мире графическую игру на KPHP. Игру делали с использованием библиотеки SDL: работали со звуком, обрабатывали события клавиа...

Как устроено карьерное развитие разработчиков в Альфа-Банке Всем привет. Меня зовут Иван, я руководитель направления “Единый фронт”, сегодня мы с вами поговорим про то, как можно развиваться в Альфа-Банке. Не только профессионально, но и карьерно, про то, какие вообще есть пути и возможности для разработчиков в Альфа-Банке.Я – бывший...

Создаем аналитическое хранилище данных командой из 2-3 спецов Всем привет! Сделать хорошее аналитическое хранилище (DWH), когда в команде десяток-другой крутых специалистов и пара лет времени — не сложно. Проекты по созданию DWH, Data Lake и BI обычно очень ресурсоёмки и под силу только большим компаниям. Мне интересно искать и применя...

[Перевод] Почему мы перешли с Python на Go Поставщик высоконагруженного API Stream перешёл с Python на Go, хотя этот язык знают немногие. Причинами решения делимся под катом к старту курса по Backend-разработке на Go. Читать далее

Как работает Backend-Driven UI на мобильном клиенте Привет всем, кто хочет изменять интерфейс мобильного приложения до выхода нового релиза, всем, кто хочет без лишних доработок на клиенте проводить А/B-тестирование, и всем, кто хочет забыть о срочных «новых пятничных промоакциях», которые нужны уже в понедельник. В этой стат...

7 причин почему вы не худеете. Ожирение, инсулинорезистентность и диабет простыми словами С лишним весом я на ты. Со 115 кг я «сбросился» до 72, затем в течение 3-х лет вернулся обратно к 94-м, а сейчас опять худею (уже грамотно) и в данный момент вешу 88.7 кг (ещё 7 скину и остановлюсь). Таких историй много, поэтому об этом я не буду, а вот причины (биологически...

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

Что нужно знать перед началом работы с Ansible Системы управления конфигурацией — незаменимые инструменты в арсенале разработчика и системного администратора. С их помощью можно автоматизировать рутинные операции по настройке окружения и деплоя, развёртывать приложения «одной командой» локально и на удалённые машины, а е...

Jetpack Compose Navigation в многомодульном проекте Всем привет! Я на Мосбирже занимаюсь мобильной разработкой под Android. Осенью этого года мы начали разрабатывать приложение для платформы личных финансов Финуслуги и воспользовались возможностью делать UI сразу на Jetpack Compose. Как и всегда, сразу встал вопрос выбора арх...

26 полезных лайфхаков с горячим клеем: хитрости на каждый день Сделай сам Лайфхак 21.10.2021, 19:15 26 полезных лайфхаков с горячим клеем В умелых руках даже обычный клеевой пистолет может превратиться в инструмент для творчества — нужно лишь проявить немного смекалки! В этом видео вы сможете посм...

Мгновенные снепшоты postgres на tablespace и btrfs Для работы бывает полезно иметь несколько копий одной реальной базы для экспериментов, фикстур или просто тестовых приложений. База растет и время копирования через разворачивание дампа или с помощью шаблона также возрастает до утомительных величин. Для решения этого ке...

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 1 Как добиться необходимого контроля, удобства и даже скорости при подготовке тестовых данных для микросервисов и тестов производительности? В каких случаях лучше не генерировать XML и JSON файлы с помощью конкатенации строк? Зачем анализировать статистику по SQL запросам?Меня...

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

Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play В марте Google Play стал рассылать письмо-предупреждение для разработчиков, использующих Huawei Mobile Services в своих мобильных приложениях. И в этом письме было сказано, что использование HMS в сборках для Google Play противоречит политикам стора приложений, а на решение ...

Приборостроение сейчас: вопрос жизни и смерти Сейчас непростые времена, и многие вопросы звучат по-новому. Остро и даже зловеще, потому что некоторые проблемы, вставшие перед производителями оборудования и электронных устройств, кажутся тупиковыми, но…Если вы, как и я, имеете непосредственное отношение к теме “разработк...

Babel + core-js + IE = ??? Сегодня будет рассказ про фронтендерский зоопарк. Начну издалека.Если вы фронт, то вы знаете, что наш код читается многими браузерами. Вы так же знаете, что разные браузеры реализуют разные части стандарта языка. Вы так же знаете, что разные браузеры реализуют по-разному одн...

Не все тюнячки одинаково полезны. пластина PEI на стол "Не все йогурты одинаково полезны"(c) гласила одна реклама.В мире 3d печати й̶о̶г̶у̶р̶т̶о̶в̶  тюнячек достаточно много. В одном "широко известном в узких кругах" чатике один из пользователей рассказал об установке вместо стекла стальной пластины, покрытой PEI. Мол работает о...

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

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

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

Тестирование СУБД: 10 лет опыта Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть ин...

На iPhone постоянно появляется слайдер выключения. Что делать Все владельцы iPhone и iPad знают знаменитый слайдер, который нужно сдвинуть для выключения iPhone. Но, что делать если он появляется слишком часто? С одной стороны, наличие слайдера не позволяет iPhone отключаться самостоятельно, но с другой — для доступа к системе нужно де...

Проверяем Архитектурные стили на движке Factorio (часть 1) Добрый день всем, дорогие читатели!Если вы хотя бы чуть-чуть имели неудачу пообщаться с Архитекторами, то знаете, что в их понимании не существует идеальной архитектуры ПО и вся их работа состоит во взвешивании плюсов и минусов того или иного Архитектурного стиля. И поскольк...

Чем заменить TeamViewer в России. 2 крутых способа Буквально пару дней назад российские пользователи заметили, что на их компьютерах перестал работать TeamViewer. Если кто не знал, Тимвивер — приложение, с помощью которого можно удаленно подключиться не только к компьютеру Mac, но и к любому другому. За долгие годы св...

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

Что внутри 3D сканера за несколько миллионов? Всем доброго времени суток. Расскажу я одну сказку, про передовые технологии на службе у народа....На одной из текущих работ нашел я 3Д сканер, стоящий одиноко в углу. Куплен он был несколько лет назад, за несколько миллионов. Производства он зарубежного (ЕВРОПА), за годовую...

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

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

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

Ученые объяснили, почему у тираннозавров были короткие передние лапы Ученые до сих пор точно не знают, почему у тираннозавров были такие короткие передние лапы Тираннозавры являются одними из самых узнаваемых динозавров — о том, как они выглядели, знают даже далекие от палеонтологии люди. Эти создания отличались от других древних хищников тем...

Финансовый вопрос в сфере open source — обсуждаем различные точки зрения на проблему В начале января разработчик библиотек faker.js и colors.js намеренно «испортил» собственные программные продукты. Он добавил в код бесконечный цикл, который выводил в консоль бессмыслицу. В результате нарушилась работа тысяч приложений по всему миру, в том числе у крупных об...

Добавление функции передачи в SDR# с HackRF Эта библиотека добавляет возможность использования HackRF One, совместно с приложением SDR#, в качестве трансивера. Это реализовано внедрением промежуточного слоя между SDR# и библиотекой HackRF.DLL, который подготовлен с таким же интерфейсом, что и стандартная библиотека H...

Force Update — механизм принудительного обновления мобильных приложений Абсолютное большинство мобильных приложений имеет интересный нюанс – «хвост» старых версий, которыми все еще продолжают пользоваться. В этой мы посмотрим, какие проблемы это приносит и как с этим бороться. Материал будет полезен и мобильным разработчикам, и тем, кто каким-ли...

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

Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших ком...

Какой циферблат выбрать на Apple Watch Выбор циферблата для Apple Watch — дело деликатное. С одной стороны Apple предлагает очень много по-настоящему крутых решений, которые пополняются с выходом новых версий WatchOS. C другой, нативные циферблаты быстро надоедают, а скачать сторонние на Apple Watch нельзя...

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

[Перевод] Автоматическая суммаризация текстов с помощью трансформеров Hugging Face. Часть 1 В июле 2020 года компания OpenAI выпустила свою модель машинного обучения третьего поколения, GPT-3, ориентированную на генерирование текстов. Тогда я понял, что мир уже не будет прежним. Эта модель задела меня за живое. Те системы такого рода, что выходили раньше,...

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

Копаемся в TypeScript: пишем свои Utility Types. Ключевое слово infer Йо, Хабр! Меня зовут Алексей Акулов. Я разрабатываю клиентскую часть продукта BIMeister.Почти каждый сталкивался с типами Partial или Record. Там таких еще много, но суть в том, что они входят в ту самую группу Utility Types. Такие штуки представляют из себя разные преобразо...

Как мы переносили аналитику из PostgreSQL в ClickHouse Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их реша...

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

Публикуем полезное расширение для Хабр Фриланса — Часть вторая Хабр! Добро пожаловать снова.Это вторая часть продолжающая серию статей про связанных с разработкой расширения для фрилансеров.С первой статьей где мы занимаемся разработкой расширения вы можете ознакомиться здесь. Также найти весь исходный код на GitHub и само расширение в ...

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

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

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

Vivaldi Mail 1.0 — Больше, чем почта Название сегодняшнего релиза может ввести в некоторое заблуждение. Поэтому следует сразу пояснить, что - да, это всё тот же браузер Vivaldi. И - нет, это не отдельно выпущенный почтовый клиент. На самом деле мы сегодня представляем всё ту же версию Vivaldi 5.3, релиз которой...

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

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

Android: уязвимости PendingIntent и трекинговые библиотеки Для подписчиковВ этом выпуске: анализ использования трекинговых библиотек в приложениях, рассказ об уязвимостях, связанных с использованием PendingIntent, статьи о правильном завершении и синхронизации корутин, а также статья о неочевидных тонкостях работы с объектами. Ну и ...

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

Более половины организаций сталкиваются с проблемами в имплементации Zero Trust К таким выводам пришли специалисты компании Fortinet по итогам отчета the Global State of Zero Trust Report. "В связи с развитием ландшафта киберугроз, переходом на удаленную работу и необходимостью безопасного управления приложениями в облаке, модель Zero Trust являетс...

Основные варианты использования CSS переменных (Custom Properties) CSS Variables или CSS Custom Properties уже давно используются в разработке и поддерживаются большинством популярных браузеров. Если у вас нет обязательного требования разрабатывать под IE, то вполне вероятно, вы уже успели оценить их преимущества.По этой...

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

Java. Решение практических задач Книга Анджела Леонарда позиционируется как каталог типовых решений для Java разработчиков младшего и среднего уровней. Заявляется, что представленные решения производительны, корректны и поддерживаемы.В книге все разбито на "задачи". Они тут нескольких типов: Читать дал...

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

Do it yourself: JIT компиляция SQL в Tarantool Привет, Хабр! Меня зовут Георгий Лебедев, я работаю в команде разработки ядра Tarantool. В 2021 году мы впервые участвовали в Google Summer of Code (GSoC): одним из предложенных студентам проектов была миграция SQL с VDBE на JIT-платформу — с неё и начался мой путь в Taranto...

Улучшаем дизайн React приложения с помощью Compound components Сегодня я хочу рассказать про один не очень популярный но очень классный паттерн в написании React приложений - Compound components.Что это вообще такоеCompound components это подход, в котором вы объединяете несколько компонентов одной общей сущностью и общим состоянием. От...

Наиболее распространенные уязвимости в мобильных приложениях Всем привет, меня зовут Юрий Шабалин, я один из основателей компании "Стингрей Технолоджиз" (входит в группу компаний Swordfish Security), мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Этой статьей я бы хотел открыть серию материалов, по...

[Перевод] Полезные и неизвестные возможности Java В этой статье вы узнаете о некоторых полезных функциях Java, о которых вы, вероятно, не слышали. Это мой личный список функций, использованных мной недавно или с которыми я столкнулся при чтении статей о Java. Я сосредоточусь не на языковых аспектах, а на API. ...

CompTek объявили о начале сотрудничества с Fanvil CompTek (входит в группу ЛАНИТ) сообщила о заключении дистрибуторского соглашения с одним из ведущих мировых производителей оборудования и решений для IP-коммуникаций — компанией Fanvil. CompTek будет продвигать решения ...

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

Foreign Affairs: США начинают серьезно отставать от России и Китая в области военного искусственного интеллекта Как пишет Газета.ru со ссылкой на публикацию Foreign Affairs, военные США начали отставать от своих главных конкурентов – России и Китая – в разработке и использовании технологий искусственного интеллекта. В Foreign Affairs отметили, что, хотя США и явл...

Как изменилась стандартная библиотека Python за последние годы Когда выходит очередная версия Python, все внимание достается новым фичам языка: моржовому оператору, слиянию словарей, паттерн-матчингу. Еще много пишут об изменениях в асинхронной работе (модуль asyncio) и типизации (модуль typing) — эти модули на виду и бурно развиваются...

Эксклюзивно для MacBook Pro, да и то не всех. Представлена карта расширения Transcend JetDrive Lite 330 Компания Transcend представила карту расширения JetDrive Lite 330 объёмом от 128 ГБ до 1 ТБ. Это решение эксклюзивно для MacBook Pro нового поколения и моделей, выпускавшихся с 2012 по 2015 год. Фактически это карта SD, так как новые ноутбуки Apple как раз вернули себе...

«Дорогая, я распечатал наших детей» После двух статей начинающего «3D-печатника», я не планировал больше писать об этом хобби: совсем уж «начинающим» я перестал быть, да и материал этот из тех, что лучше всего усваиваются и осваиваются лишь на собственном опыте. Но определенная проблема, возникшая естественным...

[Перевод] Как работать с числами с плавающей точкой в Python К старту курса по Fullstack-разработке на Python делимся решениями классической проблемы неточности чисел с плавающей точкой для новичков. В материале вы найдёте примеры работы с функциями и классами, предназначенными специально для решения проблем чисел с плавающей точкой. ...

Как мы в QIWI внедряли Kotlin Multiplatform Mobile Часть 2: Смотрим шире Это продолжение нашего рассказа о внедрении Kotlin Multiplatform Mobile в QIWI. Если хотите узнать больше про технику, посмотреть на код, переходите в первую часть. В этой статье будет больше контекста про то, как мы принимали решение, готовили прототип и внедряли технологию...

Что в глубинах Data Lake? Строим архитектуру, укладываем слои, распределяем ответственность Привет, Хабр! Меня зовут Григорий Коваль, я технический руководитель Core Data Lake центра Big Data МТС. Сегодня я расскажу о том, какие слои находятся внутри Data Lake, как построить архитектуру базы данных и чем распределенный Data Mesh-подход отличается от монолитного хра...

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

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

Работа с фреймворками Python: преимущества и проблемы Фреймворки помогают ускорить разработку и сделать её приятнее. Программу, которая раньше писалась неделю и занимала 1000 строк, с помощью фреймворка вы можете создать за пару часов и уместить в 50 строчках кода. Некоторые решения даже поставляются в виде подписки на сервисы,...

Топ-5 провальных решений при разработке на Tarantool Tarantool — гибкий инструмент для разработки высоконагруженных систем хранения данных. На нём пишут очереди, кеши и мастер-хранилища с разной топологией.Часто разработчики начинают работать с Tarantool, имея большой опыт работы с SQL, и пытаются применять привычные подходы ...

WinAPI из C# Язык программирования C# был создан как язык, который можно использовать для простого программирования в ОС Windows. Позже этот язык получил возможность создавать приложения и на других операционных системах, но в этой статье мы будем говорить только об ОС Windows.Для работы...

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

Компьютер заBIOSает? Изучаем буткиты Самый популярный совет в случае, если что-то идет не так или работает медленно, ― перезагрузить компьютер. Вторая по популярности рекомендация ― переустановить ОС, чтобы избавиться от вирусов. Если не помогает ни первое, ни второе, то&...

Про поддержку Certificate Transparency для национальных сертификатов Недавно мы рассказывали Хабру про поддержку в Яндекс Браузере тех сайтов, которые перешли на использование национальных TLS-сертификатов. Если вы пропустили, то рекомендуем прочитать пост, он содержит ответы на популярные вопросы.  Сегодня мы расскажем про следующи...

Надгробья современного геймдева. Добрососедское Как гласит старинная скандинавская максима, "С соседями своими в мире живи, чтобы не сожгли дома твоего".К сожалению, даже в такой критически важной мелочи, как добрососедское сосуществование с иным софтом, в геймдеве (да и, чего греха таить, в целом по IT) наблюдается хрони...

Обзор ORM для C#: что подойдет для проекта Одна из проблем использования языков объектно-ориентированного программирования (ООП) и баз данных в сложности их согласования между собой. Знание языка структурированных запросов (SQL) и умение писать запросы позволяют взаимодействовать с БД напрямую. Но использование «чист...

Новые одноплатники, на которые стоит обратить внимание в 2022 году Привет, Хабр! Наступил 2022 год, а значит, самое время рассказать о новинках в мире одноплатников. Большинство из новых моделей пригодны как для использования в DIY-проектах, так и для решения корпоративных задач. Подавляющее большинство устройств, которые попали в эту подб...

Браузер DuckDuckGo стал доступен для Mac. Пока в виде бета-версии Известная поисковая система DuckDuckGo, ориентированная на приватность, наконец-то стала доступна для macOS в виде полноценного браузера.  Разработчики вчера объявили о запуске бета-версии DuckDuckGo для Mac, а позже появится и версия для Windows.   Как и наш...

Отечественный «трастфон» Ростеха перешёл с Android на «Аврору» В России представили новую версию отечественного смартфона  под названием AYYA T1. Его разработала «СмартЭкоСистема», дочерняя компания госкорпорации «Ростех». Версия на основе операционной системы Android поступила в продажу осенью 2021 го...

Как подготовить бэклог продукта с большим количеством зависимостей и не потратить время впустую Привет, меня зовут Макс, я продакт команды Self-Service в мобильном приложении Тинькофф. У моей команды три основные цели по созданию сервиса: contactless, proactive и self-service.   Это значит, что мы стараемся сделать незаметными процессы для пользователя: убрат...

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

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

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

Что лучше: Переводчик Apple, Google Translate или Яндекc.Переводчик В современном мире с необходимостью перевода сталкиваются все. Давно прошли времена, когда пользователь, увидев сайт в интернете на английском языке, закрывал его и искал отечественные аналоги. Еще бы: переводчик нынче встроен в браузер. Теперь любой текст можно перевести п...

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.В первой части э...

AMD разрабатывает библиотеку HIP RT AMD выпускает HIP RT (Ray Tracing), добавляя новую библиотеку трассировки лучей в Heterogeneous Interface for Portability или HIP. HIP RT упрощает написание приложения трассировки лучей в HIP за счет использования библиотеки и API, созданных для простой и легкой интеграции в...

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

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти) Сегодня SQL используют уже буквально все на свете: и аналитики, и программисты, и тестировщики, и т.д. Отчасти это связано с тем, что базовые возможности этого языка легко освоить. Однако работая с большим количеством junior-ов, мы раз от раза находим в их решениях одни...

Графовые базы данных на примере простых запросов Статья  будет полезна начинающему разработчику или тому, кто хочет расширить свой кругозор практическим знакомством с графовыми базами данных. Часто в аналогичных статьях не хватает либо пошаговой инструкции по установке, либо более детального разъяснения –  как об...

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

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

Как мы меняем Anti-spoofing модель с вендорских решений на собственные Привет! Меня зовут Ренат Алимбеков, я занимаюсь задачами, связанными с Computer Vision в Beeline Казахстан. Сейчас моя работа направлена на Anti-spoofing. Моя основная задача сейчас — заменить вендорские решения в продуктах Beeline Казахстан на собственные. В этой стать...

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

В платформах Low-code важна универсальность Денис Бахаев, руководитель по развитию направления «Цифровые решения» Siemens Digital Industries Software, — об областях применения Low-code, направлениях его развития и о заблуждениях, связанных с его применением. Платформы Low-code позиционируются как инструментарий «дл...

19 мая Ozon Tech × Сoffee&Code приглашают на Mobile Meetup: перформанс и Backend-Driven UI Привет! Меня зовут Саша Свиридов, я руковожу отделом мобильной разработки в Ozon. В моей команде чуть больше 80 человек — это Android- и iOS-разработчики и QA-инженеры. Мы делаем основное приложение Ozon для покупателей. Моя команда состоит из семи кроссфункцинальных групп р...

Как проверить безопасность сайта? Как проверить безопасность сайта, на который входишь? Что означает восклицательный знак, который появляется в адресной строке при заходе на некоторые сайты? На эти вопросы и другие ответили специалисты Госспецсвязи Украины.Проверить безопасность сайта можно по нескольким кри...

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

Как приручить DDD. Часть 2. Практическая В прошлой статье я рассказал, как мы пришли к DDD и про его очень важную особенность — единый язык, на котором легче и дешевле разговаривать с бизнесом. Еще мы рассмотрели разработку, ведомую моделью. Когда вначале стоит не выполненная по требованию фича, а абстрактная модел...

11 советов менеджеру от «серийного интервьюера» Привет, я Александр Пузеев, Software Lead инженер Beeline Казахстан. За 2021 год провёл 85+ собеседований, не считая внутренних переходов, то есть провожу одно собеседование в 3–4 дня. Я делаю это не потому, что мне нечем заняться или просто по фану. Это одна из моих рабочих...

Как перевести на Linux крупный бизнес Заменить на одном компьютере ОС Windows на Linux способен ИТ-специалист с минимальной квалификацией. Сделать то же самое на сотнях и тысячах компьютеров крупной и даже средней компании без ущерба для ее бизнеса намного сложнее. С какими проблемами при переводе своей ИТ-систе...

Elementary: новый взгляд на архитектуру Flutter-приложений Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки. Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере р...

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

Этапы развития продакт-менеджера. От разработки фич до выхода на новый рынок Меня зовут Наталья Царёва, вот уже 4 года я работаю в компании ISPsystem на должности product manager. Сейчас я полностью отвечаю за DCImanager —  это платформа для управления оборудованием. Как CEO, только не компании, а продукта. Но такой уровень ответственности и спи...

Собеседование наоборот: ВТБ, «Билайн», МТС, «Домклик», «Полианалитика», Sportmaster Lab, Devexperts, Usetech В прошлом месяце на Хабр Карьере завершилась вторая карьерная неделя. В этот раз она была посвящена аналитикам. Карьерная неделя — это что-то вроде дня открытых дверей, который длится всю неделю. В гонке за специалистами участвовали восемь компаний: Usetech, Домклик, Полиана...

Лучшая bluetooth колонка своими руками — 5 критериев успеха Прошло 2 года с того момента как я начал делать bluetooth колонку. И наконец она полностью готова. (Конечно опять не до конца — еще нужно чуть-чуть дописать прошивку). Нужно сказать, что саму электронику я сделал гораздо быстрее — всего 3 месяца. Это время от идеи до готовой...

[Перевод] TDD: Что пошло не так? Эта статья является переводом материала «TDD: What went wrong or did it?».В сфере разработки программного обеспечения уже давно хвалят Test Driven Development (TDD, разработка через тестирование). Однако в последнее время было сказано много резких слов в адрес TDD, поскольку...

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

Защитник Windows – один из лучших антивирусов для Windows 10 и Windows 11 Независимая организация AV-Test регулярно проводит тестирование самых популярных антивирусных решений на рынке с целью определения приложений, обеспечивающих максимальную защиту пользователей, их ПК и данных. Специалисты AV-Test опубликовали результаты масштабного ...

[Перевод] Интеллектуальный брутфорс: пишем головоломку и солвер для неё Небольшое предисловие В колледже я много играл в головоломки. В статье под головоломками я буду подразумевать очень узкое подмножество таких игр. Вот некоторые из примеров: Stephen's Sausage Roll English Country Tune Sokobond Также мне посчастливилось изучать структуры д...

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

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

[Перевод] Ищем путь до линукс команд, как профессионалы Один из самых распространённых вопросов от подписчиков — как получить путь к команде Linux, которую только что установили в систему с помощью пакетного менеджера, например, команды apt или DNF. Много новых разработчиков переходит к нам из мира Windows, и для многих это перв...

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

Как работать с деньгами, или денежные суммы в бэкенд-разработке Наша команда периодически пополняется новыми людьми, которые «приносят с собой» новые ошибки. Поэтому мы регулярно проводим семинары с их разбором. Это хороший повод напомнить всем о правилах работы с суммами, объяснить новичкам зачем они нужны и, возможно, пополнить наш чек...

Грабли, спрятанные в Kotlin Kotlin создавался, чтобы избежать некоторых проблем Java. Но как и в любом языке, есть в нем свои особенности. Разрабатывая собственный проект, мы наткнулись на несколько таких моментов. Часть стреляет вам в колено на продакшене, только если вы ими злоупотребляете. Другая от...

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

[Перевод] Хуки — это лучшее, что случилось с React React — это самая популярная фронтенд-библиотека из экосистемы JavaScript. Она известна простотой использования и читабельностью кода, создаваемого с её применением. Это позволяет организациям самых разных масштабов успешно внедрять данную библиотеку. Но компоненты, основанн...

«Не ведём агрессивный маркетинг, не заставляем покупать прямо сейчас»: как Yamaha Music пишет рекламные статьи в Дзене Что такое неагрессивный маркетинг, сложно ли перестроиться с офлайн-мероприятий на подачу материала через блог и как научиться писать статьи в Дзен с нуля? Специалисты из Yamaha Music (Russia) Анастасия Бахметьева и Кирилл Старцев р...

Подборка материалов по мобильной безопасности «Awesome Mobile Security» Привет, Хабр!Меня зовут Юрий Шабалин, я один из основателей компании "Стингрей Технолоджиз" (входит в группу компаний Swordfish Security), мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. По долгу службы мы подписаны на большое количество р...

«Бизнес Nvidia — вне политики». Nvidia «никогда не заявляла об уходе» из России Представители американской Nvidia сделали очень интересное заявление журналистам тематического ресурса TAdviser в отношении деятельности компании в России. Пресс-служба Nvidia сообщила: Бизнес Nvidia - вне политики, насколько это сейчас возможно, и мы никогда не заявля...

МойОфис интегрировал почтовую систему и ВКС-решение TrueConf. Рассказываем, как это работает В рамках недавнего релиза 2.0 мы улучшили и расширили возможности продукта «МойОфис Почта» для корпоративных заказчиков. Подробности о составе релиза читайте здесь. Сегодня же рассмотрим одно из его интересных нововведений — возможность интегрировать с «МойОфис Почта» сторон...

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

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

CompTek начинает продвижение решений TongTech на российском рынке Российский дистрибутор CompTek (входит в группу ЛАНИТ) подписал соглашение о партнерстве с китайской компанией TongTech. Она является одним из ведущих производителей продуктов и решений в области информационной безопасности ...

Huawei предлагает бизнесу воспользоваться полностековым решением для ЦОД На выставке Mobile World Congress 2022 (MWC 2022) в Барселоне компания Huawei представила полностековое решение для ЦОД в рамках корпоративного форума Huawei Full-Stack Data Center Forum. Новинка разработана, чтобы помочь бизнесу освоить современные центры обработки данных. ...

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

Цифровая рыбалка в GitHub Copilot Эта небольшая заметка посвящена одной особенности GitHub Copilot. Про неё можно найти вопросы на stackoverflow, статьи и видео в интернете, но на хабре я не видел материалов на эту тему. Наверно, плохо искал.Copilot может подсказать вам не только код подходящей функции, но и...

Почему всё ломается даже у хороших программистов? Часть 1/2 После несерьёзной статьи на серьёзную тему Job Safety Driven Development стоит рассказать о том, почему даже опытные и добросовестные программисты волей случая могут попадать в схожие ситуации. Сначала захотелось написать, почему программисты ошибаются вообще, но о...

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

Wix toolset: не так страшен черт, как Windows installer В статье я хотел бы поделиться своим опытом написания инсталлятора для Windows с использованием инструмента Windows Installer XML Toolset (далее - Wix). К сожалению, несмотря на всю мощь данного инструмента, его использование сильно осложняется куцей документацией, стареньки...

[Перевод] Инструкция по Selenium Docker В этой статье мы расскажем о том, как запускать Selenium-тесты в Docker и выполнять их в браузерах Chrome и Firefox. И мы, вероятно, также поймем, зачем запускать Selenium-тесты в Docker. Читать далее

Как сделать свои наушники В СНГ (и не только) существуют крупные сообщества энтузиастов, которые развивают тему самостоятельного изготовления электроакустической аппаратуры, в том числе и наушников. В этой области накопилось большое количество материала, так что пришла пора собрать в одном месте все ...

STL и Analog Devices заключили сотрудничество в сфере создания радиомодулей Open RAN 5G Компания STL (NSE: STLTECH), один из ведущих в отрасли интеграторов цифровых сетей, объявила о сотрудничестве с Analog Devices, Inc. в сфере разработки радиомодулей 5G Open RAN (O-RU). Вместе эти две компании будут разрабатывать решения, готовые к использованию в сетях ...

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

«Писать код — не главное». Авторы курсов из HTML Academy делятся секретами профессии Академия началась 10 лет назад с интерактивных тренажёров по вёрстке, которые сделал Саша Першин. Через год появились полноценные интенсивные курсы для верстальщиков, а чуть позже добавились курсы по JavaScript, React и PHP. Всё это добро нужно было кому-то вести — ...

Математика и IT Джорджо де Кирико. Великий метафизик (The Grand Metaphysician), 1917. Если посмотреть список хабов Хабра, то увидим, что в IT можно выделить много направлений. Для этой статьи возьмем классификацию попроще. 1) CS — создание подходов, имеющих научную новизну. Разработка нов...

Delphi+OpenCV Сначала была мечта…Что-то похожее на робототехническую систему, с двумя подвижными камерами, способностью отслеживать (направлять «взгляд» на) заданный объект и определять расстояние до объекта. И это был 2012 год. Но так как я больше программист нежели железячник, то все на...

Как прогнозировать временные ряды с ETNA Меня зовут Андрей, я разработчик библиотеки ETNA в Тинькофф. В статье расскажу, как быстро и легко анализировать временные ряды с помощью ETNA, зачем временным рядам столько фич, и покажу, что даже простой линейной моделью можно получить хороший результат прогнозирования. [П...

Асинхронный django — status update. Проект vinyl Всем привет.Некоторое время назад я писал про альтернативные возможности, как можно добавить в django асинхронность (есть официальный подход, изложенный в DEP-09). С тех пор у меня получилось оформить свои идеи в нечто относительно цельное, что вылилось в vinyl project. ...

Путь в ИТ: разработчик с 30-летним опытом о карьере, олдскульном программировании, переписывании чужого кода и правилах  В нашем первом посте для Habr мы рассказывали про сотрудника, который в один момент радикально изменил карьеру – ушел из пилотов вертолетов в тестировщики. Отклик был очень хорошим, мы продолжили искать интересные истории внутри компании. В прошлом году к нашей команде...

[Перевод] Краткий обзор результатов взаимодействия между нейронауками  и индустрией искусственного интеллекта. Перевод статьи Перевод статьи "Natural and Artificial Intelligence: A brief introduction to the interplay between AI and neuroscience research", опубликованной в сентябре 2021 года. Оригинал статьиИсходно перевод делался на скорую руку, для собственных прикладных задач и не для открытой пу...

Pega vs Camunda: выбор между платформой и библиотекой при создании BPM-решения Определение подходов к автоматизации бизнес-процессов и связанный с этим выбор конкретных технологий, особенно в крупной организации, - комплексная задача, которая требует учитывать экономические, организационные, функциональные, технические и другие аспекты. Сегодня на рынк...

Как мы используем юнит-тестирование в СУБД Oracle В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-т...

Флаг EPOLLEXCLUSIVE и проблема неравномерного распределения соединений в Nginx на Linux Совсем недавно, 25 января 2022 года вышел новый релиз Nginx - 1.21.6, в котором исправлена проблема неравномерного распределения входящих соединений между несколькими worker процессами в дефолтной конфигурации на Linux системах. Если конкретнее - use epoll, accept_mutex off,...

Apple выпустила Android-приложение для защиты от слежки Факт того, что Apple не очень-то заботится о пользователях Android-смартфонов, совсем не удивляет. Ну, с одной стороны, вполне очевидно. Хочешь пользоваться яблочными сервисами — покупаешь iPhone. С другой, если не обеспечить доступ к некоторым фишкам для владельцев д...

Взятие Масады Пару дней назад в блоге уважаемого @LKamrad была интересная статья с расшифровкой зарплатной ведомости римского солдата Х легиона. Того самого легиона, который брал знаменитую Масаду. Поэтому первый же комментарий был просьбой рассказать про эту крепость. Что-ж, не могу удер...

«Т1 Интеграция» расширила портфель решений СХД продуктами RAIDIX «Т1 Интеграция», один из лидеров рынка системной интеграции в России, расширяет продуктовый портфель по направлению систем хранения данных (СХД) решениями RAIDIX. В соответствии с партнерским соглашением Т1 Интеграция ...

[Перевод] Постигаем WebAssembly, рисуя кривую дракона Познакомьтесь с WebAssembly на примере этого простого туториала, требующего лишь самых общих знаний в веб-разработке. Весь инструментарий, который понадобится вам, чтобы составить впечатление о Wasm на основе готовых к запуску примеров кода – это редактор кода, любой совреме...

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

Как нативно визуализировать голос в iOS Реализовать запись и проигрывание аудиофайлов в iOS несложно. Но если к этому добавляется задача визуализировать звук в момент записи с микрофона, это может вызвать сложности даже у опытного программиста, который мало работал с AVFoundation — мультимедийным фреймворком ...

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

Мини-игра на Rust + macroquad В данной статье я постараюсь подробно рассказать о том, как написать небольшую игру, используя в качестве инструментов язык программирования Rust и библиотеку macroquad. Читать далее

«Бизнесом чуть-чуть занимаюсь, чтобы не закиснуть мозгами»: Олег Тиньков рассказал о продолжении борьбы с лейкемией Бизнесмен считает, что победить болезнь окончательно невозможно.

Тестируем быстродействие трех библиотек Python Передо мной стояла задача выбрать библиотеку для расчета на Python, использующего операции над матрицами. Я выбрал и протестировал несколько вариантов, как использующих видеокарту (GPU), так и работающие только на процессоре.Использовал три библиотеки: Numpy, Pytorch и Numba...

Пишем стратегию тестирования для Agile/Scrum-проекта Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю над проектом WASD.TV. В этой статье я моделирую стратегию тестирования для Agile/Scrum-проекта. Она может быть полезна небольшим командам, работающим по такой методологии. Стратегия проста, но не униве...

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

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

Чем заменить 1Password в России. Лучшие менеджеры паролей Не так давно из App Store исчезло популярное приложение 1Password. Подумать только, сколько лет мы рекомендовали вам это приложение и писали о том, что оно одно из лучших на рынке. Да и у простых пользователей он был на слуху. По факту, 1Password стал для нас чуть ли не син...

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

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

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

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

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

HAProxy, Nginx и Docker: как это сделано в Roxy-WI Продолжаем цикл статей о возможностях Roxy-WI. Сегодня мы поговорим ещё об одном важном наборе функций, связанных с управлением сервисами (а именно ― HAproxy и Nginx) в docker-контейнерах. Мы старались сделать эту функцию максимально простой и удобной в использовании. О том,...

Как написать тысячу автотестов за пару дней Меня зовут дядя Вова, я ведущий инженер по автоматизации тестирования и, как писал уже несколько раз, неизменный фанат Robot Framework. Даже когда-то контрибьютил в его исходный код и иногда помогаю новичкам в официальном slack-чате этого инструмента. Но, как я уже упоминал...

Организация теплоотвода для мощных микросхем (СВЧ платы) Я разрабатываю СВЧ-устройства, многие из них достаточно мощные, поэтому у меня накопился некий опыт по решению задач теплоотвода. В этой статье речь пойдёт преимущественно о небольших тепловыделяющих микросхемах, установленных на плату с металлизированными отверстиями - напр...

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

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

[Перевод] Лучший технический вопрос, который мне задавали на собеседовании Много воды утекло с тех пор, как я в последний раз участвовал в собеседовании по программированию как соискатель. Но до сих пор помню особенно полюбившийся мне вопрос с такого собеседования. Дело было в MemSQL, году так в 2013. (Они даже успели переименоваться, поэтому,...

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

Как я болел и восстанавливался, COVID-19 Я senior software developer. Разрабатываю на java уже лет 9. Никогда не писал и не рассказывал массам людей ничего. Вот пришло время, так как мой опыт колоссальный и уникальный, я не знаю подобных ситуаций, когда в таких условиях люди выживали. Конечно, уверен, есть случаи и...

Уникальная ВКС-камера от Yealink — оптимальное решение для ZOOM/Skype/Teams В этой статье речь пойдёт о PTZ-камере Yealink UVC84, которая имеет разрешение 4K, 12-кратное оптическое увеличение и беспрецедентные возможности по интеграции.Прошло немало лет с тех пор, как Yealink зарекомендовал себя в роли производителя качественных систем видеоконферен...

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

Alcatel-Lucent Enterprise фокусирует свои UC-решения в России Представители российского офиса Alcatel-Lucent Enterprise рассказали о достижениях и планах развития бизнеса компании в области решений для унифицированных коммуникаций (UC) и совместной работы. Как напомнила директор ...

Модули памяти GoodRAM IRDM RGB DDR4-3600: первое решение компании с настраиваемой подсветкой, но без выдающихся особенностей Основной упор в ассортименте польской компании Wilk Elektronik SA пока остается на «традиционные» модули с разноцветными радиаторами, но осенью уходящего года появилась и линейка GoodRAM IRDM RGB DDR4. Впрочем, «линейка» — пока еще слишком громко сказано: доступен всего один...

Флуктуация шелл-кода. Пишем инжектор для динамического шифрования полезной нагрузки в памяти Для подписчиковСегодня поговорим об одной из продвинутых техник уклонения от средств защиты при использовании фреймворков Command & Control — динамическом сокрытии шелл-кода в памяти ожидающего процесса. Я соберу PoC из доступного на гитхабе кода и применю его к опенсор...

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

Фасилитация на практике, или Как команде принять одно решение для всех Как выглядит процесс принятия решений в ваших командах? Если вам нужно принять совместное, устраивающее всех, решение, то как вы достигаете консенсуса? С какими сложностями сталкиваетесь? Если у вас есть молчуны, то решение принимают самые громкие?Меня зовут Александра Бапти...

Гигантская системная плата с собственным сенсорным экраном и ценой более 2000 долларов. MSI MEG Z690 Godlike выходит в продажу Топовые системные платы всегда весьма дороги. И особенно, когда речь идёт о соврешенно новой платформе. Но цена MSI MEG Z690 Godlike выделяется даже в этой ситуации.  Вышедшая в продажу модель оценена в 2100 долларов! На момент анонса в середине декабря это была с...

Как печатать на iPhone без рук? Топовые фишки, которые вы могли не знать Apple регулярно улучшает iOS и делает iPhone более пригодным для использования в различных ситуациях. Ввод текста — одна из важнейших функций, которыми мы пользуемся, возможно, чаще остальных. Подумайте сами: мы регулярно набираем сообщения, делаем записи в Заметках и...

Flutter for Web: гайд для начинающих Изначально Flutter был известен как фреймворк для создания кроссплатформенных мобильных приложений для Android и iOS. Но концепция Flutter не ограничивается мобильной разработкой, фреймворк позволяет создавать пользовательские интерфейсы для любого экрана с помощью кроссплат...

Опрос 3Д-печатников Всем привет, неделю назад я провел опрос среди местного населения и в телеграм-чатах. Сам опрос был посвящен сушке филамента, однако ряд вопросов затрагивал и 3Д-печать в целом. Банальные вопросы о возрасте и количестве 3Д-принтеров. 40% опрошенных указали на свой интерес к ...

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

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

[Перевод] Обучение с подкреплением: сети Deep Q В предыдущих материалах из этой серии мы рассказали о том, что такое обучение с подкреплением (Reinforcement learning, RL), поговорили о том, почему это важно, разобрались с математическим аппаратом, используемым для создания RL-агентов. Читать далее

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

[Перевод] Основы Cypress: тестирование API Если вы уже тестировали API с помощью Postman или какого-либо другого инструмента, никаких особых трудностей возникнуть не должно. Cypress — отличный инструмент для тестирования, который в том числе очень полезен при тестировании API. В этой статье я расскажу о том, как напи...

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

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

Система распознавания шрифта Брайля. Читаем написанное белым по белому В 2018 году мы взяли из детдома в семью слепую девочку Анжелу. Тогда я думал, что это чисто семейное обстоятельство, никак не связанное с моей профессией разработчика систем компьютерного зрения. Но благодаря дочери через два года появилась программа и интернет-сервис для ра...

Как ManyChat на PHP8 переезжал Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. П...

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

Глава Redmi интересуется по поводу однокристальной платформы MediaTek Dimensity 7000. Она будет использоваться в одном из смартфонов серии Redmi K50 Сразу после анонса однокристальной системы MediaTek Dimensity 9000 первые лица Xiaomi начали интересоваться у пользователей, что они думают на счет этой SoC. Такой «вброс» – явный намек на использование новой платформы в одном из смартфонов компан...