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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 310 22 104
Go тред №28 /go/ Аноним 13/04/24 Суб 18:49:15 3121242 1
1024px-GoLogoBl[...].png 23Кб, 1024x385
1024x385
Go или Golang — компилируемый язык программирования от создателей таких шедевров, как UTF–8, язык С, UNIX, Plan9 и других. Go поддерживает типобезопасность, имеет богатую и универсальную стандартную библиотеку и инновационные семантики одновременности: все то, что мы в индустрии называем concurrency и parallelism. На сегодня язык Go является маяком стабильности, прагматичности, де-факто представляет из себя стандарт в мире бэкенд–микросервисов и серверного оркестрирования.

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

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

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

Прошлый тред:
>>3052664 (OP)
Аноним 13/04/24 Суб 19:14:08 3121272 2
есть ли аналог спрингбута для го
Аноним 13/04/24 Суб 19:18:10 3121276 3
>>3121272
это риторический вопрос
Аноним 13/04/24 Суб 19:24:56 3121289 4
и все же

просто хочу разобраться
Аноним 13/04/24 Суб 21:20:15 3121463 5
Аноним 13/04/24 Суб 21:24:08 3121467 6
Аноним 14/04/24 Вск 01:12:51 3121642 7
image.png 262Кб, 460x595
460x595
>>3120213 →
>Почему ровно такие же программы стали жрать в десятки раз больше ОЗУ?
Во всём виноваты индусы. Нация, которая не может научиться надевать презервативы, тем более не может научиться писать хороший код. Предлагаю зафорсить понятия pajeet-driven development и kumar-written code. Хорошо же звучат.
>>3120090 →
>у тебя там хард
А чем это плохо? Надо нормально писать софт, чтобы работало даже без твердотельника.
Аноним 14/04/24 Вск 02:20:28 3121650 8
>>3121642
Да вы заебали со своими паджитами. Если Кумар -- это хотя бы настоящее имя, то паджит -- это набор букв.

Индусы могут писать нормальный код, проблема в том, что в Индии все родители шлют детей быть юристами, врачами или программистами.
Чтобы называться юристом или врачом, надо лицензию, и для этого надо сдавать экзамен. Чтобы называться программистом не надо нихуя. Поэтому в программисты идут два типа индусов: те, кто к этому предрасположен, и самые тупые, даже тупее назаровских волков. И вторых просто дохуя, потому что самих индусов целый миллиард.
К счастью, подавляющее большинство этих тупых индусов недопрограммистов сидят в Индии и пишут что-то для своих индусских компаний.
Аноним 14/04/24 Вск 02:59:16 3121658 9
>>3121650
>Индусы могут писать нормальный код,
Двачую. Поддержиаал код за индусом. В целом - норм.
Аноним 14/04/24 Вск 09:16:12 3121708 10
>>3121272
1) Это не go way.
2) Если появится аналог спрингбута то зарплаты обвалятся как в джаве.
Аноним 14/04/24 Вск 10:14:03 3121734 11
>>3121708
>Если появится аналог спрингбута то зарплаты обвалятся как в джаве
Представление об экономике у пограммистов...
Чел, зарплаты обвалятся совсем по пругим приинам - вкатунов в голенг станет слишком много. Обфуксация кода не спасет. Вкатуны не имеют представления что хорошо, а что плохо в коде. Можешь у спросить пыхарей.
А раз зарплаты обвалятся, рано или поздно, в будущем ты будешь за еду пыхтеть над тоннами уникальной для каждого проекта легаси лапши.
Аноним 14/04/24 Вск 10:15:04 3121736 12
Аноним 14/04/24 Вск 11:48:32 3121829 13
>>3121650
>паджит -- это набор букв.
Я знаю. Но у них все имена примерно так выглядят. Недавно git blame показал, что автор очередной строки говнокода в проекте — Sandeep. Да и слово pajeet хорошо употребимо, когда нельзя сказать streetshitter или curry nigger.
>индусов целый миллиард
Почему их целый миллиард? Надеть презерватив не судьба? Это элементарное действие. Если они это не могут, то писать хороший код тем более.
>>3121658
So soy.
Аноним 14/04/24 Вск 15:16:28 3122168 14
>>3121829
>>паджит -- это набор букв.
>Я знаю. Но у них все имена примерно так выглядят.
Это обзывательство уровня чурок, чухонцев, хохлов, бульбашей. Впрочем, тебе, видимо, нормально:
>streetshitter или curry nigger
Потому что ты наци говно.
>>индусов целый миллиард
>Почему их целый миллиард? Надеть презерватив не судьба?
Ты тупой? Почему славян целых 300 млн? Надеть презерватив не судьба?
Это элементарное действие. Если они это не могут, то писать хороший код тем более.
Аноним 14/04/24 Вск 15:37:07 3122220 15
>>3121708
Появился уже, время вылезать из манямирка. Изобрели урезанную дажву - самое время изобретать урезанный спринг бут к ней. Гоферы переизобретают шаг за шагом джаву и гордятся что это "не джава".
Аноним 14/04/24 Вск 23:48:25 3122943 16
>>3122168
>наци говно
Осторожнее, так можно соевым молоком поперхнуться.
>Почему славян целых 300 млн
Русских миллионов 150, для такой территории ни о чём. И они вымирают. А индусов всё прибавляется и прибавляется, только в качество не переходит никак.
>чухонцев
С чухонью приятнее работать, они хотя бы белые.
Аноним 15/04/24 Пнд 00:23:35 3122957 17
>>3122220
Перекатился из джавы в го потому что прикольнее задачи, мне больше по кайфу переизобретать велосипеды чем круды клепать
Аноним 15/04/24 Пнд 01:02:44 3122967 18
>>3122957
Так а велосипеды-то твои в конечном счете что делают? Create Read Update Delete?
Аноним 15/04/24 Пнд 09:14:43 3123060 19
>>3122967
Мои велосипеды помогают джунам пилить круды
Аноним 15/04/24 Пнд 16:14:32 3123654 20
Аноним 17/04/24 Срд 00:18:35 3125758 21
>>3123654
Типо того но в масштабах побольше
Аноним 21/04/24 Вск 18:37:17 3130839 22
Аноним 21/04/24 Вск 19:49:08 3130943 23
>>3130839

лол это ж мемный abser

это ты еще до протобафа не дошел
Аноним 22/04/24 Пнд 12:43:34 3131561 24
Научился рисовать в fyne, но не могу найти как получать события нажатия кнопок и мыши.
Аноним 23/04/24 Втр 15:05:30 3132891 25
Скомпилировал на fyne простой графический хелло ворлд и получилось 27Мбайт в бинарнике. Для примера, на С и GTK такая программа весит 17 Кбайт.
Аноним 23/04/24 Втр 15:23:09 3132916 26
Аноним 23/04/24 Втр 15:44:22 3132943 27
>>3132891
>Для примера, на С и GTK такая программа весит 17 Кбайт.
А если всё статически слинковать?
Аноним 23/04/24 Втр 16:59:18 3133054 28
Аноним 23/04/24 Втр 22:35:00 3133407 29
>>3133054
Ты сам начал письками меряться. Ну так меряй в одинаковых условиях. Иначе на джава можно хеловорлд в килобайт уложить.
Аноним 23/04/24 Втр 23:17:38 3133454 30
Аноним 24/04/24 Срд 00:34:11 3133509 31
>>3132891
>>3133054
Почему в каждый гошный тред приходят залётные и начинают жёстко троллить тупостью?
Аноним 24/04/24 Срд 01:16:51 3133522 32
>>3121272
Если залетел в энтерпрайз, то го тебе нахуй не нужен.
Он для системной разработки, где ебля с памятью как в си/плюсах нинужна + нужны современные удобства: кромплатформенный билд, пакетный менеджер, не геморойное паралельное программирование.

Нуден энтерпрайз - шарпы/джава/тайпскрипт с нодой
Аноним 24/04/24 Срд 01:20:53 3133523 33
>>3133522
>Он для системной разработки, где ебля с памятью как в си/плюсах нинужна
/0
Что это за системная разработка такая, где ебля с памятью не нужна и бинарники по 100 мегабайт норма? Линукс ядро может?
Аноним 24/04/24 Срд 01:26:28 3133526 34
>>3133523
Более чем уверен, что ьы чуть ли не каждый день таким го софтом пользуешься.
Настолько шаришь в теме, что считаешь что без работы с памятью в системном никуда?
Аноним 24/04/24 Срд 01:49:13 3133532 35
>>3133454
Ну, по твоей ссылке это и написано.
Аноним 24/04/24 Срд 05:09:13 3133560 36
Всем доброго времени суток, подскажите, во что проще вкатиться для первой работы, PHP или Go?

Полгода изучал мобилки, отпугнуло малое количество ваканмий, + 1 друг и подруга никак там работу не могут найти с гораздо большим опытом в обучении чем я. Их даже в стажёры на собесы не зовут. Вот я и решил не тратить время и с более менее знаниями Котлина пойти в бэк (правда на Котлине вакансий на джуна в бэк совсем мало)
Аноним 24/04/24 Срд 07:53:21 3133597 37
>>3133560
РНР конечно же. Там и учить легче и вакансий больше, а требования ниже. В го ожидают, что ты уже знаешь какой-то стек и решил выучить его как второй язык. Потом из РНР можно будет перейти на го.
Аноним 24/04/24 Срд 09:33:54 3133636 38
>>3133597
пыха это почти всегда каловый фуллстак
Аноним 24/04/24 Срд 10:04:14 3133651 39
>>3133407
Это не одинаковые условия, а попытка нивелировать преимущества других языков по причине того, что го так не может.
Аноним 24/04/24 Срд 11:53:31 3133747 40
>>3133636
Это в чем минусы?
На Go один хуй нужны минимум мидлы которые в прошлом так же хуярили либо на Java, либо на любой другой хуете
Аноним 24/04/24 Срд 12:07:17 3133769 41
>>3133651
Это и называется одинаковые условия, малой
Аноним 24/04/24 Срд 12:28:39 3133791 42
>>3133769
Объясняю. Если у тебя в системе работает Gnome, то значит уже установлены библиотеки GTK. Зачем тогда в каждый бинарь их зашивать и раздувать объём программ? Динамические библиотеки не просто так придумали.
Аноним 24/04/24 Срд 12:57:08 3133824 43
>>3133791
Раз у тебя в системе стоит JVM, то значит уже установлены нужные библиотеки.
Поэтому Java побеждает с результатом 545 байт.
Аноним 24/04/24 Срд 13:26:19 3133861 44
>>3133791
PЗачем вообше го использовтаь для десктопа? ты сначала почитай для каких целец язык создавался
Аноним 24/04/24 Срд 13:30:09 3133868 45
>>3133824
А ведь и правда. Но там минус, что графические программы выглядят не нативно в системе.
Аноним 24/04/24 Срд 13:33:36 3133871 46
>>3133861
Гуглу нужен был язык для синих воротничков, потому что они не могли осилить С++. Но получается, что го - это не полноценная замена С++, а только для веба и консолек, при том ещё и не эффективная, с большими накладными расходами на размер.
Аноним 24/04/24 Срд 13:44:02 3133879 47
>>3133871
Для веба это лучший язык, особенно под микросервисы, + отличная многопоточка и удобное взаимодействие между горутинами
Аноним 24/04/24 Срд 20:08:59 3134260 48
>>3133871
> не эффективная, с большими накладными расходами на размер.
У тебя странные понятия о эффективности
Аноним 24/04/24 Срд 20:34:15 3134276 49
>>3134260
Разница в размере в 2000 раз - это странные понятия об эффективности? Видимо шутку про 128гигов про джаву пора переделывать под голанг.
Аноним 25/04/24 Чтв 00:21:40 3134455 50
>>3134276
Странно что в твоём понимании размер соотносится с эффективностью
Аноним 25/04/24 Чтв 07:59:52 3134615 51
>>3134455
Я ищу язык, на котором можно было бы писать эффективные программы под линукс. Бинари под сотню мбайт мне не подходят, так как занимают слишком много места. Я ориентируюсь на С, который генерирует бинарники в несколько кбайт для небольших утилит.
Аноним 25/04/24 Чтв 08:46:41 3134663 52
>>3134615
Ну так пиши на С, кто тебе не дает? Иди в тред Сишный и там жалуйся кек
Аноним 25/04/24 Чтв 09:45:40 3134696 53
>>3134663
А есть кросс-компилятор, который преобразует код на го в код на си?
main.go -> go-c -> main.c -> gcc -> main.exe
Аноним 25/04/24 Чтв 15:05:06 3135001 54
>>3134696
Ты дурак? У тебя в Го сборщик мусора, а в С ручное управление памятью. Как ты будешь кросс компилировать? А ещё легковесные треды управляемые рантаймом.
Аноним 25/04/24 Чтв 16:24:04 3135094 55
Аноним 25/04/24 Чтв 16:24:45 3135095 56
>>3134615
>на котором можно было бы писать эффективные программы под линукс
С/C++/Rust
Аноним 25/04/24 Чтв 17:04:05 3135174 57
>>3135095
В раст тоже бинари жирные от 500 Кб до 6 Мбайт на хеллоуворлд.
Аноним 25/04/24 Чтв 17:05:55 3135180 58
>>3135174
А тебе не похуй?
Какая разница какой размер у бинаря?
Аноним 25/04/24 Чтв 17:46:12 3135244 59
>>3135180
В линуксах сотни утилит. Представь сколько бы весила ОС, если бы их писали на голанге?
Аноним 25/04/24 Чтв 17:52:28 3135249 60
>>3134615
>эффективные программы под линукс
Под твой конкретный или под любой из дистрибутивов distrowatch?
Ящитаю что статическая сборка тут скорее плюч, чем минус.
Аноним 25/04/24 Чтв 18:01:55 3135263 61
>>3135244
Сейчас мода переписывать стандартные утилиты на голенг и раст. Я например пользуюсь fd и fzf
Аноним 25/04/24 Чтв 18:13:25 3135274 62
>>3134615
> Я ищу язык, на котором можно было бы писать эффективные программы под линукс
Если сетевые - go. Если низкоуровневые системные - с, с++, zig, rust в зависимости от знания языка и опыта который есть или который ты хочешь получить.
> Я ориентируюсь на С, который генерирует бинарники в несколько кбайт для небольших утилит
Размер бинарника - это самое маленькое что тебя будет беспокоить. Лучше подумай как ты будешь инструментировать свой код для поиска узких мест, например.

Писать новые проекты на C не рекомендую, получится ворох говна. Попробуй для начала разобраться в структуре и подходах какого-нибудь большого проекта, например в systemd. Но если твоя цель научиться писать на C большие проекты, ничего не имею против. Но ты должен принять, что на любую фичу ты будешь тратить существенно больше времени чем Ероха потратит на клон твоей утили на высокоуровневом языке с большими бинарниками, и пользоваться Ерохиным клоном будет проще.
мимо
Аноним 25/04/24 Чтв 18:37:09 3135297 63
>>3134276
Все шутки про джаву подходят по голенг, потому что это и есть урезанная джава
Аноним 25/04/24 Чтв 18:43:28 3135303 64
>>3134696
Зачем тебе кросс компилятор? Пиши сразу на си. Если тебе нужен кросс платформенный код - то тебе в джаву. А так очень сложно понять требования к программе.
Аноним 25/04/24 Чтв 19:56:44 3135429 65
>>3134696
Да.
gccgo -> exe - hexrays/ghidra.
Поможет ли тебе это хз.
Тепер нужен не кросс-компилятор, а транспилятор. Хочешь язык с таким - бери nim.
Аноним 25/04/24 Чтв 19:57:12 3135430 66
Аноним 25/04/24 Чтв 21:28:02 3135588 67
>>3134615
Эффективность не от языка во многом зависит, а от подхода к программированию. Можно убить С программу постоянными аллокациями в хип. Можно с умом написать так что джава летать будет.
Аноним 29/04/24 Пнд 12:12:00 3138591 68
Чем отличаются горутины от Pthreads?
В Pthreads можно задать размер стека (хоть 2КБ, как в горутинах).
Разве что у горутин собственный планировщик. Вроде ещё у Pthreads нет динамического изменения размера стека.
Аноним 29/04/24 Пнд 12:40:14 3138620 69
>>3138591
>Разве что у горутин собственный планировщик.
Так в этом то и весь смысл. Этот планировщик позволяет писать обычный последовательный код, без калбеков и прочей реактивщины. Но при этом он эффективно обрабатывает ситуацию с блокировками на IO и мьютексах.
Аноним 29/04/24 Пнд 14:42:39 3138744 70
>>3138620
>Этот планировщик позволяет писать обычный последовательный код, без калбеков и прочей реактивщины.
Чего? в Го вроде нет async/await, просто вызовы асихронных функций, и ты не можешь писать асинхронный код как синхронный. Или что ты имеешь в виду?
Аноним 29/04/24 Пнд 14:44:24 3138745 71
>>3138591
По-моему тем что pthreads - это реальные потоки, а горутины - это "зеленые" потоки, управляемые рантаймом го
Аноним 29/04/24 Пнд 15:41:27 3138813 72
>>3138744
>Чего? в Го вроде нет async/await, просто вызовы асихронных функций, и ты не можешь писать асинхронный код как синхронный. Или что ты имеешь в виду?
Я имею ввиду, что ты пишешь обычный, последовательный код: вызываешь, по сети другие сервисы, читаешь из базы, ждёшь пока освободится лок. А при этом планировщик Го делает так, чтобы тысячи горутин эффективно работали поверх десятка поатвюформенных тредов. Снимая с платформенного треда горутины которые сейчас заблокированы.
Аноним 29/04/24 Пнд 16:03:12 3138825 73
Зачем нужен го, если в джаве добавили виртуальные треды? К тому же конкарренси библиотека в джаве - самая лучшая среди всех языков. А конкарренси - это типа киллер фича го.
Аноним 29/04/24 Пнд 19:22:55 3139058 74
>>3138813
Всё равно не понимаю. Планировщик ОС тоже может эффективно управлять pthread'ами. И те pthread'ы, которые чего-то ждут, не будут выполняться. Даже если во время работы pthread начинает чего-то ждать, планировщик ОС немедленно его переключает на другой, не дожидаясь истечения отведённого кванта времени.
У pthread'ов можно настроить приоритет и стратегию планирования на любой вкус.
И чем горутины лучше всего этого?
Аноним 29/04/24 Пнд 19:55:52 3139087 75
>>3139058
Просто лучше и всё, понятно?! Сказали лучше, значит лучше, нужно за трендами следить
Аноним 29/04/24 Пнд 19:57:57 3139092 76
>>3138813
>чтобы тысячи горутин
А сколько у вас клиентов-то?
Аноним 29/04/24 Пнд 21:48:34 3139166 77
>>3139058
переключение тредов дороже, если коротко. про context switch почитай
Аноним 29/04/24 Пнд 21:50:19 3139167 78
>>3138825
затем что ни надо поднимать JVM, если в облаках то это кошельку бьет(если у тя кучу дев окружений)
Аноним 29/04/24 Пнд 21:54:09 3139170 79
>>3139058
Судя по этим статьям https://www.baeldung.com/java-virtual-thread-vs-thread
https://amansingh3110.medium.com/what-is-the-main-difference-between-native-threads-and-green-threads-66c448696cf1
основных преимуществ 2
- зеленые треды не требуют сискола (syscall) для переключения между ними и поэтому дешевле
- у зеленых тредов нет отдельной памяти под стэк, они используют память родительского настоящего треда, и соответственно ОС не надо под каждый зеленый тред аллоцировать полноценный объем памяти, что быстрее и экономнее
Аноним 29/04/24 Пнд 21:59:12 3139174 80
>>3138825
>Зачем нужен го, если в джаве добавили виртуальные треды?
Ну теперь уже - чтобы поддерживать легаси на Го
Аноним 29/04/24 Пнд 22:54:02 3139207 81
>>3139092
У нас миллиарды. Тут вопрос в том, насколько долгие у тебя запросы, Если у тебя запрос работает 10 секунд, и 1000 звпросов в секунду, то у тебя уже 10к тредов нужно при синхронной работе.

>>3139058
>Планировщик ОС тоже может эффективно управлять pthread'ами. И те pthread'ы, которые чего-то ждут, не будут выполняться. Даже если во время работы pthread начинает чего-то ждать, планировщик ОС немедленно его переключает на другой, не дожидаясь истечения отведённого кванта времени.
Планировщик может эффективно управлять только CPU time, но он не может эффективно управлять памятью стека. И на самом деле это главная проблема.
Большинство горутин имеют стек в пару килобайт, и им не нужны мегабайтные стеки. Но есть несколько горутин которым нужны большие стеки. И менеджить это все на уровне pthread, очень сложно. Плюс есть системное ограничение на количество потоков, у тебя тупо ядро начнет захлебываться, да и создание нового потока процесс дорогой.

>>3139170
>- зеленые треды не требуют сискола (syscall) для переключения между ними и поэтому дешевле
Иногда - требуют.
> Preemption at asynchronous safe-points is implemented by suspending the thread using an OS mechanism (e.g., signals) and inspecting its state to determine if the goroutine was at an asynchronous safe-point.
https://go.dev/src/runtime/preempt.go

>- у зеленых тредов нет отдельной памяти под стэк, они используют память родительского настоящего треда, и соответственно ОС не надо под каждый зеленый тред аллоцировать полноценный объем памяти, что быстрее и экономнее
То что называется - implementation specific. Проблема испольхования стека хост треда, в том, что при переключении надо копировать текущий стек. В других реализациях аллоцируют в куче.
Аноним 30/04/24 Втр 00:15:37 3139265 82
>>3139207
>Если у тебя запрос работает 10 секунд
то мне кажется что-то явно пошло не так
Аноним 30/04/24 Втр 11:22:25 3139520 83
>>3139265
>то мне кажется что-то явно пошло не так
с кругозором у современных разработчиков. Которые ничего кроме крудов не делали.

У нас например система в том числе и линейные уравнения решает, и там расчеты могут и десятки минут идти.
Аноним 30/04/24 Втр 11:30:14 3139527 84
>>3139520
В джаве на числодробилки выделяют тредпул платформенных тредов. А для сетевых запросов юзают виртуальные треды. В голованге не так?
Аноним 30/04/24 Втр 11:52:06 3139544 85
>>3139520
Вы делаете это неправильно. Долгие запросы ставятся в очередь, а пользователю возвращается токен, по которому можно проверить статус задачи через апишку. Никто не держит сокет 10 минут.
Аноним 30/04/24 Втр 13:29:32 3139665 86
>>3139520
Хм, это интересно, а можешь привести пример такого линейного уравнения, решение которого вполне оправдано занимает например 30 минут на современных процессорах?
Аноним 30/04/24 Втр 13:32:03 3139670 87
>>3139544
>Никто не держит сокет 10 минут.
Это просто тупые крудошлёпы не понимают ничего в программировании

Серьезные дяди с опытом солидно и прочно занимают сокет и неспеша, качественно выполняют свою работу
Аноним 30/04/24 Втр 13:33:50 3139673 88
>>3139670
Еще сходят неспеша чай попьют, а сокет - он не волк, в лес не убежит
Аноним 30/04/24 Втр 13:41:40 3139687 89
Аноним 30/04/24 Втр 13:43:04 3139690 90
>>3139687
То есть ты не смог привести пример такого линейного уравнения? Ок
Аноним 30/04/24 Втр 13:54:42 3139700 91
>>3139690
Ты тупой что ли? Системы линейных уравнений решаются методом гаусса, там сложность кубическая. Большинство методов оптимизации тоже имеют кубическую сложность. Для тупых это цикл в цикле в цикле for() { for () { for() {}}}
Аноним 30/04/24 Втр 14:54:24 3139758 92
Аноним 30/04/24 Втр 15:33:57 3139804 93
>>3139700
>. Для тупых это цикл в цикле в цикле for() { for () { for() {}}}
Это мало что значит и при должной оптимизации доступа к памяти из кэша процессора будет летать, и это не учитывая параллелизм.
Аноним 30/04/24 Втр 20:41:38 3140139 94
Как уменьшить размер скомпилированных файлов?
Аноним 30/04/24 Втр 21:53:41 3140204 95
>>3139804
Да чо ты ему объясняешь, это же тот шиз обсирающий гоху.
Аноним 01/05/24 Срд 09:10:03 3140426 96
Почему го тур есть на польском и даже на украинском, а на русском нет?
Аноним 01/05/24 Срд 09:51:45 3140474 97
>>3140426
Потому что ру локализация устаревшая. Сделай мр с актуализацией, и будет тебе русский язык
Аноним 01/05/24 Срд 09:53:13 3140480 98
>>3140426
ЛГБТ в России запрещено
Аноним 01/05/24 Срд 11:46:58 3140629 99
Аноним 01/05/24 Срд 12:40:15 3140687 100
>>3139527
В Го нет не виртуальных тредов, но в Го вытесняющая многозадачность для горутин, так что и вычислительные треды нет смысла куда-то выносить даже если бы было можно.


>>3139544
>>3139670
Этот поц ещё будет нас учить, как делать коммерцию!
У нас между сервисами gRPC стримы, которые шлют результат по мере готовности. Плюс сам gRPC держит соединение и по одному сокету шлет все запросы и ответы. Так что ваши рестональные бест практисиз не очень релевантны.


>>3139665
Планирование ресурсов. У тебя есть некий набор локаций, в каждой из который есть набор ресурсов, и набор потребителей этих ресурсов. Тебе надо их наиболее оптимально их распихать по этим локациям с учетом разных ограничений: доступность специфичного ресурса, необходимость чтобы какие-то потребители были в одной локации и т.п.
Аноним 01/05/24 Срд 12:55:33 3140703 101
>>3140687
>У нас между сервисами gRPC стримы, которые шлют результат по мере готовности

А это как возможно? Или в gRPC не нужно каждый раз открывать/закрывать соединение?
Типо прицепился к grpc соединению и можешь хавать от потребителя данные, которыми он пукает раз в минуту?
Аноним 01/05/24 Срд 13:03:00 3140708 102
Аноним 01/05/24 Срд 17:01:55 3141086 103
>>3140687
>Планирование ресурсов. У тебя есть некий набор локаций, в каждой из который есть набор ресурсов, и набор потребителей этих ресурсов. Тебе надо их наиболее оптимально их распихать по этим локациям с учетом разных ограничений: доступность специфичного ресурса, необходимость чтобы какие-то потребители были в одной локации и т.п.
И ты хочешь сказать что это занимает 30 минут? Такие задачи за секунду максимум решаются. Поэтому я и просил собственно линейное уравнение, которое никто не может дать, а не примерно-размытое описание задачи.
Аноним 01/05/24 Срд 18:02:00 3141179 104
>>3141086
>реши np задачу за секунду, гы
Какие же кодомакаки без диплома дегенераты, ей богу. Раньше такое бы писать постеснялись, а сейчас анальник гордится своей необразованностью. Иди жсоны грузи и не пытайся умничать.
Аноним 01/05/24 Срд 18:47:40 3141266 105
>>3141179
молодец, быстро слился
Аноним 01/05/24 Срд 22:42:56 3141621 106
>>3141179
не понял, а причем здесь полиномиальное время? полином может быть просто маленьким
Аноним 02/05/24 Чтв 09:50:36 3141870 107
>>3141086
Несколько десятков ресурсов, сотня-другая локаций и сотня тысяч потребителей вполне себе могут дать 30 минут расчёта.

>Поэтому я и просил собственно линейное уравнение, которое никто не может дать, а не примерно-размытое описание задачи.
Разумеется там не одно уравнение, а система уравнений, потому что для потребителя должны быть соблюдены все требования по ресурсам которых больше одного и требования по колокации.
Аноним 02/05/24 Чтв 19:36:28 3142713 108
А были ли какие-либо серьезные изменения в балансе за пол года? Сигрид все также топ?
Аноним 03/05/24 Птн 11:01:10 3143098 109
изображение.png 5Кб, 333x62
333x62
>>3142713
Ахах, не туда и только заметил.
Аноним 04/05/24 Суб 13:44:35 3144463 110
Пробовал GOвно это, кринжатина та ещё. Для любителей под копилот писать говно-функции, которые написаны были в других языках лет 20 назад.

Мой лид что-то там пол-года уже пишет хуету-апи какую-то на говне и никак допилить не может, которую я бы написал на своём языке за неделю, лол.
Аноним 04/05/24 Суб 18:26:30 3144808 111
>>3144463
мб проблема в лиде?
Смотрел курс по go от авито так там уровень абстракций не хуже чем на шарпах/явах и спрашивается нахуя тогда го нужен? если пишут так же по сути, только еще свои правила вставляют а наследования нет и дженериков нет
Аноним 04/05/24 Суб 18:40:15 3144822 112
>>3144808
>нахуя тогда го нужен
А нахуя нужен шарп/ява?
Аноним 04/05/24 Суб 18:50:18 3144835 113
>>3144822
Для крупных прил + весь инструментал из под капота, не? а ваще мне пох кто че юзает главное чтобы кабан платил
Аноним 04/05/24 Суб 19:03:03 3144850 114
>>3144822
Исторически чтобы зааутсорсить всю разработку в Индию.
Аноним 04/05/24 Суб 22:19:25 3145093 115
>>3144822
чтобы не ебаться с разными длинами int под каждую комбинацию ос + архитектуры, 5ю конструкторами, сегфолтами и даблфришками.
Аноним 04/05/24 Суб 23:03:24 3145118 116
>>3144835
>>3144850
>>3145093
Перепись джавапетухов завершена, пройдите в свой скуфозагон.
Аноним 05/05/24 Вск 02:08:09 3145214 117
16559179461022.webm 2536Кб, 318x240, 00:01:25
318x240
Чем лучше генерить код в го? Если скажем у меня есть структуры и надо им логику прописать?
Мне удобнее с помощью рефлектов собрать мета информацию и подсунуть её в шаблон. Но почему-то во всех примерах кодогенерации используют аст, хотя, как по мне, им пользоваться сложнее.
Аноним 05/05/24 Вск 15:35:10 3145533 118
>>3144463
>я бы написал на своём языке за неделю
Да ты бы, весь гугл переписал за месяц а потом бы проснулся
Аноним 05/05/24 Вск 15:37:30 3145537 119
сделал диплом на джанго, вакансим с ним нет, вкатываюсь в го....
пожелайте удачи
Аноним 05/05/24 Вск 16:01:33 3145557 120
>>3145537
Three month's later...
>катился в го, без опыта не берут, вкатываюсь в джаву....
Аноним 05/05/24 Вск 16:22:52 3145577 121
>>3145557
а что делать?
с джавой на стажировку/место джуна вообще хуй попадёшь же? миллион человек на одно место
ололо вкатывайтесь в 1с
Аноним 05/05/24 Вск 16:30:26 3145584 122
>>3145577
>с джавой на стажировку/место джуна вообще хуй попадёшь же? миллион человек на одно место
Блять да зачем вам стажировка? Ну типа... разве ты не получаешь опыт просто работая? Почему бы просто на обычную не-джуниорскую/не-стажёрскую вакансию не подать заявку?
Аноним 05/05/24 Вск 16:40:10 3145603 123
>>3145577
Да это решай сам конечно, но гошка по большей части для перекатунов. Джунские вакухи видел только в говноCRM в ДС в офис.
Аноним 05/05/24 Вск 17:47:54 3145673 124
>>3145577
А ты искал вакансии на хх или просто так, от фонаря сказанул?
Аноним 05/05/24 Вск 19:23:23 3145780 125
>>3145603
>но гошка по большей части для перекатунов
Лол, нет. Гошка как раз для упругих зумеров. Всяких джаваскуфов и прочих шарпомух не берут в команды, т.к. у них мозги засраны и они слишком старые
Аноним 05/05/24 Вск 19:53:13 3145814 126
>>3145533
Там простой микросервис для маленькой апи с парой эндпоинтов :)
Видимо для GOлангеров это такая серьёзная проблема и работы на пол-года. Тогда нахер этот язык нужен?)
Аноним 05/05/24 Вск 21:57:47 3145927 127
>>3145584
>Блять да зачем вам стажировка? Ну типа... разве ты не получаешь опыт просто работая? Почему бы просто на обычную не-джуниорскую/не-стажёрскую вакансию не подать заявку?
Да вкатуны придумывают себе проблемы какие-то, ПРОСТО берешь и устраиваешься синьор разрабом в Гугл.
Аноним 05/05/24 Вск 22:51:05 3145961 128
>>3145814
>Тогда нахер этот язык нужен?)
это хороший вопрос
Аноним 06/05/24 Пнд 00:35:00 3146005 129
image.png 2Кб, 311x82
311x82
Как focus terminal показывать на панели как на скрине?
Я его убрал и теперь галочку найти не могу
Аноним 06/05/24 Пнд 00:48:23 3146019 130
Всем привет!

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

До этого 3+ реальных лет работал в самых крупных ойти-конторах, закончил баку-магу престижных вузов и все такое. Хочу лишь понять, какие тулзы/фреймворки/уровень гохи необходимо овладать, чтобы стать заветным наносеком.

Спасибо!
Аноним 06/05/24 Пнд 01:05:18 3146028 131
>>3146019
>что нужно заботать, чтобы успешно пройти собеседования на 500к-синьора?
Приди на собеседование и сам узнаешь. Мы не знаем твоих способностей и гадать не будем. Знаешь как это работает? Ты приходишь, тебя спрашивают допустим какие способы обработки ошибок в go ты знаешь? Ты такой э-э-э пук среньк. Интервью заканчивается, мы вам перезвоним. В блокноте отмечаешь моменты где ты обосрался. Повторяешь. Идёшь на новое интервью. Снова отмечаешь моменты где ты обосрался. Снова повторяешь. Вопросы на 80% интервью типичные. И так до тех пока не устроишься на 500к синьора.
Аноним 06/05/24 Пнд 01:07:49 3146030 132
>>3145814
> Тогда нахер этот язык нужен?)
Лутать зп выше чем на схожих вакансиях на другом стеке. Гоферов пока все ещё мало, кабан готов доплачивать
Аноним 06/05/24 Пнд 01:33:22 3146033 133
17011574677092.mp4 939Кб, 272x480, 00:00:15
272x480
>>3146019
>До этого 3+ реальных лет работал

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

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

>какие тулзы/фреймворки/уровень гохи необходимо овладать, чтобы стать заветным наносеком

кафа, постгре.
Если сможешь рассказать несколько изощрённых кейсов оптимизации при работе с бд или самой бд. Считай ты почти сеньор.
Аноним 06/05/24 Пнд 02:32:51 3146039 134
Голаны, какая щас вилка у мидла - 3 года на го?
Планирую просить летом повысить ЗП. Думаю на какую цифру ориентироваться.
Сейчас 200к.
Аноним 06/05/24 Пнд 05:00:26 3146045 135
>>3146028
>Вопросы на 80% интервью типичные
>успешно пройти собеседования на 500к-синьора
>В блокноте отмечаешь моменты где ты обосрался. Повторяешь
У тебя с таким подходом будет максимум 3-5 попыток. Затем у тебя закончатся компании, которые могут платить 500к сеньке и ты уйдешь в кулдаун минимум на год. А остальные компании платят примерно 200-250к
Аноним 06/05/24 Пнд 05:01:22 3146046 136
>>3146033
>Потому что чтобы быть мидлом/сеньором на го, если ты до этого был мидлом/сеньором на другом языке, нужно пройти готур.
Лол, нет. Видал таких джавистов, которых взяли потому что "ну они же сеньоры на джаве". Писали при этом неидиматичный помойный код "как на джаве". Выгнали на хуй)))
Аноним 06/05/24 Пнд 05:01:52 3146047 137
>>3146039
>Голаны, какая щас вилка у мидла - 3 года на го?
Ну открой гетмутч и посмотри сколько компании предлагают...
Аноним 06/05/24 Пнд 09:18:31 3146108 138
>>3146030
>>3146039
Вот человек написал, 200к и 3 года на го. Это называется лутать выше?) У меня и без го 250к и я даже не старался искать более денежные проекты.

Чтоб лутать выше других - самому кабанычем надо становиться. И лучше в своём стеке всегда расти, чем менять на новый и начинать с нуля.
Я понимаю когда новичок идёт в го. Но это оче смешно выглядит, когда 10летний лид пытается вкатиться в другой стек.
Аноним 06/05/24 Пнд 11:17:49 3146183 139
>>3145927
>Да вкатуны придумывают себе проблемы какие-то, ПРОСТО берешь и устраиваешься синьор разрабом в Гугл.
При этом даже не обязательно знать Го! Достаточно знать любой современный язык.
Аноним 06/05/24 Пнд 11:28:08 3146189 140
>>3146183
На хакерньюс писали, что все новые сервисы в гугле пишутся на go/python.
Аноним 06/05/24 Пнд 12:05:06 3146232 141
>>3146108
Ну так это проблемы человека который работает за такие суммы. Я сам в Латвии, получаю ~90к в год при тех же 3 годах опыта. Хз насколько это коррелирует с рынком в РФ, но у нас реально кабаны платят среднему го разрабу больше чем джавистам, шарперам и прочим. С другой стороны, внутренней кухни других стеков я не знаю, вкатился сразу на го
Аноним 06/05/24 Пнд 12:30:45 3146270 142
>>3146189
Не совсем. Для написания новых сервисов выбор по умолчанию: С++/Раст, Джава/Котлин и Го. Для SRE рекомендуется Го, Питон рекомендуется для МЛ. Но это рекомендации, а не требования. Команда может выбрать и другой язык, если есть веские причины.
Аноним 06/05/24 Пнд 13:10:26 3146326 143
>>3146232
Как в принципе научиться писать идиоматичный Go код? Ну, чтобы прямо по красоте было
Аноним 06/05/24 Пнд 13:18:29 3146339 144
Где вообще можно посмотреть примеры как надо использовать кафку/кролика, как управлять транзакциями и так далее? Про project-layer не надо, там кал.

Я смотрел репо курса от авито там в целом понятно, но неужели в го все пишут свой tx manager, closer?
Аноним 06/05/24 Пнд 13:23:02 3146347 145
>>3146232
Ну так откуда ты знаешь сколько платят джавистам, если никогда в джаве не был? Никто этого не знает, кроме компаний с этой секретной информацией.
По твоему примеру как раз надо не в го вкатываться, а в английский/немецкий и работать напрямую на западные денежные проекты. До фонаря вообще какой стек, кабанам насрать на чём ты пишешь - всё зависит сколько денег это приносит.
Аноним 06/05/24 Пнд 13:38:05 3146362 146
>>3146339
>как надо использовать кафку/кролика
Никак не надо. Ты не второй гугл или фейсбук. Просто складывай все в базюльку, а потом шедуль функцию, чтобы та грепала данные из базюльки. Короче - мути очередь поверх базюльки
Аноним 06/05/24 Пнд 14:01:20 3146386 147
>>3146347
Ну я же не слепой, плюс минус представляю какие вилки.
> По твоему примеру как раз надо не в го вкатываться, а в английский/немецкий и работать напрямую на западные денежные проекты. До фонаря вообще какой стек, кабанам насрать на чём ты пишешь - всё зависит сколько денег это приносит.
Ты как бы прав, но я же не про это говорил. Я тебе говорю что сегодня го разраб кабану стоит больше (генерирует ли он больше прибыли, это уже вопрос) чем схожий по компенсациям но не на го.
>>3146326
Прочитай стайл гайд от убер. В моей карьере ещё не встречал людей которые пытались бы его оспорить
Аноним 06/05/24 Пнд 16:25:39 3146556 148
>>3146386
Потом такой приходишь к лидеру рынка, а там только ловят паники наверху, томучо ифэрризнотнил тяжело читать.
Аноним 06/05/24 Пнд 16:45:07 3146577 149
>>3146556
>там только ловят паники наверх
Как будто, что-то плохое.
Аноним 06/05/24 Пнд 18:18:21 3146666 150
Попробовал gotk3 (типа gtk3) и результат бинарников получше, чем у fyne - около 5 Мб на простое приложение. Но компилируется почему-то гораздо дольше. Видимо, автор библиотеки gotk3 больший криворучка, чем автор fyne. И по зависимостям видно, что он тянет всякое бесполезное дерьмо типа цветных буков в консоли или логгеров. И это для GUI-библиотеки!
Аноним 06/05/24 Пнд 19:55:13 3146780 151
Многие прочат го на замену си, но я не вижу, чтобы это было возможно.
1) Го тянет с собой рантайм, засовывает все возможные библиотеки в бинарник, а создание библиотек в принципе не возможно.
2) Авторы жаловались, что си долго компилируется, но это го долго компилируется, потому компилирует каждый раз всё целиком. В си я всегда могу выделить библиотеки или компилировать отдельными файлами, а если их не изменять, то сбощик типа make никогда не будет создавать новый о-файл. Таким образом работать будет только компилятор на измененных файлах и компоновщик.
3) На си можно написать любую программу. Даже если не брать системное программирование, а только прикладное, то даже здесь го не покрывает все направления.

В итоге го получается узкоспециализированным языком для написания сетевых сервисов. Не более.
Аноним 06/05/24 Пнд 20:06:07 3146789 152
>>3146045
>остальные компании платят примерно 200-250к
Ну значит такова твоя рыночная цена. Если барбершоп ставит 10к за стрижку и никто не приходит, значит ли это что рынок плохой? Значит твои услуги не стоят 500к и на рынке есть более дешевые исполнители которые делают как минимум не хуже.

>У тебя с таким подходом будет максимум 3-5 попыток
Ну да, это ведь последние компании в мире... других стран нету, нет Германии, Швеции, Дании, Японии, ОАЭ и прочих.
Аноним 06/05/24 Пнд 20:21:29 3146801 153
>>3146780
Мне ПРИЯТНЕЕ писать на go. Я КОМФОРТНЕЕ себя чувствую. Зачем мне твой си, где я буду как бичара ковырять makefile'ы, в консольке в gdb трясущимися руками набирать команды чтобы сделать пошаговый дебаг.

Да я знаю, что это не самый производительный язык в мире. И чё? А я разве участвую в конкурсе "самая скоростная программа года"? Для моих задач он вполне подходит, от того что бандл на Х мегабайт больше - переживу как-нибудь. Больше и больше, не конец света. Глобальной катастрофы не случится, да и похуй.
Аноним 06/05/24 Пнд 20:39:18 3146813 154
>>3146780
>но я не вижу, чтобы это было возможно
Пока ты не видишь, го уже захватил нишу. Ты со своей критикой опоздал на 7 лет. Тезисы твои даже не читал, пиздуй обратно в свой vala-тред.
Аноним 06/05/24 Пнд 21:01:47 3146829 155
>>3146780
Всё так.
Только Zig замена Си
Аноним 06/05/24 Пнд 21:03:33 3146832 156
>>3146801
Литерали тут можно любой другой язык подставить, даже джаву)
А потом рассказывают как go про перформанс)
Аноним 06/05/24 Пнд 23:01:09 3146909 157
>>3146780
>2) Авторы жаловались, что си долго компилируется, но это го долго компилируется, потому компилирует каждый раз всё целиком. В си я всегда могу выделить библиотеки или компилировать отдельными файлами, а если их не изменять, то сбощик типа make никогда не будет создавать новый о-файл. Таким образом работать будет только компилятор на измененных файлах и компоновщик.
Это ты локально можешь собирать инкрементально, а билд сервер собирает с нуля всегда.

>3) На си можно написать любую программу. Даже если не брать системное программирование, а только прикладное, то даже здесь го не покрывает все направления.
И какие же направления прикладного программирования не покрывает Го, но покрывает Си?
Аноним 06/05/24 Пнд 23:27:42 3146928 158
>>3146909
>И какие же направления прикладного программирования не покрывает Го, но покрывает Си?
микроконтроллеры? всякие умные кассы/устройства с ограниченными ресурсами?
Аноним 07/05/24 Втр 01:03:05 3146971 159
фото-путин-поли[...].jpeg 71Кб, 1080x1080
1080x1080
>>3146046
>Писали при этом неидиматичный помойный код "как на джаве"
>Выгнали на хуй
мань за такое не выгоняют. Если человек не хочет придерживаться практик предприятия, то это проблема софтов, а не хардов.
Аноним 07/05/24 Втр 02:13:00 3146979 160
>>3146780
>Многие прочат го на замену си
ссылки на этих многих можно? Опять поди какие-то твои протыки хайпожуры.
Го никогда не позиционировался как замена си. Это замена в первую очередь джаве, во вторую питону и мусорным языкам типа пхп и лишь в некоторых кейсах плюсам.
Аноним 07/05/24 Втр 05:04:37 3146988 161
>>3146971
>Если человек не хочет придерживаться практик предприятия, то
то его выгоняют
Аноним 07/05/24 Втр 06:50:38 3147007 162
>>3146971
Не корми его. Это местный дурачок, он в каждом треде постит охуительные истории, как джависты не смогли перейти с null на nil и их всех уволили.
Аноним 07/05/24 Втр 08:05:11 3147042 163
>>3147007
Нет, это не охуительные истории, это необучаемость. Я ему вполне верю.
мимо бывший джавист, видел как скуфы не осиливали новые концепции котлина и устраивали истерики.
Аноним 07/05/24 Втр 08:20:12 3147045 164
>>3146928
>микроконтроллеры? всякие умные кассы/устройства с ограниченными ресурсами?
Это не прикладное, это системное.
Аноним 07/05/24 Втр 08:21:54 3147046 165
golang the best.png 810Кб, 1487x905
1487x905
>>3146813
Я не опоздал. 7 лет назад я тоже самое писал. Но ты тут не сидел видимо.
Аноним 07/05/24 Втр 08:41:51 3147049 166
>>3146909
>не покрывает Го, но покрывает Си
Консольные утилиты и GUI-приложения

>>3146979
Сами разработчики го постоянно пишут о том, что го - это якобы замена си. Что си видите ли долго компилируется у них, что на си писать сложно, а на го просто. Это подхватили и другие сподвижники, даже в ру-коммьюнити примерно тоже самое говорят.
Если буду вновь сталкиваться, то накидаю вам ссылок, если так не верите.
Аноним 07/05/24 Втр 10:12:03 3147130 167
Почему rune является псевдонимом int32, а не uint32? Какой смысл в знаке для символа?
Аноним 07/05/24 Втр 10:35:22 3147161 168
>>3147045
пишут то приложения, а не операционные системы
Аноним 07/05/24 Втр 11:21:31 3147191 169
>>3147049
>Сами разработчики го постоянно пишут о том, что го - это якобы замена си.

Си уже умер и живёт только в ядрах.
И то, только потому, что множество плюсовиков и множество Kernel хакерс почти не пересекаются. Ну и потому что Торвальдс глуповидный.
Аноним 07/05/24 Втр 11:34:08 3147211 170
>>3146979
>во вторую питону
Ну в гугле питон гошкой не заменяют, а дополняют.
Аноним 07/05/24 Втр 11:43:30 3147220 171
>>3147049
>Консольные утилиты и GUI-приложения
Консольные утилиты можно прекрасно писать на го. А GUI-приложения одинаково херово пишутся, что на го, что на си.
Аноним 07/05/24 Втр 11:46:24 3147227 172
>>3147220
Покажи ГУЙ на Го.
Не видел. Не слышал даже пока.
Аноним 07/05/24 Втр 12:15:07 3147265 173
>>3147220
Ага, по 2 Мб хеллоу ворлд в противовес 16 Кб на си.
Аноним 07/05/24 Втр 12:18:55 3147272 174
>>3147191
>Торвальдс глуповидный
Альтернатив си нет. Торвальдсу придётся самому написать новый язык на замену си, как в своё время он написал гит. Го, как выше было показано, не может стать заменой си.
Аноним 07/05/24 Втр 12:27:54 3147278 175
>>3147265
Ок, ты прав, хелловорлд действительно лучше писать на си.
Аноним 07/05/24 Втр 12:43:35 3147302 176
>>3147278
Ты не напишешь столько логики, чтобы она перевесила эти 2 Мб. Посмотри в /bin размеры консольных утилит. Они там все в пределах 100-200 Кб.
Аноним 07/05/24 Втр 13:29:00 3147330 177
>>3147049
>Сами разработчики го постоянно пишут о том, что го - это якобы замена си
ты давай не виляй кидай ссылки на этих гигантов мысли
>>3147191
вот этот не считается, если что. Даже как-то комментировать лень. Чел поди даже про cgo не знает.
Аноним 07/05/24 Втр 14:21:10 3147398 178
>>3146577
Дядя основатель и убер твердят, что надо везде ифэрризнотнил шлёпать. Тот же итератор из-за этого бойлерпринта превращается из нескольких десятков строк в колбасу с ифами. А паниковать типо плохая практика.
Аноним 07/05/24 Втр 16:50:45 3147549 179
>>3147265
Нищебляди с 128Gb HDD должны страдать!

>>3147227
>Не видел. Не слышал даже пока.
Докер десктоп. Там "фронт" на реакте, а бэк на го.
Аноним 07/05/24 Втр 17:30:12 3147584 180
>>3147302
> Ты не напишешь столько логики, чтобы она перевесила эти 2 Мб. Посмотри в /bin размеры консольных утилит. Они там все в пределах 100-200 Кб.
И что мне эта экономия ЦЕЛЫХ 2 мб даст?
Аноним 07/05/24 Втр 17:46:32 3147612 181
>>3147584
Консольная утилита же не одна. Умножай на 100, 1000, 10000.
Аноним 07/05/24 Втр 17:47:53 3147617 182
>>3146829
>Zig
У меня почему-то негативные ассоциации от такого названия языка
Аноним 07/05/24 Втр 19:40:02 3147731 183
>>3147398
>А паниковать типо плохая практика.
Потому что паника в сделана так, что это средство остановить программу, а не выбросить эксепшен. Например: у тебя есть метод который что-то запрашивает из другого сервиса и ты в нём паникуешь, а наверху у тебя рекавер. И всё хорошо пока в один день тебя не понадобится вызвать ещё один сервис и ты не засунешь оба вызова в горутины. И тут то паник закрешит всё приложение, потому что рекавер внутри го фанк() ты забыл.

Когда у тебя из основного потока стартует несколько горутин/виртуальных тредов/асинхронных вызовов, то обработка ошибок уже требует больше усилий. Авторы го решили, что явно возвращать ошибки это хорошо. И в принципе я с ними согласен, в этой части. ЕррорГруп простое и понятное решение, особенно по сравнению с обработкой ошибок в виртуальных тредах или асинках. Но простой, однопоточный код ерроры уродуют безбожно.
Аноним 07/05/24 Втр 19:45:23 3147734 184
>>3147731
Вас не ебут за отсутствие рекавера в каждой горутине? Лид строго настрого сказал, что у прода не должно быть возможности к падению, за исключением main, где отсутствие какого-то конекшона приводит к падению на старте.
Аноним 07/05/24 Втр 20:27:23 3147764 185
16963544214783.png 893Кб, 1024x1024
1024x1024
>>3147398
Есть еще один подход к паникам, который лично мне заходит: отделять потенциальные ошибки кодеров от всех остальных.
Приведу пример для метода репозитория:
func UpdateUserById(user *User) error {
if user.Id == uuid.Nil {
panic("user id is missing")
}
// UPDATE users SET ...
}
Здесь нет смысла возвращать что-то через return, поскольку это не ожидаемая кодом ошибка, а прямой обсер программиста (либо проебались в валидации уровнем выше, либо вообще вызвали не тот метод). И его не нужно обрабатывать выше по стеку, здесь надо срочно создавать баг в джире и фиксить, пока данные таблиц кривым кодом не успели похерить. Все паники при запуске сервиса подчиняются той же логике: если мы не запустили инстанс БД или написали неверный путь к секрету, то тоже не даем запуститься заведомо невалидному коду и сразу паникуем.
Аноним 07/05/24 Втр 20:32:32 3147765 186
>>3147764
Я тоже такие закладки делаю. По сути на потенциально невероятные условия, которые могут возникнуть только от коррекции кода.
Аноним 07/05/24 Втр 20:49:48 3147799 187
>>3147046
Я-то как раз сидел и троллил местного школьника. А потом я больше года писал на го и понимаю за что его можно любить и ненавидеть. И то что ты тут придумываешь, даже близко не проблемы go.
А настоящие проблемы за 7 лет почти не поменялись
Аноним 07/05/24 Втр 22:42:31 3147996 188
>>3147734
>Вас не ебут за отсутствие рекавера в каждой горутине?
На ебут за панику в коде.

>за исключением main, где отсутствие какого-то конекшона приводит к падению на старте.
У вас умстивенно отсталый работает лидом? Вот это инклюзивность!
Конешен такая штука, сейчас его нет, а через секунду он появился, а еще через 10 минут пропал снова. Падать надо если что-то unrecoverable типа не выставленный обязательный флаг, не найден ресурс и т.п.
Аноним 07/05/24 Втр 22:44:05 3147997 189
>>3147764
>Здесь нет смысла возвращать что-то через return, поскольку это не ожидаемая кодом ошибка, а прямой обсер программиста
Точняк! Поэтому стоить закрешить приложение, которое в этот момент еще сотню других запросов обрабатывало.
Аноним 07/05/24 Втр 23:20:34 3148065 190
>>3147997
Почему сразу крашить? Рекаверим в 500 ошибку и вместе с трейсом отсылаем клиенту. Да и большинство таких ошибок до прода не доедут, отловят еще на E2E тестировании.
Аноним 07/05/24 Втр 23:39:40 3148101 191
1715114379217.jpg 538Кб, 1080x1440
1080x1440
Аноним 07/05/24 Втр 23:57:44 3148131 192
17089349719990.jpg 813Кб, 1920x1080
1920x1080
>>3148101
У нас из таких волчар половина кандидатов на техсобесах попадается, лол. Обычно по теории у них все прилично, базовые вопросы выучивают на зубок, а палятся тупо на незнании синтаксиса при решении задач. Когда человек говорит, что make([]int, 6) инициализирует слайс шестерками реальный случай, причем теорию len/cap рассказал за 5 минут до этого, то обычно всё с ним становится понятно. Пишите больше кода, вкатуны, это реально палится.
Аноним 08/05/24 Срд 08:51:47 3148346 193
>>3148131
Они с накрученным опытом?
Аноним 08/05/24 Срд 08:54:55 3148347 194
>>3147799
Мне не комфортно писать на языке, если я понимаю, что результат будет далек от оптимального и что есть язык, на котором я могу написать более эффективные программы.
Аноним 08/05/24 Срд 09:24:38 3148360 195
>>3148131
Еще пару лет назад в /pr/ висел рекламный баннер ката академии. Они специализируются на обмане кабанычей, заставляют своих учеников переехать в Москву, заучить методички frontend/java/go разработки и устраивают их в компанию с помощью менторов. Взамен вкатун несколько лет платит дань. Таких пассажиров полно в сбере сейчас, которые с 2020 года сидят младшими разработчиками.
Аноним 08/05/24 Срд 12:11:00 3148491 196
>>3148065
>Рекаверим в 500 ошибку и вместе с трейсом отсылаем клиенту.
Нахуй паниковать, если метод и так возвращает ошибку? Рисковать проебать рековери, чтобы не писать один дополнительный if - это конечно неибаццо лайфхак.

>Да и большинство таких ошибок до прода не доедут, отловят еще на E2E тестировании.
Зато доедут самые сложные баги, которые вы не поймали на тесте.
Аноним 08/05/24 Срд 12:44:53 3148513 197
16875943680160.jpg 688Кб, 1214x1280
1214x1280
>>3148491
Надо различать ошибки (один из ожидаемых сценариев работы программы) и прямые нарушения контрактов, заложенных кодерами. Ты каждое разыменование указателя и хождение за элементом слайса/поля структуры будешь проверками обмазывать? Там ведь тоже паники вылезут при обсере кодера, и на них никаких проверок не напасешься, и мой пример выше превратится во что-то такое:

func (r UserRepo) UpdateUserById(user User) error {
if user == nil {
return errors.New("user is nil")
}
if user.Id == uuid.Nil {
return errors.New("user id is missing")
}
if r.db == nil {
return errors.New("db client is nil")
}
// UPDATE users SET ...
}

Спасибо, я уж лучше панику брошу.
Аноним 08/05/24 Срд 15:48:30 3148669 198
>>3148513
Это проверяется на уровне сервиса.
if user.Id == uuid.Nil {
return errors.New("user id is missing")
}
зачем ты это проверяешь? ты 100% передаешь инстанст на DB
if r.db == nil {
return errors.New("db client is nil")
}
Аноним 08/05/24 Срд 16:01:36 3148694 199
17089685313010.png 79Кб, 284x339
284x339
>>3148669
>Это проверяется на уровне сервиса.
Да, и в сервисе при валидации мы вернем ошибку, это нормальный сценарий. Вот только мой пример это уровень репозитория, которому валидация нахуй не нужна, и попадание в него нулей уже косяк разраба. Ты же не будешь ее дублировать на каждом слое приложения?
>зачем ты это проверяешь? ты 100% передаешь инстанст на DB
А если не передам? Вот забыл я при старте инициализировать коннекшен и всё, приехали. Чем это отличается от передачи nil вместо айди в метод репы или разыменования указателя на User? Та же потенциальная паника добавил ее для абсурдности, если что.
Мне надоел этот спор, надеюсь за 3 поста с примерами кого-нибудь да сагитировал не бояться паниковать.
Аноним 08/05/24 Срд 19:11:44 3148894 200
Почему го-сообщество такое токсичное?
Аноним 08/05/24 Срд 19:38:20 3148925 201
>>3148894
Потому что иди нахуй, вот почему.
Аноним 08/05/24 Срд 23:39:11 3149088 202
>>3148513
1. По кодстайлу видно, что ты стайл гайды ни асилил. Даже ошибки не можешь нормально создать.
2. Ты сам вначале привел говнокод >>3147764 где ты if-ом паникуешь. А потом начинаешь разводить маняфантазии про то, что много if-ов ЭТА СЛОЖНА1111


>>3148694
>А если не передам? Вот забыл я при старте инициализировать коннекшен и всё, приехали. Чем это отличается от передачи nil вместо айди в метод репы или разыменования указателя на User?
Ты реально тупой. Инициализация соединения с базой проверятеся ЛЮБЫМ тестом который так или ниче задействует DAL, а вот мест из который могут вызвать метод этого DAL вагон и всегда появляются новые.


Именно поэтому умные люди, на своем опыте работы над большими проектами, из практики, вывели правило - don't panic. Но нет, дебилы продолжают
>Да и большинство таких ошибок до прода не доедут, отловят еще на E2E тестировании.
Аноним 09/05/24 Чтв 01:31:36 3149161 203
16639629524260.png 641Кб, 576x512
576x512
>>3149088
Чел, ты серьезно? Я же тебе долбоебу уже который раз говорю: не путай ошибку как нормальный сценарий работы и заведомо нерабочий код. Передать uuid.Nil в update-метод является косяком уровня передачи nil вместо &User{}, ну нахуя возвращать на это ошибку? Или ты реально каждый указатель в репе отдельно проверяешь на nil, чтобы не дай бог не паникнуть ненароком?
>а вот мест из который могут вызвать метод этого DAL вагон и всегда появляются новые
И поэтому умные люди для DAL-слоя пишут контракты через интерфейсы, где черным по белому в комментариях будет написано: можешь обновить юзера с такими полями, но если пришлешь nil вместо айдишника, то твой код говно и работать заведомо не будет. Не нравится — ебись с валидацией на сервисном слое, но юзера изволь обновить по правилам контракта. А тащить ошибки валидации с кучей проверок в метод, который просто дергает клиента БД то еще говноедство, учись разделять ответственность.
И чего порвался с коннекшена, я же специально дописал для особо одаренных: >добавил ее для абсурдности, если что
Аноним 09/05/24 Чтв 09:30:11 3149258 204
>>3149088
>По кодстайлу видно, что ты стайл гайды ни асилил. Даже ошибки не можешь нормально создать.
Что за стайл гайды и чем тебе errors.New() не нравится?
Убер говорит, что всё норм https://github.com/uber-go/guide/blob/master/style.md#errors
Аноним 09/05/24 Чтв 15:10:14 3149598 205
>>3149161
>Я же тебе долбоебу уже который раз говорю: не путай ошибку как нормальный сценарий работы и заведомо нерабочий код. Передать uuid.Nil в update-метод является косяком уровня передачи nil вместо &User{}, ну нахуя возвращать на это ошибку? Или ты реально каждый указатель в репе отдельно проверяешь на nil, чтобы не дай бог не паникнуть ненароком?
Заведомо нерабочие у тебя мозги.

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

>И поэтому умные люди для DAL-слоя пишут контракты через интерфейсы, где черным по белому в комментариях будет написано: можешь обновить юзера с такими полями, но если пришлешь nil вместо айдишника, то твой код говно и работать заведомо не будет. Не нравится — ебись с валидацией на сервисном слое, но юзера изволь обновить по правилам контракта. А тащить ошибки валидации с кучей проверок в метод, который просто дергает клиента БД то еще говноедство, учись разделять ответственность.
Ты дебил зашоренный уперся в свою контракты, как будто если написать делайте хорошо, а плохо не делайте это сразу избавит от ошибок.

Вопрос в последствиях, если в Java/C# у тебя в худшем случае будет остановлен один поток. То в Go у тебя вообще весь процесс может быть закрешен.
inb4: решит кто-то паралельно вставлять пользователей и запустить 10 горутин и твой рековер наверху идет нахуй. Потому нормальные люди с опытом работы над большими проектами и вывели правило don't panic и пиздят говноедов которые пытаются мычать что-то про контракты функции.
Аноним 09/05/24 Чтв 15:17:03 3149616 206
>>3149258
>Что за стайл гайды и чем тебе errors.New() не нравится?
Ты читать не умеешь?
>Does the caller need to match the error so that they can handle it? If yes, we must support the errors.Is or errors.As functions by declaring a top-level error variable or a custom type.
Аноним 09/05/24 Чтв 15:46:48 3149691 207
16467460033040.jpg 106Кб, 1280x1216
1280x1216
>>3149598
Я тебе про Фому, а ты всё про Ерёму, да почему же ты такой баран. Офк я не буду коннект каждый раз проверять на nil, я же не долбоеб, и добавил про него чисто ради стеба. Давай про другое.
По твоей логике перед проверкой user.Id == uuid.Nil и возвратом ошибки нужно отдельно проверить user == nil и тоже вернуть на это ошибку. А то вдруг кто-то наплюет на контракт и случайно передаст nil вместо указателя на юзера и крашнет всё приложение? Давай уж лучше хоть в чем-то доверять прогерам.
Для меня это шиза и паранойя чистой воды, все паники мы в жизни не отловим. И этот пункт из уберовского гайд-стайла как раз и говорит
>A program must panic only when something irrecoverable happens such as a nil dereference.
Что user.Id = uuid.Nil для update-метода равносилен user = nil, оба сценария irrecoverable для DAL слоя и поэтому можно не обмазываться дополнительными проверками и просто паникнуть. Я не буду писать паники при валидации в сервисном слое, этот случай работает только в репозитории и только для айдишника как заведомо нерабочий. Усёк наконец?
Аноним 09/05/24 Чтв 19:35:50 3149935 208
17152498225360.png 13Кб, 553x360
553x360
Если гошка такой популярный язык, то почему даже перл с эрлангом популярнее него в качестве сервер сайда?
Аноним 09/05/24 Чтв 19:53:50 3149954 209
>>3149935
Гошка никогда популярной не была. Это очень специфические веб микросервисы прикрученные к монолитам на указанных япах. Сейчас только некоторый бигтех в него упоролся из-за возможности балансировки нагрузок. Ну ещё блогеры хайпуют голенг.
Аноним 09/05/24 Чтв 20:35:19 3150027 210
>>3149258
Перепись населения в Джабапету завершена, и теперь вам следует отправиться в Сукуфо Загон.
Аноним 10/05/24 Птн 10:45:55 3150385 211
>>3149935
Почему люди с двухзначным айкью носятся с этой бесполезной картинкой и даже не интересуются по какой методологии w3c ее составила?
Аноним 10/05/24 Птн 11:09:46 3150399 212
>>3149954
Смотрел этого го-евангелиста и что-то пригорело от подхода к найму гоферов. У вас тысячи пытаются устроится, но нет - мы будем искать через знакомых, левые чаты таких же джунов без опыта, а может и хуже.
https://www.youtube.com/watch?v=0axfYXyzHCE
Аноним 10/05/24 Птн 11:27:02 3150404 213
>>3150399
Чел писал на Перле, что ты от него хочешь?
Аноним 10/05/24 Птн 11:29:07 3150405 214
>>3150399
сисадмин -> девопс -> перлист -> гофер
идеальная прогрессия гофера
Аноним 10/05/24 Птн 11:38:53 3150414 215
Screenshot20240[...].png 35Кб, 825x219
825x219
Аноним 10/05/24 Птн 11:48:07 3150425 216
>>3150414
Почему они просто не выпустили библиотеку, а сделали целый язык?
Аноним 10/05/24 Птн 11:53:00 3150431 217
>>3150425
Это хороший вопрос
Аноним 10/05/24 Птн 12:13:54 3150460 218
>>3150414
Ну тогда Python это просто сахар для C
Аноним 10/05/24 Птн 12:15:35 3150463 219
photo2022-03-24[...].jpeg 81Кб, 686x676
686x676
Аноним 10/05/24 Птн 12:24:27 3150480 220
ясн, гошку запомоили пидоры инфоцыгане
Аноним 10/05/24 Птн 12:26:56 3150484 221
Аноним 10/05/24 Птн 12:36:41 3150504 222
>>3150484
Что-то мало 150к в месяц, в джаве можно 200к получать.
Аноним 10/05/24 Птн 14:01:54 3150576 223
>>3149935
Интересно, это в каком это мире серверов на руби больше чем на джаве?
Аноним 10/05/24 Птн 15:02:51 3150644 224
>>3150576
Джава - это энтерпрайз, а не веб-сайты
Аноним 11/05/24 Суб 17:50:59 3151899 225
Че лучше, го или питон? Да, влетел как пидр с тупым вопросом. Но все же?
Аноним 11/05/24 Суб 17:57:26 3151917 226
Аноним 11/05/24 Суб 18:20:27 3151950 227
>>3151917
Для того чтобы писать всяких ботов, сайты, игори простенькие типа Холлоу Найта, обвешаться тремя мониторами и представлять себя кул-хацкером, который Пентагон взламывает. Я прост гуманитарий, начинал учить и питон, и ПХП, и С++. Больше всего продвинулся в питоне, даже написал первый калькулятор с интерфейсом и начал писать приложуху с прогнозом погоды, но потом чет работа-хуёта, прошел уже год и я все забыл. Вот ща опять думаю че бы начать.
Аноним 11/05/24 Суб 18:49:31 3151995 228
>>3149691
>По твоей логике перед проверкой user.Id == uuid.Nil и возвратом ошибки нужно отдельно проверить user == nil и тоже вернуть на это ошибку. А то вдруг кто-то наплюет на контракт и случайно передаст nil вместо указателя на юзера и крашнет всё приложение? Давай уж лучше хоть в чем-то доверять прогерам.
>Для меня это шиза и паранойя чистой воды, все паники мы в жизни не отловим. И этот пункт из уберовского гайд-стайла как раз и говорит
Ты свои шизоидные высеры не выдавай за мои слова. Для начала вспомни что ты сам высрал:
>>3147764
>Есть еще один подход к паникам, который лично мне заходит: отделять потенциальные ошибки кодеров от всех остальных.
>Приведу пример для метода репозитория:
>func UpdateUserById(user *User) error {
>if user.Id == uuid.Nil {
>panic("user id is missing")
>}
>// UPDATE users SET ...
>}
>Здесь нет смысла возвращать что-то через return, поскольку это не ожидаемая кодом ошибка, а прямой обсер программиста (либо проебались в валидации уровнем выше, либо вообще вызвали не тот метод). И его не нужно обрабатывать выше по стеку, здесь надо срочно создавать баг в джире и фиксить, пока данные таблиц кривым кодом не успели похерить. Все паники при запуске сервиса подчиняются той же логике: если мы не запустили инстанс БД или написали неверный путь к секрету, то тоже не даем запуститься заведомо невалидному коду и сразу паникуем.
Ты сам предложил делать проверку и паниковать, а теперь пиздишь, что все паники не отловишь.

Моя позиция совпадает с позицией Убера - код не должен паниковать сам кроме инициализации и по возможности должен избегать других паник. Т.е. если у тебя DAL который может вызвать кто угодно, то стоит проверить что аргументы не nil, а если nil то вернуть error который вызывающий сможет обработать.
Аноним 11/05/24 Суб 20:47:50 3152192 229
>>3151950
>Больше всего продвинулся в питоне
ну значит тебе лучше питон
Аноним 12/05/24 Вск 13:54:56 3152751 230
Господа,есть вопросец. Везде пишут что по сравнению с платформенными потоками горутины управляются планировщиком го а не операционной системой. При этом максимальное количество горутин все равно завязано на максимальное количество потоков процессора. В чем смысол?
Аноним 12/05/24 Вск 13:58:31 3152757 231
>>3139167
Так в облаках зачастую одна shared jvm типо хазелькаста позволяет ещё и хип делить между несколькими репликами приложения,это же охуеть можно
Аноним 12/05/24 Вск 14:16:59 3152787 232
>>3152751
У каждого потока есть очередь горутин, где они выполняются. Если у тя куча iowait операций, то имеет смысл увеличить число самих потоков
Аноним 12/05/24 Вск 14:23:34 3152797 233
>>3152787
> У каждого потока есть очередь горутин
Я не понимаю,это утверждение противоречит тому что количество горутин ограничено максимальным количеством потоков процессора. Это я не прав или ты?
Аноним 12/05/24 Вск 14:29:17 3152809 234
>>3152797
Ты не прав, количество горутин не ограничено
Аноним 12/05/24 Вск 14:37:24 3152830 235
>>3152809
Фигасе,буду знать, почему-то чувак на ютубе показывал тип если в runtime.chtototam() задать единицу то новые горутины не будут даже запускаться
Аноним 12/05/24 Вск 16:09:50 3152946 236
>>3152751
>При этом максимальное количество горутин все равно завязано на максимальное количество потоков процессора.
Нет.

Максимальное количество одновременно выполняющихся горутин равно числу ядер процессора. А общее число горутин намного больше.
Аноним 12/05/24 Вск 17:09:56 3153025 237
Есть ли вообще шансы, занимаясь вечером после работы 1-2 часа, выучиться на го-программиста? Речь не просто про сам язык, его-то уже выучил, а про углубленное программирование на нём. Всякие микросервисы, кафки, грпс и т.п. Мне вот просто кажется, что с такой скоростью изучения, го уже будет не актуален в будущем.
Аноним 12/05/24 Вск 18:20:07 3153091 238
аноны, подскажите, как оно на деле делается.

вот у нас есть микросервисы, хуе-мое. а что в гошке как гейтвей юзается? т.е вот есть grpc сервисы или через любую шину которые общаются, но как это в гейтвей выводить? т.е если у меня клиентсайд аппка на реакте или еще какой хуйне, то обращаться я все равно должен в какой-то fiber, gin или чет еще, чтобы по рест апи все шлепало через гейтвей?

короче мой вопрос звучит так
как правильно архитектуру готовить?

если слишком тупо звучит извините я еблан но хочу стать лучше
Аноним 12/05/24 Вск 19:55:28 3153283 239
2024-05-1212-51.png 83Кб, 717x600
717x600
2024-05-1212-52.png 86Кб, 787x598
787x598
Скорость голэнг почти как скорость в пхп. Объясните зачем голэнг, если пхп делает тоже самое, только ещё и предлагает миллиард проверенных решений, тонну всего из-под коробки, огромнейшее комьюнити, ООП, спизженные фичи и либы у джавы, простой вход, много работы?

Такое чувство, что голанг - это просто надутый пузырь с убогим языком без ничего, который маркетологи из гугла пытались втюхнуть.
Аноним 12/05/24 Вск 20:04:25 3153299 240
Аноним 12/05/24 Вск 20:21:52 3153326 241
>>3153283
это ты типа хелловорлд написал и экстраполируешь его результаты на большие программы?

Этот способ ненадежный, юноша.
Аноним 12/05/24 Вск 20:27:57 3153336 242
по-моему, я уже лет 10 назад читал всякие фантазии, что, мол, хорошо бы в php сделать какой-нибудь фреймворк для постоянных объектов и тогда скорость НАКАНЕЦТА будет сравнима со взрослыми языками.
И главная проблема PHP в том, что они 30 лет пишут код, который за собой не убирается. Расширения всякие и все что ты обзываешь "миллиард проверенных решений, тонну всего из-под коробки" - это все писалось с учетом одноразового запуска.

Короче - хуйня.
Аноним 12/05/24 Вск 20:45:10 3153367 243
>>3153326
О каких больших программах на го идёт речь? Это микросервисный язык без ничего.

Хелоуворлд юзают во всех бенчмарках. Можешь предложить что-нибудь на го посложнее, сравним.
Аноним 12/05/24 Вск 20:57:37 3153411 244
>>3153091
Ну ты же сам ответил на свой вопрос... У тебя есть api-gateway с котторым общается фронт через rest-api, а сам api-gateway с другими сервисами через grpc
Аноним 12/05/24 Вск 21:10:23 3153433 245
>>3153336
>пук
Вот в моих скринах голэнг обпукался при хелоуворлде. Либы в пхп скачивают и запускают столько, сколько в твоём голэнге за всё время его существования. А уж говорить о том дерьмо-лапше-коде, который понаписывали гошники...
Помню какой-то гошник даже пыхтел над либой для го, пытаясь повторить пхпшные функции из-под коробки типа работы с массивами. Это гошная обосрака хоть что-нибудь вообще умеет?
Аноним 12/05/24 Вск 21:18:42 3153442 246
>>3153367
>Хелоуворлд юзают во всех бенчмарках. Можешь предложить что-нибудь на го посложнее, сравним.
буквально ВСЕ

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

Ты вообще какой фреймворк для Go HTTP заюзал? Их же десятки и все широкоиспользуемые!
Аноним 12/05/24 Вск 21:37:12 3153478 247
>>3153442
Напиши комбайн, проверим. В мире разработки все сравнивают что-то простое в бенчмарках.
Тест хелоуворлда показывает главное - чистый RPS, что тоже важно для понимания нагрузок.
Аноним 12/05/24 Вск 21:47:51 3153489 248
>>3153478
>В мире разработки все сравнивают что-то простое в бенчмарках.
Если кратко - нет.
Наличие гигантского количества статей на Хабре, Phoronix, и что там еще, никак не показывает что эти люди правы и поступают умно.

Допустим, существуют тесты TPC. Тебя их наличие и старинная история не смущает?
Аноним 12/05/24 Вск 22:19:14 3153522 249
>>3153025
>Есть ли вообще шансы, занимаясь вечером после работы 1-2 часа, выучиться на го-программиста?
Смотря что под этим понимать. Контрибутить в OSS проекты или пилить свои - вполне. Соответсвовать ожиданиям херок о 5+ опыта в лидере рынка - нет.
Аноним 12/05/24 Вск 22:37:34 3153540 250
>>3153489
>Допустим, существуют тесты TPC. Тебя их наличие и старинная история не смущает?
Ну ты загнул, думаешь зуммеры слышали про TPC? Там чтобы грамотно реализовать каждый тест нужна целая команда перформанс инженеров. В своё время у Oracle, IBM, Microsoft были специальные команды которые писали реализации.

В общем это всё легаси говно, которое не стильно, не модно, не молодежно.
Аноним 12/05/24 Вск 23:12:28 3153577 251
Когда использовать буферезированные каналы а когда обычные?
Аноним 13/05/24 Пнд 00:22:30 3153628 252
>>3153489
Ну так показывай бенчмарки, которые ты считаешь правильными.
В научном подходе насрать что ты там думаешь, если на сегодняшний день есть только бенчмарки по хелоуворлд - значит это единственная истина и 100% показатель сравнения скорости языков.
И тут мы знаем, что пхп не уступает голэнгу по скорости.
Аноним 13/05/24 Пнд 00:34:55 3153642 253
>>3153025
Есть конечно
>Мне вот просто кажется, что с такой скоростью изучения, го уже будет не актуален в будущем
Это возможно, но от этого никакой язык не застрахован. Ты хочешь просто вкатиться или именно в го?
Аноним 13/05/24 Пнд 01:45:42 3153711 254
>>3153283
>Такое чувство, что голанг - это просто надутый пузырь с убогим языком без ничего, который маркетологи из гугла пытались втюхнуть.
Возможно что-то в этом есть!
Аноним 13/05/24 Пнд 08:47:59 3153800 255
>>3153642
Да, хочу в го. Язык мне в целом понравился, а главное, что тут нет фреймворков и орм. До этого пробовал джаву и выгорел на конфигурировании бинов в спринге.
Аноним 13/05/24 Пнд 09:02:28 3153804 256
>>3153283
> Скорость голэнг почти как скорость в пхп. Объясните зачем голэнг, если пхп делает тоже самое, только ещё и предлагает миллиард проверенных решений, тонну всего из-под коробки, огромнейшее комьюнити, ООП, спизженные фичи и либы у джавы, простой вход, много работы?
Хуй знает, кабану нравится, кабан платит мне котлету. И задачи интересные
> Такое чувство, что голанг - это просто надутый пузырь с убогим языком без ничего, который маркетологи из гугла пытались втюхнуть.
Кому и зачем маркетологи пытаются втюхать язык с полностью оперсорсной инфраструктурой? Без наезда, просто хочу мнение услышать
>>3153628
> И тут мы знаем, что пхп не уступает голэнгу по скорости.
Ну вообще-то уступает, смотри свой же скриншот
Аноним 13/05/24 Пнд 09:41:28 3153826 257
>>3153800
>а главное, что тут нет фреймворков и орм
>До этого пробовал джаву и выгорел
Типичный вкатун в го. Не смог вкатиться в нормальный язык с хорошей инфраструктурой - добро пожаловать в GOвно, писать велосипеды))
Аноним 13/05/24 Пнд 10:09:29 3153871 258
Решил сменить яп вката на голанг из-за высоких зарплат. Какие курсы лучше взять, чтобы быстрее и полегче?
Аноним 13/05/24 Пнд 10:19:34 3153886 259
>>3153800
>Да, хочу в го.
Ну так а в чем вопрос? У тебя тогда и вариантов нет

>главное, что тут нет фреймворков и орм
есть и фреймворки (fx) и орм (Gorm)
Аноним 13/05/24 Пнд 10:25:06 3153892 260
>>3153804
>И задачи интересные
Например?
Аноним 13/05/24 Пнд 10:37:45 3153906 261
>>3153892
>>3153826
> добро пожаловать в GOвно, писать велосипеды))
Пишу велосипеды, чувствую себя ахуенно, никакого выгорания. Работать надо так чтобы кайфовать, а не соответствать мнению чуханов из интернета
Аноним 13/05/24 Пнд 10:40:17 3153909 262
>>3153628
>В научном подходе насрать что ты там думаешь, если на сегодняшний день есть только бенчмарки по хелоуворлд - значит это единственная истина

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

До свидания.
Аноним 13/05/24 Пнд 12:20:32 3154093 263
>>3153826
Когда кофигурируешь готовый фреймворк, то говняное ощущение как после работы с Wordpress, вроде всё красиво и работает, но сделал это не ты.
А когда пишешь велосипед, то офигенное чувство, что это разработал сам своими руками.
Аноним 13/05/24 Пнд 12:21:58 3154096 264
>>3153886
>фреймворки (fx) и орм (Gorm)
Фу-фу-фу! Надеюсь работать с ними не придётся
Аноним 13/05/24 Пнд 12:28:54 3154107 265
>>3154093
Сычев, почему до сих пор не работает как надо? Когда будет работать КАК НАДО? Что значит тебе еще надо доделать? Ты уже второй месяц доделываешь.
Аноним 13/05/24 Пнд 12:57:55 3154162 266
>>3154107
Я конечно разработчиком не работал, но по своему опыту могу сказать, что всегда умел донести до руководства что я сделал и сколько времени мне ещё понадобится, чтобы доделать остальные фичи. Сроки само собой брал с запасом, но выполнял раньше. Так что проблема здесь не в языках и технологиях, а умении общаться с начальством.
Аноним 13/05/24 Пнд 13:14:24 3154184 267
>>3154162
Это если им не с кем тебя сравнить, а поскольку ты будешь джуном, то никто не оценит твоих стараний по написанию собственного велосипеда, если уже есть готовое решение позволяющее сделать это быстрее и более понятное другим разработчикам.
мимо
Аноним 13/05/24 Пнд 13:19:45 3154191 268
>>3154184
Но это не же не го-вэй! Язык создан велосипедистами для велосипедистов
Аноним 13/05/24 Пнд 14:26:53 3154300 269
Что думаете насчёт авторского курса Thinknetica от Дмитрия Титова?
Аноним 13/05/24 Пнд 16:35:34 3154473 270
Аноны, тут есть хоть кто-то, кто устроился на работу джуном Go без опыта работы с другими языками и не крутил его?
Аноним 13/05/24 Пнд 17:02:51 3154500 271
>>3154191
>>3154184
Я никак не могу понять, почему такие же разработчики велосипедность считают минусом? Писать свой велосипед гораздо интереснее чем унылую бизнес логику, а кабан кабаныч готов платить за мой кайф, ещё и больше чем на других стеках при схожем опыте/обязанностях
Аноним 13/05/24 Пнд 17:15:01 3154520 272
>>3154300
Немного оверпрайс и в целом никакой такой супер ценной информации нету. Тысяч за 20-30 такой курс был бы заебись.
Аноним 13/05/24 Пнд 18:09:34 3154609 273
>>3154300
Как по мне автор пытается выдать много информации за маленький промежуток времени, но делает это сумбурно, постоянно путается, торопится и забывает сказать что-то важное. Плохо готовится к вебинарам, тратит кучу времени на технические проблемы, примеры кода не проработаны, часто он их пытается дописать во время лекции, а когда не получается, то говорит, что это наверно баг какой-то.
Не понятно на кого рассчитан курс. На первом занятии пишем хеллоуворлд, а на втором уже надо знать весь язык и писать сетевой сервис, хотя на следующих 10 вновь пытается рассказать какие-то основы, но дз уже совсем не соответствуют лекциям. Как в меме про кружочки и сову.
Длительность курса 3 месяца, что слишком мало, чтобы сделать выучиться даже на джуна.
Из отзывов видно, что ни один студент не поблагодарил его за успешное устройство на работу. Они там пишут, что узнали много нового, чтобы дальше изучать го.
Аноним 13/05/24 Пнд 18:23:01 3154637 274
>>3154473
У меня вроде всё получается, но периодами бросаю, потому что мотивация заканчивается.
Сейчас вот очередной кризис из-за того, что го создаёт слишком жирные бинарники в то время как на си можно создавать на порядки меньшие.
Не знаю, смогу ли после этого удара оправится и снова начать писать на го.
Аноним 13/05/24 Пнд 18:27:44 3154643 275
>>3154473
Ну я стажером на го устроился. Сам го не знал практически, до этого круды на спринге писал дома. Коммерческого опыта никакого не было.

Но в итоге я на стажировке 3 месяца посидел и меня уволили, так как помимо меня было еще два других стажера, которые гораздо лучше перфомили чем я.
Аноним 13/05/24 Пнд 18:32:45 3154649 276
>>3154643
>>3154637
Ребят, а у вас вышки есть? Вообще интересно ее наличие (особенно по ИТ теме) играет существенную роль при трудоустройстве или похуй? А то я сам студент, изучаю Go, коммерческого опыта понятное дело с другими языками нет, вот и интересуюсь у вас
Аноним 13/05/24 Пнд 18:36:12 3154658 277
>>3154649
У меня вышка в области компьютерных наук. Но работодателям на неё сейчас пофиг, смотрят только на стаж.
Аноним 13/05/24 Пнд 18:37:21 3154662 278
>>3154649
Я студентом был, когда на стажировку пришел, откуда меня через 3 месяца уволили.
Другие стажеры тоже студентами были. Вышка кажется у всех была, а тимлид и вовсе какое-то крутое место закончил и олимпиадником был в прошлом.
Аноним 13/05/24 Пнд 18:39:48 3154667 279
>>3154662
>>3154658
Я вас понял, спачибо за ответы. Буду дальше превозмогать
Аноним 13/05/24 Пнд 18:47:14 3154677 280
>>3154667
Тут главное не просто на стажирову залезть, а еще сделать так, чтобы после нее тебя в штате оставили. Иначе обратно на рынок труда не попадешь. С 3 месяцами опыта работы будет казаться, что тебя просто с испыталки уволили. Ну и вообще вопросы будут, почему после стажки тебя не оставили в штате.
Аноним 13/05/24 Пнд 20:18:02 3154826 281
В реддите пишут что после го писать на джаве - все равно что говно жрать. Это гуглолахта? Или в этом есть какая то доля правды?
Аноним 13/05/24 Пнд 20:51:43 3154870 282
>>3154826
Что ты хотел услышать от говноедов if err != Nil? Он говно уплетают за обе щеки, и нахваливают, главное что не джавовское.
Аноним 13/05/24 Пнд 20:58:00 3154881 283
>>3154826
А то! На джаве все фреймворки давно написаны, ты сидишь и педалишь бузинес логику как сраный паджит. На го ты сперва пишешь utils.go, потом пишешь свой спрингбут, а только потом какой-то джун поверх твоего кода пытается что-то изобразить полезное. На го ты творец, еба!
Аноним 13/05/24 Пнд 21:18:01 3154905 284
>>3154826
Счас бы божественную джаву сравнивать с ноунеймом-калекой.
GOвно будут жрать гошники, пытаясь вкатиться в этот недоязык на 3.5 проекта. А джавистов на руках носят и осыпают деньгами.
Аноним 14/05/24 Втр 12:30:27 3155561 285
>>3154609
Попробовал сейчас сделать домашку для 2 модуля и оказалось, что предложенный автором курса модуль не работает как должно, т.е. тупо не может найти ссылки на странице, что ограничивает поиск первой же страничкой.
В целом, стоит добавить, что он не только фиговый препод, но и фиговый программист.
Аноним 14/05/24 Втр 12:40:47 3155578 286
>>3154637
>Сейчас вот очередной кризис из-за того, что го создаёт слишком жирные бинарники в то время как на си можно создавать на порядки меньшие.
>Не знаю, смогу ли после этого удара оправится и снова начать писать на го.
Дристанул лавандовым рафом.
Аноним 14/05/24 Втр 14:14:12 3155716 287
Есть ли тут аноны которые перекатывались из го в джаву? Что-то я поработал пол года и мне не понравилось
Аноним 14/05/24 Втр 16:21:51 3155887 288
>>3155716
Ты вначале попробуй гэпнуться, а то может тебя не го заебал, а работа.
Аноним 14/05/24 Втр 16:25:11 3155890 289
>>3155578
Потому что многие лезут в программирование ради денег и на качество программ им наплевать. Тяп-ляп и готово. А то, что программа занимает какие-то нереальные объёмы никого не волнует.
Аноним 14/05/24 Втр 16:25:13 3155891 290
>>3155887
С моим опытом геп это невозможно,даже если я смогу перейти на джаву это будет новая команда внутри компании а не новая компания
Аноним 14/05/24 Втр 16:33:55 3155908 291
>>3154500
> Писать свой велосипед гораздо интереснее чем унылую бизнес логику, а кабан кабаныч готов платить за мой кайф,
Умный кабан не готов.
Да просто времени не останется.
Аноним 14/05/24 Втр 19:48:00 3156147 292
>>3155890
>Потому что многие лезут в программирование ради денег

Можно подумать, что те, кто по зову души, могут удовлетворить запросы рынка.
Аноним 14/05/24 Втр 22:24:55 3156305 293
>>3154500
>Я никак не могу понять, почему такие же разработчики велосипедность считают минусом? Писать свой велосипед гораздо интереснее чем унылую бизнес логику, а кабан кабаныч готов платить за мой кайф, ещё и больше чем на других стеках при схожем опыте/обязанностях
А потом тебе надо запилить новую, большую фичу в велосипед, который писал твой коллега с очень специфичным взглядом на разработку. И вот тут-то и настигает прозрение, в чем разница между библиотекой которой пользуются миллионы и говноподелием из Рога и Копыта.
Аноним 14/05/24 Втр 22:27:44 3156308 294
>>3155890
>А то, что программа занимает какие-то нереальные объёмы никого не волнует.
В первую очередь это не волнует клиента, который за это платит
Аноним 14/05/24 Втр 22:33:30 3156315 295
image.png 923Кб, 1300x753
1300x753
>>3155890
>Потому что многие лезут в программирование ради денег и на качество программ им наплевать. Тяп-ляп и готово. А то, что программа занимает какие-то нереальные объёмы никого не волнует.
Тебя только что разморозили?

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

Если у тебя ОКР и хочется писать маленькие программы - пиздуй в демосцену, Хули ты приперся в промышленную разработку и бухтишь, что тут не так как на сцене?
Аноним 15/05/24 Срд 00:43:01 3156381 296
>>3156305
Лично я только пишу велосипеды и кайфую, а фичи пилят джуны и прочие чье мнение мне не интересно
>>3154905
> GOвно будут жрать гошники, пытаясь вкатиться в этот недоязык на 3.5 проекта. А джавистов на руках носят и осыпают деньгами.
Это троллинг тупостью или ты ни дня не работал в индустрии?
Аноним 15/05/24 Срд 11:17:54 3156635 297
>>3156315
У меня на бобины встал!
Аноним 15/05/24 Срд 13:25:42 3156759 298
>>3156635
Да ты бы и перфокарту
Аноним 15/05/24 Срд 13:27:44 3156764 299
>>3156381
>Лично я и есть тот коллега мудак.
Я тебя понял.
Аноним 16/05/24 Чтв 02:46:55 3157432 300
>>3156305
> в чем разница между библиотекой которой пользуются миллионы и говноподелием из Рога и Копыта
Да, второе ты можешь менять как угодно, а в первое ты хуй протащишь патч нужный именно тебе, и придётся держать внутренний форк библиотеки.
Аноним 16/05/24 Чтв 11:21:13 3157668 301
Какие типы можно использовать для ключей в мапе? На ум приходит только целые числа и строки.
Аноним 16/05/24 Чтв 11:29:13 3157673 302
>>3157668
По идее любые неизменяемые
Аноним 16/05/24 Чтв 11:33:50 3157678 303
>>3157673
Мне казалось, что главный критерий - сравниваемость.

И точно не любые, потому что тут нельзя как в джаве определить функции equals и hashCode.
Аноним 16/05/24 Чтв 12:26:13 3157725 304
image.png 169Кб, 660x800
660x800
>>3157432
>второе ты можешь менять как угодно, а в первое ты хуй протащишь патч нужный именно тебе, и придётся держать внутренний форк библиотеки.
Внутренний форк ничем не уступает самописному велосипеду и даже местами лучше. Например в него можно портировать багфиксы и фичи из основной библиотеки.
Аноним 16/05/24 Чтв 12:29:48 3157727 305
>>3157678
>И точно не любые, потому что тут нельзя как в джаве определить функции equals и hashCode
Структуры можно использовать как ключ, если все поля компарабо.
Аноним 16/05/24 Чтв 15:00:39 3157989 306
Можно ли создать свой тип коллекции и проходить по нему циклом for-range?
Аноним 16/05/24 Чтв 15:42:28 3158038 307
>>3157989
Пока - нет, но обсуждение этой фичи идёт.
Аноним 16/05/24 Чтв 17:58:35 3158285 308
Аноним 16/05/24 Чтв 18:16:10 3158307 309
>>3158285
У меня нехватает слов описать этот пиздец.
Аноним 16/05/24 Чтв 19:23:26 3158394 310
>>3158285
Это просто алиас, а не свой тип
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов