• Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Собственно, а на что он собрался жаловаться в полицию? Единственное, что он может приплести, это "незаконное обогащение". Но раз ты работу сделал, то у тебя есть все доказательства того, что деньги получены за дело.
    Второе, что он может попытаться приплести, это незаконная предпринимательская деятельность и уход от налогов. Ему от этого никакой выгоды, разве, что тебе нервы потрепать. Но т.к. ты самозанятый, то это всё вопросы решаемые.

    В общем не парься. Он просто пугает. Ничего серьезного он не может сделать. Обычный борзый клиент. А тебе урок на будущее: работать лучше по договору с тз, желательно с предоплатой, ну а если начинаются перебои с оплатой, то работа должна быть немедленно прекращена до полной оплаты.
    Ответ написан
    2 комментария
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Кидалово чистой воды. А вот заблокировали зря. Разблокируйте и сообщите что он не доплатил вам 43000 рублей. И вы подаёте на него в суд. На основании посменной договоренности о работах. Кроме того запишите телефонный разговор на диктофон , видимо будет разговор на повышенных тонах, после этого пишите заявление в собр о вымогательстве. Они это любят.
    Ответ написан
    8 комментариев
  • Как правильно оценить сложность алгоритма O(n)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Сложность обозначает, с какой скоростью растёт объём вычислений при увеличении объёма входных данных. В принципе, может получиться что-то наподобие O(2n+5n2+3nlog(n))
    Но, так как нас интересует верхняя граница, то мы берём только максимальный член этой суммы, то есть O(5n2). А поскольку хотим получить только относительную скорость роста, то выбрасываем постоянный коэффициент, получая O(n2).
    В вашем случае двух последовательных циклов O(2n) сокращается до O(n), что означает, что с ростом объёма входных данных объём вычислений растёт линейно.
    Ответ написан
    Комментировать
  • Как правильно оценить сложность алгоритма O(n)?

    @Mercury13
    Программист на «си с крестами» и не только
    f(x) = O(g(x)) при x→y — это так называемый символ Ландау.
    И означает, что при x, достаточно близких к y, f(x)<k·g(x). Так что 2x или 1000x — извините, не важно.

    Отсюда же запись O(log n) — ведь разные логарифмы отличаются на константу, которую символы Ландау съедают.

    Чем символы Ландау интересны программистам?
    1. Кэшами, быстрым процессором, «хитрым» программированием и прочим на больших наборах данных можно выиграть, например, в разы. Порядком сложности алгоритма — намного, намного больше.
    2. Пока закон Мура действовал, объёмы данных росли экспоненциально — так что быстро доходило до того, что программу начинали использовать на наборах данных, для которых она просто не предназначалась.
    3. Практически приемлемые алгоритмы обычно имеют небольшую сложность — например, до O(n³). И, например, линейный алгоритм за приемлемое время обработает миллионы элементов, n log n — сотни тысяч, n² — тысячи, n³ — сотни.
    4. Программисты отлаживают на небольших наборах данных, которые можно обработать вручную. Так что разница между отладочными и боевыми данными бывает большая — а значит, порядок сложности должен влиять сильнее, чем остальные факторы.
    Ответ написан
    1 комментарий
  • Как понять это выражение из JavaScript?

    @cheeroque
    Потому что запятая в индексе [1, 3] – это оператор. Выражение во вторых квадратных скобках возвращает тройку, [3,2,2,8,5][3] возвращает элемент массива с индексом 3, то есть четвёртый по счёту, то есть 8.

    Спасибо Дмитрий Беляев за исправление :)
    Ответ написан
    4 комментария
  • Почему права доступа 777 для папки на сервере это опасно?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    По той же причине, по которой опасно девушке одной ночью летом в короткой юбке гулять по городу - могут совершить разные непотребства, даже не спросив имени :)
    Ответ написан
    Комментировать
  • Кто-нибудь сталкивался с таким письмом от гугла - "Смените раскрытые пароли"?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    Ну... смотря что эти пароли защищают. Если это ящик, куда падает спам - да и хрен бы с ним.
    Ответ написан
    Комментировать
  • Как на сервере ubuntu закрыть порты TCP 443, TCP 80 и UDP 53?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Для начала - почему у вас DNS-сервер собрался слушать 443 порт?

    Чтобы узнать, что за процесс слушает порт, можно воспользоваться ss, netstat и подобными утилитами. Затем, если хотите освободить порт - просто выключите соответствующий сервис.
    Ответ написан
    Комментировать
  • Как сделать, чтобы WiFi работал по всему дому?

    MaxLK
    @MaxLK
    сети, виртуализация, СХД...
    у меня была похожая задача. только решать я ее начал на этапе строительства.

    если хотите сделать хорошо, то будет примерно так:
    все что можно подключить проводмом - должно быть подключено проводом, максимально ставим везде розетки;
    в точке присутсвия провайдера ставится проводной роутер, никакого ВиФи там не нужно;
    для вифи берем точку доступа и заранее планируем под нее место с максимальным покрытием помещений и ставим там розетки для ее подключения;
    если посчитали что одной ТД мало - планируем сколько нужно учитывая клиентскую емкость.
    вот и все. все остальное - не нужный гимор себе.

    но если нашли себе яму на бильярдном столе и провалились в нее - можно еще глянуть на powerline устройства.
    Ответ написан
    2 комментария
  • Чем делать бэкап веб-сервера на Ubuntu?

    @neol
    Backupninja (скорее всего пакет есть в репозитории Ubuntu). Это почти как самописный скрипт, только его уже написали за вас. Умеет инкрементные бекапы с помощью rdiff-backup и duplicity.
    Ответ написан
    Комментировать
  • Изменение строки JS replace регулярным выражением?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Если строка действительно такого простого вида, то регулярки - непростительное расточительство ресурсов.
    '2020-09-30'.split('-').reverse().join('.')
    Ну а если в большой строке заменить, то:
    '2020-09-30'.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3.$2.$1')
    Ответ написан
    1 комментарий
  • Как правильно зашифровать диск Windows?

    @rPman
    У вас 2 варианта шифрования - на уровне файлов и на блочном уровне.

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

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

    Осторожно, второй вариант отключает использование TRIM у SSD дисков, это очень важная технология, позволяющая ускорить работу с диском и даже продлить его срок службы.

    p.s. полная защита данных от тех кто имеет физический доступ к диску - это очень сложный вопрос, в конечном счете задача будет сводиться к технологиям шифрования загрузчика и подтверждения его целостности (например загрузкой своих ключей шифрования в биос материнской платы, такие технологии есть не на дешевых материнках) так как если к примеру вы шифруете диск в датацентре, администраторы этого датацентра могут при следующей перезагрузке подсунуть не настоящее железо, а свое собственное специальное или к примеру хост виртуальной машины, и это железо дождется ввода ключа шифрования и позволит украсть его или данные оперативной памяти а значит доступ к данным. Один из способов борьбы с этим - административный, включение/перезагрузка машины должна проводиться с физическим доступом к ней, с проверкой пломб (корпус не вскрыт, сейф) и личным загрузчиком на флешке/специальном устройстве.
    Ответ написан
    4 комментария
  • Как вызвать эмулятор терминала (bash) через программу на СИ?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Можно по-топорному - через system(), при этом родительский процесс приостанавливается на время выполнения потомка.
    Можно более-менее правильно - через fork() и exec(), потом словить код возврата через waitpid()
    Ответ написан
    Комментировать
  • Возвращение абсолютного числа без Math.abs!Решение найдено, нужно объяснение!?

    @smigles
    Лучше вот так:
    function abs(number) {
        return number < 0 ? -number : number;
    }

    Если число отрицательное (меньше нуля), берём его со знаком «минус»: −(−n) = n.
    Ответ написан
    Комментировать
  • Возвращение абсолютного числа без Math.abs!Решение найдено, нужно объяснение!?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Что же тут может быть непонятно? Если меньше нуля — меняется знак.
    Ответ написан
    3 комментария
  • Возможно ли появление синего экрана из за жесткого диска, если система стоит на SSD?

    @Drno
    Да. Или шлейф диска
    Ответ написан
    Комментировать
  • Автоматизировать установку Windows 7 через PXE?

    @nak-alexey Автор вопроса
    Самостоятельно нашел решение, называется "файл ответов", может кому пригодится.
    Ответ написан
    Комментировать
  • Почему не выполняется else if в коде?

    @smigles
    let p = Number(prompt('1'));
    let q = Number(prompt('2'));
    
    if (p + q > 100) {
        alert('Print Large');
    } else if (p > 50) {
        alert('Show P');
    } else {
        alert('End');
    }
    Ответ написан
    3 комментария
  • Как отключить опрос сетевых дисков на Windows 10?

    @rPman
    Дождитесь открытия проводником списка дисков, на каждом сетевом, который вам не нужен или помечен крестиком (недоступен) нажимайте правую кнопку и выбираете отключить.

    То же можно сделать из консоли с правами администратора командой net use ...
    Ответ написан
    8 комментариев