Макс
А есть англоязычные крупные группы по go и cpp ?
антон
https://www.reddit.com/r/golang/ ?
Макс
Спасибо, реддит я не учел)
антон
там кстати недавно рекламировали транслятор с питона в го
Макс
Питон хорош для прототипирования процессов
Maks
И для тестирования апи
Макс
На собеседованиях часто требуют обосновать, почему не используете орм
Макс
В стеке их технологий
антон
орм в смысле кодогенерация?
[IPT] Dmitry
привет! с чего начать изучать go? посоветуйте какие-нибудь хорошие учебные материалы для самых маленьких
Макс
Читай хабр )
антон
Язык программирования Go | Донован Алан А. А., Керниган Брайан У.
антон
меня ребёнок то шарп заставляет изучать, то луа. то он игру на юнити пишет, то на роблоксе и просит скрипты править
антон
мутновато, но задача хорошая
антон
можно годы пилить
антон
надо уточнять
антон
на такую работу одного многостаночника точно не хватит
Макс
Особенно write documentation)
антон
это кому как
[IPT] Dmitry
без
[IPT] Dmitry
хорошо, спасибо. я немного пробовал python, но в основном просто решение админских задач и автоматизация
[IPT] Dmitry
вроде как сейчас актуально
[IPT] Dmitry
+ расширение кругозора. проще будет код проектов смотреть типа prometheus/victoriametrics/etc, если понадобится знать какие-то детали простые
Maks
Ребзя, а в го всегда json request body в пост запросах в структуру парсят для дальнейшей работы?
Maks
я просто привык работать с жсоном пришедшем в запросе как с массивом, либо как с объектом stdclass
Maks
в пыхе)
Maks
Но видимо из за того что язык компилируемый, строготипизированный и с памятью работает иначе, сделано так
Maks
а как можно по другому? Не записывая в структуру пост дату?
Maks
Я эхо юзаю, там это через биндинг делается. Буду внутри функции структуру заводить и там биндить. При этом функция контроллера будет возвращать handleFunc
Null
Изучаем Golang. Урок 7. Основы. Работа с ошибками 📹 Смотреть @Golang_google
Maks
Смотрел видос, чел на муксе делал так же.
Maks
Подскажи, как у вас делались контроллеры? Они как бы делали расширение сервера, или вызывались конкретные методы из пакета контроллеров?
Funny
Всем привет, у меня появился новый вопрос))) Я хотел бы узнать можно ли передать специальные команды базы данных, на подобии \c которая позволяет тебе подсоединиться к база или таблице. Просто я пытался сделать так: sqlQueryCreateDB := select 'create database test_ozon' where not exists(select * from pg_database where datname='test_something');\gexec ; Но у меня не получилось
Funny
И если нельзя то как можно проверить, что база данных уже создана
Maks
Ты че проходишь собес в озон в школе для джунов?)
Funny
Ты че проходишь собес в озон в школе для джунов?)
😂😂😂 Надеюсь тут нет разработчиков с озона
Макс
Рекрутеров тут полно, написал пару постов и уже хантят)
Funny
А вот для чего они спрашивали телеграмм, хммм умно 🤔
Maks
Тебе нужно отдельно создать базу данных постгрес. Проще всего это установить докер с композом, написать докер-композ файл и .енв файл. docker-compose.yaml version: "3.8" services: postgres: image: postgres:13.3 env_file: - .env ports: - "${POSTGRES_PORT}:5432" .env POSTGRES_USER=db_user POSTGRES_PASSWORD=db_password POSTGRES_DB=db_name POSTGRES_PORT=5432 И у тебя всегда будет поднята база постгри с конфигом docker-compose up -d
Maks
Вроде так
Maks
Я всегда базы так поднимаю, а не устанавливаю локально субд
Funny
Это я все сделал
Maks
А в го ты просто коннектишся к бд
Maks
Откуда у тебя там криет тейбл
Maks
select 'create table это ваще как понимать
Funny
Это типо для того чтобы проверить что база данных создана
Макс
Если не ошибаюсь в случае успеха select create vernet true
Funny
Да в случае успеха вернётся create database test_somethong
Funny
Но если сложная проверка выдаст, что такая база данных уже есть она не выполняется и это строчка не возвращается
Funny
Но это будет просто текст без \gexec
Funny
Которая есть в postgres и я не понимаю как можно так передать команду, чтобы она в ней обрабатывалась \
Maks
Честно ни разу не видел что бы так делалось) обычно ты просто строишь запросы и если они падают по причине отсутствия базы данных ты об этом узнаешь. У тебя же коннект к бд когда происходит, ты указываешь в том числе и имя базы данных. И если база данных отсутствует то попытка подключиться к бд вернет ошибку. Разве нет?
Maks
Не знание ошибок не освобождает от их исправления)
Funny
Нет ошибок, нет проблем 😅
Funny
Спасибо за инициативность✌😁. Я понял что погорячился с тем чтобы убрать с пользователя ответственность😁
Макс
Вообще я ни разу не видел чтобы учили делать create через select. Но в исходниках проектов такое встречается и работать будет
Funny
Последний вопрос, а можно ли как то подключится к отдельной базе данных, т.е. допустим я осуществил подключение к postgres и внутри него есть database1 database2, возможно ли как то подключится прям к database1?
Maks
Обычно используют разные схемы внутри одной бд
Maks
Но можно и два коннекта держать. Дважды инициализируешь бд коннект с разными именами базы на сколько я знаю
Maks
Вопрос зачем)
Funny
Вопрос зачем)
Вот это я не знаю, просто вопрос сам в голове родился, а ответ ни как не мог родится и гугл не помогал 😔
Funny
А что за cli
Макс
Оболочка psql
Ivan
Vladyslav
Всем привет, подскажите пожалуйста, почему при создании структуры через функцию конструктор, где я передаю указатель на интерфейс (сервис), присваиваю одному из полей структуры этот сервис и возвращаю указатель на структуру, то при таком подходе, я не могу использовать методы сервиса без диреференса структуры?
Vladyslav
Я хотел передавать указатель на структуру (сервис), но так как сервис создается в функции конструкторе и сама структура не импортируется, а импортируется только интерфейс, я подумал, что тогда нужно указывать указатель на интерфейс как параметр в другой функции конструкторе
Vladyslav
Да, я так и сделал, просто хотел передавать в конструктор указатель на структуру, а не саму структуру
Vladyslav
Я хотел в NewAdding передавать указатель на сервис, потому, что сервис будет использоваться в нескольких структурах и подумал, что лучше если оно все будет ссылаться на один сервис, но похоже я опять запутался в указателях и то как они работаютXD
Vladyslav
спасибо большое
Vladyslav
Насколько правильно я понимаю концепт У меня есть структура (список сервисов) хранящая в своих полях другие структуры (какой то конкретный сервис). Когда я использую функцию NewAdding, то копируется структура сервиса и уже копия передаются в эту функцию конструктор?
Vladyslav
Сразу извиняюсь если уже немного надоел XD
Funny
Всем привет, я хотел бы задать вопрос. А есть ли альтернатива записи db.Query(`insert into something($1, $2) values(...)`, value1, value2), но чтобы можно было перадовать в обычную функцию
Funny
Нет мне просто понравилась идея работы Query(`$1 $2`, value1, value2) и я думал идея крутая, а можно ли мне в мою функцию, которая принимает один аргумент, в качестве строки, передать похожую структуру, т.е. myFunc(superMindOper(`$1 $2`, value1, value2)) Надеюсь сейчас понятно)
Funny
У меня появился еще один вопрос, как изменить запрос после отработки формы. У меня в форме есть перенаправление, но она направляет с post, а страница обрабатывает на GET
Funny
Я просто использую gin и не могу понять, а там можно как то изменить запрос
Funny
Просто у меня есть предположение сделать Hendler и все
Funny
Но теперь интересно стало как менять запросы