Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Логика автопилота для летательных аппаратов самолетного типа при переходе от вертикального полета к горизонтальному

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 23

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

Читать далее
Рейтинг 0
Комментарии 0

Новости

Экспериментальная сортировка тернарным деревом

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 592

Когда-то меня заинтересовал такой вопрос: почему все самые лучшие сортировки, основанные на сравнениях, имеют асимптотику O(N log N). И почему тут логарифм двоичный? Можно ли создать сортировку, у которой асимптотика будет лучше в самом худшем случае? Я решил провести довольно любопытный эксперимент.

Результаты
Всего голосов 6: ↑1 и ↓5 -4
Комментарии 6

Сосульки на свесах скатной кровли: механизм образования и методы борьбы с ними

Время на прочтение 25 мин
Количество просмотров 1.7K

Островерхая скатная и плоская крыша дома в ИЖС: Битва архаично-романтичного  «дизайна» с инженерной рациональностью.

Крыша дома в частном секторе- это не только инженерное сооружение, но и главный элемент внешнего вида здания в целом.

Если учесть, что частный дом в значительной степени строят ради «показать себя», то его крыша становится скорее ярмаркой тщеславия, чем ответственной инженерной конструкцией. (см.рис.1.)

Читать далее
Всего голосов 17: ↑12 и ↓5 +7
Комментарии 8

Легко архивируем 1С на холодное хранилище SELECTEL v2 в 2024 году

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 331

В прошлой версии не было выработано однозначно хорошего способа архивации на SELECTEL. Если не ограничивать хранилища, то они могли приводить к большим расходам, да и архивация через FTP показала себя не очень надежной, часто сбоила.

Поэтому проведу работу над ошибками и расскажу, как архивировать 1С на SELECTEL в 2024 году.

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

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 6

Истории

Создание Chat-Ops бота в Mattermost на python

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 268

Привет, Хабр!

Компания АльфаСтрахование, как и многие другие, столкнулась с необходимостью замены используемых инструментов в связи с санкциями. За последний год мы отказались от Slack в пользу open-source аналога Mattermost, а Jira не без сложностей была заменена на Kaiten.

В нашей команде, которая занимается системой электронного документооборота в части операционных процессов, часто на голосовых встречах и при обсуждении в мессенджере Mattermost возникала необходимость накидать черновики задач в таск-трекер, чтобы потом их дозаполнить. Эта потребность наложилась на мое желание попробовать написать что-то на python, связанное с Chat-Ops.

В процессе написания такого бота я столкнулся с рядом слабо описанных аспектов, о которых и хотел рассказать в статье.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

Как украсить и оживить сайт на Astro с помощью KwesForms и Rive

Время на прочтение 6 мин
Количество просмотров 182


В этой статье я расскажу, как добавить веб-форму KwesForms на сайт, созданный с помощью Astro, а затем оживить её с применением пользовательских событий и Rive.

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

С примером репозитория, содержащего весь код и страницей предварительного просмотра можно ознакомиться по ссылкам:

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

NLUX: Библиотека интерфейса Conversational AI

Время на прочтение 5 мин
Количество просмотров 285

В современном мире взаимодействие с компьютерами и приложениями становится все более естественным и удобным благодаря использованию разговорных интерфейсов и искусственного интеллекта. Однако, интеграция таких функциональностей в веб-приложения может стать вызовом для разработчиков. В этом контексте библиотека NLUX (Natural Language User Experience) приходит на помощь, предоставляя инструменты для создания разговорных пользовательских интерфейсов в приложениях React.

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

Начнем(:

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Новые клиентские хуки React 19

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.2K



Вопреки распространенному мнению, основная команда разработчиков React занимается не только серверными компонентами React и Next.js. В следующей версии — React 19 — появятся новые клиентские хуки. Они сфокусированы на двух ключевых аспектах: выборке данных и работе с формами. Эти хуки повысят производительность всех React-разработчиков, включая тех, кто создает одностраничные приложения.

Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 1

Angular на стероидах: наращиваем производительность при помощи WebAssembly

Время на прочтение 9 мин
Количество просмотров 495
В этом посте продемонстрировано, как с лёгкостью использовать WebAssembly внутри приложения, написанного на Angular. Иногда в приложении на Angular требуется выполнить задачу, которая в JavaScript завершается не слишком быстро. Конечно, можно переписать алгоритм на другом языке, например, AssemblyScript и Rust — и код станет эффективнее. Затем можно скомпилировать получившиеся фрагменты кода в файле WASM и потоком передать двоичные данные в приложение, чтобы можно было вызывать из него функции WASM. Бывает и так, что разработчику не удаётся найти в реестре NPM опенсорсные библиотеки, нужные для решения задачи. В таком случае можно написать пакет не на JS, а на каком-нибудь другом языке, затем скомпилировать этот пакет в WASM и опубликовать код WASM в реестре NPM. Angular-разработчики устанавливают новый пакет как зависимость и выполняют WASM-функции внутри приложения.

В следующем демонстрационном примере я напишу на AssemblyScript несколько функций для работы с простыми числами, а затем опубликую файл индекса в формате WASM. Затем скопирую файл WASM в приложение Angular, потоком отправлю двоичные данные через WebAssembly API и, наконец, стану вызывать эти функции, чтобы с их помощью выполнять различные действия над простыми числами.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Бардак в GNOME — это не случайность

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 9K

GNOME удалось добиться, казалось бы, невозможного: это самая ограниченная по возможностям и раздутая десктопная среда для Linux. Но это не просто случайность. Это результат высокомерия и дилетантства основных разработчиков, превративших архитектурные решения GNOME в шедевр хаоса. Чтобы лучше понять, что происходит, давайте проанализируем некоторые из примеров. Даже если ни один из них не затрагивает непосредственно вас, стоит понять modus operandi ведения проектов GNOME и то, как они вредят сообществу Linux.
Читать дальше →
Всего голосов 51: ↑50 и ↓1 +49
Комментарии 92

Плагины IDE — простой способ войти в безопасную разработку. Без регистрации и СМС

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 944

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

Читать
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 3

Концепт бюджетной видеостены неограниченного размера для web-приложения

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 714

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Переделали всё, не разломав ничего, или Проект по информационной безопасности (взглядом PM)

Время на прочтение 10 мин
Количество просмотров 929

Тихо скрипнула задвижка, дверь открылась, и вот они — специалисты информационной безопасности со своими задачами. Куда бежать? Кого спасать? Где лазейки? А поздно! Мы уже всё увидели, услышали и готовы действовать. Новость или само появление отдела информационной безопасности (или Cyber Security-направления) в большой, узнаваемой на рынке компании с хорошей репутацией, часто встречается сотрудниками компании очень неоднозначно.

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

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 5

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Погружаемся в Kubernetes: полезные материалы от сотрудников Selectel

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 831

Часто новичкам сложно начать работу с Kubernetes. Нужно перебрать с десяток курсов, прежде чем они найдут действительно полезные материалы. Чтобы помочь вам с выбором, мы попросили коллег порекомендовать ресурсы для изучения Kubernetes. Сохраняйте в закладки: пригодится начинающим разработчикам, администраторам и DevOps-инженерам.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Схема цепи преобразования данных в системах с интерфейсами

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 228

Метод схематизации вариативности данных в точках их преобразований в информационной системе

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

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

Читать далее
Рейтинг 0
Комментарии 0

PostgreSQL: обеспечение уникальности записи с проверкой даты валидности

Время на прочтение 2 мин
Количество просмотров 1.3K

Как бы вы решали такую задачу? Предположим, есть таблица с купонами, и у купонов есть некая дата устаревания valid_until. Вам надо обеспечить такое ограничение (constraint) на уровне БД, чтобы у одного человека мог быть только один действующий купон.


Т.е., таблица изначально выглядит так:


CREATE TABLE coupons (
    id  bigint primary key generated by default as identity,
    user_id bigint not null,
    created_at timestamp not null,
    valid_until timestamp not null
)
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 15

Repeatable migrations в Flyway

Время на прочтение 2 мин
Количество просмотров 411
После статьи о логике в БД я много дискутирую в комментариях. Часто вижу заблуждение, что любая миграция при таком подходе — это новый файл, который невозможно сравнить со старым. Я покажу что это не так на примере Flyway.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 1

СoverLetterEnchancer: упрощаем поиск работы с FastAPI и YandexGPT

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 674

Салют! Меня зовут Григорий, я главный по спецпроектам в AllSee. Если вы когда‑нибудь серьёзно подходили к вопросу поиска работы, то вам определённо приходилось муторно писать сопроводительные письма под каждую вакансию. В данной статье я расскажу, как автоматизировать составление максимально релевантного для вакансии сопроводительного письма с учётом вашего резюме.

Читать далее
Всего голосов 4: ↑1 и ↓3 -2
Комментарии 2

Максимально простая игра на C++ (в консоли)

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 1.9K

Мой выбор остановился на простецкой игре - виселице, запускаемой в консоли (cmd), которую я решил написать на С++?. Здесь я хочу рассказать о том, как я её реализовал, что использовал и т.д.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 16

Как Сбербанк Онлайн готовится к пиковым нагрузкам

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 2.2K

Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.

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

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 10