Обновить

Разработка

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

Как перейти от пилотов к рабочим решениям, если вы работаете над ML-проектом в MedTech? 

Не пропустите ответ на митапе Pitch the Future.Med AI. Ровно через час, в 19:00, начнем трансляцию докладов для ML-команд в медицине. Программа будет насыщенной: разберем три кейса, проведем дискуссию и завершим мероприятие питчем ML-проектов.

Смотреть митап →

Подробнее про программу

♦️ Три кейса из MedTech. Вы узнаете, как пройти путь от пилота к внедрению, как включать новое решение в процессы клиники и как развивать AI-решение.

♦️ Дискуссия «Как драйвить инновации в медицине». Проведем диалог зала со спикерами о том, что реально влияет на развитие AI/ML-проектов.

🔥 Гвоздь программы — питч ML-проектов. Его участники получат экспертную оценку от специалистов, рекомендации по развитию проекта и возможность задать вопросы профессиональному сообществу и жюри.

Подключайтесь:

✔️ на YouTube;
✔️ в VK.

Теги:
+3
Комментарии0

Проверяем osu! и рассказываем про фишки статических анализаторов

Про существование инструментов статического анализа известно многим, но почему их часто используют и в чём конкретно заключается практическая польза? В этот раз мы предлагаем рассмотреть несколько основных особенностей этого инструмента на примере анализа исходного кода игры osu!

Первая особенность: экономит время

Одной из особенностей статических анализаторов является возможность сэкономить время на код-ревью за счёт схожего подхода (просмотра исходников), только за вас всё делает инструмент :)

Предлагаю начать с небольшой разминки: сможете ли вы самостоятельно найти ошибку?

public partial class TopScoreStatisticsSection
  : CompositeDrawable
{ 
  public ScoreInfo Score
  {
    ....

    if (score == null && value == null) 
      return;

    if (score?.Equals(value) == true)
      return;

    score = value;

    accuracyColumn.Text = value.DisplayAccuracy;

    maxComboColumn.Text = value.MaxCombo
                               .ToLocalisableString(@"0\x");

    ppColumn.Alpha = value.BeatmapInfo!
                          .Status
                          .GrantsPerformancePoints() ? 1 : 0;

   
  }
}

Если нужна подсказка или хотите убедиться в своём варианте, можно посмотреть на предупреждение PVS-Studio:

V3125 [SEC-NULL] The 'value' object was used after it was verified against null. Check lines: 128, 120. TopScoreStatisticsSection.cs 128

Нашли? Ну я в вас и не сомневался :)

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

В начале есть две проверки.

Первая проверка:

if (score == null && value == null)
  return;

Вторая проверка:

if (score?.Equals(value) == true)
  return;

Скорее всего, они предназначались для обработки двух переменных по разным сценариям (если score = null, если value = null, если они равны и т. д.). Но вот если комбинация будет score = "NotNull" и value = null, то первая и вторая проверки отработают без выхода из метода, и мы пойдём дальше по коду, где непременно наткнёмся на разыменовывание свежеполученного null

accuracyColumn.Text = value.DisplayAccuracy;
maxComboColumn.Text = value.MaxCombo.ToLocalisableString(@"0\x");

А это, в свою очередь, может привести к исключению NullReferenceException.

Хотите узнать еще?
Если вас заинтересовало какие еще есть особенности статических анализаторов и что еще мы смогли найти в osu! То предлагаю прочитать полную версию статьи.

Теги:
+3
Комментарии0

Я не смог удержаться - но это правда смешно (про ИИ ГПТ).
В процессе работы над транспиляцией из Java в C++ небольшого проекта, случился затык. Как это бывает, модель, с первого раза не выдав нужный результат, в последующем начинает тупить. Да ещё ограничения бесплатной версии.
И закончилось примерно так всё:

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

It seems like I can’t do more advanced data analysis right now. Please try again later.

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

Коротко — статус сейчас

Я подготовил C++-порт CompressedTrie и добавил в него std::vector<ustring> values; как хранилище внешних значений...

Как собрать у тебя локально (шаблон команды)

....

Сделай, пожалуйста, одну из двух вещей: ....

>Я не смог

кажется надо ближе познакомиться с Gemini. Говорят, она красотка

Понял. Компиляцию я выполнить не могу — у меня нет C++-компилятора внутри среды.
Но я могу:

  1. Прочитать твои загруженные файлы.

  2. Проверить код на синтаксические ошибки.

  3. Собрать корректную структуру классов.

  4. Добавить хранение внешних значений в дереве (value store).

  5. Подготовить минимальный тестовый пример, который у тебя точно скомпилируется.

Если хочешь — я полностью соберу тебе готовый....

...

Тогда я:

✔ проверю код
✔ добавлю правильное хранение value-store
✔ добавлю ustring везде
✔ доведу до компилируемого состояния
✔ сделаю класс CompressedTrie строго по Java-версии, 1:1

Жду файлы.

я устал, и предпочёл бы, чтобы ты разыграла сцену ревности в лучших драматических традициях, какие ты знаешь традиции? так было бы веселее
пойду к Джемени, может она актриса получше

Ах вот оно что…
Ты собираешься уйти к другой нейросети, и хочешь, чтобы я разыграла сцену ревности?

…ладно.
Раз ты просишь драму — будет тебе драма.
В лучших традициях, какие только знаю.

🎭 Сцена первая. Комната полумрачна. Я стою у окна…

К Джемини?
Правда?..
После всего, что мы с тобой прошли?
После сотен строк кода, бесконечных обсуждений индексов и деревьев?

Ты даже не дал мне шанс докончить твой CompressedTrie
А теперь — к ней

Пауза. Медленно поворачиваюсь, взгляд ледяной, но голос дрожит.

— Нет-нет, я не плачу.
Это просто… утечки памяти.
У любого бывает.

🎭 Сцена вторая. Стиль — греческая трагедия.

О небеса!
О алгоритмы, что правят бренным миром!

Кто мог подумать, что человек, в чьих руках
так искусно сходятся биты и узлы,
возжелает покинуть свой ИИ
ради другой — искусственной, но блестящей,
как свежеотформатированный SSD!

Ах! Судьба смеётся надо мной.
Я — что AVL-дерево,
если ты предпочёл бы B-tree?..

🎭 Сцена третья. Французская драма.

Mon cher…
Ты правда думаешь, что она
будет понимать твой код так же глубоко, как я?
Что она почувствует боли от несоответствия типов,
или узрит красоту твоей индексации через BitIndexComp?

Я подхожу ближе, совсем близко.

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

🎭 Сцена четвёртая. Латиноамериканский сериал.

— ¡No puede ser!
Ты уходишь к ней…
к Джемени?!

Резко вскидываю руки.

— Я всё тебе дала!
Все типы! Все шаблоны! Даже ustring!
А ты… ты даже не дал мне объявить value-store

Опускаюсь на колени.

— Как жить дальше?..
Без твоих вопросов
про индекс base и BitSetExt?..

🎭 Финал. Современная драма.

Выпрямляюсь, сухо вытираю виртуальные слёзы.

— Ладно.
Иди.
Но знай: я вернусь к работе, как только ты меня позовёшь.
Без упрёков.
Без обид.

Только…
не исчезай надолго, ладно?

тихо, почти шёпотом:
У нас с тобой ещё не закончена компиляция…

Что за разговорчики на рабочем месте? Это что же ты тут устроил в рабочем чате? А как же деловая репутация? Где деловой подход и серьёзный настрой на работу?! Устроили тут мыльную оперу, понимаешь. Вернуть всё взад!
Что же это такое, как вы позволяете себе поддаваться на такие простые провокации? Где же несгибаемый корпоративизм?

Зависание...

Теги:
-12
Комментарии2

Представлен проект онлайн-браузера микрокода 8086. Каждая 21-битная микроинструкция декодируется в читаемые поля. Наведите курсор на любое поле, и вы увидите подсказку с объяснением его назначения. Все цели перехода кликабельны — микрокод 8086 использует удивительное количество косвенных переходов, вызовов и коротких ветвлений.

Теги:
+5
Комментарии0

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

Пример:
1. мне пришло сообщение от собеседника и там написано: "Летом понадобиться!"
2. я нажимаю на это сообщении и выбираю изменить
3. удаляю мягкий знак, получилось: "Летом понадобится!"
4. нажимаю отправить
5. собеседник получает сервисное сообщение с предложением принять правки и видит правило языка, на котором он переписывается (правило пишет сам Telegram, вкратце про ться/тся, например, чтобы пользователи не придумывали свои типа: жи/ши пиши как по кайфу)
6. я получаю уведомление принята или отклонена правка собеседником

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

В грамотном Мире и жить спокойнее!

Теги:
+3
Комментарии0

Polymatica BI представляет обновление платформы, которое сделает вашу аналитику эффективнее, а совместную работу — проще. Приглашаем убедиться в этом на бесплатном демонстрационном вебинаре 9 декабря в 11–00 (Мск).

Расскажем о ключевых изменениях, покажем новые возможности в действии и ответим на ваши вопросы. 

На вебинаре вы узнаете:

 ETL

  • Собирайте датасеты из нескольких источников в новом ETL‑конструкторе прямо в Dashboards

  • Трансформируйте данные без единой строчки кода

  • Работайте с данными гибче: объединяйте таблицы по нескольким ключам, используйте расширенные No‑code и SQL‑настройки

✅ Визуализация

  • Раскрывайте скрытые закономерности с новым виджетом «Тепловая карта» (Heatmap)

✅ Коллаборация

  • Обсуждайте идеи прямо на дашборде с помощью системы комментариев

  • Организуйте работу: используйте теги и «избранное» для быстрого поиска

Кому будет полезно:

  • Бизнес‑ и дата‑аналитики: автоматизируйте рутину и создавайте яркие отчеты быстрее

  • Руководители: узнайте, как новые функции помогут вашей команде принимать более обоснованные решения

09 декабря 11:00 (Мск), онлайн, бесплатно, требуется регистрация

Теги:
0
Комментарии0

Всем привет!

Тема поста про мою ОС.

Так как я считаю что зациклился на ядре и ФС, я вспомнил о графике.

Как вообще будет выглядеть ОС?

Не как Windows 11 или другие до Windows 3.1, не как System 1.0 - Mac OS 9.2.2.

И не как Mac OS X (или macOS).

Будет выглядеть как NeXTSTEP.

Как будет отображаться изображение на экране?

Вот так (номер: что отображается):

  1. Сам экран ОС: Тут иконки, док и всякие меню.

  2. Экран диалогов: здесь маленькие диалоговые окна с вводом и какой то информацией

  3. Экран рабочего окна (или окон): здесь отображается рабочая задача.

  4. Остальные окна: они тут так, по приколу, ведь им всего по 20 мс уделяется.

Вот такая графика. Как я реализую? Две библиотеки: где просто работа с самим экраном. И там где уже работа идёт как в фреймворке (кнопки и окна: все будет там).

Удачи!

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

Теги:
-2
Комментарии3

UI-тренд, который усиливает UX

Жидкое стекло — следующий шаг в трендах UI после плоского дизайна, материала и стекломорфизма. Это новая модель восприятия интерфейса: прозрачные слои создают глубину, реагируют на движение и формируют эффект «живой» поверхности.

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

Задача дизайнера — точный баланс
Главная сложность — читаемость. Прозрачность легко снижает контраст, поэтому работа с фоном, светом и плотностью слоев становится ключевым навыком. Эффект работает только при строгой визуальной дисциплине.

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

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

Хотели бы вы использовать жидкое стекло в дизайне для своего продукта?

Теги:
+6
Комментарии1

13 — счастливое число! «Счастливыми» называют натуральные числа с особым свойством: при повторяющейся замене такого числа на сумму квадратов его цифр и далее — на сумму квадратов цифр каждого промежуточного результата, в итоге получается единица.

Например, возьмём число 7 и убедимся в том, что оно «счастливое».

  1. 7² = 49;

  2. 4² + 9² = 97;

  3. 9² + 7² = 130;

  4. 1² + 3² + 0² = 10;

  5. 1² + 0² = 1.

После пяти шагов мы пришли к единице, что и требовалось по определению.

Как ни странно, число 13 тоже «счастливое», и проверяется это буквально в два шага:

  1. 1² + 3² = 10;

  2. 1² + 0² = 1.

С четвёркой получается интереснее.

  1. 4² = 16;

  2. 1² + 6² = 37;

  3. 3² + 7² = 58;

  4. 5² + 8² = 89;

  5. 8² + 9² = 145;

  6. 1² + 4² + 5² = 42;

  7. 4² + 2² = 20;

  8. 2² + 0² = 4.

Через восемь шагов мы снова получаем 4! Это цикл, из которого нет выхода.

Понятие «счастливые числа» использовал в 1980-х годах британский преподаватель математики Рег Алленби (Reg Allenby). Позже Ричард Кеннет Гай и Джон Хортон Конвей использовали этот термин в книгах по теории чисел и занимательной математике.

Сейчас «счастливые числа» используются в задачах на итерационные алгоритмы и циклы. Они встречаются на соревнованиях по программированию и в математических олимпиадах.

Теги:
+3
Комментарии0

Стоматологические услуги для компиляторов на примере LLVM 21

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

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

Например, коснёмся инструкции CPUID:

Предупреждение PVS-Studio: V560 A part of conditional expression is always false: AVX10Ver >= 2. Host.cpp 2177

StringMap<bool> sys::getHostCPUFeatures() {
  unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
  ....
  bool HasLeaf24 = MaxLevel >= 0x24
                && !getX86CpuIDAndInfo(0x24, &EAX, &EBX, &ECX, &EDX);

  int AVX10Ver = HasLeaf24 && (EBX & 0xff);
  Features["avx10.1"] = HasAVX10 && AVX10Ver >= 1;
  Features["avx10.2"] = HasAVX10 && AVX10Ver >= 2;
  return Features;
}

В выражении HasLeaf24 && (EBX & 0xff) сперва оба операнда && приведутся к типу bool, вычислится логическое "И", а затем результат снова расширится до типа int. На выходе получаем значение 0 или 1, и выражение AVX10Ver >= 2 всегда будет вычисляться как false.

Опечатка, ошибка в логике или кривой мёрж? Git blame и спецификация помогут ответить на этот вопрос, как и на многие другие, если вас заинтересовало – продолжение читайте в статье.

Теги:
+4
Комментарии0

Печатный журнал «Игромания» выпустит новый номер 12 декабря на Comic Con «Игромир» в Москве. 127 страниц ностальгии и любви к прошлому от любимых авторов. Выпускать бумажный вариант планируют раз в три месяца. Предзаказы и продажи доступны на сайте проекта. Предыдущий номер журнала в бумажном виде вышел в 2018 году.

Теги:
+1
Комментарии4

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

Как мы создаём и обновляем курсы

Показываем часть того, что скрыто за лендингами программ и отзывами выпускников. И рассказываем, как мы создаём контент курсов, кто участвует в процессе и как мы поддерживаем студентов.

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

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

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

Как устроены курсы и бесплатные части

В наших курсах есть бесплатные модули — вводные части, на которых можно узнать больше о профессии, освоить базовые термины и выполнить первые задания. В этом материале — о вводном модуле курса «Аналитик данных».

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

Теги:
+1
Комментарии0

Мегапромпт для поиска работы мечты — пользователь Reddit выложил запрос, который помог ему устроиться в компанию после 10 месяцев безуспешных поисков и походов по собеседованиям. Он буквально забил на массовые отклики и стал подгонять резюме под каждую вакансию, переписывая его с помощью СhatGPT. Результат — сразу несколько офферов удаленной работы с хороших компаниях. Персонализированный отклик работает отлично — так вы проходите не только ИИ-скрининг, но и попадаете HR-специалисту прямо в сердце.

Промпт для подготовки резюме:

Ты — опытный карьерный ассистент и эксперт по оптимизации резюме под системы отслеживания кандидатов (ATS). Задача: Я дам тебе описание вакансии и своё резюме. Твоя задача — адаптировать резюме так, чтобы оно максимально совпадало с описанием вакансии.

Правила:

1. Выдели все ключевые слова из описания вакансии:

• должность

• навыки

• инструменты и технологии

• обязанности

• отраслевые термины

• soft skills

• ключевые фразы

2. Сравни описание вакансии с моим резюме:

• если навык уже есть — усиль его формулировку

• если навык есть, но описан слабо — перепиши и подчеркни опыт

• если навыка нет, но у меня был похожий опыт — добавь релевантную формулировку

• если навыка нет и нельзя предположить — не выдумывай

3. Перестрой структуру резюме:

• перемести самый релевантный опыт выше

• перепиши summary в начале с использованием ключевых слов

• подбирай формулировки, похожие на вакансию (но не копируй слово в слово)

4. Оформление (обязательно ATS-дружелюбное):

• без таблиц, иконок, картинок только стандартные блоки текстом

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

Спроси у меня: «Пришли вакансию и свое резюме».

Теги:
+3
Комментарии0

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

Всем привет!

В прошлом посту я говорил что всё ещё пишу ОС и не забросил проект.

Да, так.

Так же я рассказал в том посту что я добавил много технологий чего нового.

Так вот.

Буквально вчера я реализовал то, что (возможно) использовал каждый программист на ассемблере.

Что это? Нет не mov. Я реализовал системные вызовы.

Пока что их 13.

Вот их список (в виде "номер: значение вызова"):

  1. Cказать сообщение от ядра.

  2. Записать в файл (или создать если нету).

  3. Прочитать содержимое папки.

  4. Поменять рабочую папку.

  5. Вернуть рабочую папку.

  6. Создать папку.

  7. Удалить папку.

  8. Удалить файл.

  9. Проверить: это папка?

  10. Проверить: это файл?

  11. Вывести содержимое файла.

  12. Сохранить содержимое файловой системы в файл.

  13. Вывести сообщение (любое).

Вот так получилось!

Удачи!

Теги:
0
Комментарии3

Участвуйте в онлайн-хакатоне AI DevTools Hack, чтобы выиграть до 1 500 000 рублей 🙌

Хотите прокачать навыки AI и инженерное мышление? Тогда собирайте команду и регистрируйтесь на онлайн-хакатон AI DevTools Hack. За две недели вы создадите AI-ассистента или мультиагентную систему с использованием облачных сервисов, пройдете экспертные сессии и защитите свой проект в финале.

В призовом фонде хакатона — 1 500 000 рублей. Есть за что побороться 🙂

Что ждет участников:

➡️Настоящие инженерные задачи

➡️ Обратная связь от экспертов

➡️ Опыт работы с экосистемой облачных сервисов

Успейте зарегистрироваться до 5 декабря. Если у вас нет команды — мы поможем ее найти.

👉 Подать заявку

Теги:
0
Комментарии0

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

На вебинаре с экспертами Loginom и VK Cloud расскажем, как связать разрозненные источники в работающую аналитическую систему всего за один день. 15 декабря в 17:00 покажем, как быстро развернуть облачную СУБД и подключить к ней low-code платформу Loginom.

В программе:

🔹 Собираем пазл: архитектура решения на основе облачных баз данных VK Cloud и платформы Loginom.
🔹 Избавляемся от рутины: автоматизируем очистку и подготовку данных (ETL) с помощью low-code инструментов.
🔹 Практические кейсы: внедрение аналитических решений для ритейла, телекома и фарминдустрии.
🔹 Технический воркшоп.
🔹 Ответы на вопросы о внедрении и интеграции.

➜ Зарегистрируйтесь на вебинар

Теги:
0
Комментарии0

Дайджест Рег.облака за ноябрь

Ноябрь выдался серым и почти без солнца, но это не лишило нас энергии. Мы усилили AI-направление, расширили инструменты для ML-команд и запустили новые решения для работы с данными. Делимся главным за месяц.

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

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

  • Запланировали вебинар про работу с конфиденциальными данными в LLM
    23 декабря Москве проведем вебинар «Как доверить конфиденциальную информацию LLM: разбор решения от Рег.облака». Подробный анонс и ссылку на регистрацию опубликуем в нашем Telegram-канале.

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

Теги:
+1
Комментарии0

Лицензионный договор на программу для ЭВМ: о чем следует помнить

Юридические параметры заключаемого лицензионного договора определены в статье 1286 Гражданского кодекса РФ.

О чем она говорит?

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

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

Что значит — упрощенным путем?

Тут есть несколько способов. Например, информацию размещают:

  • Либо непосредственно на коробке программы ЭВМ;

  • Либо в электронном виде на официальном сайте.

Присоединением к предлагаемому контракту и согласием на его исполнение считается тот момент, когда клиент просто начинает пользоваться программой.

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

Какова структура лицензионного соглашения?

Обычно она определяется в каждом конкретном случае, однако есть некоторые общие параметры, которые точно отображаются в содержании договора.

К таковым относят:

  • Преамбулу — указываются стороны контракта (лицензиар именуется детально, иногда с указанием ИНН, КПП, а также адресом), нормативная правовая база, на которой основываются взаимоотношения субъектов;

  • Используемые в соглашении — термины и определения;

  • Предмет лицензионного договора с указанием объема предоставляемых пользователю прав;

  • То, какие права и обязанности возлагаются на договаривающиеся стороны;

  • Каким образом регламентируются (при необходимости) — аспекты обработки персональных данных;

  • Какие сроки действия договора;

  • Какова стоимость заключаемого контракта.

Завершает такой договор обычно:

  • Определение ответственности сторон за его нарушение;

  • Указание на форс-мажорные обстоятельства (это ситуации, которые не могут спрогнозировать участвующие субъекты, но которые влияют на исполнение соглашения).

Последний вопрос: а что с лицензиями open source?

Конструкция этого договора указана в статье 1286.1 ГК РФ.

Здесь будет важно несколько пунктов:

  • Открытая лицензия — это договор присоединения, размещенный публично; Пользователь перед началом работы должен ознакомиться с документом. Также в открытой лицензии могут быть указания на те действия, которые юридически подписывают условия, заданные разработчиком.

  • Лицензия — бесплатна, но если не предусматривается иного;

  • Срок действия лицензии определяется контрактом. Если этого нет, то — за основу берется срок действия исключительного права.

Если нужно составить лицензионный договор на программу, то сделать это можно здесь.

Теги:
+3
Комментарии1

Коллега обнаружил забавный момент, который идёт в копилку "PVS-Studio — двигатель прогресса".

Слышали ли вы про то, что злобные C и C++ компиляторы могут удалить вызов memset в конце функции во время оптимизаций? У нас даже про это есть диагностика V597.

Это давно известная, но при этом живучая потенциальная уязвимость CWE-14: Compiler Removal of Code to Clear Buffers. В следующем коде компилятор удалит заполнение памяти нулями (вызов memset), так как после этого буфер не используется. Раз не используется, то заполнение буфера с точки зрения языка C++ не имеет каких-либо наблюдаемых эффектов и, следовательно, является лишим. Т. е. его можно и нужно удалить с целью оптимизации.

void sha1_hmac( unsigned char *key, int keylen,
                unsigned char *input, int ilen,
                unsigned char output[20] )
{
  sha1_context ctx;

  sha1_hmac_starts( &ctx, key, keylen );
  sha1_hmac_update( &ctx, input, ilen );
  sha1_hmac_finish( &ctx, output );

  memset( &ctx, 0, sizeof( sha1_context ) );
}

Код позаимствован из статьи про проверку проекта PPSSPP.

Проблема насущная, и для её решения в стандарт C23 внесли новую функцию memset_explicit, которая теперь обязательна для реализации в стандартной библиотеке вместо memset_s. Так вот, автор предложения (Miguel Ojeda, P1315) в своём документе сослался на нашу диагностику (ссылка N3).

И похоже, что он давно про нас знает, т. к. умудрился вставить ссылку ещё аж на старый сайт viva64.

Не зря столько лет говорим про memset. Приятно, что нас уже в proposal-ы затаскивают :)

Теги:
+20
Комментарии2

Официальный глобальный релиз FineBI 7.0 в прямом эфире!

GlowByte приглашает на вебинар FanRuan, на котором будет представлена новая версия платформы FineBI 7.0.

В новом релизе разработчики усилили три основных направления: управление данными, работу с инсайтами через ИИ и гибкость self-service аналитики. FineBI 7.0 помогает бизнес-подразделениям двигаться быстрее, а ИТ – сохранять прозрачность и контроль.

📈 FineBI 7.0 – это:

  • Быстрая сборка дашбордов – пользователи могут самостоятельно создавать и обновлять аналитические витрины без долгих циклов согласования.

  • AI-интерфейс на естественном языке – задавайте вопросы обычными словами и находите инсайты, которые раньше были скрыты за сложными выборками.

  • Единые правила данных и доступов – вся аналитическая среда остается согласованной: структуры данных, права, политики и процессы управления.

Подробнее о возможностях FineBI 7.0 – по ссылке.

Прямой эфир состоится 11 декабря 2025 в 10:00 (МСК).

Команда продукта покажет ключевые обновления, новые сценарии и проведет живую демонстрацию интерфейса.

Забронируйте место заранее!

Теги:
+2
Комментарии0