Социальные сети Рунета
Пятница, 19 апреля 2024

Добавляем темную тему в iOS Всем привет! Меня зовут Андрей, я из команды «Мой Брокер». Я рассĸажу Вам ĸаĸ добавлял поддержĸу темной темы в iOS. Apple в iOS 13 добавила темную тему для всей системы, пользователи могут выбрать светлое или темное оформление на настройках iOS. В темном режиме система исп...

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

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2 В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang. Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В эт...

[Перевод] Создание тёмной темы для Stack Overflow 30 марта 2020 года разработчики Stack Overflow дали посетителям сайта возможность пользоваться бета-версией тёмной темы. Материал, перевод которого мы публикуем, посвящён рассказу о том, как создавалась тёмная тема Stack Overflow. Баннер на Stack Overflow, который позволяе...

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

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

В WhatsApp на Android появится тёмный режим Простая фишка — тёмный режим — завоёвывает массы. Без сомнения многие любят не только OLED-дисплеи, но и темы, где преобладает белый шрифт на чёрном фоне. И конечно подобный заголовок можно даже и не считать новостью. С другой стороны, наконец-то в популярном мес...

YouTrack 2019.3: обновленный список задач и многое другое Меня зовут Лена, и я принесла вам YouTrack. Вы наверняка слышали про этот сервис трекинга задач от JetBrains, а если нет — время познакомиться! Мы выпустили новую версию и вот что происходит: появились новые функции и улучшения практически для всех сценариев использования Yo...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

Facebook Lite теперь поддерживает темную тему Компания Facebook добавили в свое приложение Facebook Lite режим Dark Mode. Темную тему добавили в стабильной версии приложения Facebook Lite. Активировать темную тему можно в настройке приложения. Но к сожалению, разработчики приложении Facebook Lite почему то не оптимизи...

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

Бинарная совместимость Reaktive: как мы её обеспечиваем Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостя...

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

World Composition для игр с открытым миром — Unreal Engine 4 Всем привет. Меня зовут Ширшов Владимир и я техлид проекта King's Bounty 2. Игра разрабатывается на движке Unreal Engine 4.King's Bounty 2 - это игра с открытым миром, в котором есть города, поселения, наполненные персонажами, интерактивными объектами и зонами сражений. Перс...

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

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

У долгожданной тёмной темы WhatsApp обнаружился значительный недостаток Пару недель назад принадлежащая Facebook команда WhatsApp, наконец-то, сделала тёмную тему доступной пользователям Android в тестовом режиме. Однако у долгожданного новшества обнаружился один важный недостаток.   По данным источника, тёмная тема WhatsApp недостато...

Google тестирует «идеальный» тёмный режим Chrome для смартфонов Android Тёмная тема для смартфонов успела завоевать множество поклонников. С запуском Android 10 она стала доступна на системном уровне. Множество приложений сейчас уже имеют встроенные тёмные темы и многие способны синхронизировать этот параметр с Android 10.  На данный ...

Склонение слов и инициалов в Delphi/Freepascal Добрый, предновогодний день всем! В этой статье я бы хотел рассказать, как мне пришлось вернуться в legacy-проект на паскале, причем буквально перед тем, как навсегда распрощаться и с ним, и с лазарусом, и с отсутствием темной темы из коробки. В прошлый раз я объяснял, что н...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

Как включить темную тему на любом сайте в Safari для Mac Когда в Apple начали экспериментировать с темной темой оформления на Mac и iPhone, некоторые сайты доработали для включения темного оформления.   Если разработчики не предусмотрели такую возможность, можно принудительно включить темный интерфейс на любом сайте. &#...

В WhatsApp на Android скоро появится темный режим Разработчики WhatsApp добавили темный режим в приложение для Android. На данный момент он доступен только для пользователей бета-версии. А через неделю будет доступен через неделю. Новая опция Dark Theme появляется в настройках WhatsApp. У вас есть три варианта под Темо...

Темная тема Google Play теперь доступна всем пользователям Android Смартфоны работающие на операционной системе Android 10 уже несколько месяцев назад получили доступ к темной теме в Google Play. И вот теперь поисковой гигант представил альтернативный режим для устройств на более ранних версиях Android. Пользователям нужно перейти в ме...

WhatsApp наконец-то получил финальный вариант темной темы После длительного периода бета-тестирования популярный мессенджер WhatsApp наконец-то получил финальный вариант темной темы оформления. Она доступна и для пользователей iPhone, и для пользователей смартфонов на базе ОС Android. При условии использования системной темной...

[recovery mode] Использование faiss для поиска по многомерным пространствам Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объя...

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

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

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

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

Microsoft Word станет полностью темным Темные темы стали очень популярны на мобильных устройствах и компьютерах, и на этом фоне Microsoft хочет добавить соответствующий режим в текстовый редактор Microsoft Word.Сообщение о скором выпуске приложения с полностью темной темой появилось в Twitter. Если верить источни...

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

В бета-версии WhatsApp для iOS появился тёмный режим В прошлом месяце разработчики из Facebook интегрировали тёмный режим в бета-версию мобильного приложения WhatsApp для Android. Теперь же стало известно, что тёмная тема появилась в клиенте популярного мессенджера для iOS. На данный момент испытать новую функцию могут только ...

[Из песочницы] Наука vs IT. Как я бросил исследования ради разработки Привет, Хабр. Меня зовут Михеев Илья, я back-end разработчик в компании FINCH. Сегодня я расскажу о том, как простые люди попадают в IT, почему в «Сбере» на «Каширке» все плохо, а заодно расскажу почему молодые ученые уходят в IT. Думаю, что последняя тема больная для мног...

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

Темный режим в WhatsApp доступен на iOS и Android Так называемый «dark mode» доступен для всех пользователей мессенджера WhatsApp (после длительного бета-тестирования). Темный режим позволяет снизить нагрузку на глаза при использовании смартфона в помещении с недостаточной освещенностью (да и окружающих экран с пониженной ...

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

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog) Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)Это первая часть статьи, в которой мы расс...

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

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

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

[Из песочницы] Вступление в работу с возвратом пользователя: советы для Hooked-модели Всем привет! Я — Сергей, R&D officer в Genesis. В этом тексте хочу поделиться своими знаниями и опытом по созданию привычки использования продукта, рассказать о том, как это влияет на прибыльность бизнеса и почему предпринимателей встречают по возврату. Читать дальше &...

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

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

Мониторинг бизнес-процессов Camunda Привет, Хабр. Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка. Это продолжение цикла статей о нашем опыте использования движка для работы с диаграмм...

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

[Из песочницы] Виджеты на Android. Редкая фича, в которой придется разобраться Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для ...

[Из песочницы] 1С-Битрикс и попытка его внедрения Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. Читать дальше →

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

Новая версия «Р7-Офис» представлена разработчиками В новом релизе «Р7-Офис» версии 6.3.1 воплощены давно запрашиваемые пользователями возможности. В редакторах появилась тёмная тема оформления, плюс интерфейс теперь может быть масштабирован на 150%. Среди других улучшений — скорость работы, совместимость с новыми форматами д...

Как включить тёмную тему оформления в Google Play Store? Тёмная тема оформления — тренд. Уже множество приложений получило такое оформление, а всем известные нам производители, которые поверх Android натягивают свои фирменные оболочки доработали их так, чтобы тоже можно затемнить гамму интерфейса. Не смогла остаться в стороне и ...

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

«Тема в чёрном» One UI 2.0 Dark для MIUI 11 — для тех, кто любит потемнее Сегодня дизайнер S21696 порадовал нас новой темой «в черном» One UI 2.0_Dark для MIUI 11. Установить ее можно на два режима — светлый и тёмный, хотя, поверьте, менее черным ее фон не станет. Впрочем, отлично читающиеся яркие скругленные значки выполняют свою задачу на все 10...

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

Михаил Салосин. Golang Meetup. Использование Go в бэкенде приложения «Смотри+ Михаил Салосин (далее – МС): – Всем привет! Меня зовут Михаил. Я работаю бэкенд-разработчиком в компании MC2 Software, и я расскажу об использовании Go в бэкенде мобильного приложения «Смотри+». Кто-нибудь из присутствующих любит хоккей? Тогда это приложение для вас. О...

[Из песочницы] Используем passwordstore.org — менеджер паролей в стиле KISS Всем привет. В этой статье я хотел бы поделиться своим опытом настройки и использования pass — менеджера паролей для Linux и не только, примечательного своей простотой, использованием уже присутствующих в системе инструментов и возможностью работать исключительно из консоли....

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

«Цвет настроения чёрный»: настоящая тёмная тема One UI 2.0 для MIUI 11 Сегодня дизайнер S21696 порадовал нас новой темой «в черном» One UI 2.0 (Dark) для MIUI 11. Установить ее можно на два режима — светлый и тёмный, хотя, поверьте, менее черным ее фон не станет. Впрочем, отлично читающиеся яркие скругленные значки выполняют свою задачу на все ...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

ML в облаке: как я попробовал Yandex DataSphere и почему его так непросто сравнить с Google Colab Привет, Хабр! Меня зовут Дмитрий (@pagin), и я специализируюсь на вопросах ускорения и уменьшения свёрточных сетей. Моя основная работа — распознавание автомобилей и классификация транспорта, поэтому я обучаю много небольших CNN и часто пользуюсь облачными сервисами для ML. ...

Популярный мессенджер WhatsApp уже можно перевести на тёмную сторону с помощью нехитрого трюка Разработчики популярного мессенджера WhatsApp, принадлежащего Facebook, пока вносят последние штрихи, избранные уже могут активировать долгожданную тёмную тему в приложении. Об этом сообщил тематический ресурс WABetaInfo.  Для того, чтобы активировать тёмную тему,...

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

Как включить тёмную тему оформления в Chrome? В этом году очень многие приложения на ПК и смартфона получили тёмные темы оформления. К примеру, недавно мы писали о том, как включить тёмную тему оформления в MIUI 11 на смартфонах Xiaomi. В Windows 10 тоже появилась такая цветовая схема. Читать полную статью

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

Пользователи WhatsApp отвоевали настоящую тёмную тему В конце января принадлежащая Facebook команда WhatsApp выпустила тёмную тему для Android в тестовом режиме. Однако у долгожданного новшества обнаружился один важный недостаток — тёмная тема была на самом деле недостаточной тёмной. Пользователям это очень не понрав...

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

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

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

Как мы стартовали Vivid Money для iOS Всем привет! Меня зовут Илья. Я - iOS техлид в Vivid Money. Мы больше года занимались разработкой нашего финтех-продукта и теперь готовы поделиться с сообществом приобретенным опытом и знаниями.Это вступительная статья, в которой я поверхностно затрону несколько технических ...

Несправедливость устранена. Google Play почернел для всех смартфонов с Android Тёмная тема онлайн-магазина приложений Google Play Store стала доступна для всех устройств на основе операционной системы Android.  Об этом компании объявила на страничке Google Play в социальной сети Twitter.  📢📢 #DarkTheme on Google Play is ...

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

Безопасные игры Информационная безопасность – тема серьезная и сложная, может именно поэтому обучать ей эффективней простыми приемами и играючи?Привет, меня зовут Алексей Бабенко и в команде Mir Plat.Form я отвечаю за вопросы связанные с тестированием безопасности разрабатыва...

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

Strategy Design Pattern Всем привет, друзья. Меня зовут Alex, я профессиональный разработчик и создатель программных продуктов в веб индустрии. Много лет изучаю языки, делюсь опытом с другими. Сегодня хочу с вами поговорить про шаблон проектирования Стратегия (Strategy). Постараюсь донести до вас п...

Приложения Google и Google Assistant наконец почернели Google представила общесистемный темный режим вместе с операционной системой Android 10, финальная версия которой вышла еще в прошлом году. Однако некоторые приложения до сих пор не поддерживают темный режим. Среди них есть и приложения Google. На этой неделе компания G...

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

В Android 11 может появиться темная тема по расписанию Как известно, в Android 10 разработчики предусмотрели темную тему оформления всей системы, но при этом они не предложили активацию и отключение темного режима в определенное время. Другими словами, нет возможности задать расписание автоматического переключения Dark Mode. &nb...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

Система под контролем: как автоматизировать интеграционные тесты Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря котор...

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

Автоматизация тестов на Go + Allure Привет всем. Меня зовут Таня. Я автоматизирую тесты на Go уже около года, до этого занималась 4 года автоматизацией на Java.В этой статье расскажу:- Как писала интеграционные тесты на Go + Allure- С какими проблемами столкнулась- С какими библиотеками и инструментами работа...

Интервью из мира хостинга: Boodet.online Меня зовут Леонид, я — разработчик сайта Поиск VPS, поэтому в силу своей деятельности интересуюсь историями становления и развития различных компаний из сферы хостинговых услуг. Сегодня хочу представить интервью с Данилом и Дмитрием — создателями хостинга Boodet.online. Они ...

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

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

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

Создаем и запускаем в облаке мощный и главное бесплатный сервер Minecraft Пару месяцев назад, когда Oracle представила в своем публичном облаке двухсокетные серверы с 80-ядерными ARM-процессорами, в англоязычном блоге Тодда Шарпа появилась статья о том, как запустить сервер Minecraft в облаке. Теперь, когда Oracle добавил эти процессоры в Always F...

Темная тема Google Play стала доступна для всех Тёмная тема магазина приложений Google Play Store стала доступна для всех версий Android.

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

Свежее обновление Opera v55 для Android В последней версии Opera для Android разработчики повторно реализовали возможность затемнять пользовательский интерфейс с нуля, чтобы предоставить пользователям полноценный и настраиваемый ночной режим. Например, есть новая дополнительная опция затемнения, которая позв...

Лучшие тёмные темы для MIUI 12, которые помогут сэкономить заряд батареи Авторы портала Xiaomiadictos.com поделились списком лучших тёмных тем для устройств Xiaomi. Но в начале нужно отметить, что для установки некоторых из этих тем потребуется сменить регион. Сделать это проще простого, а после установки темы вы можете без проблем вернуться в на...

[Из песочницы] StegoPy — Инструмент LSB-стеганографии на Python Предисловие В последнее время я заметил, что людям на моем форуме стала интересна тема стеганографии различных текстов в изображениях, mp3-файлах и видео. И тут у меня возникла идея написать свой скрипт для стеганографии текста в изображениях. Скажу сразу прежде я ни разу не...

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

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

Тема Hide Lable для MIUI 11: удобная и красивая — всё нужное и ничего лишнего Новая тема для MIUI 11 Hide Lable появилась сегодня в официальном магазине MIUI. Это дизайнерская тема от Costantino, и, как и многие другие его разработки, выдержана в довольно яркой, но традиционной цветовой гамме. В ее оформлении ничто не раздражает, а в функционале есть ...

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

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

Темная Вселенная. Часть 2 И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых. В целом я пос...

Google пообещала 10 эксклюзивных игр для Stadia в первой половине 2020 году В ноябре прошлого года компания Google запустила сервис потоковой трансляции игр под названием Stadia, а на этой неделе разработчики рассказали о том, чем занимались последние пару месяцев и поделились ближайшими планами. За последнее время в библиотеку Stadia добавлено...

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

Пишем гибкий VerticalSwipeBehavior Привет, Хабр! Меня зовут Илья Осинцев, я Android-разработчик в компании Apiqa. Под катом вас ждет пример использования ViewDragHelper для создания компонента пользовательского интерфейса аналогичного SwipeDismissBehavior, но работающего вертикально. С появлением Material Des...

Вкусовщина и AI: как мы в Prisma Labs делали объективно субъективный автоматический улучшатель фотографий Привет, Хабр! Меня зовут Андрей, я занимаюсь R&D в Prisma Labs. В своё время наша команда провела весьма интересное исследование на тему автоматического улучшения фотографии, результатом которого стала фича “AutoAdjustment” в приложении Lensa, позволяющая в один клик сде...

Нейросеть с нуля своими руками. Часть 1. Теория Здравствуйте. Меня зовут Андрей, я frontend-разработчик и я хочу поговорить с вами на такую тему как нейросети. Дело в том, что ML технологии все глубже проникают в нашу жизнь, и о нейросетях сказано и написано уже очень много, но когда я захотел разобраться в этом вопросе, ...

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

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

[Из песочницы] Discord как корпоративный мессенджер и не только Хочу рассказать про использование мессенджера Discord как основного средства коммуникации в команде. Опыт может быть полезен другим командам, использующим бесплатные мессенджеры, а также всем, кто ищет пути повышения эффективности использования мессенджеров. Discord – прогр...

SQL в DjangoORM Меня зовут Алексей Казаков, я техлид команды «Клиентские коммуникации» в ДомКлик. В большинстве приложений, с которыми мне приходилось иметь дело, при взаимодействии с БД не ограничиваются лишь драйвером, который позволяет выполнять сырые запросы. Для удобства и избавл...

В WhatsApp появился режим Dark Mode Разработчики WhatsApp представили тёмную тему интерфейса для своего фирменного приложения. Режим Dark Mode появился в бета-версии WhatsApp 2.20.13. Такая тема подходит для смартфонов с AMOLED дисплеями. Новую бета-версию WhatsApp уже могут скачать пользователи смартфонов A...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

Специфицируй это. Доклад Яндекса Хорошая спецификация к API помогает клиентам его использовать. Несколько месяцев назад на большом Pytup разработчик Яндекса Александр Брязгин bryazginnn выступил с докладом о том, что собой представляет спецификация REST API на примере OpenAPI + Swagger и зачем нужна такая с...

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

Основа любого программирования на… пазлах Приветствую, Хабровчане! В этой статье я хочу рассказать о своем опыте работы преподавателем программирования на C++ в колледже при техническом университете. Это был уникальный опыт в моей жизни, который многому меня научил. Когда меня просят рассказать интересный факт о св...

[Из песочницы] Разрабатываем игры на LibGDX с помощью шаблона Entity Component System Привет Хабр! Меня зовут Андрей Шило, я android-разработчик в компании FINCH. Сегодня я расскажу вам о том какие ошибки не стоит допускать при написании даже самой простой игры и чем крут архитектурный подход Entity Component System(ECS). Читать дальше →

Почему я ушёл с React Native и перешёл во Flutter: Часть 2 Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter. В первой части статьи я рассказал про основные различия между React Native и Flutter. В этой части расскажу про раз...

Google представила большое обновление Android Auto и режима вождения Google Assistant На этой неделе режим вождения Google Assistant на телефонах Android получил новую панель управления с ключевой фразой «Привет, Google, поехали». В этом новом режиме будут доступны «удобные для просмотра карты» для простоты использования во время ...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Зачем нам потребовалось написать свою реализацию MRCP-сервера. Часть 1 Привет, Хабр! Сегодня мы хотели бы поделиться кейсом создания собственного MRCP-сервера. Это протокол передачи данных, используемый серверами для предоставления различных услуг (таких как распознавание речи и синтез речи) для своих клиентов. MRCP опирается на другие протокол...

JavaScript библиотека Webix глазами новичка. Часть 2. Работа с формами Я начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI биб...

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

Неочевидные факты о коллекциях в Magento 2 Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Сегодня мы рассмотрим коллекции в Magento 2 (далее — M2). Несмотря на кажущуюся простоту реализации и интуитивно понятное назначение, эта сущность таит в себе несколько неочевидных подводных камней, которые влияют на...

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

Револьвер Роланда Дискейна. Colt Walker .454 cal. "Если ты вышел на поиски Темной Башни, тебя уже не заботит время. "Стрелок, С. Кинг, 1982 г.   У одного из моих любимых писателей современности Стивена Кинга есть своеобразный magnum opus - цикл романов "Темная башня". Несколько скептически отношусь к фэнтези (а это в какой-...

[Из песочницы] Создание арт-объекта для Burning Man Здравствуйте. Меня зовут Сергей, и в этой статье я расскажу о том, как мы сделали арт-объект для мероприятия Burning Man. Я расскажу о технической стороне, не касаясь самого мероприятия. Ну, почти не касаясь. Читать дальше →

Услуги Denuvo за год использования антипиратской защиты в Crysis Remasted обошлись Crytek в 140 тыс. евро Многие игроки и журналисты задавались вопросом, почему разработчикам игр требуется целый год, прежде чем удалить технологию Denuvo anti-tamper из взломанных пиратами проектов. Теперь же утечка внутренних документов Crytek пролила свет на тёмное пятно истории. Согласно получе...

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

Яркая тема Pixel 4 Dual System для MIUI 11: раскрасьте свой смартфон Новая неделя, и у нас для вас новая тема от Costantino Pixel 4 Dual System для MIUI 11. Как обычно, она разработана для двух режимов установки — темного и светлого. С экрана блокировки доступны камера и фонарик. Отображение уведомлений корректное. При нажатии на определённые...

Темная тема Dark Mode 2.0 станет фишкой MIUI 12 На 27 апреля Xiaomi назначила анонс MIUI 12. На презентации компания должна рассказать о нововведениях в прошивке. Слух об обновленной темном режиме уже будоражит умы фанатов компании. Теперь Xiaomi официально подтвердила поддержку Dark Mode 2.0, выпустив несколько анимирова...

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

Как (Android) разработчику найти первую работу? Автор канала Android Live рассказал о том, как Android-разработчику найти первую работу.  Недавно получил вопрос от подписчика: Привет! Какие основные вопросы могут задать джуну на собеседовании? И как Android-разработчику найти первую работу? Сегодня хочу поделиться своим о...

Включаем тёмную тему оформления в WhatsApp Несколько дней назад мы рассказывали, что команда разработчиков приложения Facebook начала внедрять тёмную тему оформления в приложение. Аналогичные меры сейчас принимаются также в отношении приложения WhatsApp на Android. Читать полную статью

Xiaomi впервые показала Dark Mode 2.0 в прошивке MIUI 12 В Сети появилась первая демонстрация новой фирменной оболочки MIUI 12 для смартфонов Xiaomi и Redmi. Анимированные ролики демонстрирует обновленный темный режим Dark Mode 2.0. Разработчики подтвердили, что они реализовали в MIUI 12 улучшенный ночной режим, который будет...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

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

Python микросервисы с Kafka без боли В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana. Читать далее

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

E-mail – «доллар» в мире онлайн-маркетинга. Опыт GetCourse Привет! На связи Сергей Михайлов из GetCourse. Раньше мы писали, как устроен рынок онлайн-школ для широкой аудитории и сам GetCourse изнутри. Сегодня хочу вынести на обсуждение более узкую тему – о том, что e-mail жив как канал продаж и, более того, всё ещё остаётся универса...

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

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

Альфа-версия Microsoft Launcher 6.0 доступна для загрузки Microsoft предлагает широкий спектр приложений для Android, таких как Office, SwiftKey, а также «Microsoft Launcher», который изменяет дизайн вашего рабочего стола и обеспечивает интеграцию служб Microsoft. Microsoft Launcher для Android обеспечивает быстрый доступ к Cortana...

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

Основы Unity + Mirror Хочу немного поделиться опытом для тех, кто хочет попробовать себя в написании сетевой игры, но не знает с чего начать. Так как информации по этой теме в интернете много, но полезную и актуальную было найти тяжело (а в русскоязычном сегменте и подавно), я решил собрал и стру...

Работа с dbt на базе Google BigQuery На днях смотрел вебинар OWOX, где Андрей Осипов (веб-аналитик, автор блога web-analytics.me и лектор Школы веб-аналитики Андрея Осипова) рассказал о своем опыте использования dbt. Говорил о том, кому будет полезен инструмент и какие проблемы решает, а самое главное — как не ...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

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

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

Дайджест интересных материалов для мобильного разработчика #325 (2 — 8 декабря) Новый дайджест о кроссплатформенной разработке, о лучших приложениях 2019 года, о минимализме в дизайне и темных темах, о перспективах AR-очков, библиотеках и даже цвете 2020 года. Читать дальше →

РИТ, Максим Лапшин (Erlyvideo): как программисту вырастить компанию РИТ++ 2017, Whale Rider. Зал «Конгресс-холл. 6 июня, 13:00. Тезисы. В докладе я хочу рассказать о собственном опыте органического развития компании, продающей b2b серверный софт без инвестиций. Я начинал с ковыряния just for fun в том, что мне было интересно, потом был го...

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

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

Приложение Google Поиск наконец получило темный режим 2019 был годом гегемонии темной темы на экранах смартфонов. Сейчас 2020, в Google подумали: «Лучше поздно, чем никогда» и наконец внедрили эту опцию для своего приложения «Поиск». Темный режим начинает работать с сегодняшнего дня и будет появляться на всё большем количестве ...

Наглядное сравнение возможностей камер Samsung Galaxy S20 и Galaxy S10 Главный редактор известного ресурса XDA Developers Макс Вайнбах (Max Weinbach) на своей страничке опубликовал первые фотографии, сделанные на камеру смартфона Samsung Galaxy S20. S10 S20 Они особенно интересны тем, что подаются в сравнении с фотографиями, сделанные на...

Представлена совершенно новая камера MIUI 12 для смартфонов Xiaomi и Redmi На официальной страничке разработчиков оболочки MIUI 12 было объявлено, что смартфоны с этой прошивкой получат абсолютно новое родной приложение камеры с новыми возможностями. Руководитель команды разработчиков приложения камеры для смартфонов Xiaomi и Redm поделился н...

Использование Effector в стеке React + TypeScript В этой статье я поделюсь своим кратким обзором внедрения стейт-менеджера Effector в продуктовый проект на стеке React + TypeScript, а также покажу на примере, как легко это можно сделать. Читать далее

[recovery mode] PM2: подходим к вопросу процесс-менеджмента с умом Буквально пару часов назад у меня завязался спор на тему того, что Node.JS слишком медленная для крупных проектов и ей стоит предпочесть Golang, Rust, PHP, etc. Основным аргументом противоположной стороны в этом споре был факт однопоточности JavaScript. Якобы при разработке ...

[Перевод] Реализуем машинное обучение на iOS-устройстве с использованием Core ML, Swift и Neural Engine Привет, хабр! В преддверии старта продвинутого курса «Разработчик iOS», мы традиционно подготовили для вас перевод полезного материала. Введение Core ML — это библиотека машинного обучения, выпущенная в свет Apple на WWDC 2017. Она позволяет iOS разработчикам добавлять ...

Python & EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

Как в Яндекс.Облаке устроено Virtual Private Cloud и как наши пользователи помогают нам внедрять полезные функции Привет, меня зовут Костя Крамлих, я ведущий разработчик подразделения Virtual Private Cloud в Яндекс.Облаке. Я занимаюсь виртуальной сетью, и, как можно догадаться, в этой статье расскажу об устройстве Virtual Private Cloud (VPC) в целом и виртуальной сети в частности. А ещё...

Избавляемся от паролей в репе с кодом с помощью HashiCorp Vault Dynamic Secrets Привет, Хабр! Меня зовут Сергей, я работаю IT Head в компании Quadcode. Сегодня хотел бы рассказать о том, как я решил проблему с хранением паролей в открытом виде в коде одного из моих pet-проектов. Думаю, это знакомая для многих ситуация. Знакомая — и неприятная. Сразу ска...

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

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

O Tilling-wm в 2-х словах Немного расскажу о моем опыте использования тиллинговых менеджеров окон, а также рассмотрим кратко плюсы и минусы, которые я нашёл за 3 месяца использования. Читать дальше →

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

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

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Долгожданная тёмная тема WhatsApp пришла на iPhone В конце января принадлежащая Facebook команда популярного мессенджера WhatsApp выпустила тёмную тему для Android в тестовом режиме. А теперь тёмная тема появилась и для пользователей iPhone.  Она стала доступна в бета-версии клиента WhatsApp для iOS. На смартфон д...

Автозагрузка модулей с использованием динамического импорта Недавно в Node.js была анонсирована поддержка ECMAScript-модулей, а в ES2020 появилась поддержка динамических импортов. В рамках данной статьи я расскажу о реализации очевидного кейса использования динамических импортов — с неизвестными заранее названиями директорий. Читать...

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

[Из песочницы] Политика конфиденциальности и условия использования как обязательный атрибут IT продукта Меня зовут Александр Явтушенко и уже 4 года я работаю в сфере IT права. Последнее время все чаще сайты и приложения, которые я сопровождаю по части правового обеспечения их деятельности, начинают задумываться или непосредственно внедрять различные правила и политики связанны...

Собираем свою библиотеку для SSR на React Server Side Rendering часто применяется в разных проектах. Существуют крутые фреймворки для React – NextJS и Gatsby. Но в то же время любой фреймворк диктует архитектуру приложения, а это приводит к проблемам в больших приложениях. Поэтому часто можно встретить собственные с...

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

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

Jenkins Pipeline. Что это и как использовать в тестировании Меня зовут Александр Михайлов, я работаю в команде интеграционного тестирования компании ЮMoney.Наша команда занимается приемочным тестированием. Оно включает в себя прогон и разбор автотестов на критичные бизнес-процессы в тестовой среде, приближенной по конфигурации к прод...

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

Как я переехал в Лондон c Revolut Неделю назад в наших соцсетях выступал Дмитрий Михайлович. Дмитрий — продуктовый разработчик, он решает продуктовые задачи в Revolut, являясь при этом Senior Backend разработчиком. Полтора года назад он переехал в лондонский офис и поделился с нами историей, как это происход...

SIRR, не соизволите ли удалить отражение? Привет! Меня зовут Артём, я учусь на совместной кафедре анализа данных Яндекса и Физтеха. Хочу поделиться с ML-сообществом Хабра темой, тесно связанной с моей научной работой: «Удаление отражений с помощью свёрточной сети, обученной на синтетическом датасете». А чтобы вы мог...

Практика подготовки иностранных слов с озвучкой для запоминания в программе Anki В статье расскажу о личном опыте запоминания английских слов с использованием замечательной программы с неочевидным интерфейсом Anki. Покажу, как не превратить в рутину создание новых карточек с озвучкой для запоминания. Читать дальше →

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

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

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

[Из песочницы] Репетитор по программированию: почему вы должны стать им и как это сделать Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Coding Mentor: Why You Should Become One and How to Do It» автора Oleg Sklyarov (Олег Скляров). Привет! Меня зовут Олег Скляров, я работаю руководителем группы разработки мобильных устройств для дете...

[Из песочницы] Создание простого Discord бота с помощью библиотеки discord.py Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера. Читать дальше →

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

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

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

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

Реализация автодополнения кода в Ace Editor Ace (Ajax.org Cloud9 Editor) — популярный редактор кода для веб-приложений. У него есть как плюсы, так и минусы. Одно из больших преимуществ библиотеки — возможность использования пользовательских сниппетов и подсказок. Однако, это не самая тривиальная задача, к тому же не ...

Как я сделал свою сборку Gulp для быстрой, лёгкой и приятной вёрстки Серьёзно и профессионально я начал заниматься вёрсткой в 2019 году, хотя до этого интересовался данной темой как любитель. Поэтому новичком мне себя назвать сложно, но и профессионалом с опытом 5+ лет я тоже не являюсь.Тем не менее, я успел познакомиться со сборщиком Gulp, е...

ViennaNET: набор библиотек для backend’а Всем привет! Мы сообщество .NET-разработчиков Райффайзенбанка и мы хотим рассказать про набор инфраструктурных библиотек на .NET Core для быстрого создания микросервисов с единой экосистемой. Вывели его в Open Source! Читать дальше →

Снова про шаблоны C++ в микроконтроллерах Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля ти...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

Terraform 12 и Terragrunt и как это можно применять для Multi-Cloud-инфраструктуры. Александр Довнар Что такое Terraform 12 и Terragrunt, и как это можно применять для Multi-Cloud инфраструктуры. Мы поговорим про IaC (Инфраструктура как код) влияние на современный мир и о том, как Terraform помогает работать с гетерогенных окружениях.Я хочу обсудить немного сам Terraform, ...

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

Apache Pulsar как основа для системы очередей Меня зовут Агалецкий Павел, я старший инженер в команде Архитектуры. Эта статья про новую для нас в Авито технологию — Apache Pulsar и построение системы очередей, Queues as a Service, на её основе. Читать далее

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

Как устроиться в IT-компанию Привет! Меня зовут Тим Чаптыков, я работаю в VK — руковожу командой разработки раздела сообщений на вебе. Мы отвечаем за мессенджер на vk.com, в мобильной версии сайта и в VK Messenger (приложение для компьютера). Последние&n...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

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

WebAuthn в реальной жизни В сентябре 2019 года команда Почты Mail.ru поддержала технологию WebAuthn. Мы стали первым в мире сервисом электронной почты, который реализовал возможность входа в аккаунт с использованием электронных ключей вместо паролей. Сейчас эта возможность доступна всем нашим пользов...

Сам себе Роскомнадзор. Как я заблокировал соцсети У меня отключена лента Фейсбука и Вконтакте, нет подписок в Инстаграме, Ютубе и Твиттере. При этом я ниоткуда не удалялся, в монастырь не уходил и продолжаю вести нормальную жизнь человека 2020 года. Надевайте шапочку из фольги и присаживайтесь поудобнее, я расскажу о своё...

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

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

JavaScript библиотека Webix глазами новичка. Часть 3. Модули, диаграммы, древовидные таблицы Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

Мой топ полезных инструментов для Unity разработчика Всем привет! Меня зовут Григорий Дядиченко, и я всё ещё разрабатываю проекты на Unity под ключ. Сегодня хочется поговорить про полезный инструментарий для Unity разработчика. У меня давно на эту тему есть свой топ ассетов или софта, которые используются почти в каждом проект...

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

[recovery mode] $mol_func_sandbox: взломай меня, если сможешь!. Здравствуйте, меня зовут Дмитрий Карловский и я… хочу сыграть с вами в игру. Правила её очень просты, но их нарушение… приведёт вас к победе. Почувствуйте себя в роли хакера выбирающегося из JavaScript песочницы с целью прочитать куки, намайнить биткоины, сделать дефейс или ...

Большое обновление Huawei P30 и Huawei P30 Pro добавляет новые функции Компания Huawei начала распространять новую бета-версию фирменной оболочки EMUI 10.1 для прошлогодних флагманских смартфонов Huawei P30 и Huawei P30 Pro (обзор).  На данный момент прошивка EMUI 10.1.0.135 весом 0,96 ГБ доступна для китайских Huawei P30 и Huawei P3...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

История разработки SDK для приема платежей в мобильном приложении на Flutter Привет, Хабр!На связи разработчики из Mad Brains. Мы специализируемся на разработке сервисов для мобильных устройств. Имеем опыт в реализации интеграционных решений, собственные продукты в сфере мобильной электронной коммерции, а также входим в 20-ку лучших мобильных раз...

Браузер Opera теперь поддерживает темный интерфейс везде Разработчики Opera обновили ночной режим в своём браузере. После обновления браузер Opera начала работать на всех веб-страницах в ночном режиме, если даже страница не поддерживает такую функцию. В версии Opera 55 для Android ночной режим переработали с нуля. Теперь браузе...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

Windows 10 Build 19042.685 теперь доступна для загрузки Последнее обновление для Windows 10 в 2020 году сейчас распространяется для пользователей через каналы Центра обновления Windows. Microsoft также опубликовала автономные установщики Windows 10 KB4592438 для пользователей, которые хотят устанавливать исправления на нескольких...

Делаем игру с управлением улыбкой Привет! Меня зовут Иван Шафран, недавно я присоединился к команде видео ВКонтакте в роли программиста-разработчика для Android. Участвую в создании как продуктовых приложений, так и SDK. Время от времени я посещаю хакатоны, где можно реализовывать любые безумные идеи. Сегодн...

Google рассказала, как изменится ночная тема в Android 11 В Android 11 ночную тему ждёт полезное изменение 2019 год стал годом ночной темы. Несмотря на то что пользователи и iOS, и Android уже давно просили о добавлении в эти ОС специального режима, который бы затемнял цвета интерфейса, Apple и Google дружно решили пойти им на усту...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2019 году Привет. Меня зовут Вадим и я занимаюсь развитием IT-тусовок в Ростове. В 2016 году spasibo_kep написал статью "Едем в город южный: как живут разработчики в Ростове-на-Дoну" о Ростовском IT. Пришло время её обновить, тем более, что Ростов в 2019 году стал 4ым в Рос...

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

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

Использование RabbitMQ вместе с MonsterMQ часть 5 В предыдущей части мы улучшили нашу систему логгирования. Вместо использования обменника типа fanout мы использовали обменник типа direct, позволившему нам выборочно принимать сообщения. Не смотря на улучшения, наша система до сих пор имеет ограничения, например мы не можем...

[Из песочницы] JavaScript библиотека Webix глазами новичка Я начинающий JS front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим первым опытом и оформить, своего рода учебное пособие по освоению этой элегантной и мощно...

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Свой стек навигации. Лучше чем у ROS? Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS. Первая статья про механику и общую архитектуру роботов. Роботы ездят по ровному полю и большинство препятствий заранее известно, однако, ко...

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

Студийная съёмка на iPhone 13 марта в Академии re:Store выступит фотограф, YouTube-блогер и видеомейкер Александр Крофт (@alexandercroft). Фотограф успешно сотрудничает с российскими и зарубежными изданиями. Помимо работы на съемках, Александр руководит Фотоколледжем&...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

[Из песочницы] Симуляция ПИД-регулятора температуры Поискал я статьи на данном ресурсе на тему ПИД-регуляторов. Много статей. И с объяснением принципов работы таких регуляторов. И с алгоритмами подбора параметров. И с реализацией на конкретных железках и программах. Не увидел одного — симуляции ПИД-регуляторов на моделях, с т...

Мы сократили время разработки нового сценария публикации объявления с 6 дней до 42 секунд Всем привет! Меня зовут Артем Пескишев, я iOS-разработчик в Авито. Хочу рассказать, как мы завели управляемый с бэкенда сценарий публикации новых объявлений в наших мобильных приложениях. Разберём, что такое пошаговые сценарии в приложениях и какие пробл...

Дайджест интересных материалов для мобильного разработчика #285 (2-8 декабря) Новый дайджест о кроссплатформенной разработке, о лучших приложениях 2019 года, о минимализме в дизайне и темных темах, о перспективах AR-очков, библиотеках и даже цвете 2020 года.

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

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

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

Смартфон LG V50 получил обновление ANdroid 10 Обновление Android 10 для LG V50 включает в себя декабрьское исправление безопасности и все стандартные функции Android 10, такие как Live Caption, улучшенные настройки конфиденциальности, новые навигационные жесты Google, темная тема для всей системы и многое другое. ...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

Oracle Cloud: бесплатный VPS 4 ядра ARM/24ГБ памяти: решаем проблему большого спроса (OCI CLI) Очень заманчивая конфигурация была недавно анонсирована в рамках доступа "Всегда бесплатно". К сожалению, "очень быстро разбирают", а именно - сложно запустить экземпляр, постоянно вылазит ошибка “Out of Capacity”. Здесь мы решаем эту проблему, так как Oracle время от време...

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

[Из песочницы] Почему не стоит начинать карьеру в маленькой не-IT компании Привет! Последние 2 месяца я отработал в небольшой компании. Это был мой первый опыт работы программистом в компании, и я хочу поделиться проблемами, с которыми столкнулся, и выводами из них. Надеюсь, этот пост сбережёт начинающим специалистам время и нервы. Читать дальше...

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

Большое нововведение Android 12. Темы будут влиять на внешний вид приложений Операционная система Android известна широкими возможностями по настройке. Многие производители предлагают собственные оболочки с уникальным пользовательским интерфейсом и функциями. Большинство оболочек для Android также имеют поддержку тем, которая будет выведена на н...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

Как перенести шейдер из игрового движка в Substance Painter Меня зовут Тарас Улейский, я Technical Artist в Plarium Kharkiv. Для оптимизации графики нашей Survival RPG на мобильных устройствах мы использовали свои кастомные шейдеры. Они предполагают использование уникальных текстур и карт, которые не похожи на текстуры и карты в друг...

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

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

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

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

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

Инфографика средствами Excel и PowerPoint. Часть 2 Не жди поездку в Гагры! Давид Маркович, сериал «Ликвидация» Всем привет! За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что имен...

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

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

Как проходит собеседование Python-разработчика: вопросы для джуниоров и мидлов Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз :) Привет! Меня зовут Руслан, я один из наставников курса «Мидл Python-разработчик» в Яндекс.Практикуме. Около 12 лет я занимаюсь разработкой, из них девять — на Python. За это ...

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

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

Есть ли жизнь без Nvidia? Запускаем TensorFlow на Radeon RX 580 На новом рабочем месте меня посадили за ПК, оборудованный процессором Ryzen 2600 и видеокартой Radeon RX 580. Попробовав обучать нейронные сети на процессоре, я понял, что это не дело: уж слишком медленным был процесс. После недолгих поисков я узнал, что существует как миним...

Скрытые функции Samsung на One UI, о которых надо знать Нам каждый раз говорят, что та или иная операционная система очень удобная и интуитивно понятная. Вот только это не так. Иначе, почему тогда каждый раз есть, о чем рассказать в статье, вроде этой? Уверен, что многие из вас скажут что-то, вроде ”Вау, вот оказывается, как мож...

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

Версионирование API или единая кодовая база для всех версий За 21 год существования в SuperJob разработали три версии реализации API для интеграций с бэкендом. Во время разработки последней они решили пересмотреть подход к версионированию. Сейчас в актуальной реализации порядка 379 эндпойнтов, более 900 моделей сущностей и 11 поддерж...

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

Stm32 + USB на шаблонах C++. Продолжение. Делаем CDC Продолжаю разработку полностью шаблонной библиотеки под микроконтроллеры Stm32, в прошлой статье рассказал об успешной (почти) реализации HID устройства. Еще одним популярным классом USB является виртуальный COM-порт (VCP) из класса CDC. Популярность объясняется тем, что обм...

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

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

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

Микросервисы. Не всё то золото, что хайп Привет, меня зовут Владимир Кустиков, я — архитектор решений в e-Legion. И сегодня я хотел бы рассказать вам про микросервисы.Наверное, я где-то неправ. А возможно, что у меня просто подгорело. Но в какой-то момент после запроса рассказать о том, в каких проектах я успе...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

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

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

Пользователи очень довольны новшествами MIUI 11 Как пишет источник, команда разработчиков MIUI рассказала об очередных изменениях, внесенных в оболочку. Они пока реализованы в бета-версии прошивки. В темной теме MIUI 11 тестируется «глобальный реверсивный цвет». Также вносятся небольшие изменения и прово...

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

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

Главный конкурент WhatsApp получил массу улучшений Приложение для обмена сообщениями Telegram получило важное обновление, которое доступно пользователям Android и iOS. Обновление принесло несколько важных изменений, включая редактор тем версии 2.0. После установки обновления вы можете выбрать пользовательские цвета для...

Android: социальный мониторинг и советы от Microsoft Для подписчиковСегодня в выпуске: анализ приложения «Социальный мониторинг», рассказ о том, как новые версии Android экономят заряд батареи, статья о вредности System.exit(), советы, как сократить размер приложения, реализация обновления приложения через само приложение, над...

Как разработчик открыл бар для разработчиков в Питере Две недели назад Роман Ганин добавился в наш список PHP-сообществ и тех, кто готов их поддерживать, а на днях в его баре прошла очередная встреча местной ячейки BeerPHP. Более того, вот уже пару месяцев он предоставляет заведение для встреч по Angular, CSS и не только. Мы...

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

WorkBox: ваш toolkit в мире сервис-воркеров Всем привет! Меня зовут Святослав. Я лидирую разработку сервисов оформления ипотеки в компании Домклик. Не так давно наша компания взяла курс на внедрение философии Progressive Web Application в наших клиентских сервисах.Одним из важных аспектов PWA является использован...

[Перевод] Анонс Vite 2.0 Подумайте о предварительно сконфигурированном dev-сервере + сборщик, но более компактном и быстром. Он использует встроенную в браузер поддержку ES модулей и инструменты, такие как esbuild, для быстрого и современного опыта разработки.Чтобы понять, насколько быстро работает ...

Смартфон Xiaomi Mi A3 наконец-то получил Android 10 Владельцы смартфонов Xiaomi Mi A3 наконец-то получили обновление до операционной системы Android 10. Обновление ещё вышла в феврале месяце 2020 года, но из-за вспышки коронавируса, разработчикам компаний Xiaomi пришлось остановить обновление, так как не успели закончить раб...

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

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

Что не так с интерфейсами SCADA-систем В этой статье хочу рассказать и поделиться своим мнением насчет пользовательских интерфейсов scada-систем и систем диспетчеризации в целом. Основная направленность нашей работы — разработка комплексных систем диспетчеризации инженерных и технических коммуникаций. Проще говор...

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

Ретроспектива граблей. Как самописное решение оказалось круче платного Привет! Меня зовут Алексей Пьянков, я главный программист в компании Спортмастер. Скажу сразу, что «главный» не значит «самый главный из всех программистов», нет, это только название, такой очаровательный перевод для «Senior+"». В компании Спортмастер я работаю с 2012 г...

В приложении Google Maps для iOS появился режим инкогнито Google запустил режим инкогнито в приложении Карт для iOS. Компания также объявила, что в следующем месяце в Android-версии Google Maps появится возможность массового удаления посещённых мест в хронике. При использовании режима инкогнито те места, которые пользователь искал ...

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

[Из песочницы] Быстрый деплой vm ESXi с помощью Terraform Всем привет, меня зовут Иван и я алкоголик системный администратор (OPS). Я бы хотел рассказать как разворачиваю виртуальные машины на ESXi без vCenter с помощью Terraform. Читать дальше →

Microsoft продемонстрировала новое меню Пуск в Windows 10 Компания Microsoft продемонстрировала современный взгляд на меню "Пуск" в операционной системе Windows 10. Пользователям доступны темный и светлый режим меню. Внешний вид тем больше соответствует стилю Fluent Design. Разработчики сделали упор на яркие цвета и расстояние ме...

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

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

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

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

12 скрытых возможностей Google Chrome на Android Я уже приводил примеры браузеров для Android. Из очень много и есть из чего выбрать. Хотя, многие построены на одном движке и из-за этого мало чем отличаются, кроме расположения органов управления. Сейчас мы будет говорить про один браузер, но именно он имеет столько малоиз...

Как в Sports.ru писали свой WYSIWYG-редактор В середине 2018 года в Sports.ru задумались о переезде на новый WYSIWYG-редактор текста для пользовательских постов. С июня 2019 года редактор работает в режиме бета-версии. За это время мы решили множество проблем, связанных как с проектированием архитектуры всего сервиса, ...

Невыдуманные истории про сеть: как я учил физику на своих и чужих ошибках Привет, Хабр! Меня зовут Антон Клочков, я сетевой архитектор в компании DataLine, а также участник проекта linkmeup. Я занимаюсь сетью более 10 лет и за это время успел поработать в больших и маленьких телеком-операторах, крупных корпорациях и небольших бизнесах.  На практи...

Стив пишет заклинания на Python. Обучение детей программированию в Minecraft Хочу поделиться наработками домашнего обучения детей программированию. Даже не столько обучению, сколько привлечения детского внимания и интереса. Ведь согласно Сократу, человек - не сосуд для наполнения, а факел, который нужно зажечь. Изначально были попытки начать со Scrat...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

Fortinet Security Fabric на практике. Часть 3. FortiAP Всем привет! В нашей прошлой статье мы рассказали об устройстве FortiSwitch и его основных функциональных возможностях. Вторая часть решения от компании Fortinet для обеспечения защищенного доступа - точки доступа FortiAP. Сегодня мы хотим рассказать о них. В планах - расска...

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

Что такое OpenVINO? Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, каф...

Глобальный запуск MIUI 12 назначен на 19 мая На прошлой неделе на мероприятии в Китае компания Xiaomi анонсировала свою пользовательскую оболочку следующего поколения MIUI 12 вместе со смартфоном Mi 10 Youth Edition, а также выпустила обновление закрытой бета-версии стабильной сборки MIUI 12 для Китая, выход которой ож...

Настройка CI/CD скриптов миграции БД с нуля с использованием GitLab и Liquibase Добрый день, уважаемые читатели. Совсем недавно мне пришлось осваивать новую для себя область CI/CD, настраивая с нуля доставку скриптов миграции базы данных в одном из проектов. При этом было тяжело преодолеть самый первый этап "глаза боятся", когда задача вроде бы ясна, а ...

Как работать из дома. Чек-лист удаленщика В интернете огромное количество заметок на тему удаленной работы, с лаконичным обзором минусов, плюсов и известными советами, как вытащить себя из рутины, начиная с «Первым делом снимите пижаму». В блоге Surf мы уже затрагивали эту тему в статье моей коллеги, которая поделил...

Обзор Logitech MX Master 3. Лучшая беспроводная мышка для работы Одной из самых интересных новинок выставки IFA 2019 в Берлине для нас стало обновление линейки беспроводной периферии MX Master от Logitech. Там смогли познакомиться с клавиатурой и мышкой, задать вопросы инженерам, а также рассказать о первых впечатлениях. Сейчас же пришло ...

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

Blitz: относительное время для TextView Библиотека для Android-приложения от нашего читателя. Blitz — устанавливает в TextView относительное время (например, «5 минут назад»). Киллер-фичей является автоматический апдейт строки со временем — по прошествии, скажем, минуты время обновится самостоятель...

Выкладка go pet проекта на VPS Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей. Я верю, что Golang прекрасен, но в мире еще много php и других проектов рабо...

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

[Перевод] Автогенерация секретов в Helm Auto-Generated Helm Secrets Команда Kubernetes aaS от Mail.ru перевела короткую заметку о том, как автоматически генерировать секреты Helm при обновлении. Далее текст от автора статьи — технического директора Intoware, компании-разработчика SaaS-решений. Контейнеры — это...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

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

Firefox готовит большое обновление Android-приложения, ... Mozilla решил «создать новое браузерное приложение для Android, чтобы браузер был быстрее и надежнее, чем его текущая стабильная версия». Компания также хотела, чтобы приложение было основано на собственном движке мобильного браузера GeckoView, что позволило бы п...

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

Material Components Android Examples: работаем с Material Components Примеры приложений для Android с Material Components. Приложения в этом репозитории являются реализацией примеров Material Studies — каждое из них построено с использованием библиотеки MDC-Android и демонстрирует создание цветов, типографики и форм с помощью Material T...

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

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

PKCS#11 для самых маленьких В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0. Читать далее

[Из песочницы] Лайфхаки разработчикам от рекрутера Недавно на Хабр вышел перевод статьи «Оцениваем рекрутеров по холодным письмам». Примечание переводчика и 120 комментариев показывают, что тема болезненна для русскоязычных разработчиков, а рынок рекрутинга в IT токсичен. С одной стороны страдают разработчики: завал писем на...

[Из песочницы] Проблемы использования Doctrine ODM в процессах-демонах Хочу рассказать о своем опыте использования Doctrine ODM в относительно небольшом PHP проекте, в котором основная кодовая база сосредоточена в процессах-демонах. И вообще как мы к Yii2 прикрутили Doctrine ODM. Сразу предупреждаю — рассказ будет очень нудным и скорее всего ин...

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

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

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

Настроили мониторинг. Что дальше? Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat. Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недо...

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

[Из песочницы] Управление интерфейсом приложения при помощи жестов (Keras + CoreML) В настоящее время популярность программ с использованием искусственных нейронных сетей растет, в связи с этим появляется большое количество технологий, позволяющих упростить работу связанную с ними. В настоящей статье будет описан один из возможных путей реализации приложени...

Дайджест интересных материалов для мобильного разработчика #334 (17 — 23 февраля) В этом выпуске новый Android 11, открытая палеонтология, удаленная работа и проектирование темных тем, загадочное уведомление «1» от Samsung и разработка игр в Иране. С праздником! Читать дальше →

Стали известны первые особенности MIUI 12 MIUI 11 была выпущена 24 сентября 2019 года, а 23 марта 2020 года компания объявила, что разработка MIUI 11 прекращена, чтобы создать все условия для разработки MIUI 12. Кто бы мог подумать, что MIUI 12 появится так скоро — всего через 174 дня! Согласно сложившейся ранее тра...

Опыт создания продукта в России, или Как создавался “народный” беспроводной пылесос Всем привет! Андрей – предприниматель, CIO, CEO и кайтер. Несколько лет назад я пошел по пути создания и запуска собственного продукта «с нуля» на отечественном рынке (беспроводной пылесос). В этой статье хочу поделиться своим опытом с начинающими и действующими предпринимат...

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

[Перевод] Добавляем параллельные вычисления в Pandas Возможно вы сталкивались с задачей параллельных вычислений над pandas датафреймами. Решить эту проблему можно как силами нативного Python, так и с помощью замечательной библиотеки — pandarallel. В этой статье я покажу, как эта библиотека позволяет обрабатывать ваши данные с ...

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

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

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

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, об...

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

[Перевод] Мои десять лет в геймдеве Привет! Меня зовут Нико Туасон, я разработчик инди-игр из Филиппин. В этом году исполняется десять лет с того момента, как я начал свой путь в геймдеве. Я хотел бы поделиться с вами историей всей моей карьеры – провалами, триумфами, важными жизненными событиями. Надеюсь, вы ...

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

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

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

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

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

Первая печать после сборки Sapphire S от Two Trees Всем привет. Ребята, хочу с вами поделиться с моим опытом использования первого 3D принтера от два дерева Sapphire S сейчас это продолжение Sapphire Pro. В этой статье хочу показать вам, что я распечатал в первую очередь на чём я учился как печатать и к какому выводу пришел ...

Apple выпустила iOS 14 beta 7 с новыми обоями Apple выпустила седьмую бета-версию iOS 14 и iPadOS 14 для разработчиков. Обновление уже доступно для загрузки с помощью Wi-Fi через меню «Обновление ПО», а также на специализированном портале Apple. Помимо обычных изменений для обновлений вроде повышения стабильности работ...

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

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

Артемий Рябинков (Avito): Graceful Shutdown в Go-сервисах и как подружить его с Kubernetes Выступление на Go 1.10 Release Party @ Badoo Артемий рассказал про подходы к безопасному завершению работы многопоточных программ на Go, в частности о том, как контролировать горутины и управлять ими. Объяснил, почему во время выкатки сервисов в Kubernetes пользователям м...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

Код на React и TypeScript, который работает быстро. Доклад Яндекса Евангелисты Svelte и других библиотек любят показывать примеры тормозящих компонентов на React. React и TypeScript дают много возможностей создавать медленный код. После доклада Виктора victor-homyakov вы сможете писать более производительные компоненты без усложнения кода. ...

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

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

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

Деньги вперед: главные игры января 2020 года Самые большие имена января – переизданная классика. В последние дни месяца можно будет сыграть в HD-ремастеры Commandos 2 и Praetorians, а также оценить косметический ремонт Warcraft 3. Помимо них, глазу не за что зацепиться: сплошь мелкое «инди», дополнения и темные лошадки...

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

Creality Ender-6 3d-принтер предоставлен рекламодателем в обмен на эту статью.Всем привет, расскажу про свой первый опыт работы с принтерами Creality, не ремонт и обслуживание их, а именно плотный опыт работы (3 месяца с момента получения принтера, принтер работал не выключаясь, и даже сейча...

Темы оформления (скины) для Makerbase MKS-TFT 3.5 Не так давно я собирал новый принтер. Выбрав дисплей MKS-TFT 3.5, столкнулся с тем что тема оформления по умолчанию ужасна. Готовых альтернативных тем именно для этой модели я не нашёл. Но наткнулся на замечательную работу majurca для MKS-TFT 2.8. Увы, но есть несколько прич...

Кэши Tarantool и репликация из Oracle Меня зовут Александр Деулин, я работаю в отделе развития собственной разработки «Фабрика микросервисов» в компании МегаФон. И хочу рассказать о тернистом пути появления кэшей Tarantool в ландшафте нашей компании, а также о том, как мы внедряли репликацию из Oracle. И сразу...

Котики и Scrum Введение Так вышло, что с темой agile и scrum меня связывают долгие и нежные чувства. Все началось ещё в студенчестве: стартапы при полном отсутствии опыта, но с горящими глазами, преакселерационная программа ФРИИ, крутые конференции со спикерами-небожителями. Как часто быв...

The state of soft skills Так сложилось, что софт-скиллы довольно сильно помогли мне в карьере. Например, спустя всего 9 месяцев работы в Rambler, куда я приходил простым frontend-разработчиком, мне предложили стать руководителем группы, потому что мой руководитель увидел во мне потенциал и достаточн...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

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

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

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

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

[Из песочницы] Аналитика для Telegram-ботов, написанных на Python На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бот...

[Перевод] Не становитесь Data Scientist Когда у меня просят совет о том как попасть в data science, я советую стать разработчиком программного обеспечения. Это мое мнение. Я бы хотел услышать контраргументы в комментариях. Все вокруг, даже ваша бабушка, хотят стать data scientist. Может быть data science это сам...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

Архитектор ПО: зачем он нужен и в чём его проклятие Гость нового выпуска подкаста «Сушите вёсла» — архитектор программного обеспечения Егор Тафланиди. Обсуждаем, что это за метафизическая роль такая, какие сложности есть в работе и при чём тут тёмные силы. Артём Кулаков и Рома Чорыев — разработчики Redmadrobot. Они записыв...

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

ASUS ZenFone Max Pro M2 тоже получил тестовую версию Android 10 Компания Asus, также выпустила бета-версию Android 10 для ZenFone Max Pro M2. Прошивка вышла с номером сборки 17.2018.1912.409 и весит 1.5 ГБ. В тестовую версию обновления добавили: декабрьский патч безопасности, новый обновленный интерфейс, темную тему для системы и прил...

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

Ускоряем загрузку больших объёмов в PostgreSQL, используя COPY from STDIN binary ...К сожалению Qt драйвер для постгреса не поддерживает функционал, необходимый для быстрой загрузки. Поэтому я написал свою библиотеку на С++ для этого, а теперь хочу с Вами поделиться этим прекрасным методом добавления и самой библиотекой. Читать далее

Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем. Использование review-окружений в CI/CD м...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

5 премиальных тем для смартфонов Xiaomi, которые обязательно стоит попробовать Компания Xiaomi предлагает относительно мощную графическую надстройку на своих смартфонах. Но эти 5 тем вам обязательно стоит попробовать. Мы уже протестировали их на нашем редакционном смартфоне Xiaomi Mi 9 Lite с системой MIUI 12.0.5, и они действительно работают без сбоев...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

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

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

[Перевод] Flutter. Весеннее обновление 2020 Привет! Меня зовут Евгений Сатуров, я Flutter-разработчик Surf и основатель Flutter Dev Podcast. Ниже перевод статьи Tim Sneath и Patrick Sosinski с моими комментариями. Полмиллиона разработчиков, 50 тысяч приложений, взрывной рост и обновлённый релизный цикл. Последние м...

Трудно быть Колей, или практики обмена знаниями в Latech Всем привет! Меня зовут Александр Афенов, я тимлид команды Order Processing в компании Lamoda. Сегодня я хочу вам рассказать о практиках обмена знаниями: какие проблемы эти практики решают, как мы к ним пришли, и как они влияют на жизнь разработчика. Читать дальше →

[Из песочницы] Как я создавал очередной конструктор сайтов Всем привет, меня зовут Саша. Я создаю свой конструктор сайтов. Я получил первых платящих пользователей. Все они преимущественно из США и Европы. Я хочу поделиться историей своего пути, который включает включал кодинг, краудфандлинг и продвижение. Читать дальше →

Выбираем лучшие Android-браузеры в 2020 году: когда стандартный жутко бесит При наличии огромного количества приложений-браузеров, найти в Google Play тот, который более всего соответствует вашим потребностям, непросто. Конечно, вы можете просто использовать браузер, предустановленный в вашем смартфоне, но вряд ли это будет лучшим решением. Незави...

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Масштабируем WebSocket соединения на Go Мессенджер Авито – это: 12 m уникальных пользователей в месяц; Версии для всех современных платформ (Web, iOS, Android); Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями). Александр Емелин из ко...

Настраиваем отказоустойчивый Keycloak с Infinispan в Kubernetes В этой статье мы поделимся опытом развертывания в кластере Kubernetes устойчивой и масштабируемой инсталляции популярного решения для обеспечения «единого входа» (SSO) — Keycloak в связке с Infinispan (для кэширования пользовательских метаданных). Читать далее

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

Новая тема MIUI переносит Android 12 на смартфоны Xiaomi Хотите Android 12? Есть тема, разработанная для Xiaomi Хотя мы все еще далеки от финальной версии Android 12, новая тема Android 12 Pro Max хочет внести ожидаемые с таким нетерпением изменения в смартфоны Xiaomi. Основываясь на том, что мы видели в Developer Preview, с новым...

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

[Перевод] Как сократить время сборки образов Docker в GitLab CI Современный цикл разработки программного обеспечения зачастую подразумевает, что ваши приложения регулярно упаковываются в контейнеры. Эта задача может занимать много времени, чем может значительно замедлять ваше тестирование или развертывание. Проблема становится особенно о...

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

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

Fiddler = удобный сниффер + прокси сервер Привет. В данной статье расскажу как и зачем можно изменять HTTP пакеты при отправке на сервер и при получении ответов от сервера.В статье много практических примеров. Читать далее

Catchain: алгоритм консенсуса блокчейна TON В предыдущем обзоре наша команда R&D рассказала о структуре Telegram Open Network и особенностях функционирования ключевых узлов (валидаторов) TON Blockchain, а также поделилась опытом Mercuryo, как валидатора сети. Эта статья посвящена одному из ключевых вопросов, отве...

[Из песочницы] Кастомные SwiftLint Rules Привет, Habr! Меня зовут Алексей, я iOS Developer в компании FINCH. Скоро Новый год — самое время чтобы начать жить по-другому, а поможет в этом такая классная штука как SwiftLint. В статье я расскажу, почему ее обязательно нужно внедрять во все проекты, включая legacy и pet...

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

[Из песочницы] Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" SPI модель по демократичной цене — около 200руб. Первое, что бросилось в г...

Подготовка к Ludum Dare Мероприятие Ludum Dare, регулярно проводимое 2 раза в год (а чуть ранее 3 раза в год) скоро не за горами и уже сейчас, за несколько недель до старта, можно настраиваться на нужный лад, обмениваться планами и идеями на грядущий 46-ой LD (официальная дата на сайте — 18-21 апре...

Создатели The Sims 4 поделились планами на будущее Разработчики The Sims 4 перешли на удалённый режим с 16 марта, но создание нового контента не прекращается. В ближайшие полгода планируется выпуск оригинального каталога и дополнения. Кроме того, летом представят «кое-что новое» и покажут свежий игровой набор. В студии хотя...

Android 10 с оболочкой One UI 2.0 для Galaxy M20 и Galaxy M30 Корейская компания Samsung анонсировала обновление Android 10 с фирменной оболочкой One UI 2.0 для Samsung Galaxy M20 и Samsung Galaxy M30. Обновление вышла с номером сборки M205FDDU3CSL4/M305FDDU3CSL4 и весит прошивка 1.3 ГБ. В обновление разработчики добавили: декабрьски...

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

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

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

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

[Перевод] Open Source Guides: Запуск проекта с открытым исходником Предисловие переводчика Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Sourc...

[Из песочницы] UX-исследование ДБО: наш опыт, ошибки и открытия Привет. Я Денис Элиановский, дизайн-директор в JTC и руководитель в Opium Pro. Мы работаем в очень узких сегментах рынка IT, связанных с финансами и документооборотом. Вы точно ещё не слышали об этих компаниях и сегодня мало что о них узнаете, ведь эта статья про UX-исследов...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

Руководство по использованию Tarantool Cartridge в Kubernetes Привет, меня зовут Иван, и сегодня я расскажу как управлять приложением Tarantool Cartridge в кластере Kubernetes при помощи Tarantool Operator. Мы пройдем полный цикл от разработки до эксплуатации: Подготовим инструменты Создадим тестовое приложение Упакуем его в docker У...

Как мы улучшили интерфейс VSO-движка Playrix и приблизили его по удобству к Unity Ранее на Хабре мы уже писали о том, как сделали собственный игровой движок VSO, а сегодня расскажем, как мы улучшали его интерфейс и удобство работы с ним. Статья будет полезна всем, кто только начинает разбираться с UX/UI и хочет узнать, как с помощью базовых прин...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

[Перевод] Вышел .NET Core 3.1 Мы рады объявить о выпуске .NET Core 3.1. Это действительно небольшое обновление, в основном призванное устранить проблемы версии .NET Core 3.0, которую мы выкатили пару месяцев назад. Самое важное о .NET Core 3.1 — это релиз долгосрочной поддержки (LTS) и мы будем поддержив...

[Перевод] Использование Atomics.wait(), Atomics.notify() и Atomics.waitAsync() Статические методы Atomics.wait() и Atomics.notify() представляют собой низкоуровневые примитивы синхронизации, которые можно применять для реализации мьютексов и других подобных механизмов. Но, так как метод Atomics.wait() является блокирующим, его нельзя вызывать в главном...

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

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

Автоматизация аналитики Jira средствами Apache NiFi Приветствую, господа. Я Маша, мне 23, и я уже полгода изучаю и внедряю на практике Apache NiFi. Должна отметить, что спустя месяц после знакомства с этой технологией — я начала употреблять антидепрессанты. Был ли NiFi триггером или последней каплей достоверно неизвестно, к...

[Перевод] Про SSH Agent Введение SSH-agent является частью OpenSSH. В этом посте я объясню, что такое агент, как его использовать и как он работает, чтобы сохранить ваши ключи в безопасности. Я также опишу переадресацию агента и то, как она работает. Я помогу вам снизить риск при использовании пере...

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

FaaS и serverless-решения на примере PoC kubeless-функции Первая ассоциация, которая приходит при упоминании serverless-решений это облачные решения вроде AWS Lambda, Azure Functions или Google Functions, а на российском рынке Yandex Cloud Functions. У них имеются определенные бесплатные лимиты и это подкупает. В случаях когда вы у...

Opener 2020: Самый сок Введение На протяжении всего апреля мы с командой после учёбы и работы решали увлекательные задачи в рамках конкурса Opener от компании Itransition. Вместе с конкурсом закончился наш лучший месяц на самоизоляции. Теперь, отдохнув, я готов спокойно поделиться этим опытом с ва...

Головоломка для ИИ Как я обучал агента собирать клетку 2048 в игре “2048”Привет! Меня зовут Ринат Максутов, я работаю в подразделении Intelligent Engineering Services департамента Technology российского офиса компании Accenture, и веду проекты по заказной разработке. За свою многолетнюю карьер...

О применение 3D сканирование. Всем привет!С Вами компания, 3DQuality.Хотим с Вами поделиться одним ну очень интересным заказом.К нам обратился талантливейший резчик по дереву с, казалось бы, не простой задачей, а именно – сначала отсканировать его фигуры, а затем напечатать на 3D принтере. Фигуры, выреза...

о Redux архитектуре во Flutter приложениях Не так давно вышла статья о чистой архитектуре во Flutter. Хочу осветить тему немного под другим углом и развить тему управления глобальным состоянием с помощью Redux. Читать далее

Data Engineer or die: история одного разработчика В начале декабря я совершил роковую ошибку принял поворотное решение в своей жизни разработчика и перешёл в команду Data Engineering (DE) внутри компании. В статье я поделюсь некоторыми наблюдениями, которые я сделал за два месяца работы в команде DE. Читать дальше →

Интересные материалы: 11.06 Проекты с нуля, темные темы и оптимизация рендера - все самое интересное.

Оболочка OxygenOS 11: что нового В самом начале этой недели OnePlus выпустила OxygenOS 11 в версии для разработчиков. Ряд профильных изданий успели установить новую версию фирменной оболочки на OnePlus 8 и OnePlus 8 Pro. Они поделились своими впечатлениями о ней, а также рассказали о тех функциях и нововвед...

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

Мой набор для автономного выживания во время карантина Эта статья посвящена подготовке к автономному выживанию в течение периода карантина. Судя по опыту ЕС и Китая, Украины и Беларуси, не за горами введение карантина из-за пандемии коронавируса Covid-19 и в РФ. Многие это уже поняли и начали заранее запасаться продуктами, средс...

Разгоняем портал ДО на основе Moodle (решение проблем узких мест) В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки с...

[Из песочницы] Дизайн интерфейса для промышленного контроллера Привет! Меня зовут Георгий, я дизайнер. Пока мы все сидим по домам, я решил поделиться опытом в разработке дизайна интерфейсов для промышленной автоматизации.Так сложилось, что дизайном приложений и сайтами занимается большое количество профессионалов. А вот хороших специал...

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

Это фиаско, Redmi. У смартфонов серии Redmi Note 10 обнаружены большие проблемы с экранами Недавно компания Redmi представила линейку смартфонов Redmi Note 10 во всём мире, а теперь появилась информация о том, что пользователи в разных регионах мира сталкиваются с проблемами в работе экрана. Владельцы различных моделей серии Redmi Note 10 сообщают в Twitter и...

DAG’и без напрягов: наш опыт использования метаданных при работе с Apache Airflow Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий,...

[Из песочницы] Использование QubesOS для работы с Windows 7 На Хабре не так много статей, посвященных операционной системе Qubes, а те, что я видел мало описывают опыт применения. Под катом надеюсь это исправить на примере использования Qubes в качестве средства защиты (от) среды Windows и, попутно, оценить количество русскоговорящих...

Thumbtack Tech Day Три города, три спикера, три темы Объединяем в один онлайн-митап экспертизу сразу трех направлений из городов присутствия компании «Тамтэк» в России. Специалисты из Омска, Саратова и Санкт-Петербурга расскажут о практиках и фишках разр...

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

Бэкдор в Win 10 Tweaker, или современные методы борьбы с пиратством Для неподготовленных юзеров, которые сталкиваются с Windows, настройки ОС иногда становятся настоящим темным лесом. Эту достаточно широкую нишу охватывают разработчики всевозможных твикеров, один из который в своих подходах к защите своей программы пошел самым радикальным сп...

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

Расстрелять и растворить. Спустя некоторое время пользования 3D принтером, мне надоело печатать декоративные пылесборники и начался поиск “куда бы приложить” 3D печать”. Но возможности принтера все же напрямую зависят от свойств пластика. Я доверяю производителю, но для меня все эти цифры жесткости, ...

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

[Из песочницы] Стилизация флажков и переключателей с использованием CSS3 При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмотрим как можно обойти это ограничение при помощи инструментария CSS3 и без исполь...

[Из песочницы] IT: Уйти и не вернуться Раньше очень много писали о тренде «войти в IT». Похоже, сейчас набирает обороты обратная тенденция. Все чаще в последнее время можно встретить статьи на тему ухода из IT. В них вполне успешные люди описывают свой опыт и называю причины, по которым они хотят покинуть эту «с...

Как мы интегрировали Яндекс.Музыку с Siri. Доклад Яндекса Siri — мощный инструмент с публичным API для сторонних приложений. Например, музыкальных. В докладе я рассказал, как начать разработку обработки голосовых медиазапросов от Siri, используя Intents.framework. Поделился нашим опытом — с чем пришлось столкнуться, чего нет в доку...

Обновленный плагин YouTrack для IDE на платформе IntelliJ Привет Хабр!В командах разработки трекеры задач и IDE редко существуют друг без друга. Поэтому мы решили существенно «проапгрейдить» плагин YouTrack для IDE на платформе IntelliJ. Плагин интегрируется с вашими любимыми IDE от JetBrains — AppCode, CLion, DataGrip, GoLand, Int...

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

10 систем управления. Где удобнее коммуницировать по задачам и обмениваться файлами? Вот уже 7 лет, как я раз и навсегда «переехала» из реальных офисов в виртуальные. Мне гораздо комфортнее работать дома на удалёнке. Под «виртуальным офисом» я подразумеваю системы управления проектами. За годы дистанционной работы с разными компаниями и студиями я перепробов...

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

Как подготовиться к The Standoff. Советы защитникам Привет, Хабр! Меня зовут Илья, и три года подряд вместе с командой Jet Security Team — а два последних в роли её капитана — я держал оборону виртуального города на киберполигоне The Standoff против команд нападения. Участвуя раз за разом на стороне защиты, мы прошли путь от ...

Clean Architecture глазами Python-разработчика Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов ...

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

В App Store вышла Pascal's Wager — новый ролевой экшен в мире тёмного фэнтези  Pascal's Wager— это в каком-то смысле темная лошадка. Ее многие ждали, о ней довольно много рассказывали, но понять, что это, и как оно играется, до релиза было невозможно. И вот он состоялся. Pascal's Wager — это ролевой экшен в мире темного фэнтези. В первую очередь ассоц...

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

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

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

Xiaomi Mi Mix 3 получил стабильную версию MIUI 11 на Android 10 После двух месяцев бета-тестирования компания Xiaomi выпустила стабильную версию оболочки MIUI 11 для смартфонов Xiaomi Mi Mix 3, основанную на базе операционной системы Android 10. Апдейт привносит обновленный пользовательский интерфейс, новые иконки, общесистемный темный р...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

[Перевод] Видеозвонки с виртуальным фоном и опенсорсные инструменты Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual ...

Мама говорила что чудовищ не бывает (с) или "Черныш" В разгар самоизоляции одно из занятий это посмотреть хороший фильм и так как я фанат вселенной "Чужих" конечно же я посмотрел все картины а также "фанконтент" ну и еще Хищника всего по случаю. Встал вопрос кого же изваять и тут попалась хорошая модель https://www.thingiverse...

[Из песочницы] Методы борьбы с воровством в кружке робототехники Приветствую всех членов сообщества! А отдельно — преподавателей и собственников технических кружков: именно вам, уважаемые коллеги, адресована моя статья. Меня зовут Владимир Мозговой. Я являюсь основателем частного центра технического творчества «Robo.Grade» в г. Новочерка...

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

Линус Торвальдс остался недоволен рядом моментов в использовании Rust для Linux В прошлом году разработчики ядра Linux предложили использовать Rust для нового встроенного кода. В марте 2021 года эта идея была частично реализована — в состав ветки linux-next, на которой будет базироваться Linux 5.13, включили начальный набор компонентов для разработки д...

Тренды в тестировании в 2020 Автор статьи: Дмитрий Шадрин Вступление Хочется поделиться моим топом инструментов для тестирования, которые еженедельно помогают мне в эффективной работе и улучшении своих показателей. Я занимаюсь тестированием на аутсорсе и приходится работать с различными видами проду...

Онтол: подборка статей про «выгорание» [100+] Я «просмотрел» 560 постов на Хабре и (предварительно) выделил для себя топ-10 самых полезных материалов про эмоциональное/профессиональное выгорание. Социальная архитектура: «Эмоциональное выгорание контрибьюторов Open Source проектов» Максим Дорофеев: «Принцип экономии ...

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

Доклады второго ROS Meetup на тему учебных роботов 30 ноября 2019 года в Москве прошёл 2-й ROS Russian MeetUp, организатор — Лаборатория робототехники Сбербанка, — на котором большее 200 ROS-любителей поделились своим опытом и знаниями. Мы продолжаем публиковать наиболее интересные доклады: в этом материале вы можете поз...

Создание полноценного Viberbot на Django 2 и Viber REST API. Часть первая — Webhook Установка Webhook для работы bot на viber и отправка первого POST запроса к backend мессенджера Опираясь на свой опыт разработки под Viber и множество неоднозначных мнений, публикую цикл статей по созданию и запуску viberbot. Для понимая полной картины в целом, будем работат...

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