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

    Adamos
    @Adamos
    Банально-наколенный вариант: находим среднюю арифметическую координату, пересчитываем координаты всех точек в радиальные относительно этой средней, сортируем по углу (а при равенстве углов - по удаленности) - и соединяем в этом самом порядке.
    Ответ написан
    4 комментария
  • Как отсортировать произвольные точки так, чтобы при проведении линии через них последовательно получился многоугольник?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Если надобно без самопересечений, то подойдет упрощенная версия алгоритма выпуклой оболочки - просто сортируешь по углу относительно самой левой точки, и всё.
    Ответ написан
    Комментировать
  • Поможет ли запись информации на весь возможный объем памяти после удаления - избежать восстановления информации?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    поможет ли запись бессмысленной информации - стереть предедущую и предотвратить ее восстановление?

    Да, поможет. Однако, необходимо держать в голове специфику вашего устройства.

    На жёстких дисках (HDD) у вас есть возможность записать новые данные поверх именно в те сектора, где хранился стираемый файл. Благодаря этому вы можете взять программу наподобие Eraser и стирать информацию "таргетированно".

    Сейчас эта ситуация начинает изменяться - у самых новых жёстких дисков начали появляться трансляторы, похожие на те, которые используются в SSD.
    Кроме того, часть моделей использует технологию Shingled Magnetic Recording (SMR), из-за которой возникает вопрос о том, что происходит с лентой, которая сначала записывается в медиакэш. Под капотом эта технология далеко не так проста, как кажется, но говоря кратко, даже формально будучи временным, дублирование информации в разных областях диска оставляет поводы для сомнений.

    На твердотельных накопителях (SSD), флешках, и картах памяти записать информацию в нужный сектор не получится из-за механизма wear leveling, равномерно "размазывающего" данные по всему объёму флэш-памяти.

    Однако, у ССД есть TRIM, на который отчасти можно положиться, и который часто становится причиной безвозвратной потери информации после случайного удаления.
    Но в связи с тем, что наша цель - гарантированное удаление, безопаснее будет действительно заполнить свободное место какими-либо неважными данными.

    И HDD и SSD можно затереть целиком, запустив тест записи "по всей поляне", любым софтом, который такое умеет. Например, Р.тестером. В качестве бонуса к затиранию бесплатно получите отчёт о состоянии поверхности/памяти.

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

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

    Но если вы удаляете какую-то серьёзную корпоративную информацию, или секреты государственной важности, о последнем абзаце стоит помнить и рассмотреть идею физического уничтожения диска (либо его размагничивания специальными устройствами). Это наиболее безопасный способ, который поможет всем участникам процесса (в т.ч. и диску - ba-dum-tss!) спать спокойно.
    Ответ написан
    Комментировать
  • Что делать, если отключат интернет?

    Keffer
    @Keffer
    ICANN
    Ну теперь начнут умы из казахстана по всем возможным порталам искать, как спастись от правительственных шатдаунов. Самый лучший выход - изменить геопозицию свою. А не занимать инертное положение вроде

    Но его вырубили, а я обычный житель бывшего Совка(
    Ответ написан
    3 комментария
  • Как в C# (.NET) задать значение возвращаемого методом значения через ref, используя reflection?

    Casper-SC
    @Casper-SC
    Программист (.NET)
    using System;
    using System.Diagnostics;
    using System.Reflection;
    
    namespace ConsoleApp
    {
        class Program
        {
            private delegate ref int GetMaxNumber(ref int value1, ref int value2);
    
            static void Main(string[] args)
            {
                int value1 = 5;
                int value2 = 10;
                var instance = new Something();
    
                MethodInfo? methodInfo = typeof(Something).GetMethod(
                    nameof(Something.GetMax), BindingFlags.Public | BindingFlags.Instance);
                Debug.Assert(methodInfo is not null);
                var setNumber = (GetMaxNumber)Delegate.CreateDelegate(typeof(GetMaxNumber), instance, methodInfo);
    
                setNumber.Invoke(ref value1, ref value2) = 50;
    
                Console.WriteLine($"{nameof(value1)}: {value1}, {nameof(value2)}: {value2}");
            }
        }
    
        public class Something
        {
            public ref int GetMax(ref int left, ref int right)
            {
                if (left > right)
                {
                    return ref left;
                }
    
                return ref right;
            }
        }
    }


    Проверял на
    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net5.0</TargetFramework>
        <Nullable>enable</Nullable>
      </PropertyGroup>
    
    </Project>
    Ответ написан
    Комментировать
  • Как протестировать, имеет ли конус и окружность общие точки?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Картинку тут нихрена не добавить, потому словами. Предполагается, что мы проверяем общие точки закрашеных фигур, а не контуров.

    0) Узнать расстояние D между т.А (которая центр "конуса") и точкой О (центр круга).

    1) Если D > R+r, то не пересекаются - слишком далеко. (R и r - радиусы "конуса" и круга).

    2) Если D <= r, то центр конуса лежит в круге, и общие точки есть.

    3) Если D^2 < R^2 + r^2, то к обоим углам Y из прошлой задачи добавляем угол Х равный arcsin(r/D), и расширив таким образом сектор, приходим к прошлой задаче (без проверки расстояний, только попадание в угол), если взять за точку центр круга.

    4) Иначе смотрим точку М - пересечение большой и малой окружности. Определяем угол OAM, равный Х. Этот угол можно найти по теореме косинусов, т.к. стороны OAM известны (R, r, D, угол между сторонами R и D). Далее с этим Х делаем как в пункте 3.
    Ответ написан
    Комментировать
  • Как проверить, принадлежит ли точка на плоскости указанной части окружности?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Во-первых, проверьте, что точка лежит внутри окружности (просто сравните расстояние до A).

    Во-вторых, надо проверить, что точка лежит в секторе. Тут есть 2 варианта. Можно получить углы границ и направления на точку через арктангенс и сравнить, но там много частных случаев, особенно при переходе через 0. Альтернативный вариант - использовать вектора. Пусть искомая точка - P. Тогда вам надо проверить, что вектор AP дает с вектором AB угол меньше y. Можно найти косинус угла через скалярное произведение и потом сравнить его с косинусом y.

    Вам надо, чтобы (AB,AP)/(|AB|*|AP|) >= cos y
    Ответ написан
    Комментировать
  • Mikrotik: как задать правило, разрешающее входящие соединения DST-NAT?

    karabanov
    @karabanov
    Системный администратор
    Парвило из дефолтной настройки фаирвола MikroTIK:
    /ip firewall filter
    add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN


    Рекомендую дополнять дефолтные правила своими при необходимости, а не писать их с нуля.
    Ответ написан
    Комментировать
  • Мог ли быть реализован техпроцесс в 5 нм ещё в 2000 году?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Дороговизна
    Ответ написан
    Комментировать
  • Зачем при чистке ПК вычищать пыль НАЧИСТО?

    profesor08
    @profesor08
    Зачем при чистке ПК вычищать пыль НАЧИСТО?

    Ради эстетического удовольствия.

    Мне вообще кажется, что достаточно пыль сдуть чем-то вроде компрессора / баллона с воздухом / фена с режимом холодного воздуха или хотя бы резиновой груши (клизмы)

    баллончика с сжатым воздухом вполне хватает чтоб температуры нормализовались
    Ответ написан
    Комментировать
  • Система Windows показывает 100% заряд аккумулятора, но он отключается в связи с критически низким уровнем заряда?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Что делать?
    Выкинуть батарею и поставить исправную.
    Заряд аккумулятора определяется по напряжению.
    Новый исправный аккумулятор долго заряжается и при зарядке напряжение постепенно растет.
    Неисправный аккумулятор при зарядке быстро набирает максимальное напряжение. При любой попытке подключить нагрузку напряжение сразу падает.
    Ответ написан
    Комментировать
  • Существует ли сервис для оповещения телефонным звонком?

    vabka
    @vabka
    Токсичный шарпист
    Например smsc
    У достаточно большого количества сервисов, которые делают sms-рассылки, есть и звонки.
    Ответ написан
    Комментировать
  • Имеет ли смысл переносить google chrome с ssd на другой диск?

    @kalapanga
    1) И пусть нагружает! Железки покупают для того, чтобы они работали. Если Вы и замените когда-то Ваш ssd, то не из-за износа - станет мал для Ваших задач, захотите новую ещё более быструю модель, продадите вместе с компом и т.п.
    2) Любой кеш - это система для ускорения работы. Никакого смысла переносить его на медленное устройство нет.
    Ответ написан
    Комментировать
  • Попросили паспорт фото и идентификационный код для договора и NDA, стоит ли подписывать?

    Нет ли в денном договоре ничего такого, противозаконного обычно?
    Обычно - нет. Нет ли в вашем конкретном - кто знает.

    идентификационный код
    Что за код?

    стоит ли подписывать
    Конечно. В случае проблем, в суде скажете, что в интернете совета спрашивали (не показывая текст договора) и там разрешили.
    Ответ написан
    Комментировать
  • Как в Visual studio отключить автоматический перенос влево при начале выражения #if ...?

    maaGames
    @maaGames
    Погроммирую программы
    6075bae3ecbbb479927351.png
    Ответ написан
    Комментировать
  • Видео на ноутбуке в ютубе в 1080 нечеткое. То же самое с прямыми трансляциями. Как исправить?

    15432
    @15432
    Системный программист ^_^
    Youtube экономит трафик и применяет сжатие. На динамических сценах это выливается в такие JPEG-подобные артефакты. Ставьте качество 4к или 8к на Youtube или качайте блюреи по 40 гигов, в них картинка получше
    Ответ написан
    Комментировать
  • Почему SSD загружен на 100%?

    @kalapanga
    Я правильно вижу, ssd всего на 60 гигов? Да ещё на два раздела поделён? Системе катастрофически мало места. Отдайте ей хотя бы весь ssd, если новый в принципе не планируется! По мне, так нужен диск от 128 гигов.
    Заметил на скринах "Файл подкачки: Нет". То есть кроме использования названных зловредных программ Вы и другими "твиками" увлекаетесь? Не надо!
    Переустановите систему и дайте ей спокойно работать, не мешайте ей. И комп ещё послужит.
    Ответ написан
    Комментировать
  • Почему SSD загружен на 100%?

    SagePtr
    @SagePtr
    Еда - это святое
    Переустановить Windows или восстановить системный раздел из резервной копии.
    Driver Booster => капитально загаженная ОС, которую от этого навоза почистить крайне проблематично, настолько оно просачивается во все щели и смердит.
    А может быть ещё и бэкдоры содержит, с авторов этого поделия станется (не забесплатно же они вредят, какую-то выгоду преследуют)
    Ответ написан
    Комментировать