• Почему используется потенциально неинициализированная локальная переменная-указатель "matrix"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если у вас d не равно 1 тогда возникает flow который приводит к matrix которая не аллоцирована.

    Кстати вы используете не матрицу а так называемый Jagged Array (зубастый массив). В этом нет смысла т.к. у вас матрица всегда прямоугольная и рациональнее выделить один большой массив и распределять его ячейки как элементы прямоугольной матрицы (i,j) формула смещения - очень простая. Ширину умножить на один индекс плюс второй.

    Я-бы делал так

    float* matrix = new float[n * m]
    ну и формулы доступа дальше подправить надо соотвественоо.
    Ответ написан
    Комментировать
  • Мало памяти на компьютере. Что делать?

    Adamos
    @Adamos
    На эти нетбуки нормально встает Линукс. На некоторые даже предустанавливался.
    И место не сжирает, что характерно, и те же задачи серфинга и киношек нормально решает (а ничего более серьезного на этом барахле все равно не поделаешь).
    Один раз поставил - и забыл всю эту головную боль с пропадающим местом и его постоянной чисткой.
    Ответ написан
  • Как пройти ошибку в bat файле при присвоении имени файлам?

    @MaxKozlov
    Вы не сформулировали что именно вы хотите видеть в качестве выходного имени

    Если только part-001, part-002 и т.д., то, как и писал res2001, используйте "part-%%03d.mp4"
    Если часть исходного имени с добавкой части в конце, то можно типа "%%~ni-%%03d.mp4"

    А вообще, при отладке убирайте @echo off - будете видеть запускаемую команду со всеми подстановками
    Ответ написан
    Комментировать
  • Безопасен ли VPN?

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

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

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

    UPD:
    Ок ладно, я заглянул в этот инсталлятор, вроде ничего катастрофического, он там wireguard ставит.
    Во всяком случае, та версия, которая в данный момент там лежит в main.
    Содержимое файла в ветке main по ссылке в любой момент может измениться. Было бы надёжнее, если бы они ссылались на хэш коммита, а не на main.
    И это не отменяет того факта, что НИЗЗЗЯ качать непонятные файлы из интернета и тут же исполнять их от имени рута.
    Ответ написан
    Комментировать
  • Копирование файлов с сервера на сервер происходит через компьютер клиента?

    @nApoBo3
    Да вы правильно понимаете если проводник открыт на клиенте, то он копирует через клиента.
    Ответ написан
    Комментировать
  • Массив указателей на функции. Почему программа не даёт результат?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Мне нужно выполнить функцию, из массива указателей на функцию, номер которой я укажу в консоли. Почему не выполняется?

    Потому что mass[0]; -- это не вызов функции, а просто указатель. Вызов функции выглядит так: mass[0]();
    Ответ написан
    Комментировать
  • Возможно ли игнорировать файл/папку через .gitignore, которые уже есть в репозитории?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Нет, если файл уже попал в репозиторий, то он будет отслеживаться до тех пор, пока ты его оттуда не удалишь.

    Игнор действует только на те файлы, которые ещё не отслеживаются. Помогает СЛУЧАЙНО не добавить файл. Но лаже игнор не запрещает принудительно загнать файл в репозиторий.

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

    Ещё есть трюк с временным игнорированием изменений в файле, ранее уже добавленном. Но он будет работать только в локальной копии репозитория и только после ввода команды
    git update-index --assume-unchanged файл
    Ответ написан
    Комментировать
  • Где взять офлайн установочник для gcc в убунте?

    Adamos
    @Adamos
    Установщиков под линуксами обычно не бывает, все ставится пакетами из репозитория.
    Но нюанс в том, что один пакет компилятора ни черта не даст, нужно выкачивать к нему все зависимости.
    Это в убунте может сделать, например, apt-rdepends.
    Ответ написан
    Комментировать
  • Как переписать код с с++ на с(си)?

    CityCat4
    @CityCat4 Куратор тега C
    //COPY01 EXEC PGM=IEBGENER
    Обычно я такими вещами не занимаюсь... но... жалко девочку, пример скачала, но он на плюсах, а злой препод требует plain C (а еще может потребовать обьяснить, как оно работает! :DDD)
    (JFYI, Инна - я бы только за форматирование пару поставил - читать это невозможно от слова совсем)

    #include <iostream>
    меняем на
    #include <stdio.h>
    using namespace std;
    нафиг.

    Цикл вывода, где потоковый оператор cout, переписать следующим образом:
    for ( j = 0 ; j < W ; j++)
      printf("%d ", matrix[i][j]);  
    putchar('\n');


    И настоятельно рекомендую, прежде чем идти лабу сдавать - почитать или посмотреть в отладчике, как это работает. Потому что чайник срезается одним вопросом.
    Ответ написан
    3 комментария
  • Ne sovsem ponyatno kak ispravit, kto podskajet?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Ne sovsem ponyatno kak ispravit

    смотреть не туда, куда ты смотришь сейчас (не на определение COMPILE_TIME_ASSERT, с ним всё ок, оно такое, чтобы генерировать ошибку компиляции, когда какое-то условие в коде не выполняется), а в строку
    ../deps/source-sdk-2013/mp/src/public/tier0/threadtools.h:1130

    где этот assert сработал, и разбираться с ней.
    Ответ написан
    6 комментариев
  • Почему у меня всегда разная скорость скачивания?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Проблема в том, что скорость, которую декларирует провайдер - это скорость последней мили, от провайдера к вам. А как там сложатся дела в интернете - провайдер гарантировать не может.

    Стим использует ряд трюков для ускорения закачки (тот же LEDBAT и многопоточное скачивание), у него мощные датацентры и CDN - отсюда и возможность выжать из вашей последней мили всю скорость.
    Ответ написан
    4 комментария
  • Суть макросов в с++?

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

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

    @nApoBo3
    Совсем DPI.
    Усложнить, заблокировать все исходящие соединения кроме HTTP/HTTPS/MAIL.
    Еще усложнить HTTP и HTTPS пускать через прокси.
    Дополнительно групповыми политиками запретить запуск VPN клиентов.

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

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    В сертификате "Калуга астрал" видимо указан OCSP - сервис для онлайн-проверки статуса сертификатов. Пока данный сервис не будет онлайн/доступен, этим сертификатом ничего нельзя будет подписать, потому что он не может проверить статус отзыва.
    Загрузка CRL на компьютер ничего не решает - должен работать именно онлайн проверятор.
    Ответ написан
    Комментировать
  • Как пробросить все порты роутера?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    DMZ или режим моста, если такой имеется.
    Ответ написан
    1 комментарий
  • Почему провайдеры не могут заблокировать VPN?

    CityCat4
    @CityCat4 Куратор тега VPN
    //COPY01 EXEC PGM=IEBGENER
    Почему не могут-то? Могут. Просто такой команды пока не было. Погуглите, как с этим в Китае, например (с работой VPN). Или Вы думаете, тот факт, что Shadowsocks - китайская разработка - случайность? :)
    Ну и кроме того, не всякий VPN - это обход блокировок. В энтерпрайзе - это обычная технология обьединения филиалов с головным офисом и предоставления удаленного доступа сотрудникам.

    Предложил изменение вопроса - убрал тег "Шифрование"
    Ответ написан
    Комментировать
  • Как проверить работоспособность плашки ОЗУ?

    @kisaa
    Memtest86
    https://www.memtest86.com/

    Скачать, записать на флэшку, загрузиться, запустить, оставить на ночь.
    Ответ написан
    1 комментарий
  • Проверить первые 2 байта?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Окройте файл в ifstream в бинарном режиме и читайте 2 байта через read.

    Или используйте fread. Читайте 2 байта в буфер длинной 2.
    Ответ написан
    Комментировать
  • Какие есть книги по машинному коду?

    AMD64 Architecture Programmer’s Manual
    Intel 64 and IA-32 Architectures Software Developer Manual
    Ответ написан
    Комментировать
  • Почему вставка элементов занимает такое время?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Классический массив - это непрерывная область памяти, заполненная данными в порядке возрастания индексов. Чтобы вставить элемент в массив необходимо перенести часть уже имеющихся элементов, освободив место под вставляемый. При вставке в случайное место матожидание количества переносимых элементов будет n/2, соответственно сложность алгоритма оценивается в O(n). Добавление элемента в конец массива имеет сложность O(1), если нам известен текущий размер и мы не выходим за пределы памяти, выделенной для хранения массива. Если памяти недостаточно, то придётся выделить новый блок, перенести туда весь массив и освободить старый блок памяти. Эта процедура тоже занимает O(n).

    Вставка в список зависит от того, есть ли у нас указатель на то место, куда надо вставить новый элемент. Если нет, то сначала необходимо выполнить поиск, который оценивается в O(n). Сама вставка, при этом, не требует перемещения других элементов и всегда выполняется за O(1).
    Ответ написан
    Комментировать