Задать вопрос
  • Как настроить LEMP Linux Fedora через docker?

    saboteur_kiev
    @saboteur_kiev
    Михаил, в данном случае достаточно одного контейнера, так как ставится lemp сразу одним пакетом.
    Написано
  • Как настроить LEMP Linux Fedora через docker?

    saboteur_kiev
    @saboteur_kiev
    Простите, но это же не экзамен по предметам который нужно сдать и забыть.
    Это ваше техническое задание. На работе тоже будете просить кого-то что-то делать за вас?

    Показывайте что уже сделали, задавайте технические конкретные вопросы.
    А не прям инструкцию с нуля.

    Инструкция с нуля - читай документацию по LEMP
    Или вообще по линукс
    или вообще по докер

    Откуда ж мы знаем что именно тебе не понятно.

    Либо иди на фриланс, там за деньги тебе сделают докерфайл
    Написано
  • Нужен ли клиенту private key?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    Я бы даже сказал, что именно для шифрование даже не нужен сертификат сервера, нужен только публичный ключ сервера. Сертификат это уже на уровне дополнительной валидации сервера и добавление expiration. В том же ssh без сервера устанавливается шифрованное соединение
    Написано
  • Нужен ли клиенту private key?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    Так вы же используете QSslServer
    Он и шифрует.
    Для шифрованного сообщения достаточно только сертификата на стороне сервера.
    https://habr.com/ru/articles/258285/

    Грубо говоря,
    * клиент подключается к серверу, сообщая кто он и какие версии поддерживает
    * сервер отправляет клиенту свой сертификат, публичный ключ, и выбранную версию (автоматом выбирается наилучшая из тех, которые поддерживает клиент и сервер
    * клиент проверяет сертификат (доверяет ли он ему), генерит рандомный пароль, которым будет шифроваться сессия, шифрует этот пароль публичным ключом, который получил от сервера и отправляет назад
    * Сервер расшифровывает пароль сессии своим приватным ключом, и вот рандомный пароль для этой сессии известен обоим сторонам, промежуточные узлы не могли его узнать, потому что дешифровать его публичным ключом нельзя, а приватный только у сервера
    * дальше идет обмен данными уже в шифрованном канале.

    Опционально можно mTLS
    В процессе этого рукопожатия, клиент в самом начале также может передать свой сертификат со своим публичным ключом для установления mutual TLS, сервер тогда проверит доверяет ли он ему и уже после этого будет продолжать рукопожатие, отправляя данные клиенту уже зашифрованные его публичным ключом, то есть половина рукопожатия будет уже тоже зашифрована и клиент провалидирован на доверяемый сертификат
    В этом случае естественно нужно чтобы и клиент и сервер доверяли друг другу.
    Ну и отдельно все выше это только про установление шифрованной сессии

    Опционально можно еще и авторизировать - тогда да, у каждого клиента должен быть свой сертификат, на стороне приложения тогда нужно хранить какие-то данные по этому сертификату для авторизации - можно serial ID, можно certificate subject.

    Что такое доверять - при установлении tls соединения, необходимо указать trusted keystore, место где лежат доверяемые сертификаты. В зависимости от софта и ОС, можно посмотреть что там по дефолту. Обычно указывается на файл с сертификатами (pem, jks, p12 форматы, или хранилище сертификатов виндовс).

    Цепочка сертификатов строится как
    * Рутовый сертификат (срок годности десятки лет), которым подписываются CA (center authority) сертификаты
    * CA сертификат (обычно срок годности 5-10 лет), которым подписываются уже пользовательские сертификаты
    * Ну и клиенский сертификат, срок годности разный. обычно месяц-год-два года.
    В доверенные сертификаты можно добавить любой из этой цепочки, и следовательно получить свои плюсы и минусы. Добавив один раз рутовый или CA сертификат, вы не паритесь по поводу того, что на той стороне перевыпустили новый сертификат. Главное чтобы он был выпущен через тот же CA/root
    Можно добавить сам клиентский в доверенные, но при перевыпуске клиентского, нужно будет сперва добавить новый клиентский в доверенные.

    Как-то так.
    Написано
  • Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    mxelgin,
    Пример не в ту калитку)) В вашем случае у человека нет ног, а орган сам по себе ходит ))

    Как раз вопрос в ту калитку. Есть инструменты у которых есть основное назначение, и есть возможность использовать его в большой инфраструктуре. Но терминологию следует соблюдать.

    У вас получается проблем с настройками деплоев раньше не существовало. А если существовали то они как то сами по себе решались?

    Ну последние 15 лет настраиваю различные деплои различными способами. Проблемы решаются обдумыванием.

    Вы суть не поняли, встраивание WSL это не про docker и не про контейнеризацию. MS чихать на конечного потребителя. Их интересует рынок. Смотрите в глубь

    Рынок состоит из конечных потребителей. WSL - востребованная вещь, просто реализация пока еще хромает по удобству и комфорту. Но WSL2 по перформансу гораздо лучше чем WSL, а там через 5 лет посмотрим.
    Изначальная идея-то правильная - линукс под рукой - востребован.

    Вин10 начнет боле мене нормально работать с 4гб для разработки

    Разработка бывает очень разная. Я нормально и на 500 мб могу разрабатывать свои штуки. Нужно уточнять что, кто, на чем пишет, что делает.
    Кто-то вот разрабатывает видеокурсы, ему 4 гб маловато для монтажа.
    Написано
  • Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    mxelgin,
    Docker — это платформа контейнеризации с открытым исходным кодом, с помощью которой можно автоматизировать создание приложений, их доставку и управление.
    По вашему автоматизация тут лишнее слово?

    Когда я плаваю, я шевелю ногами.
    Ноги это орган для плавания?

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

    Ничего не очевидно, Куда у вас Hyper-V исчез? купили Virtual PC зашли на рынок виртуализации, дальше расшили уже свои технологии и могли создать архитектуру контейнеризации свою

    Виртуализация и контейнеризация это же очевидно сильно разные вещи, не взаимозаменяемые, и явно с точки зрения архитектуры вообще никак друг к другу не относятся.
    Контейнеризация это не продолжение виртуализации, это другая технология, которая позволяет запускать изолированные процессы. Собственно поэтому MS и встроил WSL - ему проще было сделать контейнеризацию через виртуализацию =)
    Но опять таки, это было сделано не столько для рантайма, сколько для упрощения разработки, ибо использовать контейнеры в WSL в продакшене не самая лучшая идея с точки зрения потребления ресурсов и поддержке такого решения.

    минимум +1 гб оперативки для установки win10 по сравнению с win7 это незначительно?

    1 гб сейчас стоит недорого, и это в общем-то нормальные требования.
    Если я поставлю 1 гб для линукса, он заведется. Но делать на нем что-то будет проблематично, поскольку приложения едят много. У меня вот есть шелл скрипт для игры в шахматы по телеграму. И ему гигабайт оказалось маловато, потому что движок шахмат захотел полтора. Да, самому линуксу и 500 мбайт было с головой, но в таком Линуксе мало что можно запустить.
    А если приложения хотят 1-2-3 гб, то относительно этого размера требования к операционке минимальны.
    Зато в десятке зип открывается в проводнике, зато устройства детектятся легко и еще много фич, которые востребованы большим количеством пользователей.
    Те, кому не надо, могут отключить все и обойтись меньшим, просто что они будут делать в 1 гб?

    Не забывайте, что линукс - это не настольная система. Это серверная система изначально заточенная на очень гибкое использование ресурсов. В свое время был Windows Mobile, которая вполне себе могла есть очень мало, но MS провтыкали мобильный рынок по разным причинам, а в настольной системе не видят смысла ограничиваться 500 мб, надо же кортану встроить.
    Написано
  • Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    Для вас стандарт контейнеризации не является частью автоматизации?

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

    Что мешало на текущей архитектуре Windows NT создать свой стандарт контейнеризации?

    Очевидно же, непосредственно архитектура операционной системы на уровне метаданных процессов, принципа работы process scheduler и то, как ядро управляет устройствами.
    Это как бы не просто сделать удобную консольную команду для работы с существующим API, которое уже обеспечено реализацией изнутри. Это надо переделать значимый кусок операционной системы, что СРАЗУ даст минус в перформанс, и потребует приличное время чтобы все это причесать. Это не кнопку пуск поправить.

    У вас как то странно получается если технология заходит в рынок и становится стандартом значит другие технологии де факто не могут иметь право на конкуренцию.


    Почему? Например вы можете удивиться, но до докера существовал, например, OpenVZ, еще можно было самому попробровать поковырять cgroups.
    Просто докер появился в более удачное время и был более "готовым" и удобным в употреблении, чтобы использовать его в продакшене.

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

    В итоге имеем шведский стол. В каждую версию MS толкают все подряд лишь бы окупить затраты - пользователь съест, skype, cortana, панель инструментов "параметры", wsl, ie, edge и т.п. Что то приживается что то отторгается, с чем то приходится мириться . И как я выше уже сказал все это разрастается и отъедает место, время и память.

    Ну есть же причины.
    В Линукс так не выйдет, потому что ядро Линукса под лицензией. Следовательно дистрибутив Линукса тоже должен соответствовать лицензии.
    А значит зарабатывать нужно как-то немного иначе, чем это делает MS.
    Но я не вижу, того что вы утверждаете. MS отказалась от ie и edge в пользу движка хромиума, скайп не встроен, кортану можно не ставить. Место, время, память - тратятся незначительно. У меня один и тот же комп начиная с windows7. Ну на десятке быстрее все бегает.
    Написано
  • Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    mxelgin, Простите, покажите мне пожалуйста, как у вас visual studio в докере работает?
    или в чем вы пишете?
    Или вы не умеете различать рантайм и рабочую машину разработчика?

    Докер 5-10 лет назад был как раз очень нужный. Это сейчас он потихоньку уходит под капот куберам и опенщифтам. Это контейнеризация 20 лет назад была мало кому нужна, потому что была не очень юзер френдли и не все понимали какой будет выхлоп.

    Что же касается вашей терминологии
    С каких это пор докер стандарт в автоматизации?
    В автоматизации стандарты это ansible, terraform, jenkins. А докер стандарт в контейнеризации.

    Почему вы путаете разработчиков которые сидят на винде, с разработчиками которые пишут винду?

    Почему я не могу писать на винде, а запускать на линуксе? Сейчас это вообще стандарт, что я делаю коммит, а собирается, билдится, тестируется и деплоится все на другой машине, другой ОС, и возможно даже в другой стране (тот же гитхаб actions например)

    Неужели эти гении программисты за столько времени не смогли создать свою архитектуру автоматизации что теперь пытаются скрестить ежа с ужом.

    Похоже, Ваше понимание того, что именно сделали создатели докера, сильно далеко от правды. Создатели докера не писали контейнеризацию - она уже существовала в ядре операционной системы, и докер это просто удобный юзер-френдли враппер над этой возможностью. В то время как в ядре Windows такой возможности штатно нет, поэтому никакие гении программисты не могут это сделать, и даже в самом MS решили что проще сделать WSL, чем менять принцип и архитектуру ядра. Я с ними даже согласен.
    Написано
  • Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    mxelgin, у вас какое-то неправильное представление о разработчиках под виндовс.
    В процентном соотношении количество разработчиков, которые пишут именно на виндовс, явно в пользу виндовс. При этом продукт они могут писать под любую другую операционную систему.

    Лучшие SDE под виндовс, хотя сейчас достаточно кроссплатформенных.
    Про RDP - расскажите детальнее, а то весь мир-то не знает.
    Написано
  • Есть ли сервисы для автоматизации рекламы в Telegram-ботах?

    saboteur_kiev
    @saboteur_kiev
    Лоло, Если бот предоставляет только рекламу, то пользователи не будут его себе подключать.

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

    Не путайте автоматизацию и предназначение
    Написано
  • Есть ли сервисы для автоматизации рекламы в Telegram-ботах?

    saboteur_kiev
    @saboteur_kiev
    Лоло, Вы видимо невнимательно читаете ответ либо настолько уверовали в свое мнение что в штыки воспринимаете всех кто вам возражает.

    gpt3_unlim_chatbot это не просто бот, это конкретный сервис, то есть генератор контента. Который в тоже время может и рекламу кинуть.
    Если вы можете сделать чат-бота, который будет востребован сам по себе, то да, набираете популярность и кидаете рекламу.
    Также можно сделать бота типа gamee, добавить туда десяток различных игрушек и подсадить народ. А в перерывах между игрушками слать рекламу.

    Таким образом именно "бота для рекламы" нет. Есть варианты, как сделать своего бота или свой канал популярным, а уже потом пользоваться этим для рекламы.
    Написано
  • Есть ли сервисы для автоматизации рекламы в Telegram-ботах?

    saboteur_kiev
    @saboteur_kiev
    Лоло,
    не имеет значения, нужен бот эпизодически или нет, на мой взгляд, это не имеет отношения к делу

    имеет. Боты не для массовой рекламы
    Написано
  • Пайка антенных (коаксиальных, радиочастотных) кабелей без потери волнового сопротивления?

    saboteur_kiev
    @saboteur_kiev
    pfg21, Можете примерно рассказать какие потери бывают и как их оценить?
    Что такое сильно и слабо?
    1% или 10% и насколько это реально влияет?

    Например условно при гигабитном кабеле, если плохая пайка сделает там 900 мбит, то я в принципе не сильно расстроюсь. Если 999 мбит то и не замечу. Если 500 мбит ну это плохо, но это лучше чем 100 мбит.

    Как можно оценить эти потери по существу?
    Написано
  • Какой принцип в Ray Trasing рендеринге, как работает подробно?

    saboteur_kiev
    @saboteur_kiev
    И back-tracing, когда лучи (мнимые) идут из глаз смотрящего на сцену.

    raycasting
    Написано
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    ну да, а как еще проверять????
    простите, вы собираетесь заставить студентов писать свой язык программирования, чтобы не проверять руками умеют ли они писать типичные структуры и методы работы со структурами??
    Написано
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    Новичок должен хотя бы научиться пользоваться уже готовым языком программирования.
    Писать свой должен НЕ новичок.
    Если преподу кажется что это задача для новичков, то препод застрял в глубокие 80-е, когда не было современных операционных систем, и не требовалось соблюдать необходимость выполнять определенные стандарты.
    Написано
  • Как передать env переменные во время runtime SPA VITE приложения с докером (Ubuntu)?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    А нельзя поправить код в JS, чтобы он просто грузил переменные из внешнего файла, а не юзал локальные темплейты??
    Это и проще и надежнее

    Ну или попробуйте вот такой упрощенный скрипт, по идее будет делать тоже самое, но более компатибл, и пропускает пустые строки.
    #!/usr/bin/bash
    BUILD_DIR="/usr/share/nginx/html/assets"
    
    while read line; do
      [ -z "$line" ] && continue
      [ "${line:0:1}" == "#" ] && continue
      VNAM="${line%=*}"
      VVAL="${line#*=}"
      [ -n "$VNAM" ] && sed -i "s|__${VNAM}__|${VVAL}|g" $BUILD_DIR/*.js
    done < .env
    Написано
  • Как передать env переменные во время runtime SPA VITE приложения с докером (Ubuntu)?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    Смотрите. Вся суть вашего скрипта -
    1. прочитать файл (./.env)
    2. Все строки начинающиеся с # игнорировать
    3. При встрече пустой строки прекратить чтение

    4. Остальные строки распарсить, и они должны быть в виде NAME=VALUE (разделитель знак равно).
    Что скрипт делает с этими строками - ищет все файлы в директории $BUILD_DIR с расширением *.js и заменяет __ИМЯ_ПЕРЕМЕННОЙ__ на VALUE

    for file in $BUILD_DIR/*.js; do
    sed -i "s|__${VAR_NAME}__|${VAR_VALUE}|g" "$file"
    done

    ---------- пример ------
    * Например в .env есть запись
    VITE_SERVER_DOMAIN=https://example.com/

    * значит в каком-то .js файле видимо есть запись
    VITE_SERVER_DOMAIN=__VITE_SERVER_DOMAIN__

    * Скрипт пробежит по всем .js файлам и сделает вот так:
    VITE_SERVER_DOMAIN=https://example.com/

    Вам именно это нужно? заменить переменные в js файлах на значения которые указаны в .env файле?
    Написано
  • Как передать env переменные во время runtime SPA VITE приложения с докером (Ubuntu)?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    Артем Прохоров,
    Проходит циклом по всем полученным перепенным из .env файла.

    Зачем это?
    Почему нельзя просот сделать инклюд енв файла, зачем сложные циклы с кучей преобразований?
    там нестандартные имена переменных или что?

    в шелле можно сделать инклюд следующим образом
    file1.sh
    export variable1=value1
    export variable2=value2


    file2.sh
    source file1.sh
    echo $variable1
    Написано
  • Как передать env переменные во время runtime SPA VITE приложения с докером (Ubuntu)?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    А можете упростить до минимума?
    Какую конкретно переменную с каким значением вы хотите прокинуть?
    А то я вижу, что вы юзаете $1 при этом вызов entrypoint у вас идет без аргументов, от есть она пустая.

    То есть IMHO вы взяли слишком сложную баш конструкцию, не понимая что она делает и пытаетесь применить к чему?

    А еще CMD и ENTRYPOINT сразу?
    Написано