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


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
237 19 48

Тред про лучший в мире язык GO №11 /go/ Аноним # OP 28/06/20 Вск 20:29:31 17361801
g1.png (475Кб, 714x644)
714x644
g2.jpg (227Кб, 900x1400)
900x1400
GO (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего.


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

Пэкеджи можно искать тут https://github.com/avelino/awesome-go


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

Прошлый тред тут >>1700220 (OP)
Аноним # OP 28/06/20 Вск 20:31:29 17361832
>>1736180 (OP)
Как думаете, если указать в резюме, что я являюсь ОПом тредов по Го на дваче, меня охотнее возьмут на работу?
Аноним 28/06/20 Вск 20:34:30 17361883
>>1736183
УКАЗЫВАЕШЬ
@
СПРАШИВАЮТ ЧТО ТАКОЕ ДВАЧ
@
ОБЪЯСНЯЕШЬ
@
МЫ ВАМ ПЕРЕЗВОНИМ
Аноним # OP 28/06/20 Вск 20:37:16 17361954
>>1736188
УКАЗЫВАЮ
@
СПРАШИВАЮТ ЧТО ТАКОЕ ДВАЧ
@
ГОВОРЮ, ЧТО ЭТО ОДНО ИЗ ВЕДУЩИХ СООБЩЕСТВ ПО ГО ЯЗЫКУ В РУССКОЯЗЫЧНОМ ИНТЕРНЕТЕ
@
ПОЛУЧАЮ РЕСПЕКТ ОТ ХРЮШИ
Аноним 28/06/20 Вск 20:42:32 17362105
Аноним 28/06/20 Вск 21:07:47 17362546
>>1736210
@
Просыпаешься с влажными штанами от поллюции
@
Идешь на работу дергать жабаскрипт
Аноним 28/06/20 Вск 22:21:51 17363497
>>1736254
@
ТЕБЕ НРАВИТСЯ ТВОЯ РАБОТА
#антибугурт
Аноним 29/06/20 Пнд 12:44:53 17367168
>>1736349
@
Когда это произносишь, дергается левый глаз.
Аноним 29/06/20 Пнд 13:03:10 17367319
Задавал в основном но продублирую в тематический.

Анон, стоит ли покупать курс на курсере по ГОленгу от майлача для более выгодного света в глазах эйчаров? он размазан на большой промежуток если не покупать, и я остановился а надо бы уже дальше выполнять задания. Вообще хотелось бы узнать на сколько эти филькины грамоты участвуют в трудоустройстве.
Аноним 29/06/20 Пнд 13:13:10 173674010
>>1736731
> для более выгодного света в глазах эйчаров?
Нет. Более того, многие даже пет-проекты на гитхабе не смотрят (но рассказать о них просят)
Аноним 29/06/20 Пнд 13:16:14 173674211
>>1736740
Да чет я смотрю даже за ведение треда на топ1 форуме по ГО в ру сегменте уважение и почет.
Вообще пытался попасть на обучение в озон кто-то?
Аноним 29/06/20 Пнд 13:20:35 173674812
>>1736731
На степике тебе тоже выдадут филькину грамоту, но бесплатно.

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

>>1736742
>Вообще пытался попасть на обучение в озон кто-то?
ИТТ или вообще? Итт было обсуждение, в основном задания с двумя каналами, которое было сломано. А вообще там больше 4к челиков участвовали, но по итогу только ~100 позвали на собеседование и в финал вышли только 40
Аноним 29/06/20 Пнд 15:09:41 173687513
Нахуй сертификаты.

Аноним 29/06/20 Пнд 15:12:05 173688214
>>1736875
Да, даёшь обычный HTTP!
Аноним 29/06/20 Пнд 15:14:12 173688915
Аноним 29/06/20 Пнд 17:19:29 173700116
1) Кто юзал fiber какие подводные?
2) В го завезли модули, там что-то хотели, но я не следил.
3) Какой шаблонизатор популярен в го сейчас (да в 2020 еще клепают обычные не реакт странички)

что вообще нового в го, вывалился года на 2 из него.
Аноним 29/06/20 Пнд 17:20:13 173700217
>>1737001
вопросики забыл, держите на всякий случай "???"
Аноним 29/06/20 Пнд 17:23:01 173700518
>>1737001
В го давно завезли модули, в чем вопрос?
Аноним 29/06/20 Пнд 17:50:41 173703119
>>1737005
С какой версии полная поддержка??
Аноним 29/06/20 Пнд 17:59:46 173703820
Аноним 29/06/20 Пнд 18:33:20 173708121
>>1737001

Что за файбер? Почему не гольный http или gin?
Аноним 29/06/20 Пнд 18:34:39 173708222
>>1737001
>Кто юзал fiber какие подводные?
Юзал, охуенно было т.к. переходил с ноды+экспресс на го. По перформансу он топовый, по удобству тоже. Подводных нет.
Аноним 29/06/20 Пнд 19:12:03 173712223
>>1737001
>>1737082

Оно же не умеет в autotls и http2, зачем оно надо такое?
Аноним 29/06/20 Пнд 19:29:16 173713724
>>1737122
Ну вот, это, наверное, и будет подводными камнями.

Скажите появились ли какие бест-практике по работе ошибок? Ну реально передавать ошибки по стеку или уже придумали какой-то сервис-логер?
Аноним 29/06/20 Пнд 19:38:18 173714725
>>1737137

fmt.Errorf("%w", err) и errors.Is
Аноним 29/06/20 Пнд 20:44:37 173720326
>>1737122
Не нужно, всё равно спереди nginx стоит
Аноним 29/06/20 Пнд 21:20:35 173723627
>>1737203

По задачам. В куберах да, похуй.
На железе - лучше не сувать nginx, go без него отлично справляется.
Аноним 29/06/20 Пнд 21:41:06 173726628
Хочу написать на го апи для сайта. Раньше на го ничего большого не писал. Что лучше:
1. Написать в лоб на net/http
2. На каком-нибудь фреймворке вроде gin
3. Сгенерировать сервер через go-swagger?
Аноним 29/06/20 Пнд 21:46:09 173727229
>>1737266
Лучше на gin или gorillamux. Из двух я бы рекомендовал gin. Через go-swagger точно лучше не генерировать.
Аноним 29/06/20 Пнд 21:48:52 173727530
>>1737272
>Через go-swagger точно лучше не генерировать
Почему? Читал, что тот генератор, который на джаве для опенапи генерирует не очень, а чем родной гошный плох?
Аноним 29/06/20 Пнд 21:53:26 173728331
>>1737275

Оно ебанная дичь.
Нормального генератора в го не завезли.
Аноним 29/06/20 Пнд 21:56:11 173728632
А чо по го есть адвансед? Пробовал полезть в компилятор и понял, что нихуя не понял.
Аноним 29/06/20 Пнд 21:59:21 173728833
Аноним 29/06/20 Пнд 22:02:11 173729234
>>1737275
Та хер знает, когда последний раз проверял мне там что-то очень не понравилось, точно не помню что, давно было.

Могу предположить, что если раньше ты на го ничего большого не писал, то написать самому свои хендлеры будет интереснее.
Аноним 29/06/20 Пнд 22:07:56 173729535
Кто может поянить про ponzu? Куча звезд на гитхабе, апи эндпоинты генерятся в одну команду ...и все. Хочешь разделить привилегиии пользователей - пиши с нуля фронтенд с ролями (и наверное отдельной бд для юзеров, потому что сам понзо свои данные хранит в каких-то nosql файловых базах). На любые вопросы разраб предлает прислать ему пулл реквест с решением проблемы.
Мне сначала понравилась идея с безголовыми cms, но почти каждую нужно допиливать напильником. strapi, например, вывалит в ответе вместе с эндпоинтом все связанные с ним поля из других таблиц, это не регулируется, другие цмски платные/закрытые или слишком продвинутые.
Мне бы что-то простое, чтобы хранить данные для статических страниц, забирать данные с формы фидбека и раздать права пользователям, чтобы они писали новости.
Аноним 30/06/20 Втр 20:01:08 173831236
Аноним 30/06/20 Втр 20:35:19 173834837
>>1738312
Небось с пхп перекатывается.
Аноним 30/06/20 Втр 21:39:32 173842538
>>1738312
Ну вот значит будет сайт, в одном разделе будет БИЗНЕС-ПРОЦЕСС, где будут мутиться серьезные делишки, будет еще раздел, где пользователи могут написать, какие мы мудаки, и есть раздел новостей@объявлений, где будут постить всякие маркетологи.
Первый раздел самый трудоемкий, у него будет свой апи, а остальные разделы дешево и сердито работают на безголовом cms.
Как бы ты сделал?
Аноним 30/06/20 Втр 22:13:19 173845139
>>1738425
Я бы наговнякал на джанге, а затем при каждом фича-реквесте говорил, что вся система - это только прототип, и на самом деле нужно все переписать, но в этот раз на это нужно в 3 раза больше времени, т.к. теперь будет и архитектура, и расширяемость, и энтерпрайз-подходы.
Аноним 30/06/20 Втр 22:17:30 173845640
>>1738451
Правда меня, скорее всего, уволили, если речь идет о средней компании. Но с другой стороны - есть шансы на выбивание пары месяцев на пинание хуев
Аноним 30/06/20 Втр 22:34:18 173846841
>>1738425
Какое-то слишком расплывчатое описание слишком женерик бложика
С нуля ебнул бы фронт в рамках бюджета и по микросервису на бизнес-процесс и новости@объявления, наверное
Текстовые носкл базы звучат страшнее
Аноним 30/06/20 Втр 23:27:40 173850442
есть одна гуглошита, которая закрыта для теребонькая из апи, но доступная просто через обычный запрос. Как ее лучше спарсить? Взять все из бади и прокрутить в стринг типа как xml?
Аноним 01/07/20 Срд 01:01:16 173853843
>>1738504
Это то еще удовольствие, на самом деле. Попробуй сделать экспорт в эксель-файл, а с ним уже можно работать через соответсвующие либы
Аноним 01/07/20 Срд 13:57:41 173889744
image.png (462Кб, 1486x1052)
1486x1052
читал "learn go with tests" (https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/concurrency), там вот такой пример кода. объясните, пожалуйста, почему он работает? я, может, читаю его неправильно
мы сначала запускаем горутины в цикле, в которых отправляем значения в не буферизированный канал. на момент вызова горутин оттуда никто не читает. затем, когда цикл завершается, начинаем новый, в котором мы уже читаем из канала
почему во время первого цикла не происходит deadlock?
Аноним 01/07/20 Срд 14:53:16 173894245
>>1738897
А почему там должен быть deadlock? Горутины же не блочат основной поток выполнения.
Аноним 01/07/20 Срд 14:54:42 173894546
>>1738897
Дедлок - это когда все горутины заблочены (мьютексом или каналом, например) и никто не может больше нихера сделать. У тебя же спавняться горутины в цикле, и даже если wc сразу же возвращает результат (скорее всего - нет) горутины будут ждать, пока из канала не прочитают. Но основная горутина-то не блочится до тех пор, пока не попытаеться прочитать.
Аноним 01/07/20 Срд 15:00:40 173895447
>>1738942
>>1738945

понял, большое спасибо!
почему-то мне подумалось, что это то же самое, что:
ch <- val
v := <-ch
Аноним 01/07/20 Срд 15:14:16 173896848
>>1738954
Тут как раз таки фундаментальное различие, что в этом случае все происходит внутри одной горутины, а в >>1738897 - в
разных
Аноним 01/07/20 Срд 18:59:15 173928149
Боже говно как будто создано для клепания говна
Как я жил без него
Аноним 01/07/20 Срд 20:21:25 173936350
>>1739281
Я, кажется, понял философию Го. "Любой код всё равно рано или поздно превращается в говно, давайте сделаем язык, в котором терпеть говно легче"
Аноним 02/07/20 Чтв 00:02:11 173952651
>>1738538
мог бы, не парился вообще
а так костыльно реализовал на подсчете определенных тегов и их значений, в принципе, если теги +- не сильно различаются в таблицах, то моно унифицировать.
Аноним 02/07/20 Чтв 04:10:27 173961552
>>1739363
>>1739281
Если ты везде видишь говно, то стоит задуматься
Аноним 02/07/20 Чтв 09:51:29 173967453
подскажите пожалуйста как запускаются веб сервисы на этом вашем го?
Аноним 02/07/20 Чтв 10:04:16 173967654
>>1739674
Запускаешь бинарник, полученный после комптляции. Всё.
Аноним 02/07/20 Чтв 22:05:50 174021755
>>1739676
А как сделать чтобы он автоматом запускался при перезагрузке vpsки или после какого-нибудь краша?
Аноним 02/07/20 Чтв 22:33:23 174023256
прошел испытательный срок в мухосране го джуном 3 месяца, продолжаю получать 30к рублев, задавайте вопросы.
Аноним 02/07/20 Чтв 22:45:16 174023957
>>1740232
Нормальная, ДОСТОЙНАЯ зарплата.
Аноним 02/07/20 Чтв 23:18:16 174025358
>>1740232
Чёт маловато очень. Какие задачи выполняешь?
Аноним 02/07/20 Чтв 23:22:42 174025759
>>1740217
crontab, systemd, docker, cпособов мильйон, бери что нравиться.
Аноним 02/07/20 Чтв 23:28:35 174026660
Аноним 03/07/20 Птн 00:37:41 174034561
Аноним 03/07/20 Птн 00:46:24 174035162
>>1740345
sudo systemctl enable name.service
Аноним 03/07/20 Птн 00:47:40 174035363
>>1740253
перевожу сервисы с монги на постгресс, пилю интеграционные тесты, еще в ui на ректе баги фикшу
Аноним 03/07/20 Птн 00:50:48 174035864
>>1740353
А микросервисы когда делать?
Аноним 03/07/20 Птн 01:15:50 174037465
Аноним 03/07/20 Птн 01:37:13 174038766
>>1740232
Проигарл. Это насколько маленький мухосранск?

Мимо выкатился в го из мидло-пхп 4 месяца назад и получаю 130к в дс2
Аноним 03/07/20 Птн 01:44:09 174039167
>>1740387
>аленький мухосранск?
500к
Аноним 03/07/20 Птн 01:47:01 174039568
image.png (45Кб, 679x407)
679x407
>>1737295
Уноси своё говно. Когда билды починят - тогда и приходи
Аноним 03/07/20 Птн 01:48:05 174039769
>>1740391
Как ты в такой залупе вообще нашел вакансию говна?
Аноним 03/07/20 Птн 01:50:38 174039870
image.png (327Кб, 599x443)
599x443
>>1736180 (OP)
Че как вы там, еще не ахуели от резкого уменьшения вакансий с 18 года на своей хуйне?
Аноним 03/07/20 Птн 01:55:01 174039971
>>1740398
>Че как вы там, еще не ахуели от резкого уменьшения вакансий с 18 года на своей хуйне?
Так язык программирования это же просто один из способов записи твоих программистских универсальных знаний... если это действительно так, выучить новый язык программирования для того кто в принципе умеет программировать не должно занять больше одной недели времени...
Аноним 03/07/20 Птн 01:58:19 174040172
>>1740399
> больше одной недели времени...
А еще выучить окружение, стандартную библиотеку, фреймворки, орм, генераторы, специфические внутренности чтобы каждый раз не натыкаться на втф, внутренний паттерны, кодстайлы, профайлинг, специфические паттерны тестирования. И в итоге твои две недели превращаются в минимум пару месяцев активного задротства, чтобы хотя-бы чуть выше джуна стать для работодателя. Ну и еще понижение зарплаты в большинстве случаев вытекающую сперму из жопы. Ну, зато ты SOLID и OOP знаешь, так сказать.
Аноним 03/07/20 Птн 02:05:35 174040773
>>1740399
Имхо утверждение типа "язык не важен" - это классический самообман. Естественно важны умения именно разработки, но на одном знании синтаксиса далеко не уедешь, нужно огромное кол-во деталей еще знать.
Аноним 03/07/20 Птн 09:07:45 174045774
>>1740407
>>1740401

Это проблемы тупых.
Все построено на одних и тех же паттернах и алгоритмах, 9ная что-то одно очевидно, как работает другое.

А все, что вы перечислили узнается за неделю. Достаточно полистать на гитхабе awesome-(название языка программирования).
Аноним 03/07/20 Птн 11:22:50 174049575
>>1740457
А потом жидко обосраться при попытке решить реальную задачу. Опыта-то нет.
Аноним 03/07/20 Птн 12:08:38 174051276
>>1740495

Не надо проецировать свой опыт, это лишь подтверждение, что это проблема всяких туповатых Senior Bitrix Developer.

Для программиста, который ещё и в управлении рисками шарит, все пройдет как по маслу.
Аноним 03/07/20 Птн 12:17:44 174051777
Аноним 03/07/20 Птн 13:38:50 174057678
>>1740517

Это ж шутка была.
Гошники, конечно, не нужны десятками тысяч как джависты, что бы в тырпрайзе формошлепить, но остаются самым горячим и хорошо оплачиваемым направлением.
Аноним 03/07/20 Птн 14:11:05 174062479
image.png (31Кб, 933x481)
933x481
Аноним 03/07/20 Птн 14:15:24 174063480
>>1740512
>>1740457
Ты очень глуп, вероятно ты еще на уровне джуна. Я за свою почти 10 летнюю карьеру и на пхп писал, на пайтоне, на руби, на сишарп и на го. Работал больше архитектором, нежели именно кодером. Но то, что ты говоришь - это очень глупые утверждения неопытного человека. Знание языка и его инфраструктуры совершенно равнозначно важно, как и общие навыки программирования. Если ты отличный программист, но в языке знаешь только ключевые слова, типы и структуры - ты не напишешь на нем ничего путного,, либо введешь туда настолько много незначительных маленьких багов, что за тебя придется все переписать знающему спецу. Были у меня на опыте такие как ты, обычно это кстати студентота, которые выучили какой-нибудь питон с джангой, позадротили алгоритмы с паттернами и солидами, и на полном серьезе уверены, что могут язык сменить за пару недель без потери в качестве.
Аноним 03/07/20 Птн 14:30:26 174066381
>>1740634
Удваиваю тебя. Domain knowledge не менее ценен чем programming knowledge.
Аноним 03/07/20 Птн 14:44:20 174068582
>>1740634
Пиздишь, ждун желторотый, jQuery архитектор, блять.

Смена языка не проблема. Кроссадаптация работает. Лучше нанять хорошего программиста, чем знатока конкретных технологий.
Аноним 03/07/20 Птн 14:48:56 174069383
>>1740634

Принеси эту мудрость faang&co компаниям. Вот ведь глупые, совершенно не спрашивают про инфраструктуру языков и вообще собеседования проводят на языке на твой вкус, при желании на грани эзотерики.
Аноним 03/07/20 Птн 14:49:20 174069484
>>1740634
> 10 лет
> архитектор

мальчик, ты либо давай с пруфами, либо по фактам ответь, не аппелируя к своему несуществующему авторитету
Аноним 03/07/20 Птн 14:50:44 174069685
>>1740624

Tiobe не показатель. Особенно говоря о го.
Его ж основная фишка простота, которая позволяет не гуглить большую часть вещей.
Аноним 03/07/20 Птн 14:55:07 174069786
>>1740685
>>1740694
Мда, на эти высеры даже отвечать не собираюсь. Когда адекватно захотите пообщаться - пишите.

>>1740693
В FAANG еще и алгоритмы спрашивают, которые на работе ты никогда не будешь использовать в том же гугле, если ты не в передовой отдел попадешь, а раньше они спрашивали почему люки круглые или сколько теннисных шариков в автобус поместится. Смекаешь?

Но ты в любом случае не понял что я написал, я вроде не писал, что нельзя с одного языка на другой переключиться, я написал, что это не за неделю делается, за неделю ты только говнокодером на этом языке станешь, независимо от твоих общих скиллов программирования.
Аноним 03/07/20 Птн 15:07:11 174070587
>>1740697

Неубедительно.

Странно слышать от "типа архитектора" такое. Уж архитектор должен понимать насколько все похоже. Суждения смахивают разве что на архитектора frsmework' name.

Я прошел путь php-python-java-go. Каждый раз перекатывался на другой язык без потерь в зп, без продакшн опыта, но никаких проблем это не вызывало. Все похоже.

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

Все очень похожее.
Аноним 03/07/20 Птн 15:08:28 174070888
В общем дичь. Не хотел бы я в команде работать с таким ограниченным человеком.
Аноним 03/07/20 Птн 15:16:16 174071989
>>1740705
>>1740708
Ты меня оскорбляешь в каждом своем посте. Я бы не хотел работать с таким, как ты. Ты почему-то пытаешься сказать, что перейти с языка на язык можно, при этом я не понимаю зачем, ведь я не говорил, что нельзя. Ты может не тому человеку отвечаешь? Ты странный, если честно, я даже хз что сказать.
Аноним 03/07/20 Птн 15:53:09 174076690
image.png (18Кб, 595x287)
595x287
>>1736180 (OP)
А че дженерики не обсуждаете? Они их на полном серьезе уже рассматривают и даже в go2 playground уже ввели.

Какие же всратые и ублюдские "дженерики" подвезли в go2: https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md

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

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

Я особенно проиграл с мотивации не юзать другой вид скобочек "оптимизацией компайлера". Этот язык делают для компилятора или для людей? Что-то с последними изменениями кажется, что его делают не для людей, а чтобы потешить самолюбие некоторых пидорасов из гугла.
Аноним 03/07/20 Птн 16:00:19 174077291
14315507179530.png (91Кб, 374x370)
374x370
Аноним 03/07/20 Птн 16:00:49 174077492
>>1740766
Двощую, на прошлой неделе глянул. Да проблема даже не в скобочках. Сама концепция будто один большой костыль. Как всегда они нашли оправдание к любому сомнительному решению, вот только от этого не легче, код то нам писать, а не думать о том, что такие поганые реализации сделаны ибо разрабы хуйланы любят в овероптимизации и оправдания.
Аноним 03/07/20 Птн 16:02:27 174077893
Аноним 03/07/20 Птн 16:05:39 174078394
>>1740778
О, никогда не писавший что-то сложнее на каналах, чем фан-ин/фан-аут и никогда не дебажевший десять тысяч пролитых горутин из-за бага, который позже после ишьюса был записан в доке, как "фича" закукарекал? Хотя ты наверн на мьютексах всё, что сложнее чем байты гонять туда сюда, пишешь.
Аноним 03/07/20 Птн 17:22:00 174089995
>>1740766
>>1740774


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


В го ничего не делают ради красоты, это не хипстерско-смузявый язык. Простота и прагматичность.
Аноним 03/07/20 Птн 17:31:23 174090896
>>1740766
Этот язык делают для компилятора. Для людей пиздуй в тред где на время компиляции люди сваливают в отпуск.
Аноним 03/07/20 Птн 17:35:07 174091197
>>1740899
Там и так достаточно возражений.

>>1740908
Еблан, им скобочки заменить на другие - это добавить 2 ифа в исходник компилятора, буквально. Мне похуй на увеличение скорости компиляции на 0.002сек, если код после этого будет читаемым.
Аноним 03/07/20 Птн 17:35:34 174091598
>>1740766
Им надо из D спиздить восклицательный знак ещё и будет норм.
Аноним 03/07/20 Птн 17:39:09 174092299
>>1740911
Повторяю ещё раз - этот язык делают не для тебя. Этот язык никогда не делали для тебя с самого его создания. Не нравится - меняй работу.
Аноним 03/07/20 Птн 18:07:10 1740954100
1592099206991.jpg (228Кб, 750x731)
750x731
>>1740766
>сложности с каналами и мозгоеблю с синхронизацией
Охуеть, зумеры совсем ёбу дали, им уже в го многопоточность сложной кажется
Аноним 03/07/20 Птн 18:56:02 1740988101
image.png (1271Кб, 1024x683)
1024x683
>>1740954
>>1740922
Я с ним работаю уже 3 года. Нахуй идите.

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

Теперь понятен уровень интеллекта слепых фанбоев конкретных языков.

Из-за таких фанбоев как вы из языка получится PHP со смузи, блять.
Аноним 03/07/20 Птн 18:59:31 1740995102
>>1740922
> ряяя не нравится правительство - меняй страну ряяяяя
Аноним 03/07/20 Птн 21:09:55 1741117103
>>1740783
>который позже после ишьюса был записан в доке, как "фича"
Можно линк? О чем это вообще?
Аноним 04/07/20 Суб 08:09:05 1741312104
>>1740988
Неосилятор, плиз. Каналы наоборот удобны в гошной модели. Лучше этого придумали только эрланг с эликсиром, только вот работы не завезли. Короче, дебс, тебе говорят не для тебя язык писали, пиздуй в жяваскрипт асинкавейтами в ивент луп пукать
Аноним 04/07/20 Суб 09:31:58 1741334105
Даже если выучить го. То есть ли смысл? В основном берут же только сеньоров. Вбейте в поиск hh.ru - требуется только сеньоры или мидлы с кучей багажей знаний. Го можно конечно учить, но не для джунов. А на рынке джуны могут найти работу только на php местах. Россия, СНГ.
Аноним 04/07/20 Суб 09:36:54 1741338106
>>1741334
авиасейлз искал джуна, ну и озон который собирал курсы по го для мидлов ХА
Аноним 04/07/20 Суб 13:31:05 1741498107
>>1741334
Ну так выучись сразу на сеньора, что ты как маленький.
Аноним 04/07/20 Суб 15:16:26 1741691108
1200px-Haskell-[...].png (15Кб, 1200x847)
1200x847
Ну что, допросились своих женериков в го, не хватало да, спать не могли без них?

Нате, кушайте теперь свои монады в го, допросились https://github.com/reconquest/goava#resultt
Аноним 04/07/20 Суб 15:17:59 1741692109
Снимок экрана 2[...].png (158Кб, 1026x1042)
1026x1042
есть 2 метода для фоновой обработки тасков: один делает запросы в БД и достает таски с нужным статусом и отправляет их в канал; другой - читает из этого канала и делает непосредственно обработку (шлет хттп-запросы). необходимо, чтобы одновременно могло обрабатываться несколько тасков. эти методы запускаются в двух отдельных горутинах

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

вопрос: как правильно тестировать метод Process() или как можно его спроектировать, чтобы он был пригодным для тестирования?
Аноним 04/07/20 Суб 15:47:47 1741723110
>>1741692
семафор ты имхо заоверинжинерил - во-первых, для таких штук лучше использовать канал из struct{}, во-вторых, зачем он тебе? ты не контролируешь количество горутин, которые стартуешь?

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

и еще, в SendUnprocess сначала обновляй статус таски, потом пиши ее в канал, либо вообще унеси эту логику обновления в Process - не нужно лишний раз самому себе устривать shared-state
Аноним 04/07/20 Суб 15:50:18 1741725111
>>1741723
>>1741692

как это все поправишь, тест у тебя будет выглядеть типо:
ch := make(.., 1)
ch <- task{}
close(ch)
go Process(ch)
ret := <- ch
assert(expected, ret)
Аноним 04/07/20 Суб 16:04:32 1741738112
>>1741723

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

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

>унеси эту логику обновления в Process
допустим, я достал из бд небольшое количество записей для обработки, заслал их в канал и снова полез в бд за тасками - есть вероятность достать один и тот же таск повторно
Аноним 04/07/20 Суб 16:26:38 1741772113
>>1741312
> неосилятор
> я с ним работаю уже 3 года
Это ты дебс. Я отлично эту модель понимаю. Но когда тебе не хеллоуворлд писать нужно, а что-то серьезное - то у тебя выбор между тяжелоподдерживаемой хуйней нестабильной с каналами или говнокод с мьютексами.

Вы шизики тут наверное и дженерики не понимаете зачем в го будут полезны. Если вас лид не допускает к чему-то серьезнее перегона жсона туда сюда и поддержке микросервисов на 200 строк - не нужно проецировать свою тупость на других.
Аноним 04/07/20 Суб 16:35:42 1741792114
>>1741692
> sem
Для чего нужны строки 25 и 29? Это ты так ограничиваешь кол-во горутин? Хотел на этом моменте тебя долбаебом назвать, но не буду. Ты джун же?

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

Покажи клиентский код, который с этими методами работает.
Аноним 04/07/20 Суб 16:38:54 1741801115
>>1741738

...а голова нам нужна чтобы есть

на, держи, неуч https://go2goplay.golang.org/p/UmukeBHNN9o

почитай го-блог, там написано как нужно паралелить выполнение тасок
Аноним 04/07/20 Суб 16:46:05 1741824116
>>1741801
Так он аналог очереди непрерывной хочет организовать, или буферного выполнения горутин. В любом случае его подход попахивает говном.

У тебя же 100 тасок будут выполняться по очереди 10 раз конкурентно, т.к. в send у тебя простейший генератор, блокирующийся на каждой итерации цикла.
Аноним 04/07/20 Суб 16:46:18 1741827117
>>1741792
>>1741792
да, недоджун даже, только начал изучать го. в 25 строке кладем единицу (ну либо пустую структуру, как ты и писал ранее) в канал, чтобы при заполнении канала заблочиться на этом моменте и не создавать новые горутины до тех пор, пока другие, уже созданные горутины не прочитают из него (29 строка)

клиентский код простой, я действительно нигде не контролирую протечку:
taskChan := make(chan entity.Task)
go p.Process(taskChan)
go p.SendUnprocessed(taskChan)
Аноним 04/07/20 Суб 16:49:17 1741828118
>>1741824
>Так он аналог очереди непрерывной хочет организовать, или буферного выполнения горутин
да, так и есть. я просто, видимо, тащу подход из пхп, где очередь разгребается несколькими процессами

>В любом случае его подход попахивает говном.
спасибо за наводку)
Аноним 04/07/20 Суб 16:53:09 1741831119
>>1741824

ну так и чем концептуально этот генератор отличается от генератора тасок из бд?

> блокирующийся на каждой итерации
оно не так работает, перечитай

>>1741828
---> >>1741828 читай и думай (про шаред стейт тоже подумай)
Аноним 04/07/20 Суб 16:54:37 1741833120
>>1741827
> как ты и писал ранее
Не, с тобой щас 2 чувака общаются, я не писал, но структура памяти меньше сожрет, чем int, её или interface{} предпочтительнее юзать, когда тебе не важны данные, которые через канал проходят.

> taskChan := make(chan entity.Task)
> go p.Process(taskChan)
> go p.SendUnprocessed(taskChan)

Лол, ты их просто вкидываешь, ясн.

Тогда твое решение норм, имеет место быть. Оверинжинирить смысла нет особо.
Аноним 04/07/20 Суб 16:56:26 1741839121
>>1741831
> оно не так работает, перечитай
Так. 100 тасок на 10 горутин. Что не так?

> ну так и чем концептуально этот генератор отличается от генератора тасок из бд?
Тем, что у него может быть неопределеннок кол-во этих тасок, определяющихся набором данных из этой бд.
Аноним 04/07/20 Суб 16:58:22 1741843122
>>1741692
> вопрос: как правильно тестировать метод Process() или как можно его спроектировать, чтобы он был пригодным для тестирования?

Мокажешь свой чекер, и считаешь сколько раз он был вызван. sem лучше в атрибут твоего Processor засунуть, а не в общем скоупе хранить, соответственно sem в том же тесте и определяешь тестовый.
Аноним 04/07/20 Суб 17:01:31 1741851123
>>1741833
>>1741827
Единственное добавлю, что хуйней какой-то занимаешься, обновляешь какую-то таску после того, как уже отправил её в канал и т.д. Не понятна ответственность этих методов и логичнее свести их в один, и отправить туда либо канал тасок и заполнять их с клиентской части кода, либо сразу слайс. Опять же не до конца понятен контекст и че ты вообще делаешь с этими тасками, а это важно.
Аноним 04/07/20 Суб 17:03:35 1741853124
>>1741839
ты наверно тоже не очень долго пишешь на го?

давай попробуем с наводочкой, а что будет если в этом примере поменять 10 на 100-200-х, а 100 на неопределенное значение?
Аноним 04/07/20 Суб 17:04:58 1741855125
>>1741853
> ты наверно тоже не очень долго пишешь на го?
Нет, давно. Твой код делит 100 тасок на 10 горутин, которые по 10 тасок конкурентно выполняет из этих 100. Ты свой код сам не понимаешь чтоль?
Аноним 04/07/20 Суб 17:09:12 1741862126
А что если на каждую таску заводить по рутине? Один хрен там самое долгое это ожидание ответа, а не переключение контекстов
Аноним 04/07/20 Суб 17:16:54 1741870127
>>1741851
>хуйней какой-то занимаешься, обновляешь какую-то таску после того, как уже отправил её в канал и т.д.
я отправил ее в канал и сразу меняю ее статус и время последнего обновления в бд. вероятно, это имеет смысл в сам обработчик вынести

>логичнее свести их в один
так в моем случае SendUnprocessed() - это, по сути, и есть клиентская часть

>Опять же не до конца понятен контекст и че ты вообще делаешь с этими тасками, а это важно.
в бд лежат таски (+ добавляются новые по http), мне нужно каждый из тасков мониторить каждые 5 минут. для этого я запускаю горутину при запуске приложения, которая постоянно работает и достает из бд таски, которые надо обработать. таск содержит в себе url'ы, на которые надо постучаться по хттп и проверить ответ: если ошибка - кидаю уведомление в телегу/куда-то еще (в бд инфу об ошибке не храню, т.к на данный момент это не оч критично). желательно, чтобы была возможность проверять несколько тасков одновременно
Аноним 04/07/20 Суб 17:17:14 1741871128
>>1741862
Более полный код скинь - тогда можно обсуждать. Пока многие моменты не ясны, а именно что ты пытаешься по итогу сделать и как твои таски работают вообще.
Аноним 04/07/20 Суб 17:18:01 1741872129
>>1741871
это другой анон, не автор вопроса
Аноним 04/07/20 Суб 17:20:13 1741875130
>>1741871
Я другой анон.
У себя на галере я делал сервис отложенного выполнения заданий, очень похожих на то, что тут спрашивают. Я сделал по рутине на таску, зависимость есть, в прод уже пошло
Аноним 04/07/20 Суб 17:22:11 1741877131
>>1741870
>>1741862
> если на каждую таску заводить по рутине?
Да, можно, вместо того, чтобы в цикле пихать. Я это и имел в виду под сведением этого всего в один метод. Логически не понятно зачем тебе Process без SendUnprocessed. Похоже они друг без друга не живут в твоем приложении.

Аноним 04/07/20 Суб 17:24:20 1741882132
>>1741877
> вместо того, чтобы в цикле пихать
Ток важно проследить, чтобы одну и ту же не вытащить одновременно, race condition так сказать
Аноним 04/07/20 Суб 17:25:27 1741884133
>>1741882
Можно чанками по max 100-1000 записей вытаскивать, и их передавать уже на обработку и ждать завершения
Аноним 04/07/20 Суб 17:27:56 1741887134
>>1741877
а, теперь понял. действительно, не живут. но тут снова возникает вопрос: как тестить такой метод, если у меня будет крутиться бесконечный цикл запросов к БД?
Аноним 04/07/20 Суб 17:29:24 1741891135
>>1741884
>>1741882
>>1741877
В таком случае лучше будет waitgroup юзать, а не канал с буфером. Если ты из какого-нибудь rabbitMQ тянешь с поддержкой атомик операций, то можно и каналом с буфером ограничиться, тогда рейс кондишена не будет банально. Если из какого-то sql хранилища, то нужно чанками и с waitgroup, ибо синхронизовать этот зоопарк будет проблематично
Аноним 04/07/20 Суб 17:30:43 1741893136
>>1741887
Так бесконечный цикл должен быть не внутри твоего process метода, а там, откуда ты его вызываешь. Либо добавить поддержку Closer (в деталях например done канал), чтобы ты мог самолично закрыть, но лучше Process методу оставить задачу на обработку одного чанка данных.
Аноним 04/07/20 Суб 17:35:19 1741900137
>>1741891
> ибо синхронизовать этот зоопарк будет проблематично
Можно с помощью мьютексов, обернуть вызов и апдейт в лок и заебись, но это оверхед добавляет, зато бесперебойно можно дергать, тогда и с буферизированным каналом можно также юзать дальше.

Мимо другой анон
Аноним 04/07/20 Суб 19:43:30 1741997138
>>1741801
> почитай го-блог, там написано как нужно паралелить выполнение тасок
Есть ссылка? Не могу найти
Аноним 04/07/20 Суб 21:32:29 1742073139
>>1741691
Ты так говоришь, словно это что-то плохое. В расте аналогичный функционал вообще в stdlib. Я думаю это лучше, чем возвращать nil, err. Единственное, нужно продумать как элегантно добавлять в таком случае контекст (что-то аналогичное врапу одной ошибки в другую)
Аноним 04/07/20 Суб 21:35:29 1742076140
image.png (238Кб, 480x360)
480x360
>>1741691
Такие дженерики как в го2 и врагу не пожелаешь, блять
Аноним 04/07/20 Суб 21:51:35 1742083141
>>1742076
Что именно тебе не нравиться?
Аноним 04/07/20 Суб 22:17:26 1742099142
>>1742083
Ему лишь бы набросить. Нет дженериков - плохо, есть - уродливые, были бы красивые - он бы писал, что их спиздили из языкнейм. Просто токсичный человечек из интернета.
Аноним 04/07/20 Суб 22:37:09 1742111143
photo2020-07-03[...].jpg (121Кб, 1125x1077)
1125x1077
Аноним 04/07/20 Суб 22:43:25 1742113144
Есть здесь аноны, которые перекатились из C# в go? Интересует, как ощущения. Сильно ли не хватает дженериков и linq?
Аноним 04/07/20 Суб 23:07:31 1742128145
>>1742083
> нравиться
тся

> Что именно
Самая большая претензия - синтаксис типов. Я не про скобочки, а про капсуляцию которую они сделали. Т.е. они решили добавить новых фич в интерфейс, например списки типов, при этом нет оверлоада операторов. Получается в 50% случаев мы банально не сможем использовать например comparable, или еще что, т.к. это тупо не будет поддерживаться языком, и ты либо используешь один из базовых типов, либо сосешь хуй и опять же отказываешься от дженериков и пишешь все сам, как и до них.

Да еще десяток минимум претензий есть. Если они введут их в таком виде, в котором они сейчас в плейграунде второго го - то это просто фиаско, братан.

>>1742099
Нет, просто в отличии от тебя я пишу достаточно серьезный код, а не гонялово жсона в микросервисе на 100 строк.
Аноним 04/07/20 Суб 23:08:54 1742129146
>>1742113
> Интересует, как ощущения
Разные языки сильно, нет толку сравнивать.
Аноним 04/07/20 Суб 23:24:26 1742136147
>>1742129
Языки разные, но задачи-то одинаковые. В обоих случаях придётся микросервисы и круды писать
Аноним 04/07/20 Суб 23:29:43 1742138148
>>1742136
Не, в одном случае микросервисы, а в другом формошлёпство для десктопа.
Аноним 04/07/20 Суб 23:46:56 1742147149
>>1742138
По шарпу куда больше вакансий для веба. А любой нормальный разработчик под винду пишет на wpf/uwp. Винформы не в почёте уже лет 5
Аноним 05/07/20 Вск 00:01:05 1742151150
>>1742147
Формошлёпство на WPF.

QT
Аноним 05/07/20 Вск 00:24:24 1742156151
>>1742151
Там же не формошлёпство, а нормальная вёрстка уже
Аноним 05/07/20 Вск 01:54:14 1742194152
Аноним 05/07/20 Вск 13:19:30 1742418153
Аноним 05/07/20 Вск 14:15:51 1742476154
>>1742418
Глянул содержание. Не совсем понял для кого книга. Он впихнул в неё вообще все, го с нуля до профайлинга и тестирования и в конце две главы про сети.

Хз, не читал. Если знаешь го, то можно просто последние главы почитать, а если не знаешь - лучше другую книгу найти, а не та, что за 500 страниц тебе и конкуренси и сети и всю основу языка галопом пересказывает. По одному конкуренси можно такого же объема книгу написать.
Аноним 05/07/20 Вск 14:17:33 1742478155
>>1742476
>>1742418
Кста, про нейросети вообще нихуя в оглавлении нет.
Аноним 05/07/20 Вск 14:26:19 1742486156
>>1736180 (OP)
Какие либы мастхев го разрабу микросервисов? Понятно за gRPC, с ОРМ тож понятно (gorm), также понятно за всякие редисы и другие ки-валью хуйни.

А используете ли в работе что-то типа cobra (фреймворк для CLI), или веб фреймворки, как с логами дела, чем и куда хуярите? Было бы интересно послушать именно как обычно гоферы инфраструктуру микросервисов поддерживают и на чем обычно пишут.
Аноним 05/07/20 Вск 14:33:55 1742495157
>>1742476
>По одному конкуренси можно такого же объема книгу написать.
а что можно по конкуренси почитать, кроме go blog и effective go?
Аноним 05/07/20 Вск 14:59:14 1742514158
image.png (202Кб, 381x499)
381x499
>>1742495
Concurrency in Go - Katherine Cox-Buday

Мне эта зашла. Там еще и за паттерны рассказывается. Но тож понимай, что книжки это лишь часть, надо самому пытаться разобраться, в некоторых моментах в пикбуке достаточно поверхностно рассказываются более сложные вещи, типа sync.Pool и т.д., но это я считаю очень хорошо, ибо заставляет самому во время прочтения гуглить, изучать и эксперементировать.
Аноним 05/07/20 Вск 15:19:53 1742530159
>>1742486
Cobra CLI, zap (со своей надстройкой) для логов, gomock для генерации моков
Аноним 05/07/20 Вск 15:36:49 1742541160
>>1742530
> zap
Дока2 говно канеш. Их sugar/logger это concurrency safe логгер ведь?
Аноним 05/07/20 Вск 16:01:28 1742558161
>>1742541
Хз. У нас он завёрнут в самодельную обёртку, по ней дока есть, я пользуюсь ей
Аноним 05/07/20 Вск 16:06:50 1742562162
>>1742558
Я щас сижу читаю доку запа и ахуеваю с того, насколько там нихуя по факту не написано, вообще нихуя. Ясн. У запа документация одна из самых отвратных которые я вообще когда-либо читал. У меня аж жопа немного подгорела с ней. Сейчас попробовал узнать как можно хук свой накинуть или направить логи в самодельный writer - а нихуя. В доке есть один метод "Hook", регистрирующий обрезанную анонимку, у которой даже доступа к полям нет, под ним написано мол "для более сложной хуйни смотрите методнейм", а методнейма нет вообще во всей либе. Я чуть не поперхнулся, пиздос канеш. Как такое говнище вообще популярным стало в го среде? Я его даже в роадмапе видел.
Аноним 05/07/20 Вск 16:20:40 1742581163
>>1742486
>с ОРМ тож понятно (gorm)
Не все так однозначно
>>1742486
>за gRPC
Микросервисы не только на RPC пишут
Аноним 05/07/20 Вск 16:38:37 1742599164
>>1742562
У некоторых гугловых проектов ещё хуже. Там уже натурально берёшь имя пакета и ищешь другие проекты которые его используют чтобы понять что да как.
Аноним 05/07/20 Вск 16:58:02 1742631165
>>1742581
Спасибо за столь информативный ответ. Я в курсе.
Аноним 05/07/20 Вск 17:31:08 1742690166
А кто-то реально использует горм в 2020? А зачем?
Оно выглядит убого, сложное и тормозное. Или я слишком предвзят?
Я иногда xorm беру, но только для микропроектов... По работе только голый sql.
Аноним 05/07/20 Вск 18:03:44 1742713167
>>1742690
Ну я и спрашиваю. Хз кто использует. Прост он популярен у пендосов
Аноним 05/07/20 Вск 22:40:49 1742926168
go.jpg (33Кб, 445x316)
445x316
>>1736180 (OP)
Почему так?
fmt.Println(len(string)) показывает 8, но должен 4?
Потому что кириллицу автоматичсеки перекодирует?
Аноним 05/07/20 Вск 22:48:58 1742930169
>>1742926
Кириллица в utf-8 занимает 2 байта на символ. Когда ты len юзаешь - происходит конвертация строки в слайс байтов. Если нужно именно символы глянуть то юзай len([]rune("мама"))
Аноним 06/07/20 Пнд 21:23:33 1743426170
>>1742690
ДомКлик
Сбербанк для экспертов
ivi
WILDBERRIES
Точка
МойОфис
OZON.ru Информационные технологии
Авито
Ручной анализ хэха дал вот эти результаты
Аноним 06/07/20 Пнд 22:07:59 1743447171
Хочу написать программу на го, какие подводные камни?
Аноним 07/07/20 Втр 01:07:25 1743513172
Объясните, что это такое?
>_ sql.Scanner = (*Float64)(nil)
Явно что-то с интерфейсом, но не очень понятно зачем
Аноним 07/07/20 Втр 07:04:40 1743569173
>>1743513
Проверка, что скул.сканнер реализует интерфейс флоат64. Выполняется на компайлтайме
Аноним 07/07/20 Втр 07:26:53 1743572174
Аноним 07/07/20 Втр 09:58:11 1743599175
>>1743426
По запросу gorm там ровно одна вакансия. А ещё я работаю в одной из перечисленных тобой контор и точно знаю что там горма нет
Аноним 07/07/20 Втр 10:18:52 1743607176
>>1743599
много зарабатываешь? работа интересная?
Аноним 07/07/20 Втр 12:32:29 1743731177
>>1743569
А, это из-за того, что интерфейсы удовлетворяются неявно, люди пишут, чтобы убедиться?
Спасибо.
Аноним 07/07/20 Втр 12:52:11 1743762178
>>1743599
200к
Интересная потому, что я недавно вкатился в эту область. Думаю, что за пару лет заебёт.
Надо перекатываться в руководители
Аноним 07/07/20 Втр 12:52:30 1743763179
Аноним 07/07/20 Втр 13:20:14 1743816180
Аноним 07/07/20 Втр 13:29:15 1743828181
>>1743762

Нахуй, заебет ещё быстрее.
Аноним 07/07/20 Втр 14:30:17 1743935182
>>1743762
Что за область, если не секрет?
Аноним 08/07/20 Срд 00:22:33 1744490183
>>1743935
Ну а какая может быть область, если это тред про го? Микросервисные бекенды, разумеется.
Аноним 08/07/20 Срд 00:44:24 1744504184
>>1744490
Бизнес область. Понятно, что микросервисы. Про что они?
Аноним 08/07/20 Срд 01:02:03 1744511185
>>1744504
В бизнес области нет какой-то специфики, которую любой программачер не освоил бы за пару дней (читай не финтех)
Аноним 08/07/20 Срд 06:05:03 1744578186
>>1743762
А из какой области пришёл?

Кто-нибудь переходил из фронтенда в го? Или хотя бы из бекенда на ноде? Может какие-то советы по обходу подводных камней есть? Прошел тур оф го, читаю книгу диджитал оушена по го, но возможно каким-то другим методом лучше изучать го и всё с ним близко связанное? Может другая книга?
Аноним 08/07/20 Срд 10:08:50 1744726187
>>1744511
На митингах так же отвечаешь?
Аноним 08/07/20 Срд 10:19:35 1744740188

>>1744578
Из эмбеда
>>1744726
У тебя какие-то проблемы с консистентностью беседы. На что отвечаю? Как "так же"?
Аноним 08/07/20 Срд 11:57:47 1744850189
>>1744578

После тура надо пилить приложения. Все.
Аноним 08/07/20 Срд 12:36:37 1744892190
>>1744850
Что-то идей особо нету, либо слишком сложные
Аноним 08/07/20 Срд 12:53:51 1744901191
>>1744726
В Россиии запрещены митинги.
Аноним 08/07/20 Срд 18:58:34 1745286192
>>1740783
>>1741117

>который позже после ишьюса был записан в доке, как "фича"
Все ясно, беспруфный вскукорек хейтера
Аноним 08/07/20 Срд 20:15:39 1745322193
>>1744892

headless CRM для бложика - элементарно, но полезно.
Следом тоже самое, но на микросервисов.
Готово, ты гошник.
Аноним 08/07/20 Срд 20:59:50 1745342194
>>1745322
Звучит норм, надо попробовать
Аноним 08/07/20 Срд 21:02:20 1745343195
>>1745322

CMS, не CRM. Задумался, что-то
Аноним 08/07/20 Срд 22:55:04 1745444196
В целом, будем откровенны, в большинстве языков дженерики нужны в основном для коллекций.
Аноним 08/07/20 Срд 23:34:58 1745489197
image.png (713Кб, 1306x1009)
1306x1009
>>1736180 (OP)
Пацаны, смотрите. Я нам тернарный оператор подвез:

(map[bool]int{true: a, false: a - 1})[a > b]
Аноним 08/07/20 Срд 23:51:48 1745496198
image.png (555Кб, 790x593)
790x593
Аноним 09/07/20 Чтв 00:25:21 1745520199
image.png (20Кб, 389x429)
389x429
>>1736180 (OP)
Кто-нибудь юзал CGO? Есть хоть одна IDE где есть подсветка хотя-бы базовая? Или как в 78м на ощупь придется ориентироваться? Пиздец боль.
Аноним 09/07/20 Чтв 09:25:01 1745643200
>>1745520
goland? никогда с ним в этом смысле проблем не испытывал
Аноним 09/07/20 Чтв 09:56:19 1745666201
>>1745444
А также для дохуищи функций, которые эти коллекции используют, например, сортировки вместо того пиздеца, который в пакете sort.
Аноним 09/07/20 Чтв 12:47:01 1745774202
>>1745643
Голэнд не подсвечивает cgo никак, будто её нет и будто ты к пустоте обращаешься.
Аноним 09/07/20 Чтв 12:49:04 1745776203
>>1745444
Если переписать весь stdlib голэнга с дженериками - он в 2 раза меньше будет, если не больше. И речь вообще не о коллекциях. Речь о некой абстракции над типом, которая сохраняет требуемые параметры. Это как интерфейс, но композитный и для встроенных типов.
Аноним 09/07/20 Чтв 12:54:25 1745783204
Женерики не нужны.
Не использовал и использовать не буду.
Аноним 09/07/20 Чтв 13:22:49 1745813205
>>1745783
Циклы не нужны, не использовал и использовать не буду. Те, кому не хватает замыкания итератора - не программисты, а диллетанты.

Согласен с тобой, братка.
Аноним 09/07/20 Чтв 13:57:22 1745851206
>>1745813

MAP-REDUCE, MAP-REDUCE, СУКА!!!1111 ТОЛЬКО HIGHER-ORDER FUNCTION, ТОЛЬКО ХАРДКОР, ИЛИ ТЫ ИЗ ЭТИХ, GOTO-ПИДОРОВ???!!!
Аноним 09/07/20 Чтв 13:59:09 1745854207
>>1745783
То ли дело interface{}, рефлексия и кодогенерация.
Аноним 09/07/20 Чтв 14:10:40 1745867208
Раз собираются запилить дженерики, то может и аннотации когда-нибудь запилят.
Аноним 09/07/20 Чтв 14:16:04 1745874209
>>1745867

не подсказывай им, пожалуйста
Аноним 09/07/20 Чтв 14:36:50 1745888210
>>1745851
Нахуй иди питух. Пишу циклы с помощью рекурсии с 1980 года.
Аноним 09/07/20 Чтв 14:37:11 1745890211
>>1745867
Зачем? Аннотации это уже совсем зашкварище.
Аноним 09/07/20 Чтв 14:40:56 1745897212
Малолетние сруны баззвордами в которые не могут убивают очередной тред
Аноним 09/07/20 Чтв 14:42:32 1745901213
>>1745897
Если ты этих слов не понимаешь - не значит, что их не понимают другие.
Аноним 09/07/20 Чтв 14:52:43 1745922214
>>1745888

Так в говне даже оптимизации хвостовой рекурсии нет.
Аноним 09/07/20 Чтв 14:58:30 1745930215
А можете рассказать о gccgo?
Есть CPU-intensive задачка. Go справляется неплохо, но хочется быстрее.
Начал гуглить. Готовых бинарников нет. Чо только вручную собирать?
Оно только компилит в бинарник? Нельзя бенчмарки позапускать и сравнить со стандартным го?
Аноним 09/07/20 Чтв 15:02:22 1745938216
Аноним 09/07/20 Чтв 15:04:36 1745943217
>>1745938

Лишних оптимазаций не бывает.
Аноним 09/07/20 Чтв 15:13:44 1745956218
>>1745943

ты не очень умный, да?
Аноним 09/07/20 Чтв 15:25:57 1745974219
>>1745956

Рекурсивные решения для ряда задач выглядят намного элегантнее, чем итеративные, но вторые всегда производительнее.
Если бы го умел оптимизировать хвостовую рекурсию - было бы здорово.
Что плохого в том, что ряд задач станет легче решать?
Аноним 09/07/20 Чтв 15:32:21 1745979220
>>1745974

> было бы здорово

Сильный аргумент.

Подумай теперь над тем, что такая оптимизация стоит ресурсов на имплементацию и последующую поддержку, стоят ли эти ресурсы твоего "здорово" для 2.5 задач, чтобы написать их медленнее, но "изящнее"?
Аноним 09/07/20 Чтв 15:38:34 1745986221
>>1745979
>Отвечать пердежу в лужу
Аноним 09/07/20 Чтв 15:41:05 1745990222
>>1745897
Серверлесс саас васм на го с фаербейз.
Аноним 09/07/20 Чтв 15:46:22 1745998223
>>1745979

Пусть сначала генерики закончат, а там можно будет потихоньку, лет за десять, добавить паттерн матчинг и оптимизацию рекурсии.
Аноним 09/07/20 Чтв 15:51:08 1746007224
>>1745986

для разнообразия,

> отвечать не чтобы потроллить, а чтобы объяснить
Аноним 09/07/20 Чтв 17:55:25 1746148225
>>1745998
>паттерн матчинг
Новатор-оптимизатор уровня пр
Аноним 09/07/20 Чтв 17:56:08 1746149226
>>1745974
Рекурсивные решения во всех, кроме нескольких специфичных случаях - намного сложнее для чтения и их рекумендуется избегать максимально в любом языке программирования.
Аноним 09/07/20 Чтв 19:16:27 1746253227
>>1746149

Бля, собрались те, кто рекурсию освоить даже не могут. Сложно им.
Аноним 09/07/20 Чтв 20:25:09 1746301228
>>1746253

сложно Машку за ляжку, а тут берешь и просто делаешь
Аноним 09/07/20 Чтв 21:22:34 1746348229
>>1746253
Ты так-то находишься в треде по обсуждению языка, автор которого считает дженерики, отладчик, тернарный оператор, дефолтные параметры функций, лямбды и пр. сложными концепциями. О какой рекурсии ты вообще говоришь? Удивлён, что в го вообще есть рекурсия
Аноним 09/07/20 Чтв 21:25:23 1746349230
>>1746348
Рекурсия хоть поддерживается нативно архитектурой, при реализации вообще ничего делать не надо.
Аноним 09/07/20 Чтв 21:33:58 1746355231
>>1746348
>сложными концепциями.
Ненужным говном
Аноним 09/07/20 Чтв 21:38:05 1746359232
Аноним 09/07/20 Чтв 22:48:44 1746425233
>>1746355
Конечно. Давайте писать целый цикл вместо:
array.FirstOrDefault(p => p.Id == 2)

Для тебя, наверное, вся теория категорий и ФП - ненужное говно
Аноним 09/07/20 Чтв 22:58:53 1746435234
>>1746348
> лямбды
func foo(f func(int, int) int) int {
return f(2, 2);
}
foo(func(a int, b int) int {return 2 + 2}))

Конечно, это не однострочные лямбды.
Аноним 09/07/20 Чтв 23:17:28 1746444235
>>1746253
Почему ты решил что я её освоить не могу, лол? Я говорю, что её безалаберное использование направо и налево чисто чтобы было - это говнокод, который только тешит чсв создателя, при этом тому, кто его читает уже придется вчитываться в то, как этот долбаеб контролит скоуп и что в коде происходит, не важно на каком языке.

Если ты в командах никогда не писал - это твоя проблема, лол. И да, я на литкоде спокойно делаю хард задачки, так что уж меня не нужно в незнании рекурсии обвинять, овощ.
Аноним 10/07/20 Птн 00:35:06 1746496236
>>1746425
Ты не понимаешь о чём пишешь
Аноним 10/07/20 Птн 02:10:16 1746527237
1
Аноним 10/07/20 Птн 02:45:43 1746536238
image.png (29Кб, 576x474)
576x474
Тащемта прекрасный язык, ваще без б
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов