Go тред №33 /go/ 3390005 В конец треда | Веб
Go или Golang — компилируемый язык программирования от создателей таких шедевров, как UTF–8, язык С, UNIX, Plan9 и других. Go поддерживает типобезопасность, имеет богатую и универсальную стандартную библиотеку и инновационные семантики одновременности: все то, что мы в индустрии называем concurrency и parallelism. На сегодня язык Golang является маяком стабильности, прагматичности, де-факто представляет из себя стандарт в мире бэкенд–микросервисов и серверного оркестрирования.

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

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

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

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

Прошлый тред: >>3308295 (OP)
2 3390390
>>390005 (OP)
Почему так крипово то бля

мимо пистонист веб макака прохожу a tour of go
3 3390531
в конфу не заходите, там одни хохлы
4 3390717
вкотилсо
Снимок экрана 2025-02-18 232437.png162 Кб, 1476x1235
5 3392063
Доработал истинную случайность для анона из прошлого треда. Теперь потокобезопасно.
6 3392069
Пацаны, почему на ваш го так мало вакансий? Щас миддлогребу на питоне, от более старших пацанов слышал, что учат го и пересаживаются на него, но чет я работы на го вообще не вижу, кроме девопсовых вакансий.
7 3392089
>>392063
Ну давай покормлю тролля

Во-первых, отдельная структура под передачу инта это сука мощно, нужно добавить конструктор для этого "конфига" и будет вообще заебись
Во-вторых, какая в сраку истинная случайность метод, это даже не случайность, хуйня из под коня
8 3392090
>>392089

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



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

>Во-вторых, какая в сраку истинная случайность метод, это даже не случайность, хуйня из под коня



Не для тебя написано, хам.
9 3392095
>>392063
Надо:

- выделить интерфейс Randomizer, а реализация переименовать в RandomizerImpl

- создать RandomizerFactory, куда передавать
type RandomizerSupplier func(config RandomizerConfig) Randomizer

- создать SystemRandomizer который будет использовать системную реализацию

- и конечно MockRandomizer для тестирования

- добавить комментарии к коду
// Randomizer возвращает случайное число

Вот тогда это будет нормальный Java код.
10 3392138
>>392095
А теперь напиши, как должен выглядеть нормальный Go код. Пожалуйста.
мимопроходил
11 3392297
ы
12 3392545
>>392138
Подрывом обезумевшего от корпоративной культуры фабрикодекорирующего джаваскуфа удовлетворён
13 3392556
>>392545
Да напиши, мне интересно.
Почему в го не используются всякие паттерны? Они же вроде относятся к бек-разработке В ОБЩЕМ?
Почему абстрактная фабрика, например, это плохо?
Почему Clean Code - это плохо?
я вкатун, джаву знаю на уровне лаб
14 3392563
>>392556
Все там используется.

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

Среди гошников очень много фанатов минимализма и нездорового KISS'а (особенно видно по реддиту, где на просьбу посоветовать ORM или фреймворк обязательно набежит чмо и начнет вонять что ничего для го не надо кроме встроенных функций). Но их мнение не учитывается, мало ли че петухи орут.
15 3392623
Как замокать функцию вернуть результат в тестах
func getRandom() int {
return 42
}
16 3392680
ну 5 дней до перевода книжки осталось я не могу ждать уже мне плохо
17 3392892
>>392563
Двачую. Много долбоебов, для которых го - это не джава. Они и код пишут, чтобы было максимально не как в джаве. В итоге снова и снова делают кривой спринг, у каждого свой.
18 3392917
Где почитать про пакеты и как ваще код разделять на модули и тд? Везде пишут НАЗОВИ ПРОСТО В ВИДЕ САЙТА example.com/hui/pizda
19 3394021
>>392138
Пока не дошли руки дописать валидатор этого """ГСПЧ""", но по стилю могу сказать:
- не надо использовать структуру для передачи одного параметра
- NewRandomizer возврашает структуру по значению, а не ссылку на неё, тут сразу несколько проблем:
-- GetXxx() не будет обновлять previous
-- будет копироваться мьютекс, чего делать нельзя
- методы принято называть без Get/Set префиксов
- подозреваю что генератор говно и не даёт нормальный результат, но это не точно

Что надо менять:
- сделать публичный интерфейс и приватный тип. Таким образом создать генератор можно будет только с помощью метода, который будет возвращать ссылку и инициализировать поля
- создать пару New методов, с изначальным значением и без в этом случае инициализировать самим
- назвать метод Int()
- по желанию заменить мьютек на атомик или вообще убрать его
20 3394117
>>394021

>не надо использовать структуру для передачи одного параметра


а как же depency injection и прочая залупа? мы же условный репозиторий передаём в сервис и больше нихуя
21 3394186
>>394021
Автор той хуйни выше с New. Приятно услышать критику, спасибо.

По замечаниям есть комментарии и вопросы.

>не надо использовать структуру для передачи одного параметра


Идея была в том, чтобы позволить инициализировать без передачи параметров. Написал хуево, все равно пришлось передавать конфиг. Но зато previous можно не передавать.
Из альтернатив в го есть только костыль с foo(value... int), но мне он эстетически не нравится. Питоновского аналога с foo(value = 0) нет.

>NewRandomizer возврашает структуру по значению, а не ссылку на неё, тут сразу несколько проблем:


>-- GetXxx() не будет обновлять previous


>-- будет копироваться мьютекс, чего делать нельзя


Это действительно проеб. И открытие для меня, что мьютексы копировать нельзя. Насколько я понимаю ты о случае
rand1 := NewRandomizer(config)
rand2 := rand1
Но вот дальше я не очень понимаю что именно сломается. Можешь привести пример когда будет паника?

>- методы принято называть без Get/Set префиксов


Согласен. Привычка.

>Что надо менять:


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


Чтобы пофиксить потенциальные сложности с копированием мьютекса или еще что-то? В целом согласен.

>- создать пару New методов, с изначальным значением и без в этом случае инициализировать самим


Да, это я хотел делать, но было слишком лениво конфиговский New заворачивать еще раз.

>- назвать метод Int()


Согласен.

>- по желанию заменить мьютек на атомик или вообще убрать его


Покажи пример как менять на атомики. Все что я видел - выглядит как клоунада с кучей оберток, так как я не могу заблокироваться пока считываю, произвожу математику и записываю обратно. Мьютексы очевиднее работают (хоть и дороже).
21 3394186
>>394021
Автор той хуйни выше с New. Приятно услышать критику, спасибо.

По замечаниям есть комментарии и вопросы.

>не надо использовать структуру для передачи одного параметра


Идея была в том, чтобы позволить инициализировать без передачи параметров. Написал хуево, все равно пришлось передавать конфиг. Но зато previous можно не передавать.
Из альтернатив в го есть только костыль с foo(value... int), но мне он эстетически не нравится. Питоновского аналога с foo(value = 0) нет.

>NewRandomizer возврашает структуру по значению, а не ссылку на неё, тут сразу несколько проблем:


>-- GetXxx() не будет обновлять previous


>-- будет копироваться мьютекс, чего делать нельзя


Это действительно проеб. И открытие для меня, что мьютексы копировать нельзя. Насколько я понимаю ты о случае
rand1 := NewRandomizer(config)
rand2 := rand1
Но вот дальше я не очень понимаю что именно сломается. Можешь привести пример когда будет паника?

>- методы принято называть без Get/Set префиксов


Согласен. Привычка.

>Что надо менять:


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


Чтобы пофиксить потенциальные сложности с копированием мьютекса или еще что-то? В целом согласен.

>- создать пару New методов, с изначальным значением и без в этом случае инициализировать самим


Да, это я хотел делать, но было слишком лениво конфиговский New заворачивать еще раз.

>- назвать метод Int()


Согласен.

>- по желанию заменить мьютек на атомик или вообще убрать его


Покажи пример как менять на атомики. Все что я видел - выглядит как клоунада с кучей оберток, так как я не могу заблокироваться пока считываю, произвожу математику и записываю обратно. Мьютексы очевиднее работают (хоть и дороже).
Снимок экрана 2025-02-21 183251.png227 Кб, 1249x1571
22 3394312
>>394021

> -- GetXxx() не будет обновлять previous


С этим я не согласен, кстати. У меня в коде Pointer Receiver, все он обновляет.

Код обновил, вынес в отдельный пакет чтобы анон мог использовать.
23 3394586
>>394117

>ction и прочая залупа? мы же условный репозиторий передаём в сервис и больше нихуя


Нет, мы передаем seed в ПРНГ и не надо тут городить лишнего.

>>394186

>Идея была в том, чтобы позволить инициализировать без передачи параметров


Так все равно придется создавать RandomizerConfig, у тебя идет передача по значению, туда nil не передать даже. Да и передача nil это все равно явная передача. Ну и в целом такой API плохой. Лучше 2 метода: один без параметров - библиотека сама инициализирует значение, второй с параметром - инициализируем тем что передали.

>Но вот дальше я не очень понимаю что именно сломается. Можешь привести пример когда будет паника?


Конкретно с мьютексом паника не случится, потому что там нет встроенных проверок подозреваю что ради производительности, но вот у strings.Builder он есть и легко воспроизводится:
https://go.dev/play/p/QFxEktNx92E

>Чтобы пофиксить потенциальные сложности с копированием мьютекса или еще что-то?


Поскольку в Го нет конструкторов, то единственный способ инициализировать поля и проверить все нужные параметры - это New() метод. А если тип публичный то его всегда можно создать через new().

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


Типичный атомик выглядит очень просто. Считываем значение, вычисляем новое, пытаемся через CAS установить новое. Если старое не поменялось - успех, если поменялось - повторяем цикл.
https://go.dev/play/p/92-MRwDDPQ0

>>394312

>С этим я не согласен, кстати. У меня в коде Pointer Receiver, все он обновляет.


У тебя в коде возвращается ссылка, на структуру, так-то конечно будет работать. Вот что будет если заменить в моем примере Buffer на ✵Buffer он тоже начнет работать.
https://go.dev/play/p/6E1KHXvf3p-
image.png146 Кб, 1686x935
24 3394676
ВЫШЛАВЫШЛАВЫШЛА!
ну мужчины блять, по 40 рублей то скиньтесь чё вы это самое
25 3394694
>>394676
Ссылку хоть дай, куда скидываться.
27 3395157
Возглавляется неким "Робом Пайком", который не знает:
о существовании модели акторов с разделяемой памятью
о динамической линковке
об обобщенном программироние и о о функциях map, filter, reduce
и вообще судю по убожеству первого пейпера (и это-то после 30 лет опыта в белл лабс!) выдал какой-то полуси с корутинами и в дизайне яп не особо рубит
если бы не Дмитрий Вьюков, поднявший в свое время ГЦ голанга из той параши, где он находился, язык так и остался бы никому не нужным
Хуеватая система импорта, зашивающая в имя пакета путь в рептозитории, а если надо обратиться к защищенной репе, то скреды прописать ЯВНО В СТРОКЕ ИМПОРТА
ВНЕЗАПНО nil, переданный как значение в тип unterface{} перестает равнятся своему же значения
Язык объективно хуевый, чего стоит одна система типов, требующая постоянных подсказок в виде явного объявления типа над функцией. Вывод типов? Ленивые вычисления? Автор так и остался в Bell Labs середины 70-х.
Нет постоянного стандарта на язык, а только какие-то "отчеты".
И многое другое!
28 3395198
>>395157
Язык говно конечно, но ОП-хуй попытался приплести вообще все что можно, вместо реальных проблем.

У акторов нет нормального решения для DeadLetter queue, в телекоме может и похуй, let it fail, но в финансах и много где еще так нельзя.

Динамическая линковка не нужна 99.9% приложений. А кому нужна, есть

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

Импорт пакетов тупо делался под реалии google3 если вы понимаете о чем я.

Даже новая инкарнация ЖопоСкрипта требует обявления типов у функции. Даже душители удава, завезли к себе типизацию.

Ленивые вычисления кроме ФП нигде особо не используются. И в целом, как концепция ОК, а в реальном мире требует подготовки, чтобы правильно пользоваться.
вопрос про изучение Go и вкат 29 3395202
Пачаны, я говно нахуй, работаю в АйТишке, пушта друг устроил, сам я только нахуй сходить горазд. Но хочу измениться, хочу влететь в Go. Я не совсем верблюд, техническое образование имею, учился в эМФеТИ, даже с красным как залупа дипломом кончил. Но заебало нищенствовать, заебало быть говном.

Щас работаю формашлепом, как говорил выше, хочу стать крудойобом. Как вкатиться в GoGo и получить первую РАБотку.
30 3395228
>>395198

Да это старая паста. Оригинал про питон вообще когда-то был.
31 3395926
>>395202

>пушта друг устроил


я твой хуй трахал пидарок
мимо магистрант не могу найти РАБоту
32 3395931
>>390005 (OP)
Я не пойму, у тебя перманентно руки кривые или что? Ты перекатывать нормально умеешь вообще? Ещё программистом собрался стать...
33 3395965
>>395931
А в чем кривота?
мимо не оп
34 3395982
>>395965
Тег кривой был. Я попросил модера поправить. Спасибо ему, что оперативно поправил. В прошлых тредах ОП намерено искажал этот тег, в итоге ни один тред невозможно найти по тегу. Ещё он никогда не оставляет пост на перекат в старом треде, в итоге часть людей сидят там, а кто-то уже здесь. В общем, занимается умышленным вредительством.
35 3396273
>>3384533 →
Уже конец дня, а так никто и не выложил
36 3396534
>>396273
вы ебанутые?
ещё в 12 ночи доступно стало
37 3396537
>>396534
https://cloud.mail.ru/public/3aLd/en4QhNRPr
жрите мужики, 40р лично отдал ради вас
38 3396557
>>396537
Дай Бог тебе здоровья!
39 3396797
>>396537
Это выгодная инвестиция. Считай потом будешь в 10 тыщ раз больше получать.
40 3397060
>>396797
братиш я живу на 12к в месяц мне бы хоть что то получать и в принципе ВКАТИТЬСЯ
41 3397129
МУЖЧИНЫ помогайте
есть middleware для работы с CORS
теперь надо ещё одно делать для JWT (то что пользователь залогинился) и доставания айди из токена
что делать с несколькими middleware?
42 3397623
>>397129
То есть? Ну последовательно их включаешьв роутер. Очередь там fifo т.е какую мидлварю воткнул впервой - отработает первой.
43 3397626
>>397623
app.Use(checkJWT())
app Use(checkCORS())

pidarGroup:= app.Group("/pidar")
PidarGroup.Use(checkPidar())
44 3397699
>>397626
>>397623
ебануться, понял, благодарю! а то у меня мидлваря оборачивает мидлварю и происходит фантастика
45 3398930
Чо там, го умир что-ли? Или все вкатились и работают?
Как вам 1.24? Щупали контекст для тестов?
46 3398932
>>398930
Индекс вката на го всего 5,35%, поэтому вряд ли все вкатились. Лично я читаю книжку новую по го.
47 3398941
>>398932
И чо как там? Я Полине PL go и 100 ошибок ничего по гошке не смог осилить. Какое то все душное. Лучше второй раз sicp прорешать
48 3398942
>>398941
Полине только
49 3398959
>>398941
Я только первую главу прорабатываю. В выходные попробую побольше продвинуться. Неделя просто сложная вышла, на работе заставляли работать.
50 3399555
А тут все перекатыши с опытом работы, или есть новички?
51 3399558
>>399555
Я вкатился в го с нулем опыта4 года назад
52 3399580
>>399558
Куда? Озон/авито/вб?
Возьми меня к себе
53 3399588
>>399555
С опытом работы на заводе?
1000061913.png174 Кб, 750x1000
54 3399596
Есть 8 лет опыта с базами данных. 10% DBA, 90% data engineering. Заебала меня эта тема хранилищ, хочу вкатиться в норм языки. Яву не хочу, как будто бы слишком много джавистов. Помимо этого поднимал апишки на петухоне, строил сервисы. Много работал с airflow и etl-тулами. Работал с докерами и cicd. Немного поднимал и конфигурировал постгресы.

Хочу вкатиться в гошечку. Как думаете, у кабана будет катироваться мой опыт? Или сразу же сольют, так как почти нет опыта в гошечке?
55 3399599
>>399596
Давай к нам в Авито в DBaaS. Как раз на го пишем обвязку вокруг постгреса, инфру, сайдкары и pgbouncer
56 3399611
>>399599
Какие требования у вас? Хотя бы примерно
57 3399613
>>399611
Уметь кодить, писать тесты, знать нюансы области(это уже зависит от команды куда идешь), база по БД - дефолт требования

По процессу примерно так - устный скрининг на дауна(типа отличить tcp от udp, acid, простые вопросы по гошке), лайвкодинг(2 легко-мидловые задачи, достаточно решить на литкоде пул с тегом Авито(там 8 задач) + погуглить на гласдоре, там примеры задач есть), затем подготовиться к интервью по языку(язык выбираешь тот который лучше знаешь, можешь пройти например на питоне, даже если работать будешь на го) - на нем пара задачек и устные вопросы, затем опциональная секция сисдиза уровня спроектируй маленький кусочек авито или твиттера(это если на сеньора претендуешь), затем финалка с тимлидом(тут как раз во всю можешь покрасоваться то как ты хорошо знаешь предметную область с базами)
58 3399618
>>399613
Спасибо за развернутый ответ. Я ближе к маю уволюсь с текущего банка. Чуток почилю, параллельно обучаясь. А далее буду ходить по собесам. Пока собираю учебные материалы.

DWH отупляет немного. У нас нет не тестеров, ни техлидов, даже ПМ нет. Ходишь сам как гей-шлюха собираешь требования. Заебало невыносимо. Надо премию получить и ливать.
image.png306 Кб, 591x1280
59 3399619
>>399618
куда вкатываться, в разработку или de?
самого больше в разработку тянет, но тяжко пиздец
60 3399620
>>399619
Из DE я хочу выкатится. В DE уже 8 лет. Но на джуна тоже идти зашквар чёт. Я сейчас сенька тут. Хотет мидла го.
61 3399664
>>399618
>>399620

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

Мидла скорее всего изи получишь. Если хватит софтов и экспертизы то предложат сисдиз, там уже от результатов могут и сеньку дать.
1000061835.jpg293 Кб, 1200x1453
62 3399715
>>399664
Софты норм, пришлось за 3 года сеньки прокачать, так как выполняю ещё неформальные функции и.о. техлида команды.

Спасибо, анонче. 4 часа уже прохожу тур по го. Далее хочу переписать свой питонячий бот телеги на го. Времени мало, надо за 2 месяца начать осиливать.
63 3400174
Go это в целом язык для бекэнда?
так же как java, C#, python?
что вообще на нем пишут?
64 3400191
>>400174
Еще в системщину можно
Докер с кубером тому доказательство
65 3400225
>>400191
почему именно ты выбрал Go и первый ли это твой язык?
много где натыкаюсь на него, но также же хейт тоже вижу
66 3400240
>>400191

>Еще в системщину можно


Как Go в этом плане? Слышал, что на нем малвари пишут, но не могу понять почему именно он, а не плюсы/пидораст?
67 3400268
>>400225
на джаве не пишутся новые проекты сынок
за голенгом будущее и работа, надо только подождать
68 3400291
>>400191
Нельзя, го там только обертка для консольных команд, а ядро написано на си.
69 3400723
>>400268
Влажные фантазии. Ветерок го уже затихает, скоро он станет в один ряд с рельсами
70 3400748
>>400723

> один ряд с рельсами


ебать
я только начал С# изучать,лол
и че в РФ он больше не актуален?
а что актуально тогда?
в какой язык не плюнь, везде (этот старый, это слишком новый и так далее)
71 3400761
>>400748
Раст конечно же.
72 3400765
>>400748
Рельсы это ruby(on rails), кмк.
73 3400793
>>400765
а на c# есть проекты в РФ, ну я имею ввиду веб-разработка, бэк?
или его только за рубежом юзают
74 3400903
>>400793
Всякие аналоговнеты пишут. Гугли вакансии, лол. В ДС точно что то есть.
75 3400966
>>400723
А какой язык стоит учить, если не го?
76 3401109
>>400966
Да учите вы го если нравится. Спрос заметно растет, у меня на родной галере раньше сплошная нода была, сейчас практически все проекты уже на го идут, ищут ещё разрабов даже, рук не хватает. Вакансий тоже порядочно даже на хх.рю. Единственное, не представляю как искать первую работу, т.к джуны гошники не востребованы, хотят мидлов.
77 3401141
>>401109

>ищут ещё разрабов даже, рук не хватает


Готов пойти в к вам джуном за еду. Еда, естественно, с меня.
78 3401177
>>401109
Как будто бы вкат в го идит исключительно через вакансии, где го это смежный язык. Часто вижу - желание изучать го в ваках дата инженеров, например.

Да и в целом сейчас в ИТ не хотят вкладываться в джунов. После известных событий горизонт планирования минимальный. А джуны это инвестиция вдолгую.
79 3401186
>>401177
Звучит пиздец как грустно.
мимо джун
80 3401197
>>401141
Лучше бы накрутил опыта и устроился туда же на 300к/сек
81 3401199
>>401186
Да, для вкатунов неприятно. На джуновкую ваку конкурс в 10-20 раз больше чем на мидловскую. На сеньерскую ещё меньше.
82 3401543
>>400966
Если цель найти работу, то проще будет в питоне, пхп или джаве. За сишарп не скажу, мне кажется там мало вакансий. Го можно рассмотреть как второй язык для последующего переката. Либо искать вакансию с фирмой, которая перекатывается на го, и там в процесс внутри фирмы перекатиться.
83 3401547
>>401543
А целом удваиваю, хотел ровно то же написать, разве что от вката в пыху я бы наверно держался в 2025 подальше. С какой-нибудь джавой у разбитого корыта не останешься.
84 3401632
>>401543
>>401547
>>401199
Ладно мужики, ухожу от вас в джаватред, было приятно с вами сидеть.
Обязательно увидимся, т.к. потом перекачусь в ГОвно.
Успехов вам!
85 3401728
>>401547
Дак пхп надо выбирать не вордпресс, а нормальный фреймворк типа ларавеля или симфони.
86 3402042
>>401547
Вкат в пыху остается все еще самым профитным среди вкатов
Но до этой мысли надо дорасти
87 3403522
>>402042
дошёл до ларавел фреймворка, изучив ООП и базу PHP, задумался уйти на Go. Норм вариант? Живу в ДС-2, поэтому тут есть всякие стажировки/junior позиции, на которые попасть можно, как мне кажется. Опыта программирования нет, но как-то хочется сразу зарабатывать больше 100к, чем в пыхе сидеть год-два на 50–60к. Будет тестовое через месяц, нужно будет прорешать алгосы, GPT сказала, что вполне реально за месяц задрочить алгоритмы и изучить Go на уровне, чтобы решить задачи. А в случае чего можно просто в GPT скормить задачки и на собесе на стажировке отвечать за реальные знания о языке, которые ты получил за месяц + всякие видосы с собесами перед этим просмотреть. План говно или рабочий? Либо лучше дальше познавать ларавел?
88 3403687
>>403522

>GPT сказала, что вполне реально за месяц задрочить алгоритмы и изучить Go на уровне, чтобы решить задачи


Угар. Ты всему веришь, что угадыватель букв пишет?
89 3403688
>>403687
нет, поэтому и пришёл сюда :)
я так понял, что лучше дальше учить лару?
90 3403954
>>403522

>сразу зарабатывать больше 100к


Только с накруткой опыта

>в пыхе сидеть год-два на 50–60к


Чем плохо? Хоть программировать научишься
91 3403998
>>403954
изначально и планировал в пыхе крутить, но как будто набирают охотно даже на junior позицию сейчас на go, поэтому и задался вопросом. Например вот вакансия (свежая): https://www.aviasales.ru/about/vacancies/3909357
92 3404095
>>403998

>но как будто набирают охотно даже на junior позицию сейчас на go, поэтому и задался вопросом. Например вот вакансия (свежая): https://www.aviasales.ru/about/vacancies/3909357



Это для тех, у кого уже есть 1-2 года опыта работы на го (или в айти в принципе). Меня вот недавно выпиздили на мороз из моей конторы, сейчас отправил в авиасейлс резюме на эту вакансию. У меня 3 года опыта кста.
93 3404135
>>404095

>на мороз


Ты не из Казахстана часом?

у нас тут недавно одна компания жидко дристанула себе в штани, решив запилить маркетплейс. Непонятно зачем туда сунулись, учитывая что их мобилка (суперап с остальными продуктами) - лагучий не оптимизированный кал. Ну и по итогу на мороз выкинули продукт команды, ответственные за маркетплейс
94 3404137
>>404095
также можно накрутить и на го 1-2 опыта. сочувствую, анончик, прорвёшься. У тебя 3 года опыта в го или пхп?
в общем твой главный аргумент, что не нужно идти в го, т.к. нет реального коммерческого опыта? даже на стажировку, если задрочить перед этим алгосы как не в себя за месяц?
95 3404218
В срочном порядке перекатываюсь в го так как через 2 недели собес на го разраба (по знакомству в контору где тимлид друг детства), на предыдущей работе (реакты-хуякты + пхп/жава фуллстак макака). Основной синтаксис уже освоил, но та же проблема что была и с другими языками - в душе не ебу что делать дальше, какой пет проект мутить (для себя чтоб собрать знания во едино). С дрокером и прочей поеботой знаком. Подскажите что ли, что запросить для прокачки скиллов
96 3404220
>>404218
Не дописал. На предыдущей работе выпиздили на мороз, сократив целый отдел, последняя зп в апреле а потом нахуй шлют. Опыта 3 года, из которых 2 года чисто фронт макака и 1 год фуллстак, но скорее бэкэнд разраб. В основном хуярил всякие парсеры, делал пару микросервисов
97 3404242
>>404218

>что делать дальше, какой пет проект мутить


Да какой угодно. Напиши свой язык, например.
98 3405094
>>404137
У меня 3 года опыта в го. Уволили с текущего места работы за лоуперфоманс.

>>404137

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



У меня никаких аргументов особо и нет. Если нравится го, то подавайся на стажировки и все открытые вакансии, это самый рабочий вариант.
Но на позиции младших разрабов, джунов, где просят 1-3 года опыта как правило приходят опущи вроде меня, которых выпиздили с прошлых мест работы и вероятнее всего ты на многих вакансиях будешь проигрывать конкуренцию другим челикам с реальным опытом.
99 3405127
>>405094
Спасибо, анон. Буду думать по поводу го, а то грустно прощаться со знаниями пхп и ооп +2 месяца
100 3405636
>>405094
Как могут уволить за лоуперформанс? В трудовом законодательстве же нет такого пункта.
101 3405700
>>405636
Если напугать корзиночку юристом и судом, то он сам убежит
102 3405705
>>405636
Вот именно что никак. Но напугают статьей и вкатун с тряской побежит ПСЖ писать. И будет благодарить барина-кабана что не уволил его по статье хотя его и невозможно было так уволить.
103 3405706
>>405636
Ты прав, в ТК такого пункта нет.
Уволили так: в прошлый четверг мне мой тимлид поставил встречу 1-1, типо на поговорить. Я думал, что все ок должно быть, никаких негативных сигналов от него не поступало. К тому же я в этой конторе почти 3 года работаю. Но оказалось что нет - на встречу пришла HR и сказала что до конца марта уволят по соглашению сторон с двумя окладами. Причина увольнения - долго делал таски и мой уровень не дотягивает до уровня команды. Я обомлел и даже ничего возразить не смог. В итоге полча просидел и слушал ее 30 минут, потом поблагодарил за встречу и отключился. С сегодняшнего дня начал поиск новой работы, на старой пока еще числюсь, но скоро буду уволен.
104 3405714
>>405706
Это сокращение, а не увольнение
105 3405764
>>405714
А итог тот же: надо выходить на рынок и искать работу.
106 3406225
>>405764
Можешь зафиксировать всё и идти в суд, говорить, что вынудили подписать заявление. Но раз ты "сидел и молчал", то всё уже.
107 3406254
Аноны, я правильно понимаю что раз спрос на миддл-сеньку на го выше и конкурс ниже (если сравнивать активные резюме и вакансии на hh), то и крутануть здесь полегче? Мне рили впадлу полгода учить стеки на джаву/петухон и сидеть на 40-80к год+, хочется вместо этого крутануть 3 года в гошке и к осени начать собеситься на мидла. Какие подводные?
108 3406259
>>405706
Еком тех/самокат/купер?
109 3406279
>>406254
Уже даже самые отсталые хрюши требуют выписку из электронной трудовой и 2ндфл
110 3406350
>>406279
Пидорасы.
17381780234660.webp16 Кб, 598x480
111 3406357
>>406279
Кстате, в трудовой стэк не пишут. Можно же напиздеть что на предыдущей работе ебашил Го? Никто не проверит
112 3406396
>>406357
Можно
113 3406410
>>406279
Все хрюши просто до техсобеса требуют выписку и кидают в игнор, если не скинуть или отморозиться или левый pdf договор скинуть?
Как часто тебя или других анонов просили это делать? И есть ли вообще в этом треде крутанувшие вкатуны?
114 3406968
мы жуки-плавунцы или мужики российские ржаные гречневые?
если умирать - то умирать достойно.
я вкатываюсь в го и ищу свою первую работу без опыта работы на голенге.
никакой джавы/пыхи, сразу в то, что нравится.
115 3406971
>>406968

> в то, что нравится


Думаешь это на долго?
116 3406974
>>406971
не знаю, от джавы прям сильное отторжение, на го просто приятнее, не знаю как описать.
117 3406978
>>406974

>не знаю как описать


Инфантилизм
118 3406981
>>406978
возможно, язык всё же это просто инструмент и всё такое
но что делать? если нравится язык, то на нём и писать хочется
119 3406986
>>406978
У меня было сильное отторжение от пыхи. Перебежал в го. Не жалею ни секунды, доволен как слон.
120 3406987
>>406981

>но что делать?


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

Ну и в целом протоколы, сеть, базы, контейнеры. Это все интересно и за это платят.
122 3407016
>>407005
ООП в 90% случаев не нужен. А так гошники обычно тем же бэкендом занимаются, только без дроча фреймворков.
123 3407032
>>405706

>сказала что до конца марта уволят по соглашению сторон с двумя окладами


А ещё рассказывают, про логику у программистов.
УВОЛИТЬ по соглашению сторон - НЕЛЬЗЯ. Ты САМ соглашаешься на это. Да на тебя надавили и ты испугался, но это ты согласился. У тебя после созвона была возможность взять себя в руки и не подписывать соглашение.
124 3407114
>>407032
Я не он, но продолжать работать в коллективе где тебя уволить хотели не очень приятно
125 3408350
>>406410
вот недавний пост анона из qa, сейчас у всех так полагаю https://2ch.hk/pr/res/3336387.html#3401827 (М)
126 3408357
>>407032

> была возможность взять себя в руки и не подписывать соглашение.


Ок, а дальше какие действия? Требовать не 3 оклада, а 5? В чём смысл-то? Меня вот за 2 месяца предупредили + 3 оклада дать должны.
127 3408378
>>408350
Ну так а хуле хотели, волчары позорные. Нет бы залетали на джунов, ну мидл1 - максимум. Так я раза три вычпнул с собеса дебилов, которые на сеньку пришли. В резюме стек, что хоть сейчас в гугл забирай, а на банальных задачах/вопросах просто рассыпались. Жадность фраеров губит, кек.
128 3408390
>>408378

>на банальных задачах/вопросах просто рассыпались


Давай примеры. Опять душные глубины кишочков, которые только самодовольный красноглаз на собесах знает?
129 3408400
>>408390
1 сломался на джуновско/мидловской задаче с мутексами и рейс кондише. Чел не знал что нельзя передавать мутекс по значению
2. Сломался на оффсет коммите Кафки. не смог назвать даже варианты. При том, что по его словам он на прошлой работе внедрял кафку
130 3408403
>>408400

Чел ты бы еще про литературу серебряного века вопрос задал. У тебя литералли вопросы для надроченной на кишках ллмки, а не для живого человека.
131 3408407
>>408403
Ясно. Ну мне как то не хочется брать в команду людей, который будут автокомитить в кафку и проебывать сообщения или чтобы у меня в проде рейс кондише стрелял.
Ты же можешь с любым сбродом работать, меня эт не ебет
132 3408410
>>408403
Вопрос про синтаксис языка и взаимодецстви с брокером - это уже вопросы про кишки? Троллишь тупостью?
133 3408454
>>408407

> мне как то не хочется брать в команду людей


Во-первых, ты один решаешь, кого брать, а кого нет? Во-вторых, имплаинг у вас там очередь за забором.
134 3408473
>>408454
Ну если я провожу тех собес и даю свое заключение по кандидату - да, это моя ответственность и в т.ч от моего слова зависит попадет ли человек к нам в команду. Поэтому дебиков я предпочитаю зарубать, чем потом ебаться с последствиями
135 3408542
>>406279

>выписку из электронной трудовой


Как быть, если в электронной трудовой указаны места начиная с момента, когда эту электронную трудовую завели? До этого места работы указаны только в бумажной трудовой книжке..
136 3408843
люблю го.
написал пиздец какую эзотерику и вроде работает, нихуёво.
137 3408848
>>408400

> Чел не знал что нельзя передавать мутекс по значению


Так оно так не скомпилируется же, или вы на листочках пишите и в голове компилируете?
image.png38 Кб, 414x588
138 3408850
>>408848
Схуяли оно не скомпилируется?
139 3408853
>>408850
ну ладно, линтер отловит, всё равно на прекоммите должен линтер стоять который не пропустит такое
140 3409132
>>408850
Мб тогда использовать не структуру мьютекса, а соответствующий интерфейс Locker?
141 3409243
>>407114

>Я не он, но продолжать работать в коллективе где тебя уволить хотели не очень приятно


>>408357

>Ок, а дальше какие действия? Требовать не 3 оклада, а 5? В чём смысл-то? Меня вот за 2 месяца предупредили + 3 оклада дать должны.


Смысл в том, что у тебя больше пространство для маневра. Хрюша всегда начинает с самого минимума, хорошие условия надо выбивать. Ты можешь:
1. Потребовать больше.
2. Договориться о том что ты будешь искать новую работу, а пока ищешь будешь работать/числиться на текущей.
3. Договориться о переходе в другую команду если конечно есть куда переходить.
В любом случае начав торговаться ты получишь больше, чем просто согласившись.

У нас так хотели чувака уволить, но он упорно отказывался. В итоге с ним договорились, что он год ничего не делает, не ходит в офис, а просто ищет работу. Найдет раньше - может уволиться раньше.
142 3409319
соевые братья вместе мы сила.
143 3409632
>>408850
Нахуй ты вообще мьютекс внутрь другой функции передаешь? Там где создал мьютекс - там и работай.
144 3409669
>>409632
У тебя мутекс может лежать внутри структуры, лол
145 3409750
А вы в курсе, что рекрутеры палят, что вы опыт крутите?
Хрюши давно сидят в ЦРМ-ках, которые собирают базу резюме, и в этой базе видно историю изменения резюме. А так же "отзывы" и дополнительные фильтры, чтобы автоматом отказывать.

talantix.ru, https://huntflow.ru/ да много их...

https://www.youtube.com/watch?v=b5tDa56GDmw&list=WL&index=12&ab_channel=%D0%90%D0%BD%D1%82%D0%BE%D0%BD%D0%9D%D0%B0%D0%B7%D0%B0%D1%80%D0%BE%D0%B2I%D0%9E%D1%81%D0%BE%D0%B7%D0%BD%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%D0%9C%D0%B5%D1%80%D0%BA%D0%B0%D0%BD%D1%82%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C
146 3409767
>>409669
Может конечно, но нахуй его туда класть? Если ты намекаешь что кому-то захочется делать свой errgroup или еще какую-то залупу - то это его задача возвращать ссылку из функции New(). А создавать структуру с мутексом? Нахуя
147 3409835
>>409767

>А создавать структуру с мутексом? Нахуя


Например чтобы синхронизировать доступ к методам структуры.
148 3409867
>>409632
Ты конченный? Анон утверждал, что код не скомпилируется. Я доказал обратное. Ко мне какие вопросы? Мьютексами я умею пользоваться.
149 3410026
>>409767
Ну например у тебя в структуре есть марка из ты с одним экземпляром из разных горутин хочешь ее мутировать
150 3410743
Можно ли на го написать сайт?
151 3410745
>>410743
Можно, разрешаю
152 3410756
>>410745
А как скомпилировать код, чтобы он загружался в браузер?
153 3410834
прохожу курс на степике и что-то начинаю душиться, аноны, кто вкатился/вкатывается, подскажите, вы по каким книгам/курсам получаете знания? Офк нужно полученные знания закреплять практикой, мне просто интересно, что по вашему мнение хидден гем/база, которую скипать нельзя, она очень быстро даёт основы и понимание логики языка? Tour of Go, а потом делать пет-проект сразу? А то решая задачки со степика у меня складывается чувство, что я двигаюсь очень медленно.
154 3410873
>>410834
Меня вот всегда удивляет, что изучая какие-нибудь циклы и массивы, люди думают, что они уже изучают язык и скоро смогут устроится на работу. Нет! Это как первоклассник изучает азбуку и до написания сочинения на выпускном экзамене ему ещё очень далеко. Нужно с умеренностью пройти все эти этапы, не перескакивая. Потом эти пробелы аукнутся и придётся всё равно начинать всё заново.
155 3410905
>>410756
GOOS=js GOARCH=wasm go build ...
156 3411017
А с фронтендов в го успешно перекатывался кто-нибудь? После 4 лет формошлепства не могу уже на жс/тс смотреть и все что с этим связано. Задумался о бэке, а бэк по состоянию на 2к25 это в осноаном го.
157 3411058
>>410834
Нужно чередовать теорию и практику. Прошел тур, теперь попробуй написать маленькую программку, например консольную утилиту, которая на вход получает аргумент ID треда на дваче и распечатывает в консоль последний пост с треда.
158 3411061
>>411017

>бэк по состоянию на 2к25 это в осноаном го


У тебя ошибка в слове PHP
159 3411108
>>410873
я перекатываюсь из пыхи, в которой дошёл до фреймворка Ларавел, поэтому и уточняю у знающих, спасибо
160 3411110
>>411058
понял, спасибо, анон
161 3411218
>>410834
я тоже прохожу и задания максимально впадлу делать
первые 2 понравились, но потом душка началась
3е где тесты нужны были через силу пришлось делать
162 3412130
>>411017
Тс кстати на гошке переписали
163 3412161
>>412130
так переписали не для того, чтобы на голенге писать, дурачек
164 3412189
>>412130
А Deno сначала писали на гошке, но потом переписали на ржавчину. Тогда просто ещё зига не было.
165 3412191
>>411218
Я вообще на ваши двачи заглянул, потому что влом уже читать всё это.
166 3412192
>>411017
Недавно смотрел вакухи, на го теперь ищут от 3-х лет опыта.
17422193018780.jpg260 Кб, 595x578
167 3412613
>>411017
Я бекендер без опыта в го, и меня пока только нахер посылают. А найти работу без знания баз данных, архитектуры, очередей, паттернов, алгосов совсем тяжко будет имхо.

Не думал просто перейти в более интересный "фронтенд"? Например в IOS\Android разработку? Тоже кнопочки красить но там есть и более интересные задачи.

А вообще скажу тебе как человек однажды перекатившийся с одной хуйни на другую - через 5 лет тебя новая хуйня точно так же заебет как и старая. Вот и думай стоит оно тех усилий...
168 3412671
>>412613

> Не думал просто перейти в более интересный "фронтенд"? Например в IOS\Android разработку? Тоже кнопочки красить но там есть и более интересные задачи.


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

мимо проходил
169 3412718
>>412613

> через 5 лет тебя новая хуйня точно так же заебет как и старая. Вот и думай стоит оно тех усилий...


Зачем вообще жить тогда, лол? Ведь всё в итоге надоест и умрём!
170 3412850
А че, в языке нет способа скопировать массив в одну строчку?
171 3412873
>>412850
Гуглить не пробовал? copy(x, y)
172 3412891
Аноны миддл+, сеньки, поделитесь с какими задачами сталкиваетесь на го
173 3412906
>>412891
Добавить параметр в джсон
Сделать запрос в другой микросервис
Высрать событие в кафку
Дописать иф
По идее все
17422338624832.jpg181 Кб, 639x680
174 3412960
>>411017
Еще вариант вспомнил - видел пару вакансий, где требовался фронтендер со знанием web3 и блокчейна. Там и платят в крипте и опыт твой будет релевантный и что то новое попробуешь без долгого мозгоебства с перекатом.
175 3413059
>>412891
Написать пробер.
image.png602 Кб, 2638x1604
176 3413624
>>390005 (OP)
В этом треде есть опытные аноны? Подскажите пожалуйста вот этот вот набор кала из пикрила работает в Go? Вроде особо и не должен работать, так как в Go классов нет, конструкторов нет, наследования нет и инкапсуляции тоже как-таковой нет, а с другой кто мешает сделать свою реализацию этих паттернов?
177 3413633
>>413624
Спокойно работает, где то на гх есть репозиторий с реализациями всех этих паттернов
178 3413662
>>413624
Паттерны как раз придумали по той причине что языки были недостаточно гибкие. Для Го паттерны намного актуальнее чем для Питона например. Паттерны подсказывают как сдлеать код более гибким.
179 3413753
>>412906

>Вроде все


А как же "сходить на очередную встречу" ?
180 3413774
>>412613

>Не думал просто перейти в более интересный "фронтенд"? Например в IOS\Android разработку?


Чел, это хуйня все. Интересный фронтенд - это d-apps с web3 solidity/rust, но в тот же го и то проще попасть чем туда.
181 3413775
>>412960
Да вот про енто
182 3413784
>>413774

> но в тот же го и то проще попасть чем туда.


А в чем сложность, если не секрет?
мимо 4 года в крипте
183 3413803
>>413784
Везде требуют сеньеров. Причем сеньеров именно в разработке крипты и ее стеке, а не залетных.
184 3413952
>>413624
Мне кажется половина паттернов нахуй не нужна. А другая половина супер полезна
17328972640050.png58 Кб, 600x600
185 3413955
>>413624
>>413633
Вы чё угараете? Какие паттерны в го? Это язык для велосипедостроения. Хотите паттерны пиздуйте в пыху или джаву.
186 3414068
>>412161
А для чего? Я думал, на го и расте для этого и пишут...
187 3414069
>>412891

>с какими задачами сталкиваетесь на го


Парсить XML.
188 3414076
>>413952
Какие можешь назвать нужными?
189 3414224
>>414076
Adapter, Decorator, Observer, Iterator, Strategy
190 3414441
>>414224

>Adapter, Decorator


Одно и то же. Требуется для работы с легаси из 1995 года, в го таких проблем нет.

>Observer


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

>Iterator


Твой код воняет дотнетом и кари.

>Strategy


Говно без задач. В 2025 году пишут сервисы с дтошками.
191 3414469
>>414441

>Твой код воняет дотнетом и кари.


То ли дело

>Seq[V any] func(yield func(V) bool)


более уебанского способа сделать итератор не придумать
192 3414565
>>414469
Зачем вообще делать итератор? Чтобы что? Отправлять в бд запросы в цикле йес саар? У тебя в 99.9% случаев будет проход по массиву через индекс, нахуя оборачивать индекс в IAbstractProxyDecoratorIteratorBean?
193 3414568
>>414565

>Зачем вообще делать итератор?


Например чтобы итерироваться по sync.Map
194 3414595
>>414568
Для кого придумали вот это?
for k, v := range map
195 3415001
>>414595

>Для кого придумали вот это?


>for k, v := range map


Ты программировать то умеешь?
196 3415052
>>415001
Че он не так сказал?
Стикер512x512
197 3415105
>>415052

>Зачем вообще делать итератор?


>Например чтобы итерироваться по sync.Map


>Код с обычной map

198 3415192
я обязательно найду работу на golang без опыта работы
я справлюсь ведь нет предела человеческой живучести
image.png22 Кб, 801x213
199 3415194
Насколько я хуйню написал и почему?
мимо первый пет проект
200 3415293
>>415194
Кто вообще добровольно пишет на этом языке? Какой-то внебрачны сын питона и сишарпа.
мимокрокодил
201 3415312
>>415192
на что конкретно ты готов ради работы го разработчиком?
202 3415315
>>415194
по такому кусочку не понятно, нужно в целом на проект смотреть, может там слои архитектуры нарушены, может солид.
мимо нихуя не понимаю в го но очень хочу разобраться
203 3415327
>>415194
Анон выше прав, очень всратый язык.
Где и как у тебя происходит работа с транзакциями?
204 3415335
Да хуй знает, очень понятный синтаксис. Иногда приходится по работе на педерасте писать, вот это боль ебаная.
205 3415345
>>415335
Раст придумали в дурке, это литерали творчество душевнобольных пидорасов в чулках. На фоне раста любой язык будет простым и понятным.
На сишарпе тот же код будет выглядеть лучше без мусора с err!=nil и всратых сигнатур функций. Жаль, что сишарп умер на бекенде. Приходится перекатываться на го, если не хочешь нырять в фулстек парашу.
206 3415360
>>415293
Все нормальные люди пишут, кому фабрики, адаптеры, фреймворки на каждый пук остоебенили.
207 3415399
>>415194
Как правильно сказали кусок слишком маленький, но на что бы я обратил внимание:
- []ProjectResponseDTO возвращается по значению, значит будет много копирований памяти. Для больших объектов надо возвращать ссылки
- ошибка слишком общая, неплохо бы или создать специальный тип чтобы потом можно было вернуть правильный 5XX код
- у тебя в цикле вызывается dto.UserToResponseDTO(), по идее owner же один и тот же, такое надо выносить из цикла
- ProjectRepo - публичный, надо сделать приватным
- если размер известен сразу и фиксирован, то не надо использовать append(), просто make(type, size) и slice = XXX
208 3415471
>>412891
Ну тут иб надо бы
>>415399

> - []ProjectResponseDTO возвращается по значению, значит будет много копирований памяти


Слайсы - это же всегда ссылка, не?
209 3415508
>>415471

>Слайсы - это же всегда ссылка, не?


Мне кажется он имел в виду []*ProjectResponseDTO
210 3415510
>>415471

>Слайсы - это же всегда ссылка, не?


Сам слайс да, но внутри массива будет лежать значение. И если ты будешь читать или писать в слайс то у тебя ДТО целиком будет копироваться.
17080190863540.jpg696 Кб, 1080x1080
211 3415513
Что добавить в пет-проект который я буду показывать компаниям, чтобы они прям офигели, что к ним такой джун (свитчер) пришел?

У меня есть микросервис, у которого уже есть канкаренси, рест апи, грпк, вебсокет, бд, логирование. Что еще в него можно впихнуть, что часто используется на Го проектах? Может что то набирает популярность, либа или очередь там...
212 3415517
>>415513
Наверни очередей
213 3415520
>>415513

>У меня есть микросервис, у которого уже есть канкаренси, рест апи, грпк, вебсокет, бд, логирование. Что еще в него можно впихнуть, что часто используется на Го проектах? Может что то набирает популярность, либа или очередь там...


Бинго по базворд, а проект поди говно.
214 3415525
>>415513

>чтобы они прям офигели


Чувак... Это какое-то "вау мышление". Я знаю, что можно сделать, но это название 99.999% людям ничё не скажет. Предположим, можно сделать xbrl-парсер, он будет разбирать семантически финансовые отчёты. Но чтобы это ВЫЗВАЛО ВАУ, все ахуели, попадали, заопладировали - это уже какая-то показуха. Это делать что-то, чтобы кому-то понравиться, а не ради того чтобы облегчить жизнь или заработать на этом деньги. То есть, я например заебусь вручную разбирать 50,000 финансовых документов и для этого создаю парсер. В этот момент мне обычно пахую что о моём проекте подумают люди. А ты делаешь ради какой-то тупой цели "кого-то впечатлить".
215 3415572
>>415513
Никому твой код не нужен. За идемпотентность и распределенные транзакции можно было бы поговорить с сеньками, но они даже смотреть не будут, им неинтересно. Может быть, какой-то чмоня мидл с 2 годами опыта доебется до названия переменных, но ты сам понимаешь уровень экспертизы у такого ревьюера. Ты напрасно пытаешься кого-то впечатлить, всем похуй.
216 3415586
>>415572

>идемпотентность и распределенные транзакции


Вот это ты хорошо придумал. Бахну второй микросервис и реализую между ними транцакцию с откатом в случае фейла.

Заодно можно и очередь между сервисами вкорячить... что обычно между гошными сервисами используют? Kafka или какой-нибудь NSQ?

>Никому твой код не нужен.


Мне самому нужен, чтобы претендовать на работу нужно сначала уметь ее выполнять.
217 3415783
>>415192
Я тоже вкачусь и найду, я же не лох какой-то
218 3415998
>>415513
Если хочешь потренироваться, можешь добавить мониторинги в прометее (наклепать метрик и ебануть алертов к себе в телегу, допустим), трейсинг на егере, поднять пресловутую кафку и покидаться калом через нее.
В целом на этом базовые технологии для гошного проекта кончаются. Не то чтобы кто-то будет смотреть твой код, но хоть сам будешь знать, что так можно.
219 3416212
Так блять, почему в go до сих пор не завезли оператора/функций для nil-safe nested object traversal?

Вы совсем ебанутые? 2к25 на дворе, а вы все еще на nil руками проверяете я с вас хуею))0
220 3416366
>>416212
Это не говей.
221 3416532
Раньше плевался от го, что он какой-то не такой. Но недавно, решив дать второй шанс гошке, почитал примеры по работе с gin.
Я вам отвечаю, такой кайф с разработкой бэкенда никогда не встречал. Это лучший язык просто. Как же я счастлив, что решил сделать апишку на гин, а не кторе.
Спасибо го комьюнити, вы открыли мне глаза и теперь я вижу прелести вашего языка
222 3416584
>>416532
Контроллеры на гине пишутся так же, как на ноде или дотнете. Все пиздят удачные идеи друг у друга, все фреймворки одинаковые. Другой вопрос, что нода - это фулстек, дотнет - фулстек для дебилов, с соответствующим уровнем проектов и зарплат. Если хочется писать только бэк, не касаясь фронта пятиметровой палкой - го единственный выбор.
sage 223 3416585
>>416532

> что решил сделать апишку на гин, а не кторе.


тут таких не любят, надо писать на net/http
224 3416611
>>416584
Да это понятно, просто удобная вещь, я просто в шоке. Я сам по себе не бэкендер, просто апишку надо для приложения написать. Учить спринг или асп.нет под такие запросы - ну херня идея. Гошка просто как нож по маслу зашла.

>>416585
Я пока не копал в эту сторону,сразу с примеров гина решил. Пока-что очень нравится, так что буду изучать net/http тоже
20250326192629.jpg3,6 Мб, 4032x3024
225 3416808
Анон расскажи про свой путь к Golang
(мой был достаточно тернистым)
226 3416827
>>416808
Вкатился, неделю писал на крестах, 2 мясяца на питоне и сейчас пишу на голанг.
227 3416837
>>416808
Ебать книжка по питону жирная, о чем там столько текста?
А так вкатывался в вузе, рандомно учил си, питон, кресты и жабу, на работу взяли гофером, вот и весь вкат.
228 3416840
>>416837

>Ебать книжка по питону жирная, о чем там столько текста?


Лол в питоне только про ООП можно больше написать чем про весь Го.
229 3417049
>>416840

>Лол в питоне только про ООП можно больше написать чем про весь Го


Ты реально считаешь это плюсом ?
230 3417077
>>417049
я думаю, что не бывает одних плюсов или одних минусов.
Когда в языке куча возможностей это хорошо, когда ты пишешь повторно используемую библиотеку (например ОРМ). Но плохо когда пытаешься разобраться в чужом говнокоде.
231 3417128
>>415513

>У меня есть микросервис, у которого уже есть канкаренси, рест апи, грпк, вебсокет, бд, логирование.


Охуенно, только забыл сказать что именно твой микросервис делает...
232 3417155
>>417128
В /dev/null пишет, а что?
233 3417188
>>417128
неважно что он делает, мне нужны широко применяемые инструменты.
234 3417189
>>415513

>канкаренси


Ебать звучит. Ты же по факту просто go перед фанк коллом воткнул.
235 3417207
>>417189
воткнул твой батя твоей мамке и получился ты, а я имплементировал канкаренси для ускорения ио баунд операций!
236 3417212
>>417207
И я получился сеньром-помидором. Потому что наши отцы красноглазики знали что и зачем они втыкают. А вы, поколение инфантильных пидарасов, только и способны что речи сладкие из себя изрыгать и у гопоты код копипиздить. Но на первой же заебной таске - сломаетесь и будете плакать
Снимок экрана 2025-03-27 134017.png331 Кб, 1992x1544
237 3417243
>>417212
хуя у тебя самомнение)) ну ничего, когда нибудь на заводе встретятся два Петровича и один тихо выругается на станок: "у сука чего эта гайка сюда не деплоится!" я улыбнусь про себя и пойму, что это ты - мой брат, айтишник.
238 3417257
>>417243
Ну мы же пойдем в подсобку жахаться?
1743091060925.jpeg159 Кб, 2048x1152
239 3417491
Есть тут кто? Или смотри онлайн хотя бы?
240 3417556
>>417491
О Кейт Бекинстейл тоже в гошечку вкатывается^^
дай хоть ссыль
1743099705544.jpeg227 Кб, 2048x1152
242 3417625
Ваши будущие наниматели
1743101741446.jpeg158 Кб, 2048x1152
243 3417645
Решите?!
244 3417672
>>417645
Поцесс с таймером + 1 атомик.
245 3417683
>>417491
Хорошая баба. Кто такая??
246 3417688
>>417683
Хз, кто то из зрителей
247 3417805
>>417645
В чем проблема? Один поток раздает токены. Для каждого ключа храним в хеш-таблице структуру (сколько токенов запросили, флаг блокировки). Блокировку делаем через атомик + спинлок, на таком коротком промежутке нет смысла уходить в мьютексы. По текущему времени вычисляем, сколько было начислено токенов всего, минус сколько запросили - итого сколько доступно сейчас. Поебаться с отладкой придется, конечно, это же многопоточка, но ничего охуительно сложного тут нет.
248 3417832
>>417672
>>417805
Что за атомики? Почему про это не написано в книжке Донована и Кернигана?
249 3417833
>>417645
На джаве для этого либа есть...
1743141534995.jpeg163 Кб, 2048x1152
250 3417846
Тогда решите это!
251 3417855
>>417645
Возьму синк рейт.
>>417846
Возьму еррор группу.

Как тебе такое решение?
252 3417876
>>417855
>>417805

Вы код прикладывайте.
253 3417904
Подходит ли го для написания игор?
254 3417909
>>417904
да, осталось подключить и и р
255 3417910
>>417832
Примитив синхронизации.
256 3417932
>>417904
Смотря что ты играми называешь. У raylib есть биндинги для всего, даже для php. Можешь свою товер дефенс на голенге написать.
257 3417936
>>417910
Я так и знал, что Донован и Кериган схалтурили, когда писали книгу. Я её прочитал от корки до корки и осталось послевкусие, что меня обманули. Они и 10% языка наверно не описали.
258 3417963
>>417936
Хуй знает, я вообще не го разраб. По-моему это больше база по основам программирования.
image.png219 Кб, 941x609
259 3417971
Блять, с новой мапой разобрался а вот держать сука микрофон к своим годам нахуй не научился, ббуббу пфпфпп чота там новая мапа пук среньк бббуббу пфпфпф....
260 3417977
>>417971
Всё ещё лучше, чем то, что сделал в жизни ты.
261 3418010
>>417977
Владимир Марунин разлогинтесь пожалуйста
1743155782840.jpeg181 Кб, 2048x1152
262 3418014
Когда нибудь в этом треде все станут такими же успешными как этот
263 3418028
>>417963
Это не база программирования. Они описали только синтаксис языка, но забыли, что у языка ещё есть стандартная библиотека. А может и не забыли, а подумали, что и так сойдёт.
Это вам не сишарп, где полностью описывают всю стандартную библиотеку, фреймворки и кишочки CLR.
264 3418038
>>418014
9 лет в ИТ, да что он вообще знать может? Такие дебилы потом всю почту засирают своим: «пук, среньк, наша ошибка страшная в логах, гуглить не умеем» :(
265 3418039
>>418010
Ну ни диванонь, ну ты чего...
266 3418041
>>417846
У меня такое однажды на джуна спрашивали пару лет назад. Я обосрался и в итоге меня не взяли. Пошел работать в помойное легаси на пхп, откуда меня сейчас сокращают потому что у кабана деньги закончились. Ебало имаджинировали?
1000064708.jpg1,6 Мб, 4096x2304
267 3418046
Найдите проблемы в коде
268 3418049
Лол, кек. Сейчас в вакансиях Сбера увидел, что они ищут миддл+ и сенек под написание ActiveDirectory с нуля. Каковы шансы на успех затеи?
269 3418061
>>418041
Я вот на пхп+го уже несколько лет работаю, сейчас перехожу на почти чистое го. И не уверен, что даже через год РАБоты смогу решать все эти задачки. Хотя хз, тут внутренние экзамены на грейды тоже есть.
Я к тому, что в бигтехах обычно просто пердолишь джейсончики в кафку, а не вот это всё.

>>418049
Так а какая разница на успех, лишь бы платили и дунасить можно было.
1743162588093.jpeg322 Кб, 1152x2048
270 3418105
Зачем этому гошнику два портфеля?
17431625910680-jpg-Изображение-JPEG-1152-×-2048-пикселей-—-Масштабированное-46-.png718 Кб, 744x682
271 3418118
>>418105
он просто решил двачеров из рюкзакотредов потролить
272 3418257
>>418046
Сам этот код и есть проблема
273 3418432
>>415510

>И если ты будешь читать или писать


Можно даже наверное буферок сделать
274 3418435
>>401177

>Как будто бы вкат в го идит исключительно через вакансии


Я вкатился, потому что лид принес сказал "вот на го теперь пишем". В итоге "гофер" который го не знает
image.png202 Кб, 298x569
275 3418488
>>418118
Не надо привыкать к воде, она поработит вас и вы будете по ней тосковать!
276 3418492
>>418488
Там во втором кармане тоже была вода.

>>418118
На этом МТС-митапе вообще нездоровая любовь к РЮКЗАКАМ.
277 3418632
уважаемые GOсподины, вкатываюсь к вам в тред!
Студент, начинаю учить этот язык. По факту будет моим первым ЯП. Подкиньте пожалуйста пару советов.
Также посоветуйте годные каналы по GO помимо justforfunc.
278 3418642
>>418632

> уважаемые GOвноеды, вкатываюсь к вам в кал!


> Копрофил, начинаю пробовать это говно. По факту будет моим первым копро. Подкиньте пожалуйста пару советов.


> Также посоветуйте годные каналы по копро помимо fecesforfun.

279 3418662
>>418632
Какой у тебя план по поиску работы?
Го используют в хайлоад проектах поэтому новичков в него не берут, сейчас даже с другого бэкенд языка сложно вкатиться, а ты вообще без опыта программирования хочешь сразу в Го.
280 3418667
>>418662
Хочу тоже вкатиться, но я дата инженер.

Опыт с высокозагруженными хранилищами есть. Оцените мои шансы на успех
281 3418673
>>418667
Вкатиться куда, в бэк? Тогда шансы очень средние, ДЕ и бэк слабо связаны, если ты не сам писал весь тулинг (а ты не писал, ибо в соло такое никто не напишет).
282 3418678
>>418673
Меня ДЕ подзаебал. Сейчас получил премию и думаю, отдохнуть поучить Гошечку, проходить собесы напиздев что есть опыт в го. В DE всякие свистелки и переделки писал. Типа всякие загрузчики данных на питоне. Тулы для оркестрации. Генерация дагов в airflow. Всякие дополнения к dbt на jinja+python. Ну и две апишки поднял на fast api.

Я смогу вкатиться в полноценный бек?
283 3418688
>>418678

>Я смогу вкатиться в полноценный бек?


Чтобы в голодных ирах участвовать?
284 3418690
>>418688
Все так плохо? Рынок работодателя?
285 3418692
>>418690
Нет, конечно, все заебись. Рынок вкатунов пиздунов.
286 3418693
>>418692
Ну шо ты злой такой. Сегодня суббота. Потрогай траву сходи. Погуляй в парке.
287 3418701
>>418678

>всякие загрузчики данных на питоне. Тулы для оркестрации. Генерация дагов в airflow. Всякие дополнения к dbt на jinja+python. Ну и две апишки поднял на fast api


Это стандартные вещи для ДЕ, которые с бэком слабо связаны. Вон, выше фотки с конфы кидали. Сможешь с ходу такие задачи решить?
288 3418709
>>418701
Лол, это я и кидал.
289 3418712
>>418709
Круто. А решить-то сможешь?
290 3418721
>>418712
Сейчас очень хуева смогу про урлы. Но я научусь!
291 3418723
>>418662
Какого-то конкретного плана пока нет. Т.к. не работал ни с чем - без понятия куда в итоге начну развиваться.
Го кажется самым приятным языком, поэтому решил начать с него. Какой смысл учить годик-два питончик или JS, искать работу будучи одным из миллионов джунов?
В го мб конкуренция поменьше + кажется язык перспективным. Нравится его читаемость.
Вот и надеюсь, что его изучение может запустить мне какую-никскую карьеру.
Но да, именно факт что это первый язык - гемного напрягает. Ну хоть не раст...
292 3418816
>>418723
Тебе нужно иметь что-то больше чем го, если ты хочешь катиться дальше. Питончик был бы хорошим вариантом вдовесок.
А вообще одного го мало, изучай постгрес, кафку, реббит, грпц и прочее говно.
293 3418829
>>418816
Спасибо. Ну да, понимаю что вдовесок нужно много что дополнительно выучить.
294 3418965
>>418723
>>418816
хорошая идея! когда более менее выучишь Go потрать пару вечеров на PHP и Python (чисто на синтаксис, ничего кроме умения создать класс, функцию, массив, цикл, переменную и запустить чтобы вывело результат не нужно). Гошников часто берут переписывать с этих языков. Будешь на собесах пиздеть: "да, могу читать и понимать код на пхп\питоне и переписывать на Го". Это будет твоим большим плюсом.
1000064206.jpg79 Кб, 702x394
295 3418968
>>418965
Каким раком вообще PHP связан с Go?
296 3418973
>>418968
На hh.ru есть отдельная категория вакансий, которая называется php/go

И там переписывают проект с пхп на гошку

Мимо вуесос. Я пишу фронт
297 3418978
>>390005 (OP)

Что за херня на 3-м пике?
298 3419005
>>418973
Я видел обратное. На собесе сказали что переписывают с го на пыхы.
299 3419149
>>417971
рассмешил содомит
300 3419168
>>417971
А что за мапы то новые? Новичок, найти инфу не могу
301 3419201
>>419168
Оптимизировали RwMutex для йоба многопроцессорных систем на 64+ ядра, теперь на таких монстрах sync.Map работает чуток быстрее, чем классическое map + sync.RWMutex. Для обычных EC2 машин неатуально. Короче, как обычно задроты нашли свою задротскую проблему и эффективно оптимизировали на 1%.
302 3419227
>>419201
А, понял, спасибо анонче!
303 3419269
>>419005
Это в какой конторе?
304 3419322
>>418965
прикольно придумал, спасибо
image.png90 Кб, 800x496
305 3419602
>>419168

>А что за мапы то новые? Новичок, найти инфу не могу


Переписали реализацию map на Swiss Tables, что должно улучшить производительность и более экономно расходовать память.
https://dev.to/ocodista/go-124-uses-swiss-table-what-are-they-3c2l

sync.Map тоже ускорили, но это вторично, т.к. им реже пользуются.
306 3419632
>>419602
Вот, погрокал за тебя анон
https://grok.com/chat/a1a22154-8c5d-4a7a-a06d-71055c60a0b3
307 3419642
>>419632
это говно оказывается просто так не работает, нужно шарить
https://grok.com/share/bGVnYWN5_cd81cd4f-b2cd-4d13-90df-da5c05517d6a
308 3419764
>>419602
Спасибо!
Почитал, стало еще яснее. Честно, хочется такого же в котлине, но, к сожалению, сейчас котлин это продукт маркетологов и там все "фичи" - экспериментальные и работают через раз.
309 3419840
Посоветуйте плизик. Пишу на шарпах 3 года ком. Опыта, но хочу убежать в микросервисы и го. На шарпах плотно с микросервисами и стеком так и не удалось поработать - даже сейчас новый проект монолит. Думаю - стоит ли обращаться к менторам чтобы за ручку проводили по го в связке с микросервисным стеком, или есть другой вариант? Посмотрел, конечно, 150% от оффера хотят - пиздец.
310 3419861
>>419764
Котлин ЖВМ использует реализацию мапы Джавы. И в целом она достаточно эффективна, благодаря сборке мусора с компактинацией.
311 3419887
>>419840

>менторы


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

ты сам го роадмап не можешь загуглить или список вопросов на собесе?
312 3419921
>>419887
Ты не понимаешь, когда ты сам читаешь про WaitGroup - это хуита, а когда ты заплатил N денег и читаешь на том же сайте - вот это настоящие знания!
313 3419922
>>419642

>1 бит для статуса слота (занят, пустой или удалён)


Хуясе черная магия! Это и есть та самая нейросеть, которая заменила всех разработчиков?
314 3419937
>>419922
Ну шизов, что бит от байта отличить не могут она уж точно заменит
315 3419949
>>419937
Upd: не чекнул, что хт цитата грока. Обосрался получается
i.webp10 Кб, 480x294
316 3419964
Анон, привет! Подскажи, где можно найти ментора по гошке, который не чурается "приукрашивания" в резюме и любых других способов попадания на работу?

У самого есть 3 года реального коммерческого опыта, но на другом языке. Хочу подстраховаться и заручиться чьей-нибудь помощью, чтобы еще и дорожную карту по хардам составил.

Готов за это платить, разумеется.
317 3419990
>>419964
Ментор, пошел нахуй с двачей, хватит тут свои услуги пиарить.

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

Сейчас гоев будут максимально прогревать, репутация уже не важна.
318 3420016
почему так?
319 3420017
>>419887
Тут вопрос именно про пет с микросервисным стеком, остальное то понятно выучить не проблема.
320 3420035
>>420017
а что там с петом с микросервисным стеком? спроси тут, я тебе бесплатно накидаю)
321 3420036
>>420016
ты на Win XP что ли сидишь? давно проблем с кодировкой не видел
322 3420043
>>420035
Вопрос пока общий - нужна поставленная задача и по факту чел, который проконтроллирует пердолинг пета с нужными технологиями с комментариями - вот это говно, это можно сделать иначе и т.д... Т.е. мне ментор нужен как репетитор, мол так делать надо, а так не надо. Всякие слайсы хуяйсы и че там у вас еще я выучить и сам в состоянии и подрочить это на литкодовских задачках или подобном.
323 3420044
Но, по первому впечатлению, менторы выглядят как какой-то скам - "ВКАЧСУ С НУЛЯ в голованг за 2 месяца" и т.д. Вкатится то окей, как работать потом? Я то поэтому и думаю, че делать. Про перспективы голованга я еще в 21 году знал когда только учился прогать, но потом случилось ИРЛ и не было возможности сидеть и перекатываться в него пока работал на шарпах.
324 3420055
>>420043
Говно вопрос. Сделай сервис денег с шардирование по юзеру, чтобы деньги Васи лежали в бд1, а деньги Пети - в бд2. Сделай сагу, которая переводит деньги от Васи к Пете. В процессе наебешься так, что возненавидишь микросервисы ебаные и полюбишь монолит.
325 3420110
>>420016
вроде само починилось
>>420036
не, десятка
1000064873.jpg796 Кб, 2667x4000
326 3420647
Новые мапы юзаете?
327 3420654
>>420044

> как работать потом?


Огребать баги на проде из-за пропущенных нюансов
Огребать кучу легаси-лапши от таких же как ты перекатунов, которых уже уволили (или хуже, которые ЗАКРЕПИЛИСЬ на метсах и диктуют стиль)
Огребать пизды на перф-ревью за незнание кишок (хотя ты просто ворочал джейсоны весь квартал)
328 3420659
>>420647
Каво?
329 3421205
17414611535950.png1,2 Мб, 1025x1280
330 3421211
Что то у меня сомнения аноны, перекатываться в Го из Питона или нет...

С одной стороны Го нравится - как глоток свежего воздуха - минимализм, интересная конкурентность, отсутствие фреймворков, грпк...

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

Аноны, которые уже вкатились, есть тут такие? Насколько у вас скучные или интересные таски? Расскажите о своих тасках на работке!
331 3421318
>>421211
В основном на го перекладываются разного рода жсоны.
Оптимизация производительности это редкая задача и ее наоборот довольно приятно делать в рамках рутины.
Если нужен такой xxx перформанс, странно вообще брать го, а не что-то поближе к железу.
332 3421744
>>421681 (Del)
Я хотел заниматься историей, но пришлось идти в айтишку.
333 3421757
>>421681 (Del)

> ЗАЧЕМ ТЫ ВКАТЫВАЕШЬСЯ В ИТ?


Давно вкатился. А в ГОшку потому что стек у нас сейчас такой, да и синтаксис ничо так.

> Чем тебя привлекает кодинг?


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

> Только честно! И готов ли ты вкатиться в любую другую сферу в которой будешь зарабатывать столько же или больше?


Есть только одна сфера, в которую бы хотел вкатиться кроме ойти, но физухи нет и старый уже для этого.
334 3421764
>>421757

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


Колись.
335 3421791
>>421764
Военная авиация, лол.
336 3422671
>>422508 (Del)

>Даю маленькую подсказку


Тоже даю: на западном рынке пиздорез похлеще нашего, там глыбы компьютерсаенсные с дипломами элитных учебных заведений вылетают на мороз
337 3422744
>>422671
ага, только глыбы с компьютерсайнс живущие в Америке хотят высокие зарплаты, а нам и 5-6К будет заебись.
338 3426202
Аноны, на чем проще и быстрее админку сделать? Слыхал про буффало, но ни разу не пользовался.
339 3426585
Попадал кто на стажировку в авито? Что скажете?
340 3426630
>>426585
Авито - это яндекс на минималках. Дроч на kpi, команды из одних студентов, бешеная текучка, вот это все. Там нечего делать.
341 3426696
>>426585
Хуета с кранчами, не рекомендую
342 3427272
>>426630
>>426696
Понял, подамся всё равно, хоть посмотрю как тестовые на golang'е выглядят.
343 3427287
>>427272

>хоть посмотрю как тестовые на golang'е выглядят


Напиши сюда потом, тоже интересно.
344 3427291
>>427287
сначала тест, в тесте вопросы уровня
что произойдёт при обращении по несуществующему индексу в слайсе
как создать alias для типа данных
что возвращает функция len для nil слайса
как создать лямбда функцию
context background vs context todo
количество символов в строке go
что такое select с default
можн сравнивать int с nil?

tasks :+ make(chan int, 1)
tasks <- 1
tasks <- 2
что произойдёт если никто не прочитал до выполнения этого кода
345 3427295
Авито, Яндекс, Озон - потогонка с KPI, перфоманс ревью и квотами на увольнение. Нахуй не надо туда идти сейчас в эти помойки.
346 3427297
>>427287
>>427291
а вот само тестовое

https://github.com/avito-tech/tech-internship/blob/main/Tech%20Internships/Backend/Backend-trainee-assignment-spring-2025/Backend-trainee-assignment-spring-2025.md

МУЖИКИ, дайте оценку тестовому

>>427295
Разве существуют другие компании, которые используют Golang и активно нанимают рабоджунов?
347 3427302
>>427297

>Разве существуют другие компании, которые используют Golang и активно нанимают рабоджунов?


В Yadro точно нанимали джунов. Есть еще конторки поменьше.

Но да, найм стажеров самый большой в Я, Авито и Озоне.
348 3427304
>>427302

>В Yadro точно нанимали джунов


У них даже стажировка с Golang'ом есть, пойду закину резюме, хули мне
349 3427309
>>427297

>МУЖИКИ, дайте оценку тестовому


Хорошее тестовое, как раз проверяет навыки крудописания + сбора метрик и логов. Ну и деплой по мелочи. Я вот 2 года в одном проработал и сходу с этим тестовым вряд ли справлюсь - ни разу не пользовался prometheus. Надо самому что ли сесть и сделать для себя, чтобы мозги размять.
350 3427313
>>427309

> Я вот 2 года в одном проработал и сходу с этим тестовым вряд ли справлюсь


трагедия
у меня опыт в два созданных пет проекта, придётся ебашить невообразимо видимо
351 3427317
>>427313
Да опыт работы это хуйня если честно. Я вот 2 года в Яндексе просидел. Научился литералли ничему - 2 года сидел и фиксил баги в легаси монолите. Каких-то больших новых фичей не делал, микросервисов так и не увидел. Да, познакомился с внутренним стеком технологий, но за пределами Я он никому не нужен, совсем. Каких-то плюшек кроме строчки в резюме лично я не получил от такой работы.
352 3427318
>>427317

>Каких-то плюшек кроме строчки в резюме


Так это же самое главное сейчас? Буквально фильтр, без него до собеса не допускают даже?

Что обсуждают на яндексовском аналоге двача?
353 3427327
>>427297

>1. Авторизация пользователей:


>Используя ручку /dummyLogin


Это слово handle так перевели?
354 3427328
>>427318

>Так это же самое главное сейчас? Буквально фильтр, без него до собеса не допускают даже?



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

>>427318

>Что обсуждают на яндексовском аналоге двача?


Половина тредов это срачи ватники vs либерахи. Оставшиеся треды это жалобы на перфоманс ревью, зарплату, грейдапы и все что с этим связано. Интересных тредов крайне мало.
355 3427331
>>427327
Именно
>>427328
Понял, спасибо
Пойду скромно почитывать про DDD в голенге и скромно реализовывать тестовое
356 3427441
>>427297
Они охуели? Это задача на синьора и там работы на неделю потного кодинга как минимум. Только с редактированием накладной будешь ебаться несколько дней. Еще и требуют развернуть инфру, чтоб и IAM работал и саги бегали. Пусть нахуй идут с такими тестовыми, дебилы, блять.
357 3427445
>>427441
Ебать, на первый взгляд показалось что не всё так сложно

>сага


даже паттерна не знал такого до этого поста, ох бля...
358 3427457
>>427445
Ответь для себя на следующие вопросы:
1. Как ты будешь масштабировать эту систему? Это главный вопрос в бекенде.
2. Сервисы не существуют в вакууме. Как ты сделаешь поддержку распределенных транзакий?
3. Что по идемпотентности?
4. Что делать с конфликтами, если два юзера начнут вбивать одну и ту же накладную?
359 3427544
>>427441
А зачем тут саги? Я пробежался быстро, вроде как монолит хотят сделать. Один сервис, не несколько.
360 3427644
>>427544
Тут вопрос, что конкретно они хотят увидеть в этом охуевшем тестовом задании. Вряд ли монолит, они же работают на микросервисах.
Вообще, в микросервисах требуются три дополнительных параметра:
1. transaction_id чтобы откатить распределенную транзакцию
2. operation_id для идемпотентности
3. trace_id чтобы собирать инфу по логам и строить красивый стек вызовов между сервисами.
Все эти хуйни надо где-то генерировать и они должны быть уникальны. Клиент это не видит, он просто дергает ручку, а дальше ебись сам. В случае с сагой айдишки геренятся на старте саги, внутри саги значения уникальны (это ключи в бд), добавляем префиксом айди самой саги и получаем уникальный ключ на всю систему. Без саги - ну ты поебешься, потом все равно напишешь сагу.
361 3427651
>>427457
Как я много не знаю, это ужас просто.
В рамках одного сервиса - напихать транзакций с уровнем Serializable - решение или нет?
В рамках нескольких - внезапно, не знаю, пойду курить про распределённые транзакции.
Алсо, где искать ответы на эти вопросы? Сам ответить не могу.
Есть ощущение, что надо копать в сторону КАБАНЧИКА, я прав?
Спасибо, из постов на дваче узнаю много нового
362 3427671
>>427297
Где нарыл тестовое, если не секрет?
363 3427674
>>427327
А что не так? Вроде всегда ручкам называли, нет?
image.png26 Кб, 578x402
364 3427677
>>427671
Открыто лежит в гитхабе, как и тестовые с прошлых лет.
365 3427697
>>427674
Ну как бы handle в этом контексте - это не дверная ручка.
366 3427772
>>427651
Serializable - это сразу полный окончательный пиздец производительности. При большой нагрузке вообще транзакции не используют и ставят read uncommitted.
Распределенные транзакции через двухфазный коммит так себе решение, когда зависнет координатор, вся система встанет раком. Лучше поебаться с сагой и версионированием данных в бд.
Кабанчик - это справочник, очень душный. Там общая картина не показана, зато много дрочева по деталям. Лучше просто смотри выступления с хайлоада, где они обсуждают свои велосипеды, понемногу собирай информацию.
Алсо может это я слишком загоняюсь, а для тестового достаточно пукнуть в бд и не выебываться.
367 3427781
>>427772

>Serializable - это сразу полный окончательный пиздец производительности


В моем текущем бигтехе мы используем только serializable транзакции для любой записи в таблички. И у нас монолит, кста.
368 3427803
>>427772

>При большой нагрузке вообще транзакции не используют и ставят read uncommitted.


То есть при большой нагрузке постгрес не используют?

>зависнет координатор - все ляжет


>лучше поебаться с сагой


То есть когда зависнет контроллер в саге этого не произойдет?

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


Ну с таким уровнем рассуждений конечно.

>Лучше просто смотри выступления с хайлоада


Ахахахахахаххахаха
369 3427818
>>427772
Спасибо, буду изучать!
370 3427865
>>427772

>Кабанчик


>много дрочева по деталям


В этом и смысл книги, как бы...
371 3427876
>>427803

>То есть при большой нагрузке постгрес не используют?


Используют. Не используют блокировки.

>То есть когда зависнет контроллер в саге этого не произойдет?


В саге используется версионирование записей, как в гите. Двухфазка держит блокировки. Разницу примерно улавливаешь? Сага работает вообще для любых разных баз, 2PC между постгресом и постгресом.

>Ну с таким уровнем рассуждений конечно.


Душнила, спок.

>Ахахахахахаххахаха


Зря смеешься, там часто проскакивают интересные детали. И на хайлоаде рассказывают про живые системы, а не маняфантазии про чистую архитектуру.
372 3427884
>>427876
Я про твою фантазию про рид анкоммитед писал вообще, для справки: but internally only three distinct isolation levels are implemented, i.e., PostgreSQL's Read Uncommitted mode behaves like Read Committed. This is because it is the only sensible way to map the standard isolation levels to PostgreSQL's multiversion concurrency control architecture.
373 3427905
>>427884
Хуясе говноделы. Теперь понятно, почему большой энтерпрайз не сидит на постгресе. Моя основная бд mssql и немного оракл.
374 3427964
>>427772

>Serializable - это сразу полный окончательный пиздец производительности


>Кабанчик - это справочник, очень душный. Там общая картина не показана


хуево ты читал Клепмана, сыкну, теперь анонов в заблуждение вводишь.

Вообще аноны, не слушайте никого на двоче, тут одни долбаебы.
375 3428030
>>427964
Хорошо, я не буду слушать тебя о том, чтобы не слушать других.
376 3428039
>>427964
Свинку, кабанчик - это обзорный справочник. Вкатываться в микросервисы по кабанчику - это как вкатываться в программирование по Кормену: нихуя не понятно. Из кабанчика ты узнаешь про асинхронную репликацию и алгоритмы консенсуса, но как из этого сделать масштабируемый микросервис ты не узнаешь. Зато кабанчика любят душнилы на собесах: всегда можно задать каверзный вопрос оттуда и потом сидеть гундеть "ммм вы не понимаете основы".
377 3428058
>>390005 (OP)
В линкедине почти в каждой вакансии на голенг идет знание кубера is a must. Они там ебанулись? Далеко не каждый девопс сможет поднять кубер, а гейропейцы хотят эти навыки от разработчика. Кто-нибудь подавался в подобные компании, что спрашивают на собесах?
378 3428152
>>428058
А зачем платить за разраба и девопса отдельно, если можно просто взять разраба с навыками девопсинга?
379 3428176
>>428039
да ты бы в Serializable для начала вкатился потом уже в микросервисы лез.
380 3428179
>>428030
ну да, меня тоже не нужно)

хотя я иногда дельные вещи говорю, например 10 лет назад говорил, что у ПХП нет перспектив и с него нужно валить, но меня никто не слушал.

Теперь говорю, что у Питона нет перспектив, но меня опять называют долбаебом. Ну посмотрим)
381 3428198
>>428179

>Теперь говорю, что у Питона нет перспектив


Это уже давно говорили и без тебя. Но петузы из дата саенса засрали питоном всё сейчас.
382 3428213
>>428198

>Это уже давно говорили и без тебя


давно хуйню несли, а вот сейчас появилось много объективных причин.
383 3428271
>>428213
Ну да, через 5 лет будут ровно то же самое говорить, что раньше не было уверенности, а вот сейчас-то уж точно...
384 3428605
>>428179

> 10 лет назад говорил, что у ПХП нет перспектив и с него нужно валить


Меня литералли все эти 10 лет пыха кормит, и будет кормить дальше. С хера ли нет перспектив-то? Язык развивается, проекты пишутся, причём немало.
Да, гошка по деньгам поинтереснее сейчас, причём я тоже знал что надо её учить, но вечно ленился, кек...
Но пыха никуда не денется точно ещё десяток лет.
385 3428613
>>428605
Много сейчас проектов с нуля на пыхе пишется? Только нормальных, с микросервисами, очередями и.т.д? И чтобы вакансия была чистый бекенд без фронтенда.
386 3428664
>>428613
Ну судя по вакансиям - да, много. Даже говёный антипаттерновый ларавель зачем-то берут.
387 3428731
>>428664
Попахивает пиздежом. 10 лет назад я перекатился с пхп на питон как раз потому, что пхп стремительно терял популярность и новые проекты писали на питоне, а на пхп было одно легаси. А теперь вдруг снова массово новые проекты на пхп пишут? С чего бы вдруг?)
388 3428753
>>428613

>нормальных, с микросервисами


Почему копросервисы это нормально, хипстер?
389 3428847
Сап.
Просто хочу разобраться в устройстве работы. Новичок, так что не бейте.
Если я напишу такой код:
func createPointer() int {
x := 42
return &x
}

func main() {
ptr := createPointer()
fmt.Println(
ptr)
}

Тогда же должна быть ошибка, верно? Функция отработала, x находится в стеке функции createPointer(), но почему-то не кидает эксепшн. Спросил гопоту и он сказал, что это такой йоба механизм в го есть, который сканирует память и если часть стека функции еще нужен - функция не очищается до конца, а хранит память на эти переменные.
Если же я сделаю x через x := new(int), тогда стек функции отчистится полностью, ведь x - это поинтер на хиповую память, верно?
390 3428850
>>428847
https://pastebin.com/D3tBLQsr

макака не сделала до сих пор удобное форматирование, боже мой.
1.PNG61 Кб, 1323x471
392 3428877
>>428850
Изи ж, убегает в хип

> go tool compile -m -m main.go


/data/main.go:5:6: can inline createPointer with cost 8 as: func() int { x := 42; return &x }
/data/main.go:10:8: cannot inline main: function too complex: cost 93 exceeds budget 80
/data/main.go:11:25: inlining call to createPointer
/data/main.go:12:17: inlining call to fmt.Println
/data/main.go:6:3: x escapes to heap:
/data/main.go:6:3: flow: ~r0 = &x:
/data/main.go:6:3: from &x (address-of) at /data/main.go:7:11
/data/main.go:6:3: from return &x (return) at /data/main.go:7:4
/data/main.go:6:3: moved to heap: x
/data/main.go:12:18:
ptr escapes to heap:
/data/main.go:12:18: flow: {storage for ... argument} = &{storage for ptr}:
/data/main.go:12:18: from
ptr (spill) at /data/main.go:12:18
/data/main.go:12:18: from ... argument (slice-literal-element) at /data/main.go:12:17
/data/main.go:12:18: flow: fmt.a = &{storage for ... argument}:
/data/main.go:12:18: from ... argument (spill) at /data/main.go:12:17
/data/main.go:12:18: from fmt.a := ... argument (assign-pair) at /data/main.go:12:17
/data/main.go:12:18: flow: {heap} = fmt.a:
/data/main.go:12:18: from fmt.Fprintln(os.Stdout, fmt.a...) (call parameter) at /data/main.go:12:17
/data/main.go:12:17: ... argument does not escape
/data/main.go:12:18:
ptr escapes to heap
393 3428881
>>428179
Go очень нишевый язык для инфры и в подавляющем большинстве случаев его не используют для написания бизнес-логики.
В России Go учить смысла нет. Будете прыгать между помойными бигтехами: из Озона в Авито, из Авито в Яндекс, из Яндекса в WB, и так по кругу, каждый раз получая говна за шиворот на очередном перфоманс ревью. Либо застрянете в каком-то ноунейм болоте.

Для релокации Go тоже плох, основной стек технологий в западных конторках это жаба, питон, джаваскрипт.
394 3428883
>>428875
>>428877
А, я даже и не знал, что го так умеет. Учу гошку где-то 4 день.
Спасибо за ответы, теперь стало понятнее.
395 3428900
>>428881
У меня наоборот очень хорошие предчувствия насчет Го. Шесть лет назад я его не до конца оценил. А сейчас плотно поработав с питоном мне как будто глаза открылись. Мне больше не нужны все эти питоновские свистоперделки, фремворки, ОРМы.
396 3428925
>>428883
В сишарпе есть понятие boxing/unboxing, в гошке та же фигня. Когда компилятор видит, что ты берешь указатель на переменную, он кладет ее в кучу и возвращает указатель. Это не с/с++, выстрелить себе в ногу не получится.
397 3428930
>>428900
Го хорошо ложится на чатгопоту. Самому руками выписывать эти err != nil заебывает, а гопоту не жалко. Вот, например, я набросал в копилоте промт для простенького туду листа:

Create http service in golang for shopping list application.
Do now write all code in main function.
Server port comes from environment variables with default value 8080.
Log errors to console.
Do not report errors to the client, instead log error to console with unique key (use local time ticks), then return to the client this key and status 500.
Use postgres database to store data.
Do not use global db instance, instead open new connection on each http request.
Open new database connection in a separate function, do not inline it.
Database connection parameters come from environment variables, panic if any of database connection parameters is not set.
Must use connection pooling for db.
Connection pooling parameters come from environment variables with default values.
Use validation for incoming request parameters.
Use HTTP status codes for endpoint results and errors.
Check http verb in endpoint.
Must use inplace payload structures for incoming json validation, must not map request parameters to business logic structures.
Shopping item has ID, name and yes/no mark.
Service has http endpoint GET /list that returns json with a list of shopping items.
Service has http endpoint POST /mark that sets mark to true for a specific item, item ID comes from request.
Service has http endpoint POST /add that adds a new shopping item, item name comes from request.
Service has http endpoint POST /delete that deleted a specific item, item ID comes from request.

Потратил часа два и тут еще есть над чем поработать. Сам бы я охуел столько кодить.
398 3428934
>>428930

>Го хорошо ложится на чатгопоту


тоже думаю, что это весомый плюс го. Просил нейросеть переписать сгенерированный код на го на питоне и она жидко обосралась, несколько раз я ей подсказывал и просил исправить но она так и не написала рабочий код.
399 3428985
>>427327
>>427697
Это яндекс-сленг. Они эндпойнты стали на русском называть ручками, остальные подхватили
400 3429044
>>428881
джава это кал сынок
401 3429065
>>428881

> Для релокации Go тоже плох, основной стек технологий в западных конторках это жаба, питон, джаваскрипт.


Только возьмут джавистом не русского понаеха, а своего местного. Надо скиллы качать с меньшим числом голодных ртов на место. Сейчас бы как раз на ГОшку и педераст смотрел, да.
402 3429178
>>429065

>педераст


Нахуй он нужен?
403 3429227
>>429178
В том же бч спрос, а спецов нихуя.
404 3429231
>>428985

>Они эндпойнты стали на русском называть ручками


Зачем? Просто так, чтобы не как все?
405 3429234
>>429227

>В том же бч


Где?
406 3429248
>>429234
Блокчейн.
407 3429256
>>429248
Лол.
408 3429298
>>429256
Ну дело твое.
409 3429300
>>428900

>Шесть лет назад я его не до конца оценил


А с чего ты решил, что сейчас ты его "до конца" оценил?
410 3429323
>>428925
Понятно. Я даже не думал, что тут так продуманно, хотя ожидаемо.
carbon(1).png75 Кб, 1042x596
411 3429324
>>429300
отвечу одной картинкой
412 3429392
>>429324
Бессмысленный код. Лог фатал пишется ровно в одном месте на самом верху, внутри функций собирается длинная сопля из ошибок через fmt.Errorf
413 3429406
>>429392

>Бессмысленный код. Лог фатал


это да. посыл был в том что мне гошка настолько понравился, что даже с бесконечной проверкой ошибок смирился.
414 3429430
>>429392
нука подробнее про логирование
на любой выпук пишу fmt.Errorf("что то не так")
прокидываю это говно до уровня хендлераи там уже slog.Error("err", err)
всё так или проебался?
415 3429615
>>429430
Все так.
416 3432782
>>426585
Я, вкатун вообще без коммерческого опыта, уже второй раз подаюсь - в первый раз охуел со сложности(БД до этого не трогал, Джокер в первый раз пощупал), но сделал за бессонную неделю, как итог - не прошел
В этот раз подумал, что ну уж с прошлого-то раза все должно быть легче, но все равно охуел, да еще и проебланил момент - в 23:50 запушил решение задания, дальше ночью докоммичивал уже тесты
Сегодня увидел, что, судя по трафику ГХ, они клонят решение в момент дедлайна, похоже, так что покрытие тестами вышло 0%
Вышел, как и в прошлый раз, рабочий сервис, с несколькими выполненными дополнительными заданиями, но что-то надежды я все равно особо не ощущаю - как минимум операции с бд в половине случаев грязные - я вынес в отдельные функции несколько распространенных операций, но у меня не было времени разбираться с контекстами для бд транзакций
В целом, конечно, по ощущениям это все полный пиздец - если такое просят от стажера 40к зп в месяц, джуна попросят прошлого СЕО воскресить? Миддлы скорость света и силу гравитации перелопачивают для того, чтобы миникабаныч мог партию трусов сбыть на 0.01% быстрее?
Но выбора особо нет, все без опыта/джуновские вакансии меня успешно заигнорили (я был бы очень рад преувеличить, но вакансий такого толка было крайне мало)
417 3432787
>>432782
Что там за задание такое? Чому не юзал нейросеть? Алсо джун - это низшая лига, там литерали голодные игры в говне. Подавайся на мидла.
418 3432788
>>432787
Анон выше скидывал задание, вот https://github.com/avito-tech/tech-internship/blob/main/Tech%20Internships/Backend/Backend-trainee-assignment-spring-2025/Backend-trainee-assignment-spring-2025.md
Нейронку юзал, без нее бы я не написал ебанистический запрос к бд для сбора инфы по сущностям с 3-мя уровнями вложенности, да и тесты они очень помогают писать, я обычно к моменту, когда приходит время писать тесты, уже выматываюсь порядочно - сроки сжатые, инфы много
Для остального стараюсь сам, чтобы набить руку на такого рода задачах - просто у меня то, чем я развлекаюсь и что пишу для себя, не сильно подходит под коммерцию, есть такое ощущеньице(типа, запилить триде движок в терминале, переводчик на брейнфак, бот для дискорда)
Согласен с мыслью, что нужно сразу на миддла, но есть несколько страхов
1) Даже если я вдруг куда-то попаду, не умру ли я от миддловских задач? Я совсем не понимаю, готов ли, при том, наверное, даже не столько в плане программирования, сколько в плане всякой бюрократии/формальностей, мне кинут под ноги на входе репозиторий, я его облизывать начну, а надо было перешагнуть, в таком духе
2) У меня нет опыта, накручу я какую-нибудь несуразицу, по которой даже ничего пояснить не смогу - опыта-то нет
Но тут, наверное, выход пойти к волчаре и купить накрутку+легенду, чтобы это хотя бы не выглядело как будто вкатуныш пытается рассказать, как он себе представляет процессы в компании
419 3432804
>>432788
Очень потное задание. Сколько времение на него дается? Что дает выполнение? После такого можно смело подаваться на синьора.
420 3432847

>Авито


Недавно разговаривал с их рекрутершей, предлагал меня взять за 150К \ мес. У меня 10 лет опыта в бекенде на питоне, гошку учу пол года. Посмотрели резюме и даже на собес не позвали. При том, что у меня в резюме реально интересные проекты с микросервисами, кафками, канкаренси и.т.д. Хуй знает кого они тогда ищут и какие у них требования...
421 3432860
>>432847
Ты для них оверквалифаед, джуна говно разгребать ищут же.
422 3432875
>>432860
да не, у них сейчас буквально акция проходит: "стань мидлом по быстрому". На мидл позиции я уж точно оверквалифаед не буду.
423 3432934
придумайте за меня идею пет-проекта, а я реализую
что вам надо? xbrl-парсер уже существует
424 3432942
>>432934

> придумайте за меня идею пет-проекта, а я реализую


Я тебе уже ответил в ньюфаго-треде, сделай аналог трелло со встроенной базой, чтобы можно было легко запускать на отдельной машине.
425 3432944
>>432934
запили генератор кода чего нибудь, например есть sqlc который генерирует методы на основе sql. Может структур конфига на основе yaml файла или еще какой-нибудь дрисни.
426 3432946
>>432875
Если у тебя 10 лет опыта на другом стеке то ты уже синиор должен быть, старые миддлы не нужны
427 3432986
>>432942
yet another tasks/projects managing app?
делал такое в вебе, в чём прикол пилить десктоп?
428 3432991
>>432986
Трелло - это канбан доска.

>делал такое в вебе


>в чём прикол пилить десктоп?


Ну можно веб сайт открывать, запущенный на этой же машине. Прикол в том, что аналоги трелло для локального запуска - это слишком простые/ограниченные проги или развесистые на пыхе, которым нужна ещё постгря в качестве базы. А вот так, чтобы как трело, но с одним бинарником и встроенной базкой - таких продуктов я не встретил.
429 3433017
>>432788
нихуя там задание блядь на интерна
430 3433027
>>426585
Кулстори про авито,
Ходил к нам на собес на техлида команды из 4 человек. Сам я и так техлид в одной крупной продуктовой конторе.

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

такие дела.

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

>ПВЗ РЕСТ ХУЕСТ


Нахуя в это люди вообще идут? Какой-то подобный кал всю жизнь писать, я ебал.
432 3433032
>>433029
А да забыл, это всё надо писать на говне и зачем-то использовать постгрю (на тестовом задании).
433 3433041
>>432804
По времени - вечером 8-го числа прислали, дедлайн был до 14-го включительно, т.е. 5 с половиной дней, получается, а если учитывать, что расчет потенциально на занятого студня/работягу, который и стажериться не фултайм будет, то полноценных дня 3, я думаю
По поводу того, что дает выполнение - прошлое тестовое дало мне наконец посмотреть докер, поработать с бд, к этому разу я уже изучил часть подводных, если заходить +- по колено, а на этом тестовом я еще и на ходу разбирался, как опенапи спеку подкорректировать для более правильной кодогенерации, не ломая, собственно, саму схему (правда, у них там кириллица и это все равно генерило интересный нейминг, типа ProductTypeОбувь)
Жаль, прометей присобачить не успел, так была бы еще + технология, но это надо уже сейчас, в спокойной обстановке, поделать
На синьора, конечно, вдохновляет, но без опыта особо не попляшешь
434 3433057
>>433041
покажи хоть репо своё, интересно как сделал
435 3433077
>>433057
Вот(с флажком фоткаться не буду, предыдущий как-то неудачно провалился внутрь и наискось встал, не достать) https://github.com/ST359/pvz-service
Если что, обращения к бд сделаны говено (как, наверное, и все остальное, я не могу сам оценить), там точно аномалии грязного чтения и фантомов будут - я вынес проверку на существование нескольких штук в отдельные функции, но из-за сжатых сроков не успел разобраться, как контексты под транзакции прокидывать(прочитал, что что-то такое есть под схожие случаи, надо будет наверстать)
436 3433088
>>433077
У тебя твоя штука под рутом работает в курсе?
437 3433090
>>433077
почему не ddd?
почему gin а не net/http?
почему подключение к бд не в конфиге/клиенте а в репозитории?
выглядит заебись, буду разбирать, думаю дохуя для себя подчерпну
студентота?
438 3433103
>>433088
Да откуда бы мне знать, я самоучка безопытный, а на прошлое тестовое, например, фидбека и не было
Надо погуглить, я даже и не подозревал о таких моментах
>>433090
Не DDD, потому что я не знаю, как - увидел когда-то паттерн с репозиторием и в стесненных условиях его и юзаю
Gin - это одно из требований, выбора не было(хотя, наверное, если бы был, я бы все равно юзал его, потому что привычно, но привычность - единственный для меня плюс, я бы не пояснил, чем он ценен сам по себе)
Подключение к бд в репке потому что я только такой вариант и видел, у меня нет других примеров
Не студентота, я рухлядь древняя 29-тилетняя, уже был сениор-рисовакой в геймдеве
439 3433105
>>433103

>Да откуда бы мне знать


Ну так я типо на правах совета со стороны пишу.
440 3433118
>>433105
Да не, я без претензии, если что, это скорее было "ну а чего ожидать от вкатуна-самоучера", спасибо за наводку, анонче
Уже образовываюсь по этой теме, читаю стаковерфлоу, странно, что не натыкался, проблема, видимо, нередкая
441 3433128
>>433118
почему в го то решил? это же пиздец ебатория без опыта
442 3433153
>>433090
DDD это говно на палке для миддлов которые только что книжку прочитали всем известную
443 3433161
>>433077
на самом деле хорошо, давно учишь?
444 3433162
>>432946
При смене стека как раз опускаешься на уровень. Сеньер питон это максимум мидл го, это если еще хорошо гошку выучил.
445 3433206
>>433128
Кодил на змее, потом кодил на жиесе, жиес мне прямо очень не зашел, не знаю, не удалось прочувствовать, кажется, будто на небольшого старательного пацана корпораты поверх строительным степлером наклепали куски мяса, железки всякие, свистоперделки
На питоне нормуль, долгоиграющий проект(бот для дискорда), которым ежедневно 20 человек пользуется уже года 2, на нем есть, но все равно что-то немного не щелкает, хотя писать, конечно, приятно
Но как я попробовал го - мне прямо понравилось, все довольно стройно, последовательно, на нем, к тому же, меньше конкуренции(скамбокс учил народ питону, а не го), свежие проекты начинаются сейчас начинаются на нем в ощутимом проценте случаев, старые переписываются на го, да и зепки поплотнее, куда без этой части мотивации(за исключением того, что до зепки я вряд ли когда-то доберусь, лул)
А вообще сам язык будто бы не столь важен, сейчас знание языка это, как мне кажется, процентов 30-40, нужна куча сопутствующих технологий, которые, если не одинаковы, то схожи много где
Да и судя по тому, что я вижу, ебатория без опыта сейчас практически везде
446 3433220
>>433206
В питоне слишком много фич по сравнению с го, ну и языки для разных вещей, то что долбоёбы всюду суют го - не есть гут.
447 3433225
>>433161
Спасибо, приятно слышать, но я бы, наверное, оценил на уровень "час в день можно посмотреть без сварочной маски с пяти метров"
В целом программирую относительно осознанно с июня 2023(с уровня "понять, что такое классы и переменные"), но я плотно работал некодером параллельно, для изучения тогда был питон, в 2024 почти прошел бекендерский курс RSSchool с жиесом(чуть не помер, на старте жиес только дней 4-5 ковырял), и вот в этом году 16-го февраля сделал первое тестовое на гошке, получается, в нем я месяца 4
448 3433236
>>433220

>то что долбоёбы всюду суют го - не есть гут.


вот тут поподробнее, что по твоему не стоит писать на го? мимо другой анон питонист перекадчик
449 3433250
>>433236

>не стоит писать на го?


Например, ебалу с ProductTypeОбувь, которую выше анон пишет.
Что стоит писать на говне, вернее, даже переписать лол,, например, это CUPS.
450 3433258
>>433032
На чём предлагаешь такое писать?
451 3433262
>>433250
Хм, мне, напротив, думалось, что примерно для таких вещей он и разработан гуглом, не показалось чем-то противоестественным в процессе(кроме того, что столько ебалистики нужно знать на стажера)
Но, как бы оно ни было, музыку заказывают кабанычи, так и кручусь
452 3433264
>>433258
Ну всю жизнь подобное пишут на джава дрисне, почему нужно менять инструмент, который работает?
>>433262

>разработан гуглом


Для системного программирования.
453 3433276
>>433250
это я уже понял, конкретнее, что именно дает питон при написании ебалы ProductTypeОбувь что не дает го? только конкретный пример а не общие фразы типа пук среньк проще, быстрее
454 3433285
>>433264

>всю жизнь подобное пишут на джава дрисне


Так было до выхода го_вна.

>Для системного программирования


Нет, он в первую очередь для микросервисов делался, чтобы минимальный отпечаток был и собирался бинарь под разные платформы.
455 3433291
>>433276

>что именно дает питон


Я не писал про питон в этом ключе. Про питон было сказано, что он на порядок сложнее го, поскольку в нём оче много фич.
>>433285

>Нет


Засовывателя го во все дыры ответ.
456 3433292
>>433291

>Засовывателя го во все дыры


Не в ту сторону воюешь, пирожок.
457 3433293
заебали сраться, пошлите учить друг друга микросервисной архитектуре
458 3433295
>>433292
Я уже выше озвучил своё авторитетное мнение, если очередной пыникс с микросервисами и вебдерьмом в чем-то несогласен, кто я такой, чтобы заниматься образованием дебичей.
459 3433296
>>433295
Если твоё авторитетное мнение касается того, что го изначально разрабатывался для системного программирования, то это объективно неверно.
460 3433302
>>433291

>Я не писал про питон в этом ключе.


ну все, съехал с темы. По факту не важно питон, жаба, колодец...
современный бекенд это микросервисы, а микросервису нафиг не нужно развитое ООП.
461 3433307
>>433302

>ООП


Ты, конечно, охуеть додумыватель.
462 3433315
>>433162
Да с хера ли? Кто сказал, кабан кабаныч? Это развод для лохов какой-то и обесценивание знаний. Уровня "пхп не считаем за опыт" в яндексе.
463 3433322
>>433315
Объективно каким бы разработчик хорошим не был, ему слишком много вещей незнакомо и не привычно на новом языке.
А ты планируешь свичнутся в го с сохранением зп и уровня?
464 3433330
>>433315
И что тут не так? Экспертиза любой вебмакаки исчерпывается знанием ФРЕЙМВЁРКА, на котором вебмакака делает единственное, что она умеет — круды. Поскольку фреймвёрки ПеХоПе Яндекс в своих крудах не использует, ПеХоПе за опыт он не считает — зачем ему бесполезная макака, которая не приносит ВЭЛЬЮ здесь и сейчас?
465 3433334
>>432847

>гошку учу пол года


Что там учить полгода? Голанг простой язык, не раст дроченый. У меня перекат с сишарпа занял неделю с чатгпт. Если ты понимаешь, как вся хуйня работает, ты просто пишешь в промте "use postgres, use grpc, use kafka with outbox" и нейросеть генерит тебе простыню кода.
466 3433337
>>433334
По сравнению с питонов го другой подход к построению приложения. Изучаю лучшие практики, как применять патерны. Распостраненные библиотеки для работы с бд. очередями. логами. энвами и.т.д. Короче чтобы мог плюс минус так же сесть и написать сервис с минимальными подсказками.
467 3433344
>>433077
Для конектов к бд лучше юзать пул, а так все норм.
У меня бы не хватило терпения тратить неделю на такое охуевшее тестовое задание.
468 3433348
>>433337
Ты прикалываешься? Это все пишет нейросеть.
469 3433350
>>433348
как ты поймешь хорошо нейросеть написала или плохо? Например какой подход ты бы использовал для передачи пула подключений бд в обработчики запросов ?
470 3433356
>>433334

> Голанг простой язык


Это пиздёж для продвижения языка.

> нейросеть генерит тебе простыню кода


А потом начинаются утечки горутин и памяти, которые хуй отдебажишь, да?
471 3433359
>>433350
Вариант раз: глобальная переменная. Используется в 99% кода, потому что го это не джава и не надо сюда тащить энтерпрайзное безумие с AbstractProxyFactorySingletonBean.
Вариант два: параметром через замыкание. Тоже встречается.
Вариант три: обернуть бд в интерфейс и инжектить его через убер, но это уже пованивает энтерпрайзом. Прям сильно так пованивает.
Ты скажешь: а как же чистый код, ДДД, АБВГД и 100500 уровней абстракции над абстракцией? Это нахуй не надо. Юнит тесты для бизнес-логики бесполезны, лучше написать один интеграционный тест с реальной бд в докере.
472 3433361
>>433356
А ты не клади что попало в контекст и память не потечет.
473 3433395
>>433344
Спасибо
Про коннекты пулом до этого прочитал, подумал, что без пула каждый запрос будет ждать, пока освободится один единственный коннект к БД, оказалось, я не правильно понял, что такое пул соединений - изкаробки sql/db и psql и иже с ними поддерживают, судя по всему, открытие множества соединений, но это не пул, а под пулом имеется в виду заранее создать и держать некоторый запас соединений для переиспользования, без открытия новых без крайней надобности, я правильно понял? Почему-то было ощущение, что такой прикол мог бы быть абстрагирован, не думал в эту сторону
По поводу тестового - у меня и самого руки порой опускаются, одно из предыдущих тестовых в какие-то рогакопыта вообще заигнорили(благо, заняло день), и, я так думаю, это очень распространенная практика, но делать нечего, приходится учиться профессионально терпеть(более того, я каждый раз стараюсь что-то новое узнать в процессе, так хотя бы не возникает ощущение, что время потрачено совсем впустую)
474 3433421
Пару задач с сегодняшнего собеса на которых я обосрался

1. Возвести элементы в квадрат. (исходный список отсортирован)
// [-3, -1, 0, 2, 3, 10] => [0, 1, 4, 9, 9, 100]
Требуемая сложность О(n).

2. Есть журнал заселения отеля, в которых есть пары чисел - дата заселения и дата выселения, например [[1, 2], [4, 10], [3, 7]], надо узнать сколько комнат надо.

Мне кажется или сложновато для джейсоноукладчика бекендера. раньше по проще задачки были. Или вы их сейчас за секунды решите без нейросетей и скажете какой я долбоеб?
475 3433428
>>433395
Идея в том, что ты не держишь коннект со старта сервера, а берешь каждый раз новый из пула.

Промт для копилота:

write service in golang. use pgxpool. acquire new connection, start and commit/rollback transaction on each request in a separate function, then pass connection to the handler. handler is a separate function.

Код:

package main

import (
"context"
"fmt"
"log"
"net/http"

"github.com/jackc/pgx/v5/pgxpool"
)

type Server struct {
dbPool pgxpool.Pool
}

// acquireAndHandleTransaction manages connection acquisition and transaction lifecycle
func (s
Server) acquireAndHandleTransaction(ctx context.Context, handler func(context.Context, pgxpool.Conn, pgx.Tx) error) error {
// Acquire a new connection from the pool
conn, err := s.dbPool.Acquire(ctx)
if err != nil {
return fmt.Errorf("failed to acquire connection: %w", err)
}
defer conn.Release()

// Begin a transaction
tx, err := conn.Begin(ctx)
if err != nil {
return fmt.Errorf("failed to start transaction: %w", err)
}

// Execute the handler with the connection and transaction
if err := handler(ctx, conn, tx); err != nil {
// Roll back the transaction in case of error
if rollbackErr := tx.Rollback(ctx); rollbackErr != nil {
return fmt.Errorf("rollback error: %v (original error: %w)", rollbackErr, err)
}
return err
}

// Commit the transaction
if commitErr := tx.Commit(ctx); commitErr != nil {
return fmt.Errorf("failed to commit transaction: %w", commitErr)
}

return nil
}

// standaloneHandler is the request handler function
func standaloneHandler(ctx context.Context, conn
pgxpool.Conn, tx pgx.Tx) error {
// Perform transaction operations
_, err := tx.Exec(ctx, "SELECT now()") // Example operation
if err != nil {
return fmt.Errorf("transaction operation failed: %w", err)
}

fmt.Println("Transaction operation succeeded")
return nil
}

func (s Server) httpHandler(w http.ResponseWriter, r http.Request) {
// Use acquireAndHandleTransaction to manage transaction lifecycle
err := s.acquireAndHandleTransaction(r.Context(), standaloneHandler)
if err != nil {
http.Error(w, "Transaction failed", http.StatusInternalServerError)
log.Printf("Error handling request: %v\n", err)
return
}

// Response upon success
w.WriteHeader(http.StatusOK)
fmt.Fprintln(w, "Transaction succeeded")
}

func main() {
// Database connection configuration
dbURL := "postgres://username:password@localhost:5432/dbname"

// Create a connection pool
dbPool, err := pgxpool.New(context.Background(), dbURL)
if err != nil {
log.Fatalf("Failed to create connection pool: %v\n", err)
}
defer dbPool.Close()

// Start the HTTP server
server := &Server{dbPool: dbPool}
http.HandleFunc("/", server.httpHandler)

log.Println("Server is running on :8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}
475 3433428
>>433395
Идея в том, что ты не держишь коннект со старта сервера, а берешь каждый раз новый из пула.

Промт для копилота:

write service in golang. use pgxpool. acquire new connection, start and commit/rollback transaction on each request in a separate function, then pass connection to the handler. handler is a separate function.

Код:

package main

import (
"context"
"fmt"
"log"
"net/http"

"github.com/jackc/pgx/v5/pgxpool"
)

type Server struct {
dbPool pgxpool.Pool
}

// acquireAndHandleTransaction manages connection acquisition and transaction lifecycle
func (s
Server) acquireAndHandleTransaction(ctx context.Context, handler func(context.Context, pgxpool.Conn, pgx.Tx) error) error {
// Acquire a new connection from the pool
conn, err := s.dbPool.Acquire(ctx)
if err != nil {
return fmt.Errorf("failed to acquire connection: %w", err)
}
defer conn.Release()

// Begin a transaction
tx, err := conn.Begin(ctx)
if err != nil {
return fmt.Errorf("failed to start transaction: %w", err)
}

// Execute the handler with the connection and transaction
if err := handler(ctx, conn, tx); err != nil {
// Roll back the transaction in case of error
if rollbackErr := tx.Rollback(ctx); rollbackErr != nil {
return fmt.Errorf("rollback error: %v (original error: %w)", rollbackErr, err)
}
return err
}

// Commit the transaction
if commitErr := tx.Commit(ctx); commitErr != nil {
return fmt.Errorf("failed to commit transaction: %w", commitErr)
}

return nil
}

// standaloneHandler is the request handler function
func standaloneHandler(ctx context.Context, conn
pgxpool.Conn, tx pgx.Tx) error {
// Perform transaction operations
_, err := tx.Exec(ctx, "SELECT now()") // Example operation
if err != nil {
return fmt.Errorf("transaction operation failed: %w", err)
}

fmt.Println("Transaction operation succeeded")
return nil
}

func (s Server) httpHandler(w http.ResponseWriter, r http.Request) {
// Use acquireAndHandleTransaction to manage transaction lifecycle
err := s.acquireAndHandleTransaction(r.Context(), standaloneHandler)
if err != nil {
http.Error(w, "Transaction failed", http.StatusInternalServerError)
log.Printf("Error handling request: %v\n", err)
return
}

// Response upon success
w.WriteHeader(http.StatusOK)
fmt.Fprintln(w, "Transaction succeeded")
}

func main() {
// Database connection configuration
dbURL := "postgres://username:password@localhost:5432/dbname"

// Create a connection pool
dbPool, err := pgxpool.New(context.Background(), dbURL)
if err != nil {
log.Fatalf("Failed to create connection pool: %v\n", err)
}
defer dbPool.Close()

// Start the HTTP server
server := &Server{dbPool: dbPool}
http.HandleFunc("/", server.httpHandler)

log.Println("Server is running on :8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}
476 3433438
>>433421

>Требуемая сложность О(n)


Как блеать?! У квиксорта NlogN

>журнал заселения отеля


Отсортировать по первой цифре. Идем по списку, на каждой итерации делаем счетчик +1. Если начало текущего интервала больше конца предидущего, делаем счетчик -1. Сложность NlogN из-за сортировки.

Вообще конечно пиздец. Ни слова про пулы и аутбоксы, дрочи литкод, литкод сам себя не подрочит. Потом получается яндекс маркет.
477 3433445
>>433428
Занятно, еще не видел такого, хотя в одном из тестовых даже pgxpool юзал(но так, наугад, без особого понимания, следуя требованию), спасибо
478 3433460
>>433438

>Как блеать?


С помощью алгоритма two pointers. ну как такое можно не знать?!

>Ни слова про пулы и аутбоксы


ага, по теории поверхностно поспрашивал, зато с этим говном чуть ли не пол собеса мурыжил.
479 3433463
>>433421
Элементы в квадрат я бы возводил с двумя указателями, отыскав для начала самое маленькое число в абсолютном значении, т.е. там получится 2n в худшем случае, что, вроде как, считается O(n)
Нашли число, возвели в квадрат - ставим на него два указателя - шагаем влево и вправо(с соответствующими условиями, чтобы не выйти за пределы списка и чтобы в нужный момент "выключить" указатель, который уже уперся в край и отдал число под собой)- сравниваем числа под указателями в абсолютном значении - меньшее возводим в квадрат и ставим в результат - двигаем указатель и т.д.
Вторая задачка - анон выше, вроде, решил, я бы не догадался на ходу
480 3433502
>>433460

>two pointers


Лол и правда. Туплю.
Осталось выяснить, нахуя это надо для шараги уровня ламода. Совсем обезумели со своим карго культом.
481 3433582
завтра собираемся в дискорд и решаем литкод
после этого идём изучать DDD и микропенисы
положняк ясен?
всем быть, добровольно-принудительно
482 3433769
>>433582
А паттерны? Паттерны забыл! Я когда изучил паттерн "Сратель" всегда стал срать за O(1) даже если съел n дошиков.
483 3433803
>>433769
Ты — живой пример паттерна "Наёбыш".
484 3433806
>>433769
Это не го вей. В го ты сначала лепишь из глины свой унитаз, потом садишься срать.
485 3433844
>>433090

>ddd


Что ты под этим имеешь в виду?
486 3433887
>>433844
парадигма проектирования и разработки
487 3433892
>>390005 (OP)
Посоветуйте плиз годных книг и ресурсов для изучения DDD и микросервисов.
488 3433895
>>433892
через часик заходи в дискорд я тебе расскажу
открою первую ссылку в гугле и мы будем разбираться что это за хуйня
а по факту - https://www.youtube.com/watch?v=VyUGi8_n66A неплохая но обзорная, начни с неё
489 3433935
>>433887
Ну как расшифровывается?
490 3433938
>>433935
Погугли или у ЛЛМ спроси.
491 3433946
>>433938
Пиздец пидор гнойны, первая буква - это data или domain? Я откуда должен знать, что ты там у себя пидорской голове думаешь.
492 3433948
>>433946
домейн, конечно же
493 3433965
>>433948
Тогда это ненужная хуйня для гнойных пидоров от пидораса фаулера. Вебмакакичам норм должно зайти.
494 3433971
>>433965
бигтех (а golang только там) требует ddd
если сильно пизданутые - ещё и clean architecture
щитоподелать, корпоративный код такой корпоративный
495 3435330
хули молчите то? давайте, делитесь знаниями по ddd + микросервисам
496 3435368
>>435330

>ddd


Пусть это говно останется в джаве, иначе скоро придется выкатываться из голенга в раст.

>микросервисам


Задавай вопросы.
497 3435521
>>435368
а как же проектирование и организация кода без ддд?

>Задавай вопросы.


какой наиболее популярный (а значит правильный и единственный/неповторимый) способ JOIN'а данных в микропенисах?
запрос к бд1 -> получение сущности где есть атрибут FK -> передача FK через кафку (Достаточно ли её скорости для этого, или, например, вебсокет будет лучше?) -> запрос к бд2 -> склеивание получившегося результата из 2 сущностей - это хороший подход или не особо?
498 3435797
>>435521

>а как без ддд


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

>как пукать


Какую задачу ты решаешь, посылая этот fk через кафку?
мимо
499 3435811
>>435521

>способ JOIN'а данных в микропенисах


Ты только что распределенный монолит. Так часто пишут новички, которые воспринимают слово "микросервис" буквально, а не как маркетинговый пиздежь. Правильно - это объединить эти два микросервиса в один и делать джоин внутри бд.
Алсо кафка - это входящий буфер, когда у тебя 100500 датчиков долбятся в одну ручку. Масштабирование на запись. Не надо пересылать сообщения через кафку, надо писать саги.
500 3435826
>>435811

>Не надо пересылать сообщения через кафку, надо писать саги.


А я сунул кафку прямо в домен без портов-адаптеров как шину событий и заебись.
501 3435970
>>435797

>структуру гошного проекта


Это (https://go.dev/doc/modules/layout) или (https://github.com/golang-standards/project-layout)?
Про дрочении на слои и дип знаю, поэтому сейчас без задней мысли делю всё на model/router/handler/service/repository, но это не go-way, как я понимаю?

>Какую задачу ты решаешь, посылая этот fk через кафку?


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

>как шину событий и заебись


Думал она для этого и нужна, лол

>а не как маркетинговый пиздежь


Что не так с микропенисами? Для себя вижу 2 плюса:
1. Можно набрать любых бомжей с улицы для разработки - бизнес выигрывает от этого
2. В случае отъёба одного микропениса, остальные продолжают работать

Есть у кого пример типовой крудопараши на пару сущностей, которой вы можете поделиться?
502 3435993
>>435970

>делю всё на model/router/handler/service/repository, но это не go-way, как я понимаю?


Почему? Просто засунуть их в internal/ и сразу всё go-way
503 3436202
Вкатываюсь в Го, хочу написать api небольшое с базой данных и jwt токенами. Какую библиотеку взять в качестве основы? Щас сделал на mux по туториалу, но туториалу уже 6 лет. Какую библу взять для бд? только не орм не предлагайте, хочу писать sql
504 3436214
>>436202
открываешь cursor и копируешь туда свой пост
505 3436216
>>436214
AI хуетой пользоваться не хочу
506 3436225
>>436216
Это литерали задача для нейросети.
507 3436227
>>436225
Согласен, задача тривиальная, но моя цель изучить язык, поэтому без нейросетей
508 3436238
>>436227
Тогда какая разница, какие либы взять? Любые. Всё равно руками эти имплементации не пишут уже. Взял модель, взял интерфейс, и пусть курсор ебашит. Шаблоны учи и архитектуру, чтобы промты правильно задавать.
509 3436252
>>436238
Не знаю, как курсор в работе, но сайт у них тормозит просто пиздец. Такая-то реклама АИ кодинга, лол. Еще эту хуиту надо ставить на комп, а копилот работает из браузера. Я использую копилот для генерации кусков кода как образец, потом подгоняю их под проект, чисто на одном промте все сделать не получится.
image.png490 Кб, 736x721
510 3436301
Сложно ли вкатиться в Го со знанием сишки? Если я напизжу работадателю что знаю го, то потом не сложно будет его освоить.
511 3436553
>>436252
Про сайт курсора удваиваю, лагает просто пизда
512 3436559
>>436301
Челибос, добавь libmill и какую-нибудь либку с gc и вот ты уже на го пишешь лул.
image.png299 Кб, 736x736
513 3436571
>>436559
пасибо. тогда буду смело пиздеть. всё равно я так посмотрел по собесам - знание языка это последнее что спрашивают, везде спрашивают именно про технологии всякие
514 3436575
>>436571
А да вспомнил тут одну тему в 2020 вызвало бурление говн на тему собесов и знания говна: https://habr.com/ru/companies/oleg-bunin/articles/521582/
Почитай.
515 3436587
>>436238
Ты сломал все мои шаблоны. Я думал что на бэке крудошлёпством занимаются, собсно сам это и делал на ноде с пет проектами. Что же делают прогеры на бэке если не крудошлёпят?
516 3436591
>>436587

>Что же делают прогеры на бэке если не крудошлёпят?


Пока кабаны не прочухали – работают час в день, суют промты в курсор и не глядя кидают пр.
517 3436731
>>436575

>до меня добираются только резюме интересных кандидатов


Классика. Сначала тупые пезды отбирают улыбчивых волчар, потом лид в ахуе от кандидатов. Оставшиеся за бортом прекрасно знают и про алгебраические типы, и про утиную типизацию, но один из них был хмурый, второй проработал на одном месте 6 лет, третьему за 40 - красный флаг нет пути.
image185 Кб, 663x658
518 3436773
>>396537
Держи котика, анончик. Больше у меня пока нихуя нет.
image379 Кб, 995x1244
519 3436792
Анон, дай советов мудрых.

Мечтаю создавать свои проекты в web и около того. Есть несколько идей. Изучаю Петухон, нравится, получается. Но смотрел обзоры и сравнения - Го намного шустрее, даже чем даже FastAPI.

Как думаешь, хорошая идея не бросать Пиструн, а просто параллельно изучать Гошечку и юзать оба? На Пиструне сделать упор на анализ данных и простенький ML с шансом в рост. А на Го - всё остальное.
Нормальный план или хуйня?

Устраиваться на работу не мечтаю, потому что меня и так не возьмут. Упор на реализацию своих проектов, о которых давно мечтаю. Фронт пока отдам нейродебилам, незамысловатые вещи они делают вполне нормально, а потом может быть друга или компаньона найду на фронт.
520 3436797
>>436792
Твои проекты хайлоад? Ответ очевиден: если делаешь для себя, то пиши на том, что нравится. К конкретному языку привяжешься, если решишь на работу вкатиться, да и то выбирают по зепкам, а не потому что какой-то язык "лучше" другого, это холивары для даунов.
521 3436800
>>436797

>Твои проекты хайлоад?


Да, как минимум в теории. Я пробежался галопом по Го, на первый взгляд приятный язык.
522 3436809
>>436800
Ого, уважаемо. Тогда добро пожаловать
523 3436812
>>436731
Да там чисто набросочная тема, но так чисто для себя вопросы ок.

>тупые пезды отбирают


Согласен, баб нельзя допускать до серьёзного дела, слушать их тоже не надо, только во вред.
524 3436814
>>436792
Го - это параша как язык, писать на нём для души нет смысла, только если за деньги.
525 3436834
>>436809
>>436800
мужики аккуратнее работы НЕТ если у тебя нет опыта работы
526 3436836
>>436834
Факт. Ну так надо писать, что есть.
527 3436844
>>436836
откуда/как набраться знаний на мидла?
ну вот у меня получается создавать туду листы, я джун или ещё нет?
если да, то как стать мидлом?
528 3436856
>>436834

>работы НЕТ если у тебя нет опыта работы


Так я и не ищу работу для Go. Я хочу сделать своё. Будет это коммерчески успешным или нет - мне не слишком важно, точнее я об этом не думаю. Я просто чувствую, что должен. Поэтому подыскиваю подходящий инструментарий.
529 3436965
>>436844
Влететь на мидла по ГПХ. Уволят после месяца-двух, но когда влетишь второй раз, уже будешь в курсе.
530 3436969
>>436965
так там же на собесе всё сразу поймут, что я нихуя не знаю как ведётся настоящая разработка
531 3436972
>>436969
Собесы на го одинаковые как под копирку, везде одни и те же вопросы. Несколько раз сходишь и будешь пиздеть как сеньор
532 3436976
>>436792
Питон + джанго хорош для быстрой разработки. Если хечешь сделать в одно рыло проект, то лучше связки не найти. Там и фронтенд не нужен, в джанге есть свой шаблонизатор.

Го стоит брать когда высокие нагрузки и архитектура микросервисная. Пока у тебя нет 1000 запросов в секунду к твоему сайту про Го можешь и не думать. Смысла нет распылять силы на 2 языка.

мимо питонист изучающий го.
Анонимный кот в пакете.mp42,7 Мб, mp4,
504x720, 0:14
533 3436999
>>436976

>мимо питонист изучающий го.


Можешь подкинуть материалов? Где и как учишься, может книжки какие, курсы-шмурсы?
Добра тебе заранее.
534 3437009
>>436999
Лучше Донована ничего нет + практика.
пуксреньк.mp41,3 Мб, mp4,
1920x1080, 0:01
535 3437013
>>437009

>Лучше Донована ничего нет


Не было. 10 лет назад.
536 3437171
>>436800

>в теории


Если рпс не 100к, то нах вообще парится о скорости языка
537 3437348
>>436976

>Го стоит брать когда высокие нагрузки и архитектура микросервисная. Пока у тебя нет 1000 запросов в секунду к твоему сайту про Го можешь и не думать. Смысла нет распылять силы на 2 языка.


Или пишешь системный сетевой софт ВЕБЧИК ПО УСБ https://github.com/OpenPrinting/ipp-usb
image.png56 Кб, 655x358
538 3437362
Есть такое тестовое на джуна.
Проблема - я нихуя не понимаю, что я должен сделать.

>получать результаты работы задач


Понимаю, что тестовое на проверку работы с горутинами и context.WithTimeout()
Но нихуя не понимаю, что делать дальше. time.sleep насовать как имитацию бурной деятельности или как?
539 3437445
>>437362
От тебя хотят вебхуки или хотя бы ручку, по которой можно запросить статус процессинга и результат.
Для тестов да, time.sleep?
540 3437451
>>437362
ну сделай отдельный пакет таск. там структурку Tasks и методы для нее: добавить задачу, получить статус задачи, отменить задачу, получить результат работы задачи.

ну и главный метод Ран который будет в бесконечном цикле брать задачи из очереди и запускать горутины. Еще предусмотри настройку макс задач параллельно.

Еще один пакет api в котором будет стандартное рест апи гошное. Ну а в пакете мейн просто вызовешь в отдельной горутине таск Ран и ниже свой апи сервис.

Имитировать работу тайм слип.

Не кислое тестовое на самом деле, это в какой конторе такое дают?
541 3437682
>>437362
Вот тебе промт для копилота:
write service in golang. service runs long tasks in a gorutine. use map and RWMutex to store task status. write endpoint to launch a new task. write endpoint to check task result by id.
542 3437730
Сап! Поделитесь опытом, кто хранил строки в синк пулле. Моя приложулька просто подыхает от невероятного количества аллокаций. Переиспользую все что можно переиспользовать. Кроме строк. Как их переиспользовать и не обосраться феерически?
543 3437750
>>437730
Хуйня конечно будет, потому что ты можешь только слайсы байт в пуле хранить и надеяться, что длины хватит. Но всё равно будет аллокация при конвертации в строку.
От конвертаций можно избавиться, если через рефлексию вытаскивать/создавать указатели на строки и работать с ними как на си, аренку собрать можно.
544 3437753
>>437750
Не, а если через unsafe? Делаешь байтики, пишешь в них что-нибудь. Дальше делаешь вот такую операцию (string)(unsafe.Pointer(&b)), чтобы получилась строка. Сбрасываешь длину слайса байтов и давай по новой.
545 3437758
>>437753
Так это и есть через unsafe, только тебе рефлексия + unsafe нужны. (string) работает над слайсом байт или рун, не над голым указателем (хотя я не пробовал конечно)
546 3437765
>>437730
Поделись, ради интереса, что у тебя за приложуха такая и какая нагрузка на нее, что тебе приходится так извращаться с оптимизациями?
547 3437799
>>437765
RTB-аукцион. На каждую ноду влетают тысячи запросов в секунду 24/7. Нишевые базы данных, огромное количество алгоритмов фильтрации трафика, нейронные модели. И всё это на каждый запрос.
548 3437809
>>437799
Может пришло время масштабировать систему, а не вешать весь трафик на один сервер? Суровое байтоебство актуально только в ембеде, где физически не засунешь в ракету больше железа. В клауде просто ставишь рядом еще одну стойку. Это дешевле, чем дрочить байты и в итоге все равно обосраться
549 3437811

>обычный консольный viewer для md файлов, твои зависимости https://github.com/charmbracelet/glow/blob/master/go.mod


>йоба-вебсервер nginx для сборки нужны openssl, zlib, pcre


Почему так нахуй, когда го свернул не туда?
550 3437812
>>437730
Не храни строки, храни байты.
Т.е. если прям совсем хочешь упороться по перфомансу храни слайсы массивов байт. Тебе пришла строка, скорее всего она будет UTF-8. Ты берешь из пула N массивов стандартной длинны M и пишешь туда строку и всё это пихаешь в свой кастомный тип. Ну и для этого типа надо реализовать базовые операции: сериализация в жсон, запись в лог и т.п. При деаллокации твоего объекта возвращаешь строки в пул или метод Close() возвращает строки в пул, последнее предпочтительней.

>>437809
Лейтейнси так забороть можно только на очень жирных серверах. Где памяти будет на порядок больше чем в текущем, так чтобы ГЦ вызывался очень редко.
551 3437814
>>437730

>Моя приложулька просто подыхает от невероятного количества аллокаций.


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


Вангую тут бы просто зарешал незумероподход на одном современном CPU.
552 3437818
>>437799
Я чот такое видел только во всяком hft, но там один C++ кругом.
Не уверен, что думаю, что на ебле со строчками ты мало что выиграешь в перфомансе. Про unsafe тебе сказали, можешь еще в C-биндинги и CStrings копнуть, всяко попроизводительнее будет чем гошный string.
553 3437847
>>437753
>>437812
>>437818
Аноны вы в какой сфере таких знаний набрались? Дрочу ваще ойти уже почти два года, но ощущуение такое что предела нет. Что учить чтобы знания в ойти полезными были?

Для себя выделил полезными знания в области компьютерных сетей, адресация, сетевые протоколы
554 3437848
>>437847
Тебе нужны просто знания или полезные знания? Если просто знания иди учи свои сетевые протоколы. Если нужны полезные знания тебе нужно решать проблемы бизнеса.
Крик отчаяния.mp4430 Кб, mp4,
720x720, 0:07
555 3438299
>>437847

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


Такая же хуйня, бро. Только думаю, что захватил хотя бы основы, хотя бы половину основ, но нет - незнаком буквально КАЖДЫЙ НАХУЙ ТЕРМИН.
Такое ощущение, что нейронка в которой я нахожусь просто издевается надо мной: только-только продвинусь, она на ходу выдумывает целую гору непонятной хуйни, превращая всё это в снежный ком.
кролик играет на коте.mp4558 Кб, mp4,
720x716, 0:08
556 3438307
Есть кто делает фронт из под go?
Делают стартапик помочь некому, а сам лезть в js не нахожу в себе сил и жизненных способностей.
Или это тухлая тема и все равно придется выдрочить хотя бы базовый js с реактом?
557 3438330
>>438299
Идёшь и гуглишь каждое слово ебаное.
Но вообще самое верное кмк - искать любую работу за дошираки лишь бы начать решать реальные задачи. В офис ходить КРАЙНЕ желательно. Иначе охуеть можно.
558 3438336
>>438307
Шаблонизатор templ гугли, там js не нужен
559 3438361
>>438330

>искать любую работу за дошираки лишь бы начать решать реальные задачи


да я блять сам дошираки готов давать только возьмите на работу
мимо магистрант 1 курс нет опыта нет работы пиздос
560 3438533
>>438307
Реакт пишет нейросеть.
561 3438573
Господа, просите за нубские вопросы. Если я хочу делать Андроид и иОС аппки к моему веб-приложению, у которого уже готова вся инфраструктура, то в какую сторону мне смотреть?
Я хочу сделать так - создать какую-то фронт апку, вся логика которой будет на api, а в телефоне чисто визуальная болванка. Как реализовать, куда смотреть?
562 3438585
>>437847
Писал лоу лейтенси трейдинг в банке. Потом в телекоме процессинг кол рекордс.

Но вообще у Го хуевый ГЦ. У джавы лучше.
563 3438598
>>438585

>у Го хуевый ГЦ


Что такое ГЦ?
564 3438609
>>438598
Городской Центр
565 3438610
>>438598
garbage collector
566 3438622
>>438585

>лоу лейтенси трейдинг


>на го



Да где такое пишут-то? Я что не видел - один C++ везде. Перфоманс, лок-фри, ручное управление памятью, вся хуйня.
567 3438632
>>438622
Переписал лоу-лейтенси сервис с крестов на го. Полёт нормальный.
568 3438634
>>438632
Я в основном трейдинг и hft подразумеваю.

>с крестов на го



Ядро/МТС что ли какое нибудь?
569 3438788
>>438622

>>на го


>Да где такое пишут-то?


Так он и не на го был, а на джаве. Но подходы к уменьшению гц одни и те же. один немецкий банк
147534170437a92202e6ab.jpg144 Кб, 1024x768
570 3438894
Накидайте тестовых заданий по гошке. Хочу практиковаться.
То, что чуть выше анон скидывал уже сделал.
571 3438941
>>438894
Покажи для начала что сделал.
572 3439043
>>438941
Кек, сам делай свое тестовое.
image120 Кб, 500x624
Есть вопросик 573 3439085
GOспода, ну вот вы пишите свой пердолинг на гошечке, тут всё понятно. А бизнес-логику на чем пишите, тоже на нем?
574 3439087
Кто нибудь релоцировался в ЕС(не Кипр) на гошке?
Какие компании в принципе из тех кто еще готов делать visa sponsorship - используют go?

Подумываю уже обратно на джаву камбекаться, все немецкое ойти почти на нем написано походу.
575 3439110
>>439085
Конечно на нём, а что?
image689 Кб, 585x944
576 3439132
>>439110
Но ведь бизнес-логика может быть очень сложной и запутанной. Причем с постоянными изменениями и упдейтами от кабана. Декораторов нет, ООП нет... Нет, я не спорю, без них можно обойтись вполне, но мне кажется, что именно бизнес-логику писать на Go, особенно поддерживать ее - это такое себе удовольствие на любителя обмазываться говной. Пруф ми вронг.
577 3439142
>>439132
Дык лучше это делать на го, где значительно меньше лишних абстракций, чем, например, в джаве, шарпе и современных плюсах.
578 3439146
>>439132
Кейс-бай-кейс, братан. Здесь нет смысла рассуждать сферовакуумными теориями. Го не может плохо подходить под требования конкретного бизнеса – ну ок, пусть пишут на другом.
Но кмк такие ситуации исключительно редки, скорее просто архитекторы говно. Вон все маркетплейсы на Го сидят, уж где может быть ещё больше постоянных апдейтов от кабана с требованиями сделать всё позавчера.
579 3439149
>>439146

>Го не может плохо подходить


Го может, конечно
фикс
580 3439165
>>439132

>Декораторов нет


Передача функции как аргумента в другую функцию чем тебе не декоратор

>ООП нет


В микросервисах ООП не нужно особо, там копмозиции хватит. А большие сложные монолиты уже стараются не делать.
581 3439217
Нахуя было добавлять логер в стандартную библиотеку если в нем даже уровней логирования нет? Это даже звучит абсолютно
582 3439240
>>439217
Ну так пользуйся тем, в котором есть уровни логирования. В чём твоя проблема?
import "log/slog"
583 3439310
мужики, поясните
подал резюме, написал проджект менеджер, начал сразу спрашивать про желаемую зп, тестового нихуя не было
это норм или чё за хуйня вообще?
мимо без опыта работы
Пистон восторг.webm8,3 Мб, webm,
640x360, 1:03
584 3439314
>>439310
Говори, что готов работать бесплатно просто за предоставляемое тебе право убираться в офисе после работы.

GOвна уже слишком много - бигтех раздул хайп вокруг GO до такой степень, что даже дристуны, которые не видели на своих проектах и 10k rps начали срочно переходить на GO. Мне постоянно реклама с goвно-курсами и goвноменторством идет. Как в 2021 в Пиструном.
585 3439330
>>439314
такой диалог произошёл
image47 Кб, 700x466
586 3439347
>>439330
Наверное это нормальный диалог. Он(а) явно изменяет тебе с другими собеседует и других кандидатов, чтобы потом кабанчику предоставить отчет, как много и тяжело он(а) работал(а).

Можешь пожалуйста поделиться инфой как ты изучал Go. Что читал, какие курсы, что смотрел. Из того, что считаешь годным, кроме го тутор конечно.
image.jpg78 Кб, 700x463
587 3439349
>>439314
поздно, мы уже перекатываемся в гошку из своих перегретых петуховенов\пхпись. А кончится гошечка станем педерастерами
588 3439351
>>439347
миллионы видосов на ютубе - мастхев, русские очень годно пилят контент по голангу, советую Николая Тузова и в принципе всех нищеёбов с 500 подписчиками
Алсо, ChatGPT ОЧЕНЬ хорошо рассказывает про голенг, просто охуенно
Если можешь в ангельский - пирать курс (fulltimegodev) от AnthonyGG и смотри его видосы на ютубе, их там дохуя, он конечно в край ебанутый - но годный мужик
589 3439356
>>439351
>>439347
алсо, читал - Джон Боднер - Идиомы и паттерны проектирования Golang
хуйня/10, для новичка нихуя не понятно
590 3439359
>>439132
К сожалению, ооп не сильно помогает со сложной логикой. По моему опыту, люди сверху только своих выдумок добавляют в проекты.
591 3439365
>>439351

>советую Николая Тузова


Этот питуз вечно впрягается за жидбрейнс и банит всех, кто хоть что-то в их сторону не положительное скажет. И хвалится тем, какой он казах крутой.
Тоже ебанутый, короче.
592 3439367
>>439365
про мапу и планировщик он заебись объяснил %%мапу после этого видоса поменяли, если не ошибаюсь)

>жидбрейнс


залупа, на время обучения их автокомплит = хуета, на работе - заебись
а ещё у них тема говно пиздец, а новый ui вообще до связи
593 3439372
>>439367

>залупа, на время обучения их автокомплит = хуета, на работе - заебись


На чем пишешь? VSCode?
594 3439376
>>439372
конечно
во время обучения - заебись, заставляеть писать код самому + самому запускать
595 3439391
>>439110

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


Просто приходится много писать, много похожего кода. Зато он достаточно прямолинейный и читается легко. Хотя конечно надо следить за чистотой кода и чтобы не злоупотребляли интерфейсами.

Но в целом >>439146

>Кейс-бай-кейс, братан.


прав. Случаи бывают разные, что за система, что за разрабы и т.п.
596 3439407
>>439391

>Зато он достаточно прямолинейный


Статическая типизация гораздо глубже влияет на код чем может показаться вначале.

Она не только следит за типами но еще и мешает писать универсальный Goвнокод который потом фиг поймешь\изменишь.
597 3439433
>>439407
Да уже дохуя вкатилось петухов, которые требуют от других писать на дженериках.
598 3439553
>>439433
Что плохого в дженериках? Просто не надо везде хуярить T any, а интерфейс в констрейн ставить
599 3440818
>>435521

>какой наиболее популярный (а значит правильный и единственный/неповторимый) способ JOIN'а данных в микропенисах?



никак
микропенисы должны быть отдельными bounded context как говорят в твоем любимом ддд
то есть никаких транзакций и джоинов между баундед контекстами
601 3441089
>>440818
один микропенис работает с пользователями, другой с заказами
как найти заказы определённого пользователя тогда?
602 3441174
>>441089
В смысле - как?
Дергаешь из 1 сервиса 2ой по user_id ручку getOrders - получаешь заказы юзера. Во 2 сервисе заказы лежат в БД в привязке к юзеру.
image971 Кб, 1516x790
603 3441273
>>441089
Бро, даже я, будучи макакой рудералис, понимаю. А ты точно программист?
604 3441292
>>441174
вот меня именно передача user_id в другой сервис интересует
kafka как шина событий? банальный запрос по rest? websocket нахуй?
>>441273
я токо вкатываюсь, обещаю разобраться и понять
605 3441296
>>441292
От сценария зависит.
Если что-то типа "юзер заходит на страницу посмотреть свои заказы" - то зачем тебе асинхронное API? Шлешь обычный http запрос на свою ручку в сервис который занимается заказами - он делает выборку по user_id из таблицы заказов и отдает в ответ.

Асинхронное API нужно для каких-то операций которые занимают длительное время, могут выполняться в фоне и которые можно и нужно ретраить по необходимости.
606 3441517
>>441292
Пишешь сагу, которая параллельно вызывает UserService.getUser(userId) и OrderService.getOrders(userId)
Сервисы UserService и OrderService ничего друг про друга не знают.
Шина событий не нужна, это неправильная архитектура.
Смех (5).mp41,9 Мб, mp4,
1280x720, 0:22
607 3442187
Тред говноедов-анальников в рабстве у бигтеха.
Расходники, сосите хуй своего биг-кабана. Если получится попасть к нему в анальное рабство конечно, 99% будет оббивать пороги, проходя бесконечные собеседования.
608 3442344
>>442187
А что так бомбишь, мань? Не позвали даже на скрининг?
609 3442407
>>442187
Как же бомбит у настоящего-хардваре-с++-программиста из НИИ радиотехники (50к/мес до вычета НДФЛ)
610 3442499
>>442187
Устроюсь в Яндекс доставщиком, потом дорасту до разработчика, главное себя хорошо зарекомендовать! Ну и что, что зарплата не намного выше будет!? Зато строчка в резюме!

Кстати, а если реально курьером в яшку вкатиться, а потом трудовую показывать на собесах прокатит или они там записывают четко "яндекс еда ооо я не лох"?
611 3442742
>>442499
Куры вообще самозанятые, какая нах трудовая
612 3443301
Есть смысл покупать IDE от житбрейнс для го?

Съежаю с динамико-дресни, нормальная навигация в редакторе по ast дереву в рантайме строится, альтернатив IDE по качеству нет.

Го (к счастью, или нет) не динамически-типизируется, vs сode справится с выводом типов и переходам по классам по клику на имя мышой?
613 3443323
>>443301
Современные IDE нужны не для кода. С ним теперь даже блокнот справится. Ты же будешь работать с базами, апи, кэфкой, монгодиби, правда? Вот для этого и нужен жидбрейнс.
614 3443327
>>443301
В го другая философия, тут нет ебучих патернов и адаптеров над адаптерами. Ты просто пишешь код, который просто решает задачу без AbstractProxyFactoryDecoratorBean говна. Поэтому тут и навигация по коду особо не нужна, достаточно раскраски. Я даже отладчиком не пользуюсь, пишу интеграционные тесты на питоне и fmt.Println в консоль.
615 3443335
>>443327

>Я даже отладчиком не пользуюсь


Ебать, ты чорт
616 3443350
>>443323
>>443327
Понял, попробую.

>>443323
Пукать сообщениями в кролика привык через админку, селекты и /dt+ через сосноль, зачем нужен житбрейнс для протобафа и прочей графдракуэльщины не поня - через makefile локально в одну команду разворачивать тулзы тупо удобно и не тормозит.

Дебаг прода - будет интересным экспириенсом, умею в сосноле на серваке переопределять и вертеть кодом как надо.Тут динамико-параша отличается от компилируемых яп, ну а хуле обезьяна палку научилась держать и я научусь работать с го.
617 3443382
>>443301

>покупать IDE от житбрейнс


Ты имеешь в виду есть ли смысл качать с гитхаба скрипт который сбрасывает раз в месяц триальный период? Впринцепи да, идешка удобная.
618 3443452
>>441517

>Пишешь сагу, которая параллельно вызывает UserService.getUser(userId) и OrderService.getOrders(userId)


сага это транзакция
какие нах транзакции на рид запросы )0)0
619 3443711
Стоит ли брать обучение по гошке от Пантеллы? хоть и пиздюк но видно шарит за программирование
620 3443794
>>443711
инфоцигане заебали синтаксис продавать
621 3443809
>>443711
Маньтела, разлогинься
622 3443832
>>443711
Стоит
Оформил вкат миддлом в озон в команду склада с 0 месяц назад при чем учусь с начала года
623 3443835
>>443832
мань кыш отсюда, сейчас нейронка лучше тебя проконсультирует по любому вопросу бесплатно и мгновенно.
624 3443840
>>443711
Выглядит как омежное чмо с двача, только по губам бы ему провел.
625 3443880
>>443711
Ахах это же тот додич, что рассказывал как он в Сбер на го залетел и говнокодил там с нейросетями пока его не турнули. А теперь свой курс сделал и лохов ищет.
626 3443892
>>443711
Нахуй не нужен. Волчонок или сам в состоянии найти себе материалы, или пусть пиздует класть асфальт.
Стикер512x512
627 3443951
Ха-ха-ха! В этом unterprogrammiersprache декодер AES не умеет убирать паддинг!

Вспомните это когда в следующий раз будете псить на джаву, шарп, питон, пыху.
628 3443955
>>443951
Ещё не анмаршалит XML файлы в кодировке windows-1251, ну как же так, что за язык говнище, пойду шарпом обмажусь
629 3443967
>>443955

>маршал


йоу бич маршал матерс ин да хаус биииич
630 3444027
>>443711
У меня так знакомая купила курс: "перевод рациона кота на натуралку" за 7300 рублей. То есть буквально курс как начать кормить кота свежим мясом, блять. На 7300 рублей можно было купить 10кг отличной говядины, но нахуя, лучше курс от инстапизды купить.

На натуралку так и не перевела

Ещё недавно увидел курс диджея на радио. Всего лишь 54900 рублей. Вся суть курсов что они не помогут. Замотивировн? Рутрекер, телега и llm в помощь.
631 3444115
>>443301
Жидбрейнс вообще ни для чего не стоит покупать
632 3444461
Кто придумал такую упоротую систему обработки ошибок?
633 3444464
>>444461
Керниган. А с чем у тебя проблемы-то?
image232 Кб, 661x1280
634 3444465
>>444461
Goвно - это высер корпоратов, чьей единственной целью является извлечение прибыли из своих штатных единиц при их минимальной квалификации.
Научиться работать с эксепшенами сложнее, чем с ифами, даже если это засоряет код. Всё просто, родной, всё очень просто.
То есть, буквально, язык создан с целью выкинуть тебя с работы с минимальными издержками. И даже если у ворот корпоратов не будет стоять толпа голодных, желающих заменить бракованную деталь, они за 3 недели обучат новую макаку.
635 3444477
>>444465
а что не высер?
636 3444478
>>444465
>>444477
да хуй с обработкой ошибок, try-catch это кал сынки
вы лучше объясните мне как найти работу без опыта
НУ НЕ МОГУ Я ВОЛЧИТЬ, я боюсь просто ужас, это же сразу будет заметно что я нихуя не мидл, вдруг в ЧЁРНЫЙ СПИСОК попадут. но очень хочется работать, как исправлять эту ситуацию будем? м?
637 3444485
>>444465
Почему нет метода,который бы перехватывал все ошибки и записывал их в массив
638 3444530
>>444485
errors.Wrap?
639 3444531
>>444465
Ну так кидай панику, хуле. Будут тебе импортозамещённые трай кетчи.
640 3444535
>>444531
на каждый чих как замена if err != nil?
Неееет
641 3444545
>>444485
errors.Join
642 3444552
>>444545
Нет,не то.Не избавляет от вездесущих if err != nil.
643 3444576
>>444478
А меня че спрашиваешь, я не знаю. я уже 3 офера получил на 300 и все 3 отклонили после проверки моей трудовой. Рисовать как советует Назаров не стал, скинул честно и объяснил, что работал по ИП либо не официально. А скоро кабанам разрешат одной кнопкой проверять резюме на подленность, уже готовят закон.
644 3444577
>>444552
Так а в чём проблема с ними? Дисциплинируй себя, обрабатывай ошибки, чтобы после тебя не разматывали ебучие эксепшены. В го охуенно на самом деле сделано. Поиск проблемы занимает мало времени даже в чужом коде.
645 3444582
Почему в мире go нет своего спринга?
646 3444600
>>444465

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


Го создавался с целью сделать better C++, чтобы быстрее билдилось чтобы можно было просто взять бинарник и запустить его, чтобы можно было не париться насчет освобождения памяти, чтобы можно было эффективно использовать все ядра на сервере, чтобы язык был простой, но хороший код на Го требует навыков. Го убрал всякую неявную магию, в Го всё явно кроме ёбаных интерфейсоф, но это не значит что ты сможешь с наскока начать работать над большим Го приложением.

>>444582

>Почему в мире go нет своего спринга?


По частям он есть, нет спринга в смысле один фреймворк в котором есть ВСЁ.
66f3c24f7323ff8bad5c50b6d2f6499b-2109073692.jpg12 Кб, 300x225
647 3444601
>>444582
Чтобы стричь с кабанов купоны, пока в сотый раз пишешь давно знакомый велосипед
648 3444611
>>444600
беттер С
649 3444697
>>444582
Потому что, если ты сделаешь систему для дебилов, только дебилы и будут ей пользоваться. В программировании должно оставаться пространство для интеллектуальной деятельности, а не только для копипаста из методичек. Посмотри на сишарп: интересный язык и не такой шизоидный, как го; шикарная бесплатная вижуал студио, а не высеры от жидбрейнс. Но. Майкрософт сделали сишарп максимально простым для вката, написали фреймворки на все случаи жизни, от мартышки требуется только пукать в медиатр через автомапер и подтирать слюну. В итоге на сишарпе сидят онли паджиты с интеллектом табуретки саар, уровень никакой, сложные задачи им не дают, без сложных задач толковые инженеры уходят на другие стеки, замкнутый круг. Если в голенге появится свой спринг и свой автомапер, надо будет съебывать на раст.
Котейка любит деньги.mp4766 Кб, mp4,
640x800, 0:11
650 3444713
>>444697

>Если в голенге появится свой спринг и свой автомапер


Не если, а когда.

>Но. Майкрософт сделали сишарп максимально простым для вката


>от мартышки требуется только пукать в медиатр через автомапер и подтирать слюну


Ты вроде не глупый человек, а рассуждаешь, как дурачок. Корпорации ИМЕННО ЭТО и требуется. Чтобы был легкий вкат, чтобы мартышка могла только пукать в медиатр через автомапер и подтирать слюну. Нужно объяснять почему?

Microsoft сделали это. Google сделают абсолютно то же самое. Потому, что это корпорации цель которых максимально эффективное извлечение максимально возможной прибыли.
651 3444725
>>444697
>>444713
Трогал сисярп в последний раз 4 года назад. Расскажите, что за волшебный автомапер?
652 3444828
go или nodejs?
653 3444840
654 3444846
>>444840
Так один язык-два направления лучше же
655 3444861
>>444846
Не лучше, когда речь про ноду.
656 3444871
>>444828
От ноды плюются даже самые заядлые джсеры
657 3444886
>>444828

>nodejs


this
Причина: через примерно 2-5 лет хайп вокруг Go спадёт, потому что язык этот как инструментарий максимально уебищный, как php. Только вот последний держался долго, потому что альтернатив не было.

Но если что-то делаешь реально производительное с сотнями тысяч rps, то rust. Но это не твой вариант.
658 3444896
>>444886

>инструментарий максимально уебищный


найс перефорс
659 3444901
>>444886
Так жс не лучше го.Но в го добавление фич чуть бодрее идет
660 3444924
>>444886
На ноду уже хайп спал прямо сейчас. Её вытесняют альтернативы.
image.png59 Кб, 1172x436
661 3444964
За последние годы популярность Го по сравнению с нодой только возросла. Не вижу причин, почему тренд должен поменяться.
662 3445005
>>444886

>rust


Лол нет. Я писал микросервисы на сишарпе, го и расте, никакой разницы. Тормозит бд, если постгрес встал раком на блокировках, то похуй, на каком языке ждать ответа.
663 3445014
>>444886
Привет, растосектант! Где работаешь, сколько платят? Сколько человек в команде и сколько сервисов на команду в среднем?
image.png5 Кб, 310x248
664 3445028
>>445014
ну это ты жёска его приложил
665 3445093
Планирую вкатиться в ГО и потом Rust в качестве основного стека, подводные?
666 3445112
>>445093
Тратишь время на вкат, а потом тратишь время на вкат. Давай сразу в раст, там такие интеллектуалы нужны.
667 3445126
>>445112
Да по очереди же... Растовой команды у нас нет и наверно не будет, а вот ГОшная - уже есть.
668 3445235
>>445126

>Растовой команды у нас нет и наверно не будет


Ну жрать говно только потому, что лень сходишь в магазин такое себе.
Снимок экрана 2025-05-04 112000.png48 Кб, 803x504
669 3446252
>>445235
Педерастеры, вы там совсем обезумели? как до такой хуйни можно было додуматься, даже простейший код не читабелен и не понятен. А что если кусок кода большой...
670 3446297
>>446252
А вы тут на err != nil жалуетесь...
671 3446377
>>446252
Перепиши это на return err и err != nil и будет такая же залупа.
672 3446407
>>446252
Что тут сложного, типичная имплементация maybe монады, сорта подобной залупы в любом яп найдешь.
673 3446477
>>446377
лучше ты перепиши пик 1 на раст и посмотрим где залупа.
вот так кстати нейросеть переписала: пик 2
но может быть ты справишься лучше? а то выглядит вообще пиздец
674 3446497

>Пакет maps добавлен в Go 1.21 для упрощения работы с мапами.


Лево руля!
675 3446499
Теперь ждем,когда добавят сахар в виде классов,как в жс
676 3446518
>>446477
Ты такой же дурак, как и твоя нейросеть.

1. Сам по себе подход в языке А конструкция Х смотрится лучше чем в языке Б - говно. У тебя почти в любом языке есть конструкция которая хорошо что-то делает, а в другом языке такой подход будет выглядеть криво.
2. Такой подход не рекомендуется по стайл гайду. Ошибку надо обрабатывать сразу, а не набирать вагон ошибок и потом их процессить. Даже ErrorGroup, где ошибки возникают паралельно, процессит только первую остальные игнорируются.
3. Ты используешь библиотечную Join и ты просто не видишь сложность которая стоит за ней. А там кода так-то дохера и не самого простого https://cs.opensource.google/go/go/+/refs/tags/go1.24.2:src/errors/join.go
677 3446550
>>446518
Если задрочил один паттерн, что уже не в состоянии второй похожий выучить, то у меня для тебя плохие новости чел.

Выше мапу скинули, хочешь в Алана Кэя поиграть и последовательно ошибки обрабатывать - напиши итератор в котором будет твой обработчик контролируемых ошибок, лол.
ВЫ ВСЕ ГОВНО!.mp4851 Кб, mp4,
640x360, 0:10
678 3446573
>>446550

>итератор в котором будет твой обработчик контролируемых ошибок


Вся суть Goвноедства.
Ну я всё понимаю, жизнь может заставить жрать goвно любого из нас, никто от этого не застрахован. Но делать это с наслаждением, закатывая глазки, словно вкушаешь фуагра могут поклонники этого обрезка.
679 3446580
>>446550

>Если задрочил один паттерн, что уже не в состоянии второй похожий выучить, то у меня для тебя плохие новости чел.


Мудило! Это же буквально про тебя! Это ты дегроид выучил свой err != nil и не можешь понять другие подходы.
680 3446604
>>446580
Смешите видеть: борщехлеб сейчас будет рассказывать про теорию категорий и/или декларативное программирование.
681 3446655
>>446518
сдулся мань, завелял жопой, даже читать пртивно твой напыщеный высер, который ты там корявыми пальчиками пычатал. красноглазик ас ис. а код так и не показал.
682 3446657
>>446573

>Вся суть Goвноедства.


шел бы ты отсюда нитакусик со своим педерастером. я тебе наглядно показал, что там дела хуже обстоят. А ты вместо кода только вонюче пукаешь.
683 3446664
Монолиты на go реальны?
684 3446675
>>446664
Для начала определимся с понятиями. Что для тебя монолит? Это когда весь код собирается в один бинарь?
685 3446677
>>446675
Кода весь проэкт-это go
686 3446678
>>446677
Фронтэнд тоже на го?
687 3446683
>>446678
это не входит в монолит
688 3446685
>>446683
А если тут две тысячи микросервисов, но все чисто на го, это монолит на го?
689 3446686
>>446683

>Весь проект на го


>Это не входит в монолит


Ты определись
690 3446724
>>446664
Ты хочешь фреймворк на подобии django, laravel, spring ?
боюсь, что на го это не очень возможно из-за статической типизации и отсутствия наследования. го все же для микропенисов больше подходит.

вроде этот https://revel.github.io/ более менее подходит под определение фулстек
691 3446731
>>446724
Микросервис может быть на 1000 строк
692 3446732
>>446664
https://github.com/beego/beego наверное на этом реальнее всего. админка, орм и многое другое в комплекте
693 3446734
>>446731
Микросервисы бывают и на 200к строк. У меня такой имеется.
694 3446735
>>446731
не понял, что ты имеешь в виду
695 3446736
>>446734
не многовато для микросервиса? что он делает
image.png133 Кб, 325x619
696 3446741
>>446736
Принимает на один единственный роут запросы по апишке. Отдает баннер или не отдает.
697 3446742
>>446732
Огромный бэкенд на чистом PHP до эпохи фреймворков не считается за монолит?
698 3446745
>>446678

>Фронтэнд тоже на го?


А генерировать HTML+CSS на го - это вообще хотя бы немного адекватная идея? А то думаю сделать простую табличку для вывода данных из БД.
699 3446747
>>446745
Если просто табличка, то конечно адекватно. В реальном коммерческом приложении - клиника.
700 3446755
>>446745
нах генерить цсс гошкой
для хтмл есть в стдлибе решение
701 3446756
>>446755
Go у нас теперь наследник пхп?
702 3446757
>>446742
считается. дело не в фреймворке конечно же, просто предположил, что раз ты любишь монолиты то ищещь фреймворк похожий на джангу или ларку.
703 3446758
>>446756
и джанги и спринга ^^
теперь все сюда перекатываются в надежде на ласковый хаер.
704 3446759
>>446757
Где я писал про фремворк?
image475 Кб, 808x1336
705 3446848
>>446756

>Go у нас теперь наследник пхп?


Да, только он ретард.
706 3446886
>>446759
между словами "эпохи" и "не"
707 3446887
>>446848
го ужасен, возвращайся туда откуда пришел
498753934759345.mp476 Кб, mp4,
358x640, 0:01
708 3447243
>>446848
Любители пыхи, как там живётся без пакетного менеджера и автозагрузчика классов из коробки в 2025ом?
фывфывекуеуке.jpg7 Кб, 300x168
709 3447307
>>447243
вы свое говно даже в хтмл встроить не можете, а еще веб разработчиками называетесь
Clown.mp41,3 Мб, mp4,
720x1280, 0:02
710 3447367
>>447307

>даже в хтмл встроить не можете


Клоун считающий, что шаблонизаторы существуют только на пыхе, ты?
711 3447386
>>447307
Смотри как я внезапно встраиваю GOшный код в хтмл без танцев с бубном хотя все уже сидят на Vue или реакте...
Ах, да, хуета пехапешная, ты не ответил, как живётся то без пакетного манагера с автолоадером? Что там типы для констант добавили в 2025ом? Что насчёт добавить асинхронность в коробку или хотя бы всё вышеперечисленное?
712 3447401
>>447386
Копипаста нейросетки
713 3447467
>>447367
нет, это я, мисье сарказм (думал достаточно жирно чтобы не пояснять)
714 3447469
>>447386
да рофл это на пхписями, я же картинку приложил. А рофл заключается в том, что еще есть люди которые вместо возврата json ебутся с беке с шаблонизаторами.
55555).jpg.f6de1526ed425ac053cecf689a6efc4c.jpg261 Кб, 1200x1001
715 3447477
Поцаны зацените анекдот !

Заходит Гофер, Питонист и ПхПшник в бар со своими девушками...
Девушки просят своих кавалеров поменяться с ними местами
Гофер: a, b = b, a
Питонист: a, b = b, a
ПхПшник: list($a, $b) = [$b, $a];

АХАХАХАХАХАХАХ
716 3447547
>>447477
Я не пхпшник, но это же просто сахар.
717 3447556
>>447547
Как будто на пыхе не сахар, только почему-то со вкусом тухлятины.
image.png64 Кб, 316x176
718 3447594
>>446604
>>446655
Дебил, ты же вообще ни одного аргумента не смог привести. Просто съеби нахуй!
719 3447596
>>446741
Это может сделать нджинкс, и на порядок быстрее и с меньшими затратами ресурсов.
720 3447597
>>447243

>Любители пыхи, как там живётся без пакетного менеджера


Не говнолангистам выебываться по поводу пакетного менеджера.
721 3447636
>>446604
А чем тебе теория категорий не угодила?
722 3447685
>>447636
Забавляет тот факт что отдельные особи человеческого вида увидели пару функторов (и это в лучшем случае), а затем прибежали сравнивать синтаксис разных ЯП, не осознавая что каждый инструмент под свою задачу.

Проводя аналогию со строительством, пока вы тут обсуждаете что лучше молоток или отвертка - я думаю как построить дом. Почему вы называете себя строителями, или, даже, архитекторами, если вашей квалификации достаточно только для того чтобы разнорабочими таскать мешки на стройке?!
723 3447779
>>447685
Думать как построить дом не означает, что ты сможешь его построить.
724 3447785
>>447685

>я думаю, как построить дом, но не могу повесить даже сраную полочку в туалете

image174 Кб, 589x825
725 3447829
>>447685

>я думаю как построить дом


Отверткой
Go - говно если что
726 3447833
моя мечта найти работу
727 3447859
>>447829

>спойлер


Ты так не пиши, мне обидно.
728 3448052

>Исследователи отмечают, что в отличие от npm и PyPI, децентрализованная природа экосистемы Go, где модули напрямую импортируются из репозиториев GitHub, создает определенные трудности. Так, разработчики часто сталкиваются с несколькими модулями с похожими именами, которые поддерживаются абсолютно разными мэйнтейнерами.


https://xakep.ru/2025/05/06/go-wiper/

Очередной доказательство ущербности пакетного менеджера Говна.
729 3448056
>>448052

>встроил в свой проект рандомную хуйню с гитхаба и даже не проверил автора


>Ого, заебись сервис ускорился, запрос выполняется за наносекунду


>Хм, а почему база весит 0 мегабайт


Классика.
image631 Кб, 995x979
730 3448117
>>448056

>Хм, а почему база весит 0 мегабайт

731 3448202
>>448056
На го может писать любой дебил, что конечно отражается на среднем интеллектуальном уровне гошников.

Поэтому поясню для тупых: в npm, PyPI, Maven, Crates, NuGet у тебя централизованный репозиторий. Туда нельзя залить артефакт с именем которое маскируется под какой-то популярный артефакт. Надо хоть как-то идентифицироваться и показать репозиторий. После обнаружения скама вртефакт быстро удалят, а скамера забанят и количество людей которые пострадают будет меньше чем в го. Нихуя подобного в го - нет.

Централизованный репозиторий это как apt, а го - это как качать .exe из интернета.
732 3448229
>>448202
В твой ахуенный пиздатый PyPI засунули майнер, блять. Его успели скачать тысячи раз прежде чем удалили.

https://xakep.ru/2022/08/22/pypi-npm-miners/
https://habr.com/ru/companies/pt/articles/734758/
733 3448232
>>448202

>Централизованный репозиторий это как apt, а го - это как качать .exe из интернета.


И что? Ты профессиональный разработчик или целка, не в ту дверь заглянувшая? Ты экзешники из интернета так запускаешь или в песочнице? Свой проект ты тоже без презика контейнера собираешь? Тестовое окружение? Интеллектуальный уровень из 10 просто. Надеюсь, среди перекатышей из питона это массовое явление, подцепить спид с гитхаба и укатиться в слезах обратно в питон.
734 3448234
>>448229
Что характерно, в линуксовых репозиториях тоже регулярно появляется хуйня, маскирующаяся под известные пакеты. И я ни разу не видел линуксоида, пробующего пакет в песочнице, прежде чем утянуть на основную систему.
735 3448249
>>448234

>в линуксовых репозиториях


В официальных или в васянских? В том же AUR очевидно, что можно любой говняк подсунуть, поэтому всегда предлагают читать что там внутри.
736 3448267
>>448249
В самых прям основных я о такой хуйне не слышал, но угроза не в них. Все используют какие-то сторонние репозитории, потому что многих популярных пакетов нет в дефолтных. Хром, пгадмин, дбивер, вскод – дохуя их. И достаточно одного васянского репозитория, который забьёт эти популярные названия пакетов не-дефолтных реп малварями. Линуксоид же не проверит, есть ли у него корректная репа прежде чем набрать apt install хуйня.
737 3448317
>>448232
Справедливости ради, проект не обязательно собирать на всех этапах в контейнере. На проде или локальной машине проект может бегать и на голом железе.
А так, зависимости конечно надо проверять.
738 3448366
>>448249
Бля пчел. Тебе CVE-2024-3094 о чем нибудь говорит?
Там буквально дистры федоры и арча были скомпрометированы. И хуй знает, как бы далеко это зашло, если бы не красноглазик, который зацепился за скорость открытия туннеля
739 3448453
>>448317
Да может, но сейчас настолько в привычку вошло, что и хелло ворлд без докера непривычно делать.
740 3448471
>>448267

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


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

>>448366

>Тебе CVE-2024-3094 о чем нибудь говорит


Говорит. И в результате мейнтейнеры дистров сами сказали, что надо лучше проверять (кто бы мог подумать).
Это одна из причин, по которой в проде сидят на всяких дебианах со старыми версиями пакетов, потому они хоть как-то проверены временем. А не на федорах и арчах.
741 3448985
>>448229
Как я уже говорил

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



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

>>448232
Твой контейнер не поможет против майнера. Не защитит от кражи данных из самого приложения. Разве что основную ОС защитит.
742 3449060
>>448985

>Твой контейнер не поможет против майнера.


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

>Не защитит от кражи данных из самого приложения.


Тут ты хорошо уточнил, что из самого приложения, потому что это уже мощная изоляция возможных последствий. Так ещё и гошное приложение в контейнере это микропенис, подключенный к нескольким другим и больше ни к чему, что там красть? Подсадил малварь в "приложение", которое попап с рекламой дилдаков рисует, что с этим делать-то дальше.
743 3449102
>>449060

>Что он там намайнит на половине ядра половине гига и ридонли файловой системе?


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

>>449060

>что там красть?


Например базу данных. Или отправить запрос в другой сервис на перевод денег, смотря что за приложение и к чему есть доступ. Или создать шелл, и тогда уже можно будет интерактивно пощупать другие системы на предмет поиска уязвимостей. А если твоё приложение совсем говно безпрофитное, можно использовать машину как прокси.
744 3449109
>>449102
Уф блядь, я и подзабыл уже, почему выпускников айтишников никто на работу не берёт. Спасибо за напоминание, мне пожалуйста биг хит и средний апельсиновый сок.
745 3449129
>>449109
Ты в дурке дебил! Пей таблетки и марш в палату!
746 3449230
>>449102

>Например базу данных


Как блять? SELECT * FROM govno вот так чтоли?

>смотря что за приложение и к чему есть доступ


А если я в докерфайл пропишу образ линуха на котором нет ни курл ни вгет и даже нет-тулс? Очком своим запрос будешь слать?

>Или создать шелл, и тогда уже можно будет интерактивно пощупать другие системы на предмет поиска уязвимостей


Для таких ебанатов как ты есть Namespaces

>можно использовать машину как прокси.


Для чего?

Пиздец я в ахуе от такого контингента даунов, ты случаем не выпускник скилбокса?
747 3449268
>>449230

>Для чего?


Ботнет
748 3449282
>>449268
Ботнет из контейнеров внутри сегмента сети за гейтом? Ты это, начинай учить как бэк устроен, а то без работы останешься.
749 3449297
>>449230
Моё изначальное утверждение

>что конечно отражается на среднем интеллектуальном уровне гошников.


было излишне оптимистично. Мозгами тут и не пахнет вообще.

>Как блять? SELECT FROM govno вот так чтоли?


SELECT
FROM user_card_data

>А если я в докерфайл пропишу образ линуха на котором нет ни курл ни вгет и даже нет-тулс? Очком своим запрос будешь слать?


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

>Для таких ебанатов как ты есть Namespaces


Все сервисы с кем взаимодействует твое говноподелие, можно атаковать. И опять же Namespaces далеко не все минимизируют.

>Для чего?


Дебил, это слишком мягко для тебя, даже не знаю как еще тебя назвать. Мудило, кретин, имбецил, дегроид пытается рассуждать про какой-то инфобез и не понимает зачем нужны пиратские прокси. Это пиздец!

>>449230

>Пиздец я в ахуе от такого контингента даунов, ты случаем не выпускник скилбокса?


>>449109

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


Деграданты - запоминайте! Я не фантазирую про ваши сексуальные отношения с мамкой. Я отвечаю на ваши высеры. За исключением оценки вашего интеллектуального потенциала, максимально технично. Я не строю предположений ни про курсы, ни про опыт работы, нихуя подобного. Что вы написали, на то и отвечаю.
750 3449320
>>449297
Ты ещё школьник или уже студент, можешь честно?
751 3450149
Если 10 клиентов вызовут функцию package.Func() будет ли она копироваться в стек вызова каждого клиента? Или они вызовут её по очереди? А все то же самое для метода? Есть ли в гошных структурах внутренний мьютекс?
752 3450168
>>450149

>Если 10 клиентов вызовут функцию package.Func() будет ли она копироваться в стек вызова каждого клиента?


Да.

>Или они вызовут её по очереди?


А что в коде написано-то? Если вызывают последовательно, то вызовут по очереди, если из разных горутин, то параллельно.

>А все то же самое для метода?


Всё то же самое для метода.

>Есть ли в гошных структурах внутренний мьютекс?


Нет. Его нужно добавлять и использовать явно.
7333627374.webp81 Кб, 650x920
753 3450852
>>390005 (OP)

> идиомы и паттерны


> в книге нет ни одного ни другого


🤷
Стикер512x512
754 3451101
>>449320

>Пук-среньк

755 3451110
>>450149

>Если 10 клиентов вызовут функцию package.Func() будет ли она копироваться в стек вызова каждого клиента?


Код функции никуда не копируется. Но каждый вызов будет создавать фрейм стека и аллоцировать на стеке переменные. У каждой горутины свой стек.

>Или они вызовут её по очереди?


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

>А все то же самое для метода?


Метод это просто синтаксический сахар над функцией, работает он точно так же.
756 3451191
>>451110

>Код функции никуда не копируется


Может он имел ввиду инлайнинг, хз
757 3451622
>>450149

>Или они вызовут её по очереди?


Ебало хайлоада имаджинировали ?
bennis house музыка.webm2,8 Мб, webm,
704x480, 0:41
758 3451655
Недавно узнать, что у Golang свой самодельный компилятор, а не LLVM. Это означает, что любой затык языка, любая проблема, передача гуглом (когда он наиграется с очередной игрушкой) его в опенсорсную поддержку будет означать автоматическую гибель языка. Это дополнительный якорек, чтобы гугл заебался постоянно поддерживать компилятор языка и наконец-то бросил эксперимент.
Мое дело предупредить.
759 3451684
А на Go можно имиджборду написать?
760 3451690
>>451655
Новые компиляторы это будущее. Пора выбросить уебищный ллвм.
761 3451691
>>451684
Можно, но зачем? Пиши на пыхе или питоне.
image283 Кб, 604x316
762 3451726
>>451690
Само собой, Клавдия Семеновна. Нету и нахуй не нужон.
763 3451731
>>451684
Можно. Поддерживать заебешься. Go - узкоспециализированный инфраструктурный язык. То есть, он очень сильно прикладной. Как VBA например. На VBA тоже можно имаджборду написать, только вот зойчем?
764 3451998
>>451655

>Недавно узнать, что у Golang свой самодельный компилятор, а не LLVM. Это означает, что любой затык языка, любая проблема, передача гуглом (когда он наиграется с очередной игрушкой) его в опенсорсную поддержку будет означать автоматическую гибель языка.


Логика конечно убойная. У gcc тоже свой компилитор, и не загнулся как-то.

Вопрос будет Го жить без Гугла или нет, упирается в то насколько широкое у него комьюнити, а не на чем написан компилятор:
765 3452020
>>451731
Что куда прикладывается?
766 3452097
>>451998
K8s и докер не дадут заняться быстро

и там вроде ts ещё заливает от микромягких
768 3453072
Какое же в го все умное, а в джаве все идиотское, не надо выкатываться в джаву
769 3453137
>>453072
Если ты го освоил, расскажи пожалуйста, если сможешь - развернуто. Можно ли го бэк со сложной бизнес-логикой?
770 3453204
>>453137
Тебе, дегенерату, рекомендую начать с паскаля
771 3453236
>>453204
Го - это дружелюбное отзывчивое сообщество. Тут тебя всегда искренне пошлет нахуй какой-нибудь школотрон.
772 3453326
Вот 10 причин, почему отсутствие встроенной функции для удаления элементов из среза в Go — это серьезный просчет разработчиков языка:

1. Нарушение принципа DRY (Don't Repeat Yourself)
Каждый разработчик вынужден вручную писать один и тот же код с `append(slice[:i], slice[i+1:]...)` в сотнях проектов.

2. Повышенный риск ошибок
Новички постоянно путаются с индексами, забывают `...` в `append`, что приводит к runtime-ошибкам.

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

4. Отсутствие обработки edge cases
Стандартный код не обрабатывает случаи: пустой срез, индекс за пределами, отрицательные индексы.

5. Неидиоматичность для других языков
В Python/Rust/Java/Kotlin/JavaScript/etc. это одна стандартная операция — Go выпадает из общепринятой практики.

6. Проблемы с производительностью
Копирование элементов через `append` неэффективно для больших срезов, но альтернатив не предложено.

7. Отсутствие type safety
Приходится писать отдельные функции для `[]int`, `[]string` и т.д., хотя generics уже добавили.

8. Усложнение тестирования
Каждый проект тестирует свою реализацию вместо использования проверенной стандартной функции.

9. Игнорирование реальных use cases
Удаление элементов — базовая операция для 90% программ. Ее отсутствие — это как stdlib без `strings.Replace`.

10. Несоответствие Go 2.0 философии
При этом в язык добавили урезанные generics, которые не решили проблему — явный признак некомпетентного дизайна.

### Главный вывод:
Разработчики Go сознательно упростили язык до абсурда, переложив базовые задачи на пользователей. Это не "минимализм", а профессиональная деформация — когда создатели языка настолько зациклены на "простоте", что забывают о практической полезности.

P.S. Для сравнения: даже в С++ есть `std::vector::erase()`, а в Go — нет аналога. Это позор.
772 3453326
Вот 10 причин, почему отсутствие встроенной функции для удаления элементов из среза в Go — это серьезный просчет разработчиков языка:

1. Нарушение принципа DRY (Don't Repeat Yourself)
Каждый разработчик вынужден вручную писать один и тот же код с `append(slice[:i], slice[i+1:]...)` в сотнях проектов.

2. Повышенный риск ошибок
Новички постоянно путаются с индексами, забывают `...` в `append`, что приводит к runtime-ошибкам.

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

4. Отсутствие обработки edge cases
Стандартный код не обрабатывает случаи: пустой срез, индекс за пределами, отрицательные индексы.

5. Неидиоматичность для других языков
В Python/Rust/Java/Kotlin/JavaScript/etc. это одна стандартная операция — Go выпадает из общепринятой практики.

6. Проблемы с производительностью
Копирование элементов через `append` неэффективно для больших срезов, но альтернатив не предложено.

7. Отсутствие type safety
Приходится писать отдельные функции для `[]int`, `[]string` и т.д., хотя generics уже добавили.

8. Усложнение тестирования
Каждый проект тестирует свою реализацию вместо использования проверенной стандартной функции.

9. Игнорирование реальных use cases
Удаление элементов — базовая операция для 90% программ. Ее отсутствие — это как stdlib без `strings.Replace`.

10. Несоответствие Go 2.0 философии
При этом в язык добавили урезанные generics, которые не решили проблему — явный признак некомпетентного дизайна.

### Главный вывод:
Разработчики Go сознательно упростили язык до абсурда, переложив базовые задачи на пользователей. Это не "минимализм", а профессиональная деформация — когда создатели языка настолько зациклены на "простоте", что забывают о практической полезности.

P.S. Для сравнения: даже в С++ есть `std::vector::erase()`, а в Go — нет аналога. Это позор.
773 3453382
>>453326

>append(slice[:i], slice[i+1:]...)


Прошу прощения, а какого члена? Почему не
slice = slice[len(slice)-1]
slice = slice[:len(slice)-1]
image.png5 Кб, 352x66
774 3453384
>>453382
Абучан чтоб его
775 3453389
>>453326
Ух, вижу кто-то решил хейтить Go, не понимая философии языка. Давайте разберем этот бред по пунктам:

1. "Нарушение DRY" - Серьезно? `append(slice[:i], slice[i+1:]...)` это _один_ паттерн, который учишь один раз и используешь везде. Если тебе лень писать 30-40 символов, создай helper-функцию и успокойся.

2. "Риск ошибок" - А может проблема не в языке, а в том, что некоторые не могут освоить базовый синтаксис? Любой, кто пишет на Go больше недели, делает это автоматически. Это не ракетостроение.

3. "Неочевидная работа с памятью" - Именно поэтому Go и заставляет тебя писать эту операцию явно! Чтобы ты _понимал_, что происходит с памятью, а не прятал это за абстракцией, которая потом внезапно "течёт".

4. "Отсутствие обработки edge cases" - Так это _хорошо_! Ты явно видишь все edge cases и обрабатываешь их сам, вместо того чтобы гадать, что делает черный ящик.

5. "Неидиоматичность" - Go и не стремится быть как все. Философия языка - явные операции вместо магии. Не нравится? Иди пиши на Python.

6. "Проблемы с производительностью" - Если тебе нужна молниеносная работа с большими массивами данных, используй другие структуры данных. Для 99% случаев стандартный подход достаточно быстр.

7. "Отсутствие type safety" - Теперь с generics можно написать одну безопасную функцию для всех типов. Проблема решена.

8. "Усложнение тестирования" - Ерунда. Тестировать удаление элемента из среза проще простого, это базовая операция.

9. "Игнорирование реальных use cases" - Go отлично справляется с реальными задачами. Миллионы строк продакшн-кода на Go у крупнейших компаний это доказывают.

10. "Несоответствие философии" - Как раз наоборот! Go последователен в своей философии минимализма и явных операций.

### Реальный вывод:
Go создан так, чтобы разработчик _понимал_ происходящее, а не надеялся на магию. Это сознательный выбор, а не "упрощение до абсурда". Это язык для профессионалов, которые ценят контроль, ясность и производительность.

P.S. Сравнивать Go с C++ некорректно - разные цели, разные философии. А если тебе так нравится `std::vector::erase()`, никто не мешает использовать C++. Выбор языка - это как выбор инструмента. Не используй отвертку, чтобы забивать гвозди, а потом не жалуйся, что "отвертка - отстой".
775 3453389
>>453326
Ух, вижу кто-то решил хейтить Go, не понимая философии языка. Давайте разберем этот бред по пунктам:

1. "Нарушение DRY" - Серьезно? `append(slice[:i], slice[i+1:]...)` это _один_ паттерн, который учишь один раз и используешь везде. Если тебе лень писать 30-40 символов, создай helper-функцию и успокойся.

2. "Риск ошибок" - А может проблема не в языке, а в том, что некоторые не могут освоить базовый синтаксис? Любой, кто пишет на Go больше недели, делает это автоматически. Это не ракетостроение.

3. "Неочевидная работа с памятью" - Именно поэтому Go и заставляет тебя писать эту операцию явно! Чтобы ты _понимал_, что происходит с памятью, а не прятал это за абстракцией, которая потом внезапно "течёт".

4. "Отсутствие обработки edge cases" - Так это _хорошо_! Ты явно видишь все edge cases и обрабатываешь их сам, вместо того чтобы гадать, что делает черный ящик.

5. "Неидиоматичность" - Go и не стремится быть как все. Философия языка - явные операции вместо магии. Не нравится? Иди пиши на Python.

6. "Проблемы с производительностью" - Если тебе нужна молниеносная работа с большими массивами данных, используй другие структуры данных. Для 99% случаев стандартный подход достаточно быстр.

7. "Отсутствие type safety" - Теперь с generics можно написать одну безопасную функцию для всех типов. Проблема решена.

8. "Усложнение тестирования" - Ерунда. Тестировать удаление элемента из среза проще простого, это базовая операция.

9. "Игнорирование реальных use cases" - Go отлично справляется с реальными задачами. Миллионы строк продакшн-кода на Go у крупнейших компаний это доказывают.

10. "Несоответствие философии" - Как раз наоборот! Go последователен в своей философии минимализма и явных операций.

### Реальный вывод:
Go создан так, чтобы разработчик _понимал_ происходящее, а не надеялся на магию. Это сознательный выбор, а не "упрощение до абсурда". Это язык для профессионалов, которые ценят контроль, ясность и производительность.

P.S. Сравнивать Go с C++ некорректно - разные цели, разные философии. А если тебе так нравится `std::vector::erase()`, никто не мешает использовать C++. Выбор языка - это как выбор инструмента. Не используй отвертку, чтобы забивать гвозди, а потом не жалуйся, что "отвертка - отстой".
776 3453414
>>453389

>это _один_ паттерн, который учишь один раз и используешь везде


буквально и есть наршение DRY, должен быть один метод и одном месте

> Любой, кто пишет на Go больше недели, делает это автоматически.


ты про ошибки?

> Чтобы ты _понимал_, что происходит с памятью


Мне не нужно знать что происходит с памятью, абстракции для этого и существует

> Ты явно видишь все edge cases и обрабатываешь их сам


Смотреть пункт 2. Повышенный риск ошибок

> Философия языка - явные операции вместо магии.


В удалении элемента из списка нет магии, а вот что со слайсами под капотом происходит при >>453384, вот это магия

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


Я и использую, но го мне палки в колеса подставляет заставляя использовать что то кроме листа так как разрабы поленились три строчки в стд засунуть

> Теперь с generics можно написать одну безопасную функцию для всех типов.


ну так напишите!!!!

> Тестировать удаление элемента из среза проще простого, это базовая операция.


С обработкой всех эдж кейсов код для тестирования выйдет раз 10-15 больше чем сам код удаления списка

> Миллионы строк продакшн-кода на Go у крупнейших компаний это доказывают.


Сколько миллионов из них это самоповторяющиеся велосипеды которые каждый пишут сами?

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


То есть нужно искать отдельный язык для того чтобы удалить элемент из списка? Го даже не способен такой юзкейс покрыть?
777 3453456
>>453414
Ну что, продолжаем изливать непонимание базовых принципов Go? Давай разберём твоё недопонимание по пунктам:

>буквально и есть наршение DRY, должен быть один метод и одном месте



DRY не про то, чтобы всё запихать в стандартную библиотеку. Напиши один раз свою функцию `remove()` и используй её. Проблема решена за 2 минуты. Go даёт тебе конструкторы, а не собирает игрушки за тебя.

>ты про ошибки?



Нет, про твою неспособность освоить базовый синтаксис. Если для тебя `append(slice[:i], slice[i+1:]...)` - это сложно, может программирование не твоё призвание?

>Мне не нужно знать что происходит с памятью, абстракции для этого и существует



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

>Смотреть пункт 2. Повышенный риск ошибок



Смотреть пункт "прочитай документацию и перестань писать говнокод". У каждого решения есть компромиссы. Go выбирает прозрачность вместо магии. А если боишься ошибок - пиши тесты, как нормальные люди.

>а вот что со слайсами под капотом происходит при `slice = slice[len(slice)-1] \n slice = slice[:len(slice)-1]` вот это магия



Это базовая операция, детально описанная в любом туториале по Go. Если для тебя это "магия", срочно прочитай "Effective Go" и перестань позориться.

>Я и использую, но го мне палки в колеса подставляет заставляя использовать что то кроме листа



Go не заставляет тебя делать ничего. Он предлагает идиоматический путь. Используй другие языки, если не готов следовать идиоматике Go.

>ну так напишите!!!!



```go
func Remove[T any](slice []T, i int) []T {
if i < 0 || i >= len(slice) {
return slice
}
return append(slice[:i], slice[i+1:]...)
}
```

Готово. 5 секунд работы. Вставь в свой проект и успокойся.

>С обработкой всех эдж кейсов код для тестирования выйдет раз 10-15 больше чем сам код удаления списка



Бред. Тест на 3-4 кейса займёт 10 строк. Если ты пишешь больше - ты делаешь что-то не так.

>Сколько миллионов из них это самоповторяющиеся велосипеды которые каждый пишут сами?



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

>То есть нужно искать отдельный язык для того чтобы удалить элемент из списка? Го даже не способен такой юзкейс покрыть?



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

Главный вывод: твоя проблема не в Go, а в нежелании понять его философию. Go предлагает явный контроль и минимализм, а не магический черный ящик. Не нравится? Пиши на Python/Ruby/JavaScript и радуйся, пока не столкнешься с реальными проблемами производительности и поддержки кода.
777 3453456
>>453414
Ну что, продолжаем изливать непонимание базовых принципов Go? Давай разберём твоё недопонимание по пунктам:

>буквально и есть наршение DRY, должен быть один метод и одном месте



DRY не про то, чтобы всё запихать в стандартную библиотеку. Напиши один раз свою функцию `remove()` и используй её. Проблема решена за 2 минуты. Go даёт тебе конструкторы, а не собирает игрушки за тебя.

>ты про ошибки?



Нет, про твою неспособность освоить базовый синтаксис. Если для тебя `append(slice[:i], slice[i+1:]...)` - это сложно, может программирование не твоё призвание?

>Мне не нужно знать что происходит с памятью, абстракции для этого и существует



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

>Смотреть пункт 2. Повышенный риск ошибок



Смотреть пункт "прочитай документацию и перестань писать говнокод". У каждого решения есть компромиссы. Go выбирает прозрачность вместо магии. А если боишься ошибок - пиши тесты, как нормальные люди.

>а вот что со слайсами под капотом происходит при `slice = slice[len(slice)-1] \n slice = slice[:len(slice)-1]` вот это магия



Это базовая операция, детально описанная в любом туториале по Go. Если для тебя это "магия", срочно прочитай "Effective Go" и перестань позориться.

>Я и использую, но го мне палки в колеса подставляет заставляя использовать что то кроме листа



Go не заставляет тебя делать ничего. Он предлагает идиоматический путь. Используй другие языки, если не готов следовать идиоматике Go.

>ну так напишите!!!!



```go
func Remove[T any](slice []T, i int) []T {
if i < 0 || i >= len(slice) {
return slice
}
return append(slice[:i], slice[i+1:]...)
}
```

Готово. 5 секунд работы. Вставь в свой проект и успокойся.

>С обработкой всех эдж кейсов код для тестирования выйдет раз 10-15 больше чем сам код удаления списка



Бред. Тест на 3-4 кейса займёт 10 строк. Если ты пишешь больше - ты делаешь что-то не так.

>Сколько миллионов из них это самоповторяющиеся велосипеды которые каждый пишут сами?



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

>То есть нужно искать отдельный язык для того чтобы удалить элемент из списка? Го даже не способен такой юзкейс покрыть?



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

Главный вывод: твоя проблема не в Go, а в нежелании понять его философию. Go предлагает явный контроль и минимализм, а не магический черный ящик. Не нравится? Пиши на Python/Ruby/JavaScript и радуйся, пока не столкнешься с реальными проблемами производительности и поддержки кода.
778 3453724
я так люблю govno но приходится учить джаву потому что нет кала работы для джунов пиздос
779 3453726
>>453414
>>453389
Шизоиды, пакет slices уже джва года как добавили в стандартную библиотеку. Вы патчновуты пробовали читать
780 3453785
>>453724
Перестань быть джуном - проблема решена.
781 3453882
>>453726
Хуясе, я из утил пакетов только strconv и ioutil знаю, на какие ещё стоит обратить внимание?
782 3453886
>>453882
Конечно же fmt, errors и net/http))))))
783 3453887
>>453886

> net/http


Кал
784 3453896
>>453887
Свидетель fasthttp?
785 3453897
>>453896
Меня бесит, что на один урл нельзя два обработчика по хттп методам сделать, приходится гин добавлять
786 3453907
>>453726
Зачем читать патчноуты, если код за меня пишет та же нейросетка, что ебашит эти посты на дваче? Пусть сама разбирается.
787 3454021
>>453882

>ioutil


депрекейтед хуйня
788 3455399
Го может стать норм языком к 1.30 версии но это не точно
789 3455466
Кстати, как у вас на проекте с версиями? Есть какие-то жирные версии как у джавы, изменения между которыми не такие уж существенные или вы всегда на самой последней?
790 3455530
>>455466
У нас всем похуй на версии, кроме меня. Я перекатываю версии, когда нужно что-то из новых фич. Последний раз перекатил на 1.24 ради omitzero. До этого сидели на 1.22.

В целом, апдейты ради апдейтов смысла не имеют
791 3455558
>>455399
А что будет в версии 1.3?
792 3455681
>>455466
Пока что ни разу не сталкивались с проблемками, перекатываемся на последнюю, когда что-то коммитим в сервисы. Иногда рефакторим, зимой все интерфейс{} массово посыпали сахарком any.
793 3455800
>>455681

>зимой все интерфейс{} массово посыпали сахарком any


Вот это апдейт, охуеть. Сколько часов потратили?
794 3455986
>>455800
Пять сториков, ну где-то чуть больше трети спринта этим закрыли.
795 3456079
>>455986
Ебать вы конечно барена на шекели скамите
что мешало запушить через гитлабапи массово
796 3456115
>>455466
Всегда сидим на последней версии, обновляется централизовано.
797 3456253
>>455558
Сделают нормальный метод удаления элемента из массива
798 3456267
>>456253
а еще метода фильтрации
799 3456273
>>456267
И ифелс без фигурных скобочек
800 3456274
>>456273
И енумы
801 3456283
>>455558
Сделают нормальное ООП
802 3456587
>>456253
>>456267
>>456273
>>456274
>>456283
Вы же латентные джависты!
803 3457851
Мертвый тред мертвого языка
804 3457859
>>457851
давайте свой redis на гошке писать, чтобы оживить тредик ^^
https://codecrafters.io/campaign/redis
805 3457872
>>457851
>>456587
мужики простите я ухожу от вас к джавистам
обещаю найду работу на джаве моя мечта поработаю вернусь к вам вы только ждите
как же хочется стажировочку на го...
806 3457957
>>457872

>обещаю найду работу


>как же хочется стажировочку


Челобас, не еби себе мозг, бери электровел и давай в куры.
807 3458020
>>455399

Чивоблять?

> The latest Go release, version 1.3, arrives six months after 1.2, and contains no language changes. It focuses primarily on implementation work, providing precise garbage collection, a major refactoring of the compiler toolchain that results in faster builds, especially for large projects, significant performance improvements across the board, and support for DragonFly BSD, Solaris, Plan 9 and Google’s Native Client architecture (NaCl). It also has an important refinement to the memory model regarding synchronization. As always, Go 1.3 keeps the promise of compatibility, and almost everything will continue to compile and run without change when moved to 1.3.

808 3458030
>>458020
ты нолик забыл
image.png65 Кб, 1263x488
809 3458041
>>458030

Сорян, обосрался, но это больше вина самого Гугла. Ну так что там обещают, где почитать?
810 3458043
>>458041
Нигде.Я просто экстраполировал скорость добавления фич в последние годы на ближайшие версии.
811 3458045
>>458043

Т.е., даже ошибившись, я, потенциально, все равно могу быть прав?

> and contains no language changes

812 3458046
>>458045
Нет,потому что они начали пихать фичи в последние годы,что радует
813 3458103

>Go не имеет ключевых слов private и public, но использует простое правило:


>Если имя начинается с заглавной буквы , оно экспортируемо (public).

>Если с маленькой , то не экспортируемо (private).



О чем думали разрабы,когда такое придумали?
814 3458204
>>458103

>О чем думали разрабы,когда такое придумали?


О том что что у той шлюхи отличные сиськи, а кок сегодня особенно забористный.
815 3458358
>>458103
- Спорим, я добавлю в язык любую наглухо ебанутую хуйню и найдутся фанаты защитники.
- Не может быть!
- Знаешь, как удалить элемент из середины слайса?
816 3458475
>>458358
Хотет!
817 3458545
>>458103

>О чем думали разрабы


О том, чтобы побесить анона с сосача.
818 3458550
>>458103

>О чем думали разработчики...


Об Обороне, очевидно же. Пиздец поколение смузихлебов, классику не знать
819 3458553
И все равно,до php еще далеко этому языку
820 3458569
>>458553

>2025


>однопоточность


>хаос в стандартной либе


Куда уж гошке до великой пыхи
821 3458574
>>458553
На го платят больше, работать проще. Перекатился и стало заебись. Фанатики языков почему-то сплошь безработные долбоёбы. Ты тоже такой?
822 3458625
Че за фичи хоть добавили?
823 3458912
>>458569
Пых реально велик
824 3458928
Если следовать следующей структуре проекта https://github.com/golang-standards/project-layout, то где правильно работать с брокерами сообщений и s3? Выделить в отдельную папку в internal?
825 3458936
>>458928

pkg/rabbitmq <- генерик прослойка для работы с раббит
pkg/s3 <- генерик прослойка для работы с с3

internal// <- бизнес логика которая юзает прослойки
826 3458951
>>458936
Че за долбоебизм? Почему так?
827 3458959
>>458912
Открой сайт go. раздел блог
828 3458963
>>458951

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

все "стандарты" и прочие клин архитекча - это всего лишь рекомендации а не готовые рецепты
и много что зависит от того что именно ты пилишь

если такой умный то

- закрой ебало
- высри свой варик
- следуй ему
829 3458967
>>458936
Правильно понимаю, что в pkg, потому что это по сути будут клиенты и ничего специфичного в них нет (типо как обращение к конкретным таблицам в бд)?
830 3458983
>>458967
Если у тебя есть мысль, что это можно переиспользовать в другом проекте, то это идёт в pkg. Если сомневаешься, то в internal. Домен тоже бывает переиспользуется, особенно всякие модели. Если сомневаешься – тоже в internal, перенесёшь если когда-нибудь пригодится.
831 3459022
>>458625
удалить определенный элемент в срезе одной командой так и нет
832 3459056
>>459022
Как должна работать функция, которая удаляет определенный элемент в срезе? Вот прям алгоритм пошагово.
833 3459060
>>459056
func remove(slice {
return func(index) {
i := index + 1
for (; i < len(slice); i++) {
slice[i - 1] = slice
}
}
}
834 3459071
>>459060
Ну и что это за пиздец? Почему возвращает функцию? Зачем цикл?
835 3459098
>>459056
Очевидно, сдвигает данные на один элемент влево и меняет len слайса. В чем проблема сделать delete(slice,i) и не устраивать цирк с append(...)? Почему make(map) - ок, delete(map) - ок, make(slice) - ок, delete(slice) - ряя низя, что за шиза ебаная?
836 3459170
>>459022
Лучше дочь вебкамщица, чем сын сосачер
https://pkg.go.dev/slices#Delete
837 3459188
Дизайн языка, это конечно пиздец.

Был math.Max() который работал только с float64 другие же типы не нужны. Потом вместо того чтобы сделать дженерик версию, сделали встроенную функцию max(). Из map нельзя было удалить элемент, добавили встроенную функцию delete(), но чтобы удалить один элемент из слайса надо использовать slices.Delete(). А чтобы удалить все элементы из слайда или мапы на использовать встроенную функцию clear().
838 3459228
>>459188
Напомните мне. Сколько лет жабе понадобилось, чтобы избавится от сраного break в switch/case. Ну и добавить поддержку выражений и стрингов в ту же конструкцию?
839 3459248
>>459098
По твоему алгоритму нужно удалить элемент из массива длинной в миллион, ебало?
840 3459260
>>459228

>А у вас негров линчуют


Сколько лет прошло, а методичка не меняется.

Ну давай я дурачку поясню: в джаве фичи добавляют не очень быстро, но зато думают головой перед добавлением. Коллекция это объект и все основные методы по работе с ней реализованы в виде методов, нет никаких встроенных функций delete и clean. А то что каких-то второстепенных фич нет, это не проблема.
841 3459262
>>459248

>ебало?


Это просто скопировать в памяти 8 мегабайт. Не моментально, но с использованием векторных инструкций вполне себе норм.
842 3459267
>>459071

>Почему возвращает функцию?


функциональное программирование

>Зачем цикл?


как иначе сделаешь сдвиг
843 3459277
>>459260

>это не проблема


Но сразу почему-то становится проблемой в других языках?
844 3459320
>>458574
Чем проще?
845 3459382
>>459260
Так не нравится - не пиши. Нахой приходить в тред говна и начинать тут вонять? Во всех языках проблем и головняка хватает, не вижу смысла выяснять в чьем синтаксисе больше насрано. Ибо в любом случае все смогут у лиспа. Который максимально лаконичный и последовательный
846 3459383
>>459382
все соснут
1747821700793.jpg97 Кб, 750x750
847 3459395
Я всех призываю из джавы в го перекатываться, хотя сам перекатываться не собираюсь хехехехе
848 3459483
>>459395
у го мощи джавы не хватает
849 3459521
>>459483
Я даже синтаксиса го не знаю, не ебу чего там хватает или не хватает
850 3459567
>>459521
Язык сырой еще.Этого достаточно знать
851 3459883
>>459248
По какому моему алгоритму, наркоман? Это единственный алгоритм, других нет.
Screenshot 2024-01-20 at 05-16-31.jpg36 Кб, 272x292
852 3459925
Всем привет. Я тупорылый, но вот подумываю стать программистом, скажите - goleng нормальный язык или лучше на что-то более прибыльное и попроще подаваться?
Какие вообще рыбные области сейчас у компьютерщиков существуют?
853 3459985
>>459925
учи джаву работы нет
мимо без опыта работы перекатываюсь в джаву
854 3459986
>>459925
Да,пхп
855 3459989
>>390005 (OP)
Ак телегочатоблядки ну примите уже я извёлся в предбаннике ебучем
Screenshot 2024-01-20 at 05-16-31.jpg36 Кб, 272x292
856 3460068
С перчиком нельзя.
857 3460237
>>459925
Всем похуй, какой язык и какой IQ. Нейросетями пользоваться умеешь? Пиздеть как политик умеешь? Тогда вкатывайся, просто сделаешь пять резюме на разные стеки, не пропадёшь.
Если не умеешь пиздеть и вайбкодить на любом языке, лучше не трать время на вкат в айти, ты опоздал.
858 3460250
Какая разница между мидлваром который засунили там где пути и там где функ слушает 8000 порт?
Аноним 859 3460261
>>447477
Зачем меняться девушками?
860 3460268
>>460261
предложил другу поменяться тян
Х
теперь у друга 2 тян
861 3460281
>>460268
Было три тян, или питонист и похапешник были друг у друга тянами? Сложная задачка.
862 3460296
мужики если вашей компании джун нужен будет или стажёров набирать будете вы мне пишите ок?
863 3460299
Код на го быстро превращается в огромную мешанину
864 3460300
>>460296
Ну иди ко мне в пасть. Надо реализацию brAPI под микросервисную архитектуру на графовой БД накрутить. Денег у меня особо нет, т.к. я мутняра на пособии, но полкосаря евро могу в пике своих сил родить на это. Только опенсорс, никакой коммерции.
865 3460325
>>460281
могло быть так, что тян всего одна, но указателей на нее три
866 3460326
>>460300
иду к тебе в жопу, займусь твоим бекендом
867 3460332
>>460300
идея годная, лол
более адекватное ТЗ есть? хотел бы узнать подробнее
868 3460334
>>460299
Нет.
869 3460354
870 3460508
>>460299
Код на го пестрит бизнес логикой, файлами, сетью, базами данных в одном и том же месте. Но он всегда прямолинейный и никакой сраной магии, как в десятиэтажных фреймворках из джавы или пыхи. Из-за этого даже махровое легаси на го поменять под новые требования это изи. А проект на жабе только на свалку и всё заново.
871 3460539
>>460508

>Код на го пестрит бизнес логикой, файлами, сетью, базами данных в одном и том же месте.


А нахуя ты пишешь на го как бодто питономакака лабает бота для телеги? У нас ничего подобного в одном месте не лежит, за такое обоссут на ревью, а потом ещё увидишь 1:1 с лидом и хуман ресурсом в планере.
872 3460542
>>460508
На чистом пыхе тоже самое,а был бы комбайн типа ларавела на го так же сказал бы
873 3460549
>>460539
Как ориентируется в 1000 файлах?>>460539
874 3460565
>>460549
Самый большой сервис у нас где-то 40 файлов. Когда я работал плюсовиком, в проекте их было штук 200, если не 400, щас уже и не вспомню. И вот там крутые деды, которые машинный код читали быстрее русского текста, спокойно лепили логику, сети, файлы и базы в одно место.
875 3460606
>>460508
Двачую. Я пришел в голанг из дотнета и сначала не понимал, как тут живут без слоев и абстрактных абстракций. Потом наступило просветление. Сейчас смотрю на бывших коллег по сишарпу как на ебанутых, когда они начинают лепить сервисы над сервисами вместо того, чтобы просто прочитать данные из бд.
876 3460704
>>460332
Да хули узнавать, я просто селекцией увлекаюсь, селекционными картами и всей хуйнёй. Дай, думаю, поищу ЧЕ НА КОМП ПОСТАВИТЬ чтоб записи вести. Посмотрел, а там параша одна. Самое толковое - это CGIAR и от него проектик BrAPI. Ну я смотрю на него 0 а там вместо графовой БД реляционная, что мне не понравилось, да и информации в них хуйня и мало, есть какая-то платная параша для аутсорса селекции. Если тебе нужна паста с моим проектиком - я поделюсь. Ну я прикинул сколько я зарабатываю с всякой хуйни, ну я хуёво зарабатываю т.к. немного ёбнутый, но вот максимум могу на то, чтоб у всех людей такая штука удобная для селекции появилась могу родить 50косарей рублей в месяц. По сути это должен быть контейнер с веб мордой, который пишется на гоу, понимает HA кластеризацию (не ебет мозги кубернетесу в этом плане), общается с янусграфом или с dgraph и с кэширующей бд, ну там хранится граф потомков-поколений, можно завести пользователя и обмениваться своими наработками с другими чевакасм ставя цену на семки. Это кратко. Длинно там несколько ёбнутых паст которые никто не будет читать, но они у меня есть. Организациооно - потребительский кооператив, не коммерция. Я друга скоаптировал одного уже под это. Но мы не профессионалы, он вообще работал сварщиком и 3д модельки лепил. Я же просто кластер из серваком под это говно купил, немного позадротил пару лет тему и все, в жизни в айти не работал.
877 3460762
Нет инфы собираются ли в следующих релизах допиливать asn1 пакет стандартной библиотеки?
878 3460829
Чего вам не хватает в ядре голанга?
879 3460846
>>460829
бабла
880 3460847
>>460762
1.25 версия заморожена,жди 10 июня для RC1
881 3460848
>>460846
база
882 3460854
>>460847
Хуево, там из версии в версию кочует по сути полностью непригодный для использования пакет. Как будто TODO во всех пунктах
883 3460872
>>460854
Я уверен,что 1.25 будет проходной версией
884 3460877
>>460872
Я уверен, что никому не всрался пакет которым пользуются только работники телекома. Ну или ответ будет "лмао, напишите свою библиотеку, государство гугл вам ничего не должен"
885 3460883
>>460877
Для телекома есть эрланг
886 3460887
>>460883
Мне кстати понравился эликсир концептуально, учить его я конечно же не буду
887 3460943
Сап, подскажите пж, насколько это плохое/хорошее решение: у меня с фронта приходит задача в бек, которая кидается через брокер на исполнитель. Пользователю необходимо вернуть ответ от исполнителя, который прокидывается через тот же брокер обратно на бек.
У меня есть сомнения в том, оставлять висеть хендлер, а с ним и функцию бизнес-слоя в ожидании ответа это хорошая идея, даже с таймаутом, но с другой стороны у нас же все net/http из коробки хорошо распараллелено.
Как правильно подойти к данной задаче?
888 3460954
>>460943

>Как правильно подойти к данной задаче?


Оценить, какие проблемы решит усложнение архитектуры. Если проблем нет, то и зачем? Чтобы что? Если проблемы есть, то опиши их и уже будет понятнее, что и зачем надо делать.
889 3460991
>>460954
Как минимум мне кажется, что наличие брокера решит проблему наличия разных исполнителей. Но даже если не брать в расчет брокер, то остается факт того, что у меня сервис должен получить ответ и вот тут вопрос: насколько страшно оставить висеть функцию ждать ответа/таймаута?
890 3461055
>>460943
Звучит, будто ты пытаешься придумать свой апи гейтвей.
Подумай, как обойтись без брокера и асинхронных вызовов. Почему бы сразу не вызывать исполнителя?
891 3461072
>>460991

>насколько страшно оставить висеть функцию ждать ответа/таймаута?


Здесь нет универсального ответа. Насколько часто она выпадает в таймаут? Насколько критично тебе, что ресурсы заняты в простое? Напиши нагрузочный тест?
892 3461092
Что такое микросервис?
Screenshot 2024-01-20 at 05-16-31.jpg36 Кб, 272x292
893 3461136
>>461092
Устаревшая технология (паттерн архитектуры) прошлых десятилетий. Сейчас в ходу наносервисы - мощный и современный подход ориентированный проектирование веб-сервисов и облачных средств, учитывающий аспекты наиболее актуальных технологий разработки.
894 3461484
>>461055
Вполне возможно, как-то в голову не приходило. Суть в том, что я должен запускать пользовательский код (для контекста). Я получаю его в бек и думаю что нужно передавать в контейнеры для исполнения (1 контейнер - 1 язык условно).
Но в целом наверное условность апи гейтвей или брокер, вопрос скорее в том, как ответ получать. Тут же, наверное, либо оставлять висеть ждать ответ, либо после отправки на исполнение закрывать запрос и по готовности отправлять на фронт ответ. Но как сделать второй вариант, и насколько плохо ждать ответ.

>>461072

> Насколько критично тебе, что ресурсы заняты в простое


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

> Насколько часто она выпадает в таймаут


Там выше контекст накинул. По идее шанс таймаута минимален, не знаю что можно критического написать, чтобы оно хотя бы 5 секунд висело
895 3461541
>>461484

>бэст практис


Бэст практис на го это делать всё кейс бай кейс и рассказывать на собесах, что выкатываешь сервисы за один спринт.
896 3461562
>>461136
Слушай, откуда у тебя эта кукла? Можешь ещё фоточек поделать с ней? Чет в телеге нихуя не работает, ну его нахуй.
897 3461605
Когда появятся reduce and filter?
898 3461724
Кто что использует для написания гуя под десктопы?
Смотрю на gio ui но смущает отсутствие графического редактора наподобие qt designer
899 3461833
>>461724
веб
900 3461872
>>461484
Что значит плохо ждать ответ? Ты когда читаешь из бд или пишешь в кафку, ты тоже ждешь ответ, это физически другие машины в сети.
У тебя есть N серверов, которые запускают код в докере. Есть координатор. Приходит новый запрос, координатор выбирает свободного запускатора, например по раунд робину. Дальше координатор вызывает запускатора, напрямую без очередей, и ждет с таймаутом, как если бы ты ждал ответа от бд. Соответственно, клиент тоже сидит и ждет ответа от координатора, держит открытый коннекшен.
Если у тебя там охуенно долгий джоб типа перекодировки видео, то надо не ждать, а сразу вернуть айди задачи. Дальше клиент может по этому айди опросить сервис и узнать че как. Это уже другая архитектура.
901 3462275
До августа тут нечего обсуждать
image.png162 Кб, 272x292
902 3462499
>>461872

>Что значит плохо ждать ответ? Ты когда читаешь из бд или пишешь в кафку, ты тоже ждешь ответ, это физически другие машины в сети.



душный гандон
903 3462501
>>461724

> Кто что использует для написания гуя под десктопы?


electron + <iframe src=http://localhost:8080 /> + net/http
904 3462757
>>462499
Ну ты и пидор, чфоточек зажал с плюшевой игрушкой. Может я на них дрочу и мне надо.
Screenshot 2024-01-20 at 05-16-31.jpg36 Кб, 272x292
905 3462779
>>461562
От верблюда.
Снимок экрана 2025-05-26 123615.png1,2 Мб, 2511x942
906 3462816
907 3462832
>>462816
Спасибо. Милая штука, я почему-то захотел такую домой. Пиздец. Я ещё кукол-ведьмочек собираю. Извините, я ебанутый немного.
Котик.mp4763 Кб, mp4,
720x720, 0:06
908 3463587
>>453326

>отрицательные индексы


Жабаскрипт макака ты?

1. append
2. append
3. append
6. append
В один пункт вынести свой доёб религия не посзволяет?

>может вызвать утечки памяти


Как у тебя потечёт память в языке который подчищает GC и который использует только зелёные потоки?

>Нарушение принципа DRY


>вручную писать один и тот же код с `append(slice[:i], slice[i+1:]...)`


Ебать ты больная скотина, обколотый или пьяный это писал?

>хотя generics уже добавили


Троллинг тупостью или ты действительно не понимаешь суть дженериков?

>>458553

>И все равно,до php еще далеко этому языку


Когда там автолоадер классов или хотя бы свой пакетный менеджер из коробки добавят, быть может асинхронность из коробочки, а сервер одной строчкой кода в пехапе мы можем поднять или будем трахаться с NGINX'ом в 2025ом?
А то как то страшно, что разрабы композера съебут в закат и вся пыха перестанет обновляться...
Когда там великий и могучий пехапе выйдет на 10к RPS не подскажешь? А то все гиганты бегут на ненавидимый go пока php так мощно обновляется и не может в, что-то сложнее магазинчика с 1к онлайна.
909 3463622
>>463587

>трахаться с NGINX'ом в 2025ом?


А что там сложного

> что разрабы композера съебут в закат


А что если разрабы го свалят в закат?Ко-ко-ко,все передали сообществу!Ну так и композер тоже самое с многолетней историей

>Когда там великий и могучий пехапе выйдет на 10к RPS не подскажешь? А то все гиганты бегут на ненавидимый go пока php так мощно обновляется и не может в, что-то сложнее магазинчика с 1к онлайна.


ПХП хорош в своей нише и для своих задач.
910 3463673
>>463587

>Как у тебя потечёт память в языке который подчищает GC и который использует только зелёные потоки?


Легко, джун. Положил в контекст нетакую ссылку и пиздос.
911 3463755
>>463587

>Как у тебя потечёт память в языке который подчищает GC и который использует только зелёные потоки?


Вот прямо с утра ревьюил, чё шерстяной пидарас навайбкодил, у него рекурсия в горутине, то есть через пару дней аптайма эта хуйня выжрет всю память во вселенной.
912 3464011
>>463622
Есть же traefik
913 3464119
>>463622

>А что там сложного


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

> если разрабы го


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

>ПХП хорош


Был когда то

>>463673

>написал код не правильно и никто на ревью этого не заметил


Попробуй писать код нормально, джун.
914 3464166
>>453326

> Каждый разработчик вынужден вручную писать один и тот же код с `append(slice[:i], slice[i+1:]...)` в сотнях проектов.


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

>даже в С++ есть `std::vector::erase()`


В том-то и дело - ерейс, херейс, блекрейс, джейлбрейк... Усложнение выбора стандартными, но дополнительными вариантами для "типовой операции" - проблема многих языков.
915 3464277
>>464119
Слабо весь проэкт писать на go?
916 3464382
>>464119
Go это не замена пхп
917 3464525
>>464277
А в чём проблема? У нас даже эмбед на го, терминал на одноплатнике с универсальным драйвером периферии на го.
Кроме фронта конечно, он на жс.
918 3464688
Bump
919 3464703
>>464382
Если нужен микросервис - замена. Ну а так замена пхп это питон.
920 3465208
>>464703
А если я хочу магазин написать? То уже не замена?
921 3465368
>>465208
хоть магазин хоть что угодно - пхп ни в одной категории не победит. Он буквально стал популярный благодаря тому, что сервера под него были дешевые.
922 3465373
>>465368
У пхп есть козырь -ларавел,не надо велосипед городить
923 3465416
>>465373
ты даже не представляешь насколько ларавель сосет у джанги
924 3465421
>>465416
А джанго у рельс
А ну-ка расскажи
925 3465450
>>465421

>А джанго у рельс


хуельс. рельсы старое говно, дажнго тоже но посвежее.

>А ну-ка расскажи


делать мне что ли нехуй? возьми тоже поработай и с тем и с тем, а лучше один и тот же проект напиши и сравни. Разница пиздец какая огромная и она не в пользу ларки.
926 3465584
>>465373

>ларавел


Ваш козырь - дырявый
927 3466253
>>464703
А когда нужен микросервис,как понять?
928 3466396
>>466253
Очень просто. Если не знаешь, что точно нужен микросервис, то он не нужен.
16660376421190.mp4504 Кб, mp4,
1280x720, 0:02
929 3466475
>>464277

>Слабо весь проэкт писать на go?


В чём проблема написать проект на REST API?

>>464382
Как раз таки и замена и довольно выигрышная и в плане производительности, и в плане скорости разработки, и в плане направленности проекта.
Т.к на пыхе всё, что ты можешь это написать магазинчик на 4к RPS максимум, а дальше только костыли либо перекат бекенда на нормальный ЯП.
Раньше пхп выигрывал только и за стоимости разработки т.к в конкурентах были джава, решётка и остальные нишевые ЯП разрабы которых стоили как полёт в космос, а теперь когда есть ГО кабаны с деньгами дважды задумаются, стоит ли нанимать пхп макак, чтобы сделать свой магазин развившись коий придётся переписывать на нормальном языке. Вот тебе и замена, и замена довольно таки удобоваримая.
Зато в подыхающую пыху добавили типизированные константы и забили хуй на свой пакетный манагер, автозагрузчик классов, асинхронность из коробки ну и сервер инструментами языка поднять нельзя и ебитесь с нджинксом, а лучше с докером который написан на ГО, лул.

>>465373

>У пхп есть козырь -ларавел


Есть козырь и это симфони, нормальный фреймворк который застявляет пехапешника кодить как нормальный человек...
930 3466491
>>466475

>и в плане скорости разработки


А вот тут мимо
16737014758170.mp4574 Кб, mp4,
848x832, 0:05
931 3466515
>>466491
Почему мимо? Чем же быстрее трахаться с нгинксом пока гошники поднимут проект одной строчкой?
Чем же быстрее решать конфликты репозитория между двумя разрабами пока 2 гошника пилят два микросервиса не задевая функционал мейн ветки и друг друга?
Чем быстрее разработка монолита на пехапе?
чмок.mp43,6 Мб, mp4,
720x1280, 0:11
932 3466517
>>466491

>А вот тут мимо


А пачиму мимо я вам не расскажу, лучше смотрите в секретных каналах, да?
933 3466518
>>466515
Как минимум писанины больше на одно и тоже.
Это не язык быстрой разработки
934 3466534
>>466518
Практика показывает, что наоборот, на го фичи от идеи до релиза проходят в несколько раз(!) быстрее, чем на пыхе. Это реальный опыт Авито. Там сейчас и 4 тысячи микросервисов на го, и живой копролит на пыхе, в котором тоже что-то появляется.
Clown.mp41,3 Мб, mp4,
720x1280, 0:02
935 3466576
>>466518

>писанины больше на одно и тоже


Пехапешный дегенрат, я сервер одной строчкой в мейне поднимаю в отличии от тебя тупой макаки которая целый файл настроек для сервера пишет, о чём ты?
Вывод: Пыха просто устарела в ссилу того, что её разрабы попросту забили хуй на фундаментальные вещи и пилят фичи для типизированных констант
936 3466597
>>466576
А я на ноде.
Проблемы?
Котик.mp4763 Кб, mp4,
720x720, 0:06
937 3466602
>>466597

>Проблемы


2 + "2" = 22;
2 - "2" = 0;
[] + [] = '';
{} + {} = NaN;
null + null = 0;

А так никаких
938 3467635
>>390005 (OP)

> Golang prioritizes simplicity and explicitness, which is why it does not include built-in functions for operations like mapping and filtering directly on slices. However, this doesn’t limit the functionality; it encourages developers to implement these operations in a clear and efficient manner.


Вы вобще ебанутые?

Или вы реально в каждом своем проекте всё это сидите реализуете и копипастите один и тот же код?

Дженерики - есть
Итераторы - есть
В чем проблема?
939 3467694
>>467635

>Или вы реально в каждом своем проекте всё это сидите реализуете и копипастите один и тот же код?


А в чём проблема? Берёшь две недели на реализацию, копипастишь из соседней директории, просишь курсор пофиксить сигнатуры методов, летишь на две недели в Тай.
Да, го это язык для ненапряжного наёба кабанов.
940 3467758
>>467635
Пакеты для слайсов и мапы выкатили недавно,а фильтрацию забыли.Даже в жс есть фильтрация
941 3467965
>>467635

>Дженерики - есть


Очень ограниченные, тот же Optional не реализовать.

>Итераторы - есть


Но реализованы максимально через жопу.

>В чем проблема?


Все очень куцое. Например - вот вроде есть и Mutex и RWMutex, но максимально убогие. Reentrant не поддерживается, и даже нельзя узнать залочен он или нет. Простой сценарий работает, а что-то более сложное - пили свой велосипед.
942 3468079
>>467965
Студент, у тебя в голове насрано. Ты думаешь, чем больше хуйни насовали в язык, тем он вау круче. Для тебя сделали педераст, тред рядом.
Стикер63 Кб, 177x200
943 3468117
>>468079

>очередной подрыв тупого мудака, которому везде студенты мерещатся

944 3468182
>>468079
Надо боать с ванильного жс,там возможностей мизер
945 3468382
>>466602
Срочно сообщи в яндекс.клауд об этом,там не в курсе
946 3468497
>>468382
Перепишут
947 3468689
А че у вас тред почти мертвый.
Изучаю гошку по -> go101.org
Норм или что-нибудь другое поискать?
948 3468706
>>468689
Нет гоферов
949 3468714
>>468706
У меня почти все сеньки джависты коллеги уже на нем пишут, а ты говоришь нет
950 3468718
>>468714
>>468714
Пчел,ты спросил про ТУТ,а не вообще
951 3468723
>>468689
а че толку, нохаир тотальный.
для себя да, прикольно изучить, сам донована читал.
952 3468726
>>468723
Повысить конверсиью на долю процента создав два резюме, одно на текущем стеке (джаба), другое на го.
Да и делать просто нечего, сижу в пердях пытаясь продать старый семейный дом, ни знакомых ни эвентов ни ху я.
Так что между пивом и го, я лучше выберу го.
И я думал у вас с хаиром получше будет.
953 3468731
>>468726
У нас рынок слегка особенный, большая часть найма в крупные компании, а мелким конторкам гоферы не нужны. Так что надо за волнами найма следить, вот прямо сейчас ВК выгребает гоферов, а большинство остальных стопнули хайр, кроме сенек никого не смотрят.
954 3468743
Алсо, смотрю собесы по джаве, там как минимум 1 дядька сидит.
В го на собесах 2 кидфейса всегда.
Почему так?
955 3468818
>>468689
Потому что 90% треда - вкатуны/вайбкодеры/дауны. Одним словом - безработные.
956 3468846
>>468726
У меня тоже два резюме (питон и го). Сейчас учу английский и будет 4 резюме. Потом выучу девопс и будет 6, потом выучу крипту и будет 8...
957 3468856
>>468846
А работы 0.
958 3468906
>>468856
Чо вы найти работу не можете то? Меня в месяц 4-5 раз стабильно на собес зовут.
959 3468917
>>468906
Я всю жизнь проработал в стартапах, меня в крупные компании никогда и не звали (около года работаю, делаю проект с нуля и сваливаю на следующий). Сейчас стартапов в РФ нет, вот и я не у дел. Но зато выйду на международный рынок с двумя языками и 10+ годами опыта в стартапах и вот там то я насосусь кек
960 3468975
>>468906
Я на го еще не пытался, это со слов анонов. В джаве тоже сильно пока не искал, но ситауция не очень радужная там.
961 3469003
>>468818

>вкатуны/вайбкодеры/дауны


В треде толком нет обсуждения кода,и это не только про Го.
Да и постинг упал по всем языкам
962 3469006
>>469003
Пора уже выкатуном быть..
963 3469010
>>469006
Неиронично...
964 3469016

>Изучаю гошку по -> go101.org


Надо добавить этот сайт в шапку треда
Для кого? лол
965 3469062
>>469016
Кста, на работе тасочек пока нет, продолжаю не спеша читать 101go и вообще язык изучать. Сейчас на мапах/слайсах, еще даже не знаю как у вас мапа под капотом устроена, но интересно.
Передача в функцию похожа на джавовскую - копия.
Замыкания чуть чуть по другому работают и из-за невнимательности имхо могут какой-нибудь неожиданный эффект подкинуть.
Оживлю чуть чуть тред вам.
966 3469080
967 3469084
>>468975
Работа есть, просто убер-душная. Большая часть вакансий на говне - финтех. В котором хуяришь душные микросервисы и жсоны перекладываешь.
Думаю выкатиться в что-то повеселее типа лексира и хуярить телеком
968 3469223
>>469084

>финтех


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

https://go.dev/blog/error-syntax

>For the foreseeable future, the Go team will stop pursuing syntactic language changes for error handling. We will also close all open and incoming proposals that concern themselves primarily with the syntax of error handling, without further investigation.

970 3469390
>>469366
И так сойдет!
971 3469459
>>469366

>Coming up with a new syntax idea for error handling is cheap; hence the proliferation of a multitude of proposals from the community


>Coming up with a good solution that holds up to scrutiny: not so much


Правильно обоссывают критиканов ведь. Пиздеть - не работу делать. Пиздежа вида "я знаю как луДше" накопилось как говна, а реальную работу по изменению делать никто, конечно же, не хочет.
972 3469460
>>469459

>а реальную работу по изменению делать никто, конечно же, не хочет


Да без б сделали бы, просто любое предложение обоссывается фанатами другого предложения, и за пять лет обсуждений все наглотались мочи, но так и не нашли вариант, который понравился бы большинству.
973 3469461
>>469366
В голанге ошибки сделаны лучше. С эксепшенами ты на похуях ставишь трай-кетч на самом верху в контроллере, а потом оухуеваешь, когда из глубин ServiceImpl прилетает IndexOutOfRangeException. С fmt.Errorf ты на кажом вызове добавляешь отладочную инфу, в итоге проще понять что сломалось.
974 3469464
>>469460

>любое предложение обоссывается фанатами другого предложения


С дженериками то же самое ведь было, но с ними справились. В посте про это тоже написано.
975 3469475
>>469464
Чего не хватает дженерикам в ГО?
976 3469476
>>469475
Их там не было.
977 3469699
Дженерики так впилили, что задаешься вопросом: а нахуя они вообще нужны?
978 3469775
>>469080
Спасибо
979 3469958
>>469699
>>469699
Правильно,надо чтобы было как в версии 1.0
17491224058937777100783182318013.jpg37 Кб, 604x453
980 3470179
>>469461

>С fmt.Errorf ты на кажом вызове добавляешь отладочную инфу, в итоге проще понять что сломалось.


Никакой отладочной инфы никто, конечно же не добавлял. Просто ебашат место где получили ошибку, стектрейс для бедных.
981 3470211
>>470179
Ошибки за меня давно пишет жпт, ебашит туда и стектрейс, и отладочную инфу.
982 3470284
Go позиционирует себя простой язык не перегруженый всякими конструкциями.Гл версии выпускают 2 раза в год.Вопрос-как быстро Го превратиться в C++?
983 3470408
>>470284
никогда
нет коммитета - нет проблем
984 3470429
>>470408
Но есть сообщество и Гугл
985 3470442
>>470429
да, и нет комитета - это главное
986 3470466
>>470284

>язык не перегруженый всякими конструкциями


>Гл версии выпускают 2 раза в год


>превратиться в C++


Какая связь между всем этим?
987 3470505
>>470284
Не превратится. Смотри пример выше про спор насчёт обработки ошибок - пять лет жевали несколько вариантов и в итоге выбросили их все на помойку. В C++ имплементировали бы их все.
988 3470800
>>470505
А что же они будут тогда выпускать 2 раза в год?
989 3470932
>>470800
Ну посмотри что до этого выпускали и получишь ответ.
990 3471159
>>467758

>You can just use a for loop, which is more flexible in general. I am not being facetious; the filter operation tends to obscure allocation and overhead, and also tends to be overused. Although I may be in the minority, I do not believe this would be a wise addition to the standard library.


Не дождетесь
991 3471290
>>471159

>the filter operation tends to obscure allocation and overhead, and also tends to be overused


программирование 2025, люди боятся фильтр использовать
какая нахуй аллокация в фильтре ахахах
992 3471413
>>471290
Ну типо новый отфильтрованный список создать
993 3471414
Ставку до 20 снизили, жду подрыва найма на го на 1 процент.
И продолжаю по чуть чуть изучать.
Анон кидали видео с мапой посмотрел.
Алсо, что из себя представляет прод проект на гошке?
Это сервисы, которые используют какую-нибудь http либу для роутнига и sql либу для конекта и написания запросов с защитой от инъекций (я даже на 1 таком джавовском проекте поработал давно) или же все таки используются какие-нибудь фреймворки и вещи посложнее?
Если есть у кого гит проекта макс приближенного к реальному, буду благодарен, так как через неделю отпуск и планирую написать что-нибудь микросервисное с гейтвейм, аутх и парой сервисов + в кубер упаковать и графану/прометеус подключить
994 3471429
>>471414

>какую-нибудь http либу для роутнига


Есть такие микрофреймворки,но го сам имеет роутинг из коробки,щас даже добавили пропись методов GET POST прямо в роуте.А вот компоновка мидлваров неудобная.

>sql либу для конекта и написания запросов


Есть GORM,но писать через ОРМ не распространено,пишут через драйвер полностью sql запросы
995 3471434
>>471429

> через драйвер полностью sql запросы


Я это имел ввиду.
Никогда не думал, что буду благодарен первой работе на джава, где я за миску риса работал над проектом без спринга. Он использовал либу для роутинга отдельную которая в фукнциональном стиле позволяла писать эти самые роуты. И mysql драйвер для базы где все запросы писались руками и матчились в дто - select * from kaban_eblan where is_eblan = true and createad_at = ?
996 3471440
>>471434
Нейросети тебе в помощь.
Станешь сусликом
997 3471743
>>470211
А вот и вайбкодреы подтянулись.
image.png634 Кб, 807x447
998 3471855
>>471743
А ты до сих пор руками код пишешь?
999 3471878
Напоминаю,го это недоязык
1000 3471897
>>471878
А почему тогда мне за него хорошо платят, а у тебя вообще нет работы?
1001 3471898
>>471897
За КОБОЛ тоже платят
1002 3471902
>>471878
Тогда джава переязык.
Пойду в лисп вкатываться
1003 3471918
>>471898
Кобол – норм язык, какие у тебя с ним проблемы? Что ты вообще о нём знаешь?
1004 3471933
Перекатите тред
1005 3471947
>>471933
возьмите меня на работу
1006 3471953
>>471947
Умные люди ее создают сами
1007 3471965
Требуются хайлоад инженеры для погрузки щебня
1008 3471987
>>471965
Попробуй в растотреде, там целая бригада таких.
1009 3473265
Перекот: >>3473264 (OP) (>>3473264 (OP))
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее