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

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

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

Как устроено тестирование фронтенда в Яндекс.Маркете и почему мы отказываемся от еженедельных релизов Всем привет, меня зовут Сергей. Я занимаюсь тестированием фронтенда Яндекс.Маркета. Знаю, что среди читателей Хабра много IT-специалистов, которые как-то связаны с релизным процессом и тестированием. У меня к вам вопрос. Бывало ли в вашей практике так, что фичи долго не ка...

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

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

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

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

[Из песочницы] Производственный календарь своими руками в Postgresql Здравствуйте, меня зовут Виктор и я разработчик в компании Gems Development. Я хочу рассказать, как мы реализовывали создание и заполнение производственного календаря в Postgresql. Рабочий процесс зависит от официальных государственных и международных праздников. В корпора...

Погружение в Charles Proxy Привет, Хабр! Меня зовут Настя, я работаю в команде тестирования мобильных приложений компании FunСorp. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных п...

Telegram Open Network: теория и практика от валидатора сети В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON). Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децен...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

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

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

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

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

Бесплатный перенос данных из облака на сервер доступен на «Р7-Офис» Разработчик экосистемы офисных приложений «Р7-Офис» сообщил о запуске новой услуги для заказчиков. Теперь пользователи офисных решений от «Р7» смогут в любое время бесплатно перенести все данные из облачного офиса «Р7-Офис», доступного с сайта компании по модели SaaS (soft a...

[Перевод] Стилизация старого доброго элемента button Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого м...

[Из песочницы] Интеграция Gitlab, Jira и Confluence на Python для автоматизации сборки релизов Недавно на стендапе коллега внес рацпредложение: автоматизировать сборку релизов, взяв за основу готовые уже наработки по взаимодействию с Jira, написанные на Python. Процесс деплоя у нас следующий: когда накапливается достаточное количество задач, прошедших тестирование и...

Создание шутера с LeoECS. Часть 1 Друзья, это первая статья по фреймворку LeoECS из предстоящей серии, которая позволит вам быстрее понять, как работать с LeoECS в Unity и решить некоторые виды проблем, возникающих на практике. Все советы, изложенные в них, не представляют собою какой-то свод правил, способы...

«Ну, покати!» или CI/CD мобильных приложений на основе контракта Всем привет! Меня зовут Дмитрий, я релиз-инженер в команде CI/CD Speed Авито. Вот уже несколько лет мы с коллегами отвечаем за всё, что связано с релизами наших мобильных приложений и не только. Про наши «релизные поезда» и как мы к этому шли уже оче...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

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

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 1 Если командная работа не согласована, между отдельными участниками процесса и целыми командами постоянно будут происходить столкновения, а продукты компании или микросервисы внутри одного продукта будут мешать друг другу при использовании общих ресурсов и инфраструктуры. Рез...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

Windows 10 Build 19587 доступна для загрузки Стала доступна для загрузки новая сборка Windows 10 Build 19587. Данный билд содержит только исправления ошибок и незначительные улучшения. Список изменений: • исправлена иконка Microsoft Defender; • исправлена страница «Приложения по умолчанию» в приложении «Параметры»; • и...

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

Темные уголки iOS Auto renewable Subscriptions Все больше и больше приложений переходят на подписочную систему монетизации. Планируете использовать систему подписок в своем приложении? Тогда вам сюда. Денис Кириллов на Mobius 2019 Moscow рассказал о лучших практиках применения технологии Auto-renewable Subscriptions в...

PS5 подверглась критике из-за муторного процесса переноса сохранений в Marvel's Avengers Работа PlayStation 5 с кроссген-играми снова подверглась критике на этой неделе. Владельцы Marvel’s Avengers узнали, что им нужно будет вручную перенести свои сохранения с PlayStation 4 в версию проекта текущего поколения. В Twitter официальная учётная запись Marvel’s Avenge...

Введение во взаимную аутентификацию сервисов на Java c TLS/SSL Вопросы авторизации и аутентификации и в целом аспектов защиты информации все чаще возникают в процессе разработки приложений, и каждый с разной степенью фанатизма подходит к решению данных вопросов. С учетом того, что последние несколько лет сферой моей деятельности являет...

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

Вопрос про CAN FD Добрый день! Читаю с интересом ваши статьи и хотел бы задать вопрос, как компетентным людям в автомобильной отрасли — периодически сталкиваюсь с шиной CAN и в процессе изучения встречал информацию о перспективах перехода на CAN FD. Википедия говорит о переходе на FD больш...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

Чего боятся тимлиды и почему им пора перестать это делать Я уверен, где-то существует книга «Как подсидеть тимлида». Она передается из рук в руки, из команды в команду и содержит советы типа: «Тимлид никогда не уволится по своей воле, потому что это не работа, а сказка! Его нужно сломать», или «Если ваш тимлид уехал в отпуск, напиш...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 2 У тестировщика много возможностей повысить качество продукта и сделать работу команды комфортнее. Главное – обсуждать любые изменения с коллективом и внедрять только то, что удобно и полезно для всех. Меня зовут Виктория Дежкина, я отвечаю за тестирование ряда продуктов в Д...

[Перевод] Подмена DLL (DLL hijacking) Всем привет. Прямо сейчас в OTUS открыт набор на апрельский запуск обновленного курса «Реверс-инжиниринг». В преддверии старта курса мы традиционно подготовили перевод интересного материала. В операционной системе Windows приложения и службы при запуске ищут DLL, необходим...

Развертывание Java приложения в OpenShift Казалось бы что здесь такого? подключаем к проекту fabric8-maven-plugin и вперед: сборка, запуск приложения в OpenShift. Но когда изучал хотелось большего понимания этого процесса, а затем хотелось большего контроля и свободы над процессом сборки и развертывания приложения в...

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

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

Windows 10 на iPhone X. Работает медленно и через виртуальную машину Запуск Windows на смартфонах с Android мы видели не раз, а как на счёт запуска на iOS? Энтузиасту удалось заставить Windows 10 работать на смартфоне iPhone X. В данном случае важное уточнение заключается в том, что работало это посредством виртуальной машины, а не полно...

Управление трафиком в Kubernetes-кластере с Calico Практически каждый инженер, практикующий DevOps, в какой-то момент сталкивается с задачей настройки правил доступа для своих проектов. В данной статье мы рассмотрим примеры настройки сетевых политик Kubernetes-кластера, в котором используется плагин Calico и осветим некотор...

[Перевод] Мониторинг вашей инфраструктуры с помощью Grafana, InfluxDB и CollectD У компаний, которым необходимо управлять данными и приложениями на более чем одном сервере, во главу угла поставлена инфраструктура. Для каждой компании значимой частью рабочего процесса является мониторинг инфраструктурных узлов, особенно при отсутствии прямого доступа д...

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

Кейс Русфинанс Банка: Как мы переводили SCRUM в онлайн и что из этого получилось Русфинанс Банк — это лидер по автокредитованию в России (по версии Frank RG), который входит в международную группу Société Générale. С одной стороны, мы можем смотреть на опыт разных стран, применять инструменты, которые используют наши коллеги не только во Франции, но по в...

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

Чистим Dock и делаем приложение без xCode Мы сделаем программу для запуска приложений из панели статуса. Вам понадобится terminal, Swift версии 3.1 или выше и любой текстовый редактор. Я проверял работу на macOS Sierra 10.12.6 и macOS Catalina 10.15. Читать дальше →

Uber Eats готовится к запуску в еще одном городе Украины - Харькове Uber объявляет о начале работы своего приложения по заказу и доставке еды Uber Eats в Харькове.

Uber Eats готовится к запуску в еще одном городе Украины — Харькове Uber объявляет о начале работы своего приложения по заказу и доставке еды Uber Eats в Харькове.

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

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений. Одним из них стало введение кросс-функц...

Локализация React приложении Всем привет! До нового года остаются считанные дни. Наткнулся на свой список дел, которые собирался сделать в 2019-м, среди них оказалось и написать статью на Хабр. Самое время заскочить в уходящий вагон). Сразу оговорюсь, пиарю свой велосипед, если такое Вам не по душе, то ...

[Перевод] Скрам умер. Да здравствует канбан Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные ...

Project Acrylic – современный концепт Windows 10 Microsoft находится в процессе обновления дизайна Windows 10. Мы уже видели целый новый набор значков для приложений и служб Microsoft, и мы также видели, как команда дизайнеров Microsoft показывала концепции нового меню «Пуск» Windows 10. Кроме того, было проделано много ра...

[Перевод] Создание небольшого API на Deno В этом посте я хотел бы рассказать и показать процесс создания небольшого API с помощью Deno. Deno — новейшая среда для запуска Javascript и Typescript, разработанная создателем Node.js — Райаном Далем. Читать дальше →

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

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

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

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

[Перевод] Интернационализация: как вывести продукт на международный рынок (и не сойти с ума) «Наш продукт популярен на внутреннем рынке, поэтому теперь мы думаем выходить на международный. С чего мне начать как менеджеру по продукту?» «Поначалу выход на новый рынок не казался чем-то сверхсложным, но вопросов появляется всё больше и больше… а сроки поджимают». Прим...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

[Из песочницы] Как организована работа в Amazon Как и во многих других американских компаниях, организация рабочих процессов в Amazon построена на базовых принципах, основная цель которых – помочь сотрудникам принять правильное решение, основываясь на ценностях компании. Мы поговорили с продукт-менеджером в Amazon, которы...

nodejs: менеджеры процессов и ES6-модули В мире серверного JavaScript'а я — новичок с чистым, практически незамутнённым разумом. Поэтому когда я узнал о существовании менеджеров процессов, а конкретно — о pm2, то сразу же попробовал применить его для запуска какого-нибудь простейшего backend-сервиса на nodejs в цел...

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

[Перевод] Локальное хранилище или куки? Безопасное хранение JWT на клиенте JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фрон...

Автоматизация ввода в SecureCRT с помощью скриптов У сетевых инженеров часто возникает задача, выполнить copy/past определенных фрагментов из блокнота в консоль. Копировать приходиться обычно несколько параметров: Username/Password и что-либо еще. Ускорить этот процесс позволяет использование скриптов. НО задачи написание ск...

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

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

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

Мобильный WhatsApp замахнулся на кусок пирога Zoom и Skype. Видеоконференции на 50 человек доступны избранным Команда популярного мессенджера WhatsApp поддержала своих работодателей в Facebook в попытке отхватить кусок пирога у сервиса Zoom. Разработчики начали внедрять интеграцию с сервисом Messenger Rooms, который был запущен Facebook в конце апреля.  Сервис Messenger R...

Cisco ускорила работу приложений в гибридном многооблачном мире Новая операционная модель предлагает подразделениям, отвечающим за приложения, и ИТ-службам полную прозрачность процессов в локальной и облачной среде.

API, ради которых наконец-то стоит обновиться с Java 8. Часть 2 Продолжаем рассказ про API, которые появились в новых версиях Java. 1. Files.mismatch() Появился в: Java 12 На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода Files.mismatch(), появившегося в ...

Cтримим и кaстим youtube и не только… через raspberry pi c Gotubecast и KODI TubeCast Насколько сложно передавать youtube музыку или видео через телефон или другие портативные, мобильные устройства на вашу Raspberry pi? А если не портативные? А просто управлять медиа контентом через Windows или Linux PC? Оказывается что нет. Я хочу рассмотреть установку, и н...

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

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

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

Почему приложение запрашивает разрешение на поиск устройств в локальной сети в iOS 14 В iOS 14 Apple серьезно пересмотрела подход к конфиденциальности пользователей. Мало того, что компания добавила в обновление продвинутые возможности Safari для предотвращения отслеживания хакерами и рекламодателями, так теперь iPhone или iPad показывает оранжевую или зелен...

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

Позиция win-win: улучшаем пользовательский опыт и делаем онлайн-бизнес счастливее Рынок e-commerce в России растет быстро. По данным Яндекс.Кассы, с 2015 по 2020 год малый и средний бизнес вырос в объеме продаж на 148%, в 2 раза увеличилось количество платежей и стал выше средний чек. Если предприниматель опытный и не вчера вышел с бизнесом в онлайн, то о...

Kubernetes в Hetzner при помощи Rancher (с картинками) Доброго времени суток. Последние несколько месяцев я пытался запустить кластер kubernetes для взаимных пыток и изучения. За это время я прочитал большое количество разных статей, многие из которых были хорошими, но совершенно не подходящими для человека, не сталкивавшегося с...

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

BlazingPizza: приложение на Blazor от начала и до конца. Часть 1. Настройка среды Всем привет! Если вы слышали о Blazor, но до сих пор не понимаете, что это такое. То вы по адресу. Это первая статья из цикла 12 статей, которая проведет вас через все круги ада весь процесс создания приложения на Blazor. В конце у нас будет готовый сайт небольшой пиццерии, ...

Security Week 50: атаки Man-in-the-middle в Confluence и Linux Сразу несколько новостей этой недели описывают атаки типа Man-in-the-middle, а также средства борьбы с ними. Начнем с относительно курьезной новости: уязвимость нулевого дня случайно обнаружил пользователь Твиттера SwiftOnSecurity — анонимная персона, специализирующаяся преи...

Собираем приложение Qt в WebAssembly в Windows Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров. Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользовател...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

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

Blazor: Server и WebAssembly одновременно в одном приложении ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. П...

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

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

Тестирование android приложений с использованием selenoid. Поиск location в мобильном приложении с помощью Appium Предисловие из поста: Selenoid — это программа, которая позволяет управлять браузерами и Android-эмуляторами с помощью специальных драйверов. Умеет запускать каждый из них изолированно в Docker-контейнере. Основная идея Selenoid состоит в том, чтобы запускать новый контейнер...

[Перевод] Вышел Flutter 1.17 Сегодня (6 мая 2020) мы с радостью представляем Flutter 1.17, наш первый стабильный релиз в этом году. Наша цель – выпускать стабильные релизы примерно ежеквартально. Однако, данный релиз занял немного больше времени, потому что мы меняли нашу инфраструктуру для нового проц...

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

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

PostgreSQL Antipatterns: статистика всему голова Для выбора наиболее эффективного плана выполнения запроса PostgreSQL пользуется накопленной статистикой о распределении значений данных в целевых таблицах. Она обновляется с помощью явного запуска команд ANALYZE и VACUUM ANALYZE или в фоновом режиме процессом autovacuum/auto...

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

[Из песочницы] AWS Step Functions overview Теория Что такое Step Functions? Из AWS Docs: Step Functions — это сервис бессерверной оркестровки, который позволяет комбинировать функции AWS Lambda и другие сервисы AWS для создания критически важных для бизнеса приложений. С помощью графической консоли Step Functions вы ...

Распознавание объектов на android с помощью TensorFlow: от подготовки данных до запуска на устройстве Обучение нейросети распознаванию образов — долгий и ресурсоемкий процесс. Особенно когда под рукой есть только недорогой ноут, а не компьютер с мощной видеокартой. В этом случае на помощь придёт Google Colaboratory, которая предлагает совершенно бесплатно воспользоваться GPU...

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

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

Uber Eats запустился в Виннице, которая стала пятым городом присутствия сервиса в Украине Сегодня, 9 апреля 2020 года, компания Uber объявила о начале работы своего приложения по заказу и доставке еды в пятом городе Украины — Виннице. Начиная с 10:00 жители Винницы могут открыть приложение Uber Eats или посетить сайт ubereats.com, и заказать блюда из местны...

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

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

VoiceOver на iOS: каждый контрол ведёт себя по-разному Привет, Хабр! Недавно я говорил про адаптацию приложений для незрячих и неподвижных людей. И не договорил! Сегодня расскажу, как изменить поведение контролов с помощью accessibilityTraits и сделать жизнь незрячих чуть удобней. Знать работу этих трейтов (traits) важно, чтоб...

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

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

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

Приложения Android стали доступны для Windows 10 Компания Microsoft запустила очень полезное новшество операционной системы Windows 10 для пользователей смартфонов. В приложении Your Phone (Ваш телефон) заработала функция «приложения Android на ПК».  Ранее эта функция Your Phone предлагалась только у...

Разработчики ASUS и Acer исправили опасные ошибки в своем ПО Эксперты компании SafeBreach обнаружили способ выполнить сторонний код на компьютерах Acer и ASUS. Угроза связана с собственным предустанавливаемым ПО производителей. В случае Acer проблема содержится в приложении Acer Quick Access. Оно автоматизирует настройку часто использ...

Сеть в DOS с помощью стека mTCP Некоторое время назад меня попросили сделать видео-инструкцию по настройки сети в операционной системе DOS. К сожалению в съёмке видео я не силен, поэтому постараюсь максимально подробно письменно (и с картинками) изложить сей процесс. Однажды мне самому пришлось столкнутьс...

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

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

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

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 2 — преобразование XML в JSON В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС. В предыдущей статье было описано, как получить файл...

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

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

[Из песочницы] Логическая репликация из PostgreSQL в Erlang Довольно типичная схема при разработке системы, когда основная логика обработки сосредоточена в приложении (в нашем случае Erlang), а данные для работы этого приложения (настройки, профили пользователей и т. д.) в базе данных (PostgreSQL). Приложение Erlang кэширует настройк...

B2B торговые площадки: как запуститься, преуспеть и заработать больше? Рецепт от AGORA и Brandquad Переводить ли свои B2B продажи в онлайн? В 2020 году этот вопрос звучит актуально как никогда. По прогнозу iBe TSE, продажи на онлайн-маркетплейсах к 2024 году превысят $7 трлн. Сопоставимо взлетел спрос и на создание собствен...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие. Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Од...

Новый баг macOS Catalina забивает память Mac пустыми фотографиями с iPhone   Разработчики приложения NeoFinder случайно обнаружили баг встроенной программы Захват изображений в macOS. Она используется для переноса большого количества фотографий с iPhone на Mac. Во время копирования файлов формата HEIC приложение конвертирует снимок в JPG...

Google облегчил перенос локальных данных в облако для предприятий Google представил новый сервис, который призван облегчить перенос данных с локальных серверов в облако для предприятий. Он получил название Transfer Service. Новый сервис предназначен для масштабных проектов по переносу миллиардов файлов и петабайт данных. Он дополняет други...

Личная файлопомойка. Как я настраивал файлообменник на VPS Эпоха флешек давно канула в Лету. Что, впрочем, неудивительно: незаменимый инструмент для переноса файлов в кармане утратил свою актуальность с появлением облачных сервисов — доступных везде, где есть интернет, причем практически с любого устройства. Однако в этой бочке ме...

Huawei объявила о запуске HMS Core 4.0 по всему миру HMS Core — это платформа, которая обеспечивает широкую базу открытых API экосистемы Huawei и способствует лучшей организации бизнес-процессов при создании приложений благодаря инструментам для их разработки и тестирования.

Установка простого приложения (например Superset) в microk8s используя metallb и helm Snaps являются кросс-дистрибутивными, независимыми и простыми в установке приложениями, упакованными со всеми их зависимостями для запуска во всех основных дистрибутивах Linux. Snaps безопасны — они ограничены и не ставят под угрозу всю систему. Они работают под разными уров...

Этот день настал. Google Play Music окончательно и бесповоротно мёртв Компания Google начала процесс окончательного закрытия своего музыкального сервиса Google Play Music. Хотя ранее Google говорила, что сервис будет закрыт к конце года, многие пользователи уже сообщили, что приложение Google Play Music стало недоступно.  В приложен...

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3 В данной статье разберемся с декомпиляцией ELF файлов в Cutter на примере легеньких задач. Прошлые части введения в реверс: Часть 1: C, C++ и DotNet decompile — основы реверса Часть 2: Реверсим MIPS и Golang — основы реверса Организационная информ...

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

Много свободной RAM, NVMe Intel P4500 и все люто тормозит — история о неудачном добавлении раздела подкачки В данной статье я расскажу о ситуации, которая недавно произошла с одним из серверов нашего облака VPS, поставив меня в тупик на несколько часов. Я около 15 лет занимаюсь конфигурированием и траблшутингом серверов Linux, но данный случай совершенно не укладывается в мою прак...

Локализация приложений — 10 главных языков Полезно почитать перед запуском приложения на нескольких языках. Статья основана на статистике рынка приложений и конкретных примерах локализации.

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

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

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

Решаем практические задачи в Zabbix с помощью JavaScript Тихон Усков, инженер команды интеграции Zabbix Zabbix — кастомизируемая платформа, которая используется для мониторинга любых данных. С самых ранних версий Zabbix у администраторов мониторинга была возможность запускать различные скрипты через Actions для проверок на целевы...

Обновляйтесь до MIUI 12.5 осторожно: известные проблемы и баги новой оболочки Проблемы со звонками, Wi-Fi и мобильным интернетом Один из главных недостатков MIUI 12.5 — проблемы с осуществлением телефонных звонков. Чаще всего от них страдают владельцы Xiaomi Mi 10 и Redmi Note 10S. Также у этих смартфонов после обновления часто возникают проблемы при ...

YouTrack теперь с просмотром пул-реквестов в задачах Привет, Хабр! С вами команда YouTrack из JetBrains. У нас отличные новости — начиная с YouTrack 2020.3 в задачах отображаются не только коммиты, связанные с задачами, но и пул-реквесты. В сегодняшнем посте мы расскажем, что это, зачем это, и как это поможет сделать процесс...

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

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

[Перевод] Изменение требований к проекту — ключевая проблема разработки ПО Шаги по разработке большой компьютерной программы для доставки заказчику Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-...

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

Настройка окружения в CLI. WSL / Windows Terminal Есть люди, которые большинство рабочего времени проводят в консоли, есть те, кто пользуются терминалом при необходимости, запуская что-то по инструкциям. Но я думаю, что каждый айтишник, будь он разработчиком, сисадмином, сетевым инженером, или даже senior yaml developer`ом,...

Выпущена новая сборка Microsoft Edge Dev 83.0.467.0 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.467.0 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Также компания опубликовала информацию о том, что в скором времени на стабиль...

Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB Недавно я рассказал, как с помощью типовых рецептов увеличить производительность SQL-запросов «на чтение» из PostgreSQL-базы. Сегодня же речь пойдет о том, как можно сделать более эффективной запись в БД без использования каких-либо «крутилок» в конфиге — просто правильно ор...

Смерть Кощея в списке рекомендаций (можно ли сделать уютным и безопасным Ютюб?) Вступление коротко: хочу рассказать про онлайн плеер Ютюб для Андроида с локальными плейлистами, каналами и рекомендациями. Вступление развернутое: Некоторое время назад я столкнулся ровно с такой проблемой, как и автор замечательного приложения Channel Whitelist, и определ...

[Из песочницы] Ищем утечки памяти с помощью Eclipse MAT Пожалуй, все java-разработчики, участвующие в коммерческих проектах рано или поздно сталкиваются с проблемой утечки памяти, влекущей за собой медленную работу приложения и почти неизбежно приводящую в итоге к известной OutOfMemoryError. В данной статье будет рассмотрен реаль...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

Выход Halo Infinite отложен на 2021 год Microsoft и студия 343 Industries приняли решение отложить выход Halo Infinite на 2021 год. Разработчики заявляют, что причина задержки связана с продолжающейся пандемией коронавируса, из-за чего сотрудники вынуждены работать из дома, и разработка столь крупных игр теперь в...

Шпаргалка по форматам файлов с данными в python Python понимает все популярные форматы файлов. Кроме того, у каждой библиотеки есть свой, «теплый ламповый», формат. Синтаксис, разумеется, у каждого формата сугубо индивидуален. Я собрал все функции для работы с файлами разных форматов на один лист A4, с приложением в виде ...

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

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action ВступлениеВ связи с желанием апгрейдить свое рабочее место, появилась потребность в мониторе, на котором будут отображаться информативные виджеты, например: погода, календарь, показатели датчиков в доме -, и, так как готовые решения меня не устраивают, я решил, что сделаю св...

[Из песочницы] Используй время правильно: автоматизация процессов в Tinder Думаю многие любят знакомиться в соц. сетях и пользуются приложениями (например Tinder), но часто уходит много времени на то, что бы ставить лайки и отправлять первые сообщения. Я считаю что это монотонные действия которые только отталкивают от общения и знакомства. Если ты...

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

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

Подробности реализации протокола синхронизации времени PTPv2 Введение Концепция построения «Цифровой подстанции» в электроэнергетике требует синхронизации с точностью 1 мкс. Для проведения финансовых транзакций также требуется точность в мкс. В этих приложениях точности времени NTP уже недостаточно. Протокол синхронизации PTPv2, опи...

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при раз...

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

Браузер на страже API-запросов Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защ...

[Из песочницы] Как отключить предупреждение о вреде долгого прослушивания аудио (Android) Наверное, многие, кто слушает музыку (и не только) с Android-устройства, сталкивались с таким предупреждением: В этой статье мы рассмотрим, почему и когда возникает данное предупреждение, и как сделать так, чтобы оно больше не возникало. Читать дальше →

МТС вышла на рынок облачных контейнерных сервисов ПАО «МТС», крупнейший российский телекоммуникационный оператор и провайдер цифровых услуг, сообщает о запуске провайдером #CloudMTS нового облачного сервиса собственной разработки Containerum Managed Kubernetes. Его использование примерно вдвое сокращает время и затраты на з...

Apple Watch и iPhone скоро смогут заменить ключи от автомобиля Apple выпустила бета-версию iOS 13.4 для разработчиков, которая содержит ссылки на новый «CarKey» API. Это должно позволить пользователям использовать свои iPhone или Apple Watch для разблокировки и возможно, даже для запуска автомобиля. Автомобиль должен поддерживать N...

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

MASK-RCNN для поиска крыш по снимкам с беспилотников В белом-белом городе на белой-белой улице стояли белые-белые дома… А как быстро вы можете найти все крыши домов на этой фотографии? Все чаще можно слышать про планы правительства провести полную инвентаризацию объектов недвижимости с целью уточнения кадастровых данных. Для...

[Перевод] Преобразуем проект на Python в исполняемый файл .EXE С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python. В этой статье я расскажу...

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

Ровняем шарды "Размышления без практики приводят к заблуждению, практика без размышления приводит к затруднению." Мы ведём войну с индивидуальностью у шардов в кластере MongoDB. Это продолжение статьи Шардинг от которого невозможно отказаться, а это значит, что наступила пора к...

Как создать токен за 5 минут? Рассказываем на примере платформы Enecuum Для запуска токена на Ethereum нужно написать смарт-контракт. На EOS — купить оперативную память. Команда проекта Enecuum считает: выпуск токена не должен быть таким сложным. Задача Enecuum — упростить процесс до нескольких кликов мышкой. Рассказываем, зачем нужны токены, и ...

В сеть попали скриншоты интерфейса депозитного контракта Ethereum 2.0 Прототип интерфейса депозитного контракта Ethereum 2.0, пошагово описывающий процесс присоединения валидаторов к Proof-of-Stake-сети Beacon Chain, был выложен в открытый доступ. Опубликовала его команда Deep Work Studio, подготавливающая эфир к переходу на новую систему. В н...

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

svchost.exe грузит память в Windows 7, 8, 10: что это за процесс и как решить проблему Кажется, что разговор о тех или иных ошибках Windows может стать бесконечным. На самом деле трудно отрицать тот факт, что вполне нормально сталкиваться с ошибками на своем компьютере, если своевременно не заботиться о его здоровье. На этот раз попробуем разобраться с проблем...

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

Google выпустила бета-версию Android 11. Скачать можно уже сейчас Компания Google, наконец, выпустила бета-версию Android 11 для разработчиков. Developer Preview, как правило, предназначены для тестирования и адаптации приложений разработчиками под новую версию операционной системы. На сайте обновления Google разделила нововведения на 3 р...

Автоматизируем ведение большого количества пользователей в AD Автоматизируем ведение большого количества пользователей в AD: Добрый день! В этой статье я бы хотел описать применённое мной практическое решение по автоматизации одной рутинной задачи второй линии технической поддержки одного крупного предприятия. Имеем два территориаль...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

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

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

Началось ОБТ League of Legends: Wild Rift в Юго-Восточной Азии ОБТ League of Legends: Wild Rift идёт полным ходом и об этом говорит запуск серверов в Юго-Восточной Азии. Поэтому если у вас есть аккаунт и VPN в этом регионе или в Южной Корее с Японией, то обязательно скачивайте эту мобильную MOBA. Но это если вы не хотите ждать до декабр...

Как обновить прошивку наушников Audio-Technica ATH-M50xBT Вот и наступила пора, когда прошивку приходится обновлять не только на смартфонах. Неплохо бы время от времени апдейтить наушники, если они у вас беспроводные. Например, недавно после подключения к смартфону любимых Audio-Technica ATH-M50xBT (тут наш обзор) и запуска фирме...

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

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

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

Компания Apple выпустила бета-версию iOS 13.4 Компания Apple выпустила бета-версию iOS 13.4. В обновлений добавили новую функцию CarKey. Это функция CarKey, позволить использовать смартфоны iPhone и часы Apple Watch для разблокировки, блокировки и запуска автомобилей с помощью NFC модуля. Сопряжение с автомобилем буде...

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

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

WhatsApp позволяет добавлять контакты через QR-код WhatsApp продолжает работу над приложением добавляя разные фишки и функции. Недавно была добавлена тема Dark Mode для ОС iOS и Android. Теперь в приложение появилась возможность добавить контакты через QR-код. Новая функция WhatsApp доступна в бета-версии для смартфонов...

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

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

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

Представляем werf 1.0 stable: при чём тут GitOps, статус и планы Werf — это GitOps CLI-утилита с открытым кодом для сборки и доставки приложений в Kubernetes. Werf поддерживает сборку образов приложения с помощью Dockerfile или собственного встроенного сборщика (на основе синтаксиса YAML, с поддержкой Ansible и инкрементальной пересборк...

Lively Wallpaper – живой анимированный рабочий стол в Windows 10 Windows 10 включает в себя широкий спектр настроек для изменения внешнего вида рабочего стола и приложений, чтобы операционная система выглядела более индивидуальной. В настоящее время вы можете переключаться между темной или светлой темой и изменять цветовой акцент для меню...

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

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

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

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

Fast Reverse Proxy как альтернатива Ngrok Создание общедоступного URL в сети интернет к вашему локальному проектуЧто такое Ngrok, наверное знает каждый разработчик web приложений, и многие им пользуются. Немного предыстории...Присоединившись к новому большому проекту, над которым работают десятки разработчиков и QA ...

Сборка приложения среды arduino средствами CI github Немного имея по работе дело с CI/CD (gitlab ce), не так давно на github наткнулся на actions, и решил попробовать, что же это за зверь такой. Собирать JS или какие то другие решения не очень интересно было, поэтому решил протестировать сборку Arduino скетча для esp8266, ...

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

Состоялся релиз стабильной версии Windows Terminal В прошлом году Microsoft анонсировала приложение Windows Terminal с открытым исходным кодом, которое призвано стать единым местом для получения доступа к PowerShell, CMD, Windows Subsystem for Linux (WSL) и Azure Cloud Shell. Теперь же компания объявила о выходе стабильной ...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

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

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

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

CI/CD на AWS, Azure и Gitlab. Новый курс от OTUS Внимание! Данная статья не является инженерной и предназначается читателям, которые интересуются образованием в области CI/CD. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен. Если вы разработчик или администратор, отвечающий ...

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

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

[Из песочницы] Валидация данных в iOS приложениях Думаю, каждый из нас сталкивался с задачей валидации данных в приложениях. Например, при регистрации пользователя нужно убедиться что email имеет правильный формат, а пароль удовлетворяет требованиям безопасности и так далее. Можно привести массу примеров, но все в итоге сво...

[recovery mode] Культура как основа масштабирования команды х2 каждый год. Про ошибки в найме и culture fit Я работаю менеджером разработки в Miro и активно участвую в найме. Последние несколько лет наша команда удваивается ежегодно и становится мультикультурной, у нас открываются офисы в Америке и Европе. 5 лет назад, в начале стадии быстрого роста, наши процессы найма и онборди...

Не работает поиск на Mac: как перестроить индекс Spotlight на macOS Spotlight на macOS является системным приложением для поиска других программ, документов, контактов, закладок, электронных писем, элементов сторонних приложений и многого другого из одного центрального места на вашем Mac. Для оптимальной своей работы Spotlight использует инд...

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит Введение Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих ...

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

Управление хаосом: наводим порядок с помощью технологической карты Изображение: Unsplash Всем привет! Мы инженеры-автоматизаторы из компании Positive Technologies и занимаемся сопровождением разработки продуктов компании: поддерживаем весь сборочный конвейер от коммита строчки кода разработчиками до публикации готовых продуктов и лицензи...

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

HUAWEI объявила о запуске HMS Core 4.0 Компания HUAWEI объявила о запуске набора сервисов HMS Core 4.0, который даст разработчикам приложений повысить эффективность разработки приложений, а также усовершенствовать их монетизацию. Эта платформа сможет обеспечить широкую базу открытых API экосистемы HUAWEI и посп...

[Перевод] Почему нам нужен DevOps в сфере ML-данных Развертывание машинного обучения (machine learning, ML) в продакшн – задача нелегкая, а по факту, на порядок тяжелее развертывания обычного программного обеспечения. Как итог, большинство ML проектов так никогда и не увидят света — и продакшена — так как большинство органи...

Google официально объявляет о запуске бета-версии Android 11 Google недавно выпустила рекламный ролик, в котором всем желающим предлагается посмотреть онлайн-релиз Android 11 Beta. Бета-версии новых систем Android обычно выпускаются на конференции Google I/O. Однако, этот год немного отличается из-за пандемии коронавируса. Google I/O ...

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

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

Рассказываем про библиотеку для Process Mining: теперь SberPM в открытом доступе Process Mining – это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий (event logs), доступных в корпоративных ИТ-системах. Являясь своеобразным мостиком между Data Mining и Process Management, он выводит исследование би...

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

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

Blue Prism Roadshow Russia Blue Prism Roadshow Russia посвящено теме роботизированной автоматизации процессов (RPA). Согласно ежегодному глобальному исследованию Blue Prism «Влияние Цифровой рабочей силы на способность бизнеса к быстрому адаптированию и выживанию в новых условиях»,...

R, Монте-Карло и enterprise задачи При решении практических задач с завидной регулярностью приходится сталкиваться с двумя типовыми подходами, которые выдвигаются на совещаниях или витают в воздухе. Вариант 1 — давайте решать частную задачу в общем виде. Решив ее таким образом, мы сможем попутно много чего е...

Три в одном, или Как мы переехали в новый ЦОД, обновили ПО и сделали Disaster Recovery Переместить большой объем данных не останавливая работу серверов — задача посложнее, чем построить с нуля новую архитектуру. Надо понимать, что, как, когда и куда, а еще организовать переезд так, чтобы не тормозить уже существующие бизнес-процессы. Мы смогли найти программны...

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

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

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

Реверс-инжиниринг протокола ngrok v2 Реверс-инжиниринг протокола Ngrok v2ngrok — это сервис, позволяющий создавать туннели на локальный компьютер пользователя. Иными словами, резервируется публичный адрес, все обращения по которому пробрасываются на локальный порт.К сожалению, с 2016 года поддержка open-s...

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

Обнажённая электроника — бесплатные фото без СМС и регистрации Привет, Интернет. В процессе работы над проектом Nude Electronics Art я сделал достаточно качественные фотографии электронных плат и решил поделиться ими со всеми. Вы можете скачать их бесплатно на сайте Pixabay, в том числе для коммерческих целей. Коллекция будет потихонь...

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

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

Состоялся пробный запуск The Witcher: Monster Slayer от CD Projekt Red Неделю назад польская CD Projekt RED анонсировала свой новый проект — мобильную игру с функцией дополненной реальности, The Witcher: Monster Slayer. Она точно придётся по вкусу всем фанатам Pokemon Go, а также вселенной Ведьмака, разумеется. Разработкой занимается внутренняя...

MediaTek «накручивает» цифры в синтетических тестах ... В условиях жесткой конкуренции производителям приходится идти на разные уловки, чтобы показать свою продукцию в более выгодном свете. Один из опробованных методов манипуляции —накрутить результаты бенчмарков. За этим занятием ранее ловили Samsung, Huawei и OnePlus. Вид...

Большое долгожданное обновление Dropbox. И новая дорогая семейная подписка в придачу Команда популярного облачного сервиса Dropbox объявила о запуске большого функционального обновления. Также компания предложила новый семейный тарифный план.  Разработчики, наконец, вывели из статуса беты новое приложение менеджера паролей. Главным же новше...

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

Тренды продуктовой безопасности 2020. Бесплатный онлайн-митап 21 апреля Поговорим о новых трендах, подходах инструментах и вызовах, которые возникают перед отделами информационной безопасности сегодня. Хранение данных в облаках, работа с третьесторонними вендорами и решениями, автоматизация security review в условиях непрерывной разработки и р...

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

Sony: разработчикам решать, добавлять ли перенос сохранений игр с PS4 на PS5 Sony Interactive Entertainment ответила в официальном PlayStation Blog на некоторые вопросы касаемо работы игр для PlayStation 4 на PlayStation 5. В частности, компания затронула тему переноса сохранений. Ранее стали известны другие детали обратной совместимости. Как рассказ...

Физика для мобильного PvP шутера и как мы подружили её с ECS Всем привет! В этой статье мы расскажем про личный опыт работы с физическими движками для мультиплеерного шутера и главным образом сфокусируемся на взаимодействии физики и ECS: на какие грабли мы наступили в процессе работы, чему научились, почему остановились на конкретных ...

[Перевод] Об утечках GDI и о важности удачи В мае 2019 года меня попросили взглянуть на потенциально опасный баг Chrome. Поначалу я диагностировал его как неважный, потратив таким образом впустую две недели. Позже, когда я вернулся к расследованию, он превратился в причину номер один вылетов процесса браузера в beta-...

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

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

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

Приложение «Ваш телефон» позволяет перетаскивать файлы с ПК на телефон Приложение «Ваш телефон» в Windows 10 предлагает связь между вашим ПК и смартфоном с Android 7 или более новой версии, а также iPhone. За последние несколько лет приложение для телефона стало популярным, и теперь оно получает еще одну полезную функцию, которая поможет вам св...

[Перевод] Как устроен билд APK файла внутри Процесс создания APK и компиляции кода Рассматриваемые темы Архитектура процессоров и необходимость для виртуальной машины Понимание Java виртуальной машины Компиляция исходного кода Виртуальная машина Андроид Процесс компиляции в .dex файл ART против Dalvik Описание каждой...

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

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

Microsoft упростит удаление файлов в Windows 10, которые заблокированы «Проводником» По умолчанию Windows 10 не позволяет удалять, перемещать или переименовывать файлы, открытые в других приложениях. Для изменения заблокированных файлов пользователю необходимо идентифицировать и закрыть приложение, которое их использует. Определить такое приложение не всегда...

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

Выпускники семестрового курса «Разработка приложений на iOS», Технопарк Mail.ru Свои дипломные проекты в этом сезоне защитила новая группа выпускников семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). Это был экспериментальный семестр, все занятия проходили онлайн. Преподаватели выбрали четыре самых интересных решения, о которых мы х...

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

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

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

Это произошло: Apple выгнала Epic Games из App Store Компания Apple опубликовала официальное заявление, в котором компания подтвердила распространившуюся по Сети информацию о том, что учетная запись Epic Games была полностью удалена из магазина приложений App Store, а также выразила свое разочарование в связи с этим. Мы р...

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

[Перевод] Типовые ситуации при непрерывной интеграции Вы изучили команды Git но хотите представлять, как непрерывная интеграция (Continuous Integration, CI) происходит в реальности? Или может вы хотите оптимизировать свои ежедневные действия? Этот курс даст вам практические навыки непрерывной интеграции с использованием репозит...

CI TeamCity — Автоматизация build процессов Android и UI тестирования В этой статье предлагаю Вашему вниманию инструкцию по установке и настройке TeamCity для автоматизации сборки и тестирования Android проектов под Windows. Также буду уделять внимание особенностям настройки environment’а под Android проект (которые находил в процессе исследо...

Как включить таймер в iPhone: 3 способа Для установки таймера на iPhone вовсе необязательно запускать приложение Часы. Существует еще как минимум два быстрых способа запуска таймера. В этом материале мы и расскажем о них. ♥ ПО ТЕМЕ: Как редактировать видео на iPhone или iPad: обрезать, наложить текст, музыку, пере...

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

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

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

Как переиспользовать код с бандлами Symfony 5? Часть 5. Конфигурация Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

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

0-day Dropbox открывает максимальный доступ к Windows Независимые исследователи обнаружили в Windows-клиенте Dropbox опасную уязвимость нулевого дня. Ошибка, для которой еще не вышел патч, позволяет злоумышленнику получить максимальные привилегии на машине и открывает доступ к командной строке. Угроза содержится в компоненте, к...

7 полезных бесплатных мини-приложений для Mac Для Mac созданы тысячи программ, которые делают жизнь пользователя проще и приятнее. В этой статье мы представим подборку отличных приложений из разряда «мал золотник, да дорог». ♥ ПО ТЕМЕ: Горячие клавиши для выключения и перезагрузки Mac.   1. Thor Программа позволяет...

Как сервис Estimate помогает автоматизировать процесс оценки и узнать стоимость IT-проекта Как для бизнеса, так и для IT-компании оценка – один из самых важных этапов в начале работы над проектом. Бизнес готов сотрудничать с тем подрядчиком, который назовет стоимость объективно, прозрачно и быстро, в идеале – немедленно. При этом на рынке существует значительный ...

Перфоманс фронтенда как современное искусство: графики, код, кулстори Всем привет. В предыдущих статьях мы говорили о базовых вещах оптимизации: раз и два. Сегодня я предлагаю с разбега окунуться в одну часть из тех задач, которыми занимается команда архитектуры фронтенда в hh.ru. Я работаю в команде архитектуры. Мы не только перекладываем фай...

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

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтоб...

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

Мониторинг запросов в Greenplum Часто при работе с разными базами данных необходимо отслеживать выполнение текущих запросов. В основном это связано с задачами администрирования или аналитики. Средства мониторинга, позволяющие управлять и наблюдать за выполнением запросов, сильно помогают в этом. Я расскажу...

[Перевод] Дэвид О’Брайен (Xirus): метрики, метрики, метрики… Недавно Дэвид О’Брайен открыл свою собственную компанию Xirus (https://xirus.com.au), сосредоточившись на облачных продуктах Microsoft Azure Stack. Они предназначены для согласованного создания и запуска гибридных приложений в центрах обработки данных, в пограничных располож...

Выпущена новая сборка Microsoft Edge Dev 83.0.478.5 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.478.5 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Эта сборка является кандидатом на выпуск на канале Beta, и она немного новее,...

Как я искал нормальный RDP-клиент и нашел целых три Remote Desktop Protocol — один из самых распространенных протоколов для удаленного управления, потому что он используется для работы с операционными системами Windows, которые часто незаменимы в корпоративной среде. Естественно, самый распространенный способ подключения к ...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

Перенос работающего сервера на RAID Жил-был LAMP-сервер на Ubuntu 12.04, который работал на одном диске. Соответственно, возникла задача обеспечить перенос сервера на более отказоустойчивую конфигурацию – RAID1. Товарищи, в ведении которых был данный сервер установили второй диск, а дальнейшее было возложено н...

[Из песочницы] Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS. У нас есть два варианта:...

Выпущена новая сборка Microsoft Edge Dev 83.0.474.0 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.474.0 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Это она из последних сборок в рамках версии 83. Основные новшества: Теперь из...

Знакомство с Debezium — CDC для Apache Kafka В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой пробел примером из своей недавней практики, когда потребовалось настроить...

Смартфон Samsung — лучший друг ПК с Windows? Появился простой способ передачи файлов между этими устройствами Microsoft и Samsung расширяют своё сотрудничество, касающееся взаимодействия ПК с Windows 10 и смартфонов корейского гиганта. В частности, на днях стало известно, что расширились возможности приложения Link to Windows — теперь можно просто и быстро перемещать файл...

[Перевод] Дэвид О’Брайен (Xirus): Метрики! Метрики! Метрики! Часть 2 Недавно Дэвид О’Брайен открыл свою собственную компанию Xirus (https://xirus.com.au), сосредоточившись на облачных продуктах Microsoft Azure Stack. Они предназначены для согласованного создания и запуска гибридных приложений в центрах обработки данных, в пограничных располож...

Переход c Cocoapods на Swift Package Manager Cocoapods считается наиболее популярным менеджером зависимостей для iOS. Последние годы Apple работает над развитием своего нативного менеджера зависимостей Swift Package Manager (SPM). Изначально его использование было возможно только для server-side Swift или приложений...

[Перевод] Непрерывная интеграция и развертывание настольных приложений с GitHub Actions Из общения с разработчиками настольных приложений мы узнали, что многие хотят узнать, как быстро настраивать рабочие процессы непрерывной интеграции и непрерывного развертывания (CI/CD) для WPF и Windows Forms, чтобы пользоваться многими преимуществами пайплайнов CI/CD, таки...

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

Релиз новой версии плагина DevOpsProdigy KubeGraf Друзья, всем привет! В прошедшие выходные состоялся долгожданный (а принятие PR шло больше месяца) релиз новой версии нашего плагина для мониторинга kubernetes-приложений DevOpsProdigy KubeGraf v1.2.0! Хочу рассказать вам о его новых фишках. Читать дальше →

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

[Из песочницы] AI на минималках: пишем свой Сокобан и учим компьютер его решать В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID. Весь код расположен по адресу Читать дальше →

[Перевод] Kha vs HTML5: Компилируем JavaScript в C++ Предлагаю вашему вниманию перевод доклада Роберта Конрада с прошедшего в октябре прошлого года HaxeUp Sessions 2019 Linz. Данный доклад посвящен процессу портирования на консоли игры CrossCode, изначально написанной на HTML5. Если вам понравится перевод, то рекомендую также ...

[Из песочницы] Оценка задач в Story Points Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем ...

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

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

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

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

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

Translate-SwiftUI: переводчик из iOS 14 Translate-SwiftUI — воссоздание приложения-переводчика из iOS 14 на SwiftUI. В недавнем запуске iOS 14 одна вещь привлекла мое внимание — это новое приложение для перевода. Мне нравится его минимализм. Анимации расслабляющие и успокаивающие. Я воссоздал приложени...

Сортировка выбором Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с э...

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

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

Приложение «Ваш телефон» позволит транслировать Android-приложения в Windows 10 Компания Microsoft анонсировала новую функцию для приложения «Ваш телефон», которая позволит пользователям смартфонов Samsung запускать Android-приложения в качестве окон в Windows 10 с помощью потоковой передачи. Ранее для этой цели можно было использовать функцию «Экран т...

Microsoft рассказала о разработке приложений для Windows 10X и Surface Duo Microsoft поделилась новой информацией о разработке приложений для грядущей операционной системы Windows 10X, а также рассказала, как разработчики могут адаптировать Android-приложения для поддержки Surface Duo. Складные устройства с двумя экранами предоставляют новые спосо...

Приложение Project Newsbar обнаружено в Microsoft Store Известный инсайдер WalkingCat обнаружил в магазине приложений Microsoft Store новое приложение под названием Project Newsbar с логотипом от сервиса Microsoft News. После установки приложения пользователи обнаружат панель со списком актуальных новостей, которая может распола...

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

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

В магазин приложений Apple наконец-то добавили Xiaomi Wear Компания Apple разрешила добавить мобильное приложение Xiaomi Wear в свой официальный магазин App Store.Xiaomi Wear предназначается для управления носимыми устройствами Xiaomi. В данный момент приложение для девайсов Apple поддерживает только смарт-часы Xiaomi Watch Color, н...

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

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

[Из песочницы] Как я учу детей Питону Моя основная работа связана с данными и программированием на R, но в этой статье я хочу рассказать про своё увлечение, которое даже приносит некий доход. Мне всегда было интересно рассказывать и объяснять что-то друзьям, одноклассникам и однокурсникам. Ещё мне всегда прост...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

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

Выпущена новая сборка Microsoft Edge Dev 83.0.461.1 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.461.1 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Это первая сборка в ветке с основным номером версии 83. Напомним, что на этой...

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

Новое приложение «Медузы». Почему Flutter? Технический директор Борис Горячев рассказывает, как «Медуза» работала над ним целый год и почему оно написано на Flutter 12 мая состоялся релиз новых мобильных приложений «Медузы» — почти через два года после того, как мы решили их переписать. Почему так долго? Почему не на...

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

Релиз InterSystems IRIS 2020.1 В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз. Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид П...

Azure RTOS. Часть 1: обзор и запуск (STM32 + CubeIDE + HAL) На недавно прошедшем Microsoft Build 2020 многократно упоминалась Azure RTOS как специализированная ОС жесткого реального времени для микроконтроллеров. В данном материале мы последовательно разберемся в том, что это за операционная система, какое место она занимает в продук...

Версионирование структуры БД при помощи Liquibase Большая часть приложений, которые мне встречались, хранят данные в SQL базе данных. Если у вас корпоративное приложение, то скорее всего имеется несколько стендов: стенд разработки, пре-прод и прод. А над приложением трудится команда разработчиков.Такие приложения сталки...

Xbox Game Studios «сталкивается с уникальными проблемами и ограничениями» из-за коронавируса Продолжающаяся пандемия коронавируса (COVID-19) оставляет ощутимый след в игровой индустрии. Она нарушила запланированные графики выхода продуктов, а также привела к отмене главных мероприятий отрасли. Вирус перевернул работу всех студий-разработчиков игр, сотрудники которы...

Разработка System Shock 3 продолжается Недавно в сети ходили слухи о том, что команду разработчиков System Shock 3 распустили в начале года. Однако на форумах OtherSide Entertainment появилось сообщение: «Мы всё ещё здесь». Вице-президент студии заявил, что работа идёт удалённо. Он не пояснил, когда состоится ре...

SBI Банк улучшил результаты работы фронт-офиса на 30% с помощью платформы Creatio SBI Банк внедрил CRM-систему Creatio (ранее bpm’online) для модернизации системы обработки клиентских заявок, что позволяет ускорить процесс принятия решений, улучшить сервисную модель и обеспечить высокое качество клиентского сервиса. SBI Банк ...

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

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов? Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN. Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я...

Telegram Open Network без Дурова: тяга инвесторов к централизации может помешать запуску сети Инвесторы проекта Telegram Open Network могут не согласиться на запуск основной сети блокчейна участниками сообщества TON Community Foundation (TCF). Об этом в комментарии ForkLog рассказал комьюнити-менеджер TCF Федор Скуратов. По его словам, идеологически запуск TON силами...

Онлайн-лекция «Реактивные и нативные приложения на Java Spring и Quarkus» 28 июля приглашаем на онлайн-лекцию о разработке приложений на Java Spring, Quarkus, Vert.x и GraalVM с деплоем в MicroK8s. В программе лекции: Сергей Кошкинов и Андрей Смирнов покажут процесс создания приложения на Java-фреймворке Quarkus с деплоем в MicroK8s. А также ср...

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

«Укрзалізниця» запустила курьерскую доставку багажа (пока в пилотном режиме на трех маршрутах) «Укрзалізниця» сегодня объявила о запуске новой услуги для пассажиров — доставки ручной клади к поезду или с него. Начиная с сегодняшнего дня сервис работает в пилотном режиме. На данный момент воспользоваться фирменной доставкой багажа от «Укрзалізниці» можно на вокзалах Ки...

Как отключить тотальную слежку за своими действиями на Facebook и вне соцсети Команда социальной сети Facebook объявила о запуске функции Off-Facebook Activity (Действия вне Facebook) в международном масштабе.  Летом функция тестировалась в Ирландии, Южной Корее и Испании. Страница Off-Facebook Activity позволяет увидеть, какие сторо...

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

[Перевод] Релиз Dart 2.10: на шаг ближе к null-safety Команда языка Dart постепенно приближается к одному из самых мажорных релизов — null-safety. Эта фича есть у многих лидеров рынка, включая Kotlin и TypeScript. По понятным причинам этот релиз нельзя сделать в виде рубильника: одним днём и простым апдейтом. Набравшее скорост...

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

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

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями. Также в статье будут рассмотрены вопросы, связанные с особенностями настройки выхода в Ин...

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

Доступна для загрузки Windows 10 Build 19035 Состоялся релиз Windows 10 Build 19035. Сборка снова несет только список исправлений.Список изменений:• отсутствует Wotermark;• ссылка «Необязательные обновления» больше не будет появляться в Центр обновления Windows;• исправлена проблема с отпечатком пальца, вариант которог...

Производство Material иконок для MacOSX приложения Home Assistant на Electron В первой серии я заварил умный дом на Home Assistant. В процессе я влюбился в Home Assistant и подумал, не написать ли десктопное приложение для этой системы. У Home Assitant есть прекрасный web-интерфейс и показалось разумным завернуть его в Electron, чтобы получить красиву...

Туториал по uplift моделированию. Часть 1 Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации ...

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

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

LCD2004 на RepRapFirmware Всем добрый день!Доделал поддержку RepRap Discount Smart Controller (LCD2004)  прошивкой RepRapFirmware (порт для STM32). На данный момент порт и дисплей работают с данной платой https://3dtoday.ru/blogs/svs0724/plata-s-reprapfirmware-na-stm32Так же как и при работе с RepRap...

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

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

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

Сенсорный терминал для суровых условий Устройства Advantech TPC — это тонкие клиенты для запуска приложений человеко-машинного интерфейса (англ. Human-machine interface, HMI). Представляют из себя полноценный x86 компьютер с пассивным охлаждением, встроенный в защищенный монитор с тачскрином. HMI-терминалы пре...

Memory forensics, Rubber Duck и пароли GPO. Решение задач с r0от-мi. Часть 2 Данная статья содержит решений заданий, направленных на криминалистику оперативной памяти, разбора пэйлоада для USB Rubber Duck, а так же расшифрования перехваченных паролей групповой политики Windows. Организационная информацияСпециально для тех, кто хочет узнавать что-то...

[Из песочницы] Машинное обучение на Android Привет, Хабр! Представляю вашему внимаю перевод статьи из журнала APC. Машинное обучение и интеллектуальный анализ данных – это практические разработки ИИ, благодаря которым появляются приложения различных тематик, начиная от воздухоплавания и заканчивая зоологией. Эти про...

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

[Перевод] Радужные раскраски — лучшие друзья математиков Недавно радужные раскраски помогли провести новое доказательство. И они уже не в первый раз оказываются полезными. Your browser does not support HTML5 video. Цветовое кодирование латинского квадрата и его графа может многое о них рассказать Недавно мы рассказывали о новом ...

Анонс Windows 10 Insider Preview Build 19603 (Ранний доступ) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 19603 для участников программы Windows Insider, использующих канал «Ранний доступ» (Fast Ring). Полный номер сборки: 19603.1000.rs_prerelease.200403-1523. Напоминаем, что ...

Зависла программа на Mac, как принудительно закрыть (завершить процесс): 3 способа В случае подвисания какого-нибудь приложения на Mac необходимо принудительно его завершить. Это поможет быстро закрыть программу или перезагрузить её, позволив избежать перезагрузки всей системы macOS. В данном материале мы расскажем о всех основных способах принудительного ...

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

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

Google случайно засветила Android R. Что мы о ней знаем Android R ещё не вышла, а мы о ней уже кое-что знаем Почти каждая коммерческая компания не хочет, чтобы о её новом продукте узнали раньше времени. Ведь если те, кому предстоит его покупать, начнут узнавать те или иные подробности о новинке за несколько месяцев до анонса, к м...

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

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

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

Новая панель поиска в Проводнике Windows 10 стала быстрее Еще в ноябре 2019 года Microsoft начала выпускать обновление для Windows 10 November 2019 Update с существенными улучшениями в Проводнике. Если вы используете Windows 10 November 2019 Update, вы, возможно, заметили, что панель поиска в Проводнике файлов отображает подсказки ...

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

НОРБИТ внедрил CRM-систему Creatio в REDMOND Внедрение CRM-системы в REDMOND осуществили специалисты компании НОРБИТ (относится к группе ЛАНИТ). Поддержку им оказали «Программные технологии», а разрабатывалось данное решение на платформе Creatio от «Террасофт Россия». Оно охватывает весь спектр ключевых бизнес-процессо...

Модули в JavaScript Фронтенд-разработчики каждый день используют модули. Это может быть функция из локального файла или сторонняя библиотека из node_modules. Сегодня я кратко расскажу об основных модульных системах в JavaScript и некоторых нюансах их использования. Читать дальше →

Как перезапустить зависший Touch Bar без перезагрузки MacBook За работу сенсорной панели в macOS отвечает специальный процесс. Как и любой другой процесс в системе его можно экстренно завершить или перезапустить в случае зависания. Для перезапуска процесса нужно сделать следующее:   1. Запустите приложение Мониторинг системы...

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

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

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

Google Authenticator получил долгожданное обновление спустя три года Настройка двухфакторной аутентификации (2FA) — это один из первых шагов, который вы должны предпринять, чтобы защитить свои учетные записи в Интернете. Несмотря на то, что в Google Play Маркете есть несколько приложений, которые вы можете использовать для установки 2FA, Goog...

Приложение космического интернета Илона Маска стало доступно на iOS Некоторое время назад представители SpaceX заявили о запуске космического интернета компании до конца 2020 года. Теперь же этому появилось новое подтверждение — мобильное приложение Starlink наконец-то появилось в магазине App Store, что говорит о скором релизе проекта.

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

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

MOBA Extraordinary Ones от NetEase вышла на iOS и Android Издатель NetEase начинает 2020 год с релиза MOBA под названием Extraordinary Ones. Впервые о проекте стало известно еще весной прошлого года, когда он вышел в режиме пробного запуска на Android в отдельных странах Азии. Теперь же состоялся глобальный релиз. Игра выполнена в...

Модель Белбина для IT: сила и слабость разных команд В работе с некоторыми командами бывают ситуации, когда что-то работает само, и об этом не надо думать. Сами доделываются задачи, сама развёртывается Continuous Integration — есть люди, которые этим занимаются, и за рабочими процессами не нужно специально следить. Но в других...

IntelliJ IDEA 2020.1: Java 14, анализ потока данных в отладчике, новый режим LightEdit, и многое другое Привет, Хабр! На прошлой неделе состоялся релиз IntelliJ IDEA 2020.1, и в этом посте мы коротко расскажем о самом интересном в новой версии. Из крупного: мы добавили поддержку Java 14, анализ потока данных в отладчике, режим редактирования файлов без открытия проекта (LightE...

Sonic 3 A.I.R. стала доступна для iOS и браузеров, рассказываем как скачать и настроить Маленькая предыстория: Sonic the Hedgehog 3 вышел в 1994 году. Сейчас группа энтузиастов пытается портировать игру на современные PC и смартфоны. Назвали свой проект они так — Sonic 3 A.I.R. (Sonic 3 Angel Island Revisited). У них наполовину получилось: на официальном сайте ...

Как мы построили динамические отчеты на SSRS 2014 Мы уже рассказывали, как помогли одной производственной компании трансформировать процессы корпоративного обучения и развития персонала. Сотрудники заказчика, которые тонули в бумажных документах и Excel-таблицах, получили удобное iPad-приложение и веб-портал. Одна из самых ...

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

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Petal Maps вместо Google Maps, Huawei Docs вместо Google Docs. Huawei представила замену популярным приложениям Google Вместе со смартфонами Mate 40 и их официальными аксессуарами, компания Huawei сегодня представила ряд программных решений, которые призваны заменить разработки Google. Так, сервис Petal Maps выступает альтернативой Google Maps, а Huawei Docs с поддержкой более чем 50 (!...

Amazon запустила сервис для переноса гигантских Windows-инфраструктур в облако Сервис был доступен в виде предварительной версии с декабря 2019 года, когда состоялся его анонс на конференции AWS re:Invent 2019. В апреле 2020-го он стал доступен с полным набором функций для всех желающих.Migration Acceleration Program for Windows предназначен для помощи...

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

Таинственная программа LyX. Часть 2 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. LyX: Preview В меню Вставка есть команда Preview. Я ее понял в числе последних. Математический режим имеет, с одной стороны, преимущество в том, что вводимая формула о...

Новинки Laravel 8 Привет, хабр! В преддверии старта курса "Framework Laravel", наш эксперт и по совместительству активный участник российского сообщества Laravel — Виталий Юшкевич, подготовил обзор новинок в Laravel 8. Передаю слово Виталию: Всем привет! Последний релиз Laravel 8 п...

Один день удаленного фронтендера Я недавно стал тимлидом на одном из проектов нашей компании. Сегодня хочу рассказать о внутренней кухне Максилекта и нашей команды на примере одного моего рабочего дня, допустим, вчерашнего. Читать дальше →

Google Play удалил более 600 приложений за прерывающую рекламу Google удалил более 600 Android-приложений из Google Play и заблокировал их разработчиков из-за рекламы, прерывающей процесс использования. Об этом сообщается в блоге компании. Правила Google запрещают рекламу, которая отображается, когда приложение неактивно, когда объявлен...

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

"Аскона" автоматизировала программу лояльности с помощью low-code платформы Creatio Для построения идеальных взаимоотношений с клиентами в "Асконе" функционирует программа лояльности (ПЛ), которую компания приняла решение усовершенствовать. Для реализации проекта требовался инструмент, мощности которого позволят обрабатывать постоянно растущие объемы клиент...

[Из песочницы] Построение отказоустойчивой системы Embedded Linux на базе модуля Mars ZX3 фирмы Enclustra В связи с загруженностью специалистов, несколько лет назад мы вынуждены были отдать одну разработку контрагентам. Разработка велась на модуле Mars ZX3 фирмы Enclustra, в котором используется SOC ARM+FPGA Zynq-7020. Для сборки Linux использовался BSP от Enclustra (bsp-xilinx)...

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

Выпущена сборка Microsoft Edge Dev 86.0.594.1 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 86.0.594.1 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Основные новшества: Добавлена возможность устанавливать темы из интернет-мага...

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

Security Week 09: кто отвечает за безопасность Android? Сразу несколько новостей прошлой недели касались безопасности платформы Android. Наибольший интерес представляет исследование безопасности смартфона Samsung, проведенное командой Google Project Zero. В модели Samsung Galaxy A50 (возможно, и в других тоже, но это не проверяло...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

Microsoft Windows 10X разрабатывает новый File Explorer Microsoft продолжает работу над новой операционной системой Windows 10X. Компания выпустила эмулятор для того, чтобы пользователь смог опробовать возможности и протестировать данное приложение. Новая операционная система Windows 10X немало изменений в пользовательский и...

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

[Из песочницы] Apache Kafka Описание одной борьбы (Денис-Карасик) Предлагаю ознакомиться с расшифровкой доклада Дениса Карасик "Кафка. Описание одной борьбы" Apache Kafka часто преподносится как серебряная пуля: стоит только начать ее использовать, как все проблемы решатся сами собой, дыхание станет свежим, а волосы мягкими и шел...

Типовые роли в поддержке и в управлении услугами Известный эксперт в области ITSM Рой Аткинсон (Roy Atkinson) в своей статье делится перечнем и описанием типовых ролей в ИТ-поддержке и в управлении услугами, которые использует в своих отчётах Ассоциация профессионалов в области технической поддержки HDI. Первая линия подд...

В «Дії» стартовал бета-тест цифрового студенческого билета Команда разработчиков приложения «Дія» сообщила о запуске следующей ожидаемой многими  функциональности. Само собой, речь о цифровом студенческом билете, запуск которого первоначально планировался на февраль (понятно, что цифровые копии загранпаспорта и внутренней ID-карты т...

Исследуем качество кода операционной системы Zephyr Недавно мы рассказывали, что анализатор кода PVS-Studio начал интегрироваться с PlatformIO. Естественно, при этом команда разработчиков PVS-Studio общалась с командой PlatformIO и те предложили ради интереса проверить код операционной системы реального времени Zephyr. Почем...

Новый инструмент Google для продвижения офлайн-точек — локальные кампании Потребители все чаще обращаются к диджитал для принятия решений в оффлайн сфере. Так за последние 2 года мы видим прирост в 3 раза мобильных «рядом со мной». На вебинаре мы расскажем вам о новом типе кампаний в ...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

Собеседования: ожидания vs реальность Все мы имеем опыт прохождения собеседований. Все когда-то сидели в комнате с зевающим эйчаром, пытающимся разобраться, о чём поговорить, когда ваши планы на ближайшие 5 лет и все 7 сильных черт вашего характера ей уже известны. Некоторые успели побывать и по другую сторону...

[Перевод] Почему Discord переходит с Go на Rust Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemente...

Что будет с ITSM в 2020 году? Что произойдёт с ITSM в 2020 году и в новом десятилетии? Редакция ITSM Tools провела опрос экспертов отрасли и представителей компаний — ключевых игроков на рынке. Мы изучили статью и готовы рассказать вам, на что следует обратить внимание в текущем году. Тренд 1. Благопол...

Управление индивидуальным развитием участников команды Профессиональное развитие — важнейший мотиватор в работе. Если вы тимлид и согласны с этим тезисом, то наверняка задумывались, как вы можете управлять этим процессом и помогать участникам вашей команды развиваться. На TeamLead Conf Павел Филонов из Kaspersky поделился своей...

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

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

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

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

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

Платформа для удаленной работы Zlaker обновила мобильное приложение Москва, 29 октября 2020 года – Платформа Zlaker выпустила новую версию мобильного приложения для устройств, работающих на операционной системе Android. Особое внимание разработчики уделили стабильности программы и ее удобству для пользователей. В частности, увеличилась скоро...

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

Ошибки, которые погубят проект любой сложности. Опыт менеджеров Redmadrobot Мы, электрические, запускаем проекты с 2008 года, и за 11 лет сформировали сильную команду робоменеджеров. Прокачивать железных помогают боевые задачи и одна из самых сложных — управлять проектом. Ситуации, при которых появляется необходимость взять на себя обязанности PM ...

[Перевод] Контрольный список для ревью кода в распределенных системах points of view by sanja Микросервисная архитектура широко распространена в разработке программного обеспечения. Но организации, которые ее используют, помимо сложностей в реализации бизнес-логики сталкиваются еще и с распределенными сбоями. Ошибки распределенных вычислений...

История IT. ООП Мою предыдущую статью «История IT. Когда компьютеры были большими…» мы завершили концом 80-х, когда произошло два знаменательных события. Во-первых, появился ООП и объектный язык C++. А во-вторых, появились персоналки, и это принципиально изменило задачи, стоящие перед IT-ра...

Капля в море: Запуск Drupal в Kubernetes Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для...

[Перевод] Как достичь Уровня 5 по модели CMM в области QA и тестирования Перевод статьи подготовлен специально для студентов курса Python QA Engineer. В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры. Для любого процесса, будь то процесс контроля качества,...

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

Разбор приложения “Рязань – новогодняя столица России 2020” Цель – не рассказать что крутого есть в магазинах, а как надо (и не надо) делать мобильные приложения. Препарируем приложения и смотрим с точки зрения UI/UX, идей и здравого смысла. Рассматриваем официальное мобильное приложение “Рязань – новогодняя столица России 2020...

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

Google расширил функционал подборок в поиске Google объявил о запуске нескольких изменений в работе функции «подборки» в поиске. Используя ИИ, «подборки» теперь группируют похожие страницы, посещённые пользователями, связанные с такими активностями, как шопинг, приготовление еды или хобби. При желании пользователи могу...

Поиск изображений с помощью AffNet Перед нами стояла задача сравнения изображений (image matching) для поиска изображения максимально подобного данному изображению из коллекции. В этой статье я расскажу как мы использовали для этой задачи подход на основе нейронных сетей под названием AffNet. Кому интересно, ...

Состоялся пробный запуск GUNS UP! Mobile, как скачать? Военная стратегия GUNS UP! Mobile вышла в пробном запуске в двух странах. Для остального мира разработчики открыли предрегистрацию на обе платформы. Релиз намечен на октябрь. Игра GUNS UP! Mobile появилась в Google Play двух азиатских стран: Индии и Филиппин. В ней можно ра...

Project Reunion призван упростить разработку UWP и Win32-приложений для Windows 10 В рамках конференции Build 2020 компания Microsoft анонсировала проект Project Reunion, призванный сократить разрыв между разработкой Win32 и UWP-приложений путём объединения Windows API и UWP API. Этот шаг позволит разработчикам модернизировать и создавать приложения, рабо...

Microsoft хотела бы провести одновременный запуск Xbox Series X во всех регионах мира Коронавирус всеми силами пытается нарушить планы многих технологических (и не только технологических) компаний по всему миру. Тем не менее, редмондскому гиганту Microsoft хотелось бы, чтобы запуск игровой консоли нового поколения Xbox Series X был проведен сразу во всех реги...

Прозрачная аутентификация в ASP.Net Core на Linux Аутентификация в ASP.Net (Core) — тема довольно избитая, казалось бы, о чем тут еще можно писать. Но по какой-то причине за бортом остается небольшой кусочек — сквозная доменная аутентификация (ntlm, kerberos). Да, когда мы свое приложение хостим на IIS, все понятно — он за...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

Популярный недорогой Honor получит стабильную Android 10 со дня на день Не так давно Honor, подшефный бренд Huawei, выпустил стабильное обновление фирменной оболочки EMUI 10 на основе свежей версии операционной системы Android 10 для смартфона Honor 10 Lite. А теперь компания подтвердила скорый запуск апдейта для ещё одного популярного смар...

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

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

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

Sensor Tower тайно собирала данные пользователей Android и iOS Аналитическая компания Sensor Tower, которая занимается сбором данных о загрузках и использовании приложений для разработчиков, тайно собирала данные миллионов пользователей Android и iOS через VPN и приложения, блокирующие рекламу. Об этом сообщает Buzzfeed News.В отчете та...

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

Apple выпустит новое приложение для Windows 10: что это будет? Летом 2019 года Apple пошла на довольно неожиданный шаг и отказалась от поддержки приложения iTunes. Это произошло после выхода беты macOS Catalina, где функции iTunes взял на себя Finder. Однако если на Mac онлайн-магазин с музыкой и фильмами, а также её ключевые функции к...

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

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

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

От монолита к распределенной системе Постоянный рост конкуренции среди Банков заставляет подстраиваться под разные категории Клиентов. Так, одним проще зайти на сайт и оформить заявку на банковский продукт онлайн, другие же привыкли выбирать новые продукты и услуги непосредственно при живом общении с банковским...

Что такое GetApps на вашем смартфоне? И как оно на него влияет Приложение появилось не так давно. Удалить его, без получения рут-прав нельзя. Встречается на смартфонах Xiaomi и Redmi. GetApps появилось уже несколько месяцев назад, но для некоторых пользователей оно возникло совсем недавно. Сразу вспоминается история Huawei с Google и ...

Тест коммутаторов TP-Link c Long range PoE. И немного про апгрейды старых моделей Раньше в своих коммутаторах мы развивали технологию Power over Ethernet только в направлении увеличения передаваемой мощности. Но в процессе эксплуатации решений с PoE и PoE+ стало очевидно, что этого недостаточно. Наши клиенты сталкиваются не только с нехваткой энергетическ...

Windows 10 теперь поддерживает беспроводной обмен файлами со смартфонами Samsung Как правило, обмен файлами между компьютером и смартфоном требует использования USB-кабеля или файлообменных облачных сервисов. Но Microsoft и Samsung предлагают более удобное решение. Последняя сборка Windows 10 Insider позволяет просто перемещать файлы на любые поддерживае...

Снято на iPhone 11 Pro: Snowbrawl Ура! Мы получили новый крутой ролик, снятый на iPhone 11 Pro. Режиссёр Дэвид Литч, известный по фильмам «Дэдпул 2» и «Джон Уик», снял игру в снежки, используя смартфон iPhone 11 Pro. Правда, будем честны: команда использовала всевозможные аксессуары, вклю...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

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

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

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

Infortrend: процесс централизованного управления файлами становится проще Компания Infortrend® Technology, Inc. (код TWSE: 2495), разработчик передовых корпоративных систем для хранения данных, представляет офисное хранилище информации для совместного использования, упрощающее процессы обмена, централизованного хранения и резервного...

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

[Перевод] Советы и хитрости IntelliJ IDEA: 3. Настройка стиля кода для каждой папки При работе в команде рекомендуется убедиться, что стиль вашего кода согласован для всей команды. Часто это не так важно, каковы ваши конкретные правила, так как все придерживаются одних и тех же соглашений. Это делает вашу кодовую базу намного чище, проще для чтения и обслуж...

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

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

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

2. UserGate Getting Started. Требования, установка Здравствуйте, это вторая статья о NGFW решении от компании UserGate . Задача данной статьи заключается в том, чтобы показать, как установить межсетевой экран UserGate на виртуальную систему (буду использовать программное обеспечение виртуализации VMware&n...

Как мы обошли bytenode и декомпилировали байткод Node.js (V8) в Ghidra «Да я роботов по приколу изобретаю!» Рик СанчесМногим известно, что в 2019 году АНБ решило предоставить открытый доступ к своей утилите для дизассемблирования (реверс-инжиниринга) под названием Ghidra. Эта утилита стала популярной в среде исследователей благодаря высокой «вс...

Как удалить дубликаты файлов (фото и тд) и освободить место на Mac: лучшие бесплатные приложения Многие пользователи наверняка сталкивались с проблемой большого количества дубликатов файлов. Копии занимают немало места на SSD-диске Mac, замедляют установку обновлений и сбивают с толку при поиске определенного файла.  ♥ ПО ТЕМЕ: Как правильно настроить режим «Не беспокои...

Приложение Office для Windows 10 получило обновлённый логотип Компания Microsoft начала распространять обновлённую версию приложения Office для Windows 10 (18.2001.1241.0), которая приносит с собой обновлённый логотип бренда, выполненный в стиле Fluent Design. Новый логотип используется как в качестве иконки, так и на экране-заставке ...

SWIFT запустила платформу для обмена данными о клиентах-юрлицах "SWIFT объявила о запуске глобального реестра "Знай своего клиента" (KYC - Know Your Customer) для корпораций, подключенных к SWIFT, что позволяет им управлять данными KYC и обмениваться ими со своими банковскими партнерами по всему миру. Ввод в эксплуатацию б...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Состоялся глобальный релиз фэнтези-MMORPG Aura Kingdom 2 MMORPG Aura Kingdom 2, которая уже некоторое время доступна в Китае, официально запустилась на обеих платформах во всем мире. На официальном сайте даже можно загрузить APK-файл для игры на компьютере. Европейские серверы уже должны были запустить. Разработчики приготовили п...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

Оценочный уровень доверия (ОУД4) и ГОСТ Р ИСО/МЭК 15408-3-2013. Введение Привет, Хабр!В настоящее время в ИТ индустрии крайне актуальна тема построения процесса безопасной разработки ПО (по англ. «Secure SDLC» или «Secure software development life cycle»). Некоторые организации и команды самостоятельно приходят к необходимости такого процесса в с...

[Из песочницы] Оффшор для IT-бизнеса в Грузии: лайфхаки и подводные камни Сингапур, Кипр, Китай, Голландия — государства, которые, первыми приходят на ум, когда речь заходит об офшорах для ИТ-компаний. Но в этой статье я расскажу о стране, которая граничит с Россией и предлагает, на удивление, очень соблазнительные условия для стартап-компаний в с...

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

Электронные договоры купли-продажи автомобилей могут появиться в 2020 году О подготовке новой услуги для покупателей автомобилей пишет “КоммерсантЪ” со ссылкой на слова заместителя главы Минкомсвязи Максима Паршина. Прежде всего новый сервис, который будет доступен пользователям портала госуслуг (сегодня их более 100 млн человек), даст ...

Microsoft выпустила беспроблемное обновление Windows 10 В последнее время у компании Microsoft то и дело возникали проблемы с обновлениями Windows 10, но последний апдейт, кажется, ничего не ломает.У софтверного гиганта наконец-то получилось разработать обновление Windows 10, которое исправляет старые проблемы и не приводит к нов...

Интернет вещей в Яндекс.Облаке: как устроены сервисы Yandex IoT Core и Yandex Cloud Functions В октябре прошлого года состоялась первая облачная конференция Яндекса Yandex Scale. На ней было объявлено о запуске множества новых сервисов, в том числе Yandex IoT Core, который позволяет обмениваться данными с миллионами устройств Интернета вещей. В этой статье я расск...

[Перевод] Знакомимся с методом обратного распространения ошибки Всем привет! Новогодние праздники подошли к концу, а это значит, что мы вновь готовы делиться с вами полезным материалом. Перевод данной статьи подготовлен в преддверии запуска нового потока по курсу «Алгоритмы для разработчиков». Поехали! Метод обратного распространени...

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

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

Apple продлила сроки адаптации приложений под iOS 13 Разработчики смогут привести в порядок свои приложения до 30 июня

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

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

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

Xiaomi втихаря повысила безопасность смартфонов Xiaomi и Redmi Компания Xiaomi продолжает работать над новыми функциями для фирменной оболочки MIUI 11. Одно из таких новшеств пока не представили официально, но уже начали тестировать на устройствах пользователей.  На новшество обратил внимание один из участников сообществ...

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

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

Портировать игры на DirectX 12 станет еще проще Компания Microsoft на прошлой неделе выложила в открытый доступ библиотеку D3D12 Translation Layer, которая должна упростить портирование игр на API DirectX 12. D3D12 Translation Layer – это одна из вспомогательных библиотек для переноса графических концептов и команд с API ...

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

Наталья Сергунина рассказала о расширении функционала мобильного приложения «Госуслуги Москвы» 2012 годом датируется запуск в российской столице мобильного приложения «Госуслуги Москвы», общее количество скачиваний которого в период 2012-2019 годы составило 3,5 миллиона. Напомним, что это приложение позволяет жителям мегаполиса проводить регистрацию документов, осущес...

MLOps без боли в облаке: как развернуть Kubeflow в продакшен-кластере Kubernetes Новые экспериментальные модели машинного обучения важно быстро разворачивать в продакшене, иначе данные устареют и появятся проблемы воспроизводимости экспериментов. Но не всегда это можно сделать быстро, так как часто процесс передачи модели от Data Scientist к Data Enginee...

Давайте отключим vacuum?! Алексей Лесовский Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!" Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на э...

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

Моддер смог ускорить загрузку игры GTA Online на 70% с помощью одного файла для оптимизации процессов Игре GTA Online требуется много времени на процесс загрузки. Эта проблема сопровождает игру с самого момента её выхода. Но как оказалось, есть возможность существенно ускорить процесс загрузки, воспользовавшись правильными настройками. Моддер t0st тщательно изучил ситуацию с...

[Из песочницы] Новая архитектура нейросети — EfficientDet Привет, Хабр! представляю вашему вниманию перевод статьи «EfficientDet: Scalable and Efficient Object Detection» автора Mingxing Tan, Ruoming Pang, Quoc V. Le. В последние годы был достигнут огромный прогресс в направлении более точного обнаружения объектов, в то же время с...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

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