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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 145 11 71
Go тред №37 /go/ Аноним 02/04/26 Чтв 13:19:11 3677844 1
httpsdev-to-upl[...].webp 319Кб, 1194x672
1194x672
zig-cross-compi[...].jpg 26Кб, 400x355
400x355
Screenshot 2024[...].jpg 36Кб, 272x292
272x292
299293162773.jpg 64Кб, 1001x563
1001x563
Go или Golang — компилируемый язык программирования от создателей таких шедевров как UTF–8, язык С, UNIX, Plan9 и других. Go поддерживает типобезопасность, имеет богатую и универсальную стандартную библиотеку и инновационные семантики одновременности: все то, что мы в индустрии называем concurrency и parallelism. На сегодня язык Golang является краеугольным камнем стабильности, прагматичности, де-факто представляет из себя стандарт в мире бэкенд–микросервисов и серверного кастрирования.

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

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

Полезные ресурсы:
- Сборник patterns и info по микросервисам: http://microservices.io/
- Смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw
- Справочник энтузиастов: https://go101.org/
- Практические уроки: https://www.practical-go-lessons.com/
- Обновляемый список велосипедиста с пакетами: https://github.com/avelino/awesome-go

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

Прошлый тред: >>3643081 (OP)
Аноним 02/04/26 Чтв 13:27:50 3677852 2
побил бы вас по головушке
мимо java-господин
Аноним 02/04/26 Чтв 13:33:46 3677853 3
ГОвнари в 2026 спорят как работать со слайсами - самой простой структуре данных в любом языке (динамическом массиве).
Аноним 02/04/26 Чтв 13:50:24 3677861 4
>>3677853
так это не говнари, а как раз джависты приходят обсериться
Аноним 02/04/26 Чтв 14:14:10 3677869 5
Обсуждать язык и разработку на Дваче удел это лохов последних. Вникайте в моё послание вам постарайтесь проанализировать и сделать выводы для себя)
Аноним 02/04/26 Чтв 14:27:01 3677874 6
Почему только в одной стране мира лучшие в мире не имеющие аналогов программисты додумались использовать язык консольных утилит для написания бизнес-логики?
Аноним 02/04/26 Чтв 14:40:25 3677876 7
>>3677874
карго-культ и дебилы в менеджерском составе
Аноним 02/04/26 Чтв 14:48:34 3677880 8
>>3677874
потому что бизнес-логика это обычные КРУДы со структурами, а не ебаные фабрики фабрик и декораторы которые заебешься чинить когда индусы-вайбкодеры выкатят очередной релиз срыгбута
Аноним 02/04/26 Чтв 15:01:50 3677886 9
>>3677880
Бизнес логика - это не круды, круды - это лишь входная точка
Аноним 02/04/26 Чтв 15:32:53 3677899 10
>>3677886
Бизнес-логика это тоже круды. Получил запросом данные из табличек, посчитал скидочку, записал в табличку.
Аноним 02/04/26 Чтв 16:15:13 3677927 11
>>3677874
А в консольных утилитах нет бизнес логики?
Аноним 02/04/26 Чтв 18:05:10 3677981 12
>>3677874
А на чем надо писать? На пэхэпэ? Нет, спасибо
Аноним 02/04/26 Чтв 18:53:07 3678020 13
>>3677853
Там по всему языку такие нюансы
Аноним 02/04/26 Чтв 19:13:16 3678051 14
>>3677874
>язык консольных утилит
Это поэтому в языке есть defer, который при sigkill не выполняется?
Аноним 03/04/26 Птн 09:45:56 3678333 15
image.png 22Кб, 433x218
433x218
image.png 11Кб, 362x150
362x150
>>3677899
Бизнес логика это не круды.
Пример бизнес логики это пикрил
Аноним 03/04/26 Птн 12:06:36 3678497 16
>>3678333
Правильно, бизнес-логика - это покраска кнопок.
Аноним 03/04/26 Птн 12:32:14 3678526 17
>>3678333
У озона красиво, глаз сразу цепляется на что надо - за цену. Сразу видно, сидят бизнесмены и занимаются там логикой.
Аноним 03/04/26 Птн 12:48:59 3678550 18
>>3678497
Типо на бекенде ничего не расчитывается, да? Скидочка тебе на фронте считается, прям в консоль.логе?
А то, что эта скидка у всех разная, ты не знаешь даже
Аноним 03/04/26 Птн 13:22:52 3678605 19
>>3678550
круды это все что работает с бд, в том числе произвольные расчеты и запись результатов расчетов в БД, а бизнес-логика это слишком широкое понятие, и есть везде, в том числе на фронте - определение цвета кнопочек и тд
Аноним 03/04/26 Птн 17:38:47 3678808 20
Стикер 127Кб, 500x500
500x500
>>3678051
>при sigkill не выполняется
Перетолстил
Аноним 03/04/26 Птн 17:58:08 3678821 21
>>3678808
Щас тебе напихают. Запасся попкорном.

Мимо инженер
Аноним 03/04/26 Птн 18:00:22 3678823 22
>>3678333
>Бизнес логика это не круды.
Прав. Бизнес-логика это другое. Но что именно не буду писать, дабы не палить годноту быдлу.

Мимо инженер
Аноним 03/04/26 Птн 18:13:41 3678835 23
image.png 690Кб, 1280x720
1280x720
>>3678821
>Щас тебе напихают.
Аноним 03/04/26 Птн 18:27:34 3678847 24
>>3678051
> sigkill
Если компьютер выдернуть из розетки, defer тоже не выполнится.
Аноним 04/04/26 Суб 00:04:31 3679001 25
>>3678605
долбоеб, у тебя все операции с данными - круды
сука, когда ж вы вдуплите то
Аноним 04/04/26 Суб 00:45:28 3679012 26
>>3678333
Двачаю, если такой всратый ui генерирует больше прибыли чем менее всратый, то это бизнес логика
Аноним 04/04/26 Суб 00:47:12 3679013 27
>>3678051
>sigkill
Ну как бы тут и не должно быть гарантий что что-то выполнится
Аноним 04/04/26 Суб 10:03:00 3679102 28
Великолепный язык, уникален в своей нише
Аноним 04/04/26 Суб 12:31:32 3679154 29
Великолепный шизик, уникален в своей шизе
Аноним 06/04/26 Пнд 18:43:53 3680827 30
>>3677844 (OP)
Парни, есть ли смысл с Ноды к вам перекатываться или один хуй работы нет?
Аноним 06/04/26 Пнд 19:02:12 3680836 31
Аноним 06/04/26 Пнд 19:40:09 3680851 32
>>3678808
>>3678847
>>3679013
Шизы, у вас язык изначально дизайнился под нормальное завершение и sigterm. И по туллингу языка это видно. Об этом я и говорил
Если точить язык под cli, то у него максимально шизовая философия для етоггт
Аноним 06/04/26 Пнд 23:02:28 3680951 33
177550566612141[...].jpg 119Кб, 600x449
600x449
>>3680851
>нормальное завершение и sigterm
Аноним 07/04/26 Втр 08:10:23 3681030 34
>>3680827
Нет, работы нет.

- мимо с ноды, не смог найти работу
Аноним 08/04/26 Срд 14:42:51 3682513 35
Ну что, goспода, пора на мороз. Авито, Туту и Skyeng начинают массовые сокращения гошников.

>Очередные сокращения в Туту, Авито, Альфа, Skyeng

>В компании Туту сейчас сокращения, об этом даже пишут публично сотрудники что меня удивило.
>Сокращения действительно большие. Источник: тут

>Из моих источников, сейчас так же сокращения в Авито в разных департаментах, связано это со снижением инвестиций в новые продукты и закрытие убыточных.

>Альфа так же старается сократить расходы и увольняет людей, пытаясь переложить временные расходы на аутстафф.

>Так же знаю что сокращение в SkyEng, об планах я знал еще полгода назад.

>По некоторым моим источникам, скоро ожидается еще пару волн сокращений в различных больших компаниях.
Аноним 08/04/26 Срд 14:43:48 3682515 36
>>3680827
Прямо сейчас гошников увольняют, а не нанимают.
В других стеках технологий такая же ситуация. Рухнумизация идет полным ходом.
Аноним 08/04/26 Срд 15:19:17 3682576 37
Аноним 08/04/26 Срд 16:01:01 3682628 38
>>3682576
Сокращения в Авито, чел...
Аноним 08/04/26 Срд 16:05:57 3682640 39
>>3682628
Ну да, в авито каждая уборщица кодит на го, как я забыл.
Аноним 08/04/26 Срд 18:04:02 3682739 40
>>3682513
Ну чё, как попереписывали на голенк?
Аноним 09/04/26 Чтв 09:46:36 3683008 41
ПОЧЕМУ В ДРАЙВЕРЕ ПОСТГРИ НЕТУ ТИПА pg.NullStringArray ?????????????
КАК Я ДОЛЖЕН ОПРЕДЕЛЯТЬ ПУСТОЙ МАССИВ ИЛИ НЕТ?
Аноним 09/04/26 Чтв 10:32:54 3683047 42
>>3683008
Вкатун, спок. Тредом ошибся. Тут сеньоры сидят только.
Аноним 09/04/26 Чтв 10:38:57 3683056 43
Аноним 09/04/26 Чтв 10:39:58 3683057 44
>>3683056
Я пишу хайлоад 1369 RPS
Аноним 09/04/26 Чтв 10:42:09 3683065 45
>>3683057
да мне похуй, мне один баскет со стрипсами и капучино, да побыстрее
Аноним 09/04/26 Чтв 10:42:35 3683066 46
>>3683065
Закешировал тебе коробку с гавном, принимай 4 часа.
Аноним 09/04/26 Чтв 10:44:13 3683070 47
>>3683066
кешируй быстрее а то барин выебет
Аноним 09/04/26 Чтв 18:02:47 3683560 48
>>3683008
потому что пустой массив и нул - разные вещи, долбоеб
в пгх есть херовина чтоб с этим правильно работать, кури доку
Аноним 09/04/26 Чтв 19:20:24 3683613 49
>>3683008
давайте лучше про умирающую гошку, чем это...
Аноним 10/04/26 Птн 01:01:04 3683773 50
>>3683560
> потому что пустой массив и нул - разные вещи, долбоеб
почему этот аноньчик сначала говорит очевидные вещи а вслед за этим пытается оскорбить?
> в пгх есть херовина чтоб с этим правильно работать, кури доку
не знаю никакого пгх, да и я давно уже нашел pq.Array, то что было нужно
Аноним 10/04/26 Птн 10:24:41 3683922 51
>>3683773
>очевидные вещи
ты свой вопрос перечитай
>не знаю никакого пгх
ясно, еще один ни дня не работавший додик
Аноним 11/04/26 Суб 02:47:56 3684764 52
>>3683922
> ты свой вопрос перечитай
и что? там всё по делу
> ясно, еще один ни дня не работавший додик
я псиной работаю а прогаю для себя
Аноним 14/04/26 Втр 19:39:55 3686946 53
Почему в Го операции с файлами не принимают Context? Как отменить операцию которая занимает слишком долго?
Аноним 14/04/26 Втр 19:53:03 3686952 54
>>3686946
Нетворковое io тоже не работает с контекстом, те методы которые принимают используют его только на этапе резолва, а потом игнорируют
Аноним 14/04/26 Втр 21:58:26 3687023 55
>>3686946
Легаси + специфика ОС.
Сам напиши. Слушай контекст и при событии исполняй file.Close(). И если с операционной системой повезет - сработает.
Аноним 15/04/26 Срд 04:10:19 3687106 56
>>3686946
Потому что контекст нужен для утечек памяти, а не для завершения работы. Единственный способ завершить работу здесь и сейчас - это убить процесс.
Аноним 15/04/26 Срд 09:22:25 3687142 57
Аноним 15/04/26 Срд 11:54:25 3687231 58
>>3687023
>Легаси + специфика ОС.
ОС то как раз все поддерживает https://linux.die.net/man/2/io_cancel
Не поддерживает Го.

>>>3687106
>Потому что контекст нужен для утечек памяти, а не для завершения работы.
Лучше бы молчал.
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
Аноним 15/04/26 Срд 14:22:02 3687376 59
>>3687231
Как же вы заебали, вкатуны малолетние. До пизды твои сигналы, если зависла внешняя железка с кривыми драйверами.
Аноним 15/04/26 Срд 17:27:26 3687491 60
>>3687376
>зависла внешняя железка с кривыми драйверами.
Ты про свои мозги? Сходи к мозгоправу, он тебе таблеточки пропишет.
Аноним 17/04/26 Птн 09:09:52 3688510 61
Вам нравиться язык?
Аноним 17/04/26 Птн 12:40:47 3688690 62
>>3688510
мне больше жопы и сиськи нравятся, но язык тож ниче
Аноним 17/04/26 Птн 14:33:50 3688783 63
>>3687231
Додстер, нахуй ты мне линукс показываешь? Я тебе че написал? Если повезет с ОС - закроют твою ебучку. Го это не linux-only язык, ебанату Пайку было похуй приводить все ОС со всеми разными имплементациями IO к единому стандарту.

Жри че дают.
Аноним 17/04/26 Птн 15:14:33 3688813 64
Аноним 17/04/26 Птн 15:30:35 3688824 65
>>3688813
В чем смвсл вашего срача? Как будто ваши жсоноукладчики не в кубере крутятся и если это поделие как то ебанет ос в контейнере - придет ООМ и все почистит по красоте. Или вы embed на гошке писать собрались?
Аноним 20/04/26 Пнд 10:14:09 3690108 66
>>3683057
Даже пыха такое выдать может
Аноним 25/04/26 Суб 10:27:46 3693566 67
Аноним 25/04/26 Суб 11:31:52 3693600 68
>>3693566
Я 20 лет в бекенде, на последней работе мы с коллегой плюсовиком вытащили из говна финтех стартап, который написали такие максимки тимлиды +33см. Го - хуйня. Максимум на что он годится - это консольные утилитки и только потому, что собирается в один бинарник. Язык ебаный, все через жопу, нет пути.
Аноним 25/04/26 Суб 14:41:51 3693676 69
>>3693600
Javaдебил, спокуху оформи уже.
Аноним 25/04/26 Суб 15:54:13 3693701 70
>>3693566
>на го все действительно так хорошо как пишет этот педрикс
Этот чел инфоцыган. Разумеется у него все хорошо и прекрасно, так как надо курсы и менторство продавать.
В реальности хуйня и работу не найти.
Аноним 25/04/26 Суб 17:20:29 3693742 71
>>3693701
но на жабе же вон все ноют, что нет работы, как так?...
Аноним 25/04/26 Суб 17:37:58 3693749 72
>>3693742
Так работы нет ни на джаве, ни на го.
Стек вообще не роляет, сейчас даже в 1С работа исчезла.

мимо безработный, есть 4 года опыта в бигтехах как с jvm так и с go бекендами
Аноним 26/04/26 Вск 17:32:14 3694327 73
1777213900815.png 1859Кб, 768x1376
768x1376
Аноним 27/04/26 Пнд 00:14:11 3694552 74
Какого хуя эррор группа не в стандартной библиотеке?
Аноним 27/04/26 Пнд 03:30:47 3694578 75
>>3694552
А почему ты так боишься подключать зависимости? Осталась травма после плюсов?
Аноним 27/04/26 Пнд 08:20:47 3694616 76
Аноним 27/04/26 Пнд 08:54:44 3694627 77
177726920603527[...].png 1101Кб, 1200x600
1200x600
Аноним 27/04/26 Пнд 17:16:39 3695051 78
>>3694578
Да, ну и меня смущает, что везде она описывается как "де факто стандарт", "да бля буду скоро в стандартную библиотеку добавят", "база, каждый должен уметь пользоваться", при этом последняя версия самого пакета 0.20, то есть как будто хуитка в стадии беты
Аноним 27/04/26 Пнд 22:20:28 3695222 79
>>3695051
тут не жава, чтобы дрочить на циферки и выпускать на каждую хуйню N-версию
го до сих пор 1.2*,и че?
Аноним 28/04/26 Втр 00:34:28 3695291 80
Сука, какая же ебанутая система модулей в го. Ну вот как можно вообще программу разделить на пакеты или просто на файлы? Почему нормально работает, только когда все в main.go?
Просто блять как?????? Как мне сделать отдельный пакет с функциями чтобы я мог его импортировать, при этом не выкладывая ничего на github?
Аноним 28/04/26 Втр 02:38:59 3695311 81
>>3695291
При чём тут блять гитхаб? go.mod создать не осилил?
Аноним 28/04/26 Втр 08:11:48 3695332 82
>>3695311
просто еще один пизданутый не осилил доку открыть и полез в гопоту, она такую хуйню про пакеты несет
>>3695291
завязывай с разработкой, ты блядь сортер не вывезешь даже
Аноним 28/04/26 Втр 13:24:51 3695523 83
>>3695222
То что у го мажорная версия 1, а у эррор группы ноль
Аноним 28/04/26 Втр 15:06:28 3695629 84
>>3695523
ну пиздуй, поищи что там с ней не так, исправь и выкати
Аноним 28/04/26 Втр 18:04:41 3695799 85
Аноним 29/04/26 Срд 00:01:15 3696015 86
>>3695222
>тут не жава, чтобы дрочить на циферки и выпускать на каждую хуйню N-версию
Регулярно делать релизы не помешало бы, это дисциплинирует.
Аноним 29/04/26 Срд 09:22:58 3696104 87
>>3696015
релиз чего блядь? там меньше 100 строк, что ты туда собрался насрать, поехавший?
Аноним 29/04/26 Срд 10:47:45 3696157 88
Аноним 29/04/26 Срд 16:20:33 3696448 89
>>3695291
Лол, я думал это норма, кек. Ну да ладно, мои петы всё равно полетят в гитхаб. А как правильно?
Аноним 29/04/26 Срд 16:21:47 3696451 90
>>3696104
>релиз чего блядь? там меньше 100 строк, что ты туда собрался насрать, поехавший?
У тебя проблемы с головой? Не можешь два приложения прочесть?
>го до сих пор 1.2*,и че?
>Регулярно делать релизы не помешало бы, это дисциплинирует.
Аноним 29/04/26 Срд 22:32:50 3696814 91
БЛЯТЬ БЛЯТЬ БЛЯТЬ ДА КАК В ЭТОМ GOВНИЩЕ ЕБАНОМ РАБОТАТЬ С ОШИБКАМИ ААААААА МОЯ ЖОПА
Нет, ну серьезно, ребзя, это же просто какой-то пиздец. Вот как я привык в любом языкнейме с нормальными эксепшнами:

- валидирую формочку, формочка невалидна - плюнулся каким-нибудь условным new ClientException(418, "формочка невалидна, пашел нахуй отсюда"), на самом верху его поймал и вернул 418 с опциональной датой
- база встала раком / ридер не ридит / врайтер не врайтит - плюнулся эксепшном, поймал наверху, пукнул в лог, вернул 500
- фейл авторизации - плюнулся AuthException, поймал, вернул 401

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

А в goвне что? Стектрейса нет, изобретать его считается не тру говновей. Предлагается юзать тот факт, что ерроры приходится руками просирать наверх через все слои, и ручками же обмазывать их дополнительным контекстом, ну ок. В сети толковых примеров, как это делают достопочтенные goспода, хуй да маленько, зато тысячи мамкиных вебмастеров наперебой друг другу рассказывают, как охуенно удобно делать fmt.Errorf("baza puknula: %w", err), ебаный стыд блять, с такими еррорами ни о каком структурном логгировании говорить конечно не приходится, не говоря уже о том, что зачастую будет крайне хуевой идеей сирануть юзеру в ебало сырым еррор месседжем, а никакой дополнительный типа message/reason с этим Errorf не протащишь.

Но хорошо, допустим я накостылил какой-то свой ахуительный кастомный еррор с возможностью врапа с обмазыванием доп контекстом. Допустим, где-то в кишках бизнес логики у меня сидит функция, которая может вернуть еррор. Что там за еррор - одному богу известно с точки зрения вызывающего кода, может форма не провалидировалась, может база пукнула, может еще что. Но если это форма не провалидировалась, то такой еррор надо пропустить наверх без изменений; если база пукнула, то надо его обмазать контекстом/каким-то трейсом и пропустить наверх; если еще что-то, то обернуть в свой кастомный накостыленный еррор и пропустить наверх; то есть это надо писать какой-то громоздкий, кривой, уродливый switch. И писать его придется, как я понял, абсолютно в каждом ебаном месте, где вызываемый код может вернуть ошибку. И как жить с таким говном?
Аноним 30/04/26 Чтв 00:13:20 3696867 92
>>3696814
>кишках бизнес логики
Ты понимаешь, что долбоёб тут ты? GOвно не предназначено для бизнес логики. Это язык консольных утилит и небольших IO приложений для обработки сетевых запросов. Всё. Юзать GOвно для бизнес логики может прийти в голову только ебанутому. То что аналоговнетные ру программисты додумались протащить его в бигтех - это тупой каргокульт в виду скудоумия. Анальники буквально как папуасы решили, что если они будут писать на языке из гугла, то станут гуглом.
Аноним 30/04/26 Чтв 00:32:06 3696874 93
>>3696814
Го не язык для веб макак с кпи в заднице, для макак дали джаваскрипт с подливой. Го - это си со сборкой мусора и писать надо вдумчиво и неспешно, как диды на мейнфреймах. В голанге ошибки сделаны хорошо. С ексепшенами ты ловишь нул референс где-то на самом верху и ебись, как хочешь. С err != nil ты на каждом шаге добавляешь осмысленную информацию через errorf и получаешь внятный трейс.
Аноним 30/04/26 Чтв 06:01:36 3696922 94
>>3696867
Так на чем писать бизнеса логику, на пхп?
Аноним 30/04/26 Чтв 09:10:44 3696953 95
>>3696814
errors.As/Is ты не осилил?
Если тебе надо преобразовать ошибку - протаскивай до хендлера и там мапь на что то юзерочитаемое.
А вообще, в нормальном продекшене, отдаешь клиенту код ошибки а он уже на тексты справочников маппит.
Аноним 30/04/26 Чтв 09:12:22 3696954 96
>>3696814
>Допустим, где-то в кишках бизнес логики у меня сидит функция, которая может вернуть еррор. Что там за еррор - одному богу известно с точки зрения вызывающего кода
Не понимаю, как это. Функция же делает одну вещь какую-то, соответственно, ошибка может быть связана только с этой одной вещью.
Аноним 30/04/26 Чтв 10:31:39 3697016 97
>>3696867
Прохладная история, братан.
>>3696874
Сука у меня PANIC блять с тебя. Я же написал в посте про Errorf, что это поебота для школоподелок. Как ты будешь структурные логи делать со своим Errorf? Как ты будешь коды ошибок и request ID протаскивать?
>>3696953
Так errors.As/Is это один хуй тот же свитч по типу еррора, и писать эту хуйню в каждом if err != nil - это полный пиздец. Вместо одного catch (MoyaEbuchayaOshibkaException e) {} надо переебываться с errors.As
Аноним 30/04/26 Чтв 11:03:33 3697063 98
>>3697016
>в каждом if err != nil
Ты прикалываешься? На уровне хендлера ловишь ошибку - кидаешь в функцию враппер. Которая уже Через As/Is приводит удобоваримый для клиента вид. Пиздец блять....
Аноним 30/04/26 Чтв 13:29:16 3697227 99
>>3696867
Почему тогда на английском много книг по бэку на го?
Аноним 30/04/26 Чтв 14:29:34 3697265 100
>>3697227
И как много их? Я только пару книжек знаю, типа cloud native go и 100 mistakes, а какие еще полезные есть?
Вот чтобы прям по бекенду было.

А так анон прав, в Европе вакансий на Го хуй да нихуяшеньки. Неиронично plata и nebius наверное два крупнейших голанк работодателя в гейропке. Ну и еще гугл, тесла и убер на го местами пишут, но туда еще попробуй попади.
Аноним 30/04/26 Чтв 15:45:45 3697332 101
>>3696874
>Го - это си со сборкой мусора
Джэва с нескучным синтаксисом
Аноним 30/04/26 Чтв 15:46:52 3697336 102
>>3697063
Он наверное имел ввиду что глядя на функцию не видно что конкретно за ошибки она выбрасывает и чтобы это понять нужно идти и читать код, который ты вызываешь
Аноним 30/04/26 Чтв 15:48:10 3697339 103
>>3696954
CreateUser, который пишет в постгрес может вернуть ошибку прав, ошибку дубликата первичного ключа, ошибку таймаута

мимо
Аноним 30/04/26 Чтв 15:49:57 3697342 104
>>3697332
Джабба с нескучным синтаксисом - это котлин. А в го специально делали каждую фичу с подходом "лишь бы не как в жабе".
Аноним 30/04/26 Чтв 15:51:32 3697346 105
>>3697342
А скала и кложури груви тогда что
Аноним 30/04/26 Чтв 15:51:46 3697347 106
>>3697339
И всё ради того, чтоб вернуть пользователю одну и ту же ошибку "Ни шмагла я".
Аноним 30/04/26 Чтв 15:53:45 3697351 107
>>3697346
Груви - скриптовая жаба.
Скала и кложура - жаба борщехлёб эдишен.
Аноним 30/04/26 Чтв 15:56:09 3697358 108
>>3697347
Ну в случае дубликата можно выкинуть 403, в случае таймаута 504, во всех остальных просто 500
Аноним 30/04/26 Чтв 15:58:20 3697363 109
>>3697358
Лучше всегда возвращать 200 и код бизнес-ошибки в теле ответа
Аноним 30/04/26 Чтв 16:02:01 3697367 110
>>3697363
Я считаю это мейнстримные практики, популяризированные легаси парашами, настоящий хайлоад инженер всегда готов к тому, что что-то пойдет не так, наиболее лаконичный способ выразить это в коде это оборачивать все запросы в 500 с данными или ошибкой в теле
Аноним 30/04/26 Чтв 19:40:01 3697547 111
>приложений для обработки сетевых запросов. Всё
И что там обрабатывают,бизнес логику? .
Аноним 30/04/26 Чтв 21:06:59 3697660 112
>>3697336
Мне похуй. Поднятся по цепочке вызовов и посмотреть где варится ошибка - возможно. Если у него там цирк с конями и ошибки оборачивается без нормального %w - пусть хуй сосёт

>>3697339
И это все можно спокойно захендлить и зампапить в одной точке.
А логгировать можешь как хочешь, хоть стринги реверсить

>>3697346
Кложу, пожалуйста, сюда вообще не затягивай. Невероятно грамотный язык в ебейшей экосистеме. Жаль работу хуй найдёшь к самураям не пойду, там релокацию просят
Аноним 30/04/26 Чтв 23:54:33 3697727 113
>>3697265
Да похуй чё там в европе, ты из треда в тред это пишешь. Если в мире существует бэк на го значит го пригоден для бэка. Точка. А мнение своё можешь в очко себе засунуть, никому оно не интересно.
Аноним 01/05/26 Птн 00:23:46 3697733 114
>>3697727
Ну европа это один из немногих рынков труда помимо рф, где ты в теории можешь хоть какую-то работу найти. Поэтому мне не похуй. Я обратно из go в jvm ушел как раз по причине отсутствия вакух на го в ЕС.

А писать бек можно на чем угодно, хоть на эликсире, но как это коррелирует с реальным рынком труда?
Аноним 01/05/26 Птн 00:34:23 3697741 115
Посоны, как вам такой план: учу Python и C (хочу научиться писать аналоги GoodbyeDPI), дальше вкатываюсь в Golang и пробую искать работу. Если не получится, то переключусь на Java. Помимо бэкенда интересна Android-разработка для реализации своих идей, поэтому Java и Kotlin имеет смысл изучить в любом случае.
Аноним 01/05/26 Птн 02:38:36 3697751 116
>>3697741
Работы уже нет, айти мертво в плане найма новых юнитов
Аноним 01/05/26 Птн 02:40:58 3697752 117
>>3697751
Я скептически отношусь к таким заявлениям. IT зависит от экономики. Экономика когда-нибудь да выкарабкается. Тогда начнут нанимать как не в себя. Новые разработчики по любому будут нужны.
Аноним 01/05/26 Птн 02:47:50 3697753 118
>>3697752
>Экономика когда-нибудь да выкарабкается.
ты уверен что доживешь?
Аноним 01/05/26 Птн 05:42:32 3697765 119
>>3697752
>Новые разработчики по любому будут нужны

Зачем?
Аноним 01/05/26 Птн 08:27:48 3697779 120
>>3697765
Чтобы затралить гейткиперов.
Аноним 01/05/26 Птн 09:52:58 3697790 121
Аноним 01/05/26 Птн 09:53:41 3697791 122
Аноним 01/05/26 Птн 09:57:07 3697792 123
>>3697016
>Реквест айди
Реквест айди шьётся в контекст через интерсептор, логгер конструируется через контекст.
> Структурные логи
Настройки логгера.
>>3697336
В языках с эксепшнами ещё лучше - непонятно, что функция вообще может ошибку бросить, лол. И там и там публичный апи ошибок/эксепшенов смотреть надо.
Аноним 01/05/26 Птн 14:00:45 3697926 124
>>3697753
Как Бог даст.

>>3697765
Потому что старые разработчики выйдут на пенсию или перекатятся в другие сферы.

>>3697791
Почему это имеет значение?
Аноним 01/05/26 Птн 17:07:22 3698029 125
>>3697926
К тому времени уже ИИ заменит всех как раз
Аноним 01/05/26 Птн 17:13:56 3698034 126
>>3698029
>К тому времени уже ИИ заменит всех как раз
Откуда такая уверенность?
Аноним 01/05/26 Птн 17:52:12 3698058 127
>>3698034
ИИ в целом уже сейчас может писать код любой сложности для любого проекта. От круд поделки до движка распределенной СУБД. CockroachDB например сейчас целиком нейронками пишется.

В ближайшие годы никакого найма не будет - будут только сокращения. Сокращения будут идти нонстопом следующие 10-20 лет, пока нейронки не выведут на качественно новый уровень и тогда работники совсем станут не нужны.

>>3697741
>пробую искать работу
Работы больше нет в этой индустрии, сынок. Иди учи что-нибудь другое, сантехнику, сварку, как плитку ложить, на врача вон пойди отучись - работа всегда будет. Айти умерло вне зависимости от стеков технологий. Можешь хоть семи пядей во лбу быть - работу уже никогда не найдешь. Даже если ты выпускник физтеха, мехмата, факультета компьютерных наук - один хер работу не найдешь. Кончилась наша индустрия.
Аноним 01/05/26 Птн 18:01:29 3698068 128
>>3697752
>Экономика когда-нибудь да выкарабкается
Это случится когда тебе будет 50+ лет, сынок. А я уже к тому времени походу в гробу буду лежать. Не дождемся мы этих времен.
Аноним 01/05/26 Птн 18:09:16 3698074 129
>>3698058
Тогда что ты забыл тут?
Аноним 01/05/26 Птн 18:11:29 3698076 130
>>3698074
Я в /pr 10 лет сижу. Каждый день сюда захожу. Сейчас в основном просто чтобы пообщаться в МВП треде с анонами по старой памяти.
Аноним 01/05/26 Птн 18:22:19 3698082 131
>>3698074
Это поехавшая омежка с пенсией по шизе. Уже 10й год срет тредами про "айти все", можешь в архиваче глянуть ее треды 7-10 летней давности.
Аноним 01/05/26 Птн 18:33:28 3698089 132
>>3698058
>ИИ в целом уже сейчас может писать код любой сложности для любого проекта.
Компилятор С сможет написать?
Аноним 02/05/26 Суб 09:39:55 3698351 133
Аноним 02/05/26 Суб 09:41:19 3698353 134
>>3698082
Ты сам это нафантазировал?
Аноним 02/05/26 Суб 10:54:04 3698383 135
>>3698082
Хех, ну неси сюда мои треды 7 летней давности.
Аноним 03/05/26 Вск 20:17:10 3699337 136
Есть какой-то устоявшийся подход для возвращения из функции множества ошибок? Мой кейс: функция processSingleFile() получает содержимое файла, обрабатывает его. В случае ошибки возвращает ее. Эту функцию вызывает processFiles() которая в цикле вызывает первую. Сейчас чтобы не валить обработку пачки внутри processSingleFile() ошибки просто логгируются, я хочу логгировать всю хуйню уровнем выше, поэтому думаю завести в processFiles слайс ошибок и просто туда аппендить все что вернет processSingleFile. Со стороны кажется что это лютый говнокод, но в 90% случаях когда мне так казалось старшие коллеги говорили тип это ок, в го так принято. Погуглив нашел две либы для мультиэррора: от убер и хашикорп, но тащить либу чтобы собрать ошибки в одном месте кажется ебланством. В стандартной библиотеке есть errors.Join, но конкретно мне он не подходит тк ебаный zerolog игнорирует \n которые подставит в конец каждой ошибки джоин и просто высрет все одной строкой. Как быть?
Аноним 03/05/26 Вск 20:37:34 3699343 137
>>3699337
В самом Го подход следующий: в сигнатуре метода возвращается error, на деле там некий MyErrorType который, или алиас для слайса MyOtherError, или структура со слайсом MyOtherError.
Аноним 03/05/26 Вск 20:42:39 3699346 138
>>3699343
Может тогда обертку в сигнатуре и указывать. Принимайте интерфейсы, возвращайте структуры же
Аноним 03/05/26 Вск 23:00:18 3699409 139
>>3699346
Нет в случае error рекомендуется именно error
https://go.dev/doc/effective_go#errors
>Library routines must often return some sort of error indication to the caller. As mentioned, Go's return values make it easy to return a detailed error description alongside the normal return value. It is good style to use the built-in interface type error for this purpose.

Это сделано из-за классической ошибки с приведением nil структуры к интерфейсу
https://go.dev/play/p/mHDKOMhP5JL
Аноним 04/05/26 Пнд 00:26:15 3699445 140
>>3699409
Уебанство, я должен в голове держать что нужно скастить эррор именно к моему типу
Аноним 04/05/26 Пнд 10:40:10 3699531 141
>>3699445
вот, может научишься документировать свой говнокод, так и до нормальной макаки доберешься
Аноним 04/05/26 Пнд 11:08:25 3699558 142
>>3699531
Задокументированный говнокод таковым не является?
Аноним 04/05/26 Пнд 11:32:47 3699575 143
>>3699558
долбоеб, если у тебя проблемы с причинно-следственными связями, то поясню: документация - первый шажок к тому, чтобы стать нормальным инженером
Аноним 04/05/26 Пнд 11:56:11 3699586 144
>>3699575
Ты проигнорировал мой вопрос
Аноним 04/05/26 Пнд 12:40:00 3699613 145
>>3699586
я не отвечаю на вопросы долбоебов, которые ты сам себе придумал и считаешь важными, но они не имеют отношения к дискуссии, потому что логика, тупое ты уебище
твой вопрос из анека про стаса михайлова ебущего детей
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов