Задать вопрос
  • Сильная загрузка процессора на Win10, что делать?

    @res2001
    Александр Носов,
    разве MS раздает винду

    Раздавала, раздает и будет раздавать.
    Сейчас они раздают в основном через их официальный инструмент Windows Media Creation Tools, т.е. сначала качаете утилиту, а потом с ее помощью выкачивается дистрибутив и заливается на флешку.

    Да вот, первая ссылка в гугле: https://www.microsoft.com/ru-ru/software-download/...
    Не факт, что без ВПН дадут скачать, но это доказывает сам факт, что официальный дистрибутив винды можно скачать с сайта микрософт.
    Написано
  • Как внести большое количество данных из Excel и pdf файла в БД?

    @res2001
    Excel файлы можно обрабатывать скриптом (парсер) и генерировать из них на лету sql команды, SQL команды там же можно отправлять на выполнение в СУБД. Но файлы должны быть строго структурированы, если нет, то либо писать под каждый вариант свой парсер, либо приводить к единообразному виду руками. Но возможно в этом случае проще будет сразу преобразовать excel в csv то же с жесткой структурой, как тут уже советовали. Работать с csv проще, чем с excel.
    Скрипт можно сделать в том же Excel, встроенный туда VBA не сложный ЯП, хоть и не особо популярный. Или python или что-то еще, что вам ближе и умеет работать с excel файлами. Можно использовать WSH языки (JScript или VBS), поддержка которых есть из коробки в любой винде, там так же можно работать с excel через COM объекты.

    С PDFами все сильно сложнее. Думаю придется преобразовать их в какой-то более удобоваримый структурированный вид перед загрузкой, скорее всего руками. Хоть в тот же excel или csv. Дальше по прежней схеме.
    Написано
  • Сильная загрузка процессора на Win10, что делать?

    @res2001
    Александр Носов,
    А ПК сейчас личный домашний, потому и не брезгую сборками.

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

    Последний раз несколько месяцев назад скачивал образ винды с сайта микрософта через ВПН. Только надо прямую ссылку в интернете найти, это легко гуглиться. Так же можно попробовать сделать загрузочную флешку с помощью родного Windows Media Cretion Tools то же через ВПН.
    Впрочем, может уже можно и без ВПН. Не знаю как обстоят дела с этим на сегодняшний день.
    Написано
  • Сильная загрузка процессора на Win10, что делать?

    @res2001
    Win7 уже не поддерживается микрософтом с 23 года, если не ошибаюсь. Обновлений не будет. Она становится опасной для использования.
    У Win10 основная поддержка заканчивается в октябре 2025. Но тут еще будет какой-то период расширенной поддержки, когда будут выпускать обновления связанные с безопасностью.

    Можете попробовать побороться с загрузкой ЦПУ. Тут вам поможет менеджер задач - по нему определите какой процесс больше всего нагружает систему. Дальше выясняете, что это за процесс и что можно сделать, чтоб снизить у него использование ЦП. Гугл в помощь. С каждой программой нагружающей систему надо разбираться отдельно, общее решение только одно - не использовать эту программу, но часто это не возможно.

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

    Возможно стоит подумать об установке линукса, если там работает используемое вами ПО?
    Можно для эксперимента поставить линукс второй системой и попытаться завести все ваше ПО. Если опыт будет успешным, то винду можно будет удалить.

    Я сам обновил железо пару лет назад, когда надоело бороться с тормозами на Вин10, старый конфиг был чуть слабже, чему у вас. На моем старом ПК сейчас линукс, возможно и на новом то же скоро будет линукс.
    Написано
  • Как скопировать файлы по условию?

    @res2001
    move g:\docs\*2024.* g:\docs\2024
    Написано
  • Покажите на ассемблере как выглядит защита от переполнения буфера?

    @res2001
    Sasha_88,
    неужели какая-то одна инструкция обеспечивает прям полную защиту от хакинга с буфером.

    Кто вам такую чушь сказал.
    Никаких особенных инструкций нет, иначе бы их просто использовали везде и проблема с кривыми руками погромистов была бы решена.

    В общем случае проверка выглядит так - когда выделяется память, то выделяется чуть больше памяти, в конец выделенного буфера записывается некое магическое число.
    При освобождении памяти - число проверяется - не совпадает с эталоном - была запись за пределы массива. Так же можно проверять и при каждом обращении к этой памяти, но тут могут быть сложности. Кроме того - это дополнительный расход памяти и ЦП.
    Аналогичным образом можно добавить к буферу места и в начале и проверять выход за начало буфера - такое то же может быть.
    У GCC это делается с помощью ASAN (и прочих санитайзеров) - это дополнительная библиотека и некоторый код поддержки, который добавляет компилятор. Довольно полезная штука. Кроме того умеет не только утечки памяти ловить.
    Кроме того есть валгринд и т.п. внешние анализаторы, intel vtune в отличие от валгринда очень быстро работает, правда стоит денег (и сейчас как-то по другому вроде бы называется, давно не пользовался).
    Но все это используется обычно только на этапе отладки, в релизе - это все убирают, чтоб не тормозило процесс.
    Написано
  • Ошибки winsock 10054 и 10053. Как решить?

    @res2001
    gethighlikeplanes,
    пишу свою реализацию ftp-сервера

    Именно FTP или просто собственный вариант приема/передачи файлов? Просто FTP не такой уж простой протокол, как может показаться. И не очень популярный на сегодняшний день, как раз из-за своих сложностей.
    1. Там используется 2 порта: для команд и для данных, причем соединение на передачу данных открывается каждый раз новое.
    2. FTP может работать в активном или пассивном режиме - это определяет кто и как будет открывать порт для передачи данных.
    3. 21 порт - используется для команд.
    За деталями - читайте RFC.
    Написано
  • Как сделать корзину в шаре?

    @res2001
    bmwclub, Ничего особо важного за 1 день не делается, а если делается, то это достаточно легко повторить еще раз - времени то прошло всего несколько часов.

    В бытность мою админом средней сети, у меня было файлохранилище не под виндой, с файловой системой поддерживающей COW, там любое изменение файла приводило к записи нового файла. И был механизм для восстановления любого файла в любое состояние, которое еще хранилось в истории перезаписи. Правда делать это мог только админ, но это и хорошо - т.к. пользователям приходилось совершать дополнительные телодвижения для восстановления, то они привыкали сначала думать, а потом делать. Из минусов использования COW - ты никак не контролируешь когда ОСь начнет перезаписывать устаревшие копии данных, но это легко обходится - нужно просто держать на диске достаточное свободное пространство. Было достаточно удобно, т.к. интерфейс восстановления был с GUI, поэтому не приходилось каждый раз вспоминать команды для поиска истории и восстановления.
    Это, конечно, не отменяет ежедневные бэкапы.
    Написано
  • Как мониторить программу в Windows?

    @res2001
    В диспетчере задач винды отображаются только процессы.
    Количество потоков в процессе можно получить на закладке Details добавив дополнительный столбец Threads (не помню, по умолчанию кажется он не отображается). Добавлять столбцы можно, щелкнув ПКМ на заголовке таблицы и выбрав "Select columns" (у меня английская винда).
    Но это действие не заставит диспетчер задач отображать потоки отдельными строками в таблице.

    Думаю, количество потребляемой памяти можно получить скриптом на cmd или power shell. В cmd можно посмотреть в сторону команды tasklist, больше информации, скорее всего можно получить, с помощью утилиты wmic. По power shell ничего не скажу, но наверняка там возможностей еще больше. И все это доступно из коробки.
    Написано
  • Ошибки winsock 10054 и 10053. Как решить?

    @res2001
    Код ошибки получаемый из системных вызовов можно преобразовать в текстовое сообщение.
    Смотрите тут как это сделать. Возможно это немного прояснит проблему.
    Написано
  • Как из длины массива и максимального количества потоков узнать индексы, которые будет обрабатывать поток?

    @res2001
    Catmengi, 1. Если у тебя в потоках кратковременные задачи, которые достаточно быстро завершаются и достаточно часто создаются, то да, смысл в пуле потоков есть. Иначе на создание уничтожение потока будет расходоваться слишком много ресурсов.
    2. В любой системе всегда ограниченное количество вычислительных ядер, следовательно всегда и везде могут одновременно работать лишь ограниченное количество потоков, сколько бы их не стояло в очереди. Так что это абсолютно нормальная ситуация. Не делай в пуле потоков больше, чем ядер в системе - это обычно не дает дополнительного буста.
    Написано
  • Как из длины массива и максимального количества потоков узнать индексы, которые будет обрабатывать поток?

    @res2001
    Catmengi, Выделение памяти в этом процессе то же может съесть у вас всю производительность - это достаточно дорогая операция. Обычно в таких случаях берут буфер некоего максимального возможного размера (в разумных пределах конечно), буфер этот может быть статически выделен, и работают уже с ним, не выделяя память при сериализации.
    Написано
  • Как из длины массива и максимального количества потоков узнать индексы, которые будет обрабатывать поток?

    @res2001
    Catmengi, Это вполне может быть проблема имплементации. Т.к. синхронизация может стать узким местом во всей схеме.
    Строго говоря, понять в чем затык, можно лишь на тестах, сравнивая производительность с "эталонной" однопоточной реализацией. Тесты гонять надо с разным количеством потоков и разным количеством данных на поток - при увеличении количества данных должны больше проявляться преимущества многопоточки.
    Так же еще важный момент - как у вас происходит сбор сериализованных данных из разных потоков, в этом месте то же может быть "бутылочное горлышко", т.к. сбор, видимо, проходит в 1 потоке.
    Написано
  • Как из длины массива и максимального количества потоков узнать индексы, которые будет обрабатывать поток?

    @res2001
    Catmengi,
    Целесообразно ли вообще делать сериализацию в несколько потоков?

    По моему, при сериализации/десериализации выигрыша от многопоточки будет не много, если он вообще будет, т.к. сами операции при сериализации/десериализации простые и достаточно быстрые, а синхронизация при многопоточке даст дополнительные накладные расходы, которые вполне вероятно перекроют выигрыш от параллельного выполнения сериализации/десериализации.
    Чтоб это узнать нужно погонять тесты в обоих вариантах.
    Возможен выигрышь только при достаточно большом количестве данных (миллионы на каждый поток) и грамотной синхронизации потоков, а лучше вообще избавиться от синхронизации, если это возможно.
    Написано
  • Как связаны TCP-сегменты и пакеты? Один сегмент состоит из нескольких пакетов или наоборот?

    @res2001
    Mors Clamor,
    Почитайте на досуге

    Вы обнаружили какое-то противоречие в моих словах с текстом по ссылке? Что именно? Ссылку просмотрел по диагонали - вроде все правильно там пишут :)

    Своим комментарием я лишь хотел уточнить деталь, что MTU - это аттрибут нижележащего протокола (в нашем случае Ethernet), т.к. именно нижний уровень определяет максимальный размер данных, который он может передать в одном кадре, IP этого знать не может, т.к. в общем случае не знает по какой физике будет передаваться его пакет.
    Для проверки на любой линукс системе дайте команду ip link show и получите в т.ч. значение MTU сетевого адаптера, но никакой информации об IP команда не выдаст.
    Написано
  • Ноутбуки не видят интернет через контроллер домена после расширения маски. Как быть?

    @res2001
    Sand,
    но до расширения сети же все работало

    В вопросе этой информации не было. Значит предположим, что в DNS сервере у вас переадресация настроена.

    Возможно на сервере "закончился" доступ к интренету после расширения маски и теперь DNS запросы на внешние сервера уходят не туда.
    Это возможно, например, если вы забыли где-то изменить маску сети (сервер/роутер) - в этом случае теоретически сервер и роутер могли оказаться в разных подсетях.
    Написано
  • Ноутбуки не видят интернет через контроллер домена после расширения маски. Как быть?

    @res2001
    Данила Потягов,
    а вот DNS - не отвечает

    DNS сервер может обслуживать только локальный домен, без переадресации запросов наружу. Скорее всего это и есть ваша проблема (если вообще DNS работает). Надо настроить переадресацию внешних запросов на внешние сервера. Это можно сделать либо на самом DNS сервере, либо на клиентах, задав вторичные DNS сервера из интернета.
    Утилита nslookup в помощь.
    Написано
  • Как связаны TCP-сегменты и пакеты? Один сегмент состоит из нескольких пакетов или наоборот?

    @res2001
    bbrother92,
    Понял, а что еще из нетворкинга нужна знать бекендеру?

    и не только бэкэндеру, но любому, кто пытается самостоятельно что-то делать с сетью:
    1. Принципы инкапсуляции протоколов - модель OSI
    2. Азы Ethernet адресация, Понимать как протокол нижнего уровня выбирает протокол верхнего уровня для передачи входящих пакетов на обработку. Над уровнем Ethernet не обязательно есть только IP, там может быть еще целая пачка других протоколов, которые для транспорта то же используют Ethernet (и так почти для любого уровня протоколов из модели OSI)
    3. Понимание IP адресации, маски адреса (зачем она), как разделить сеть на подсети, IP маршрутизация
    4. Понимание работы фаервола - они есть сейчас в каждом чайнике, который подключен к сети. Сюда же понимание работы NAT.
    5. Умение настроить пп.3-4 в используемой вами ОС. Достаточно попрактиковаться на одной ОС для закрепления навыков, на других ОС изменятся применяемые инструменты, но принципы будут теми же.

    Оптимизация стека - это обычно удел сис.админов, у прикладного программиста обычно нет таких задач.
    Написано
  • Как связаны TCP-сегменты и пакеты? Один сегмент состоит из нескольких пакетов или наоборот?

    @res2001
    Mors Clamor, bbrother92,
    У самого IP тоже есть параметр, который определяет максимальный размер пакета, который может пройти через канал (MTU).

    MTU есть не у IP - это параметр сетевого интерфейса, т.е. уровня Ethernet, но он задает максимальный размер данных вышестоящего протокола в Ethernet фрейме. Ethernet заголовок и CRC не включается в MTU. Соответственно IP использует значение MTU как максимальный размер IP пакета.
    Написано
  • Как корректно использовать функцию system при компиляции из GCC?

    @res2001
    hitakiri,
    Думаю дело тут всё же в компиляторе. Т.к. в справке по функции есть пометка :

    Винда не POSIX система, к ней ваша цитата не относится. Дело не в компиляторе. system - находится в стандартной библиотеке, она уже скомпилирована и обычно не вами.
    Написано