Задать вопрос
  • Как загрузить CLI в macOS?

    xez
    @xez
    TL Junior Roo
    Command Line Interface там уже есть.
    Называется "Terminal"
    Ответ написан
    Комментировать
  • Говорят,что не надо знать матем. при изучении программирования, но почему все задачи математические?

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

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

    В универах и остальных заведениях подобного характера математику и программирование скрещивают для того чтобы будущий программист научился на самом базовом уровне выстраивать алгоритмы решения задачи. Грубо говоря, шаг 1 + шаг 2 + шаг 3 + шаг 4 + шаг 5 = результат. Если тебе чисто рассказывать про переменные, циклы, массивы и т.д. ты не поймешь нахрена это все надо и как это использовать чтобы зарабатывать деньги. Если тебе с нулевой дать решать бизнес задачи то это только лишнее грузилово мозга в и так не совсем простой сфере. Поэтому и используют математику как самое простое где можно показать как использовать те или иные конструкции в языках программирования и научить склеивать это все так чтобы получить результат требуемый.
    Ответ написан
    Комментировать
  • Почему i? Почему переменную, используемую в циклах, обычно называют именно i?

    15432
    @15432
    Системный программист ^_^
    Пошло из математики (Xi, Yj), продолжилось в Фортране (начиная с имени i переменные по умолчанию интовые были), потом все как-то привыкли
    Ответ написан
    Комментировать
  • Как называется такая структура данных?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Никак не называется. Можно структуры комбинировать для ваших задач, но это частные случаи применения структур, не настолько частые, чтобы давать этой комбинации какое-то имя. Если уж хочется назвать это как-то, то это все еще будет хеш-таблица с какими-то вспомагательными пристройками для каких-то дополнительных нужных вам свойств (итерация).

    И вообще, у вас тут намудрено, почему нельзя сделать просто:
    let objects: HashMap<Uuid, Object>;

    Тут все такой же O(1) доступ к элементу по id. Зачем вам массив? Вы там добились простой и cache-friendly итерации по всем объектам? Не факт, что это уже не реализовано внутри HashMap. По крайней мере во многих языках можно проитерироваться по всем объектам в стандартной хеш-таблице.

    Зато у вас там удаление элемента - это что-то сложное. Особенно, если вы не хотите избежать фрагментации и неиспользованного места в массиве.
    Ответ написан
    4 комментария
  • Можно ли добиться постоянного O(nlogn) для квиксорта в любом случае?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Да, можно. Для этого надо в качестве pivot'а выбрать медиану. если это сделать за O(n) в худшем случае, то общая сложность QuickSort'а будет O(n log n).

    Для выбора медианы за O(n) есть, например, вот такой алгоритм. В каких-то источниках его еще называли алгоритмом кнута-пратта-мориса-ривеста-тарьяна. Кажется, но я их найти не могу, так что я какие-то фамилии напутал, но помню, что там было 5 великих информатиков.

    На практике же это не применяют, потому что этот алгоритм хоть и имеет линейную сложность в худшем, константа там такая, что там на квадрат хватит и еще на логарифм сверху останется. Просто используя какие-нибудь случайные числа можно добиться гораздо лочшей производительности.
    Ответ написан
    Комментировать
  • Какой мак мини взять - на интеле 2018 или M2?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Если ограничений м1 по софту и т.п. нет, т весь нужный вам софт есть под arm - надо брать его. Работает быстрее интела, не лагает.
    И так как свежее, вероятно дольше будет обновляться.
    Ответ написан
  • Что делать если клиент не отдает деньги?

    an-tar
    @an-tar
    Full stack web developer
    А чем мотивирует задержку клиент?
    Все варианты возможны - ограничьте доступ, сделайте бекап, если выплаты были обещаны много ранее через полгода. В суде вряд ли что-то удастся доказать, или это будет долго и муторно. Вам урок - документы нужны, вот как раз для такого случая.
    Решать вам, по ситуации и контексту, мы тут всех нюансов не знаем.
    Ответ написан
    4 комментария
  • Используется ли двухканальный режим оперативной памяти внутри VirtualBox?

    @Drno
    Он используется на хосте.
    А виртуалка уже юзает то, что используется на хосте
    Ответ написан
    Комментировать
  • Из-за чего программа C++ на amd работает быстрее чем на intel?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Из-за того, что процессоры от разных производителей обладают разной производительностью, внезапно, из-за отличий в архитектуре, командах, транзисторах, частотах, кэшах и во всём остальном. Сюрприз! А еще есть такие факторы как: кэши, оперативная память, дисковая подсистема, запущенные приложения, сервисы, разные ОС, разные чипсеты, разные биосы, да даже вентилятор на процессоре может влиять на производительность, из-за которого турбобуст какой-нибудь включится или выключится, и еще целый вагон других факторов.
    Ответ написан
    5 комментариев
  • Где ошибка в доказательстве?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Доказательство не верно из-за индуктивного перехода. Вы рассматриваете только уже отсортированные наборы задач. Не ясно, что добавляя задачи в другом порядке вы получаете варианты не лучше. Вы так же не показали, что вот эти 2 варианта дают оптимальное время для k+1 задачи.

    Правильное доказательство весьма простое и без индукции. Общее время будет
    Max(sum{i-начальнику}(bi), max{i - подчиненным}(ai))
    .
    Отсюда видно, что если вы какую-то задачу дали подчиненному, то все задачи с меньшим A нет смысла давать начальнику. Ведь второе слагаемое-максимум от этого не изменится, но первое увеличится. Можно "бесплатно" выполнить эти задачи подчиненными. Поэтому в оптимальном ответе вы даете какое-то множетсво минимальных A подчиненым, а остальные начальнику. Иначе можно какие-то задачи перекинуть с начальника на подчиненного и уменьшить первое слагаемое не меняя второе, уменьшив таким образом ответ, т.е. в этом случае решение точно не оптимальное.
    Чтобы все варианты возможных оптимумов перебрать надо отсортировать задачи по возрастанию A. Это код и делает. поддерживается сумма B у всех оставшихся задач, а от текущей берется A - который и будет максимумом для всех задач с меньшим A.
    Ответ написан
    Комментировать
  • Существуют ли эталонно красиво написанные программы?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    да, их две:

    10 print "Hello world!"

    и еще:

    program HelloWorld;
    begin
    writeln('Hello World!');
    end.

    Не уверен, что можно считать эталонами варианты на С или других языках в принципе :)
    Ответ написан
    1 комментарий
  • Существуют ли эталонно красиво написанные программы?

    @Everything_is_bad
    Беда в том, что довольно трудно найти хорошо написанный код, который можно было обозреть целиком.
    бесполезное занятие, больше похоже на прокрастинацию, короче пока сам не начнешь понимать какой код "красивый", какой нет (а это только когда сам напишешь кучу кода), толку от рассматривания не будет.
    Ответ написан
    Комментировать
  • Какая сложность у этого алгоритма?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Цикл while же выполняется пропорционально количеству цифр в числе..
    Да. А количество цифр в числе C это ⌊log10C⌋ + 1.
    Элемент суммы с меньшей степенью (1) отбрасываем, округление вниз убираем, основание логарифма неважно, получаем logC
    Ответ написан
    6 комментариев
  • Обеспечивает ли HTTPS полное шифрование и невозможность компрометации данных?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Дома с переломом ноги
    В HTTPS условно невозможны атаки типа MITM

    С х.. ли баня-то сгорела? В https атаки типа MitM цветут пышным цветом и даже не всегда считаются атаками. Например, берем корпоративный прокси с бампингом. Он выполняет, фактически именно MitM - установив тебе свой корневой сертификат, он "на лету" подменяет целевой сертификат своим, получает shared secret и спокойно себе расшифровывает соединение.
    То же самое весьма скоро будет у нас всех на компах - когда всех обязуют поставить госсертификат, без которого в тырнет просто не выйдешь.
    мы в любом случае чувствуем себя небезопасно и неаноимно

    Мы - это кто? Даже если провайдер (РКН, тащмайор) умудрится как-то узнать, что я смотрю порнуху - мне это в общем-то поуху. А политоту я в тырнет не тащу - ученый...
    но сами данные никто увидеть не сможет?

    Кроме самих даных есть еще множество косвенной информации, по которой можно достаточно точно судить о том, что "внутри". Кстати, защита некоторых протоколов на этом и базируется - убедить, что "внутри" безобидный https с котиками.
    как тогда это стыкуется с безопасностью и шифрованием данных в HTTPS, если DPI может блочить по контенту?

    на основе предположений. Например:
    1. Вася каждый день ходит на сайт 1.2.3.45 и прокачивает стопицот метров трафика
    2. На сайте 1.2.3.45 отвечает простейший сайт с котиками, который не в состоянии генерить такой трафик
    Вывод: сайт 1.2.3.45 - VPN, а сайт с котиками - заглушка, Васю вызвать на беседу.
    Ответ написан
    Комментировать
  • Ошибка Mac os Sonoma?

    GavriKos
    @GavriKos
    open core

    вот в этом.
    Ответ написан
    2 комментария
  • Ошибка unterminated string literal?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Кавычек закрывающих нет.
    Ответ написан
    Комментировать
  • Как открыть флешку в терминале линукса?

    Shoto1
    @Shoto1
    Примонтировать блочное устройство можно, например так:
    sudo mount /dev/sdb /mnt
    Ответ написан
    Комментировать
  • Можно ли сравнить большие массивы по частям?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А зачем вам это делать частями? Что вы хотите этим добиться?
    Ваша задача имеет сложность О(N) и не представляет никакой сложности, просто двигайтесь двумя курсорами синхронно по массивам и всё.
    Ответ написан
    4 комментария
  • Имеют ли силу иски о нарушении патентного права со стороны США (у них международный патент) на территории РФ?

    @other_letter
    Так а Вы на свой патент подайте. Выдадут - ОК, с Вас взятки гладки.

    А если по самому вопросу: патент действует, просто скорее всего на территории РФ его никто не будет защищать. Суд в США даже без Вроде бы с прошлого или позапрошлого года не могут принимать иски против Василия Пуканова из г. Сызрань (упрощаю специально, я понимаю, что он может быть американцем и/или владеть юрлицом на территории США или хотя бы просто получить что-то в собственность хотя бы косвенно по причине нарушения патентного права).

    Другой вопрос, что с формальной точки зрения патентное право-то не отменено само по себе. Короче, почему бы не получит ьсвой патент, а?
    Ответ написан
    2 комментария