Zafarzhon Odilov 🪐
Спасибо всем
Ростислав
Подскажите, у меня есть 3 приложения - сервер, клиент, сваггер. Я хочу запускать все это из докера, получается мне надо из клиента и сваггера сделать image, создать докерфайл для сервера и в docker-compose уже все это запускать? Или как лучше сделать?
Mr.
Привет всем! Товарищи, подскажите пж, есть ли в в golang форматирование строк какое то удобное?
В джсе например можно сделать переменную со строкой и сюда вставятся сами host, port
a = `postgres://${host}:${port}/`
Как это делать в go, кроме как конкатенацию юзать? Или нет других методов?
Valeriy
Подскажите, у меня есть 3 приложения - сервер, клиент, сваггер. Я хочу запускать все это из докера, получается мне надо из клиента и сваггера сделать image, создать докерфайл для сервера и в docker-compose уже все это запускать? Или как лучше сделать?
Если ты хочешь, чтобы все это было в разных контейнерах, то тебе будут нужны образцы. Ты их можешь взять из докерхаба, своего реджестри или собрать. Вот для сборки образа и нужен докер файл.
Docker-compose нужен для удобного управления контейнерами, поэтому лучше через него запускать все, да
Valeriy
Mr.
Благодарю!
Ростислав
Ростислав
Получается мне просто в одном докер файле 3 разных билда прописать?
Valeriy
А это можно сделать в одном контейнере?
Да, контейнер это как мини версия виртуалки, то есть при желании ты туда все можешь поставить.
Видел в начале докерфайла from.... Вот это то какой образ берется за основу. То есть там уже что-то будет предустановлено для твоего удобства
Valeriy
Получается мне просто в одном докер файле 3 разных билда прописать?
Лучше всего начни с примеров и почитай побольше про суть докера, чтобы понять зачем он нужен. Прост мне сложно тебе сказать, так как я не знаю какую проблему ты решаешь. Если твоя задача сделать приложение также как локально, только в докере, то ты можешь в докерфайле прост go build запускать, результат копировать куда нужно и запускать
Valeriy
Только тогда теряется смысл докера
Ростислав
Я немного читал. Смысл докера в том, чтобы упаковать какое-то приложение в контейнер, залить его на хаб, а от туда любой желающий мог простой командной себе его скачать и запустить?
Ростислав
И при желании снести, чтобы не осталось и следа
Tarakanov
Доставка ожидаемого окружения
Tarakanov
С возможностью кастомизации и переиспользования
Tarakanov
https://m.youtube.com/watch?v=TJg7QpqCH70&list=PL8D2P0ruohOA4Y9LQoTttfSgsRwUGWpu6&index=2
Ростислав
Valeriy
Tarakanov
Они этот курс для саморазвития во время карантина записали.
Мне очень понравилась подача материала.
Ростислав
Получается, tidy от download отличается тем, что скачивает только нужное, а разве go компилятор сам не удаляет это не нужное?
Sweety
Roman
Ростислав
У меня вот такой Dockerfile
FROM golang:1.18.4-alpine
WORKDIR /
COPY . .
RUN go mod download
RUN go build -o server ./cmd/main.go
RUN go build -o client ./cmd/client.go
CMD ["./server"]
CMD ["./client"]
клиент запускается, а сервер почему-то нет
Ростислав
у меня же все порядке с Dockerfile, с чем может быть проблема, если локально все работает нормально
Ростислав
запускаю так
docker build -t name .
docker run name
Семён
Не стоит юзать два цмд в одном докер файле. Лучше через ентрипоинт настрой все нормально или док компоуз
Danil
Всем привет. Я только начинаю учить Golang и стало интересно узнать есть-ли у него какие-нибудь подводные камни, то, чего можно не увидеть в первое время? И что вообще требуют для первого трудоустройства, какие знания, дополнительные инструменты и т.п.
wagner
wagner
Поднимите через supervisor, таким образом сделав иерархическую систему наблюдения за процессами. И в качестве бонуса пропадёт перезагрузка контейнера при критической ошибке в приложении
NU
NU
Яндекс практикум))
NU
Zafarzhon Odilov 🪐
anhckie
гайз, хочу написать тесты под свой этот проект с вызовом серии апишек по крону.
собсно вопрос в чем - чтобы вы здесь тестировали и какую либу под это юзали?
еще не писал тестов на го)
anhckie
ну то есть фактически ходить в апи не надо, а просто проверять что нигде ничего не сыпется и достигается рез-ат?
anhckie
вот такая ссылка мне подвернулась в гугле - https://russianblogs.com/article/79281236687/. дичь или норм?)
Не ну это
anhckie
шо за инсомния?
anhckie
мне только сериалы в гугле выдает )0
anhckie
в любом случае, я же хочу потом и ci/cd прикрутить, чтоб серьезно ваще все было )
то есть нужны какие-то тесты, которые я буду запускать в пайплайне
Null
Ведущие go-разработчики и архитекторы МТС научат студентов backend-разработке
МТС запустила курс по разработке микросервисов на языке программирования Go для третьекурсников программы бакалавра «Прикладная математика и информатика» НИУ ВШЭ.
Ребята освоят инструменты и навыки, необходимые джунам и миддлам в крупных IT-компаниях (архитектуру и шаблоны проектирования; основы DevOps; основы мониторинга и сбора метрик; основы Go; конкурентную работу в Go и т. д.), создадут проект себе в портфолио, а также потренируются проходить собеседование. Тех, кто успешно справится с этими задачами, МТС пригласит на стажировку.
У компании также есть бесплатные курсы для специалистов разного уровня. В школе МТС.Тета можно пройти обучение по разным направлениям от разработки на языках программирования Go, Java до Frontend, Data Science, QA и проч.
Mark 𓁹
Mark 𓁹
Тем более университет Московский вероятно, по идеи учить должны не плохо.
Oleksandr
Oleksandr
Шок
Mark 𓁹
Я вообще не понимаю прикол этих курсов, там всегда 20% информации только. Приходиться самому изучать нюансы многие
Mark 𓁹
Это как по unity видео смотреть, всегда надо по документации обучаться
NU
Oleksandr
kostyaBro
Таки зачем вообще покупать курсы если вся инфа бесплатна
kostyaBro
Ментор ок, но курсы
Игорь
Maks
Новичку на самом деле сложно разобраться
Maks
если у тебя вообще никакой базы нет
Maks
это нам опытным кажется что в целом всё понятно и нужно в первую очередь не язык учить а учиться программировать
Maks
А когда ты только пытаешься хоть что то понять - то это очень сложно. Информации действительно много.
Юра (Юрий Александрович)
Тем, кто считает, что новичку учиться легко "и вообще, во всем можно разобраться самостоятельно", могу предложить такой эксперимент:
Берете новичка, и обучаете его. Если в процессе обучения хоть раз повысите голос - вы проиграли. В конце даете новичку самостоятельное контрольное задание. Если он с ним не справился - вы проиграли.
Victor
Victor
Хотя смотря какое задание дать
Grigorij
значит бить можно
Victor
Юра (Юрий Александрович)
удалённо ?
Можно привлечь фрилансера по месту жительства ученика.
Emin Zalaev
Илья