Задать вопрос
  • Есть ли известный алгоритм, который разбирает выражения на сложных языках типа JS и C?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Польская нотация учитывает всё, что угодно. В смысле, что напишешь, то и будет.
    унарные операторы? Делай две операции - UNARY_MINUS, MINUS. 1 1 UNARY_MINUS MINUS == 2
    Сложные операторы? A B C TERNARY (не лениво? ну можно и лениво сделать)
    Функции? a b c d 4 max call. Здесь a, b, c, d, 4, max - аргументы, они все ложатся в стек. Интерпретатор видит call, достает из стека функцию (max), понимает, что это функция с переменным числом аргументов, достает это число (4), достает остальные аргументы по количеству, вызывает функцию max(a b c d).
    В Полизе могут быть инструкции, управляющие потоком выполнения 1234 JUMP - переводит курсор на адрес 1234.
    Всё зависит от твоей извращенности, короче.
    Чтобы не быть голословным, вот мой пет-проект, там вычисление как раз на Полизе реализовано.

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

    Jump
    @Jump
    Системный администратор со стажем.
    Нет конечно.
    Вот если вас провайдер отключит за неуплату, вы сможете использоваться интернетом через VPN?
    Так же и тут.

    Хотя опять же сильно зависит от того нам отключат, или мы отключим.
    Если нам отключат - вряд ли все, можно будет выходить через другие страны.
    Если мы отключим - тут проще, если надо и мышь не проскочит.
    Ответ написан
    2 комментария
  • Почему долго создаётся копия файла?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега C
    Седой и строгий
    Во-первых, если вы читаете и пишите побайтно, то количество системных вызовов равно количеству байт в файле, а каждый системный вызов переключает контекст. Во-вторых, если работа осуществляется с HDD, то головка мечется с места на место, а её позиционирование - чертовски долгая операция. В-третьих, файловый менеджер скорее всего вообще не читает и не пишет файл, а просто делает один системный вызов, типа splice, и дальше копированием занимается DMA.
    Ответ написан
    1 комментарий
  • Как правильно перенести локальный реп на удаленный?

    NeiroNx
    @NeiroNx
    Программист
    Надо просто указать удаленный пустой реп и залить его туда git push - все локальные коммиты перенесутся.
    Ответ написан
    1 комментарий
  • Нужна помощь по алгоритму расстановки/заполнения парка транспорта. Есть идеи?

    Adamos
    @Adamos
    1. Сортируем заказы по времени начала.
    2. Берем первый заказ в очереди.
    3. Находим машину, которая к этому времени свободна минимальное время.
    4. Назначаем заказ ей, выкидываем его из очереди.
    5. Возвращаемся к п. 2.

    В п. 3 берется минимальное время, если вы хотите оптимизировать загрузку и не использовать больше машин, чем требуется для заказов. Либо максимальное, если вам нужно раскидать их как можно более "справедливо" и минимизировать простой каждого участника.
    Ответ написан
    7 комментариев
  • Как VPN спасет людей от железного занавеса?

    CityCat4
    @CityCat4 Куратор тега VPN
    Жил да был черный кот за углом...
    V(irtual) - то есть физически не существующая
    P(rivate) - частная, то есть содержимое которой недоступно для внешнего наблюдателя
    N(etwork) - сеть - обьединение нескольких компьютеров.

    Для уродства времен Роскомнадзора - это обычно Ваш компьютер (роутер) и VPN-сервер в Забугории. Суть этого уродства в том, что между Вашим роутером и VPN формируется "труба" - закрытый средствами шифрования (сбрутить никак) канал, который непрозрачен снаружи и весь трафик (или не весь, а только некоторый) заворачивается в эту "трубу". И сервер, к которому подключаетесь, думает, что Вы из Голландии, например.

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

    UPD: А реализовываться у нас будет не китайская схема (умный фильтр), а северокорейская (белый список).
    Ответ написан
    4 комментария
  • Возможно ли такое реализовать в системном файле hosts?

    Stalker_RED
    @Stalker_RED
    Нет, в hosts такой трюк невозможен.

    Это можно сделать при помощи DNS.
    Поставьте какой-нибудь bind 9 или mara dns, например, и заверните все запросы на нужный адрес.
    Ответ написан
    4 комментария
  • Как изменить ссылку на рабочий стол в проводнике windows 10?

    Ezhyg
    @Ezhyg
    Эта ссылка не "в проводнике", а в конкретной "Панель быстрого доступа".
    Да, есть разница.
    Мало того, это же именно ссылка, а не какая-то нередактируемая кнопка без свойств, приколоченная гвоздями намертво.
    А ещё, справа на снимке есть "кнопка" (канцелярская), при чём на снимке она прямо в начале стрелки, неужто даже она не натолкнула ни на какую умную мысль?
    Ответ написан
    Комментировать
  • Какие есть наборы настроек операционной системы (Windows) для повышения ее защищенности?

    Zoominger
    @Zoominger Куратор тега Windows
    System Integrator
    Навскидку:
    1. Настройка политик безопасности, там очень много настроек именно на эту тему;
    2. Создать юзера с ограниченными правами (урезать в "Пользователях");
    3. Заюзать права NTFS к файлам, квоты и прочее;
    4. Брандмауэр и Защитник.

    Что первое в голову пришло.
    Ответ написан
    2 комментария
  • Какие есть наборы настроек операционной системы (Windows) для повышения ее защищенности?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Просто проблема в не понимание куда копать и как устроена windows.
    Проблема в постановке задачи.
    Для начала ответьте на вопрос - что такое защищенный компьютер по вашему? Это довольно расплывчатое понятие.
    От чего защищенный? От каких угроз? Насколько вероятны эти угрозы? Что конкретно нужно защищать?
    Например конкретная задача - защитить данные от повреждения или утраты.
    Или защитить компьютер от перебоев в работе.
    Или от атак по сети.
    Или от пожара.

    А так все просто - составляете список угроз от которых надо защитить, а уж потом думаете.
    Защищать компьютер просто так не имеет смысла.
    Вот вы битлокер предлагаете включить- для чего он вам? Какие проблемы решит, от каких именно угроз защитит? И самое главное какие проблемы создаст. И какое он вообще может иметь отношение к защите?

    Пока у вас нет четкого понимания что вы защищаете и от чего, вы ничего не защитите, только навредите.
    Это все равно что лечиться неизвестно от чего. Диагноз неизвестен, но что-то болит. Надо выпить полезные лекарства.
    Мелаксен отличное лекарство, прекрасно защищает от бессоницы - значит надо выпить.
    Форлакс тоже прекрасное лекарство, отлично помогает от запоров - выпьем и его.
    Ну и результат не заставит себя ждать.
    Ответ написан
    Комментировать
  • VPN, SSH можете пояснить в двух словах разницу?

    Zoominger
    @Zoominger
    System Integrator
    Оба тунелли к серверам но не могу понять разницу, и vpn используется в основном для анонимизации а ssh где


    Всё неверно. VPN - виртуальная сеть поверх другой сети, SSH - протокол управления. Это в двух словах.

    Разница, как между тёплым и мягким.
    Ответ написан
    3 комментария
  • Что использовать, size_t или int в цикле for?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Выбирайте тот тип данных, который вам действительно нужен.
    Если у вас в цикле пара миллионов итераций максимум - то зачем вам 64-битное целое?
    Если же вам действительно мало 32-битного числа - то вы не можете использовать ни int ни size_t для этих целей, вы должны использовать именно 64-битное целое независимое от платформы.
    А если у вас пара десятков итераций в прыжке - то вам и int слишком большой, возьмите что-нибудь поменьше.

    Разным задачам нужны разные типы данных.
    Ответ написан
    8 комментариев
  • В чем может быть проблема?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    система начала дико тормозить, после перезагрузки hdd диск перестал определяться системой
    Судя по описанию просто диск вышел из строя. Проверьте на другом компьютере, если не определяется меняйте на исправный.
    Ответ написан
    Комментировать
  • Сайт не позволяет установить соединение - как побороть проблему?

    martin74ua
    @martin74ua Куратор тега Компьютерные сети
    Linux administrator
    проверьте hosts файл и вообще днс, правильно ли все резолвится
    Ответ написан
    4 комментария
  • Как можно делать запросы к API в Си?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега C
    Седой и строгий
    Вариантов множество. В одном из недавних проектов я использовал libuv, http-parser и jsmn.
    Ответ написан
    Комментировать
  • Почему так тормозит RDP Windows Server 2003?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Попробуйте выключить аппаратное ускорение в браузере.

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

    RDP работает быстро, когда шлёт клиенту только отдельные изменения на экране, а не весь экран/целую область целиком. При этом, RDP не подходит для приложений, часто обновляющих картинку - с ними RDP будет медлителен.

    Некоторые из этих ограничений решает RemoteFX, т.к. передаёт картинку по иному принципу. С ним, опыт использования приложений станет заметно шустрее.
    Ответ написан
    2 комментария
  • Что означает const при объявлении переменной в данном случае?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега C
    Седой и строгий
    Квалификаторы могут применяться к любым типам, в том числе уже квалифицированным.

    Например
    const char a;
    const char const a;
    const const char a;
    const const const const const char a;

    обозначают одно и то же - константу типа char.
    Ответ написан
  • Куда дальше - Dev или Ops?

    DevMan
    @DevMan
    Есть ощущение, что настроить себе CI/CD нормальный девелопер и без OPS сможет.
    сможет конечно. только:
    – ненормальных девов намного больше нормальных
    – у нормального дева и так задач больше, чем времени

    кажется, что всё больше платформ переходит на виртуализацию/аутсорс (PaaS, SaaS, managed Kuber и т.д.)
    так и есть. только это никак не отменяет необходимость иметь в штате человека(ов), способного этим рулить.

    опс никуда не денется. разве только в мелких шаражках его в целях экономии переложат на девов.
    Ответ написан
    Комментировать