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

Ответить в тред Ответить в тред
Check this out!
Go тред №16 /go/ /go/ Аноним 07/06/21 Пнд 21:45:05 20610781
image.png 137Кб, 1061x455
1061x455
image.png 9Кб, 287x136
287x136
chemorduskrivil.png 286Кб, 512x360
512x360
Rob Pike Is Not[...].png 232Кб, 366x512
366x512
Cамого МУЖЕСТВЕННОГО в мире языка Go тред №16 /go/

ВЕЛИЧЕСТВЕННОЕ БЕЗХОМЯЧЬЕ ЛОГО ЭДИШН

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

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

Растобляди завидуют, сектантская запарта не переваривает.

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

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

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

Обновляемый список с пакетами: https://github.com/avelino/awesome-go

Небольшой канал треда: t.me/golang2ch и даже живой

Предыдущий тред умирает здесь: >>1986204 (OP)

Шаблон шапки: https://pastebin.com/vmWawK2t
Аноним 07/06/21 Пнд 21:54:40 20610932
мимокродил, не знаю до конца синтаксис, пишу сервисы в k8s за 300KK/сек на Golang, задавайте вопросы
Аноним 07/06/21 Пнд 21:55:01 20610953
написал уже два
Аноним 07/06/21 Пнд 21:57:23 20610994
кстати чмохи, уже видели как будут выглядеть дженерики?
Аноним 07/06/21 Пнд 23:09:09 20611865
Шарп лучше чем Go.
Аноним 07/06/21 Пнд 23:32:32 20612066
Аноним 08/06/21 Втр 01:19:45 20612577
>>2061186
Адепт уродливого переноса скобок, плиз. Съеби обратно в мвп-тред, откуда ты вылез.
Аноним 08/06/21 Втр 01:19:49 20612588
Аноним 08/06/21 Втр 01:21:28 20612609
>>2061093
Какой-такой синтаксис ты не знаешь?

А у меня трудности вызывают только форматирование даты, там какой-то пиздец навелосипедили.
Аноним 08/06/21 Втр 01:27:07 206126310
>>2061257
Твой выбор языка понятен, раз у тебя мир сошёлся клином на конвенциях о скобочках.
Аноним 08/06/21 Втр 01:32:46 206126611
>>2061186
Как выглядит zero allocation CRUD на этих ваших шарпах? Такой же пиздец как на джабе или хоть чуть-чуть получше?
Аноним 08/06/21 Втр 01:33:39 206126712
>>2061263
Да. В goвне есть какая-то эстетическая притягательность, хотя он довольно старомодный на вид. А на код на шарпе без слез смотреть невозможно, в основном как раз из-за скобок.
Аноним 08/06/21 Втр 08:56:09 206135213
image 33Кб, 823x778
823x778
Аноним 08/06/21 Втр 10:01:43 206138614
>>2061186
Моча лучше goвна? Сомнительно.
Аноним 08/06/21 Втр 10:10:45 206139815
Аноним 08/06/21 Втр 12:38:00 206156616
Открыл резюме как питонист-ГОвнист, на змеюку начали сыпаться вакансии огромным потоком, на говяху пришла только одна, и то, в связке с пистоном. Тут какое-то время орали о том, что первое нахуй не нужно и все с него переезжают на второе. Ну и где это все?
Аноним 08/06/21 Втр 13:45:57 206166617
>>2061078 (OP)
На сколько говнокодом является создание вебсокет-ендпоинта на каждую сущность, как мы делаем в случае REST-а?
Я, конечно, могу всё в одном соединении делать, пихать json'ы с метадатой и json.RawMessage с пейлоадом, а потом уже, на основании метадаты анмаршалить этот json.RawMessage на конкретный тип, но тогда еще нужно самому реализовывать подписку/отписку, свой аналог multiplexer'а, и, возможно еще кучу всего, о чем я сейчас еще не вспомнил.

С другой стороны, если я создам несколько ендпоинтов, /foo, /bar, /baz, на каждом из которых будут отдаваться только один тип структур - маршалинг/анмаршалинг будет на порядок проще, вместо подписки/отписки у нас просто соединение - пока оно активно, значит клиенту нужны обновления конкретного типа, если закрыто - значит больше нет, multiplexer тоже можно переиспользовать стандартный, либо какой угодно другой из http-совместимых. Код в целом чище и проще.

Но как это по ресурсам? Я предполагаю, что низкоуровневые либы пишут умные люди, и они догадались для нескольких вебсокет соединений от одного и того же клиента к одному и тому же серверу переиспользовать одно и то же TCP/TLS соединение. Подскажите, пожалуйста, как это проверить?
Аноним 08/06/21 Втр 18:33:32 206207818
>>2061566
Хз, меня ддосят вакансиями постоянно, ты что-то не так делаешь
Аноним 08/06/21 Втр 18:39:42 206209119
Аноним 08/06/21 Втр 19:34:20 206218620
>>2061266
пихать результат в аргументы метода, везде. как в с/с++
Аноним 08/06/21 Втр 19:40:39 206220921
>>2062078
За какой период тебя ддосят? Утром позавчера открыл резюме, сразу же начинают писать тонны хрюш на мейл по пиздону, вакуха по го пришла только вечером и еще одна на следующий день, сейчас закрыл, потому что похоже, что с двойным стеком подходит. А по поводу питоноработы все срут и срут
Аноним 08/06/21 Втр 21:16:10 206232422
>>2062209
Всм за какой период? Недавно искал работу - пришлось резюме закрыть через несколько дней из-за спама. Возможно у тебя очень хуевое резюме для гошки. Хотя если ты питонист - то страшно представить какое у тебя гошное резюме. А нахуя ты вообще работу ищешь на питоне и го одновременно по различным резюме? Бред какой-то.
Аноним 08/06/21 Втр 21:18:16 206233023
>>2062324
А, неправильно прочитал, у тебя путхон+го. Хз, я мало вакух видел, где питон с гошкой юзают одновременно, у меня то резюме чисто гошника с релевантным опытом. А ты из тех питонистов, что на джанге сайтики клепают? Возможно поэтому мало интереса со стороны гошных позиций, специфика в го посложнее
Аноним 08/06/21 Втр 22:29:35 206242524
Аноним 08/06/21 Втр 22:56:10 206245025
>>2062330
Не, всякое микросервисное говно с кафкой и кроликом
Аноним 08/06/21 Втр 23:02:40 206245626
>>2062330
Почему у всех горит с джанги? Мне например пофигу на чем писать бэк, хоть джанга, хоть асинхронщина, хоть микросервисы на го. Тупо разные задачи, сложность зависит совсем от другого.
Аноним 08/06/21 Втр 23:12:25 206247027
>>2062456
У людей горит не с джанги, а с джанго-кодеров, так же как и с ${FRAMEWORK_NAME}-кодеров, по тому что так называют себя люди, которые кроме своего фреймворка ничего другого и не знают. Это как слесарь втулок или сантехник биде
Аноним 08/06/21 Втр 23:54:56 206250628
Аноним 08/06/21 Втр 23:56:55 206250929
Аноним 09/06/21 Срд 01:33:49 206257930
>>2061352
Спасибо, анончик, годнота
Аноним 09/06/21 Срд 02:08:18 206260031
лучше на аде
Аноним 09/06/21 Срд 02:27:05 206260532
Аноним 09/06/21 Срд 11:34:34 206279433
В иннотех тут кто-нибудь собеседовался?
Аноним 09/06/21 Срд 20:02:09 206357234
>>2061078 (OP)
Есть ли шанс вкатиться нубу и найти работу джуном без опыта?
Аноним 09/06/21 Срд 21:41:11 206368135
>>2063572
Очевидно как и везденет
Аноним 09/06/21 Срд 23:41:24 206379236
От какого года материалы ещё актуальны?
Аноним 09/06/21 Срд 23:43:18 206379537
>>2063792
Смотря какие, но лучше поновее искать, гошка беквард компатибилити держит аж с первой версией, так что можно и старье читать, но лучше канеш этого не делать, как и в любом другом языке
Аноним 10/06/21 Чтв 03:42:45 206390738
Бляпиздец почаны
Перешел недавно на уважаемую работу не галера, суперкрупные ребята
Раньше у меня в другой компании не было код-ревью и вообще похуистично довольно относились к коду, работает - заебись. А здесь меня на каждом пул-реквесте ебашат за стиль и прочее, постоянно косячу в каких-то мелких моментах, так что ревью занимает вечность и кучу итераций до мерджа в мастер. На этой почве постоянная минус мораль, хоть и тим-лид говорит, что нормально вливаешься и вообще заебись. Хочется сразу писать красоту и правильный код, без разъеба.. Помогите, я уже в конвульсиях по ночам читаю кодстайлы убера и достал с полки макконнелла, аж плакать хочется
Аноним 10/06/21 Чтв 07:14:37 206392939
image.png 283Кб, 610x396
610x396
>>2063907

Поссы своим супер-крутым лиду и команде на лица
Аноним 10/06/21 Чтв 12:03:57 206408040
>>2063907
Палю годну, авторская методика:
делаете в вашей связке VCS и таск трекере максимальный лимит на время ПРа без реакции (approve/reject). При достижении этого лимита - включите автомерж. Пару таких автомержей и дальше желания оставлять ПР без ревью пропадет, базарю. Будут ревьить максимально быстро и эффективно. Дальше, вешаете ограничение на количество реджектов - не более двух. Если ПР реджектится в третий раз - ПР деклайнится автоматом и таска возвращается в бэклог. При этом заассайнить ее снова на последнего девелопера нельзя, ибо тот проштрафился. Это сократит количество итераций ревью
Аноним 10/06/21 Чтв 12:45:37 206412341
15963857674751.jpg 62Кб, 679x513
679x513
>>2063907
Так радуйся, лол. Если ты хоть немного обучаемый, то за 3-6 месяцев методичного тыкания в говно на пулл-реквестах приспособишься и будешь потом не задумываясь на автомате выдавать отличный код по самым современным кодстайлам. Меня как перебежчика с другого стека тоже активно прикладывают последние полгода за мелкие косяки и тонкости гошки их оказалось намного больше, чем я думал при вкате, лол, но я наоборот не нарадуюсь на такое отношение. Уж лучше пусть сейчас на старте go-карьеры я словлю все косяки и подводные камни, чтобы вбить базу в мышечную память и потом не отвлекаться на мелочи, будучи сеньором-пиздаболом за 300ксек через пару-тройку лет.
Ну и за эти полгода мой код заметно вырос по качеству, чего уж греха таить. Еще немного, и начну сам разносить молодых и неопытных джунов на ревью но без жести :3
Аноним 10/06/21 Чтв 14:28:10 206424942
Аноним 10/06/21 Чтв 15:10:50 206431343
>>2064249
Ты уже проиграл молодым-упругим джунам-конкурентам, можешь выкатываться.
Аноним 10/06/21 Чтв 15:23:17 206432344
Go - язык для миддлов.
Джунам здесь делать нечего.
Аноним 10/06/21 Чтв 19:40:47 206458045
>>2061352
Оке, в след шапку докину
Аноним 11/06/21 Птн 18:53:21 206566546
>>2061078 (OP)
Что вообще пилят на го? Кучу микросервисов, перекладывающих джейсоны? Думаю перекатиться из крестов или хотя бы немного диверсифицировать свои навыки, но боюсь охуеть от клепания крудов.
Аноним 11/06/21 Птн 19:47:19 206574047
>>2065665
А ну брысь обратно в мвп-тред, паук-крестовик!
Аноним 11/06/21 Птн 20:06:36 206576348
Аноним 11/06/21 Птн 20:15:54 206577049
Аноним 12/06/21 Суб 05:51:42 206602250
Ваше мнение по поводу gob?
Аноним 13/06/21 Вск 13:13:47 206690651
>>2065903
У тебя файл пересоздаётся каждый раз скорее всего
Аноним 13/06/21 Вск 19:03:37 206718452
>>2063792
Практически все, значительных изменений языка за 11 лет практически не было. То, что вместо ioutil теперь нужно использовать os или io, где это возможно, и то, что теперь есть NotifyContext и не нужно его каждый раз реализовывать самому - это ничего не меняет.
Аноним 13/06/21 Вск 19:06:36 206719353
>>2067184
А как же появление модулей? Теперь всякие gosdep не нужны.
Аноним 13/06/21 Вск 19:29:08 206721554
>>2066022

А какую проблему ты решаешь?
Аноним 13/06/21 Вск 19:31:30 206721855
>>2067215
Допустим, зову сервисы по rpc, надо передать некие данные. Вообще проблемы как таковой нет, интересуют плюсы-минусы по сравнению с тем же протобафом.
Аноним 13/06/21 Вск 19:49:12 206724756
Вы бизнес логику на ГОвне пишите или только места соприкосновения с высоконагруженной сетевухой? Перелез с пистона пол года назад и возникло ощущение, что он только для этого и нужен, как будто на недо сишке пишу.
Аноним 13/06/21 Вск 20:18:59 206727357
>>2067193
Это не изменение языка, это изменение тулинга. Да и то, тебе один раз на проект нужно сделать go mod init и дальше всё как и раньше
Аноним 13/06/21 Вск 21:26:22 206734758
>>2067218
> плюсы-минусы по сравнению с тем же протобафом.
Протобафы работают без рефлексии, а еще они язык-независимые, а gob чисто гошный энкодинг, т.е. он нужен, чтобы ты мог сохранять состояние между рестартами процесса в файлик, больше применений у него (почти) нет
Аноним 14/06/21 Пнд 22:37:53 206835359
>>2067347
Протобаф как идея норм, а как реализация - говно.

Как схема описания данных - это херня, потому что очень мало возможностей (отсутствуют даже базовые, вроде отметки полей как required / optional) и странные ограничения. В итоге приходится лепить костыли типа zero value у енумов или google/types/wrappers для опиональностей. Расширяется тоже уебищно, аннотации неудобны и не проверяются никак.
Как кодогенератор херня, потому что генерирует крайне неоптимальный код, []*Type видели? Сколько ненужных указателей, это пиздец, на больших нагрузках ГЦ умирать будет. Актуально кстати не только для го, для джавы там такие же проблемы с кодом.
Как тулчейн тоже обосрались, вместо питона написали проток на ебучих плюсах, хер расширишь нормально, для того, чтобы плагин написать или отдебажить, нужно пострадать. Импорты кстати тоже уебищно работают.
Как экосистема протобаф + grpc проигрывают jsonчикам просто всухую, количество и качество тулзов несопоставимо просто.
Как способ экономить трафик в целом норм, но штука в том, что json | swagger | gzip будет не сильно хуже.

Даже сами сотрудники гугла в неофициальной беседе признавались, что протобаф - это ну такое.
Имхо, отличный пример карго-культа и засилия хипстеров в индустрии, гугл ведь говна не сделает, надо брать.
Аноним 14/06/21 Пнд 22:49:22 206837260
>>2068353
Ок. Какие годные альтернативы, если мне нужно экономить трафик и важна латенси?
Аноним 15/06/21 Втр 01:22:35 206857261
Что больше подходи для нормальной работы с кодом на Гошане? VS Code or golang? Да и вообще, это единственные редкторы/ИДЕ'шки для него?
Аноним 15/06/21 Втр 01:30:33 206857462
>>2068372
Та в том то и дело, что альтернатив тонет.
Не нравиться rest+json и gRPC? Cоздавай свой протокол над http.
>>2068353
>Как кодогенератор херня, потому что генерирует крайне неоптимальный код, []*Type видели? Сколько ненужных указателей, это пиздец, на больших нагрузках ГЦ умирать будет. Актуально кстати не только для го, для джавы там такие же проблемы с кодом.
Не использовал на проде gRPC, но если гуглу норм - то нам тем более должно быть норм. Похоже на больших объемах трафик дороже CPU.
>>2068572
Есть два варианта - либо Goland, либо ваш-любимый-текстовый-редактор+https://github.com/golang/tools/blob/master/gopls/README.md
Я сам использую первый вариант, т.к. давно подсел на иглу реактивных мозгов и лень переучиваться. Но люди в интернете говорят, что gopls вполне юзабельный
Аноним 15/06/21 Втр 09:04:42 206864363
>>2068574 >>2068353

ну как схема данных, тут уж простите, или schemaless бинарщина со своими плюсами-минусами, либо json и далее

а в плане иплементации, да, гугол жиденько обосрался, посмотри на альтернативную имплементацию https://github.com/gogo/protobuf

или альтернативные бинарные протоколы wire, msgpack, avro, твитеровский какой-то, не помню как называется

без нормального протокола наешься говна как пхпшники, со своим `serialize()` в свое время.

>>2068572

любой редактор по вкусу, который умеет LSP + gopls сам на gopls сижу, зависимость есть, брат жив

>>2067247

пишу, прививаю команде DDD и гексагональность ибо заебали со своим копипастным-говнокодом
Аноним 15/06/21 Втр 11:54:55 206876064
>>2061078 (OP)
Предложили перекат с java на Go. Какие подводные камни?
Аноним 15/06/21 Втр 11:59:18 206876565
>>2068760

программировать научишься
Аноним 15/06/21 Втр 12:21:14 206878266
>>2068765
В каком плане? В чем будет для меня разница?
Аноним 15/06/21 Втр 12:23:51 206878367
>>2068760
Как минимум у тебя будет работа, в отличии от миллионов жабистов которые в ближайшие два года дружно отправятся в утиль, так как их костыльная jvm из прошлого века не соответствует реалиям современной разработки
Аноним 15/06/21 Втр 12:33:05 206878568
>>2068783
Java вакансий раза в 3 больше чем Go вакансий, браток.
Все банки, дохуя серверов, дохуя сервисов, IoT, ретейл и дохуя чего ещё написаны на жабе. В ближайшие два года количество java-вакансий только увеличиться.
Так что я спрошу еще раз, с надеждой на адекватный ответ:
в чем будет разница между работой на Java и работой на Go?
Аноним 15/06/21 Втр 13:35:31 206884669
>>2068785
Он шиз, который принимает ГОвно как спасение и очередную серебрянную пулю. На ГОвне ты будешь пилить быстрый перекладыватель джсонов, для которого ГОвно и было написано
Аноним 15/06/21 Втр 14:05:59 206888270
>>2068846
> быстрый перекладыватель джсонов

Ресты что-ли обычные? А на сколько быстрее жабы?
Аноним 15/06/21 Втр 14:30:32 206891871
Что учить чтобы не остаться на обочине разработки в 2021 году? Govno? Node.js? Rust?
Сам я немного прогал на плюсах и на джаве.
Аноним 15/06/21 Втр 15:16:49 206898172
>>2068918
Что такое обочина разработки? Даже крестов с жабой тебе хватит минимум до 2030. Если надо модное-молодёжное, иди во фронтенд.
Аноним 15/06/21 Втр 15:21:58 206898373
>>2068981
Ну например сегодняшние шарписты, у которых были большие надежды на неткор, но все сдулось и теперь шарп нужен в легаси проектах и игрульках на юнити.
Аноним 15/06/21 Втр 15:36:18 206900074
>>2068983
Вроде, попадаются вакансии с неткором, хотя не особо слежу. В энтерпрайз ему пока рановато, там не любят необкатанные технологии. Жаба вряд ли сдается в ближайшие лет 10. С Go не станет хуже, чем сейчас, будет только дальнейшее развитие. Ноду не сервере используют редко. На расте почти нет работы, он тоже набирает популярность, но не такими темпами, чтобы убить кресты в ближайшем будущем. Вот именно в раст и ноду я бы вкатываться не стал.
Аноним 15/06/21 Втр 23:23:02 206969875
300кк наносекеры, есть желание вынести генерацию xlsx куда-то из проекта, хвалят эти ваши голанги.

Как в таких сдучаях у вас принято общаться между core (например ruby) и сервисом с го?
Аноним 16/06/21 Срд 01:46:36 206979276
>>2069698
Если тебе надо получить именно файл - то пусть го (хотя почему именно он, непонятно) файл и делает. А запрос на генерацию файла отправь таким образом, каким это принято у тебя в проекте. Лучше однообразно, чем "как надо в маняфантазиях"
Аноним 16/06/21 Срд 03:41:32 206980277
>>2069000
>Ноду не сервере используют редко
Это смотря где. В СНГ-песочнице да не слишком часто.
Аноним 16/06/21 Срд 08:11:22 206982378
>>2069792
Спасибо за отклик, антош. На рубях отчет генерится больше 20 минут, поэтому надо что-то с этим делать.
Аноним 16/06/21 Срд 08:40:56 206983579
>>2069698

> есть желание

подрочи, обычно помогает

> Как в таких сдучаях у вас принято общаться между core (например ruby) и сервисом с го?

да как и с остальными языками, через IPC, RPC и все прочее

> На рубях отчет генерится больше 20 минут, поэтому надо что-то с этим делать.

а почему ты считаешь, что если просто переписать с одного языка на другой, то станет быстрее?
Аноним 16/06/21 Срд 20:26:10 207059880
>>2069835
> а почему ты считаешь, что если просто переписать с одного языка на другой, то станет быстрее?

Потому что на соседнем проекте на crystal похожее вылезает за несколько секунд. Меня кристал не особо интересует, поэтому смотрю на го.
Аноним 16/06/21 Срд 22:03:22 207070581
>>2070598
Охуеть, кристал кто-то использует в продакшене?
Аноним 17/06/21 Чтв 01:36:42 207087182
>>2070705
Даже хаскелль используют, если хорошо поискать.
Аноним 17/06/21 Чтв 07:49:05 207091183
>>2070598

С таким уровнем аргументации лучше на асме переписать, он самый "быстрый".
Аноним 19/06/21 Суб 13:54:06 207355484
Аноним 19/06/21 Суб 16:35:05 207370985
>>2068572
С го суть в том, что хоть в блокноте пиши, а через консоль запускай
Аноним 19/06/21 Суб 16:45:23 207371586
>>2073709
Так про любой язык можно сказать. И нигде так делать не будут, потому что неудобно.
Аноним 19/06/21 Суб 21:39:02 207399687
>>2073715

Попробуй из интереса по-писать на каком-нить php-си-расте в блокноте/на бумажке и потом так же на го, вот тут-то ты и прочувствуешь насколько го проще.
Аноним 19/06/21 Суб 22:11:40 207401988
>>2073996
Пробовал, не проще.
Аноним 20/06/21 Вск 06:30:44 207417989
Понадобилось копаться в одной софтине на го и модифицировать ее. Посоны, это ужас. Ну совсем прям плохи дела. Язык у вас - калека уровня QBASIC.
Работа над ошибками это какое-то квазимодальное уродство. Такое впечатление, что создатель этого издевался над кодерами. Композиция вызовов? Вызов функции в условии ифа? Не нужно. Нужно на каждый вызов функции 4 строки оверхеда с одним и тем же кодом. Поменял возвращаемые значения функции? Будь добр, пройдись теперь по всем return nil, nil, 0, nil, nil, 0, 0, err и поправь их в 20 местах. Что, хочешь спарсить JSON? Нна, сука, по 10 строк на вытаскивание каждого следующего элемента. Продолжать можно долго.
Что это? Зачем это? Кто это делает? Почему оно еще живо?
Аноним 20/06/21 Вск 06:41:39 207418090
>>2074179
Платят за него больше всего, работать на нём просто, язык быстрый по перформансу и по скорости написания программ.
Аноним 20/06/21 Вск 10:31:04 207424691
>>2074179
Вызвать в условии ифа можно. А как в других языках (именно языках, не иде) меняются ретурны самостоятельно? Как это вообще возможно?
Аноним 20/06/21 Вск 10:57:50 207426792
>>2074179
> Что это?
Язык-гной, язык-пидор.

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

> Кто это делает?

Главпидор всея интернета, а.к.а. Гугл.

> Почему оно еще живо?

Потому что порриджи не способны освоить что-то более сложное и взрослое. Так и живём.
Аноним 20/06/21 Вск 12:41:07 207433193
протухший язык от которого отказался даже сам создатель брошенный на произвол судьбы не нужный никому стоит задуматься...
Аноним 20/06/21 Вск 12:48:29 207433494
>>2074331
Согласен, пхп он такой, но зачем ты в го тред это постишь?
Аноним 20/06/21 Вск 14:11:41 207442695
>>2074267
Хуйню несёшь, зумеры тут не при чём, язык создали бумеры, причём уважаемые другими бумерами, и создан он был тоже для бумеров. Если не в курсе, в американских корпорациях на основных сеньорских должностях трудятся люди под сорок. Ты постсоветское эйджистское ведро с крабами / банку со скорпионами не проецируй на западный мир.
Аноним 20/06/21 Вск 14:17:32 207443696
>>2074426
Дедули получается говном накормили порриджей, пора бы и на пенсию уже
Аноним 20/06/21 Вск 14:24:53 207444397
>>2074436
Го набирает популярность, денег платят много, лучше не завидовал бы и грёб баблос
Аноним 20/06/21 Вск 19:31:30 207479598
Кто-нибудь пробовал goschool от озона? Как оно? Какой вообще положняк по озону, наверняка кто-нибудь из вас изнутри знает
Аноним 20/06/21 Вск 19:50:39 207483699
Что пишут на вашем голанге? Какой стек нужен чтобы преуспеть в нем.
Аноним 20/06/21 Вск 21:00:24 2074932100
>>2074426
> язык создали бумеры
Прав.

> причём уважаемые другими бумерами
Прав.

> создан он был тоже для бумеров
А вот тут ты неправ.

> Если не в курсе, в американских корпорациях на основных сеньорских должностях трудятся люди под сорок

Этот язык не создавали для сеньёров. Сеньёры пишут на нормальных языках, которые требуют работающей головы. Этот же "язык" - это станок для будущего пролетариата, т.е. порриджей. Простой, с минимальным количеством концепций, требующий минимальных знаний. Сел, выучил за неделю и на завод на галеру.
Аноним 20/06/21 Вск 22:28:58 2075030101
Можно ли к вам вкатиться, если я работал ETLщиком и писал скрипты на питоне?
Аноним 20/06/21 Вск 22:29:15 2075031102
>>2075030
Алсо, при вкате желательно зп от 150к.
Аноним 20/06/21 Вск 23:41:35 2075148103
>>2074932
Какие тебе сложные концепции нужны?
Аноним 20/06/21 Вск 23:43:50 2075152104

G
Аноним 21/06/21 Пнд 04:10:50 2075233105
>>2074246
В других языках из функции не нужно делать 50 ретурнов. В подавляющем большинстве случаев ретурн один, и менять его нужно только по делу.
Аноним 21/06/21 Пнд 10:20:00 2075331106
>>2075233
Ты просто не очень хороший программист
Аноним 21/06/21 Пнд 16:40:36 2075943107
>>2074836
Бамп
Интересно узнать мнение голанг специалистов разбирающихся в этом вопросе
Аноним 21/06/21 Пнд 18:58:11 2076243108
>>2074932
>выучил за неделю и на завод на галеру.
Ага блять, за неделю. Из за этого "go way", много всякой нестандартной хуйни. Всякие специфические только для го паттерноы типа singleton dependency injection? multiton. Понимание того как работает GC (который блять меняется через каждую версию), понимание работы шедулера (та же хуйня, что и с gc), дохуища всяких нюансов для горутин, трэйсы etc. Это конечно не c++, которые можно всю жизнь использовать и находить что-то новое, но и не дажва или питон.
Аноним 21/06/21 Пнд 20:16:36 2076380109
>>2075331
>Ты просто не смакуешь, пока жрешь говно
Поправил тебя
Аноним 22/06/21 Втр 11:46:48 2076854110
>>2061078 (OP)
Какая уебищная система импортов тут, даже с локальным модулем лютая ебля
Аноним 22/06/21 Втр 12:25:50 2076881111
>>2074443
Ну так на него берут только с опытом в других языках, а с таким опытом итак бабла хватает и ты обычно уже бородатый
Аноним 22/06/21 Втр 12:34:00 2076889112
>>2076854
Пориджы должны страдать
Аноним 22/06/21 Втр 12:40:00 2076895113
>>2076889
Странно, что те, для кого создавался этот язык должны страдать
Аноним 23/06/21 Срд 08:20:23 2077579114
Полгода пытаюсь понять, как там отстреливают себе ноги модулями
Аноним 24/06/21 Чтв 00:13:18 2078599115
>>2076243
> Всякие специфические только для го паттерноы типа singleton dependency injection? multiton
В мире го нет специфичных паттернов, особенно таких

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

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

> дохуища всяких нюансов
как вообще в любом языке

> нюансов для горутин, трэйсы etc.
Го тура хватает на 90%, го тур + пакет sync так и вообще на все сто. Хз чё тебе там сложным кажется, как раз с горутинами проблем меньше всего, если один раз пройти мануал

Я концептуально с тобой согласен, что никакой язык за неделю не учится на про уровень, и го в том числе, но аргументы у тебя всё равно уебанские
Аноним 24/06/21 Чтв 01:08:42 2078636116
>>2078599
>Нет, не меняется. Немного допиливается, но базовая логика неизменна уже давно.
Вот когда завезут суб-миллисекундный гц, как в жяве, тогда язык будет просто топ. Очень хочеца.
Аноним 24/06/21 Чтв 07:17:38 2078705117
Аноним 24/06/21 Чтв 08:02:58 2078710118
>>2074836
Пишут что угодно, это один из настоящий генерал пурпос языков
Чтобы преуспеть нужно или быть экспертом DDD, или крутить байты в кешах и гц вручную. К сеньерству должен уметь обе вещи
Аноним 24/06/21 Чтв 08:23:17 2078716119
>>2078710
Как то размыто получается
Аноним 24/06/21 Чтв 12:34:36 2078905120
>>2078705
Пишут джейсоноукладчики в микросервисном стиле. И кубер с докером. В общем, все, что связано с "облаками"
Аноним 24/06/21 Чтв 14:34:19 2079026121
Аноним 25/06/21 Птн 10:38:28 2079674122
>>2079026
Очередь задач попадает в "все что связано с облаками".
Всё остальное - не целевое предназначение языка, хотя конечно написать можно что угодно. Но если так считать, то вопрос зачем нужен язык вообще смысла не имеет, потому что что угодно можно написать на чём угодно
Аноним 25/06/21 Птн 11:00:53 2079679123
>>2079674
Напиши-ка мне на ноде многопоточную бд.
Аноним 25/06/21 Птн 12:55:38 2079797124
>>2079674

Погугли, что значит словосочетание "язык общего назначения".
Аноним 25/06/21 Птн 19:07:10 2080344125
>>2061078 (OP)
Как правильно писать вложенные пакеты? В стандартной либе есть "net/http/fcgi", который импортирует "net/http", который в свою очередь импортирует "net"
С другой стороны есть "sync", который импортирует "sync/atomic"
Аноним 25/06/21 Птн 19:08:26 2080348126
>>2079797
> язык общего назначения
Понятие, описывающее несуществующее явление. Иначе был бы один язык, на котором писали бы все. И не надо отговорок про легаси.
Аноним 25/06/21 Птн 20:35:47 2080412127
>>2080344
Как они по смыслу вкладываются друг в друга, так и вкладывай в коде. Если возникнут кольцевые зависимости - будешь их разрывать
Аноним 25/06/21 Птн 22:32:17 2080542128
Аноним 25/06/21 Птн 22:51:00 2080554129
>>2080348

Сложно быть тупым, постарайся избегать этого
Аноним 25/06/21 Птн 22:53:35 2080557130
>>2080542

А ещё, Роб Пайк, лично, мог соссать тебе на лицо, но он же не стал так делать, попробуй проанализировать почему так случилось
Аноним 25/06/21 Птн 23:01:22 2080559131
Аноним 25/06/21 Птн 23:04:20 2080560132
>>2080542
Бля, ну защо. Сделали бы хоть <> вместо [], как в жяве. Ну некрасиво же смотрится.
26/06/21 Суб 20:12:13 2081127133
>>2080560
> как в жяве
Потому и сделали, что надо какое угодно говнище, лишь бы не как в жабе, даже если и не в ней это придумали. В котлине тоже эта шиза, но появляется в другом.
Аноним 26/06/21 Суб 21:32:16 2081223134
>>2080542
Маня меняй парадигму мышления
Аноним 26/06/21 Суб 22:25:49 2081267135
>>2081223
Парадигма-хуедигма. Хули так сложно сделаны констрейнты? Мне всего лишь нужен поинтер любого типа, который обладает парой методов. Нахуя мне 2 типа описывать, если второй тип это буквально что угодно?
Аноним 27/06/21 Вск 11:16:33 2081477136
>>2081127
В чём в Котлине проявляется?
Аноним 27/06/21 Вск 15:03:23 2081824137
>>2081477
Например, запрет static. Вместо него придумали companion objects, функции и ещё десяток костылей.
Аноним 27/06/21 Вск 21:44:29 2082325138
>>2079679
Напишу

бекендер-нодовец
Аноним 27/06/21 Вск 22:46:26 2082365139
image.png 947Кб, 900x600
900x600
>>2082325
Понял, с тобой лучше не связываться.
Аноним 28/06/21 Пнд 07:02:15 2082497140
>>2061078 (OP)
Есть тут анон который разобраться с тем как рабоать с uniswap с го?
Тыщамиллионов вопросов.
Аноним 28/06/21 Пнд 18:30:30 2082973141
Гайз, для новичка перспективнее Go или все же Python?
Аноним 28/06/21 Пнд 19:25:10 2083044142
>>2082973
Насчёт петухона хз, но джунам в goвне не место.
Аноним 28/06/21 Пнд 20:18:31 2083128143
>>2083044
Я тоже так думаю, потому что и гайдов не нахожу для нулей. Пойду в питон или js
Аноним 28/06/21 Пнд 20:59:17 2083160144
>>2083128
А гайдов для сеньоров ты находишь? Перспективнее он блять ищет
Аноним 29/06/21 Втр 00:57:44 2083344145
>>2083128
> гайдов не нахожу для нулей
Хуево ищешь
Аноним 29/06/21 Втр 01:07:16 2083345146
>>2080560
Сделали как в питоне, норм.
Аноним 29/06/21 Втр 15:15:10 2083731147
Вкатился и выкатился из го пару лет назад с диким бугуртом. Теперь снова зовут на го и обещают большие для меня деньги. Стоит оно того?
Аноним 29/06/21 Втр 15:19:52 2083737148
Аноним 29/06/21 Втр 15:24:27 2083750149
>>2083737
От того, что на го пытались писать развесистую бизнес логику, а не использовали его по назначению
Аноним 29/06/21 Втр 16:26:40 2083840150
>>2083750
У говна нет и не может быть назначения.
Аноним 29/06/21 Втр 16:37:03 2083853151
>>2083750
И что же это за назначение такое? Cli-утилиты и операторы для кибертетриса?
Аноним 29/06/21 Втр 17:06:53 2083885152
Мотаюсь от Го к Расту и обратно, оба нравятся, но хочу писать только на одном, не могу определиться. Моя цель хорошо освоить один язык и юзать его для повседневных задач. Раст осень ноавится, но сложный. Раст и Го вообще очень похожи, go fmt/rustc fmt, cargo install / go install и друг у дружка пиздят фичи.

Вопрос. Наступит ли момент, когда зорошо выучив Раст, я буду на нем задачи решать также быстро как на Го? Или псоле Раста всегда как после войны возвращаешься?
Аноним 29/06/21 Втр 17:09:16 2083887153
>>2083885
> Раст осень ноавится, но сложный
нет.
> Раст и Го вообще очень похожи
нет.

> и друг у дружка пиздят фичи
нет.
Аноним 29/06/21 Втр 17:10:36 2083889154
8B8D3F39-C4E1-4[...].jpeg 60Кб, 512x512
512x512
Аноним 29/06/21 Втр 17:11:16 2083891155
>>2083887
На самый главный вопрос не ответил =[
Аноним 29/06/21 Втр 17:12:05 2083893156
>>2083887
go get deprecates in 1.17 infavor of go install как думаешь почему? Потому что есть бодественный cargo install
Аноним 29/06/21 Втр 17:13:47 2083895157
Аноним 29/06/21 Втр 17:16:19 2083900158
>>2083853
Маленькая, но шустрая параша. Для себя кстати писал и консольные утилиты (например по поиску дубликатов боевых картинок)
Аноним 29/06/21 Втр 17:28:13 2083911159
>>2083900
Зумер изобрел google search by image?
Аноним 29/06/21 Втр 19:17:50 2084049160
>>2083911
Поиск дубликатов на своей пекарне, шизик.
Аноним 29/06/21 Втр 19:25:04 2084059161
>>2084049
Сравниватель хешсум?
Аноним 29/06/21 Втр 19:28:45 2084062162
>>2084059
Хоть один пиксель различается - и хеши разные?
Аноним 29/06/21 Втр 19:29:37 2084064163
>>2084062
Да, но тогда давай свой критерий дубликатов картинок
Аноним 29/06/21 Втр 19:40:06 2084078164
Аноним 29/06/21 Втр 19:40:48 2084079165
Аноним 29/06/21 Втр 19:47:34 2084094166
>>2084079
>самоподдув и маняфантазии растошизиков
>ждет оправданий
Аноним 29/06/21 Втр 20:11:02 2084119167
>>2084079

> Oliver Gould

кто это и почему его мнение должно кого-то интересовать?

> Buoyant

какое вообще отношение сила архимеда имеет к разработке?
Аноним 29/06/21 Втр 21:00:05 2084187168
Допустим, хочу тянуть .m3u8-плейлист с твича прямой трансляции и вручную без streamlinkа чанки парсить через for/loop и сохранять на диск аппендить в файл. + возможность записи не 1-го стрима, а 2, 3 хоть 10 стримов одновременно.

Что выбрать лучше, Го или Раст для такой задачи и почему?
Аноним 29/06/21 Втр 21:10:33 2084200169
>>2084187

vlc выбери, наркоман
Аноним 30/06/21 Срд 19:05:07 2084922170
>>2084064
Можно приводить к размеру, скажем, 50х50 и сравнивать попиксильно. Больше 95% совпадения - считай одна и та же картинка. Похуй что сложность квадратичная, если тебе нужно запускать это раз в пол года
Аноним 30/06/21 Срд 19:08:36 2084926171
>>2084187
Выбери что лучше знаешь, vlc/ffmpeg либу можно вызвать из чего угодно.
Аноним 30/06/21 Срд 19:53:17 2084961172
Аноним 30/06/21 Срд 19:54:51 2084964173
>>2061078 (OP)
>var твояМамка ТвояМамаша
У вас мать экспортируемая

Аноним 30/06/21 Срд 20:28:19 2084998174
>>2084961

нихуя не понял, поясни плз долбоебу
Аноним 01/07/21 Чтв 01:11:34 2085209175
>>2084079
Именно поэтому ты пришел в го тред? Просто признайся, что у тебя поджилки трясутся от того, что раст медленно умирает.
Аноним 01/07/21 Чтв 19:04:22 2085481176
mem-weak.png 29Кб, 308x294
308x294
>>2084998
Создатели ARM-архитектуры - сатанисты, вот пруф
Аноним 03/07/21 Суб 18:56:50 2087018177
>>2084187
>+ возможность записи не 1-го стрима, а 2, 3 хоть 10 стримов одновременно
нахуя делать это в одном процессе? энивей, ебота с бесполезными фичами конечно же должна писаться на расте и не засирвать гошную экосферу.
Аноним 03/07/21 Суб 19:04:54 2087025178
Аноним 03/07/21 Суб 19:44:46 2087055179
>>2087025
го в принципе подхватить несложно. но сходств с петоном особых нет, которые бы упростили жизнь, скорее различия.
Аноним 04/07/21 Вск 00:17:47 2087218180
>>2087018
потому что юзабилити, не хочет конечный юзер писать баш-скрипт, а если он на виндовсе и у него нет wsl? программа не только качать будет, но и мониторить онлайн, при подрубке начинается запись и так прога висит 24\7 мониторит и авто-качает. ГОДНО!
Аноним 04/07/21 Вск 00:33:19 2087224181
cd38bd27b7c0b8f[...].jpg 43Кб, 1000x562
1000x562
Аноним 04/07/21 Вск 19:48:08 2087715182
>>2061078 (OP)
Как в Go написать функцию, которая возвращает свой аргумент, но принимать она должна любые аргументы, в том числе функции?
Аноним 04/07/21 Вск 20:14:19 2087721183
>>2087715
Не надо так делать.
Аноним 04/07/21 Вск 20:24:48 2087731184
>>2087721
Тебя забыли спросить. Такая функция есть в математике, называется функция тождества или identity function. Если в языке нельзя ее реализовать, то его место на помойке. Без этой функции не построишь некоторые хороших абстракций.
Аноним 04/07/21 Вск 20:50:12 2087739185
>>2087731
> Если в языке нельзя ее реализовать, то его место на помойке
Ты всё правильно понял.
Аноним 04/07/21 Вск 20:56:13 2087743186
>>2087731

тебе в загон с питонистами математик, блять
Аноним 04/07/21 Вск 21:29:09 2087766187
>>2087731
Зачем так категорично, дай ему шанс...
Аноним 04/07/21 Вск 21:58:48 2087797188
>>2084964
> твояМамка
> экспортируемая
Аноним 04/07/21 Вск 22:10:08 2087807189
Аноним 04/07/21 Вск 23:30:43 2087851190
>>2087715
Аргумент типа "...interface{}", возвращает тип interface{}. Вот тебе и функция, ебись с ней как хочешь.
Аноним 04/07/21 Вск 23:35:04 2087857191
>>2087807
Работает вроде правильно, но слишком многословно. В голанг слаке показывали очень лаконичный пример без объявления структур и интерфейсов, только это было давно и ссылка не сохранилась.
Аноним 05/07/21 Пнд 00:20:13 2087874192
>>2087857
func ФУНКЦИЯ(АРГУМЕНТ interface{}) interface{} {
return АРГУМЕНТ
}
Аноним 05/07/21 Пнд 00:53:29 2087886193
>>2087851
Нахуй нам ваши дженерики, у нас есть interface{} и смекал очка
Аноним 05/07/21 Пнд 01:00:34 2087893194
>>2087886
И типобезопасность, ага.
Аноним 05/07/21 Пнд 01:09:06 2087896195
>>2087886
>смекал очка
Ну, генераторы от васянов есть, и на том спасибо.
Аноним 05/07/21 Пнд 03:47:02 2087928196
Аноним 05/07/21 Пнд 07:00:11 2087938197
>>2087874
Зачем там фигурные скобки?
Аноним 05/07/21 Пнд 09:26:16 2087965198
>>2087874
Там можно и без структур с интерфейсами сделать, я просто люблю типы описывать.
Аноним 05/07/21 Пнд 15:28:58 2088193199
>>2087797
Я про тип. А вариабля вообще объявлена на уровне функции, её и внутри пакета не видно.
Аноним 05/07/21 Пнд 15:58:50 2088221200
>>2087928
(((Типобезопасность)))
>>2087938
Пустой иетерфейс. Логика в том, что пустой интерфейс не накладывает ограничений на реализацию, а значит, его реализуют вообще все типы. Это как void* ч крестиках или Object в джавашарпах.
Аноним 06/07/21 Втр 12:37:24 2088805201
это норм, что я юзаю го для gui приложух?
Аноним 06/07/21 Втр 12:45:41 2088815202
>>2088805
Если ты это для себя делаешь, то хоть на пистоне пили
Аноним 06/07/21 Втр 14:40:49 2088898203
>>2088815
спасиба сальдат, спасиба ветерань
Аноним 06/07/21 Втр 15:22:46 2088927204
Аноним 06/07/21 Втр 16:03:46 2088961205
>>2088927
ищу ченить новенькое, на c++ и лиспе заебло как и на остальном
Аноним 06/07/21 Втр 16:07:27 2088962206
image.png 3Кб, 269x94
269x94
Пацаны кто саблайм юзает с го, такая хуйня: почему то при написании case он сразу съезжает влево, какого хуя? Это именно с стандартным Go пакетом такая хуйня, если выбрать другой язык такого не будет, как фиксить то бля это же пиздец как бесит, а саблайм ван лав
Аноним 06/07/21 Втр 16:11:13 2088964207
Аноним 06/07/21 Втр 16:11:38 2088966208
image.png 4Кб, 217x147
217x147
image.png 4Кб, 273x101
273x101
>>2088962
А бля ложная тревога, я долбаеб хотел компактным его сделать как на 2 скрине в 1 строчку чтоб умещалось, но го говорит хуй ну лана, буду юзать 1 вариант
Аноним 06/07/21 Втр 16:13:09 2088967209
>>2088961
Что за либа то хоть? А то я попробовал javafx (да да мертвое говно) и ахуел на сколько все правильно, логично и реактивно в их экосистеме по сравнению с реактом и всем вебом. Жаль десктоп мертв.
Аноним 06/07/21 Втр 16:15:47 2088968210
>>2088964
уже устанавливал, но чет не сложилось у меня там и я хуй забил + с го как то все проще, тем более раньше его юзал, крч попробую пока на нем посидеть
Аноним 06/07/21 Втр 16:29:52 2088977211
>>2088967
а хуй знает, все еще выбираю из awesome списка. нашел пиздец простую для ui - fyne, для игор можно sdl или оч простой prototype. а так я на с++ winapi в основном юзал, qt, opengl и тд
Аноним 06/07/21 Втр 17:07:33 2089003212
Решил посмотреть код драйвера для постреса
https://github.com/lib/pq
Что тут за хуйня, где структуризация проекта, почему все в одной папке, тесты, документация, реадми, травис, вы ебанулись там?
Аноним 06/07/21 Втр 17:12:41 2089006213
>>2089003
Серьезные дяди на сишке так же пишут, структура это у всяких пхпшников и джавистов
Аноним 06/07/21 Втр 17:25:39 2089011214
>>2089006
Сишку деды дидов пилили, там этот архаизм можно понять, а тут что за говно? Чем им не угодило разбиение программы по модулям?
Аноним 06/07/21 Втр 17:30:42 2089017215
>>2089011
То что в пщ модули сделаны хуже, чем в сишке.
Аноним 06/07/21 Втр 17:35:54 2089024216
>>2089017
У Пайка нет объяснение? Он же так любит объяснять почему говно сделал.
Аноним 06/07/21 Втр 17:59:26 2089049217
Сап, тупой вопрос от залётыша: стоит ли юзать IDE(если да, то какой) для работы с Go? Или можно обойтись терминалом+блокнотом?
Аноним 06/07/21 Втр 18:02:36 2089050218
>>2089049
Да похуй так то, я саблайм юзаю ибо быстро открывается, там настроил себе клавишу для билда и запуска программмы и збс че еще то надо
Аноним 06/07/21 Втр 18:05:20 2089054219
Аноним 06/07/21 Втр 18:06:39 2089055220
>>2061078 (OP)
Пацаны, как быстро два глаза сделать без ебучего ко?
А? А? А? Мааамууу ебал. А? А? А?
да я гений нахуй столько отсылок сделать фух ну все на сегодня хватит, лучше уже не будет расходимся
Аноним 06/07/21 Втр 18:13:47 2089058221
Аноним 06/07/21 Втр 18:14:59 2089060222
Аноним 07/07/21 Срд 12:25:26 2089557223
Аноним 07/07/21 Срд 13:54:02 2089619224
Аноним 07/07/21 Срд 13:57:38 2089622225
image.png 20Кб, 420x451
420x451
>>2061078 (OP)
> - В обязательном порядке проходим Go Tour: https://tour.golang.org/welcome/1 (есть на Русском)
>(есть на Русском)
че за пиздеж? нет там нихуя на русском, максимум на узбекском бля
Аноним 07/07/21 Срд 15:42:21 2089716226
Аноним 07/07/21 Срд 15:46:53 2089719227
>>2089716
так ОП пиздабол палучаица
Аноним 07/07/21 Срд 15:52:58 2089726228
>>2089622
И в чём проблема? Берешь читаешь в ориге и в ус не дуешь
Аноним 07/07/21 Срд 15:56:18 2089730229
>>2089726
проблема в том, что ОП пиздабол палучаица
Аноним 07/07/21 Срд 15:57:41 2089732230
>>2089730
Вызывай его на качели.
Аноним 07/07/21 Срд 15:58:42 2089733231
>>2089730
А не похуй ли? Его дело -- сделать тред. Он как лентач -- инфу дал, а проверка на правдивость -- наше дело
Аноним 07/07/21 Срд 16:06:45 2089741232
>>2089732
туда, сюда, обратно, тебе и мне приятно
Аноним 07/07/21 Срд 16:07:14 2089742233
>>2089733
тогда я герой, раз проверил на правдивость. медаль мне нахой
Аноним 07/07/21 Срд 16:15:22 2089747234
>>2089742
К медали прилагается обязанность пилить следующий перекат.
Аноним 07/07/21 Срд 16:31:23 2089761235
Аноним 07/07/21 Срд 16:51:21 2089770236
>>2089730
Раньше был, но на сайте он не работал, только локально.
Попробуй тоже локально запустить у меня не получилось, в последней версии go get golang.org/x/tour нихуя не работает
В любом случае ты не много потерял, т.к. map'у перевести как "карту" тебе и гугель тренслейтор может.
Аноним 07/07/21 Срд 17:26:48 2089818237
>>2089770
Хуй знает пацаны зачем вам эти гайды, я на википедию 2 раза зашел, там все в кратце описывается и мне этого хватило лол.
Аноним 07/07/21 Срд 17:44:34 2089848238
>>2089818
Ну, тур действительно хорош. Он превращает любого человека, который хоть как-то, хоть на чем-то умеет кодить (включая всяких васянов с вордпреса, петровичей с башем и так далее) в полноценных гоферов, которые могут прочитать практически любой код, благо конструкций языка не так и много, и они, в отличии от раста легко гуглятся, т.к. это ключевые слова, а не спецсимволы.
Аноним 07/07/21 Срд 18:16:18 2089878239
Аноним 07/07/21 Срд 20:54:52 2090005240
>>2089848
>они, в отличии от раста легко гуглятся, т.к. это ключевые слова, а не спецсимволы
Если бы это было действительно важно мы не жили бы в мире победившего си, и писали бы везде BEGIN; вместо {
Аноним 07/07/21 Срд 20:59:04 2090007241
>>2090005
Учитывая, что в Go эволюция вспять пошла, не удивительны были бы и BEGIN END. Будь воля Пайка, он бы так и сделал, но это бы отпугнуло потенциальных пользователей языка.
Аноним 08/07/21 Чтв 00:39:50 2090136242
>>2090005
Ну не нужно совсем охуевать, нормально же общались.
Аноним 08/07/21 Чтв 00:49:00 2090144243
Аноним 08/07/21 Чтв 08:29:33 2090216244
Аноним 08/07/21 Чтв 22:40:16 2090898245
>>2090144
Не удивлюсь, если он переписывает код со второго монитора, и это его первый код на го в принципе
Только названия функций меняет, даже не зная, что снейк кейс не принятно использовать даже в константах
Аноним 09/07/21 Птн 00:06:01 2090942246
>>2090898
Есть адекватные видосы где реализуют такие простые вещи?
Аноним 09/07/21 Птн 00:33:32 2090947247
>>2090144
Слушаю фоном на 1.75 скорости, весьма простенько там всё, но я не знаю толком го, чтобы оценить, что он несет. Хочется блевать от слова прописывать по сто штук в минуту.
В середине видоса начался sql, этот дебич советует васянские сборочки лампа и пхпмайадмин для этого, лол.
Продолжаю наблюдения.
Аноним 09/07/21 Птн 01:24:30 2090956248
>>2090947
>В середине видоса начался sql, этот дебич советует васянские сборочки лампа и пхпмайадмин для этого, лол.
Ох какой стыд. Явно пхпшник, гоните его, насмехайтесь над ним
Хотя для полного нуля в кодинге может и нормально
Аноним 09/07/21 Птн 01:43:29 2090961249
Как у го с перформансом? Могу делать эффективную числодробилку как на сишке или максимально оптимизированны только спавн миллионов горутин, либы для взаимодействия с сеткой и перекладывания жсонов?
Аноним 09/07/21 Птн 02:32:30 2090967250
>>2090961
>Как у го с перформансом?
Хорошо, для этого он и создавался.
>Могу делать эффективную числодробилку как на сишке
Да, вполне. Есть инлайнинг, есть escape analysis, т.е. часть памяти алоцируется на стеке, что на много дешевле чем в хипе. Прям как в сишке не будет, т.к. GC всё еще есть, да и вызовы функций обходятся немного дороже, чем в си за счет того, что планировщику горутин нужно делать свою работу на каждом(?) вызове. Но это всё экономия на спичках, ты не почувствуешь разницу, скорее всего.

>или максимально оптимизированны только спавн миллионов горутин
Если что - это всё еще дорогая операция. Дешевле, чем спавн треда, но всё же. Очень редко спавнят горутины динамически, зачастую создают n долгоживущих воркеров, которые читают что-то из канала, делают работу и отдают результат в другой канал.

> либы для взаимодействия с сеткой
Низкоуровневый нетворк довольно хорошо оптимизирован, да. Но работы всё еще ведутся. Сейчас идут разговоры о том, что надо изменить структуру IP адреса, т.к. старая использует слайс и это слишком дорого. Да и не по SOLID'у.
Но net/http плохо оптимизирован, его используют либо в маленьких проектах, где сервер это не основная задача процесса и когда важно сохранить маленький размер бинаря, либо просто для примера, как накидать что-то по быстрому.

> перекладывания жсонов
Стандартный пакет тоже не очень оптимальный, но лично я почти всегда использую именно его, т.к. не работаю в YOBA хайлоаде, где каждую алокацию считают.
Аноним 09/07/21 Птн 07:50:58 2090998251
Пацаны поясните, я нуб: имеет ли смысл юзать 2 горутины, типа как 2 потока - 1 для отрисовки, 2 для цикла всех вычислений, т.е.:
go draw()
go update()
будет ли теперь все намного шустрее, чем если бы я просто вызывал их без go?
Аноним 09/07/21 Птн 07:51:57 2090999252
>>2090967
> для этого он и создавался.
> перечисляет одни минусы и кастрации
охлол
Аноним 09/07/21 Птн 08:23:37 2091004253
>>2090998
Корутина это не поток и не про параллельность, две корутины могут висеть на одном потоке, но в одно время на потоке будет работать только одна. Поэтому когда корутина делает долгие вычисления и не прерывается, другие корутины привязанные к этому потоку будут простаивать. Преимущество корутин видно только при сотнях тысяч блокирующих операциях, для time consuming операций они не подходят
Аноним 09/07/21 Птн 10:11:19 2091059254
>>2091004
Разве ГОвяный планировщик не оптимизирует нагрузку, что бы максимально возможное количество корутин выполнялось одновременно распределяясь на максимальное количество тредов/ядер? А то это
>Поэтому когда корутина делает долгие вычисления и не прерывается, другие корутины привязанные к этому потоку будут простаивать.
очень напоминает кооперативную многозадачность пистона того же и его корутин.
Аноним 09/07/21 Птн 11:55:43 2091134255
>>2091059
Я особо не углублялся именно в го, но когда последний раз пробовал долгие вычисления перевести на корутины, профитов не было. Тут конечно дохуя факторов. У меня были общие изменяемые данные и пришлось юзать мьютексы, потом перевел на каналы, менял количество корутин, но было либо так же либо хуже.
Может именно мой случай, того анона не отговаривать попробовать самому.

> очень напоминает кооперативную многозадачность пистона того же и его корутин.
Они наверно везде такие и есть. В шарпе и котлине это тоже самое. Пул потоков, корутины (по сути задачи) и диспатчер, который переключает условный контекст корутин, когда прошлая задача прервалась/кончилась.
Аноним 09/07/21 Птн 12:10:20 2091152256
>>2090999
Хейтер, плиз.
Человек задал вопрос, я на него ответил, что если хочешь выжать максимум производительности - нужно изъебываться, использовать нестандартные реализации для вещей, которые есть в стандартной библиотеке, писать оптимальный код и т.д. Я подошел к вопросу как инженегр, ответил про подводные камни. Я же не маркетолог, чтобы только нахваливать продукт.
Аноним 09/07/21 Птн 12:58:16 2091219257
>>2090998
Сложно сказать в общем случае, такие вещи нужно смотреть предметно. С одной стороны ты таким образом можешь задействовать 2 CPU, что может быть полезно при большем количестве вычислений.
С другой - ты тратишь дополнительное время на синхронизацию (ты же отрисовываешь на основании результата вычислений, не так ли?), по этому в ряде случаев это может работать хуже, чем просто в одной горутине обрабатывать и то и другое.

Ты там ebiten'ю балуешься? Выводи TPS, попробуй оба подхода. Вангую ты не почувствуешь разницы для своих задач, только код зря усложнишь.

>очень напоминает кооперативную многозадачность пистона того же и его корутин.
Не совсем так. В Питоне GIL, что означает, что фактически у тебя только один ос тред работает. А в го m:n планировщик.
Аноним 09/07/21 Птн 14:08:02 2091277258
Аноним 09/07/21 Птн 15:26:15 2091344259
Как часто вы юзаете := для переменных? Я правильно понимаю, что лучше всего, вместо := использовать var x int ради оптимизации? Или там разница особо несущественная и можно этим пренебречь?
Аноним 09/07/21 Птн 15:53:49 2091368260
>>2091344
Тип выводится во время компиляции, в рантайме разницы нет
Аноним 09/07/21 Птн 16:54:13 2091430261
image.jpg 16Кб, 306x306
306x306
>>2091004
>Корутина это не про параллельность
>У меня были общие изменяемые данные и пришлось юзать мьютексы
Ну не используй общие изменяемые данные и мьютексы и корутины будут про параллельность
Как будто так обдрачиваемый за свою параллельность хаскелль принципиально отличается дизайном планировщика от других планировщиков
Аноним 10/07/21 Суб 10:35:59 2091965262
>>2091219
Как Ebiten билдить для других пк? go build -ldflags -H=windowsgui робит только на собственном пк, на других тупо не запускается.
Аноним 10/07/21 Суб 10:49:37 2091976263
>>2091965
Динамическая линковка?
Аноним 10/07/21 Суб 10:53:19 2091980264
>>2091976
А хуй знает как, вчера гуглил про всю эту хуйню как на другие пк билдить и чето нихуя
Аноним 10/07/21 Суб 12:37:38 2092057265
>>2091965
Вы ещё не поняли, что как раз из-за такой хуйни пщ хуёво подходит для других задач кроме бэкенда? Нужен десктоп - берите кресты или шарп.
Аноним 10/07/21 Суб 12:43:16 2092064266
>>2092057
Идеальный вариант это фоновый процесс и вебморда, ящитаю. И разрабатывать заебись, и кроссплатформенно.
Аноним 10/07/21 Суб 12:48:19 2092069267
image.png 47Кб, 1365x733
1365x733
>>2092057
Хуй знает, либа для удобной отрисовки в консоль на других пк робит, а gui всякие чет не особо, много ебли
Аноним 10/07/21 Суб 12:53:08 2092076268
>>2092064
и какие либы для этого юзать?
Аноним 10/07/21 Суб 14:01:25 2092154269
>>2092069
Язык создавался как прослойка между Раджешем и гугловскими сервисами. Какая нахуй графика, мань.
Аноним 10/07/21 Суб 14:16:50 2092173270
>>2092154
ну и че, лисп тоже создавался хуй знает для чего, а в итоге на нем gui и игоры довольно легко пилить если ты не долбаеб, а компиляция совсем уж простейшая
Аноним 10/07/21 Суб 14:40:17 2092191271
>>2092076
Те же, что и для веба, очевидно.
Аноним 10/07/21 Суб 16:24:31 2092276272
>>2092057

Вы ещё не поняли, что как раз из-за такой хуйни shared library это пержиток прошлого и должны отмереть во имя кроссплатформенности?
Аноним 11/07/21 Вск 00:40:19 2092653273
>>2091344
>Я правильно понимаю, что лучше всего, вместо := использовать var x int ради оптимизации?

Ну, оптимизация у тебя будет только если заменишь := на каждой итерации цикла на объявление переменной вне цикла (не важно, через := или var), и затем её будешь переиспользовать. Но это экономия на спичках, и увеличение области видимости переменной, что всегда плохо
Аноним 11/07/21 Вск 00:50:55 2092656274
>>2091965
Не пробовал, я под wasm собираю.

>Is it possible to cross-compile an application with Ebiten?

> Yes and no. If the target is Windows or Wasm, yes. Otherwise, it is almost impossible to cross-compile due to Cgo unfortunately. See also Go issue #18296.

Но судя по их FAQу скомпилить под винду можно (из под линукса/мака)
Только не забудь компиляторы скачать и настроить.
Аноним 11/07/21 Вск 10:53:24 2092777275
>>2061078 (OP)
Гофаны, посоветуйте годный query builder/ORM для SQLite. В идеале с кодогенерацией миграций и бойлерплейта из моделей. Делаю домашний проект, а голый SQL с васянской обвязкой вокруг я уже работе слишком устал писать.
Аноним 11/07/21 Вск 11:03:56 2092781276
>>2092656
Пиздос, вот в этом то и загвоздка, у всех сука библиотек гайд как скомпилировать под винду из линукса, а как нахуй из винды для винды хуй его знает блять пиздец просто охуеть в рот ебал, пизда
Аноним 11/07/21 Вск 11:10:21 2092782277
>>2092781
Так винда это прошивка для игор
Аноним 11/07/21 Вск 11:46:15 2092822278
>>2092782
Двачую, кодить под виндой - зашквар.
Аноним 11/07/21 Вск 12:09:22 2092847279
Аноним 11/07/21 Вск 12:18:05 2092849280
Аноним 11/07/21 Вск 12:20:19 2092855281
>>2092822
Гофноедам не привыкать
Аноним 11/07/21 Вск 13:07:24 2092908282
image.png 29Кб, 618x426
618x426
>>2092656
Короче ебать нашел спасение в Windows Application Library Kit, там manifest только с exe надо тащить и заебись, на других пк все запускается, ахуенно, а я уж думал не существует адекватных либ.
Аноним 11/07/21 Вск 13:44:12 2092952283
Аноним 11/07/21 Вск 14:05:39 2092967284
>>2092952
Закрой канал results после завершения всех горутин, иначе range заблокируется.
Аноним 11/07/21 Вск 14:35:02 2092990285
Аноним 11/07/21 Вск 15:51:16 2093072286
>>2092967
Спасибо! Был не в курсе, что из закрытого канала можно читать
Аноним 11/07/21 Вск 18:02:32 2093179287
>>2092781
> а как нахуй из винды для винды хуй его знает блять пиздец просто охуеть в рот ебал, пизда
Так, ёбана, пожди. Если что-то собирается и работает на твоей винде и не работает на другой винде - значит скорее всего дело в зависимостях. Ты кроме го что-то устанавливал для разработки? Я в виндусятине не понимаю вообще ничего, но тут, вроде, не в го дело.
Аноним 11/07/21 Вск 18:03:00 2093181288
>>2093072
Вот именно по этому нужно проходить тур.
Аноним 11/07/21 Вск 18:22:37 2093213289
>>2093179
В том то и дело, что я в рот ебал всякие cygwin, wsl, mingw64 устанавливать ради ебаной компиляции, я вон уже нашел либу для gui и там ниче из этого не надо, тупа go build и заебись, так и должно нахуй быть, без всякой лишней ебли.
Аноним 11/07/21 Вск 18:23:01 2093214290
>>2093181
Да я по нему пронесся галопом по Европам. Сейчас повторно прохожу и конспект делаю
Аноним 11/07/21 Вск 19:15:26 2093248291
>>2089770
Помню, читал что-то питонячье так там set был переведен как "набор", "карты" тоже присутствовали. А после того, как столкнулся с переводом слова state как государство, блядь, перестал читать доки на великом и могучем
Аноним 13/07/21 Втр 09:26:00 2094512292
Что учить кроме го? Сейчас попал на первую работу на Го(работаю месяц), больше ничего не знаю на должном уровне. Смотрю на php т.к. пока искал работу видел очень много вакансий типа php/go. Например через год-два эти вакансии пропадут? Перекатят ли за это время весь php легаси на го?
Аноним 13/07/21 Втр 09:32:35 2094517293
Как понять конкарренси? Кто такой этот ваш контекст? Сложно сложно нихуя не понятно
Аноним 13/07/21 Втр 11:17:27 2094579294
>>2094512
Так спроси блять на работе что тебе там учить кроме го. Ахуеть просто можно
Аноним 13/07/21 Втр 14:13:19 2094721295
>>2094579
Тут одни бумеры-говнокодеры, я хочу нормальным человеком быть
Аноним 13/07/21 Втр 20:05:08 2095033296
>>2094721
Если ты несмышленое малолетнее быдло ньюфажек, то твой естественный выбор - петухон или жопаскрип.
Аноним 13/07/21 Втр 21:54:06 2095138297
>>2094721
Почти везде нужен sql
Аноним 13/07/21 Втр 22:59:28 2095178298
1626003389066.png 1214Кб, 1292x1474
1292x1474
>>2094517
МакДональдс работает конкаррентно например.

https://fastapi.tiangolo.com/async/#concurrent-burgers вот на примере "ты пошёл с тяночкой в бургерную", не обращай внимания что это дока к либо от питона, просто там автор ахуительно объяснил почти за весь async-мир.
Аноним 13/07/21 Втр 23:01:35 2095180299
>>2094517
Никак. Пиздуй на завод.
Аноним 13/07/21 Втр 23:05:13 2095183300
>>2095180
Для завода специальное образование нужно, а в пщ можно хоть с 9 классами вкатываться.
Аноним 13/07/21 Втр 23:09:04 2095185301
>>2095180
я Junior Golang Developer, попрошу тут
Аноним 13/07/21 Втр 23:15:42 2095188302
>>2095033
Ну я студентота старших курсов. Был C/C++ в вузике(но оч хуёво знаю)
Аноним 13/07/21 Втр 23:16:59 2095190303
>>2095188
Допинывай C++ и вкатывайся, а про goвно забудь.
Аноним 13/07/21 Втр 23:18:43 2095192304
>>2095190
на го зарплата больше
Аноним 14/07/21 Срд 17:06:21 2095733305
Блять, на чем можно писать кроссплатформ exe go + html + css? Везде нахуй какие то проблемы! Webview не находит dll! muo блять 64 бита! Gowd запускает только при nw . а как все упаковать хуй его знает вместе с го ехешником, короче я расстроился это пизда.
Аноним 14/07/21 Срд 17:07:17 2095736306
Аноним 14/07/21 Срд 17:12:03 2095740307
>>2095736
Нихуясе, интересно какую либу юзают
Аноним 14/07/21 Срд 18:15:09 2095772308
Аноним 14/07/21 Срд 18:26:47 2095784309
image.png 1Кб, 646x15
646x15
>>2095736
Чет многовато жрет и вроде как течет помаленьку.
Аноним 14/07/21 Срд 20:53:20 2095902310
Аноним 14/07/21 Срд 22:50:02 2095985311
Аноним 15/07/21 Чтв 02:27:01 2096108312
Аноним 15/07/21 Чтв 10:19:38 2096219313
>>2095185
Что на собесе спрашивали, анон? Какие типичные задачи на работе?
Аноним 15/07/21 Чтв 10:54:04 2096237314
>>2096108
Для ААА-игр - не лучший, так как соответствующих движков нет, а для 2D-игр - лучший.
Аноним 15/07/21 Чтв 11:08:45 2096244315
>>2096237
>лучший
По каким критериям судишь? Я вот смотрю, что примеров готовых проектов почти нет, стаей на эту тему не то чтобы много, видосов на ютубе вроде и много, но в сравнении с плюсами - считай что нет
Аноним 15/07/21 Чтв 12:29:38 2096298316
>>2095185
Пиздец, как ты на работу устроился-то с такими знаниями?
Аноним 15/07/21 Чтв 13:18:06 2096315317
java vs go
что выбрать?
вроде на первой еще куча энтепрайза пишется
на го только озон видел и кучу ноунейм говнеца
но озон в то же время на жабе стартует новые проекты
вобщем че выбрать для вката в бекенд?
Аноним 15/07/21 Чтв 13:48:07 2096370318
>>2094517
> Как понять конкарренси?
Это не совсем правильный вопрос. Правильный вопрос: "как понять примитивы синхронизации". Хотя и это далеко не всем надо, на практике в большинстве случаев тебе с головой хватит нашего аналога Promise.all https://pkg.go.dev/golang.org/x/sync/errgroup#WithContext

> Кто такой этот ваш контекст?
Если бы ты прошел тур, ты бы знал что в языке по дизайну заложили возможность передачи сигнала о завершении другой горутине через закрытие канала. А контекст - это просто врапер над этой механикой + пара других фитч

>>2096315
>java vs go что выбрать?
Бери джабу, если от нее не воротит. Я фанбой го и всё на нем делаю, но объективно кроме кукроача, докера и кубов в нем нет крупных экосистем. А на джаве целый мир кровавого ентерпрайза. А чтобы писать без фрустраций на го нужно понимать для каких целей язык создавался и какие проблемы должен решать. Да и вакансий на порядок, а может даже на два, меньше чем в жабу
Аноним 15/07/21 Чтв 14:35:01 2096411319
>>2095985
>>2095902
хуй знает пока не оч догоняю че go embed делает и как он поможет создать стандалоне ехе с gui
Аноним 15/07/21 Чтв 15:21:23 2096453320
>>2096411
Поможет запихнуть в бинарь ассеты.
Но то, что ты ищешь называется "статическая линковка" и далеко не все go враперы над C/C++ умеют в это. А от мозгоебли с кросс-компиляцией так вообще охуеть можно.
Аноним 15/07/21 Чтв 16:09:46 2096497321
Вопрос к господам, которые в mail.ru проходили собеседование. Там нормальные вопросы? Или надо вращать деревья и сортировать массивы?
Аноним 15/07/21 Чтв 16:38:11 2096516322
>>2095736
Охуеть, нормальная структура проекта, еще бы тесты в отдельную папку вынести.
Гоферы, почему половина awesome проектов не имеют структуры как таковой? Я уже выше скидывал подобное https://github.com/lib/pq, у вас что, подобное плохим тоном не считается?
Аноним 15/07/21 Чтв 18:02:11 2096572323
>>2096315
Я бы жабу выбрал. С последующим переползанием в скотлин
Аноним 15/07/21 Чтв 19:47:24 2096716324
Аноним 15/07/21 Чтв 21:03:36 2096825325
Бля, ананасы, тут кто-нибудь использует го на работе? Или здесь одни вкатуны-перекатуны? Не поленитесь и поделитесь примерами тасок, пожалуйста!
Аноним 15/07/21 Чтв 21:51:31 2096877326
>>2096825
Вот распространенная таска: переписать с говна на раст
Аноним 15/07/21 Чтв 22:07:15 2096886327
>>2096370
>фанбой Го
Фанбой и ЧамЧам
Аноним 15/07/21 Чтв 22:46:49 2096936328
>>2096825
пришел запрос на хуйню @ надо дернуть пяток-другой сервисов @ скомпоновать и отдать результат
Аноним 16/07/21 Птн 03:56:13 2097088329
Как писать бэкенд Http2+TLS на этом вашем Go? Вот чтобы так же просто как Express на ноде. Какие библиотеки нужны?
Аноним 16/07/21 Птн 07:42:33 2097118330
Аноним 16/07/21 Птн 09:35:36 2097165331
>>2097088
Как на експресе не получится. Будет ебля с ждейсонами, чтобы обработать все 100500 случаев типа "а если клиент строку вместо числа педераст".
Аноним 16/07/21 Птн 09:39:42 2097167332
>>2096877
Жил на свете педераст
Переписывал на раст
Вместо денег хуй сосал
Лучше бы на го писал
Аноним 16/07/21 Птн 10:39:03 2097191333
>>2097165
А разве на го нет каких нибудь либ, которые проверят соответствует ли жсон определенной структуре и выведет все ошибки каким нибудь методом .Validate ?
Аноним 16/07/21 Птн 17:37:47 2097721334
>>2097165
Мне HTML странички гененерировать динамически, но и resful тоже. Интерпретируемые языки пошли нахуй, сервер на малине, меньше оверхеда - больше клиентов, меньше падений.

Зачем энтот ваш Go тогда нужен, вроде написано, "for building network applications" и лямбды с асинками есть. Это троллинг? Где готовые фреймворки? Не изобретать же мне велосипед начиная с сырых сокетов.

Мне роуты развести надо, подключить дб, шаблонизатор и кеш страниц, всё.
Чё мне делать теперь.

аниме_девочка_обнимает_колени_и_плачет.jpg
Аноним 16/07/21 Птн 19:37:48 2097852335
>>2097721
Ты же ленивый, даже загуглить не можешь, может нахуй тебе этот веб-макакинг?
>роуты развести надо
gorilla mux
>подключить дб
gorm
>шаблонизатор
go template / sprig
>кеш страниц
Без проблем самому запилить, но уверен уже есть готовое решения.
Аноним 17/07/21 Суб 10:22:48 2098192336
изображение.png 6Кб, 481x289
481x289
изображение.png 14Кб, 555x271
555x271
index.jpg 5Кб, 225x225
225x225
Ну как так то?
Аноним 17/07/21 Суб 10:46:46 2098200337
>>2098192
А что тебя удивляет? Кто больше срёт в память — тот и прогирывает.
Аноним 17/07/21 Суб 10:54:06 2098204338
>>2098200
Ну почему же с самого начала, в std, нельзя сделать нормально?
Аноним 17/07/21 Суб 16:43:28 2098531339
>>2097852
Всем надо решать одни и те же задачи, и тулинг один и тот же. Странно, что до сих пор не высрали аналог джанги или спринга, ведь фреймворки оказались не так уж и не нужны.
Аноним 17/07/21 Суб 18:07:32 2098688340
>>2098531
>до сих пор не высрали аналог джанги или спринга
В мире го так просто не принято. Это ведь замена С/C++ с синтаксическими фичами, легковесными потоками и сборщиком мусора, который умеет без виртуальной машины работать.
Аноним 17/07/21 Суб 18:12:59 2098697341
150406092744.jpg 30Кб, 624x351
624x351
> Это ведь замена С/C++
Аноним 17/07/21 Суб 19:19:24 2098822342
>>2098204
Ну ты сначала этот jsoniter попробуй потыкать, и поймёшь.
В std парсер делался максимально удобным — хуяк структурка хуяк жсон.

А эти либы — куча ебли и плясок с бубном ради хуй пойми чего, JSON — это про удобство, а не перформанс. Когда нужен перформанс — берут бинарные форматы, и гоняют данные в них. В них и сериализация/десериализация быстрее самого быстрого парсера жсона, и весят они меньше.
Аноним 17/07/21 Суб 20:08:28 2098874343
>>2098822
>Когда нужен перформанс — берут бинарные форматы
Это не всегда возможно, потому что твоя система может интегрироваться с десятком других, которые понимают только жсон и менять формат не собираются. Вот тут-то и нужны быстрые парсеры.
А jsoniter - годнота, он совместим со стандартной либой, поэтому пользоваться не сложнее.
Аноним 17/07/21 Суб 23:19:23 2099012344
>>2098531
>Странно, что до сих пор не высрали аналог джанги или спринга
На ГОвне писать БОЛЬНО, даже после жабы, чувствуешь, как тебя ломает архаичность языка
Аноним 17/07/21 Суб 23:28:07 2099023345
>>2098531
На питоне тоже нет полноценного асинхронного фреймворка, где все из коробки идет.
Аноним 17/07/21 Суб 23:43:22 2099036346
>>2098697
А надо было просто в vala корутины завезти, получился бы "тайпскрипт" для сишечки
Аноним 17/07/21 Суб 23:46:48 2099038347
>>2099036
> vala
Который интересен только поехавшим gtk-шизикам.
Аноним 18/07/21 Вск 00:08:04 2099046348
Аноним 18/07/21 Вск 00:50:26 2099063349
>>2099038
Сам ты шизик. Вoт прикручу к вале веб фремворк на libuv и разрекламирую у хипстеров на конференциях. Ты еще рыдать будешь, что раньше на валюше не писал!
Аноним 18/07/21 Вск 00:56:11 2099065350
Аноним 18/07/21 Вск 19:56:48 2099829351
>>2099046
Опять же это фреймворк уровня фласка, роутер + валидация данных.
А все потому что для серьезных проектов не нужен фреймворк уровня джанги или спринга, это пережиток прошлого, такие решения всегда будут медленней чем сампописная обвязка вокруг микрофреймворка.
MVP можно сделать на джанге, а потом взять го + асинхронный питон и запилить микросервисы. Сейчас на таком проекте работаю.
Аноним 18/07/21 Вск 20:06:55 2099842352
>>2099829
Смотря что такое "серьёзный проект", если это махровый хайлоад, то может и быстрее. В остальных случаях это будет тупо велосипедостроение, в результате получится медленнее и ненадёжнее, чем фреймворки, которые так любят критиковать в этом треде.
Аноним 18/07/21 Вск 23:48:02 2100027353
Аноним 18/07/21 Вск 23:52:59 2100029354
>>2100027
Ты не можешь их перевести в стим чтобы купить киберпук.
Аноним 19/07/21 Пнд 00:06:46 2100038355
>>2099842
>В остальных случаях это будет тупо велосипедостроение, в результате получится медленнее и ненадёжнее, чем фреймворки, которые так любят критиковать в этом треде.
Нифига, в той же джанге нет никакого рокетсаенса, у нас например есть самописная асинхронная джанга из которой мы выкинули ненужные нам фичи, все работает очень стабильно. Так же мы выкинули celery из за лютого оверхеда и написали свое решение, а потом дописали го реализацию. Я хз про какие велосипеды ты говоришь, наоборот код стал максимально простым без лишней магии.
Аноним 19/07/21 Пнд 00:32:56 2100052356
>>2100029
А для чего и что за бабки? Я так хочу ССД купить на мой старый ноут...
Аноним 19/07/21 Пнд 00:41:04 2100058357
>>2100052
Зарегистрируешься и увидишь, что сервера/сервисы дают не бесплатно, а за определённую стоимость, которую списывают с кошелька, на котором изначально стартовые 12500. Так у многих хостеров, есть стартовая сумма, которую можно потратить в тестовых целях, а дальше только пополнять кошелёк реальным деньгами.
И не найдейся потратить их на что-то ещё, это как в той шутке про вывод денег из GTA
Аноним 19/07/21 Пнд 00:45:59 2100060358
>>2100058
>в той шутке про вывод денег из GTA
какой шутке
Аноним 19/07/21 Пнд 00:53:20 2100066359
Аноним 19/07/21 Пнд 16:52:45 2100555360
>>2061078 (OP)
Гофаны, кто-то знает имплементацию http.CookieJar'а, которую можно нормально серилизовать? Ебать cookiejar.Jar рефлексией нет ни малейшего желания.
Аноним 19/07/21 Пнд 16:58:46 2100567361
Ананасы, можно ли в го с помощью рефлексии или как-нибудь иначе получать/изменять значение поля структуры, если название этого поля хранится в переменной и может меняться?
Аноним 19/07/21 Пнд 17:04:13 2100572362
>>2100555
store jar: decode: gob: type cookiejar.Jar has no exported fields


Аноним 19/07/21 Пнд 17:06:38 2100575363
>>2100567
Ты хуйню какую-то делаешь, используй мапу или напиши свитч/кейс.
Но если хочешь страдать и говнокодить, говнокодить и страдать - используй reflect.Value.FieldByName()
Аноним 19/07/21 Пнд 17:13:58 2100580364
image.png 229Кб, 460x460
460x460
>>2099046
Человек с такім ебалом должен пісать на жопаскріпе
Аноним 19/07/21 Пнд 22:33:49 2100780365
Что можно сделать на голанг новичку, чтобы можно было показать работодателю как пример своего кода?
Аноним 19/07/21 Пнд 22:39:40 2100784366
>>2100780
То же, что и в любом другом языке - имиджборду, форум, интернет-магазин, веб-кравлер и так далее.
Аноним 20/07/21 Втр 03:24:34 2100913367
Сап. Как в го камунити относятся к вкатунам из других языков с опытом работы в вебе? Вот я повидло 3 года пиашпи, насколько мне будет легко вкатиться в мидлопозицию если подрочу петпроджекты? Я и так постоянно их дрочу, но на пиашпи))
Аноним 20/07/21 Втр 12:29:24 2101171368
>>2100913
Ты будешь удивлен, но в го никто(почти) не вкатывается первым языком программирования без опыта в вебе)))
Аноним 20/07/21 Втр 15:50:31 2101451369
>>2100913
>Как в го камунити относятся к вкатунам из других языков с опытом работы в вебе?
Нейтрально/положительно

> Вот я повидло 3 года пиашпи
Судя по опросам где-то от трети до половины гоферов имеют либо точно такой-же, либо очень похожий бекграунд

> если подрочу петпроджекты
Попробуй что-то сделать, где ты сможешь активно использовать каналы, контекст и прочую синхронизацию, например в чатике на вебсокетах.
Аноним 21/07/21 Срд 11:46:57 2102296370
Почему все орм для го такая параша? Принято ли вообще ими пользоваться или нужно писать все руками как диды?
Аноним 21/07/21 Срд 13:29:11 2102392371
>>2102296
Не принято, нужно писать как диды.
Аноним 21/07/21 Срд 14:12:36 2102454372
Чем дженерики не угодили-то? Слишком сложна для вкатунов?
Аноним 21/07/21 Срд 14:55:11 2102492373
Аноним 21/07/21 Срд 15:15:42 2102516374
>>2102454
Времени на проектировку языка не хватило. Всё таки одна неделя это мало.
Аноним 21/07/21 Срд 17:08:52 2102662375
>>2102392
Ну и ладно, я сам дед
Аноним 21/07/21 Срд 20:09:36 2102936376
>>2102516
Бог создал землю за 7 дней, а мистер Пайк не смог уложиться в такой широкий срок
Аноним 21/07/21 Срд 20:24:20 2102950377
>>2102936
Сравнил бога с Пайком.
Аноним 21/07/21 Срд 20:36:23 2102960378
>>2102936
>Бог создал землю за 7 дней,
Учим матчасть!
Аноним 21/07/21 Срд 21:50:18 2103017379
>>2102516
Откуда информация про неделю? Или это необоснованный вскукорек?
Аноним 21/07/21 Срд 21:51:19 2103019380
>>2102296
А как ты без дженериков сделаешь нормальный ORM? Либо кодген, либо ебись в пустые интерфейсы
Аноним 21/07/21 Срд 21:54:22 2103020381
>>2103019
В php нет дженериков. Но там есть доктрина. Тiлько не пизди что это плохая ORM.
Аноним 21/07/21 Срд 21:59:09 2103027382
>>2103020
А ещё в пхп есть динамическая типизация.
Аноним 21/07/21 Срд 22:04:50 2103036383
>>2103019
Есть третий вариант - забить хуй на го. Но не могу, что-то притягательное есть в этом минимализме
Аноним 21/07/21 Срд 22:27:18 2103052384
Как же хочется динамическую типизацию, пиздец просто
Аноним 21/07/21 Срд 22:29:15 2103055385
Вас не бесит эта ограниченность всего в ГО? После современных плюсов как будто посадили с деревянными кубиками играть.
Аноним 22/07/21 Чтв 08:11:26 2103193386
>>2103052
Уебывай в питон или жабаскрипт
Аноним 22/07/21 Чтв 09:59:46 2103252387
>>2103052
Так в го и так ведь утиная типизация, когда с интерфейсами работаешь
Аноним 22/07/21 Чтв 12:08:01 2103428388
Аноним 22/07/21 Чтв 12:22:29 2103438389
image.png 357Кб, 640x441
640x441
>>2103055
Технология бесит какая-то - не используешь ее просто
Аноним 22/07/21 Чтв 14:11:09 2103519390
C:programFilesI[...].jpeg 11Кб, 225x225
225x225
Клоуны, что у вас за система импортов, это типа такая шутка?
Аноним 22/07/21 Чтв 14:19:05 2103530391
>>2103519
Го вообще шутники проектировали.
Аноним 22/07/21 Чтв 18:34:44 2103735392
15589644149550.png 404Кб, 1300x1300
1300x1300
Гофаны, если использование ОРМ считается плохим тоном, то как правильно организовать работу с БД? Хранить ли методы получения и обновления данных в одном файле с моделью или делать какое-то подобие репозитория? Где выполнять соединение с базой? Как быть с миграциями?
Аноним 22/07/21 Чтв 19:10:13 2103760393
Аноним 22/07/21 Чтв 21:01:01 2103903394
>>2103735
Каждый дрочет как сам хочет, единого стандарта нет. Я репозитории делаю
Аноним 22/07/21 Чтв 22:13:31 2103969395
>>2103735
>Как быть с миграциями?
Смотря, что ты понимаешь под этим словом. У меня просто в отдельном месте лежит sql файл, в котором прописано все create'ы и insert'ы, через него и делаю миграцию. Советую тебе посмотреть реализацию готовых приложений, там все ультра-понятно с чистейшей архитектурой.
Аноним 22/07/21 Чтв 23:00:33 2104009396
>>2103969
>Смотря, что ты понимаешь под этим словом
Гошники не знают, что такое миграции? Пиздец каменный век

>прописано все create'ы и insert'ы
А если надо будет откатить?
Аноним 22/07/21 Чтв 23:33:38 2104028397
>>2104009
Пишутся 2 файла up_001.sql и down_001.sql и так далее.
Аноним 22/07/21 Чтв 23:42:57 2104040398
>>2103052
Неа, не хочется, после Раста не хочется. Ты знашеь что в Расте где-то около 5-6 разных стрингов? String, &str, Strings::from, PathBuf и to_string() и т.д. Сущий ад, как же заёбывает конвертировать их туда-сюда.
Аноним 22/07/21 Чтв 23:44:55 2104044399
>>2103519
После Питона очень даже кайфово.
Аноним 22/07/21 Чтв 23:47:16 2104049400
image.png 235Кб, 640x640
640x640
Блядь, вот зачем дженерики добавляют? Зачем они? Есть же interface{}, так ещё и синтаксис засоряется в виде [] квадратных скобках. Таким темпом в Го коде будет каша как в Расте.

Какие задачи решает T[any T] которые не может решить ( a...interface{}) ?
Аноним 22/07/21 Чтв 23:54:38 2104054401
>>2104009
>А если надо будет откатить?
Он спросил как делать миграцию, механизм сохранения, отката миграций, етц, можно за один вечер навелосипедить, либо взять уже готовое решение. golang-migrate
Аноним 22/07/21 Чтв 23:57:22 2104055402
>>2104040
В го ты тоже можешь изъебнутся с билдерами, буферами, через unsafe.Pointer достать StringHeader и за 0 алокаций конвертировать его в слайс и так далее.
Аноним 23/07/21 Птн 01:00:01 2104089403
>>2104049
А типобизопасность вместо ошибок в рантайме у твоих пустых интерфейсов тоже есть? Если нет, зачем вообще писать на статически типизированном языке?
Аноним 23/07/21 Птн 10:51:04 2104230404
Какие знания ожидаются от типичного мидла на го?
Аноним 23/07/21 Птн 12:13:08 2104310405
Аноним 24/07/21 Суб 00:27:00 2104967406
300к-секи, купите пдфку https://www.practical-go-lessons.com/
Для вас это должно быть раз плюнуть, покажите состоятельность.
Заодно можно взять принт и показывать бабе Сраке.
Аноним 24/07/21 Суб 01:49:04 2104976407
>>2104967
Зачем нужна пдфка, если все и так доступно онлайн? Или у тебя в глуши интернет по часам?
Аноним 24/07/21 Суб 15:47:35 2105329408
изображение.png 44Кб, 669x490
669x490
зондов в говно напихали
Аноним 24/07/21 Суб 20:58:12 2105634409
16104081339580.png 8Кб, 215x234
215x234
>>2103735
В модели храни только интерфейс репозитория, а саму реализацию сторера со всеми селектами/инсертами с миграциями и настройкой конфигов БД в отдельном пакете типа store разумеется все на чистом SQL, goway все дела. Заодно потом добавишь нормальные моки репы для тестов модели, используя этот же интерфейс.
Адрес БД и прочие параметры передавай в сервис через env/yaml/toml, затем это дело считывай в main-горутине, из нее же подключайся к БД и накатывай миграции, после чего инициализируй и раскидывай свои стореры по моделям только не наплоди инстансов на каждый воркер, по одному стореру на таблицу (ну или 2-3 связанных) через синглтон!.
Для самих миграций посмотри https://github.com/rubenv/sql-migrate
Аноним 25/07/21 Вск 00:02:28 2105859410
>>2105634
>В модели храни только интерфейс репозитория
Ты там active record делаешь что-ли? Я просто к DDD/hexagonal architecture привык, там модели вообще ничего не импортируют, наоборот, вместо это все остальные слои импортируют модели
Аноним 25/07/21 Вск 08:49:54 2105939411
У кого-нибудь получилось с нуля без бэкграунда вкатиться в го?
Аноним 25/07/21 Вск 11:26:18 2106051412
16185603224300.jpg 12Кб, 500x274
500x274
>>2105859
>наоборот, вместо это все остальные слои импортируют модели
Да, все так, я просто не очень корректно выразился. Сигнатуры функций репозитория описываются именно в модели вместе со всеми интерфейсами (мы обычно их сразу после интерфейсов самой модели кладем, чтобы далеко не ходить), с которыми модель и будет работать вместо прямого импорта сторера.
А стораж уже импортирует эту модель и повторяет сигнатуры у себя, можно даже использовать что-то вида статик-чека, чтобы проверять модель на адекватность и не обосраться в рантайме:
var _ model.Repo = (*Storage)(nil)
Аноним 25/07/21 Вск 12:18:55 2106087413
2dbb9970-db9c-4[...].jfif 136Кб, 1280x1280
1280x1280
>>2105939
Если ты студент старших курсов, то вкатывайся через стажировки озона/мейла/вайлдберриз и т.д. У меня коллега так стал гофером через одну из этих компаний, миновав все остальные языки по пути к нормальному миддлу (но SQL, HTTP, алгоритмы, паттерны и прочие используемый в бэке-технологии надо разумеется знать). Главное, потом вечным жидом джуном не стать, как чел на пикче.
Аноним 25/07/21 Вск 12:25:30 2106095414
>>2106087
>Если ты студент старших курсов
Эх нет, я червь-вкатыш
Аноним 25/07/21 Вск 19:22:01 2106611415
15292291912960.jpg 124Кб, 1280x959
1280x959
>>2105634
>>2106051
Спасибо за такой развернутый ответ, анон! Многое прояснилось
Аноним 25/07/21 Вск 21:32:33 2106738416
>>2106087
>стажировки озона/мейла/вайлдберриз
Говорят там алгоритмами попускают хуже чем в яндексе
Аноним 26/07/21 Пнд 10:31:57 2107039417
>>2106087
Тоже где-то на хабре читал про ебанутые собесы в этих парашах.

Алсо, пик-пиздеж, или реально есть в природе такой еблан?
Аноним 26/07/21 Пнд 10:45:36 2107057418
>>2107039
Просто джуном не надо начинать в больших фирмах, где на метрики дрочат и чуть что за дверь выставляют. Я отработал полтора года в мелкофирме, где этим не заморачивались и с комфортной скоростью дообучался а потом перекотился от них на мидла в другую фирму
Аноним 26/07/21 Пнд 13:19:46 2107231419
>>2106095
тоже вкатыш. и чо нам без вариантов просто пройти на хуй?
Аноним 26/07/21 Пнд 13:45:45 2107267420
>>2106087
Двачу совет, сам сейчас занимаюсь веду стажировку в одной известной крупной компании, готовы брать вообще всех с попытом других языков и желанием изучить го, но да, требуем понимания
> SQL, HTTP, алгоритмы, паттерны и прочие используемый в бэке-технологии
Задавайте вопросы, если интересно, что могу - расскажу
Аноним 26/07/21 Пнд 13:48:39 2107270421
>>2106051
> не обосраться в рантайме
Каким образом? У вас там какое-то хитровыебаное DI через пустые интерфейсы?
> var _ model.Repo = (*Storage)(nil)
Обычно такой код пишут чтобы ошибка компилятора была попонятнее и поближе к имплеминтации, а не к месту использования.
Аноним 26/07/21 Пнд 13:49:23 2107271422
>>2107267
Что подразумевается под "пониманием"? Например, про какой-нибудь solid я слышал, но не применял его. Все, меня отсеили?
Аноним 26/07/21 Пнд 13:50:06 2107272423
>>2107271
SOLID это как подростковый секс, не применяет, но все о нем пиздят
Аноним 26/07/21 Пнд 13:53:51 2107273424
>>2107271
Ну вот представь, что я у тебя спросил на собеседовании по зуму "слышали ли вы про SOLID?" Что бы ты ответил? Попробуй сейчас написать, не подглядывая в гугел
И да, >>2107272 прав
Аноним 26/07/21 Пнд 14:00:42 2107278425
>>2107267
Так ты "занімаешься" ілі "ведешь"?
Аноним 26/07/21 Пнд 14:07:09 2107286426
А, еще важный момент - один из самых важных скилов - это знание английского. Без него шансы падают быстрее чем от всего остального вместе взятого. Аутсорс, всё-таки, просто читать документацию не достаточно, нужно уметь еще раз в 2 недели мук-пукнуть заказчику что ты делал всё это время.
>>2107278
Провожу собеседования и подготовку к проектам
Аноним 26/07/21 Пнд 14:35:52 2107302427
>>2107286
>А, еще важный момент - один из самых важных скилов - это знание английского. Без него шансы падают быстрее чем от всего остального вместе взятого. Аутсорс, всё-таки, просто читать документацию не достаточно, нужно уметь еще раз в 2 недели мук-пукнуть заказчику что ты делал всё это время.
И зачем вы нужны, если можно напрямую работать?
Аноним 26/07/21 Пнд 15:18:38 2107337428
15963862896472.png 513Кб, 657x516
657x516
>>2107271
Почитай пару статей в гугле по ключевым словам SOLID Golang, и довольно быстро поймешь, что практически все принципы удобно ложатся в классическую разработку на гошке. Разве что наследование меняется на композицию, а инкапсулировать код приходится внутри пакетов с lowerCamelCase. Ну а интерфейсы это основа основ Go, которые реализуют те же буковки LI.
Как бывший сишник скажу, что по солиду и ООП я могу хоть на K&R C писать, инкапсулируя все в файлах через глобальные статические определения переменных и функций, а вместо пустого интерфейса использовать каст к (void*). SOLID очень универсальная штука, знать ее крайне полезно
Аноним 26/07/21 Пнд 15:44:04 2107364429
>>2107302
Я не он, но коммуникацию кто будет поддерживать? Кто будет кабанчиком подскакивать на звонки-встречи для принятия очередного соглашения по очередному вопросику?
Ты? Если тебя заставят с людьми разговаривать(на инглише!) вместо написания кода, у тебя подрумянится попка и задрожит голосок.
Без дяди ты не справишься.

>>2107337
SOLID же просто про здравое применение ООП, не?
Аноним 26/07/21 Пнд 15:49:01 2107367430
>>2107364
>Я не он, но коммуникацию кто будет поддерживать? Кто будет кабанчиком подскакивать на звонки-встречи для принятия очередного соглашения по очередному вопросику?
Так он уже сказал, что с кабанчиком все равно говорить придется и вопросики обкашливать и отчитываться. Я бы понял, если бы они не знали о друг друге, а тут уже нихуя не так.
Аноним 26/07/21 Пнд 15:54:53 2107374431
Аноним 26/07/21 Пнд 16:03:58 2107387432
>>2107286
>Провожу собеседования и подготовку к проектам
И на что в среднем может рассчитывать перекатыш из другого стека с опытом около 5 лет? С паттернами, солидом, граспом и законом Деметры дружу. Могу пояснить по хардкору за сложность алгоритмов. Ну и весь остальной фарш в виде баз данных, разных хранилищ и брокеров сообщений в комплекте
Аноним 26/07/21 Пнд 16:14:14 2107399433
9be69fc583185ec[...].jpg 23Кб, 300x283
300x283
>>2107387
>Могу пояснить по хардкору за сложность алгоритмов
Когда два раза по входным данным проходишь это 2N?
Аноним 26/07/21 Пнд 16:18:47 2107402434
Аноним 26/07/21 Пнд 16:23:13 2107408435
image.png 73Кб, 225x225
225x225
Аноним 26/07/21 Пнд 16:25:45 2107410436
>>2107408
А потому что время исполнения по прежнему растет линейно
Аноним 26/07/21 Пнд 16:28:30 2107414437
image.png 245Кб, 500x500
500x500
>>2107410
А если сначала n^2 проходится, а потом 2^n то какая сложность?
Аноним 26/07/21 Пнд 16:33:09 2107418438
Аноним 26/07/21 Пнд 16:33:47 2107419439
Аноним 26/07/21 Пнд 16:37:55 2107427440
>>2107414
Сука, такое у меня ни разу не спрашивали.
Аноним 26/07/21 Пнд 16:39:13 2107428441
Аноним 26/07/21 Пнд 16:42:30 2107432442
image.png 142Кб, 349x298
349x298
>>2107428
Ну ты посчитай давай
Аноним 26/07/21 Пнд 16:42:58 2107434443
>>2107399
На самом деле может быть и 2N (например, если мне надо найти два символа в массиве, и я вместо сравнения каждого символа с двумя искомыми прохожу по массиву два раза - число операций неизменно и растет линейно). Ты не привел конкретного примера.
Аноним 26/07/21 Пнд 16:47:38 2107444444
>>2107434
> На самом деле может быть и 2N
Не может. Ты ебанулся блять?
Аноним 26/07/21 Пнд 16:47:46 2107445445
image.png 82Кб, 288x288
288x288
>>2107434
А если 4 раза, то сложность 4N?
Аноним 26/07/21 Пнд 16:48:20 2107449446
>>2107432
Хули считать, тебе раньше правильно ответили
Аноним 26/07/21 Пнд 16:50:46 2107457447
image.png 86Кб, 256x197
256x197
>>2107449
То есть если в 2^n алгоритм засунуть прохождение массива n^2 раз то он станет быстрее?
Аноним 26/07/21 Пнд 16:52:02 2107460448
>>2107457
Не знаю, я глупая вебмакака. Теперь ты доволен?
Аноним 26/07/21 Пнд 16:53:21 2107466449
image.png 18Кб, 198x188
198x188
>>2107460
Если ты то чел, который говорил про то, что можешь по хардкору про сложность алгоритмов пояснить, то да
Аноним 26/07/21 Пнд 16:53:49 2107467450
>>2107457
Да, но затем Вселенная схлопнется со звуком пизды
Аноним 26/07/21 Пнд 16:54:05 2107469451
>>2107460
funfact:
Желтомордый анон впервые нашел куда впихнуть свои знания о сложности.
Аноним 26/07/21 Пнд 16:55:04 2107471452
>>2107466
Да куда мне по хардкору-то...
Аноним 26/07/21 Пнд 16:57:12 2107475453
>>2107466
А теперь давай ответ в зал!
Аноним 26/07/21 Пнд 16:58:43 2107476454
>>2107444
>>2107445
Ок. Рассмотрим мой пример подробнее, вкатунцы: дан массив - 'a', 'b', 'c', 'd', 'e'. Необходимо найти символы 'd' и 'e'.
Возможно два варианта:
1. Идем в цикле по всем элементам массива и проверяем, равен ли текущий элемент 'd' или 'e'. Каждая итерация потребует две операции:
'a' == 'd' ?
'a' == 'e' ?
Таким образом, для этого примера получаем len(arr) 2 операций, то есть 10 операций (не будем учитывать всякие оптимизации, типа "если символ равен одному из искомых, то точно не равен второму")
2. Проходим в двух циклах по массиву, сначала проверяя символ 'd', затем - 'e'. На каждую итерацию вложенного массива потребуется одна операция, так как проверяем всего один символ:
'a' == 'd'?
То есть проход во внутреннем цикле займет len(arr)
1 операций, то есть 5. Затем мы просто прогоняем тот же цикл для 'e', что дает еще 5 операций. В сумме те же 10 операций. При добавлении элемента в массив кол-во операций увеличится на 2, то есть сложность линейная.
В чем я не прав?
Аноним 26/07/21 Пнд 17:00:50 2107478455
>>2107457
Тебе уже раньше правильно ответили. Сложность алгоритма будет равна сложности самой медленной его части, то есть 2^n. Можешь хоть десять квадратов засунуть в него, ничего не поменяется.
Аноним 26/07/21 Пнд 17:01:48 2107480456
>>2107476
Макаба съела знаки умножения, но вы же умные, догадаетесь.
Аноним 26/07/21 Пнд 17:03:03 2107484457
image.png 195Кб, 512x512
512x512
>>2107469
А если алгоритм сначала проходит n^3, а потом n^5, то сложность будет n^5?
Аноним 26/07/21 Пнд 17:09:48 2107488458
Аноним 26/07/21 Пнд 17:10:43 2107490459
Аноним 26/07/21 Пнд 17:15:56 2107496460
>>2107490
я просто проиграл с того, как тот уверенный хардкорный анон слился, когда кто-то в интернете сказал, что он не прав
Аноним 26/07/21 Пнд 17:17:19 2107499461
>>2107496
Кто слился? Ты слился, епта! Я тебе отвечал, пока ты не завел сказку про белого бычка.
Аноним 26/07/21 Пнд 17:19:17 2107502462
>>2107499
>Я тебе отвечал, пока ты не завел сказку про белого бычка.
Ну так хуле другой анон за тебя сказал, что я хуйню несу?
Аноним 26/07/21 Пнд 17:20:51 2107507463
>>2107414
как же доставили твои посты с йобами
Аноним 26/07/21 Пнд 17:22:09 2107508464
Чет никто так и не разъебал мой пример >>2107476
А я уж надеялся, что заблуждаюсь, потому что сам частенько рассчитываю сложность тупо по количеству циклов.
Аноним 26/07/21 Пнд 17:24:09 2107510465
>>2107508
Ждем, пока желтый соберется с силами и ответит. Он самый жирный крупный специалист в треде
Аноним 26/07/21 Пнд 17:28:33 2107515466
>>2107508
Константы при расчете сложности отбрасываются
Аноним 26/07/21 Пнд 17:29:46 2107516467
какое основание у логарифма в O (log N) ?
Аноним 26/07/21 Пнд 17:31:33 2107517468
>>2107516
10, это еще в школе было
Аноним 26/07/21 Пнд 17:32:30 2107518469
Аноним 26/07/21 Пнд 17:32:31 2107519470
>>2107515
Не понимаю, причем здесь это. Исходное утверждение было "Когда два раза по входным данным проходишь это не 2N", и в этом примере мы дважды проходим по массиву, но суммарное число операций растет линейно. Причем здесь константы?
Аноним 26/07/21 Пнд 17:36:53 2107525471
>>2107367
Ну, мук-пукнуть 1.5 минуты раз в 2 недели это не то же самое, как решать вообще все вопросы и постоянно
>>2107387
Ну мы в целом на ждунов нацелены, но в твоем случае тебе могут дать месяц на изучение го (частично самостоятельного, частично вебинары) и затем сразу лычку мидла и за весло.
>>2107374
Диванон же
Аноним 26/07/21 Пнд 17:47:04 2107535472
>>2107525
>Ну мы в целом на ждунов нацелены, но в твоем случае тебе могут дать месяц на изучение го (частично самостоятельного, частично вебинары) и затем сразу лычку мидла и за весло.

Скинь название конторы на почту martinточкаalekseevich на протонмейле
Аноним 26/07/21 Пнд 17:47:11 2107536473
>>2107525
да какой диванон, ты что директор что ли, и зачем кому то это нужно вообще? не жмоться, тут многие ищут варианты работы наверняка
Аноним 26/07/21 Пнд 17:50:44 2107539474
Аноним 26/07/21 Пнд 17:51:59 2107542475
>>2107539
Аа, мне беларусского в свое время хватило. Ну его нахуй
Аноним 26/07/21 Пнд 17:56:15 2107545476
>>2107542
Как и во всех крупных компаниях - всё зависит от проекта/подраздела, раз на раз не приходиться
Аноним 27/07/21 Втр 00:35:36 2108003477
>>2107499
Ты понимаешь что тебя за софтскилили? Причем самым тупым образом. Ты уже согласился, что ты веб макака и начал оправдываться, что делаешь, что-то не так только потому, что кто-то другой писал с уверенным видом. И это сделал рандомный анон с желтыми блинами из интернета. Ты хоть представляешь что с тобой матерый кабан сделает?
Аноним 27/07/21 Втр 00:59:41 2108009478
МВП протек, позовите уборщицу.
Аноним 27/07/21 Втр 03:59:12 2108039479
Пиздец, какие же вы все ущербные, что несут, это пиздец какой-то. Вы такие тупые... Рассуждают о чем то, о чем вообще понятия не имеют, гребут под одну гребенку сложность и асимптотику, и попускаются на собесах вб и озона кек, нужно полным дегродом быть чтобы не пройти. Как же проигал с вас, и уебываю дальше в МВП.

мимо червь из яндекса
Аноним 27/07/21 Втр 08:17:07 2108081480
image.png 510Кб, 480x572
480x572
>>2108039

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

Все, инвестиции в разработку закончились, надо помогать нашим братьям меньшим с такси и доставок?
Аноним 27/07/21 Втр 09:02:35 2108097481
>>2108009
> МВП
Тогда не уборщица, а ассенизатор.
Аноним 27/07/21 Втр 12:34:14 2108254482
Зачем в говне так всрато сделаны либы рандома? Каждый раз нужно явно обновлять сид, если ты хочешь новое значение, могли бы хотя бы в конфигах сделать переменную, после которой обновление само бы происходило
Аноним 27/07/21 Втр 13:35:16 2108321483
>>2108254
А что вообще в говне сделано не всрато?
Аноним 27/07/21 Втр 13:57:19 2108337484
>>2108254
Ты вообще о чем? Не надо там ничего обновлять
Аноним 27/07/21 Втр 13:58:14 2108340485
>>2108081
Так у тебя легаси, там на новых лендингах вообще фоток нет, да и при утсройстве на РАБоту ты выбираешь какую операционку хочешь
Аноним 27/07/21 Втр 14:03:38 2108348486
>>2108337
Если не обновлять при старте программы сид, то каждый раз будут одинаковые значения
Аноним 27/07/21 Втр 14:04:58 2108351487
Вот решил я написать декоратор для функций, как в пистоне, который бы принимал любые функции и аргументы, но выяснилось, что я должен точно указать сигнатуры, так как интерфейсы не поддерживают вызов, как и types.Func. Это можно как-то обойти?
Аноним 27/07/21 Втр 17:35:11 2108553488
распизделись они тут на всю доску блять
Аноним 27/07/21 Втр 19:43:40 2108712489
>>2108039
посоветуй как выучить алгоритмы хотя бы до уровня прохода собесов в ВБ, авито и прочие. Серьёзный вопрос.
Аноним 27/07/21 Втр 19:45:50 2108719490
>>2108712
алсо я повёлся на сайт с задачками тип литкода за сто бачей и уже почти купил. Насколько такое говно вообще помогает с прохождением собесов?
Аноним 27/07/21 Втр 20:01:03 2108736491
>>2108712
'грокаем алгоритмы' бхаргавы прочитай для начала
Аноним 27/07/21 Втр 20:15:30 2108760492
>>2108719
Лол, литкод даже синьоры гриндят
Аноним 27/07/21 Втр 20:58:43 2108831493
>>2108712
Тут надо разделять алгоритмы и решение задачек, немного разные скиллы, на алгоритмических секциях нужно немного знания асимптотики и умения решать задачки без ide, потренироваться можно на литкоде, хватит и 20 для озонов и авито, для яндекса 50-70 тоже за глаза хватит. Уровень изи/медиум, но ориентируйся на медиум. Обычно задачки на манипуляцию со строкой, или применение мапы.

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

>Насколько такое говно вообще помогает с прохождением собесов?
Помогает очень сильно, просто набраться уверенности и набирать код без автодополнения, обрабатывать граничные кейсы, без практики шансы завалить повышаются, но это скорее относиться к яндексу/джуму, для остальных и так хватит. Покупть офк ничего не нужно, там полторы концепции на все задачи. Вот тут есть все техники, если прорешаешь можешь смело пиздовать на собес: https://www.yourdevopsguy.com/how-to-learn-data-structures-and-algorithms-20-problem-solving-techniques-you-must-know/
Аноним 27/07/21 Втр 21:47:47 2108904494
>>2108736
у меня проблема с этой книгой в том, что она слишком простая для меня. При этом Кормена тоже не хочется читать. Так и сижу-пержу
Аноним 27/07/21 Втр 23:16:15 2109078495
>>2108351
Бамп вопросу. Неужели сделали дырку в типах в виде пустых интерфейсов, но даже ее не получилось сделать достаточно гибкой?
Аноним 28/07/21 Срд 13:41:00 2109460496
image.png 33Кб, 640x316
640x316
Какого хуя это криминал?
Аноним 28/07/21 Срд 14:24:21 2109514497
>>2109460
Наверное, чтобы писать user.Service вместо более длинного user.UserService. Чего только шизики не придумают.
Аноним 28/07/21 Срд 16:25:52 2109748498
578657657857.jpg 19Кб, 600x428
600x428
>>2109514
Бля, я точно шизик. Забыл, что без имени пакета при вызове не обойтись
Аноним 28/07/21 Срд 16:29:05 2109757499
>>2109748
Можно через импорт с точкой.
Аноним 28/07/21 Срд 16:33:16 2109768500
>>2108254
Ну, тебе же нужно как-то тестировать свой код, верно?
Да и 1 строчка в мейне не так и страшно

>>2108321
Хейтер, спок
Аноним 28/07/21 Срд 16:36:38 2109772501
>>2108351
Ты какую-то динамическую дрысню хочешь сделать, а тут так не принято. reflect.ValueOf(fn).Call должно помочь, но скорее всего ты просто делаешь что-то не так
Аноним 28/07/21 Срд 17:05:48 2109830502
>>2109772
>а тут так не принято
А interface принято делать? У вас тут буквально утиная типизация смешаная со статической.

>>2109772
Не совсем тебя понял, все равно я не могу новую функцию вызвать потом, так как что бы это сделать в возвращаемом значении требуется указать сигнатуру, а декоратор должен принимать любую функцию
Аноним 28/07/21 Срд 19:54:21 2110110503
>>2108351
func dec(a interface{}) {
a.(func())()
}

Ты это имеешь ввиду ?
Аноним 28/07/21 Срд 20:10:02 2110124504
>>2110110
Нет, что бы была функция высшего порядка, которая может вовзращать другую функцию без явного указания сигнатур
Аноним 28/07/21 Срд 20:31:52 2110147505
15215752130990.png 348Кб, 1200x1200
1200x1200
Смрлся со всем, кроме if err != nil бла-бла-бла, сука, после каждого чиха
Аноним 29/07/21 Чтв 09:32:51 2110425506
>>2110147
> бла-бла-бла
return nil, err
Аноним 29/07/21 Чтв 09:49:14 2110429507
Аноним 29/07/21 Чтв 12:37:32 2110513508
>>2110425
Хочется взять и уебать. Как насчет fmt.Errorf?
Аноним 29/07/21 Чтв 12:43:39 2110517509
>>2110513
А гоферы начинают догадываться, что единственный способ обработать ошибку - показать её текст пользователю. Осталось в ошибку добавить инфу о том, как дошло до вызова этого кода, и получится эксепшен со стектрейсом.
Аноним 29/07/21 Чтв 13:00:40 2110538510
А планируют ли вообще впилить исключения?
Аноним 29/07/21 Чтв 13:02:24 2110541511
вот и утонул го тред
никому не нужный
кроме копрофилов
покойся с миром..
Аноним 29/07/21 Чтв 13:02:55 2110543512
>Go solves the exception problem by not having exceptions.
Ну охуеть теперь
Аноним 29/07/21 Чтв 13:05:13 2110547513
image.png 75Кб, 737x415
737x415
>>2110541
После неудачного переката в го несколько лет назад тоже ходил гаденько срать в го треды. Потом отпустило
Аноним 29/07/21 Чтв 13:27:36 2110589514
image.png 347Кб, 1280x1280
1280x1280
>>2110547
Как можно неудачно перекатиться в го? Или ты пикрил?
Вообще в го сейчас по сути бесконечные деньги, раз стажерам озон платит 90к, а джунам под 200.
Аноним 29/07/21 Чтв 14:18:54 2110673515
>>2110589
Я перекатился и нашел работу. Но не сработался с тимлидом, который все мои начинания заворачивал нахуй с мантрой "здесь так не принято".
Аноним 29/07/21 Чтв 15:24:07 2110778516
>>2110673
А зачем что-то начинать? Ты ведь обычная макака-исполнитель, а не творец. Тебе сказали делать хуйню - ты ее делаешь. Зачем что-то придумывать?
Аноним 29/07/21 Чтв 18:24:15 2111015517
>>2110589
> а джунам под 200
Проснись, 200 это крепкий миддл в ДС
Аноним 29/07/21 Чтв 18:46:43 2111038518
>>2110517
какая разница if err != nil или try catch catch catch ? никогда не понимал эту претензию к го
Аноним 29/07/21 Чтв 19:00:42 2111055519
>>2111038
Catch не пишется после каждого вызова,, обработка ошибок отделена от основной логики, что в разы упрощает код.
Аноним 29/07/21 Чтв 19:42:08 2111102520
Покажите мне простейший микросервис на го со сваггером, который бы генерился автоматически.
Аноним 29/07/21 Чтв 20:53:01 2111149521
Аноним 29/07/21 Чтв 20:58:09 2111159522
Аноним 29/07/21 Чтв 21:03:08 2111164523
>>2110517
> Осталось в ошибку добавить инфу о том, как дошло до вызова этого кода, и получится эксепшен со стектрейсом.
Уже есть, в пакетах, кхе кхе
Аноним 29/07/21 Чтв 21:05:18 2111167524
image.png 292Кб, 366x512
366x512
>>2111055
try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}
Аноним 29/07/21 Чтв 21:06:23 2111170525
Аноним 29/07/21 Чтв 21:06:37 2111172526
>>2110543
> эксепшены созданы, чтобы пробрасывать контекст ошибки вверх по стеку для ее обработки
> ошибки в го созданы, чтобы пробрасывать контекст ошибки вверх по стеку для ее обработки
)))))))))))) go-way
Аноним 29/07/21 Чтв 21:07:27 2111174527
>>2111167
Как работает throws мистеру Пайку никто не сказал
Аноним 29/07/21 Чтв 21:09:09 2111178528
>>2111174
>throws
Блядь господи, только не checked exceptions, УМОЛЯЮ
Аноним 29/07/21 Чтв 21:11:53 2111187529
>>2111178
Это да, намного удобнее когда сразу вся программа падает
Аноним 29/07/21 Чтв 21:12:30 2111189530
>>2111178
Уверен процентов на 90, что если и завезут эксепшены, они будут только checked, учитывая наивную идею Пайка, что все ошибки всегда можно обработать на месте.
Аноним 29/07/21 Чтв 21:14:56 2111192531
>>2111187
Ну выскочил IOException. Что ты с ним сделаешь? Выведешь пользователю информацию о том, что "IO error occurred"? По моему никакой разницы нет между тем, чтобы насрать юзеру в лицу стектрейсом или отдельным сообщением.
Аноним 29/07/21 Чтв 21:15:46 2111194532
>>2111187
Это в каком языке так? В шарпе, жабе, петухоне и жопаскрипте исключения ловятся на верхнем уровне, оборачиваются в жсон и отправляются на фронт.
Аноним 29/07/21 Чтв 21:19:11 2111197533
>>2111194
>В шарпе, жабе, петухоне и жопаскрипте исключения ловятся на верхнем уровне
В жабе есть checked exceptions. Зачем они были придуманы я до сих пор понять не могу, ну вот как проверяемое исключение IOException можно обработать на месте? Никак нахуй. Приходится указывать что такой-то метод throws IOException. И вот это IOException ловится на верхнем уровне, оборачивается и отправляется на фронт. Нахуя были нужны лишние телодвижения, не понятно.
Аноним 29/07/21 Чтв 21:20:58 2111201534
>>2111192
Остановлю выполнение логики на том уровне, где она не должна быть продолжена
Залогирую имея больше информации о происхождении этого контекста
>>2111194
Макакер, спок
Аноним 29/07/21 Чтв 21:23:09 2111205535
>>2111201
> Остановлю выполнение логики на том уровне, где она не должна быть продолжена
> Залогирую имея больше информации о происхождении этого контекста
Прям как с исключениями.
> Макакер, спок
Слив засчитан. Впрочем, ничего нового
Аноним 29/07/21 Чтв 21:24:36 2111209536
>>2111205
Я про исключения и говорю, если ты до сих пор не понял
Аноним 29/07/21 Чтв 21:29:33 2111216537
>>2110517
>А гоферы начинают догадываться, что единственный способ обработать ошибку - показать её текст пользователю.
Просто попробуй работать в чем-то отличном от ООО "Рога и Копыта"
Может тогда тебе и понадобиться что-то вроде retry, а может даже всякие сircuit breaker'ы или graceful degradation'ы. И да, пользователю ошибку вне пхп никто не показывает, максимум возвращают четырех- или пяти- значный код, который сводиться либо к 4ХХ, либо к 5ХХ-м ошибкам. А вот в лог записать - это милое дело.

>>2110538
Нет, т.к. нет задач, которые они смогут решать.
Аноним 29/07/21 Чтв 21:30:48 2111222538
>>2111197
Никто в 90 году не предполагал, что обезьянам создадут весла для галер
Аноним 29/07/21 Чтв 21:44:02 2111244539
>>2111201
>Остановлю выполнение логики на том уровне
Как остановишь? Просто сделаешь return в методе и во всех методах выше по стеку чтоли? Нах?
Не лучше ли сделать так, чтобы исключение вывалилось наверх и написало пользователю, что "произошла фатальная ошибка, идите нахуй"?
Например сервис обращается по сети к другому серверу, но внезапно оказывается, что тот сервер умер, либо какие-то ошибки в подключении к нему. Произошел IOException. Как его обработать? залогировать и выбросить юзеру, пусть он смотрит, пидорас ебаный
Аноним 29/07/21 Чтв 21:44:53 2111247540
>>2111216
>Может тогда тебе и понадобиться что-то вроде retry, а может даже всякие сircuit breaker'ы или graceful degradation'ы
И все это есть прокидывание ошибки на верхний уровень, где ее можно обработать, то есть как с эксепшеном, дебилушка.
Аноним 29/07/21 Чтв 21:47:52 2111253541
>>2111247
Ну так что тогда бухтеть?
Аноним 29/07/21 Чтв 21:49:26 2111256542
>>2111244
> Как остановишь? Просто сделаешь return в методе и во всех методах выше по стеку чтоли? Нах?
Посмотри как выглядит try catch пожалуйста и не еби господам мозг
> Не лучше ли сделать так, чтобы исключение вывалилось наверх и написало пользователю, что "произошла фатальная ошибка, идите нахуй"?
> Например сервис обращается по сети к другому серверу, но внезапно оказывается, что тот сервер умер, либо какие-то ошибки в подключении к нему. Произошел IOException. Как его обработать? залогировать и выбросить юзеру, пусть он смотрит, пидорас ебаный
Одно другому не мешает
Аноним 29/07/21 Чтв 21:49:45 2111257543
>>2111253
Не знаю, а ты срешь го или защищаешь?
Аноним 29/07/21 Чтв 21:50:11 2111259544
>>2111256
>Посмотри как выглядит try catch пожалуйста и не еби господам мозг
Про unchecked эксепшены ты не в курсе, видимо.
Аноним 29/07/21 Чтв 21:51:23 2111263545
>>2111259
Какой же ты тормознутый, в курсе о чем вообще эта ветка?
Аноним 29/07/21 Чтв 21:52:17 2111267546
>>2111263
Не знаю, я просто сру го.
Аноним 29/07/21 Чтв 22:05:33 2111285547
Sheezeeque.png 64Кб, 200x200
200x200
Аноним 30/07/21 Птн 00:39:31 2111387548
>>2111247
Эксепшены в хуйлоаде - моветон.
Аноним 30/07/21 Птн 00:43:56 2111400549
>>2111387
Хуй тебе, а нн лоад.
Аноним 30/07/21 Птн 10:18:27 2111641550
>2021
>До сих пор нет множеств и очередей
Ебаный кошмар, кому пришло в голову сделать облегченный С++ с модными молодежными потоками и слайсами, но с пустой стандартной библиотекой? Почему в STL есть все, чего только душа пожелает, а здесь нужно изобретать свои кривые велосипеды? Нахуя, а главное зачем?
Аноним 30/07/21 Птн 10:22:52 2111652551
Кстати после того, как добавят дженерики, в мире го внезапно окажется огромное число легаси говна. Вот серьезно, почему нельзя было добавить их сразу? Что за ебланство, почему некоторые вещи в пщ делаются исключительно через жопу там, где даже в самых древних языках вроде С++ и джавы, все куда понятнее и логичнее
Аноним 30/07/21 Птн 10:23:50 2111654552
>>2111641
Некорректно сравнивать Go с крестами. У говна не было задачи конкурировать с ними, пусть он и компилится в натив. Сравнивать его надо с жабашарпами, но и по сравнению с ними он убрг и примитивен.
Аноним 30/07/21 Птн 10:25:35 2111656553
>>2111652
В жабе кстати женерики тоже не с первых версий, там до их добавления юзали Object.
Аноним 30/07/21 Птн 10:27:14 2111660554
Аноним 30/07/21 Птн 10:29:37 2111664555
>>2111654
>Сравнивать его надо с жабашарпами
Разве Го можно втянуть в энтерпрайз, где куча бизнес-логики, для которой нужно полноценное ООП, а не просто структуры, пришедшие из чистой сишки?

>Некорректно сравнивать Go с крестами. У говна не было задачи конкурировать с ними, пусть он и компилится в натив.
Мне вроде кто-то пытался объяснить, что Го - это такой C/C++ (наверное все-таки больше С) для дебилов с модной многопоточкой.
Аноним 30/07/21 Птн 10:31:23 2111665556
>>2111656
Ну в этом и проеб джавы, потому что сейчас дженерики там существуют только на уровне компиляции, а потом стрираются в Object. В шарпе дженерики были сделаны сразу иначе.
Аноним 30/07/21 Птн 10:43:53 2111686557
>>2098874
Ну нужны - берешь быстрый. Платишь за это отсутствием сахара и более сложной работой
Аноним 30/07/21 Птн 10:44:48 2111688558
Аноним 30/07/21 Птн 10:49:35 2111700559
Аноним 30/07/21 Птн 10:50:39 2111701560
>>2111686
Перечитай мой пост еще раз. Если ты не понял, не всегда приходится платить удобством за скорость.
Аноним 30/07/21 Птн 11:08:55 2111749561
>>2111700
Тот, кто хостил русскую версию - забил хуй и хостинг слетел
Аноним 30/07/21 Птн 12:23:30 2111838562
аж трисет нахуй от говнп
Аноним 30/07/21 Птн 12:32:40 2111853563
>>2111652
Никому не усралось ломать язык меняя его фундаментальную основу. Уже 10 лет кормят женериками, покормят еще 10. Как раз срок жизни подойдёт к концу. А потом можно будет и новый заебенить.
Аноним 30/07/21 Птн 12:36:51 2111860564
>>2110589
Хватит пиздеть пиздабол, вилка в озоне на мидла 264к до налогов, после налогов получается 229к, и это притом что в озоне нет премий нихуя, только RSU с вестингом через год
Аноним 30/07/21 Птн 14:44:58 2112025565
>>2111664
Ну и чем тебе не нравиться ООП в го? Ты слишком старый чтобы переучиться писать вместо class слово type?
Аноним 30/07/21 Птн 15:30:03 2112077566
>>2112025
Манянаследование, которые не позволяет работать с полями на одном уровне с необходимостью пробрасывать их во в кишки, так как вместо нормального наследования просто добавляется поле-структура.
Аноним 30/07/21 Птн 15:37:18 2112086567
>>2112077
Если тебе надо лезть в кишки структуры, что-то не так с дизайном приложения. Information Expert не соблюдается, епта.
Аноним 30/07/21 Птн 15:44:00 2112093568
>>2112086
> Information Expert
Это эвфемизм для god object?
Аноним 30/07/21 Птн 15:45:39 2112095569
>>2112093
Прямо противоположное.
Аноним 30/07/21 Птн 15:49:50 2112104570
>>2112086
Если бы наследование полей происходило нормально, то не пришлось бы, а так два "наследования" и уже приходится писать myObject1.myObject2.myObject3.method() вместо myObject1.method()
Аноним 30/07/21 Птн 15:53:28 2112111571
>>2112104
А, ну поля находятся на разных уровнях и приходится их явно вытаскивать из вложенной "отнаследованной" структуры
Аноним 30/07/21 Птн 15:58:10 2112118572
>>2112104
Проблема не в наследовании (которое чаще всего нахуй не нужно), а в наличии необходимости вызывать myObject3.method() из клиентского класса. Вместо того, чтобы работать с верхнеуровневым апи класса myObject1, ты зачем-то лезешь к нему под капот, и теперь твой клиентский код зависит не только от myObject1, но еще и от myObject2 и myObject3. Удачи в поддержке такой лапши.
Аноним 30/07/21 Птн 16:07:18 2112133573
>>2112118
Ты не понял, я не хочу лезть в кишки, я хочу работать на одном уровне, как в любом другом языке с нормальным наследованием, где все это активно используется и не является проблемой. Но ГОвно насильно заставляет меня юзать поля структуры, так как другого наследования тут не завезли и либо приходится отказываться от наследования вообще, что нихуя не ООП уже. Если ты говоришь, что наследование не нужно, то и нехуй это ООП называть, так как это нарушает один из основных его принципов. Я не удивлюсь, если это как в джавовских ИДЕ через кодогенерацию делать будут из-за уебищности реализации в самом языке.
Аноним 30/07/21 Птн 18:26:35 2112293574
>>2112077
> не позволяет работать с полями на одном уровне

Серьезно? Я с говном колупаюсь пару дней и то в курсе,что позволяет
https://play.golang.org/p/Vhn4Nv55jUO
Аноним 30/07/21 Птн 20:48:57 2112417575
>>2112293
Всё что нужно знать о говне и его шизоидном авторе.
Аноним 31/07/21 Суб 14:49:47 2112965576
Аноним 31/07/21 Суб 23:05:45 2113425577
Я правильно понимаю, что кроме GORM'а нет альтернатив, чтобы сгенерировать миграции на основании моделей? Не хотелось бы тащить ORM в проект только ради миграций
Аноним 31/07/21 Суб 23:31:35 2113436578
>>2113425
В идеале я хотел бы тулзу, которая посмотрит на мои модели, откроет соединение к базе, сравнит схему в базе и модели и выдаст SQL как привести одно к другому (и обратно для отката). Вот по аналогии с https://github.com/typeorm/typeorm/blob/master/docs/migrations.md
Аноним 01/08/21 Вск 14:50:58 2113902579
>>2113436
Но вокруг одна хуйня...
Аноним 01/08/21 Вск 18:22:08 2114086580
>>2111102
че бля реально у вас нет такого?
Аноним 02/08/21 Пнд 11:04:07 2114632581
>>2113425
Лично я забил хуй на все рекомендации саобщисьтва и пользуюсь гормом. Брат жив. Это, конечно, не гибернейт и не доктрина, но жить можно
Аноним 02/08/21 Пнд 11:14:59 2114646582
>>2114632
То ли ещё будет, когда завезут эксепшены, классы, аннотации и женерики.
Аноним 02/08/21 Пнд 11:26:14 2114653583
>>2114646
Та просто мне go-jet зашел, он покрывает 95% моих потребностей. А вот с ним еще и GORM подключать я просто не вижу смысла.
Аноним 02/08/21 Пнд 12:34:09 2114686584
Мало говна с хибернейтом поели, надо теперь такое же в го тащить. Любители хитровыебанной магии невер ченж... пока ногу себе не отстрелят.
Аноним 02/08/21 Пнд 22:41:32 2115301585
Аноним 03/08/21 Втр 22:49:27 2116236586
>>2114646
>эксепшены
Никто не будет делать экспешены, если уже есть panic/recover

>классы
Зачем они нужны, если есть структуры? Да и методы ты к любому типу прилепить можешь.

>аннотации
Struct Tags

> женерики
Уже в работе

Но хейтеры будут хейтить
Аноним 03/08/21 Втр 23:19:37 2116303587
>>2116236
>уже есть panic/recover
Какие подводные? Вроде где-то читал, что использовать это как эксепшены очень не рекомендуется.
Аноним 03/08/21 Втр 23:29:13 2116316588
>>2116236
> Никто не будет делать экспешены, если уже есть panic/recover
У них нет стектрейса п подобного, да и маньки не рекомендуют их юзать для ожидаемых ошибок.
> Зачем они нужны, если есть структуры? Да и методы ты к любому типу прилепить можешь.
Сахарок же.
> Struct Tags
Не повесишь на структуры и функции, только на поля.
> Уже в работе
В мифическом Go 2, которого никогда не будет.
Аноним 04/08/21 Срд 00:39:17 2116368589
>>2116303
>Какие подводные?
Кроме косых взглядов со стороны сообщества? Тебе словить панику нужно именно в той же горутине, где она и произошла, иначе весь процесс упадет как в новой ноде практически. Ну и вся экосистема под это не приспособлена, почти каждый метод интерфейса возвращает ошибку, банально не удобно превращать всё в паники, да и смысла на мой взгляд нет, трейс можно и без паники получить. Но если очень хочется то можно, да.
>>2116316
>У них нет стектрейса
А вот и есть
> да и маньки не рекомендуют их юзать для ожидаемых ошибок.
Не совсем так. Ожидаемые ошибки - это когда ты знаешь, что Read тебе рано или поздно вернет io.EOF и ты каждую ошибку Readа проверяешь на эндОфФайл и обрабатываешь отдельно от других ошибок. А паники (как и os.Exit) не рекомендуют использовать вне функции main, т.к. другие разрабы просто этого не ожидают. Кстати, os.Exit еще хуже паники, т.к. последний еще даст в defer'ах сделать cleanup, а первый - сразу убивает процесс.
> Сахарок же.
Тобой выбрана неправильная дверь, дружок-пирожек. Клуб любителей питона 3 тредами выше.
> Не повесишь на структуры и функции, только на поля.
Если прям очень надо - можно эти самые структуры и функции присвоить как поля другой структуры и туда навесить тег. Только вот наверное это никому и не надо.
> В мифическом Go 2, которого никогда не будет.
Нет, в go 1.18, который будет в начале 2022-го года. Изначально допускали возможность Go 2, но потом задизайнили так, чтобы не ломать обратную совместимость.
Аноним 04/08/21 Срд 12:22:30 2116720590
package rest
imports rest/container
imports rest/controller
imports rest/router
imports rest/middleware
imports rest/model
imports rest/security
imports rest/storage
imports rest/model: import cycle not allowed

package rest
imports rest/container
imports rest/controller
imports rest/router
imports rest/middleware
imports rest/router: import cycle not allowed


Помогите. Я уже в фрустрации.
Аноним 04/08/21 Срд 12:36:18 2116729591
>>2116720
Щас тебе пояснят, что в говне так не принято.
Аноним 04/08/21 Срд 14:35:09 2116839592
изображение.png 79Кб, 599x510
599x510
>>2116729
>>2116720
>Щас тебе пояснят, что в говне так не принято.
Болван, так блять везде не принято. Циклические иморты - это признак проёбаной архитектуры.
З.Ы, Делай как на пике, и все у тебя будет хорошо
Гугли clean architecture, либо делай все в одном модуле, как диды.
Аноним 04/08/21 Срд 14:48:34 2116866593
Аноним 04/08/21 Срд 14:50:27 2116867594
Аноним 04/08/21 Срд 15:22:06 2116901595
>>2116839
Не хочу как диды. Разрулил хаос с помощью pure fabrication
Аноним 04/08/21 Срд 16:47:18 2116953596
>>2116839
Проиграл с этого первокура.
Аноним 05/08/21 Чтв 08:22:31 2117484597
image.png 41Кб, 1195x473
1195x473
В чём я не прав? Ошибку нагуглить не могу уже какой час.
Аноним 05/08/21 Чтв 10:22:43 2117547598
>>2117484
Во первых, такие функции должны возвращать булево значение. Во вторых, никто не хранит пароль подобным образом. В третьих, либо создай свои типы login и password, либо укажи аргументам тип string
Аноним 05/08/21 Чтв 12:57:01 2117664599
>>2117484
Видимо ты новенький и вообще пришёл из какого нибудь питона, так что даже хз. Го тур пройди что ли.
Аноним 05/08/21 Чтв 15:42:45 2117873600
>>2117484
Запрос охуенный, конечно.
Аноним 05/08/21 Чтв 17:20:07 2117970601
image.png 119Кб, 892x546
892x546
image.png 21Кб, 570x435
570x435
>>2068785
>В ближайшие два года количество java-вакансий только увеличиться

Большая часть java вакансий навсегда останется в эпохе java 8, которая вышла аж в марте 2014 года, как раз ровно в период славных побед России на геополитической арене.
Чтобы не быть голословным пидорасом, прикреплю пикрилы. Видишь, какие даты поддержки у 8, 11 и 17 джавы? У 8 версии аж до 2030 года, это дольше, чем у всех последующих версий жаб. К тому же, ни на 11 версию, ни на 17 бизнес особо перекатываться не планирует. С момента выхода 8 версии, когда выпустили stream api, никаких значимых апдейтов не было, ни в самом языке, ни в jvm.
Большие надежды были на project loom, который наконец принес бы асинхронность и легковесные потоки, но его обещают с 2018 года, и все никак. В 17 версии loom'а не будет, а так как это LTS релиз, то это очень плохо, даже ужасно. Придется ждать теперь как минимум до осени 2023 года появления легковесных потоков в LTS, и только начиная с того момента можно будет рассчитывать, что все эти новомодные штуки начнут использоваться в проде. Естественно не сразу, году к 2025-2026 примерно.

Я вот сейчас думаю, куда переходить из джавы, ибо застрять в спринге и хибернейте на долгие годы я не хочу, так как боюсь, что через 7 лет мои знания этих кобол-технологий станут мало кому нужны.
Аноним 05/08/21 Чтв 19:03:14 2118108602
>>2117970
А как там со Скалами и Котлинами дела?
Аноним 05/08/21 Чтв 19:05:23 2118114603
>>2117970
>наконец принес бы асинхронность
Фьючи уже не асинхронные? И нио не существует?
Аноним 05/08/21 Чтв 19:06:09 2118115604
Screenshot20210[...].png 45Кб, 469x775
469x775
Аноним 05/08/21 Чтв 19:07:55 2118120605
Аноним 05/08/21 Чтв 19:15:00 2118135606
>>2118115
Пиздец это в sql одну строчку написать, зачем так извращаться и страдать
Аноним 05/08/21 Чтв 19:18:30 2118141607
>>2118135
Оно всё на непустых интерфесах, т.е. полная поддержка типов, компилятор всё проверяет. Бонусом идет подсказки IDE.
Особенно удобно для запросов, где при определенном наборе входящих параметров нужно добавлять дополнительный JOIN или что-то в этом духе, где просто плейсхолдерами параметров не справиться.
Аноним 05/08/21 Чтв 21:31:41 2118338608
>>2118114
Томкат не асинхронный. Драйверы к БД все блокирующие. И хуле толку от того, что в джавакоре есть нио и фьючи? Понятно, что есть Netty в 1.5 проектах, но большая часть это сплошной пердолинг обыкновенного спринга, без какого-либо намека на потоки и асинхронность.
Аноним 05/08/21 Чтв 22:53:09 2118408609
>>2118135
>зачем так извращаться и страдать
Go-way, ептель
Аноним 06/08/21 Птн 09:32:31 2118609610
У вас голанд или vs code на работе?
вдруг кто-то все же работает, а не мамины борщи ест
Аноним 06/08/21 Птн 10:18:42 2118672611
>>2118408
Так go way это и есть одна строчка на сикеле.
Мимопользователь GORM
Аноним 06/08/21 Птн 12:54:42 2118888612
Screenshot20210[...].png 66Кб, 555x795
555x795
Screenshot20210[...].png 12Кб, 358x218
358x218
Screenshot20210[...].png 32Кб, 923x387
923x387
>>2118115
А вот с subquery, традиционно для ОРМов и квери билдеров всё не так гладко, приходиться Raw* конструкторы использовать. Навелосипедил небольшой хелпер, в свободное время поковыряю исходники, может PR зашлю какой.
А вообще либа прикольная, из нее легко можно получить как SQL стринг для прода с плейсхолдерами + слайс аргуметнов (как раз аргументы для sql.DB.Query или sql.Tx.Query), либо для дебага sql сразу с подставленными значениями для удобства копипастинга в любое другое место. https://pkg.go.dev/github.com/go-jet/jet/v2/internal/jet@v2.5.0#Statement
Аноним 06/08/21 Птн 13:17:09 2118923613
>>2118888
В первый скриншот не влезло, там сверху еще
const maxStartedField = "max_started"
Аноним 06/08/21 Птн 13:41:18 2118960614
>>2118609
Я и большая часть команды на пщленде сидим, пара дедов с вима+пщ-плс А хули вы хотели? Язык для мидлов+
>>2118408
Хейтер, спок
Аноним 06/08/21 Птн 14:02:02 2118996615
>>2118960
>Язык для мидлов
Я готовлюсь вкатываться джуном
не проебался ли я в выборе стека технологий для вката?
Аноним 06/08/21 Птн 14:09:12 2119007616
Аноним 06/08/21 Птн 14:15:00 2119015617
Аноним 06/08/21 Птн 14:16:56 2119017618
>>2119015
Потому что вкатываешься джуном в язык для миддлов.
Аноним 06/08/21 Птн 14:17:49 2119020619
>>2119017
А разве существуют языки для джунов?
Аноним 06/08/21 Птн 14:18:58 2119021620
Аноним 06/08/21 Птн 14:19:59 2119024621
Аноним 06/08/21 Птн 14:22:48 2119031622
>>2119024
Питон, жаба, жс, шарп, пхп.
Аноним 06/08/21 Птн 14:23:47 2119032623
>>2119017
>>2119031

То есть нужно отбатрачить примерно 2-3 года на каком-нибудь джава легаси или пхп-битрикс, чтобы вкатиться в го? Не, это залупа я считаю. Лучше буду го дальше учить, авось вкачусь через полгода-годик.
Аноним 06/08/21 Птн 14:24:53 2119035624
>>2119032
> То есть нужно отбатрачить примерно 2-3 года на каком-нибудь джава легаси или пхп-битрикс, чтобы вкатиться в го?
Да, именно так это и работает.
Аноним 06/08/21 Птн 14:27:37 2119036625
>>2119035
А в чем прикол вкатываться в абсолютно другую технологию, если у меня есть желание работать именно в гошке?
Аноним 06/08/21 Птн 14:30:02 2119039626
>>2119036
В том, что джуны убыточны, и их надо дотягивать до миддлов, а там, где юзают го, этого пока позволить себе не могут, поэтому дешевле взять миддла из другого языка.
Аноним 06/08/21 Птн 14:32:17 2119042627
>>2119039
Но ведь озон и авито стажеров берут...
Все реально так плохо с джунами? Вроде есть парочка вакансий на хх ру
Аноним 06/08/21 Птн 15:41:39 2119098628
>>2118996
Так-то можно, конечно, но через ноду пролезть в IT проще.
Аноним 06/08/21 Птн 18:59:12 2119334629
image.png 467Кб, 600x400
600x400
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов