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

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

Ответить в тред Ответить в тред
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 571 39 244
Go тред №31 /go/ Аноним 02/09/24 Пнд 07:54:21 3262042 1
1000021723.png 24Кб, 1024x385
1024x385
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://github.com/avelino/awesome-go

Прошлый тред:
>>3195987 (OP)
Аноним 02/09/24 Пнд 12:31:11 3262333 2
Аноним 02/09/24 Пнд 14:26:36 3262439 3
джуны, вы НИКОГДА не найдете работу на Go. Просто no chance. Но можете, конечно, выдрачивать год-полтора (проебёте время впустую), это язык для ОГРОМНЫХ сервисов, вы там нахуй не нужны, язык для миддлов+, сеньёров. Тратьте время дальше. Не верите - чек вакансии, мы не в пендосии.
Аноним 02/09/24 Пнд 15:22:37 3262474 4
>>3262439
Ето в пендосии вы никогда не найдете работу на го. А в РФ го теперь такой же мейнстрим, как пхп или питон. Кмк го вообще только в России и Китае взлетел, а на западе его используют только фаанги и бывшие джавашопы с кучей денег.
Аноним 02/09/24 Пнд 15:40:38 3262487 5
>>3262439
Думаешь твои потуги в гейткипинг хоть на йоту повлияют на рыночек?
Аноним 02/09/24 Пнд 17:02:58 3262566 6
>>3262474
>>3262487
Упрощаю: покажите мне хотя бы ОДНУ джуновскую вакансию на Go в РФ. Одну!
А остальным скажу - бегите! - в Go, если вы уже с хорошим опытом в backend, в QA/JavaScript, если вы новичок.
Аноним 02/09/24 Пнд 17:35:31 3262625 7
Аноним 02/09/24 Пнд 17:44:44 3262634 8
>>3262625
не, ну годная вакансия, но это Ростов-на-Дону и таких вакансий ОЧЕНЬ мало в этом и весь поинт. Да, с одной я погорячился, но шансы найти работу это не увеличивает. Вы просто посмотрите на другие стэки. Ну и главный да, ещё совет джунам не прыгать по языкам, выбирайте - учите BACKEND - если он вам так интересен, перескочить всегда сможете. Но выбирать Go первым - очень-очень сомнительно, это далеко не мейнстрим, мейнстрим это нода с пхп.
Аноним 02/09/24 Пнд 18:19:50 3262663 9
>>3262634
Гейткипер извивается как уж на сковороде: сначала нет вакансий, потом есть но мало и вообще это Росов-на-Дону и вообще идите в ноду или пхп вкатывайтесь, нечего тут это самое. Насколько нужно быть неуверенным в себе как в специалисте, чтобы бояться конкуренции от вкатунцов...
Аноним 02/09/24 Пнд 22:12:57 3262835 10
>>3262439
>это язык для ОГРОМНЫХ сервисов
Представляю объем бойлерплейта в этих огромных сервисах на Go.

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

Мне кажется Go возможно скоро умирать начнет. Вижу популярные либы на гитхабе для Го с кучей звезд - очень часто встречаюсь на заброшенные проекты. Где последний коммит был года 3 назад. Или 5 лет назад. Там какие-то issue копятся, но поддержки как таковой уже нет.

А в js и питухоне все наоборот, куча популярного тулинга пилится огромными сообществами и не забрасывается.
Аноним 02/09/24 Пнд 22:20:47 3262841 11
>>3262439
браток подскажи чё учить то
пхп или го?
сейчас профильную вышку получаю
Аноним 02/09/24 Пнд 22:27:28 3262848 12
>>3262835
Блять, кто нахуй на этот буллшит поведется, видимо тот, кто ни разу серверную лапшу на пистоне не видел, ну не мудрено, видевшие вырвали себе глаза и не видят уже ничего.
Аноним 02/09/24 Пнд 22:34:34 3262853 13
>>3262848
Асинхронный питон это лютое говнище. Вот это реально невозможно читать. Если вас приглашают на проект с асинхронным питоном в бекенде, то не идите туда.

Но обычный синхронный питон вполне неплох. Если есть цель быстро наговнякать, то самое то.
Аноним 03/09/24 Втр 00:00:17 3262907 14
>>3262625
>Знание реактивного программирования;
Я что-то не отдупляю, нахера это говно в Го?
Аноним 03/09/24 Втр 00:53:03 3262925 15
>>3262907

> Извините, а вы не знакомы с реактивным программированием? Наш проект очень быстро развивается и нам нужно эффективное и правильное и быстрое исполнение задач, поэтому нам нужны реактивные программисты. Хрюша тихо кидает резюме в урну и говорит В любом случае, спасибо, я вам обязательно напишу!
Аноним 03/09/24 Втр 01:12:57 3262927 16
>>3262853
Бредятина. Вкусовщина. Ничем не отличается. Питон как питон. По структуре кода питонопроекты ничем от го не отличаются. Если сделать на го монолит такая же лапша будет.
Аноним 03/09/24 Втр 10:50:38 3263141 17
Перекатываю вопрос:

Сап, как в go обстоят дела с gui? Необходимо сделать простой секундомер с возможностью вывода графика результатов.
Что есть на рынке легкого, чтобы не тянуло за собой ничего, работало просто как компоненты и было кроссплатформенным? Пока из такого выцепил fyne, но мб еще что есть

Потрогал немного файн этот, нихуя не понятно, но достаточно интересно. Вопрос открытый. Есть ли какой-то стандарт для GUI на go?
Аноним 03/09/24 Втр 12:18:03 3263210 18
>>3263141
>Сап, как в go обстоят дела с gui
Все очень плохо.

>>3263141
>Необходимо сделать простой секундомер с возможностью вывода графика результатов
Python + PyQt. Остальное нахуй не нужно.
Аноним 03/09/24 Втр 12:21:48 3263213 19
>>3263141
google -> awesome go -> gui (сам попробую на wails пописать микропоеботу для себя, но пока не нашел, как у него обстоят дела с глобал хоткеями)
Аноним 03/09/24 Втр 12:39:32 3263230 20
>>3263141
В тысячи раз легче на js/ts сделать.
Аноним 03/09/24 Втр 14:42:18 3263341 21
>>3263210
> Остальное нахуй не нужно
Тут скорее смысл покопаться в своем родном ГОвне

>>3263213
Интересное решение, посмотрю в его сторону.
> обстоят дела с глобал хоткеями
Что ты имеешь ввиду под глобал хоткеями?

>>3263230
Имеешь ввиду с помощью электрона?
Аноним 03/09/24 Втр 14:45:18 3263343 22
>>3263341
>электрона
> PyQt

вы ебанулись заставлять юзеров грузит себе целую среду интерпретатора питона вместе с вашим кодом или вообще целый ёбаный хромо-браузер (!!!) (електрон)

Что мешает вызвать системный рисовальщик окон из go? или даже залупу-в-себе вроде QT кросплатформенную подключить
Аноним 03/09/24 Втр 15:08:53 3263351 23
>>3263343
Вот как раз возник вопрос по теме. Как я понял для GUI есть два подхода: либо на основе web (использовать html/css/js и типо рендерить браузер для них), либо использовать нативные??? вещи типо qt или gtk
Правильно понимаю, что второй вариант оптимальней\производительней\легче? Еcть какой-то хороший материал на эту тему, а то я ничего толкового не смог нагуглить, а разобраться хочется?

> системный рисовальщик окон из go
Не подскажешь что это, пожалуйста?
Аноним 03/09/24 Втр 16:16:53 3263384 24
>>3263343
Юзеры обычно неуважительно относятся к программам которые мало весят. Много весит - значит есть есть добро в программе. Не зря качал с торрента. Мало весит - хуйня ничего не умеющая.

Если ты что-то полезное гуешное на го напишешь, а не пустые окошки на винапи,то дистрибутив твоей программы тоже будет весить огого.
Аноним 03/09/24 Втр 16:20:37 3263387 25
Аноним 03/09/24 Втр 16:47:19 3263412 26
Аноним 03/09/24 Втр 16:59:15 3263437 27
>>3263412
окей, сиди без работы дальше
Аноним 03/09/24 Втр 17:12:25 3263455 28
>>3262663
так и в чем я не прав в итоге? не, ну если готовы на стажировке год за дошик сидеть - дерзайте, может, и выйдет у вас что. На стажировку нормальную попасть тоже челлендж. А можно не страдать хуйнёй, например
Аноним 03/09/24 Втр 17:18:04 3263465 29
>>3263341
> Что ты имеешь ввиду под глобал хоткеями?
Мне нужно, чтобы приложение отрабатывало комбинацию клавиш, даже когда оно неактивно.
В некоторых фреймворках такого нет, есть только локальные хоткеи, которые работают при активном окне приложения
Аноним 03/09/24 Втр 19:42:02 3263688 30
Аноним 03/09/24 Втр 20:25:19 3263745 31
>>3263465
Вот такое и мне нужно на самом деле. Я нагуглил их пример хоткеев, но не понятно глобальные они или нет, и это в альфе третей версии.

А всякие библиотек для хокеев это не то?
Аноним 03/09/24 Втр 21:07:27 3263786 32
>>3263745
> А всякие библиотек для хокеев это не то?
Действительно, как то я и забыл про это. Первая же ссылка в гугле дает пакет с "Global hotkey registration without focus on a window".

Завтра попробую wails поковырять
Аноним 03/09/24 Втр 22:03:36 3263809 33
>>3263341
>Имеешь ввиду с помощью электрона?
Да, но ещё можно как вариант взять другие решение, которые не такие популярные, но лучше по перформансу, например tauri или neutralino.

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

https://github.com/Elanis/web-to-desktop-framework-comparison
Аноним 04/09/24 Срд 08:29:48 3263957 34
gaylib.png 97Кб, 1192x598
1192x598
Анонче, у вас на голанге биндинги сломаны для raylib?
А то я тут текст "Hello world" в 0,0 рисую, а оно мне сдвигает его хер пойми куда.
Аноним 04/09/24 Срд 15:05:19 3264244 35
>>3263384
Какой же ты ебанат. Рака яиц тебе и твоим юзерам
Аноним 07/09/24 Суб 11:23:13 3266601 36
>>3263384
Такой bread только у тебя в голове, я как раз более расположен к маленьким портабл программкам, которые можно и в старые флешки засунуть.
Аноним 07/09/24 Суб 11:26:53 3266603 37
image.png 145Кб, 720x360
720x360
Я как-то, в каком-то докладе слышал, что на го вебассембле не очень удачное вышло. Это было очередное предвзятое мнение или реально есть какие-то проблемы или неудобство?
Аноним 07/09/24 Суб 11:29:42 3266605 38
>>3266601
Ты тут причём? Ты же анальник. Мы про нормальных людей
Аноним 07/09/24 Суб 11:45:14 3266616 39
>>3266605
В 2024 если ты что-то тянешь с торрентов ты уже архаичный продвинутый пользователь. Не неси чушь услышанную на ютубе.
Аноним 07/09/24 Суб 13:28:31 3266689 40
>>3266605
В этом треде все анальники по определению.
Аноним 07/09/24 Суб 14:09:53 3266715 41
>>3263213
Тоже решил потрогать wails
Мне интересно, какого хрена он дефектный проект на svelte компилит 40 секунд на M2?
Аноним 07/09/24 Суб 16:14:20 3266796 42
>>3266715
А второй раз у тебя тоже долго билдтися?

Я поставил wails, первый раз проект билдился долго (юзал ванилу js), но последующие разы все происходило быстро.

С растовским таури тоже первоначальный билд много времени занимал.
Аноним 07/09/24 Суб 17:05:38 3266848 43
>>3266796
Ха, во второй раз за 3 секунды сбилдилось
Аноним 07/09/24 Суб 18:24:04 3266932 44
А что, правду говорят, что сейчас все с Джавы мигрируют на Го? Или это маняфантазии и единичные случаи?

Как вообще оцениваете такую перспективу?

Только не надо объяснять о тоннах перфокарт с кобол кодом, который управляет 99% финансовыми транзакциями. Речь о новых проектах, никто же не хочет поддерживать легаси говно.
Аноним 07/09/24 Суб 22:39:21 3267159 45
>>3266932
Хайп дривен девелопмент существует, но в больших компаниях он случается только если приходит новый CTO с соответствующим бекграундом.

Во фразе переписать все с X на Y, ключевое это переписать а не с X на Y.
Аноним 08/09/24 Вск 03:25:14 3267266 46
Сап, откуда начался срач с Javистами и как вы к нему относитесь?
Аноним 08/09/24 Вск 10:10:02 3267361 47
>>3267266
Срачи между языками начинают неполноценные люди, компенсирующие свои проблемы за счет выбора той или иной догмы. Поэтому зачастую если видишь хейтера - то он как специалист весьма неполноценный.

Единственным исключением является, когда используют агрессивный маркетинг и тебе навязывают кривую неудобную херню вместо нормального любимого инструмента. Так например сейчас растом, который пытаются пропихнут везде и так было с го, когда его питонистам натягивали, отсюда остаточный негатив на го.
Аноним 08/09/24 Вск 12:54:36 3267484 48
>>3266932
В Тиньке гошное направление сейчас загибается. Начали очень бодро, но отсутствие созревшего фреймворка привело к адовому хаосу в проекте. Сейчас жаркие дискуссии идут об отправке большей части кода нахуй. Планируют оставить только микросервис связанный с брокерами сообщений. Походу спринг выйдет победителем, ибо опять начали жавистов искать.
Аноним 08/09/24 Вск 12:58:42 3267487 49
image.png 640Кб, 710x474
710x474
>>3267484
>гошное направление сейчас загибается
>опять начали жавистов искать
Аноним 08/09/24 Вск 13:02:01 3267489 50
>>3267487
Колесо сансары совершило очередной оборот. Лет через 5 забудут еблю, попытаются ещё раз переписать.
Аноним 08/09/24 Вск 14:40:02 3267535 51
>>3267484
Тинек это где выкинули основной фреймворк для джавы (spring) и написали свой велосипед kora? Думаю пример тинька не стоит приводить, там и на scala до сих пор пытаются писать.
Аноним 08/09/24 Вск 15:29:31 3267579 52
Аноним 08/09/24 Вск 20:15:19 3267807 53
>>3267266
>откуда начался срач с Javистами
В этом итт треде он начался. А откуда ему еще взяться? Основной тейк был про то, что в го нет нихуя и нужно писать велосипеды, а в джаве все есть.

>>3267266
>как вы к нему относитесь
Сначала был ярым сторонником джавы, активно хуесосил го в этом треде, потом семенил, притворялся разными постерами, отвечал на свои же сообщения, но в противоположном контексте, всячески понижал уровень культуры дискуссии в этом итт треде.

Сейчас я вкатился в айти на помойное python легаси и мне уже просто хочется побыстрее с питона срыгнуть в голанк.
Аноним 08/09/24 Вск 20:24:58 3267812 54
>>3266932
Переписывать древние копролиты с джавы на го дело не совсем тривиальное, в том смысле что доставать проект из копролита нужно еще уметь, иначе получится хуета полная.
Проще забить хуй и дождаться пока новый СТО не придет и не найдет бюджет на то, чтобы нанять компететнтых людей, которые смогут по нормальному вынуть проект из копролита.

Новые проекты сейчас наверное все же больше на гоуленге начинаются.
Аноним 09/09/24 Пнд 00:10:24 3267950 55
Пацаны, дайте мотивации изучать Go.
Вырос из сисадмина в девопсы, но пишу только на баше по факту. Хочу изучить Go. Что такого охуенного можно написать на нем, в чем сильные стороны языка? Дайте мотивации
Операторы для кубера писать не предлагать
Аноним 09/09/24 Пнд 00:49:23 3267963 56
Вопросы для практикующих:
- я правильно понимаю, что итоговый скомпилированный файл из go может работать как на linux, так и на windows, если там внутри нет никакой платформо зависимой херни?
- вызов баш команд будет считаться зависимостью от винды, или оно как-то хитро оборачивает?
Аноним 09/09/24 Пнд 01:14:36 3267976 57
>>3267963
>я правильно понимаю, что итоговый скомпилированный файл из go может работать как на linux, так и на windows, если там внутри нет никакой платформо зависимой херни

Если через go build собрать? Не должен. Как минимум формат исполняемых файлов в линухе и винде разный.
Аноним 09/09/24 Пнд 02:02:39 3267990 58
>>3267484
>но отсутствие созревшего фреймворка привело к адовому хаосу в проекте
Fiber религия им не позволяет использовать?
Аноним 09/09/24 Пнд 06:52:35 3268016 59
>>3267990
>Fiber
Много на нём писал? Я 1,5 года с ним работал на прошлой галере и это натуральный шлак с кучей малосовместимого говна. При этом коды испралений в они принимают очень неохотно. Пользовали свой форк фреймворка с микрофиксами и 7 правленых либ контриба, которые уже никто не поддерживал. Тащемто в спринге такой хуйни нет.
Аноним 09/09/24 Пнд 06:59:37 3268018 60
>>3267484
Не слушайте этого хейтера. Сейчас все банки выкидывают на мороз джаваскуфиду и переписывают копролиты со спрэнг фримверка и хубирнейта на гоулэнг
Аноним 09/09/24 Пнд 07:12:55 3268023 61
>>3267950

Не будет тебе никакой мотивации. Тебе либо что-то надо/интересно и ты сам пишешь, либо это тебе не нужно и хуй ты себя заставишь.
Аноним 09/09/24 Пнд 07:17:35 3268028 62
>>3268018
Не слушай этого пориджа. Там все с жабы на го переписывают уже хуеву тучу раз, но каждый раз почему-то не дописывают
Аноним 09/09/24 Пнд 07:18:13 3268029 63
>>3267950
Новый асасин на го напиши. Это будет ахуенно
Аноним 09/09/24 Пнд 07:18:36 3268030 64
>>3267484

Вот что бывает, когда набираешь олимпиадников.
Аноним 09/09/24 Пнд 07:45:10 3268038 65
>>3268030
Олимпиадники на ГОвне не пишут, в основном перекатившееся php-отребье с понятным итогом
Аноним 09/09/24 Пнд 07:47:34 3268040 66
>>3268038

Пхп-отребье собес в тинек не пройдет. А вот олимпиадники пройдут без проблем. Правда непонятно, у кого код, в результате, будет хуже.
Аноним 09/09/24 Пнд 08:03:01 3268043 67
>>3268040
Вот ты и спалился, пхп-дебил, в тиньке изики и самые простые медиум МАКСИМУМ
Аноним 09/09/24 Пнд 08:06:07 3268046 68
>>3268043

Я на пхп никогда не писал даже лол.
Аноним 09/09/24 Пнд 08:07:02 3268047 69
>>3268040
>Пхп-отребье собес в тинек не пройдет
Ну я пхп-отребье, и в тинек проходил собес, оффер был. Что с ебалом?
Аноним 09/09/24 Пнд 09:16:20 3268104 70
>>3268043
>в тиньке изики и самые простые медиум МАКСИМУМ
В тиньке полная копия процесса найма, которую взяли у яшки. Там точно такая же ебка литкодом на 3-4 секциях, секция на сисдиз и финалочка с менеджером где тебе популярно объяснят, почему 200к это норм зэпка для сеньора. Собесить тебя будут яйцеголовые порриджи из МФТИ, если что
Аноним 09/09/24 Пнд 10:15:51 3268157 71
>>3268104
>200к это норм зэпка для сеньора
Сколько норм зп для сеньора?
мимо не шарю
Аноним 09/09/24 Пнд 10:36:44 3268171 72
Аноним 09/09/24 Пнд 10:47:27 3268179 73
>>3268171
а если хорошо подумать?
Аноним 09/09/24 Пнд 12:25:00 3268257 74
Аноним 09/09/24 Пнд 13:04:01 3268293 75
>>3268179
Если хорошо, то можно и 600к в Москве.
Если просто подумать, то >>3268257
Аноним 09/09/24 Пнд 13:13:17 3268302 76
>>3268016
Какие альтернативы fiber? В го вообще актуально такое? Gin, echo, chi, что-то ещё?
Аноним 09/09/24 Пнд 13:15:11 3268304 77
>>3268293
600к в Москве у сеньора? В каких компаниях? Такая зарплата даже у тимлидов редкость. У меня есть знакомые с такой зарплатой, но это всё валютные удалёнщики.
Аноним 09/09/24 Пнд 14:46:59 3268373 78
>>3268304
>600к в Москве у сеньора? В каких компаниях?
Ни в каких. 600к с улицы ты можешь получить, если устроишься лидом или руклем отдела по знакомству. 600к сеньке будут платить, если тот отмахал 10 лет в конторе и тянет проект с самого старта. С другой стороны 600к это 6к бакинских - зарплата стажера в какой-нибудь зарубежной конторе
Аноним 09/09/24 Пнд 15:28:58 3268417 79
>>3268373
Вот именно, что ни в каких. Так что не совсем ясно зачем >>3268293-анон пиздит.
Аноним 09/09/24 Пнд 21:03:13 3268712 80
>>3268302
Так в том и проблема, что никто до сих пор не написал нормального фреймворка. Файбер, джин, эхо это всё сахарок вокруг хттп роутера от одного гигапрогера. Они под копирку делают контриб репу, куда накидивают васянских адаптеров, мидлвари, плагинов разной степени паршивости. Часть из них теряет сопровождающих и загнивает до полной несовместимости с главной репой "фреймворка" (прости Господи). В итоге имеем "а вот на джине написали 10 авенсом сайтиков", галеры с зепкой до 80к от говнарей воннаби кабанов, бигтех, который пилит свой Т-велосипед.
Аноним 09/09/24 Пнд 23:15:58 3268767 81
>>3268712
И в итоге как пишут в серьезных качественных компаниях? Просто на стандартной библиотеке?
Аноним 10/09/24 Втр 01:34:57 3268812 82
>>3268767
> И в итоге как пишут в серьезных качественных компаниях? Просто на стандартной библиотеке?

на GRPC, а так скорее всего свои обертки есть или чета такое
Аноним 10/09/24 Втр 16:59:03 3269456 83
>>3268767
В гугле все сервисы общаются по gRPC, а наружу смотрят фронтенд сервисы написанеые на С++.
Аноним 10/09/24 Втр 17:44:43 3269475 84
>>3269456
Хочу быть С++ фронтендером...
Аноним 10/09/24 Втр 21:17:01 3269615 85
>>3268767
По моему опыту из одной галеры и двух шараг с собственным продуктом, все ляпают как попало, а потом берут что-то из проверенного временем. Гошку оставляют только на узких местах. Хэтапе ручки удобнее и безопаснее дёргать полноценными фреймворками. Ссаный круд со всеми обвесами дюже сложно сколотить на голанге, вот и остаётся он уделом маргиналов. Однако, байтойобствовать в вебе, при острой нужде в параллельщине, на го одно удовольствие (сравниваю с крестами), но тёплое местечко искать было сложно.
Аноним 11/09/24 Срд 02:45:01 3269688 86
Аноним 12/09/24 Чтв 20:32:44 3271140 87
Чем большой sql запрос динамически формируете?
Конечно я могу щас нахуярить его сам, но вряд ли от иньекций супер провалидирую все
Аноним 13/09/24 Птн 03:30:58 3271402 88
>>3271140
Динамический sql надо собирать внутри хранимки, а не в коде.
Аноним 14/09/24 Суб 17:17:01 3272859 89
Что выбрать между rust и go?
Условия:
-вакансии не важны.

-использование 90% в вебе и мелкая автоматизация (язык общего назначения).

-нужно максимальное экономия по железке - cpu и памяти, то есть максимум выжать RPS на бюджетных vps.

-все еще важна скорость разработки, насколько велика разница между го и раст (как между го и с++??).

-наличие готовых стабильных библиотек.
14/09/24 Суб 17:30:24 3272871 90
>>3272859
>Что выбрать между rust и go?
rust
Аноним 14/09/24 Суб 18:19:46 3272909 91
Аноним 14/09/24 Суб 18:55:44 3272941 92
>>3272859
Rust

Лучше ты в растротреде будешь ебать мозги, чем тут.
Аноним 15/09/24 Вск 14:45:37 3273377 93
>>3272859
В go есть сборщик мусора, это значит памяти больше будет кушоть.
Аноним 15/09/24 Вск 17:19:20 3273478 94
>>3272859

> использование 90% в вебе и мелкая автоматизация (язык общего назначения).

100% Go

> нужно максимальное экономия по железке - cpu и памяти, то есть максимум выжать RPS на бюджетных vps.

Скорее всего тебе это не нужно. Разница в потреблении памяти у Rust и Ruby всего лишь в пару раз, а задрачивать перформанс в своём вебе на 1rps тебе нахуй не нужно и никогда не окупится

Поэтому Go

> все еще важна скорость разработки, насколько велика разница между го и раст (как между го и с++??).

Точно Go

> наличие готовых стабильных библиотек.

Тут похуй
Аноним 15/09/24 Вск 18:33:39 3273517 95
Какие не-Go-шные знания нужны Go-разработчику?

SQL, Docker, Linux, еще что?
Аноним 15/09/24 Вск 18:36:29 3273519 96
>>3273517
Кэфка, кликхаус, эластиксерч и прочий обвес
15/09/24 Вск 19:22:51 3273568 97
>>3273517
>Какие не-Go-шные знания нужны Go-разработчику?
Блять, нет такого понятия как КАКИЕ НУЖНЫ ЗНАНИЯ. Все фирмы разные. Все проекты разные. Одним нужно одно, другим нужно другое. Спроси МТС, web3-стартап, госкомпанию и ещё 10 компанию и ты получишь 10 разных ответов. Тебе МТС скажет, нам нужен Go, gRPC, Kafka, PostgreSQL, Redis. А web3 стартап стажет, нам нужно знание polkadot, блокчейна и всё такое.

Это надо смотреть ИН-ДИ-ВИ-ДУ-АЛЬ-НО!!
Нет никаких "универсальных знаний"
Нет никакой "базы golang"
Есть конкретный проект и конкретные знания
Аноним 16/09/24 Пнд 03:40:31 3274026 98
Го кроме как в вебе еще где-то прижился?
Аноним 16/09/24 Пнд 20:23:23 3274648 99
>>3274026
Как по мне - Го это лучший Питон
Аноним 17/09/24 Втр 00:30:18 3274763 100
>>3274026
Кубер, Докер и ещё много чего
Аноним 17/09/24 Втр 02:13:01 3274773 101
>>3274026
не, да он и в вебе не особо прижился
Аноним 17/09/24 Втр 03:05:39 3274774 102
>>3274026
Он и вебе прижился только в России, на западе хуй найдёшь работу на го
Аноним 17/09/24 Втр 08:36:17 3274812 103
>>3274026

Го -- это для простых и очень эффективных сервисов, которые делают что-то одно и простое. Прямо как Юникс. Если пытаться только на нем построить какую-то большую развесистую систему, то насосешься хуев, потому что нет ни инструментов для этого, ни бест практик.

Вроде Си, когда на нем пытаются писать что-то большое, для чего он не предназначен, типа Gtk -- приходится все изобретать с нуля, криво и неудобно. А вот для маленьких простых утилит пушка-гонка.
Аноним 17/09/24 Втр 10:20:00 3274844 104
>>3274812
>Вроде Си, когда на нем пытаются писать что-то большое, для чего он не предназначен, типа Gtk -
Xorg на СИ сделан. Doom на СИ сделан. Всё можно написать на чистом С.
Просто в С нет поддержки ООП. А ООП это ведь модно стильно удобно молодежно. Можно все писать "по человечески" не прибегая к структурам указателей на функции. Так что все и выбирают С++, чтобы не пердолится лишний раз. А так можно и на Го сделать нормальный проект.
А gtk просто гои делали, вот у них ничего хорошего и не получилось. С ведь не гибкий, в этом основном минус, что если настроил этих нелепых конструкций - то чтобы что-то прикрутить, придётся добрую часть переписывать. А ООП, оно типо гибкое, предполагается что в любой момент можно изменить любой класс, и суть программы от этого не поменяется.
Аноним 17/09/24 Втр 10:45:27 3274858 105
>RuntimeError is a no-op function but serves to distinguish types that are run time errors from ordinary errors: a type is a run time error if it has a RuntimeError
Как перестать орать с этого унтершпрахе?
Аноним 17/09/24 Втр 13:31:21 3274984 106
На больших проектах го так же быстро компилится или сказка заканчивается?
Аноним 17/09/24 Втр 13:55:45 3274997 107
>>3274984
1,3кк строк компилит около 25 минут
Аноним 17/09/24 Втр 16:23:22 3275109 108
>>3274997
>>3274997

Ну что-то хуйня какая-то. В Линупсе больше 30кк loc и пишут, что компилится 20-30 минут.
Аноним 17/09/24 Втр 19:31:56 3275276 109
>>3275109
От флагов, компрессии и сишных либ зависит. У нас максимально говённо, но поставлено на поток. Пока компилишь одну фичу, пилишь другую и наоборот.
Аноним 17/09/24 Втр 20:11:28 3275312 110
>>3274997
Тоже не вериться, собирал гигатреш на с++ на древнем железе было столько же. Есть адекваты? Сколько ваши проекты собираются?
Аноним 17/09/24 Втр 21:50:06 3275427 111
>>3274984
>На больших проектах го так же быстро компилится или сказка заканчивается?
Большие микросервисы назваются монолит, и это в джава/шарп тред.
Аноним 18/09/24 Срд 06:41:59 3275561 112
>>3275312
>>3275109
Чего не верится? CGO отключите и хелло ворлд начнёт 30 секунд компилить.
Аноним 18/09/24 Срд 07:35:23 3275572 113
>>3275427
А то! Когда в твоем коде становится больше 1к строк, надо разделить код пополам, каждую часть вынести на отдельный сервер и дергать функции через tcp стек. Это модно, стильно, как в авито.
Аноним 18/09/24 Срд 09:16:45 3275591 114
>>3275572
Если у тебя 100500 одинаковых крудов, то разбивать на микросервисы можно для горизонтального масштабирования и управляего распределения нагрузки на части. Но обычно все сводится к правильной работе с СУБД, если работа крудов состоит, чтобы ожидать ответ от СУБД и формировать жсон для фронтенда. Но вот у тебя появляются очереди и воркеры. Не так все однозначно становится. Например доске объявлений в сервисе с большим количеством пользователей потребуется очереди обрабатывающие загружаемые пользовательские изображения. Ты выносишь их на "отдельные сервера" чтобы более филигранно распределить нагрузки. Хттп ручки становятся наиболее простой частью приложения. Усложнение состоит не в количестве строк кода, а в том что становится удобнее изначально все проектировать через обработку событий, а хттп ручки оставить в тонком шлюзе.

С немного другой стороны. Ты делаешь доску объявлений несколько лет. Потом ты делаешь CRM. Какой смысл делать CRM на той же самой кодовой базе, которая к тому же устарела и требует рефакторинга для устранения технического долга? Чтобы потом рефакторить еще большее количество кода? Бизнес не может ждать. Ему нужны новые фичи уже здесь и сейчас. Более того, коммерческая разработка состоит большей частью из склеивания готовых решений от других бизнесов. В том числе селфхостед решений. Например зачем тебе писать свой SSO если ты можешь keycloack использовать в виде отдельно сервиса.

Не надо все сводить к моде на микросервисы. Даже в проектах, которые пилятся несколькими челами, им порой бывает легче что-то реализовать по-быстрому в одельном микросервисе, чем вспоминать что они 5 лет назад там писали.

Если что я к авито никакого отношения не имею..
Аноним 18/09/24 Срд 13:18:02 3275755 115
>>3275572
>Когда в твоем коде становится больше 1к строк, надо разделить код пополам, каждую часть вынести на отдельный сервер и дергать функции через tcp стек.
Потому что миллион строк кода, становится трудно поддерживаемым. А выносить можно и просто в библиотеку.

Ибифо: ко-ко-ко, а вот линупс ко-ко-ко

У линукса очень жёсткие процессы ревью кода, которыми занимаются профессионалы много лет работающие над ядром. И они не зассут сказать любому фаангу, что их патч в ядро говно и они его не примут. Потому там кодовая база в хорошей форме.

А в среднестатистической галере гребцы меняются раз в 1,5 года и попробуй скажи ПМ, что фичу надо пилить не неделю, а 2 месяца т.к. надо ещё зарефакторить кучу кода, чтобы всё было по уму. Поэтому миллион строк кода в одном сервисе, это практически неподдерживаемое говно.
Аноним 19/09/24 Чтв 12:51:01 3276547 116
Аноним 19/09/24 Чтв 12:51:52 3276551 117
Вы на маке или ленове сидите?
Аноним 19/09/24 Чтв 13:33:53 3276584 118
Screenshot 2024[...].png 328Кб, 784x1250
784x1250
Аноним 19/09/24 Чтв 13:36:06 3276586 119
>>3276584

Хуже петуха с устаревшим нищемаком просто никого нет.
Аноним 19/09/24 Чтв 16:20:54 3276675 120
>>3276551
Мощный десктоп пека на Windows 11.
Аноним 19/09/24 Чтв 16:24:16 3276679 121
Аноним 19/09/24 Чтв 16:31:29 3276683 122
>>3276679
Пояснить можешь чего плохого в десктопном пека и винде?
Аноним 19/09/24 Чтв 18:41:07 3276816 123
Аноним 20/09/24 Птн 15:36:22 3277428 124
image.png 186Кб, 792x631
792x631
https://youtu.be/h6-Jiohy1Ak?t=708

Здесь чел делает примитивный и осознанно неправильный мьютекс

в пикрил методе же будет бесконечный цикл из которого нет выхода, потому что ни одна горутина не доберется до unlock. Если так, то почему прога у него работает и что то выводит?
Аноним 20/09/24 Птн 21:24:37 3277685 125
>>3277428
Обычный спинлок. Кто-то первый проскочит цикл, остальные будут крутиться в цикле и ждать, пока первый не сделает m.state = false. Это неэффективно и без атомиков будут проблемы, но как демонстрация работает.
Аноним 20/09/24 Птн 23:16:46 3277750 126
Снимок экрана 2[...].png 433Кб, 1452x998
1452x998
Аноним 21/09/24 Суб 00:43:44 3277803 127
>>3276584
>>3277750

И нет желания стать пердоликом на линуксе?
Тоже на маке сижу, но похоже отдам его бабе и заберу ленову у нее
Аноним 22/09/24 Вск 00:33:19 3278490 128
есть ли смысл пробовать темпорал в монолите?
Аноним 22/09/24 Вск 05:21:03 3278515 129
Голангеры, как делаете запросы в бд? Raw sql, или чаще orm какой-то?
Аноним 22/09/24 Вск 10:31:56 3278612 130
>>3278515
Сырой с резолвом параметров, обычно что-то вокруг pgx.
Еще есть кверя билдеры типа squirrel, но даже их довольно редко юзают.
Аноним 22/09/24 Вск 10:33:05 3278613 131
>>3278490
Если нужен функционал темпорала - почему нет.
Аноним 22/09/24 Вск 15:11:22 3278740 132
>>3262042 (OP)
>- Ознакамливаемся с общим roadmap по изучению языка и сопутствующих инструментов: https://github.com/Alikhll/golang-developer-roadmap (постоянно обновляется сообществом)
Почитал, нашёл это:
Web Frameworks + Routers
Beego
Chi
Echo
Fiber
Gin
Revel

Что из этого по-настоящему актуально? Какие фреймворки/роутеры обязательно нужно изучить? Хочу перекатиться в го из другого бекенд стека
Аноним 22/09/24 Вск 15:11:49 3278741 133
>>3278740
Последний коммит 3 года назад, кстати, поэтому и вопрос.
Аноним 22/09/24 Вск 19:14:35 3278868 134
Аноним 22/09/24 Вск 19:15:30 3278869 135
>>3278740
>Beego
>Echo
>Fiber
>Gin
>Revel

сразу нахуй
Аноним 22/09/24 Вск 19:18:47 3278870 136
>>3278869
>Beego
>Revel

ларавело подобная срань - го для такого не годится

>Gin
>Fiber

профита от них мало
джин это тупо роутер над дефолтным хттп сервером
а фибер построен на fasthttp, который для лютого хайлоада
там ебалово с тем что буфера переиспользуются и тд
и если какой-то database/sql подрубить то профит от быстроты фаста аннулируется потому что оно будет узким местом
Аноним 22/09/24 Вск 19:21:12 3278873 137
>>3278870
я в конторе где работаю (fortune 100) использовал фаст для случаев когда надо что-то быстро от клиента получить - отправить на обработку и отправить назад небольшой ответ типа 200 ОК
обработка в моем случае - отправка в буфер для сохранения в кликхаус
Аноним 22/09/24 Вск 19:32:15 3278882 138
>>3278740
короче гайд для твоих говноприложух
- пишешь openapi 3 спеку для апишки
- берешь https://github.com/ogen-go/ogen и генеришь роутер с дефинишенами структур и функций
если оффнуть strict server то получишь доступ к http.ResponseWriter, http.Request, если включить то будут удобные хендлеры без ручной (де)сериализации джейсонов
Аноним 22/09/24 Вск 19:33:04 3278885 139
>>3278882
NB: являюсь кунтрибутором в эту парашу
Аноним 22/09/24 Вск 19:44:21 3278896 140
>>3278882
Это хорошо чтобы делать огромные коммиты, при мелких правках апи, для изображения бурной деятельности?
Аноним 22/09/24 Вск 19:45:25 3278897 141
>>3278896
da там дохуя кодогена
Аноним 22/09/24 Вск 20:57:36 3278957 142
>>3278869
То есть chi норм?

>>3278870
А что насчёт chi, echo и net/http?
Аноним 22/09/24 Вск 21:00:59 3278961 143
>>3278957
роутер chi идеал для net/http
echo это как джн
net/http это самый стандарт
там еще и более функциональный роутер завезли в новых версиях
https://go.dev/blog/routing-enhancements
Аноним 22/09/24 Вск 21:02:20 3278963 144
>>3278873
>я в конторе где работаю (fortune 100)
Хуя ты слон, можно кулстори?
Аноним 22/09/24 Вск 21:03:01 3278964 145
>>3278961
ехо как джин то есть - малопрофитно
Аноним 22/09/24 Вск 21:10:37 3278973 146
>>3278963
та финансы ничего особенного
до 22 года даже в рф был офис
Аноним 22/09/24 Вск 21:34:23 3278990 147
Аноним 22/09/24 Вск 21:38:23 3278993 148
Аноним 24/09/24 Втр 00:31:16 3279836 149
>>3262042 (OP)
Подскажите пожадуйста, как сделать так что бы при обращении например к http//example.com запрос попадал сначала на localhost:8000 и потом уже оттуда перенаправлялся на http//example.com. Именно так а не чтобы запрос шел на localhost:8000
Аноним 24/09/24 Втр 05:29:06 3279857 150
>>3279836
Что значит переправлялся? Хттп редирект? Или сервер должен другой сервер опросить?
Конкретно задачу опиши, а не то как ты ее решить хочешь.
Аноним 24/09/24 Втр 06:24:00 3279861 151
Аноним 24/09/24 Втр 07:28:55 3279872 152
Го до сих пор это микродолбежка в круд? Или же язык повзрослел и юзается активно где-то еще? (гуи, геймдев, вебассембли, МЛ и еще что-то?)

Пытаюсь выбрать себе язык общего назначения, мечусь между шарпами и го, хочу понять что есть го на сегодня.
Аноним 24/09/24 Втр 10:49:34 3279967 153
>>3279872
>микродолбежка в круд
нет - это язык для инфраструктуры в первую очередь
круды сейчас на джаваскриптах пишутся

>вебассембли
про внутренности го (scheduler, etc) почитай для начала - это как jvm натянуть на вебассембли - такого нет и не будет

>МЛ
питон же


>Пытаюсь выбрать себе язык общего назначения

Rust or C++
Аноним 24/09/24 Втр 10:53:08 3279969 154
>>3279872
По твоему описанию тебе нужен шарп или джаваскрипт без иронии
Аноним 24/09/24 Втр 11:00:41 3279982 155
>>3279857
Надо сделать так, чтобы все запросы на сайт hugo перехватывались прокси сервером
Аноним 24/09/24 Втр 11:34:59 3279994 156
>>3278993
Ничего себе, Дойч стал го использовать? А что за проект?
Аноним 24/09/24 Втр 12:14:52 3280016 157
>>3279994
да микросервисы на джаве и го
конкретнее сказать не могу
Аноним 24/09/24 Втр 14:06:35 3280088 158
А вы тут все миллиардеры?
Аноним 24/09/24 Втр 15:25:15 3280122 159
Аноним 24/09/24 Втр 16:02:09 3280139 160
>>3279967
>про внутренности го (scheduler, etc) почитай для начала - это как jvm натянуть на вебассембли - такого нет и не будет
Некомпетентный
>Rust or C++
Говноед
Аноним 24/09/24 Втр 16:03:34 3280144 161
Аноним 24/09/24 Втр 16:23:04 3280164 162
>>3279969
на джаваскрипте пишут уже игры?
Аноним 24/09/24 Втр 16:42:08 3280181 163
>>3280164
Нет, но он подходит для многого другого:
- фронтенд
- бекенд
- мобилки
- десктоп
- IoT
- web3
- ml
Аноним 24/09/24 Втр 16:43:54 3280182 164
image.png 3Кб, 286x42
286x42
У меня ide не видит тип error встроенный, как это фиксить ваще
Аноним 24/09/24 Втр 17:19:23 3280197 165
>>3280139
>Некомпетентный

поясни за базар для начала
Аноним 24/09/24 Втр 17:21:18 3280198 166
>>3280181
>- десктоп
говно электрон
>- web3
скам для дебилов
>- ml
питон для обучения и тритон для прода
>- бекенд
круды да
Аноним 24/09/24 Втр 17:26:50 3280204 167
>>3279994
>Дойч стал го использовать?
Давно уже и не только он. Потихоньку выкидывают джаваговно и джаваскуфидонов спрингописателей
Аноним 24/09/24 Втр 17:53:09 3280225 168
>>3280197
Чушпанам не поясняют
Аноним 24/09/24 Втр 18:02:10 3280236 169
>>3280198
>говно электрон
Во-первых, сам электрон в последние годы не настолько плох, как про него говорят. Во-вторых, есть tauri, neutralino и другие инструменты.
>скам для дебилов
Нет, скорее ты дебил, который называет скамом те вещи, которые не понимает.
>питон для обучения и тритон для прода
Да, питон для ml однозначно лучший выбор.
>круды да
Нет, не только круды. В принципе можно сделать всё то же самое, что можно сделать на го, кроме CPU bound задач, хотя и их при желании можно, но их обычно оффлоадят в отдельный микросервис на низкоуровневом языке через кафку/реббит/натс/etc.
Аноним 24/09/24 Втр 18:50:12 3280318 170
>>3280204
>Потихоньку выкидывают джаваговно и джаваскуфидонов спрингописателей
Шизик выдохни. У ДБ ОДНА вакансия для Говноланг разработчика. Даже Кобол востребованей, там около десятка вакансий.
Аноним 25/09/24 Срд 00:58:11 3280689 171
nova-filepond-E[...].png 345Кб, 851x504
851x504
Аноним 25/09/24 Срд 01:30:51 3280696 172
Подскажите, стоит ли выбирать го как первый язык программирования без какой либо базы?
Аноним 25/09/24 Срд 04:13:36 3280704 173
>>3280696
База чего блять? Го - это обычный язык общего назначения. Это не специализированный язык типа ampl для комбинаторики и оптимизации. Это не матлаб, это не симулинк и даже не systemc. На нём не проектируют электронику. Какую блять можно знать базу, если он универсальный язык по определению? Ты суперкомпьютеры чтоли собрался программировать или чё блять? Пиздец тупые вопросы.
Аноним 25/09/24 Срд 04:59:46 3280706 174
>>3280696
Я бы даже рекомендовал для новичков.
1) Он прост, после других языков не хватает множества синтаксического сахара, от чего неудобно, а тебе будет норм.
2) Нет ООП деградирования, ты пишешь как думаешь, не создавая слоенного ООП пирога, размазывая бизнес логику.
3) Легко читается и сопровождается, можешь легко чужие сорцы читать. Что порой нужнее чем писать код самому.
Я как-то два года спустя открыл свой котлин код и вообще нехера не понял эту магию.

В общем, бери не парся. В каком-нибудь шарпе ты полгода только базу учить будешь, а тут ты и либы подергаешь и напишешь что-то.
Аноним 25/09/24 Срд 06:53:02 3280725 175
>>3280696
Нет. На го вакансии в основном в бигтех, там ты с голым знанием го нахуй не усрался
Поэтому каждый гошник - перекатыш из пхп/джавы/питона/етс
Аноним 25/09/24 Срд 11:29:12 3280919 176
>>3280696
Просто изучить - лучший вариант. Гошка простая, легкая, без килотонн сахара.
Если вкат - то с натяжкой, ибо требуют опыт
Аноним 25/09/24 Срд 11:55:24 3280936 177
>>3280696
Бери шарпы, де-факто ООПшную тему знать и понимать надо
Аноним 25/09/24 Срд 13:26:40 3281002 178
>>3280696

Советую взять паскаль как первый
Аноним 25/09/24 Срд 17:51:18 3281235 179
>>3280704
я не могу ответить для чего база - так говорят различные блогеры и тд.. Один сослался на то, что обучение на Go всегда подразумивает то, что ты уже знаешь эту самую "базу" и основы для прохождения курсов, обучения и тд
>>3280706
Большое спасибо за совет!
>>3280919
Работаю рекрутером в it) Везде требуют опыт. Когда джунов ищу с опытом от года - больше половины с накруткой и сразу понятно что нигде не работали. Все понимают прекрасно всё, но если чел талковый, то проблем нет, как правило. У меня больше вопрос про сложность и возможность обучения Go с нулся
>>3281002
)))
Аноним 25/09/24 Срд 20:40:45 3281431 180
>>3281235
>я не могу ответить для чего база - так говорят различные блогеры и тд.
Это из разряда "посоветуйте то, сам я не знаю что, чтобы я тоже знал".

>Один сослался на ...
Одна бабка сказала. В интернете столько людей, я охуею комментировать что каждый спизданул где-то в интернете. Давай так... тот кто сказал имеет какие-то регалии? Он важная шишка в гугле, майкрософте, амазоне? Он обладает глубокой экспертизой? Нет? Ну и всё, шли его нахуй. Любой школьник может зайти в интернет и спиздануть любую хуйню. Не значит что это хороший совет.
Аноним 25/09/24 Срд 20:57:28 3281451 181
>>3281235
>знаешь эту самую "базу" и основы для прохождения курсов
Вообще, "основы" - это такая эфемерная хуйня, примерно как точка джи у бабы. Если ты спросишь 10 разных программистов, то получишь 10 разных, конфликтующих ответов. Она строится только на вкусовщине и ничем ином. Спросишь Петяна, он тебе с пеной у рта будет доказывать, что нужна математика в первую очередь, а спросишь Васяна, он тебе начнёт доказывать что нужно знать базы данных. Тут и так почти каждый день идёт срач какой фреймворк/библиотека лучше. Просто надо учить тему, а не ебать голову "основами", "базами" и так далее. Читаешь книги, желательно несколько штук, вот это и будет твоей базой.
Аноним 25/09/24 Срд 21:15:14 3281460 182
>>3281235
> но если чел талковый, то проблем нет, как правило
А в чем толковость проявляется? Просто понимает, о чем говорит? А то я уже месяца полтора откликаюсь и все мимо. Щас вообще без опыта в разы меньше стало вакансий. Прям руки чешутся годик накрутить, да вот хз что писать даже(
Аноним 25/09/24 Срд 21:17:41 3281463 183
Можете пж подсказать какой-нибудь материал, где микросервисное приложение с нуля пишут. Можно даже не на гошке. Вообще ничего найти не могу, практического. Одна вода да теория
Аноним 25/09/24 Срд 22:04:28 3281494 184
>>3281463
на ютубе же полно ты просто не русскими буковами ищи
Аноним 25/09/24 Срд 22:09:28 3281498 185
Аноним 25/09/24 Срд 22:14:13 3281502 186
Аноним 26/09/24 Чтв 09:20:34 3281674 187
Кто-нибудь пишет на го что-то кроме микросервисов?
Аноним 26/09/24 Чтв 11:12:45 3281793 188
image.png 82Кб, 407x400
407x400
>>3281502
> на питухоне
> от индуса
Yes honey...
Аноним 26/09/24 Чтв 11:14:30 3281797 189
>>3281498
А норм курс вообще? А то отус слышал не лучшими челами считаются. Да и фраза "демо-занятие" смущает. Но за наводку спасибо, потыкаю немного видосы
Аноним 26/09/24 Чтв 15:52:05 3282033 190
Как часто на рил работы нужен RPC? стандартной либой нет хттп достаточно ограничиться чтобы получать свою пайку джуном?
Аноним 26/09/24 Чтв 16:52:08 3282103 191
Как думаете, Го -- это тема надолго? Или поматросят и бросят как Руби?
Аноним 26/09/24 Чтв 17:06:52 3282120 192
Чет совсем поехавшие залетать начали
Курсы,рекрутеры
>>3282103
Да, смысла учить го нет, учи джаву
Аноним 26/09/24 Чтв 17:47:06 3282164 193
>>3282103
Надолго не надолго а доить надо пока у кабана божья роса с зёнок не стекла окончательно
Аноним 26/09/24 Чтв 17:58:46 3282185 194
137594463518506[...].png 232Кб, 559x604
559x604
>>3282103
С учетом как массово бигтех на него перекатывается и санкции летят на тулинг и IDE, Го у нас теперь навсегда.
Аноним 26/09/24 Чтв 19:17:46 3282260 195
>>3282120
+ заметил как инфоцыгане переключились на рекламу го. Реклама как с питоном, пиар под видом простого языка чтобы вкатун мог написать бота за три дня.
Ну вот теперь как в питухоне, 1200 стажеров толкаются локтями за недавнюю стажку в авито.
Аноним 26/09/24 Чтв 19:51:51 3282292 196
>>3282260
На говнаря реал закатиться мнение из жопы если что если свитчиться миддлом, причём подрочив хорошенько многопоточку. Вкатышам соболезную
Аноним 26/09/24 Чтв 21:06:27 3282364 197
>>3282120
то есть чел-рекрутер, который ищет разных разрабов и находится по сути в этом же ИТ - поехавший?)
чел со стройки норм, а чел, который намного ближе не устраивает?))
ты еблан, ой
Аноним 26/09/24 Чтв 21:29:18 3282376 198
>>3282364

Не хочется верить что это сообщение реального человека, тем более рекрутера
Аноним 26/09/24 Чтв 21:39:17 3282388 199
>>3281674
Да, пишем монолит на работе
Аноним 27/09/24 Птн 09:23:33 3282636 200
>>3282388
ну и как впечатление, сколько компилиться хотя я спрашивал про что-то еще кроме веба
Аноним 27/09/24 Птн 10:56:45 3282761 201
Есть ряд асинхронных задач, что лучше подойдет го или раст?
Аноним 27/09/24 Птн 15:33:56 3283008 202
>>3282185
>санкции летят на тулинг и IDE
Пиздец ты дебил братишка.
Аноним 27/09/24 Птн 15:34:54 3283009 203
>>3282761
Раст лучше ты будешь там тупые вопросы задавать
Аноним 27/09/24 Птн 20:48:35 3283400 204
Вот мне как PHPшнику (разбираюсь в ООП, ДДД, симфони ужаса не вызывает и тд), для чего GO?
Для каких кейсов? Чем он лучше обычного микросервиса на php, например сходить в бд, достать данные вернуть, или запустить через консольку ffmpeg, обработать что-то и тд.

Что на GO делают вообще?

И далее вопрос, что нужно знать в GO и как долго вкатываться?
Аноним 27/09/24 Птн 21:02:08 3283408 205
>>3283400
1. Написать скрипт и не ебаться с окружением для деплоя.
2. Ультра быстрый шлюз в кластере.
3. Байтоёбство с параллельным выполнением.
На большинстве проектов голенг вставляют только для разгибания узких мест. Писать на нём сложную бизнес логику можно только в случае, если ты готовишься съебаться к другому кабану.
Аноним 27/09/24 Птн 21:58:07 3283448 206
>>3283400
>Чем он лучше обычного микросервиса на php
Ты докером хоть раз в жизни пользовался? А кубернетисом? А прометеусом пользовался? Ты можешь нечто подобное написать на пхп? Чтобы был докер на пхп? Нет? Ну и всё нахуй, сиди и не пизди.
Аноним 27/09/24 Птн 22:29:04 3283478 207
>>3283408
>Писать на нём сложную бизнес логику можно только в случае, если ты готовишься съебаться к другому кабану.
Как раз Го в этом вопросе даже лучше. Код очень прямолинейный и нет никакой магии.

В отличии от джавы, где вешаешь аннотацию - и у тебя магически начинает выполнятся куча стороннего кода.
Аноним 27/09/24 Птн 22:41:03 3283491 208
>>3283478
>В отличии от джавы, где вешаешь аннотацию - и у тебя магически начинает выполнятся куча стороннего кода.
Да на пхп давно уже такая же хуйня. Современный коммерческий пхп это недоспрингбут
Аноним 27/09/24 Птн 23:07:03 3283506 209
>>3283448
Школьник, съеби нахуй, заданы конкретные вопросы, а читать мне твои вскукареки мне неинтересно, мне нахуй не нужно писать кубернетис и докер, меня больше волнует мотоцикл и фургон для него
Аноним 27/09/24 Птн 23:12:51 3283513 210
>>3283506
Ты серьёзно даунские вопросы задаёшь - чем компилируемый язык лучше не-компилируемого? По-моему, всё очевидно. Чем машина лучше велосипеда? Ну наверно скоростью, не?
Аноним 27/09/24 Птн 23:22:24 3283529 211
>>3283513
Согласин
Пхп - минитрактор с максимальной скоростью 60 км/час
Голенг - трехколесный велосипед с реактивным двигателем
Аноним 27/09/24 Птн 23:24:00 3283531 212
>>3283506
Везде где надо скушать жсончик и недолго думая пукнуть в кафку можно воткнуть гошку
Везде где надо быстро обработать дохуя данных с не самой пизданутой наглухо бизнес-логикой (как в основном копролите), можно воткнуть гошку
Аноним 27/09/24 Птн 23:29:24 3283535 213
>>3283531
Так обычно тимлиды развлекаются, когда пыха сликом boring
Аноним 27/09/24 Птн 23:30:30 3283536 214
Аноним 28/09/24 Суб 01:42:29 3283588 215
>>3283513
Школьник, ну-ка скрин где я это задаю, или твоя спидозная мама подохнет, если скрин не принсешь с:
> вопросы задаёшь - чем компилируемый язык лучше не-компилируемого?

Твой школьный мозг не способен даже текст прочитать, малолетнее животное
Аноним 28/09/24 Суб 02:06:05 3283589 216
>>3283588
"...для чего GO? Чем он лучше обычного микросервиса на php"

Golang какой язык? Компилируемый или нет? А php? Сам дальше сообразишь?
Аноним 28/09/24 Суб 08:18:46 3283620 217
>>3283589
Ииии? Если какая разница если время ответа 0.002 обычно? Школьник, я тебе уже писал чтобы ты съебал нахуй
Аноним 28/09/24 Суб 10:05:20 3283668 218
>>3283400
Простой синтакисис, разберешься даже в говнокоде. Скорость разработки. Хорошие тулзы из под каробки(тесты, бенчи, форматирование), много либ на любой вкус. Хорошая паралельность из пад коробки. Есть уже готовые мини http фреймы(аля роутеры). Компилируемый язык, не надо ничего лишнего поднимать(nginx, php-fpm). Мало ресурсов поедает относитльно пыхи, особенно заметно когда у тебя куча динамо стендов в кубе, под каждую фича ветку или баг фикса.
Аноним 28/09/24 Суб 11:41:28 3283710 219
Аноним 28/09/24 Суб 17:26:30 3283907 220
>>3283620
>время ответа 0.002 обычно
Ну ок. Запилишь тогда аналог твича? Чтобы видео перекодировалось и раздавалось 5000 зрителям одновременно? Сможешь? Я писал... Лул да кто ты такой, ты чорт епт.
Аноним 28/09/24 Суб 17:57:17 3283930 221
>>3283907
>видео перекодировалось
Один хуй это не на ГО делается даже с ГО
Аноним 28/09/24 Суб 19:10:22 3283976 222
>>3283930
>это не на go
Гений, набери "twitch source code" в гугле и увидишь на чем он написан.
Аноним 28/09/24 Суб 19:23:11 3283989 223
>>3283976
Я другой анон, но вангую вызовы си библиотек или даже cli команд сишных программ
Аноним 28/09/24 Суб 19:32:32 3283996 224
image.png 764Кб, 1076x435
1076x435
>>3283907
Школьник, неси скриншот >>3283588

>Запилишь тогда аналог твича? Чтобы видео перекодировалось и раздавалось 5000 зрителям одновременно?
Школьник, ты наверное на го и приложения для айос и под андроид делаешь, да? Обезумевшая малолетка решила поиграть какой язык лучше - мне похуй, меня волнует авто и мото, малолетний, который еще не скоро вырастет. Ты даже не осознаешь что всем похуй на твой линукс, виндовс, пхп, го, яву. Малолетняя личинка человека

>Я писал..
А кто тебя спрашивал что ты писал? Создай свой тред и рассказывай что ты писал. Нахуя ты мне это пишешь?

>Лул да кто ты такой, ты чорт епт.
Ждем скриншот от пидора, который не предоставит
Аноним 28/09/24 Суб 19:40:58 3284005 225
>>3262439
А я слышал наоборот: чем новей язык, тем меньше на него конкуренции вкатунов.
Аноним 28/09/24 Суб 19:55:53 3284016 226
>>3283529
Шо то хуйня, шо это хуйня. Для бекенда лучше будет typescript.
Аноним 28/09/24 Суб 20:02:26 3284020 227
>>3283976

А на чем? Вижу новости, что слили гигабайты, но так и не понял, на чем это говно написано.
Аноним 28/09/24 Суб 20:02:31 3284022 228
>>3284016
>Для бекенда лучше будет typescript.
Будет лучше пхп, ява, с#, а не этот костыль, если цель ООП и бизнес поддерживаемая бизнес логика
Аноним 28/09/24 Суб 20:03:29 3284023 229
>>3284016

От него уже отказываются.
Аноним 28/09/24 Суб 20:10:08 3284029 230
>>3283907
>Запилишь тогда аналог твича? Чтобы видео перекодировалось
Так в твитче это не на го делается, а на си (ffmpeg)
Аноним 28/09/24 Суб 20:11:39 3284031 231
>>3284023
Наоборот количество вакансий с бекендом на тайпскрипте больше с каждым годом, хоть и занимает небольшой процент от общей массы

>>3284022
> ООП и бизнес поддерживаемая бизнес логика
Тайпскрипт прекрасно для этого подходит. Это язык с мощной системой типов от гениального автора сишарпа
Аноним 28/09/24 Суб 22:33:30 3284118 232
image.png 67Кб, 1206x458
1206x458
>>3284031
>количество вакансий на %ЯЗЫКНЕЙМ% больше с каждым годом
Этот тейк в каждом первом треде встречается. Весь бигтех уже все переписал на Шарп, Го, Раст, Котлин, Эликсир, раз 20 наверное.
Аноним 29/09/24 Вск 00:56:08 3284190 233
>>3283976
Гений не слышавший про ffmpeg, нахуя ты в этом треде сидишь??
Аноним 29/09/24 Вск 00:59:07 3284193 234
>>3284031
>с мощной системой типов
Которые нахуй не нужны

даже го весь наполнен := вместо объявления типов
Аноним 29/09/24 Вск 01:09:22 3284200 235
>>3284118
Язык для бекенда не самый популярный, но это факт, что с каждым годом вакансий на том же NestJS больше процентов на 10-20, я регулярно мониторю рынок т.к. это мой основной стек. Бигтех не показатель, тем более там тоже иногда это используют.

>>3284193
Динамикодриснявая мартышка, сдрисни пожалуйста из треда статически типизированного языка.
Аноним 29/09/24 Вск 01:52:08 3284207 236
>>3284200

Го называет динамикодрисней, а от тайпскрипта кайфует....
Так и запишем
С каждым годом он популярнее становится потому что удобно мартышку на жсе садить и фронт и бэк делать + желающих пруд пруди, которые демпенгуют зепки и готовы за еду работать
Аноним 29/09/24 Вск 03:16:34 3284213 237
>>3284207
Я не называл го динамикодриснёй, а наоборот назвал этот тред тредом статически типизированного языка, в котором нет места динамикодриснявым макакам, которые говорят, что типы не нужны.
Аноним 29/09/24 Вск 11:20:53 3284375 238
>>3262042 (OP)
Обьясните в чем преимущество делать map[string, *MyStruct] вместо map[string, MyStruct]. Пишут что разницы не сильно много, первый вариант чутка быстрее

> мимо вкатун
Аноним 29/09/24 Вск 12:49:34 3284438 239
>>3284375
В первом случае у тебя будет лежать указатель на MyStruct, во втором сама MyStruct. В случае указателя у тебя копируется туда-сюда 8 байт, в случае структуры - будет гоняться структура целиком.
Аноним 30/09/24 Пнд 00:00:42 3285012 240
Скажите бога ради, какой нынче стек?
Аноним 30/09/24 Пнд 00:02:58 3285016 241
>>3284118
>Эликсир
Кто-то вообще помнит про эликсир?
Аноним 30/09/24 Пнд 00:40:48 3285032 242
Аноним 30/09/24 Пнд 00:57:06 3285038 243
Аноним 30/09/24 Пнд 01:30:55 3285049 244
>>3285016
вспоминаю каждый раз когда ищу себе нормальный язык, но не каждый день
Аноним 30/09/24 Пнд 02:05:58 3285057 245
>>3284193
Ты немного не понимаешь для чего нужен ts
Аноним 30/09/24 Пнд 14:57:19 3285376 246
>>3285057
Чтоб усложнить жизнь же, не?
Аноним 30/09/24 Пнд 17:09:32 3285449 247
>>3285376
Наоборот. Это же не го или джава.
Аноним 30/09/24 Пнд 18:07:34 3285507 248
Как работать с моделями во всяких веб-крудах?
Часто возникает проблема, что появляется куча структур типа UserRequest, User, UserDB и так далее, которые описывают одну сущность, но имеют разный набор полей из-за специфики используемого слоя (условно в реквесте мало вероятно, что будет содержаться полная информация о юзере, поэтому есть UserRequest).
Как быть в таком случае? Создавать кучу вариаций или гонять везде одну структуру и извлекать только нужную инфу?
Аноним 30/09/24 Пнд 20:11:44 3285610 249
>>3285449
Так на жс тс на бэке куда не перни нет нужной библиотеки и так же пили свой велосипед, плюс куча легендарных библиотек isNumber
Плюс одновременно чекай и жс код и тс
На го все из коробки

После тс с таким кайфом на шарп ушел, ты не представляешь
А потом с шарпа на го
Аноним 30/09/24 Пнд 20:35:51 3285623 250
>>3285016
>Кто-то вообще помнит про эликсир?
Пока тред этих полезных, не утонул, они хвастались зепками и низкой конкуренцией.
Аноним 30/09/24 Пнд 20:51:01 3285633 251
Аноним 30/09/24 Пнд 21:42:10 3285675 252
>>3285633
>Что такое lvalue и rvalue?
Они что с плюсов вопрос случайно скопипастили?
Аноним 30/09/24 Пнд 21:46:09 3285681 253
>>3285675
Так в GO идут одни свичеры.
Чего бы и не спросить.
Я не думаю что есть люди которые начали путь программирования с go и так и остальись с единственным языком.
Аноним 30/09/24 Пнд 21:57:36 3285691 254
>>3285507
Нет, должны быть разные структуры, в идеале кол-во слоев = кол-во структур
В моих крудовых поделках 3 слоя, слой сервера, слой сервиса и слой базы данных, соотвественно 3 структуры
Аноним 30/09/24 Пнд 22:06:42 3285694 255
>>3285675
>Что такое lvalue и rvalue?
>>3285623

"Одно справа, другое слева от знака равно", -
представляете что человека завернут не слышавшего об этом теоретическом говне даже ни разу за время написания десятков толстых проектов?

С тем же успехом можно спрашивать определение манипулятора "типа мышь" и заворачивать людей и думать какой хрюша охуенный работник
Аноним 30/09/24 Пнд 22:51:01 3285723 256
>>3285610
Уже много лет есть всё необходимое, не нужно никаких велосипедов пилить. Зачем чекать жс код, если исходники на тс?
Аноним 01/10/24 Втр 08:46:17 3285867 257
>>3285691
Т.е. мы постоянно должны перекладывать из одной структуры в другую при переходе на новый слой? А если они одинаковые по составу полей?
И что делать, если в разных сценариях требуются отличающиеся структуры? Условно для update-хендлера нужен только id, а для create - доп инфа. Опть плодить структуры?
Аноним 01/10/24 Втр 12:12:21 3286053 258
>>3285867
Что выбрать зависит от ситуации. Несколько разных объектов дают гибкость: можно менять внутреннее представление, базу и апи независимо друг от друга. Меньше шанс что данные случайно утекут клиенту, или наоборот как-то мусор протечёт в базу. С другой стороны нужно конвертировать туда-сюда.
Один объект на всё, хорошо подходит для простых случаев и позволяет писать меньше кода. Но скорее всего, по мере роста проекта придётся разделять сущности.
Аноним 01/10/24 Втр 15:04:51 3286184 259
>>3286053
Так сущность и так одна. Условно юзер с полями id, name, age. Также он и в базе лежит. Но например для удаления мне нужен только id. ВОт мне этот айди совать в структуру User с остальными нулевыми полями и работать только с id, или создавать UserDelete только с полем id?
Аноним 01/10/24 Втр 15:28:39 3286204 260
Сап, двач.

Не совсем вопрос по голангу, но может найдется что подсказать.

В общем, у нас есть небольшая команда челиков, которые пишут всякие инструменты для инфраструктуры. Они сейчас пишут на питоне и у них нет особой дисциплины в плане типов данных, форматирования кода и т.п.

Можете поделиться своим опытом перехода с питона на го? Типа, что можно ожидать. Тут питон не особо объектно-ориентированный, паттернов и т.п. нет.

Но я хочу перейти потому что в го статическая типизация и форматирование из коробки, ну и производительность конечно плюс, хотя в наших требованиях такого нет.

Инструменты планирую переводить как командной строки, так и веб апишки.

Заранее благодарю за ответы.
Аноним 01/10/24 Втр 17:59:44 3286426 261
>>3286184
>Так сущность и так одна. Условно юзер с полями id, name, age. Также он и в базе лежит.
Ещё раз: это вначале у тебя у сущности 3,5 поля, а потом, по мере роста проекта у тебя добавится список телефонов который хранится в отдельной таблице, список ролей и т.п. И тут уже надо разделить АПИ, внутренние представление и базу. Хочешь делай сразу, хочешь рефактори потом.

>Но например для удаления мне нужен только id. ВОт мне этот айди совать в структуру User с остальными нулевыми полями и работать только с id, или создавать UserDelete только с полем id?
Ты придумал проблему на ровном месте. Просто передаёшь ID и всё, никакая сущность тебе не нужна.

Если первичный ключ составной или у тебя записи версионируются, создай объект PrimaryKey и юзай его и в сущностях и методе удаления.
Аноним 01/10/24 Втр 19:45:14 3286605 262
>>3285867
>>3285691
Жесть, на этот спам ДТОшками и перекладыванием из пустого в порожнее еще в джаваспринге жаловались, и опять к нему пришли

>>3286204
Смотря какой объем кода. Большой объем и нет жестких требований по перформансу - лучше оставить на питоне. Не всем нравится спамить if err != nil, тем более там, где в этом нет необходимости. Это типичная проблема переписывания проектов - каждый новый человек стремится переписать под то что ему нравится и при отсутствии больших ресурсов это зависает в полузавершенном состоянии. Взвесь сначала.
Аноним 02/10/24 Срд 21:17:50 3287597 263
>>3286204
Спорная затея. Голанг - это про веб микропенисы в очень узких местах. Твои очевидные проёбы. При переписывании будут баги. На питон кратно легче найти замену веслателя. Никаких профитов от статической типизации и производительности. Можно внедрить автоформат питоновских файлов при сохранении.
Аноним 03/10/24 Чтв 00:43:56 3287773 264
>>3286605
>Жесть, на этот спам ДТОшками и перекладыванием из пустого в порожнее
ДТО на реквест, ДТО на респонс, фабрика для ДТО, маппер для ДТО... кто работал на проекте, где любят дто, тот в цирке не смеётся
Аноним 03/10/24 Чтв 04:13:57 3287808 265
Аноны, какие мысли по:
https://kata.academy/go/postpayment
Стоит оно того или забить?
Аноним 03/10/24 Чтв 06:02:11 3287835 266
>>3287808
А ты договор читал? Накрутят опыта, устроят мидлом
Есть много фри курсов по го, на том же степике и трекерах + книги
Аноним 03/10/24 Чтв 07:50:30 3287889 267
>>3287835
что за трекеры? Не слышал о них
Аноним 03/10/24 Чтв 08:44:54 3287908 268
>>3287889
Рутрекер, нонамеклуб. Ну можешь еще на всяких сливофорумах покопаться.
Аноним 03/10/24 Чтв 09:24:57 3287928 269
>>3286605
Можешь, пж, пояснить за ДТО? Это то что я описывал, что для каждого слоя своя структура? Как от такого избавляться, а то не в восторге сам от такого?
Аноним 03/10/24 Чтв 12:32:34 3288117 270
>>3287835
>на том же степике
степик разве не конская залупа?
Аноним 03/10/24 Чтв 12:41:46 3288123 271
>>3286605
>Жесть, на этот спам ДТОшками и перекладыванием из пустого в порожнее еще в джаваспринге жаловались, и опять к нему пришли

Иначе это превращается в 300 тыщ параметров в каждой функции ну или при изменении той самое единственной структуры, которую ты везде гоняешь, велик шанс что что нибудь где нибудь да наебнется

Кстати где то видел проект где навалили сотню структур и мапили их через одну единственную функцию через reflect (как по мне жутко нестабильная хуйня)
Аноним 03/10/24 Чтв 13:06:24 3288151 272
Аноним 03/10/24 Чтв 17:52:38 3288412 273
>>3287928
Да, DTO - это термин из объектно-ориентированных языков, аналог структур.
>Как от такого избавляться
Не использовать там, где в этом нет смысла

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

Просто ДУМАЙТЕ сами, что решает тот или иной подход, а не просто делайте потому что кто-то что-то сказал
Аноним 03/10/24 Чтв 17:53:12 3288415 274
Аноним 03/10/24 Чтв 23:08:48 3288702 275
>>3287835
Договор кабальный и кажется с подводными
Плюс этого курса в том что помогут устроится (в теории)
В общем думаю
Аноним 04/10/24 Птн 05:49:05 3288794 276
>>3287928
DTO - это data transfer object, обычная структура с полями без логики. Используется вместе с ORM, чтобы не писать руками user.Id = reader["UserId"].GetInt32() снова и снова. SQL запрос возвращает какой-то набор сырых данных, с сырыми данными работать неудобно, поэтому они мапятся на массив DTO структур и дальше ты работаешь со структурами.
Аноним 04/10/24 Птн 13:23:08 3289095 277
>>3287808
Эта контора полностью сломала рынок для джавистов-мидлов в свое время, они еще до хайпа стаи назарова существовали. Смысл в том что тебя надрачивают на прохождение собеседования (теории) и дают второго пилота для прохождения собесов. Работу тебе будут искать в Москве так как там самые высокие вилки. Отдать конторе нужно вроде 20% от месячной зп пару лет.
Не рекомендую, из-за таких пидорасов собеседования превратились в решения головоломок и допросы + неофициально устроиться на работу (если не хочешь платить алики) стало трудно так как теперь каждый второй с 3 годами опыта в вымышленной компании.
Аноним 04/10/24 Птн 23:20:36 3289691 278
Го лучший язык для бэкенда любой сложности. От 0.001 рпс пета до 100000000 рпс монстра. Скорость разработки на го намного быстрее любого другого языка. Простота и отсутствие красивостей и свистоперделок позволяет понимать код тиммейтов с невероятной легкостью. На этом языке очень тяжело словить тильт. Стандартизированный тулинг позволяет новому гребцу вкатываться в процесс разработки в первую неделю работы.
Теперь про минусы: стандартная либа не на генериках - хочется брать корень от целочисленного типа, новые фичи в новых версиях добавляют ненужной сложности языку.
Аноним 04/10/24 Птн 23:24:34 3289694 279
>>3289691
>Скорость разработки на го намного быстрее любого другого языка.
Даже быстрее чем на руби рельсах с тотальным скафолдингом всего?
Аноним 04/10/24 Птн 23:32:24 3289697 280
>>3289694
Тот чел сумасшедший. На гоу сраный круд будешь 2 недели пилить. Там дохуя всего может конфиктовать и для этого приходится везде метрики прикручивать.
Аноним 04/10/24 Птн 23:43:52 3289707 281
Аноним 05/10/24 Суб 02:02:20 3289766 282
U5.jpg 221Кб, 1920x1080
1920x1080
Аноним 05/10/24 Суб 03:03:32 3289772 283
>>3289691
>Скорость разработки на го намного быстрее любого другого языка
Ну зачем сразу так толсто? На пыхе быстрее, на жс/тс быстрее, на руби быстрее, на питоне быстрее.
Аноним 05/10/24 Суб 08:57:29 3289817 284
>>3289691
Ты пытаешься себя убедить или что?
Го это ходячий бойлерплейт, все что дальше микро-круда писать можно, но чрезвычайно уныло и муторно, а гребанное процедурное программирование возвращает нас во все те же проблемы 30-летней давности, которые были решены в промышленном ООП-программирование кровью и потом. У меня правда флешбэки от функций в 1000 строчек и 10 аргументами, с двухбуквенными переменными
Аноним 05/10/24 Суб 09:01:26 3289819 285
>>3289766
Там додик умудрялся сравнивать зиг в дебаг сборке и специальные сокетные http-огрызки от го с полноценными http-серверами.

Но забавно как го начинает отжирать память, как теже жабо-шарпы, которые обычно резервируют хип
Аноним 05/10/24 Суб 13:22:25 3289935 286
>>3289819
>Там додик умудрялся сравнивать зиг в дебаг сборке и специальные сокетные http-огрызки от го с полноценными http-серверами.
Он бы еще код на го сразу с машинным сравнивал.
Аноним 05/10/24 Суб 13:45:25 3289951 287
>>3262042 (OP)
суп двощ, есть ли способы спиратить IDE от JetBrains? СТудентскую лицензию давать перестали (хотя гитхаб дал, лол), а привыкнуть уже успел. Ну или где то купить слитую лицензию по дешёвке
Аноним 05/10/24 Суб 15:35:56 3290029 288
>>3289817
>двухбуквенными переменными

- Так называйте нормально
... - Кто, я?!
Аноним 05/10/24 Суб 15:54:47 3290035 289
>>3289817

А потом у тебя забирают вскод и жидбрейнс и оказывается что уже не ты программировал, а иде за тебя с жпт помощниками
Аноним 05/10/24 Суб 16:07:18 3290040 290
>>3290035
>иде за тебя с жпт помощниками
Кто-то неиронично это использует?
Аноним 05/10/24 Суб 16:22:41 3290045 291
>>3290029
я использую только трехбуквенные слова
Аноним 05/10/24 Суб 16:30:14 3290050 292
>>3290035
Когда начнут забирать опенсорс, mit и bsd, то заберут и твой го и гитхаб и все.
Аноним 05/10/24 Суб 16:32:02 3290052 293
>>3290035
Неожиданно го тоже без вскод - тыква, хотя вскод попенсорс.
Аноним 05/10/24 Суб 17:14:16 3290078 294
Аноним 05/10/24 Суб 17:41:05 3290099 295
137594463518506[...].png 232Кб, 559x604
559x604
Аноним 05/10/24 Суб 18:00:03 3290126 296
>>3290050

Ну как они го заберут, если он у меня уже скачан...
Только если компы взрываться начнут
Аноним 05/10/24 Суб 18:03:22 3290132 297
>>3290126
>Только если компы взрываться начнут
А израильские запчасти в них есть?
Аноним 05/10/24 Суб 18:53:53 3290204 298
Аноним 06/10/24 Вск 11:33:41 3290608 299
Помогите пж
Как мне отправить файл в ответ? Чтоб не просто набор байтов передался, а с названием файла по человечески
Аноним 06/10/24 Вск 12:01:18 3290619 300
>>3290608

А блять, просто serveFile обернуть для удобства
Аноним 06/10/24 Вск 12:01:54 3290620 301
>>3290608
Content-Disposition: attachment; filename="aaaaaaààaaaaaaaaaaaaaa"
Аноним 06/10/24 Вск 15:14:14 3290776 302
>>3290620

Мерси благодарю тебя
Аноним 06/10/24 Вск 16:23:06 3290829 303
>>3290035
ну да, тру только на бумажке программируют, а потом подмастерья пересказывают код машинисткам
Аноним 09/10/24 Срд 13:01:22 3293389 304
сап, потихоньку вкатываюсь в го с других бэкенд языков (жаба, тс). Поясните пж за систему пакетов и модулей. Что нужно выделять в пакет? В модуль? Какие хорошие практики? Как делать надо, как не надо?
Аноним 09/10/24 Срд 20:38:43 3293794 305
>>3293389
Срешь все в одну или несколько папок, иначе где-нибудь на двадцатом импорте словишь циклический импорт.
Аноним 10/10/24 Чтв 09:10:04 3294075 306
Тоже хочу попробовать Го. До этого писал на Си в основном под МК. Хочу написать простой веб TODO. Бот мне выдал, что надо написать бэкенд на Го, потом фронтенд на Express. Много лет назад писал монолит на Flask и немного удивительно, что надо делить фронт и бэк.
В связи с этим вопрос: го-сеньоры, меня бот не обманывает?
Аноним 10/10/24 Чтв 09:49:37 3294167 307
>>3294075
Какой бот? Тебе ничего не мешает отдавать хтмл с бэка и все. Тем более экспресс для фронта не используется, это бэк на ноде.
Аноним 10/10/24 Чтв 10:13:06 3294206 308
>>3294075
не обманывает, гошка во фронт не очень.
Есть варик генерить всё на беке - htmx + templ.
Есть что0то типа веба в wasm - wail go-app
Можно упороться и сгенреть всё в wasm там внутри генерить html и прочее.
Но один фиг тебе придётся писать много обвязки для работы с беком.
Аноним 10/10/24 Чтв 11:23:00 3294265 309
ZcgKDggA1Uqdbq.jpg 181Кб, 1920x1080
1920x1080
Лиспы - семейство языков программирования. Характерные особенности лиспов: динамичность, гомоиконность код как данные, программируемость.{Основные диалекты}:: Common Lisp - разрабатывался как промышленный язык, пригодный для широкого спектра применения, из-за чего имеет достаточно объемную специфика
Аноним 10/10/24 Чтв 16:52:52 3294606 310
Лично мне не хватает в го возможности управлять памятью как в си. Например, нельзя создать динамический массив, не использую встроенные срезы.
Также не хватает выразительности новых конструкций. Это по прежнему отдельные функции и структуры как в си. Нельзя их интегрировать в синтаксис с помощью перегрузки операторов.
Аноним 10/10/24 Чтв 19:44:23 3294730 311
>>3294606
Зато в обмен получаешь простой и читаемый код. Тиммейты на говнокодерах не смогут испортить настроение. Также производительность ниже всего лишь на процентов 5 по сравнению с оптимизированными плюсами. Говнокод и мозгоебля того стоит? Не стоит.
Аноним 10/10/24 Чтв 21:00:46 3294850 312
>>3294730
Откуда инфа про 5 процентов?
Аноним 10/10/24 Чтв 21:15:02 3294867 313
vIM5kq.png 3Кб, 180x143
180x143
Сап, гоферы.
Хочу начать использовать пикрил библиотеку для своих петпроектов игровых.
Кто-нибудь пробовал?
На го только скрипты и маленькие микросервисы по работе и унику писал.
Аноним 10/10/24 Чтв 21:53:37 3294885 314
>>3268767
Работал в двух крупных проектах ЕС/США, дела обстоят так: есть набор внутренних и около-обязательных тулзов-оберток поверх стандартной либы или популярных мейнстрим-либ, например хттп сервер, в который уже всунуты дефолтные для конторы метрики и логгирование, или либа для БД, брокера сообщений и т.п. Делается это для единого контроля за структурой проекта и версиями, а то где-то уже обновили или взяли условный логгер v3, а где-то еще v1. Часто еще есть шаблонный проект со скриптом, который по одной команде создает тебе сервис из шаблона с нужным тебе названием или даже либами.

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

А вот если всего этого нет, то каждый берет то, что считает нужным, и начинается ебучий ад, особенно когда какой-то особо одаренный всунет говно вроде go-micro.
Аноним 10/10/24 Чтв 23:26:31 3294923 315
>>3294885
>Бойлерплейт кода по сравнению с джавой действительно получается больше, как и больше усилий на поддержку этих ваших тулзов-оберток (в джаве они околонулевые, есть же поддерживаемый всем миром спринг).
И всё это ради того, чтобы пилить очередной распределённый монолит?
Аноним 11/10/24 Птн 03:38:24 3295019 316
5dbd5105-30b2-4[...].jpg 62Кб, 679x513
679x513
>>3294730
>Зато в обмен получаешь простой и читаемый код
Этот буллшит еще работал лет 7 назад, но сейчас то с какого места дует этот бред?

Схерали бойреплейт код стал легко читаем? Ты ассемблер легко читаешь? Максимально просто же. Развесистая портянка кода, этот го, что писать муторно, что читать.
Аноним 11/10/24 Птн 03:41:02 3295020 317
>>3294867
Без студии разработка игр, так же увлекательно как фронтент разработка без браузера. Лучше инвистируй время в годот/юнити расширение.
Аноним 11/10/24 Птн 03:48:49 3295021 318
image.png 522Кб, 650x919
650x919
>>3294885
В жабе сейчас зеленые потоки, в шарпах асинки. У обоих все из коробки, шарпы не скучные, котлин молодежный. Как вообще определяли выгоду, когда го выбирали? Я джаву считал топорной, а это вообще пцц?
Аноним 11/10/24 Птн 04:19:03 3295027 319
>>3294923
>распределённый монолит
Открою тебе страшную тайну: других архитектур не существует. Более того, опытные команды возвращаются обратно к монолитам с шардингом, когда окончательно заебываются изучать 100500 логов в секунду. Микропенисы красиво работают только в проплаченных статьях, на проде это сначала ад, потом пиздец.
Аноним 11/10/24 Птн 04:43:42 3295032 320
>>3295027
Service oriented architecture, или вообще modular monolith. Модульный монолит это лучшее, с чем мне доводилось работать. Даже жяваскриптеры уже давно к этому пришли, у них это в nest.js из коробки.
Аноним 11/10/24 Птн 06:56:16 3295053 321
>>3295032
Так это и есть классический монолит. Еще диды так писали. Охуительные истории про один гигафайл, в который собирается вся система - это выдумки маркетологов. В реальных системах каждая команда работает над своим модулем, модули могут лежать рядом в одной папке и ходить в одну бд, а могут быть на разных серверах, но это не точно.
Аноним 11/10/24 Птн 11:19:34 3295213 322
Fire.png 131Кб, 544x416
544x416
ОСТОРОЖНО!
Сценка "Джава-господин и убоGOе ничтожество"
J — На вас очередной раз помочилась жабка, "пись-пись-пись"))
Помочился на лицо
— Будешь ещё свою хуйню писать GOвноед?!
G — Не-ет, не буду, клянусь. О, великий джавист, отпусти убогого.
J Начал снова мочиться на лицо
— Что-что?) Я тебя не слышу-у)
Закончил мочиться
— Уходи! И скажи своим, чтобы со своим говнолангом не смели даже подходить к Электронной вычислительной машине! Устройство, подвергшееся твоему убожеству будет уничтожено!
G — Дя-а, господин, я все передам
GOвноед удалился, а джавист остался властвовать на троне
Аноним 11/10/24 Птн 11:27:13 3295219 323
>>3295032
на го модульный монолит реализуем или снова идем нахуй?
Аноним 11/10/24 Птн 11:42:23 3295228 324
>>3295213
Заходит доктор (Д) с фамилией СэйШарф и говорит:
Д - Ну как наш больной поживает?
Сегодня будем хорошо себя вести? О, я думаю пора снять смирительную рубашку
J - ...вэФе ...мучану ...кэмэ
Д - Какие мы сегодня болтливые
медленно поворачивает за плече пациента
Д - Людмила, наш умелец снова начудил тут лужу, замените пожалуйста белье
доктор что-то записал в своем планшете и медленно вышел из палаты
Аноним 11/10/24 Птн 11:51:26 3295235 325
>>3295219
Ничего не мешает, кроме того что на сотом импорте можно словить циклический импорт и придется половину переписать. Или где-то кто-то обновит интерфейс и будет увлекательно искать неделю те структуры которые его реализуют. А функция которая вызывается 100К раз в 1000 разных мест, неожиданно запишет в лог что ей поплохело. Но ты никогда не узнаешь где именно это произошло, потому что стектрейс для грустных.
Аноним 11/10/24 Птн 11:55:03 3295236 326
>>3295228
— Майор Пайт(П), у нас серьезная задача, освободить господина J. Мне недавно поступила информация, что он находится в больнице некого "СейШарпа". Он сковывал его движения и читал.... Извините, мне тяжело об этом говорить. Он читал ему документацию голанга. Они сводят его с ума, Пайт!
П — Что.....
Пайт понимал, что господину J пришлось несладко, и щекочащий прямую кишку паяльник будет далеко не худшим исходом. Но проверить в такое было невероятно тяжело
— Он заплатит, он за все заплатит...
Аноним 11/10/24 Птн 11:57:47 3295238 327
>>3295235
А еще, кто-то обязательно под усталость забудет вызвать что-то типа rows.Err(), ну или просто забудет записать единственную возвращаемую ошибку. В общем, увлекательные приключения плавающих ошибок в веселом монолите от го.
Аноним 11/10/24 Птн 12:01:58 3295242 328
>>3295238
go кал получается и джава всех ебёт?
Аноним 11/10/24 Птн 12:05:39 3295245 329
>>3295236
...вэФе ...мучану ...кэмэ (с)
Аноним 11/10/24 Птн 13:48:53 3295327 330
>>3294923
Да, в том числе. Минусы будут?

>>3295021
Какой профит от котлина на беке, когда у джавы каждые полгода-год новые релизы и половина фич котлина есть? Он разве успел набрать какую-то критическую массу вне мобайла?

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

>Как вообще определяли выгоду, когда го выбирали?
Легко вкатиться с любого ЯП.
Легко писать, читать и использовать все фичи языка -- всё максимально просто и понятно.
Работает быстро, собирается быстро, нет заумных систем сборки вроде градла.
Есть стандартная либа -- можно не зависеть от очередного RoR/Spring. Хотя в той же джаве спринг уже наверное де-факто часть stdlib.

Но вообще выгода при выборе ЯП для нового проекта определяется тем, на чем конкретно тебе быстрее стартануть (т.е. тем, какие инструменты и яп ты лично знаешь). В целом вон фейсбук частично на пхп работает, шопифай вроде на руби, и ничего, все живы.
Аноним 11/10/24 Птн 13:50:49 3295331 331
>>3295327
Собсна, в вакансиях часто пишут что-то вроде "Требуем опыта Х лет бекенд-разработки, знание Го желательно, но не обязательно". И ты реально наймешь чела с любым бекенд-бекграундом и он быстро вкатится. В условной джаве ты так не сделаешь.
Аноним 11/10/24 Птн 14:46:40 3295393 332
>>3295235
> можно словить циклический импорт
Это да, проектировали ебланы
> кто-то обновит интерфейс и будет увлекательно искать неделю те структуры которые его реализуют
Идешка покажет, кто реализует интерфейс
> функция которая вызывается 100К раз в 1000 разных мест, неожиданно запишет в лог что ей поплохело
Контект для этого и прокидывают, чтобы понимать, где, что, с какими параметрами сломалось
Аноним 11/10/24 Птн 16:10:25 3295463 333
>>3295331
Писать можно что угодно. По факту наймут чела с 2X лет опыта на гошке на зп меньше, чем указано в вакансии.
Аноним 11/10/24 Птн 16:23:31 3295478 334
Гениально.webm 144Кб, 640x360, 00:00:04
640x360
Аноним 11/10/24 Птн 16:34:54 3295491 335
насколько сложнее php для вката
колеблюсь с выбором: php или go
Аноним 11/10/24 Птн 17:10:50 3295525 336
>>3295020
>годот
поддерживает код на го кстати
Аноним 11/10/24 Птн 17:53:45 3295568 337
>>3295491
Вката на го не существует, туда берут только перекатышей из других языков
Аноним 11/10/24 Птн 18:08:32 3295604 338
>>3295568
Стажер в моей команде стал джуном и все на го. Рассказывай сказки дальше.
Аноним 11/10/24 Птн 18:22:56 3295636 339
>>3295491
Для РНР надо фронт учить, какой-нибудь Vue.
Аноним 11/10/24 Птн 18:26:48 3295645 340
>>3295604
Как стать стажером в твоей команде?
Аноним 11/10/24 Птн 18:30:16 3295660 341
>>3295645
Еще одного долбоеба нам не надо Быть выпускником норм айти вуза а не ебланом с курсов.
Аноним 11/10/24 Птн 18:49:29 3295678 342
Аноним 11/10/24 Птн 18:56:20 3295683 343
>>3295660
Долбоеб не видит разницы между стажером из ВУЗа и вкатышем
Аноним 11/10/24 Птн 18:58:44 3295689 344
>>3295636
Нахуя?
7 лет на пыхе пишу, 0 раз прикасался к фронту
Аноним 11/10/24 Птн 23:14:53 3295840 345
>>3295393
>Идешка покажет, кто реализует интерфейс
То есть, го теперь тоже тыква без IDE как и жаба? Добро пожаловать в клуб.
>Это да, проектировали ебланы
Конечно, пока сам не словишь ц.импорт (и ловил же)
>Контект для этого и прокидывают
Говнофиксы с бойлерплейтом, которые в нормальном яп не нужны и усложняют б-логику
Аноним 11/10/24 Птн 23:25:57 3295847 346
>>3295327
>но вроде бы __слышал__
У тебя весь твой текст из шаблонных фраз с ютуба. С шарпами все ок, на линуксах в облаках много бизнеса крутиться, мягкие сами потеют ради линукса, ибо вкусный пирог.

>Какой профит от котлина на беке
Та же джава, но меньше бойлерплейта.

>Легко писать
Лож, бойлерплейт не легко писать, крайне утомительно
>Легко писать
Лож, бойлерплейт трудно и пишется и трудно читать

>нет заумных систем сборки вроде градла.
Ну да, то то макфайлы это модно и молодежно, лол

>можно не зависеть от очередного
Еще один писатель софта из одной стандартной либы.

>Легко вкатиться с любого ЯП
100 неочевидных ошибок, тому доказательство. Начинай свой новый день с подводных камней кривого дизайна го.

Наслушаются инфоцыган и бегают то с питоном то с говном, мантра про то что на го легко развернуть проект, где каждый велосипедит свое, в то время как жабошарпы из коропки все давно сделано - просто смешно, то есть они самый главный недостаток переобули в фичу, лол
Аноним 11/10/24 Птн 23:29:20 3295849 347
>>3295525
Официально только скрипт, плюсы и шарпы, а го котлины, расты, жс и прочие поддерживается над расширением, что практически обычно звучит как тухляк полуживого попенсорса.
Аноним 11/10/24 Птн 23:30:56 3295852 348
image.png 151Кб, 320x240
320x240
>>3295645
Для этого надо занять очередь за розовым пони и единорогом.
Аноним 11/10/24 Птн 23:55:39 3295867 349
>>3295847
>то есть они самый главный недостаток переобули в фичу, лол
так это есть суть Го, все недостатки из других языков переобувать в гениальные фичи
Аноним 12/10/24 Суб 00:16:19 3295881 350
>>3295847
>Наслушаются инфоцыган и бегают то с питоном то с говном
Надо бы в шапку раздела добавить!
Аноним 12/10/24 Суб 01:22:54 3295898 351
image.png 803Кб, 952x476
952x476
>>3295867
>так это есть суть Го, все недостатки из других языков переобувать в гениальные фичи
Жирнота то какая сначала я думал ты троллишь, но оказалось ты просто малолетних дегрод
Аноним 12/10/24 Суб 05:26:33 3295926 352
Аноним 12/10/24 Суб 07:58:43 3295943 353
Как вообще можно серьёзно использовать го, если у него бинарник хеллоуворлда 2 мегабайта весит! Для сравнения на си хеллоу ворлд весит 14 Кб.
Аноним 12/10/24 Суб 11:52:43 3296035 354
>>3295943
О да, это ведь ключевая характеристика каждого ЯП, 14 килобайтный хв это вообще киллер фича си, все разрабы в срочном порядке делают сепуку во славу Денниса Ритчи и Страуструпа
Аноним 12/10/24 Суб 12:09:38 3296045 355
>>3296035
Даже на дискету такая программа не влезет
Аноним 12/10/24 Суб 14:24:32 3296132 356
Аноним 12/10/24 Суб 15:06:24 3296196 357
>>3296045
Можно разделить на несколько, я брал doom 2 у друга на 10 дискетах. Вот он обрадуется когда на двух дискетах принесу ему хеллоуворд.
Аноним 12/10/24 Суб 15:13:15 3296203 358
>>3295898
А помнишь как невыразительность из джейвы магическим образом превратилась в супер-крутую фичу в еще более невыразительном go? less is more, just write more code? легко учить, легко передавать?
Мэйкфайлы из ада C++ стали супер молодежными
Калечная область видимость переменных через ИМЯ а не модификаторы, как в каком-нибудь питоне или джс - уоу, как круто, как удобно!

Там же сплошной выигрыш на выигрыше
Аноним 12/10/24 Суб 17:28:20 3296298 359
>>3295847
>100 неочевидных ошибок, тому доказательство.
И линтер-ссука даже не скажет ничего если ты напишешь

switch(a) {
case 1:
case 2:
code()
}
Аноним 12/10/24 Суб 17:29:07 3296303 360
>>3295849
>что практически обычно звучит как тухляк полуживого попенсорса.

Как и весь Годот
Аноним 12/10/24 Суб 17:50:58 3296328 361
>>3296132
Ну если ты готов покупать террабайтные диски для программ, которые могут занимать в сотни раз меньше места, то покупай. Я за качественное ПО, которое компактное и быстро работает.
Я вообще считаю, что раздувание современных программ - это рак, который надо выкорчевывать, а не потокать ему.
Аноним 12/10/24 Суб 17:58:31 3296339 362
>>3296328
Имаджинировали ебало этого додика?
Аноним 12/10/24 Суб 18:04:37 3296344 363
>>3296328
Когда станешь кабаном, тогда и будешь сишников красноглазых нанимать, чтобы они в твоем пиздатом ПО каждый байт экономили
Правда, к моменту выпуска MVP тебя ждет несколько сюрпризов, но об этом потом узнешь
Аноним 12/10/24 Суб 18:57:44 3296392 364
>>3295943
Что-то подобное я слышал в растотреде. Там еще добавляют про фанбоев и маркетологов.
Опционально сравнивают с си и си за решеткой, принося говнокод из этих языков
Аноним 12/10/24 Суб 19:09:41 3296400 365
>>3296392
На расте хеллоуворлд тоже весит полмегабайта, получше го, но тоже слишком много по сравнение си.
Аноним 12/10/24 Суб 19:30:20 3296410 366
>>3295053
>>3295032
Монолиты сложно часто релизить, если команда разработчиков большая и нет QA. Будете буквально каждую неделю блокироваться о то, что в соседнем отделе вмержили баг, он попал на тестинг, там его чудом заметили и теперь надо ждать пока этот баг поправят, после чего релиз начнут заново пересобирать и пытаться выкатить на тестинг, где будут ждать аппрувов от всех разрабов всех команд.

Распределенный монолит рано или поздно превращается в обычный монолит, где будет куча зависимостей между модулями. Сам такое видел пару раз.

Самый топ - это микросервисы. Не потому что это модно, а потому что можно релизы хоть каждые 5 минут катать, если не ломаются контракты между сервисами. И это гораздо удобнее, чем ждать пока 60 человек скажут что они проверили свои задачи на тестинге.
Аноним 12/10/24 Суб 19:32:39 3296411 367
>>3296203
>Мэйкфайлы из ада C++ стали супер молодежными
в го нет мейкфайлов, литералли 0 пердолинга с зависимостями.
Аноним 12/10/24 Суб 19:55:47 3296433 368
>>3296400
Там еще можно std отключить и наколхозить с асемблерными вставками и будет как в си, но это чисто развлечения для специальной олимпиады. В продакшен ты один хуй потащишь библиотеки и этот мегабайт стнадартной библиотеки будет незаметным на фоне всего остального
Аноним 12/10/24 Суб 20:14:55 3296442 369
>>3295235
>Ничего не мешает, кроме того что на сотом импорте можно словить циклический импорт и придется половину переписать.
Это да, удивило очень сильно. Года два назад как-то пробовал в качестве эксперимента написать апи для крудошлепста БД где-то на 30 таблиц, как раз копия дева была локально. Нагенерировал структур из sql и разложил все по полочкам, модели, интерфейсы репозиториев, реализации репозиториев хуё-мое, уже не помню вроде декораторы репозиториев с инмори кешированием написал. Компилирую и получаю большой хуй из-за импортов, в итоге закончилось тем что я собрал все в одну большую папку и тогда заработало.
С тех пор у меня отбило все желание перекатится на го, хотя количетво вакансий выглядело перспективным.

>>3295235
>Или где-то кто-то обновит интерфейс и будет увлекательно искать неделю те структуры которые его реализуют.
>>3295393
>Идешка покажет, кто реализует интерфейс
А кстати как решается этот вопрос при командной разработке? Неужели так вручную приходится искать все реализации при помощи ide и потом править внимательно глядя на то не проебал ли ты какую-то структуру. Или есть какие-то линтеры, комментарии в структурах и тп?

Мимо
Аноним 12/10/24 Суб 20:57:06 3296469 370
>>3296442
>А кстати как решается этот вопрос при командной разработке? Неужели так вручную приходится искать все реализации при помощи ide и потом править внимательно глядя на то не проебал ли ты какую-то структуру

Го компилируемый язык, поэтому при компиляции у тебя все структуры, для которых ты забыл заимплементить интерфейс, покажутся в выводе ошибки компилятора.
Линтеры или комментарии для такого не используют.
Аноним 12/10/24 Суб 21:30:16 3296493 371
>>3296469
То есть получается что в коде так или иначе ты передаешь структуру в метод где тип аргумента интерфейс и именно там оно и наебнется на этапе компиляции?
Аноним 12/10/24 Суб 21:44:08 3296503 372
>>3296410
Распределённый монолит это мемное название микросервисов
Аноним 12/10/24 Суб 21:52:23 3296516 373
>>3296493
Да, но может наебнуться и в рантайме, если у тебя в аргументах функций interface{} везде.
Аноним 13/10/24 Вск 09:09:29 3296766 374
>>3296411
Открыл вебинар от озона, первое с чем знакомят это мэйк файлы.
Аноним 13/10/24 Вск 14:43:24 3296970 375
>>3296469
>Го компилируемый язык, поэтому при компиляции у тебя все структуры, для которых ты забыл заимплементить интерфейс, покажутся в выводе ошибки компилятора.
Далеко не всегда, может и в рантайме запаниковать.
Аноним 13/10/24 Вск 14:48:37 3296973 376
совету не учить язык golang, т.к. язык молодой, а также имеет слабое ООП, также кривую обработку ошибок(ты же не хочешь каждую строчку писать if err != nil, в шарпе или жаве намного удобнее :) ), НАХУЙ не нужные интерфейсы, а также очень мало вакансий для начинающих, потому что голенг разработчики НАХУЙ никому не нужны, т.к. все норм разрабы перешли в него с жавы или шарпа уже на позицию мидла. Работу ты НЕ НАЙДЕШЬ, у тебя НЕТ ШАНСОВ :( . Задумайся, а сейчас я бы посоветовал начать с изучения топового языка такого как python, у которого есть очень крутые фреймворки для того, чтобы начать работу уже ЧЕРЕЗ МЕСЯЦ обучения(я так и сделал :3 ). Также для начала программирования бекенд приложений тебе стоит изучить алгоритмы и стукрутры данных(я разбираюсь). Тебе нужно прорешать не менее 100 легких задач на литкоде, 50 средних и 25 сложных, иначе тебя НИКУДА не возьмут. Так что иди учи салага, ждем тебя в рядах наших Айтишников, чтобы ты мог чинить микроволоновки и писать приложухи :)
Аноним 13/10/24 Вск 15:04:17 3296987 377
>>3296973
начал хорошо, но пережирнил в итоге
Аноним 13/10/24 Вск 18:41:07 3297248 378
>>3296766
Там они даются не в контексте зависимостей
Аноним 13/10/24 Вск 18:49:06 3297265 379
>>3296973
> НАХУЙ не нужные интерфейсы
> голенг разработчики НАХУЙ никому не нужны
> Работу ты НЕ НАЙДЕШЬ, у тебя НЕТ ШАНСОВ
тыскозал?

> я бы посоветовал начать с python чтобы начать работу уже ЧЕРЕЗ МЕСЯЦ обучения
Ох уж эти экстраполяторы одной ситуации на весь рынок
Аноним 13/10/24 Вск 19:15:35 3297285 380
>>3296442
Поэтому в го принято объявлять интерфейс рядом с использованием.
Аноним 13/10/24 Вск 21:27:25 3297336 381
Аноним 14/10/24 Пнд 08:38:25 3297496 382
>>3295847
>У тебя весь твой текст из шаблонных фраз с ютуба.
Да. Я же написал, что описываю стереотипное мнение, а сам деталей не ебу.

>Та же джава, но меньше бойлерплейта.
Куда ещё меньше? Что в котлине для бека есть такого, чего нет в последних джавах?

>Лож, бойлерплейт не легко писать, крайне утомительно
Спринг учить тоже нелегко и утомительно.

>Еще один писатель софта из одной стандартной либы.
Ещё один "а давайте импортнем VasyanLib.jar", похуй чо там потом будет.

>100 неочевидных ошибок, тому доказательство. Начинай свой новый день с подводных камней кривого дизайна го.
Про любой ЯП можно так сказать, и в любом ЯП ты сможешь найти кучу неочевидных мест, чтобы обосраться.

>Ну да, то то макфайлы это модно и молодежно, лол
Makefile скорее для свистоперделок вроде линтеров, генерации протобафа и деплоя используют. Для сборки достаточно одной команды, всё остальное, включая подтягивание зависимостей, само отработает. Никаких мейкфайлов.

>то есть они самый главный недостаток переобули в фичу, лол
Ну да, сделали ЯП для любителей такого подхода. А зачем нужен ещё один ЯП с местным спрингом, когда уже есть джава со спрингом?

>>3296328
Рыночек в очередной раз порешал, стоимость времени, которое смузихлеб потратит на оптимизацию RAM/Storage будет в разы дороже, чем покупка и установка этого самого железа. Зачем, если можно делать бизнес-таски по перегонке новых жсонов?

>>3296766
>Открыл вебинар от озона, первое с чем знакомят это мэйк файлы.
Пришел в ПНД, первое, чем кормят -- говно двусмысленно вышло

>>3296442
Циклические импорты иногда боль, да.
Аноним 14/10/24 Пнд 11:29:08 3297652 383
>>3297496
>Спринг учить тоже нелегко и утомительно.
Ты либо недельку учишь спринг, либо год пишешь его сам. Все просто.
Аноним 14/10/24 Пнд 13:48:39 3297786 384
>>3297652
>недельку учишь спринг
Потом ты вспоминаешь Евгения Борисов с его "потрошителями" и понимаешь, что даже на корку у тебя уйдет не один год, лол
Аноним 14/10/24 Пнд 13:57:14 3297803 385
>>3297786
>Потом ты вспоминаешь Евгения Борисов с его "потрошителями" и понимаешь, что
за использование BeanPostProcessor и иже с ним, надо пиздить.
Аноним 14/10/24 Пнд 14:07:15 3297811 386
>>3297803
Ты ничего сложнее крудов не писал на спринге. Бинпостпроцессор полезная фича для серьезных проектов
Аноним 14/10/24 Пнд 15:11:56 3297880 387
>>3297811
>Ты ничего сложнее крудов не писал на спринге. Бинпостпроцессор полезная фича для серьезных проектов
Именно что писал и наелся этого говна выше крыши. Добавляешь новый бин, и у тебя отвалится вайринг в месте которое ты вообще не трогал. Спринг вместо простого и легковестного DI, которым он был изначально, стал современной WebSphere.

Я считаю что конфигурация спринга должна быть простой и понятной, а если тебе нужен BeanPostProcessor значит ты делаешь что-то не так.
Аноним 14/10/24 Пнд 17:11:46 3298081 388
>>3297496
>Рыночек в очередной раз порешал, стоимость времени, которое смузихлеб потратит на оптимизацию RAM/Storage будет в разы дороже, чем покупка и установка этого самого железа. Зачем, если можно делать бизнес-таски по перегонке новых жсонов?
Двачую, в большинстве проектов похуй на перформанс языка, вообще можно спокойно делать бек на питоне/ноуджс/руби/пыхе, ресурсы железа нынче очень дёшево стоят.
Аноним 14/10/24 Пнд 18:04:12 3298120 389
>>3297652
>Ты либо год учишь спринг, либо недельку пишешь его сам.
Пофиксил

>Все просто.
Тебе с дивана конечно же виднее
Аноним 14/10/24 Пнд 22:31:05 3298330 390
>>3297496
>Рыночек в очередной раз порешал, стоимость времени, которое смузихлеб потратит на оптимизацию RAM/Storage будет в разы дороже, чем покупка и установка этого самого железа. Зачем, если можно делать бизнес-таски по перегонке новых жсонов?
Именно так мы и думали когда писали нашу систему, благо у нас есть инстансы с 600 Гб RAM/256 CPU. Но в какой-то момент перестало хватать и их. И тут внезапно выяснилось, что можно в 50 Гб RAM/16 CPU ужаться. Достаточно копеечный, советский... убрать лютый говнокод и дублирование данных
Аноним 14/10/24 Пнд 22:58:01 3298342 391
Так нахуй, я тупой и нихуя не понимаю.
Наткнулся на канаты в телеге с задачками.
В основном всё ясно и понятно, но есть несколько которые я нихуя не понимаю почему так.

1) https://go.dev/play/p/c20CL1FuMeD
Почему ./prog.go:10:9: 1 << unsafe.Sizeof(x) (8 bits) too small for shift of 8
Какого хуя там другой тип стал во второй функции?

2) https://go.dev/play/p/9Ag3TjdaY_f
Куда делся println? Почему он не выполняется?
Аноним 14/10/24 Пнд 23:07:02 3298344 392
>>3298342
> Куда делся println? Почему он не выполняется?
Потому что горутина не успевает отработать и main завершается быстрее
Аноним 14/10/24 Пнд 23:12:35 3298350 393
>>3298330
К слову о том что не достаточно взять "быстрый" язык. Писать оптимизированный код это отдельная инвестиция времени и, что важно, ума.
Бенчи techempower тому доказательство.
То есть, человек, который думает, что возьмет го/раст/zig/ассемблер и выиграет с этого, чаще этот человек некомпетентен в вопросе оптимизации и пишет обычный, неоптимизированный код.
Аноним 14/10/24 Пнд 23:15:36 3298351 394
>>3298344
Я реально дебич, там же []int, а он Uncomparable.
Панику съедает Goexit.
Аноним 14/10/24 Пнд 23:21:07 3298354 395
>>3298351
А, так вон оно что Goexit делает...
Интересно, а что нибудь из пакета runtime в проде вообще используется?
Аноним 15/10/24 Втр 00:51:35 3298401 396
>>3298081
Ок, а легче писать и поддерживать то что? Вряд ли тут руби и ноджс особо проигрывают в этом
Аноним 15/10/24 Втр 07:23:56 3298461 397
>>3298401
Всё, что не го. В руби рельсы, в пхп симфони и ларавель, в питоне джанго и фастапи, в джаве спринг, в ноде нест и фастифай, а в го голый роутер да и всё, лол, остаётся писать велосипеды, очень весело и продуктивно.
Аноним 15/10/24 Втр 11:35:23 3298600 398
Аноним 15/10/24 Втр 12:02:14 3298621 399
>>3298600
Гино это для тяночек..
Аноним 15/10/24 Втр 12:23:14 3298643 400
>>3298461
> В руби рельсы
Это увлекательный мир, ты очень быстро пишешь круды, генерируя из терминала, потом очень долго и больно решаешь всяки N+1 проблемы, а еще там много магии и писать можно всякую хуйню, которую хуй прочитаешь. На рельсах удобно пилить проекты которые отдал заказчику и забыл, но очень больно это говно поддерживать
Аноним 16/10/24 Срд 00:35:50 3299311 401
>>3298461
>остаётся писать велосипеды
Что мешает взять уже написанный?
Аноним 16/10/24 Срд 11:16:50 3299524 402
>>3298461
В бигтехах, где я работал, и Go использовался как основной язык, было одно общее условие - написана общая PaaS/фреймворк/библиотека на которых пишутся все сервисы в компании. Она была отлично задокументировна + были внутренние каналы на 5-10к инженеров где тебе за 15 минут помогут с каким-то вопросом по этой вундервафле.

Так что если это условие соблюдается - на Go писать продакшен отлично. Если никакой инфры для Go в компании нет - лезть туда не стоит, и проще писать сервисы на том же Node.js + Typescript + Fastify/Nest или спрингоговне, иначе ты заебешься настраивать проект, затаскивать гошные либы, линтеры, кодгены, мидлвари, и делать очередной extra-super-modern-toolkit-template для го разработки в компании. Можно конечно взять и написать свой PaaS для конторы только это пиздец как дорого, и тебя с вероятностью 99% пошлют нахуй, тк под это выделяется целый стрим и отдельные команды/бизнес юнит.

Так что если там где ты работаешь, под го нихуя нет то бизнес пиши на любом ЯП где все есть заранее а на гошке решай чисто инфровые/devsecops задачи.
Аноним 16/10/24 Срд 14:19:33 3299756 403
Дали оффер в финбигтех на миддла/сеньора (хз, че там, сегодня оффер презентуют на +-350к) с перекатом из питхона в гошку. Там у них есть какое-то обучение, но хотел у бывалых спросить, есть ли что-то, что для такого переката было б классно почитать или изучить? Или можно просто доку прочитать и идти пилить микросервисы?
Аноним 16/10/24 Срд 14:39:06 3299777 404
>>3298330
Так и надо. Вы делали сначала чтоб приносило деньги и объемы, которые вам сделали большой инстанс, а потом оптимизировали все, чтобы инфра была недорого.

>>3299524
Два чая.

>>3299756
>Или можно просто доку прочитать и идти пилить микросервисы?
Go Tour. Остальное научат-покажут.
Аноним 16/10/24 Срд 16:46:25 3299891 405
Вопросец, а пользуются вообще гнушным конпелятором go?
Аноним 17/10/24 Чтв 06:50:59 3300248 406
>>3299891
Он ещё не доделан нормально, так что хз. Но там суть в том, что код на го компилится в объектник, который нормально линкуется с объектниками на С/С++, можно дёргать функции оттуда без CGo (и наоборот), и даже можно будет пользоваться указателями на аллоцированную в си память, а вот это пока не доделали.
Так что хз как сейчас, но вообще кто-то пользоваться точно будет.
Аноним 18/10/24 Птн 21:32:54 3301851 407
Аноны, подскажите пж, насколько го шустрый?
Прост в вузе на алгосах мы писали на крестах и питоне, где вживую было видно что плюсы прям неебаца быстрее петухона, некоторые задачи на с++ проходили просто тупым брутфорсом, когда на питоне приходилось кочевряжится. Из за чего у меня появился шаблон что все что не плюсы медленное говно, но вот я уже почти как полгода стажируюсь на го и не понимаю, он медленный или быстрый, нет возможности запустить какой нить алгоритм и сравнить, мне просто дико влом решать алгозадачи, тем более на го
Аноним 18/10/24 Птн 21:35:54 3301852 408
>>3301851
Точнее я знаю что он быстрее большинства, но тип... насколько? На нем в случае чего можно не усираться в этот невидимый коэффициент перед O(n log n)?
В общем да, хотелось бы получить какой то общий ответ
Аноним 18/10/24 Птн 21:58:39 3301862 409
>>3301851
>Аноны, подскажите пж, насколько го шустрый?
Средне. Скажем так... он быстрее джавы раза в 1.5. Быстрее ноды раза в 2. Быстрее пхп раза в 2.5. Но! С дотнетом/сишарп не всё так однозначно. С/С++ проигрывает всухую. Rust'у просирает ну где-то процентов на 15-20. Короче быстрый, но не супер быстрый-быстрый.
Аноним 19/10/24 Суб 01:36:42 3302019 410
>>3262474
>го вообще только
вообще хрень никому не нужная. В нём нет abi ос- ориентированных вообще, только транспиляция в с-abi компиляторы.
На выкид в общем то, ещё одна ненужная хрень вермишельная.
Аноним 19/10/24 Суб 01:56:43 3302023 411
>>3302019
А нахуя оно в языке, ориентированном на веб сервисы? Вы блядь плюсовики свой язык перегрузили килотоннами говна так, что ни один человек на планете не знает С++. Пока познакомишься с вагоном хуерги из нового стандарта, забудешь старые. Не зря Торвальдс любителям добавить в языки новые возможности в лицо ссыт и к ядру не подпускает.
Аноним 19/10/24 Суб 02:02:43 3302026 412
>>3302023
>Не зря Торвальдс любителям добавить в языки новые возможности в лицо ссыт и к ядру не подпускает.
Дааааа, ведь так весело писать аналог этих новых функций, но только не в одну строку, а во все 15. Поссал на ебало всем тебе подобным
Аноним 19/10/24 Суб 03:53:51 3302049 413
>>3301851
Там зеленные потоки с диспетчером и гц каждые 10мс в ущерб проца, он априори не может быть быстрым.

В реальных тестах (не искусственная хрень) и реальных приложениях он сосет даже у жабы, причем в асинхронных тестах где должен быть быстрее.
Так же можно увидеть что в топе techempower находится го, но все это сокетные огрызки от настоящего http протокола (чаще на базе fasthttp).
Реальный перформанс где-то на корутинах котлина. К сожалению зеленые потоки имеют недостаток в сравнение с донтвэй асинк/авэй

Что насчет питона, то медленнее него только руби или кривые приложения на других языках (даже на Си и С++).

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

Но в итоге го достаточно производительный по меркам промышленного программирования. Да и какая тебе разница, ты что ли железо кабану покупаешь?
Аноним 19/10/24 Суб 14:05:04 3302318 414
>>3302049
Любой, кто хочет писать т.н. быстрый код, должен уметь делать профайлинг.
Если человека закидать всякой хуйней для профайлинга, у него наверное вся хотелка писать оптимизированный отсохнет. Делать оптимизации просто так признак дурачины.
Аноним 19/10/24 Суб 14:12:22 3302329 415
>>3302049
И да, гошка/шарпы на железке имели около 40-60к запросов, а потом подключил код работающий с базой, и все упало до 1-3к
То есть, хоть на питоне пиши, все равно в i/o упрешься.

Стоит отметить у жабы шустрый драйвер к базе, на этом все, срыг, тормозная херотен
Аноним 20/10/24 Вск 17:28:38 3303560 416
А как вы обрабатываете ошибки? В такое количество явных ошибок с этим if-err-not-nil, что хочется правильно настроить разные типы ошибок.

Ну простой пример из моего проекта: есть роут с контроллером GET /data, есть функция которая что-то читает с БД, из файла, занимается marshalling/unmarshalling. И на половину из этих ошибок надо отправлять разные http статусы и сообщения клиенту.

Писать errors.New("db fail happend") не хочется, к тому же проверять в родителе это как? Посоветуйте куда копать.

В java, python и прочем ооп можно было в catch выбрать нужную ошибку и соответствующе отреагировать. Но в го такого механизма нет (либо он выглядит как-то иначе)
Аноним 20/10/24 Вск 18:14:44 3303600 417
>>3303560
Обычно принято заводить свои ошибки под определенные кейсы для каждого слоя приложения. Например, в твоем случае:
- в пакете storage(предположим, в нем у тебя слой работы с БД) ты создаешь файлик errors.go и объявляешь в нем релевантные для твоего кейса ошибки(ErrNoRows, ErrEntityDoesNotExists).
- в пакете, где работаешь с файлом, логика та же - заводишь кастомные ошибки(ErrInvalidFile, etc...)
- для валидации, маршаллинга/анмаршаллинга аналогично

В итоге в коде твоего хендлера используешь errors.Is() или errors.As(), например такой вызов:

resp, err := usecase.GetData(); err != nil {
switch {
case errors.Is(ErrNoRows):
response.SetCode(404)
response.SetData("отсутствуют данные")
return nil
case errors.Is(ErrInvalidFile):
response.SetCode(400)
response.SetData("невалидный файл")
return nil
default:
response.SetCode(500)
response.SetData("что-то пошло не так")
return nil
}
}


Схему максимально упростил, по хорошему можно еще обобщать ошибки на временные/постоянные и дополнительно изменить логику их обработки(так же через пакет errors).
Аноним 20/10/24 Вск 18:24:16 3303604 418
>>3303560
>либо он выглядит как-то иначе
this

Создаешь новый тип для ошибки и возвращаешь его. Наверху делаешь errors.Is/As() и отправляешь соответствующий HTTP код.

Или можно не создавать свой тип, а просто
fmt.Errorf("DB read failed: %w", err)
при условии, что условная база имеет свой тип для ошибки.
https://go.dev/play/p/c2UIni-E2ep

Но лучше все таки создать свой тип, так надежнее.
Аноним 21/10/24 Пнд 13:17:42 3304299 419
>>3303600
>>3303604
Надо было как в пидорасте делать Result<type>..., ах да, в говне же нету юнион енумов ахахаха.
Аноним 21/10/24 Пнд 21:09:51 3304889 420
>>3304299
Как разница, что там оператор ветвление что тут?
Офигеть победа
match result {
Err(nil) => return nil;
Ok() => {
// еще один отступ для бога ветвления
}

Самая лучшая реализация ошибок в системном языке это в зиге
Аноним 21/10/24 Пнд 22:10:40 3304909 421
Устроился в ваш го на 300к с 1.5 годами опыта, вопросы изичайшие на собесах, за 2 недели оффер с 0 опыта на го, учился полтора месяца с утра до ночи
Аноним 21/10/24 Пнд 22:16:21 3304910 422
>>3304889
>Как разница, что там оператор ветвление что тут?
У тебя в говне ошибка - это строка.
>Самая лучшая реализация ошибок в системном языке это в зиге
Пили пример.
Аноним 21/10/24 Пнд 22:39:55 3304921 423
>>3304909
хлебушек, проснись, ты подливу пролил...
Аноним 21/10/24 Пнд 22:44:08 3304924 424
>>3304921
Так по факту вопросы легкие, спрос на го разрабов ебанутый, я открыл резюме с накрученным опытом до 3+ года и мне хрки сразу срать начали в личку
Аноним 21/10/24 Пнд 23:01:27 3304940 425
>>3304910
>У тебя в говне ошибка - это строка.
У тебя в голове говно. Буквально двумя постами выше написано про бест практисиз касательно ошибок.
Аноним 22/10/24 Втр 01:07:36 3304991 426
>>3304924
У меня почти 3 года опыта на го, общего опыта 5 лет. Из них 4 в бигтехе, и че то хрюши нихуя не пишут. Последнюю работу нашёл проспамив 100 вакансий. Чяднт?
Аноним 22/10/24 Втр 01:14:30 3304994 427
>>3304991
Скидывай резюме с замазанными личными данными.
Аноним 22/10/24 Втр 01:19:28 3304995 428
>>3303600
>Обычно принято заводить свои ошибки под определенные кейсы для каждого слоя приложения. Например, в твоем случае:
>- в пакете storage(предположим, в нем у тебя слой работы с БД) ты создаешь файлик errors.go и объявляешь в нем релевантные для твоего кейса ошибки(ErrNoRows, ErrEntityDoesNotExists).
>- в пакете, где работаешь с файлом, логика та же - заводишь кастомные ошибки(ErrInvalidFile, etc...)
>- для валидации, маршаллинга/анмаршаллинга аналогично
>
>В итоге в коде твоего хендлера используешь errors.Is() или errors.As(), например такой вызов


Я сам до этого всего додумался. Тоже пишу свои кастомные типы ошибок на каждом уровне, а потом прокидываю их по цепочке вызовов выше, в handler и там уже либо ифами, либо свитчем делаю обработку и выставляю нужные коды ошибок. А бывает, что еще на уровне сервиса надо выстраивать обработку ошибок, причем довольно громоздкую.

И по факту ведь кал получается, абсолютно нечитаемая write-once параша.
После питухона или жабы кажется что это какой-то совсем неправильный подход.
Аноним 22/10/24 Втр 02:13:53 3305024 429
>>3304995
Дело в том, что развитием го занимаются долбоебы. Они не следят за разработками в других языках, они придумали манямирок "мы из гугла мы крутые ебать" и живут в нем. На любую справедливую критику хуле все так через жопу ответ один - это говей, пиши err!=nil и не выебывайся. Похожая хуита происходит в яндексе, только там шизы пишут круды на плюсах и пилят свой никому нахуй не нужный userver.
Аноним 22/10/24 Втр 02:41:21 3305034 430
>>3304991
Рил странно, потому что меня тоже хрюши на куски рвали, когда я открыл резюме с 2,5 года опыта на го, 5 в сумме.
Аноним 22/10/24 Втр 07:39:04 3305119 431
>>3304909
А потом я проснулся.
Джуны на го нужно только на ютубе
Аноним 22/10/24 Втр 07:42:44 3305124 432
>>3304995
Лол, как только го попал в настоящую разработку, люди сразу начали придумывать эксепшены.
Спасибо дедушкам из гугла за обработку ошибок руками.
Аноним 22/10/24 Втр 13:28:01 3305507 433
>>3305024
>это говей, пиши err!=nil и не выебывайся
>>3305124
>Лол, как только го попал в настоящую разработку, люди сразу начали придумывать эксепшены.
>Спасибо дедушкам из гугла за обработку ошибок руками.
Эксепшены хорошо работают до тех пор пока у тебя линейный код в одном потоке. А как только у тебя появляется асинхронные функции/корутины/легковесные потоки всё резко усложняется и появляются все эти AggregateException, coroutineScope и прочие ExecutionException. Со всякими ахуительными шаблонами типа:
} catch (ExecutionException e) {
throw e.getCause();
}

https://www.codeguru.com/csharp/async-methods-exception-handling/
https://medium.com/mindful-engineering/exception-handling-in-kotlin-coroutines-fd08e622360e
https://www.reddit.com/r/java/comments/1co8gew/exception_handling_and_structured_concurrency/

И на фоне этого пиздеца, гошные ErrorGroup вполне себе нормально смотрятся.
Аноним 22/10/24 Втр 13:41:47 3305539 434
>>3301862
>Го быстрее джавы раза в 1.5. Быстрее ноды раза в 2. Быстрее пхп раза в 2.5.
Быстрее пхп в дохуища раз, быстрее ноды процентов на 30... Медленнее джавы в 1.5 раз
Аноним 22/10/24 Втр 14:45:43 3305658 435
>>3305539
Быстрее пхп 7 в дохуища раз,
но быстрее пхп 8 во столько же раз, как и у джавы
Аноним 22/10/24 Втр 14:47:15 3305662 436
17278449724341.png 52Кб, 621x669
621x669
>>3305034
Индекс вката потому что упал
Аноним 22/10/24 Втр 14:48:08 3305664 437
1729597642986.jpg 256Кб, 1080x1635
1080x1635
Аноним 22/10/24 Втр 14:53:17 3305667 438
>>3305664
У тебя фреймвёрки несопоставимы. Ларавель - это комбайн, который умеет всё на свете, а горилла-мукс - это обёртка над стандартным гошным хттп-сервером, там функционала минимум. В джаве надо Spring сравнивать.
Аноним 22/10/24 Втр 14:57:39 3305675 439
Вот по расту есть куча md-книжек и прочих ресурсов https://rust-lang.ru свободных для чтения. А по го почему-то ничего подобного нет. Все книги платные. Почему так?
Аноним 22/10/24 Втр 15:29:07 3305717 440
>>3304991
Значит проблема в резюмбе.
Я открыл резюме мне в первые 2 дня 56 просмотров и 6 собесов назначили, я без откликов получил 2 офера 260+к
Аноним 22/10/24 Втр 16:11:25 3305759 441
>>3305507
В сишарпе такие конструкции скрыты внутри фреймворка, их никто не пишет. Вызываешь .Result и оно само пробрасывает эксепшены, если надо. В гошке ты как проклятый пишешь err!=nil снова и снова, весь код засран этим говном.
Аноним 22/10/24 Втр 16:26:26 3305768 442
>>3305759
>В гошке ты как проклятый пишешь err!=nil снова и снова, весь код засран этим говном.
Можно не писать на говне? Алсо, а макросы у вас есть? Для какой-нибудь подобной фигни, например, в си при пользовании либы курсес я тупо макросами оборачиваю как надо.
Аноним 22/10/24 Втр 16:36:50 3305778 443
>>3305759
>пишешь err!=nil снова и снова
Это специально придумано, чтобы каждый раз задумывался как правильно обработать ошибки, а не свалить всё на самотёк.
Аноним 22/10/24 Втр 18:17:42 3305848 444
>>3305675
Потому что пидораст маркетингом занят, а го серьёзные люди делают, им не до завлекушных соевых свистоперделок типа стопятисотого нескучного объяснения системы владения.
Аноним 22/10/24 Втр 18:25:20 3305852 445
>>3305507
В шарпах ничего не нужно, в твоей статье просто про кишки рассказывается.
Аноним 22/10/24 Втр 18:33:51 3305856 446
>>3305664
В го есть http огрызки на базе фаст-хттп. Там даже где-то на оффсайте это пишут, но зеленные продолжают таскать сокетные тесты с роутером, против реальных фреймворков.

На сайте
https://www.techempower.com/benchmarks/#hw=ph&test=plaintext&section=data-r22
дефолтный го в 10 раз медленней топовых решений на других языках, это его реально место, не быстро, но и не медленно.
Аноним 22/10/24 Втр 18:36:11 3305858 447
>>3305768
>Можно не писать на говне?
Да, тебе выше говорят бери шарп, если нужен хорошо задизайненный язык.
Аноним 22/10/24 Втр 18:44:03 3305859 448
image.png 26Кб, 836x327
836x327
image.png 18Кб, 608x195
608x195
>>3305778
Тебя обманули, авторы просто сэкономили и ни реализовали никой обработки вообще.
Вот так можно было сделать.
Аноним 22/10/24 Втр 20:06:05 3305923 449
нигде не вижу годного туториала как делать загрузку картинок на бекенде
помогите плиз
понятно что хранить ее будем не в базе а в файловой системе
но как все сделать чики пуки не понятно
Аноним 22/10/24 Втр 20:18:15 3305928 450
>>3305856
Да никто эти фастхттп и файберы в проде не использует
Аноним 22/10/24 Втр 21:36:00 3305985 451
>>3305923
>понятно что хранить ее будем не в базе а в файловой системе
Почему не в базе? Современные субд уменют в партиционирование.
Аноним 23/10/24 Срд 00:38:04 3306050 452
>>3262042 (OP)
Подскажите, а как в Go относятся к тому чтобы в одном методе репозитория было несколько сырых SQL-запросов? Ну например когда объект с внешними ключами или есть ассоциативные таблицы, и чтобы его создать нужно внести записи в несколько таблиц. Какой в таких случаях хороший тон: все делать в одном методе или разбивать на несколько и вызывать все из сервиса? Меня смущает что методы выходят очень громоздкие
Аноним 23/10/24 Срд 00:49:49 3306054 453
>>3306050
Оно же у тебя завёрнуто в транзакцию? Одна транзакция − один метод. Если не завёрнуто, то стоит сперва озаботиться хорошим тоном в работа с бд.
Если совсем громоздко получается, то можно использовать DTO.
Аноним 23/10/24 Срд 00:52:42 3306057 454
>>3306050
Открой для себя хранимые процедуры.
Аноним 23/10/24 Срд 01:10:37 3306060 455
>>3306054
Да, собираюсь заворачивать, только я хотел завернуть в одном методе как ты предлагаешь, а коллега считает что нужно вызывать все четырьмя методами из сервиса, где каждый метод корреспондирует таблице в которую вносим записи
Аноним 23/10/24 Срд 01:49:25 3306068 456
>>3306060
И управление транзакцией всплывает на уровень сервиса? Звучит как делай по букве из солида ради буквы из солида, а на остальное похуй.
Если уж делить, то всё равно сделать один основной метод, который будет вызывать мелкие методы внутри.
Аноним 23/10/24 Срд 03:49:47 3306080 457
image.png 34Кб, 590x409
590x409
image.png 64Кб, 1138x232
1138x232
Аноны, сейчас будет тупой вопрос от вкатуна.

Есть задача, в ней надо считать три цифры через пробел с клавиатуры. ЧатЖПТ предложил мне решение с пика 1. Но оно не работает. Интернет мне подкинул ответ в виде пика 2, но пробел же вроде входит в ASCII и с ним не должно быть проблем?
Аноним 23/10/24 Срд 07:52:55 3306123 458
>>3306080
Не работает − отдебажь. Напечатай сначала input после ввода, потом parts после деления. Поймёшь, в каком месте не работает.
Тебе же надо научиться понимать, в каком месте ошибка, а не зелёную галочку за решение задачки.
Алсо, второй пик не про это вообще, а про руны vs байты. С цифрами, латинскими буквами, пробелами и пунктуацией проблем нет, разница появится, когда кириллицу и другие алфавиты будешь использовать. И вообще у тебя в коде ничего этого нет.
Аноним 23/10/24 Срд 11:47:46 3306278 459
>>3302019
а, ну раз ты скозал, говно заумное, то так оно и есть
Аноним 23/10/24 Срд 14:12:16 3306399 460
>>3306050
Так же, как и везде -- вообще не очень, но it depends. Подход ничем абсолютно не отличается от других языков.
Аноним 23/10/24 Срд 14:30:25 3306413 461
Аноним 23/10/24 Срд 15:21:04 3306459 462
>>3305858
>тебе выше говорят бери шарп
Нахуй ты мне это пишешь, говнарь.
Аноним 23/10/24 Срд 16:30:17 3306511 463
>>3305759
>>3305852
Петушарперы поспешают на захист барена. При этом
как обычно читают жопой.

Речь шла о нескольких асинхронных тасках и там уже надо городить огород с Task.WhenAll(), а AggregateException нужно обрабатывать, чтобы получить все ошибки, а не только первую.
Аноним 23/10/24 Срд 17:21:28 3306553 464
>>3306511
А то в говне WaitGroup не используется.
Аноним 23/10/24 Срд 18:00:14 3306581 465
Бездельники, давайте го в геймдев протаскивайте.
Аноним 23/10/24 Срд 19:57:40 3306674 466
Аноним 23/10/24 Срд 21:28:54 3306721 467
>>3306674
Какое же муторное говно (мимо проходил и сел это читать). Ради чего "старые из гугла" это придумали? Чем это отличается от того чтобы просто прочитать файл?
Аноним 23/10/24 Срд 22:55:35 3306766 468
Аноним 24/10/24 Чтв 07:13:17 3306856 469
>>3306721
Там буквально в комментарии пакета расписано. Читал он бля
Аноним 24/10/24 Чтв 10:23:24 3306969 470
>>3306856
Но сказать ты этого не смог, у тебя лимит на буковки?
Аноним 24/10/24 Чтв 10:43:09 3306977 471
image.png 77Кб, 1677x257
1677x257
Мнение, коллеги?
Аноним 24/10/24 Чтв 11:09:32 3306994 472
>>3306977
Пиздец конечно, крудошлёпу СЛОЖНА
Аноним 24/10/24 Чтв 11:22:09 3307006 473
>>3306969
А нахуя мне жирного кормить?
Любой нормальный разработчик, может открыть доку где зелёным по черному расписана мотивация.
Идти на оранжевый за ответами - признак тролля/долбаеба. Ярлык сам себе повесь, какой больше нравится
Аноним 24/10/24 Чтв 11:28:35 3307014 474
>>3306553
И опять:
>При этом как обычно читают жопой.

Я с самого начала про это писал.
>И на фоне этого пиздеца, гошные ErrorGroup вполне себе нормально смотрятся.
Разница в том, что в Го тебе сразу говорят, что ты будешь ручками обрабатывать ошибки, а в шарпе тебе обещают что эксепшены просто работают*.
Аноним 24/10/24 Чтв 12:17:10 3307040 475
>>3307006
>Любой нормальный разработчик, может открыть доку где зелёным по черному расписана мотивация.
Это верно для нормального языка, но где об мотивации написано тут??
https://pkg.go.dev/embed

>Идти на оранжевый за ответами
Да я уже понял что ты сам не знаешь.
Аноним 24/10/24 Чтв 12:21:29 3307043 476
>>3307014
Да, эксепшены в шарпе просто работают, сам к этому выводу пришел и не надо руками имитировать исключения на каждый пук - а просто берешь и пишешь в нормальном флоу.
Аноним 24/10/24 Чтв 13:54:15 3307103 477
>>3307040

Package embed provides access to files embedded in the running Go program.

Go source files that import "embed" can use the //go:embed directive to initialize a variable of type string, []byte, or FS with the contents of files read from the package directory or subdirectories at compile time.

For example, here are three ways to embed a file named hello.txt and then print its contents at run time.

Embedding one file into a string:


Тебе в первом же абзаце написано, что пакет дает тебе возможность встроить файл в программу и сохранить значение в переменной. Не заниматься ебаниной, вроде чтения из файл самостоятельно т.к чревато разными ошибками побочными эффектами и т.д. Мотивация - дать тебе инструмент? Смекаешь?
У нас в го и GC есть, хотя вот живут же ЯП без коллектора и ничего. А диды так вообще на перфокартах хуярили, зачем надо было все эти асмбли, фортраны, лиспы и прочую залупу с абстракциями выдумывать
Аноним 24/10/24 Чтв 14:46:04 3307136 478
>>3307103
Мы говорили о мотивации, ты высрал свою, а там о мотивации не было ни слова, значит ты звездобол получается? А криков то было.

Я читал и без тебя описание этой техи, и я спросил, нахрена деды ввели целую новую семантику в язык, ради сахара вида File.readAll()? Но при этом все до блюваты пишут err != nil ??
Аноним 24/10/24 Чтв 14:58:49 3307146 479
>>3307136
Диды ввели сахар для безопасности и быстродействия

По поводу обработки, то я нигде не говорил, что кайфую с err != nil охуенным дизайнерским решением. Но трай/кэтчи мне нравятся ещё меньше. Потому что с заковыристой бизнес логикой гошные подход обработки ошибки дает большую информативность.
Аноним 24/10/24 Чтв 15:47:20 3307179 480
>>3307146
Я к тому, что какую-то херонину добавили, которая нужна пару дедам в гулугулу, а главный геморрой языка не трогают, мотивируя что наш язык неизменяем и консервативен.

Вообще я мимо проходил, упаси на говне писать.
Аноним 24/10/24 Чтв 20:34:19 3307349 481
Где почитать как работать с транзакциями и postgres в го? Писать запросы в базу при помощи pgxpool я научился. Теперь хочу научиться писать такие случаи, когда в одном методе сервиса нужно открыть транзакцию в ней сделать несколько обращений в репозиторий. В каловом джава спринге все решалось аннотацией @Transactional, а сейчас я вообще не пойму где эти транзакции открывать, в репозитории, или в сервисе - а потом прокидывать в репозиторий?
Аноним 24/10/24 Чтв 21:53:51 3307396 482
>>3307349
В идеале сервис не должен знать про транзакции, транзакции должны быть чисто на уровне абстракции репозитория, тк это часть работы с внешним плагином бд, а не чистой бизнес логики, которая относится к сервису.
Ну и транзакции желательно делать поменьше, бд как примитив синхронизации это не супер кул. Отсюда следует, что ты в среднем не хочешь делать транзакции длиною в жизнь (вне зависимости от яп).
Это все вообще к го не относится, просто общие архитектурные принципы, которые иногда при большом желании можно нарушать.
Аноним 25/10/24 Птн 00:07:32 3307452 483
>>3307396
>Ну и транзакции желательно делать поменьше, бд как примитив синхронизации это не супер кул. Отсюда следует, что ты в среднем не хочешь делать транзакции длиною в жизнь (вне зависимости от яп).

Ну, про супер долгие транзакции речь не идет. Но вот на текущей работе у нас прям как обязательное правило принято, что сценарии бизнес-логики обязательно должны быть под serializable транзакциями, если хоть где-то в базу вставляем. И вообще правило такое, что если мы делаем select + update (пусть несколько раз из разных баз данных), то это всегда одна транзакция. Да, на базу данных у нас очень много чего завязано, мы очень строго следим за консистентностью данных.
Аноним 25/10/24 Птн 04:05:05 3307497 484
>>3307349
Открываешь в сервисе, прокидываешь в репозиторий.
Транзакциями надо управлять явно, так намного ниже вероятность поймать дедлок, idle in transaction и прочие N+1 приколы. Все функции, которые ходят в бд, должны принимать транзакцию одним из аргументов. В хайлоаде ты должен четко понимать, где начинается работа с бд и где заканчивается, петушиный unit of work пусть остается в легаси говне с абстрактными фабриками.
Аноним 25/10/24 Птн 07:19:55 3307518 485
>>3307349
Я пришел к подходу прокидывания транзакции через контекст. Типа такого https://github.com/avito-tech/go-transaction-manager

Но в гошке часто говорят, что использовать контекст для чего-либо помимо таймаутов, отмен и прочего -- моветон. И что никакую бизнес-логику туда нельзя пихать. А мне все-таки очень зашло использование контекста для транзакции. То есть методы репозитория умеют работать с контекстом и получается внутри одной транзакции можно довольно легко использовать разные методы репозитория. Просто в сервисе создаем контекст и передаем его в первый используемый метод репы, потом этот же контекст во второй и так далее, как угодно по логике. Уходит куча бойлерплейта с роллбэками и коммитами.
Аноним 25/10/24 Птн 09:09:27 3307546 486
>>3307518
Если ты для себя пишешь, то похуй в целом. Я тоже люблю божественный объект туда-сюда гонять.
Аноним 25/10/24 Птн 11:16:21 3307626 487
>>3307518
Так а почему все таки плохо использовать контекст для значений? Понятно что интерфейс контекста не очень подходит для этого. Но ведь и мы не ебланы. С хорошим враппером никаких проблем нет.
Аноним 25/10/24 Птн 11:35:38 3307647 488
>>3307626
Скрываются зависимости. Вот кто-то написал эту хуйню, а тебе надо в ней разобраться, что-то поменять, и ещё оттестировать. И сразу хочется автору кода ебучку вскрыть.
Аноним 25/10/24 Птн 22:52:33 3308154 489
Аноним 26/10/24 Суб 00:20:46 3308188 490
>>3307647
+ про время жизни данных ещё говорили
Аноним 26/10/24 Суб 00:23:51 3308189 491
Пацаны, поясните за обработку ошибок. Там выше кто-то уже спрашивал, но мне кажется тема ерроров осталась нераскрыта.

Допустим у меня http обработчик сидит в самом верху, дергает метод из пакета (будем считать для простоты, что у меня 1 application layer = 1 пакет) А, тот дергает метод из пакета В, тот дергает метод из пакета С. Каждый из пакетов имеет свою структуру для ошибок: ErrorA, ErrorB, ErrorC, которые я могу набивать всяким полезным контекстом, чтоб потом его высрать в тело респонса жсоном. Собственно два вопроса:

1. Как лучше сделать: чтобы пакет B при получении ErrorC оборачивал ее дополнительно своей ErrorB? Или ErrorB -- это чисто ошибки, относящиеся к самому пакету В? В первом случае вроде получается чето более-менее похожее на нормальный стектрейс, если у всех ошибок будет допустим какое-то поле Cause error, но тогда наверху у меня всегда будут только ошибки ErrorA, и если мне нужно разное поделать в зависимости от того, что же там за real cause была -- будет неудобно. Во втором случае стектрейса никакого нахуй нет, как такие ошибки например логгировать с пользой -- непонятно, но код проверки ошибок в обработчике становится хотя бы поприятнее.

2. В обоих этих случаях выходит так, что обработчик должен быть в курсе обо всех ошибках, которые могут произойти во всем ебаном приложении, то есть он должен знать и про ErrorA, и про ErrorB, и про ErrorC. Чето я слабо себе представляю, как такой подход будет скейлиться, если аппка становится хоть сколько-то большой (ну там на пару десятков эндпоинтов хотя бы). Какие есть альтернативные варианты? Я сам чето ничего не надумал более умного.
Аноним 26/10/24 Суб 02:31:28 3308214 492
CodeU1lju6RMJ5.png 4Кб, 430x158
430x158
>>3308189
Имхо оборачивать, но своим интерфейсом, чтобы всё было одинаково и можно было размотать без гигаобработчика.
Вот самый простой вариант, на каждом уровне прикрепляешь предыдущую ошибку и какие-нибудь энтри сразу в жсон формате, чтобы в логи срать удобно.
Аноним 26/10/24 Суб 03:31:33 3308217 493
Аноним 26/10/24 Суб 09:08:48 3308257 494
>>3307518
>Я пришел к подходу прокидывания транзакции через контекст.
Гоферы изобретают ООП. Сам ООП объект это контекст для методов внутри, при том у вас есть такой функционал, нахрена вы устаревшие процедурные паттерны используете?

Мыши плакали, кололись, но продолжали грызть кактус
Аноним 26/10/24 Суб 09:11:48 3308258 495
>>3308189
>Пацаны, поясните за обработку ошибок.
Ее просто нет, страдай как хочешь.
Вместо семантики в языке и реализации чего-то в компиляторе - проще было выпустить статью, ошибки это значения и положить болт.
Аноним 26/10/24 Суб 09:15:51 3308261 496
image.png 987Кб, 600x766
600x766
>>3308214
>можно было размотать без гигаобработчика.
Человек-эксепшен
Аноним 26/10/24 Суб 10:53:54 3308294 497
Ща, перекатимся.
Аноним 26/10/24 Суб 16:24:41 3308498 498
Аноним 29/10/24 Втр 03:51:37 3309945 499
>>3307146
Когда я кодил на C# и JS я по-моему ни разу не использовал все эти уродские try/catch. А на подобные конструкции в коде я смотрел как на мусор) На пыхе с которой я начинал я вообще не знаю как обрабатываются исключения.

И только на Go я вполне уживаюсь с err != nil и даже допиливаю собственный няшный логгер
Аноним 30/10/24 Срд 18:24:21 3311711 500
IMG2706.jpeg 163Кб, 778x1167
778x1167
Это нормально по вашему?
Аноним 31/10/24 Чтв 11:43:57 3312390 501
>>3311711
Смешно, во всяком случае.
Аноним 31/10/24 Чтв 14:12:32 3312574 502
image.png 54Кб, 505x964
505x964
>1. слайс "а" расширяется аппендом, и терь у слайса капасити умножается на два, и добавляется в строй цифра "5". // len(5), cap(8)
>2. слайс "а" передаётся функции "surprise", где происходит ещё один аппенд. // len(6), cap(8)
>3. цикл переписывает значения переданного массива на числа "5".
>4. выводит "[5 5 5 5 5 5]", и возвращается в функцию "main()"
>5. в самой "main()", ЭТОТ ЖЕ слайс "а" имеет, СУКА, ЗАМЕНЁННЫЕ ЧИСЛА НА 5, НО НЕ ИМЕЕТ АППЕНД ИЗ ФУНКЦИИ, ЧТО НА 15-Й СТРОЧКЕ!
ЧЯДНТ?!
Аноним 31/10/24 Чтв 14:19:19 3312582 503
>>3312574
имею ввиду, почему в случае замены значений всё срабатывает, и слайс меняется по ссылке, но аппенд не аппендится по ссылке, хотя капасити хватает?
Аноним 01/11/24 Птн 12:09:39 3313337 504
>>3305662
можешь подсказать про "относительную сложность вката", почему цвет различается так сильно и от чего он зависит ?
Аноним 01/11/24 Птн 14:04:18 3313466 505
>>3313337
чем больше, тем сложнее вкат
Аноним 01/11/24 Птн 14:37:53 3313487 506
>>3313466
тогда вообще не понял, почему при 16к ячейка отмечена зеленым цветом, а при 11к красным ? Если при 16к сложнее ?
И получается с каждым годом все легче вкатиться в го ?
Аноним 01/11/24 Птн 14:39:24 3313490 507
>>3313487
месяцем хотел написать, но там даты странно стоят
Аноним 01/11/24 Птн 14:56:47 3313514 508
>>3304909
1.5 года опыта в каком стэке?
Аноним 01/11/24 Птн 22:44:58 3313831 509
Что со вкатом, джуну как быть?

Почему у него такой уёбищный синтаксис у этого Го
Аноним 02/11/24 Суб 00:37:37 3313859 510
>>3313831
ты не успел, вкат закрыт
Аноним 03/11/24 Вск 22:49:32 3315181 511
никак не могу вкурить что такое интерефейс
ментальная модель в мозгу - ну это типо сигнатуры методов которые ты можешь присобачить к любому типу
при этом interface{} это интерфейс без методов, а значит по умолчанию выполняется всеми типами (потому что у типов типо может и не быть методов)

короче полная хуйня никак не пойму
а ведь это ключевая вещь (судя по моим путешествиям по коду стандартной либы и других популярных библиотек)


Второй вопрос (косвенно связанный с первым) У меня есть структурка (которая на самом деле джсон) мы ее маршалим анмаршалим

>type BaseMessage struct {
Method string `json:"method"`
Params map[string]any `json:"params,omitempty"`
Protocol string `json:"jsonrpc,omitempty"`
Id int64 `json:"id,omitempty"`
}

у этой структуры есть поле парамс внутри которых тоже есть вложенные структуры (их я тоже описал) и теперь внимание допустим мне надо делать аутенфикацию я создаю функцию
AuthMessageSend() и бла бла, допустим мне надо изменить параметр и я снова пишу функцию RewriteParamMsgSend() вообщем повторяемость кода, как решить проблему? я бы просто создал функцию send(params &BaseMessage) но теперь я как бы перетащил сложность из функций в ее вызовы
Аноним 04/11/24 Пнд 16:27:34 3315717 512
анончики, начинаю этот нелёгкий тернистый путь по изучению голенга. надеюсь получится вкатиться!
Аноним 05/11/24 Втр 00:35:20 3316029 513
>>3315181
>никак не могу вкурить что такое интерефейс
duck typing курильщика. В обычной динамодристне - ты просто дергаешь методы Swim() и Fly() и все. В Го тебе надо объявить интрефейс Duck с этими методами и попытаться привести твой тип к типу Duck, если тип реализует все методы интерфейса - то приведение будет успешным.

>при этом interface{} это интерфейс без методов, а значит по умолчанию выполняется всеми типами (потому что у типов типо может и не быть методов)
Да, т.е. фактически это способ сказать - любой тип. Сейчас рекомендуется использовать any вместо него, то же самое, но более читабельно.

>у этой структуры есть поле парамс внутри которых тоже есть вложенные структуры (их я тоже описал) и теперь внимание допустим мне надо делать аутенфикацию я создаю функцию
>AuthMessageSend() и бла бла, допустим мне надо изменить параметр и я снова пишу функцию RewriteParamMsgSend() вообщем повторяемость кода, как решить проблему? я бы просто создал функцию send(params &BaseMessage) но теперь я как бы перетащил сложность из функций в ее вызовы
Используй дженерики https://pastebin.com/YFApzvVE
Аноним 05/11/24 Втр 15:22:35 3316703 514
Правильно ли я понимаю, что начинать изучать и пытаться вкатиться в го абсолютно бессмыслено, если ты не хотя бы студент 3-4 курса?
Просто я слышал какие дифирамбы поют языку, он на хайпе и востребован, и видимо инфоцыгане подхватили это.

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

Ну и есть еще возможность попасть на курсы и стажировку от какого-нибудь бигтеха, но там опять же ищут студентоту и этот вариант доступен только для ДС2/ДС2/Казани
Аноним 08/11/24 Птн 01:20:14 3318516 515
>>3316703
В го не надо "вкатываться".
Т.е., если ты не умеешь программировать, то _не_ надо учиться этому на го.
Это сложный язык с кучей подводных камней.
Независимо от того, что говорят по этому поводу клоуны с ютуба и прочие инфоцыгане.
Аноним 08/11/24 Птн 10:11:43 3318606 516
>>3315181
интерфейс это контракт

нах он нужен?
1. интерфейс нужен для инверсии зависимостей (5п солид), это когда ты напиздячил много структур, под них вхуячил кучи методов. потом начал их вызывать друг в друге и чтоб не соснуть циклический импорт ты используешь контракты вместо самих типов

2. в случае когда ты хочешь дергать разные структуры за метод с одинаковой сигнатурой (написав 1 функцию вместо 2х для разных типов), ты можешь дергать интерфейс(если обе структуры соответствуют твоему контракту интерфейса)

3. псевдодинамическая типизация (переменная при инициализации выберет тип а не про обьявлении), например ты хочешь любую структурку десерелизовать пиздячишь тип any/interface{}, кайфуеш.
но потом соснешь когда будешь угадывать какая модель тебе придет
Аноним 08/11/24 Птн 10:26:36 3318618 517
>>3316703
есть стек бекенд,

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

вот сейчас уже ты прикинул что у тебя будет на пеке dbeaver, git, оболочка sh + unixBasedUtils + возможно питон/руби, docker, postmant, wireshark/charles, miro/draw.io.

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

какой ты язык выбрал это мало решает короч

но у го минус в микросервисной архитектуре, даже там где она не понадобится, изза этого гошники на порядок лучше жавистов/питонистов/пыхеров знают devops практики, архитектуру, сети. именно поэтому тут не место вкатунам с нуля, хотя гдето на пыхе полгода посидите потом приходите
Аноним 08/11/24 Птн 16:49:53 3318955 518
>>3318618
Все умные слова, перечислил, какие только знал, лол.
И язык ничего не решает, да.
Если пишешь систему учёта лайков.
Нарожали вас, эпигонов, на свою голову, лол.
Аноним 08/11/24 Птн 22:53:15 3319183 519
>>3318618
Вкатился в Го почти с 0, имея не коммерческий опыт разработки на питоне/котлине.

Не пугай людей.
Хотя истина в том, что для вкатунов реально работы 0 + по опыту скажу, что очень сильно решает чуть-чуть выше базового знание Kubernetes. Как минимум написать простой хельмчарт должен уметь и понимать, почему тут деплоймент, там стейтфул сет и зачем нужен хпа с ресурсами.
Аноним 09/11/24 Суб 03:02:37 3319242 520
gokarma8.png 72Кб, 870x640
870x640
Аноним 11/11/24 Пнд 14:50:09 3320441 521
>>3318606
>контракт
Что это такое, кучу раз слышал, но не ебу что это. Интерфейсы наоборот знаю что такое
мимо
Аноним 12/11/24 Втр 21:23:08 3321432 522
Легко ли с таким кодом вкатиться на 300к+?
Мимо пилю свой движок имиджборды.

func PostEdit(w http.ResponseWriter, r http.Request) {
w.Header().Set("Content-Type", "application/json")

var error structs.Error
var response structs.Response
var currentModer models.Moder
var board models.Board
var post models.Post
var ban models.Ban

var boardId string
var num int
var comment string

ip := r.Header.Get("X-Forwarded-For")
timestamp := time.Now().Unix()

isModer := false

moderCookie, err := r.Cookie("moder")

if(err == nil) {
err := currentModer.GetBySession(moderCookie.Value)

if(err == nil && currentModer.Enabled > 0) {
isModer = true
}
}

err = r.ParseMultipartForm(40 << 20)

if(err != nil) {
error.Code = 666
error.Message = "Ошибка обработки запроса!"
} else {
boardId = strings.TrimSpace(r.FormValue("board"))
num, _ = strconv.Atoi(r.FormValue("post"))
comment = strings.TrimSpace(r.FormValue("comment"))
}

if(error.Message == "") {
err := board.GetById(boardId)

if(err != nil) {
error.Code = -2
error.Message = "Доска не существует."
}
}

if(error.Message == "") {
err = ban.GetActiveByIpBoard(ip, board.ID)

if(err == nil) {
error.Code = 0
error.Message = "Вы забанены."
}
}

if(error.Message == "") {
err := post.GetByBoardNum(boardId, num)

if(err != nil) {
error.Code = -31
error.Message = "Пост не существует."
}
}

if(error.Message == "" && post.Deleted > 0) {
error.Code = -31
error.Message = "Пост не существует."
}

if(error.Message == "" && post.Ip != ip && !isModer) {
error.Code = 0
error.Message = "Вы не автор поста."
}

if(error.Message == "" && post.Timestamp <= timestamp - 60
5 && !isModer) {
error.Code = 0
error.Message = "Время на редактирование текста истекло."
}

if(error.Message == "" && strings.Contains(post.Comment, "/postcount")) {
error.Code = 0
error.Message = "Посты с /postcount редактировать нельзя."
}

if(error.Message == "") {
r := regexp.MustCompile("##([0-9]+)d([0-9]+)##")

matches := r.FindAllStringIndex(post.Comment, -1)

if(len(matches) > 0) {
error.Code = 0
error.Message = "Посты с бросками кубиков редактировать нельзя."
}
}

if(error.Message == "" && comment == "") {
error.Code = -20
error.Message = "Вы ничего не ввели в сообщении."
}

if(error.Message == "") {
post.Comment = strings.ToLower(comment)
post.ProcessBBCode(board)

if isSpam, word := post.CheckSpamlist(board.Spamlist); isSpam == true {
error.Code = 16
error.Message = "В сообщении присутствует слово из спам-листа."
} else if isSpam, word := post.CheckSpamlist(models.GlobalConfig.Spamlist); isSpam == true {
error.Code = 16
error.Message = "В сообщении присутствует слово из спам-листа."
}
}

if(error.Message == "") {
post.Comment = comment
post.ProcessBBCode(board)

if(post.Ip == ip) {
database.MySQL.Exec("UPDATE posts SET edited = ?, comment = ?, comment_parsed = ? WHERE id = ?", timestamp, post.Comment, post.CommentParsed, post.ID)
} else {
database.MySQL.Exec("UPDATE posts SET edited_by_mod = ?, edited_by_mod_id = ?, comment = ?, comment_parsed = ? WHERE id = ?", timestamp, currentModer.ID, post.Comment, post.CommentParsed, post.ID)
}

if(post.Parent > 0) {
models.RenderThreadInFile(post.Board, post.Parent)
} else {
models.RenderThreadInFile(post.Board, post.Num)
}

response.Message = post.CommentParsed

if(post.Ip == ip) {
response.Result = 1
} else {
response.Result = 2
}
} else {
response.Result = 0
response.Error = error
}

jsonResponse, _ := json.MarshalIndent(response, "", " ")
w.Write(jsonResponse)
}
Аноним 21/11/24 Чтв 11:12:30 3326565 523
Дорогие аноны, подскажите как быть.

Я - вкатун вротендер, вот уже почти 2 года учил фронт, инглиш и матешу (школьную). И у меня уже нехорошее чувство что я не смогу найти работу с такими же вкатунами.

Честно скажу, я не до конца освоил фронт. Вот только осенью сам сверстал сайт ресторана без реакта, естественно сам сайт убогий, без адаптаций и прочих финтифлюшек. Я вот только-только начал понимать JS, а реакт я до конца зимы освою (уже поделал пару хуйн). И чувствую, что и прочую пиздобратию ввиде TS и стейт-менеджеров я освою к концу весны след года.

Вопрос: Мне вообще стоит этот последний рывок делать? Потому что я уже откликался на вакансии джунов ИИИИИ ни-че-го. Всем похуй.

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

Английский я кста хорошо подучил, учил реакт по их документации, но все равно это не то же что и учиться на русском. А на го больше материалов на англюсике. Может на джаву перекатиться?

Если будете лолировать, что я учу школьную матешу то мне похуй, я уже понял что ваша матеша хуйня постная и матан, линал и дискретку я как нехуй делать освою через 3 года
Аноним 25/11/24 Пнд 19:59:20 3329250 524
>>3272859
Vlang - синтаксис го + производительность С
Аноним 26/11/24 Втр 11:30:59 3329559 525
Аноним 27/11/24 Срд 12:54:18 3330404 526
Гоферы, а как у вас миграции генерируются?
Аноним 29/11/24 Птн 22:47:49 3332216 527
Мне понравилась ваша хуйня, но вакансий на джуна нет, хотя так вроде сейчас со всеми языками. Стоит ли дальше вкатываться, если студентик-долбоёб, который до этого лабы на плюсах с помощью чат гпт делал?
Аноним 30/11/24 Суб 04:25:30 3332264 528
>>3326565
Не надо го.
И джаву не надо с такими-то талантами.
Учи PHP.
Если более-менее знаешь PHP, HTML, CSS, JS (просто JS, без реакта) - работу найдёшь всегда.
Аноним 30/11/24 Суб 04:28:43 3332265 529
>>3332216
Чувак, го - очень сложный язык. С кучей подводных камней.
Просто большинство вкатунов настолько тупые, что эту сложность в упор не видят. Собственно, поэтому их и не берут на работу.
Аноним 30/11/24 Суб 11:17:36 3332329 530
>>3332265
>>3332216
не отменяет факта, что джуновских вакансий - 0
начните с php java, потом в go можно будет перекатиться или навсегда остаться в скуфляндии
Аноним 30/11/24 Суб 17:34:19 3332454 531
>>3332329
Java - сложная технология, с высоким порогом вхождения.
Не язык, а именно технология в целом (платформа, если угодно).

Да и сам язык, хотя и простой и недвусмысленный, в отличие от го (и многих других), но выучить его вкатуну с улицы будет непросто, ибо статическая типизация и т.п.
И он весьма многословный. Это не недостаток, а особенность. Но, вкатуну будет тяжело.

Начинать надо с питона или php.
На пыхе ниже порог вхождения, проще найти работу с низкой квалификацией, ибо на питоне веб довольно сложный, по сравнению с, а на пыхе - он бывает очень разный.
Аноним 02/12/24 Пнд 10:56:09 3333274 532
Смысл писать круды на го если есть питон? Кабаны там ебанулись ваще?
Аноним 02/12/24 Пнд 22:10:27 3333713 533
>>3333274
Есть шарпы для крудов, джанго старое говно, фастапи просто говно
Аноним 12/12/24 Чтв 04:04:35 3339743 534
Что-то хайпец по Го как-то поутих.
В прошлом году повеселее было.

А потому, что нехуй было создателям языка множить сущности и вводить дженерики. Нарушили свои собственные принципы и обещания. И всё пошло по пизде. Магия развеялась.

Хотя, они старались. И сделали их чисто по-гошному - через лютейшую, невероятную, просто невозможную жопу. Очень старались, чтобы было не как у всех. Но - не помогло.
Аноним 13/12/24 Птн 14:08:16 3340561 535
>>3339743
Но микросервисы все еще хуярятся со скоростью света. Так что свою нишу гошечка заняла

>>3332265
Что сложного в го? Приведи пример этой "сложности".
Аноним 13/12/24 Птн 14:12:43 3340567 536
>>3332454
Проблема джавы это семейство spring, которое идёт обязательным довеском к любой java вакансии. Т.е помимо знания языка ты должен знать охуеть какое кол-во фреймворков чтобы иметь возможность работать
Лучше вкатываться в kotlin/clojure из джава семейства. Там хоть вся это ебатория отсутствует
Аноним 13/12/24 Птн 16:51:49 3340661 537
привет. Подскажите, как научиться писать код на го ХОРОШО? чтобы смотреть на него и говорить "да, это крутой код потому что A, B,C". Вот я уже 3 года работаю в ит, все время пишу на го. Но весь опыт пишу просто "ну так работает и норм". А хочется писать ХОРОШО. Уже задавал этот вопрос в го треде, предлагали какие-то книжки по java читать
Аноним 16/12/24 Пнд 19:02:28 3342659 538
>>3340561
>Что сложного в го? Приведи пример этой "сложности".
Ну нахуй. Поживёшь - увидишь.
Если надо объяснять - то не надо объяснять.

>>3340567
Спринг - да. Это рак, убивающий джаву.

Котлин - сам по себе ебатория.

А кложура в 2024 - нетипизированное говно без задач.
У сообщества резко пропал интерес к этой теме.
Manning даже мега-книжку по стандартной библиотеке кложуры (
Clojure, The Essential Reference ) заморозил _восемь_ лет назад в стадии MEAP (недописанный пре-релиз), и так никак и не издаст.

А я её тогда купил, лол. Правда, она почти готова, все главы написаны, читать можно. Но, тем не менее, это отличный индикатор отсутствия в обществе интереса к теме.
Сейчас посмотрел - обещают релиз в январе 2025-го, посмотрим.
https://www.manning.com/books/clojure-the-essential-reference

Так что детям - лучше в питон.

>>3340661
SICP почитай. FP in Scala почитай. FP in Java почитай.
И после этого тебе перехочется писать на Го.
Аноним 16/12/24 Пнд 19:12:24 3342670 539
>>3342659
Уточню по кложуре - они начали издание этой книги 8 лет назад. Потом оно тянулось-тянулось, и в июле 2021 вышла последняя на сегодняшний день версия (31). И всё. Т.е. последние 3.5 года - тишина. Похоже, и автор и издательство совершенно потеряли интерес к теме. Да и работы практически нет, не только в России, а вообще везде.

А если программировать учиться - то лучше Scheme (Racket) и SICP, кложура сложновата для вката для того, кто лиспа до этого в глаза не видел.
Аноним 17/12/24 Втр 09:59:39 3342960 540
>>3342659
>Ну нахуй. Поживёшь - увидишь.
Ясно Манька, слился. Типикал пиздабол, который только воздух и может сотрясать, дабы себе очков "ИЛИТАРНОСТИ" набить.

Хуй знает чел, скока мне ещё жить и на го писать, чтобы сложность найти. Во уже 6ой год пошел, все никак "супер подводных камней" - не нашел.
Аноним 17/12/24 Втр 10:09:44 3342975 541
>>3342670
На кложуре мало вакух, да
Но при этом если удалось устроится в кложур команду, то эт 100% команда профессионалов с которому и можно норм работать.
Аноним 17/12/24 Втр 17:28:22 3343319 542
>>3342975
Не мало, а ровно ноль.

>Но при этом если удалось устроится в кложур команду
А если подружиться с эльфами с заокраинного запада - будет вообще охуенно.
Аноним 17/12/24 Втр 17:41:57 3343331 543
>>3343319
Ну как минимум ты можешь к самураям постучаться, из СНГ. Они рекрутят регулярно, потому что они берут в команду шоарящих, но отбор у них сложный, да

А так вроде у тиньки/сбера есть clojure команды, есть nubank
есть целый сайт, где 9 вакух за декабрь https://clojurejobboard.com/
Типа работы мало, да. Но ЗП кложуристов видел, по опросам:
https://survey.stackoverflow.co/2024/work/#3-salary-and-experience-by-language
Типа сварщики и в tesla работают, но получают они явно больше чем петрович с завода "Залупа Октября"
Аноним 18/12/24 Срд 07:57:03 3343667 544
>>3342659
Ты мне пример сложности "go" приведешь ? Или ты прост пук-сренькнул и слился ?
Аноним 28/12/24 Суб 14:41:45 3351591 545
Скиньте ссылку на тг чат голенг катуны
Аноним 29/12/24 Вск 13:39:31 3352185 546
1731630518274820.jpg 368Кб, 1080x1072
1080x1072
че тред сдох? язык действительно оказался неюзабельным говном без задач?
Аноним 30/12/24 Пнд 09:19:18 3352738 547
>>3352185
ГО ТРЕД НА ХАРКАЧЕ ТОНЕТ. ЗВОНИТЕ СРОЧНО В ГУГЛ. ПУСТЬ СВОРАЧИВАЮТ ПОДДЕРЖКУ. ДОКИР И КУБИР ПЕРЕПИСЫВАЕМ НА ЖАБУ.
Аноним 30/12/24 Пнд 11:13:03 3352792 548
644d854457170da[...].jpg 44Кб, 300x300
300x300
>>3352738
жабе ведь было норм и без этой хуйни благодаря своей кроссплатформенности
Аноним 30/12/24 Пнд 12:43:26 3352843 549
>>3352792
Жабе хуева из-за спринга. Выше тут говорилось

goвно не лучший язык. Но на нем пока ещё можно давать. Однако тенденция к введению новых синтаксических конструкций, в угоду всяким свистоперделкам (под которые язык не дизайнидся) не приведет нас ни к чему хорошему.
Аноним 30/12/24 Пнд 19:08:53 3353096 550
IMG202412170632[...].jpg 164Кб, 1205x1280
1205x1280
>>3352843
а где жабе хуево из за спринга?
Аноним 31/12/24 Втр 08:47:51 3353282 551
CdMTVLWIAEgZGY [...].jpg 114Кб, 739x710
739x710
>>3353096
Потому что надо учить огромное кол-во фреймворков, помимо самого языка, чтобы иметь возможность хоть как то работац
Аноним 03/01/25 Птн 18:55:26 3355245 552
А можно на го написать графическое приложение? Что-нибудь под GTK или QT?
Аноним 03/01/25 Птн 22:47:55 3355342 553
Что думаете по поводу того, что компания, которая занималась и занимается разработкой Go - Google - постепенно идет на дно и в скором времени станет очередным полудохлым Oracle?
Аноним 04/01/25 Суб 15:50:25 3355641 554
Выучил го, но не знаю, что на нём писать. Какие программы на нём вообще пишут?
Аноним 05/01/25 Вск 11:59:34 3355952 555
>>3355342
Полудохлый оракл? Слишком толсто, давай потоньше
Аноним 05/01/25 Вск 12:08:45 3355954 556
>>3355641
Выучил го, но не можешь в гугле поискать. Ещё один тупой тролль?
Аноним 05/01/25 Вск 16:01:13 3356061 557
>>3355954
Мне нужен совет, а не поисковая выдача.
Аноним 09/01/25 Чтв 02:23:31 3358202 558
>>3355641
Как ты мог выучить язык, если ничего на нём не писал?
То, что ты называешь "выучил" - это просто иллюзия.
Про Даннинга-Крюгера слышал?
Вот ты сейчас на самом пике и есть.
Спускайся в долину, если не зассал, лол.
Аноним 09/01/25 Чтв 16:44:23 3358674 559
Нубский, наверное, вопрос, ну да ладно.
Вот есть стандартный http-сервер. И на каждое новое соединение этот сервер создаёт го-рутину. И вот кол-во запросов нарастает, запросы не успевают обрабатываться достаточно быстро, а го-рутины всё спамятся и спамятся, засирая память, пока она не закончится.
https://youtu.be/3fWx5BOiUiY?t=221
А как сделать так, чтобы не память бесконечно засиралась, а просто чтобы время обработки запроса спокойно себе увеличивалось? Ограничить кол-во го-рутин (как?) или ещё как-то?
Аноним 10/01/25 Птн 09:47:06 3359041 560
>>3358674
Что значит "увеличивалось время обработки"? Вроде смысл в том, чтобы скейлиться и быстрее обрабатывать, дабы баланс был

И как ты представляешь закончившуюся память? У тебя сервер на 64кб ОЗУ? Вон у ребят из твича при лямах запросов Хип за гигабайт не выходил https://blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap/

Но если хочешь поизучать настройки сервера, то стандартная структура предоставляет набор конфигурируеиых параметров. Включая максимальные размеры реквестов.
https://pkg.go.dev/net/http#Server
Аноним 10/01/25 Птн 16:33:09 3359294 561
>>3358674
Нельзя просто так взять и увеличить время обработки.
Как ты себе это представляешь? Замедлить процессор?
Допустим, ты его замедлил, и что это тебе дало?
Куда теперь деваются необработанные запросы, которые продолжают поступать?

Такое вообще делается через очередь.
Т.е. если сейчас нет ресурсов - запрос ставится в очередь.
И очередь эта - тоже в памяти, представь себе.
Т.е. все необработанные запросы должны накапливаться в памяти.
Ну, можно ещё в файл или БД сохранять, но, в данном случае это глупо.

Так вот, в Го такое делается через горутины.
Они ждут во внутренней системной очереди, пока не будут обработаны.
И горутина сама по себе - это весьма легковесный конструкт, и мало что добавляет к расходу памяти.
Так что, не ссы - всё в порядке.
Лалапуза 11/01/25 Суб 23:24:24 3360197 562
Есть ли у кого нибудь пример репы проекта на ресте где можно посмотреть на архитектуру? Мне интересно как выглядит архитектурно запросы на сторонние сервисы с сохранением у себя, как делают эвент лупы и вот все такое.
Аноним 11/01/25 Суб 23:48:44 3360204 563
>>3340661
Можешь показать свой код ? Мб есть на гите ченить?
Аноним 13/01/25 Пнд 15:50:25 3361223 564
>>3342659
ты троллишь чтоли? Какая функциональщина, зачем ты мне реплаил вообще? Я тупой, я буду только на го писать пока не сгнию
Аноним 13/01/25 Пнд 15:50:56 3361225 565
>>3360204
да я код только на работе пишу, на гите только лабы из вуза)
Аноним 13/01/25 Пнд 15:52:08 3361230 566
>>3361223
блять, какой же человек приколист, задаю конкретный вопрос, его ответ "ну пиши на других языках и читай книги для других языков". Гениально блять, как я сам не додумался
Аноним 13/01/25 Пнд 16:49:03 3361315 567
есть идеи как вкатываться в блокчейн если я просто разраб стандартного бекенда?
Аноним 14/01/25 Втр 08:29:09 3361665 568
>>3361230
Шизоид думает, что СИКП это про функциональщину. Мда, пиздец конечно вкакуны средний уровень по больнице занизили. Скоро дебики кроме как СОЛИД ничо из себя выдавить не смогут
Аноним 14/01/25 Втр 17:53:27 3362141 569
А куда вообще эти ваши коды на Go писать?
Ну в плане какая архитектура должна быть у проекта, что и куда. Где почитать можно?
Аноним 15/01/25 Срд 08:23:06 3362495 570
Аноним 17/01/25 Птн 21:46:18 3365185 571
>>3361223
> реплаил
По-русски пиши, сука.

Тебе дали совет почитать умные книги.
Не про "функциональщину", а про программирование.
Не хочешь - не читай. Соси за дальше за 3 копйки, клоун.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов