Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 612 75 171
Go тред №23 /go/ Аноним # OP 07/04/23 Птн 19:53:38 2665435 1
NewProject-57.png 49Кб, 628x628
628x628
446E483C-40D5-4[...].jpg 32Кб, 403x628
403x628
NewProject3.png 104Кб, 628x628
628x628
image.png 28Кб, 200x161
200x161
Go или Golang — компилируемый язык программирования от создателей таких шедевров, как UTF–8, язык С, UNIX, Plan9 и других. Go поддерживает типобезопасность, имеет богатую и универсальную стандартную библиотеку и инновационные семантики одновременности: все то, что мы в индустрии называем concurrency и parallelism. На сегодня язык Go является маяком стабильности, прагматичности, де-факто представляет из себя стандарт в мире бэкенд–микросервисов и серверного оркестрирования.

С чего начать:
- В обязательном порядке проходим Go Tour:
https://go.dev/tour/welcome/1
- Читаем документацию прямо по порядку (пункт "Learning Go"): https://go.dev/doc/
- Ознакамливаемся с общим roadmap по изучению языка и сопутствующих инструментов: https://github.com/Alikhll/golang-developer-roadmap (постоянно обновляется сообществом)

Литература:
- Донован, Керниган "Язык программирования Go"
- Также хорошие книги для начала: https://www.golang-book.com/ и https://www.practical-go-lessons.com/ (веб-версия - бесплатная и хорошо подходит для новичков в программировании)
- Книги из списка https://github.com/dariubs/GoBooks

Полезные ресурсы:
- Сборник паттернов и инфы по микросервисам: https://microservices.io/
- Смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw
- Обновляемый список с пакетами: https://github.com/avelino/awesome-go

Небольшая конфа треда: https://t.me/golang2ch более чем живая!

Предыдущий тред тонет здесь: >>2614678 (OP)
Аноним 07/04/23 Птн 19:55:22 2665440 2
>>2665435 (OP)
Ты создал ещё один тред, но R всё ещё лучше чем Go.
Аноним 07/04/23 Птн 20:09:47 2665472 3
А где третий тред? Чёт не могу найти, только эти два.
Аноним 07/04/23 Птн 20:17:20 2665493 4
>>2665472
По тегу 3 треда, дебил
Аноним 07/04/23 Птн 20:19:19 2665495 5
>>2665493
Так свежЫх только 2! Один тухлый! Лера, ТУХЛЫЙ!!!
Аноним 07/04/23 Птн 20:29:27 2665509 6
>>2665493
Дебил, ты не понял нихуя. По тегу два 23-х треда, а надо три.
Аноним 07/04/23 Птн 20:37:24 2665512 7
>>2665509
Какой же ты тупой. По тегу два 22-х.
Аноним 07/04/23 Птн 20:53:18 2665529 8
Аноним 07/04/23 Птн 20:58:35 2665535 9
Так чем го лучше шарпа?
Аноним 07/04/23 Птн 21:10:12 2665550 10
>>2665535
Использует UTF-8 и расходует в 2 раза меньше памяти на строки
Аноним 07/04/23 Птн 21:29:13 2665568 11
>>2665555
Не мог сказать, чтобы на русский сразу переводил?
Аноним 07/04/23 Птн 21:41:01 2665581 12
>>2665555
Доставьте ролик с /dev/null is web scale
Аноним 07/04/23 Птн 22:18:07 2665610 13
>>2665595
Всё перечисленное есть в /dev/null. А ещё он web scale, как ихвестно.
Аноним 07/04/23 Птн 23:37:31 2665662 14
>>2665595
>маленький размер двоичных файлов Go
Че блять?
Аноним 08/04/23 Суб 00:09:04 2665674 15
>>2665673
Бинарники гошки весят как ебучие слоны
Аноним 08/04/23 Суб 09:08:12 2665787 16
>>2665535
Полная обратная совместимость. Можно поставить последний компилятор голанга и запускать старые программы. А в дотнете каждый год надо переписывать программы на новый дотнет или маяться с подключением старых дотнетов, которые как правило удаляют из репозиториев и фиг снова установишь.
Аноним 08/04/23 Суб 09:15:22 2665791 17
>>2665675
Эталонное тольковыигрываете и правота в главном.
Аноним 08/04/23 Суб 09:22:20 2665793 18
>>2665791
А ты размер .NET SDK видел?
Аноним 08/04/23 Суб 15:33:54 2666195 19
>>2665793
Сейчас бы на втором году СВО думать о размере sdk
Аноним 08/04/23 Суб 16:55:57 2666251 20
>>2665793
Он не стендалон а искаробочная шинда, это не считается.
Аноним 08/04/23 Суб 18:21:05 2666326 21
>>2666251
>искаробочная шинда
это сколько в гигобитах?
Аноним 09/04/23 Вск 07:52:09 2666921 22
>>2665535
Го поддерживает восьмеричные литералы
Аноним 09/04/23 Вск 12:40:53 2667002 23
image.png 65Кб, 996x504
996x504
image.png 15Кб, 618x123
618x123
image.png 14Кб, 303x215
303x215
image.png 7Кб, 520x64
520x64
Ну и кто долбоёб? Если заменить на testfield, то всё отлично работает.
Аноним 09/04/23 Вск 12:43:27 2667005 24
image.png 15Кб, 583x125
583x125
image.png 14Кб, 301x222
301x222
image.png 7Кб, 459x60
459x60
Аноним 09/04/23 Вск 16:04:22 2667154 25
>>2667002
Очевидно ты, потому что в репорте написан какой-то нечитаемый бред уровня "я ебаль ийо рука", ну и конечно классика индусоговна "NOT PROPERLY WORKING". Олд тебя бы еще назвал говноедом и обоссал, но очевидно мейнтейнеру КоК этого не позволяет, так что он послал очередного долбоеба нахуй максимально вежливо.
Аноним 09/04/23 Вск 16:07:14 2667158 26
>>2667154
Так это не моя ишью, она же вообще от 18го года. Просто я сейчас столкнулся с этой проблемой, нагуглил только это.
Аноним 09/04/23 Вск 16:31:34 2667180 27
>>2667158
Тогда /s/ты/индус-репортер.

Зарепорти нормально. В тестах у них по крайней мере я конкретно этого кейса не нашел, так что. Конфёрмить лень, сорян
Аноним 09/04/23 Вск 16:53:02 2667200 28
image.png 90Кб, 290x221
290x221
Аноним 09/04/23 Вск 19:21:47 2667427 29
В чём отличие объявлений следующих функций:
func FuncName(arg []any)
func FuncName[T comparable](arg []T)

Чатгопота мне затирает, что во втором случае якобы нельзя принять слайс с различными типами, а он прекрасно обрабатывается в обоих случаях. Так в чём же отличие?
Аноним 09/04/23 Вск 19:28:12 2667437 30
>>2667427
Точно обрабатываются? Строки, целые и флоаты в одном слайсе?
Аноним 09/04/23 Вск 19:43:33 2667460 31
>>2667437
Да. Сейчас обнаружил различие. Первый случай обрабатывает только интерфейсный слайс. Сколько же пиздабольства я сейчас выслушал от чатгпт. Абсолютно противоположное утверждала.
Аноним 09/04/23 Вск 19:54:00 2667477 32
image.png 22Кб, 232x217
232x217
>Действительно, при передаче []string{"hello", "world"} в первую функцию func_name(arg []any) не возникнет ошибки
>Так она возникает
>Ой, извините
>Действительно, при передаче []string{"hello", "world"} в первую функцию func_name(arg []any) не возникнет ошибки

Программист уровня /b/. Гопоте еще даже вкатуном не быть.
Аноним 09/04/23 Вск 20:33:57 2667545 33
>>2667427
В том, что в одном случае у тебя тип any, а во втором - comparable. ты аутист?
Аноним 09/04/23 Вск 20:52:28 2667583 34
>>2667427
>Чатгопота мне затирает, что во втором случае якобы нельзя принять слайс с различными типами
ну это верно. в []any у тебя в каждом элементе могут быть совершенно разные типы.
а в []T у элементов будет один тип, который соответствует констрейнту. т.е. нельзя float32 и int например смешать.
Аноним 09/04/23 Вск 21:04:55 2667590 35
Аноним 09/04/23 Вск 21:17:59 2667603 36
>>2667545
До этого момента не понимал, что any - это такой же тип, как и int, string, etc.

>>2667583
Ботяра затирал, что во втором случае []any{"hello", 123, true, 3.14} вызовет ошибку, хотя это не так.
Аноним 09/04/23 Вск 22:23:38 2667650 37
>>2667590
Лол, действительно. Попробовал твой код на локалхосте запустить, тоже всё работает. Мистика какая-то. Спасибо!
Аноним 10/04/23 Пнд 09:44:34 2667828 38
А правда, что в голанге тоже надо ставить какие-то левые программы на комп и генерировать в них миграции?
Аноним 10/04/23 Пнд 10:34:52 2667860 39
>>2665550
>Использует UTF-8 и расходует в 2 раза меньше памяти на строки
Ебать перемога.
Аноним 10/04/23 Пнд 12:58:01 2667983 40
Аноним 10/04/23 Пнд 14:19:04 2668063 41
>>2667828
Что ты имеешь ввиду под миграциями? Если про создание таблиц в бд, то у тебя есть CREATE TABLE IF NOT EXISTS, буквально ее любая тулза для миграции и заводит лол
Аноним 10/04/23 Пнд 14:34:21 2668067 42
В голанге вообще нельзя получить доступ к значению ключа через поинтер? Нижеуказанное не работает со второй строки.
mymap := map[string]int{"a": 1}
point := &mymap["a"]
*point = 2
Аноним 10/04/23 Пнд 14:39:33 2668075 43
>>2668067
map[string]*int, мапы это не обычная переменная, тебе возвращает копию, а не сам элемент, что вполне ожидаемо
Аноним 10/04/23 Пнд 14:52:33 2668078 44
>>2668075
>map[string]int

Это надо тогда кучу переменных пихать. Типа:
var1 = 1
mymap := map[string]
int{"a": &var1 }
Без такого оверхеда вариантов нет?
Аноним 10/04/23 Пнд 14:53:17 2668079 45
>>2668078
Блядский двощ сожрал астерикса.
Аноним 10/04/23 Пнд 15:06:20 2668084 46
>>2668078
Так ты в любом случае так или иначе будешь из переменной какой то его пиздить, а не добавлять вручную, и про какой ты оверхед я что то не поняла, уж выделить 4 байта на указатель процессору будет явно не тяжело, поверь
Аноним 10/04/23 Пнд 15:10:04 2668088 47
>>2668084
Понято, принято. Благодарю. Сиськи с супом где?
Аноним 10/04/23 Пнд 15:18:22 2668105 48
>>2668084
Дополню

Если прям совсем лень создавать переменную, то можешь сделать, только не забывай, что оно будет указывать уже на новую переменную, а не твою оригинальную, если ты туда for some reasons будешь передавать что то другое, не могу представить только зачем

func newPtr[T any](val T) *T {
return &val
}
Аноним 10/04/23 Пнд 15:46:25 2668136 49
>>2668063
Я не знаю, что такое миграции, потому что нигде толком про это не пишут. Слышал, что надо скачивать программы с гитхаба от левых чуваков и они генерируют эти миграции. Зачем? Не знаю.
Аноним 10/04/23 Пнд 16:08:24 2668155 50
>>2668136
Тогда нахуя ты пишешь про них?
Аноним 10/04/23 Пнд 16:35:21 2668171 51
>>2668155
Вдруг меня на собесе спросят про миграции
Аноним 10/04/23 Пнд 16:56:24 2668197 52
>>2667828
1. Это вообще не связано с языком. Ты можешь тот же ликвибейз взять и использовать.
2. Если нормальная прод система, то да надо использовать и миграция это отдельный шаг выката на прод.
Аноним 10/04/23 Пнд 16:59:15 2668202 53
>>2668197
Нужно ли вкатуну их учить?
Аноним 10/04/23 Пнд 17:13:20 2668211 54
>>2668202
Я бы сказал - нет, достаточно знать что они есть и представлять как в целом они работают. Но сколько компаний столько и мнений, меня пару раз в тестовых просили создавать базу с помощью системы миграций.
я правда не вкатун
Аноним 10/04/23 Пнд 18:59:13 2668336 55
Как правильнее объявить пустой слайс? Нахуя нужны два оставшихся, когда ты назовёшь наиболее кошерный?
a := []int{}
b := *new([]int)
c := make([]int, 0)
Аноним 10/04/23 Пнд 19:57:19 2668387 56
>>2668067
Иди читай учебник "алгоритмы и структуры данных", 1 курс любого технического вуза. Чтобы более не задавать подобных вопросов.
Аноним 10/04/23 Пнд 19:59:22 2668389 57
>>2668336
>Нахуя нужны два оставшихся
Это же ГОВНОЛАНГ, простой язык! Поэтому мы добавили десять синтаксисов для каждой фичи, а также завезли неоднозначность грамматики, ну чтоб было веселее. Простота!

>a := []int{}
this
Аноним 10/04/23 Пнд 20:21:00 2668404 58
>>2668387
>Алгоритмы
Рано ещё, но обязательно буду.

>Структуры данных
А вот здесь охуел, копнув лишь немного. Оказывается все языки программирования их повторяют один в один. Спасибо, читаю.
Аноним 10/04/23 Пнд 20:40:58 2668432 59
А есть какая-нибудь книга по gin?
Аноним 10/04/23 Пнд 20:48:20 2668437 60
>>2668404
не все
не один в один
Аноним 11/04/23 Втр 07:15:59 2668670 61
>>2668336
=a := (&((&((&((&(*(&[]int{})))))))))
Аноним 11/04/23 Втр 07:17:33 2668671 62
image.png 13Кб, 598x141
598x141
>>2668670
ну кроме ебаной макаки я думаю все поняли что я имел в виду
Аноним 11/04/23 Втр 09:57:36 2668700 63
>>2668067
Я понял, что ты хочешь сделать. Так делать не надо. Даже если бы было возможно - не надо. Не делай так. Поверь дяде, кака это плохо, брось каку.
Аноним 11/04/23 Втр 10:43:50 2668719 64
>>2665435 (OP)
гайсы, а есть у кого программа/скрипт, чтобы копировать все медиа с треда?
Готов купить тг @dima_ermolaev1999
Аноним 11/04/23 Втр 11:24:39 2668749 65
>>2668700
То есть не очевидные шаманства с массивами и срезами через поинтер это не кака, а тоже самое с мапой уже кака?
Аноним 11/04/23 Втр 11:44:49 2668766 66
Аноним 11/04/23 Втр 12:26:17 2668806 67
>>2668749
Мапа в го периодически двигается в памяти с места на места. Надо тебе ебатория о том почему у тебя вдруг указатель указывает на нихуя и ты внезапно ловишь сегфолт? Надо бля?
Аноним 11/04/23 Втр 12:29:05 2668811 68
>>2668749
> неочевидные шаманства через поинтер
Это кака. Бобо. Фу. Запомни это.

PS Капча говно
Аноним 11/04/23 Втр 17:55:05 2669227 69
go1.jpg 52Кб, 770x535
770x535
go2.jpg 70Кб, 822x787
822x787
Объясните эти 2 момента плиз

пик 1. Почему capacity слайса уменьшается только в этом моменте
s = s[2:]

Тут мы выкинули первые две цифры из слайса и объем его уменьшился на эти 2 цифры. Но почему чуть выше где
s = s[:4]
объем слайса не уменьшается?

пик 2. Пустой слайс поначалу. Добавили 0, длина - 1 и объем - 1.
Потом добавили 1. Длина - 2 и объем - 2.
Потом сразу 3 цифры добавили. Длина стала 5. Но почему объем стал 6?
Аноним 11/04/23 Втр 18:04:13 2669241 70
>>2669227
Ну значит щенок слушай

>1. Почему capacity слайса уменьшается только в этом моменте
Потому что слайс обрезается только с одной стороны, со второй тебе его и возвращает, считай просто оффсет

>Тут мы выкинули первые две цифры из слайса ~snip~
А тут ты считай взял весь массив целиком, без оффсета, но длину ему только 4 указал

>~latest snip~
А все просто, собсна капасити увеличивается не так, как увеличивается длина, капасити у нас длина помноженная на два, и собсна увеличивается, если при добавлении у тебя len > cap становится, после тысячи там уже по 10% только добавляется
Аноним 11/04/23 Втр 18:07:36 2669247 71
Аноним 11/04/23 Втр 18:27:09 2669267 72
Аноним 11/04/23 Втр 20:01:22 2669406 73
Аноним 11/04/23 Втр 22:46:42 2669565 74
Короче, я готов признать, что я макака, который не знает как работает этот ёбанный multipart/form-data
Проблема некст: нужно получать мультипарт частями и отправлять полученную часть на другой сервер (minio), не записывая весь файл в память, так вот возник вопрос, есть ли возможность это реализовать или это ебанина такая же как и мой говнокод, который я настругал, пытаясь решить эту задачу?
Аноним 11/04/23 Втр 23:56:50 2669628 75
>>2669565
Отправлять тоже частями, а как ты собираешься иначе сделать, не держа в памяти?
Аноним 12/04/23 Срд 00:05:14 2669632 76
>>2669565
Учись у лучших умов - создателей 1С битрикса. Хуяришь гигабайтный файл в base64 и все
Аноним 12/04/23 Срд 00:09:32 2669633 77
>>2669227
>Тут мы выкинули первые две цифры из слайса и объем его уменьшился на эти 2 цифры. Но почему чуть выше где
>s = s[:4]
>объем слайса не уменьшается?
Ну допустим твой слайс [0:5] это длина от Москвы до Нижнего Новгорода и он уже аллоцирован. Если ты обрезаешь его [2:5], то это расстояние от Петушков до Нижнего Новгорода. Аллоцировано при этом всё расстояние от Москвы, но ехать тебе только от Петушков до НиНо и не дальше. А если обрезать [:4], то это расстояние до Дзержинска от Москвы, но при этому у тебя есть уже аллоцированный запас до НиНо.
Аноним 12/04/23 Срд 00:10:44 2669635 78
Аноним 12/04/23 Срд 09:49:17 2669820 79
perenos.jpg 63Кб, 874x405
874x405
Вопрос про оформление кода.
Как правильно переносить длинные строки кода? К примеру, есть длинная строка с сигнатурой метода, то как её перенести на новую строку, чтобы было красиво, читабельно и идеоматично?
Если просто какой-то параметр функции перенести, то он выравнивается по первому табу и сливается с кодом ниже. В итоге получается не читабельно, но именно так выравнивает линтер. Может надо делать как-то по другому?
Аноним 12/04/23 Срд 13:14:48 2669976 80
>>2669820
Как делает go fmt так и писать
Аноним 12/04/23 Срд 14:03:04 2670025 81
>>2669820
>Как правильно переносить длинные строки кода?
Не писать их. А если тебе приходится, то у тебя как раз проблемы
Аноним 12/04/23 Срд 14:36:07 2670070 82
>>2669820
>reflect
>interface{}
>panic
Ебать у тебя там целый обитель говнокода, тебя в школе обижали, да?
Аноним 12/04/23 Срд 15:26:52 2670171 83
adamfreeman.jpg 5Кб, 196x257
196x257
>>2670070
Хочу, чтобы было всё как в дотнете
Аноним 12/04/23 Срд 15:39:26 2670195 84
>>2669406
спасибо тебе добрый человек
Аноним 12/04/23 Срд 16:05:11 2670234 85
>>2670171
Не выйдет. Если хочешь писать на дотнете, надо писать на дотнете.
Аноним 12/04/23 Срд 16:31:24 2670277 86
>>2670234
Дак никто не скидывает книгу, где пишут реальное веб-приложение не как в дотнете. Единственный, кто показывает как можно написать реальное веб-приложение, пишет всё как в дотнете. Приходится разбираться в этой дотнет параше с рефлексией и тонной абстракций на абстракциях.
Аноним 12/04/23 Срд 16:50:07 2670296 87
>>2670277
А нахуя тебе для этого целая книга, шизоид
Аноним 12/04/23 Срд 17:26:42 2670341 88
>>2670296
Книга даёт гарантии, что информация достоверна, не оборвется на полуслове, можно планировать своё обучение.
Видосики не нравятся, в них много мусора и темп редко совпадает с моим. Автор либо тараторит, либо засыпает. Ещё раздражает, когда полчаса разглагольствует, а потом за 5 минут торопится выдать всю инфу. Встречались даже курсы, где препод не успевал дописать программу за пару, в итоге у тебя оставался незаконченный пример. С книгой такого нет.
Аноним 12/04/23 Срд 17:32:18 2670347 89
>>2670341
>что информация достоверна
Кто-то расскажите ему что за люди пишут эти книги))))
Аноним 12/04/23 Срд 17:38:13 2670356 90
gobook.jpg 193Кб, 912x742
912x742
gobook2.jpg 123Кб, 953x735
953x735
Аноним 12/04/23 Срд 17:41:29 2670362 91
>>2670347
Дак что ты предлагаешь? Как научиться писать реальные веб-приложения профессионального уровня?
Аноним 12/04/23 Срд 18:00:12 2670401 92
>>2670356
Так, блеать. Я тоже где-то читал, что len и cap зашиты в коллекции. Насколько тяжки для приложения частые вызовы len() и cap()?червяк
Аноним 12/04/23 Срд 18:29:13 2670433 93
>>2670401
len() и cap() это метаданные переменной твоего слайса
https://github.com/golang/go/blob/master/src/runtime/slice.go#L15

Вызывать их тоже самое, что и спиздить поле из структуры, можно зааппендить в какой то слайс новые значения (главное что бы капастили не привысилось), тогда ты увидишь фокус, что сама длина массива как бы уже выше, но len твоей переменной все равно остался прошлым
Аноним 12/04/23 Срд 18:36:17 2670444 94
>>2670433
Какая ещё опасность кроется в превышении capacity? Поинтеры сразу слетают при перераспределении?
Аноним 12/04/23 Срд 18:37:40 2670445 95
>>2670444
Это просто для примера, что у тебя метаданные капасити и длины остались теми же, но при этом фактическая длина выше прошлой
Аноним 12/04/23 Срд 18:37:51 2670446 96
>>2670356
Из не инициализированной map можно читать она ведет себя как пустая, а вот при попытки записи будет паника. Решение крайне хуевое, потому что нужно знать про эту "фичу" когда дебажишь сообщения с паникой.
Аноним 12/04/23 Срд 18:45:54 2670457 97
image.png 23Кб, 741x340
741x340
>>2669820
ну я стараюсь этих двух вариантов придерживаться, aka единственные два варианта, где перед телом нет отступа и тело визуально не смешивается с сигнатурой. gofumpt помогает.

гугл конечно советует переносами не упарываться https://google.github.io/styleguide/go/guide#line-length
Аноним 12/04/23 Срд 18:47:55 2670459 98
Чё то тяжело ваш го идёт после тайпскрипта.
Аноним 12/04/23 Срд 18:50:07 2670466 99
>>2670446
>>2670457
В чем проблема сделать структуру, если у тебя настолько много параметров? Если больше 3, значит однозначно нужно делать
Аноним 12/04/23 Срд 18:50:37 2670468 100
>>2670444
Мда, поинтер остаётся на старом адресе и можно соснуть крепко.
a := make([]int, 0, 2)
a = append(a, 123)
point := &a[0]
fmt.Println(point, a)
a = append(a, 4, 5, 6)
a[0] = 789
fmt.Println(
point, a)
Аноним 12/04/23 Срд 18:53:28 2670473 101
\ тест \*
Аноним 12/04/23 Срд 18:55:02 2670476 102
>>2670468
А как ты собираешься это хотя бы теоретически реализовать, у тебя физического места нету, а значит нужно делать новые указатели, переносить куда то их, ничего странного в этом поведении нету, это вполне ожидаемо, такое везде
Аноним 12/04/23 Срд 19:01:31 2670488 103
>>2670476
Ожидаемо для тех, кто давно рулит памятью. Питонистам и прочим скриптомакакам не очень ожидаемо.
Аноним 12/04/23 Срд 19:02:47 2670490 104
>>2670488
>Ожидаемо для тех, у кого больше полторы извилины
не благодари
Аноним 12/04/23 Срд 19:08:12 2670501 105
>>2670459
Если надо, могу помочь с чем то в телеге, но скорее буду отвечать на вопрос/ответ как что работает или как что сделать, менторить прям полноценно не смогу, только вопрос-ответ
Аноним 12/04/23 Срд 19:12:07 2670506 106
>>2670501
А потом тред в /b/ с диваноном и травлей вкатуна. Уже было.
Аноним 12/04/23 Срд 19:14:28 2670510 107
>>2670506
Синдром бога, ты?
@mentallyunstabledev
Аноним 12/04/23 Срд 19:19:39 2670515 108
>>2670510
Не я. А там омежку какого-то по приколу обвинили в програмирывании краж денег с карт. Майоры с двача вызывали мамку вкатуна на допрос.
Аноним 12/04/23 Срд 19:33:46 2670534 109
>>2670501
Спасибо. Но думаю зря потрачу только твое время. Я вкатываться во фронт буду. Бэк слабо знаю. И ещё не определился на чем изучать его. Параллельно ковыряю пхп, сишарп и го. Но все же склоняюсь к пхп. Уж слишком мало у меня говакансий
Аноним 12/04/23 Срд 19:37:28 2670540 110
>>2670466
>Если больше 3, значит однозначно нужно делать
а я так не считаю
Аноним 12/04/23 Срд 19:38:55 2670544 111
>>2670540
Тогда не жалуйся, что у тебя миллион аргументов везде выходит лол
Аноним 12/04/23 Срд 19:48:14 2670559 112
Аноним 12/04/23 Срд 20:51:35 2670652 113
>>2669565
А в чем конкретно проблема? Перекидываешь из одного сокета в другой через фиксированный буфер в памяти. Что именно у тебя не работает в таком подходе (самому интересно)?
Аноним 12/04/23 Срд 20:54:07 2670655 114
>>2669820
>красиво, читабельно
>голанг тред
))
Аноним 12/04/23 Срд 21:53:46 2670693 115
>>2670466
>В чем проблема сделать структуру, если у тебя настолько много параметров? Если больше 3, значит однозначно нужно делать
Это не имеет отношения к тому, что я писал.
Аноним 12/04/23 Срд 22:10:32 2670702 116
>>2670693
У пастерка задели его эго :XXXXXD
Аноним 12/04/23 Срд 22:38:26 2670705 117
image.png 1037Кб, 630x1280
630x1280
Сап, двач. Мимо пхп-макака. Работаю в финтехе, не веб-мастер не подумайте.

Есть ли вкат, и нужен ли?
Аноним 13/04/23 Чтв 07:27:45 2670826 118
>>2670705
Вкат есть, но голанг не выучить, потому что никто не пишет как писать реальные приложения на нём.
Аноним 13/04/23 Чтв 14:25:54 2671114 119
>>2670826

Шо за локальные мемы?
Аноним 13/04/23 Чтв 14:54:25 2671137 120
>>2671114
Это нытик вкатун, забей
Аноним 13/04/23 Чтв 14:59:33 2671143 121
>>2671114
Это не мемы, а ограничение инфы по голангу
Аноним 13/04/23 Чтв 16:48:21 2671258 122
>>2671114
Это местный шизоид, которому требуется книга по любой хуйне, можешь забить, там уровень айсикью не превышает полсотни
Аноним 13/04/23 Чтв 17:48:33 2671314 123
кого из интересных людей можно посмотреть?
Вот у жсеров есть очень толковый Илья Климов, стримы которого всегда интересно смотреть, есть ли кто-то подобный у гошников?
Аноним 13/04/23 Чтв 18:16:34 2671362 124
>>2671314
Как можно смотреть лекции по программированию? Как вы это делаете, зумеры? Говорящая голова гнусаво полчаса проговаривает то, что можно прочесть за пять минут, а по диагонали - 9а полторы
Аноним 13/04/23 Чтв 19:08:51 2671424 125
image.png 26Кб, 310x602
310x602
Объясните, пожалуйста, в чём сакральная прелесть помещения методов в интерфейсы? На пике для достижения результата 1 и 2 надо дополнительный код писать, а можно просто вызвать напрямую в примере 3 и 4. Так зачем в документации рекомендуют делать сложнее? В чём профит?
Аноним 13/04/23 Чтв 19:13:10 2671429 126
>>2671258
Можно подумать, что кто-то что-то не из книг смог предложить. Я привёл пример книги Адама Фримана, где разрабатывается полноценное приложение, а в ответ только насмешки. У вас нет альтернативы или просто не хотите делится из-за жадности. А жадность и глупость всегда идут рядом и явно не признак высокого айсикью.
Аноним 13/04/23 Чтв 19:31:12 2671450 127
>>2670652
Попробовал много всякой хуйни, по итогу сошлись на мнении, что мультипарт нормально не парсится на части в потоке, а прокидывать полностью не получается, потому что мимы файла теряются при такой передаче(хотя сам файл в потоке сохраняется и оперативу не жрёт, только после выгрузки, ты нихуя с ним уже не сделаешь, потому что из архива получилась тыква). Сначала нужно на принимающем серве закинуть мимы, потом файл. Если есть предложения, как это правильно прокидывать, то было бы неплохо описать процесс, потому что все примеры из этого вашего интернета говна кусок, которые сначала прогружают весь файл с мимами в оперативу, потом льют на другой серв/сохраняют у себя на постоянке
Аноним 13/04/23 Чтв 19:51:41 2671473 128
>>2671424
ну на практике в 99% случаев чтобы замокать зависимости и написать юнит тесты, покрыв хуево тестируемые кейсы (сетевые походы или неожиданные ошибки от БД например).
в 1% случаев чтобы иметь код, который может работать с разными имплементациями одного интерфейса, потому что бизнес-логика так легче реализуется. (да-да, в сишке как-то без этого костылилось, но все-таки)
Аноним 13/04/23 Чтв 19:53:39 2671476 129
>>2671424
Конкретно на данном примере это передать сложно. Но представь себе ситуацию, когда у нас ручка идет в базу и еще в несколько мест. Ты как хороший программист будешь писать тесты для этой ручки, соответственно в твоем тесте при этом раскладе тебе придется идти в базу, что не очень хорошо. Куда лучше будет, если твой handler/router не будет зависит от конкретной реализации репозитория а будет просто ссылаться на интерфейс, который должен реализовывать какие-то там методы. В данном случае репозиторий можно очень просто мокнуть и протестировать ручку. Кроме всего прочего когда твоему хендлеру просто нужна хуевина которая условно умеет только Get/Set. То ей по факту вообще похуй на реализацию, это может быть что угодно. База, диск, облако, сесть.
Аноним 13/04/23 Чтв 19:56:27 2671483 130
Screenshot2023-[...].png 6Кб, 593x384
593x384
Сап. Праздный вопрос. Пишу простенький пет проект, проблема следующая: сил нет очень хочется сделать вот такую абстракцию над мютексами в виде функции, которая принимала бы сам мютекс и какой-то generic-callback, в котором доступы к общей памяти переданный мютекс бы защищал. Моя голова родила что-то вроде пикрелейтед, но оно не очень хочет компилироваться.

Хочу услышать совет, можно ли подобный механизм реализовать вообще и если да, то как это можно эстетичнее сделать.
Аноним 13/04/23 Чтв 19:58:58 2671486 131
>>2671483
ну ты же в качестве колбека передаешь функцию с другой сигнатурой. ...any это не TestRequest.

принимай тупо func() и не еби мозги. в месте вызова пользователь сам решит что оттуда вызвать.

func safe(lock *sync.Mutex, f func())
Аноним 13/04/23 Чтв 20:04:49 2671489 132
>>2671473
>>2671476
Такое мне ещё не понятно. Это инфа с планеты сеньоров-помидоров. Ладно, разгуглю, как бы это упростить для усвоения.
Аноним 13/04/23 Чтв 20:14:11 2671498 133
image.png 106Кб, 806x521
806x521
Аноним 13/04/23 Чтв 20:21:21 2671503 134
>>2671498
Спасибо, отличный перевод. Сразу стало понятно.
Аноним 13/04/23 Чтв 20:48:23 2671530 135
>>2671486
>f func()
Это такой any для функций? Прикольно.
Аноним 13/04/23 Чтв 20:51:24 2671533 136
>>2671486
Плагин для VS Code дико тупит на всех этих передачах функций.
Аноним 13/04/23 Чтв 20:57:40 2671544 137
Screenshot2023-[...].png 6Кб, 690x300
690x300
>>2671486
А, значит я не совсем уловил семантику работы сигнатур вместе с any. Просто суть в том, что я хотел бы пробрасывать функции вообще с любой сигнатурой в Locker. Как если бы мой общий тип при каждой конкретной подстановке редуцировался до конкретного типа принимаемой функции. Почитал про дженерики немного и смог родить вот это

type General[Get any, Return any] func(Get) Return

Но теперь проблема в фиксированной арности моего коллбека, ровно один аргумент принять и ровно одно значение отдать. f func() так же выдаёт ошибку типов. Просто хотелось бы сделать что-то вроде как пикрилейтед в плюсах: есть общая сигнатура функции с переменными типов, при подстановке конкретной функции конкретный типы соответственно выводятся. Но судя по всему так сделать не получится, либо выйдет уродство совсем.
Аноним 13/04/23 Чтв 21:08:39 2671552 138
>>2671544
> семантику работы сигнатур вместе с any
В го нет ко- и контрвариантности. Это простой язые. Поэтому []byte и any[] - это разные вещи, func() byte и func() any - тоже разные вещи. Иногда их можно скастовать руками.
Аноним 13/04/23 Чтв 21:14:21 2671556 139
Киньтесь в меня хорошей ссылкой про юнит-тесты, желательно в применении к го.
Аноним 13/04/23 Чтв 21:17:59 2671559 140
>>2671556
Юнит-тесты - антипаттерн.
Аноним 13/04/23 Чтв 21:20:19 2671560 141
>>2671559
Дада, безусловно, и тем не менее.
Аноним 13/04/23 Чтв 21:33:04 2671568 142
>>2671544
В общем решил всё таки просто func() T передавать, замыкать на аргументах и каждый раз явно возвращаемый тип указывать, вышло что-то вроде такого:

func Locker[Return any](mu *sync.Mutex, func() Return) Return {...}

Вроде даже выглядит не очень плохо, благодарю всех за пояснения.
Аноним 13/04/23 Чтв 22:20:28 2671614 143
Оказывается параметр типа можно превратить в any, а затем натравить на него тайп свитч. Ебануться.
Аноним 13/04/23 Чтв 22:21:21 2671615 144
>>2671614
Все это уже мало актуально. Дядя Пайк дал вам дженерики.
Аноним 13/04/23 Чтв 22:23:38 2671617 145
>>2671615
Ну вперёд, сделай жир ьещ any. Это простой язык, и any в нём будет ак туален всегда!

// капча вражда
Аноним 13/04/23 Чтв 22:25:04 2671621 146
>>2671617
Нехороший ты человек конечно. Из-за таких как ты потом нихуя не очевидно с чем функция работает. Сложно тебе по жизни будет
Аноним 13/04/23 Чтв 22:44:37 2671647 147
>>2671621
Функция работает с чем надо. Просто нельзя напрямую сделать тайп свитч от T. А от any можно. Простой же язык. Просто сделай переменную, которая тете будет нужна только для проверки типа, сделай из нее any - и проверяй на здоровье!
А ещё мне очень понравились теги структур. Такие себе атрибуты в простом языке, для простых. Работать с которыми можно только в рантайме, а создать только при компиляции. Шикарный дизайн.
Аноним 14/04/23 Птн 00:05:10 2671687 148
>>2671568
А зачем тебе собственно возвращать какие то там аргументы, почему так сложно сделать функцию которая не имеет в себе аргументов и ничего не возвращает? Это будет удобнее и понятнее лол
Аноним 14/04/23 Птн 00:14:51 2671691 149
>>2671687
> А зачем тебе собственно возвращать какие то там аргументы
Потому что я хочу сделать обёртку над уже имеющимися функциями, которые возвращают определённые значения. Более конкретно, я для себя пишу бек сервера, которые жсонки принимает и возвращает. Вот у меня есть такая функция для обработки конкретного запроса:

func SomeModel(req SomeRequest) SomeResponse { return SomeResponse{} }

Она использует переменные, которые шарятся между другими подобными функциями, потому при вызове я хочу их лочить. Собственно SomeModel превратится лёгкой рукой в

func SafeSomeModel(req SomeRequest) SomeResponse {
return Locker(&mu, func() SomeResponse { return SomeResponse{} })
}

Не очень понимаю, как здесь без возвращаемого значения. На ум приходит только так же переменную завести и потом на неё замыкать, а после выхода возвращать, но это получается не
> удобнее и понятнее
имхо.
Аноним 14/04/23 Птн 00:17:37 2671692 150
543DB929-7DB9-4[...].png 16Кб, 270x120
270x120
>>2671691
Мутишь какую то ненужную дичь, которая только добавит лишних строк и лишний уровень абстракции
Аноним 14/04/23 Птн 00:23:04 2671693 151
>>2671692
Ну лично мне полезно было, пока пытался это запилить лучше прояснил для себя систему типов местную. Про ненужные абстракции согласен, но это игрушечный проект, а значит полная свобода для экспериментов.
Аноним 14/04/23 Птн 00:23:21 2671694 152
>>2671691
Так а зачем тебе этот весь оверхед в итоге то?
Аноним 14/04/23 Птн 00:24:37 2671696 153
>>2671694
Эстетично выглядит.
Аноним 14/04/23 Птн 00:26:45 2671698 154
>>2671696
Ни капли, классический mutex.lock() с анлоком выглядит куда чище лишних абстракций и усложнений кода, как и будет отсутствовать оверхед, но лучше всего использовать атомики и синк.мапы, если у тебя дело с переменными и их не слишком много
Аноним 14/04/23 Птн 09:15:05 2671806 155
Go by example в миллион раз лучше Го тура. Ебал в рот этот тур.
Аноним 14/04/23 Птн 10:04:07 2671833 156
>>2671424
А в чем смысл создания переменной с интерфейсом и присвоения ей объекта Nums?
мимо неофит
Аноним 14/04/23 Птн 10:12:08 2671839 157
>>2671806
Только ни тот, ни другой не рассказывают как писать реальные веб-приложения.
Аноним 14/04/23 Птн 10:33:47 2671847 158
>>2671839
Похуй, я же не макака как ты чтобы не разобраться
Аноним 14/04/23 Птн 10:50:47 2671852 159
>>2671839
Попробуй сначала на ноде писать, на express. На ютубе миллион видосов обучающих как вебдрисню писать. Потом на голенге возьми ozzo-routing (очень похоже на express) и перепиши с ноды на гошку.
Аноним 14/04/23 Птн 13:05:57 2671965 160
>>2671691
>Не очень понимаю, как здесь без возвращаемого значения. На ум приходит только так же переменную завести и потом на неё замыкать, а после выхода возвращать, но это получается не
это классический паттерн. Once.Do тебе не возвращает ничего, errgroup.Go возвращает только ошибку, которая используется в самой логике errgroup и так далее. уже вангую варианты "для удобства" с двумя значениями, а еще значением и ошибкой
Аноним 14/04/23 Птн 15:11:52 2672080 161
>>2671314
Если хочешь интересных людей, то смотри в сторону хаскелля, кложи, эрланга, ну раста на худой конец. Там сильные комьюнити.
Аноним 14/04/23 Птн 15:14:36 2672086 162
Аноним 14/04/23 Птн 16:08:57 2672138 163
Аноним 14/04/23 Птн 16:48:14 2672207 164
Нужно ли знать РНР, чтобы устроится голанг-программистом?
Аноним 14/04/23 Птн 16:50:26 2672209 165
>>2672207
От вакансии зависит. Но обычно если и требуется то попадает под раздел "желательно"
Аноним 14/04/23 Птн 17:11:14 2672235 166
>>2672209
Дак желательно голанг, а РНР обязательно
Аноним 14/04/23 Птн 17:30:25 2672265 167
>>2672235
Чаще всего да, но обратное тоже попадаетя
Аноним 14/04/23 Птн 19:35:35 2672386 168
Ну и говённая документация у голанга. На официальном уровне пишут, что за подробностями пиздовать в васянские блоги 10-х годов выпуска.
Аноним 14/04/23 Птн 19:54:14 2672390 169
>>2672386
А про написание реальных веб-приложений вообще ничего не найдёшь
Аноним 14/04/23 Птн 19:56:45 2672392 170
>>2672386
Какой язык - такая и документация.
Аноним 14/04/23 Птн 21:00:56 2672447 171
Аноним 14/04/23 Птн 21:21:16 2672457 172
Аноним 14/04/23 Птн 21:23:56 2672459 173
>>2672457
Какая фича-то? Blog index?
Аноним 14/04/23 Птн 21:24:21 2672460 174
Зашёл в документацию gin, а там вместо документации какие-то рофельные странички из разряда: смотрите, наш фреймворк используют солидные челики. А где описание вашего фреймворка? Туторы?
Аноним 14/04/23 Птн 21:29:42 2672467 175
>>2672460
Gin это вообще рофель. "Посоны, смарите Hello World! Поняна? Ну дальше сами разберётесь. Вот сорцы".
Аноним 14/04/23 Птн 21:32:47 2672470 176
>>2672467
>"Посоны, смарите Hello World! Поняна? Ну дальше сами разберётесь. Вот сорцы".
Ты только что гугель вей.
Аноним 14/04/23 Птн 21:33:12 2672471 177
>>2672459
там лобают всякие секретные приколдесы на гошечке без нудных рассуждений
Аноним 14/04/23 Птн 21:34:02 2672472 178
Аноним 14/04/23 Птн 21:34:13 2672473 179
Заебали ныть. Хочется документацию как в жабе или шарпе - пишите на жабе или шарпе.
Аноним 14/04/23 Птн 21:35:40 2672474 180
Чет рил многовато нытиков стало. Какого хуя вкатунье и low level говно с других языков прется сюда? GO для сильных спецов на нем нет вкатунства. Пиздуйте в пхп и не возвращайтесь оттуда
Аноним 14/04/23 Птн 21:38:29 2672477 181
>>2672474
В мвп-треде сказали, что в го самый высокий рейтинг вката
Аноним 14/04/23 Птн 21:38:29 2672478 182
>>2672472
ну тип всякие неочевидные трики вообще со всем. читай там кульней любых доков
Аноним 14/04/23 Птн 21:39:34 2672481 183
image.png 21Кб, 270x120
270x120
>>2672477
напиздели

дай деняк
Аноним 14/04/23 Птн 21:41:45 2672487 184
>>2672477
Сук, тебя затралили челик. Неиронично тебе советую, иди в пхп тред и если балду не будешь гонять, года через 3 возвращайся
Аноним 14/04/23 Птн 21:48:30 2672505 185
>>2672487
А можно в сишарп-тред?
Аноним 14/04/23 Птн 21:51:56 2672513 186
>>2672505
У тебя талант выбирать неудачные решения. С сисярпом туговато в Рашке будет после ухода микрософта. Может и не будет но есть риск обосраться по итогу пытаясь вкатиться туда
Аноним 14/04/23 Птн 21:53:27 2672517 187
>>2672505
Первым языком лучше питон или пыху или жаву брать. Байтоёбство в го/с/крестах/шарпах без дроча матанов в вузе == лютое падение мотивации от постоянных проблем с пониманием.
Аноним 14/04/23 Птн 21:53:48 2672518 188
>>2672513
А как в Рашке будет с Go после ухода гугла, м?
Аноним 14/04/23 Птн 22:13:42 2672541 189
>>2672513
> после ухода микрософта
А какое отноешние мелкософт в России имеет к рынку шарпа?
Аноним 14/04/23 Птн 22:13:57 2672542 190
>>2672518
Go простой инструмент и не так зависим от экосистемы как огромный неповортливый сисярп энтерпрайз
Аноним 14/04/23 Птн 22:14:18 2672543 191
>>2672541
тебя это ебать не должно
Аноним 14/04/23 Птн 22:15:31 2672544 192
Аноним 14/04/23 Птн 22:18:25 2672548 193
>>2672478
Сходил прочитал про дженерики. Ничего нового или хотя бы интересного - здесь можно, а здесь нельзя потому что убогий недоязычок не разрешает вам делать это
Аноним 14/04/23 Птн 22:32:22 2672567 194
>>2672544
Только не ной потом что никуда не берут
Аноним 15/04/23 Суб 01:10:41 2672663 195
>>2672567
На шарпе крайне много вакансий в рф, на гошке считай их вообще нету, сравнивая с шарпом.
Но на шарп если джуном идти, то там фуллстек в основном
Аноним 15/04/23 Суб 06:56:09 2672696 196
>>2672663
>На шарпе крайне много вакансий в рф
Повеселил. Там как с питоном если левый шлак отсеить который к твоей области деятельности отношения не имеет то остается не так уж и много

>на гошке считай их вообще нету
Так гоха и не для тупых вкатунов, сто раз уже поясняли.
Аноним 15/04/23 Суб 08:06:11 2672711 197
>>2672696
Заебал пиздеж про шарпы на дваче, особенно от вчерашних пхпшников
Вот вакансии на шарп веб в москве с фильтром по названию:
461 вакансия «(C# or net) NOT unity NOT desktop NOT QA NOT xamarin NOT gamedev NOT wpf NOT winforms»
Покажи сколько на го? Там половина выдачи будет яндекс.го и танцовщицы
Аноним 15/04/23 Суб 08:43:45 2672722 198
>>2672711
Ты еблан тупорылый, даже чатгпт и то лучше контекст понимает чем ты. Мы не в вакууме сравниваем шарп и го а конкретно для дауна вкатуси выше. И в контексте этого что шарп что го неудачные выборы.
Аноним 15/04/23 Суб 14:09:25 2672907 199
image.png 104Кб, 949x285
949x285
>>2672541
>А какое отноешние мелкософт в России имеет к рынку шарпа?
Для шарпа есть две IDE и обе компании ушли. inb4: VS Code не IDE, там нехватает всяких ассистентов для ентерпрайз фигни
Аноним 15/04/23 Суб 14:30:52 2672919 200
>>2672907
Пользуюсь Иде от второй компании, не знаю, куда и откуда они ушли, меня это не касается. ЧЯДНТ? А кабанчик могут и прдскочить с Корп. лицензиями.
Аноним 15/04/23 Суб 14:32:38 2672921 201
>>2672907
Кстати, чем vs камунити принципиально хуже проф?
Аноним 15/04/23 Суб 14:44:27 2672932 202
>>2672919
>ЧЯДНТ?
Пиратишь.

>Кстати, чем vs камунити принципиально хуже проф?
ASP.NET и прочий энтерпрайз не поддерживается.
Аноним 15/04/23 Суб 16:26:19 2672981 203
>>2672932
>Пиратишь
Да похуй. Я использую - возможность использования есть, и похуй кто там ушел кто нет. Может ещё и Винду не использовать? Я с виндо был когла мелкософта здесь ещё не было, я с ней и сейчас, когда мелкософта уже нет. И половина страны таких, ну кроме червей-зумеррв, конечно.
Аноним 15/04/23 Суб 18:41:08 2673062 204
Товарищи, совершенно ослеп от мастурбации. Ткните меня носом, где в документации описаны правила написания этой самой документации к коду?
Аноним 15/04/23 Суб 18:58:51 2673075 205
Мне кажется вы меня обманываете, что в голанг не берут вкатунов, а сами хотите занять моё место.
Аноним 15/04/23 Суб 19:05:04 2673082 206
>>2673075
Чел, учи любой язык, хоть голанг. Перекатиться на другой потом будет очень легко. Работы для вкатунов действительно нет, ибо требуют хотя бы 2-3 года опыта в разработке на любом направлении.
Аноним 15/04/23 Суб 19:18:04 2673102 207
>>2673082
Я собираюсь устраиваться уже этой осенью, а ни когда-то потом. Вообще, хотел уже в мае, но понимаю, что уже не успею.
Аноним 15/04/23 Суб 19:26:30 2673117 208
>>2673075
Вкатуны нужны, только чтобы заплатить шекели барыгам со всяких манякурсов по пограмированию, больше они нахуй никому ненужны (тут гуглометы сокращают синьоров тысячами, а эти в го в рф без опыта собрались вкатываться, лол)

учите лучше станки чпу, скоро будет спрос
Аноним 15/04/23 Суб 19:27:53 2673122 209
>>2673102
Тогда ищи по знакомствам. Вкатунов надо менторить жестко. Это на пыхе тебе добрый дяденька мидол будет полгода сопельки подтирать, а в гошке кровавый тырпрайс, там не до разжёвывания очевидных вещей.
Аноним 15/04/23 Суб 20:29:06 2673220 210
>>2673075
А ты думаешь почему во всех рейтингах зарплат голанг в топе? Как раз из-за малого количества джунов с низкими зп.

>>2673102
Тяжело тебе будет вкатиться. Судя по твоим постам у тебя туго с восприятием инфы. Я сомневаюсь что даже в пхп сможешь вкатиться

>>2673122
Еще варик хорошего ментора за деньги найти. Некоторые даже реальные задания дадут со своей работы. Но сомневаюсь что у тутошных нищих вкатусь есть деньги
Аноним 15/04/23 Суб 21:13:34 2673254 211
>>2673117
> станки чпу
Вот их как раз нейросети будут программировть.

апломб
Аноним 16/04/23 Вск 09:51:38 2673505 212
>>2672696
>Так гоха и не для тупых вкатунов, сто раз уже поясняли.
Вообще-то для тупых, го создавался для дещевых индусов лол, которые способны чуть ли не копипастом ебашить микросевисы, над ними стоит погонщик поумнее, который будет их бить палкой по рукам, если что не так.
Аноним 16/04/23 Вск 11:48:13 2673577 213
>>2673505
Задачи которые решаются на го не для новичков. Только дауны судят сложность работы по инструменту лол. Я за последний год кодил на расте, го и ноде. И задачи на ноде той же бывали сложнее чем на расте. А когда на с++ том же работал то кучу тупых вкатунов набирали несмотря на сложность самой сишки
Аноним 16/04/23 Вск 11:57:38 2673582 214
>>2673577
Да да, сложнейшие задачи по типовым паттернам для микросервисов.
Ухх блять, сложнааа
Аноним 16/04/23 Вск 12:02:28 2673585 215
>>2673582
> Тупой вкатун занимается самоутешением
Аноним 16/04/23 Вск 12:05:09 2673586 216
>>2673585
Причина тряски? Я на твое место говнаря не претендую, успокойся.
По факту тебе сказать нехуй.
Аноним 16/04/23 Вск 12:07:15 2673587 217
>>2673586
Да да, чем меньше тупых вкатунов тем лучше. И слава богу что гоха на уровне вакансий уже их отсеивает. Так что вкатывайтесь, не стесняйтесь. Крылышки все равно обломают лол
Аноним 16/04/23 Вск 12:38:54 2673598 218
>>2672981
>Да похуй.
Антону с двачей может и похуй, а для крупной компании такое не катит.
Аноним 16/04/23 Вск 13:04:42 2673617 219
>>2673598
А эти самые крупные компании.. Они сейчас с нами? В этом треде?
Аноним 16/04/23 Вск 14:10:20 2673705 220
image.png 248Кб, 610x385
610x385
Аноним 16/04/23 Вск 14:23:12 2673723 221
>>2673617
Хантеры из крупных компаний сидят в мвп-треде
Аноним 16/04/23 Вск 18:48:30 2673982 222
Двач, а как работает репликейшон в Го?
https://setapp.com/how-to/use-go-with-mysql

Ну то есть как сделать так шоб читать со слейвов писать в мастеры? В мануале только

sql.Open("mysql", "root:<yourMySQLdatabasepassword>@tcp(127.0.0.1:3306)/test")
Аноним 16/04/23 Вск 19:00:05 2673994 223
>>2673723
Там только эйчарки, которым похуй на домашнее пиратство. На него всем похуй, всё равно почти весь доход с продажи лицензий идёт от организаций.
Аноним 16/04/23 Вск 19:01:38 2673995 224
>>2673982
upd: я правильно понимаю что нужно сделать connect к слейвам вручную, а потом при операции "чтение" выдавать рандомный из коллекции конекшонов?
Аноним 16/04/23 Вск 19:03:51 2673998 225
>>2673994
Я так и не смог ломануть голэнд
Аноним 17/04/23 Пнд 00:54:06 2674258 226
>>2673995
>upd: я правильно понимаю что нужно сделать connect к слейвам вручную, а потом при операции "чтение" выдавать рандомный из коллекции конекшонов?
В целом - да. Два пула, один RW, второй RO. Вопрос как внутри балансировать, как простейший вариант round-robin сойдёт.
Аноним 17/04/23 Пнд 18:37:41 2674798 227
Подкиньте идей для пет-проекта
чтобы было не уровня хеллоу ворлд но и не уровня написать постгресс с нуля
чтобы обязательно внутри были алгосики
Аноним 17/04/23 Пнд 19:30:29 2674826 228
>>2674798
> чтобы обязательно внутри были алгосики
Клон литкода.
Аноним 17/04/23 Пнд 20:00:45 2674855 229
>>2674798
Я планировал написать бэк-сервис и фронт на шаблонизаторах, они общаются между собой через REST API и gRPC. Но потом мне сказали, что в голанг вкатунов не берут и я расстроился. Теперь думаю куда идти: в РНР или сишарп. Оба языка мне не нравятся. Первый переделали под джаву с корявыми инструментами. Второй загажен синтаксическим сахаром.
Аноним 17/04/23 Пнд 20:12:59 2674866 230
>>2674826
круто но боюсь что будет много фронтенда
а мне с ним совсем не хочется ебаться
Аноним 17/04/23 Пнд 20:29:50 2674884 231
>>2674855
На шарпе тоже не особо в цене вкатуны. Но в целом так про все можно сказать. Так что единственный реальный вариант пхп и есть. Ну и 1с еще
Аноним 17/04/23 Пнд 20:32:45 2674887 232
>>2674884
В РНР треде тоже сказали, что не нужны
Аноним 17/04/23 Пнд 20:34:39 2674890 233
>>2674887
PHP это последний рубеж. Если и на нем не нужны то остается только... 1с.
Аноним 17/04/23 Пнд 20:46:41 2674904 234
>>2674890
А после 1С возьмут на голанг?
Аноним 17/04/23 Пнд 20:50:45 2674908 235
>>2674904
Нет. 1С - это дорога в один конец.
Аноним 17/04/23 Пнд 21:03:58 2674918 236
>>2674904
Если и возьмут то на общих основаниях. То есть никакого преиущества перед остальными вкатунами не будет. С пхп еще можно что-то как-то конвертировать.
Аноним 17/04/23 Пнд 22:34:40 2674976 237
>>2674904
Та сам не сможешь. 1С отформатирует твои мозги раз и навседа. На низком уровне.
Аноним 17/04/23 Пнд 22:45:20 2674984 238
>>2674866

Сделай без фронтенда. Пользователь загружает файл с кодом, выбирает компилятор, берет данные из файла инпут достает из файла аутпут. Ну или из сосноли, как ему больше нравится.

А задачи храни в виде наборов интутов и аутпутов
Аноним 18/04/23 Втр 00:58:50 2675040 239
>>2674866
да там три <input> на страничке - два текста и кнопка. ну и один текст нужно будет научиться заполнять ответом от сервера. вот реально задача для стажера, чтобы он познакомился с фронтом минимально.
Аноним 18/04/23 Втр 02:23:31 2675055 240
>>2674866
Мало что можно написать онли бекенд, можешь написать низкоуровневую хуйню, что бы просвапать регистры и заводить указатели на C функцию прямо из гошки (сейчас оно требует мост пастить, что дико неудобно)
Аноним 18/04/23 Втр 13:20:14 2675319 241
Голангуны, в тысячный про вкат спрошу. С техническим бэкграундом в виде ковыряния железок на C, написания сетевых приложух на C++/Qt, создания небольших API-шек с БД (без всяких брокеров, редисов) на Python таки смешно вкатываться в Go и попустят, или опыт немного релевантен?
Аноним 18/04/23 Втр 13:46:54 2675342 242
>>2675319
Опыт релевантен только коммерческий и только в компании, все остальное - никому не нужный мусор, тебя просто будет отсекать еще хрюши, а не техи
Аноним 18/04/23 Втр 22:48:02 2675787 243
image.png 22Кб, 412x480
412x480
Что произойдет при вызове y := append(x, 3)? Почему получается в результате [0, 1, 2, 4]?
Аноним 19/04/23 Срд 00:33:46 2675847 244
>>2675787
он добавит 3, но после второго апенда
Копировать элементы слайса в другой слайс в Go просто, но это нужно делать с помощью встроенного copyили же appendфункции. Если вы просто присвоите существующий срез новой переменной, срез не будет дублироваться.

Обе переменные будут ссылаться на один и тот же слайс, поэтому любые изменения значения слайса будут отражены во всех его ссылках. Это также верно при передаче слайса в функцию, поскольку в Go слайсы передаются по ссылке.
https://()freshman.tech/snippets/go/copy-slices/
Аноним 19/04/23 Срд 00:34:25 2675848 245
>>2675787
он добавит 3, но после второго апенда
Копировать элементы слайса в другой слайс в Go просто, но это нужно делать с помощью встроенного copyили же appendфункции. Если вы просто присвоите существующий срез новой переменной, срез не будет дублироваться.

Обе переменные будут ссылаться на один и тот же слайс, поэтому любые изменения значения слайса будут отражены во всех его ссылках. Это также верно при передаче слайса в функцию, поскольку в Go слайсы передаются по ссылке.
https://()freshman.tech/snippets/go/copy-slices/
Аноним 19/04/23 Срд 00:45:28 2675854 246
>>2675847
>он добавит 3
Куда? Ниже вывод этого кода. [0, 1, 2, 4]
Аноним 19/04/23 Срд 01:08:33 2675863 247
>>2675854
fmt.print подними выше второго апенда
Аноним 19/04/23 Срд 13:07:56 2676148 248
image.png 61Кб, 664x811
664x811
Аноним 19/04/23 Срд 13:27:04 2676160 249
>>2676148
Аппенд идет у тебя на len()+1, а длина твоего Х = 0, додумаешь дальше сам? Аппенд не изменяет метаданные массива, но возвращает их
Аноним 19/04/23 Срд 14:18:45 2676213 250
>>2676160
да это не вопрос был. я конечно пример не рассосал
Аноним 19/04/23 Срд 20:03:35 2676463 251
Братишки, как устанавливать пакеты в голанге, чтобы они были доступны для импорта хоть у чёрта на рогах? Например, я могу слелать import "fmt" в любом .go файле, а import "github.com/atotto/clipboard" уже требует какого-то нездорового пердольства go.mod. Как уравнять васянские пакеты с системными?
Аноним 19/04/23 Срд 20:11:43 2676473 252
>>2676463
Ты ведь понимаешь, что это сделано специально?
Аноним 19/04/23 Срд 20:15:39 2676475 253
>>2676473
Это не понимаю. Я понимаю, что пакет нужен в куче файлов, а мне не охота делать "проекты"тм на скрипты уровня хелло ворлд.
Аноним 19/04/23 Срд 20:40:03 2676506 254
бля пхп макак на связи, решил пополнить стек еще и Go, сам бывший вкатун, уже месяцев 7 опыта.
Скчал значит курс по GO, в ожидании что меня научат как можно интегрирывать Go с пыхой как json чики получать и отправлять и тд.
по началу все было легко синтаксис и тп и тут началась лютая дрочь с математикой. Определите периметр/площадь/ решите ебаное уровнение, определить кол-во корней и тп.
Неужели в GO нельзя быть крудошлепом и просто в распаралеливать запросики в БД.

Кстати когда начал вкатываться, мне посоветовали начать с питона. Начал тогда смотреть курс по питону на ютубе и когда началась подобная хуйня с математикой я дропнул т.к. не понял нахуя все это вообще нужно и занялся версткой.
Аноним 19/04/23 Срд 20:43:14 2676509 255
>>2676503
Его и использую, но есть узкие пёзды места с лютым матаном, где голанг в разы быстрее гоняет байты.
Аноним 19/04/23 Срд 20:55:42 2676521 256
>>2676506
Go - это типа C. Прежде чем крудошлёпить, придётся фреймворк переизобрести.
Аноним 19/04/23 Срд 21:01:01 2676527 257
>>2676521
Да я к этому готов, сейчас посмотрел вообще че за курс скачал, он вообще для студентов каких то.
Чел рассказывает про условные конструкции, типы данных а задачки задает связанные с матаном.
Я такое не вывезу. Буду искать что то чисто с web разаботкой на GO связанное.
Аноним 19/04/23 Срд 21:05:49 2676535 258
>>2676506
Можно, конечно, просто ты взял какой-то курс от шизов, которые дрочат на базу и классический подход к обучению. Это почти то же, что в вузиках, когда не можешь сдать лабу по программированию, потому что не осилил какую-то залупу из математической физики, хотя само программирование знаешь лучше препода.
Аноним 19/04/23 Срд 21:10:49 2676542 259
>>2676535
спасибо анончик, я думал меня тут попустят если честно.
Теперь я точно уверен что просто не туда полез, жаль что 2 дня потерял на это.
Аноним 19/04/23 Срд 21:25:48 2676557 260
>>2676542
Это давняя проблема со многими курсами, тянется ещё из 80-х, когда это ещё имело смысл. Сейчас можно смело скипать подобное. Тысячи новичков вообще забросили программирование, потому что вместо самого программирования их пичкают ёбнутыми математическими задачками.
Аноним 20/04/23 Чтв 00:03:21 2676694 261
Аноним 20/04/23 Чтв 06:39:21 2676744 262
>>2676463
>а import "github.com/atotto/clipboard" уже требует какого-то нездорового пердольства go.mod
т.е. тупо сделать go mod tidy?
Аноним 22/04/23 Суб 01:34:42 2678363 263
Какой же простой язык, яебу. Из функции можно вернуть два значения. И можно их передать в функцию с двумя значениями. А в функцию с тремя - нельзя!
Аноним 22/04/23 Суб 05:16:50 2678381 264
image.png 710Кб, 682x996
682x996
Возглавляется неким "Робом Пайком", который не знает:
о существовании модели акторов с разделяемой памятью
о динамической линковке
об обобщенном программироние и о о функциях map, filter, reduce
и вообще судю по убожеству первого пейпера (и это-то после 30 лет опыта в белл лабс!) выдал какой-то полуси с корутинами и в дизайне яп не особо рубит
если бы не Дмитрий Вьюков, поднявший в свое время ГЦ голанга из той параши, где он находился, язык так и остался бы никому не нужным
Хуеватая система импорта, зашивающая в имя пакета путь в рептозитории, а если надо обратиться к защищенной репе, то скреды прописать ЯВНО В СТРОКЕ ИМПОРТА
ВНЕЗАПНО nil, переданный как значение в тип unterface{} перестает равнятся своему же значения
Язык объективно хуевый, чего стоит одна система типов, требующая постоянных подсказок в виде явного объявления типа над функцией. Вывод типов? Ленивые вычисления? Автор так и остался в Bell Labs середины 70-х.
Нет постоянного стандарта на язык, а только какие-то "отчеты".
И многое другое!
Аноним 22/04/23 Суб 05:37:59 2678382 265
>>2678381
> Аряяя тут нет ненужной хуйня которая никому не всралась значит хуйня
Макака с эффектом даннинга Крюгера не палится
Аноним 22/04/23 Суб 07:04:55 2678386 266
>>2678363
А что ты ожидал? Что у тебя в функции внезапно 3й аргумент родится магией?
Аноним 22/04/23 Суб 09:45:35 2678408 267
>>2678386
Я ожидал, что два это два, и я могу просто добавить третий.
Аноним 22/04/23 Суб 09:55:55 2678416 268
>>2678408
Алсо нашел совершенно шикарную дискуссию на гитхабе. Типа, а давайте так сделаем? А ему в ответ - ничего мы делать не будем, потому что или нахуй. Как всё-таки ЭТО могло стать популярным?
Аноним 22/04/23 Суб 11:32:45 2678448 269
>>2678416
>А ему в ответ - ничего мы делать не будем, потому что или нахуй
база
Аноним 22/04/23 Суб 16:13:25 2678694 270
image.png 69Кб, 732x264
732x264
>>2678416
>Типа, а давайте так сделаем? А ему в ответ - ничего мы делать не будем, потому что или нахуй.
Все правильно сказал. Это совершенно минорная фича чтобы тратить на нее время.
капча тоже намекает что тебе стоит пойти нахуй
Аноним 22/04/23 Суб 19:38:37 2678805 271
>>2678694
Да в этом языке любой QoL - минорная фича
Аноним 22/04/23 Суб 22:00:05 2678881 272
Аноним 24/04/23 Пнд 19:27:31 2680270 273
image.png 4Кб, 188x167
188x167
image.png 9Кб, 279x273
279x273
image.png 5Кб, 347x112
347x112
Сап голангач. Имеется директория с файлами main.go (пик 1) и suite.go (пик 2). ChatGPT с VSCodом утверждают, что всё заебись, будет работать. При запуске выдаёт ошибки, представленные на пик 3. Что сделано не правильно? Как вынести определения функций за пределы main.go, оставив только вызовы?
Аноним 24/04/23 Пнд 19:45:46 2680285 274
>>2680270
go mod init pack_name
go run pack_name
бля...
Аноним 25/04/23 Втр 01:06:56 2680487 275
>>2665535
Мягкие викинули линупс с maui, где он изначально и был, замарин.формс.
Это очень похоже на:
https://ru.wikipedia.org/wiki/Embrace,_Extend,_and_Extinguish

Мягкие также продвигают свою ось, новый дотнет уже не дружит с 7, хотя поддержка только недавно прекратилась. Хотя сейчас это прям тренд, но раньше языки так быстро по ОС не скакали. Если ты веб макака, то пох, но если есть клиенты, то гемор. Нахера двигать свою ось через разработку, денег мало чтоль.

ООП говнище само по себе, усложнение на равном месте. Писать легко, сопровождать гемор.

Анальная привязка к IDE, так как из-за ооп хер разберешься что тысячи пустых классов делает и что подключать. А так как классов тысячи, нахвание у них на четверть экрана.

Таскать всюду вирт машину, если не тоскать получи под две сотни мб хеллоу ворд у которого будут все равно еще какие-то файлы помима экзешника, в общем, хер поймешь в общем.

Но у го ппц какой кривой дизайн языка, я бы лучше раста накатил.
Аноним 25/04/23 Втр 07:31:05 2680525 276
>>2680270
go run main.go suite.go
или более классически go run .
Аноним 25/04/23 Втр 14:27:12 2680818 277
>>2680487
Семёрку далеихпом не поддерживает. И вообще проблемы бы не было, не будь детсятка говном, а 11 - отборным говном.
Аноним 25/04/23 Втр 17:51:59 2681078 278
show.png 10Кб, 270x120
270x120
>>2680818
>далеихпом
Что это?
Аноним 25/04/23 Втр 23:26:40 2681344 279
Аноним 26/04/23 Срд 03:37:21 2681464 280
>>2681344
Ппц тебя скрючело.
Так то срать какой продукт что не поддерживает, хром монополист, может говнить себе в штаны, но вот эта тенденция языков, такого раньше (лет 10-15 назад) не было, чтоб в момент сразу все к херам бросать. Забавно что го все еще поддерживает 7.
Аноним 26/04/23 Срд 08:14:02 2681511 281
Пацаны, я тут смотрел 10-летней давности проект на пыхе и меня вдруг осенило.
https://github.com/ornicar/lichess-old
Обратите внимание на файлы deps и deps.lock.
Очевидно, что это разрабатывалось до появления композера.
Ничего не напоминает?
А что, если гошке не хватае НОРМАЛЬНОГО менеджера пакетов/зависимостей? Или текущее состояние вещей вам норм?
Аноним 26/04/23 Срд 09:43:56 2681559 282
>>2681511
>что, если гошке не хватае НОРМАЛЬНОГО менеджера пакетов/зависимосте
Ну напиши, ёпт
Аноним 26/04/23 Срд 09:48:06 2681561 283
>>2681464
Шарп - это не только язык, но и платформа, виртуальная машина. Вот есть моноч к примеру - он идёт на семёрке?
Аноним 26/04/23 Срд 09:56:45 2681566 284
image.png 6Кб, 270x120
270x120
>>2681559
Так я почву и пробиваю, стоит ли этим заниматься или и так всё нормально.
Аноним 26/04/23 Срд 09:59:27 2681567 285
>>2681566
Ну вот тебе самому как?
Аноним 26/04/23 Срд 11:10:43 2681619 286
>>2681511
Чем тебя go.mod не устроил?
Аноним 27/04/23 Чтв 15:54:21 2682688 287
Подскажите, как правильно установить пакет github.com/google/gopacket
go get и go install в данном случае не работают.
Аноним 27/04/23 Чтв 17:10:31 2682789 288
Кто нибудь в Go перекатывал с php? Че-то у меня не получается, очень редко на собесы зовут. Имею только 2 года опыта в резюме.
Мб пририсовать еще годик полтора?
Аноним 27/04/23 Чтв 21:11:23 2683031 289
>>2682789
А ты уверен, что у тебя проблема в годах опыта, а не в том, как этот опыт описан? Если что «пук срень пыха ну так пук лара пастил» не подходит, тебе нужно во всех интимных деталях объяснять чем ты занимался, какие паттерны использовал, технологии (даже самые смешные и простые)
Аноним 27/04/23 Чтв 22:34:09 2683055 290
>>2682688
а зачем тебе устанавливать его?

если там бинарник, то делаешь go install github.com/google/gopacket@latest
если не бинарник, то тупо добавляешь его импортом в код и делаешь go mod tidy, он автоматом скачивается в кеш покетов
Аноним 28/04/23 Птн 12:48:44 2683386 291
>>2683031
>чем ты занимался, какие паттерны использовал, технологии (даже самые смешные и простые)
Пиздец ты жалкий кретин. Такую хуйню обычно говно из гнойный аутсорс-бодишопов пишет в своих сраных резюме
Аноним 28/04/23 Птн 15:00:22 2683515 292
Всем привет. Есть несколько сервисов, штук 10. Все они ходят друг в друга. Как можно их красиво инициализировать? Например сервис A ходит в сервис B, а сервис B ходит в сервис A. Код писал не я, но мне к сожалению нужно его фиксить. Как можно это реализовать кроме как через публичные поля структуры?
Аноним 28/04/23 Птн 16:01:17 2683586 293
>>2683515
инициализировать что? это сервисный слой в коде? ну самое простое это вместо походов друг в друга сделать чтобы они ходили в общую зависимость
Аноним 28/04/23 Птн 19:17:55 2683752 294
Сап голангач. Есть два стула.
Первый: забилдить фронтенд, бэк без апи, скомпилировать фронт + бэк в один бинарь.
Второй: забилдить фронтенд, скомпилировать бэк с апи, фронт с бэком общаются через апи.
На какой стул сейчас принято садиться в промышленной разработке?
Аноним 28/04/23 Птн 20:04:30 2683801 295
как же ебет строгая типизация, это писда.
а еще интерфейсы нихуя не понятны.

type geometry interface {
area() float64
perim() float64
}
type rect struct {
width, height float64
}

func measure(g geometry) { //тип geometry
fmt.Printf("%T: %+v\n", g, g)
fmt.Println("area:", g.area())
fmt.Println("perimiter:", g.perim())
}

r := rect{width: 3, height: 4}
c := circle{radius: 5}

measure(r) // тип rect
как же блядь это странно и не интуитивно понятно.
Аноним 28/04/23 Птн 21:20:42 2683894 296
>>2683752
На второй стул. Бэк ничего не знает о фронте, фронт деплоится отдельно на какой-нибудь Nginx.
Аноним 28/04/23 Птн 21:36:40 2683903 297
>>2683894
Т.е. оба крутятся на локалхосте, но бэк там и остаётся, а к фронту можно стучаться из интернетов через реверс проксю? Первый стул считается эталонным говнокодом или допустим в отдельных случаях?
Аноним 28/04/23 Птн 21:49:41 2683912 298
>>2683903
Хост не обязательно один и тот же, это смотря как построить инфраструктуру. Бэк в любом случае будет доступен из интернета в обход фронта, какими проксями ни обмазывайся, фронт же должен их как-то дёргать с машины пользователя.
Первый стул сам по себе не говнокод, просто инфраструктура будет менее гибкой, но это не всегда критично.
Аноним 28/04/23 Птн 21:50:02 2683913 299
Аноним 28/04/23 Птн 21:51:19 2683914 300
>>2683913
> может я чего-то не понимаю но как ты с ним общаться будешь??
Будет как в пхп вместо жсонов отдавать срендеренные на сервере хтмлы.
Аноним 28/04/23 Птн 21:56:14 2683917 301
>>2683914
ну в SSR ничего плохого самого по себе нет, но помимо этого там же все равно же апишка будет для всяких кнопок формочек тили-вили
Аноним 28/04/23 Птн 21:58:47 2683920 302
>>2683913
>>2683914
Нет. Готовый в прод фронтенд реакта запихивается в бинарь, а request-response в контекст запросов, минуя жсоны.
Аноним 28/04/23 Птн 22:08:15 2683930 303
>>2683920
То есть вместо жсонов будет x-www-url-form-encoded? Это тоже API, хоть и ограниченное примитивными key-value парами.
Аноним 28/04/23 Птн 22:13:06 2683940 304
>>2683930
>>2683917
Спасибо за ответы. Сам на второй сяду, заказчика на колени посажу. Первый для петов оставлю. Больно уж его просто деплоить на своём сервере.
Аноним 29/04/23 Суб 00:10:59 2684063 305
>>2683801
> как же блядь это странно и не интуитивно понятно.
Что в этом непонятно? Разве так сложно понять, что интерфейс в твоем случае означает просто условие, что передаваемый тип должен иметь эти функции, ВСЕ
Дай угадаю, питон-макака? Только там настолько тупые могут быть
Аноним 29/04/23 Суб 00:12:51 2684064 306
>>2683386
Ну кто то жалкий, а кто то просто ищет работу. Как бы тебе не нравилось, но это суровая реальность, к которой тебе придется привыкать и изучать, ибо на собесах как раз и спрашивают про них
Аноним 29/04/23 Суб 00:44:40 2684072 307
>>2665435 (OP)
> от создателей таких шедевров, как UTF–8, язык С, UNIX, Plan9 и других

Их предки написали Библию.
Аноним 29/04/23 Суб 11:36:43 2684214 308
image.png 18Кб, 800x170
800x170
Столкнулся с ложным сообщением об ошибках импорта в VSCode. У меня есть общая директория, которая содержит вложенные директории с проектами. Когда открываю отдельно какую-то вложенную, то всё в порядке. Когда открываю общую директорию, то в каждом из проектов возникает пикрил сообщение, при этом код работает исправно. Как можно это пофиксить? Иногда цепляю шаблоны из других проектов, а эта ошибка мешает.
Аноним 29/04/23 Суб 12:08:40 2684233 309
>2
Они правда гордятся наличием try/catch?
Аноним 29/04/23 Суб 12:23:43 2684243 310
16695801966470.png 283Кб, 811x590
811x590
image.png 18Кб, 671x180
671x180
>>2684214
Добавил "go.gopath": "C:\\Users\\Dvach\\go\\pkg\\mod". Нахуя это гошное расширение впихивает src в путь? Модули же лежат в C:\Users\Dvach\go\pkg\mod
Аноним 29/04/23 Суб 13:29:50 2684304 311
>>2684214
>. У меня есть общая директория, которая содержит вложенные директории с проектами
гоплс издавна не мог работать с проектами где несколько go.mod в разных папках. для этого https://go.dev/doc/tutorial/workspaces добавляли
Аноним 29/04/23 Суб 13:41:22 2684324 312
>>2684304
Благодарю, работает. А нельзя как-то изменить $GOPATH/src на $GOPATH/pkg/mod? В \.vscode-oss\extensions\golang.go-0.38.0\dist\debugAdapter.js об этом что-то есть, но я не шарю в JS:

/
Given a remotePath, check whether the file path exists in $GOPATH.
This can be either in $GOPATH/pkg/mod or $GOPATH/src. If so, return that path.
remotePath can be something like /usr/local/gopath/src/hello-world/main.go
and relativeRemotePath should be hello-world/main.go. In other words,
relativeRemotePath is a relative version of remotePath starting
from the import path of the module.
*/
Аноним 29/04/23 Суб 14:15:14 2684347 313
>>2665435 (OP)
Платиновый вопрос - с нуля стоит вкатываться в голанг разработку? Хочу грузить жсоны. Вышки нет, так что вариант со стажировками в МЯСКОТЕ не подходит
Аноним 29/04/23 Суб 14:30:51 2684363 314
5yv6JG8.gif 496Кб, 500x267
500x267
image.png 5Кб, 270x120
270x120
>>2684347
>с нуля стоит вкатываться в голанг
>Вышки нет, так что вариант со стажировками в МЯСКОТЕ не подходит
Аноним 29/04/23 Суб 14:43:22 2684374 315
>>2684363
Я молодой, шутливый, мне все легко
Аноним 29/04/23 Суб 17:12:46 2684496 316
>>2684233
Отсутствием. Да, правда. Они гордятся всем, его у них нет. Вот дженерики теперь есть, и казалось бы, зрада зрадой, но есть повод для перемоги - нельзя вырабить обобщённый метод, неользя тип с констрейнтом мспольовать иначе, как в заголовке.
Аноним 29/04/23 Суб 20:51:56 2684605 317
>>2665440
Хм R разве не аналог Python?
Аноним 29/04/23 Суб 21:09:38 2684617 318
anon.jpg 359Кб, 1341x1341
1341x1341
>>2665675
>>2665674
>большие бинарники
в go штоле нет динамически линкуемых либ (dll / so)?
Аноним 29/04/23 Суб 21:28:52 2684629 319
Аноним 29/04/23 Суб 23:04:32 2684706 320
>>2684617
Го - простой язык без излишеств, что неясно?
Аноним 29/04/23 Суб 23:08:14 2684707 321
Джва вопроса
Почему в языке, который расчитан на быстроту выполнения нет различных флагов оптимизации в ущерб скорости компиляции, как в других ЯПах?
Почему нет настроек гц уровня жабы и создатели сами решают это заместо тебя?
Понятно, что язык создавался что бы быть простым как палка, но погромисты не дауны же.
Аноним 30/04/23 Вск 00:07:37 2684737 322
Аноним 30/04/23 Вск 01:05:11 2684786 323
>>2684707
Язык идеален. ЕМу не требуются флаги в нём ннайден оптимальный баланс по скорости компиляции, размеру бинарника и скорости работы кода.
Аноним 30/04/23 Вск 10:45:57 2684893 324
>>2684707
Потому что еще одна цель языка - унификация. Это видно даже по тому, как он инфорсит стиль написания кода. В идеале одну и ту же задачу на Go можно решить одним способом и код при этом будет получаться максимально похожим, начиная с форматирования и заканчивая логикой. Всякие флаги добавляют непредсказуемости и возможностей накосячить.
Ты правильно заметил, что существуют другие языки, где эти возможности реализованы.
Аноним 30/04/23 Вск 11:21:40 2684904 325
>>2684707
>Почему в языке, который расчитан на быстроту выполнения нет различных флагов оптимизации в ущерб скорости компиляции, как в других ЯПах?

Есть флаги отменяющие оптимизацию и инлайнинг, но по дефолту то что билдится оптимизированно
Аноним 30/04/23 Вск 15:24:09 2685047 326
>>2683055
Я ж написал, что go get и go install не работают с этим пакетом.

>делаешь go mod tidy

У меня есть куча учебных однофайловых программ, которые требуют github.com/google/gopacket
Это ж придётся каждый раз go mod tidy вводить, почему так геморно сделано? Неужели нельзя один раз установить зависимость и при компиляции новых программ она будет автоматически обнаруживаться сборщиком?

>он автоматом скачивается в кеш покетов

А почему гошный сборщик в кэш не смотрит при последующих сборках? В чем смысл этого кэша, если сборщик не может найти уже "закэшированный" gopacket? Зачем на каждую однофайловую прогу вводить go mod tidy, пересоздавая кэш? Даже в устаревшем Си сделано более человечно, когда "кэш" автоматом ищется в стандартных директориях.
Аноним 30/04/23 Вск 16:03:12 2685074 327
Есть один сторонний пакет, импортировал его по URL (github.com/...) и в процессе выяснил, что некоторые функции там не реализованы, не долго думая я начал просто локально править исходники. Все работает, но как правильно теперь завендорить данную библиотеку или как это назвать, короче чтобы был пакет с моими правками и плюс вопрос, если сделать например go get -u all или еще какую-нибудь подобную команду, мои изменения пропадут и пакет опять подтянется с гитхаба?
Если честно, впервые в такой ситуации.
Аноним 30/04/23 Вск 16:40:32 2685094 328
>>2685074
Сделай форк и тяни от себя. Или сделай пул реквест, чтобы твои правки приняли в апстрим.
Аноним 30/04/23 Вск 17:11:12 2685104 329
Как часто используется defer? Не могли бы вы привести парочку примеров из реальной практики? Вкатываюсь с другого языка и пока не могу понять прикола
Аноним 30/04/23 Вск 17:27:31 2685115 330
>>2684347
Бамп вопросу. Почитал чатики гоферов в телеге и выглядит так, что все пришли в го после работы на других языках
Аноним 30/04/23 Вск 17:56:40 2685137 331
>>2685047
Для этого IDE придумали, свыня вимовская, там буквально все это за тебя делается
Аноним 30/04/23 Вск 17:58:20 2685139 332
>>2685104
Буквально всегда, например при открытии файла, что бы можно было везде ретурнов совать и не бояться, что где то можешь забыть хендл прикрыть, применений уйма
Аноним 30/04/23 Вск 18:04:30 2685148 333
>>2685094
Почему для разработки на этом ЯП нужна анальная фиксация на стороннем сервисе, которым владеет компания МАЙКРОСОФТ?
Аноним 30/04/23 Вск 18:09:08 2685153 334
>>2669241
Че бля,оффсет,нахуя мне кафка партиция в виде структуры данных? Гошники вы ебанутые? Оправдывайтесь
Аноним 30/04/23 Вск 18:14:35 2685159 335
Решил по накурке почекать гошечку вашу. Смешной язык, синтаксис вообще улет, несколько возвращаемых значений это сильно. Ну че рассказывайте как вам на нем работается?

мимо джава
Аноним 30/04/23 Вск 18:16:39 2685162 336
>>2684893
Нахуярим сверху абстракций над самыми популярными кейсами и че,получим кастрированную джаву
Аноним 30/04/23 Вск 18:40:34 2685182 337
>>2685153
А нахуя тебе копировать весь массив, у тебя память бесконечная что ли?
Аноним 30/04/23 Вск 18:59:07 2685189 338
>>2685148
Тебя часто били в детстве об угол головой?
Аноним 30/04/23 Вск 19:03:45 2685195 339
>>2685159
>несколько возвращаемых значений это сильно
Сильнее чем ты думаешь. Их не несколько, а одно множественное. Это такой неявный кортеж. В случаях, когда длина кортежа равна количеству пара Петров функции, можно этот кортеж передать в функцию. Или присвоить списку переменных, опять же, только такой длины.
Аноним 30/04/23 Вск 19:07:10 2685196 340
>>2685148
Ну тогда качай со своих серверов, ебанат линуксопомешанный
Аноним 30/04/23 Вск 19:20:42 2685206 341
>>2685196
А ты качай с серверов дядюшки Билли, который может тебе доступ обрубить, если ты ему не понравишься, кек.
Аноним 30/04/23 Вск 19:54:35 2685257 342
>>2685206
Ну так обрубит, я буду качать через зеркала, которые сразу же изобретут, в чем проблема? Либо свой сервер опять же
Аноним 30/04/23 Вск 21:50:31 2685355 343
Хули го такой нечитаемый кал?
Аноним 01/05/23 Пнд 00:02:09 2685405 344
>>2685355
Наоборот же. Неописуемый.
Аноним 01/05/23 Пнд 11:24:20 2685564 345
>>2665435 (OP)
Аноны, а какие проблемы закрывают облака? У меня есть монолит на Го, покрыт тестами и в целом все вынесено по слоям, деплоюсь на вдске в докере, сам монолит + инфра, рпс маленький, это скорее сервис для небольшого количества людей, а написан на го, потому что приятно писать.

Все вроде норм, но дай думаю попробую себя в найме. собесился сразу на мидла, начали спрашивать за гугл клауд, я сказал что не знаю, он мне не был нужен, никаких моих проблем он не решал. Собственно, а какие проблемы он решает для небольших компаний ? Целюсь в именно такие, с штатом до 50 человек(но вообще таких очень мало хех)
Аноним 01/05/23 Пнд 11:34:58 2685571 346
image.png 11Кб, 393x385
393x385
ПЕРЕКАТЫВАЕШЬСЯ В ГОШКУ ПО МАНЯ ГАЙДАМ ОТ ИНДУСОВ
@
ПРЕДВКУШАЕШЬ ОХУЕННЫЙ, МИНИМАЛИСТИЧНЫЙ КОД
@
ВЗЯЛИ НА ГОШНУЮ ГАЛЕРУ
@
ПИКРИЛ
@
ОБТЕКАЕШЬ
@
СОБЕСИШЬСЯ НА ПРЕЖНЕЕ МЕСТО


У вас там когда планируют внедрить нормальную обработку исключений?
Аноним 01/05/23 Пнд 11:42:32 2685575 347
>>2685571
Нормальную это как в расте или антипаттерн убожество из джавы?
Аноним 01/05/23 Пнд 11:42:36 2685576 348
Может кто подскажет как у fiber тестировать Params? Как мне сформировать контекст в роутер, с нужным мне параметром params?
Аноним 01/05/23 Пнд 12:40:58 2685634 349
>>2685571
Он минималитичный в смысле простой как камень, а не в смысле все можно в ванлайнер завернуть как в котлиине
Аноним 01/05/23 Пнд 12:51:09 2685637 350
>>2685575
У тебя и дженерики антипатерн лол
Аноним 01/05/23 Пнд 13:05:14 2685641 351
>>2685564
Serverless, деплой кучи микросервисов, только хуй знает почему это спрашивают у тебя, если ты я так понимаю не на девопса пошел, но тут думаю из за размеров команды им нужен человек-мультитул
Аноним 01/05/23 Пнд 13:16:10 2685653 352
Снимок экрана 2[...].png 45Кб, 580x316
580x316
>>2685641
Возможно ты прав, но это единственный собес за месяц, с работкой грустно, поэтому каждый провал довольно значителен в общем, было б это собес 1 раз в неделю то пох
Аноним 01/05/23 Пнд 14:16:20 2685685 353
>>2685571
>У вас там когда планируют внедрить нормальную обработку исключений?
А log.Println() тебе норм?
Аноним 01/05/23 Пнд 14:22:45 2685688 354
>>2685571
Лучше того говна что в джаве, уже хорошо
Аноним 01/05/23 Пнд 14:24:24 2685690 355
Аноним 01/05/23 Пнд 14:25:26 2685691 356
>>2685564
1. Маштабируемость: если у твоего приложения будет резкий рост нагрузки, можно достаточно легко иногда даже автоматически увеличить количество нод, дать больше памяти/процессора, БД, очередей.
2. Все необходимое есть из коробки: базы, очереди, кеши, мониторинг, логи, фаерволы, защита от DDoS, хранение секретов. И все это хорошо интегрировано, если следовать рекомендуемому пути все будет работать отлично.

Взамен ты получаешь конские цены, когда у приложения нагрузка вырастает до больших значений. И очень часто - вендор лок.
Аноним 01/05/23 Пнд 16:19:57 2685768 357
>>2685148
У меня свой git сервер я просто клоню нужные мне либы и всё работает.
Аноним 01/05/23 Пнд 16:25:21 2685772 358
>>2685206
Анончик у нас на работе artifactory кэширует все внешние зависимости и если Билли отрубит у нас ничего не наебнется
Аноним 01/05/23 Пнд 16:31:52 2685777 359
>>2685206
И кстати юзать module_name@latest не комильфо, тк никто не застрахован от кейса с node-ipc
Аноним 01/05/23 Пнд 22:06:50 2686070 360
>>2685148
он же с гитлабом и всякой хуйней тоже работает. остается вопрос у кого анальная фиксация
Аноним 01/05/23 Пнд 23:13:59 2686089 361
я правильно понял, что closures в go это аналог stl::bind?
Аноним 01/05/23 Пнд 23:42:06 2686103 362
>>2686089
Это же насколько нужно быть тупым, что бы не понять этого? Твой стд бинд просто возвращает враппер, где строго говоря какие то аргументы уже забинжены и тебе не нужно их юзать, closures в go, как ты их называешь, это просто вызов функции, которая возвращает тебе функцию, внутри которой есть переменные из первого вызова
Аноним 01/05/23 Пнд 23:49:22 2686108 363
>>2686103
Понятно функция и переменные из скоупа внешней функции. А где такое может быть полезно на практике?
Аноним 01/05/23 Пнд 23:50:41 2686109 364
>>2686108
Ну йобанный в рот, да где угодно, почему тебе обязательно быть таким душнилой
Аноним 02/05/23 Втр 01:24:57 2686146 365
>>2686108
А что, плюсы так до сих пор не умеют?!
Аноним 02/05/23 Втр 04:06:08 2686178 366
Аноним 02/05/23 Втр 06:55:44 2686208 367
>>2686070
Телеметрию в гугл отправить не забыл?
Аноним 02/05/23 Втр 09:55:45 2686266 368
Аноним 02/05/23 Втр 10:34:23 2686287 369
>>2686266
Которая включена по умолчанию и о которой тебе компилятор вежливо не скажет.
Аноним 02/05/23 Втр 14:54:42 2686490 370
>>2686208
Шизик, ты чего или кого боишься?
Не удивлюсь, если ты пользуешься какой нибудь федорой или арчем, где бесконечное количество телеметрии лол
Аноним 02/05/23 Втр 15:15:40 2686517 371
>>2686208
От кого шифруешься, мань
Аноним 02/05/23 Втр 22:48:57 2686888 372
Как думаете стоит перекатиться джуном на го с джавы? На просадку в зп в первый год пох. Миддл-крудошлеп
Аноним 02/05/23 Втр 23:36:18 2686907 373
>>2686888
Язык не более чем инструмент. Если тебе предлагают Уже работу и тебе нравится язык, то почему нет?
Аноним 03/05/23 Срд 00:46:06 2686935 374
>>2686888
А смысл? Разве гоыеры получают x2 от джавистов?
Аноним 03/05/23 Срд 01:00:43 2686942 375
image.png 501Кб, 1275x965
1275x965
Аноним 03/05/23 Срд 01:21:40 2686949 376
>>2686907
Работу никто не предлагает, сижу в гэпе пока. Просто весь опыт джавы это круды на спринге + кубер. Про инструмент - золотые слова, но вот хотелось бы подтянуть фундаменталс с чистого листа на новом стеке.
>>2686935
Кажется джава очень громоздка в плане инфраструктуры, хочется просто кодить и решать кодерские задачки, а не пердолиться с зависимостями, фреймворками, сборщиками и т.д. Ну и 90% задач - круды шаблонные.
Аноним 03/05/23 Срд 10:11:23 2687041 377
>>2686490
>>2686517
Про приватность слышали?
Алсо, нет, у меня не systemd дистр и естественно без всякой параши типа снэпов/флэтпаков.
Аноним 04/05/23 Чтв 02:28:53 2687847 378
image.png 37Кб, 672x414
672x414
спрошу тебя на собесе че напечатает
Аноним 04/05/23 Чтв 04:17:13 2687863 379
>>2687847
Рубрика «задачки для стажера»?
1 1
Аноним 04/05/23 Чтв 13:30:00 2688019 380
>>2687847
Отвечу, что если у вас принят такой кодстайл, мы не сработаемся
Аноним 04/05/23 Чтв 22:43:43 2688607 381
>>2687847
это типо темка а-ля акме?
Аноним 05/05/23 Птн 03:00:31 2688740 382
Аноним 05/05/23 Птн 10:25:46 2688809 383
learninggo.mp4 5623Кб, 1280x720, 00:02:15
1280x720
Аноним 05/05/23 Птн 10:35:18 2688820 384
png-clipart-yel[...].png 63Кб, 900x543
900x543
Аноним 05/05/23 Птн 14:47:46 2689004 385
err == nil, or err != nil, that is the question
Аноним 05/05/23 Птн 16:02:23 2689116 386
>>2689004
Как правило err != nil, потому что за этим обычно следует вывод ошибки в лог и ретурн/передача управления в другую функцию. В противном случае будут появляться else, вложенные ифы или просто вся логика будет внутри большого ифа. это если вопрос был серьезный, а не насмешка над типичным гошным бойлерплейтом
Аноним 05/05/23 Птн 17:27:42 2689213 387
IMG0861.png 4Кб, 270x120
270x120
>>2688809
Имагинирую, как будут отменять коммит в бд используя try catch
Аноним 05/05/23 Птн 18:05:55 2689250 388
>>2688809
можно как нибудь так

var (
ErrPasswordNotFound = errors.New("password not found")
ErrPasswordExists = errors.New("password already exists")
)



func handleError(err error) {
if err != nil {
fmt.Println("Error:", err)
os.Exit(1)
}
}
Аноним 05/05/23 Птн 18:07:19 2689252 389
Аноним 05/05/23 Птн 19:05:13 2689314 390
Просто скопировал свою же прогу с одного компа на другой и при go get all получаю кучу таких сообщений
>go: all: malformed module path "sync/atomic": missing dot in first path element
(для всех зависимостей)

Вообще чет сильно испоганили работу с зависимостями, в 2017 такого не было, можно было просто кодить, сейчас какой-то пиздец. Естественно в go.mod я добавил путь с гитхабом.
Аноним 05/05/23 Птн 22:30:15 2689520 391
>>2689314
go mod download или go mod tidy

Хуй пойми откуда и зачем ты взял get all
Аноним 05/05/23 Птн 22:36:24 2689524 392
>>2689213
Мне вообще люто доставляет подход к ошибкам в гошечке, после питухона, когда любая внешняя хуйня может выкинуть исключение и ты узнаешь что она выкидывает исключения только когда это случится или проштудировав код/документацию. Охуенная идея насильно заставить обрабатывать все ошибки и похуй на пару дополнительных строчек кода.
Аноним 06/05/23 Суб 15:06:00 2689946 393
>>2686888
Гошка простая, нет никакого смысла идти в джуны, если есть опыт программирования уже.
С джавы однозначно да. Сама по себе жаба неплохой язык, но те подходы и инструменты, которые популярны в ее сообществе - делают разработку на жабе полнейшим говном. Причем нелепым и кринжовым прям, если у тебя есть опыт в других экосистемах. Да и сами адепты джавы, зачастую, довольно туповатые и ограниченные, особенно спринганы.
Мимо 12 лет в ИТ, рулил проектами на nodejs, go, java/spring, python
Аноним 06/05/23 Суб 19:25:48 2690223 394
>>2689946
>Гошка простая
Эти мантры. назови мне сложный язык, который появился после 2000го
Аноним 06/05/23 Суб 19:34:32 2690228 395
Аноним 06/05/23 Суб 21:33:43 2690352 396
>>2690223
Какие мантры? Гошка очень топорная и простетская, это и была одна из целей создания.
Scala, Idris, Rust, F# да дохера их.
И C# ровно в 2000-м.
Аноним 07/05/23 Вск 09:43:26 2690545 397
>>2689524
Так панику в го у тебя никто не отменял, плюс этих "дополнительных строчек" настолько много, что ты далеко не всегда можешь сказать какие ошибки вернёт твоя функция.
Аноним 07/05/23 Вск 11:39:11 2690583 398
>>2690545
Шиз, ее никто не использует, разве что редкие перекатуны из джавы или шарпов, это ебейший пиздец такое использовать
Аноним 07/05/23 Вск 11:45:49 2690586 399
>>2690583
Там она может сама случиться, хочешь ли этого ты или автор внешней либы, банальный доступ по несуществующему индексу.
>когда любая внешняя хуйня может выкинуть исключение и ты узнаешь что она выкидывает исключения только когда это случится или проштудировав код/документацию
По этому кейсу, ты все равно должен штудировать сорцы/документацию, что бы знать какой из сотни видов ошибок у тебя прокинется выше и навесить на его обработку какую-то логику.
Аноним 07/05/23 Вск 11:57:45 2690592 400
>>2690586
> что бы знать какой из сотни видов ошибок у тебя прокинется выше и навесить на его обработку какую-то логику.
Ты же понимаешь что в 98% случаев тебе не нужно по особенному обрабатывать каждую ошибку? Максимум - выкинуть 500 статус код и в боди саму ошибку
Аноним 07/05/23 Вск 11:59:42 2690594 401
>>2690592
А в остальных 2% ты уже наверняка знаешь какую конкре но ошибку тебе нужно обрабатывать отдельно

> банальный доступ по несуществующему индексу.
Если у тебя есть такая проблема, то тебе ни один язык не поможет, ты везде будешь тупым
Аноним 07/05/23 Вск 12:06:56 2690598 402
>>2690592
>Максимум - выкинуть 500 статус код и в боди саму ошибку
Если у тебя такая обработка ошибок, то в случае с try catch никакой проблемы тоже нет, оборачиваешь реквест в него, пользователю 500, в логи стектрейс.

>Если у тебя есть такая проблема, то тебе ни один язык не поможет, ты везде будешь тупым
А ты уже проштудировал сорцы внешних либ и убедился, что такого точно не будет блябуду?
Аноним 07/05/23 Вск 12:09:09 2690600 403
>>2690598
Мистер блябуду, ты же знаешь, что в го не используют миллиард библиотек и всякие спринги?
Аноним 07/05/23 Вск 12:14:57 2690608 404
>>2690598
В го для джавистов специально есть аналог твоего try/catch, recovery() зовется, но это ебейший антипаттерн
Аноним 07/05/23 Вск 12:16:54 2690609 405
>>2690600
Достаточно одной, которую написал не ты и не знаешь что там под капотом

>>2690608
>но это ебейший антипаттерн
И какой правильный способ перехватить панику? Просто писать код без ошибок?
Аноним 07/05/23 Вск 12:18:08 2690610 406
>>2690609
>И какой правильный способ перехватить панику?
Не выкидывать панику, шиз
Аноним 07/05/23 Вск 12:21:56 2690611 407
>>2690610
Паника это любая необрабатываемая ошибка, которая может случиться во время выполнения программы, что бы ее получить не обязательно, что бы ее кто-то явно кидал.
Аноним 07/05/23 Вск 12:24:20 2690612 408
IMG0884.png 5Кб, 270x120
270x120
>>2690611
Ну да, каждый день же делишь на 0 и индексируешь элемент больше капасити у слайсов, голову лечи
Аноним 07/05/23 Вск 12:32:04 2690616 409
>>2690609
почему данная проблема присутствует у всех, но не у разработчиков на го?

другой анон
Аноним 07/05/23 Вск 12:39:57 2690626 410
Аноним 07/05/23 Вск 12:43:26 2690632 411
>>2690626
>те кто делают дейтвительно большие приложения
И давно на гошке стали монолиты писать?
Аноним 07/05/23 Вск 12:46:19 2690635 412
>>2690632
Тут дело в значимости, авторы gin понимают, что паника может случиться где угодно и спокойно юзают recover, а неофиты начали вторить евангелистам и объявили весьма полезную функциональность антипаттерном
Аноним 07/05/23 Вск 14:39:56 2690774 413
>>2690352
Попробуй отведать ради интереса систему типов из f#, а лучше из ocaml с его алгебраическими типами, Polymorphic variants и.т.д. Потом больше ничего не захочешь.
Аноним 07/05/23 Вск 14:42:34 2690778 414
>>2690608
>Есть аналог твоего try/catch, recovery() зовется, но это ебейший антипаттерн
А нахуй тогда это есть в языке, если это такой пиздецкий антипатерн? Он же вроде простой и в нём нет ничего лишнего.
Аноним 07/05/23 Вск 14:59:58 2690811 415
>>2690778
Та не... гошка довольно касая, топорная, а местами откровенно всратая. Просто менйстрим и промышленное разработка, скажем так, это про выбор меньшего из зол и уворачивания от костылей, который летят тебе в лоб, от создателей различных инструментов.
Просто исторически сложилось, что простой, производительный зяык, с грин-тредами и CSP - это го, лучше пока ничего нет.

на самом деле crystal (https://crystal-lang.org/) куда лучше и органичнее, как язык. но оно нихуя не популярно и имеет беды с кросс-копиляцией
Аноним 07/05/23 Вск 20:41:20 2691277 416
>>2690778
Что бы джависты и дальше могли делить на нуль и индексировать несуществующую память
Аноним 07/05/23 Вск 22:48:00 2691425 417
>>2690626
Ты что, gin это же почти спринг, а на го только велосипедостроение, только хардкор!
Аноним 07/05/23 Вск 22:55:12 2691429 418
>>2691277
Ты что-то перепутал. Это гоферы никак, то есть вообще никак, не могут защититься от разыменования нила.
Аноним 08/05/23 Пнд 00:24:06 2691518 419
>>2689524
В Go есть panic. Просто преобладает подход с возвратом (недо-)тьюплов и язык старается уйти от исключений.
>>2690583
Паника - это вполне нормальное поведение в определенных ситуациях, когда ошибка настолько серьезная, что выполнение продолжать не нужно или просто невозможно.
Аноним 08/05/23 Пнд 02:56:18 2691582 420
хз ру на запрос "golang" выдает тысячу ваканский. На запрос "go" 6к вакансий. При том что по запросу Java выходит всего 3к. Так 1к или 6к более правдиво?
Аноним 08/05/23 Пнд 03:38:03 2691585 421
.png 59Кб, 533x649
533x649
>>2691582
Поставь эту галку и узнаешь.
Аноним 08/05/23 Пнд 07:37:15 2691622 422
>>2691582
Представляю как тянучка ищет вакансию го-го танцовщицы, а хх ей засирает результаты поиска говолангами....
Аноним 08/05/23 Пнд 11:05:24 2691720 423
Допустим есть две структуры A и B, (определенные во внешней библиотеке), обе имеют одно и то же экспортируемое поле Foo string и при этом не находятся в отношении наследования.
Как (и можно ли вообще) на го написать функцию, которая будет принимать в качестве параметра переменную типа A или B и выполнять операции над значением поля Foo независимо от типа структуры и чтобы написать метод один раз, а не для каждого типа отдельно?
Аноним 08/05/23 Пнд 11:21:07 2691749 424
>>2691582
Чтобы получить выдачу без мусора поиск настрой по названию вакансии
Go or golang
Но и там попадается мусор типа Яндекс.Go и Go-go танцовщицы
Аноним 08/05/23 Пнд 11:37:29 2691775 425
Аноним 08/05/23 Пнд 11:42:27 2691780 426
Аноним 09/05/23 Втр 07:58:24 2692710 427
>>2691780
То что в других языках норма, в гошечке уродство... Но да, с дженериками он проклянёт все на свете.
Аноним 09/05/23 Втр 08:01:13 2692711 428
>>2691518
Только вот почти всегда ветка err!=nil заканчивается return. Это ли не признак того, что
>продолжать не нужно или просто невозможно
?
Аноним 09/05/23 Втр 14:41:11 2693009 429
>>2692711
А если нужно отменить коммит? Но одна из ошибок произошла еще до создания коммита
Аноним 09/05/23 Втр 17:19:13 2693158 430
>>2692711
Это он скорее всего про всю программу в целом, а не про отдельную функцию
Аноним 09/05/23 Втр 21:38:24 2693411 431
>>2693009
Щто? К4кой нахуй коммит?
Аноним 09/05/23 Втр 22:32:05 2693478 432
>>2693411
Он коммитом назвал транзакцию.
Аноним 10/05/23 Срд 12:35:07 2694024 433
>>2693009
И что? Ты к тому, что роллбек надо делать сейчас, а не выше? Ну сделай, и выбрось с чистой совестью панику, здесь делать больше нечего, и в пределах 3х уровней выше тоже скорее всего нечего.
Аноним 10/05/23 Срд 18:01:13 2694373 434
Аноним 10/05/23 Срд 20:44:57 2694516 435
>>2665435 (OP)
Аноны, а зочем Роб Пайк и Кен Томпсон добавили возможность с декларировать на любом языке?? Чтобы студентам из России было проще??
Аноним 11/05/23 Чтв 09:23:15 2694669 436
>>2694516
Чтобы 1с-никам было проще перекатываться.
Аноним 11/05/23 Чтв 12:22:36 2694864 437
>>2694516
Так на любом языке можно писать на любом языке, не?
Аноним 11/05/23 Чтв 16:33:06 2695150 438
16807205826000.mp4 382Кб, 480x360, 00:00:13
480x360
Кто шарит за планировщик в последних версиях go?
На сколько я знаю с 1.18(вроде) гарантируется, что ни одна горутина не будет занимать системный поток бесконечно.
В случае, когда есть свободные потоки, я понимаю как они могут прервать выполнение другой горутины. Но если все потоки будут заняты и не будут совершать действий вызывающие планировщик, что происходит в этом случае?
Аноним 11/05/23 Чтв 16:45:14 2695166 439
>>2694864
в сьях нельзя вроде декларировать переменные на не ascii
Аноним 11/05/23 Чтв 18:22:48 2695260 440
Документация во всём стеке голанга это пиздец конечно. Фактически отсутствует, что приводит к необходимости лазить по сорцам и вдуплять смысл каждой фичи. Если бы не перекатывался с жабы, имея за плечами солидный опыт работы с гнилой легасью, уже забил бы на изучение.
Аноним 11/05/23 Чтв 19:01:27 2695292 441
>>2695260
>документации во всем стеке
Это какой? Который буквально пару роутеров имеющие в себе полторы функции и грпц в котором тоже пару функций, и те генерируются сами?
Аноним 11/05/23 Чтв 19:05:01 2695294 442
image.png 7Кб, 368x175
368x175
Аноним 11/05/23 Чтв 19:59:56 2695333 443
>>2695150
Наверное новый поток создадут, но это лишь предположение.
Аноним 11/05/23 Чтв 20:01:32 2695337 444
>>2695333
так вот а ктож его создаёт если все потоки заняты?
Аноним 11/05/23 Чтв 20:49:09 2695391 445
image.png 7Кб, 270x120
270x120
Импортопроблем тред. Файл с package main и файл с package hui ни при каких условиях не могут находится в одной директории?
Аноним 11/05/23 Чтв 22:21:26 2695498 446
>>2695391
не могут. один каталог - один пакет. Можно делать подкаталоги с другими пакетами.
Аноним 11/05/23 Чтв 22:56:23 2695529 447
>>2694516
Чтобы Deutsche Pidoraßen могли писать на родном языке.
Аноним 11/05/23 Чтв 23:06:38 2695531 448
>>2694516
Пиздец, я только по ответам анонов понял, о каких языках вопрос.
Аноним 12/05/23 Птн 00:18:10 2695591 449
>>2694516
Спасибо, Анон. Наверное очевидно, но я не рефлексировал, пока ChatGpt не сгенерировал такой код и возможно детская травма от чтения книжек по borland c
Аноним 12/05/23 Птн 16:18:49 2696177 450
>>2695150
>В случае, когда есть свободные потоки, я понимаю как они могут прервать выполнение другой горутины. Но если все потоки будут заняты и не будут совершать действий вызывающие планировщик, что происходит в этом случае?
отправкой сигнала занимается sysmon тред, а не треды, которые твои горутины с твоим кодом крутят
Аноним 12/05/23 Птн 19:19:24 2696451 451
>>2696177
спасибо брат.
Я так понимаю этот поток никак с шедулингом не связан?
И можно как-то через dlv на рантайм смотреть?
Аноним 12/05/23 Птн 19:19:26 2696453 452
>>2695498
Допустимо-ли клепать приложения без применения подкаталогов с другими пакетами? Т.е. раскидать код на несколько файлов в одном каталоге, относящихся к package main. Вижу некоторую трудность в выяснении источника функции, т.к. в едином пакете нет вызова типа: hui.Droch(), а сразу Droch() непонятно откуда. Насколько это будет/не будет считаться говнокодом? Мне не нравится куча подкаталогов, которые надо раскрывать.
Аноним 12/05/23 Птн 20:46:56 2696570 453
>>2696453
Да, конечно, многие крупные и уважаемые проекты так и склепаны. Sarama, например.
В любом случае код на го не может быть нормально организован из-за предельно всратой системы модулей и управления зависмостями.
Поэтому просто пиши как тебе меньше страдается.
Аноним 12/05/23 Птн 21:10:09 2696607 454
>>2696453
>Вижу некоторую трудность в выяснении источника функции, т.к. в едином пакете нет вызова типа: hui.Droch(), а сразу Droch() непонятно откуда
из того же пакета main, понятно же
>Допустимо-ли клепать приложения без применения подкаталогов с другими пакетами
ну допустимо. но это зависит от объема и обычно так не принято. на практике ты можешь притвориться сишником и писать префиксы без точки у каждой функции/типа, но тебя захуесосят. мне как стажеру в первый день говорили вот если хочеш напиши сначала в одном пакете, потом разобьеш)))))))))))))
Аноним 12/05/23 Птн 21:47:02 2696657 455
image.png 5Кб, 270x120
270x120
>>2696570
Система модулей абсолютно всрата, хоть на 1.15 возвращайся.

>>2696607
>понятно же
C IDE оно конечно понятно через ctrl, а в иных ситуациях придётся кучу файлов пакета в поисках дрочи перерыть.
Аноним 12/05/23 Птн 21:54:24 2696665 456
>>2696657
>C IDE оно конечно понятно через ctrl, а в иных ситуациях придётся кучу файлов пакета в поисках дрочи перерыть.
да ладно тебе слыш, у тебя один пакет, в котором может может быть одна функция с таким названием, оверлодинга же нет
Аноним 13/05/23 Суб 08:20:24 2696923 457
>>2696657
А какой смысл кодить не с иде?
Аноним 13/05/23 Суб 08:34:23 2696937 458
>>2696923

В go очень хорошая поддержка vim-а, если умеешь пользоваться - вообще сыто живешь
Аноним 13/05/23 Суб 12:36:24 2697073 459
Аноним 13/05/23 Суб 15:03:55 2697208 460
>>2697073

VS Code говно, IDE денег стоит и в рашке не продаются. Остается ток вим
Аноним 13/05/23 Суб 16:05:23 2697272 461
>>2697208
Ничего против вима не имею, но что именно он умеет, чего не умеет вскод а то может стоит изучить.
По факту 99% того, что мне требуется - это ctrl+click и переименование символов по f2, но то я. Интересно, какие еще есть реально полезные фишки.
Аноним 13/05/23 Суб 17:40:09 2697356 462
>>2697208
> IDE денег стоит и в рашке не продаются.
Ну, давай разберём по пунктам тобою написанное.
1. "Денег стоит". То есть ты, высококвалифицированный айти-специалист, не можешь заработать себе на инструмент?
2. "Не продаётся в РФ". Читать как "я, высококвалифицированный айти-специалист, настолько туп, что не могу осилить обход формальных ограничений".
Аноним 13/05/23 Суб 17:49:41 2697367 463
IMG0956.png 4Кб, 270x120
270x120
>>2697208
> IDE денег стоит
Так сразу бы сказал, что ты не просто позер, так еще и школьник-позер. Поэтому тут да, хелловорлды писать иде не нужна

даже капча считает тебя псевдопрограммистом
Аноним 13/05/23 Суб 17:54:35 2697375 464
>>2697272
Стоит как минимум попробовать vim-mode, вроде как для вскода он был. Основная фишка как бы в этом. Как редактор вим изкоробки не умеет ничего. Есть есть желание подучить lua, и пару тройку вечеров чтобы сделать себе конфиг то вперед. Однако поебавшись и настроив все мы получаем редактор уровня vscode с консольным ui. В конечно счете за несколько лет использования ты настолько сильно врастаешь в этот вим, что его хочется буквально везде, и любое редактирование текста ты себе иначе уже не видишь. Что касательно пользы то как бы удивительно это не звучало то это экономия время не редактирование текста. Да, ты тратишь время на конфиг, но компенсируешь его когда освоишь редактор хотя бы через месяц-два использования. Кроме того вим не вешает 32гб машину с запущенными фоном 8-ю gopls, докерами и прочей хуетой.
Аноним 13/05/23 Суб 18:00:13 2697377 465
>>2697208
>>2697367
Использование IDE для го в принципе никак не обоснованно. Кроме, разве что, фантазий про серьезных программистов купивших себе goland. Скажу больше, если забрать у тебя все эти удобные кнопки которые тебе дает IDE, и без которых ты ничего не можешь, то грош тебе цена как программисту. Не можешь сам автоматизировать и настроить свое рабочее окружение - идешь нахуй, ты не программист.
Аноним 13/05/23 Суб 18:21:29 2697395 466
>>2697377
> Использование IDE для го в принципе никак не обоснованно.
> все эти удобные кнопки которые тебе дает IDE
)))))))))))

> и настроить свое рабочее окружение
Кто то мешает настроить иде? Настраивай как хочешь, хоть шорткаты вима накати, плагинов на это миллиард и больше

Найди работу, долбаеб
Аноним 13/05/23 Суб 18:28:18 2697403 467
>>2697377
>ничем не обосновано
>РРРЯЯЯЯЯ НИНУЖНА
А твой вим изкаропки такое имеет без пердолинга? И это только одна миллионая всех возможностей

https://imgur.com/a/oeDsuUi
Аноним 13/05/23 Суб 18:32:32 2697409 468
>>2697395
Это некоем образом не причина использовать IDE, это может быть поводом но никак не причиной. Тем более говорить что только тру программисты выбирают IDE. Иш какой сурьезный, сидит там в IDE. У тебя риторика уровня, не хочу ебаться с настройкой потому что я дохуя занятой. При этом проебывая время в треде и споря с каком-то рандомным челом. Настроить можно все что угодно и как угодно. И код ты можешь писать где хочешь. Ничто из этого не делает тебя программистом лучше или хуже. Поэтому заканчивай свою хуйню с вешанием ярлыков. Есть у меня работа, и вим мне в ней очень помогает.
Аноним 13/05/23 Суб 18:36:19 2697411 469
>>2697409
Сразу отвечу, что и в моем понимании человек использующий vim никоем образом программистом лучше вас сидящих в IDE не является. Я говорил только о знаниях и возможностях, и наверное даже скорее понимании того как настроить своей рабочее окружение. Если ты не можешь сделать этого сам, то ты не понимаешь как это работает. А значит что ты макака которую можно легко заменить такой же макакой которая будет нажимать удобные кнопки в IDE и рассказывать про трушность и серьезность программистов.
Аноним 13/05/23 Суб 18:36:26 2697412 470
goland64Z0s8df6[...].gif 220Кб, 454x385
454x385
>>2697403
Дополню еще одной бесполезной фичей, авто-импортом
Аноним 13/05/23 Суб 18:39:42 2697417 471
>>2697411
>sudo apt install vim
>ДА НИ МАКАКА Я НИ МАКАКА ЭТО ВЫ МАКАКИ ЗАПУСТИЛИ СВОИ ВСЯКИЕ .EXE .DMG

>конфигурация посредством редактирования .yaml / .lua / whatever else
> VS конфигурация нормальным UI и плагинами в одну кнопку с маркетплайся
>РЯЯЯЯЯ МАКАКИ КНОПКОДАВЫ НИЧЕГО НЕ СТОИТЕ РЯЯЯЯЯ ВИМ СЛОЖНАААА
Аноним 13/05/23 Суб 18:40:28 2697418 472
>>2697411
>Если ты не можешь сделать этого сам, то ты не понимаешь как это работает
Может еще свой менеджер тредов, процессов и памяти написать? А то хули, как ты им пользуешься сам не реализовывал.
Аноним 13/05/23 Суб 18:42:27 2697419 473
>>2697418
Ты бросаешься из крайностей в крайности. Если тебе нужно понимать как работают эти вещи в твоей рабочей повседневной деятельности, то да, это хороший способ понять что это такое. Квинтэссенция программирование про автоматизацию процесса, в данном случае разработки.
Аноним 13/05/23 Суб 18:45:22 2697422 474
>>2697367
Для школоты-студентоты жидбрейнс бесплатный, кстати.
Аноним 13/05/23 Суб 18:46:07 2697424 475
>>2697419
>Квинтэссенция программирование про автоматизацию процесса, в данном случае разработки
Программирование это про перевод бизнес-требований или личных хотелок в код, а не твоя шиза про настоящих программистов.
Аноним 13/05/23 Суб 18:46:10 2697425 476
>>2697419
> Ты бросаешься из крайностей в крайности.
Так а нахуя мне тогда понимать как работает ебанная IDE? И самое главное не нахуя, а ЧТО ПОНИМАТЬ, что ты в ней собрался понимать? Вот скажи блять, ЧТО В НЕЙ ПОНИМАТЬ

Я понимаю как работает язык и нужные мне библиотеки. НО ЧТО Я БЛЯТЬ ДОЛЖЕН ПОНИМАТЬ В ЕБАННОМ РЕДАКТОРЕ, ЧТО БУКОВКИ ВСТАВЛЯЮТСЯ ПРИ НАЖАТИИ?
Аноним 13/05/23 Суб 18:47:12 2697427 477
>>2697403
Ебать ты МЫШЕВОЗ, поди ещё и на винде сидишь или каком-нибудь богомерзком DE без тайлинга.
Аноним 13/05/23 Суб 18:48:32 2697430 478
>>2697427
> поди ещё и на винде сидишь
Предпочитаю пользоваться удобной системой без проблем, а что? В разработке она не нужна, голенг умеет в кроссплатформу

ожидаю выпуки про драйвер постгре
Аноним 13/05/23 Суб 18:52:36 2697431 479
image.png 5Кб, 286x197
286x197
>>2697430
На случай высера про --race отвечу сразу пикрилом, докер.
Аноним 13/05/23 Суб 18:53:15 2697432 480
>>2697424
Это и есть автоматизация. Берешь идею - автоматизируешь процесс.
>>2697425
Ты несколько уводишь наш разговор от темы. Я говорил не об этом и имел ввиду совсем не это. Ты, или это был не ты, неважно. Тот анон что выше, его основная логика, что все крутые и серьезные программисты используют IDE. Моя же логика не в том, что все программисты использующие vim по настоящему крутые и куда лучше вас бездарей из IDE. Моя логика что если ты вешаешь ярлыки по тому что использует человек, при этом сам не вдаешься в технические вопросы того что ты повседневно делаешь, то ты просто долбаеб, вот и все.
Аноним 13/05/23 Суб 18:55:50 2697434 481
>>2697432
>Это и есть автоматизация. Берешь идею - автоматизируешь процесс.
Если это лично тебе нравится или это требования работадателя, то да. Если нет, то это не стоит твоего времени.
Аноним 13/05/23 Суб 18:56:09 2697435 482
>>2697432
> того что ты повседневно делаешь
Я пишу бизнес-логику, а не IDE, помешанный вимошвайнокарась

> если ты вешаешь ярлыки по тому что использует человек
Увы, но так показывает практика, 99% вимошизиков - пишут на уровне хелло ворлдов
Аноним 13/05/23 Суб 19:00:05 2697437 483
>>2697435
Не смеши. Ты еще скажи, что ты можешь по коду определить был ли он написан в профессиональной IDE, или в плебейском виме.
Аноним 13/05/23 Суб 19:02:32 2697439 484
>>2697437
> ты можешь по коду определить
В теории можно, IDE обычно сама сортирует импорты и заводит go fmt, но это так, косвенные
Аноним 13/05/23 Суб 19:05:42 2697440 485
>>2697439
Ну это уже шутки какие-то несерьезные пошли. Даже неуважение какое-то, ей богу. Ты судя по всему дальше :q в вим не заходил.
Аноним 14/05/23 Вск 14:45:15 2698178 486
vim.gif 1777Кб, 2121x1170
2121x1170
>>2697403
>>2697412
Блядь, просто киллер-фичи. Срочно перекатываюсь в говленд
Аноним 14/05/23 Вск 14:50:40 2698188 487
>>2698178
Дебаггер тебе я так понял нинужын.
Смысл в идее и ее потомках - то что там нормально сделан дебаг для любого официально поддерживаемого языка.
Аноним 14/05/23 Вск 14:55:33 2698194 488
>>2698188
Внезапно и дебаггер тоже есть.
Аноним 14/05/23 Вск 16:42:31 2698340 489
>>2698194
Видели мы ваши дебаггеры и функционал, спасибо ненадо, лучше уж совсем без него, чем с ЭТИМ
Аноним 14/05/23 Вск 17:14:55 2698368 490
>>2698178
Ты сутки искал плагины? Красава, а теперь найди работу. В голенде такое изкаропки
Аноним 14/05/23 Вск 17:21:20 2698374 491
>>2698340
>ваши дебаггеры не дебаггеры
Тащемта гойленд под капотом использует тот же Delve.
Аноним 14/05/23 Вск 17:23:17 2698375 492
>>2698368
Когда начал учить го, потратил минут 30 чтобы установить vim-go. Было безумно сложно дописать в конфиг пару строк, но я каким-то чудом справился.
Аноним 14/05/23 Вск 20:51:54 2698585 493
Почему так сложно форкнуть библиотеку и использовать ее?
Камитишь блять пушишь и все равно, твои изменения не видны, несмотря на то что ты импортируешь библиотеку уже из своего репозитория. Версии какие-то, ну нахуй это надо, почему нельзя просто брать последнюю версию из мастер бранча?
Аноним 14/05/23 Вск 21:20:37 2698612 494
Прошел го тур, думаю порешать задачки с литкода на го и написать простенький проект. Какую ide можете посоветуете? vim только начал осваивать, сам привык к intelli j, но платной подписки нет.
Аноним 15/05/23 Пнд 00:12:52 2698827 495
>>2698612
Если торопишься - vscode или его открытый форк. Не ебись с вимом, учи язык. Потом когда будешь синьером-помидором хуи пинать, можно и вим позадрачивать.

Если по фану - то конечно neovim, сначала будет непривычно, потом сложно, но в какой-то момент ты поймешь, что получил охуенный инструмент, которым будешь пользоваться всю жизнь.
Аноним 15/05/23 Пнд 00:15:09 2698830 496
>>2698827
>получил охуенный инструмент, которым будешь пользоваться всю жизнь пока не перейдешь на emacs с evil-mode
Пофиксил
Аноним 15/05/23 Пнд 00:40:50 2698842 497
Попробую спросить. Имеется логгер github.com/sirupsen/logrus. Имеется gin.Recovery(). В режиме logrus.WarnLevel, логгер корректно пишет всю инфу об ошибке, но с пометкой паники как: level=warning. В режиме logrus.PanicLevel логгер перехватывает любую панику в фреймворке, вываливает только инфу о том, что была panic и я прекратил работу программы. Логи самого фреймворка при этом теряются. Может кто-нибудь с этим логгером работал и знает, как обрубить ему возможность вызова паники, чтобы он только логи писал и не выёбывался?
Аноним 15/05/23 Пнд 03:11:22 2698878 498
>>2698585
> Версии какие-то, ну нахуй это надо, почему нельзя просто брать последнюю версию из мастер бранча?
Представь, как тысячи проектов одновременно перестали собираться из-за того, что в последней версии популярной либы сломали обратную совместимость.
Аноним 15/05/23 Пнд 16:49:56 2699511 499
>>2698585
Да меня тоже все это бесит, но без этого никак. Git нужно изучать в обязательном порядке, без него уже хелло вёрлд наверное ни на одном языке не написать, кроме QBasic.
Все это сделано максимально неудобно, но если разобраться, то понимаешь, почему без этого какая-то серьезная разработка невозможна.
Зато вот разберешься с goreleaser и будет у тебя страница с релизами как у взрослых проектов :)
Аноним 15/05/23 Пнд 18:24:30 2699652 500
image.png 536Кб, 1333x900
1333x900
image.png 7Кб, 270x120
270x120
>импортировал из пакета А в пакет Б
>теперь ты не можешь импортировать из пакета Б в пакет А

Как же меня заебали эти импортопроблемы. Они специально такую конченную систему выдумали?
Аноним 15/05/23 Пнд 18:34:39 2699668 501
>>2699652
Я так понимаю, других языков ты не видел? Такое везде.
Аноним 15/05/23 Пнд 18:39:24 2699680 502
>>2699511
> Все это сделано максимально неудобно
git commit команду наверное пиздец сложно выучить. Удобнее ничего нету, почему тебе неудобно - хуй знает. Оно сейчас идеально и максимально удобно, можешь хоть по-коммитно подгружать нужную версию и не ебать мозгу
Аноним 16/05/23 Втр 01:36:51 2700140 503
Насколько сложно в вас вкатываться? За спиной только питон в адекватном объёме джун+/миддл- и соответствующие бековые приколы - БД, очереди, сисд, докер, кубер.
Аноним 16/05/23 Втр 02:46:06 2700148 504
>>2700140
ну выучи основную хуйню - как гц/шедулер/интерфейсы/каналы/мапы/слайсы работают, потом на собес. всё.
Аноним 16/05/23 Втр 07:30:10 2700210 505
>>2697432
>все крутые и серьезные программисты
Пишут код. Используя удобный для себя инструмент.
Аноним 16/05/23 Втр 23:05:01 2701365 506
Вы че реально пишете на го? Я думал это тред троллинга ньюфагов
Аноним 16/05/23 Втр 23:36:00 2701396 507
>>2701365
Тред ruby и rust в другом месте, вот на этом говне реально никто не пишет
Аноним 17/05/23 Срд 01:42:45 2701509 508
>>2701396
Сыглы,раст залупа,не понимаю долбоебов которые в это говно играют
Аноним 18/05/23 Чтв 21:49:37 2703712 509
>>2701509
Настоящие программисты пишут на паскале.
Аноним 18/05/23 Чтв 23:28:14 2703812 510
>>2703712
Настоящие программисты пишут хуй на заборе
Аноним 20/05/23 Суб 20:36:52 2705938 511
посоветуйте какиенибудь книжечки базовые чтоб можно было обмазаться на 1,5 к страниц и дрочить на Go как в джаве шилдт к примеру.
Аноним 21/05/23 Вск 07:33:25 2706194 512
>>2705938
>книжечка
>программирование
А умом ты не блещешь, да?
Аноним 21/05/23 Вск 09:33:31 2706246 513
Аноним 21/05/23 Вск 11:48:50 2706323 514
>>2706194
>А умом ты не блещешь, да?
я из джавы к вам пришел, там обмазываться книжечками это норма.
У вас че, не так что ли?

Я открыл эту ссылку на туториал, но мне кажется этого мало для понимания полноценного.

>>2706246
хеад ферст сразу нахуй, я их книги не рассматриваю в принципе ни в каком языке - технологии.

нашел какую-то
нашел какую-то Адам Фриман Профессиональный Go. Вроде объем неплохой, пока читаю но складывается впечатление что писал инфобизнесмен какой-то ебаный.
Аноним 21/05/23 Вск 11:51:44 2706325 515
>>2706194
алсо, ну если знаешь какие-то годные видеокурсы то советуй.
Аноним 21/05/23 Вск 22:08:11 2707323 516
>>2705938
Если у тебя норм опыт в джаве, то достаточно пробежать по материалам в шапке. Потом практика и гугли/читай доки по сложным для тебя моментам. Талмуты на 1000 страниц тут нахуй не нужны, гошечка мега простая, когда есть опыт.
Аноним 21/05/23 Вск 23:07:42 2707459 517
>>2707323
производственного опыта нет, спринг потыкал, петпроектики немного, алгоритмы там и все такое. Ну естессно задрачивал талмуды про одно и тоже

пока смущают немного срезы. Нахуя навыдумывали какую-то хуйню с привязкой к массивам, ебота какая-то (я конешн понимаю что из под капота в джаве динамические коллекции тоже работают (некоторые, не все) с массивами, но это как-то перебор), а так же из коробки передача по значению абсолютно всего нахуй.

Пока-что по ощущению это анти-джава какая-то получается.
Аноним 22/05/23 Пнд 00:07:29 2707562 518
Фух. Завершил свой первый бэк на гошке. Всё по высшему классу с тестами, логами, секурностью. Ощущения агонь в жопе. Такого количества шишек на петьке я не собирал никогда. Совершенно ебанутый синтаксис, рвотный верблюд принудительно, доки посредством экстрасенсорики, нажористые бойлерпринты и, вишенкой на кале, устаревание кучи васянских пакетов из-за сверхсветового темпа развития языка.
Аноним 22/05/23 Пнд 05:54:08 2707646 519
>>2707562
А нельзя было не завязываться на левые пакеты?
Аноним 22/05/23 Пнд 05:57:04 2707648 520
>>2707646
Ты что! Это же самому програмулькать надо!

>>2707562
Мочехлеб вернись на моческрипт
Аноним 22/05/23 Пнд 10:47:38 2707812 521
>>2707459
Го сильно низкоуровневый по сравнению с джавой. Это скорее хипстерский Си, в котором улучшили качество жизни и отобрали возможность стрелять себе по ногам.
Все максимально топорно и просто, никакой магии. Cлайс - фактически тот же динамический массив из джава.

В джаве тоже абсолютно все передается по значению, как и в го. Вот только в некоторых случаях переменные под капотом содержат указатели на значения, а не сами значения.
В го со слайсами такая же история, слайс - это по сути указатель на массив и когда ты передаешь слайс в функцию, ты по сути передаешь указатель. Если же тебе в го надо передать структуру, которую ты хочешь там поменять, нужно явно указать, что ты передаешь именно указатель на структуру, а не копию
Аноним 22/05/23 Пнд 15:35:12 2708136 522
>>2707562
Потому что ты скорее всего джавист, тут другая парадигма, синтаксис заебись, if err != nil тоже нормальный, что тебе не нравится? Удобные функции, интерфейсы и вообще подход. Заебись.

То, что заставляют на каждый пук писать доку это как плюс, так и минус, как смотреть. Но вроде бы это отключается

Язык охуенный, жаль, я не сениор и работу на нем не могу в польше найти. Если у вас есть вакансия на Go , готов работать вместо тебя, лишь бы не на жабе и прочем дерьмо ООП
Аноним 22/05/23 Пнд 18:17:49 2708384 523
Читаю спеку Го, никак не могупонять этот абзац про массивы:
"An array type T may not have an element of type T, or of a type containing T as a component, directly or indirectly, if those containing types are only array or struct types."
// invalid array types
type (
T1 [10]T1 // element type of T1 is T1
T2 [10]struct{ f T2 } // T2 contains T2 as component of a struct
T3 [10]T4 // T3 contains T3 as component of a struct in T4
T4 struct{ f T3 } // T4 contains T4 as component of array T3 in a struct
)

// valid array types
type (
T5 [10]T5 // T5 contains T5 as component of a pointer
T6 [10]func() T6 // T6 contains T6 as component of a function type
T7 [10]struct{ f []T7 } // T7 contains T7 as component of a slice in a struct
)

Что здесь вообще подразумевается?
>An array type T may not have an element of type T
Или как в реальном коде можно записать такой тип T5 [10]
T5?
Аноним 23/05/23 Втр 08:08:06 2708859 524
Как найти работу вкатуну на го? Вакансий на джуна 0, пиздос
Аноним 23/05/23 Втр 08:59:14 2708885 525
>>2708859
Сейчас с джунами в целом неоче. Если у тебя нет опыта в айтишечке, я бы на твоем месте поискал вакансию линейного сотрудника в крупную средне-контору в эксплуатацию или админить тестовые стенды например, либо автотестирование. Пару лет там, параллельно практикуя го и осваивая все сопутствующее беку. Потом в разы проще будет найти нормальную работу. Можно будет перекатиться или сразу в разработку или к девопсам на пару лет еще пойти и оттуда уже в разрабы-мидлы точно заскочишь.
Аноним 23/05/23 Втр 21:41:19 2709732 526
>>2708384
>// invalid array types
рекурсивные типы. аналогично тому, как структ типа T не может иметь внутри член с типом T, только член-поинтер на T.
>T1 [10]T1 // element type of T1 is T1
нельзя сделать тип, который является массивом самого себя
>T2 [10]struct{ f T2 } // T2 contains T2 as component of a struct
нельзя сделать тип-массив, элемент которого содержит в себе сам этот тип-массив
>T3 [10]T4 // T3 contains T3 as component of a struct in T4
>T4 struct{ f T3 } // T4 contains T4 as component of array T3 in a struct
аналогично предыдущему, только Т4 теперь не литерал, а именнованный тип
Аноним 23/05/23 Втр 23:34:34 2709801 527
>>2708136
>Потому что ты скорее всего джавист, тут другая парадигма, синтаксис заебись, if err != nil тоже нормальный, что тебе не нравится?
То что в 99% случаев err просто возвращается наверх. Но ты вынужден пердолиться с возвратом этого значения вручную. Например есть функция которая получает запрос, валидирует его, процессит и сохраняет в базу.

На Джава
Response process(Request r) {
validate(r);
var response = processR(r);
save(response);
return response;
}

На Го
func process(r Request) (Response, err) {
err := validate(r)
if err != nil {
return nil, err
}
response, err := processR(r)
if err != nil {
return nil, err
}
err = save(r)
if err != nil {
return nil, err
}
return response, nil
}

Я понимаю почему это сделали, если у тебя функции не раскрашены, то сделать так чтобы эксепшен не пропал, а был правильно обработан, становится очень нетривиальной задачей. Но это сильно засирает обычный код. А все горутины остаются в фреймворке. В результате ты пишешь без горотин, но с if err != nil {
Аноним 24/05/23 Срд 00:11:22 2709825 528
>>2709801
>На Джава
по коду не понятно какие из функций проникнут эксепшном в жопу. весь код теперь в try catch оборачивать что ли?
Аноним 24/05/23 Срд 00:30:12 2709837 529
>>2709825
>по коду не понятно какие из функций проникнут эксепшном в жопу. весь код теперь в try catch оборачивать что ли?
Технически у тебя любая функция может сломаться на null/nil и тысяче других вещей. Только в Java у тебя будет NPE который поймает фреймворк наверху, а в Go panic.
Аноним 24/05/23 Срд 03:33:34 2709867 530
>>2709837
В го в таких случаях возвращает err, шизик
Аноним 24/05/23 Срд 06:52:52 2709891 531
>>2665435 (OP)
>Читаем документацию прямо по порядку (пункт "Learning Go"): https://go.dev/doc/

Сейчас там не такого пункта, подразумевается "Using and understanding Go"?
Аноним 24/05/23 Срд 15:32:08 2710277 532
>>2709867
Это троллинг тупостью, да?
Первый пост как раз и и был про If err != nil
Плюс, чтобы вернуть err в случае nil ссылки надо не забыть её проверить на nil, без этого будет паника.
Аноним 24/05/23 Срд 20:38:18 2710767 533
>>2710426 →
>Выгоняют из дома, есть 10 недель найти работу в айти.
>
>Дайте совет/план. Джаву и ДЖСкрипт могу начать учить сейчас же?
бамп


5 недель язык
5 недель - 5 пет продежков
Нет?


42 урока
по 1 в день че, нельзя? лол, да по 3-5 в день
https://www.practical-go-lessons.com/

Вот тут гайды подробнее
https://go.dev/learn/
м
Аноним 24/05/23 Срд 20:46:35 2710773 534
>>2710767
Пиздуй курой в самокат, у тебя 0 шансов, если нет айти вышки и предыдущего опыта. Если есть, то целый 1%, если ты умный дохуя, в чем я сильно сомневаюсь. Рынок сейчас перенасыщен пидорнутыми джунами с уже существующим коммерческим опытом, а в голанге джуны не нужны в природе.
Аноним 24/05/23 Срд 21:11:56 2710791 535
>>2710773
я в Европе буду искать работу. Или Китае. Или Индии. Рынок в 1.5 млрд + 1.5 млрд, щас бы в РФ тухнуть за 2000 баксов
Аноним 24/05/23 Срд 21:17:03 2710795 536
>>2710791
>>2708136
Вот тебе пример из Европы. Не надейся, тебе только в самокат.
Аноним 24/05/23 Срд 21:44:05 2710826 537
Аноним 25/05/23 Чтв 04:13:39 2710961 538
>>2710277
> Плюс, чтобы вернуть err в случае nil ссылки надо не забыть её проверить на nil, без этого будет паника.
Ты троллишь тупостью или как? Функция, которая возвращает саму эту ссылку тебе вернет еще и еррор, если у нее где то там внутри случился проеб, это не тебе надо проверять указатель на существование
Аноним 25/05/23 Чтв 11:18:27 2711162 539
>>2710767
Современная разработка это не про то, что ты знаешь как писать if-else-for и даже отличаешь класс от метода. Тебе нужно знать еще десяток-другой обязательных сопутствующих технологий и инструментов (гит, линупс, хттп, жесон, ямл, шифрование, бд, тестирование и еще куча всякой мелочи) и быть готовым разобраться с еще десятком специфичных для компании. Добавь сверху еще хотя бы поверхностное знание технологии разработки, гитфлоу, аджаил вот это вот все + знание типовых паттернов разработки и архитектуры, чистый код и прочую хуйню. Это для джуна. Для мидла надо уметь всем этим пользоваться хотя бы на уровне погуглил и за 5-10 минут сам понял как правильно и хорошо сделать.
Язык за пять недель - это ок, но все это говно вокруг языка вытянуть самому за месяц-два очень маловероятно. Как выше писали, надрочить линукс и поискать работу рядовым дежурным сисадмином - шансов на несколько порядков больше.
Аноним 25/05/23 Чтв 16:29:06 2711586 540
>>2710961
>Функция, которая возвращает саму эту ссылку тебе вернет еще и еррор, если у нее где то там внутри случился проеб, это не тебе надо проверять указатель на существование
Сам придумал какую-то хрень, сам на неё ответил. Речь шла о том что в функцию попадает nil значение которое раньше всегда было not nil. Вот тут и может быть паника.
Аноним 26/05/23 Птн 01:50:39 2712127 541
>>2711586
Каким хуем туда попадёт нил значение? Если ты ошибки игнорить будешь, то так то да, но иначе я представить не могу как можно передать блять нил, что у тебя должно быть в голове? Сделать &var и получить нил ну уж точно не выйдет
Аноним 26/05/23 Птн 04:43:43 2712142 542
>>2711162
Не перегибай, для джуниора как раз достаточно знать язык, включаю стандартную библиотеку, уметь мерджить ветки в гите и писать запросики к бд + хоть какой-нибудь кругозор. Все остальное специфично для конкретного проекта. Насчет общих знаний по паттернам и архитектуре - для этого есть мидлы и сеньоры. Другой вопрос, что компаний готовых растить нулевых джунов не так много, поэтому спрос на мидлов естественно больше. Челику можнт быть имеет смысл вкатываться на оплачиваемые стажировки в крупные компании, если не тупой, то предложат джуном поработать.
Аноним 26/05/23 Птн 08:09:35 2712166 543
>>2712142
> Другой вопрос, что компаний готовых растить нулевых джунов не так много
Согласился бы с тобой года два назад. Но за последний год каждая компания, которую я знаю разумеется включая мою посокращала кучу людей и разумеется это были в первую очередь джуны. Если я буду рассматривать себе в команду пополнение, в первую очередь я возьму джуна с уже существующим коммерческим опытом, а не вчерашнего студента (ну разве что он будет готов работать за дошираки). Благо сейчас есть из чего выбирать. Программы стажировок - отличная тема, сам так вкатывался, но опять же это было бля давно, задолго до СВО.
Аноним 27/05/23 Суб 16:46:47 2713640 544
Аноним 27/05/23 Суб 21:41:25 2713793 545
>>2713640
Первый же коммент
>Every goroutine starts with 2KiB of pre-allocated stack, so one million goroutines consume around 2GB (2,048 * 1,000,000 bytes).
Аноним 28/05/23 Вск 02:38:27 2713918 546
>>2713793
соснули даже у жабы
Аноним 28/05/23 Вск 08:54:00 2713957 547
>>2713918
Там и у питона соснули, чо уж
Аноним 28/05/23 Вск 11:03:30 2714020 548
>>2713793
ваще пох, виртуальная память и оверкоммит
Аноним 29/05/23 Пнд 00:35:28 2714601 549
Можете пояснить смысл тезиса - объявлять интерфейсы там, где собираешься их использовать?
Если я разрабатываю некоторый модуль и выставляю его api через интерфейсы, а реализацию скрываю в кишочках модуля, его могут использовать клиенты? Как в этом случае они будут получать конкретную реализацию?
Аноним 29/05/23 Пнд 02:44:13 2714644 550
>>2714601
Имеется ввиду в одном пекейдже, что бы неймспейсы были одинаковые
Аноним 29/05/23 Пнд 07:41:12 2714677 551
>>2714644
Спасибо, еще вопрос появился - насколько низкоуровневая разработка на гошке? В том смысле, что насколько много приходится изобретать велосипедов и писать инфраструктурный функционал под свои задачи (начиная от пресловутых реализаций структур даных, заканчивая клиентами для месседж брокеров и пулом коннектов к БД)
Какие нужные знания в целом по cs, чтобы жопа не горела?
мими-крудошлеп
Аноним 29/05/23 Пнд 09:47:03 2714748 552
>>2714601
>объявлять интерфейсы там, где собираешься их использовать
А потом наеьнуттся об циклические зависимости.
Аноним 29/05/23 Пнд 11:33:31 2714874 553
Прошел го-тур, после того, как прочию книжку по гошке из оп-поста, то можно вкатываться на мидла при условии наличии бекграунда в 3 года в вебне и интерпрайзе?
Аноним 29/05/23 Пнд 14:58:14 2715165 554
>>2714874
Разрешаю. Надрочи руку на каком-нибудь пете да сходи на собес, хуле как маленький.
Аноним 29/05/23 Пнд 19:28:32 2715694 555
>>2715165
Первый мой свич языка, трясуся
Аноним 31/05/23 Срд 11:34:35 2717234 556
Кто-нибудь может пояснить почему, если функция возвращает значение как указатель на структуру, то можно не присваивая результат переменной обратиться к полям структуры, а если возвращает саму стркутуру, то это ошибка. В спеке эти моменты подсвечиваются в контексте адресуемости значений, но не понятно, почему с указателями это работает.
Аноним 31/05/23 Срд 14:34:17 2717456 557
31wednesday1431[...].jpg 33Кб, 624x795
624x795
Аноним 31/05/23 Срд 17:46:33 2717728 558
>>2717234
мб ты про методы с поинтер ресиверами? чтобы их вызвать нужно адресуемое значение (ну так как нельзя получить поинтер на неадресуемое значение)))
Аноним 31/05/23 Срд 23:18:39 2718078 559
image.png 24Кб, 527x727
527x727
image.png 23Кб, 369x777
369x777
>>2717456
https://go.dev/play/p/45b_ZMmVBMP
Если результат функции никуда не передавать, то не работает.
Не совсем понятно, почему вернувшийся указатель из one() у компилятора подозрений не вызывает, хотя по сути значение тоже теряется и не используется. В общем адресуемость - мутное определение для меня
>>2717728
https://go.dev/play/p/oJPDl4OTwMs
Не, смотри выше. Поинтресивером может быть переменная-значение, если она адресуемая. (компилятор сам возьмет адрес). Как понимаю, только если методы интерфейса имплементить для поинтер ресивера, то компилятор ругнется, при попытке положить в переменную-интерфейс само значение, а не указатель.
Аноним 01/06/23 Чтв 14:29:02 2718489 560
>>2718078
Потому что результат функции не addredsable. Почему в каких-нибудь плюсах это работает, а в го нет - потому что плюсы это сложный и замороченный язык, а го - простой и понятный.
Что не ясно?
Аноним 01/06/23 Чтв 14:31:56 2718491 561
>>2718489
addressable. Нечто, у чего можно взять адрес. В сях, впрочем, помнится, тоже нельзя было возвращать указатель на локальную переменную
Здесь можно, но его следует приземлить перед использованием.
Аноним 01/06/23 Чтв 16:20:52 2718609 562
>>2718491
В общем, дети, сол и фасол пишутся с мягким знаком, а вилька т тарелка - без
Это понять нельзя, это надо запомнить.
Аноним 01/06/23 Чтв 16:42:31 2718657 563
image.png 17Кб, 574x155
574x155
Аноним 01/06/23 Чтв 20:23:35 2718875 564
>>2718489
т.е. притвориться, что еслти возвращается указатель, то это указатель на результат функции (указатель сам по себе addresable)
Аноним 01/06/23 Чтв 20:28:01 2718879 565
>>2718491
>нельзя было возвращать указатель на локальную переменную
>Здесь можно.
Становится понятно, что утверждение "Го учится за пару вечеров" не более чем рофл.
Хз как можно догадаться про утерждение выше, хоть и прочитал спеку и effective go
Аноним 02/06/23 Птн 08:49:30 2719195 566
02friday084405.jpg 39Кб, 705x531
705x531
>>2718078
Потому что результат выполнения функции - это rvalue. То есть подразумевается, что это временный объект который неизвестно где размещен, может быть в регистрах, может быть в стеке или в куче. С указателем прокатывает, потому что это уже и есть адрес по которому можно сходить.
Вот хороший видос по теме. Там хоть и плюсы, но эти концепции универсальные для всех языков. https://www.youtube.com/watch?v=XS2JddPq7GQ
Аноним 02/06/23 Птн 17:43:50 2719750 567
>>2719195
Дело как раз в том, что с увкащатеоем НЕ прокатывает. Пока ты его не засунешь во внешнюю переменную.
Аноним 02/06/23 Птн 18:20:47 2719800 568
>>2718879
>нельзя было возвращать указатель на локальную переменную
>Здесь можно.
> Становится понятно, что утверждение "Го учится за пару вечеров" не более чем рофл.
всмысле? тут просто убран кейс, на котором валятся новички в сишке. ну люди без знания сишечки о нём даже знать не будут.
Аноним 02/06/23 Птн 18:24:19 2719808 569
image.png 29Кб, 527x727
527x727
>>2719750
Ну вот же ты сам делал пример.
one - указатель на структуру - компилятору норм, rvalue - это адрес по которому есть это поле, ошибки нет.
two - структура - компилятор негодует, неадресуемое rvalue, которое хуй знает где, проверить есть ли у него поле он не может, потому что нет адреса где живет эта ебола
Аноним 02/06/23 Птн 21:50:15 2720022 570
>>2719808
А для rwo() при этом эфемерная копия значения, тут же исчезающая, имеет адрес и а нее можно положить значение.
В общем, классическая сол и фасол.
Аноним 02/06/23 Птн 21:56:19 2720024 571
>>2720022
>имеет адрес
Не имеет адрес, а это и есть адрес.
Аноним 03/06/23 Суб 19:26:42 2720771 572
>>2719808
Это защита от вкатунов-долбаебов, указатель еще логично менять, но нахуя менять тебя копию - уже интересный вопрос
Аноним 04/06/23 Вск 16:59:41 2721308 573
Как часто приходится заниматься подобной еблей с указателями?
Или это прямо терминальный корнер кейс, который на практике не встречается
Аноним 04/06/23 Вск 19:49:34 2721460 574
Чё, ребят, сложный язык? Вката нет?
Аноним 04/06/23 Вск 23:27:58 2721621 575
>>2721460
перед тем как вкатываться научись программировать епта. у нас тут на сеньоров приходят собеситься всякие контекст заюзать не могут
Аноним 05/06/23 Пнд 00:48:08 2721656 576
>>2721308
редко. в редких случаях, когда ты встречаешься с тем, что у тебя что-то не аддрессабл, то в первую очередь загорается жопа LSP, потом тебе IDE красно красным светит на весь дом, что так делать нельзя и ты пишешь еще строчку, чтобы сохранить залупу в переменную. тут буквально одна редкая проблема с одним самым простым решением.

а вот nil разыменовать получается намного чаще. обычно выливается в то страдание, что тебя на PR просят добавить проверку на nil. ну или прод начинает пятисотить, но это реже.
Аноним 06/06/23 Втр 12:14:16 2723057 577
>>2665435 (OP)
Кто-нибудь пишет опенсорс проект? Или может стартап? Готов бесплатно или почти бесплатно(если вы все же зарабатываете деньги с проекта), писать код на Go,
опыт коммерческой разработки - 3 года, писал всякое разное на питухоне, начиная от крудов на джанге, заканчивая простыми ML моделями для бизнеса(деревья решений, классификация), потом упоролся в низкий уровень, компуктер сайнс. Поскольку работу найти де факто невозможно, если не из РФ(т.е озон, вб, сбер отпадают), нужно поддерживать скилл.

Пишите
p.kwlks123@gmail.com
Аноним 06/06/23 Втр 17:15:27 2723531 578
>>2723057
Может телегу сразу дашь? Есть один пет проект, опишу, интересно тебе будет или нет
Аноним 06/06/23 Втр 18:22:54 2723675 579
>>2723057
есть один проект, зарплата до 30к в день. ссылка в телеграме
Аноним 06/06/23 Втр 18:57:46 2723737 580
>>2723675
> 30к в день
Зимбабвийских долларов?
Аноним 06/06/23 Втр 22:59:24 2723942 581
Еле как написал первый минорный сервис в прод на гохе и понял, что нихуя не понимаю в гошном стиле и бест практисах после другого языка с сахарком и гибкостью.
Что делают вместо дефолтных аргументов и опциональных значений (и как отличать опциональные значения от отсутствующего если делать через неприсвоенную переменную), как справиться с вездесущим if err != nil и т.д.
В общем, где можно посмотреть идеальный код со множеством кейсов где все разложено по полочкам с объяснениями, может даже книжка/статья найдется.
Аноним 07/06/23 Срд 08:21:17 2724103 582
>>2723942
>дефолтных аргументов и опциональных значений
https://go.dev/play/p/ua84ZSOSL70, но это как-то уродски

>if err != nil
в effective go есть пример https://go.dev/doc/effective_go#recover, где можно обыграть внутри своего пакета отлов ошибок на верхнем уровне. Если ошибка кастомная, то обрабатываем, если нет, то паникуем.
Аноним 07/06/23 Срд 09:58:17 2724139 583
Аноним 07/06/23 Срд 16:38:16 2724695 584
Не могу придумать идею для пет проекта, в голову лезут велосипеды и банальщина. Подкиньте идей, плес. Желательно, чтобы применить канкаренси и очереди.
Аноним 07/06/23 Срд 16:40:53 2724699 585
Не могу придумать идею для пет проекта, в голову лезут велосипеды и банальщина. Подкиньте идей, плес. Желательно, чтобы применить канкаренси и очереди.
Аноним 08/06/23 Чтв 12:38:23 2725651 586
В пистоне есть удобные средства для контроля горутин и отслеживания их состояния типа gather, wait_for, Task, as_completed и т.д.
В ГО есть что-то подобное или нужно только вокрун каналов, вейт груп и селектов плясать?
Аноним 08/06/23 Чтв 13:04:38 2725705 587
>>2725651
А чем тебя не устроили чаннелы, вг и селекты? Они буквально для этого и создавались, шиз
Аноним 08/06/23 Чтв 13:21:12 2725727 588
>>2725705
Я привык обмазываться сахаром
Аноним 08/06/23 Чтв 14:35:00 2725893 589
>>2725727
Ну тогда обмажься враппером вокруг них, лол
Аноним 08/06/23 Чтв 23:35:06 2726557 590
image.png 35Кб, 696x512
696x512
Что я делаю не так? Почему так мног err != nil, как от их избавиться?
Аноним 09/06/23 Птн 09:11:16 2726739 591
>>2726557
Зачем от них избавляться? Если функция может вернуть ошибку, то естественно что ее нужно обработать. Если тебе похуй то можно использовать _ и не проверять ничего.

Алсо, очень удобно оборачивать ошибки на каждом уровне через fmt.Errorf("хуе-мое не могу отправить: %w", err) и передавать на самый верх в main. Так если ошибка возникнет, получишь полный и удобный стектрейс по которому найдешь проблему за несколько секунд.
Аноним 09/06/23 Птн 20:54:56 2727695 592
>>2726557
>как от их избавиться?
lo.Must()
Но это не Ъ-путь, Ъ-гоферы руками делают работу языка.
Аноним 09/06/23 Птн 21:24:36 2727736 593
>>2727695
А ещё у тебя сгорит жопа от того, что 3 это не 2+1.
Аноним 10/06/23 Суб 04:40:56 2728025 594
>>2726557
это особенность языка. через какое-то время начинают появляться подозрения, что функциии, не возвращающие ошибки и не принимающие контекст на вход могут делать сетевые вызовы ниже по стеку даже если это не так.
Аноним 10/06/23 Суб 04:53:19 2728026 595
>>2726557
алсо
>зачем-то копируется поинтер на дефолтный хттп клиент, который юзается 1 (один) раз
>конструктор реквеста без параметров может зафейлиться
>err = errors.New(fmt.Sprintf())
>анмаршал и рид жсона в два шага вместо json.NewDecoder().Decode() без каких-либо действий, которые бы оправдывали это
Аноним 10/06/23 Суб 09:43:19 2728065 596
>>2728026
годно, спасибо
>конструктор реквеста без параметров может зафейлиться
Имеется в виду makeAuthRequest? Реквест по сути статичный, параметры подставляются из env
Аноним 12/06/23 Пнд 23:46:28 2730853 597
Сколько нужно гоферов, что бы перекатить тред?
Аноним 13/06/23 Втр 16:54:24 2731576 598
>>2730853
Они слишком заняты проверкой на nil
Аноним 13/06/23 Втр 18:54:17 2731771 599
>>2731576
ну так новый тред nil, время паниковать
Аноним 13/06/23 Втр 23:43:15 2732168 600
>>2731771
Какая паника? В го так не приятно, мы обычно правильно хендлим ошибку, а не просто выключаем комп от сети
Аноним 14/06/23 Срд 00:18:26 2732215 601
>>2732168
>правильно хендлим ошибку
То есть аккуратно, руками, чтобы ничего не напутать, передаём nil наверх.
Аноним 14/06/23 Срд 11:46:56 2732495 602
Аноны поясните за горутины
Не как они работают, а области их применения?
Можно ли, допустим ,получив структуру Some у которой есть n вложенностей, которые необходимо заполнить, заполнить вызвав n горутин, каждая их которых изменит изначальную структуру Struct?
Аноним 14/06/23 Срд 12:10:23 2732538 603
>>2732495
Многопоточность - это про ввод/вывод во всех языках программирования. Её не надо применять, работая в оперативной памяти.
Аноним 14/06/23 Срд 15:49:45 2732778 604
image.png 37Кб, 376x1168
376x1168
>>2732495
>Можно ли, допустим, получив структуру Some у которой есть n вложенностей
Можно, только в твоем конкретном примере частный случай, параллельность.
https://go.dev/play/p/KTM1booW8Y9
Анон выше правильно заметил, что многопоточность скорее про асинхронность
>>2732538
Смотря какая задача стоит, если каждая операция съедает много процессорного времени, а отклик нужен быстрый, т оимеет смысл распараллелить вычисления. Но тут еще сложности вылезают с подсчетом оптимального числа горутин и как их шедулер раскидать между ядрами вообще не ебу пока что.
Аноним 14/06/23 Срд 16:06:30 2732791 605
>>2732778
Go самостоятельно раскидывает по ядрам процессора тяжелые матаны и самостоятельно дробит байты в раме под эти расчёты. Если ты хочешь поиграть в русскую рулетку со своим коленом, то есть инструменты ручного управления этими вещами.
Аноним 16/06/23 Птн 01:35:36 2734650 606
>>2732495
ну вполне обычный паттерн. есть какая-нибудь структура, аггрегирующая разные сущности, в горутинах запускаются сетевые походы в сервисы, которые отдают эти сущности, их ответы складываются в одну структуру (ну чаще там еще какие-нибудь действия над ответами идут и структура формируется уже после обработки) и т.п.
Аноним 18/06/23 Вск 22:10:16 2737715 607
Я недавно написал программу на го и мне норм.
Go тред №24 go Аноним 21/06/23 Срд 18:52:26 2740791 608
golang.png 48Кб, 390x410
390x410
st,small,507x50[...].jpg 76Кб, 413x410
413x410
memehu32ae5b6d8[...].jpg 37Кб, 660x410
660x410
Go или Golang — компилируемый язык программирования от создателей таких шедевров, как UTF–8, язык С, UNIX, Plan9 и других. Go поддерживает типобезопасность, имеет богатую и универсальную стандартную библиотеку и инновационные семантики одновременности: все то, что мы в индустрии называем concurrency и parallelism. На сегодня язык Go является маяком стабильности, прагматичности, де-факто представляет из себя стандарт в мире бэкенд–микросервисов и серверного оркестрирования.

С чего начать:
- В обязательном порядке проходим Go Tour: https://go.dev/tour/welcome/1
- Читаем документацию (рекомендуется начать со спеки и Effective Go): https://go.dev/doc/
- Ознакамливаемся с общим roadmap по изучению языка и сопутствующих инструментов: https://github.com/Alikhll/golang-developer-roadmap (постоянно обновляется сообществом)

Литература:
- Донован, Керниган "Язык программирования Go"
- Также хорошие книги для начала: https://www.golang-book.com/ и https://www.practical-go-lessons.com/ (веб-версия - бесплатная и хорошо подходит для новичков в программировании)
- Книги из списка https://github.com/dariubs/GoBooks

Полезные ресурсы:
- Сборник паттернов и инфы по микросервисам: https://microservices.io/
- Смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw
- Обновляемый список с пакетами: https://github.com/avelino/awesome-go

Небольшая конфа треда: https://t.me/golang2ch более чем живая!

Предыдущий тред тонет здесь: >>2665435 (OP)
Аноним 21/06/23 Срд 18:53:59 2740793 609
>>2740791
Перекатите, по-братски, руки из жопы
Аноним 21/06/23 Срд 21:08:21 2740950 610
>>2740793
Не проверил на nil, признайся честно?
Аноним 30/06/23 Птн 12:31:33 2748919 611
Есть ли перекат?
Аноним 30/06/23 Птн 18:22:57 2749405 612
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов