Не ну это
Могу скинуть канал с вакансиями
Я ей в лс кинул - игнор 🥲
Не ну это
Так у меня никогда не будет тянки, только кунчики((((
Eugene
зачем тебе эти тянки?
Eugene
они же фу
Vladislav
нельзя дружить с дырками
Eugene
а с отверстиями?
🅞leksiy
Хватит детский сад разводить 👆😅
Eugene
anhckie
так. очередной глупый вопрос - в чем суть функции make() ? я могу сделать так и так, в чем разница?)) a := make([]int, 5) a := []int{5}
anhckie
а, стоп. прикол в том, что мейк сделает обнуленный слайс с этой емкостью
Vladislav
прикол ещё в том, что мэйк может сделать это в рантайме, а литерал как константа
anhckie
вот тут пояснительную бригаду плиз ))
Vladislav
вот тут пояснительную бригаду плиз ))
какое слово тебе незнакомо?
anhckie
каждое знакомо, но не понятна суть. мэйк может сделать это в рантайме, окей, что это дает или не дает? т.е. как можно сравнить эти 2 кейса?
Vladislav
если размер слайса, который понадобится в программе, наперёд не известен, а известен только во время выполнения, то литерал тут не поможет
Vladislav
кроме того, литералом делать большой буфер - такое себе удовольствие
Vladislav
мэйк работает с переменными значениями, литерал сделает слайс только как в коде буквально задано
anhckie
въехал. спасибо!
🅞leksiy
так. очередной глупый вопрос - в чем суть функции make() ? я могу сделать так и так, в чем разница?)) a := make([]int, 5) a := []int{5}
О чем вы вообще говорите? Второй вариант создаст слайс длинной 1, с одним значением, которое равняется 5
🅞leksiy
О литералах жеж
Там так вопрос задан, как будто эти строки эквивалентны
🅞leksiy
Пытаюсь убедиться, что человек не думает, что []int{5} создаст слайс длинной 5
Denis Pershin
Там так вопрос задан, как будто эти строки эквивалентны
Да я прикалываюсь, ты правильно сказал
anhckie
столкнулся с еще одним непониманием. есть пустой интерфейс - это тип any, ему подходит всё. а как понял nil interface)
anhckie
в моем понимании это неинициалмзированный интерфейс
anhckie
типа в который ничего не положили. то есть если даже есть методы интерфейса, но в нем ничего не лежит - это нил интерфейс?)
Vladislav
nil к интерфейсам напрямую не относится
Vladislav
но верно то, что если ничего не положить в интерфейс будет untyped nil
Vladislav
а можно положить typed nil конкретного типа
Vladislav
интерфейс, грубо говоря, сам по себе пара из идентификатора типа внутри и значения
anhckie
ещё вопрос. как грамотно организовать структуру кодовой базы? вроде бы, в го это называется clean architecture, однако встречаю разные вариации на гитхабе. как я понимаю, должны быть директории internal, pkg (если микросервисы, чтобы можно было переиспользовать), config. ну и какие-то служебные для пайплайнов гитхаба и т.п.?
anhckie
если у кого есть актуальный кейс, буду признателен )
Vladislav
clean architecture это не про расположение файликов, и не про го в целом
Vladislav
про файлики тут https://github.com/golang-standards/project-layout
Vladislav
про принципы чистой архитектуры тут: https://www.youtube.com/watch?v=o_TH-Y78tt4&feature=share
Vladislav
(хотя я лично не придерживаюсь ни того, ни того)
Akhmed
Мужики, а log.println пишет в stdout или в stderr ?
Илья
нет, stderr https://cs.opensource.google/go/go/+/refs/tags/go1.19:src/log/log.go;drc=19309779ac5e2f5a2fd3cbb34421dafb2855ac21;l=90
Илья
Ильи ответ
флексу аргумент
Akhmed
А можно ли как-то всё выводы одновременно писать и в файл и в stdout, stderror ?
Vladislav
можно
https://pkg.go.dev/io#MultiWriter
Akhmed
Спасибо
Alex
Привет! Подскажите, почему go не ругается в этом случае на отрицательный размер в make? n := -10 m := make(map[string]int, n) А если в make сразу -10 записать, то уже ругается на отрицательное число m := make(map[string]int, -10) negative size argument in make(map[string]int)
Emin Zalaev
Потому что переменная != число
Илья
а переменную только в рантайме т.к. мы не знаем какое в итоге число она будет хранить
Alex
понял, го не знает заранее что хранится в этой переменной, поэтому не ругается. Еще не понятно почему в рантайме это вещь не падает? n := -10 m := make(map[string]int, n) https://goplay.space/#Jd2SXrFHkqW
Илья
For slices and channels, if n is negative or larger than m at run time, a run-time panic occurs. с мапой не паникует, всёравно при выводе len(m) будет ноль
Alex
len(m) будет ноль если и положительный size задать константой. Вот интересно что не паникует, не нашел нигде об этом описания
Илья
если я правильно понял, то отрицательное число сбрасывается
Alex
если я правильно понял, то отрицательное число сбрасывается
спасибо за наводку! Наверное ты прав и срабатывает условие, которое обнуляет hint mem, overflow := math.MulUintptr(uintptr(hint), t.bucket.size) if overflow || mem > maxAlloc { hint = 0 } https://github.com/golang/go/blob/c81dfdd47aa44bb1da0f60e36742cc0103da4837/src/runtime/map.go#L306 при отрицательном hint uintptr(hint) дает большое число, а там еще перемножение... n := -10 fmt.Println(uintptr(n)) // 18446744073709551606
Alex
да
Илья
пишем proposal? if hint < 0 { panic(...) }
Артем
всем привет, можно ли nginxом или докером запретить пользователям доступ ко всем портам, кроме localhost:80 ?
Артем
на бекендах открыты наружу порты, не хочу чтоб люди ходили
Кіт ✙
это делается файрволлом
Артем
понял, благодарю
Alex
подскажите что за конструкция req := request.(CreateRequest) ?
Alex
как правильно нагуглить
Alex
спасибо
Вова
Привет, подскажите что тут не так. Столкнулся с этой проблемой в курсе, вынес отдельно в проект, проблема осталась
Q
listCommand(servProd *handler.Service)?
Вова
listCommand(servProd *handler.Service)?
Да, спасибо. Что-то это трудно мне понять) зачем конструктор передавать в структуру
Q
какой конструктор?
Anton
такого типа данных как servProd не существует у тебя в коде
Anton
это ты переменную так назвал
Сергей
Всем доброго времени суток. При попытке отправить POST запрос с видео-файлом (multipart/form-data) к стороннему API вываливается такая ошибка: post [url_на_который_отправлял_запрос]: net/http: HTTP/1.x transport connection broken: malformed HTTP status code "0". Подскажите пожалуйста, в чем может быть дело?
kostyaBro
Код бы увидеть