Sanity = nil
Rust
😏
Александр
👩‍💻
Илья
🏆
Andrei
VL
https://go.dev/play/p/c6g9XffVrOY Как мне разобраться в замыканиях? Голову ломаю и не могу понять почему компилятор выдает значения в первом случае +1 а во втором всегда +1 от начальной переменной
Vladislav
https://go.dev/play/p/c6g9XffVrOY Как мне разобраться в замыканиях? Голову ломаю и не могу понять почему компилятор выдает значения в первом случае +1 а во втором всегда +1 от начальной переменной
потому что в первом случае вызывается функция, замкнутая на переменную, которая увеличивается, а во втором она переменная при каждом вызове обнуляется
VL
почему при замыкании переменная увеличивается?
Иван
почему при замыкании переменная увеличивается?
У функции захватывается область видимости, у второй каждый раз новая переменная
🄻🄰🄺🄸
Всем вечера, а в валидаторе можно как-то распарсить сразу UUID? Чтобы не нужно было делать что-то подобное?
Илья
да, они поддерживают
Илья
https://github.com/go-playground/validator
🄻🄰🄺🄸
Проверял, не держит. Пробовал с гугловым уидом. Он валидирует. Но поле сразу уид сделать не получается.
Илья
Смысл валидировать поле, которое уже с типом uuid? Ошибка уже будет на этапе парсинга
🄻🄰🄺🄸
Резонно.
Dmitry
Что такое системное программирование? Разве остальное программирование бессистемное?
Sanity = nil
Google it
🄻🄰🄺🄸
Юра (Юрий Александрович)
https://go.dev/play/p/c6g9XffVrOY Как мне разобраться в замыканиях? Голову ломаю и не могу понять почему компилятор выдает значения в первом случае +1 а во втором всегда +1 от начальной переменной
Если переменная объявлена в теле функции, и не используется больше нигде, кроме этой функции, то при каждом вызове функции она будет создаваться со своим значением по умолчанию, а по завершении функции уничтожаться бесследно. Размещена она будет в стеке. Если переменная объявлена снаружи тела функции, но используется внутри функции, то переменная будет создана в куче и не будет уничтожаться при завершении функции. Таким образом снова и снова вызываемая функция будет работать со значением переменной, которое сохранилось с прошлого раза.
Юра (Юрий Александрович)
Т.е. компилятор, обрабатывая функцию increment и функцию increment2 организует работу с переменной count совершенно по-разному.
Null
⁉️ Как проводить тестирование программ на Go? 📌 Обсудим это на открытом уроке 9 ноября в 20:00, на котором мы: — Рассмотрим процесс тестирования программ на Go; — Поговорим про понятие табличных тестов; — Затронем тему пакета testing и библиотеки testify. 🦾 В результате вы сможете писать юнит-тесты к программам на Go. Также на занятии познакомитесь с преподавателем и программой онлайн-курса "Golang Developer. Professional" от OTUS. 💣 Проходите вступительный тест и регистрируйтесь на открытый урок Реклама. Информация о рекламодателе на сайте www.otus.ru
kostyaBro
kostyaBro
Жиза
Maks
Сегодня мне встретилась наверное лучшая капча в моей жизни)
Maks
Null
🖥 Как оркестровать микросервисы с помощью Docker Compose Большинство современных программных систем имеют микросервисную архитектуру. Для стека микросервисных технологий Spring Cloud характерно содержание в прикладной системе нескольких прикладных микросервисов. Перед запуском приложения необходимо запустить шлюз, центр регистрации, центр конфигурации, базу данных (даже при наличии внедренного в систему межплатформенного ПО, такого как Redis, RabbitMQ, системы управления логами ELK, системы визуализации Grafana и других сервисов). При развертывании приложения с микросервисной архитектурой необходимо упаковать разработанный сервис Spring Boot в образ Docker, импортировать его в Docker, а затем запустить развертывание. Межплатформенное ПО, база данных и другие сервисы также должны получить соответствующую версию образа из удаленного хранилища Docker для развертывания. Это довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет использование Docker Compose — официального инструмента оркестрации контейнеров, предоставляемого компанией Docker. ➡️ Читать дальше @Golang_google
Данил
Блин, много вижу как написать вебсокет сервер, но мало как вебсокет клиент? знает ли кто-нибудь где можно про это почитать или почитать про gorilla/websocket более углбленно?
Aziz
всем привет, я новичок в golang. Подскажите пожалуйста json.Marshal не хочет превратить map[string]string в json, говорит cannot use json.Marshal(vars) (value of type []byte) as map[string]string value in assignment
Emin Zalaev
И где marshal используешь
Aziz
func CreateBook(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) vars, _ = json.Marshal(vars) w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "Param: %v\n", string(vars)) }
Aziz
ты задаешь переменной vars (типа string) значение []byte
не может быть такого, потому что vars := mux.Vars(r) возвращает map[string]string
Илья
ну значит map[string]string
Илья
давно с муксом не работал
Aziz
и почему-то он не хочет его превратить в json строку
Илья
vars := mux.Vars(r) data, _ := json.Marshal(vars)
Vladislav
не
Vladislav
он потом пытается как раз байты присвоить мапе
Vladislav
так что да, надо в другую переменную
Aziz
Объясните пожалуйста почему надо в другую переменную записывать, почему нельзя в тот-же ?
Nikita
Всем доброго дня! Подскажите, на сколько удачен выбор Go в качестве первого языка? Недавно начал его учить, наслушавшись какой он быстрый и классный. Но наткнулся на инфу о том, что джуны Go никому не нужны, и войти в профессию будет крайне сложно. Возможно, для входа лучше подойдёт какой-то другой язык, например java?
Nikita
жаву не советовал бы как первый язык )
Почему? Сам знаю людей, которые с неё вошли
Максим
🖥 Как оркестровать микросервисы с помощью Docker Compose Большинство современных программных систем имеют микросервисную архитектуру. Для стека микросервисных технологий Spring Cloud характерно содержание в прикладной системе нескольких прикладных микросервисов. Перед запуском приложения необходимо запустить шлюз, центр регистрации, центр конфигурации, базу данных (даже при наличии внедренного в систему межплатформенного ПО, такого как Redis, RabbitMQ, системы управления логами ELK, системы визуализации Grafana и других сервисов). При развертывании приложения с микросервисной архитектурой необходимо упаковать разработанный сервис Spring Boot в образ Docker, импортировать его в Docker, а затем запустить развертывание. Межплатформенное ПО, база данных и другие сервисы также должны получить соответствующую версию образа из удаленного хранилища Docker для развертывания. Это довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет использование Docker Compose — официального инструмента оркестрации контейнеров, предоставляемого компанией Docker. ➡️ Читать дальше @Golang_google
Spring cloud? В канале про Go?
Aziz
Почему? Сам знаю людей, которые с неё вошли
junior нужен везде, не верь на слово людей, иди и проверь рынок. Junior golang dev нужнее всех наверное
Nikita
Все зависит от того что ты хочешь писать - у каждого языка есть область применения
У меня нет предпочтения в плане того, что именно писать. Точно определился, что не фронт
Aziz
https://t.me/golangjob
Florian Geyer von Giebelstadt
Привет.посоветуйте инструмент для создания миграций в постгрес
Tarakanov
Добрый день Кто-нибудь использовал self-hosted решения для TOTP?
Nikita
https://t.me/golangjob
две вакансии джуна за этот год
Florian Geyer von Giebelstadt
Flyway
Спасибо,посмотрю
Aziz
две вакансии джуна за этот год
учи php тогда, там для junior полно вакансии
Florian Geyer von Giebelstadt
Екатерина
Всем привет! Кто в поиске нового интересного проекта - пишите в личку :)
hh
да, попробуй джава
В javasript больше всего джунов(предположительно)
Nikita
или количество вакансий в среднем пропорционально количеству соискателей и конкурс на место будет +- такой же?
MDWIT
в джаве как и в гошке с растом требуется опыт, потому что там во многом есть сильная зависимость от архитектурных способностей
Mike
Где лучше искать вакансии? На том же hh.ru их очень мало
Учишь язык, делаешь какой-то свой прикольный проект(не ебучий тудулист), а прям с идеей что-то занятное В идеале еще несколько лайтовых багов закрыть в опенсорсе. Чисто для видимости в гитхабе, никто не будет особо смотреть что ты там закрывал, хоть тексты поправил. И идешь во все крупные айтишки твоей страны и пишешь им прекрасное письмо типа я Никита, изучаю golang, очень хочу работать в вашей компании. Я знаю такие-то технологии, вот мой гитхаб, где я сделал свой нешаблонный полезный проект + контрибьютил в опенсорс. И так ты уже на 10 голов выше всякий вайтишинков с гикбрейнса, хекслета и прочей херни
Mike
Задача джуна: быть обучаемым, обучаться, решать несложные рутинные задачи, уметь подумать Гитхаб с нешаблонным проектом + какие-то багфиксы реальные дают сразу понять что ты джуновские задачи можешь закрывать Также есть всякие стажировки от тиньков, озон и тд, можно к их эйчарам залететь спросить Не надо ждать пока предложат, от того что ты напишешь сам в лоб, никто тебя не занесет в список охуевших пидорасов, максимум отказ или игнор, прям как на хх Зато обойдешь ты 100 компаний, а не 20 вакансий с хх
Mike
Спасибо! Осталось только придумать прикольный проект)
Поскольку ты бэкэндер — у тебя все чутка попроще. Найти прикольный опенсорс проект фронта и напиши под него бэк Если еще запилишь какой-нибудь автодеплой чужого фронта и своего бэка через гитхаб экшенс — вообще сладким пирожочком на рынке будешь
Mike
Спасибо за мотивацию! Буду дальше учить го
Да не за что, совет если что работает на любой язык и направление)
Sanity = nil
девопсовская шняга какая-то?
Mike
что это за автодеплой то😐
Чтобы будущий лид не локально собирал всю эту херню, а мог посмотреть на гитхаб пейджес
Mike
девопсовская шняга какая-то?
Ну да, уметь немного в CI/CD тоже полезно
Maks
Спасибо за мотивацию! Буду дальше учить го
Сделай магазин книг например. С учетом акций, скидок, возвратов, мержем корзины если ты авторизуешься с корзиной в которую ты что то положил а у тебя еще и в своей есть