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

Шаблонный сервис C# Всем привет, я разработчик из компании Bimeister и я хочу рассказать о шаблонном C# сервисе, который мы создали, чтобы унифицировать наши приложения и сократить время работы разработчиков над базовой настройкой приложения.Мы начинали небольшой компанией с одним основным серв...

Простая архитектура с использованием MVVM и делегатов в Android. Оптимальное решение для малых проектов В этой статье мы рассмотрим, как создать простую архитектуру Android, используя паттерн MVVM (Model-View-ViewModel) и делегаты для эффективного управления состоянием. Читать далее

Как использовать Spring в качестве фреймворка для Flink-приложений Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в наши продукты в цикле статей. В ...

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

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

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

Погружение в Smali. Как выглядят Java и Kotlin со стороны Эта статья для начинающих исследователей файлов APK. Хотя почему только для начинающих? Иногда стоит остановиться и разложить по полочкам то, что накопилось. И тогда можно найти логичное и простое объяснение тому, чего не понимал. Или увидеть то, чего раньше не замечал. Чит...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

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

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

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

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

Obsidian: Мой опыт с LYT/Ideaverse и его русификация В этой статье я расскажу о том, как организовал себе единое место для заметок, документов и проектной документации с помощью Obsidian и шаблона LYT, а также дам ссылку на русифицированный шаблон для создания своей такой системы. Читать далее

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

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

Как мы отказались от styled-components в React Native приложениях Styled-components является стандартом написания стилей для многих команд, которые разрабатывают приложения на React Native. Но мы не всегда задумываемся, зачем мы тащим это в продукт и какую выгоду получим. А что если от styled-components больше вреда, чем пользы? Я поделюсь...

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

Автоматизация 2D-проектирования в линейке nanoCAD: инструменты и практика Рассмотрим автоматизацию ключевых задач инженера-проектировщика: оформление проектно-конструкторской документации по СПДС; проектирование КМ, КЖ, КЖИ; разработку ПОС, ПОД и ППР; автоматическую векторизация и оцифровку сканов чертежей. Читать далее

Простой и сложный Always On VPN от Microsoft. Опыт внедрения VPN обеспечивает доступ удаленных пользователей в корпоративную сеть. Решений много, но выбор оптимального не всегда очевиден. В данной статье хотел бы поделиться опытом внедрения и использования такого продуктового решении как Always On VPN от компании Microsoft. Подчеркну,...

Объектно-ориентированный подход при проектировании цифрового офиса сотрудника На современных проектах объектно-ориентированные подходы могут стать универсальным средством построения API, а файлы  YAML — понятной всем нотацией при интеграции. В новой статье рассмотрены оригинальные объектно-ориентированные подходы для проектирования архитектуры ци...

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

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

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала мое...

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

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6 Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутент...

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

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

Принесите, пожалуйста, кота Я сначала хотел написать историю про трех черепашек и вестник Перди-Закаменной, но вместо этого мне попалась на глаза реклама вебинара “vStack SPP: решение для построения облачного бизнеса”. Пока я писал к вебинару комментарий, заметка про семинар уехала в черновики. Но не п...

Разработчикам: рецензия на книгу «Node.js: разработка приложений в микросервисной архитектуре с нуля» Компактная книга "Node.js: разработка приложений в микросервисной архитектуре с нуля" Юлии Поповой — выпущена в апреле 2024 г. как практическое руководство для разработчиков уровня джун и выше. Описан процесс создания микросервисов на Node.js с использованием фреймворка...

Взгляд НСИ на VBA в Excel и не только Салют! На связи Ганзюк Владимир. Тружусь инженером по нормативно-справочной информации (НСИ) в компании Bimeister.Хочу поделиться с вами опытом работы с Excel: расскажу, как можно ускорить выполнение рутинных задач при работе с составлением наименований согласно нормативно-т...

Release Timeline — визуализация GitHub релизов в вашей документации Данное приложение было создано для красивого и удобного показа изменений во Vue 3 проекте в его документации на VitePress. После оно было сделано универсальным, и может быть подключено в любой HTML странице как Web component или микрофронтенд.Попробовать - https://vuesence.g...

Проектирование fault-tolerant систем на Go Привет, Хабр!Fault-tolerant системы — это те, которые способны продолжать функционировать даже в условиях частичных сбоев или неисправностей. Основная фича таких систем заключается в том, чтобы обеспечить непрерывность работы приложения даже при возникновении ошибок или непр...

Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты Всем привет, меня зовут Никита, я старший разработчик в компании Озон и работаю над iOS-приложением «Пункт Озон».«Пункт Озон» — это мобильное приложение для работников и менеджеров пункта выдачи заказов (далее просто ПВЗ). В приложении множество различных разделов для повсед...

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

NLUX: Библиотека интерфейса Conversational AI В современном мире взаимодействие с компьютерами и приложениями становится все более естественным и удобным благодаря использованию разговорных интерфейсов и искусственного интеллекта. Однако, интеграция таких функциональностей в веб-приложения может стать вызовом для разраб...

Передача и обработка IAsyncEnumerable в Typescript с ASP.NET Core Web Всем привет, Меня зовут Олег и я .NET разработчик в компании Bimeister. Я хотел поделиться своим интересным опытом по связи проекта на ASP.NET Core Web App с использованием IAsyncEnumerable коллекций и современного фронт-енд SPA приложения на Typescript.и Vue.js 3 версии.Все...

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

[Перевод] Dataloader 3.0: Новый алгоритм для решения проблемы N+1 При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы G...

Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов В статье рассмотрим как создавать шаблоны в продуктах Jesbrains (WebStorm, PhpStorm, Intellij, PyCharm). Читать далее

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

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

T-FLEX Детали машин – новый продукт комплекса T-FLEX PLM для проектирования и расчёта механизмов Для тех, кто уже знаком с приложением T-FLEX Зубчатые передачи 17 версии T-FLEX CAD, и для тех, кто о нём не слышал, новый продукт T-FLEX Детали машин станет в некотором роде приятным сюрпризом. У первых даже может возникнуть беспокойство — почему исчезло приложение T-FLEX З...

[recovery mode] Простой production-ready генератор студийных фото продуктов В данной статье мы рассмотрим простой пример готового к запуску в продакшн приложения с генеративным пайплайном. Расчет идет на возможность простого масштабирования и распределения вычислений на GPU. Читать далее

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

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

[Перевод] Распределённые транзакции На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.Мой коллега однажды посоветовал отличную статью со сравнением основных паттернов для решения проблем распределённых транзакций.Я проработал...

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

[Перевод] Игровые паттерны программирования: Game Loop Это перевод одной из глав книги Game programming patterns Роберта Найстрома. Так как книга по сути состоит из подробного описания шаблонов проектирования, каждая глава может рассматриваться как самостоятельная статья, чем я и воспользовался и перевел, как мне кажется, статью...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами, часть 2 Вторая статья из цикла, посвященного проектированию с использованием стандартного интерфейса AXI-Stream, а также отладке и документации проектов. Читать далее

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1 Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения...

Мемоизация в React: я почитал документацию вместо вас В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за...

Книга «Python для сложных задач: наука о данных. 2-е межд. изд. » Привет, Хаброжители! Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы...

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

Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов О паттерне «Спецификация», который позволяет улучшить структуру приложения, и, следовательно, увеличить гибкость, уменьшив при этом объем кода, а значит — сократить количество ошибок, но это не точно. Почему? - читаем ниже.  Читать далее

Изучаем WebRTC на практике: Лучшие инструменты и демо В этой статье(или дайджесте) я поделюсь ключевыми инструментами, демонстрационными приложениями и открытыми проектами, незаменимыми для практического понимания WebRTC. Здесь не будет туториалов или подробных объяснений о той или иной части WebRTC, а скорее некий дайджест рес...

1,17 млрд рублей на дороге не валяются: Apple разрешила разработчикам приложений в России использовать оплату в обход App Store Компания Apple уступила требованиям Федеральной антимонопольной службы (ФАС) России, после признанного законным в суде штрафа в 1,17 млрд рублей.  Фото: James Yarema/ Unsplash Напомним, ещё в июле 2022 года ФАС России установила, что Apple принуждала российских ра...

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

Самый маленький Docker образ Rust приложения Привет %username%, эта статья про то, как поместить Rust приложение в Docker и получить образ размером с бинарный файл (6 Мб). А также про причины, которые привели к переходу с NodeJS на Rust. Отдельная пара слов о проблемах вначале, переходе на Go, и том, как команда Rust у...

Авторизация и управление доступом на основе ролей для фронтенда В этом модуле проекта мы погрузимся в волнующий мир авторизации и управления доступом во фронтенд-разработке. Сегодня я поделюсь с вами моим опытом работы с технологиями Vue 3, Pinia для глобального управления состоянием и TypeScript. Однако, стоит отметить, что основные при...

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

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

Apple «отомстила» Евросоюзу за новый закон. Компания отключила поддержку веб-приложений PWA для жителей EC Компания Apple, как известно, под давлением нового закона Евросоюза разрешит пользователям iPhone в ЕС устанавливать приложения со сторонних источников. Оказалось, в «отместку» за это Apple начала отключать поддержку веб-приложений (Progressive Web Apps; PWA...

[Перевод] Приложения для Vision Pro выглядят скучно Apple вложила массу усилий в разработку правил, советов и руководств по проектированию элементов интерфейса, чтобы не столкнуться с подводными камнями, связанными с созданием 3D-интерфейсов. Это помогло избежать обилия подвижных элементов и визуального беспорядка, которые мо...

[recovery mode] Android-приложение на Compose с нуля: Часть 2 (UI) Здравствуй, дорогой читатель!В статье рассматривается поэтапная разработка дизайн-системы и UI для Android-приложения "Калькулятор", используя библиотеку Jetpack Compose. Начнём с создания проекта и закончим запуском приложения на эмуляторе.Ссылка на репозиторий Читать далее

[Перевод] Vue.js 3 — шаблоны проектирования и лучшие практики Предлагается перевод книги Vue.js 3 Design Patterns and Best Practices автора Pablo Garaguso.Книга вышла в мае 2023 года, написана очень компетентно, оперирует современными технологиями и стандартами. Материал книги будет полезен разработчикам не только Vue, но и других фрон...

[Перевод] Что нужно знать, чтобы успешно пройти System Design Interview Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) вклю...

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

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

[Перевод] Архитектура MMO: источник истины, потоки данных, узкие места I/O и их устранение По воле абсудрных обстоятельств, которые сможет понять лишь тот, чьё хобби полностью совпадает с основной работой, недавно я оказался вовлечён в разработку MMO-игры. Несмотря на то что это приложение идеально вписывается в концепцию «распределённых архитектур», конкретные...

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

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

Проектирование БД рекомендательной системы по подходу DB-first В данной статье мы рассмотрим проектирование системы по подходу DB-first и то, какие проблемы он помогает не просто решить, а устранить как явление. Читать далее

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

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами. Часть 1 В данном цикле статей будет представлен процесс разработки и тестирования RTLмодулей на языке Verilog. В качестве примера будет рассмотрен целочисленный сумматор с AXI-Stream интерфейсами. Мы разберем некоторые приемы и паттерны, часто используемые при проектировании цифровы...

Что такое архитектура приложений MACH и есть ли там технологический прорыв — кроме пиара и маркетинга Вы наверняка слышали термин «MACH-архитектура», которая включает в себя Микросервисы, API-First дизайн, Cloud-Native инфраструктуру и Headless фронтенд. На Хабре тема MACH архитектуры практически не поднимается ввиду как сложности полной реализации и того факта, что MACH обы...

Логи в файлах: написал своё приложение для просмотра структурированных логов Не каждому проекту нужно децентрализованное логирование. В моём случае, оказалось проще хранить логи в .json файлах формата Compact Log Event Format (CLEF). Мне нужно было простое и бесплатное решение для просмотра логов. Читать далее

CRTP в C++ Привет, Хабр!CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к метода...

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

Samsung Exynos 2600 получит новую графическую подсистему Если верить информации достаточно надёжного инсайдера, компания Samsung планирует полностью заменить графический процессор Xclipse, разработанный совместно с компанией AMD, на собственное графическое решение. Но, естественно, это произойдёт не сразу, потому что своё решение ...

Трейсы в Spring Boot 3 с использованием Zipkin и Kafka в качестве транспорта Рассмотрим вариант добавления трейсов в Spring Boot 3 приложение с использованием Kafka в качестве транспорта и Zipkin в качестве инструмента для трассировки. Функциональность соберем в автоконфигурацию для подключения к Spring Boot приложениям. Читать далее

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

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

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

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

Десктопное приложение с нуля на .Net и C# с помощью ChatGPT Говорят, что нейросети скоро заменять программистов, можно будет просто ставить им задачу и они будут сами писать код. В своей работе я довольно часто использую ChatGPT и по опыту знаю, что его ответы далеко не всегда адекватные, особенно если задача нетривиальная. Но поскол...

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

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

В iOS 17.4 появится возможность загрузки приложений в обход App Store Сразу после релиза первой бета-версии iOS 17.4 компания Apple объявила о том, что уже в ближайшее время пользователи из ЕС смогут устанавливать приложения из альтернативных магазинов. Подобная возможность будет доступна в iOS 17.4.Читать дальше... ProstoMAC.com.| Постоянная...

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0 В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная сист...

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

Паттерны Singleton и Multiton в Java: когда и какой лучше? Привет, Хабр!Паттерн Singleton гарантирует существование лишь одного экземпляра класса и предоставляет к нему глобальную точку доступа. Этот паттерн стал почти синонимом чистоты кода в многих сценариях работы с Java, где требуется строго один экземпляр объекта. Но не менее и...

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

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

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

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

Анти-легаси архитектура для UI приложений В предыдущих статьях мы пришли к выводу, что для того, чтобы UI‑код не превращался в легаси, нам нужно отделить представление от бизнес‑логики и немного иначе, чем это делают Redux и Elm, так как оба подхода не позволяют сделать э...

Huawei представит GoPaint, свое новое приложение для рисования и творчества Компания Huawei запустит новое приложение для рисования на планшетах под названием GoPaint. В официальной учетной записи Huawei также был выпущен анонс приложения GoPaint: «Творчество начинается здесь! Мощное приложение GoPaint, разработанное Huawei, скоро появится, увидимся...

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

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

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

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

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

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

Игровая легенда из 90-х: Как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение нуля на Glide Полагаю, многие мои читатели так или иначе знакомы с такими видеокартами, как 3dfx Voodoo. Эти легендарные графические ускорители из середины\конца 90-х годов был чуть ли не в каждой второй сборке для игр, а о их производительности слагали легенды. До сих пор есть относите...

Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы Сегодня хочу рассказать о том, какие ошибки можно допустить на начальном этапе создания e-commerce проекта в проектировании модели данных и в разработке веб-приложения. И, самое главное, как эти ошибки исправить: снизить потребление памяти в 1000 раз и кратно уменьшить нагру...

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

Сложность алгоритмов. Разбор Big O Сложность алгоритмов - это ключевой аспект при проектировании и создании веб-приложений, особенно при работе с большим объемом данных или выполнении вычислительно сложных операций. Понимание, как оценивать сложность алгоритмов, помогает принимать обоснованные решения в выбор...

Где работать в IТ в 2024: ГНИВЦ Наша рубрика «Где работать в IT» — это интервью с интересными IT-компаниями, в которых они делятся подробностями о процессах своей работы. Представители индустрии отвечают на вопросы о найме, условиях, командах и технологиях.В этом выпуске мы расскажем об АО «ГНИВЦ», ведущем...

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

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

DevOps as a Service. Часть 3. Решаем проблему дежурств и хаоса в чате с использованием RCA и единого flow Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service. В прошлых статьях мы описали подход и показали пути решения проблем с контролем ресурсов команды и инфраструктуры, с ними можно ознакомиться тут и тут. Сегодня мы поговорим о пос...

Apple передумала «мстить» Евросоюзу за новый закон. Компания вернёт поддержку веб-приложений PWA для жителей EC Компания Apple передумала отключать поддержку веб-приложений PWA для жителей Евросоюза.  Купертинский гигант сообщил, что с выходом iOS 17.4 для жителей ЕС в этом вопросе ничего не изменится, и веб-приложения продолжат быть для них доступны. Напомним, ранее Apple ...

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

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

Архитектурный паттерн для обработки больших данных: Lambda Привет, Хабр! Мы сталкиваемся с огромными объемами информации, высокой нагрузкой, и постоянно меняющимися требованиями. Все это требует от нас не только навыков программирования, но и грамотного проектирования архитектуры, которая способна справиться с этими вызовами.Именно ...

Почему hr в России деградирует? Почему hr в России деградирует?Мой скромный взгляд на нашу суровую и самобытную hr-реальность. Если вы сталкивались в своей жизни со странными и непонятными решениями от hr-ов, возможно объяснение этому поведению вы найдете в этой статье. 100 лет отставания, которые породили...

[Перевод] Что такое гексагональная архитектура. Разделение бизнес-логики и инфраструктуры с помощью портов и адаптеров Гексагональная архитектура — это архитектурный паттерн, представленный Алистером Кокберном и описанный у него в блоге в 2005 году. Основная идея заключается в том, чтобы структурировать приложение таким образом, чтобы это приложение можно было разрабатывать и тестировать в ...

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

[Перевод] Все, что нужно знать для разработки с использованием LLM Цель данной статьи — простым языком объяснить ключевые технологии, необходимые для начала разработки приложений на основе LLM. Oна подойдёт как и разработчикам, так и специалистам по машинному обучению, у которых есть базовое понимание концепций...

Redux vs Mobx кого же выбрать для React-приложения в 2024 году? Привет, Хабр!Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек дл...

Самый простой способ обхода блокировок доступа к сайтам любых стран Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать? Я понимаю (программ...

[Перевод] Тестирование без моков: язык паттернов. Часть 2 Язык паттернов помогает избежать многих проблем: не использует широкие тесты, не использует моки, не игнорирует инфраструктуру и не требует архитектурных изменений. Он обладает мощью широких тестов, а также скоростью, надёжностью и удобством сопровождения, присущим модульным...

Чтение на выходные: DIY-материалы о контейнерах, DevOps и архитектуре — личный опыт напрямую от специалистов Подготовили дайджест материалов, в которых авторы делятся опытом решения различных ИТ-задач и рассказывают: как развернуть Kubernetes-кластер в домашних условиях, провести аудит его безопасности, выстроить ИТ-архитектуру и не только. Читать далее

Где заканчивается Flutter и начинается платформа? Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механиз...

Как Visual Studio могла бы выглядеть с новым меню: делюсь GUI-шаблоном Доброго времени года, уважаемые хабровчане! Я занимаюсь разработкой десктоп‑приложений с 2008 года. Наша компания делает специализированные продукты из области ЦОС (DSP), и GUI выглядит как нечто среднее между AutoCAD, Total Commander и Visual Studio. Не ...

Проектирование веб-приложений с помощью Python и Flask Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный дире...

Можно ли использовать DMA вместо memcpy в Linux В интернете можно найти описание проблем, связанных с использованием DMA для стандартной функции копирования данных из памяти в память:Linux – DMA memcpy operation in LinuxДавайте попробуем разобраться, как можно использовать интерфейс к DMA для реализации стандартной операц...

В iOS 18 появится обновленное приложение Камера Авторы ресурса MacRumors поделились скриншотом обновленного приложения Камера, которое появится в iOS 18. Изображение было получено от анонимного инсайдера, имеющего свои источники в Apple.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment Вы также можете озна...

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

[recovery mode] Сложная архитектура простых приложений По мотивам Adidas Running (ex. Runtastic)Как я бы проектировал это интересное, но малоизвестное у нас приложение в роли архитектора.ПредысторияРынка систем электронных соревнований (в 2012 г) нет, но есть огромный интерес к спортивному образу жизни и к соревнованиям. В США н...

Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel Привет, коллеги! В этой статье я сделаю небольшой обзор NativePHP, который появился на последнем Laracon. Что из себя представляет NativePHP? Перед нами фреймворк, который позволяет нам писать нативные десктоп приложения, используя PHP. Приложения кроссплатформенные - можно ...

Telegram выпустил обновление на Android с бесплатной расшифровкой голосовых сообщений. Есть и другие фишки Вышел Telegram 10.3.0. Это свежая версия популярного мессенджера с новыми функциями, которые наверняка позаимствует WhatsApp лет этак через 10. Впрочем, и это не точно, а вот об очередной порции фишек приложения Павла Дурова можно говорить с уверенностью. После обновления Т...

iPhone 16 Pro и iPhone 16 Pro Max будут оснащены самым новым 5G-модемом Qualcomm Ранее в сети уже появлялась информация о том, что компания Apple столкнулась с рядом проблем при создании собственного 5G-модема. По этой причине купертиновцы еще в течение нескольких лет будут использовать решения Qualcomm. При этом, если верить прогнозам аналитика Джеффа П...

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

Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу Рано или поздно Android-разработчику станет любопытно попробовать новые платформы. Устройств с этой ОС много — есть из чего выбрать. Например, сейчас набирает популярность разработка под умные телевизоры.И вот здесь начинается самое интересное. Вроде бы и на смартфоне, и на ...

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

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

Использование resilience4j со Spring Boot resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуреРассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как н...

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок.В кулуарах московского офиса ПГК мы обсуждаем и нерабочие темы. Топовую строчку в темах не...

«Яндекс Путешествия» покажут всю информацию для горнолыжников и сноубордистов: от актуальной погоды до загруженности трасс Команда Яндекса объявила о запуске нового сервиса для любителей горнолыжного спорта на площадке «Яндекс Путешествий». Как отмечает пресс-служба, забронировав отель, пользователи теперь смогут смотреть полезную информацию в разделе мобильного приложения &laqu...

Модификация JSON респонсов в Laravel Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что делать если приложение построено на использовании Json Resource? Или ещё бо...

Цифровой мониторинг объектов строительства в Платформе nanoCAD и ReClouds. Опыт института «Сибгипробум» Одним из эффективных способов осуществления строительного надзора является использование результатов лазерного сканирования с построением 3D-моделей, что дает наиболее полную информацию о строительных объектах с привязкой к пространственным, инфраструктурным и центральным ин...

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

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

[Перевод] Добавляем подсказки в приложение с помощью TipKit Когда TipKit был впервые упомянут во время выступления на WWDC 2023, я поначалу предположил, что это какой-то новый способ отображения приложений в приложении Tips и, возможно, Spotlight. Вместо этого мы увидели встроенный компонент для добавления небольших обучающих предста...

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

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

Книга: «Чистый дизайн. Практика эмпирического проектирования ПО» Привет, Хаброжители! Грязный код создает проблемы. Чтобы код было проще читать, проходится проводить его очистку, разбивая на части, с которыми удобно работать. Кент Бек, создатель методологии экстремального программирования и первопроходец в области паттернов проектирован...

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

[Перевод] Как сделать детальное макро-фото печатной платы Как разглядеть мельчайшие детали на печатной плате? Можно попробовать отсканировать её или сфотографировать. Но детализации всё равно бывает недостаточно. Чтобы сделать приличный макро-снимок, мало просто иметь хорошую зеркалку (или беззеркалку). Нужен ещё и макрообъектив, д...

Как я осваивал Jetpack Compose Привет, я Михаил Селезнев, андроид-разработчик в компании 1221Systems. Поделюсь своими впечатлениями о Compose — будет интересно коллегам, которые думают о переходе на него. Расскажу, в чем были сложности и что помогло мне быстрее разобраться.Пару слов о моем бэкграунде: я в...

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

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

Как выжать максимум из Confluence. Глава первая Привет, Хабр! Я Ульяна, старший аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Наш отдел разрабатывает общие технические решения — библиотеки, которые используются в мобильных приложениях экосистемы Тинькофф.Для наших коллег мы проекти...

Структура объекта в JavaScript движках С точки зрения разработчика, объекты в JavaScript довольно гибкие и понятные. Мы можем добавлять, удалять и изменять свойства объекта по своему усмотрению. Однако мало кто задумывается о том, как объекты хранятся в памяти и обрабатываются JS-движками. Могут ли действия разра...

У Tesla есть процессор размером с iPad, который потребляет 15 кВт мощности. Стали известны подробности нового чипа Dojo У компании Tesla есть собственный суперкомпьютер Dojo, который уникален тем, что основан на чипах собственной разработки Tesla. Но компания уже занимается процессорами Dojo нового поколения, и это решение гигантских размеров.  Фактически новый чип Dojo — это...

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

Кастомизируем VS Code для веб-разработки Visual Studio Code — это бесплатный, шустрый (что важно на больших проектах) и глубоко кастомизируемый редактор кода. В статье расскажу, какие настройки и плагины VS Code использует наша команда фронтенда в KTS. Материал может быть полезен для JavaScript- и React-разработчик...

Как мы анализируем потребление памяти нативными приложениями Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.В процессе эксплуатации решений, созданных на платформе 1С:Предпри...

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

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

По граблям, по граблям. Пишем отзывчивый интерактивный виджет IOS 17 Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В 2023 году на WWDC Apple представили много нового и интересного API, среди которого были долгожданные интерактивные виджеты, реагирующие на нажатия в моменте. Однако, как показы...

AutoCAD всё: Autodesk запретила использовать свои приложения в России Американская компания Autodesk, известный разработчик программного обеспечения для автоматизированного проектирования, строительства и промышленного дизайна, запретила российским компаниям использовать свои продукты. Об этом сообщает издание РБК со ссылкой на письмо, ко...

ViewModel + Kotlin Multiplatform. Пробуем нативное решение Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. Компания Google объявили о своем интересе к Koltin Multiplatform на прошлом Google I/O 2023. Следом был обозначен вектор развития имеющихся решений архитектурных библиотек Jetp...

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

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

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

[Перевод] Гексагональная архитектура со Spring Boot Гексагональная архитектура стала популярным архитектурным паттерном, помогающим отделить бизнес-логику от инфраструктуры. Такое разделение позволяет откладывать принятие решений о технологиях или легко заменять их. Кроме того, это позволяет тестировать бизнес-логику в изоляц...

Как мы работаем с ресурсами в веб-приложениях Приложения, созданные на платформе 1С:Предприятие, могут быть развернуты в трёхзвенной архитектуре (Клиент – Сервер приложений – СУБД). Клиентская часть приложения может работать, в частности, как веб-клиент, в браузере. Веб-клиент – это довольно сложный фреймворк на JavaScr...

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

Какие бывают Cortex-M7 ARM-ы, периферия, шины, память, … DMA На рисунке приведена структурная схема современного, одного из самых навороченных (я подозреваю) 32-битного ARM процессора или микроконтроллера-microcontroller, в документации используются оба термина: high-performance Flash microcontroller (MCU) based on the 32-bit ARM Cort...

Пользователи смогут устанавливать приложения для iOS прямо с сайта разработчика Компания Apple продолжает менять правила в отношении способов загрузки и установки приложений на iPhone и iPad. Правда, пока все эти изменения и послабления касаются только ЕС. Однако многие с любопытством следят за подобными нововведениями. Сегодня компания рассказала еще о...

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

Больше, чем через год отсутствия: приложение каршеринга «Ситидрайв» вернулось в App Store Команда сервиса краткосрочной аренды автомобилей «Ситидрайв» сообщила о возвращении фирменного приложения для iOS в официальный онлайн-магазин App Store.  Новое приложение называется «Каршеринг Ситидрайв!». В «Ситидрайве» совету...

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

[Перевод] ViewModels в Android: «за» и «против» В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения з...

[Перевод] Две мощных возможности Python, упрощающие код и улучшающие его читабельность Улучшите качество кода, украсив его оператором match и срезами объектов.Python не случайно стал невероятно популярным в современной технической среде. Он, если сравнивать его с другими языками программирования, возможно, является самым удобным и доступным для новичков. И, вм...

Дизайн уровней в The Last Guardian: пример геймплейного повествования The Last Guardian поражает своим уникальным подходом как в плане геймплея, так и сюжета, обеспечивая игроку захватывающий опыт и не оставляя равнодушным к второстепенному, но не менее важному, неиграбельному персонажу. Увлекательная реализация искусственного интеллекта живот...

Как я стал ментором за пределами компании Всем привет! Меня зовут Юра Тюрин, я CTO, управляю разработкой SaaS-приложения для ритейла с командой из трёх десятков разработчиков, тестировщиков, DevOps-инженеров. Специализируюсь на разработке клиент-серверных мобильных и веб-приложений. Наставничеством внутри компании я...

[Перевод] Разбираемся с динамической памятью (кучей) в приложениях Java Начнём с простого вопроса. В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, как...

iPhone 15 и iPhone 15 Plus оказались прочнее топового iPhone 15 Pro Max После тестов iPhone 15 Pro Max блогер Зак Нельсон испытал на прочность «обычный» iPhone 15 и iPhone 15 Plus. Несмотря на отсутствие титановой рамки, оба смартфона прошли все проверки на отлично. В отдельных тестах модели начального уровня даже превзошли новый яблочный флагма...

Решение проблемы дымки на изображениях с использованием .NET: Простой и эффективный подход Простое .NET решение для четких фото: избавьтесь от дымки или тумана на изображениях всего за несколько шагов! Читать далее

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

[Перевод] Построение архитектур для обработки данных в режиме реального времени при помощи Apache Kafka, Flink и Druid Командам, которые занимаются обработкой данных (поступающих пакетными партиями в рабочих потоках) сложно соответствовать современным требованиям по обработке данных в режиме реального времени. Почему? Потому что пакетный поток данных – от доставки данных до их дальнейшей о...

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

Безопасность CI/CD. Часть 2. Давайте рассмотрим как защитить ваши пайплайны Приветствую, читатели! Меня зовут Моисеев Андрей, в ИБэшечке  я уже в совокупности более 5 лет, а сейчас работаю DevSecOps в компании Bimeister. За время своей рабочей деятельности у меня получилось сформулировать некоторые полезные паттерны безопасности, которыми я хот...

[Перевод] Как создать приложение для чата в реальном времени с помощью React, Node, Socket.io и HarperDB Статья посвящена созданию приложения для чата в реальном времени с чат-комнатами, с использованием Socket.io и HarperDB. Научимся на практике создавать полнофункциональные приложения, в которых бэкэнд может взаимодействовать с фронтендом в реальном времени. Руководство будет...

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

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

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

К началу марта Apple сделает отдельный App Store для Европы Apple готовится к тому, чтобы разрешить в Европе загрузку приложений из сторонних источников. Подобная опция должна стать доступна к началу марта. По словам Марка Гурмана из Bloomberg, сейчас купертиновцы работают над выделением европейского App Store в отдельный «кластер».Ч...

Билдер Vue 3 веб приложений Vue 3 вебсайт билдер (npm пакет vue-webapp) позволяет создать каркас будущего веб приложения, с возможностью выбора бизнес-шаблона (портфолио, блог, магазин и .т.д.), макета сайта, дизайна и элементов функционала (API модуль, i18n, PWA, splash screen, auth модуль, темы и т.д...

Есть ли Singleton в Golang? «Одиночка (англ. Singleton) — порождающий шаблон проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр некоторого класса, и предоставляющий глобальную точку доступа к этому экземпляру.» Читать далее

[Перевод] Как ответить на любой вопрос на собеседовании по проектированию систем машинного обучения Шпаргалка для ответа на любой вопрос о проектировании систем машинного обучения на вашем следующем собеседовании. Этот шаблон поможет вам ответить практически на любой вопрос о проектировании системы машинного обучения, который вы можете получить на собеседовании. Важно отм...

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

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

Семь пятниц на неделе: Apple передумала лишать европейцев веб-приложений Компания Apple изменяет решение о прекращении поддержки установки прогрессивных веб-приложений (PWA) в Европейском союзе. В обновлении страницы поддержки разработчиков Apple утверждает, что в iOS 17.4 будет «продолжаться возможность использования существующей функциональност...

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

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

Как работает протокол X11 на самом нижнем уровне X11 это тот механизм на чем работает весь графический интерфейс Unix подобных ОС. Но мало кто знает как он работает на самом деле. Потому что с годами он оброс слоями и слоями библиотек, которые стремятся скрыть саму сущность протокола. А протокол в своей сути прекрасен. О...

Делаем резервное копирование кластера ClickHouse: простая инструкция Делаем резервное копирование кластера ClickHouse: простая инструкцияМеня зовут Леонид Блынский и я администратор баз данных в Лиге Цифровой Экономики. В этой небольшой статье расскажу, как я делаю резервное копирование кластера ClickHouse размером 20 ТБ.Документация по резер...

Apple Watch Series 9 и Ultra 2 будет продаваться в США без функции измерения кислорода в крови Начиная с сегодняшнего дня, Apple Watch Series 9 и Apple Watch Ultra 2 будут продаваться в США без опции измерения уровня кислорода в крови. Приложение Кислород в крови останется в операционной системе, но в США оно работать не будет, во всяком случае пока не завершится разб...

Fooocus v2 — бесплатный Midjourney у вас на компьютере. Подробная инструкция по установке и использованию нейросети Друзья, всем привет! Сегодня я хочу рассказать вам про самую простую и доступную для понимания нейросеть, которая создает изображения по вашему текстовому описанию. Она называется Fooocus и основана на знаменитой Stable Diffusion XL. Это идеальное решение в качестве вашей пе...

Локальный веб-сервер для разработки с помощью Docker К вам в отдел выходит новый коллега-разработчик и, прежде чем брать первые задачи в одном из проектов, первым делом ему нужно запустить его у себя локально. Если это Senior Full Stack разработчик с опытом администрирования Linux, то установка и настройка конфигов Nginx,...

HPM62xx: первые шаги Китайский рынок микроэлектроники бурно развивается и способен удивить практически любого человека. Менее чем за пять лет был пройден серьёзный путь от производства реплик STM32F103 до интересных и самобытных решений, среди которых микроконтроллеры за 10 центов от WCH, микроп...

Hiconics представляет в Европе интегрированные решения для энергоснабжения жилья Компания Hiconics Eco-energy Drive Technology, бренд экологически чистой энергии в структуре группы Midea Industrial Technology, продемонстрировала бытовую систему накопления энергии серии HiEnergy на выставке Kortrijk Solar Solutions, проходившей в Бельгии. Серия HiEnergy, ...

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

Автоматические двери: История создания. От механики до магнитной левитации В какой степени прошлое может «объяснить» настоящее, и предсказать будущее? Почему автоматические двери появившиеся в рекламных каталогах производителей в 1910 году, начали использоваться лишь в конце 20 века. В этой статье мы рассмотрим историческую ретроспективу появл...

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

Библиотека Granite от elementary OS На данный момент существует множество различных операционных систем на базе ядра Linux. Буквально на любой вкус. Некоторые операционные системы пользуются уже готовыми графическими оболочками, а другие создают свои. В дистрибутиве elementary OS применяется свое окружени...

XeLaTeX для оформления текстов: Текст, рисунки, таблицы, автоматизация В статье рассмотрим пример того как в XeLaTeX можно настроить форматирование отдельных элементов текста, автоматически создавать таблицы, рисунки. В первую очередь будет интересна тем кто собирается оформлять ВКР (выпускная квалификационная работа) бакалавра или магистра, пи...

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

Основы Identity and Access Management (IAM) в архитектуре приложений Привет, Хабр!С каждым годом мы становимся свидетелями все большего количества сбоев в системах безопасности, утечек данных и хакерских атак даже на самые маленькие проекты.Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает на...

Способы обхода GIL для повышения производительности Привет, Хабр!Global Interpreter Lock в Питоне предотвращающает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке ...

Деплой .NET приложений для самых маленьких. Часть 0 Давным-давно, когда Linux был ещё на ядре 2.6, а PHP5 был глотком свежего воздуха, я впервые заинтересовался миром веб-технологий. Читал учебники, статьи, зависал на форумах, но все равно мало мог понять как код, который я вижу на экране, превращается в волшебные сайты с кно...

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

На Android станет проще импортировать изображения из Google Фото в приложения На Android внутри приложений можно будет выбирать не только локальные изображения

5 способов писать эффективный код на Go: от названий переменных до архитектуры Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разраб...

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

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

Тормозящая виртуализация на x86. Небольшая попытка разобраться. Часть 2: ESXi by Broadcom Для лиги лени. Какая-то заумь про то, что не нужно, потому что все равно у нормальных людей все приложения давно в облаках на микросервисах, и прекрасно работают. Часть 2. Что из этого следует, и как устроен планировщик в Broadcom ESXi. Тут не будет ничего нового для тех, ...

Микросервис на Python+ FastAPI Микросервис — это подход к разбиению большого монолитного приложения на отдельные приложения, специализирующиеся на конкретной услуге/функции. Этот подход часто называют сервис-ориентированной архитектурой или SOA.В монолитной архитектуре каждая бизн...

Как провести unit-тестирование Flink-операторов: TestHarness Привет всем, на связи снова Александр Бобряков, техлид в команде МТС Аналитики. Продолжаем цикл статей про фреймворк Apache Flink.Напомню, в предыдущих частях я рассказывал про построение пайплайна Kafka-to-Kafka с промежуточным разделением потока и дедупликацией событий. Та...

Разработка игр с использованием Go и библиотеки Ebiten Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр. Читать далее

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

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

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

watchOS 10 плохо влияет на автономность Apple Watch Владельцы Apple Watch жалуются на заметно снизившуюся автономность часов после установки watchOS 10 и watchOS 10.0.1. Подобные отзывы можно найти на Reddit и в Twitter. Пользователи отмечают, что часы разряжаются быстрее чем обычно, при этом сценарии использования не изменил...

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

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

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

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

Гайд для системного аналитика: как управлять требованиями на разных этапах проекта. Часть 1: Инициация Жизненный цикл любого проекта включает в себя этапы инициации, планирования, исполнения, контроля и завершения. Гибкие методологии и итерационный подход используют в проектах по разработке программного обеспечения всё чаще. С ними этапы проекта повторяются несколько раз для ...

AstraLinux для приборостроения Ни для кого не секрет, что в марте 2022 года был подписан приказ, согласно которому для безопасности и технологической независимости требуется перейти на отечественное ПО, в частности операционные системы. Мне стало интересно, если я переведу домашний ПК на AstraLinux, смогу...

[Перевод] Разработка SQL Expert Bot: подробный гайд по использованию Vercel AI SDK и API OpenAI OpenAI заложила фундамент для революции в сфере искусственного интеллекта с появлением ChatGPT, открывая новую эру в области AI, которую активно используют как отдельные люди, так и бизнес‑сообщества. OpenAI даже предоставила API для разработки ...

Kotlin Object Multiplatform Mapper Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего прилож...

Правило 16 байт: развенчиваем миф о производительности структур в C# По умолчанию, при передаче в метод или при возврате из метода, экземпляры значимых типов копируются, когда как экземпляры ссылочных типов передаются по ссылке. В 2008 году была выпущена книга «Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET L...

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

Как найти и добавить человека в Телеграм даже без номера телефона Не так давно Павел Дуров заявил, что аудитория Телеграм достигла 900 миллионов пользователей — то есть, мессенджером пользуется каждый девятый человек на планете. Может показаться, что приложение в 2024 году есть практически у всех на смартфонах — наверняка вы р...

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

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

Устройство памяти процессов в ОС Linux. Сбор дампов при помощи гипервизора Иногда для анализа ВПО или, например, для отладки какого-либо процесса может потребоваться дамп памяти процесса. Но как его собрать без отладчика? Постараемся ответить на этот вопрос в этой статье.Задачи:- Обозначить цель сбора дампа процесса.- Описать структуру памяти проце...

Кому и зачем нужны разработчики мобильных приложений в 1С Платформа 1C:Enterprise — самый простой способ перейти в сферу мобильной разработки. Научиться писать приложения на 1С проще, чем освоить Swift, Java или Kotlin. Обучение займёт всего пару месяцев. При этом специалист с такими знаниями всегда будет востребован на рынке благо...

Книга: «Рецепты Python. Коллекция лучших техник программирования» Привет, Хаброжители! В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятн...

Microsoft хочет отключить аутентификацию NTLM в Windows 11 Различные версии Windows используют Kerberos в качестве основного протокола аутентификации уже более 20 лет. Однако в определенных обстоятельствах ОС приходится использовать другой метод — NTLM (NT LAN Manager). Сегодня Microsoft объявила, что расширяет использование Kerbero...

Swift UI: от сомнений к успешному внедрению Всем привет, меня зовут Фарид Хусаинов, я тим-лид команды мобильной разработки Банки.ру. Мы делаем iOS-приложения компании Банки.ру, а именно – наше основное приложение и приложение, посвященное страхованию.Два с половиной года назад мы приняли решение перевести наше мо...

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 3 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

Добавление WebAuthn в веб-приложение Привет! В этой статье мы научимся добавлять WebAuthn в веб‑приложения со стороны frontend‑разработчика. WebAuthn представляет собой новый метод аутентификации, который обеспечивает более высокий уровень безопасности, заменяя устаревшие пароли и SMS‑подтверждения на...

От конструктора до облака: какие есть способы разработки мобильных приложений Привет! На связи Вася Крючков, уже больше 7 лет я занимаюсь разработкой мобильных приложений и сейчас работаю в компании IMSHOP.IO, где за 5 лет разработали больше 150 приложений для ритейла. За эти годы часто встречал случаи, когда е-com менеджеры и технические директора сл...

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

CAE для любопытствующих: инженерные расчеты — какие они бывают Что такое инженерные расчёты, какие они бывают и когда нужны?Инженерными расчётами сопровождается проектирование практически любого изделия или объекта: от болта до огромного боевого человекоподобного робота. Отличительная особенность именно инженерного расчёта от любого дру...

Как вносить вклад в Open Source — и не только кодом. Инструкции от Linux Foundation, CNCF и Free Software Foundation Мы во «Фланте» любим Open Source — причем не только пишем свои открытые инструменты (werf, shell-operator, grafana-statusmap, сommunity-версия Deckhouse), но и активно участвуем в разработке различных проектов — участвуем в KEP’ах Kubernetes, в составе небольшой группы разра...

От xWiki к static-HTML. Как мы документацию «переезжали» Документация в компании HOSTKEY состоит из двух частей: внутренней, которая ведется и дополняется как силами наших технических писателей, так и сотрудниками отделов, для которых она предназначена, и внешней, клиентской.До недавнего времени мы и для внутренней, и для внешней ...

Obtainium — агрегатор закачек apk из разных источников Android предлагает богатый выбор сторонних репозиториев и магазинов приложений помимо Play Маркета: F-Droid (opensource), Aptoide, APKMirror и фирменные магазины вендоров. Однако разработчики часто выкладывают приложения только на собственных сайтах или GitHub. Это требует с...

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

Проектирование архитектуры через User Stories, часть 1. Вовлекаем в процесс заказчика Всем привет! Я — Ира Саблина, системный аналитик в Creonit. Мы разрабатываем цифровые продукты на заказ. Большая часть моей работы — это создание сервисов с нуля. На чужих проектах я часто вижу, как результатом проектирования становится сотня артефактов, в которых заказчик н...

OpenCore Legacy Patcher позволяет установить macOS Sonoma на 16-летние Mac Новая macOS Sonoma совместима с относительно небольшим количеством яблочных компьютеров. Официально операционку можно установить на Mac, которые вышли в 2018 году или новее. Однако с помощью приложения OpenCore Legacy Patcher перечень поддерживаемых моделей значительно расши...

Django + React. Авторизация с помощью сессий между разными источниками Всем здравия! Сегодня будет рассмотрена авторизация с помощью сессий между Django и React, которые находятся на разных доменах, т.е случай "cross-origin". Я в двух словах донесу принцип работы, причины появления концепций и технологий описанных здесь, оставлю ссылки на более...

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

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

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

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

[Перевод] Проектирование аналога Google Docs Google docs – это сервис для совместного редактирования документов. В целом подобные сервисы можно спроектировать двумя способами: В качестве централизованного ресурса, использующего клиент-серверную архитектуру для предоставления возможности редактирования документа всем...

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

Apple временно прекратила все работы над iOS 18, macOS 15 и watchOS 11 Релиз iOS 17, macOS Sonoma, watchOS 10 и tvOS 17 прошел не без проблем. В операционках обнаружилось много досадных багов и недочетов. Часть из них купертиновцы исправили только сегодня. При этом еще не все фишки новых операционок доступны пользователям. Некоторые опции, напр...

[Перевод] Angular на стероидах: наращиваем производительность при помощи WebAssembly В этом посте продемонстрировано, как с лёгкостью использовать WebAssembly внутри приложения, написанного на Angular. Иногда в приложении на Angular требуется выполнить задачу, которая в JavaScript завершается не слишком быстро. Конечно, можно переписать алгоритм на другом яз...

Современная безопасность контейнерных приложений Чем раньше команда задумается о проблеме безопасности, тем лучше. В этой статье обсудим, какие проблемы ИБ есть в стандартном контейнерном приложении, поговорим о безопасности использования Docker, Kubernetes и Terraform и разберём, как можно встроить проверки в стандартный ...

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

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

Релиз Jmix 2.1: что нового? Готовы поделиться ключевыми обновлениями, которые вы найдете в свежем релизе Jmix 2.1. Для тех, кто хочет знать все, полную информацию об изменениях можно найти в документации Что нового.  Читать далее

Пишем веб-приложение вместе с ChatGPT и Stable Diffusion Всем привет! Ни для кого не секрет, что ChatGPT 4, получившая развитие в прошлом году, уже активно внедряется в обиход разработчиков. Во время новогодних каникул я решил испытать новинку, и попробовать разработать совместно с ботом небольшое веб-приложение на базе Angular 17...

Как подружить JUnit 5 и Robolectric? Задавались ли вы вопросом, почему Robolectric не работает JUnit 5? В этой статье расскажу, как подружить Robolectric и JUnit 5 и как мы смогли это сделать в команде. Вы узнаете, как запустить JUnit 4 тесты при совместном использовании с JUnit Jupiter с помощью тестовог...

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

Чем меня удивила умная камера в приложении Яндекс на Android В 2021 году компания Яндекс представила умную камеру Алисы. Это мобильное приложение, которое прокачивает камеру смартфона, превращая ее в универсальный инструмент для поиска информации и решения повседневных задач. С момента выхода программа с искусственным интеллектом зам...

Погружаемся в PEB. DLL Spoofing В предыдущей статье мы в первом приближении рассмотрели PEB и разобрались, как подменить аргументы командной строки.Продолжая разбираться с PEB, рассмотрим еще один способ повлиять на исполнение программы, и попробуем подменить вызываемую из DLL функцию. Читать далее

Установка Deckhouse в kind: пробуем K8s-платформу на ноутбуке — без серверов и облаков Чтобы попробовать Kubernetes-платформу Deckhouse в деле, придется найти мощный сервер, пространство у облачного провайдера или несколько машин и прокси-сервер. Но что делать, если хочется просто потестировать Deckhouse, а технических возможностей для этого нет? Конечно же, у...

Игровая экономика Premium игр на примере PC 4х стратегии Как спроектировать экономику для вашей игры? Это вопрос, ответ на который может занять небольшой цикл лекций или статей. Принципиальная разница в подходе основана в первую очередь на модели монетизации: F2P или B2P. Второе, что определяет подход к разработке экономической си...

Автоматизируем поиск ценной информации в групповых чатах Telegram с помощью LLM Устали мониторить бесконечные групповые чаты в Telegram в поисках важной информации? Решение есть! Пишем компактное приложение на Python, которое будет делать это за нас с использованием LLM. Читать далее

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

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

[Перевод] Анонс Asserts Представляем вам Asserts — платформу для анализа и отслеживания метрик. Сканируя метрики вашего приложения в любой совместимой с Prometheus базе данных временных рядов (time-series database, TSDB), Asserts в реальном времени: — создаёт карту архитектуры приложения и инф...

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

Scala: структура данных в пространстве типов — множество Система типов Scala 3 позволяет конструировать вторичные структуры данных в пространстве типов. Ярким примером таких структур может выступать HList, впоследствии ставший основой реализации кортежей. Кортежи в Scala 3 стали весьма гибким инструментом, позволяющим захватить в ...

SwiftUI уроки (часть 9) Разбираемся с List, ForEach and Identifiable В UIKit для iOS один из наиболее часто используемых элементов управления пользовательским интерфейсом - это UITableView. Если вы имеете опыт разработки приложений с использованием UIKit, то знаете, что table view предназначен...

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

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

Фейковые приложения ВТБ и «Тинькофф банка» в App Store крадут пользовательские данные В App Store появились фейковые приложения банка ВТБ и «Тинькофф банка», о чем пишет ТАСС со ссылкой на МВД России. В управлении по организации борьбы с противоправным использованием информационно-коммуникационных технологий МВД России заявили, что эти прилож...

Apple назвала победителей App Store Award 2023 Как обычно, ближе к концу года компания Apple начинает подводить своеобразные итоги. В частности, купертиновцы выбирают лучшие приложения и игры, а затем награждают разработчиков престижной премией App Store Awards.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No com...

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

Реализация SHA256 и SHA512 на языке RUST Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на R...

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

Кажется, дождь собирается. Пишем Vue-приложение для прогноза погоды В статье рассмотрим, как сделать простое приложение погоды без дизайн-макета‎. Поработаем с HTML, CSS, JavaScript, Vue, Vite, подключением API, а также развернем проект на облачном сервере. Подробности под катом! Читать дальше →

[recovery mode] Фильтруем логи санитайзеров и valgrind на примере приложения с Qt Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструмен...

Управляем дыханием и состоянием духа ПрологЭтот текст — очередной пересказ очередного материала от Andrew Huberman, попытка и самому разобраться в прочитанном. Плюс хочу поделиться мыслями с сообществом (self‑promotion) и обсудить/получить критику. А также пригласить поэкспериментироват...

Pandas в pandas'е: упаковываем документацию в датафрейм Документация к сложным библиотекам на питоне (напр. pandas) хранится в doc-строках и разбросана по сотням страниц сайта. В этой статье мы с помощью небольшого кода упакуем её (информацию из документации для каждого класса и метода) в... датайфрейм. Но зачем? Во-первых, это п...

Зачем нужен архитектор 1С Есть такие, кто считает, что нет оснований для использования отдельного понятия архитектор 1С. Дескать, архитекторы это, например, Растрелли или Гауди, а мы тут немного другим занимаемся. Разработка программного обеспечения и проектирование зданий может и являются родствен...

Остаться в живых (keepalive) feat. HTTP/2, Go & gRPC-Go Привет, Хабр!) Меня зовут Ильяс. В этой статье мы разберём известную идею — keepalive в межсервисном взаимодействии, которая спасла уже не одну компанию в трудное время :). Но чтобы добавить интереса, мы разберём, какие проблемы в keepalive принесли современные технологии (в...

NoArchitecture Kotline Compose Статья про основные моменты использования Compose в Android разработке на примере простого приложения. Три таба в одном Activity. Обращение в сеть, парсинг Json. Немного анимации. Приложение сделано на коленке за пару дней. Скорее как вопрос к сообществуTODO: Добавить Clean ...

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

Форматы изображений в вебе (2024) Сегодня трудно найти веб сайт, на котором нету хотя бы одного изображения, может быть у вас есть такой пример? На странице в интернете можно сразу увидеть много разных изображений: фото пользователя в личном кабинете, фото товара на маркетплейсе, иконка на вкладке браузера, ...

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

Как стать VPN провайдером за один вечер Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер...

RangeVision Spectrum против Shining 3D Transcan C сравнение 3D сканеров В этом материале сравним Российский 3D сканер RangeVision Spectrum и Китайский Shining 3D Transcan C!А перед тем как мы начнем подпишитесь на наш Telegram, там мы проводим розыгрыш пластика из нашей линейки LIDER-3D Classic!С вами LIDER-3D и это сравнение Shining 3D Transcan...

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

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

[Перевод] Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 1) Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью, решил поделиться переводом. Автор материала рассказывает, как добавить Flutter в новый или существующий проект Native iOS и протестировать его на Codemagic CI/CD с ...

Яндекс выпустил бета-версию «Яндекс Музыка» для компьютеров – на Windows и macOS Команда Яндекса не только провела сегодня первый с 2014 года ребрендинг фирменного музыкального сервиса, но и выпустила бета-версию десктопного приложения «Яндекс Музыки». Желающие могут скачать и установить приложение «Яндекс Музыки» на Windows ...

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

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

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

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

Albumentations: XYMasking Короткая версияПосле длинного вступления, будет туториал по применению аугментации XYMasking к спектрограммам от ЭЭГ. Кто экономит время - код с примерами можно найти по ссылке в документации библиотеки. Длинная версияAlbumentations - это Open Source библиотека для аугментац...

Что учесть при портировании приложения на Аврору Привет, Хабр! Меня зовут Дмитрий Мозер, я Flutter Team Lead в Friflex и участник бета-тестирования ОС Аврора. Занимаюсь, в том числе, созданием приложений на Flutter для ОС Аврора.Мы специализируемся на Flutter и активно участвуем в развитии фреймворка на ОС Аврора. Мы уже п...

Как необычные решения приводят к критическим уязвимостям. Или история одного бага, найденного в CloudTips Привет, Хабр! В данной статье хотел бы поделиться историей, как был найден достаточно простой в исполнении баг, но приводящий к опасной уязвимости веб приложения. Данный баг был найден в сервисе CloudTips от Тинькофф и CloudPayments на BugBounty площадке app.bugbounty.bi.zon...

ChatGPT-4 в помощь: используем AI в доработке простого iOS-приложения Мне всегда было интересно, получится ли применить AI-инструменты в трудовых буднях программиста. Когда появился ChatGPT, я начал пробовать использовать его в работе, и он быстро стал для меня вспомогательным инструментом. Буквально на днях вышло его крупное обновление, и ста...

Apple удаляет два приложения из tvOS 17.2 Apple решила упростить процесс покупки и аренды фильмов и телепередач на Apple TV. С предстоящим обновлением tvOS 17.2 компания уберет два отдельных приложения, предлагая владельцам использовать универсальное приложение TV для управления всем контентом.

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

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

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Dec...

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

Микросервисы на основе событий с Kafka Streams и Spring Boot Всем привет! Это моя первая статья на Habr, так что не судите строго за стиль, а вот по содержанию буду рад любой конструктивной критике. Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Stream...

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

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

Telegram показывает удаленные сообщения Несколько дней назад я обнаружил, что Telegram приложение на Windows показывает давно удаленные чаты. При том, что их не было видно ни на телефоне, ни в Linux клиенте. Я поделился этим с друзьями, которые увидели то же самое. Для оптимизации работы серверов, чаты разделены н...

Apple просит пользователей не пытаться просушить iPhone с помощью риса Есть мнение, что утопленный смартфон можно попробовать вернуть к жизни, если положить его в рис. Последний буквально вытянет из устройства всю влагу. Однако компания Apple призывает пользователей не использовать подобные методы.Читать дальше... ProstoMAC.com.| Постоянная сс...

Один репозиторий, чтобы править всеми Собираем кроссплатформенное (server-client, static-client, gh-pages, Android, iOS, macOS, Linux, Windows, Chrome extension, Docker, Kubernetes, ...) React приложение. В этой статье я почти не затрону Deep backend, только чуть-чуть в конце. Но рассмотрю Open Source шаблон/заг...

[recovery mode] Развертывание программного комплекса на Asp.net на российских ОС В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотр...

Простая сеть для связи нескольких устройств с ПЛИС Продолжая тему самодельного простого интерфейса https://habr.com/ru/articles/769986/ , как всегда, интереса ради и просто так, разработал концепцию сети на описанном ранее протоколе нижнего уровня. Представленная сеть, может быть пригодна для связи между несколькими ПЛИС вну...

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

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

Room для Kotlin Multiplatform. Пробуем нативное решение Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2....

Исследователи продемонстрировали взлом и угон Tesla с использованием Flipper Zero ИБ-эксперты Талал Хай Бакри (Talal Haj Bakry) и Томми Мыск (Tommy Mysk) показали простую фишинговую атаку с использованием Flipper Zero, в результате которой можно скомпрометировать учетную запись Tesla, разблокировать автомобиль и угнать его. Атака работает даже с последней...

Производительный ультрабук на базе Ryzen 5700U для разработчика: Обзор Ninkear A15 Plus После подробного материала с разбором и тестами N14 Pro, компания Ninkear предложила заслать мне их следующую модель - , которая построена на базе проверенной временем платформы Ryzen. Пожалуй, если сейчас зайти на любой онлайн-маркетплейс, можно найти сотни различных предло...

Почтовый сервер с нуля. Часть первая Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построе...

Альфа-банк выпустил новое приложение для Айфона — Деньги есть. Качай, пока не удалили из App Store! В 2022-началае 2023 года из App Store исчезли практически все приложения крупных банков. С тех пор они нашли массу способов обойти эти ограничения, самый простой из которых — это веб-приложения. Больше всех постарался банк Тинькофф, который не только сделал удобный PW...

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

Предсказательное моделирование (Predictive Modeling) Привет, Хабр!Что такое предсказательное моделирование? Проще говоря, это искусство и наука прогнозирования будущего, основанная на изучении и анализе прошлых и настоящих данных. Это не просто гадание на кофейной гуще или предсказания астролога; это строгий научный процесс, в...

RAG (Retrieval Augmented Generation) — простое и понятное объяснение Краткое и понятное описание подхода RAG (Retrieval Augmented Generation) при работе с большими языковыми моделями. Читать далее

Материалы для разработчиков систем на кристалле: функциональная верификация, итеративная сборка, свой ПЛИС-кластер Привет, Хабр! Принесли материалы с недавнего митапа для FPGA/ASIC/RTL-инженеров — добавляйте в закладки, чтобы посмотреть в свободное время. В докладах вас ждут:• Шаблоны документов, которые нужны при функциональной верификации, и шаблон проекта для организации итеративной...

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

Google разворачивает доступ к Gemini Компания Google достаточно серьёзно относится к своему искусственному интеллекту Gemini — компания полностью заменяет Ассистент и Bard своим новым приложением на базе искусственного интеллекта, и теперь приложение появилось даже на операционной системе iOS. Это позволит комп...

В России создали новый подход к построению ветровых карт Ученые Южно-Уральского государственного университета разработали новый подход к построению ветровых карт для планирования микрорайонов. Профессор Валентин Оленьков отметил, что новая методика, основанная на численном моделировании, позволяет получать результаты в 10−50 раз б...

Применение архитектурных шаблонов в машинном обучении: разбор Gradient Boosting Привет, Хабр! Архитектурные шаблоны в машинном обучении представляют собой общие структуры и методологии, которые позволяют разработчикам более эффективно решать задачи. Они представляют собой набор bewährte Lösungen, то есть "проверенных решений", которые могут быть адаптир...

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

Chat with RTX выпустили на Windows Вчера компания NVIDIA официально представила чат-бота Chat with RTX для Windows, который работает на базе TensorRT-LLM и доступен бесплатно для всех желающих. Стоит отметить, что приложение Chat with RTX чрезвычайно простое в использовании — утилита разработана как локальная...

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

Привет, я FSD, чем могу помочь? Привет, странник

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2 Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи. Мы уже выпустили первую часть. В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и и...

CompletableFuture. Глубокое погружение java.util.concurrent.CompletableFuture - класс не новый. Он предстал перед нами во всём своём величии в 2014-м году вместе с выпуском Java 8. Много лет с тех пор прошло, а проще он не стал.Мы в компании называем их "фьючи". На хабре было много материала по отдельным частям и...

Spring Boot Starter: практически, принципиально и подробнее. Part 1 Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки. Общепроектные решения&...

Собираем DOCX из ADOC Статья про то, как можно собрать docx-файл из git(adoc)-дерева.По мнению автора, статья может быть интересна тем, кто хочет уйти от стандартных методов хранения документации. Ведь техническая документация всегда лежит на стыке кода, практик devops_а и нас, простых читателей....

RCA — расследования отказов на производстве Всем привет! Я Дмитрий - руководитель группы функциональной архитектуры компании Bimeister, эксперт в областях ТОиР и Надёжности.Многие слышали словосочетание «Надёжность производства», сопровождающееся непонятными аббревиатурами RCM, RCA, FMECA, RBI и т.д. В одной из стате...

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

Создание простого калькулятора в android studio В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio. Читать далее

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

Чтение на выходные: «Найти идею. Введение в ТРИЗ — теорию решения изобретательских задач» Генриха Альтшуллера Генрих Альтшуллер — изобретатель, автор теории решения изобретательских задач. «Найти идею» — это его последняя работа. В ней ТРИЗ описана наиболее полно. Книга пестрит задачами, решениями и заветными «а. с.», а за счет пояснений даже гуманитариям будет понятно, как с помощь...

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

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

Подключаем умный поиск (GPT) к своей базе документов Есть отечественный файрвол (NGFW) и есть документация для пользователей powered by GitBook. В этой документации работает простой поиск — только по словам и словосочетаниям. И это плохо, потому что нет ответов на вопросы: "Какие алгоритмы шифрования ipsec поддерживаются у вас...

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

Google предлагает до 450 000 долларов за уязвимости в некоторых Android-приложениях Компания Google увеличивает вознаграждения за уязвимости удаленного выполнения кода в отдельных приложениях для Android в десять раз: с 30 000 до 300 000 долларов. Максимальное вознаграждение теперь и вовсе составляет 450 000 долларов.

Приложение «Тинькофф Мобайл» вернулось в App Store под новым названием Мобильное приложение «Тинькофф Мобайл» снова стало доступно в официальном онлайн-магазине приложений для iOS. Найти в App Store его можно под новым названием – TIMOB. Изначально на находку обратили внимание в Telegram-канале «Эмулятор техноблогер...

О Product Data Management, или как хранить конструкторскую документацию Меня зовут Сергей Чугунов. Я более 10 лет занимаюсь конструированием медицинских рентгенодиагностических комплексов. Одна из моих зон ответственности — внедрение лучших практик работы с системой автоматизированного проектирования (CAD — системой). После общения с коллегами и...

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

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

Асинхронный API First API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений...

[recovery mode] Кейс АТОМ: Как не потерять гибкость при проектировании электромобиля Привет! Это Дмитрий Гайдук, менеджер в АТОМе по корпоративным и онлайн-сервисам. Каждое инженерное и программное решение в АТОМе – это отдельный продукт. Но если вырывать эти продукты из контекста, они останутся отдельными разрозненными решениями. Для нас крайне важно измени...

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

Apple получила образец подэкранной фронтальной камеры для iPhone По данным источников компания Apple уже получила образец нового модуля фронтальной камеры, который можно разместить под дисплеем iPhone. Однако имеющееся решение не устроило купертиновцев. Сейчас такие компании как LG Innotek работают над более совершенным решением.Читать да...

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

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

Рефакторинг кода, и как его не бояться Привет, Хабр!Уже около четырех лет моя профессиональная деятельность тесно связана с энтерпрайз разработкой мобильных приложений на Flutter в компании TAGES. Сегодня мне бы хотелось поделиться некоторыми мыслями и практическими советами на тему, которая является актуальной и...

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

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

Event Loop. Мифы и реальность В сети есть довольно большое количество публикаций про Event loop и как он работает. Новые статьи появляются на популярных ресурсах и по сей день, в том числе на Хабре. Однако, к сожалению, далеко не вся информация, представленная в этих материалах является провере...

Архитектурный паттерн для обработки больших данных: Kappa Привет, Хабр!Если вы уже знакомы с архитектурным паттерном Lambda, то сегодня мы поговорим о его ближайшем родственнике - Kappa. Когда речь идет о обработке больших данных, архитектурные паттерны играют самую важную роль. Ранее мы обсудили Lambda, который предлагает подход, ...

Как сделать универсальный компонент List Cell в Figma Я покажу свой способ сборки компонента List Cell, объясню, почему считаю его гибким, а также приложу ссылку на Figma. Я решил рассказать об этом потому, что не нашёл подходящих материалов, как собрать свой List Cell. Рассмотреть материал

Как управлять сотнями sidecar-контейнеров без боли и сожаления При использовании дополнительных контейнеров в Kubernetes важно развернуть их так, чтобы сократить количество YAML-кода и при этом не лишить платформенные команды возможности публиковать sidecar'ы без запроса на обновление приложение. Для этого подходят Sidecar Injector'ы — ...

SSH-Туннели простыми словами В какой-то момент у меня возникла необходимость разобраться с простыми SSH-туннелями: как из запускать и какие туннели могут помочь мне (обычному web-разработчику). Разобраться в этом удалось и я решил поделиться пояснениями в простой понятной форме. Читать далее

Константность в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, им...

Как улучшить английский в документации. Часть 3: мировая аудитория Мировая статистика говорит, что английским владеет примерно 1,4 миллиарда человек, но носителей среди них всего 380 миллионов. То есть статистически семь из десяти читателей англоязычной документации — не носители языка.Если мы хотим, чтобы наша английская документация хорош...

Магический API Resource в Laravel В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями? Разберёмся вместе! Читать далее

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

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

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

В России разработали приложения для мониторинга пациентов с аритмией В России появилось приложение для дистанционного мониторинга состояния пациентов с аритмией

Как создать PWA из любого сайта на компьютерах Apple с macOS Sonoma Последние годы нововведения в операционных системах Apple можно пересчитать по пальцам. Однако некоторые из них оказываются невероятно полезными, главное — просто найти им правильное применение. Так, в macOS Sonoma появилась возможность создавать практически из любого сайта...

Моделирование размещения хабов в pyomo Транспортные, телекоммуникационные и компьютерные сети часто используют Hub-and-Spoke архитектуру для эффективной маршрутизации потоков между множеством отправителей и получателей. Особенность такой топологии заключается в использовании специального объекта сети - хаба. Хабо...

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

Как я разрабатывал веб-сервис по бронированию зарядных станций для электромобилей (часть 2) Всем привет, на связи снова Арсений Елисеев! Продолжаем работу над созданием веб-приложения для управления бронью ЭЗС, которое мы начинали ранее: …. Сейчас мы обратим внимание на практические аспекты: построение математической модели метода, его программная реализация и экон...

Красавица и HTML Injection. Почему HTMLi не только про дефейс Привет, Хабр. Сегодня мы посмотрим на достаточно тривиальную тему с совсем нетривиальной стороны. Пожалуй, для каждого вебера HTML-инъекции являются темой, которой зачастую уделяют не очень много внимания. Взять даже собеседования: когда в последний раз вас спрашивали не об ...

Тестирование UI в Compose Multiplatform Собираясь писать UI-тесты для приложения на Compose Multiplatform, я столкнулась с дефицитом туториалов и документации по этой теме. Из полезного были только пара статей (https://habr.com/ru/articles/674112/) и выступлений на недавних конференциях, а примеры в основном своди...

Объявление и инициализация переменных в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это шестая статья из серии, список предыдущих статей приведен в конце в разделе 7. Серия ориентирована на программистов, имею...

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

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация. Рассмотрим ее реализацию на Pytho...

Framework для автоматизации тестирования на Java Привет, Хабр! В нашем сегодняшнем материале тестировщики Максим Жигарев и Артем Сенько из Блока ИТ‑развития инвестиционного бизнеса РСХБ‑Интех расскажут, как они автоматизировали тестирование в ИвестБлоке с использованием Java. Материал основан на&nb...

Framework для автоматизации тестирования на Java Привет, Хабр! В нашем сегодняшнем материале тестировщики Максим Жигарев и Артем Сенько из Блока ИТ‑развития инвестиционного бизнеса РСХБ‑Интех расскажут, как они автоматизировали тестирование в ИвестБлоке с использованием Java. Материал основан на&nb...

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо дей...

Руководство: Как вернуть деньги за The Day Before спустя 2 часа игры? The Day Before не оправдала ожиданий, разработчики из Fntastic ушли в закат, а у игроков остался только один вопрос: «а что с деньгами?». Специально для читателей AppTime мы нашли способ, как вернуть деньги даже спустя два часа игры, когда автоматический возврат уже не рабо...

Разница ролей QA Lead, QA Manager и QA Head Привет! Я Люда, QA Lead в компании TrendTech.За 2,5 года в компании наше направление сильно выросло, а у меня сменился спектр задач. И я задалась вопросом, в какой момент лид перестает быть лидом и становится, например, менеджером. В данной статье я попробую рассказать, каки...

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

Автодокументация Doxygen и её развертывание на GitHub Pages Наверняка вы создавали open source проекты и выкладывали их на GitHub, но я уверен, что очень немногие из вас создавали документацию для этих проектов. В этой статье я расскажу, как создавать и публиковать доки максимально просто. Документация будет создаваться на основе исх...

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

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

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

Работаете с микросервисами? Идём в сторону Go Разработчики приложений с микросервисной архитектурой обращаются к Golang не только как к основному языку, но и как к вспомогательному — в дополнение к другим, более сложным. А мы решили обратиться к спикеру курса «Golang-разработчик» Виталию Лихачеву, Senior Software Engine...

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

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

Как я повысил производительность flutter приложения с помощью FragmentShader. Часть 1 Статья о том, как я добавил фичу с рисованием пальцем на экране с помощью CustomPaint во flutter приложении и далее пошагово занимался оптимизацией Читать далее

[Перевод] Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств...

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

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

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

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

Разворачиваем систему уравнений в граф Как-то во время учебы на инженера-теплоэнергетика я наткнулся на одну книгу [Попырин Л.С. Математическое моделирование и оптимизация теплоэнергетических установок. М. Энергия 1978г.], в которой был описан алгоритм построения расчётных схем энергетических устан...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

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

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

SOLIDно знать… SOLID. Принципы и Паттерны. Паттерны и Принципы. Что может быть ближе друг другу чем эти субстанции ?! Эта статья проведет параллель между ними, она не собирается объяснить суть каждой, вместе или отдельно, а желает показать как одна другой помогает. То есть, статья в некото...

[recovery mode] Подкрепляем полезные привычки Этот текст (не осмелюсь назвать «статьей») стал побочным продуктом моего «грандиозного» замысла — попытки пересказать понятным языком содержание одного из эпизодов The Huberman Lab podcast, который «Как ставить цели и достигать их». И, как все прочие эпиз...

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

Алгоритм Monte Carlo Tree Search простыми словами Можно ли научить ИИ играть в настольную игру и выигрывать в ней, если мы сами не знаем как это сделать? Да! И один из способов — использовать алгоритм Monte Carlo Tree Search (MCTS). Он актуален даже сейчас, в эпоху развития нейронных сетей. У многих людей, в том числе и у...

[Перевод] Lotus 1-2-3 для Linux Если вы хотите узнать, как проприетарное приложение можно перенести на новые операционные системы, спустя 30 лет после выпуска, читайте дальше. Читать далее

Смартфоны Google теперь можно продиагностировать, набрав один номер С помощью нового инструмента Google вы сможете диагностировать телефоны Pixel. Просто введите ##7287## на клавиатуре, и вуаля. Это приложение на устройстве позволяет пользователям проводить комплексную диагностику, гарантируя, что их телефоны Pixel будут в идеальном состояни...

Apple придумала, как контролировать приложения вне App ... Компания Apple все же может сохранить контроль за приложениями в iOS, даже у тех, что выйдут вне App Store в Европейском Союзе – инструменты для этого уже существуют

АСМОграф — замена Microsoft Visio, MapInfo и в какой-то мере даже AutoCAD Многим компаниям сегодня приходится менять привычное программное обеспечение, потому что лицензии на западное ПО не удается продлить, а работа приложений становится нестабильной. В этом посте мы подробнее расскажем про векторный редактор АСМОграф, который уже несколько лет я...

Избавляемся от паролей Меня зовут Александр Чикайло, я разрабатываю межсетевой экран уровня веб-приложений PT Application Firewall в Positive Technologies и специализируюсь на защите веба. Сегодня речь пойдет о беспарольной аутентификации и ее безопасном применении в приложениях. В этом материале ...

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

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

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг) Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет инд...

Поиск опечаток в проекте Ничего не нашёл на Хабре про CSpell, попробую исправить ситуацию.Для среднего проекта с документацией понадобился линтер для проверки опечаток. Одним из условий была локальная и быстрая проверка текста, без отправки на внешние сервера.Таким инструмен...

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

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

Как развернуть сайт c помощью Terraform Привет, Хабр! В этой инструкции я покажу, как развернуть сайт в Kubernetes c помощью Terraform. Разберу интеграцию CRaaS с Managed Kubernetes, которая сократит ручную настройку и поможет публиковать образы контейнеров всего в несколько кликов. Дисклеймер: мы не будем c ну...

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

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

SberPay: как добавить поддержку бесконтактной оплаты в Android-приложение Хотите добавить в своё Android-приложение функцию бесконтактной оплаты, но не знаете, как это сделать? Тогда эта статья для вас! Заодно обсудим особенности реализации. В конце будет ссылка на репозиторий с примером. Читать далее

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

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

Компания Рутек представила российский смартфон Р-ФОН на ОС Роса Мобайл Р-ФОН работает на операционной системе Роса Мобайл, основанной на Linux с фокусом на конфиденциальности пользователей, и имеет эмулятор Android-приложений. В комплекте смартфона — собственный магазин приложений РОСА Маркет, аналог Telegram - приложение Мессенджер и приложени...

Компания Рутек представила российский смартфон Р-ФОН на ОС Роса Мобайл Р-ФОН работает на операционной системе Роса Мобайл, основанной на Linux с фокусом на конфиденциальности пользователей, и имеет эмулятор Android-приложений. В комплекте смартфона — собственный магазин приложений РОСА Маркет, аналог Telegram - приложение Мессенджер и приложени...

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

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

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

Разработчик «Р7-Офис» представил обновленное приложение «Р7-Документы» для ОС Аврора 5-го поколения Обновленное приложение «Р7-Документы», адаптированное специально для операционной системы Аврора 5-го поколения, представлено компанией Р7, разработчиком «Р7-Офис». Благодаря новому приложению «Р7-Документы» отныне возможно поддерживать как 32-разрядную, так и 64-разрядную в...

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

.NET+Safeguard: Реверсинг без ассемблера Сегодняшняя статья будет посвящена реверсингу приложений, написанных с использованием фреймворка .NET. Сначала мы немного поговорим о том, что такое .NET, чем код на нем отличается от других сред разработки и затем разберем один обфусцированный Crackme, попутно рассмотрев ря...

[Перевод] Ад Рендера 2.0. Книга вторая. Пайплайн Статья взята отсюда и переведена на русский язык. В статье автор подробно разбирает принцип работы графического пайплайна в GPU , используя простые и понятные иллюстрации.Пайплайн в ДетатяхБольшинство конструктивных отзывов, которые я ...

Android System Webview — что это за приложение и зачем оно нужно? Многие предустановленные приложения на смартфонах необходимы для корректной работы системы, однако их роль с первого взгляда не всегда понятна. Что такое программа Android System Webview и зачем она нужна на телефоне? Что такое Android System Webview в смартфоне? Android Sys...

Препарируем Wazuh. Часть 1: Базовая установка Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не...

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

Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. А также мы делаем  свой вклад в развитие экосистемы Аврора + Flutter. В эт...

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

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

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

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

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

Microsoft Copilot стал доступен в виде Android-приложения, аналогичного ChatGPT Теперь вам не требуется отдельное мобильное приложение Bing для использования Copilot на ваших устройствах Android.

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

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

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

Разработчики рассказали о масштабном обновлении приложений «Р7-Команда» для iOS и Android Компания «Р7» объявила о масштабном обновлении модуля видеоконференцсвязи «Р7-Команда». Речь идет о новых версиях приложения для мобильных устройств (iOS и Android). Значительно обновлена версия для Android, которая пополнилась индикатором качества канала. Разработчики позаб...

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

Паттерны или химеры программирования Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с ...

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

Развитие RISC-V & мультиклеточная архитектура Рост популярности RISC-V с момента его появления в 2010 году позволяет говорить, что архитектура состоялась.Пока успех архитектуры RISC-V — это, в первую очередь, ее открытость. Все остальные факторы вторичны. Минимализм системы команд, ее стандартизация, программная инфраст...

Впервые ученые обнаружили необъяснимые сигналы в белом веществе мозга Ученые обнаружили в белом веществе сигнал, которому пока нет объяснения Мозг — самый сложный и малоизученный орган человека. Как правило, при его исследовании ученые концентрируют внимание на сером веществе. Однако половину мозга занимает белое вещество. Интерес к серому вещ...

[Перевод] Анатомия shadcn/ui Если вы следите за новинками экосистемы JavaScript, то должны были слышать об интересной библиотеке пользовательского интерфейса (user interface, UI) под названием shadcn/ui. Вместо того, чтобы распространяться в виде пакета npm, компоненты shadcn/ui добавляются с помощью ...

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

Троттлинг в Kubernetes. Или как настроить лимиты, чтобы приложения не “тормозили” Главная рекомендация - отказаться от лимитов!А теперь подробнее.Когда у вас много пользователей используют один кластер Kubernetes, возникает вопрос - как задать квоты, чтобы и приложениям хватало ресурса, и не случилось ситуации, когда из-за одного прожорливого соседа страд...

В Академии Кодебай стартует курс по приложениям для Android 8 апреля в Академии Кодебай начинаются занятия на курсе «Анализ защищенности приложений Android». Курс посвящен изучению мобильных приложений под ОС Android. На занятиях рассматривается устройство Android-приложений, этапы создания мобильного приложения, приемы реверса и изм...

Ультрабук Samsung Galaxy Book3 Pro: статен телом, хорош и делом Всё для бизнеса и не только: дактилоскопический сканер, встроенный в кнопку включения питания, веб-камера 1080p, картовод microSD. Поддержана возможность простого и быстрого перемещения файлов между разными портативными устройствами Samsung, а также управления смартфонами и ...

Стало известно как в «Р7-Офис» открыть документ в отдельном окне Выяснилось, как в десктопной версии «Р7-Офис» открывать документы в отдельных окнах. Для этого в десктопной версии приложения надо нажать в главном меню на раздел «Настройки». В поле «Открыть файл» из выпадающего меню выбрать «В окне». Затем нажать кнопку «Применить». Чтобы ...

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

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

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

Лучшие функции Яндекс Станции в 2024 году, которые нужно попробовать сразу после покупки Когда Яндекс Станция только вышла, ее нельзя было толком настроить. Однако с годами умная колонка обзавелась отдельным приложением и обилием параметров, о которых многие новые пользователи узнают лишь через некоторое время! Тем более, что в последнее время регулярно выходят...

Названы победители хакатона на базе ОС Аврора 15-18 декабря 2023 года в Санкт-Петербурге прошел «Совместный хакатон Инженерной школы ГУАП и компании «Калейдоскоп» по созданию приложения для отслеживания состояния здоровья и активности», в рамках которого участники попробовали реализовать в Аврора ОС сценарий с подключен...

Устанавливаем и настраиваем Marzban Marzban — это инструмент управления прокси-серверами, который предоставляет простой и удобный пользовательский интерфейс для управления сотнями учетных записей прокси на базе Xray-core и созданный с использованием Python и ReactJS. В данной статье рассмотрим устан...

ref vs shallowRef Рассмотрим отличие ref от shallowRef, и попробуем ответить на вопрос - когда же нужно использовать первое, а когда второе? За разъяснением обратимся к исходному коду vue3 Читать далее

Поддержка Office 2016 и 2019 завершится 14 октября 2025 года Microsoft объявила, что поддержка пакетов приложений Office 2016 и Office 2019, а также сопутствующих решений, завершится 14 октября 2025 года. После этого срока компания не будет выпускать исправления безопасности и оказывать техническую поддержку. Это может привести к пот...

E-mail Injection; Инъекции в почтовую функциональность веб-приложений Так сложилось, что одним из вариантов решения задачи сбора ответов пользователей на формы является использование электронной почты. Электронная почта – комплексная технология, в работе которой задействован целый список компонентов.В таком сценарии формы выступают посредникам...

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

После выхода iOS 17.2 в iPhone 13 и iPhone 14 появится поддержка Qi2 В ближайшее время компания Apple должна выпустить финальную версию iOS 17.2. Второе крупное обновление iOS 17 принесет с собой ряд исправлений и новых функций. Например, в iOS 17.2 появится приложение Журнал. Также согласно последним данным, обновление добавит в iPhone 13 и ...

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

Microsoft нашла уязвимость, затрагивающую множество Android-приложений Американский технологический гигант Microsoft сделал очень важное заявление относительно экосистемы Android. Компания обнаружила уязвимость безопасности, которая затрагивала большое количество популярных приложений Android, таких, как Xiaomi File Manager и WPS Office. Бэкдор...

[Перевод] Vue 3: Ваше первое знакомство с компонентом Transition Мы можем значительно улучшить юзер экспириенс, добавив плавную анимацию перехода между различными состояниями в нашем веб-приложении. Vue.js 3 предоставляет мощный компонент Transition, который упрощает процесс внедрения переходов во Vue-приложениях. В этой статье мы рассм...

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

В iOS 18 появится улучшенный Календарь Источники ресурса AppleInsider продолжают делиться подробностями о грядущем обновлении для яблочной мобильной операционной системы. В частности, сегодня они рассказали об изменениях, которые произойдут в приложениях Календарь и Напоминания.Читать дальше... ProstoMAC.com.| П...

[Перевод] Организация ML-монорепозитория с помощью Pants Приходилось вам копипастить фрагменты вспомогательного кода между проектами, попадая в ситуацию, когда несколько версий одного и того же набора команд оказывались в разных репозиториях? Или, может, вам надо было делать pull‑запросы к десяткам проекто...

VK обновила частное облако Private Cloud – с усиленной защитой и маркетплейсом приложений Команда VK (бывшая Mail.ru Group) объявила о выпуске новой версии Private Cloud — платформы для построения частного облака в ЦОДе заказчика.  Как отметили разраотчики, версия 4.0 обеспечивает повышенный уровень защищенности — ядро облака соответствует ...

Корпоративные войны: почему бастовали сценаристы Голливуда? Остановка производства сериалов и фильмов, перенос премьер, отмена анонсированных проектов… Нет, это не закат Голливуда, речь идет о второй крупнейшей забастовке «WGA». Она стала ответной реакцией на жадность в край обнаглевших корпоратов из стриминг-сервисов, которые не зах...

Способ автоматизации процесса получения BIM-моделей с Revit Server и последующей сборкой в Navisworks. Подробный гайд Одной из операционных задач BIM-отдела является подготовка и формирование проприетарных файлов моделей для последующего использования в тех или иных целях. На примере работы с программными продуктами Autodesk — Revit и Navisworks, подразумевается определённая логика разбивки...

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

Реверс мобильных приложений на cocos2dx Хочу поделиться своим опытом в реверс инженеринге приложения на lua cocos2d-x. Файлы приложения зашифрованы xxtea, а ключи шифрования находятся в .so файле внутри приложения. Читать далее

Телефония «дёшево и сердито» Бывают ситуации, когда нужна очень недорогая и несложная телефония, например, для связи между 2-3 точками: позвонить из магазина на склад, из основного помещения в подвал и прочее. Приобретение и установка АТС в таких случаях бывает избыточна, часто и довольно затратно и люд...

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

Пишем простой консольный мессенджер с end-to-end шифрованием поверх «Hidden Lake» сервисов Secpy-Chat — это простой консольный мессенджер со сквозным (end-to-end) шифрованием, работающий поверх сервисов анонимной сети Hidden Lake. За счёт своей простоты его можно редактировать, либо даже полностью переписывать на более любимую технологию или язык программирования....

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