Ответы пользователя по тегу Windows
  • Почему в Linux приложение может удалить само себя, а в Windows нет?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Когда процесс открывает файл, он открывает дескриптор на определенную структуру данных. Эта структура содержит аттрибуты файла, права доступа, информацию о том, где хранятся данные файла и так далее.

    В Win и *nix эта информация хранится в разных местах, и соответственно лок происходит по-разному.

    В POSIX системах (unix, linux, etc.) информация о файле хранится iNode, а имя файла уже ссылается на iNode.

    В Windows и DOS изначально информация о файле хранилась в структуре которая называется Directory Entry. В NTFS это немного изменилось, но подход они не меняли либо для обратной совместимости, либо не видели в этом нужды.

    Собственно отсюда исторически и выросло, что в *nix при открытии файла дескриптор указывает на iNode, а само имя файла можно при этом свободно удалять, или делать несколько имен ссылающихся на одну iNode (hard link), которые можно произвольно менять, пока "файл открыт".

    В Windows лочится непосредственно Directory Entry (или ее аналог в NTFS), следовательно его модифицировать в этот момент нельзя.

    У обоих подходов есть свои плюсы и минусы и история. Пока нет предпосылок к тому, что на Windows захотят изменить подход.
    Ответ написан
  • Правильный переход с HDD на SSD?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Про установку никто не пишет, потому что никакой разницы в установке нет, а перенос у многих вызывает вопросы.
    Делай так, как тебе удобнее. Проще с нуля - поставь с нуля. Лень настраивать весь свой уже установленный софт - перенеси.
    Ответ написан
  • Как сделать программу,которая будет компилировать данные в exe?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Разобрать что такое exe формат, это на самом деле контейнер, который хранит и исполняемый код и данные в виде иконок, диалогов и так далее.
    spoiler
    5e96f06938cda111545108.png

    Написать свой сборщик и сохранить данные в .exe

    При этом запускать его будет невозможно, если там будут ТОЛЬКО данные.
    Ответ написан
  • Как максимально очистить оперативку?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Не постить тысячи скринов, а отсортировать по потреблению памяти и посмотреть топ-10 приложений которые все сжирают.
    У вас это браузер, антималвар какой-то, мс офис.

    Не трогайте виндовс сервисы, сделаете только хуже. Просто закройте все программы и запустите одну игру.
    Или докупите еще 8 гб памяти, она сейчас недорогая.
    Ответ написан
  • Как распаковать 70К файлов .ZIP и автоматически переносить их на другой локальный диск?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Делаете скрипт, в котором пробегаете по каждому файлу командой типа:
    unzip -o -d f:/ <file.zip> model
    из-за того, что файлов очень много, надо что-то придумать с итерацией.
    Если бы стоял bash, я бы сделал через xargs
    Ответ написан
  • Какие драйвера нужны при переустановке винды?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Никогда не пользуйтесь никакими сборниками. В большинстве случаев это набор малвара.
    Качайте дрова исключительно с сайта производителя, для чего просто смотрите модель материнки и видяшки. Большинство устройств типа звук/сетевушка встроены в материнку, поэтому драйвера на том же сайте, что и материнка.

    P.S. Изредка можно скачать драйвера конкретных устройств - принтер, геймерская мышка, может звуковуха у вас внешняя.
    Но "сборники драйверов" - не нужно туда лезть. Туда лазят только продвинутые люди, которым вдруг нужно найти что-то нестандартное, и которые способны разобраться где драйвер, а где вирус.
    Ответ написан
  • Как открывать изображения и другие файлы через контекстное меню?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    консоль (cmd.exe) и проводник (explorer.exe) это два разные оболочки.
    Контекстное меню проводника относится только к проводнику. Вы же не вызываете нарисовать диаграмму от экселя, в paint?

    Ассоциации на расширения регистрируются в системе, но там можно зарегистрировать только одно общее действие - запуск ( \shell\open )
    В проводнике, это можно зарегать при помощи "открыть с помощью" и указать что всегда использовать данную программу. Тогда при попытке запустить ее в cmd.exe будет тоже самое.
    А другие опции контекстного меню в cmd.exe не поддерживаются.
    Ответ написан
  • Удаленная безинтерактивная блокировка Windows 10 с Android?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Поводу ssh-сервера, от чьего имени запущена служба?

    Можно поставить веб-сервер, с простым CGI и выполнять команду при вызове конкретного урл.
    Можно поставить слежение за каким-то каталогом через крон/службу расписанийи выполнять rundll... если в ней появился нужный файл. Файл создавать через ssh подключение.
    Ответ написан
  • Как войти по SSH на windows 10?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Выполните
    GIT_SSH_COMMAND="ssh -vvv" git clone  git@ssh.dev.azure.com:v3/softwarelicense/Onboarding/Onboarding


    Посмотрите на что ругается.
    Точно нет проблемы с тем, чтобы найти ваш приватный ключ?
    Ответ написан
  • Есть ли способ использовать Docker на windows home?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Прямо на виндовс нужен? Почему бы не замутить виртуалбокс, и работать с докером в более привычной среде?
    Ответ написан
  • Какие есть программы удаленного управления windows ( для игр)?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Это разве не просто передача уже готовых кадров которые подготовила видеокарта ?

    Ну давай посчитаем, что такое передача готовых кадров.

    Берем простенькое 1980x1200, получаем 2376000 точек.
    На цвет (если нам нужен нормальный true color), уходит 4 байта. Получаем 2376000*4=9 мегабайт.
    это ОДИН кадр.
    Берем средненькую игру, где ты хочешь наверное 50-60 frames per second, получаем 540 мегабайт.
    В секунду.
    Это то, что нужно передать на удаленный компьютер, причем у тебя не целая секунда, а наверное по ту сторону не будут слишком рады, если игра будет лагать по полсекунды или даже четверть секунды.
    При скорости подключения в 1гбит у тебя в идеальнейшем случае будет 60-80 мегабайт в секунду, так что тут вообще не вариант.
    Какой у нас выход? Сжимать видео. Сколько у нас времени на сжатие видео? Даже секунды нет, иначе будут лаги. Даже сжав видео раз в 10, ты получишь 54 мегабайта в секунду, что впритык к 1 гбиту. И все равно маловато.

    В общем реал-тайм передача данных в хорошем разрешении, чтобы играть на удаленном компе практически нереальна.
    Поэтому либо хорошее качество и жуткие задержки (например ютуб трансляцию обычно смотрят с задержкой в несколько секунд или минут, и видео успевает быть пережатым хорошим алгоритмом, уменьши трафик раз в 20-50 или больше).

    Либо уменьшаем лаги, но сжиать надо быстрее (мощный проц, и плохое качество, так как не успеваем), плюс хитрые алгоритмы просчитывающие, чего не передавать (опять проц). Но все рано лаги будут приличные.
    Ну и 1980x1200 потихоньку отмирает, сейчас приходит 2560x1440 и 4к (4096 × 3072)

    А еще есть звук, который мы еще не считали, и который весит немало.
    Ответ написан
  • Как использовать linux сервер на windows 10?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Запускай линукс в виртуалбоксе.
    Ответ написан
  • How to split and merge files inplace?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Нельзя так сделать.
    Можно урезать конкретный файл через truncate, но так чтобы из одного сделать несколько - не выйдет.

    fallocate делает не это, он создает файл нужного размера, но не наполняет его данными, просто сообщая файловой системе, сколько места ему нужно. Но fallocate не управляет конкретными областями диска, и нарезать уже существующие данные не может в принципе.

    Единственный вариант - считать файл в память, удалить его на диске и записать несколько уже из памяти. Но понятно что размер файла при этом ограничен возможностями. Можно написать. И в любом случае будут операции чтения/записи.
    Ответ написан
  • Стоит ли работать на эмуляторе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Чем не устраивает работать на винде, а линукс запускать в виртуалке?
    Ответ написан
  • Как запретить запуск программы в windows 10?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    При этом у юзера должны быть полноценные права администратора. Это не взаимоисключающие параграфы? Можно как-то сделать?

    В общем случае - взаимоисключающие.

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Писать самую маленькую программу в мире не нужно (62 байта).

    Что-то слишком много как для самой маленькой программы в мире. Есть же гораздо меньше.

    К примеру, какой примерно размер билда может быть у утилиты, которая просто отслеживает двойной щелчок мыши во всех запущенных приложениях?
    GUI - просто кнопка "reset" и счетчик нажатий, без красивого оформления, с упором на минимализм. По моим прикидкам даже 100Кб будет много, хотя тянуть с собой стандартную библиотеку не зазорно, но всё же слишком жирно для такой простой задачи.

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

    Подразумевается, что таких мелких программ может одновременно работать очень много. К примеру, 20 штук (под разные хотелки). И если каждая будет под 100 Мб, то это как-то не круто. Вспоминаются старые добрые времена, когда всем за глаза хватало 640Кб...

    Так напишите одну программу с 20-ю хотелками и все.

    В старые добрые времена 640 кб никому не хватало. Вдобавок в те времена, windows была совсем не многозадачной и не умела все то, что сейчас происходит. Даже банально работа с графикой - есть разница между 320x200x256 и 1920x1024x65536.

    По языкам - не суть важно. На самом деле на каждом языке можно писать с умом и оптимизацией. Но для ваших задач - нет смысла сейчас выбирать специализацию. Ваши программы очень простые. Попробуйте написать их на c++, на C# и на java/kotlin и посмотрите потом, какой язык вам больше подходит. Не бросайте все три после первой же программы. Попробуйте все-таки развиваться некоторое время во всех трех. Так поймете больше разных концепций, и собственно почему инструмент выбирают под задачу.
    Ответ написан
  • Как создать переменную среды пользователя через CMD?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Вадим, Нет такого понятия, как "глобальная переменная".

    У каждого процесса есть свой набор переменных, и они передаются во все дочерние процессы.
    Если вы задаете переменные среды в командной строке, то они остаются не до конца сессии, а именно в этом процессе (командная строка).

    Поэтому варианта два:
    * Либо вы задаете переменную в командной строке и затем запускаете нужные программы из этой командной строки
    * Либо вы правите реестр и перезапускаете ваш проводник (что и происходит при релогине), который при запуске вычитает переменные из реестра.
    Ответ написан
  • Какой консольной командой можно посмотреть все подключенные сетевые ПК и доступные сети?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Для того, чтобы посмотреть все локальные компьютеры, нужно чтобы либо был домен контроллер, тогда поможет "net view \\domain_name", либо в одноранговой сети computer browser должен корректно работать, что обычно не всегда так.

    Посмотреть доступные аплинки тоже не всегда можно. Можно посмотреть список сетевых интерфейсов и их текущие настройки. Но если DHCP не раздает например информацию о default gateway, или DHCP не настроен, то автоматом вам никто не скажет кто должен быть аплинком.
    Ответ написан
  • Как настроить шрифты в консольном окне Windows из программы на си?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    А как вы на линуксе контролируете какой у вас "шрифт"?
    Пользователь не может себе поставить не стандартный, и все тогда полетит и на линуксе?

    Или вы путаете шрифт и кодировку?
    Я под виндой пользуюсь conemu, у меня во всех консольных командах Consolas 16 размера, и все отлично отображается
    5dd91ec13520c799680758.png
    Ответ написан