Всем привет!
В этой статье мы будем обсуждать, как писать масштабируемые и поддерживаемые интерфейсы на Jetpack Compose: от базовых компонентов до архитектурных практик. Разбираем иерархию, принципы проектирования, naming, порядок параметров и антипаттерны.
Думаю, что статья будет полезна как новичкам, так и опытным разработчикам.
В этом руководстве рассматривается современный подход к безопасности — Zero Trust Network Access (ZTNA) — и показано, как его реализовать с помощью SPIFFE/SPIRE и OpenID Connect (OIDC). Материала много, по этому я предоставлю его в сухой форме.
В основе ZTNA лежит принцип «никогда не доверяй, всегда проверяй»: каждый запрос на доступ считается потенциально небезопасным и проходит обязательную аутентификацию и авторизацию. По сравнению с классическими VPN-сетями решения ZTNA на базе SPIFFE/SPIRE и OIDC: Ускоряют процедуру аутентификации в 20–80 раз, Повышают производительность на 46–64 %, В облаках AWS и Google Cloud позволяют снизить задержки до 50–100 мс вместо привычных 2–4 с.
Читать далееВ эпоху «больших данных» даже небольшая форма обратной связи на сайте — риск для владельца бизнеса. Любая digital-компания, собирающая пользовательские данные, автоматически попадает в зону интереса Роскомнадзора (РКН). О том, как проходят проверки, что вызывает вопросы у инспекторов и что делать, чтобы минимизировать риски — этот разбор.
Читать далееВ прошлом году мы уже рассказывали, как создавали нашего помощника программиста Kodify. Не прошло и года, и мы представили вам новую его версию – Kodify 2. А буквально сегодня объявили о выпуске опенсорсной – Kodify Nano. Kodify 2 доступен только для корпоративных заказчиков, а Kodify Nano мы сделали открытым – выложили на Hugging Face.
Ключевое слово для обеих этих версий – компактность. В этой статье отвечаем на главный вопрос, который нам отовсюду прилетал при запуске Kodify: Почему мы решили пойти против течения и создать «легких» ИИ-помощников для разработчиков? Также вы узнаете, как мы их учили, чтобы они справлялись с поставленными задачами не хуже, чем их собратья схожего или даже большего размера, и какую методологию оценки использовали.
Читать далееСкептики часто говорят:
“Юнит-тесты? Это же лишняя морока.”
“Код всё равно придётся менять — зачем тестировать то, что всё равно устареет?”
“У нас нет времени на это.”
Я слышал это десятки раз — от новичков, опытных тимлидов и даже CTO. И всё же, спустя годы в разработке, я с уверенностью могу сказать: юнит-тесты — это не обуза, а инструмент, который экономит время, снижает стресс и делает код надёжнее.
Давайте разберёмся с популярными мифами.
Читать далееВсе началось с того что к нам в офис приехал директор иногороднего филиала.
Он подошел ко мне и сказал примерно следующее:
“Я переписываюсь с генеральным директором с помощью mail.ru.
В переписке мы обсуждаем весьма щекотливые вопросы, связанные, например, с …, ну тебе лучше не знать…. Я бы не хотел чтобы эта переписка была доступна третьим лицам.”
Я озаботился вопросом и достаточно быстро выяснил, что стандартом является шифрование с помощью шифра AES и аутентификация с помощью шифра RSA. Все мессенджеры предусматривают регистрацию, имеют свои сервера и хранят историю переписки.
Кроме того, я выяснил, что все существующие средства шифрования, которые доступны официально, должны иметь лицензию ФСБ (Постановление 313 https://base.garant.ru/70164728/). Одно из условий выдачи такой лицензии – предоставление ключей для доступа к переписке. (Вспоминаем историю с запретом Telegram в РФ).
То есть, использование любого, существующего легально, мессенджера не дает уверенности в тайне переписки.
Проанализировав ситуацию, я вывел рецепт идеального (защищенного) мессенджера.
Он должен состоять из следующих элементов:
1. Алгоритм шифрования с абсоютной криптостойкостью.
2. Надежный способ передачи ключей.
3. Надежный способ аутентификации (не RSA).
И не иметь своих серверов, не требовать регистрации, не хранить историю переписки.
Далее началась реализация.
Элемент 1. Шифр с абсолютной криптостойкостью.
Бытует мнение что взломать можно любой шифр. Хотя бы теоретически - брутфорсом.
И я почему-то уверен, что мало кто из читателей этого текста знает что такое алгоритм Вернама. (По крайней мере, я не знал).
Читать далееПривет снова. Я olzoomer, и сегодня я начну цикл статей про то, как правильно выполнить базовую настройку Fedora после установки.
Читать далееЭто вторая часть моих наработок по решению задачи про Винтика и Шпунтика в рамках челленджа @vvvphoenix. В первой части мы выразили ответ в виде формулы включений-исключений. Хотя в подобных формулах и получается огромное число слагаемых, часто оказывается, что либо они почти все равны нулю, либо объединяются в сравнительно небольшое число групп одинаковых, либо ещё что-нибудь. И в итоге огромная формула вычисляется чуть ли не на бумаге. В этой части мы будем сворачивать и оптимизировать нашу формулу для ускорения вычислений.
Читать далееОдин из популярных инструментов BPMN (Business Process Model and Notation) — стандарт графического моделирования бизнес-процессов, разработанный Object Management Group (OMG). Он широко используется для визуализации, анализа и оптимизации процессов внутри организаций.
Но в отличие от прочих нотаций, BPMN может использоваться совместно со специальным BPM-движком (engine), встроенным в различные ИТ-платформы. То есть бизнес-процессы, описанные с помощью BPMN, не просто визуализируются, а управляют логикой выполнения в реальных ИТ-системах, превращая нотацию в исполняемый код, который интерпретируется движком, При этом продвигая процессы в соответствии с описанной в диаграммах бизнес-логикой, BPMN-движок следит за выполнением шагов, направляет задачи сотрудникам, вызывает API сервисов, генерирует события, фиксирует в Базе Данных (далее – БД) результат и тому подобное. Помимо того, такой инструмент выполняет мониторинг и логирование каждого запущенного экземпляра процесса и фиксирует прогресс и актуальные состояния в БД.
Читать далееПосле первой статьи про стандарты разработки и зарождение Open vAIR остался резонный вопрос: «А что там под капотом?». Отвечаем.
Эта платформа виртуализации создана для тех, кто хочет развернуть систему быстро, понять архитектуру без боли и не зависеть от чёрных ящиков с лицензией.
Внутри — модульный backend, изоляция через RabbitMQ, REST API и документация, которая обновляется вместе с кодом, а не спустя квартал.
В этой статье разберём, чем Open vAIR отличается от тяжёлых решений, что умеет прямо сейчас, какие модули в приоритете — и в каких сценариях он уже «заходит в прод».
Читать далееВсем привет! На базе наших аналитических исследований в Сomnews вышла статья про тестирование отечественных БС 4G. Делимся с читателями Хабра подробностями, которые не попали в публикацию.
С прошлого года в СМИ циркулируют новости про ввод в коммерческую эксплуатацию отечественных базовых станций мобильной сети. ПАО «МТС» активно внедряет решения компании «ИРТЕЯ», ПАО «Теле2» - базовые станции от БУЛАТ. Аналитики компании Vigo проанализировали статистику нового оборудования с точки зрения интернет-сервисов, которыми пользовались реальные абоненты.
Читать далееВсем привет! В статье расскажу, как я написал игру Дебаггер на Python и добавил к ней графический интерфейс на Tkinter. Мне хотелось сделать простую игру на IT тематику, поэтому я скопировал игровую механику из игры Сапер и теперь нам нужно отметить все баги на игровом поле или наш код сломается.
Статья может быть интересна начинающим разработчикам для изучения чужого опыта и наработки своего или же опытным программистам, которые просто хотят поиграть в игру, а может даже предложить, как еще улучшить архитектуру проекта.
Нажми, если не боишься багов!Я, думаю, многие уже слышали о появившихся в .NET 6 Minimal API - легковесной замене контроллеров/MVC. Кто-то уже успел ознакомиться и задался вопросом: "Ваше API в 3 строчки, это, конечно, здорово, но как это будет работать в реальном проекте с сотнями эндпоинтов, кучей фильтров, аттрибутов, расширениями OpenAPI/Swagger и прочих радостях?"
В этой статье я хочу ответить на этот вопрос: пройдемся от основ, преимуществ, недостатков, и закончим нюансами работы и проблемами, которые обязательно возникнут при миграции с контроллеров на Minimal API в крупном проекте.
А забегая чуть вперед: если думаете, стоит ли переводить проект на Mini API, вот вам сразу полезная информация: они могут жить в проекте вместе, причем даже без дублирования инфраструктуры: не обязательно переводить все разом - подробнее под катом.
Бонусом, заменим SwaggerGen на реализацию OpenAPI от Microsoft.
Читать далееПривет! Меня зовут Сергей Головин, я основатель рекламного агентства iks-digital.com. Уже более 15 лет мы продвигаем сайты и приложения используя каналы Яндекс.Директ.
Сегодня поделюсь кейсом, как с помощью точного таргетинга на основе клиентской базы и технологии Look-alike удалось привлечь 138 лидов за полтора месяца для онлайн-курса «Работа психолога с расстройствами пищевого поведения». Рассказываю пошагово: от настройки до результата.
Читать далееРассказываем, как с помощью ИИ мы создали аудио-платформу для телеграм-каналов. И почему это нужно всем, у кого нет времени читать.
Читать далееПочти 50 лет назад марсианские посадочные аппараты «Викинг» впервые провели эксперимент по поиску внеземной жизни — и, возможно, нашли её! Однако сенсационные результаты вызвали волну скепсиса, а сами данные на десятилетия оказались в тени. Эта статья — попытка разобраться, что же произошло на самом деле. Что если первая встреча с внеземной жизнью уже состоялась — и мы просто не готовы были её признать?
Читать далее(Или почему «серебряная пуля» снова промахнулась). Хайп → Разочарование («No-code» != «No-think».) → Рационализация → Нишевое применение.
Личное прозрение: как меня очаровывали роботами
Участвуя в архитектурно-техническом комитете по внедрению RPA, я слушал восторженные доклады о «революции». Суть: роботы заменят сотрудников, которые не могут работать больше 8 часов по ТК РФ. Презентация пестрела цифрами NVP, но с критической ошибкой: сравнение шло только с ручным трудом, а не с классической автоматизацией на Python, Selenium или Win32 API.
"Зачем вам эти бородатые сишники, что ковыряются в коде как в закромах Родины? Нам бы роботиков! Они ж не спят, не пьют чай с сушками и Трудовой Кодекс им не указ! Им бы пару кнопок нарисовать – и вуаля: цифровизация как у Гугла, только дешевле и с отчетом в Excel!”
Читать далееПредставьте, у вас есть мощный инструмент, способный привлечь сотни и тысячи новых клиентов в ваш бизнес, и он всегда под рукой. Возможно, вы даже не догадываетесь, как использовать его на все 100%. Сегодня покажу, как бесплатно поднять рейтинг вашей компании на 2ГИС. Я дам вам пошаговый план, который доказал свою эффективность на более чем 200 наших клиентах. Но прежде давайте разберемся, почему у вас может быть низкий рейтинг на 2ГИС и какой рейтинг считается хорошим. Спойлер: если вы думаете, что идеальный рейтинг – 5.0, вы ошибаетесь.
Читать далееНаступил Steam Next Fest 2025 — нам стало доступно 2500 (!) демок игр, которые выйдут в релиз уже в этом году!
Из них под тег programming выставлен только у 18. Давайте посмотрим на каждую из них!