• Как отобразить GOшный сайт в Firefox?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Если всё общение происходит по HTTP - непонятно, зачем эта кривота с кучей самоподписанных сертификатов и кастомных портов. Разводите сервисы нгинксом по разным доменам/урлам и выпускаете валидные сертификаты через Let`s Encrypt.
    Ответ написан
    Комментировать
  • Есть ли разницы в производительности веб-сервера под CentOS 7 и CentOS 8?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    Разницы, ради которой стоит переустанавливать ОС не будет. Это же не РНР 5.5 на 7.4 менять...

    От грамотной настройки зависит гораздо больше обычно, чем от свежести версии. Если случается какой-то прямо прорыв в производительности - обычно об этом активно пишут и всё такое.
    Ответ написан
    Комментировать
  • Какой годный курс, а лучше книгу по docker, docker-compose, ansible?

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

    К документации нужно просто добавлять практику на каком-то хобби проекте, или реальном проекте, чтобы стояла конкретная задача. И все.
    Ответ написан
    7 комментариев
  • Не срабатывают правила iptables, чяднт?

    semenenko88
    @semenenko88
    Системный администратор
    Может соединения уже в established висят. Они могут на роутере висеть даже.
    Ответ написан
    4 комментария
  • Необходимо ли выносить docker окружение в отдельный репозиторий?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Правильно - хранить код в одном репозитории.
    На проде не требуется даже иметь гит или что там у вас в качестве системы контроля версий.
    Нужно настраивать CI/CD так, чтобы в контейнер на прод выкатывались только нужные файлы и каталоги, ничего лишнего.
    Очень удобно, когда в девелоперском окружении код работает без докера, но сопутствующие вещи вроде БД и прочих сервисов удобно держать в контейнерах и на девелоперской машине. Так проще развёртывать среду разработки и быстрее вводить сотрудников в процесс. Технически нет особых проблем, чтобы настроить удалённую отладку прямо внутри контейнера. так можно приблизить девелоперское окружение к продовой конфигурации.

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

    Храните всё, что нужно для CI/CD в том же репозитории где код. Там же у вас лежат тесты (не нужные в продакте), вспомогательные скрипты, артефакты тулинга и прочее.
    Поищите, в гитхабе есть много так называемых "КукиКаттеров". Это инструмент, для шаблонизации проектов на разных стеках. Как правило в созданной по такому шаблону заготовке проекта уже есть всё не обходимое для CI/CD.
    Ответ написан
    6 комментариев
  • Как узнать через консоль какие диски установлены в системе?

    zeond
    @zeond
    dev & ops
    С помощью lshw. Для мира RedHat и CentOS она ставится вот так:

    yum -y install epel-release
    yum -y install lshw


    дальше краткий список дисков:
    lshw -short | grep disk

    если подробно:

    lshw | less
    Ответ написан
    Комментировать
  • Как организовать работу с mongodb и докером на локалке и сервере?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ни в коем случае не пушить туда-сюда.
    • В идеальном случае ваш проект должен поддерживать миграции:
    • Каждая ревизия кода, которая нарушает совместимость с БД относительно предыдущей, должна содержать скрипт миграции. В этом скрипте создаётся структура, модифицируются старые данные, переименовываются поля и т.д. Иногда такие скрипты делают двунаправленными, чтобы поддерживать обратные миграции.
    • В БД нужно хранить версию или номер ревизии, которой соответствует текущее состояние БД.
    • При запуске приложения нужно проверять версию и выполнять цепочку миграций, необходимых для приведения версии к требуемому состоянию.

    Так вы можете добиться того, чтобы продуктовая БД была отдельно, тестовая отдельно, девелоперская отдельно. Очень плохая идея работать на девелоперской машине с данными из продовой базы. Так происходят утечки перс-данных.

    Монга - это schema less БД, которая толерантно относится структуре коллекций и не валится при запросе несуществущих полей. Нужно стараться писать код максимально толерантно к отсутствию наполнения БД.

    В любом случае у вас в БД есть обычно:
    1. структура (в случае монги, как я уже сказал, это не так важно)
    2. справочники
    3. пользовательские данные
    4. производные данные (кэш), которые можно безболезненно удалить, а затем они перегенерятся сами по мере запросов.

    Нужно писать код так, чтобы он всю структуру и технические справочники, отсутствующие в предоставленной БД и необходимые для работы, умел инициализировать сам. Или, на худой конец, сделайте команду или скрипт init_db.

    Если какие-то тестовые данные нужны для тестов или отладки, то можно сделать скрипт, который заполнит БД ими. Это называется фикстуры.

    Никогда не храните код в БД. Всякие хранимые процедуры и прочее в БД - это зло. Код должен быть в системе контроля версий, а БД к этому не приспособлены. Если уж нужны хранимки, то храните их в системе контроля версий и заливайте их в БД при инициализации или миграциями.
    Ответ написан
    2 комментария
  • Доработать скрипт BASH, чтобы отдавал вывод конкретной команды?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Не использовать telnet. Есть вполне себе нормальный api, ну или хотя бы ssh.
    Ответ написан
    2 комментария
  • Построение сети в офисе с VPN?

    zeond
    @zeond
    dev & ops
    1. Настроить ip forwarding на Linux-сервере
    2. Настроить VPN-соединение куда вам там надо. Вы не уточнили как реализован VPN-сервер назначения
    3. На клиентах сети настроить шлюзом IP-адрес вашего Linux-сервера
    Ответ написан
    Комментировать
  • При подключении по SSH постоянно запрашивается пароль, как исправить?

    @Tabletko
    никого не трогаю, починяю примус
    на ~/.ssh должны быть права 700 и 600 на каталоги и файлы соответственно
    Ответ написан
    Комментировать
  • У кого в организации есть утвержденный план действий при отказе оборудования или ЧС в серверной?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    Нельзя писать инструкции для стороннего не обученного персонала по ремонту оборудования.
    Максимум можно описать схему переключения на резерв, если например требуется ручное включение рубильника или типа того.
    Написав инструкцию ты выроешь себе могилу, т.к. в любой ошибке персонала (а она обязательно будет) будешь виноват ты.

    Я бы посоветовал видоизменить инструкцию из двух пунктов
    1. Обесточить оборудование
    2. Поставить в известность непосредственного руководителя.
    Если человек обязан вызвать администратора, которого невозможно вызвать, то ты подставишь этого человека.
    Руководитель есть? Вот он пусть и руководит процессом ликвидации ЧП, пусть у него болит голова как до тебя дозвониться, это его работа, решать орг вопросы.
    Ответ написан
    Комментировать
  • Можно ли 4 + 8 гб?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    В идеале взять бук в магазин и там попросить подобрать память которая заработает, т.к. бывает по разному.
    Чтобы продавец сам искал из наличия. Это безопасно, ничего не испортится, если неподходящая, то бук не включится или память будет невидна.
    Ответ написан
    Комментировать
  • AWS vs GoogleCloud vs DigitalOcean – как выбрать облако?

    inoise
    @inoise Куратор тега Amazon Web Services
    Solution Architect, AWS Certified, Serverless
    Итак, для начала DigitalOcean - НЕ ОБЛАКО. Это просто набор связанных сервисов. Зайти в DigitalOcean очень просто, выйти тоже, все понятно и прозрачно но там даже горизонтального масштабирования нет. Это слегка прокачанные те же VPS-ки.

    Теперь по всему остальному. Есть золотая троица AWS/Azure/GCP, но тут начинают играть другие правила.
    1. Стоит обратить внимание на то что им действительно надо учиться и это занимает время. Чтобы сделать решение, а не поделку и не влететь на деньги месяца не хватит ибо там очень много всего.
    2. Я могу сказать что переезд из одного облака в другой возможен при двух условиях: вы пользуетесь только базовыми сервисам (вроде виртуалок, БД, S3) и у вас есть 2 архитектора с сильным пониманием этих облаков
    3. Два архитектора по тому что я не знаю ни одного такого человека кто потратил достаточно сил и вник сразу в несколько облаков достаточно глубоко. Я был там везде и в результате все-равно остановился на AWS, хотя Azure и GCP имеют свои преимущества
    4. Про сервисы - ехать в облако и не пользоваться особыми сервисами и фичами этого облака - дорого и глупо
    5. А самое интересное что сделать и мигрировать проект проще чем обучить людей и изменить подходы к прайсингу
    6. Миграция в облако и из облака - не делается по щелчку пальцев, особенно если есть много данных


    По AWS могу поделиться гайдами как туда ехать, да и у них Cloud Migration очень понятный раздел с документацией. Если сравнивать эти облака то:
    • AWS - serverless, cutting-edge solutions, прозрачная инфраструктура
    • Azure - экосистема от MS, прекрасный CosmosDB (но это скорее про цены)
    • GCP - глобальные ресурсы, BigData

    При этом большинство этих фич в том или ином виде есть в других облаках.

    И маленькая ремарочка по k8s. Если вы едете не в GCP то он вам не нужен. AWS и Azure сделали так что вы можете его туда удобно загнать, но это будет дороже. Тот же AWS ECS + Fargate куда удобнее и я не знаю тех System Engeneer что по собственному желанию пересаживались с этого на k8s
    Ответ написан
    8 комментариев
  • Как сайты понимают, что их посетил бот на Selenium, а не реальный юзер?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Алексей очень хорошо описал причины, которые подтверждаются некоторым личным опытом.

    Очень часто, в логах сервера, в user-agent можно встретить selenium. Достаточно в конфиг прописать правило отклонения запросов с user-agent: (*selenium*) и проблема исчезает.

    Также, те, у кого стоит метрика, могут обнаружить посетителей, которые ничего не делают, после чего отправляют ip в бан руками.

    Обходить это, можно загружая страницу через браузер и случайно сдвигать мышь, случайное количество раз (от 5-10), через случайные промежутки. Спасет от ручной проверки, для большинства сайтов.

    Для 100% гарантии, чтобы не банили, нужно "наводиться" на ссылки, которые нужно распарсить следующими (по очереди). Однако, в этом случае, вы пожертвуете производительностью парсера.

    Как реализовать: Поднять сервис (несколько) на машине с vnc и получать страницу через браузер, имитируя работу мышкой.

    Но, обычно, указать корректный user-agent достаточно. (Я, почему-то уверен, что вы остановитесь на этом варианте).

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

    Владельцу сайта проще заблокировать тот ip, с которого сыпятся запросы, чем проводить оптимизацию кода сайта и выяснять, по какой причине вообще создалась нагрузка (например, из-за не проставленных индексов в бд).
    А порой, это является единственным вариантом, т.к. на сервер, может прилететь за час свыше 10000 запросов к сайту с одного ip.
    Для сравнения от yandex/google, за сутки, может прийти около 4000 запросов (с минимальными настройками индексации).

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

    @ProFfeSsoRr
    Сис.админ по Linux
    Ну вот на уровне такого вопроса - равноценны они.
    Ответ написан
  • Что такое двух алфавитный шифр цезаря?

    @GuMondi
    берется два алфавита с разными сдвигами и применяются по очереди, к первой букве первый алфавит, ко второй - второй, к третьей снова первый и т.д.
    Ответ написан
    1 комментарий
  • Что следует почитать/посмотреть для изучения Git?

    @ououya
    Плюсую Дмитрия.
    Плюс от себя: https://githowto.com/ru
    Ответ написан
    Комментировать
  • Что следует почитать/посмотреть для изучения Git?

    bingo347
    @bingo347
    Crazy on performance...
    Ответ написан
    Комментировать
  • Можно ли установить убунту на материнку с BIOS?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    прописать ограничение на подключение у mysql юзеров командой:

    ALTER USER 'user1'@'localhost' WITH MAX_USER_CONNECTIONS 1;
    Ответ написан
    1 комментарий