Feed aggregator

«А» и «Б» сидели на трубе. «А» упало, «Б» пропало. Что осталось на трубе? (алгоритм получения ответа в частном случае)

Habr.com - Thu, 04/25/2024 - 12:21

Началось всё с того, что не нашел я библиотеки для JavaScript, которая вычисляет собственные векторы для комплекснозначной матрицы 4х4. Пришлось писать самому.

И в ходе реализации встала передо мной этакая бодренькая микрозадачка – из набора чисел «1, 2, 3, 4» вычеркнули два числа «x, y» (неодинаковых – кто-то придет завтра и задаст эти два числа, а мы сегодня должны приготовиться), требуется объяснить компьютеру, как определить оставшиеся, невычеркнутые числа. И я завис – все идеи, которые приходили мне в голову, казались «неспортивными и чрезмерными» – ну не пузырьковой же сортировкой перебирать четыре числа, должно же быть что-то элегантное. Например, если вычеркнуто не два, а три числа «x, y, z» из четырех «x, y, z, t» (которые «1, 2, 3, 4»), то оставшееся число «t» находится так: t = 10 – (x+y+z). Потому что t+x+y+z = 10 (всегда: 10=1+2+3+4). Вполне элегантно для одного оставшегося числа. А для двух чисел – как быть с элегантностью?!

Решение я нашел – озарило по дороге домой – прям шарахнуло с неба по башке; я даже не поверил сначала, что это оно – показалось мороком усталого мозга. И оно работает не только для четырех чисел – можно решить задачу «из n последовательных чисел вычеркнуто k различных чисел, требуется вернуть остаток» (что осталось на трубе).

Я предложил эту задачку с «n, k»-условием знакомым программистам в качестве застольного анекдота, для развлечения (сам я не программист, честно – мне просто сильно занадобилось объяснить Яваскрипту, как вычислять собственные векторы комплекснозначной матрицы 4х4). Сначала я выслушал их предложения (предлагали «упорядочивание k чисел с последующим перебором n чисел» и «воспользоваться встроенной функцией вычитания множеств»). Потом я рассказал свое решение. Они сказали: «Ну круто, да».

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

Читать далее

Экономический эффект Марка Твена

Habr.com - Thu, 04/25/2024 - 12:00


Не в честь каждого называют экономический эффект.

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

Он начал со скромных пяти тысяч долларов (на сегодняшние деньги около 168 тысяч) на создание суперэкономного парового двигателя, но попал на шарлатана. Двигатель экономить топливо категорически отказался.

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

Но это Твена-инвестора не остановило: он вложил более 32 тысяч долларов (сегодня это чуть меньше миллиона) в акции Hartford Company, которая разрабатывала оборудование для паромов, рассудив, что раз он сам когда-то работал лоцманом, в этой области ему всё понятно от и до. Компания прогорела.

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

Короче, знакомьтесь, вот экономический эффект Марка Твена во всей его красе. Читать дальше →

Изменить цвета и кнопки сервиса — и не сломать дизайн-систему

Habr.com - Thu, 04/25/2024 - 12:00

Меня зовут Алексей Афонин, я старший дизайнер продукта в Yandex Cloud. В прошлом году нам понадобилось полностью изменить внешний вид нашего сервиса для бизнес‑аналитики DataLens перед его выходом в опенсорс. Разработчики и дизайнеры интерфейсов часто сталкиваются с подобными задачами: есть уже работающий сервис, но его нужно стилизовать, например, в случае ребрендинга или при необходимости учесть специфический пользовательский опыт.

В наших продуктах мы пользуемся дизайн‑системой и библиотекой компонентов Gravity UI — это проект Yandex Cloud, который не так давно тоже вышел в опенсорс. В этой статье я поделюсь опытом, как мы решили задачу «перекрашивания DataLens» с её помощью. Но даже если вы не используете DataLens и ещё не знакомы с Gravity UI, наши наработки могут пригодиться командам разработчиков и дизайнеров, которые хотят стилизовать свои продукты быстрее и удобнее.

Читать далее

Реализация многооконного приложения на Vue 3

Habr.com - Thu, 04/25/2024 - 12:00

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

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

Меня зовут Дмитрий Дербин – frontend-разработчик компании «Криптонит». В данном материале я поделюсь некоторой теоретической базой по теме и краткими наработками для реализации на Vue 3 на примере простого сайта с погодой.

Читать далее

Vivaldi-6.7 — Хранитель времени

Habr.com - Thu, 04/25/2024 - 11:41

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

Читать далее

Использование открытых форматов для строительных проектов набирает обороты. Забудьте об использовании API и плагинов

Habr.com - Thu, 04/25/2024 - 11:25

В 2024 году ни одна крупная компания в мире, работающая с CAD (BIM) данными, не получает доступ к данным из CAD (BIM) программ через API или плагины.

Все крупные компании, работающие с форматами CAD (BIM), работают с определенными SDK, а форматы, содержащие данные о строительных проектах становятся взаимозаменяемы.

Читать далее

Автоматический выпуск SSL-сертификатов. Используем Kubernetes и FreeIPA

Habr.com - Thu, 04/25/2024 - 11:00

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

Читать далее

PyBoy 2.0.3

Linux.org.ru - Thu, 04/25/2024 - 10:52

Вышел PyBoy версии 2.0.3. PyBoy — эмулятор портативной игровой консоли GameBoy, написанный на Python и Cython. Помимо прочего, эмулятор предоставляет API для написания игровых ботов.

( читать дальше... )

 , , , ,

[Перевод - recovery mode ] Proxmox VE 8.2… теперь с импортом ВМ из VMware

Habr.com - Thu, 04/25/2024 - 10:35

Разработчики из Proxmox Server Solutions GmbH который год продолжают улучшать своё детище, а именно Proxmox Virtual Environment. Иногда изменения в новой версии бывают заметными, иногда - мелкими и скорее косметическими, но вот в вышедшей вчера версии 8.2 парни отовались на славу: они реализовали возможность импорта гостевых ВМ из других гипервизоров, причем даже не забыли снабдить этот функционал удобным мастером настройки процесса. Как пишут сами авторы, в настоящее время возможен импорт ВМ на базе VMware (ESXi и vCenter). Можно импортировать ВМ целиком, при этом большинство исходных конфигурационных параметров будут отображены на конфигурационную модель Proxmox VE.

Что же там ещё нового?

Интероперабельность с нативным кодом через платформу .NET

Habr.com - Thu, 04/25/2024 - 10:23

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

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

Интероперабельность необходима для использования уже существующих библиотек, написанных на C, C++ или других языках, которые выполняют важные или высокопроизводительные функции. Таким образом открывается возможность интеграции .NET-приложений с различными системными компонентами и устройствами, доступ к которым возможен только через нативные API.

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

Читать далее

Ни пуха тебе, ни руля: зачем Москве собственные беспилотные автомобили

Habr.com - Thu, 04/25/2024 - 10:00

Привет, Хабр! Это команда беспилотных технологий «МосТрансПроекта». Многие, наверное, знают, что в течение нескольких лет мы развивали проект собственного беспилотного автомобиля, в ходе которого нам пришлось решать множество порой, нетривиальных задач. Полученный нами опыт и знания будет крайне полезен для развития транспортной системы и интересен для тех, кто занимается (или планирует заняться) беспилотниками. Подробно расскажем нашу историю в этой статье.

Читать далее

Обратный инжиниринг дешевой мини видеокамеры из семейства А9

Habr.com - Thu, 04/25/2024 - 03:29

В данной статье речь пойдет о Wi-Fi мини видеокамере из семейства А9 от китайских производителей. Цель исследования этих камер – расширить возможность их применения, которая ограничена использованием только стандартных приложений для мобильных устройств на базе Android или iOS.

По итогу представлен некоторый анализ дампа сетевого трафика между камерой и мобильным приложением, а на его основе предложен работающий код на Python.

Читать далее

Как мы изобрели самый бессмысленный и беспощадный дифференциал

Habr.com - Thu, 04/25/2024 - 03:12

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

Мой разум твёрд и я могу это читать

Как сделать и настроить свой CDN

Habr.com - Thu, 04/25/2024 - 01:21
CDN (сеть доставки контента) представляет собой группу серверов, размещаемых в разных географических регионах с целью обеспечить быструю загрузку контента для пользователей из этих регионов. Чаще всего сети доставки контента используются для ускорения загрузки статических файлов: картинок, видео, скриптов, zip-архивов. Каждый из CDN серверов просто хранит одни и те же файлы, а пользователь получает их с ближайшего сервера.

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

Иногда может понадобиться настроить собственную сеть доставки контента. Давайте рассмотрим, для чего это нужно и как это сделать.


Это наша будущая CDN из 5 серверов, которая будет раздавать контент на весь мир Читать дальше →

Важные элементы при работе в Scrum

Habr.com - Wed, 04/24/2024 - 22:41

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

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

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

Читать далее

Как заставить всю страну редактировать твои статьи

Habr.com - Wed, 04/24/2024 - 22:05

Anything you say can and will be distorted by someone’s sick mind and used against you.

Главные статьи блога я раз или два в год перечитываю свежим глазом и что-то поправляю. В январе 24-го смог внести всего пару правок и понял, что назрела необходимость перезаписать их видеоверсии (для тех, кому удобнее слушать). Однако перед записью решил подстраховаться и впервые привлечь профессионального редактора. Дал объявление:

Читать далее

Репортаж с HI-TECH BUILDING 2024: что интересного по автоматизации?

Habr.com - Wed, 04/24/2024 - 20:55

23-24 апреля в Москве прошла выставка HI-TECH BUILDING 2024, посвященная автоматизации объектов коммерческой и жилой недвижимости. Выставка проводится каждый год и привлекает внимание специалистов и энтузиастов, интересующихся умным домом и современными средствами автоматизации.

Мы побывали на выставке и предлагаем прочитать наш репортаж. Мы расскажем про стенды и новинки, которые нас заинтересовали.

Читать далее

ИИ в действии: решения для разработки. Реальные примеры, промты и готовые решения от разработчиков «Автомакона»

Habr.com - Wed, 04/24/2024 - 19:52

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

Мы в «Автомакон» понимаем важность, а в какой-то степени и неизбежность грамотного применения ИИ, поэтому уже активно внедряем его в свои рабочие процессы. Недавно провели встречу, на которой наши коллеги Анатолий Антипов (разработчик MS SQL) и Ильдар Лукманов (тимлид PHP) поделились опытом. Они активно используют решения на базе ИИ как в рабочих процессах, так и в разработке в целом.

Читать далее

Suno есть, скрипач не нужен!?

Habr.com - Wed, 04/24/2024 - 19:51

Я еще не совсем отошел от шока полугодичной давности, когда познакомился с RVC ... а тут новый прорыв - Suno. Думаю, многие если и не знакомы с самим сервисом, то слышали результаты - саундтреки с вокалом, полностью сгенерированные ИИ, по сути, не отличимые от живого исполнения. Хотя, конечно, еще до ИИ в музыке стало так много синтетики, что теперь и музыкант не всегда определит, как именно она была сделана.

В общем, то, о чём мечтают многие сочинители текстов - положить свои стихи на музыку, стало невероятно простым и доступным. Именно невероятно - 3 клика и Suno за 30 сек выдает 2 варианта песни на ваш текст в выбранном вами стиле.

Я не первый, кто взялся написать об этом удивительном сервисе, но мне кажется, что у меня есть некоторые догадки, позволяющие предположить, как эта система устроена внутри. А понимать принцип работы, значит меньше совершать ошибок и быстрее достигать желаемого результата. Пока, к сожалению, работа с Suno похожа на управление "пищевым конвейером инопланетян" - на выходе в целом правильная и даже вкусная еда, но не совсем то, что ты ожидал получить, делая заказ. Правда, этому есть и объективные причины.

Сначала пару строк о качестве. Это ведь важно?

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

Читать далее

[Перевод] Преобразования данных с React Query

Habr.com - Wed, 04/24/2024 - 19:46

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

Читать далее

Who's online

There are currently 1 user and 1 guest online.
Syndicate content