[recovery mode] Интеграция Primefaces в приложение на Spring Boot. Часть 1 — настройка зависимостей и базовый проект В данной статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot. Читать далее
Архитектура предприятия в гигантах индустрии Архитектура предприятия — это дисциплина, которая фокусируется на проектировании и управлении системами, процессами и структурами организации. Она направлена на то, чтобы они соответствовали бизнес-целям и задачам и были эффективными, результативными и адаптируемыми.IBM, Goo...
ЕС ЭВМ. Введение Цикл статей, начинаемый этой публикацией, посвящён внутреннему устройству нескольких отечественных моделей ЕС ЭВМ, начиная с самой младшей из них — ЕС-1020.В данной статье будет сказано несколько слов о причинах появления ЕС ЭВМ (исторические вопросы довольно подробно описан...
Интеграция Primefaces в приложение на Spring Boot. Часть 3 — динамическое обновление контента страницы Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая частьВторая часть Читать далее
Интеграция Primefaces в приложение на Spring Boot. Часть 2 — Готовим контекстное меню для главной страницы В этой статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть Читать далее
Интеграция Primefaces в приложение на Spring Boot. Часть 4 — Вывод списка данных в виде таблицы Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая частьВторая частьТретья часть Читать далее
Интеграция Primefaces в приложение на Spring Boot. Часть 6 — Комбинирование компонентов для вывода сложных данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть Читать далее
[Перевод] C# vs Rust vs Go: бенчмаркинг производительности в Kubernetes В этой статье обсудим создание высокопроизводительных web-API на Rust, C# и Go и их развертывание в кластере Kubernetes. Также узнаем, как отслеживать использование ресурсов этими API с помощью инструментов мониторинга производительности. Читать далее
[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Части 6 и 7 (финальная) Прим. переводчика: автор статьи рассказывает, как его команда убедилась, что новый кластер Elasticsearch работает в соответствии с ожиданиями и полностью готов к production-нагрузкам. Также подводит итоги всего процесса и анализирует получившуюся архитектуру нового кластера ...
Проблемы при реализации микросервисной архитектуры Как известно, микросервисная архитектура позволяет разбивать приложения на более мелкие и управляемые блоки. Однако, как и в любой другой области, здесь есть свои особенности и ошибки, которые могут привести к серьезным проблемам. С помощью разбора основных ошибок при реализ...
Интеграция Primefaces в приложение на Spring Boot. Часть 8 — Композитная форма для редактирования сложных данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть | Шестая часть | Сед...
RISC-V набирает популярность: Европа, Китай, РФ, далее — везде Архитектура RISC-V активно развивается, в первую очередь — благодаря своей открытости и независимости. На ее основе можно разрабатывать практически любые решения, чем и занимаются некоторые компании из ряда стран, включая Китай, Россию, а теперь и Европу. Дело в том, что в ...
Интеграция Primefaces в приложение на Spring Boot. Часть 7 — Компоненты для сохранения и редактирования данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть | Шестая часть Читат...
Программирование контроллера сервоприводов MC50. Развёртывание промежуточного ПО Схема и плата контроллера - в этой статье.Первые шаги по разработке прошивки были выполнены здесь. А теперь займёмся промежуточный программным обеспечением. Промежуточное ПО - это то, что придаёт нашему девайсу основную массу фичей. RTOS для встраиваемых систем приобре...
[Перевод] Рекомендации по архитектуре программного обеспечения Марк Ричардс — спикер GSAS, профессор Академии Apium и опытный практикующий архитектор программного обеспечения, занимающийся, проектированием, выстраиванием и внедрением микросервисов, сервис-ориентированных архитектур и распределенных систем с применением различных техноло...
Как написать хороший технический дизайн документ и не провалить проект Любой успешный проект начинается с ясного и понятного плана, который определяет направление работы и описывает подход к его реализации. Проработка проекта на ранних этапах с достаточным уровнем детализации экономит время во время разработки и позволяет успешно завершить прое...
Busrpc — фреймворк для разработки микросервисов В этой статье я расскажу о собственном проекте ориентированном на микросервисную архитектуру. Этот проект вырос из идей и подходов, которые я применял на протяжении нескольких лет работы связанных с переводом крупного монолитного проекта на микросервисную архитектуру. Я не б...
Как мы создаем Squadus: проблемы фронтенда и пути их решения Мы продолжаем рассказывать о разработке недавно вышедшего продукта.Squadus — это единое цифровое рабочее пространство, которое позволяет общаться в чатах, совместно работать над документами, проводить конференции и автоматизировать типовые действия с помощью ботов. Помимо фу...
Обзор Komodor — графического интерфейса для мониторинга и поиска неполадок в Kubernetes В статье рассматривается Komodor — сервис, предоставляющий удобный веб-интерфейс для мониторинга за состоянием кластера Kubernetes. В нем реализованы удобные инструменты для отслеживания и управления состоянием развернутых ресурсов и уведомления пользователей в случае н...
Технология единого входа (Single Sign-On) в Kubernetes: реализация на примере VK Cloud Особенность Kubernetes — в отсутствии своей системы аутентификации: каждый пользователь кластера по умолчанию имеет права суперадминистратора и может делать что угодно. Это удобно для небольших команд, но неприемлемо для крупных проектов с высокими требованиями к безопасно...
[Перевод] Kubernetes без Kubelet: рассказываем об инструменте KWOK Вы когда-нибудь задумывались, как:• настроить кластер из тысяч узлов за считанные секунды;• имитировать реальные узлы с низким потреблением ресурсов;• протестировать контроллер K8s в масштабе, но при этом не затратив больших средств инфраструктуры.Если вы ответили «Да» на бо...
Двухуровневый CI-процесс PHP-проекта Непрерывная интеграция (CI, англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Целей у непрерывной интеграции д...
Картографический фреймворк для отечественной ОС «Нейтрино» Основной областью применения ЗОСРВ «Нейтрино» являются встраиваемые системы для обработки данных и управления оборудованием в реальном времени без участия оператора. Однако Нейтрино обладает и развитыми графическими возможностями, что позволяет строить на ее основе разнообра...
[Перевод] Визуализация архитектуры модели PyTorch PyTorch — это библиотека для глубокого обучения. Вы можете создавать очень сложные модели глубокого обучения с помощью PyTorch. Однако бывают случаи, когда вам нужно иметь графическое представление архитектуры вашей модели. В этом посте вы узнаете:Как сохранит...
Приложение для бортпроводников c 23 интеграциями и работой без интернета Как мы переводили работу бортпроводников из бумаги в приложение и внедряли фишечки для пассажиров. Читать далее
Vagrant в РФ Для работы с виртуальными машинами( тестирования Ansible, кластеров и т.п.) компанией HashiCorp был создан отличный инструмент под названиемVagrant. Но в прошлом году эта компания заблокировала доступ к своим ресурсам из России, а следовательно пользоваться этим инструментом...
[Перевод] Усиление безопасности Kubernetes с помощью Kyverno, RuntimeClass и контейнеров Kata По мере того как все больше организаций внедряют Kubernetes, безопасность становится для них одной из главных проблем. Kubernetes имеет множество встроенных функций безопасности, но обеспечить надлежащее применение политик безопасности в большом и сложном кластере может быть...
Как пользоваться CSI Provider: доставляем секреты из Vault в Kubernetes Добрый день, Хабр! Мы — Михаил Панов и Евгений Прудченко, DevOps‑инженеры из команды МТС Digital, работаем на проекте External WebSSO. Мы занимаемся внедрением DevOps практик и инструментов в рамках нашего проекта. В этой статье расскажем о инте...
Optuna. Подбор гиперпараметров для вашей модели Optuna — это фреймворк для для автоматизированного поиска оптимальных гиперпараметров для моделей машинного обучения. Она подбирает оптимальные гиперпараметры методом проб и ошибок.В данной статье представлен обзор фреймворка Optuna, рассмотрены ее основные возможности, базо...
[Перевод] Журналы аудита Kubernetes: лучшие практики и настройка Kubernetes является фактическим лидером среди систем оркестрации. С ростом популярности микросервисной разработки Kubernetes проявил себя незаменимым инструментом для управления крупномасштабными приложениями и их развёртыванием. Правда, с обилием возможностей, которые предо...
Кластер ElasticSearch на 1Ptb+ Черновик статьи был написан еще год назад, когда я работал на крупном международном проекте, но из-за разных событий прошлого года он остался неопубликованным. На проекте в моем ведении находилось несколько on-premise кластеров в нескольких европейских датацентрах. «Мы» в э...
Архитектура на Unity без Zenject. Часть 3 Всем привет!
Ищем альтернативу и упрощаем работу с JSON Разработчики часто находятся между Сциллой и Харибдой: «не улучшай то, что работает» и «можно ли сделать лучше то, что и так работает отлично?». Применительно к облачной архитектуре пространство для манёвра сужается: каждое изменение может повлиять на бизнес тысяч клиентов...
Визуальное программирование vs DSL В последнее время набирают популярность low-code и no-code платформы. В них для разработки приложений предлагается использовать визуальное программирование. При таком подходе, разработчики, в качестве которых выступают обычные бизнес-пользователи, вместо написания программно...
Архитектура игры на Unity без Zenject. Часть 2 Всем привет!Меня зовут Игорь Гулькин, и я Unity разработчик. За свои 5 лет накопилось много опыта, поэтому в этой статье хотел бы поделиться принципами и подходами, с помощью которых можно реализовать архитектуру игры просто и гибко без фреймворка. Цель доклада, дать не прос...
[Перевод] Автоматизируйте всё с помощью Ansible В современном быстро меняющемся цифровом мире автоматизация является важной частью стратегии любой организации. С распространением облачных вычислений, DevOps, непрерывной интеграции и доставки спрос на инструменты автоматизации вырос в геометрической прогрессии. Ansible — и...
Интеграция и кастомизация OpenAPI в Django/Django Rest Framework Рассмотрим способы интеграции OpenAPI схемы в экосистему Django/DRF с помощью библиотеки drf-spectacular, а также некоторые проблемы, возникающие при кастомизации API и, соответственно, их решения. Читать далее
Делаем донаты для telegram бота, через интеграцию ЮKassa для самозанятых В статье-инструкции расскажу, как начал монетизировать telegram бота, который присылает уведомления о необходимости продлить домен, тем самым делает напоминание, чтобы пользователь продлил домен во время и не потерял его. За 2 часа, добавил кнопку доната и настроил инте...
Язык Umka 1.0 и игровой фреймворк Tophat После трёх лет неторопливой разработки вышла версия 1.0 моего скриптового языка Umka. Это статически типизированный язык, предназначенный для встраивания в программы на C/C++. Синтаксис и некоторые особенности семантики Umka были вдохновлены языком Go, однако Umka никак...
[recovery mode] Тестирование gRPC. Часть 2 В предыдущей статье мы с вами рассмотрели тестирование фреймворка gRPC. Но демо проект созданный моим коллегой Михаилом Петровым, был улучшен моим в другим коллегой Читать далее
Circuit-фреймворк для Jetpack Compose и тестирование с Robolectric Тестирование приложений Jetpack Compose обычно основано на использовании библиотеки Compose UI Test и создании юнит-тестов поверх библиотек мокирования или DI. Однако этот подход требует наличия эмулятора и не всегда применим для использования в конвейере CI/CD, где обычно и...
Методы обеспечения безопасности контейнеров Docker Сегодня Docker является одним из самых популярных инструментов в области контейнеризации. В основе Docker заложена концепция использования контейнеров. С технической точки зрения контейнер — это процесс, наподобие тех, которые запускаются в операционных системах. Как и любой...
[Перевод] Как IT меняет здравоохранение: интеграция на основе микросервисов Медицинские организации активно адаптируют технологии микросервисной архитектуры под свои задачи. Происходит это, потому что современное здравоохранение всё больше фокусируется на повышении качества медицинских услуг и улучшении клинических результатов, стремится предоставит...
Разработка быстрых и современных сайтов на базе Next.js, с использованием GraphQL & WordPress Next.js - современный фреймворк на базе ReactJS, который значительно набирает обороты среди разработчиков и предоставляет инструменты для разных видов рендеринга страниц. WordPress - популярная headless CMS, применяемая для различных проектов - от простых блогов до сложных п...
Миграция Postgrespro с Centos7 на AlmaLinux8. Как бонус — пара седых волос В статье описывается один из способов обновления дистибутива операционной системы с работающим кластером баз данных Postgres Pro Standard версии 11. В дальнейшем, для краткости кластер баз данных Postgres Pro Standard 11 будем называть Postgrespro, Centos7 - Centos, а AlmaLi...
Проектирование реляционных баз данных: основные принципы Привет, дорогие читатели! Я сегодня хочу поговорить о важной теме для всех, кто работает с базами данных. Это проектирование реляционных баз данных. Кажется, что звучит ужасно скучно, да? Но на самом деле это важнейший инструмент для успешной разработки и поддержки баз данны...
А вам точно нужен Kubernetes? В последнее время я вижу много хайпа вокруг Kubernetes. Кажется, что он везде и всюду, а если кто-то его еще не использует, то он безнадежно отстал. Но странно принимать решение о внедрении технологии только на основе ее популярности в СМИ. Давайте разберемся: а вот лично ва...
Jaeger для трассировки в микросервисной архитектуре Меня зовут Алексей Мясников, я тимлид на проекте YDB в Яндекс Облаке. А ещё — старший ментор на курсе «Go-разработчик» в Яндекс Практикуме и кандидат технических наук. В коммерческой разработке более 15 лет, стек — C++, Java, Go, TypeScript, а пробовал около 20 языков ...
Как развивался DevOps: от начала времен до ArgoCD и IaC Этот цикл из трёх статей, посвящённый истории развития деплоя приложений, основным моделям и их сравнению. Мы достаточно детально пройдёмся по Pull-модели и покажем, как с помощью «передовых» инструментов организовать управление инфраструктурой больших проектов и дать возмож...
Концепция BIM-проектирования: история, преимущества, сложности внедрения Отрасль архитектуры и строительства всегда была чем-то большим, чем бригады гостей из бывших союзных республик, укладывающие новые ступеньки лестницы на крыльце вашего офиса. Как и в других отраслях, работа высококлассных специалистов — архитекторов и инженеров-проектировщик...
Война ML фреймворков, русский стартап потеснит запад Мы рады сообщить, что открыли наш фреймворк Piper для всех разработчиков на гитхабе. Несмотря на то, что мы не закончили некоторые важные аспекты ядра, решили не ждать, а сразу поделиться, и теснее пообщаться о нашей разработке. В конце концов, мы изначально задумали, чтобы ...
Интеграция с платежными системами, PCI DSS на примере Stripe и Flutter Привет! Меня зовут Никита Улько, я fullstack-разработчик в Friflex . Мы разрабатываем мобильные приложения и нагруженные проекты для крупного бизнеса, и почти никогда в проектах не обходится без внедрения платежных систем. В этой статье разберем интеграцию платежной системы ...
Создание кластера для расчета в OpenFOAM В статье я расскажу, как можно (при необходимости) быстро и дешево собрать кластер Beowulf на основе домашних компьютеров. Выполню я это с помощью компьютеров находящихся в аудитории университета, используя существующую локальную сеть. Используемые программные инструменты...
Фреймворки и инструменты для BDD тестирования, на которые следует обратить внимание Думаю ни для кого не секрет, что хороший тестер‑автоматизатор постоянно пытается оптимизировать свою работу.В современном мире разработки качество программного обеспечения играет далеко не второстепенную роль. И, в то время как скорость вых...
Настройка LDAP-аутентификации в кластере Kubernetes под управлением Deckhouse Deckhouse — Kubernetes-платформа с открытым кодом, с помощью которой можно создавать идентичные Kubernetes-кластеры в любой инфраструктуре и автоматически управлять ими. Для проверки подлинности в Deckhouse используется модуль user-authn. Он настраивает единую систему аутент...
Быстрее, больше, сильнее: фреймворки Python с параллельной обработкой данных Хотите распределить тяжелую рабочую нагрузку в проектах на Python между несколькими процессорами или вычислительным кластером? В этой статье расскажем про лучшие фреймворки, которые помогут реализовать подобно желание на практике. Читать далее
Быстрее, больше, сильнее: фреймворки Python с параллельной обработкой данных Хотите распределить тяжелую рабочую нагрузку в проектах на Python между несколькими процессорами или вычислительным кластером? В этой статье расскажем про лучшие фреймворки, которые помогут реализовать подобно желание на практике. Читать далее
Как управлять инфраструктурой в GitOps с помощью Crossplane Этот цикл из трёх статей, посвящённый истории развития деплоя приложений, основным моделям и их сравнению. Мы достаточно детально пройдёмся по Pull-модели и покажем, как с помощью «передовых» инструментов организовать управление инфраструктурой больших проектов и дать возмож...
[Перевод] Мультиарендность в Kubernetes Могут ли несколько команд использовать один и тот же кластер Kubernetes?Можно ли безопасно запускать ненадежные рабочие нагрузки от ненадежных пользователей?Поддерживает ли Kubernetes мультиарендность?В этой статье рассмотрим проблемы запуска кластера с несколькими арендатор...
Бесят звуки: есть ли техническое решение у мисофонии? Разбираемся, можно ли «вылечиться» от мисофонии и «раздражения от чавканья» с помощью цветного шума, наушников, беруш, шумогенераторов, подушек-шумодавов, шумоизоляции и других технических средств. Читать далее
Настройка автомасштабирования в кластере Azure HDInsight Давайте поговорим о том, как настроить автомасштабирование для существующего кластера Azure HDInsight с помощью Azure CLI.Microsoft Azure — это служба облачных вычислений, предлагаемая и управляемая Microsoft. Azure HDInsight — это управляемая комплексная облачная служб...
[Перевод] Как использовать PostgreSQL с Django в Ubuntu 22.04 Django — гибкий фреймворк для быстрого создания приложений на Python. По умолчанию в качестве базы данных он использует SQLite. Это хорошо работает при небольших нагрузках, однако традиционная система управления базами данных может повысить производительность в рабочей среде...
Масштабирование SSR-приложений Привет! Меня зовут Олег Драпеза, я работаю техлидом в Тинькофф в команде Coretech Frontend. Мой основной проект — SSR мета-фреймворк tramvai, на котором работают несколько десятков фронтовых приложений Тинькофф.Сегодня хочется поговорить про масштабирование SSR-приложений. С...
Архитектура игры на Unity без Zenject. Часть 1 Всем привет!Меня зовут Игорь Гулькин, и я Unity разработчик. За свои 5 лет накопилось много опыта, поэтому в этой статье хотел бы поделиться принципами и подходами, с помощью которых можно реализовать архитектуру игры просто и гибко без фреймворка. Цель доклада, дать не прос...
В очередь, ...! Как управлять состоянием системы через события Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через с...
Недельный геймдев: #101 — 25 декабря, 2022 Из новостей: в сеть выложили исходный код отменённой Rayman 4, Rust-gpu 0.4 с трассировкой лучей, Kickstarter изменил правила в отношении ИИ-проектов на платформе.Из интересностей: фреймворк для процедурной музыки в видеоиграх, обзор самописной 2D системы освещения для to...
Особое мнение: смотрим на нагрузочные тесты как на функциональные Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным,...
Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным ...
[recovery mode] .NET 7 против российской криптографии Разрабатывая один проект на свежем .NET 7 столкнулся с необходимостью подписывать данные с использованием отечественных криптоалгоритмов. Ранее, в .NET Framework хорошая поддержка работы с со сторонними криптопровайдерами, реализующими семейство алгоритмов ГОСТ (CryptoPro C...
[Перевод] Столетний язык программирования — какой он Особо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки еще моложе. И всё же инт...
[Перевод] Топ vendor-neutral инструментов для работы с IaC Перевод оригинальной статьи, где автор пишет о подходе Infrastructure as Code с его основными концепциями, оценивает преимущества такого подхода и сравнивает главные инструменты для работы с IaC на сегодняшний день: Terraform, Pulumi и Crossplane. Читать далее
Как мы повысили честность Авито Аукциона с помощью базовой визуализации Привет! Меня зовут Алёна Салий, я аналитик в Авито Аукционе. Сегодня я расскажу, как базовые инструменты визуализации помогли обнаружить пробел в нашей системе продажи авто и найти, как его закрыть.Речь пойдёт о том, как мы нашли проблему, какое решение придумали, как измени...
Мониторинг межсервисного взаимодействия Kubernetes с помощью протокола NetFlow Часто возникает ситуация, когда в кластере работает много взаимодействующих между собой сервисов, но из-за спонтанности разработки эти взаимодействия могут быть нигде не документированы. То есть ни команды разработки, ни команды эксплуатации доподлинно не знают, какие прилож...
Базовое проектирование и разработка требований к интеграции систем (для начинающих аналитиков) Данная статья посвящена в первую очередь начинающим ИТ аналитикам, которые хотят верхнеуровнево разобраться, как необходимо описывать интеграции между системами и как процесс выглядит в целом. Просьба учесть, что часть терминов написана своими словами и намерено упрощена для...
BingX интегрирует TrendSpider для улучшения автоматизированной торговли криптовалютой BingX, одна из ведущих криптобирж, объявила об интеграции с TrendSpider, кастомизируемой аналитической платформой, которая предлагает инструменты автоматизированного анализа. Эта интеграция направлена на улучшение автоматической торговли криптовалютой и повышение ее эффектив...
[Перевод] Инструменты управления тестированием В статье рассмотрим 7 инструментов, которые помогают управлять процессом тестирования, их ключевые особенности и ситуации применения. Читать далее
Почему внедрение ветрогенераторов в советское время не увенчалось успехом? В нашей стране вопрос о ветроэнергетике стал на повестку дня позже, чем на Западе. Многие отечественные историки пишут, что впервые об этом побеспокоился Ленин еще в 1918 году в «Наброске плана научно-технических работ». Правда, сказал он о них как-то неопределенно и вскольз...
Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб —...
Prostore — простой Event sourcing + CQRS фреймворк На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить ...
Техподдержка: как научиться жить без Jira Привет! Меня зовут Савр, я работаю инженером технической поддержки Arenadata. В прошлом году нам, как и многим другим компаниям, использовавшим зарубежное ПО, пришлось переходить на российские аналоги. В частности, с болью в сердце мы отказались от Jira Service Management (д...
Dry-rb — экосистема, которая упростит архитектуру вашего проекта Привет! Меня зовут Вероника Молчанова. Я - Ruby-разработчик в компании Joy Dev. В этой статье мы рассмотрим набор Ruby-библиотек dry-rb и расскажем, как они помогли упростить архитектуру проектов. В частности хотим показать, как на наших проектах используются такие гемы из d...
Преступники все чаще используют фреймворк Sliver в своих операциях Вполне легальный C2-фреймворк Sliver набирает популярность среди хакеров, предупреждают специалисты компании Cybereason. Злоумышленники используют Sliver как опенсорсную альтернативу Cobalt Strike и Metasploit.
Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Пробуем новое Привет! Продолжим тему гексагональной архитектуры и DDD, первый пост — здесь. Под катом - вспомним, что из себя представляет гексагональная архитектура, какие основные концепции содержит DDD и как теория, проявляясь в структуре проекта, помогает решить некоторые из опис...
Лучшие open-source инструменты для Python проектов Open-source проекты, сторонние инструменты и библиотеки - это то, за что мы действительно любим Python. В этой статье я собрал самые полезные, валидированные сообществом и проверенные временем инструменты, конфигурации которых можно встретить в популярных проектах с открытым...
Интеграция с инфраструктурой NB-IoT МТС. Теория и практика. Часть 2 И снова привет, Хабр! Эта статья — продолжение цикла материалов, в которых обсуждаем состав и основные принципы работы инфраструктуры NB-IoT. Напомним, что цикл подготовлен на основе собственного практического опыта развёртывания и эксплуатации сети NB-IoT, проведения интегр...
[Перевод] Перспективы развития Flutter Что Flutter ждет в будущем? В этой статье вы узнаете о тех перспективных направлениях разработки, в которые команда Flutter вкладывает средства: еще более высокая скорость обработки графики, полная интеграция мобильных и веб-приложений, ранняя поддержка новых и перспективных...
Особенность CI/CD-конвейеров для корпораций и новое решение от Сбера Какие инструменты первыми приходят вам на ум при упоминании CI/CD pipeline? Вероятнее всего, это Gitlab CI/CD, Jenkins CI, Azure DevOps. На самом деле инструментов десятки, но так было не всегда. Ещё недавно в крупных компаниях главенствовал Windows Server, Power Shell был л...
[Перевод] Пишем драйвер ядра Linux для неизвестного USB-устройства В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой стать...
Open source конструктор CRM/ERP или база данных для непрограммистов Всем привет! Проекту уже более трех лет, и количество звездочек на GitHub перевалило за 500 штук при нулевом маркетинге — поэтому я решил написать про обновления, которые у нас произошли.В этой статье не будет каких-то зубодробительных технических подробностей, так-как под к...
Как правила линтинга влияют на архитектуру приложения В eslint есть одно простое, но мощное правило, которое поможет вам в поддержании архитектуры приложения. Читать далее
[Перевод] Как перейти с MongoDB на Postgres без простоев и сократить расходы на 30% Рассказываем, как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%.Ещё по теме: «MongoDB vs PostgreSQL: основные различия и особенности миграции» Читать далее
Гранулярность микросервисов. Насколько мелко нарезать? Привет, Хабр! Меня зовут Руслан Сафин и я расскажу про микросервисы и как определить необходимую гранулярность. Я работаю техническим директором в Byndyusoft. Развиваю техническую культуру и участвую в проектах в роли IT-архитектора, а ещё преподаю авторский курс по IT-архит...
Отладка продакшена бесплатно: ELK, Jaeger, Sentry Наш продукт три года существовал в монолите, а ошибки мы мониторили с помощью New Relic. Когда мы перешли на микросервисы, дорогой New Relic c посервисной тарификацией надо было чем-то заменить. Вместо него мы сформировали стек из трёх основных инструментов — они бесплатны и...
Google представила программу ИИ для стартапов в области здравоохранения 22 мая 2023 года Google объявила о запуске своей программы AI for Health, предназначенной для стартапов. Основная цель программы — предоставить безопасные ИИ-технологии партнерам, которые могут помочь специалистам в области охраны здоровья в проведении исследовани...
Алгоритм Forward-Forward: альтернатива backpropagation Алгоритм обратного распространения ошибки уже давно доминирует в сфере обучения нейронных сетей. Несмотря на свою популярность и эффективность, у него есть свои недостатки, в частности, различие в работе с человеческим мозгом.В конце прошло...
[Перевод] Зачем нужен контейнер pause в Kubernetes Вы когда-нибудь задумывались, почему появляются контейнеры pause? Когда мы создаем поды, мы не помним, что когда-либо создавали эти контейнеры pause, так откуда же они берутся? Вы можете подумать, что, так как мы не создавали эти контейнеры самостоятельно, возможно, кластер ...
Архитектура front-end приложений — react, react native, angular. Обзор Начнем цикл статей нашей компании легко и непринужденно, с темы из мира front-end. Надеюсь, что статья будет полезна тем, кто хоть как то связан с миром front-end. Предупреждаю, что backend разработчикам может быть скучновато из-за того, что у них давно все стандартизировано...
Советский UNIX. Как в СССР ковали собственную операционную систему На рубеже 70-х и 80-х годов ХХ столетия UNIX набирал популярность не только в академических кругах, но также активно внедрялся в различные бизнес-процессы коммерческих предприятий. Портируемость, простота архитектуры и широкие возможности ОС привели к появлению у этой платф...
Настраиваем клавиатуру с помощью графического интерфейса Vial Vial — это кроссплатформенный графический интерфейс с открытым исходным кодом и форк QMK для настройки клавиатуры в режиме реального времени.Программа позволяет настроить клавиатуру с помощью простого и интуитивно понятного интерфейса без каких-либо знаний о программировании...
LangChain для бывалых: память и агенты. часть 1 В своей предыдущей статье я написал о многообещающем фреймворке LangChain. Туториал был достаточно коротким; удалось охватить только самые базовые концепции проекта (и то не все). В этой части предстоит более глубокое погружение. Разберемся, как можно добавить память в диало...
Родительский helm chart для проектов + werf Имеем микросервисную архитектуру в k8s, где крутятся и деплоятся сервисы на пхп, го, js ... Под каждый микросервис создается отдельный репозиторий, который содержит помимо исходников кода набор кубернетис ресурсов (deployment, configMap, Secret, Job...) Читать далее
[Перевод] Миграция PostgreSQL с DBaaS на дроплет Digital Ocean Недавно один из наших клиентов обратился к нам с одной интересной задачей: ему нужно было перенести весь свой кластер PostgreSQL с DBaaS (Database as a Service) на дроплет в рамках DigitalOcean. Причиной их перехода с DBaaS на дроплеты была их более низкая стоимость. Эта зад...
[Перевод] Как взломать Kubernetes (и как его защитить) Kubernetes — ценный ресурс и ведущая система управления контейнерами в конвейерах разработки по всему миру, но это не освобождает её от вредоносных атак. Использование Kubernetes требует глубокого понимания среды, включая разные уязвимости, с которыми можно столкнуться при с...
Микросервисные приложения на GoMicro Go благодаря возможностям компиляции и встроенным механизмам конкурентной многозадачности очень хорошо подходит для создания сетевых приложений и активно используется в создании инструментов для DevOps и распределенных приложений. В этой статье мы рассмотрим некоторые возмож...
Быстрый приём платежей QIWI в проекте Python Необходимость добавить возможность оплаты чего-либо в своём проекте всплывает достаточно часто, при этом возня с ИП, банковскими договорами и прочей бюрократией мало кого привлекает, особенно если масштабы проекта сопоставимы с небольшим telegram-ботом или чем-то подобным. Н...
Введение в библиотеку Transformers и платформу Hugging Face Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time ...
Процессор ЭВМ ЕС-1020. Общая структура и система синхронизации Первая из серии статей, посвящённых внутреннему устройству процессора ЭВМ ЕС-1020, в которой рассматривается система синхронизации. В предшествующих статьях были освещены важнейшие особенности архитектуры и конструктивное исполнение ЕС ЭВМ. Читать далее
Как мы наводили порядок в проекте с помощью принципов чистой архитектуры Всем привет!Меня зовут Михаил Копченин, я backend-разработчик сервиса биллинга #CloudMTS.Сегодня я расскажу про то, как мы рефакторили один из проектов, опираясь на принципы чистой архитектуры.На эксперименты с ЧА нас сподвиг модуль биллинга, который разросся до пухлого моно...
NVIDIA уже работает над созданием GeForce RTX 50 Ожидается, что следующее поколение графических карт NVIDIA GeForce RTX 50 будет использовать новую архитектуру Blackwell — недавно появилось много слухов о новом графическом чипе. Сразу несколько зарубежных изданий, включая TechTubers, RedGamingTech и Moore's Law is Dead опу...
Как следить за здоровьем GreenPlum Вопрос мониторинга GreenPlum часто оказывается непростым, особенно когда на платформе хранится действительно много данных, а запросы пользователей часто меняются. В этом посте я расскажу, как мы в «Леруа Мерлен» настраиваем инструменты Observability, находим узкие места и по...
[Перевод] Scrum не нужен. Нужно лишь правильно использовать Kanban Почему вы выбрали фреймворк Scrum, а не метод управления проектами Kanban? Не можете ответить? Значит — лично вы Scrum и не выбирали. Кто-то сделал это за вас.Даже в тех редких случаях, когда люди способны ответить на вышеприведённый вопрос, их мотивы раскрывают глубокие заб...
Чемпион безопасности: новая роль в команде на стыке ИТ и ИБ, от которой выиграют все Поговорили с руководителем архитектуры ИБ в МТС, создателем телеграм-канала Пакет Безопасности и автором курса Основы информационной безопасности Романом Паниным о роли Security Champion-а — Чемпиона безопасности. Как раз сейчас Роман внедряет Чемпионов в своей компании, поэ...
Особенности работы мобильного аналитика в банковских проектах Чем проект банковского мобильного приложения отличается от других? Та же работа с заказчиком, уточнение и описание требований, проектирование функциональностей, согласования ТЗ… Но так кажется только на первый взгляд. Читать далее
RSync на стероидах с поддержкой Windows На Хабре периодически рассказывают о новых инструментах для синхронизации данных. Это интересная тема. Такие программы используются: для синхронизации файлов на разных устройствах, дедупликации, резервного копирования, сжатия. Малейшая оптимизация даёт экономию тра...
[Перевод] Как запустить кластер kubernetes с k3s Kubernetes – это платформа для оркестрации контейнеров, однако ее настройка и управление может быть сложным и трудоемким процессом. К счастью, есть более легкие альтернативы полноценному дистрибутиву Kubernetes, такие как k3s, которые предоставляют более простой и упрощенный...
«Глаза» беспилотных автомобилей: LiDAR и компьютерное зрение Самоуправляемое транспортное средство может «видеть» разными способами. Человеческое зрение ему заменяют радары, камеры, лазеры, радиоволны и ультразвук. В этом обзоре поговорим о лидарах и компьютерном зрении (CV) — двух основных инструментах, на которых основано автономное...
Инструкция для менеджеров и руководителей по реанимации проекта Привет, я Вика Строгонова, руководитель проектного офиса KTS. В идеальном мире проекты выполняются в срок, в соответствии с бюджетом, с заранее определенными ресурсами и с должным уровнем качества. Однако в реальности может случиться так, что в процессе реализации проек...
У нас была стратегия и мы её придерживались: как подружить бизнес и DevRel, сохранив ментальное здоровье Если к вам однажды приходил лид отдела мобильной разработки со странным запросом «Хотим 40 статей — нам через месяц надо 40 разработчиков», то эта статья для вас. В статье расскажу, как управлять ожиданиями с помощью простого фреймворка для деврелов. Читать далее
Доступный AutoML: как оптимизировать работу с ML-моделями с помощью VK Cloud и FEDOT В машинном обучении (Machine Learning, ML), чтобы обеспечить требуемые показатели метрик качества ML-моделей зачастую надо строить многокомпонентные пайплайны и комбинировать десятки алгоритмов моделирования. Нередко это сложно и долго. В таких ситуациях на помощь приходит...
DSL фреймворк для создания Telegram ботов Родилась у меня идея! Я хочу создать фреймворк, который позволит пользователям писать своих ботов Telegram с помощью языка, специфичного для конкретной области (DSL), или визуального представления, например, диаграммы UML. На основе предоставленных данных фреймворк будет ге...
Простая чистая архитектура Привет, Хабр! Зачем нужна архитектура и какие цели она должна выполнять?Архитектура должна помогать нам писать максимально гибкий код, который мы сможем расширять с приходом новых функций, а не переписывать с нуля. Читать далее
Интеграция с ЕСИА для .Net: запутаннее, чем кажется Передо мной стояла задача по интеграции нашего сервиса с госуслугами. Казалось ничего сложного не предстоит, но учитывая что наш сервис базируется на технологии ASP.NET всё было не так оптимистично. В начале были поиски.. много поисков, которые привели к множеству разрозненн...
Типичные проблемы не полностью укомплектованных команд. И как из них выбираться Как справиться с ситуацией, когда в команде (продуктовой и не только) нет дизайнера, копирайтера, UX-райтера, исследователя, разработчика или менеджера, а фичу двигать надо? Рассказываю на личных кейсах и даю инструменты в помощь. Читать далее
NgDoc — Cоздание документации для Angular проектов Создание user-friendly документации для Angular проектов при помощи NgDoc. Читать далее
В DWH только Python Вопреки названию, мы используем далеко не только Python. Но большой проект на любом языке требует к себе вдумчивый подход, особенно в плане учета особенностей языка и технологий. Пройдя все стадии от отрицания до принятия в программировании на Python, могу сказать, что ...
Построение архитектуры с использованием формальных моделей безопасности Приветствую, дорогие читатели, меня зовут Алексей Федулаев. Я работаю на позиции DevSecOps в компании Bimeister и делаю наши продукты безопаснее.Данная статья будем по мотивам моего выступления на конференции Highload++ 2022, где я рассказывал про “П...
[Перевод] Визуальные карты сетей кластеров K8s для оценки их производительности Создание производительных сервисов и систем — основа любого бизнеса. Ежедневно появляются кучи новых технологий, которые обещают дать возможности, позволяющие превзойти ваши бенчмарки производительности. Однако продакшен-среды — это хаотичные системы, мониторинг и поддержка...
Продукты МойОфис получили более 1000 изменений и улучшений МойОфис выпустил крупное обновление 2.4, которое содержит более 1000 улучшений и новых функций. Изменения затрагивают настольные, мобильные и серверные приложения МойОфис, в том числе почтовую систему Mailion, которая была обновлена до версии 1.3.Среди особенностей релиза: у...
[Перевод] MDos — Стек Kubernetes с открытым исходным кодом Позвольте поделиться с вами новым стеком, состоящим из кластера Kubernetes и набора специализированных расширений, которые позволят вам реализовывать ежедневные сложные рабочие процессы. Конечно, простое развёртывание Kubernetes и его расширений само по себе н...
Алгоритм оценки математического выражения с использованием JavaFX Как обрабатывать подобные выражения с помощью кода и графического интерфейса?Фанатам Тьюринга точно будет интересно) Читать далее
Апгрейд и рефакторинг PHP-проектов — теперь это просто с Rector Привет! В статье поделюсь, как инструмент автоматического рефакторинга Rector помогает обуздать легаси и автоматизировать обновление PHP проектов и пакетов, чтобы процесс проходил эффективнее и малой кровью. Статья написана на основе доклада с PHP Russia 2022. Читать да...
Архитектура microkernel в приложениях: особенности и преимущества Microkernel — это архитектура программного обеспечения, которая разделяет операционную систему на небольшие независимые компоненты, каждый из которых выполняет свою собственную функцию. Обычно это ядро операционной системы и набор драйверов устройств.Архитектура микроядра бы...
Как мы отключали узлы кластера vStack для демонстрации отказоустойчивости Друзья, ваши комментарии к нашему предыдущему материалу натолкнули нас на мысль рассказать об отказоустойчивости платформы vStack подробнее. Мы и сами любим интересные дискуссионные темы, поэтому готовим AMA (ask me anything)-сессию, на которой ответим на все ваши вопросы. А...
[Перевод] Компилятор с полностью гомоморфным шифрованием от Google Ещё в мае 2022 года я переориентировал пару команд в Google на разработку полностью гомоморфного шифрования (вот объявление об этом в рассылке). С тех пор я участвовал в работе над многими проектами в этой области, в частности, руководил поддержкой на github.com/google/fully...
Интерпретируемость ML-моделей: от инструментов до потребностей пользователя Интерпретируемость ML-моделей - очень широкая концепция. То, насколько интерпретация хороша, зависит не только от инструментов и отчетов, которые мы предоставляем пользователю, но и от потребностей пользователя и особенностей задач, которые он решает.В статье разберемся, как...
[Перевод] PostgreSQL: настройка и оптимизация производительности. Часть 2 Продолжаем разбираться в способах повышения производительности PostgreSQL. На этот раз обсуждаем настройку запросов, логирования, автоочистки и параметров клиентского подключения. А также рассказываем об особенностях конфигурации на основе анализа рабочей нагрузки. Читать да...
Как выбрать для своего конвейера данных максимально эффективную архитектуру Привет! Меня зовут Михаил Благов, я руководитель департамента «Чаптер инженеров данных и разработчиков» в beeline tech. В этом посте я хочу поделиться способом, с помощью которого можно выбрать подходящую архитектуру для конвейера данных в зависимости от требований к нему. В...
Как прошел митап для iOS-разработчиков в Минске Всем привет! Я Александр Дюбкин, в Тинькофф занимаюсь iOS-разработкой. Команда, в которой я работаю, отвечает за разработку фич для мобильного банка — того самого желтого приложения Тинькофф — и приложения Тинькофф Бизнеса. В мобильную разработку у нас вовлечено множество ко...
[Перевод] Пишем GPT в 60 строк NumPy (окончание, 2/2) Перевод части первой Архитектура GPT Архитектура GPT соответствует архитектуре трансформера: Рисунок 1 из Attention is All You Need Но использует только стек декодера (правую часть схемы): Архитектура GPT Обратите внимание, что слой «перекрёстного внимания» посередине...
[Перевод] Пришло время пересмотреть структуру проектов на .NET C релизом .net 6 у нас появился новый упрощенный подход для быстрого создания сервисов — Minimal APIs. Эта статья появилась потому, что с новым подходом появились новые вопросы, связанные с организацией кода внутри проекта.Это — немного вольный перевод статьи ...
Integrated Architecture Framework для описания архитектуры предприятия Со времени публикации первых фреймворков для проектирования архитектуры предприятия (например, TOGAF, FOAF, Archimate, Zachman Framework, MODAF, DoDAF, FEA, Gartner Enterprise Architecture Framework), а также попыток переноса архитектурных подходов управления жизненным цикло...
Mela: асинхронный фреймворк на Python для сервисов, работающих с RabbitMQ WARNING: длинная вступительная часть. Если хотите перейти сразу к делу - листайте до Getting Started. Читать далее
Кормушка для собак с интеграцией Bitcoin и Lightning Network Всем привет! В данной статье я бы хотел поделиться своим опытом интеграции криптовалюты в мини-проект, связанный с интернетом вещей. Далее я расскажу о идее, которая нашла свое воплощение в программно-аппаратном решении, и опишу процесс создания со ссылками на использованные...
Как развивается российский рынок тестирования ПО За последние несколько лет разработчики ПО и мобильных приложений очень четко осознали важность тестирования. Его популярность непрерывно растет. Только в США этот рынок услуг должен вырасти на 55,76 миллиарда долларов в течение 2022-2026 годов.В этом материале мы приведем о...
Как красиво писать формулы c LaTeX? Привет, Хабр!Меня зовут Шайдурова Арина, я Data Scientist и участник профессионального сообщества NTA. Сегодня я поделюсь с вами своим опытом использования LaTeX для написания математических формул. Всё просто и с примерами, идеально подойдет для новичков синтакси...
Бэкапим Кроличьи мозги на случай ядерных войн Не так давно мы в компании столкнулись с маленькой проблемкой - RabbitMQ (далее просто кроль и тп) на дев кластере упал, мы его оживили, а за definitions.json для восстановления юзеров, очередей и тд. пришлось бегать к разработчику, который по чистой случайности эти файлики ...
Влияние сбора статистик на скорость выполнения запросов в СУБД TERADATA Расскажу о такой важной особенности работы СУБД TERADATA, как сбор и использование статистик при выполнении запросов и как их наличие или отсутствие может повлиять на скорость выполнения таких запросов. Попытаюсь объяснить, что представляют собой статистики и для чего о...
Механика звука: как устроена новая умная колонка SberBoom и почему SberDevices выпустила сразу две умные колонки с ассистентами Салют — компактную SberBoom Mini и полноразмерную SberBoom мощностью 40 Вт. Для нашей команды это не первый опыт в конструировании аудиоустройств — вам хорошо знакомы SberPortal, победитель международных преми...
Платформа данных в Леруа Мерлен — как мы победили масштабирование Всем привет! Меня зовут Александр Токарев, я технический архитектор домена «Управление данными» в «Леруа Мерлен». Год назад мы уже делали обзор нашей Платформы данных, сейчас же я расскажу про её развитие за последний год и про задачи, которые нам удалось решить.Мы столкнули...
Бекенд на AWS Lambda за 60 минут В этой статьей пойдет речь о особенностях разработки бекенда под AWS лямбды, о canary деплойменте, версионирование, логгах, трейсинге, мониторинге, маршрутизации и расширениях.Привет, я, Петер Ибрагимов, и в Whoosh я занимаюсь бекенд разработкой на Python. В этой статье расс...
Как настроить миграцию etcd между облачными кластерами Kubernetes и избежать простоев Допустим, вам нужно перенести хранилище данных из одного кластера в другой. А выключать его нельзя, потому что это может вызвать незначительный (или значительный) коллапс сервисов, которые с ним работают. В статье мы расскажем о не самом очевидном и популярном способе перено...
[Перевод] Как повысить эффективность обработки данных в сфере авиации. Кейс Xiamen Airlines Привет, друзья! Сегодня команда Business Intelligence GlowByte поделится материалом от китайских партнеров из FanRuan – кейсом внедрения FineBI в авиации. Статья объемная (и “визуальная”), состоит из двух частей. В первой рассказывается о компании и проблемах, с которыми она...
Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический пример Привет! На связи Олег Казаков из Spectr. Мы занимаемся разработкой цифровых сервисов, в том числе высоконагруженных систем с микросервисной архитектурой и большим количеством различных интеграций.В статье расскажу об одном из кейсов при работе над проектом с микросерви...
Использование шейдеров во Flutter. Часть 1 Привет! На связи Юрий Петров, Flutter Team Lead в Friflex. Мы разрабатываем кроссплатформенные мобильные приложения для бизнеса и специализируемся на Flutter. В этой серии статей я поделюсь опытом, как с помощью шейдеров на фреймворке разра...
[Перевод] Процесс ELT: основные компоненты, преимущества и инструменты создания Если ваша задача заключается в аналитике данных или в машинном обучении, то успех её выполнения зависит от создаваемых вами конвейеров данных и способов их создания. Но даже для опытных дата-инженеров проектирование нового конвейера данных каждый раз становится уникальным с...
Применение DevOps-аутсорса на разных этапах жизненного цикла продукта Когда появляется потребность в DevOps-команде, перед бизнесом всегда встают конкретные вопросы: “А всё-таки, как решить мою проблему — нанять DevOps-специалиста в штат, использовать аутстафф или отдать проект на аутсорс? Есть ли четкие критерии для выбора? Что будет эффектив...
Компонентный подход. Организуем навигацию с помощью библиотеки Decompose Это третья часть из серии статей про компонентный подход. В предыдущей статье мы рассмотрели, как реализовать сложный экран, разбив его на набор простых компонентов. Применим эту же идею, чтобы организовать сложную навигацию.В статье много практики. Сначала я покаж...
Как избежать проблем при запуске MVP Всем привет! Меня зовут Алексей Половинкин, и я отвечаю за Python в AGIMA. За последние 2 года мне повезло запускать сразу 2 крупных MVP-проекта: классифайд автомобилей для Казахстана и проект в сфере телемедицины. За это время у меня и моей команды накопилось много опыта по...
Подробная пошаговая инструкция как настроить сервер на Linux и подключение по API к ChatGPT. Для Python и Node.js ChatGPT набирает все большую популярность, ведь он может помочь человеку или даже заменить его в ряде задач. С ним можно взаимодействовать не только через графический интерфейс, но и по API. Таким образом его можно встраивать в свои системы, чтобы решать практические задачи ...
Проблемы unsafe кода C# Случайно найдя в интернете алгоритм разворота строки с использованием unsafe кода в C# я решил протестировать, что еще интересно можно сделать используя указатели. В итоге собрал для вас 5 самых интересных примеров в этой статье.Вы узнаете как — изменить значение константы ...
Кейс Booking.com: как мониторинг ускорил развитие продукта и спас команду от расформирования Внедрять мониторинг просто потому, что все так делают — такая себе идея. Это не волшебная таблетка, которая творит чудеса. Инструмент бесполезен, если нет понимания, зачем он нужен и как использовать данные. Если понимание есть, то грамотно настроенный мониторинг способен на...
openHAB + Алиса = OH Cloud Доброго времени суток, уважаемые хабровчане!Сегодня я хотел бы рассказать про навык (интеграцию) голосового помошника Яндекс Алисы с умным домом, построенным на openHAB. Как мы все знаем, управление умным домом с помощью голосовых команд прочно вошло в нашу жизнь - GoogleHom...
Болевые точки Dart и Flutter Flutter - довольно популярный фреймворк для разработки кроссплатформенных приложений. В основном это приложения под Android и iOS, но все же имеется возможность разрабатывать и под другие платформы, хотя в большинстве случаев еще не все так гладко по срав...
Как сделать билд минимального размера в Unity? Всех с Новым Годом! Меня зовут Григорий Дядиченко, и я технический продюсер. Размер билда. Сегодня хотелось бы поговорить о нём и составить некий чек-лист, который полезно проходить перед выкладкой проекта. Если вам интересно, как можно инструментами Unity уменьшить вес сбор...
Как сделать релиз и не превратить ваш проект в затонувший «Титаник» Привет, это Антон Павлов — Head of Products в ITSM 365. Релизы помогают компаниям повысить лояльность клиентов — у пользователей появляется ощущение, что продукт развивается, завтра никуда не исчезнет. Добавление новых фич по просьбе клиента создаёт впечатление, ч...
МойОфис выпустил Squadus — единое цифровое рабочее пространство. Рассказываем о новинке Сегодня мы выпустили Squadus — цифровое рабочее пространство, которое предназначено для компаний любой численности. С помощью Squadus пользователи могут общаться в чатах, работать с документами, проводить аудио- и видеоконференции, автоматизировать типовые действия. Все это ...
Как сделать партнерскую программу на Тильде с помощью «Google Таблиц» В Тильде можно создать промокоды для партнеров, но нет инструментов для организации партнерской программы. Решил эту проблему с помощью «Google Таблиц». Читать далее
[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 2 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...
Архитектура Шредингера и способы с ней бороться Представьте, что вы работаете в команде над крупным проектом какое-то время. Проект прошел начальный этап и уже работает в продакшн среде. Им пользуются люди, даже можно сказать, что им пользуются много людей и они рассчитывают на ваш продукт, он для них важен. С какого-то ...
3D-графика в Go В большинстве случаев, когда речь заходит об использовании Go, вспоминается backend или DevOps и в самую последнюю очередь можно подумать об использовании Go для создания мобильных или десктопных приложений. Но в действительности, благодаря возможностям интеграции с нативным...
Запустили новый сервис Setewiki Инструменты сервиса Setewiki позволят лучше понимать, как работает интернет в России, какие провайдеры являются основными и как связаны различные автономные системы (АС) между собой. Читать далее
[Перевод] Spring для GraphQL GraphQL — это язык запросов с открытым исходным кодом, созданный Facebook в качестве альтернативы распространенной архитектуре REST. Он позволяет пользователям запрашивать конкретные данные и таким образом избежать классической проблемы избыточности данных в ответах, связанн...
Матч Postgres vs Redis — как выбрать правильный инструмент для разных задач PostgreSQL и Redis — распространенные СУБД, которые «обросли» аудиторией. Их популярность варьируется от задачи к задаче, а сами они имеют свои сильные и слабые стороны. Нашим клиентам бесплатно на тест доступны PostgreSQL и Redis по модели DBaaS, поэтому мы решили подро...
Как построить надёжную шину данных на Apache Kafka С помощью Apache Kafka мы в Авито гарантируем соблюдение контрактов публикуемых событий. Рассказываем, как мы переработали архитектуру и сделали работу с Kafka удобнее и надёжнее.Мы можем пережить даже полный отказ дата-центра. Почему — тоже расскажем в этой статье. Читать д...
Создаем скелеты микросервисов быстро и без боли При создании новых сервисов повсеместно используют шаблонизацию, в крайнем случае — в формате ручного копирования кода. Но ручное копирование не исключает ошибок, а еще это муторно и долго. Быстрее и приятнее ответить CLI-утилите на несколько вопросов о будущем проекте и пол...
[Перевод] О многообразии форм однонаправленных архитектур в Swift В 2019 году Apple представила миру SwiftUI. И два года спустя появился async/await. Хоть мы и склонны думать, что хорошие архитектуры не должны зависеть от специфик фреймворков, хорошие архитектуры все-таки являются лояльными гражданами тех же самых фреймворков и общей экоси...
И конфеты за меня есть будете? AutoML в помощь Citizen Data Scientist’у В прошлых статьях мы много рассказывали о том, как Data Science помогает металлургу, что такое Self-Service Analytics и как простой технолог может командовать моделями машинного обучения. В этом посте хочется раскрыть больше технических деталей по последнему пункту.Хардкорны...
NestJS для разрастающейся разработки: зачем так сложно и почему всё-таки да Привет, Хабр. Меня зовут Денис Былинин, я архитектор в компании Сравни. Сегодня хочу рассказать, как мы пришли к использованию NestJS и какие сделали выводы после года работы с ним. Чтобы не уходить в абстракции, которые легко гуглятся, я сосредоточусь на том, как испол...
Введение в GitHub Actions. Делаем пайплайн для деплоя Spring Boot проекта на VPS с помощью Docker В этой статье я расскажу как построить простой пайплайн для деплоя Spring Boot проекта на сервере используя GitHub Actions и Docker. Читать далее
Смартфон Honor 7A: особенности гаджета В последнее время бренд Honor на слуху со своими новинками смартфонов. Среди всего разнообразия гаджетов от китайского производителя уверенно выделяется модель honor 7a c элегантным дизайном, достойным функционалом и возможностями. Этот смартфон имеет ряд интересных особен...
[Перевод] Усиливаем защиту доступа к Kubernetes API В кластере Kubernetes control plane управляет нодами, ноды — pod’ами, pod'ы — контейнерами, контейнеры — приложениями. А кто управляет control plane?Kubernetes предоставляет API для комплексного управления всем кластером Kubernetes. Получается, что, в первую о...
Proxyless Service Mesh в gRPC Java-сервисах за 4 шага Привет, Хабр! На связи Максим Чудновский @chudnovskiyи Александр Козлов @ZDragonиз СберТеха. Мы занимаемся развитием Platform V Synapse — облачной платформы, которая объединяет множество интеграционных шаблонов, в том числе классический стиль интеграции request-response чере...
Pet-проект расширения для Chrome: как я вырастил аудиторию на 100% и чему научился Я занимаюсь блокчейн-разработкой и давно хочу запустить свой проект. В январе активно использовал платформу блокчейн-аналитики Dune, и в процессе работы придумал идею расширения для Chrome, чтобы упростить жизнь пользователю. Проект я в итоге реализовал, работая месяц фулл-т...
[Перевод] Как повысить поддерживаемость кода с помощью сервис-тегов в Symfony Среди всего прочего в Leaseweb мы предлагаем нашим пользователям сервис Private Network, который позволяет им создать свою собственную частную сеть между другими продуктами Leaseweb.Для решения задачи добавления оборудования, такого как серверы, в Private Network наша команд...
E2K: от истоков до нюансов Российской архитектуры [ч. 1] В этой статье я попробую объяснить простым и понятным языком в чем “соль” этой архитектуры. Сразу оговорюсь, базовое понимание математики, информатики и принципов работы компьютера или телефона с которого читается статья - обязательна. Статья разбита на части, пишу в св...
Полное руководство по Remix. Часть 2 Привет, друзья! В этой серии статей я продолжаю рассказывать о Remix — новом фреймворке для создания клиент-серверных веб-приложений на JavaScript (React) со встроенной поддержкой TypeScript. Remix позволяет разрабатывать так называемые PESPA (Progressive Enhancement Singl...
Vaadin или как стать full-stack разработчиком Привет, Хабр! В данной статье хотелось бы поделиться мнением о плюсах и минусах использования фреймворка Vaadin версии 14. До знакомства с Vaadin фронт приходилось делать с помощью различных JS фреймворков или библиотек, в связки с html и css. Поэтому особо никогда не задумы...
Intel i740 — Чёрная страница в истории графики Intel всегда мечтала покорить графический рынок. Выпускать передовые ускорители, встать во главе бурно растущего рынка графических технологий, было идеей-фикс полупроводникового гиганта еще с начала 80-х годов. Давайте посмотрим на то, что за графическое решение получилось у...
Какие документы сопровождают работу нормального фрилансера Спойлер: договоры, дополнительные соглашения, счета, закрывающие акты, акты сверки. Читаю для вас главу из «Книги нормального фрилансера», в которой рассказываю о том, зачем нужен каждый из этих документов, и как один за другим они появлялись в моей фрилансерской практике. Ч...
Цвет сезона – слива. Что мы сделали с GreenPlum в 2022-м и что планируем в 2023-м Привет, Хабр! Меня зовут Марк Лебедев, работаю архитектором в GlowByte. В июне 2022 года на митапе DataPeople мы с командой рассказывали о наших планах в части GreenPlum (запись выступления). Если коротко, тогда мы сфокусировались на развитии open-source и собирались выложит...
Все DETRы мира. Часть 1 Материал для ТГ-канала “Варим ML”Я - большой фанат задачи детекции, она мне нравится по всем критериям. Она самая интересная концептуально - одновременно нужно и искать объекты, и определять их тип. Классификация целых изображений скучновата и не так часто применима на практ...
Стартап в Соло. Часть 4: техническая реализация В этой статье хочу рассказать, как технически устроен мой Telegram чат для сайта, из каких компонентов состоит и с какими подводными камнями я сталкивался. Читать далее
Повышаем живучесть Raft в реальных условиях Популярность алгоритма Raft в последние годы растёт. У него достаточно ясное описание, а реализации появляются во всё большем количестве проектов. На бумаге, будь то математика или рекламные статьи, выглядит хорошо. Но на практике не все обещания Raft можно реализовать без д...
Автоматическая документация API Django Rest Framework с помощью DRF Spectacular Целью этой статьи является демонстрация возможностей drf-spectacular для документирования API и основного набора техник, которые покроют большую часть сценариев использования. Мы настроим генерацию документации и рассмотрим все основные способы гибкой настройки отображения. ...
Асинхронность как основной подход к разработке высоконагруженных приложений В данной статье освещаются основные подходы к современной разработке высоконагруженных приложений, в частности, предоставляющие основной интерфейс для взаимодействия с пользователем при помощи браузера или иного клиента, в функционал которого заложена отправка http запросов ...
Домашняя лаборатория Угадай данную статью написал ChatGPT или нет?Хотите потестировать приложение, или опробовать в работе инструмент? В этой статье опишу то, как организовал тестовый стенд на Linux. Стенд поддерживает работу с доменами, умеет генерировать TLS сертификаты, легко масштабируется, ...
Архитектура Учи.ру: облака, модульность и унификация В этом году Учи.ру исполняется 10 лет. За это время компания пережила технологические и архитектурные трансформации. Она выросла из простого сайта, где можно было решать примеры на счёт столбиком, до группы компаний с курсами по школьным и внешкольным предметам, олимпиадами ...
Три консоли в инструментах разработчика 1С: упрощаем отладку кода, запросов и отчетов Привет, Хабр! В одном из недавних проектов мне удалось поближе познакомиться с «Инструментами разработчика» (далее ИР). Это универсальный комплекс средств, который помогает решать широкий спектр задач, поставленных разработчику и администратору. Описание всего инструмен...
Московский кластер электромобилестроения объединил около 40 компаний Его участники займутся созданием компонентов и технологий для серийного производства и обслуживания легковых машин, грузовиков, электробусов. В Москве появилась единая платформа для разработки проектов электромобилестроения, которая будет работать на базе Московского ...
SimpleUI фреймворк для быстрого создания бизнес приложений на Android Добрый день! Меня зовут Дмитрий Воронцов. Несколько лет назад, я сделал небольшую локальную разработку под нужды своих 1С проектов (ERP, MES, WMS) – андроид клиент для ТСД и планшетов, который по сути являлся тонким клиентом для 1С и работал через HTTP сервис. Он был написан...
Горизонтальная структура команды разработки, или Как доводить ML проекты до продакшена Привет, Хабр! Меня зовут Даниель, я занимаюсь машинным обучением в Garage Eight.Решил рассказать о работе ML команды в горизонтальной структуре и особенностях такого подхода. Читать далее
Как мы сделали и оптимизировали механизм правил для персонализации UI Всем привет! Меня зовут Александр, я занимаюсь backend-разработкой в KTS. В одной из прошлых статей мы рассказали про архитектуру фронтенд-приложения для проекта личного кабинета сотрудников Пятёрочки. В этой статье расскажу, как мы решали проблему персонализации интерф...
Современные open-source BI-решения в условиях санкций С развитием Data-driven подхода к принятию управленческих решений в современных организациях, возросла роль BI-инструментов как основного инструмента внедрения такого подхода. На сегодняшний день выбор BI-продуктов на рынке сводится к трем большим категориям: - Лидеры ...
Свой Firebase за 7$ или практический опыт внедрения Appwrite как сервера для мобильного приложения Appwrite — это открытое BaaS решение которое содержит массу готовых модулей, основные из которых это база данных, хранилище, авторизация и функции. В рамках поста я расскажу какими функциями обладает Appwrite и личном опыте интеграции решения. Читать дале...
«А вы точно продакт?» Когда я в последний раз менял работу и проходил собеседования, конечно, основные вопросы были про навыки продакта и особенности продуктов, которыми я занимался. Вопросы касались метрик, экономики продукта и взаимодействия с пользователями. Поскольку мой опыт специфичен :), в...
10 лайфхаков, как запустить собственное мини-приложение ВКонтакте: от автора сервисов «Футбол», «Хоккей» и «Баскетбол» Привет! Меня зовут Андрей Комаров, я основатель проекта «Матчи». Это название вряд ли вам о чём-то говорит — зато вы наверняка слышали о сервисах «Футбол», «Хоккей» и «Баскетбол», которые работают ВКонтакте и в Одноклассниках. Там можно следить за расписанием соревнований, п...
[Перевод] Пять шаблонов загрузки данных для повышения быстродействия сайтов Фреймворки вам требуются не для всего, но в случае их использования есть ряд способов, позволяющих добиться максимального быстродействия. В данной статье речь пойдёт о пяти шаблонах загрузки данных, которые при уместном применении позволят значительно повысить производитель...
5 перспективных российских стартапов за декабрь 2022 года «Приложение для тех, кто задолбался скидывать коллегам одну и ту же ссылку по 10 раз подряд», «Обязательный инструмент для тех, кто тратит на рекламу больше 300'000 рублей в месяц», «Софт, который поможет построить производство «с нуля» всего за полгода» и еще парочка интере...
Релиз Django LTS 4.2: обзор изменений и необходимости обновления В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах пр...
13 инструментов для защиты абонентов Всем привет! Я Александр Фадеев, руководитель проектов по безопасности мобильного оператора из центра экосистемной безопасности. В серии статей расскажу о том, как мы запустили платформу, защищающую клиентов Тинькофф Банка и Мобайла. В этой статье обзорно познакомлю с инстру...
Умный дом для геккона и сверчков: год спустя Примерно год назад я уже писал, как собрал умный дом для моего любимого эублефара. За это время он прошёл несколько модификаций, и у меня появилась живая еда, которой тоже нужен свой дом. Что характерно, тоже умный. Если вы не читали первую часть, то рекомендую начать с неё,...
Как я запустил свою первую мобильную игру и провалился В августе я уволился с работы, чтобы запустить свою первую мобильную игру. Мой проект провалился, но за 2 месяца я прошел все этапы создания игр. В статье рассказываю про инструменты, как планировал работу, настраивал монетизацию, запускал рекламу, анализировал данные и сотр...
Как ChatGPT помогла мне исправить баг в far2l, turbo и wxWidgets Работая над проектом far2l (порта Far Manager) для Linux, я наткнулся на один очень красивый баг, который в итоге удалось починить только с помощью нейросети ChatGPT. Причём баг оказался не столько в самом far2l, сколько в проекте кроссплатформенной UI библиотеки wxWidgets. ...
[Перевод] Как не превратить микросервисы в киберпанк-дистопию Вашему вниманию представлена квинтэссенция подготовленной мной серии докладов под названием «Распределенное понимание распределенных систем» (“Distributed Distributed Systems unDerstanding”), посвященной определению и оптимизации микросервисных архитектур. Эта серия основана...
Прости нас, Джон Коннор, или Как мы научили нейросеть точечно распознавать звуки выстрелов Привет, Хабр! Меня зовут Антон Рябых, работаю в Doubletapp и в этой статье расскажу про технические детали применения машинного обучения в проекте HitFactor. Что такое hit factor? На соревнованиях по практической стрельбе спортсмены быстро перемещаются, меняют магазин и...
Ctrl+C и Ctrl+V — как перестать копипастить и сконцентрироваться на уникальных проектах Привет, меня зовут Надя, я руковожу фронтендерами в юните рекламных спецпроектов KTS. Мы запускам более 50 промо-игр в год, некоторые из них особенно эффективно работают, поэтому повторяются часто. В итоге мы часто делали похожие проекты. Недавно мы запустили KTS Market...
Миграция приложения из OpenShift в «ванильный» Kubernetes OpenShift, Rancher и другие зарубежные Kubernetes-платформы официально больше не поддерживаются в России. Многим компаниям приходится искать альтернативные решения для управления контейнеризированными приложениями — например, «ванильный» Kubernetes или российские платформы.Х...
[Перевод] Внедряем устойчивый SRE-подход в компании Сложно управлять микросервисами, не придерживаясь принципов SRE (site reliability engineering — обеспечение надёжности информационных систем). В этой статье мы расскажем, как наладили процесс SRE в компании Reputation. Читать далее
[Перевод] Создаем клон Instagram при помощи Flutter и Feeds. Часть 1 В этой статье мы расскажем как вы можете с легкостью создать клон Instagram* при помощи Stream Feeds и Flutter.Подойдя к вопросу с «максимальным креативом», мы решили назвать наш клон Stream-agram. Вы также узнаете многое про основные принципы работы с Flutter, и как с его п...
NVIDIA DLSS 3 внедряют в игры семимильными шагами Когда компания NVIDIA впервые официально представила миру свои новейшие видеокарты, пользователи довольно негативно высказывались относительно цены и прочих особенностей свежих моделей, но оказалось, что основное преимущество новинок не в этом. Чистая производительность у но...
Список фишек Android Studio для ускорения разработки Привет! Меня зовут Стефан, я занимаюсь Android-разработкой в KTS.Android-разработчики каждый день сталкиваются с своим основным инструментом — Android Studio. Это очень удобный инструмент с большим спектром возможностей, но зачастую разработчики не используют их все. В ...
Эволюция инструментов кодирования облачной инфраструктуры Идея управления серверной инфраструктурой через код (Infrastructure as Code, IoC) не нова. Управление настройками через скрипты или файлы конфигурации позволяет стандартизировать настройку системы, масштабировать решение, снизить ошибки и исключить “человеческий фактор”. She...
«Сбербанк» ввел комиссию за снятие наличных через банкоматы Одним из крупнейших и наиболее известных банков на российской территории является «Сбербанк», а делать он старается все ради того чтобы зарабатывать как можно больше денежных средств. Компания внедряет одно новшество за другим в надежде повысить Читать полную версию публика...
Что о тестировании расскажут на Heisenbug 2023 Spring: от инструментов до марсоходов Ближайшая конференция Heisenbug будет больше обычного: целых четыре дня (два онлайновых и два в Москве с возможностью удалённого подключения). А значит, и докладов тоже будет много. И сейчас, когда программа готова, пришло время показать Хабру их описания.Как водится на Heis...
Как можно использовать галлий-индий и другие жидкие при комнатной температуре сплавы Лаборатория гибкой электроники и мягкой робототехники химико-биологического кластера ИТМО занимается металлами, жидкими при комнатной температуре, в основном сплавами галлия. Сегодня перед такими материалами открывается масса новых практических применений ― от нательной элек...
Инструменты для тестирования Kafka Во многих компаниях использование брокеров сообщений является неотъемлемой частью процесса разработки высокопроизводительных систем. И одним из самых популярных на сегодняшний день является Kafka. Kafka — это не только брокер сообщений, но и разделитель журналов. Кроме того,...
Jenkins и Gitlab CI/CD: что выбрать Среди всех существующих CI/CD-инструментов есть два наиболее популярных — Jenkins и GitLab CI/CD. Хотя они решают схожие задачи, между ними есть отличия, которые важно учитывать. Мы пообщались с Кириллом Борисовым, старшим инженером-программистом VK, чтобы больше узнать о кл...
Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в ор...
[Перевод] Вышел Chrome 113 Что вы узнаете:WebGPU уже здесь, он позволяет использовать высокопроизводительную 3D-графику и параллельные вычисления в вебе.С помощью инструментов разработчика теперь можно переопределять заголовки ответов сети.Начинает распространяться First Party Sets, часть Privacy Sand...
[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 4 — токенизация и нормализация Прим. переводчика: автор статьи рассказывает, как его команде удалось оптимизировать временные и ресурсные затраты при токенизации текстов в Elasticsearch путем внедрения нормализации похожих символов.Это четвертая часть серии статей об обновлении кластера Elasticsearch...
Интересное из мира Unity #3 (10.02.23 — 16.02.23) Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Модель персонажа с помощью ИИ, математика для игровых разработчиков, как сделать красивую шерсть на URP и многое другое в сегодняшнем дайджесте. Если вам интересна Unity разработка, добро пожаловать под ка...
Интеграция с инфраструктурой NB-IoT МТС. Теория и практика. Часть 1 Привет, Хабр! Сегодня предлагаем поговорить о составе и основных принципах работы инфраструктуры NB-IoT. Также обсудим практические рекомендации по интеграции серверов приложений с инфраструктурой сети NB-IoT при использовании режимов IP (UDP, TCP, а также базирующихся на ни...
[Перевод] Простой контроль доступа ACR в Laravel 10 (инструкция шаг за шагом) Эта статья описывает, как добавить модель безопасности RBAC (ACR, ACL) в Laravel 10, используя пакет "laravel-access-rules". В ней можно увидеть пошаговое руководство по созданию: ролей, разрешений, назначению их пользователям.Получить готовый визуальный интерфейс для управл...
Обзор корпуса DeepCool CH510 MESH DIGITAL Он выполнен по новомодной схеме с боковой стеклянной стенкой и возможностями скрытой прокладки кабелей. Но основной отличительной чертой и изюминкой именно этой модели является наличие простенького дисплея в верхней части передней панели, способного отображать информацию о...
Как мы исправили древний сервис и ускорили вдвое поставку обновлений Недавно нам довелось перевести на актуальные рельсы устаревший сервис. На этой махине у заказчика завязано много процессов — от таргетированной рекламы фармпрепаратов до доставки пробных образцов на реальный адрес. Но она не обновлялась 8 лет, и работала на древнем фреймворк...
PostgreSQL под капотом. Часть 4. Цикл бэкэнда Приветствую!В прошлой статье была исследована входная точка бэкэнда до главного цикла. В этой статье закончим ее обзор исследованием главного цикла.Кроме нее будут рассмотрены:— Модуль для работы с транзакциями.— Исключения в С и их ре...
Лю Цысинь и малая форма Почти всем поклонникам современной фантастики так или иначе известно имя Лю Цысиня, китайского писателя, автора трилогии «Воспоминания о прошлом Земли» (которую еще иногда по названию первой книги именуют «Задача трех тел»). Но сегодня речь пойдет не о том, чем примечательна...
Как надстройки Microsoft Visual Studio могут использоваться для взлома Специалисты по ИБ из Deep Instinct утверждают, что инструменты Microsoft Visual Studio для Office (VSTO) всё чаще используются в качестве метода обеспечения сохраняемости и выполнения кода на целевой машине с помощью вредоносных надстроек Office. Читать далее
[Перевод] Сравнительный анализ производительности популярных JS-фреймворков — Express.js, Koa.js и Fastify Допустим, у вас есть идея нового проекта, который обязательно завирусится, как только он увидит свет. Однако вы не можете решить, какой же бэкенд-фреймворк вам стоит использовать. Не нужно отчаиваться. В этой статье мы рассмотрим три популярных Node.js фреймворка (Express.js...
Многомодульное iOS-приложение: подходы к организации межмодульного взаимодействия Привет, Хабр. Меня зовут Кирилл Смирнов. Я технический лидер iOS команды в СберЗдоровье. Последний год наша команда активно занимается улучшением инструментов разработки, в том числе модуляризацией, и уже успела получить опыт, который может быть полезен другим. В предыдущем ...
Шпаргалка: fixture в pytest В данной статье представлены примеры использования фикстур (fixture) для фреймворка автоматического тестирования pytest. Фикстуры представляют собой функции, которые можно использовать для решения различных задач при проведении автоматизированного тестирования. Читать далее
[Перевод] Как мы чуть не взломали шифровальщик Phobos с помощью CUDA Последние два года мы работали над доказательством концепции дешифратора для программ-вымогателей семейства Phobos. По причинам, которые мы объясним здесь, он непрактичен. До сих пор у нас не получилось использовать его, чтобы помочь реальной жертве. Но мы решили опубликова...
Вам не нужен свой Kubernetes Данная статья потенциально интересна тем, кто выбирает между managed и рукотворным k8s кластерами в облачной платформе, а также тем, кто просто хочет почитать о некоторых болях и провалах, случающихся при поддержке собственноручно развернутых k8s кластеров. Читать далее
Как я написал Telegram-бота для учёта подписок Как я написал Telegram-Бот для учёта подписокНаписал Telegram-Бот для учёта подписок и регулярных расходов на Python и Yandex. CloudОн умеет предупреждать по 3 основным сценариям:1. Окончание пробного периода.2. Ежемесячная подписка.3. Ежегодная подписка.В статье расскажу пр...
Как мы внедряли электронный документооборот на складах Привет, Хабр! Мы — Константин Архипов и Татьяна Базанкова, руководители проектов в МТС Digital и МТС соответственно (да, это разные компании в одной экосистеме). Мы расскажем о личном опыте разработки и внедрения электронного документооборота с подпи...
Мониторинг пользовательских устройств с помощью Zabbix Всем привет! Меня зовут Серёга Леонов, я инфраструктурный инженер в Тинькофф. Недавно наша команда внедрила и приспособила уже привычный всем инструмент Zabbix под что-то новое — мониторинг и сбор инвентарных данных на всех компьютерах компании. Расскажу, как мы это сделали ...
Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи Хранение данных — одна из самых ведущих тем в разработке. Очень важно уметь выбирать подходящий инструмент для разных ситуаций и знать, как хранить данные безопасно и максимально эффективно, не замедляя приложение. Старший iOS-разработчик red_ma...
Как мы строим архитектуру микросервисов для мобильного приложения СберБизнес Привет, Хабр! Прежде чем погружаться в проблемы, давайте я расскажу, как у нас устроена микросервисная архитектура и куда мы идём. К сожалению или к счастью, в сегменте B2B в банковском и околобанковском обслуживании клиенты чаще пользуются веб-версиями приложений. Большие с...
[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 5 — два клиента Elasticsearch на одной JVM Прим. переводчика: автор статьи рассказывает, как его команде удалось запустить два клиента Elasticsearch разных версий на одной JVM путем написания специальной библиотеки-обертки для работы с нужной версией.Это пятая часть серии статей об обновлении кластера Elasticsea...
Как мы разрабатываем SDK для RuStore 2022 год оставил разработчиков из России без возможности заработка в привычных сторах, а также дал толчок развитию альтернативных способов монетизации приложений. Менеджер проекта команды SDK магазина приложений RuStore Александр Лукашенко рассказал, как удаётся разрабатыват...
[Перевод] Тестируйте свои React-компоненты с помощью Nightwatch и Testing Library Взгляд на популярную Testing Library с NightwatchМы создадим подробный пример проекта React с Vite, а затем воспользуемся Nightwatch и Testing Library для тестирования этих компонентов. Мы используем Complex example, доступный в документах React Testing Library, написанный с...
DevOps спит, Gitlab CI работает… Можно ли построить удобный для всех pipeline, приложив усилия один раз, а не 100? Об этом расскажет Виктория Вольферц. Она работает в БКС DevOps-инженером в управлении микросервисной архитектуры. БКС предоставляет брокерские и банковские услуги для клиентов. Их основные прод...
Интеграция с 1С: то, о чем не рассказывают в книгах Привет всем гуру всемогущих языков программирования! Меня зовут Иван, я возглавляю backend-направление в компании SimbirSoft. Для своей первой статьи на Хабр решил поднять вопрос, как правильно сделать интеграцию с любой платформой 1С, используя Java, С# и другие языки прогр...
Ни одно задание не будет провалено: Spring Boot и Quartz в режиме cluster Туториал по настройке библиотеки Quartz в режиме кластера в Spring Boot приложении с возможностью отслеживания и управления жизненным циклом задания, в том числе переносом задания в случае необходимости. Читать далее
Молекулярный драйвер: как мы запускали Molecule Delegated Driver в облаке VK Cloud Подход «инфраструктура как код» упрощает создание и управление инфраструктурой, но это всё ещё код, и относится к нему надо как к любому коду. А значит, нам нужно внедрять практики SDLC. О реализации одной из них и будет эта статья. А точнее, про тестирование инфраструктурно...
5G — разделяй и управляй. Сам. Часть 1 — вводная Всем привет! Это серия статей про то, чем 5G сети отличаются от мобильных сетей предыдущих поколений с точки зрения возможностей для пользователя управлять своими устройствами и трафиком. Про то, что такое control and user plane separation (CUPS), что такое user plane functi...
Обзор периферийной библиотеки FIL для микроконтроллеров STM32 Приветствую всех читателей моей первой статьи. Меня зовут Назаров Александр, я программист и резидент Ресурсного центра робототехники - структурного подразделения Донского государственного технического университета. Наши проекты направлены, в основном на мобильную робототехн...
Туториал по основам Apache Kafka: установка и работа с кластером из одного брокера Собрали туториал по Кафке для того, чтобы вы могли быстро научиться с ней работать, получить фундаментальные навыки и безболезненно приступить к более высокоуровневому функционалу в дальнейшем. Читать далее
[Перевод] Инструменты наблюдаемости, о которых нужно знать в 2023 году Когда организации переходят в облако, их системы тоже начинают стремиться к распределённым архитектурам. Один из самых распространённых примеров этого — использование микросервисов. Однако это также создаёт новые сложности с точки зрения наблюдаемости. Необходимо подбирать...
[Перевод] Учимся тестированию с помощью Bootstrap Ознакомительное руководство по использованию Bootstrap для создания веб-страниц и тестирования. Здесь вы узнаете, из чего состоит фреймворк Bootstrap, какие есть варианты его установки и использования, а также как именно с его помощью можно создавать веб-страницы и тестиров...
Maquina total, Nintendo DS, беспроводные аудиолампочки и кое-что еще: неожиданные находки с испанской барахолки Привет, Хабр! Немного с запозданием, но все же рассказываю о своем воскресном походе на свою испанскую барахолку, на которой периодически встречаю очень интересные штуки — как айтишные, так и не очень. Иногда так даже совсем не очень. На этот раз попались весьма интересные...
Китай продолжает развивать электронную промышленность: на очереди — собственные литографические машины. Перспективы Так выглядит EUV-оборудование от ASML Совсем недавно мы опубликовали статью «У электронной промышленности Китая проблемы с архитектурой ARM и NAND-чипами. Какие у Поднебесной шансы». В ней мы рассказывали о том, что сейчас торговая война США и Китая усугубилась, вследствие...
Будущее интеграции данных За рамками ETL и ELT: Мишель Трико, соучредитель и генеральный директор компании Airbyte, рассказывает на портале The New Stack о том, как будут развиваться системы интеграции данных в ближайшие годы. Интеграция данных значительно изменилась с тех пор ...
BDD-фреймворк для автоматизации API без кода Меня зовут Виктор Мясников, я отвечаю за качество продукта в «Юле». Я закончил Бауманку и хотел строить ракеты, но с ними не вышло, поэтому теперь профессионально строю «велосипеды» для QA, а ещё люблю уничтожать рутину. Я расскажу, как мы проектировали BDD-фреймворк и зачем...
[Перевод] Лучшие Golang-фреймворки в 2023 году Revel: для быстрой разработки и масштабируемостиRevel — один из самых популярных фреймворков для разработки веб-приложений на Golang в текущем году. Он прост в изучении и использовании; подходит как для начинающих, так и для опытных специалистов. Хорошо справляется с быстрой...
Как перестройка оргструктуры повлияла на производительность ИТ-команды За прошедший год Газпромбанку удалось увеличить количество релизов в восемь раз, улучшить качество выводимых продуктов в два раза и сократить time-to-market на 10%. Что было для этого сделано — рассказывает Александр Черушников, вице-президент, начальник департамента ...
Утечка домена ч. 2. Компрометация корпоративной сети через дипломный проект и wpad.dat В прошлый раз мы рассказывали о том, как взлом сайта может привести к компрометации корпоративной переписки через контроль содержимого трафика. В этой статье будет намного более захватывающе и интереснее. Прямо как в детективном романе. Мы расскажем, как злоумышленник с...
Обучение YOLOv5 на кастомном датасете YOLO - это современная архитектура нейронных сетей, которая предназначена для распознавания и обнаружения объектов на видео. Читать далее
Основы автоматизации в Ansible: роли и сценарии Ansible — инструмент управления конфигурациями. Задачи, которые решаются с его помощью, часто повторяются у разных людей и команд. Как и в случае программирования, где общий код выделяют в библиотеку, Ansible выделяет повторяющиеся вещи в роли. В статье объясним, в чём основ...
Автоматизация ревью ТЗ с помощью инструмента Comala для Confluence. Углубленная автоматизация В предыдущей статье мы рассмотрели, как можно собрать базовую автоматизацию ревью для документации и как уже на этом этапе она облегчает жизнь аналитику и команде. Однако всегда появляются новые задачи для решения, и всегда можно посмотреть шире. Придумать, что еще можно сде...
Минимизируем человеческий фактор в Swift Поиск неочевидных ошибок в коде зачастую попросту выводит из себя, и это нормально. Чтобы позаботиться об эмоциональном здоровье не только своём, но и коллег, мы нашли решение для сохранения нервных клеток. В данной статье мы собрали несколько инструментов, которые позволяют...
Бизнес-архитектура MUST HAVE Бизнес-архитектура и ее место в компанииПростая истина: чем комфортнее и красивее город, тем более приятно и удобно в нем жить. Архитектура города – это не только архитектура конкретных зданий и сооружений, но и сама их совокупность, создающая пространственную среду для...
Журнал архитектурных решений (ADL) при проектировании информационных систем Для сложных информационных систем бывает крайне сложно принять компромиссные решения с учетом ограниченных ресурсов. Одним из возможных способов решения является подход Architecture Description Log, который внедрен в крупных компаниях, таких как Google, Spotify и Microsoft. ...
Игровые ноутбуки: всё про видеокарты, TGP, процессоры, память и много другое Привет, Хабр! Сегодня мы хотим поговорить про игровые ноутбуки, которые сами по себе — явление довольно спорное. В первую очередь из-за форм-фактора, который накладывает на них серьёзные ограничения. Это и неполноценная, по мнению профи, графика, и отсутствие пространства по...
В помощь разработчикам гаджетов. «USB-Разрыватель» — что это, зачем и для чего? Привет, Хабр! В этой статье рассказываем о созданном нами устройстве, которое помогает тестировать электронные девайсы в процессе разработки. Речь идет об устройстве для автоматизации и имитации процесса отключения/переподключения USB-гаджетов. Подробности разработки и...
Как быстрее узнать, что сервису плохо, или realtime-детекция разладок с помощью CatBoost Через любую высоконагруженную систему ежесекундно проходит огромный поток трафика. Релизы, хотфиксы, ddos-атаки, невалидные и ухудшающие эксперименты и многие другие события могут привести к проблемам, которые влияют на пользователей. Поэтому такие ситуации не терпят задерже...
КОД DA VINCHIN 2: тестируем седьмую версию китайской СРК Пару недель назад разработчик системы резервного копирования Vinchin порадовал всех нас новой версией своего решения. Мы уже рассказывали немного о “семерке” и обещали поделиться с вами результатами тестирования ее функционала. В этом посте разберемся, насколько обновл...
Как в РНКБ IPv6 внедряли Сейчас на слуху переход на IPv6 и связанные с ним проблемы. Мы в РНКБ недавно испытали это на себе – внедряли IPv6 для мобильных приложений. Задача оказалась нетривиальная, поэтому мы решили рассказать и другим хабравчанам, почему у нас не всё пошло гладко и с чем мы столкну...
Взять и перейти на IPv6 — регуляторы начинают давать рекомендации Протокол нового поколения внедряют активнее. И все больше государственных агентств публикует гайдлайны по миграции для своих инженеров. Обсудим их и ситуацию на рынке. Читать далее
10 типичных ошибок в LinkedIn, которые пора исправить LinkedIn является одной из основных социальных сетей для поиска работы в ИТ-отрасли. На 2023 год LinkedIn имеет более 810 миллионов пользователей, а ежемесячно активными пользователями является более 400 миллионов человек в мире и 6 миллионов пользователе...
ТОП бесплатных OSINT-инструментов по версии компании T.Hunter в 2023-м году Год назад я уже поднимал тему лучших бесплатных инструментов для OSINT, которые используются в нашем департаменте расследований. Прошлый год был тяжелый, но интересный. Некоторые разработки перестали работать в России. Многие, напротив, были созданы в нашей стране. В этой ст...
[Перевод] Ускоряем Python в сто раз при помощи менее чем ста строк на Rust Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек. Эта библиотека формирует фундамент нашего конвейера 3D-обработки. Это довольно большая и сложная библиотека, использующая NumPy и другие научные пакеты Python для выпо...
Проценты за рекомендации Читаю очередную главу из «Книги нормального фрилансера». В ней я рассказываю о своём опыте оплаты и получения процентов за рекомендации. Для меня это очень тонкая тема, поэтому пишу про неё мало и избегаю в своей работе. Читать далее
Диагностика ВИЧ с патентным скандалом и Нобелевской премией. Часть II В первой части нашей статьи мы подробно рассказали об обнаружении ВИЧ и тех жестких патентных спорах, что последовали за этим событием. В продолжении мы коротко расскажем о современных тест-системах и терапии. Читать далее
[Перевод] Сетевые политики Kubernetes для изоляции подов и пространств имён Как можно изолировать поды и пространства имён? В этом нам помогут сетевые модели Kubernetes.Сетевая модель Kubernetes определяет, что:● Каждый под получает собственный IP-адрес.● Поды могут взаимодействовать с любыми другими подами в кластере при помощи IP-адресов подов (бе...
Как я преподавал на ИТ-курсах: буст софтов или потраченное время Привет, читатель! Сегодня я расскажу о своём опыте преподавания. Я обычный разработчиĸ, в начале этого года читал лекции по архитектуре на IT-курсах. Если ты уже пробовал обучать, в статье сможешь сверить ощущения. А если только задумываешься стать преподавателем, найдё...
Как появляются дизайн-системы: рассказываем и показываем на собственном примере - Читать далее
Особенности сред исполнения различных систем эффектов в Scala Привет! Меня зовут Никита Калинский, я разработчик в Тинькофф Бизнесе. Сейчас я занимаюсь продуктом под названием «Лента операций». Физлица в желтом приложении могут отслеживать все свои операции, и мы делаем такой же инструмент для предпринимателей.Сегодня я хочу поговорить...
Современные радиорелейные станции: общее представление В этой статье я постараюсь достаточно полно и популярно объяснить, что из себя представляют современные радиорелейные станции, исходя из десятилетнего опыта эксплуатации. Исторический очерк о становлении будет в следующей статье.Ранее мне попадались фрагменты лекций, которые...
Какими гибкими навыками (soft skills) и почему должен обладать каждый QA Engineer в 2023 году Какими навыками должен обладать успешный в своем деле QA Engineer в 2023 году? Скорее всего, многие из вас в первую очередь подумают про навыки технического характера. Как будто только жесткие навыки (hard skills) являются гарантом стремительного профессионального и карьерно...
[Перевод] Live Text API в iOS 16 — сканирование данных с помощью камеры в SwiftUI На WWDC22 Apple представила iOS и iPadOS разработчикам замечательные инструменты сканирования данных на основе Live Text, которые позволяют пользователям сканировать текст и QR-коды с помощью камеры, аналогично интерфейсу Live Text в приложении Camera.В этой статье я сосредо...
Наши 5 лет с инфраструктурой «ВсеИнструменты.ру»: от нескольких ВМ до отказоустойчивого решения в трёх дата-центрах Cтатья посвящена проекту «ВсеИнструменты.ру» — крупнейшему интернет-магазину DIY-товаров и нашему клиенту по совместительству. Расскажем, с чего начинали сотрудничество почти пять лет назад, как сейчас идут дела и куда мы вместе идём. Поговорим о сопровождавших этот путь тех...
Такую SoC Exynos 2300 мог бы получить Samsung Galaxy S23 Ultra. Появились спецификации отменённой платформы Как известно, все актуальные флагманы Samsung Galaxy опираются на SoC Snapdragon 8 Gen 2. Однако Exynos 2300 очень часто фигурировала в ранних слухах до анонса новинок. И сегодня в Сети появились характеристики этой отменённой платформы. Согласно имеющимся данным...
Microsoft разрабатывает собственный ARM-процессор. Что это даст редмондской корпорации? Популярность ARM-архитектуры растет, все больше компаний обращает внимание на эту технологию. Так, на днях стало известно о том, что корпорация Microsoft разрабатывает собственный процессор. Эти чипы компания планирует использовать в производстве линейки Surface, а также,...
Создание DSL на Python с библиотекой textx Для описания объектов и процессов в терминах бизнес-логики, конфигурирования и определения структуры и логики в сложных системах популярным подходом является использование предметно-специфических языков (Domain Specific Language - DSL), которые реализуются либо через синтакс...
Все о Pimcore Pimcore — мощная open‑source MDM (и не только) система, с которой у меня накопился немалый опыт. В компании SVK.Digital, в которой я являюсь техническим директором, мы занимаемся заказной разработкой и автоматизацией бизнеса, и уже несколько лет...
Установка OpenCV под Windows В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации. Читать далее
Стрелочные функции и что о них стоит помнить Идея написать статью про стрелочные функции в 2023 году выглядит не самой очевидной, но я постараюсь объяснить свою мотивацию. Я разработчик, который пришел в профессию после того, как в JavaScript появились такие инструменты как классы, async/await, стрелочные функции и т.д...
Анализ и приоритизация задач в тикетной системе: как красиво реализовать на PHP Привет! Меня зовут Олег Мифле. Одной из команд, где удалось поработать за 7 лет с PHP, стала Customer Support. Мы автоматизировали анализ тысяч задач в день и оператору больше не нужно думать и включать голову для того, чтобы понять, какая задача прямо сейчас важна. О том, к...
[Перевод] Генерация конвейеров обработки данных в Dataflow Эта статья посвящена всем практикующим специалистам по данным, заинтересованным в освоении запуска, стандартизации и автоматизации пакетных конвейеров данных в Netflix. О Dataflow мы писали в статье под названием Data pipeline asset management with Dataflow. Та статья пред...
[Перевод] Отладка C при помощи пакета Cosmopolitan Libc Cosmopolitan Libc предоставляет набор отладочных возможностей, повышающих удобство разработки на C: трассировка вызовов функций, интеграция с gdb, среда выполнения ASAN/UBSAN и многое другое! На C написано много быстрого и критически важного кода. Если вы пользуетесь програм...
Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1 Самый действенный способ изучить фреймворк — написать пет-проект. Например, свою социальную платформу на Django. Во время реализации можно попрактиковаться в работе с формами, представлениями, сигналами и SMTP. В Proglib собрали небольшой шаблон, на базе которого можно соз...
Интеграция с ЕСИА v2 на Debian 11 + php 7 Передо мной была поставлена задача "чтобы посетители могли войти на сайт через Госуслуги". Задачка не новая, давно решена. На PHP для этого используют библиотеки github.com/fr05t1k/esia и github.com/ekapusta/oauth2-esia, но есть пара оговорок. Читать далее
Про ChatGPT и Искусственный интеллект В 2016 году в распоряжении компьютерной лингвистики были Doc2Vec, LSI, LDA, LSTM, TF-IDF, BM25, CNN, fasttext и подобные модели, в 2018 к ним присоединились "Трансформеры" (BERT, RoBERT, Sbert, GPT-2, GPT-3 и прочие). При всей мощи трансформеров и существенном приросте качес...
Как стать веб-дизайнером Говорят, что профессии веб-дизайнера уже не существует. Считается, что она эволюционировала и разделилась на специализации. Отдельным навыкам, которые могут пригодиться в веб-дизайне, учат в сотнях колледжей, вузов и рассказывают на тысячах онлайн-курсах в сети. При этом пол...
Как жить QA в условиях проблемной документации Как быть тестировщику, если на проекте нет аналитика и спецификации? Маша Кузнецова, младший QA-инженер red_mad_robot, рассказывает о трёх возможных вариантах действия — осторожном, умеренно рискованном и максимально упоротом. Будет особенно полезно ...
Softline помогла DPD повысить производительность Microsoft Exchange В рамках проекта команда Softline провела технический аудит и выявила потенциальные уязвимости, влияющие на стабильность работы программного обеспечения Microsoft.
Подключаем VictoriaMetrics в Deckhouse и настраиваем уведомления в Telegram В статье мы рассмотрим, как в Kubernetes-кластере под управлением Deckhouse удобно и быстро настраивать мониторинг с уведомлениями в Telegram. Воспользуемся VictoriaMetrics для хранения метрик, добавим дашборд в Grafana, создадим алерт и настроим оповещение. Читать далее
Создание персонажа для тестирования и работы с VR без шлема Эта статья может быть полезна тем кто хочет попробовать создать механики для VR но у него еще нет шлема, или если у вас уже раскалывается голова от постоянного тестирования вашего продукта.Именно такая проблема и побудила меня задуматься в этом направленииДля того чтобы не у...
Как управлять проектами в маркетинге без истерик и горящих дедлайнов Рассказываем на примере бесплатного набора инструментов для бизнеса Битрикс24.
Выжить без cookies: как мы объединили CDP и сквозную аналитику для компании-автопроизводителя В этой статье мы расскажем об интеграции платформы для управления собственными данными от нашей компании CleverData с решением для сквозной аналитики Calltouch. Проект проводили для компании‑автопроизводителя с разветвленной дилерской ...
Прости, Rosetta, мы должны расстаться С релизом Xcode 14.3 Apple убирает поддержку Rosetta и почти прямым текстом говорит разработчикам, что откладывать адаптацию своих проектов под Apple Silicon дальше уже некуда. Сегодня я поделюсь историей про то, с какими сложностями мы столкнулись в нашем основном приложени...
[Перевод] Иерархические пространства имен в Kubernetes: объясняем на примере Пространства имен — критически важный ресурс для поддержки мультитенантной архитектуры кластера Kubernetes. Но ими трудно управлять при работе с крупномасштабными мультитенантными кластерами. К счастью, процесс можно упростить, добавив в Kubernetes функцию иерархических пр...
[Перевод] Математика самонаводящихся ракет из аниме Я создал прототип ракетной атаки! Для этого понадобилась хитрая математика, о которой будет рассказано в этой статье. Мы поговорим о кубических кривых Безье, шуме Перлина и rotation minimizing frames. Читать дальше →
[Перевод] Введение в архитектуру Greenplum В этой статье поговорим о Greenplum — СУБД, основанной на PostgreSQL. Разберём её общую архитектуру, способы хранения данных, а также перечислим проблемы, с которыми можно столкнуться в ходе эксплуатации. Читать далее
Хаос-инжиниринг с Chaos Mesh В этой статье мы поговорим об использовании Chaos Mesh — опенсорс-фреймворка для хаос-инжиниринга в Kubernetes. Все развёртывания из этой статьи доступны на GitLab. Клонируйте репозиторий и продолжайте читать. Читать далее
[Перевод] The Best Golang framework: no framework? Вольный перевод статьи на ресурсе threedots.tech от Robert Laszczak - главного инженера в SlashID, сооснователя Three Dots Labs и создателя популярной Golang-библиотеки Watermill.На протяжении некоторого времени я занимался руководством группы Go-разработчиков и одним из са...
Автоматизация за 7 500 000 рублей в усадьбе 1500 м² с бассейном и SPA Кто не мечтает о своем доме с несколькими этажами, множеством комнат и большим бассейном? А если он еще и умный? Сегодня я расскажу о весьма амбициозном проекте – загородном доме площадью 1500 м² с очень большим бассейном и бюджетом 7,5 миллионов рублей на автоматизацию. На ...
Куда приложить машинное обучение? Всем привет! В прошлой статье я рассказывал про жизненный цикл машинного обучения, когда его внедрение происходит стихийно. Теперь поговорим про более осознанный подход, к которому я пришел через хаотичное внедрение и боль. Ниже будет инструкция по поиску проекта для ML...
Перевод с программистского: как убедить бизнес инвестировать в технику Каждый программист, архитектор или тестировщик понимает важность технических инвестиций и наличия стратегии гашения технического долга. Бизнес, особенно тот, который хочет считать себя передовым, модным и молодежным, тоже знаком с этими понятиями и даже иногда использует.Я х...
Анкета менеджера it-проектов Лет 5 назад, когда я искал свою первую работу в роли менеджера проектов, появилась идея составить некую анкету, которая бы помогла быстро погрузиться в проект.Анкета должна была состоять из вопросов к ключевым членам команды. Вопросы должны были познакомить новоиспеченного м...
[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 1 От переводчика. В сети есть много информации о работе веб-серверов на микроконтроллерах, но она плохо структурирована и не отличается системным подходом к изложению материала. Среди прочих есть в интернете один замечательный, можно сказать культовый, туториал (руководство)...
Intel готовит новую графическую архитектуру Xe2 Новое поколение архитектуры Xe будет разделено на дискретные и интегрированные решения
Что выбрать для очередного API: HTTP или gRPC Команда VK Cloud перевела статью с подробным техническим сравнением двух типов API: HTTP и gRPC. Автор рассказывает о своем опыте работы и описывает нюансы, преимущества и недостатки каждой технологии. Читать дальше →
Инсайдеры раскрыли детали Snapdragon 8 Gen 3 и не только Некоторое время назад мы рассказывали о процессоре Snapdragon 8 Gen 3 от компании Qualcomm, где было упомянуто о том, что производитель попытается впервые использовать «титановые» ядра и поддержку только 64-битной архитектуры приложений. Однако тогда не было информации о гра...
[Перевод - recovery mode ] Вызов асинхронных внешних API с помощью AWS Step Functions Внешние API могут помочь организациям оптимизировать операции, снизить затраты и улучшить качество услуг для своих клиентов. Однако при интеграции со сторонними вендорами мы можем столкнуться с различными проблемами, такими как безопасность, отказоустойчивость и стоимость.Ор...
Импортозамещение, которое мы потеряли ч.2: АСУ ТП по телеграфному кабелю, нейронные сети и РСУБД в 60-х Пилотная статья понравилась комьюнити, а значит продолжаем рассказывать о ранних советских разработках, предвосхитивших современные достижения отрасли, а порой, опередивших своё время. Наш рассказ будет не полным без упоминания проектов АН УССР, наиболее важная часть которых...
Index.ts – зло и польза Привет всем! Меня зовут Михаил, я старший Frontend-разработчик в НЛМК, занимаюсь разработкой одной из внутренних информационных систем на React + Typescript.Расскажу про самый короткий и наименее трудоемкий способ экспорта и импорта модулей, что частенько требуется для постр...
Сделано на Python: экспорт статистики ВКонтакте с помощью Prometeus и Grafana Выпускник курса Python для инженеров Денис Алексеев рассказал о своем проекте, который защитил на итоговой презентации.Проект помогает упростить экспорт статистики из сообществ в социальных сетях и поставить этот процесс на рельсы автоматизации. Читать далее
Tinder по интересам, «Морской Boy» и сегментация КТ-снимков: 10 студенческих идей, которые стали проектами А чем вы занимались в университете? Стипендиаты Selectel Career Wave — программы для учащихся технических вузов — создают бота для автоматизации работы в шахтах, развивают геймдев и устанавливают системы для «умного дома». В тексте собрали самые яркие проекты и предлагаем в...
[Перевод] Ограничиваем число процессов в pod’е Kubernetes Если мы говорим о безопасности в Kubernetes, первым делом нужно защитить ключевые компоненты кластера (pod’ы) от внешнего воздействия и ограничить риски внутри самих pod’ов. Чем меньше процессов в pod’е, тем меньше уязвимостей в кластере.В этой статье мы обсудим, почему риск...
Оцифровка сознания человека Человек смертен. Это означает что однажды наступает момент когда тело умирает. Избежать этого пока не сумел никто. Но сейчас мы живем в особое время. Технический прогресс дошел до того, что многое становится возможным. В первую очередь я имею ввиду достижения в области вычис...
Особенности национального ПО: обзор РЕД ОС Всем привет! В связи с последними событиями в мире, вопрос отечественных разработок в сфере программного обеспечения и дистрибуции становится все более и более актуальным и нам все чаще поступают запросы по переезду с западных дистрибутивов на&n...
Архитектура PostgreSQL. Часть 1. Цикл сервера Продолжаем изучать исходный код PostgreSQLВ этот раз исследуем главный цикл сервера:- Принятие входящих подключений;- Проверка окружения;- Обработка упавших воркеров. Читать далее
Интеграция с Apache Cassandra. Создаем микросервис с Cassandra и Kafka Сегодня мы узнаем, как написать микросервис, который сохраняет данные в Apache Cassandra с помощью Java-драйвера DataStax и генерирует события для изменений данных в Apache Kafka.Этот пост основан на дизайне простого микросервиса для управления данными бронирования отелей, к...
DotNet быстрый маппинг моделей с Mapster Tool Обзор инструмента Mapster Tool с небольшим примером его использования. Читать далее
[Перевод] Исчерпывающее руководство по различным типам API API (Application Programming Interface, программный интерфейс приложения), является жизненно важным компонентом в современном ландшафте разработки программного обеспечения, обеспечивая строительные блоки для взаимодействия приложений друг с другом. В этой статье рассмотрим п...
Микрофронтенды на React и ExtJS Хочу представить решение по внедрению микрофронтендов в компании РТ МИС с помощью Custom Elements, чтобы связать приложения написанные на библиотеке ExtJS и React.В данной статье расскажу, для решения каких проблем выбрали микрофронтенды, с какими проблемами столкнулись при ...
MediaTek готовит чипсет с графикой NVIDIA MediaTek прилагает большие усилия, чтобы произвести впечатление на рынке флагманских смартфонов, и, похоже, следующим шагом на этом пути станет новый графический процессор от самой NVIDIA. Как отмечает DigiTimes, MediaTek работает над интеграцией графического процессора…
Нейросеть ChatGPT работает на десятках тысяч графических процессоров Nvidia A100 Теперь компания Microsoft анонсировала переход на более новый графические чипы Nvidia H100, что ещё больше повысит производительность суперкомпьютера
Анализ временных рядов Привет! В последние годы аналитика данных переживает настоящий бум. Все большее количество компаний принимают решение сбора, хранения и анализа данных, чтобы повысить эффективность своих бизнес-процессов и принимать решения на основе фактов.Одним из наиболее важных инструмен...
TAPE: первый бенчмарк для few-shot оценки языковых моделей на русском языке Мы в SberDevices обучаем и оцениваем языковые модели для русского языка уже давно — так, например, за два года существования бенчмарка Russian SuperGLUE через его систему оценки прошли более 1500 сабмитов. Мы продолжаем разрабатывать инструменты для русского языка и в этой с...
Как построить техническую поддержку в компании: от API до оператора Привет, Хабр! Меня зовут Станислав Романов, я руковожу всем техническим контентом коммуникационной платформы МТС Exolve. О том, что такое МТС Exolve, вы можете узнать из этого материала. А в этой статье я расскажу о том, как грамотно организовать техподдержку, настроить все ...
[Перевод] В стране потоков — Кафка, часть 4: «Мой кластер потерян!» — принятие неудачи В предыдущих частях серии статей мы рассмотрели принципы работы преимущественно с точки зрения приложения. В этой заключительной части мы фокусируемся на инфраструктуре.Серия статей состоит из следующих связанных частей:Часть 1: Сообщение producer’а;Часть 2: Подъем consumer’...
OLIMEX ESP32-EVB: программируем непрограммируемое Продолжаем изучение платы OLIMEX ESP32-EVB и сегодня мы поговорим о её программировании. Напомню, что на небольшой квадрат текстолита размером 75х75 мм компания OLIMEX умудрилась поместить микроконтроллер ESP32, Ethernet физику LAN8710A, microSD картридер, IR приёмник и пе...
Как упростить импорт JavaScript модулей с помощью Node.js Subpath Imports Существует множество библиотек для настройки алиасов в Node.js, таких как alias-hq и tsconfig-paths. Однако однажды, изучая документацию Node.js, я обнаружил возможность настройки алиасов без использования сторонних библиотек. Более того, данный подход позволяет использовать...
Дельта компрессия и квантизация объектов в C# Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам.В первую очередь это касается реалтайм игр, которые критичны к сетевым задержкам, имеют активное общение клиента и сервера, например, 10 - 60 раз в секунду и используют UDP протокол. В стат...
[Перевод] Визуализация 5 алгоритмов сортировки на Python Сортировка массивов часто используется в программировании, чтобы помочь понять данные и выполнить поиск. Поэтому скорость сортировки больших объемов информации крайне важна для функциональных проектов и оптимизации времени работы. Есть много алгоритмов для упорядочения объек...
Tibx или не tib(x): вот в чем вопрос… Сегодня я хочу поговорить о том, каких преимуществ в вопросах резервного копирования и аварийного восстановления можно добиться за счет смены архитектуры архива и правил хранения информации. Разумеется делать я это буду на примере нового формата архивов, который используют п...
[Перевод] История «ЭХО», одной из первых социальных сетей Задолго до разработки Фейсбука и Вконтакте, задолго даже до появления Всемирной паутины, первая социальная сеть уже успешно работала на восточном берегу США. И даже была довольно популярной, хоть доступ туда и стоил в итоге совершенно баснословных денег. А создала её простая...
Геопространственные технологий для управления паспортом медицинского участка Все началось с голосовых роботов. Во время борьбы с Ковидом наш коллцентр, носящий теперь гордое имя Центр телефонного обслуживания граждан 122, все чаще и чаще выстраивал очереди со временем ожидания ответа оператора свыше 30 минут. Нанять больше людей и начать стабильно ук...
[Перевод] Создаем клон Instagram при помощи Flutter и Feeds. Часть 2 Привет! Продолжаю выкладывать перевод статьи, которую я использовал как основу для реализации социального функционала в нашем проекте Dom24x7, где люди могут общаться друг с другом, решать возникающие бытовые проблемы, а также взаимодействовать с УК/ТСЖ. Первую часть статьи ...
Blueprint: удобный инструмент для создания UI на Gtk4 Разметку для Gtk-приложений можно создавать несколькими способами. Это можно сделать при помощи средств самого языка программирования, на котором пишется программа. Или же применить визуальный конструктор, типа Cambalache, который, в свою очередь, создаст специальный ui-файл...
Путешествие сквозь секреты прошивок: исследование основ Процесс запуска компьютера всегда был интересен пользователям. Именно здесь начинается магия, которое продолжается, пока устройство включено. В этой статье рассматривается общая картина процесса загрузки, включая различные этапы, ключевые компоненты, задачи, с которыми сталк...
Ультимативный гайд по HTTP. Cookies и CORS Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture, а это мой цикл статей о протоколе HTTP. В первой части мы уже познакомились с версией протокола 1.0 и поговорили о структуре ответов и запросов. Теперь пришло время узнать, что такое...
[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 1 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...
Автоматизируем перевод с деплоя bash-скриптами на helmfile при помощи Python: инструкция по применению Выпускник курса Python для инженеров Максим Дубакин рассказал о рабочем проекте собственного производства, который заавтоматизировал повторяющиеся задачи по переводу с деплоя bash-скриптами на helmfile при помощи Python и уменьшил затраты времени на ~ 2 часа. Читать далее
Как рисовать красивые соединения с помощью SVG Представьте, в вашем проекте есть куча разбросанных по пространству логически связанных элементов, которые (о ужас!) могут свободно перемещаться по пространству. Задача - красиво и наглядно показать пользователю эти связи, чтобы упорядочить представление. В данной статье я п...
Высоконагруженный IPC между C++ и Python Несколько лет назад Аурига по заданию известного медицинского стартапа разрабатывала решение, связанное с параллельной обработкой нескольких потоков видеоданных. Ключевой особенностью технического решения была скоростная передача и обработка большого потока видеоданных от др...
FRED-T5. Новая SOTA модель для русского языка от SberDevices Уже много времени прошло с момента публикации наших последних языковых моделей ruT5, ruRoBERTa, ruGPT-3. За это время много что изменилось в NLP. Наши модели легли в основу множества русскоязычных NLP-сервисов. Многие коллеги на базе наших моделей выпустили свои доменно-адап...
Изучаем PostgreSQL. Часть 1. Знакомимся с архитектурой На сегодняшний день существует большое количество различных систем управления базами данных - СУБД, от коммерческих до открытых, от реляционных до новомодных NoSQL и аналогичных.Одним из лидеров направления СУБД является PostgreSQL и ее различные ответвления, о некотор...
Что под капотом «ответов на вопросы» Маруси? Привет, это команда ответов на вопросы Маруси.Этот материал состоит из двух частей. Это вторая часть (первая часть). В ней мы чуть глубже копнём технический аспект того, как устроены ответы на вопросы Маруси.В первой части мы поверхностно рассмотрели механизм, позволяющий на...
Линукс не для айтишника или Линукс для неайтишника? Часть 2 Привет, Хабр!В первой части я рассказал о своём опыте с Simply Linux, пришла очередь поделиться впечатлениями от Astra Linux CE Orel. В этот раз картинки будут. Читать далее
[Перевод] Обновление Flutter 3.7: перевод официального релиза и комментарии Улучшенная поддержка Material 3, обновления DevTools, новые виджеты – Google представил очередное обновление кроссплатформенного фреймворка.По традиции, команда Flutter-разработчиков Friflex делится первым переводом официального релиза новой версии фреймворка с комментариями...
Дополняем реальность в мобильных приложениях через ARCore Технологии дополненной реальности (Augmented Reality, AR) развиваются с первых экспериментов с шлемами в 1968 году и прогнозируются как один из быстрорастущих сегментов развития интерфейсов (особенно при появлении специализированных устройств, таких как Hololens, Xiaomi Smar...
Делаем минимальную отладочную плату на STM32G030F6P6 и шьем в Arduino IDE У меня в разработке оказалось несколько устройств, в составе которых кроме прочего планируется использовать F030F6P6. Они маленькие и достаточно производительные. Для мониторинга вполне достаточно. Программист я так себе, занимаюсь в основном железом. Но экстренно пощупать н...
Безопасность в тренде. Лучшие опенсорс-проекты 2022 года В фильме «Шоу Трумана» главный герой в 30 лет начал подозревать, что за ним всю жизнь наблюдают, манипулируя поведением. Так и сейчас некоторые люди с опозданием открывают для себя сквозное шифрование трафика, инструменты для самостоятельного хостинга и другие программы, о...
Как я учил Алису отправлять почту Всем привет! Меня зовут Иван Чечиков, я QA-lead в МТС Digital, работаю над проектом стримингового сервиса WASD.TV. В этой статье я расскажу о своем пет-проекте по созданию навыка «Умный почтальон» для Алисы, ассистента Яндекса.Подробности – под катом. Читать далее
userver — что мы узнали за полгода в open-source Прошло больше полугода с момента выхода фреймворка для C++
Realme GT3 предложит зарядку на рекордные 240 Вт Realme GT3 — новый смартфон от китайского бренда, который показали на выставке MWC 2023. Он предлагает OLED T7+ дисплей с диагональю 6,74 дюйма, максимальной яркостью в 1 400 нит и ШИМ в 2 160 Гц. Это значит, что смартфоном будет удобно пользоваться как в светлое, так и в тё...
Как мы создаем Squadus: улучшение UX в новом продукте Ранее мы рассказали о том, с чем столкнулись при разработке фронтенда Squadus — нашего нового продукта для деловых коммуникаций. Сегодня же обратимся к теме улучшения пользовательского опыта.Squadus — приложение с обширной функциональностью. Это единое цифровое рабочее прост...
[Перевод] Неравенство Белла Меня искренне восхищает то, как Крис Бернхардт рассказывает про квантовые вычисления в своей книге. На мой дилетантантский взгляд, объяснение неравенства Белла в его исполнении – лучшее, что можно найти сейчас в интернете без доступа к телу кафедры квантовой физики. Я бы хот...
Как мы учили Почту события в календарь добавлять. Часть 2 Привет, Хабр! С вами Дима из команды Машинного обучения Почты Mail.ru. Сегодня я продолжу рассказывать о том, как мы автоматизировали добавление событий из важных писем в календарь.В первой части статьи я рассказал, как происходили проработка и анализ идей по этой фиче, иссл...
Автомобили Mercedes станут мобильными офисами – инструменты Cisco будут интегрированы в мультимедиа Зарубежные СМИ сообщают, что компании Mercedes-Benz и Cisco активно ведут совместную работу над интеграцией инструментов для проведения конференций в премиальные авто.
[Перевод] Использование фейковых функций в tSQLt для тестирования T-SQL кода Применение практик модульного тестирования для кода базы данных улучшает качество и архитектуру кода, а также позволяет своевременно обнаруживать и устранять ошибки. Читать далее
Фортран: пишем параллельные программы для суперкомпьютера В первой части статьи мы рассмотрели написание на современном Фортране простой программы, реализующей клеточный автомат "Жизнь", в виде классического последовательного кода (SISD), матричных операций (SIMD) и параллельных конструкций SMP (SIMD с частью функций MIMD). Сейчас ...
Технический геймдизайн. Конфиги, баланс и контент на примере PC стратегии Одна из распространённых задач, с которой сталкиваются как начинающие, так и опытные геймдизайнеры - описание большого объёма контента для передачи его параметров в движок. Задача не из лёгких, учитывая что найти материалы о технических аспектах геймдизайна очень тяжело, осо...
Итоги третьего ежегодного опроса PHP-сообщества Привет! В декабре вновь прошел опрос русскоязычного PHP-сообщества. Помогали составлять его и распространять ребята, которые развивают городские и региональные PHP-комьюнити, а также руководят каналами и подкастами про PHP.Удалось собрать 1215 ответов. Расспросили сообщество...
Как не навредить себе и коллегам, когда проводишь изменения в компании Привет! Меня зовут Михаил Мартынов, я деливери-менеджер Тинькофф Инвестиций. Мы с коллегами занимаемся тем, что улучшаем процессы. Они бывают самые разные: — работа с проектами и задачами;— разного рода планирование; — процесс интеграционного тестирования; — в...
Король умер. Да здравствует Nxs-backup v3.0 4 года назад наша команда Nixys рассказывала, почему мы решили сделать собственный инструмент для резервного копирования и почему другие инструменты нам не подошли. Сегодня хочу рассказать, какие проблемы и недостатки в старой версии нам мешали, почему мы...
Главное из мира Python за февраль 2023 Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения. Читать далее
Главное из мира Python за январь 2023 Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения. Читать далее
Библиотека алгоритмов на графах на языке Go. Часть 1 Приветствую тебя, дорогой читатель! Мне 21, я студент и младший Go-разработчик, а это - мой первый пост на Хабре. Недавно в компании с одногруппником мы решили взяться за амбициозный проект и я решил, что он, как никакой другой, подходит под первую статью. Проект заключается...
[Перевод] Создайте конвейер потоковой обработки событий в реальном времени с помощью Kafka, BigQuery & Looker Studio Создание простого проекта потоковой обработки событий – не самая простая задача. В сегодняшней статье мы расскажем, как можно достаточно просто сделать это при помощи Kafka, BigQuery & Looker Studio. Приложения для потоковой обработки в реальном времени иногда могут бы...
Эффектно и эффективно. 6 инструментов для анимации в React Native Всем привет! Меня зовут Евгений Прокопьев, я мобильный разработчик в СберМаркете. Более пяти лет я работаю с React Native и моя любовь — это красивые анимации. В этой статье я хочу рассказать, с помощью каких инструментов можно добиваться качественных анимаций на React ...
Тестирование блочных стораджей: нюансы и особенности практики Привет, Хабр! Меня зовут Сергей Качкин. Вместе с командой я занимаюсь тестированием производительности систем хранения данных: много тестов делаем сами, видим результаты наших коллег и заказчиков, так у нас накопилось некоторое количество опыта, которым хочется поделиться.&n...
Графический интерфейс для bash, делаем работу в командной строке удобнее Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продума...
[Перевод] 38 лучших CI/CD-инструментов в 2022 году Непрерывная интеграция (CI) и непрерывная доставка (CD) или CI/CD стали неотъемлемой частью подхода к разработке программного обеспечения и тестирования DevOps. Этот подход дает разработчикам возможность непрерывного развертывания кода. Кроме того, ошибки выявляются на ...
Трейсинг в Go — это просто В эпоху быстрорастущих приложений важно иметь возможность контролировать состояние системы в любой момент времени. Одними из требований для достижения этого являются логи и метрики, которые помогают нам следить за многими параметрами, такими как количество запросов в секунду...
Как создавались жидкокристаллические мониторы? В одной из популярных лекций о жидкокристаллических дисплеях, гуляющей по сети, для затравки говорится, что «у каждого с собой есть жидкие кристаллы». Там имелись в виду электронные часы на руке и смартфон в кармане. Но жидких кристаллов у каждого из нас неизмеримо больше, и...
[Перевод] Используйте всё богатство HTTP-кодов состояний Если вы не специалист по REST, то, вероятно, в своих ответах постоянно используете одни и те же HTTP-коды, в основном 200, 404 и 500. Если применяется аутентификация, то, возможно, добавляются 401 и 403; если есть переадресации, то 301 и 302, но на этом, скорее всего, список...
Реализация мультиоблачной стратегии для Cloud Storage в Битрикс24 Битрикс24 — корпоративное SaaS-решение (Software as a Service, программное обеспечение как услуга), которым пользуются компании разного масштаба и профиля для коммуникации между сотрудниками, хранения файлов, документов, ведения CRM. Битрикс24 используют тысячи клиентов, к...
Wrike Lock: как мы разработали механизм шифрования данных в продукте Привет! Меня зовут Даниил Гранкин, я разработчик внутреннего бэкенд-юнита в Wrike. В этой статье я поделюсь техническими подробностями разработки Wrike Lock — основного механизма шифрования данных в нашем продукте. А также расскажу, для чего мы используем Encryption as a Ser...
4 простых способа оптимизировать объём индексов в Elasticsearch Всем привет! Меня зовут Данила, я выполняю роль SR-инженера в Usetech. В этой статье я бы хотел рассказать о 4-х способах, которые помогут сократить объём ваших индексов в Elasticsearch.Прежде всего статья будет полезна начинающим специалистам по администрированию ELK с...
20+ open source утилит для шифрования файлов на (почти) любой случай жизни На самом-самом деле его секреты нафиг никому не нужны. И кстати, такой ключ за 5 баксов ещё надо поискать Шифропанкам посвящается. Мы собрали тулкит из популярных программ, которые помогут защитить личные данные от несанкционированного доступа и попросили исследователя крип...
Ныряем в готовые кластеры Kubernetes с Deckhouse и werf Российские облачные провайдеры начали предоставлять неплохие managed-решения для Kubernetes. Однако многие из них требуют доводки до ума и установки большого количества компонентов, направленных на сбор логов, мониторинг и доступ к кластеру. Это вынуждает пользователей соб...
Безграничные возможности FFmpeg на примерах FFmpeg — швейцарский нож для мультимедиа. Совершенно незаменимая программа, которую использует в повседневной жизни почти каждый, даже не зная об этом. Например, вы сняли видео и заливаете на видеохостинг — оно перекодируется и публикуется уже в другом разрешении/формате/ра...
Github Actions. Простой пример для уверенного знакомства Здесь я буду расссказывать о моем опыте настройки CI/CD c помощью GitHub Actions.Эта статья поможет тем, кто хочет настроить автоматический деплой для личного/учебного проекта на свой удаленный сервер, пользуясь бесплатным сервисов GitHub Actions. Причем этим сервисом можно ...
XSS атакует! Не краткий обзор где и как искать уязвимости Казалось бы, XSS уязвимостям уже 100 лет в обед: написано огромное количество материала на эту тему, браузеры и инструменты которые мы используем тоже развиваются и добавляются новые уровни защиты. Но тема не перестает быть актуальной, ведь в новой версии Top 10 Web Applicat...
[Перевод] Введение в модульное тестирование T-SQL помощью tSQLt tSQLt — это мощный фреймворк с открытым исходным кодом для модульного тестирования кода SQL Server. Модульное тестирование SQL-кода — полезная практика в разработке баз данных, которая позволяет обнаруживать ошибки до попадания их в продакшн. Хотя надо сказать, есть раз...
Как мы улучшили самозащиту приложения благодаря KNOX Привет! Меня зовут Сергей Занкин, я старший разработчик в мобильном штабе «Лаборатории Касперского» на проекте Kaspersky Safe Kids — это программа родительского контроля и защиты ваших детей в режиме 24/7. В данной статье расскажу о добавлении Samsung KNOX (далее KNOX) в пр...
Книга «Kafka Streams и ksqlDB: данные в реальном времени» Привет, Хаброжители! Работа с неограниченными и быстрыми потоками данных всегда была сложной задачей. Но Kafka Streams и ksqlDB позволяют легко и просто создавать приложения потоковой обработки. Из книги специалисты по обработке данных узнают, как с помощью этих инструмент...
Гибридные команды — роль и способы эффективных коммуникаций «Правильная коммуникация» — один из главных факторов успеха (или провала) продуктовой команды на проекте или в процессе поддержки функционала. Такая коммуникация вовсе не так очевидна и проста на первый взгляд, особенно, если в проекте участвуют разные по опыту, должности, т...
Как и зачем аналитику проводить UX тесты. Часть первая Привет, Хабр! Меня зовут Настя Московкина, и я работаю руководителем Отдела бизнес и системного анализа в приложении «Кошелёк». Сегодня поговорим о том, как аналитик может повлиять на повышение конверсий и превратить простых посетителей сайта\приложения в постоянных и предан...
create-react-app, но для Go? Спустя какое-то время работы с front-end'ом я решил перейти в страшный лес, каким его всегда представляли всякие мемы - back-end. Конечно же я выбрал node.js и начал с express.js. Для меня было необычно, что не было инструмента (или же я плохо искал) для того, чтобы создават...
Микрофронтенды — универсальное решение всех проблем или просто удобный подход? Сейчас понятие «микрофронтенды» встречается довольно часто, но что это такое и какие задачи они решают? Зачем нам микрофронтенды, если есть микросервисы или монолит? И стоит ли тащить микрофронтенды в свой проект только потому, что это модно? Расскажу об этом, а также о трёх...
[Перевод] taichi.js: Программируем на WebGPU без боли Привет, Хабр! Сегодня хочу предложить вашему вниманию перевод на русский язык статьи моего коллеги и хорошего приятеля Dunfan Lu. Он создал taichi.js - open-source фреймворк для программирования графики на WebGPU, и написал подробный туториал как его использовать на примере ...
Как меняется сумма от перемены мест в графике производства Меня зовут Ася, и я занимаюсь решениями по оптимизации в НЛМК-ИТ. Много лет я работала .NET разработчиком, мечтала о профессиональном росте. Коллеги из проекта по календарному планированию и графикованию поверили в меня и взяли в команду, несмотря на то, что на тот момент я ...
18 ловушек мозга: как повысить конверсию с помощью психологии Если знать особенности человеческого внимания, можно учитывать их и успешно обходить в дизайне сайта и делать его более удобным и конверсионным.
Три архитектуры CPU, три архитектуры GPU, четыре техпроцесса и до 16 ядер. AMD представила мобильные Ryzen 7000 Компания AMD представила множество новинок, включая новые мобильные процессоры Ryzen 7000. Было анонсировано пять линеек, причём, если ранее деление было по TDP, то теперь AMD пересмотрела подход. Как можно видеть на слайде, речь идёт о сериях с разными а...
Учитесь играть на музыкальном инструменте или любите слушать музыку? Так вы защищаете свой мозг При старении когнитивные функции естественным образом снижаются. Однако учёные из Женевского университета, HES-SO Geneva и EPFL узнали, что повлиять на этот процесс можно при помощи игры на музыкальном инструменте или прослушивания музыки.
[Перевод] Как и зачем следует автоматизировать DevOps Концепция DevOps не нова. В IT-индустрии все понимают, что это правильная методология построения ПО. DevOps пленила мир своим обещанием ускоренной доставки высококачественного продукта. Однако, несмотря на это обещание, многие бизнес-проекты не осознают весь потенциал этой ...
10 инструментов ИИ с бесплатным тестовым доступом, которые пригодятся в работе В этой статье собрано 10 инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и бесплатны для тестирования.Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.Практически все инс...
Централизация логирования микросервисов с Graylog Трассировка и анализ ошибок в микросервисной архитектуре без средств централизации логирования обычно причиняет неудобства, поскольку для понимания “что и на каком микросервисе умерло” приходится обходить микросервисы по очереди, сверять и сопоставлять данные в логах. В данн...
Анатомия игры. Кооперативное отступление Доброго времени суток, дорогие хабражители! Основной инструмент работы, помимо мозга, все еще находится вне зоны доступа, поэтому придется еще немного повременить с продолжением серии Анатомия игры. Впрочем, немного про игры мы все же сможем поговорить. Сегодня речь пойде...
Обзор всех полезных новшеств Windows 11 22H2 в 2023 году Windows 11 набирает популярность среди пользователей и стремительно развивается, обгоняя по количеству внедряемых новшеств Windows 10 в период пика популярности.
Server-Sent Events в java. От любви до ненависти… Я работаю на проекте, цель которого это некая пост-обработка финансовых операций. Это большая система, со множеством модулей и различными интеграциями с другими системами из которых к нам и попадают эти операции. У нас есть АРМ, он же веб-версия, он же фронтенд, для пользова...
Пишем простого бота-администратора для Telegram на Python. Тестируем на жене Создание своего собственного телеграм-бота является одним из увлекательных и полезных способов практического применения программирования. Я решил создать своего бота как вариант добавления нового увлекательного проекта в свой портфолио, а также для создания комфорта и удобст...
Поднимаем Kubernetes с нуля Создание кластера Kubernetes может быть сложным процессом, который включает в себя множество опций, но сложные вещи могут стать более понятными, когда их разложить на части. В этой статье мы демистифицируем процесс создания кластера Kubernetes, понимая минимальный набор комп...
Игра на опережение: как NGFW-как-сервис поможет в кибервойне Борьба за кибербезопасность с каждым днем становится все более напряженной для компаний, и иметь представление о ее основных инструментах сегодня нужно не только специалистам по информационной безопасности. Данная статья – попытка рассказать в упрощенной форме об одном из та...
Неожиданные находки с DCAP, или как мы разгребали свою файловую систему. Часть 2 Как-то раз мы решили устроить самопроверку и провели аудит файловых хранилищ. О первой части этого эксперимента мы уже вам рассказывали, тогда речь шла о проверке дисциплины и базовых правил ведения документооборота. Сегодня расскажем о безопасности. Наш основной инструмент ...
Чему учит Kubernetes The Hard Way? Kubernetes The Hard Way – широко известный репозиторий, описывающий установку и настройку кластера с нуля без вспомогательных утилит на виртуальные машины Google Cloud. Обычно для разворачивая кластера используют kubeadm или kubespray, но пройти the hard way часто ...
Семь дощечек мастерства на службе ML Сегодня задачи технического зрения становятся с каждым днем все более актуальными. Одной из классических и, пожалуй, самых распространенных и востребованных задач этой сферы является распознавание. Основная проблема распознавания заключается в том, что эта задача даже в самы...
Определение комбинации в Техасском Холдеме Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. А в прошлом я был профессиональным игроком в покер. Сейчас я решил сделать на Unity пример проекта с покером, который выложу в опенсорс, когда я его доделаю. А пока хочется посмотреть на интересную задачку...
«Росэнергоатом» тестирует отечественные ПК «Бобёр» с процессорами «Байкал-М» Концерн «Росэнергоатом», который входит в состав госкорпорации «Росатом», начал тестировать российские ПК производства Delta Computers. Речь идёт о модели «Бобёр» на базе отечественного мобильного процессора. Источник: Delta-Com...
Что НЕ должен делать тимлид — или сага о задачках в таск-трекере Привет! Меня зовут Виталий, я фронтенд-тимлид в KTS. Рассказываю, что входит в нашей компании в обязанности тимлида, а что — нет. Спойлер: это не расставление задач в таск-трекере.Зоны ответственности тимлида отличаются от компании к компании и от проекта к проекту. Ин...
Отгадай слово: как мы создали игру с элементами машинного обучения и вышли в ноль за 2 месяца Как думает искусственный интеллект? Попробовать разобраться в его логике можно в игре от менторов AI Talent Hub и студентов ИТМО «Отгадай слово». За два месяца в нее сыграли уже более 107 тысяч уникальных пользователей, а количество подписчиков одноименного телеграм-канала у...
Intel внедряет в Chromium ИИ масштабирование видео с ускорением на графическом процессоре Похоже, готовится аналог NVIDIA RTX Video Super Resolution.
ML-пайплайн классических банковских моделей классификации Всем привет! С вами на связи дата-сайентисты банка "Открытие" Иван Кондраков и Константин Грушин. В прошлой статье мы рассказывали про решение, которое позволило повысить эффективность в проверке гипотез для моделей. Если вы успели с ней ознакомиться, то уже знаете, что наша...
Полезные TreeMap визуализации для MSSQL, Postgres и MySQL Я очень люблю визуализации. Человек лучше всего воспринимает информацию через образы. Для трех часто встречающихся баз (MSSQL, Postgres и MySQL) я смастерил плагины к проекту Bell, хотя этот код на Python можно использовать и отдельно. Поэтому для каждой визуализации я буду ...
Джефф Безос: предприниматель или изобретатель? Когда Джефф Безос решил основать Amazon (изначально книжный интернет-магазин), он открыто оценивал вероятность провала в 70%. Сейчас Amazon среди самых известных транснациональных корпораций в мире. Одна из ключевых её особенностей — поощрение изобретений и инноваций среди с...
Немного о принципах организации офисных пространств для ИТ-команд и пара историй про наш офис Привет, Хабр! Меня зовут Юля. Почти 2 года назад IT-команда Россельхозбанка переехала в новый офис для разработчиков, пространство которого проектировали практически с нуля. Пережив все это, мы решили поделиться парой основных принципов про организацию рабочих пространств дл...
[Перевод] Как работает service mesh и API-шлюзы в микросервисной архитектуре Вы наверняка много раз слышали о service mesh и API-шлюзе применительно к микросервисам. Их часто путают. В этой статье мы подробно поговорим о двух этих инструментах, а также разберемся, когда их лучше использовать и что будет, если их объединить. Читать далее
Что такое «хорошо» и что такое «плохо» в NiFi. Часть 1 Улучшаем читаемость схем и повышаем производительностьВсем нам (ну хорошо, большинству!) приходится иметь дело с Apache NiFi в качестве ETL-инструмента. У нас он используется для управления потоками данных в платформе ZIIoT (кому интересно, что это за зверь, можно почитать з...
Вечный соперник: история AMD K7. Часть 1 — Слот После основательного экскурса в историю «нетрадиционных» (на сегодняшний день) систем и долгого перерыва пора вернуться к самой массовой архитектуре для ПК — х86. Сегодня у нас на очереди долгожданный цикл о процессорах AMD. Начнем его, конечно же, с К7, но перед этим позв...
3500 в час с ChatGPT Привет, Хабр! Меня зовут Саша, и я тот самый студент, который написал диплом с помощью ChatGPT за сутки. Всю историю можно почитать на Хабре тут, тут, где всерьез обсуждалась идея лишить меня диплома, и тут, где недоуменно размышляли, что со мной делать. Пока “Антиплагиат” т...
[Перевод] Не спешите хоронить Cucumber Давид Дылович (Dawid Dylowicz) любит задаваться серьезными вопросами. На этот раз он любопытствует, не умирает ли Cucumber. Причина, по которой возник этот вопрос — увольнение мистера Мэтта Уинна (Mr Matt Wynne).Cucumber — это популярный инструмент для разработки, ориентиров...
[Перевод] Как структурировать проекты машинного обучения с помощью GitHub и VS Code: полная инструкция с настройками и шаблонами Хорошо продуманный процесс структурирования проектов машинного обучения поможет быстро создавать новые репозитории GitHub и с самого начала ориентироваться на элегантную программную архитектуру. Команда VK Cloud перевела статью о том, как организовать файлы в проектах маши...
Автоматизация управления с помощью Ansible В предыдущей статье мы достаточно подробно рассмотрели вопросы связанные с автоматизацией управлением и настройкой ПО в средних и крупных сетях. Рассмотрели Vagrant и основные методы работы с виртуальной инфраструктурой. В этой статье мы подробно поговорим об использовании т...
Что Java-разработчикам расскажут на JPoint 2023? Недавно Java дошла до юбилейной 20-й версии, а у нашей Java-конференции JPoint своя круглая дата: впервые она прошла 10 лет назад. Каких именно докладов о языке-юбиляре ожидать на конференции-юбиляре в апреле?Как водится, в программе есть разные тематические блоки: — и ...
Сделал приложение для создания мультиязычных книг и параллельных корпусов Хочу показать, как создать мультиязычный параллельный корпус и книги при помощи моего пет-проекта, которым я занимаюсь несколько лет.Для примера возьмем 10 редакций "Мастера и Маргариты" Михаила Булгакова (ru, uk, by, en, fr, it, es, de, hu, zh). Сначала выровняем девят...
5 резидентов «Сколково» стали лауреатами крупнейшей экологической программы для стартапов GreenTech Startup Booster проводится Фондом «Сколково» с 2020 года. За это время в отборе приняли участие около 2000 проектов из 190 городов мира. Программа многократно доказала востребованность и эффективность, помогая находить и внедрять новые технические решения для реаль...
Акты, классы и семантический сахар В предыдущей статье «Событийная онтология vs объектная» были введены основные положения событийной семантики, описаны ее отличия от объектно-ориентированных подходов к моделированию предметной области. В данном тексте на конкретных примерах демонстрируются особенности событи...
[Перевод] Я нашёл 213 уязвимостей безопасности в кодовой базе при помощи GPT-3 «Меня удручает ваш уровень кибербезопасности» Краткая сводка: GPT-3 обнаружила 213 уязвимостей безопасности в git-репозитории. Для сравнения: один из лучших коммерческих инструментов на рынке (разработанный респектабельной компанией, которая занимается кибербезопасностью) ...
Schema Registry с Protobuf в Kafka — зачем оно надо? Всем привет. Меня зовут Нина Пакшина, я разработчик “Лента Онлайн” и часть операционной команды в сервисе доставки продуктов.В данной статье на примере языка Go я расскажу о том, как мы внедряли Kafka в связке с Schema Registry и Protobuf в качестве формата сообщений.Я ...
Кто создал управляемые сани и заработал на этом целое состояние? Знали ли вы, что санки – это запатентованное изобретение? В нашей статье мы рассказываем об истории появления управляемых саней, которые принесли огромный доход его создателю. Читать далее
Как фронтендер подписывать CSR учился В статье рассказываю про опыт изучения Certificate Signing Request (CSR) формата. О том, что такое PEM, DER, какова структура самого CSR файла и как последний подписывается. А также поделюсь, с какими сложностями в процессе изучения я столкнулся. Читать далее
[Перевод] Мысли о Zig и Rust Этот пост будет довольно сумбурным. Несколько месяцев назад я написал Hard Mode Rust, исследуя стиль программирования allocation-conscious. В последовавшей дискуссии @jamii упомянул TigerBeetle — распределённую быструю и маленькую базу данных, написанную на Zig в схожем сти...
Декаплинг: качество питания микросхем Чтобы цифровые микросхемы работали правильно, рядом с ними должны стоять конденсаторы по питанию. В этой статье разбираемся, насколько те или иные решения при разработке (количество конденсаторов, их ёмкость, расположение и трассировка) могут повлиять на работу устройства. П...
Github pages для pet проектов Как можно использовать github pages для своих fullstack pet проектов с бэкендом на статических файлах) Читать далее
Geb Framework для автотестов Добрый день, коллеги. Один из самых известных и популярных фреймворков для написания автотестов - это Selenium. У этого фреймворка множество плюсов и возможностей, но в то же время есть некоторые неудобства в конфигурации, настройке и написании тестов. Поэтому появились фрей...
Документ бизнес-требований: Что это такое и как его составить [+5 шаблонов] Документ бизнес-требований (BRD) является отправной точкой для любого программного проекта или бизнес-решения. Благодаря такому документу члены команды приходят к единому мнению о том, что нужно создать, зачем это делать и как этого добиться.В этой статье изучаются основные ...
С 9 мая. WhatsApp получил функцию, которую обязан включить каждый человек Все большую и большую популярность по всему земному шару получают разного рода сервисы, позволяющие общаться через интернет. Наиболее популярным, известным и распространенным среди всех таковых является WhatsApp, а пользуется он огромной громадной популярностью по всему Чит...
Dictionary<int, T>: очень специальный Как-то раз была поставлена задача ускорить работу с Dictionary<int,?>, где ключом всегда выступал int, а значением - структура. Имеющаяся скорость не устраивала. Более того, очень бы хотелось иметь возможность получать ссылку (ref) на значение в Dictionary, чтобы можно...
Правда о железнодорожных тормозах: часть 5 — тормоза локомотивов В предыдущих статьях данного цикла мы поговорили подробно об истории развития железнодорожного тормоза, о приборах управления тормозами, приборах торможения и об особенностях реализации тормозов железнодорожных вагонов. Но, кроме вагонов существует еще и локомотивный парк, т...
Ретро, роли и спринты: очевидные (и не очень) вещи, которые мы поняли только спустя три года разработки Привет! Меня зовут Артур Карапетян, я Product Owner в Starfish24. Мы помогаем российским ретейлерам управлять жизненным циклом заказа, выстраивать и контролировать логику обработки с помощью OMS-системы. В общем, сложные омниканальные заказы — это про нас.В конце 2018 года я...
Сбор и анализ логов в Linux Журналирование событий, происходящих в системе является неотъемлемой частью функционала любого серьезного программного обеспечения. Операционная система или приложение должны в обязательном порядке рассказывать о своей жизни: регистрировать входы в систему, сбои, ошибки и др...
Ищем по-соседски: методы приближённого поиска ближайших соседей для A/B-тестирования гипотез Привет, Хабр! В этой статье мы рассмотрим один из подходов к офлайновому A/B-тестированию, поговорим о сложностях, которые возникают при оценке результатов пилотного проекта (далее — пилота) и разберём реализацию в коде. Читать далее
Яндекс опубликовал фреймворк для быстрой сборки Android-приложений Фреймворк Yatagan пригодится разработчикам, которые используют фреймворк Dagger
Как сделать анимацию с помощью MotionLayout Привет, Хабр! Меня зовут Павел Беловол, я Android-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это новая часть сериала о внедрении фичи Autoplay в KION, в которой я расскажу про свой личный опыт работы с MotionLayout на примере продакшн-задачи в KION. Из этой...
[Перевод] Запуск Stable Diffusion локально и в облаке с помощью Diffusers и dstack Вероятно, все уже слышали о Stable Diffusion - модели, способной создавать фотореалистичные изображения на основе текста. Благодаря библиотеке diffusers от HuggingFace, использование этой модели очень просто.Однако организация проекта и зависимостей для его запуска независим...
[Перевод] Как Cypress развивался в качестве инструмента автоматизации тестирования фронтенда в QuintoAndar От хакатона 2 года назад до 20+ фронтенд-приложений, выполняющих интеграционные тесты с Cypress. Проблемы и решения, с которыми мы столкнулись при автоматизации тестирования интерфейсов на данный момент. Читать далее
Игровая революция: Как передовые технологии меняют геймдев По мере развития технологий геймдев значительно продвинулся в создании захватывающих и реалистичных игровых миров. В этом посте пройдемся по основным игровым технологиям, которые позволяют создавать реалистичные игровые миры, ИИ для персонажей и миров, физику, звук и графику...
[Перевод] Объяснение терминологии Arm: Arm ARM, Armv9, ARM9, ARM64, Aarch64, A64, A78… Если вы новичок в экосистеме Arm, то считайте это кратким введением в терминологию, которую вы могли видеть раньше, но понимаете не до конца. Архитектура Arm — это семейство архитектур с набором упрощённых команд (Reduced Instruction Set Architecture, RISC) с режимами прос...
MediaTek и NVIDIA вместе создадут мобильный процессор Если верить свежей информации инсайдеров, компании MediaTek и NVIDIA планируют сотрудничество, чтобы совместно разработать новейшую архитектуру графического процессора для смартфонов, которая будет использована уже в следующем поколении чипов.Здесь хотелось бы напомнить, что...
Fukami. Ч.2. Прокачиваемся с ChatGPT Эйнштейн: "Порядок - для идиотов! Умные справятся и с хаосом... Если у них есть ChatGPT." В этой статье я рассказываю как этот чудо-помошник пропедалировал мой прогресс с проработкой концепции игры, которую "Я ДЖВА ГОДА ЖДУ". Читать далее
Вы пришли первым HR в компанию: краткое руководство к действию Приходя работать HR-ом в среднюю или крупную компанию, мы, как правило, сталкиваемся с устоявшимися процессами и уже внедренными работающими инструментами. В такой ситуации HR, конечно, может внести свои предложения по улучшению и повлиять на на некоторые процессы, но, в цел...
Одна платформа, чтобы править всеми Привет! Меня зовут Миша, я работаю в Ozon Tech — руковожу направлением базовых сервисов в платформе. Ozon сегодня — это порядка 4000 разработчиков и более 3500 сервисов. Разработка постоянно развивается, количество сервисов увеличивается, и одна из сложных задач — ...
[Перевод] Погружение в уникальные индексы Рассмотрим следующий пример:CREATE TABLE T (PK INT PRIMARY KEY, A INT, B INT)CREATE INDEX TA ON T(A)CREATE UNIQUE INDEX TB ON T(B)INSERT T VALUES (0, 0, 0)INSERT T VALUES (1, 1, 1)Теперь предположим, что мы выполним обновление:UPDATE T SET A = 1 – AЭто изменение влияет на кл...
Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очер...
Как мы в SM Lab сделали редизайн системы «Оценка вклада» Привет! Меня зовут Сергей Топунов, я фронт-разработчик в SM Lab. Недавно мы сделали редизайн одной из наших внутренних систем, о чем я и хочу вам сегодня рассказать. «Оценка вклада» — это внутренняя Backoffice-система, которая нужна для регулярной оцен...
Ищем иголку вредоносных запросов в стоге трафика: PT NAD vs. Cobalt Strike и Brute Ratel C4 Популярность фреймворков постэксплуатации среди злоумышленников растет: это удобный инструмент контроля зараженных устройств и горизонтального перемещения внутри сети. Они помогают атакующему собрать всю карту сети и связи между узлами в одном интерфейсе, из которого они же ...
Создание Kubernetes-кластера на пальцах или почему это не сложно Привет, меня зовут Руслан, я энтузиаст одного отдела искусственного интеллекта, занимаюсь автоматизацией процесса разработки и контролем за инфраструктурой внутри Kubernetes. Хочу детально рассмотреть развёртку Kubernetes-кластера, показать решения на возможные ошибки, ответ...
[Перевод] 8 бесплатных инструментов искусственного интеллекта, которые пригодятся Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.В этой статье собрано 8 бесплатных инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и самое главное бесплатны для тестиров...
ChatGPT на стероидах: возможности плагина-ретривера для семантического поиска OpenAI внедрил поддержку плагинов в ChatGPT, позволяя подключаться к сторонним сервисам и искать информацию в сети. Один из таких плагинов – Retrieval Plugin.В статье описывается процесс установки, настройки окружения и интеграции плагина, а также тестирование его работы чер...
ARM анонсировала ядра и GPU для нового поколения мобильных чипов В честь старта выставки Computex Taipei 2023 британская компания ARM анонсировала новое поколение процессорных ядер на архитектуре Arm v9.2 и графических ускорителей для будущих мобильных чипсетов. Основной [...]
[Перевод] Рендеринг на сервере и HTMX — это будущее Современная ситуация с разработкой веб-приложений Сегодня пользователи ожидают от веб-приложений плавной работы без перезагрузок страниц. К сожалению, эти ожидания обычно реализуются в виде одностраничных приложений (single-page application, SPA), использующих библиотеки и ...
Как я сделал SPA в два раза быстрее Существует огромное множество статей про оптимизацию загрузки веб-сайтов, но часто они обходятся лишь общими советами или абстрактными примерами. В этой статье я хочу поделиться своим опытом комплексной оптимизации реального проекта с конкретными примерами, в данном случае S...
Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом В течении последнего месяца в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.О...
Joomla-дайджест. 2-е полугодие 2022 Все главные новости из мира Joomla с момента выхода предыдущего дайджеста 24 августа 2022 года в одной статье. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla. Новости расширений, расширения для электронной коммерции и интеграций с Би...
Способы интеграции 1С с внешним миром. Актуальный список Информации о способах интеграции 1С с внешним миров в сети достаточно. Данная статья не претендует на детальное описание каждого способа. Она предназначена для того, чтобы быстро просмотреть все возможные на текущий момент альтернативы, сориентироваться и принять решение. Чи...
Технический долг. Как не обанкротиться Привет, Хабр! Хотел бы поделиться с вами своим анализом работы с техническим долгом.Как появился этот долг? Мы его взяли что бы поставить заказчику функционал раньше, чем мы бы смогли, если бы не «заняли». Так же как бизнесмен берет кредит для&...
Javascript: базовые вопросы и понятия для самых маленьких Javascript ― язык весьма оригинальный. Его можно любить, ненавидеть и даже бояться, но равнодушным он вас вряд ли оставит. Не знать или не понимать, с чем ты работаешь ― самая частая ошибка, допускаемая современными фронтенд‑разработчиками. Вам&...
Samsung продолжит использовать GPU AMD в своих SoC Exynos ещё несколько лет Компании AMD и Samsung продлили своё соглашение об использовании GPU первой в однокристальных системах второй. В рамках этого соглашения нас ждёт несколько поколений платформ Samsung Exynos с графическими ядрами, основанными на архитектурах AMD. Первой такой пла...
Эволюция графической подсистемы в отечественной ОС «Нейтрино» В марте прошлого года многие зарубежные вендоры заявили о приостановке поставок и технической поддержки для российских предприятий. Для нашей компании данное событие не стало неожиданным. Последние два десятилетия усилия предприятия были направлены на освоение и воспроизводс...
Как мы реализовали автоматизацию «как в Jira» в российском продукте Всем привет, меня зовут Алексей - я руководитель отдела интеграции EvaTeam. Это статья о том, как реализована настройка автоматизаций в EvaProject - российском аналоге Jira. В ней рассказывается о том, с чем пришлось столкнуться при переезде с Jira, и как мы реализ...
Кто в России производит мясо без мяса, молоко без молока и другие альтернативные продукты Рассказывают производители колбас, сосисок и других растительных полуфабрикатов. Читать далее
VPN Gate, или — неубиваемая Великим Китайским Файрволом распределённая сеть VPN Сегодня речь пойдёт о технологии распределённой сети VPN Gate, своего рода недруга Поднебесной в области интернет цензуры. На Хабре много статей на тему SoftEther VPN (нижележащий слой VPN Gate), но нет ни одной технически всесторонней статьи про саму распределённую сеть и т...
Как повысить эффективность своего колл-центра или улучшить пуш-сообщения Я перевела несколько научных исследований, авторы которых проверяли, как разные формулировки в почте, чате или телефонном разговоре влияют на поведение покупателя. В частности, на то, насколько довольным он уходит, сколько тратит и как быстро вернется. Читать далее
Тупая мелочь, поднявшая продажи на Авито на 100%-200% во время сбоя На авито произошел сбой отправки скидок покупателям. Но его было можно обойти и заработать на пониженной конкуренции. Как? Рассказываю в статье. Читать далее
[recovery mode] Как мы сделали образовательную игру для разработчиков в телеграмме? Как мы сделали MMO-RPG игру в телеграм для программистов. Рассказываем нашу историю от появления идеи, до прототипов, мвп, кучи багов и первых пользователей и фанатов. Франкенштейн из LeetCode, CodeWars и Duolingo в телеграм, да еще и с возможностью устраивать баттлы между р...
Assembler в Go: техники ускорения и оптимизации Привет, Хабр!В прошлой статье я рассказывал об ускорении копирования элементов одного слайса в другой с помощью средств Go. В этот раз я решил пойти дальше и посмотреть, что можно достичь, начав разговаривать с процессором на его языке. Я выбрал одну из оптимизированных верс...
Принципы построения многомодульного Android-приложения и их применение в СберЗдоровье Всем привет! Меня зовут Александр Ровнов. Я Android разработчик в СберЗдоровье.Статей про «чистую» архитектуру и многомодульность очень много. Но не многие компании готовы делиться своим опытом и полученными результатами от внедрения этих практик. Я хочу попробовать исправит...
[Перевод] Использование SEDA со Spring Integration и Apache Camel SEDA, или Staged Event-Driven Architecture, представляет собой архитектурный стиль, предложенный Мэттом Уэлшем в его докторской диссертации. диссертация. Его основными преимуществами являются масштабируемость, поддержка высококонкурентного трафика и удобство э...
[Перевод] Раннее компьютерное искусство 50-х и 60-х годов. Часть 2 В предыдущей статье мы начали рассказывать о творческих экспериментах с ранними компьютерами. Продолжаем тему. Читать далее
ContentChild, ViewChild, template reference variables В Angular принято писать декларативный код. Это значит, что нам не стоит руками запрашивать нужные нам сущности. Во фреймворке есть инструменты для работы с элементами шаблона, которые помогут нам. О них сегодня и поговорим. Давайте!
Открытый проект встраиваемого модуля для IoT Выполнен на чипе семейства Synergy. Если коротко, то: ядро Cortex-M4, 240 МГц, 640 КБ RAM, 32 МБ SDRAM, 4 МБ Flash, LoRA, BLE, Wi-Fi a/b/g/n, uSD, USB HS, IMU, NV RTC, Li-ion Charger, 81 I/O, 7 мкА wakeful sleep. Читать далее
Переходим на Flutter: за и против Привет, Хабр!Меня зовут Данил Абдрафиков и уже более пяти лет я занимаюсь мобильной разработкой, три из которых — на Flutter. Последние несколько лет я разрабатываю продукты для энтерпрайза в TAGES, и за это время у меня успел накопиться определенный опыт, которым я бы хотел...
Требования к графическим интерфейсам: одна памятка ответит на все ваши вопросы Большинство IT-команд работает по методологии Agile, основной постулат которой гласит: «Работающий продукт важнее исчерпывающей документации». При этом одним из критериев качества требований к ПО, наряду с корректностью, непротиворечивостью, недвусмысленностью, является их п...
Машинное обучение с помощью Streamlit с использованием набора данных от Титаника В этой статье я рассказываю об использовании машинного обучения в Streamlit и о том, как оно может помочь бизнес-пользователям лучше понять, как работает наука о данных. Мы собираемся посмотреть, сможем ли мы использовать модель на практике, чтобы пользователи могли протести...