Задать вопрос
  • Как правильно создать bat файл? Отправка at запроса?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    для начала вам надо понять что делают эти команды

    напишите одну строчку вместо ваших трех

    echo AT^SYSCFG=2,2,3fffffff,0,1 > com8
    Ответ написан
    2 комментария
  • Какой хороший маршрутизатор для x86?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Роутер не так часто настраивается. Попробуйте микротик CHR кстати и pfsens хорош. Если совсем не хочется заморочек купите cisco asa or isr 4xxx там кроме cli есть отличная веб морда минус не дёшево базовый роутер в районе 800 долларов
    Ответ написан
    2 комментария
  • Ошибка при загрузке файлов на github?

    Комментировать
  • Как прописать для OpenVPN-клиента/сервера статический DHCP?

    hugeous
    @hugeous
    Системный администратор
    Sergey Twin, прочтите об опции сервера:
    client-config-dir
    Ответ написан
    1 комментарий
  • Можно ли установить убунту на материнку с BIOS?

    AlexeyKolodchenko
    @AlexeyKolodchenko
    sudo cat /dev/ass | grep “the Adventure”
    Можно ли налить чай в чашку без ручки? Я осмотрел чашку со всех сторон и ручку не нашёл. Можно из неё пить чай? А компот?
    Ответ написан
    Комментировать
  • GITBASH GITHUB?

    @Hanneman
    Английским по белому написано:

    Run

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    Вот так и поступите. Значения подставьте свои.

    По-русски и по теме на официальном сайте: https://github.github.com/training-kit/downloads/r...
    Ответ написан
    6 комментариев
  • Какие навыки наиболее востребованы на удаленке?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    делегируют, что попроще

    Это ошибочное мнение.

    какие именно навыки наиболее востребованы на удаленке

    Единственное отличие от офисной работы - самодисциплины требуется больше.
    Ответ написан
    Комментировать
  • Организация FailOver VPN?

    @dronmaxman
    VoIP Administrator
    Три варианта решения.
    1) Использовать свой DNS (можно купить отдельный домен для этого). Добавить CNAME запись с коротким сроком жизни и переписывать ее когда не работает VPN. PowerDNS умеет проверять доступность ресурса перед тем как отдать запись.
    https://doc.powerdns.com/authoritative/lua-records...
    Это сложная схема. Надо понимать как настроить свой DNS, его надо резервировать.

    2) Арендовать VPS + HAProxy. Всех клиентов заворачиваем на VPS, настраиваем HAProxy который будет проверять доступность провайдеров и переключать между ними. Соответственно весь трафик VPN будет итти через VPS.
    Схема рабочая, проверена в бою.

    3) Купить свою AS (BGP)
    Самый стабильный и правильный вариант для большой компании. Сами пользуем.
    Ответ написан
    1 комментарий
  • Как в gcc сохранять объектные файлы(в другой папке)?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как в gcc сохранять объектные файлы

    Опция -o -- путь к результату, препроцессирования/компиляции/линковки. Научи свой Makefile подставлять правильный путь в эту опцию.
    Ты скажешь "а у меня 100500 исходных файлов компилируется разом". Ответ -- а не надо так делать. Компилятор всё равно вызывается каждый раз новый. Напиши правило компилирующее один файл в нужный каталог -- и выполни его по разу для каждого исходника. Например так:
    NAME = calc
    
    SRC = main.c \
      parser.c \
      ft_lib/ft_atoi.c \
      ft_lib/ft_putchar.c \
      ft_lib/ft_putnbr.c
    
    BUILDDIR=build
    OBJ = $(addprefix $(BUILDDIR)/,$(subst /,_,$(patsubst %.c,%.o,$(SRC))))
    
    FLAGS = #-Wall -Wextra -Werror
    
    all: $(NAME)
    
    $(NAME): $(OBJ)
      gcc $(OBJ) -o $(NAME)
    
    define CC_RULE =
    $(BUILDDIR)/$(subst /,_,$(patsubst %c,%o,$(SOURCE))): $(SOURCE)
      gcc $(FLAGS) -c $< -o $@
    endef
    
    $(foreach SOURCE,$(SRC),$(eval $(call CC_RULE,$(SOURCE))))
    
    clean:
      rm -f $(OBJ)
    
    fclean:
      rm -f $(NAME)
    
    re: fclean all


    Смотри: я сделал список объектников из $(SRC), написал генератор CC_RULE, который для любого исходника генерирует правило компиляции его в объектник под $(BUILDDIR) и вызвал его для всех исходников в $(SRC).

    Это забавное развлечение, но гораздо практичнее воспользоваться существующей системой сборки: autotools/CMake/...
    Ответ написан
    4 комментария
  • OpenVPN подойдёт для массового использования?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Что почитать по сетевому программированию?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Сетевое программирование
    Седой и строгий
    1 комментарий
  • Как защитить файл excel по mac адресу без возможности обойти макрос в openoffice и в libreoffice?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Привязка к аппаратному сертификату. Ну или хотя бы к программному сертификату. Если это конечно возможно.

    НО:

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

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

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Есть ли какая-то разница?

    Разница в том, что инициализация bool full = false; выполняется для любого конструктора, у которого поле full не перечислено в списке инициализации.
    Конечное состояние конструируемого объекта одинаково в обоих случаях.

    И почему так конструктор не работает:

    Потому что у класса Token отсутствует конструктор по умолчанию.
    Ответ написан
    5 комментариев
  • Как ограничить траффик без sudo?

    @pfg21
    ex-турист
    шейпинг канала это не юзверский уровень.
    пиши скрипт на изменения параметров шейпинга и пиши для ентого скрипта разрешение запускать его от рута в /etc/sudoers.d
    или вешай suid бит на исполняемый файл
    Ответ написан
    Комментировать
  • Как ускорить этот код(клеточный автомат)?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    В общем смысле, как я вижу по твоему коду, ты вляпался в True Sharing, попутно обмазавшись Cache Misses и окончательно убив свою производительность с помощью неоправданно огромного размера клеток.

    8Б на клетку, состояние которой может поместиться в 1Б, это действительно огромный размер.
    enum CellState : uint8_t уменьшит размер состояния с 4Б до 1Б. А еще этот тип стоит переименовать, т.к. это не CellState, а что-то относящееся к поведению клетки. А вот CellState будет выглядеть так:
    // Renamed from `CellState`.
    enum CellBehavior : uint8_t
    {
        Empty,
        Alive,
    };
    
    struct CellState final
    {
    	CellBehavior	current_behavior : 4;
    	CellBehavior	next_behavior : 4;
    };

    Это позволяет уменьшить размер клетки до 1 байта.

    Данные оперативной памяти процессор подтягивает к себе во внутренний кэш. Кэшей у процессора много и все они связаны. Кэш процессора поделен на линии, работа с которыми синхронизируется между ядрами процессора. Вот именно тут появляется два термина: False cacheline sharing и True cacheline sharing. Если "False", то обрабатываемые разными ядрами данные разделены в разные кэш-линии. Когда "True" - требуемые разным ядрам данные находятся в одной кэш-линии и привет синхронизация. А это ой как медленно.

    В каждом процессоре сегодня сидит гадалка, которая предсказывает какие тебе надо подтянуть данные из RAM в CPU Cache. Выборка из RAM - это довольно долгая процедура, поэтому нужна гадалка чтобы предсказать что судьбой твоего алгоритма предначертано выбрать на следующем этапе. Бывает что гадалка ошибается и тогда твой лагоритм встает в синхронизацию до завершения нужной выборки из памяти. А это - еще медленнее чем синхронизация по кэш-линиям. Это называется промахом по кэшу - cache miss.
    К счастью, это не гадалка виновата в своей ошибке, а ты просто неправильно написал лагоритм. Вот чтобы из лагоритма сделать алгоритм, следует озаботиться чтобы он был более лоялен к гадалке и кэшу процессора.

    Докину еще немного полезной информации.
    Сходи к Адаму Мартину и к Unity, посмотри на парадигму ES/ESP/ECS. Изучи DOD. Попробуй реорганизацию из твоего текущего потока сущностей с полями в потоки полей сущностей. Переделай батчинг обработки клеток так, чтобы данные не синхронизировались между ядрами процессора.
    Возможно тебе еще поможет понимание подхода Out of line, т.к. там хорошо объясняется почему очень большие объекты при их поточной обработке - это не очень дружественно кэшу процессора.
    Еще сюда можно добавить информацию о автоматической векторизации. Это позволит задействовать SIMD инструкции для твоего кода. DOD очень элегантно ложится для обработки твоих клеток SIMD командами.

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

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    Допустим у меня Windows и мне нужен Linux, который стоит физически. Я запускаю его в виртуалке.
    - все "настольные" гипервизоры умеют это. при условии что операционка стоит на отдельном физическом диске. дальше дело техники
    - второй вариант - загрузка с VHD. сложнее и хуже с производительностью (или надо проверять). и BCD, и GRUB могут с этим справиться. но гуглить придется. хотя если винда основной системой - EasyBCD будет самым коротким путем к успеху
    Так же и с MacOS
    а тут все может быть сложнее:
    - на физике у вас Clever? тогда в вирте будут проблемы, и наоборот
    - Hyper-V не поднимет ни при каких условиях
    - VirtualBox, но нет в природе гостевых тулов (не будет звука, косяки с разрешением экрана, и нет проброса клибоарда)
    - VMWare, все классно (с патчером), но см пункт про Clever

    проще всех перевертышем работает Linux
    Windows - да, но будет слетать активация
    osX - ну в общем или Clever, или оригинал под падченной VMWare, но сомневаюсь что одновременно

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    orig
    Ответ написан
    Комментировать
  • Хотел улучшить качество подключения интернета через команды bat файла, стало только хуже, как отменить?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Не знаю при чем тут message queueing (первая строка)
    но остальное по идее может быть приведено в дефолтное состояние двумя командами:
    netsh int tcp reset
    netsh int ip reset
    Повторю: дефолтное для системы. Это не приведет состояние tcp и ip стека к тому виду которое было до внесения правок.Для пущего эффекта лучше после этого перезагрузиться

    набор команд
    ipconfig /release
    ipconfig /renew
    ipconfig /flushdns
    необходим для обновления сетевых настроек, очистки локального ДНС кеша и никак не должен влиять на качество работы вашего WiFi

    P.S. Надеюсь, вы сделаете выводы, что без понимания, что именно делают команды, запускать всякие батнички из "этих ваших интернетов", обещающие оптимизировать систему, не только глупо но и опасно
    Ответ написан
    6 комментариев