Задать вопрос
  • Годится ли такое проектирование в mongodb?

    @frozen_coder
    Java-developer
    Тут всё зависит от того, как эти данные будут использоваться.
    Если нам в первую очередь важен пользователь, то может вообще всё в него запихать.
    Переносить схему один в один - это такое себе занятие. Вы какую проблему этим решаете? Если вам отношения между сущностями важны и вы хотите их со всех сторон использовать, то может не есть кактус и взять реляционную БД?
    Ответ написан
    5 комментариев
  • Как пробросить порт через тоннель в ssh?

    planc
    @planc
    SSH user@185.XXX.XXX.XX -p 2422 -L 80:127.0.0.1:80

    ну и само собой, если needed.website.ru не отдается как стандартный веб сервером, нужно прописать у себя в /etc/hosts:
    127.0.0.1 needed.website.ru

    -L порт:машина:порт_машины
    Определяет заданный порт на локальной (клиентской) машине который будет перенаправлен к заданной машине и порт на удаленной машине. Это реализовано путём назначения доменного подключения "прослушиваемому" порту на стороне локальной машины и всякий раз, когда производится соединение на этот порт, оно будет перенаправлено через защищенный канал и произведено соединение к порту порт_машины удаленной машины. Перенаправление портов моет быть так же указано в файле конфигурации. Только суперпользователь может осуществлять перенаправление привилегированных портов. Адреса IPv6 могут быть указаны с альтернативным синтаксисом: port/host/hostport.
    -R порт:машина:порт_машины
    Указывает заданный порт на удаленной машине (сервере) который будет перенаправлен к заданной машине и локальному порту. Это реализовано путём назначения доменного подключения "прослушиваемому" порту со стороны удаленной машины и всякий раз, когда производится соединение на этот порт, оно будет перенаправлено через защищенный канал и произведено соединение к порту порт_машины локальной машины. Перенаправление портов моет быть так же указано в файле конфигурации. Только суперпользователь может осуществлять перенаправление привилегированных портов. Адреса IPv6 могут быть указаны с альтернативным синтаксисом: port/host/hostport.


    https://www.opennet.ru/man.shtml?topic=ssh&categor...
    Ответ написан
    2 комментария
  • Структуры и классы в чем разница?

    hePPer
    @hePPer
    Структуры - совместимость с языком Си. В С++ структуры и классы эквивалентны, кроме доступа по умолчанию.
    Ответ написан
    1 комментарий
  • Какой программой можно массово заменить расширение файлов на Windows?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Обычный батник с короткой строчкой кода.
    Создаете какой нибудь файл, например переименование.bat пишите в нем конструкцию вроде -
    for /R "E:\Test" %%B in (*.txt) do ren %%B *.exe
    Сохраняете и запускаете.
    Поменяет у всех текстовых файлов в папке E:\Test и подпапках расширение на exe.

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

    myjcom
    @myjcom Куратор тега C++
    https://en.cppreference.com/w/cpp/filesystem
    Если доступен С++17
    #include<iostream>
    #include<filesystem>
    #include<string>
    using namespace std;
    namespace fs = filesystem;
    
    auto getDirectorySize(const fs::path& p)
    {
      uintmax_t size = 0;
      if(fs::is_directory(p))
      {
        for(const auto& f : fs::directory_iterator(p))
        {
          size += f.file_size();
        }
      }
      return size;
    }
    
    int main()
    {
      string directory{ "C:\\TEMP" };
      fs::path dp{ directory };
      
      auto size{ getDirectorySize(dp) };
      cout << "size of "  << directory 
           << " "         << size 
           << " bytes"    << endl;
    }

    Или

    #include<iostream>
    #include<fstream>
    #include<string>
    #include<vector>
    using namespace std;
    
    size_t getFileSize(const string& filename)
    {
      ifstream ifs(filename);
      size_t size = 0;
      if(ifs)
      {
        ifs.seekg(0, ios_base::end);
        size = ifs.tellg();
      }
      return size;
    }
    
    int main()
    {
      vector<string> filenames{
        "C:\\TEMP\\aaa.txt", "C:\\TEMP\\bbb.txt", "C:\\TEMP\\ccc.txt"
      };
    
      size_t size = 0;
    
      for(const string& fn : filenames)
      {
        size += getFileSize(fn);
      }
    
      cout << "Size: " << size << endl;
    }

    Ответ написан
    7 комментариев
  • Почему в консоли на выводе 0?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Строка с форматом неверно составлена.
    printf("%.1f\n","%.1f\n","%.1f\n", fut, m, dm);  // тут ошибка

    printf("%.1f\t%.1f\t%.1f\n", fut, m, dm);
    Ответ написан
    Комментировать
  • Будет ли работать такая схема (интранет)?

    В принципе, будет. Всё зависит от того, как настроить маршруты на роутерах.
    Если сеть маленькая, зачем такие огромные диапазоны? Такими полстраны (утрирую) можно охватить. И, как бы, принято для домашних подсетей использовать 192.168.0.0, а на корпоративные сети 10.0.0.0.
    Так что ставьте одну подсеть 192.168.0.0 и всё в неё. Ну или разбить чуток типа 192.168.1.0, 192.168.2.0...
    Так в каждой подсети пару сотен узлов вполне уживутся.
    Другой нюанс - если подключаемые сторонние роутеры Вам подконтрольны (т.е. Вы распоряжаетесь, какие там будут настройки) - то проблем (почти) нет. Но если административно управляются кем-то ещё, то смотреть надо в сторону BGP, и соответственно, всё намного усложняется. Конечно, если сторонние роутеры, это как клиенты, т.е. не имеют куда-то ещё маршрутов и не нужно иметь связность со всеми - путь так и будут на одном IP каждый, а внутри имеют nat с dhcp или что угодно там делают, главное на своём роутере фильтровать, что куда может уходить-приходить, а что нет.
    Ответ написан
    Комментировать
  • Что изображено на данной картинке?

    fzfx
    @fzfx
    18,5 дм
    код программы на ассемблере в отладчике.
    и причём тут системное администрирование и linux?
    Ответ написан
    2 комментария
  • Как оптимизировать приложение на языке С?

    tsarevfs
    @tsarevfs
    C++ developer
    Используйте профилировщик для поиска проблемных мест. Я работаю с https://developer.nvidia.com/nsight-systems, но есть и другие, в том числе более популярные варианты.
    В первую очередь стоит оптимизировать асимптотическую сложность.
    Дальше можно подумать о распаралеливании на несколько потоков.
    Если уже и так все оптимально, можно посмотреть на микро оптимизации:
    https://habr.com/en/company/intel/blog/257309/
    Ну и кроме того можно использовать CUDA для обработки на GPU
    Ответ написан
    2 комментария
  • Какой программой определить библиотеки используемые исполняемым файлом?

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Ответ написан
    Комментировать
  • Как поднять репо на уровень выше в каталоге?

    @Nc_Soft
    Просто сделайте в репозитории папку application/frontend и переместите туда всё (обычный rename). История на файлах сохранится
    Ответ написан
    3 комментария
  • Могут ли коммутаторы третьего уровня L3 (не маршрутизаторы) выполнять коммутацию по частным адресам IPv4, таким как 192.168.0.0 -192.168.255.255?

    Mystray
    @Mystray
    NOC
    1) Коммутаторы 3-го уровня - это и есть "маршрутизаторы" с набором специфичных аппаратных ограничений.
    2) Коммутация, в большинстве случаев, относится к 2-му уровню, а там не имеют значения IP-адреса, важны только MAC. Которые, естественно, будут коммутироваться коммутатором, и до IP-адресов, в таком случае дела нет.
    3) IP-адреса маршрутизируются маршрутизаторами между разными подсетями. За исключением совсем специальных случаев (мультикастовые и зарезервированные особым образом для особых задач), маршрутизатору плевать, какие именно там подсети, лишь бы они были в таблице маршрутов.
    А в случае, если подсеть между узлами одна, то маршрутизатор не нужен, нужна только коммутация и мы возвращаемся к п. 2) и коммутаруем узлы на 2 уровне обычным коммутатором (хоть Л2).

    P.S. Я намеренно исключаю NAT, так как в вопросе о нем ни слова.
    Ответ написан
    4 комментария
  • Есть ли на специализации "Прикладная информатика" физика после 9 класса?

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

    Много ли будет физики

    ФГОС специальности 09.02.05 Прикладная информатика (по отраслям)
    Физики там нет, вообще нет.

    после 1 курса

    2 семестра 1-го курса будет физика в рамках школьной программы 10-11 класса, собственно как и остальные предметы. На первом курсе на базе 9 классов вы сжато осваиваете 2 года школы.
    Ответ написан
    Комментировать
  • Как вычислить 9**(9**9) не потратив на это огромное количество времени?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Алгоритм:
    1. ручкой пишем на бумаге первые несколько степеней 9
    2. в голове появляется догадка
    Ответ написан
    3 комментария
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    я замечаю что гораздо лучше всё усваиваю когда делаю всё с нуля

    Поверьте - так у всех.

    Но вы обратили внимание, что в школе вам рассказывали про опыты Галилея, а не дали два шарика и не сказали - разберитесь какой из них падает быстрее?

    Представьте что вы велосипедите долго-долго и разобрались с авторизацией и загрузкой файлов вдоль и поперек, а потом все же сталкиваетесь с каким-нибудь фреймворком и смотрите, а там загрузка сделана так же как у вас и вы бы могли не тратить год, на то чтобы дойти до этого, а просто сразу посмотреть. Смотрите на авторизацию и думаете - "о, а чо так тоже можно было?"

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

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Гугли "Code games for kids", там где надо роботом двигать вставляя команды "прямо, налево, направо, если впереди стена то - назад". Вот это и есть самые азы программирования.
    https://code.game/home
    Ответ написан
    Комментировать
  • Эффективный алгоритм для двустороннего поиска?

    maaGames
    @maaGames
    Погроммирую программы
    Зависит от того, сколько это "достаточно много" и сколько есть оперативной памяти под эту задачу (ПК, смартфон, эмбедед разработка?).
    Если память позволяет, то самым быстрым будет два бинарных дерева (либо два сортированных массива-списка, но тогда после добавления элемента придётся пересортировывать или искать место вставки).
    Если A и Value сами по себе большие и/или сложные объекты, которые нельзя продублировать, то можно сделать две индексных таблицы, ссылающихся на оригинальные данные.
    Самое быстрое - два отсортированных массива, в каждом из которых и А и Value.
    Самое удобное, но чуточку менее быстрое - два бинарных дерева.
    Ответ написан
    6 комментариев
  • Стоит ли хранить базы данных на SSD?

    Adamos
    @Adamos
    Базы не стоит хранить на SSD.
    Их стоит держать на SSD - для скорости работы - и почаще бэкапить хотя бы на HDD, если вам дороги данные и рассудок.
    Ответ написан
    9 комментариев
  • Как установить windows 10 на ноутбук с freedos?

    Slayer_nn
    @Slayer_nn Куратор тега Windows
    Гугол, памаги!
    Купил ноут с фреедос
    Скачал образ винды
    Создал загрузочную флешку через rufus
    Зашел в биос, включил uefi (без legacy), отключил safe boot (на всякий)
    Нашел опции boot from usb, включил
    Usb legacy тоже включил
    Зашел в boot menu f11 (f12)
    Поставил винду

    Мб поможет обновление bios
    Так же стоит попробовать поставить винду через legacy, диск придется конвертировать в mbr
    И надо будет включить режим legacy bios

    Флешку пихать в порты usb 2.0 (черные, вместо синих)

    Также стоит попробовать другой образ
    Ответ написан
    4 комментария
  • Как/где изучить git?

    DevMan
    @DevMan
    Ответ написан
    Комментировать