• Как использовать регулярные выражения в find?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    При вводе find -name "10{3}" ничего не выдает, как использовать регулярные выражения в find

    опция -name find не поддерживает регулярные выражения. Поддерживает опция -regex, см.
    Ответ написан
    Комментировать
  • Почему много HTTP запросов - это плохо?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Тебе когда надо достать из холодильника 5 бутылок пива, что проще - открыть холодильник, взять 5 бутылок пива и закрыть холодильник, или открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник?
    Ответ написан
  • Почему много HTTP запросов - это плохо?

    Griboks
    @Griboks
    Это всеобщее заблуждение, пораждённое веб-макаками. Мол, нафига нам что-то оптимизировать и вообще думать о низкоуровневых вещах, когда можно тупо забандлить всё в один файл.

    Нужно управлять ресурсами, оптимизировать их и кешировать. Правда в том, что много запросов - это хорошо, но они должны быть построены определённым образом и синхронизированы между собой. Если кратко, то:
    1) загружается бандл с базовыми ресурсами, необходимыми для отображения страницы
    2,3,4) параллельно в фоне асинхронно загружаются вспомогательные бандлы для красоты и хотелок дизайнеров+маркетологов+шпионов+рекламы * (10 мб на страницу, ага, ага, верю)
    5) некоторые бандлы загружаются по требованию

    * все хотелки в идеале следует послать "на доработку", но есть риск увольнения

    Техчасть
    Запрос даёт оверхед, читайте + 0,3 секунды к времени загрузки страницы. 10 запросов = +3с, что уменьшает вероятность удержания пользователя. http2, ws и иже с ними дают оверхед не на отдельный запрос, а на целый бндл за раз, т.е. 10 запросов = +0,3 с.
    Браузер рендерит страницу после загрузки, т.е. эти ваши +3с превращаются в +10 с с учётом динамической мишуры и прочих гениальный идей программистов, которые не в курсе про механику работы браузера.
    Решение: грузить основной бандл через http2 → рендерить → грузить остальное, не мешая наслаждаться очередным шедевром сайтостроения пользователю
    Ответ написан
    3 комментария
  • WinRAR - какой официальный сайт и почему различаются хеш-суммы установщиков?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Могу предположить, что rarlab - сайт Рошаля, а win-rar - это сайт конторы. rarlab появился раньше и оснований его девать куда-то видимо нет :)
    Ответ написан
    Комментировать
  • Может ли материнка убить аккумулятор?

    @Drno
    Сходите в другие сервисы. Сверьте данные
    Вообще можно акум отключить и работать. Если проблема в нём
    Ответ написан
    Комментировать
  • Почему виснет комп на низкой температуре?

    maaGames
    @maaGames
    Погроммирую программы
    Аккурутно вытащить процессор, подуть в сокет, если на контактных площадках процессора есть окисления, то аккуратно резинкой протереть и нежно собрать всё обратно. Оперативку тоже передёрнуть.
    Из банального - не очень хороший контакт ножек. После нагрева чуть расширяется и контакт становится хорошим.
    Вряд ли "отвал" процессора, он слишком новый, чтобы умирать. Но, если на гарантии, я бы попробовал процессор обменять.
    Но это пальцем в небо, по 12600 статистики ноль.
    Ответ написан
    4 комментария
  • С чего начать разработку ПО?

    GavriKos
    @GavriKos
    Для алгоритма - есть блок-схемы и псевдоязыки.
    Для структуры программы - есть UML-диаграммы.

    И для того и для другого есть тулзы, и то и другое можно упростить под себя и задачи.
    Ответ написан
    Комментировать
  • База данных "съела" все знаки "\" в столбце. Мне нужно передать ссылку к файлу,а без косой черты никак. Что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Используйте подготовленные запросы с плейсхолдерами, а не прямую подстановку в строки. Будет гораздо меньше таких проблем.
    Ответ написан
    2 комментария
  • Почему точка монтирования может показывать старое содержимое вместо реального?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    А она в этот момент точно была замонтирована? Может кто-то размонтировал вручную и там просто локальное содержимое лежит - отмонтируйте и посмотрите что лежит в локальной папке - если тот самый "хеш", значит просто в тот момент не было смонтировано
    Ответ написан
    4 комментария
  • Как компьютер работает с файлами, открытыми в локальной сети?

    @Drno
    Если мы про SMB - то
    Файл скачивает на ПК, открывается в проге
    Файл изменяется, сохраняется на ПК
    Файл копируется обратно в сетевую папку, заменяя собой лежащий там файл

    Для того чтобы не перезаписать чужое, файл блокируется на изменения если его уже кто то открыл. Вы не сможете с 2х разных ПК открыть на редактирование 1 файл. Первый откроет с полными правами, последующие ПК - только просмотр

    Ресурсы сервера используются только для передачи файла, поэтому и можно разворачивать файлопомойку чуть ли не на "калькуляторе"
    Ответ написан
    7 комментариев
  • Как разделить ext4 под винду из под Ubuntu 20.04?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    я бы скачал gpartedit
    Ответ написан
  • Компьютер с какими характеристиками нужен для нормальной работы докер десктоп в винде?

    @Drno
    Поставьте виртуалку с линукс
    выделите ей 2гб
    поставьте докер
    Профит)
    Ответ написан
    Комментировать
  • Компьютер с какими характеристиками нужен для нормальной работы докер десктоп в винде?

    xez
    @xez
    TL Junior Roo
    Проще Линукс поставить.
    Памяти докер жрет очень много: критически важен объём ОЗУ.
    Рекомендую устанавливать минимум 32гб
    Ответ написан
    9 комментариев
  • Стоит ли покупать компьютер с aliexpress?

    @spaceatmoon
    Сборка мусор. Не покупайте никогда ничего "из простого на время" если нет денег. Так вы хотя бы сэкономите. Про серверные процессы вообще забудьте, у них другая категория задач.

    Рекомендую следующую сборку которой вам хватит на 3 года и от которой у вас не будет гореть.
    1. Заменяем hdd на ssd. По деньгам одно и тоже, но профит в 500%.
    SSD 500GB за 3.7к рублей
    2. Лучше DDR4.
    3.5к за 8ГБ
    2.6к за 8ГБ чуть хуже, но вы не заметите
    Итого за 6к вы возьмете 16GB. Этого хватит ещё на долго.
    3. Материнку любую в пределах 6к берёте, но не самую галимую.
    4. Процессор берите со встроенным графическим процессором. Профит будет такой же как и от GTX 1060 3GB (да, она плоха).
    Рекомендую AMD Ryzen 3 PRO 3200G или типа того, можешь пошарить. Intel не бери, у них малый ресурс по задачам, любая задача превращается в 100% утилизацию процессора, а это проблемы с охлаждением. Итого 14к на процессор. На нём никогда не экономь. Ведь к примеру видеокарта несмотря на свою стоимость в 90% случаев тупо простаивает, а стоит она больше всех.

    Считаем - 6 + 6 + 6 + 14 = 32 тысячи рублей. При этом сборка будет современна, радовать глаз и есть возможность её усовершенствовать, а хлам с алика ты выбросишь после полугода.
    Ответ написан
  • Как написать юнит тест для программы, которая использует input()?

    @Akela_wolf
    Extreme Programmer
    Юнит-тестирование это про разделение функций на минимально возможные кусочки, чтобы их было возможно протестировать минимально возможным тестом. А для этого каждая функция должна делать что-то одно. У вас же функция занимается следующими вещами:
    1. Ведет диалог с пользователем
    2. Проверяет корректность введенных данных по своим правилам
    3. Обращается к внешнему сервису (причем какой-то апи-ключ прямо в коде - ужас-ужас. А если этот код выкладывать в гитхаб?)
    4. Выводит полученный от внешнего сервиса результат на экран

    Разделим это на 4 функции и увидим следующее:
    1. Функция ввода номера пользователем. Входных параметров нет, выходные - номер. Тестировать не имеет особого смысла.
    2. Функция валидации. Входной параметр - номер, выходной - один из кодов (enum): все хорошо, некорректный регион, некорректный номер. Функция чистая (то есть результат её работы зависит только от аргумента, побочных эффектов нет), тестами накрывается легко и просто.
    3. Функция запроса данных у стороннего сервиса. Входной параметр - номер, выходной - какие-то данные. Тестировать сложно т.к. есть внешний сервис. И может быть не особо нужно, т.к. юнит-тест тут не напишешь. Функция как-то сложной логики не имеет, а внешний сервис нам неподконтролен. В частности, он в любой момент может начать отвечать 404 или каким-нибудь бредом. Поэтому тестировать эту функцию мы можем только имитируя поведение внешнего сервиса каким-то нашим моком (использовать тот же WireMock, например)
    4. Функция вывода результата на экран. Входной параметр - данные, выходных нет. Аналогично функции ввода номера тестировать отдельно не имеет смысла.

    Таким образом, вся бизнес-логика программы сосредоточена в функции валидации и внешнем сервисе. Внешний сервис, как я уже сказал, нам неподконтролен. Функцию валидации мы можем накрыть юнит-тестом. Остальное - если хочется, то можно накрыть end-to-end тестом, либо не покрывать вообще.
    Ответ написан
    Комментировать
  • Как можно заблокировать TOR средствами MikroTik?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Полностью - никак. Ибо есть мосты, адрес которых намеренно не публикуются (не забываем, что Tor - проект американской разведки, и предназначался он для связи с резидентами "в полях", но вырос и перешел на темную сторону :) ).
    Можно заблокировать список стандартных входных нод.
    Если контора - можно включить лог и давать по шапке всем, кто палится.
    Ответ написан
    2 комментария
  • Что известно посредникам при использовании HTTPS?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Факт захода куда-то в гугл определить можно, содержимое запроса - нет.
    Ответ написан
    1 комментарий
  • Как прокинуть порт на mikrotik только в случаи когда в запросе есть соответствующая строка?

    @rPman
    это бессмысленно, так как url скрыт от роутера шифрованием https

    если все же надо для http то делай через прокси, при необходимости transparrent proxy (вроде бы когда то на микротике его запускали), трафик пропускай через свою прокси, которая будет уже по логике что хочешь делать, как подменять адрес подключения так и настраивать внешне перенаправления на роутере) но как это сделать именно на микротике не посоветую
    Ответ написан
    Комментировать
  • Как прокинуть порт на mikrotik только в случаи когда в запросе есть соответствующая строка?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    И не будет работать, так как URI передаётся только после установки соединения, на момент установки соединения ещё нельзя идентифицировать, куда перенаправить трафик. Для решения этой задачи надо использовать reverse proxy, в качестве которого популярно использовать nginx. Но так как тут не нужно раскидывать по нескольким разным серверам, то проще просто в целевом web-сервере отвергать запросы, не подходящие под условие. Если это почему-то невозможно (например, сервер является чужим приложением, в котором нельзя ничего изменить), то можно поставить nginx в разрез.
    Ответ написан
    Комментировать
  • Как правильно назначать порты?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    любой. Но лучше выше 1024.
    Ответ написан
    Комментировать