Руслан Сафин

Руслан Сафин

Был в сети 03 февраля 2022, 12:58
Заказы не принимаю
у монги есть серьезные проблемы на средних и больших проектах… база может развалится чуть ли не на ровном месте, там приколы с движком WiredTiger, с полной потерей данных. сейчас на работы мы используем 3 реплики базы в кластере что бы минимизировать риски (бд более 400гб)
Если проект хоть немного больше сайта каталога, ts в разы ускоряет разработку. С ts видишь подсказки что в находится в объектах, минимизируется количество банальных ошибок (опечатки, перепутал название и т.д.)

Пока сами не попробуете ts сложно объяснить его необходимость… Я после ts, на голом js совсем писать не хочу
Тоже работал плотно с modx и vuejs в свое время. После начала ковидной эпидемии на фрилансе стало туго и смог устроится на хорошую работу на стек angular + nodejs + golang. После смены стека понял осознал что такое строгая типизация и ее удобства =))) Сейчас стараюсь работать с vuejs + ts, angular, nestjs. К modx теперь возвращаюсь редко.
я думаю это вводная статья для новичков, которые хотят познакомится с технологией… понятно что удобство докера в одинаковой среде при деплое, но если выкатить в одну статью сборку контейнера в гите, пуш в регистри, деплой и т.д. получится каша для новичков
Интересный вариант деплоя.
Есть еще альтернатива, которую я использую… По пушу в гитлаб, запускается сборка проекта и билд докер контейнера (натравить можно на любую ветку), на сервере стоит один докер и обновляет сам контейнеры на новую версию… Удобный подход, особенно если необходимо деплоить несколько веток одного проекта на разные сервера (например прод, тестовый, демо)

Еще большой плюс, если настроена правильно сборка контейнера, на сервер не попадают исходники
Именно по твоему коду

К ссылке добавляешь data-image=“image/img.jpg”
Это путь до картинки на сервере
——-
$(document).on('mouseenter', '.menu-col a', function() {
$('.img-menu > img').attr('src', $(this).data('image'))
})
———
Так же внутрь дива img-menu вставь
$("#tv10").on(«input»,function() {
console.log($("#tv10").val());
});

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

лучше напиши задачу полностью, может есть более элегантное решение
Спасибо за интерес к статье =)

1) Каждый контейнер изолирован друг от друга и внутри контейнера своя файловая система, внутрь контейнера мы можем монтировать папки через volume. Именно внутрь контейнера, а не внутрь файловой системы сервера.

2) Как говорил выше, контейнеры изолированы. В моем примере nginx связан с php через fastcgi

3) Этот вопрос достаточно сложный, сам долго искал решение, т.к. у меня: api сервер на ларавель, 2 отдельных приложения на nuxtjs и вебсокет сервер и это все на разных поддоменах. Домен и поддомены через А запись направлены на ип сервера и разруливается nginx-proxy с достаточно простым синтаксисом

4) На самом деле все намного проще ))) Если будет интересно напишу более углубленную статью, в ней расскажу как поднять nginx-proxy + получение автоматом ссл сертификата, в этой связке разворачивание нового сайта сводится к клону гитхаба и запуска контейнера.