Задать вопрос
  • Какой Linux выбрать для прохождения курсов?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    В данном случае это оправдано.
    Кали по сути дебиан, только знающие люди собрали для вас нужные инструменты, ну и это отраслевой стандарт.
    Ответ написан
    1 комментарий
  • Как сделать подключение к VPN на VPS (multi-hop)?

    @Drno
    конечно отрубается... ты же весь трафик переадресуешь внутрь ВПНа ))

    лично я для такой схемы использую LXD контейнеры.
    ставим контейнер, внутрь нужное ПО, далее командой
    lxc config device add vpn-real1 proxy_50007 proxy listen=tcp:[::]:50007 connect=tcp:127.0.0.1:443

    прокидваем внутрь контейнера нужный порт.
    в контейнере ставим второй VPN и не забываем влкючить NAT в ядре, и с помощью iptables NAT на eth0 (ну которая интернет) и к примеру на tun0 (ну которая VPN комерческий)

    Но если честно не ясно нафига нужен комерческий ВПН в этой схеме, когда проще просто купить сервак заграницей
    Ответ написан
    2 комментария
  • Зачем образу докера операционная система?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Потому что иногда удобнее иметь в контейнере минимальную ОС с окружением, а не конкретное приложение.
    Вы бы начали с изучения, что ответы на банальные вопросы можно гуглить - советую, пригодится.
    Ответ написан
    Комментировать
  • Как можно записать multiline строку в файл, сохраняя символы новой строки?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    просто представьте как парсинг происходит, если будет
    report_number=asd
    asd
    asd

    или
    report_number="asd
    asd
    asd"

    и вот тут кавычек добавьте
    report_number="$(head -n 1 "/root/cron_job_enumerator.txt" | tr -d '\n')"
    Ответ написан
    1 комментарий
  • Как можно записать multiline строку в файл, сохраняя символы новой строки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Есть два варианта:
    1. Экранировать обратным слешем проблемные символы (кавычки и обратный слеш):
    multiline = '''
    report_number=$(head -n 1 "/root/cron_job_enumerator.txt" | tr -d \'\\n\')
    '''
    print(multiline)

    2. использовать префикс строк r, который не дает обрабатывать содержимое строки, заставляет воспринимать ее как есть (тогда отдельные символы экранировать не надо):
    multiline = r'''
    report_number=$(head -n 1 "/root/cron_job_enumerator.txt" | tr -d '\n')
    '''
    print(multiline)
    Ответ написан
    3 комментария
  • Как войти в аккаунт на сайте с помощью python requests?

    Vindicar
    @Vindicar
    RTFM!
    Добавь заголовки запроса, в качестве реферера поставь тот же URL.
    Как это сделать, читай в доках requests.
    Ответ написан
    Комментировать
  • Можно ли заменить дистрибутив линукс на другой если он стоит на одном диске вместе с win10?

    @aleks-th
    Можно, а вчем проблема то?
    Главное правильные разделы выбрать, чтоб Винду ненароком не снести
    Ответ написан
    Комментировать
  • Хорошая ли стратегия разбивать монолит джанго на микросервисы джанго?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Смотри. Уже прошло время когда все пилили монолиты на микросервисы. Щас пошло переосмысление.
    Объективно есть 2 причины пилить. Первое - организационная. Команда по какой-то причине не хочет
    или не может поддерживать приложение. Или там что-то с бизнесом. Слияние. Поглощение. Передача
    проекта другой команде в поддержку. Тогда берут и ставят задачу раздела отвественностей.
    Конвей про это писал еще.

    И второе - это баланс нагрузки и децентрализация. Про failover тут еще даже речи нет. Это
    тяжелая тема и распилить монолит так чтобы его части были отказоустойчивы очень трудно. Более
    того в случае синхронных взаимодействий между частями микросервисов может быть даже падение
    перформанса
    . Да. Теоретики которые там пишут восторженные отзывы - совершенно игнорируют
    накладные на RPC. И не упоминают что в монолите цена RPC была равна нулю. Иногда RPC заменяют
    на MQ - но это новая архитектура и это надо полностью переделывать бизнес.

    И что делать с базой данных? Это тот еще вопрос. Я почти готов спорить что вы базу пилить не будете.
    И что в результате будет? Иммитация микро-сервисов? Где слабая связность?

    Тоесть если у вас нет таких кричащих ситуаций что оргазниация требует или нужно баланс
    нагрузки как-то разнести - то тебе вообще-вообще нет смысла ходить ни в какие микросервисы.

    Но имеет смысл сделать модуляризацию монолита. Например что там...
    application
    - sales
    - hiring
    - userprofiles

    Тоже очень полезно для управления сложностью. И пускай себе будет монолит зато будет сильный
    контроль за изменениями.
    Ответ написан
    6 комментариев
  • Как грамотно подобрать компанию при трудоустройстве?

    @mkone112
    Начинающий питонист.
    Попробуй задавать вопросы на собесе - помогает
    Ответ написан
    Комментировать
  • Как сделать чтобы задача запускалась в диапазоне 0:00 - 01:00?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В крон на 00:00 добавляете запуск
    /usr/bin/sleep $((`/usr/bin/od -An -N2 -t u2 /dev/random` % 3600)) && ваша_задача
    Ответ написан
    7 комментариев
  • Как запустить composer в docker?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Директория app находится на два уровня выше директории php в которой размещён Dockerfile - поменяй путь в директиве COPY
    И WORKDIR /app создаёт директорию и делает её текущей, так что должно быть COPY ../../app .

    PS
    Никогда не используй Alpine образы ни для чего - этот дистрибутив оптимизирован для встраевыемых устройств с единицами мегабайт оперативной памяти и процессором с одним ядром, там вместо libc использован суррогат musl с неэффективным на б̀ольших объёмах памяти аллокатором, к тому же она не так сильно распростронена, как libc, что увеличивает вероятность столкнуться с чем нибудь вроде segmentation fault. К тому же часть пакетов в собранном виде отсутствует из-за чего во время установки происходит их сборка, что занимает значительное время, да и образ в итоге получается очень большим (компилятор то никто не умеет настраивать)

    Используй debian-slim и PHP устанавливай из Sury репозитория - установка произойдёт очень быстро, а итоговый образ будет компактным (если, конечно, не забывать стирать списки пакетов и кеши на том же слое, где они были созданы)

    PPS
    # Remove Cache
    RUN rm -rf /var/cache/apk/*

    Удалять что либо на следующем слое бесполезно - там Copy on Write файловай система и всё что было на предыдущем слое создано там и останется
    Ответ написан
    1 комментарий
  • Ubuntu 22.04 LTS не видит звуковую карту?

    Adamos
    @Adamos
    windows 11, которая установлена рядом всё работает

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаю кто тебе рассказал про EAV но это тебе точно не друг в производительных приложениях.

    Микросервисная архитектура. По этому есть книжка от Sam Newman.

    RabbitMq - быстр но недостаточно. В сравнительных характеристиках берут Kafka за образец.

    Redis - изучи обязательно. Вообще связка Redis/NGinx - это основа любого самого быстрого веб-приложения. Без нее - нечего даже и думать о быстроте.

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

    event sourcing - очень размытое понятие. Наверное все что я перечислил выше может просто
    быть частью этого огромного паттерна. Шаблон настолько общий и универсальный что его можно
    найти и в BigData, и в платежных системах, и в чатах и соцсетях.
    Ответ написан
    3 комментария
  • Обьсяните пожайлуста разницу между REST API и SQL-запросами?

    SQL - это язык запросов. Не протокол.
    Rest - это подход к дизайну программного интерфейса, а не протокол.

    => Первая половина вопроса просто не имеет смысла.

    sql-запросы практически не используются в js ( и вообще возможно ли сделать sql-запрос в js?)

    Из браузера не получится, тк почти все СУБД предлагают свой протокол на основе TCP. А из браузера нельзя работать напрямую с TCP.

    почему мы не можем использовать всегда REST API через js для работы с базой данных - мы ведь также работаем с базой данных на сервере

    Не понял вопрос.

    Или дело просто в безопасности?

    Не понял вопрос.
    Ответ написан
    Комментировать
  • Как выйти на сайт через определенную сетевую карту? Или как сделать так чтобы windows не создавал маршрут по умолчанию?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Команда route -p add 1.1.1.1 mask 255.255.255.255 2.2.2.2, вместо 1.1.1.1 пишите IP того сайта, вместо 2.2.2.2 - gateway нужной сетевой карты.
    Ответ написан
    Комментировать
  • Как получить последние 3 символа строки используя Lambda expression?

    Geminix
    @Geminix
    Фуллстек nuxt, .net разработчик
    string. Join(string.Empty, n2string.TakeLast(3))
    Ответ написан
    1 комментарий
  • Какой ноутбук выбрать для Linux?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Лучше брать такой, который продается с предустановленным линуксом. Геймерский для ваших целей точно не нужен. С большей долей вероятности нормально работать будет ноут попроще, из корпоративного сегмента. Типа HP ProBook, например. Проблемы обычно возникают с драйверами для экзотических устройств, так что чем меньше экзотических устройств - тем меньше проблем.
    Ответ написан
    Комментировать
  • Как запустить php и nginx в одном контейнере?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Приложение же состоит из одного файлика index.php и выводит текст "Hello World!".


    php не умеет выводить текст в браузер. Это значит что в первом докерфайле уже устанавливается какой-то веб сервер, возможно httpd

    можно конечно просто установку nginx-а в первый докерфайл перенести, но надо разобраьтся как его состыковать с php-fpm.

    А еще проще найти готовый. связка nginx с php достаточно стандартная сборка, уверен есть официальный образ, еще и не один от разных вендоров.
    Ответ написан
    5 комментариев
  • Почему не работает клавиатура ноутбука в Linux?

    @Alexey_Neonov
    Проблема в том, что Ubuntu считает ваш компьютер планшетом и отключает клавиатуру. Приведенное ниже исправление работает, если следующая команда дает вам любое число, которое является , а не 31 или 32 .

    В последних ядрах есть ошибка, которая отключает клавиатуру некоторых ноутбуков. Пока в основном Acer и HP. Обычно можно перейти к восстановлению и загрузиться с ядра 5.4.0-42 или использовать внешнюю клавиатуру.

    https://typerus.ru/linuks-ne-rabotayet-klaviatura-...
    Ответ написан
    Комментировать
  • Уход во время испытательного срока, нормально ли это?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Если так делаешь пару раз - нормально. Если десять раз - плохо.
    Ответ написан
    Комментировать