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

Ответить в тред Ответить в тред
Check this out!
Тред про лучший в мире язык GO №12 /go/ Аноним 07/07/20 Втр 14:57:28 17439551
image.png 6Кб, 240x210
240x210
image.png 1857Кб, 1200x1200
1200x1200
image.png 327Кб, 599x443
599x443
Тред про лучший в мире язык GO №12 /go/
GO (а также Golang, Пщ или просто Го) — язык с зелеными потоками на уровне синтаксиса и приемлимой стандартной библиотекой. Так как делать пакеджи не очень сложно, гитхаб полон пакеджами для абсолютно всего и разного качества.


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

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


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

Прошлый тред успешно утонул в колее времени
08/07/20 Срд 00:21:30 17444882
Screenshot from[...].png 257Кб, 1075x595
1075x595
наркоман ебучий
Аноним 08/07/20 Срд 01:14:17 17445193
>>1744488
У меня 11й тред почему-то здох нахуй и 404 возвращал. Шо поделать. Забей хуй, пусть утонет этот
Аноним 08/07/20 Срд 01:16:00 17445214
>>1743955 (OP)
Если смысл теперь в го, когда есть велеколепный раст?
Аноним 08/07/20 Срд 01:23:48 17445325
>>1744521
Зачем они оба, когда есть современный C++?
Аноним 08/07/20 Срд 02:14:19 17445426
>>1744532
>современный C++
Скажи в С++ до сих пор надо заголовочный файл создавать и в нем прототипы писать?
Аноним 08/07/20 Срд 02:37:01 17445487
>>1744542
В C++20 завезли модули, в популярных компиляторах уже реализовано.
А чем тебе хедеры не угодили? Разделение интерфейса и реализации практикуется много где.
Аноним 08/07/20 Срд 02:38:56 17445498

>>1744521
По расту вакансий раз в 10 меньше, да и язык сам по себе всратый. Го поприятнее будет.


>>1744532
Отчасти двощую, как минимум плюсы лучше раста. С го думаю сравнивать не совсем корректно, немного разные области применения.
Аноним 08/07/20 Срд 05:23:28 17445689
>>1744542
но ведь прототипы документируют код лучше документации (которую никто не пишет)

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

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

Да, конечно есть всякое говно типа интерфейсов (но весь же код ими не обмажешь), диаграммы классов (а это лишние телодвижения), сворачивания блоков (которые еще надо свернуть).. Но это все не то
Аноним 08/07/20 Срд 09:16:28 174469210
>>1744568
>Вот в других языках такого дико не хватает. Там все вечно в говне, в одну кучу свалено, задалбливаешься листать тела каждого метода

> сворачивания блоков (которые еще надо свернуть)
Любое IDE позволяет свернуть/развернуть всю реализацию одним сочетанием клавиш.

>типа интерфейсов (но весь же код ими не обмажешь)
Так на интерфейсах всё и пишется. Правда их обычно в отдельный файл всё равно не выносят.
Аноним 08/07/20 Срд 10:26:01 174474711
photo2020-07-08[...].jpg 101Кб, 1196x1112
1196x1112
Goвно. Goвно никогда не меняется.
Аноним 08/07/20 Срд 14:33:02 174499412
Аноним 08/07/20 Срд 14:43:15 174500813
>>1744548
>>1744568
В том и дело что пишут все на интерфейсах, как и сказали код сворачивается легко, но на самом деле в любой IDE есть навигатор, где все удобнее.

И да, документацию все равно надо писать, хедеры придумали не для документации, такой идиотский дизайн линковки там.
Аноним 08/07/20 Срд 14:56:02 174502214
Я думаю, если решил вкатиться в 2020 на уровень С++, реально раст будет круче. Но если ты уже знаешь С++ то, конечно, нефиг вылизать из своего опыта.

Про го вообще можно не говорить, какое-то недоразумение.
Аноним 08/07/20 Срд 15:07:31 174503715
>>1745022
Кресты лучше раста хотя бы тем, что у них более развитая инфраструктура. Это если говорить не о недостатках самих языков как таковых, а о реальной разработке.
Аноним 08/07/20 Срд 15:28:41 174507116
>>1745037
Нашел чем мериться, сколько С++ существует, сколько раст, да еще в период перенасыщенности ЯП.

Дай такое же комьюнити расту, будет еще больше кода.
Аноним 08/07/20 Срд 15:34:54 174508317
>>1745071
Это, имхо, более объективная мера, чем сравнение сомнительных преимуществ самих языков. Каким бы хорошим язык ни был, без либ толку от него мало.
Аноним 08/07/20 Срд 15:40:57 174509118
>>1745083
Ну мы же живем в реальном мире. Нет такой физической возможности чтобы появился язык сразу со всем необходимым. Это даже глупо такое предъявлять конечно кроме прокси языков типа тайпскрипт, котлин, с++ совместимого в свое время с сями
Аноним 08/07/20 Срд 21:37:51 174536519
>>1745022
Сравниваешь тёплое с мягким
Каким бы говном говно ни было внутри самого себя, как язык это всё еще компилируемость + гц + пакет менежер + отличный конкуррент
Аноним 08/07/20 Срд 22:29:55 174540520
15336363098303.mp4 634Кб, 1280x720, 00:00:04
1280x720
Сап програмач. Я в го недавно, подскажите пожалуйста как лучше в го валидировать входящие json данные. Я посмотрел пакеты, которые доступны, самый популярный пакет, который я нашел - https://github.com/go-playground/validator он валидирует структуры , jsonschem'ы как я увидел не пользуются популярностью. В nodejs божественным @hapi/joi пользовался
Аноним 09/07/20 Чтв 05:35:31 174561121
>>1744692
>Любое IDE позволяет свернуть/развернуть всю реализацию одним сочетанием клавиш.
Код смотрится не только в IDE, например код смотрится в браузере на том же гитхабе.
Я хочу открыть файл и сразу увидеть интерфейс, а не нажимать кнопочки (которые я не помню)

>>1744692
>Так на интерфейсах всё и пишется
Заебешься все обмазывать интерфейсами, особенно там где оно не надо и никакого наследования в принципе быть не может и не должно.
Аноним 09/07/20 Чтв 05:38:36 174561222
>>1745008
>В том и дело что пишут все на интерфейсах, как и сказали код сворачивается легко, но на самом деле в любой IDE есть навигатор, где все удобнее.
это лишние телодвижения.

>>1745008
>хедеры придумали не для документации
но юзают их для отделения определение от объявления. Поэтому программисты в сях придумали новый тип файла - .inc - когда определение не получается засунуть в c/cpp(особенно для шаблонов)
Аноним 09/07/20 Чтв 13:37:03 174583023
>>1745612
>это лишние телодвижения.
А переключаться между заголовками и имплантацией - это не лишнее телодвижение?
Аноним 09/07/20 Чтв 23:28:28 174645324
Как кодить на го и не стать пидором? Я серьезно сейчас.
Аноним 10/07/20 Птн 00:18:01 174648925
>>1746453
Не надо его в попку совать, противный :)
Аноним 10/07/20 Птн 01:54:08 174652426
>>1745830
>А переключаться между заголовками и имплантацией - это не лишнее телодвижение?
А между классом и его интерфейсом?

Заголовок пишется один раз и надолго
Аноним 10/07/20 Птн 08:37:47 174657627
Аноним 10/07/20 Птн 08:43:13 174657728
>>1746576
Хорошего яп должно быть много.
Аноним 10/07/20 Птн 13:32:08 174681729
>>1746576
Один для тех кто использует interface{}, другой для тех кто использует кодогенерацию.
Аноним 10/07/20 Птн 15:36:03 174701630
>>1746817
И в обоих в основном постят те, у кого в языках есть дженерики или динамическая типизация.
Аноним 10/07/20 Птн 16:54:42 174713531
>>1747016
Чисто потыкать палкой, на этом всегда и жили треды по го.
Аноним 11/07/20 Суб 00:39:30 174759732
Почему в язык не зашили такие базовые вещи, как pop/insert для срезов? Каждый раз писать append(list[:1], list[2:]...) малец хуево.
Аноним 11/07/20 Суб 00:51:27 174761533
>>1747597
append и delete - магические функции, нельзя написать их аналоги средствами самого го, с попами и инсертами наверное решили эту магию дальше не плодить.
Аноним 11/07/20 Суб 01:16:16 174764134
>>1747615
И еще вопросик. По ссылке передавая слайс и изменяя его будет примерно так
append((list)[:1], (list)[2:]...)
Не упрощается? Т.е. пробегал глазами по го туру и вроде было, что (*list) можно на просто list заменить, но ошибка
Аноним 11/07/20 Суб 01:16:41 174764235
>>1747641
Там звездочка перед list
Аноним 11/07/20 Суб 11:13:17 174780036
image.png 39Кб, 676x323
676x323
Аноны, мне нужно создать windows service моего говнокода на golang, поискав, я увидел что все кончают от этой репы:
https://github.com/kardianos/service

Но я нихуя не вижу как именно нужно устанавливать go бинарь, через sc.exe?

Аноним 11/07/20 Суб 12:33:38 174787937
image.png 25Кб, 739x431
739x431
Зачем нужны функции возвращающие функции?
Это все только для того чтобы переменную засейвить между вызовами?
Почему просто не сделать статическую переменную?
Аноним 11/07/20 Суб 12:58:12 174792138
>>1747879
>просто не сделать статическую переменную
Код модуля засрется.
Аноним 11/07/20 Суб 13:38:58 174797839
>>1747879
> Зачем нужны функции возвращающие функции
Чтобы вернуть функцию из функции, дебил.
Аноним 11/07/20 Суб 15:52:40 174811940
>>1747921
> Код модуля засрется.
Ага, поэтому лучше сделать глобальную переменную.
Аноним 11/07/20 Суб 16:58:47 174824941
Насколько же в говне охуенный конкурент пиздец просто
Как будто пишу на скресте самого лучшего из жса с хаскелем
Аноним 12/07/20 Вск 14:23:59 174911342
Поясните за стек технологий, я за пару месяцев освоил гошечку до уровня "переписал всю фласкоалхемопарашу", ноль фреймворков, горутинами жонглирую, ну думаю, всё, я у мамы микропинусный специалист, пошёл смотреть вакансии и охерел, в каждой требуется знать по три сервиса для логов, по три сервиса для мониторинга, по три брокера сообщений, по три носкл-базы, причём в каждой вакансии новый набор, и каждая первая требует десятилетнего синьорства, как вообще в эту область вкатываться?
Аноним 12/07/20 Вск 15:39:22 174926743
>>1749113
Выслеживаешь го-сеньора, убиваешь его, переодеваешься в его одежду, ходишь вместо него на работу.
Аноним 12/07/20 Вск 18:54:55 174952944
Аноним 13/07/20 Пнд 12:43:56 175008745
>>1749113
На самом деле там не требуется по три всего и ты можешь спокойно идти на собеседование. Подобные требования сделаны для отсеивания совсем долбаебов (видимо ты входишь в их число, раз тебя это тормознуло).

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

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

В голэнге намного сложнее джуна брать, ибо его обучать придется год. А, напирмер, пхп или питониста можно за пару месяцев подготовить, соответственно и требования почти нулевые (опять же не нужно смотреть что в резюме требуют тысячу технологий).
Аноним 13/07/20 Пнд 13:55:32 175014646
>>1747879

> Зачем нужны функции возвращающие функции?

Потому что добавь в функцию, возвращающую функцию, два-три параметра и представь себе комбинаторный взрыв если у тебя вместо генератора придется писать функцию на каждую комбинацию этих параметров.
Аноним 17/07/20 Птн 00:38:04 175340147
Screenshot20200[...].jpeg 132Кб, 717x1043
717x1043
Screenshot20200[...].jpeg 51Кб, 586x299
586x299
Суп гач. Дочитываю "Язык программирования Го". Встретился на охуенную функцию, которой мне дико не хватает после возможностей питона залезть своими руками в любой класс, даже в "__приватные" поля.

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

Функция выводит все содержимое любого типа любой вложенности даже приватных полей (пиркил 2).

Спасибо
Аноним 17/07/20 Птн 10:24:18 175360048
>>1750087
Почему такая разница между вкатом в питон и го? Или он уже не такой простой?
Аноним 17/07/20 Птн 10:59:28 175361449
Аноним 17/07/20 Птн 16:50:10 175397750
>>1753600
Не помню, чтобы кто-то говорил про простоту вката в го. Речь обычно идет про простоту самого языка для того, чтобы начать на нем писать что-то внятное - это все еще правда.
Аноним 17/07/20 Птн 20:31:46 175413351
>>1753614
Ну через рефлексию в любом случае устанавливать эти значения нельзя, но для понимания общей картины, контекста происходящего, особенно если код не библиотечный, почему бы и не посмотреть. Как минимум дебаггер такую возможность предоставляет.

Просто думал может есть какие-нибудь удобные готовые инструменты.
Аноним 19/07/20 Вск 07:31:54 175523452
Привет, где можно посмотреть/почтитать как поэтапно пишут 4/10 сложности веб-приложение в актуальном виде? Можно на английском.
Аноним 19/07/20 Вск 07:45:01 175523953
>>1755234
Можно и сложнее, но шоб разжевали.
Мне надо откуда-то брать пркладную инфу, и потихоньку ее тащить в свою задумку.
Аноним 19/07/20 Вск 13:55:09 175534254
>>1755234

можешь на ютубе глянуть gopher school - там чел пишет простую веб-прилу. я с некоторыми вещами не очень согласен (например, работа с бд), но объясняется там неплохо + чел сразу тесты пишет
Аноним 19/07/20 Вск 17:03:59 175542655
>>1755234
Какие веб-приложения могут быть?
Рестик, докфайл и в продакшон
>>1755342
>некоторыми вещами не очень согласен (например, работа с бд),
Работает следовательно правильно!
Аноним 22/07/20 Срд 20:41:06 175796856
Аноним 24/07/20 Птн 16:19:23 175928457
>>1749529
elixir те ещё аутисты. никто за него крупная компания не стоит, соответственно пустая трата времени. ты либо тролишь или отсеиваешь конкурентов.
Аноним 26/07/20 Вск 17:49:02 176089058
>>1743955 (OP)
Сап, ребята. Помогите определиться плиз. Я сейчас пишу на питоне веб приложения типичные, стек django. Есть вариант вкатиться в fastapi/sqlalchemy и т.п., либо вкатиться в го. Как думаете, лучше потратить сейчас время на полное изучение одного языка с его либами, всей, так скажем, "экосистемой", или сейчас параллельно учить го? Потому что складывается ощущение, что писать бэк на питоне несерьезно что-ли...
Аноним 26/07/20 Вск 20:57:50 176100559
>>1760890
Я тебе так скажу. Тебе нужно определится по поводу языка. Выбрав другой язык, твои программы не станут лучше, ценного опыта не наберешь, и денег не заработаешь. Коль выбрал питон, и полностью его освоил дойдя до fasapi (ведь так? Или ты просто бэнчмарков наелся и реши что просто так начнешь API на нем клепать ?), означает что можешь работать. Как будет опыт мидла, сможешь трезво оценить ситуацию и если понадобится перейти на другой язык. Так что мой тебе совет, не мотайся от языка к языку, освой достаточно один, а там двигайся в любую сторону.
Аноним 26/07/20 Вск 21:47:58 176103060
>>1761005
Я в принципе эти и слова хотел услышать. Большое спасибо, что написал.
Аноним 26/07/20 Вск 22:36:53 176107361
>>1744747
Надеюсь, что хотя бы в одном варианте будет паника.
Аноним 28/07/20 Втр 23:47:51 176270762
Анон, что за прекол? В этом репе реализовано так мало паттернов, откуда у него 13к звезд? https://github.com/tmrts/go-patterns
Аноним 31/07/20 Птн 06:25:11 176471963
>>1761030
Тебе вообще ничего не нужно. Лучше по мусорным бакам ходи.
Аноним 02/08/20 Вск 15:33:46 176627864
Здравствуйте любители го. Вопрос такой. Играюсь с горутинами и возникло некоторое недопонимание...
Есть функция, отправка Post запроса на сайт (Больше ничего). Если я делаю цикл в мейн функции с запуском 100 горутин, то fmt.Println(runtime.NumGoroutine()) показывает, что горутин многократно больше. Если эту функцию заменить на обычный вывод текста, то все нормально, горутин столько же, сколько запускается. Кто нибудь подскажет почему так? Больше спасибо
Аноним 03/08/20 Пнд 02:37:11 176678365
>>1766278
Можно предположить, что функция, которой ты делаешь POST, под капотом создаёт другие горутины.
Аноним 03/08/20 Пнд 03:08:23 176679166
>>1746489
А что, на языке без трайкэтч можно писать как то иначе?
Аноним 03/08/20 Пнд 09:11:10 176686367
>>1766791
нахуя тебе трайкэтч?
Аноним 03/08/20 Пнд 09:57:09 176690368
>>1766783
Да, есть такой момент. На некоторые сайты горутин столько же сколько ожидается, а если гугл пинговать - многократно больше (И с некоторыми сайтами тоже)
Аноним 04/08/20 Втр 14:45:18 176821969
как dep на винду установить? чет не выходит, дока не помогает
Аноним 04/08/20 Втр 15:06:13 176823170
Аноним 04/08/20 Втр 15:17:38 176824371
04/08/20 Втр 18:36:47 176844772
Какие сейчас требования на миддла по Go? Что спрашивают?
Аноним 05/08/20 Срд 04:24:12 176864173
Почему код с каналами и многопоточностью работает медленнее, чем однопоточный код?
Аноним 05/08/20 Срд 10:11:35 176871074
>>1768641
Из-за каналов и многопоточности.
Аноним 05/08/20 Срд 10:34:27 176871875
Аноним 07/08/20 Птн 14:23:20 177090976
Где взять упражнения для Донована
Аноним 10/08/20 Пнд 08:12:25 177311877
>>1743955 (OP)
А почему лучший в мире? Для жнетрпрайзм все еще Ява и С++, для ндроеда Котлин, для айОС свифт.
Аноним 10/08/20 Пнд 09:25:28 177313578
>>1773118
>Для жнетрпрайзм все еще Ява
Go заменяет ноду и джаву в некоторых местах.
Аноним 10/08/20 Пнд 09:42:45 177313979
>>1773135
А в некоторых не знаменит.
Аноним 10/08/20 Пнд 10:10:36 177315380
>>1773135
Не вижу Го в ентерпрайзе.
Аноним 10/08/20 Пнд 14:38:11 177333681
>>1773153
А я не вижу плюсов в энтерпрайзе. Ты сейчас в 1995-м?
Го — это суслик, он есть, но ты его не видишь.
Аноним 10/08/20 Пнд 14:41:52 177333882
Аноним 11/08/20 Втр 15:40:59 177433283
Аноним 11/08/20 Втр 15:47:48 177434784
if err != nil {
return nil, err
}
if err != nil {
return nil, err
}
if err != nil {
return nil, err
}
Аноним 11/08/20 Втр 17:06:37 177448185
image.png 8Кб, 411x204
411x204
Сап, двач. Как в Golang подключить файл login.txt из папки src к файлу login.go в папке tests? Всё работает отлично, если оба файла находятся в одной папке, но их будет дохуя, и нужно как-то разделить.
Аноним 11/08/20 Втр 17:31:41 177449886
>>1774347
Выглядит как рапчик.
Аноним 12/08/20 Срд 19:31:11 177543487
>>1774481

Узнал. Спасибо, двач.
Аноним 13/08/20 Чтв 18:31:53 177641588
Эй, гофры, а ну-ка придумайте мне идею для проекта, чтоб пофлексить перед работодателями
Аноним 13/08/20 Чтв 19:18:17 177645089
Хочу написать программу сталкинга за Инстой ЕОТ 24/7, чтобы разв минуту рефрешилсоь и сохраняло на диск ей офлайн/онлайн статус в тектсовый файл, а так же скачивал новые фото и сториз в минуту их постинга

С ЧЕГО НАЧАТЬ? Краткий курс го прошёл
Аноним 13/08/20 Чтв 19:22:03 177645290
>>1776450
С изучения APi инсты.
Аноним 13/08/20 Чтв 21:56:11 177657191
Аноним 14/08/20 Птн 09:42:29 177684692
По туториалу http://www.golang-book.com/guides/machine_setup#windows-finished пытаюсь запустить Тетрис через Git Bash, но он не запускается и вот что пишется:
goroutine 1 [running]:
main.main()
C:/Users/User-1/src/github.com/k0kubun/tetris/tetris.go:124 +0x179

Аноним 14/08/20 Птн 13:56:24 177715993
>>1776846
Переустанови виндовс
Аноним 14/08/20 Птн 15:04:27 177726994
Аноним 16/08/20 Вск 21:32:06 177898995
>>1743955 (OP)

> 3 пик

Кодогенерация для слабаков...
Аноним 16/08/20 Вск 23:55:25 177907496
>>1778989
>Кодогенерация
Антипаттерн
Аноним 16/08/20 Вск 23:58:56 177907697
Антипаттерн-тред.
Аноним 20/08/20 Чтв 00:03:40 178223198
Реально ли найти работу на джуна гошечки без коммерческого опыта, но с доморощенным бэкграундом других языков?
Аноним 20/08/20 Чтв 01:02:07 178224499
1
Аноним 20/08/20 Чтв 03:32:57 1782272100
>>1782231
Реально, я вообще на мидла перекатился из nodejs
Аноним 20/08/20 Чтв 11:31:02 1782500101
>>1782272
Но ты описываешь свой опыт, который не похож на мою ситуацию. Как можно с недоджуна перекатиться на миддла?
Стоит ли тогда сначала на поработать на стэке с большим числом вакансий, чтобы получить хоть какой-то опыт, а потом пойти в голанг? Или сразу учить его и долго ходить собеситься?
У меня в основном все айти - это хобби энтузиазм и ковыряние своих "пет проектов" дома, официально работать прогером не приходилось.
Аноним 21/08/20 Птн 06:55:51 1783520102
>>1782500
>официально работать прогером не приходилось
Ну тогда учи го и вкатывайся в стажёры или джуны, вон в вайдбнрис и вроде ламоде берут, в авито, в озоне тоже (но хз насчёт джунов в озоне)
Аноним 21/08/20 Птн 16:54:57 1784218103
pojo
Аноним 22/08/20 Суб 08:05:32 1784655104
>>1782500
На го нет джунских вак. Бери нормальный устоявшийся язык - жабу или шарпы. 2 года с ними поработай, стань милом и двигай в свое го, если оно к тому времени не скурвится, как в свое время RoR.
Аноним 22/08/20 Суб 20:15:38 1785054105
Привет, пишу апи на го.
Как сделать кастомный тип ID,чтобы без большого труда можно было бы его заменить с int64 на string?

Сделала type ID int64, было бы отличненько, если бы не необходимость сканировать из постгреса массив. А его нужно оборачивать в pq.Array, который не может тип []ID кастануть к []int64.

Ну, функцию pq.Array можно переписать и расширить, но я все равно не особо представляю как []ID приводить к []int64 =(
Аноним 22/08/20 Суб 20:23:23 1785058106
>>1785054
Еще вариант придумала, звучит как плохая идея, но все равно поделюсь

сделать type ID int64 и type IDs []int64 с пометочкой в комментариях "МЕНЯТЬ ВМЕСТЕ!11!!!1!"
Аноним 22/08/20 Суб 20:32:11 1785061107
Аноним 23/08/20 Вск 00:38:10 1785176108
>>1779074
Вот мой тимфюрер тоже так думает, по этому я, вместо того, чтобы генерить сервер и клиент из OpenApi спецификации - копипащу структуры между 6 микросервисами и обмазываю это болейрплейтом в рукопашную.
Аноним 23/08/20 Вск 00:44:48 1785186109
>>1785061
Если ты знаешь финальный размер слайса - эфективнее будет сразу алоцировать слайс нужной длины (или вместимости, если удобее через аппенд)
https://play.golang.org/p/EuSozdMlme0
Аноним 23/08/20 Вск 00:59:18 1785196110
>>1785058
Ты можешь еще сделать
type ID int64
и
type IDs []ID
Аноним 23/08/20 Вск 06:44:07 1785280111
>>1784655
>нормальный устоявшийся язык - жабу или шарпы
>2 года с ними поработай
Не ломай человек жизнь
Аноним 23/08/20 Вск 09:25:33 1785306112
>>1785176
Скажи ему спасибо, что позволяет тебе получать деньги за работу, которую бесплатно делает кодогенератор.
Аноним 23/08/20 Вск 10:23:47 1785315113
>>1785186
Знаю размер слайса, но как-то затупила и не воспользовалась этим =( Спасибо за наводку!

>>1785196
Я писала про []int64, потому что он каститься будет без проблем)
А вообще мне не очень нравится идея существования таких оберток для оберток, лично мне гораздо удобнее явно видеть слайс или мапку
Аноним 24/08/20 Пнд 13:05:46 1786236114
В го все так же руками надо каждый модуль ставить?
Или уже пофиксили?
Аноним 24/08/20 Пнд 14:13:38 1786347115
>>1785315

Почему уже 4 пост от тебя а сисек нет?
Аноним 24/08/20 Пнд 14:39:36 1786399116
>>1786347
Успокойся, я просто бабой прикинулся чтобы мне быстрее ответили, всем спасибо все свободны.
Аноним 24/08/20 Пнд 15:20:38 1786436117
>>1786347
Ты опять все спутал, анон. Это тред по го, а не по скидыванию сисек в четвертом посте
Аноним 24/08/20 Пнд 22:51:32 1787058118
Аноним 26/08/20 Срд 14:31:41 1788695119
Аноним 31/08/20 Пнд 20:38:12 1794106120
Анонасы, подскажите, насколько реально вкатиться в GO и таки найти работу именно GO-разрабом не имея большого опыта на других языках?
Аноним 31/08/20 Пнд 20:51:33 1794112121
>>1794106
Реально, но лучше перекатываться.
Аноним 31/08/20 Пнд 20:57:58 1794118122
Аноним 31/08/20 Пнд 21:33:20 1794153123
>>1794112
У меня есть небольшой опыт PHP, а конкретно кастомизации компонентов под битру и их написание, много верстал, занимался сеошкой, рекламой(очень типичная вакансия в мухосранске). Чекаю инфу на метаните и golangs.org - просто, а самое главное интересно, в отличии от тех же фреймов пыхи(хз почему, но не зашел ларавель). Собственно с соображалкой проблем нет, инфу, опять же, если интересно, усваиваю\понимаю\принимаю лучше других(ориентируюсь на дногруппников). Анон, если не сложно, подскажи конкретнее. Со знаниями курса с метанита и сайта выше, плюс, например, чат-бот для телеги, плюс, например, интеграция каких-либо сервисов с сайтом(для мини-портфолио и в первую очередь собственного знания), каковы шансы устроиться таки в ДС2?
Вопрос конечно ебанутый, все индивидуально и тд и тп, к тому же понимаю, что лучше задрочить фреймворк php, но блять не интересны они почему то
Аноним 10/09/20 Чтв 23:58:10 1803181124
>>1794153
я думаю что шансы более чем, особенно если учесть, что бывают вакансии Perl/Go, PHP/Go, Python/Go, намекающие, с чего на что надо переписать
Аноним 14/09/20 Пнд 15:34:32 1806208125
читнул первую книжку вдумчиво, с разбором примеров, сейчас читаю web development. Но чёт посмотрел, совсем нет вакансий. Вообще реально работу найти?
Аноним 15/09/20 Втр 12:19:41 1807118126
>>1806208
Хз ,я из Новосибирска, нескольколет назад штук пять было, получил оффер. Потом решил уволиться и переехать, за месяц собесов (подался штук 10 компаний) получил несколько офферов в Москву и Питер, некоторые даже удалённо.
Это не php, конечно, в каждом втором подавале на го не пишут, зато вакансии в большинстве нормальные и рейты не самые плохие.
Аноним 15/09/20 Втр 23:42:39 1807717127
if err != nil {
  return nil, err
}
Аноним 16/09/20 Срд 00:03:07 1807726128
>>1807717
func DoStuffInt(value int) int { ... }
// Ctrl-C Ctrl-V
func DoStuffString(value string) string { ... }
// Ctrl-C Ctrl-V
func DoStuffNebo(value Nebo) Nebo { ... }
// Ctrl-C Ctrl-V
func DoStuffAllah(value Allah) Allah { ... }
// заебался
func DoStuff(value interface{}) interface{} { ... }
Аноним 16/09/20 Срд 18:33:53 1808374129
Ха-ха, обоссаны гоферы ебаные, даже ответить нечего.
Аноним 16/09/20 Срд 19:09:15 1808417130
>>1808374
Они все в прошлом треде сидят, потом сюда перекатятся.
Аноним 16/09/20 Срд 19:14:44 1808418131
>>1808417
Ха-ха, перекатятся, а их тут уже обоссали.
Аноним 17/09/20 Чтв 15:08:22 1809021132
Аноним 17/09/20 Чтв 21:15:33 1809385133
Аноним 17/09/20 Чтв 21:18:42 1809387134
>>1809385
> думает, что кодогенерация появилась от хорошей жизни
Аноним 17/09/20 Чтв 22:05:55 1809429135
Бля, сколько лет вы еще будете обсуждать одно и тоже?
Аноним 17/09/20 Чтв 22:20:02 1809451136
>>1809429
Когда исправят очевидные дефекты в языке, тогда и перестанем.
Аноним 17/09/20 Чтв 23:14:58 1809541137
в 2021 когда сделают женерики все посты будут про err != nil
Аноним 17/09/20 Чтв 23:30:29 1809572138
>>1809541
Завозить нужно будет ещё много чего, кроме дженериков и эксепшенов.
- нормальные структуры данных (ring, list, heap - это даже не смешно)
- полиморфизм
- аннотации
- заменить ошибку на варнинг при неиспользуемых импортах или переменных
- система пакетов - это вообще пиздец, один прибитый гвоздями Git чего стоит.
Аноним 18/09/20 Птн 14:00:48 1809923139
>>1809572
>эксепшенов
нахуя нужны?
>полиморфизм
не понимаю, почему полиморфизм выделен в отдельный от дженериков пункт. в языке есть интерфейсы. какой еще полиморфизм нужен? дженерики? либо я просто не понимаю, что такое полиморфизм, объясни, пожалуйста
>заменить ошибку на варнинг при неиспользуемых импортах или переменных
что плохого в том, что компилятор бьет тебя по рукам за хуевое оформление кода?
Аноним 18/09/20 Птн 14:04:43 1809926140
>>1809923
>дженерики?
сорян, лишний раз продублировал
Аноним 18/09/20 Птн 14:13:08 1809936141
>>1809923
> нахуя нужны?
Чтобы сократить объём кода на 50%, и его стало легче читать.
> полиморфизм
Я проебался, имел в виду перегрузку методов, чтобы можно было несколько одноимённых методов с разными сигнатурами.
> что плохого в том, что компилятор бьет тебя по рукам за хуевое оформление кода?
Если пишешь какой-то тестовый код, где всё время комментишь/раскомменчиваешь строки кода, которые юзают импорты или те переменные, приходится каждый раз прыгать по всему коду и все эти импорты и переменные тоже комментить, либо писать костыли наподобие fmt.Print(""), чтобы компилятор, считающий себя самым умным, перестал выёбываться.
Аноним 18/09/20 Птн 14:23:49 1809941142
>>1809936
>Чтобы сократить объём кода на 50%, и его стало легче читать.
это, конечно, правда, но, имхо, подход с передачей ошибок между слоями приложения более правильный, чем выброс исключения в никуда. например, выбросил ты исключение из доменного слоя, а обрабатывает его кто-то (и вообще, обрабатывает ли?) на уровне хттп-обработчика. понятно, что все зависит от уровня развития макаки, которая работает с твоим кодом и исключением, но гарантий того, что ошибка будет обработана корректно, больше в случае с гошным подходом. + необработанная ошибка в го не приведет к остановке всего приложения, как в случае с необработанным эксепшеном, а это зачастую важно
>приходится каждый раз прыгать по всему коду и все эти импорты и переменные тоже комментить
а IDE какую юзаешь? goland, например, автоматически убирает импорт, если в файле пакет не используется. думаю, для других редакторов таких плагинов тоже хватает. не думаю, что подобные проблемы следует решать изменениями в языке/компиляторе
Аноним 18/09/20 Птн 14:34:55 1809946143
>>1809936

> Если пишешь какой-то тестовый код, где всё время комментишь/раскомменчиваешь строки кода

То может нужно голову включить а не тыкаться?
Аноним 18/09/20 Птн 14:41:16 1809947144
>>1809941
> подход с передачей ошибок между слоями приложения более правильный, чем выброс исключения в никуда. например, выбросил ты исключение из доменного слоя, а обрабатывает его кто-то
Проброс ошибок тоже ничего не гарантирует. Часто уже на автомате пишут "return nil, err", даже не задумываясь, что это за ошибка, либо понимая, что на этом уровне её не обработать. Почти как checked exceptions в жабе.
> на уровне хттп-обработчика
> необработанная ошибка в го не приведет к остановке всего приложения, как в случае с необработанным эксепшеном
Я такое только в плюсах видел, чтобы эксепшен не ловился где-то на самом верхнем уровне и не обрабатывался, а приложение аварийно завершалось. Обычно везде есть минимальный дефолтный обработчик, который всё оборачивает в 500 Internal server error.
> а IDE какую юзаешь?
Я не пишу на го всерьёз, поэтому goland не видел. Но без редакторов с автоматическим удалением импортов писать на го очень больно.
> не думаю, что подобные проблемы следует решать изменениями в языке/компиляторе
Ну а я думаю, что проблемы стиля должны быть именно варнингами, код-то рабочий. И изменение не должно ничего сломать, это ведь разрешение того, что было запрещено, но не изменение поведения.
Аноним 18/09/20 Птн 14:42:35 1809948145
>>1809946
С таким подходом можно до ассемблера докатиться.
Аноним 18/09/20 Птн 15:53:31 1809988146
>>1809941
>необработанная ошибка в го не приведет к остановке всего приложения, как в случае с необработанным эксепшеном, а это зачастую важно
ага. только вот если что то идет не так, то в итоге получается не то. и работать потом с невалидным стейтом такое себе.

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

так в чем разница?

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





Аноним 18/09/20 Птн 16:38:52 1810030147
>>1809936
>Я проебался, имел в виду перегрузку методов, чтобы можно было несколько одноимённых методов с разными сигнатурами.
Говно для даунов. Возвращайся в плюсы и жри там это неявное поведение. Разве нормальному человеку нужно, чтобы метод с одним и тем же именем имел разное поведение, в зависимости от типа аргумента?
Аноним 18/09/20 Птн 16:44:33 1810034148
>>1810030
>Разве нормальному человеку нужно, чтобы метод с одним и тем же именем имел разное поведение, в зависимости от типа аргумента?
нормальному человеку нужно чтобы метод мог в себя принять разное то что у тебя с собой есть, а не заставлять тебя искать "а как привести все к тому виду как ему надо" или гадать "а вот у меня с собой это и как бля называется нужный метод"

про паттерн visitor и деревья вообще можно не вспоминать )
Аноним 18/09/20 Птн 16:46:57 1810037149
Аноним 18/09/20 Птн 16:49:59 1810041150
>>1810030
>>1810034
Пардон, что так грубо, но эта фитча скорее не нужна, т.к. большинство людей - идиоты, и скорее всего будут злоупотреблять этой фитчей, и компилятор не сможет проверить, одинаковое ли поведение для, скажем, оверлоада с аргументом стринга, и для оверлада с аргуметом байтслайса.
>>1810037
Да, но с овелоадом - все то же самое, только весь этот пиздец еще и называется одним именем
Аноним 18/09/20 Птн 18:16:45 1810165151
>>1810041
>компилятор не сможет проверить, одинаковое ли поведение для, скажем, оверлоада с аргументом стринга, и для оверлада с аргуметом байтслайса.
Ага, ведь в других языках таких сложнейших фич нет.
Аноним 19/09/20 Суб 02:06:23 1810441152
>>1810165
Я писал, что фитча не нужна, по тому что ей будут злоупотреблять, а не то, что ее нельзя реализовать. Дженериков и интерфейсов всем должно хватить.
Аноним 19/09/20 Суб 03:35:08 1810469153
>>1810441
Да с чего ты взял что перегрузки должны делать одно и то же?
Нет такого ожидания
Аноним 19/09/20 Суб 15:25:11 1810834154
>>1810469
>Да с чего ты взял что перегрузки должны делать одно и то же?
С того, что это один и тот же метод, с тем же именем
Аноним 19/09/20 Суб 15:36:34 1810837155
>>1810834
>С того, что это один и тот же метод, с тем же именем
и что с того?

ты в функциях if к параметрам используешь? если да то у тебя функция значит делает разное в зависимости от переданных значений
хотя имя то одно.


Аноним 19/09/20 Суб 15:53:14 1810854156
>>1810837
В плюсовой, например, реализации - это выглядит как несколько блоков, несколько методов с одним именем, которые могут вообще не иметь общего кода, в отличии от метода с if/switch по параметрам, которые, скорее всего будут иметь общий код до и/или после ветвления.
Аноним 19/09/20 Суб 15:56:30 1810855157
>>1810834
попробуй в общем реализовать паттерн visitor без перегрузок
потом расскажешь
Аноним 19/09/20 Суб 16:00:52 1810856158
А вот оверлоад операторов - это заебись. Почти всегда - нахуй никому не уперлось, но зато элегантно.
Аноним 19/09/20 Суб 16:05:04 1810860159
>>1810855
Говно для нарушения SOLID
Аноним 19/09/20 Суб 16:16:59 1810876160
>>1810860
А ну расскажи мне как обойти дерево с нодами разных типов без visitor
if и его аналоги не предлагать - за это бьют розгами
Аноним 19/09/20 Суб 18:33:35 1810992161
>>1810876
Лолкек, как ты в го сделаешь дерево с нодами разных типов?
Через интерфейсы, через интерфейсы же и обходить будешь.
Аноним 19/09/20 Суб 18:35:26 1810993162
>>1810992
дык во всех языках ноды приведены к чему то базовому
и паттерн визитор как раз и делает связывание вместо if
Аноним 19/09/20 Суб 19:09:26 1811015163
>эти попытки сделать из го плюсно, чтобы потом начать ругаться на гц вместо raii
лол бл
Аноним 19/09/20 Суб 19:15:20 1811022164
>>1811015
Да, а что не так? Шажочек за шажочком дойдём до убийцы C++. Людям не нужно всякое говно типа раста или го, им нужны безопасные кресты.
Аноним 20/09/20 Вск 10:21:43 1811370165
>>1811022
>людям не нужен раст
>им нужны безопасные кресты
????????????
Аноним 20/09/20 Вск 17:21:47 1811654166
>>1811370
Неужели ты считаешь, что ущербный раст сейчас способен заменить Великие Плюсы?
Аноним 20/09/20 Вск 21:35:02 1811939167
>>1811022
Людям вообще погромирование не нужно, оно для педиков

Людям нужен продукт
Аноним 20/09/20 Вск 21:50:16 1811961168
>>1811939
Продукт нужен быдлу, а людям нужна духовность, которую можно найти в том числе и в программировании, осмотрено в сложных языках наподобие Плюсов.
Аноним 20/09/20 Вск 23:15:20 1812059169
image.png 966Кб, 787x787
787x787
Аноним 21/09/20 Пнд 00:04:42 1812097170
>>1811961
ПодДвачну этому борщехлебу
Аноним 22/09/20 Втр 12:33:39 1813147171
Я чет нихуя не пойму, почему бинарник на выходе имеет таблицу экспорта, в которой все функции содержатся. Это надо при статической линковке? Или ее можно удалить нах? У меня же не dll файл, через hхd меняю название функций, и все работает, то нах оно нужно в принципе, в ехе файле?
Аноним 22/09/20 Втр 14:07:50 1813248172
image.png 50Кб, 436x115
436x115
Аноним 22/09/20 Втр 15:43:13 1813301173
>>1813248
нехуй что ответить - пошел нахуй псина
Аноним 22/09/20 Втр 20:05:22 1813520174
блядь да какого хуя ты не удаляешь названия функций, как в gcc передаешь -strip и все заебись, а тут пизда хуйня ебаная, передаешь -s он чет удаляет, но все до пизды
Аноним 23/09/20 Срд 09:20:47 1813841175
А что дают гокит/гомикро/etc относительно собственноручно написанного микросервиса?
Аноним 23/09/20 Срд 12:27:34 1814039176
>>1813841
> что дают
дохуя фич, которые тебе могут быть не нужны
Аноним 23/09/20 Срд 13:01:01 1814054177
gccgo для винды есть?
Аноним 23/09/20 Срд 13:02:41 1814056178
>gccgo для винды есть?
помню там еще лет 8 назад хотели пилить gccgo под винду, но воз и ныне там?
Аноним 23/09/20 Срд 16:22:00 1814290179
Хай гайс, есть короче дилемма. Пишу тестовый проект для email подписки на изменение цен вэб объявлений авито. Хочу сделать это отдельным сервисом, внутри которого есть некоторая структура которая хранит данные вида ("ID товара", "Актуальная цена", емайлы подписанных юзеров). И всё не могу понять к какому виду это привезти. Очень хочу юзать map для хранения всего этого.

Сначала пришел к виду map[string][]string , где как ключ хранится сама ссылка на объявление, а значение - список подписанных юзеров. Вопрос, как можно к этой структуре корректно привинтить ещё одно значение цены?
Я могу не хранить цену в структуре, но тогда каждый раз мне придётся ходить в БД и доставать её, для сверки на предмет актуальности.

Аноним 23/09/20 Срд 16:33:48 1814304180
>>1814290
map[string]stuct{price int, emails []string}

а вообще хз, насколько хорошая идея - хранить это все в приложении, если будет много данных>>1814290
Аноним 23/09/20 Срд 16:43:22 1814312181
>>1814056
Но зачем? Г++ запили и оно никому не нужно кроме пары пердоликов.
Аноним 23/09/20 Срд 16:51:17 1814321182
>>1814304
Я крч подумал и решил что лучше хранить это в двух разных мапах. В одной map[string][]string - список подписанных емэйлов, а в другой map[string]string - актуальную цену. Так наверное лучше будет.
Можно какой нибудь рэдис использовать для хранения ). Просто если учесть что будет много отслеживаемых товаров и каждый раз для сверки цены приложуха будет ходить в БД - это наверное ужас.
Аноним 23/09/20 Срд 16:56:21 1814326183
>>1814321
да на самом деле от кол-ва запросов и данных зависит. при низкой нагруженности ты издержек от хождения в БД не ощутишь особо, имхо. а при высокой лучше действительно редис заюзать
Аноним 23/09/20 Срд 16:56:24 1814327184
>>1814312
мне нужна сборка мусора, и горутины, этот язык попроще ++ будет, и получше. С коробки почти все есть, что надо.
Аноним 23/09/20 Срд 17:40:24 1814389185
>>1814327
Я тебя спрашиваю зачем тебе порт gcc, а не нормальные тулчейны.
Аноним 23/09/20 Срд 18:01:31 1814413186
>>1814389
потому что много отладочной информации содержит бинарник, попросту - не нужной для обычного юзверя, и сильно помогающий реверсеру
Аноним 23/09/20 Срд 20:14:14 1814499187
Очевидно, что создателей Go не ебёт, что кто-то пытается его юзать как замену C++, а кто-то другой реверсит поделку первого. Go не создавался как убийца крестов, это серверный язык, как всякие жабы и питоны, и на сервере всем похуй, что всё легко декомпилится. Удивляться, что Go не делает то, для чего он и так не предназначен, как минимум странно.
Да, убийцы C++ действительно не хватает. Но это ещё не повод брать Go.
Аноним 23/09/20 Срд 20:46:39 1814513188
>>1814499
Убийца плюсов, как по мне, это потихоньку набирающий популярность Rust, хотя есть ещё и D Language.
Аноним 23/09/20 Срд 21:37:53 1814540189
>>1814499
на сервере не надо ничего защищать?

>Но это ещё не повод брать Go.
а что тогда брать? Компилируемое, не borland
В го много чего доступно из коробки, чем подкупает, и компилируется в натив, ну и сборка мусора как доп. фишка. Где еще такое есть?

>>1814513
слышал, что на расте еще больше бинарник весит, чем на го, это так?
Аноним 23/09/20 Срд 21:47:14 1814546190
>>1814321
>Так наверное лучше будет.
через неделю появляются еще 3 поля которые нужно хранить
Аноним 23/09/20 Срд 21:50:09 1814551191
>>1814499
Убийца плюсов уже есть ведь, это раст. Двачую то, что сравнивать го с плюсами это какой-то бред, вообще из разных опер языки
Аноним 23/09/20 Срд 22:00:48 1814561192
>>1814540
> на сервере не надо ничего защищать?
Надо, доступ к самому серверу. А если доступ защищён, то на самом сервере пускай хоть вообще всё открытым текстом лежит, юзеры всё равно не могут это прочитать.

> а что тогда брать?
Не знаю, но точно не Go. Я тут пытался заставить Go работать с dll-ками и с либами без исходников, там всё очень плохо, причём это не недоработка, а принципиальная идеология языка.
У раста, говорят, инфраструктура хреновая, но с другими компилируемыми в нейтив языками всё намного хуже. Да и вдруг у раста тоже нельзя сделать strip.
Аноним 23/09/20 Срд 22:43:20 1814601193
>>1814540
>слышал, что на расте еще больше бинарник весит, чем на го, это так?

Честно говоря, не проверял, но разница там не особо большая.
Аноним 23/09/20 Срд 22:48:17 1814605194
>>1814540
>на сервере не надо ничего защищать?
Надо, но удалением отладочной информации ты ничего не защитишь, а только усложнишь исправления проблем.
>слышал, что на расте еще больше бинарник весит, чем на го, это так?
Они там жирные, но не настолько, на сколько в го. Если критичен вес - используй strip
Аноним 24/09/20 Чтв 01:02:31 1814677195
>>1814605
В го жирные бинарники? Лол
Аноним 24/09/20 Чтв 07:30:29 1814776196
>>1814513
>>1814551
Но ведь раст разве что Мозилу убить сможет. Он ещё не готов к продакшену, гора зависимостей в альфа/бета версиях, все либы тухлые, документация пилится энтузиастами, дебагера нет, многие фичи языка пердольные - та же асинхронность. Ну и скорость не впечатляет по сравнению с Zig или хотя бы V. Волна популярности раста прошла и после неё оказалось что лишь единицы пердоликов готовы кодить на этом говне. А свежие проекты, где важна производительность, всё так же пишут на си/крестах + асм-вставки.
Аноним 24/09/20 Чтв 07:39:53 1814778197
>>1814561
> Я тут пытался заставить Go работать с dll-ками и с либами без исходников, там всё очень плохо
Что у тебя плохо там? В Go встроена сишка и полная совместимость со всеми сишными либами, просто инклюдишь хэдеры и указываешь компилятору где либы брать. С крестами естественно не будет работать, нужен С-интерфейс в либе.
Аноним 24/09/20 Чтв 08:56:38 1814803198
>>1814778
Я хотел именно на Go, а не через FFI. Но это уже неважно.
Аноним 24/09/20 Чтв 20:04:18 1815376199
>>1814776
>Ну и скорость не впечатляет по сравнению с Zig или хотя бы V
Ты серьезно zig или v рассматриваешь? Это вообще ноунеймы, нет смысла даже думать о них. V вообще какое-то васянское поделие, кривой копипаст го. Но про скорость интересно, есть пруфы?
>Волна популярности раста прошла и после неё оказалось что лишь единицы пердоликов готовы кодить на этом говне.
Это уже толсто. Пруфов не будет, я уверен.
>А свежие проекты, где важна производительность, всё так же пишут на си/крестах + асм-вставки.
Чаще всего да, но есть и на расте свежие проекты.
25/09/20 Птн 08:11:53 1815637200
>>1809387
Кодогенерация лучше дженериков, потому что код получается проще. Дженерики вообще не нужны. Их отсутствие в го - достоинство языка.
Аноним 25/09/20 Птн 10:21:44 1815707201
>>1815637
Это жабу напоминает уже, где кодить без ide невозможно
Аноним 25/09/20 Птн 10:52:13 1815725202
>>1815637
> Их отсутствие в го - достоинство
А я всё думал, почему котлин у меня так сильно ассоциируется с goвном. А всё из-за уебанского отношения к кодерам вместо того, чтобы дать им выбор. В котлин-треде тоже недавно писали, что какой-то там тип специально сделан ущербным, чтобы его не юзали. Пиздец.
Аноним 25/09/20 Птн 10:56:37 1815728203
>>1815637
Да зачем вам эти дженерики вообще?
За все время моего программирования на го, дженерики были нужны только для каких-то небольших util функций, которые несложно и скопировать в случае чего.
>>1809387
>> думает, что кодогенерация появилась от хорошей жизни
Кодогенерация появилась не для замены дженериков

Аноним 25/09/20 Птн 12:49:38 1815785204
>>1813147

Потому что проприетарные мудаки, которые хотят спрятать свой код и защититься от хакеров которые мешают получать недополученную прибыль - не нужны.
Аноним 25/09/20 Птн 12:52:33 1815786205
>>1815785
А ещё книги, фильмы и игры должны быть бесплатными, да и вообще коммунизм.
Аноним 25/09/20 Птн 12:53:10 1815789206
>>1815725
>А всё из-за уебанского отношения к кодерам

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

Поэтому все кодерки должны думать одинаково - их нужно дрессировать быть рабами чтоб бы они при этом со счастьем на лице обмазывали ебло малафьей и самостоятельно траллили тех своих коллег, кто рабами быть не хочет и обзывали быдлокодерами, показывали пальцем и смеялись, в перерывах в курилках обсуждая новые модные кандалы.
Аноним 25/09/20 Птн 12:58:21 1815794207
>>1815789

> в перерывах в курилках

Чего блядь, в каких курилках, какие назхуй переывы, никаких перерывов, только спецально одобренная корпоративная ржомба в специальных корпоративных чатиках в телеге.
Аноним 25/09/20 Птн 14:49:18 1815860208
>>1815728
Я и говорю, не нужны
>>1815707
Генератор может быть вызван из консоли, описание для него написано в твоём любимом редакторе
>>1815725
Язык должен был простым в смысле количества сущностей и правил для них. Иначе получится С++ и никто не захочет его использовать.
Аноним 25/09/20 Птн 15:03:57 1815865209
>>1815860
Примитивный язык != простой.
Аноним 25/09/20 Птн 15:07:08 1815866210
>>1815865
В том смысле, который я обозначил, это именно синонимы
Аноним 25/09/20 Птн 15:14:46 1815871211
>>1814677
Какой размер должен быть у хелоуворолда, чтобы он считался жирным?
Аноним 25/09/20 Птн 17:55:50 1816120212
>>1815871
А какой должен, чтобы не считаться жирным?
Аноним 25/09/20 Птн 22:15:07 1816334213
Книги для вката из шапки все еще актуальны?
Аноним 26/09/20 Суб 15:35:19 1816769214
>>1816120
Как в сишечке - меньше килобайта.
Аноним 26/09/20 Суб 16:01:18 1816801215
Вот читаю я на дваче про "жирные" бинарники, а потом смотрю на джавовский ear-ник на работе в полгигабайта и задумываюсь.
Аноним 26/09/20 Суб 16:24:21 1816827216
>>1816801
Ясное дело, что все это - писькомерство, но в некоторых особых случаях это может быть важно
Аноним 26/09/20 Суб 17:27:38 1816884217
>>1816827
Так гошечка и не позиционирует себя как средство для микроконтроллеров, где размер бинарника важен
Аноним 26/09/20 Суб 17:41:04 1816896218
>>1816884
Так и есть. Претензии к размеру бинарника какие-то надуманные, это вам не сишечка. Но вообще есть такое решение: https://github.com/tinygo-org/tinygo

Мимокрок
Аноним 26/09/20 Суб 17:45:41 1816897219
>>1816896
>go for command line tools
Если это не нужно для каких-то тяжелых вещей, то за это убивать нужно
Аноним 26/09/20 Суб 22:01:47 1817034220
>>1816897
За что убивать? За написание cli tools на го? Да ты же поехавший, на го как раз особенно часто их пишут, и не удивительно, он для этой цели отлично подходит.
Аноним 26/09/20 Суб 22:45:32 1817042221
>>1817034
У меня просто жопные боли были, когда наш девопс настроил деплой через бинарники на го и на каждый пук необходимо к нему было обращаться, так как исходники он не давал
Аноним 27/09/20 Вск 00:48:25 1817095222
>>1817042

Письмо ему напиши, в копию его манагера.

Весь код должен быть в корпоративных репах.
Аноним 27/09/20 Вск 04:32:49 1817141223
>>1817042
Зачем тебе исходники?
Аноним 27/09/20 Вск 04:43:41 1817143224
>>1816897
намного лучше более популярных альтернатив вроде петона - закинул себе в патх и пользуешься, не ебешь мозги никакими плагинами. лучше только посикс или баш с корутилзами.
Аноним 27/09/20 Вск 05:19:08 1817149225
>>1817141
А вот и тот девопс пожаловал.
Аноним 27/09/20 Вск 16:13:13 1817493226
>>1817149
Ну реально, зачем тебе? Тебе же тулза нужна чтобы в ней запускать команды
Аноним 28/09/20 Пнд 10:57:43 1817967227
>>1815376
> Но про скорость интересно, есть пруфы?
Естественно. На TechEmpower либа jsonа быстрее на v, чем на сишке. Zig вообще в любых бенчах рвёт сишку, посмотри у них на сайте, но пока на нем ничего не пишут серьезного из-за breaking changes, которые в один список не влезают.
> Это уже толсто. Пруфов не будет, я уверен.
Последний год звёзды быстрее v набирает, чем раст. Куча либ на расте были на хайпе в 2018 написаны и до сих пор тухнут. Сам язык замер без изменений, а фиксить там ещё много чего.
Аноним 28/09/20 Пнд 16:13:33 1818204228
>>1817967
Про либу jsona на techempower:
У раста may-minihttp 1,593,722
У V pico.v 1,617,611
Разница очень маленькая, а ты говоришь раст по сравнению с V не впечатляет
Аноним 29/09/20 Втр 09:45:20 1818642229
Го это писька, чтобы за 5 минут написал серверную залупу, которая работает быстро из коробки, без ебли и оптимизаций, с маленьким бюджетом.

Зачем вообще сранивать с монстрами, типо явы, где пилятся гиганские бабки, с гигансткими командами, с гигансткими бюджеты, с гигансткими сроками.

Если ты начинаешь молодой стартап с небольшим бюджетом, или MVP, то гошечка после идеальна.
Начненать на яве или С++, это уже автоматом выстрелить в ногу.
Аноним 29/09/20 Втр 10:02:25 1818655230
>>1818642


>Зачем вообще сранивать с монстрами, типо явы, где пилятся гиганские бабки, с гигансткими командами, с гигансткими бюджеты, с гигансткими сроками.

Потому что все собравшиеся на этой доске здесь именно ради этого. И любой выстреливший проект придется всё равно переписывать в говно-кроваввый интырпрайз

> пилятся гиганские бабки

И именно по этой причине даже под дохлый и никомку в 2K2D не нужный бекенд на ноде есть куча маняорм-фрейморков и прочих тру-энтерпрайз клонов Spring вроде NestJS.
Аноним 29/09/20 Втр 13:48:39 1818800231
>>1818642
> Зачем вообще сранивать с монстрами, типо явы
Сравнивают потому что на го можно быстрее и эффективнее делать то, что можно через боль и страдания делать на жяве
Аноним 29/09/20 Втр 14:07:15 1818806232
>>1818655
>NestJS
>клон Spring
Скорее подражатель
Аноним 29/09/20 Втр 14:08:30 1818807233
Аноним 29/09/20 Втр 21:30:34 1819161234
>>1818807
> писать бекенд на питоне
Lol
Аноним 30/09/20 Срд 14:48:27 1819725235
>>1818807
По описанию похоже на цмс/цмф с бузнес спецификой
Аноним 01/10/20 Чтв 19:28:55 1820661236
Поясните, пожалуйста, когда и как пользоваться sync.Cond'ом?
Аноним 02/10/20 Птн 11:08:07 1821086237
>>1819725

Не, там 1C УПП/SAP на минималках.
Аноним 02/10/20 Птн 11:15:44 1821094238
>>1819725
>>1821086
Пиздец, я будто в пхп- или vba-тред зашёл. Go теперь тоже pochini printer tier?
Аноним 02/10/20 Птн 12:32:28 1821142239
Аноним 02/10/20 Птн 18:04:28 1821404240
>>1821094
Нет, го это микросервисный йоба-хайлоад
Аноним 02/10/20 Птн 21:43:34 1821571241
>>1818807
https://github.com/odoo/odoo/blob/14.0/odoo/service/model.py

Как с таким говном еще кто-то считает питон стильным модным молодежным классным языком? Это же какая-то процедурная параша уровня как раз вышеупомянутых цмс на пхп
Аноним 02/10/20 Птн 22:03:16 1821577242
image.png 49Кб, 881x555
881x555
Питон идеален, когда надо по-быстрому наклепать мелкотулзу, скрипт для автоматизации чего-либо или модель какой-нибудь простой нейросетки. Но ведь, сука, пишут огромные проекты, которые на каждое второе действие стектрейсят и стектрейсят, что тип неправильный, или какого-то метода нет. И не надо про юнит-тесты - это костыль, чтобы компенсировать отсутствие статической типизации.
Аноним 02/10/20 Птн 22:22:32 1821581243
>>1821577
У нас на работе обязателен type hinting через mypy и проверку кода на стиль и синтаксические ошибки через black перед коммитом.
На пике рач у которого breaking changes вообще норма
Аноним 02/10/20 Птн 22:41:08 1821590244
>>1821581
Рач тут не при чём, такое и на винде с подобной либой может возникнуть.
Аноним 02/10/20 Птн 22:45:46 1821592245
>>1821590
>breking changes не читай
>Версию обновляй
Аноним 02/10/20 Птн 22:48:38 1821594246
>>1821592
Поэтому надо сидеть на Python 2.
Аноним 02/10/20 Птн 22:52:19 1821596247
>>1821594
Слишком утрированно, на любом ЯПе сразу обновляться не следует
Аноним 03/10/20 Суб 06:45:00 1821811248
Кто-то юзает goconvey или ginkgo для бдд тестов?
У меня в проекте овер9000 тестиков, мне вот интересно, как мне уменьшить дублирование кода в них.
В тех же ПХП, на котором в компании есть легаси код, я заметил люди пишут бдд тесты просто текстом.
типа, "Given user" = func() { user := User{} }
Given User
When bla bla
Then this one

Хотелось бы так же, чтобы я описал тесты в виде текста, а условия были маленькими функциями
Аноним 03/10/20 Суб 10:33:40 1821845249
Аноним 03/10/20 Суб 10:34:59 1821848250
>>1821811

Я писал BDD для golang, только на ruby\cucumber
Аноним 03/10/20 Суб 12:17:16 1821883251
>>1821845
Пиздос. Это вообще зачем?
Аноним 03/10/20 Суб 16:56:55 1822086252
>>1821883
Чтобы менеджеры сами писали тесты
Аноним 03/10/20 Суб 17:19:03 1822106253
>>1822086
Помнится, про SQL тоже кто-то так говорил.
Аноним 03/10/20 Суб 19:13:32 1822212254
>>1821592
ты серьезно? тут не просто новости рача или петона читать нужно, тут нужно сканировать код для всего петоноговна, которое у тебя установлено, чтобы узнать, ломает ли новый кейворд петона какой-то пакет. делать это вручную или как ты написал "читать" это брейнлет-тир, эту задачу должен решать не пользователь.
Ленивый Пельмешек 03/10/20 Суб 19:58:20 1822263255
Товарищи, а как можно импортить сишные .h в .go? Вопрос странный, но где-то видел подобную фигню. Поясните, плез.
Аноним 03/10/20 Суб 20:07:14 1822276256
Аноним 03/10/20 Суб 20:08:21 1822279257
Подскажите, есть ли какие serverless фреймворки на го?
Что бы был кли и возможность деплоить функции на разных провайдеров?
Аноним 03/10/20 Суб 20:27:17 1822297258
>>1821845
Спасибо, погляжу.

>>1821848
Я не только е2е хочу, но и юнит тесты делать в бдд

>>1821883
Посмотри что-нибудь типа TDD vs BDD
Аноним 03/10/20 Суб 20:29:34 1822299259
>>1822263
Очень тупо:
package main
// # include <stdio.h>
// прочий сишный код
import "C"
func main() {
C.puts("Hello, world!")
}

И тупо скомпилировать как обычный исходник на Go.
Имей в виду, что сборщик мусора Go не будет за тебя вызывать free() в сишном коде, тебе придётся это делать самому, иначе утечка памяти.
Аноним 03/10/20 Суб 20:30:44 1822301260
>>1822299
> C.puts("Hello, world!")
Да, не всё так просто, надо ещё C.CString делать.
Аноним 03/10/20 Суб 20:31:40 1822305261
image.png 164Кб, 355x834
355x834
Аноним 03/10/20 Суб 20:35:39 1822311262
Аноним 03/10/20 Суб 21:10:32 1822336263
image.png 30Кб, 1009x185
1009x185
>>1822212
>тут не просто новости рача или петона читать нужно, тут нужно сканировать код для всего петоноговна, которое у тебя установлено, чтобы узнать, ломает ли новый кейворд петона какой-то пакет. делать это вручную или как ты написал "читать" это брейнлет-тир, эту задачу должен решать не пользователь.

А вот в ГО совсем не так!
https://kn100.me/making-breaking-changes-in-go/
Аноним 03/10/20 Суб 21:40:07 1822363264
>>1822305
Кто-то до сих пор не может запомнить, что эта ебанистика создает копии, а не обращается по адресу ?
Аноним 05/10/20 Пнд 18:22:25 1823834265
>>1744568
>диаграммы классов (а это лишние телодвижения), сворачивания блоков (которые еще надо свернуть).. Но это все не то
лишние телодвижения это переключаться между файликами и править сигнатуры в двух местах. за компуктер не нужно делать работу, которую он может делать сам. вручную дублировать код для компуктера это вообще бловс май майнд
Аноним 06/10/20 Втр 16:47:50 1824495266
>>1745612
>Поэтому программисты в сях придумали новый тип файла - .inc - когда определение не получается засунуть в c/cpp(особенно для шаблонов)
Стокгольмский синдром по-крестоблядски: ебаная в жопу крестоблядь после всего времени насилования своего мозгообразного органа крестами просто не может осознать, что можно и не выносить декларации в отдельный файл, она даже когда крестокомпилятор запрещает ей это, все равно обходные пути так делать - и, сука, находит.
Аноним 06/10/20 Втр 16:49:05 1824497267
>>1824495
*находит обходные пути
конечно же
Аноним 07/10/20 Срд 20:20:05 1825417268
Меня тут спросили
> как заапендить слайс через передачу в аргумент
а я аж растерялся.
Действительно, как?
Аноним 07/10/20 Срд 20:41:47 1825429269
Аноним 07/10/20 Срд 22:20:32 1825493270
Аноны, кто использовал rabbitmq в связке с protobuf?
Есть одна проблема. Сериализую сообщения, отправляю о очередь. На другом конце принимаю и пытаюсь десериализовать, но получается десериализовать почему-то не все. Не понимаю, как это возможно.
Кто может глянуть:
https://github.com/hageshtrem/go-rabbitmq-protobuf-issue
Аноним 08/10/20 Чтв 03:52:16 1825584271
>>1825493
я не спец, но сообщения в реббите это строки, а ты в них байты пихаешь
Аноним 08/10/20 Чтв 10:40:23 1825695272
Вопрос общий, но поскольку я пиша на Го, задам его тут.
Аноны, как научиться в абстракции? Пишу уже 7 год, но до сих пор хуёво с этим. Понятно, что все эти годы я говнокодил по большому счёту, но в моём коде хотя бы можно было разобраться, он линеен. Не так давно осознал, зачем вообще делать интерфейсы, лел. Раньше думал раз тестов пока нет, мокать нечего, ну и нахуй они нужны, если реализация всё равно одна?
Вот сейчас пришёл на новую работу, так тут понаписано пиздец, хуй что где разберёшь. Какие-то финализаторы, фасады, ресурс контейнеры, охуеть вообще. Вообще легально так писать на Го? Попахивает тырпрайз жава парашей.
Нужно как минимум понять, что и зачем здесь так написано. Я смотрю на всё это и не понимаю, как блядь человек в состоянии это всё написать? Это врождённый навык или можно начитаться книжек по паттернам и писать так же? Советуйте в общем, что делать.
Аноним 08/10/20 Чтв 10:56:50 1825699273
>>1825695
Первое время тебе этот код будет казаться сложным, потом привыкнешь и будешь восхвалять тех, кто это написал до тебя.
По моему мнению, если изначально думать о тестировании кода, то абстракции будут пониматься отлично. Потому что легкое тестирование = легкая заменяемость в коде.
Да и ты же не хочешь в своём коде тестировать имплементацию библиотек сторонних (для этого у них есть свои тесты)
Аноним 08/10/20 Чтв 10:58:05 1825701274
>>1825695
>Вообще легально так писать на Го? Попахивает тырпрайз жава парашей.
Так го тоже предназначен для тырпрайза. Посмотри исходники k8s, например.
Аноним 08/10/20 Чтв 11:10:49 1825707275
>>1825699
>>1825701
Ок, а есть какой-то разбор типовых ситуаций, для которых мне нужно воспользоваться определённой абстракцией? Где про это читать? Все книги, которые я листал по паттернам, имеют очень синтетические примеры.
Аноним 08/10/20 Чтв 11:17:40 1825719276
>>1825707
ну если читать книги типа банды четырёх - то там вроде нормальные примеры.
А вообще я обычно руководствуюсь тем, что мне нужно покрыть полностью код тестами и если не получается - значит что-то делаю не так.
У меня нет такого типа, о тут надо фасад сделать или ещё что-то - оно просто в голове уже лежит как сделать лучше и всё.

Ну и SOLID принципы конечно же.
Аноним 08/10/20 Чтв 13:18:52 1825840277
>>1825695
>Нужно как минимум понять, что и зачем здесь так написано
жависты наверное переучивались. они ебанутые, не смотри на них.
>Это врождённый навык или можно начитаться книжек по паттернам и писать так же?
мне кажется обычно это врожденное, но иногда люди такими становятся из-за каких-то событий в жизни
Аноним 08/10/20 Чтв 13:33:12 1825848278
>>1825840
Двачу этого гофера, всему нужно знать меру.
Аноним 08/10/20 Чтв 20:44:13 1826162279
>>1825695
Ну просто берешь какой-нибудь паттерновый монстрофреймворк типа спринга или симфони и изучаешь исходники.
Аноним 10/10/20 Суб 15:39:46 1827359280
>>1826162
А как вообще реализация патернов другого языка поможет на go, наг голнаге же везде СВОЙ ПУТЬ
Аноним 14/10/20 Срд 20:11:21 1830537281
Приветствую всех гоферов в этом треде. Около года назад начал свой вкат в погромирование, изначально выбрал фронт т.к в него влегче вктатиться (что и сделал за 3-4 месяца - на реакт/редакс макаку), но во время вката понял что именно пограмирование мне более интересно (когда задрачивал js на кодварсе), нежели верстка/дизайн и всё что около фронта. Выбирая что освоить для бэка решил не идти по протоптанному пути ноды/ts, а освоить другой ЯП, дабы взглянуть на мир шире.
В настоящий момент имею опыт работы фронтом 8 месяцев (Реакт/редакс), плюс 2-3 месяца дроча гошки (из пет-проектов есть примитивный rest-api плюс cli, которая конкурентно дергает апишку и выводит текущую стоимость криптовалют, сохраняет историю их цены в csv).
В теории понимаю БД и докер (что и зачем нужно, какие виды бд есть, их типовые сферы применения, зачем нужны индексы, что такое шардинг), подтянул часть с сетями (tcp/ip стэк, udp/tcp, отличия версий http, могу на пальцах объяснить что происходит после ввода адреса сайта). С линуксом знаком (4 года manjaro/fedora на десктопе).
Хотел бы узнать насчет типовых тестовых заданий на гофера в компании ДС-а дабы задрочить эти типовые проекты и выложить их для портфолию (а-ля мувисерчер на фронтендера).
Список теоретических вопросов по го из прошлого треда видел, и могу на них ответить, но практики с БД/докером нет вовсе, плюс сейчас дрочусь с литкодом для практики алгоритмов/структур данных. Также хотелось бы получить советы тех, кто прошел схожий путь из фронтов в бэки (на чем лучше сосредоточить внимание, до какого уровня дрочить литкод, насколько глубоко копать в БД и их оптимизацию и докер и тд.)
Аноним 14/10/20 Срд 21:13:56 1830625282
>>1830537
Сделай на го интернет-магазин с админкой для добавления новых товаров и личным кабинетом юзера с корзиной, засунь в докер. Все сразу поймешь. Но это тупо для крудознаний, надо еще разобраться с кафкой и/или рэббитом и тоже их куда-то воткнуть
Аноним 15/10/20 Чтв 04:07:02 1830804283
>>1830537
> Также хотелось бы получить советы тех, кто прошел схожий путь из фронтов в бэки (на чем лучше сосредоточить внимание, до какого уровня дрочить литкод, насколько глубоко копать в БД и их оптимизацию и докер и тд.)
Пару лет работал фронтеденром, одновременно бекенды на ноде делал на фрилансе время от времени. Фронт надоел. Я менял место работы каждый год, и в разгар короны нашел компанию где нужен был фуллстек со знанием фронта, ноды, и го. На го всякие SSR сервисы, почти всё остальное на го, на нём и пишу в основном теперь. На литкоде никогда не сидел, в бд и их оптимизацию слишком глубоко не копал. Докер нормально копал ещё когда фронтом был. Теорию мало изучал, просто писал много кода, так и научился. На го микросервисы шлёпать много ума не надо, мне даже теперь фронт сложнее кажется, поэтому проиграл с того, что ты противопоставил фронт и программирование. Охуенное на го программирование, байтики гоняешь туда-сюда, жисончики, протобафчики, читаешь это говно из консумера реббита или кафки и обратно.
Аноним 15/10/20 Чтв 16:57:12 1831340284
Пацантрэ, кто-нибудь использует кодогенерацию API-клиентов/серверов из спецификацииswagger ? Или шляпа?
Аноним 15/10/20 Чтв 17:31:23 1831364285
>>1831340
Я пытался добавить на работе в nodejs проектах. На мой вкус - удобно, а коллегам не зашло
Аноним 15/10/20 Чтв 17:32:47 1831365286
>>1831364
А в Go проектах не использовал?
Аноним 15/10/20 Чтв 20:57:28 1831524287
>>1831340
Шляпа, конечно. Используй protobuf, из него генерируй и swagger для фронтов, и они себе код заебашут на нём тоже на изи.
Ещё в сторону gRPC посмотри, совсем от счастья задохнёшься.
Аноним 15/10/20 Чтв 23:36:27 1831591288
>>1831365
Нет, но по сути - разницы в этом плне практически нет. Разве что в го это немного удобнее за счет // go: generate
Аноним 16/10/20 Птн 04:59:26 1831674289
>>1831340
Мы наоборот генерировали сварггер из го кода.
В итоге меня заебало как он иногда хуйню делал и сделали вручную.
Насчёт протобафа звучит как план, но это не апи доки всё равно.
Аноним 16/10/20 Птн 11:20:48 1831752290
>>1831340
В последнее время такой тренд, что всё пишется в протобафе, сервисы общаются по grpc, а для фронтенда поднимается grpc gateway который автоматически маппит json->protobuf. Он же и генерирует сваггер из твоих прото файлов.

>>1831364
Или они долбоёбы или ты делал что-то не то. Апи без схемы - это пиздец.
Аноним 17/10/20 Суб 01:36:00 1832437291
>>1831752
> Или они долбоёбы или ты делал что-то не то. Апи без схемы - это пиздец.
Спецификацию мы то генерим, просто в микросервисах, которые используют АПИ первого мы руками пишем к нему клиент, вместо того, чтобы генерить из спецификации.
Аноним 17/10/20 Суб 12:37:22 1832565292
Аноним 18/10/20 Вск 16:27:39 1833569293
>>1832437
Ну то есть долбоёбы. Генерация клиента по схеме позволяет автоматически исключить человеческий фактор, поскольку в случае, если у тебя везде используется апи-метод ->foo, а в новой схеме его убрали, то после перегенерации клиента у тебя IDE сразу же покажет ошибку. То же самое с новыми полями, ошибками типов (когда вы массив вместо числа будете посылать) и всё такое прочее.
Вы просто взяли и просрали гарантии, которые даёт вам схема.
Я конечно знал, что jsеры долбоёбы, но чтоб настолько..
Аноним 20/10/20 Втр 02:18:53 1835051294
Аноним 20/10/20 Втр 15:33:55 1835386295
Аноним 22/10/20 Чтв 22:40:17 1837285296
1603395408.png 160Кб, 1320x796
1320x796
Ананасы, подскажите, можно ли как то игнорировать паники? На пике конкретный юзкейс: в горутине в цикле скачиваются треды, и время от времени сосач отдает хуйню вместо html, уж хз с чем это связано. Соответственно распарсить не получается, и html.Render падает с sigsegv, и тянет за собой всё. Пока решаю автоматическим перезапуском докер контейнера, но это костыли. Хочу хотя бы чтоб падала только горутина, а в идеале только конкретный элемент цикла, что то типа try - catch в жабе. Как можно это реализовать, и можно ли вообще?
Аноним 23/10/20 Птн 05:19:48 1837449297
>>1837285
Ну так заместо выкидывания паники, обрабатывай прям там - например, можешь добавить в логи ошибку эту.
В го не принято при проверке ошибки кидать паники.
Ещё конечно вариант ловить панику с помощью recover. Но рековер должен быть объявлен внутри горутины, иначе положишь всю программу.
Аноним 23/10/20 Птн 12:29:30 1837592298
1603444976.png 132Кб, 1348x676
1348x676
1603445343.png 58Кб, 670x553
670x553
>>1837449
Вощем хз, с обработкой ошибки падает точно так же, а как пользоваться recovery в моем случае я так и не врубился, если все обернуть в defer то просто ничего не запускается, код тупо не выполняется.
Аноним 23/10/20 Птн 13:15:58 1837618299
>>1837592
Во-первых, ты зачем пустую строку вместе ошибки err выбрасываешь?
Во-вторых, ты сам понимаешь как должна обрабатываться ошибка? Её игнорирование это тоже обработка.
Что за хуету я вижу на втором скрине? Почитай офиц курс про паники/рекавери и дефер.
По-моему ты прогал на каком-то говне (питоне) и теперь идёшь к нам говнокодить?
Аноним 23/10/20 Птн 14:40:30 1837672300
1603453076.png 8Кб, 592x50
592x50
1603453192.png 54Кб, 653x512
653x512
>>1837618
Пустую строку выкидываю потому что если распарсить не получилось то смысл мне дальше пытаться что то делать? Идет возврат, а там как раз проверка на пустую строку.
Игнорирование ошибки или нет, разницы не имеет если все падает с паникой. А на втором скрине ты видешь хуиту как раз из офф курса. Но нахуя для рекавери нужен defer я так и не врубился.
Аноним 23/10/20 Птн 15:33:19 1837728301
Джунов без опыта берут на работу или все чахло очень?
Аноним 23/10/20 Птн 17:37:08 1837830302
>>1837728
Да везде берут, просто вакансий по сравнению с жавой не так много, поэтому для новичка выгоднее брать тот язык, который даёт больше возможностей для трудоустройства.
Аноним 23/10/20 Птн 17:39:51 1837833303
Аноним 23/10/20 Птн 17:52:57 1837844304
>>1837833
Это другой вопрос, понятно, что навыки жависта не на 100% маппятся в навыки гошника.
А ещё на свете есть целая куча (на глаз процентов 90%) долбоёбов которые пишут такую херню, что волосы встают в жилах, не важно, джависты они или нет.
Просто делай нормально и нормально будет.
Аноним 23/10/20 Птн 18:05:47 1837861305
>>1837672
Если у тебя функция должна выйти досрочно при ошибке, то правильно возвращать nil.
Насчёт defer это добавление выражения в стек вызовов.
То есть объявив это в функции А, как только функция А завершится, вызовется твой defer. То есть ты бы мог например defer с recover, а в самой функции код с паникой, но в го на этом поведении обработка исключений/ошибок не строится. Нужно лишь, чтобы предотвращать падение программы.
В твоем случае дефер нихуя не работает, потому что само тело функции внутри дефера.
Аноним 24/10/20 Суб 03:06:11 1838234306
Ваш язык - говно, а мой - лучший. Можете закрывать тред.
Аноним 24/10/20 Суб 12:33:34 1838429307
Как джуну получить работу на го? Дрочу около 3 месяцев, до этого в вузе был c/cpp, везде требуют год+ коммерческой разработки, что делать, анон?
Аноним 24/10/20 Суб 13:23:57 1838473308
>>1837861
А, тогда врубился. Был уверен что программа падает в тот момент когда вызывается panic, не важно есть что то в дефере или нет.
Аноним 24/10/20 Суб 13:47:20 1838493309
>>1838429
Разработай свой коммерческий продукт, разбогатей, а потом рассылай им резюме с дикпиками
Аноним 24/10/20 Суб 17:25:18 1838745310
Почему я не могу объявить переменную "с" внутри функции "plus" в строке 8?

https://pastebin.com/J0UfcsvN
Аноним 24/10/20 Суб 18:03:03 1838795311
>>1838745
Потому что ты уже её объявил.
var c int // объявил в первый раз
var c = a + b // во второй раз
Аноним 24/10/20 Суб 22:33:38 1839010312
>>1838493
То есть у меня нихуя не получится и нужно оставить мечту прикоснуться к прекрасному?
Аноним 24/10/20 Суб 23:24:03 1839034313
>>1838429
Да как везде, сделай свой пет-проект и приходи с ним. Говори "да, у меня меньше опыта, зато я не долбоёб, я подготовился и всё изучил, у меня есть пет проект и дохуя мотивации". Если реально хорошо пройдёшь собес - возьмут.
Аноним 26/10/20 Пнд 02:54:27 1839881314
Анончики, как склы мигрируете?
Аноним 26/10/20 Пнд 03:27:00 1839883315
Аноним 26/10/20 Пнд 03:32:44 1839884316
Аноним 28/10/20 Срд 16:19:36 1842075317
объясните плиз почему в функцию zero надо указатель на int а не на xPtr передавать?

https://play.golang.org/p/xDkGWyGqRSN

func zero(xPtr int) {
xPtr = 0
}
func main() {
x := 5
zero(&x)
fmt.Println(x)
}
Аноним 28/10/20 Срд 16:24:33 1842081318
>>1842075
Потому что указатель на int и указатель на указатель на int - это разные вещи.
Аноним 28/10/20 Срд 16:41:47 1842102319
>>1842075

1) в main объявили и инициализировали переменную х со значением 5 (x:=5 т.к. тип не указывался, go присваивает тип автоматически и в данном случае это int)
2) в функцию zero передали адрес в котором хранится значение переменной x ( &x будет равен 0x765....09 )
3) функция zero принимает один аргумент и указание звёздочки у типа int означает что в функцию передается именно адрес переменной и именно с типом int? Т.к. просто по адресу переменной не понятно какой у неё тип.
4) звездочка xPtr = 0 означает что переменной значение которой находиться по адресу Xptr присвоили значение 0

подскажите плиз всё ли правильно? особенно пункт номер три интересует.
я ньюфаг еси чо, не злитесь сильно.
Аноним 28/10/20 Срд 16:44:05 1842103320
>>1842081

указатель и указатель на указатель - вот тут я спотыкаюсь.

вот тут >>1842102 расписал как я понимаю это
верно или совсем лажа?
Аноним 28/10/20 Срд 16:45:55 1842106321
Аноним 28/10/20 Срд 16:48:24 1842108322
>>1842106
добра и сотни нефти!
Аноним 28/10/20 Срд 17:07:05 1842130323
Аноним 28/10/20 Срд 17:10:38 1842136324
Кто проходил собес в Озон? Поделитесь ощущениямиl как там,и про что спрашивают?
Аноним 28/10/20 Срд 17:19:27 1842140325
Аноним 28/10/20 Срд 18:15:00 1842197326
Снимок экрана 2[...].png 53Кб, 908x637
908x637
Я тут решил для общего развития поучить этот ваш го, сам пишу на похапе.
Открыл между делом реализацию метода из стандартной либы, и чет немного удивился подходу к именованию переменных и комментариям. Почти везде переменные называются одной буквой.
Аноним 28/10/20 Срд 23:59:49 1842553327
Компилятор делает екзешник с таблицей экпорта, где все функции видны, и имена переменных, что вообще очень легко реверсится и ломается кракерами. Может кто подскажет хороший обфускатор, и протектор, чтобы он как минимум - удалял таблицу экспорта (или переименовывал в функции а1,а2,а3... и тд.), глобальные переменные, и вообще усложнял реверсинг бинарника, скомпилированного стандартным компилятором го?
Аноним 29/10/20 Чтв 00:01:42 1842554328
Может есть чет подобное с control flow, чтобы запутывал поток выполнения ? Было бы очень здорово
Аноним 29/10/20 Чтв 00:09:51 1842560329
>>1842553
>>1842554
Опять ты. Думаешь, за месяц что-то изменилось, и появилось решение?
Аноним 29/10/20 Чтв 11:19:02 1842752330
>>1842553
Пиши в одном файле в одной функции всё
Аноним 29/10/20 Чтв 17:33:07 1843124331
>>1842560
а что нет?

>>1842752
точно, чет не додумался до такого.
Аноним 29/10/20 Чтв 17:37:36 1843135332
А кто-то разбирал бинарник го? Может есть что почитать?
Аноним 29/10/20 Чтв 18:38:21 1843188333
>>1843124
Нет, Go по прежнему не убийца C++.
Аноним 29/10/20 Чтв 18:47:55 1843195334
>>1843188
но тут писали обратное
Аноним 29/10/20 Чтв 18:53:31 1843200335
>>1843195
Тут много чего странного писали.
Аноним 29/10/20 Чтв 22:50:26 1843389336
image.png 98Кб, 1710x442
1710x442
кто как делает батч-инсерты в бд? у меня сейчас примерно такое решение, но имхо это хуйня какая-то, на ум ничего лучше не пришло
Аноним 29/10/20 Чтв 22:52:14 1843390337
>>1843389
пс. в коде есть небольшая опечатка, но в целом подход думаю понятен
Аноним 01/11/20 Вск 18:34:03 1845614338
Есть пара каталогов
cat1
|->proga1.go
cat2
|->proga2.go
Можно как-то подключить пространство имён proga1 в proga2?
я пытаюсь импортить типа "./proga1", но он что-то меня шлёт нахун. При этом я могу допустим на гитхаб залить, указать путь github.com/name/project/proga1 и он заимпортит, или в gopath залить проект, но не юзая эти методы можно как-то импортировать модули в таком виде?
Аноним 01/11/20 Вск 22:12:23 1845816339
Аноним 02/11/20 Пнд 00:03:31 1845867340
>>1845614
cd project -> go mod project

В proga2 пишешь import "project/cat1"
Аноним 02/11/20 Пнд 00:06:34 1845871341
Аноним 02/11/20 Пнд 20:36:16 1846557342
>>1837833
А я собственно год назад перекатился из жабы в го, охуенно себя чувствую. Жаба теперь кажется монструозной хуетой.
Аноним 02/11/20 Пнд 20:45:46 1846565343
>>1842197
одной буквой обычно ресиверы метода, естественно в циклах и r - reader, w - writer, b - byte buffer
Аноним 03/11/20 Втр 09:13:42 1846882344
>>1843389
Ты бы резал по тысяче штук что ли. Не знаю, что у тебя за СУБД, но в любом случае у неё есть предел батча
Аноним 03/11/20 Втр 12:35:28 1847027345
>>1843389
Обычно используют конструкторы запросов вида squirrel для подобных вещей. Но по-моему, кстати, далеко не все инструменты (и даже тот же squirrel) поддерживают именно вставку нескольких строк за раз, благо, нечастая операция.

>>1846557
Ну хз, мне кажется, истина где-то посередине должна быть. Котлин? Го2? Zig? Rust? Я хз, но у го тоже есть свои косяки и минимализм и ебанутые разработчики часто приводит к тому, что код представляет из себя лапшу из кучи вызовов системных и бизнес-функций, обработки ошибок, каналов и всего прочего, смотреть больно. Не говоря уже про то, на какие хаки в го приходится идти, чтобы обеспечить надежность (тм). Например, те же енумы.
Аноним 03/11/20 Втр 12:35:31 1847028346
>>1846882
в моем случае маловероятно, что придется добавлять более 1к записей одновременно. по 4-5 максимум
Аноним 03/11/20 Втр 14:43:55 1847131347
>>1847027
Ну так и есть. Го не замена джаве ни разу. Но джаве местами нахуй не нужно тащить за собой даже спринг бут с нетти. Тут легковесность го с его главными фичами с горутинами и каналами и самой главной фичей if err != nil {} заходит хорошо. Опять же, к примеру, реализация стека IoT железок (OPC-UA) на го есть в виде жалкого поделия студентоты, на Java же полная реализация и поддержка. И таких примеров конечно дохуя. Котлин кроме андройда вообще нахуй не нужен. Там та же ебанина кококорутины и структы. Ради этого всю джаву не обязательно тащить.
Аноним 03/11/20 Втр 14:47:52 1847140348
В Go-треде обсуждают джаву, в джава-треде обсуждают Go. Ебануться.
Аноним 03/11/20 Втр 14:59:34 1847146349
>>1847140
В принципе го и котлин довольно популярные у джавистов, по крайней мере на последних 2х местах работы. Как, кстати и JS-ники и в частности нодеры лютые ненавистники энтерпрайза, вполне себе на Go и на Ко, смотрели норм и сами вызывались часть сервисов написать на них.
Аноним 03/11/20 Втр 15:17:38 1847161350
>>1847131
> Котлин кроме андройда вообще нахуй не нужен.
Это ты зря, котлин - это не только корутины (да нахуй их на самом деле), это ещё и тонна удобного синтаксического сахара, решающего кучу проблем джавы без лишней боли, ту же нуллабилити, при этом без лишнего оверхеда (там логично прозрачный интероп, хотя вроде и с совсем небольшим оверхедом для гц).
Учитывая, что можно писать на котлине и на джаве одновременно в одном проекте - я не вижу причин его не использовать.
Смотри на это, как на java 20+. Шарпы сильно ушли вперед по фичам, а джава стагнировала - поэтому вместо оракла пришёл jetbrains и навернул поверх старой джаву свою новую, совместимую и содержащую все современные фичаи.
Аноним 03/11/20 Втр 15:57:01 1847196351
Перепост из общего треда:
Сижу на Энтерпрайзе-джаве, миддл. Собрал несколько офферов, по сути все кроме одного практически одинаковые по деньгам и условиям - джава, ~150к денег. Но есть один на го, причём го я практически не знаю, контора крупная, поэтому берут с рынка разрабов с других языков и учат на го. Как думаете, перекатываться? По деньгам просадка не сильная, процентов на 10 меньше остальных офферов.
Особенно интересно мнение, если вы успели на джаве поработать в энтерпрайзе, но и просто гошников хочу послушать
Аноним 03/11/20 Втр 17:19:56 1847312352
>>1847196
Хз, мне кажется, что джава пока что перспективнее из-за того, что вакансий больше и работу если что найти легче.
А го, хоть и простой, до сеньора ты пару лет всё равно будешь расти, потому что специфика планировщика, гц, экосистема и прочее быстро в голову не ложатся.
Поэтому лично я бы тебе порекомендовал сначала досеньорится на джаве до 300к/сек хотя бы, а уже потом брать второй язык, просто как инструмент для каких-то конкретных задач. Тот же го для узких мест, js для фронтенда и так далее.
Иначе есть риск остаться вечным миддлом, знающим много инструментов, но ни один не на 100% и из-за этого упереться в миддловый потолок а часики то тикают
Аноним 03/11/20 Втр 18:40:37 1847390353
>>1847196
Я бы не перекатывался с просадкой. Я сам вкатился на го с джавы с маленьким почти символическим повышением(+20к). Меня просто схантили бывшие коллеги.
Аноним 03/11/20 Втр 18:44:53 1847397354
>>1847390
7 лет джавы, год на го сейчас. Алсо я почти 8 месяцев на прошлом месте работы допиливал проекты за такую же ставку за час, как на го здесь. Потом как пошли премии за го проекты. Отказался от старой работы. Из-за ебанутых хотелок и самодурства продактов. В общем-то я поэтому и свалил.
Аноним 03/11/20 Втр 18:55:04 1847416355
>>1847161
Ну да, да. Я написал 1 сервис на котлине с джавой. Согласен, что это нормальное развитие. Это не скала блять. Но мне не зашло, в то же время го удачно зашел. Кстати как раз джава сервис в разработке сейчас, ебану-ка я котлин
Аноним 03/11/20 Втр 20:52:49 1847525356
Аноним 05/11/20 Чтв 21:52:37 1849039357
>>1847390
да нет, я сейчас собесы прохожу - насобирал офферов на около 150к, по сравнению с моей нынешней это х2, так что даже если я оффер на го возьму - улечу на х2 от текущих
Аноним 07/11/20 Суб 14:00:32 1850390358
>>1743955 (OP)

Сап, гайз. Скажите, а есть какие-нибудь достойные курсы по golang? Делайте скидку на то, что я тупой QA. Заранее спасибо.
Аноним 07/11/20 Суб 14:45:30 1850411359
>>1850390
А разве есть такие? Я вот лично не ебу о таких курсах, я бы подождал и подал заявку на Ozon Go School
Аноним 07/11/20 Суб 15:03:59 1850421360
>>1850390
Сначала проходишь go tour на оф сайте (либо локально, если удобнее), затем https://stepik.org/course/54403/, парралельно пытайся написать какую-нибуть прогру с паралельностью, например - web crawler.
Аноним 08/11/20 Вск 06:26:35 1850940361
>>1850421
спасибо, сейчас пойду проходить готур.
мимо левый анон
Аноним 09/11/20 Пнд 17:03:37 1851981362
Аноним 10/11/20 Втр 15:45:06 1852649363
Снимок экрана 2[...].png 78Кб, 859x593
859x593
подскажите, пожалуйста, можно ли так делать: у меня есть структура Processor, у которой есть набор методов (см скрин)

ProcessNews() - это воркер, который слушает канал Processor.tasks и что-то делает с тасками из него (при старте приложения запускаются N таких воркеров). Process() вызывает приватный метод processWebsites(), в котором достаются записи из бд и по определенной логике закидываются в канал Processor.tasks. У меня есть сомнения насчет того, можно ли закрывать этот канал внутри метода Process(), так как этот метод не является непосредственным писателем, а лишь вызывает писателя. Однако в этой реализации (поправьте, если я не прав) не может произойти такого, что processWebsites() будет писать в закрытый канал => паник быть не должно (только в том случае, если я буду вызывать processWebsites() еще раз отдельно от Process())
Имеет ли место быть такое решение или следует зарефакторить этот момент?
Аноним 10/11/20 Втр 19:22:33 1852860364
>>1852649
>метод не является непосредственным писателем
Это не важно, важно что эта горутина являеться писателем в этот канал, и никто больше.
А насчет зарефакторить - лучше сразу выкинуть канал пустых структур в пользу контекста.
Аноним 10/11/20 Втр 20:33:10 1852956365
>>1852860
спасибо. А имеет смысл через какой-нибудь sync.Once гарантировать то, что только одна горутина будет писать в этот канал?
Аноним 10/11/20 Втр 21:21:25 1853024366
>>1852956
Ну, для начала - sync.Once нужен скорее для ленивой инициализации какой-нибуть херни, зачастую довольно дорогой. Например, если ты создаешь какой-то дополнительный конфиг, до которого исполнение может и не дойти, и парсишь конфиг-файл не сразу же, а только когда внешнему коду нужно будет одно из полей конфига. sync.Once гарантирует, что коллбек будет вызван всего один раз, и в этом случае он точно не подходит.
> А имеет смысл гарантировать то, что только одна горутина будет писать в этот канал?
Зависит от твоей логики, возможно тебе нужна только одна пишущая и одна читающая горутина, а возможно - несколько.
Тут важно помнить, что канал - это не ресурс, который обязательно нужно закрыть. Если тебе нужен механизм для graceful shutdown - используй контекст.
А мьютексом защищать запись в канал точно не стоит, т.к. аналогичный механизм уже зашит в структуру канала.
Аноним 11/11/20 Срд 01:08:02 1853194367
>>1852649
>>1852956
Чтобы обеспечить запись или чтение в канал только одному или определённому числу воркеров одновременно, советую использовать семафоры.
Вот как пример мой говнокод https://goplay.space/#c5DRpaV1vSf
Вместо канала stop, советую юзать контекст.
Аноним 11/11/20 Срд 01:51:49 1853205368
Аноним 11/11/20 Срд 11:21:44 1853336369
>>1853024
Спасибо за подробный ответ еще раз!

>>1853194
Да семафоры - это все здорово, но в данном случае мне нужно ограничить не одновременное число воркеров, а в целом число горутин, которые будут писать в канал. Семафор в этом случае мне мало полезен, т.к речь идет про горутину, которая пишет в канал и закрывает его
Аноним 11/11/20 Срд 21:07:54 1853897370
А как работать с ошибками?
С одной стороны, линтер требует, чтобы я не создавал ошибки, а использовал статические.
С другой, хочется пробрасывать наверх какой-то контекст ошибки.
Третья проблема, что текст ошибок попадает на самый верх и хочется их локализовать.
Советы/ссылки?
Аноним 11/11/20 Срд 21:28:29 1853906371
>>1853897
У нас есть свой тип ошибки, с конструктором Wrap, который включает текст предыдущей ошибки и какой-то текст.
В итоге наверху получается ошибка вида "отъебнула запись: ошибка доступа к бд: сломана сеть"
Аноним 16/11/20 Пнд 06:04:06 1857385372
>>1853906
> ошибка вида "отъебнула запись: ошибка доступа к бд: сломана сеть"
Спешите видеть, гоферы изобрели стектрейсы эксепшены нинужна пок пок! хочу обрабатывать ошибки сразу куд кудах!
Аноним 16/11/20 Пнд 12:54:32 1857546373
>>1857385
Что тебе не нравится? Да, по сути это стектрейс, а эксепшены и правда не нужны
Аноним 16/11/20 Пнд 12:55:24 1857548374
>>1857546
> Что тебе не нравится?
Мне всё нравится. Потому что я пишу на языке программирования, а не на го
Аноним 16/11/20 Пнд 12:58:10 1857550375
>>1857546
> эксепшены и правда не нужны
Про дженерики так же говорили. Пока главный обезьян не сказал, что таки нужны
Аноним 16/11/20 Пнд 13:00:53 1857553376
>>1857550
Я не знаю, кто такой главный обезьян, но он неправ. Дженерики тоже не нужны и мне не нравится, что их добавят в го.
Аноним 16/11/20 Пнд 13:08:55 1857559377
Почему в Говне такая уебищная конвенция начинать функции с большой буквы?
Аноним 16/11/20 Пнд 13:09:37 1857560378
>>1857559
Это единственное что тебя смутило в Говне, правильно понимаю?
Аноним 16/11/20 Пнд 14:57:02 1857648379
>>1857548
>Потому что я пишу на языке программирования, а не на го

а че тогда переживаешь? в твоей конторе решили перейти на го и тебя вот-вот выгонят на мороз?
Аноним 16/11/20 Пнд 14:59:51 1857652380
>>1857648
Как раз говноедов куда легче выгнать на мороз, т.к. понабрать с улицы дибилов, которые смогут на нем наговнякать вообще не проблема
Аноним 16/11/20 Пнд 15:01:26 1857656381
>>1857559
Это не конвенция, а public с большой буквы и private с маленькой. Видать, сильные вещества были.
Аноним 17/11/20 Втр 02:58:13 1858082382
Пришел пореветь.
Сука каждый go-проект - индивидальность и набор костылей и бывших коллег. Заебало ппц нахуй
Аноним 17/11/20 Втр 03:00:12 1858083383
>>1858082
Но зачем ты продолжаешь на нём писать?
Ладно есть странные челики которым го нравится, типа этого >>1857553 , но если есть понимание что технология - отстой, зачем продолжать её пользоваться?
Аноним 20/11/20 Птн 22:59:56 1861495384
Сап, анончики, к вам пришел hyяr. Короче, предлагаю вакансию на гошника-мидла в достаточно крупную компанию в Москве :D Если есть интерес пообщаться, ну и вообще поговорить с хлебом, ищущим людей на дваче, пишите на email zhuchkovatmk@gmail.com, там подробнее расскажу о компании, все такое. Спасибо, если прочитали :3
Аноним 22/11/20 Вск 21:10:34 1863104385
>>1861495
джунов берите уууу, блять, где работать, потратил на эту залупу полгода
Аноним 22/11/20 Вск 21:16:42 1863112386
>>1861495
Мооооод, тут насрано!!!!1111

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

Аноним 22/11/20 Вск 21:18:36 1863115387
>>1863104
Ты бы ещё питон учил. Сотню раз уже писали, что пщ для тех, кто перекатывается из других языков, а не для джунов.
Аноним 22/11/20 Вск 21:29:13 1863132388
>>1863112

Абизьян, ты тут че, филиал линкедина устроил чтоли?

this:
https://2ch.hk/pr/res/1743955.html#1861495
https://2ch.hk/pr/res/1824044.html#1861498
https://2ch.hk/wrk/res/2131367.html#2135945

И да, это по ходу еще и тян https://psycheforum.ru/profile/168499-zhuchkovatmk замужем правда

Щас я пойду твою почту в соц запощу, отбивайся потом со своей реальной почтой от полчищ спермотоксикозных уже-не-школьников.
Аноним 23/11/20 Пнд 01:06:13 1863331389
>>1863132
бля, обожаю сосач: минуту назад читал тред по гошке и вот уже изучаю интимную жизнь какой-то херочки
Аноним 23/11/20 Пнд 07:15:53 1863439390
>>1863132
> zhuchkovatmk
> zhuchkovatmk
> по ходу еще и тян
Да ну нахуй, никогда не поверю. Скажи еще, что ты можешь назвать ее/его фамилию.
Аноним 23/11/20 Пнд 11:43:47 1863543391
Аноним 25/11/20 Срд 18:22:34 1865563392
>>1857656
а мне нравится. прочитал название и сразу видимость понятна. я тут переписывал сишарт и заебался отдельно на кейворды смотреть перед функцией.
27/11/20 Птн 08:59:42 1866685393
Аноним 27/11/20 Птн 14:16:06 1866882394
>>1866685
Токсичный душнила --_-- X_X
Аноним 27/11/20 Птн 17:02:12 1867026395
>>1847390
бля, ты не из озона случайно лол?
Аноним 27/11/20 Птн 17:15:21 1867040396
Анончики что-то я дико туплю
golangci-lint умеет хайлайтить?
Аноним 27/11/20 Птн 18:24:18 1867104397
>>1867040
Хуйня какая-то короче, сел на ванилу
Аноним 27/11/20 Птн 19:33:33 1867176398
>>1863439
А может это молдаванин, Жучковат М.К.
Аноним 27/11/20 Птн 19:58:57 1867196399
Аноним 27/11/20 Птн 20:15:10 1867204400
0.jpeg 25Кб, 1536x768
1536x768
Не знаю туда ли я зашел, но может че скажите про Avito как работодателя. Как вообще там?
Аноним 27/11/20 Птн 20:17:08 1867206401
>>1867204
получи оффер туда сначала
Аноним 27/11/20 Птн 20:17:38 1867208402
>>1867196
Кого оно там что умеет?
Линтеробандлер на который нужно вручную наваливать хуки билда с тестами, всё равно имея шанс отваливания при цеплянии нового файла, охуеть просто
Поставил стандартный чейн линтер-статикчек-пачкачекеровизкоропки, за мгновение подсвечивает вообще всё, что только можно
Аноним 27/11/20 Птн 20:26:02 1867217403
>>1867206
Че ты бомбишь-то на ровном месте? ) Есть у меня оффер
Аноним 27/11/20 Птн 21:05:28 1867245404
>>1867208

звучит как какие-то редакторо проблемы у меня в ale в виме норм работал

просто на всякий случай спрошу, а ту ли проблему ты этим линтером решаешь, не gopls ли тебе часом нужен?

>>1867204

смотря в какую команду и с кем сравнивать, в среднем васьки вроде >>1867206 дрочат на авито https://habr.com/ru/post/529928


Аноним 27/11/20 Птн 21:08:02 1867246405
>>1867245
>смотря в какую команду
Блэд, как всегда, проблема больших контор.
Аноним 27/11/20 Птн 21:08:39 1867248406
>>1867245
>>1867246
А может ты за вертикали можешь пояснить?
Аноним 27/11/20 Птн 21:18:04 1867256407
Аноним 27/11/20 Птн 21:23:16 1867266408
Аноним 27/11/20 Птн 21:25:09 1867269409
1. Что интересного есть в плане работы на Го? Понятно что язык максимум уёбищный, но, может, у вас какие-то интересны задачи/предметные области есть? Или как и все колбасите обосраные CRUD'ы, только на говноязыке?

2. IDEA пользуетесь? Как она в плане глючности/тормознутости для Го?
Аноним 27/11/20 Птн 21:32:39 1867274410
>>1867269
> Что интересного есть в плане работы на Го?
Девопс, операторы к куберу, хайлоад бекенд, WS сервера
> IDEA пользуетесь?
Больше половины гоферов сидят на golandе, остальные на go pls + вим/вскод/атом/етц. Первый вариант такой же по глючности как и остальные жетбейн иде, почти с таким же функционалом
Аноним 27/11/20 Птн 21:37:41 1867277411
>>1867274
> такой же по глючности как и остальные жетбейн иде
Они таки отличаются. Для джавы работает вообще чотко, дерзко, быстро. А скала плагин глючит так, что мне иногда кажется будто они его специально портят чтобы скалисты переходили на их котлин
Аноним 27/11/20 Птн 21:42:36 1867281412
>>1867277
Да нет, просто в плагин скалы не влили и десятой части того бабла, который влили в основной парсер жавы. А ещё есть прямая корреляция между сложностью языка и сложностью написания IDE к нему (посмотри на любую топовую иде для плюсов, кекус).
Аноним 27/11/20 Птн 21:45:35 1867287413
>>1867217
и у меня есть. чо делать будем?
Аноним 27/11/20 Птн 21:58:26 1867295414
>>1867269
>Что интересного есть в плане работы на Го? Понятно что язык максимум уёбищный, но, может, у вас какие-то интересны задачи/предметные области есть?
Бэкэнд как бэкэнд — из одной базы почитал, в другую посрал, результаты работы в очередь закинул — повторяешь. Разве что всё го-коммьюнити помешано на микросервисах, так что будешь ещё и девопсом зато не будешь месить абстрактные фабрики одиноких фасолин как на джаве в проектах на 15 млн строк бройлерплейта, лол.

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

>2. IDEA пользуетесь?
Кто работает на станционарниках — пользуются, кто любит ноутбуки — нет. Язык убер простой, и ничего кроме простого автокомплита и go to definition не нужно, поэтому хоть в nano можешь код ебашить.

>>1867274
>Девопс, операторы к куберу,
Вот-вот, я про то же.
>хайлоад бекенд
Вот это в 95% хуйня кстати, на го уже даже всякое круд-ориентированное говно вроде црм пишут, это новый пхп.
>WS сервера
Ого, аж вебсокет сервера? Вот это экзотика.
Орнул.

Аноним 27/11/20 Птн 21:58:44 1867296415
>>1867269
1. Если ты всю жизнь писал круды пересев на го вряд ли что-то поменяется
2. Ну я щас прямо тащусь от флайчекерных хайлайтов. DAшный компелятор конечно чувствуется
Аноним 27/11/20 Птн 22:05:37 1867302416
>>1867246
Да это проблема вообще любой конторы, где проектов больше одного или один просто уже достаточно большой. Бывают компании и меньше сотни человек, где в одном отделе ахуенно работать в а соседнем тимлид — старый и токсичный пидорас, стек из 80-х и воняет гавной в их части офиса, лул.

В любом случае для такого есть испытательный срок, и уйти можно чуть ли не одним днём если договорится.
Аноним 27/11/20 Птн 22:17:26 1867313417
Привет
В го все так же нет смысла вкатываться, как в первый язык?
Не программист и не разработчик, для себя свифт изучал, но облизываюсь на работу коллег погромистов (не го,бэк)

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

Спасибо
Аноним 28/11/20 Суб 00:12:46 1867447418
Анончи, а с чем конкурирует Го? Не в сугубо техническом смысле с сишкой надо понимать, а в рыночно-техническом.
Аноним 28/11/20 Суб 00:53:54 1867474419
15215752130990s.jpg 6Кб, 200x200
200x200
>>1867447
С другими ориентироваными на веб бэкенд языками и либами, вроде PHP, node.js и питоновской джанги. Плюсы и джаву с двадцатилетним легаси он точно не выбьет из банков и прочего кровавого эетерпрайза, а вот распилить на модные микросервисы какой-нибудь разросшийся монолит относительно молодого стартапа всегда берутся с радостью. Язык простой, с нормальной системой типов, компилируемый в нормальные бинарники который тут же кладется в еще более модные докеры с кубами, шустрый и с крутыми потоками из коробки. Чего еще нужно для языка 21 века? ну кроме дженериков и эксепшенов, азаза
Продать такое инвестору или выступить на докладе с кучей хайповых терминов очень легко, поэтому язык на хайпе, зарплаты в топе, и прямо сейчас на нем пишется огромное количество легаси, которое можно будет поддерживать ближайшие 20 лет, гоняя чаи на пенсии сеньором-помидором за 300ксек. Те же озоны сейчас набирают перспективный молодняк в свои онлайн-школы, чтобы выпустить больше рабочих лошадок, другие думаю тоже скоро подтянутся. Надо вкатываться, пока поезд не ушел и спрос на гошника намного выше предложения. Я к слову вкатился этим летом и очень доволен, остальным анонам удачи!
Аноним 28/11/20 Суб 01:52:15 1867480420
picturesfunny11.jpg 53Кб, 520x390
520x390
>>1743955 (OP)
Анон, около 9 месяцев работаю голенг джуном, в мухосране за 30к, до этого работал эникеем, в конторе сталкивался с задачами связанные с докером, кибаной, графоной, реббитом, кликхаусом, монго, постгресс, ссдб, аэроспайк, карочи крудо дроч, еще периодически правлю баги в юайке реакта(но не особо глубоко лазил под копот). Карочи суть в чем, заебало работать за 30к, я уже здоровый лоб, и это пиздец стыдно за 400баксов батрачить. На какую зп я могу расчитатывать при переезде в ДС, или искать удаленку?
Аноним 28/11/20 Суб 01:55:27 1867481421
>>1867313
В го есть достаточно строгий стандарт кода и организации проекта, которые могут и стать плюсом, научив вкатывальщика делоть проекты на го, так и минусом, конфликтуя с практиками других языков (на одном го далеко не уедешь, параллельно нужно будет учить как минимум html, css, javascript)
С гошными концепциями ещё сложнее: даже имеющие десятки лет опыта программисты гадают, есть ли в го ооп... Если ты до этого не был знаком с основами какого-нибудь процедурного языка и основами какого-нибудь ооп (хотя бы номинального а-ля реализация в скриптовых языках) - с 99% не поймёшь "как", "что" и "к чему было" навелоспидено, с чем сопостоявляется и какие приемущиства противопоставляет другим реализациям, особенно традиционным
Аноним 28/11/20 Суб 02:14:25 1867482422
>>1867480
Заебись ты вкатился. Я в го вступил за 180 не зная го нихуя. Правда 6 лет java
Аноним 28/11/20 Суб 02:17:28 1867484423
>>1867274
>Больше половины гоферов сидят на golandе
Двачую. JetBrains практически безальтернативная. vscode - и прочие извращения - это для тех, у кого го сервисы как пет проекты или неважная хуйня.
Аноним 28/11/20 Суб 02:25:38 1867485424
>>1867295
>Разве что всё го-коммьюнити помешано на микросервисах

Поэтому go-micro прекратили развивать, потому что перерос. (привет ява) Но таки-да. у меня 15 го-сервисов из ни 6 го микро.
Аноним 28/11/20 Суб 03:22:39 1867491425
Бамп
Аноним 28/11/20 Суб 11:40:20 1867629426
>>1867485
И как же твоя библиотечка вообще относится к микросервисам в целом, ммм?
Аноним 28/11/20 Суб 13:31:52 1867688427
>>1867474
>С другими ориентироваными на веб бэкенд языками и либами, вроде PHP, node.js и питоновской джанги
Да ебать, вы серьезно что-ли? Каким образом гошка может с ними конкурировать? Там архитектура и абстракции, тут алгоритмы и низкоуровневщина.
Аноним 28/11/20 Суб 14:15:46 1867704428
>>1867688
>низкоуровневщина
>GC
Аноним 28/11/20 Суб 14:16:23 1867705429
>>1863115
и питон учил, пока не понял что вак ансий нет. Не хочу в джаву блять, не хочу в пыху, в вузе были C/C++, которые дают на уровне старшей школы нормальной. Неужели реально нужно идти в джаву?
Аноним 28/11/20 Суб 14:39:52 1867715430
>>1867705
>питон
>вак ансий нет
Ты ебу дал? Я имею в виду действительно ебу дал?
Аноним 28/11/20 Суб 16:19:00 1867745431
>>1867715
А что не так? Я вот когда вкатывался полтора года назад, тоже думал, что в питон вкатиться просто, а затем, когда реально начал искать вакансии, находил только с требованиями опыта от 2 лет и знанием небес аллаха, или опыт не требовался, но судя по вакансии, ты реально будешь чаще заполнять бумажки и чинить принтеры, чем писать хоть строчку на питоне. Действительно нормальных вакансий для джунов (без всяких "быть выпускником топ-5 вузов", например) было очень мало. Плюнул, вкатился в жабу, подтянув за пару месяцев нужное, сижу в энтерпрайзе, программирую на XML.
Аноним 28/11/20 Суб 16:28:21 1867753432
>>1867745
А ну без опыта может быть. И то, в любом языке потребность джунов будет одинаковой и при этом они всегда на каком-нибудь проекте да нужны.
Аноним 28/11/20 Суб 17:29:08 1867790433
>>1867688
Ты или не написал ни одного проекта на го или нихуя не понял и долбаёб
Аноним 28/11/20 Суб 17:31:54 1867792434
>>1867790
Долбоеба пусть тебе жизнь простит.
А я тебе скажу, что скорее всего ты никогда не писал на тех языках, а если и писал, то был кодером, в которого тимлид задачи кидал. И кроме как кодить, вряд ли что-то можешь.
Аноним 28/11/20 Суб 17:44:54 1867796435
Аноним 28/11/20 Суб 19:21:18 1867824436
>>1867792
Я твой язык не оскорблял это во-первых
В отличии от тебя на работе не работаю это во-вторых
Какие ты там абстракции не нашёл в го это в-третьих
Аноним 28/11/20 Суб 19:56:56 1867852437
>>1867715

Ну открываю хх, вакансий 50, на гошечке 250. Летом было
Аноним 28/11/20 Суб 20:02:07 1867857438
Снимок экрана 2[...].png 26Кб, 538x279
538x279
Снимок экрана 2[...].png 22Кб, 415x261
415x261
Аноним 28/11/20 Суб 20:38:47 1867884439
У го есть потанцевал для переката забугор? По пистоновскому резюме пишут иногда в линкедин, а тут как будет?
Аноним 28/11/20 Суб 21:42:06 1867944440
>>1867857
Он видимо так и пишет "питон" в строке поиска, кек.
Аноним 28/11/20 Суб 21:42:53 1867948441
>>1867884
Почти никак не зависит от стека если он хоть как-то востребован (за исключением 1С, лол).
Аноним 28/11/20 Суб 22:37:36 1868006442
>>1867948
Не сказал бы что не зависит, найти вакансии того же джависта за бугром гораздо проще.
Аноним 28/11/20 Суб 23:02:14 1868026443
>>1868006
И в чём же эта простота выражается?

Как я уже сказал — драматическая разница была бы если бы ты был 1с-ником, а так это будет просто флуктуация и твоё личное восприятие, которое может зависить банально от того, в каком месяце ты искал работу там и там, лол.
Аноним 28/11/20 Суб 23:09:51 1868031444
>>1868026
Больше вакансии значит больше фирм и выбор условий в виде зарплатой вилки, стека на проекте, условий переезда и отношения к тебе начальству и значит больше шансов найти подходящую тебе компанию
Аноним 28/11/20 Суб 23:17:16 1868037445
>>1868026
Жава сейчас один из самых ин-деменд языков благодаря
искусственному пропихиванию c# , особенно среди новых кадров
Аноним 29/11/20 Вск 00:01:04 1868088446
>>1867948
Лолчто, давай-ка зайдём на relocate.me и посмотрим, каких вакансий вообще и для релокации в твою любимую страну больше.
Обоссал бы тебя за то, что новичков обманываешь

>>1867884
Чем язык популярнее, тем легче. Плюс, некоторые сферы более склонны к мобильности, чем другие. Субъективно, самый мобильный и распространённый - это веб. Та же удалёнка у мобилок обычно развита слабее, потому что тебе для тестов потребуются разные девайсы и если разработчик в другой стране, то ему сложно будет найти себе 10 разных телефонов для проверки всякой фигни на них.
Короч, для релокейта наиболее удачны java, js/ts (особенно фулстеки с нодой), php. C# там где-то рядом, но он более корпоративный и как будто бы менее стартаперский, так что возможностей именно для релокейта поменьше.
Конкретно для го релокейт возможен, но будет значительно сложнее, в том числе и из-за того, что го часто идёт вторым языком и поэтому ты будешь должен знать ещё что-то (обычно жаву либо пыху).
Аноним 29/11/20 Вск 00:26:57 1868133447
>>1868031
Это условия рынка в целом, а не какие-то мифические лучшие "условия для релокейта", которые ты сам себе придумал.

>>1868037
Опять верно по отношению к рынку в целом, но не коррелирует с релокейтом никак.

>>1868088
>Лолчто, давай-ка зайдём на relocate.me и посмотрим
Давай, открыл и вбил java и golang — 105 к 16.
Потом открыл хх и повторил — 3080 к 376.
Отличий между рынками не замечено.

Потом идём и смотрим отношение спроса к предложению (единственный адекватный способ — статистика по зарплатам).
Вилки буржуев — https://insights.stackoverflow.com/survey/2020#work-salary-and-experience-by-language
Вилки в постсовке — https://habr.com/ru/article/511700/ (прямо сейчас хабр лежит, но там графики почти 1 в 1).
И по ним мы видим одинаковую статистику — на программистов на говне спрос удовлетворён значительно слабее.

>Обоссал бы тебя за то, что новичков обманываешь
^ тебе пора мыться, воняет.

>в том числе и из-за того, что го часто идёт вторым языком и поэтому ты будешь должен знать ещё что-то
А сейчас я тебя уже буду обоссывать за то, что дуришь нюфага: с вот таким набором знаний шансов на релокейт просто нет.
Аноним 29/11/20 Вск 00:33:09 1868143448
>>1868133
Идеал это перекатываться бекендером с другим основным языком и го вторым. Сам так планирую сделать, бекендер на ноде (ts)
Аноним 29/11/20 Вск 00:37:38 1868147449
>>1868143
О, поясни плиз, зачем тебе го? Ты же на ноде в шоколаде, неужели гошка прибавляет значительно ценности для релокейта?
Да и мне представить сложно, зачем он вторым языком, если только не переписывание.
Аноним 29/11/20 Вск 00:38:58 1868148450
>>1868143
Идеал это когда ты синьйор-помидор с релевантным опытом в любой более-менее релевантной технологии, и в целом тебе похуй на язык, не испытываешь проблем с пойти и выучить, но зачастую самое важное — это опыта в предметной области.

Из 4-х мест работы я на 2 пришёл не зная основной технологии и изучив её на месте (проходил именно по общим знаниям + опыте в предметной области).
Аноним 29/11/20 Вск 00:41:14 1868151451
>>1868147
Я не он, но могу рассказать по секрету (пару раз собеседовал сам), что если ты придёшь на любой собес и скажешь что пишешь на одном языке — то сразу просто пиздец как опустишь себя в глазах собеседующих, если ты не джун.
Аноним 29/11/20 Вск 00:42:27 1868152452
>>1868151
Я не знаю в каком вы мире живете. Это хуйня полная.
Аноним 29/11/20 Вск 00:51:02 1868160453
>>1868152
Ну, может и в другом — с джавой и прочим энтерпрайзом не связан никак, может там это и ок.
В моём мире вообще везде — и в бэке, и в фронте, и в мобилках — везде такая конъюнктура.
Аноним 29/11/20 Вск 01:09:59 1868171454
Кому не западло показать типичную ручку, которую пишете на работе?
Оч хочется представить себе типичный рабочий день.
Аноним 29/11/20 Вск 01:41:45 1868193455
a665c1822f1d61c[...].JPG 48Кб, 1500x736
1500x736
139167-big-file.jpg 13Кб, 200x425
200x425
Аноним 29/11/20 Вск 05:00:11 1868220456
>>1868147
Для релокейта гошка мало ценности прибавляет, вакансий не очень много. Но знание го, как мне кажется, повышает мою ценность на рыночке. Нас жсеров как говна ведь. И мне го просто нравится, в узких местах для перформанса или других профитов можно делать отдельные сервисы на нём. В одном месте, где я работал, у нас был весь бекенд на го, а на ноде был только сервер для рендеринга реакт-приложения.
Я сам по себе очень ленивый, для бекенда мне нужен был второй дополнительный язык посерьёзнее. Джаву и сишарп было лень учить, они казались какими-то раздутыми и перегруженными, хотя полсе тайпскрипта мне дотнет думаю хорошо подошёл бы. В итоге взял гошку и не пожалел.

>>1868148
Согласен, но вот я часто испытываю некоторые проблемы с пойти и выучить. Работать хочется как можно меньше. В свободное время мог что-то учить только когда зелёным джуном, а за счёт работодателя иногда может быть и можно.
Аноним 29/11/20 Вск 14:07:58 1868401457
>>1867484
Ну, на самом деле vscode + gopls покрывают 95% юзкейсов - рефакторинг, го-ту-дефинишин, автокомплит они умеют. Все остальное я в повседневной работе практически не использую, по этому вполне могу работать и вскода, который, к тому же, на много легче для железа.
Аноним 30/11/20 Пнд 00:20:42 1869015458
imagge.jpg 22Кб, 600x576
600x576
2020-11-30-0018[...].png 11Кб, 217x138
217x138
>>1868401
Эта хуйня даже умеет сама ресолвить и вставлять импорты Ебанумба
Аноним 30/11/20 Пнд 00:39:47 1869018459
>>1869015
> imagge.jpg
Что, тоже заебался вручную переименовывать картинки в image?
Аноним 30/11/20 Пнд 01:48:26 1869028460
>>1869018
Устал разгребать мелкоскрипты
Аноним 30/11/20 Пнд 08:00:41 1869084461
ГО
Аноним 30/11/20 Пнд 14:53:16 1869232462
Мне никто так толком и не ответил, с кем конкурирует гошка в экономико-техническом плане.

Перефразирую, если в проекте где подходит гошка используем не гошку, то что тогда?
Аноним 30/11/20 Пнд 15:20:44 1869246463
>>1869232
Ну тебе ответили
Весь скриптовый зоопарк Python Ruby JS PHP
Проперженный тырпрайз JVM C#
Если скорее технически - какой-нибудь эликсир

Ты можешь взять и написать любой сервис с типами, идиом ооп, латенси-гц перформансом и мультитредом, поддерживаемым комунитей код стилем, тонной изкоропочных либ на все случаи жизни и в среднем это всё будет собираться в ~30мб бинарник из которых 10 рантайм
Аноним 30/11/20 Пнд 15:28:28 1869250464
Есть курсы какие-то на udemy или что-то похожее?
Аноним 30/11/20 Пнд 16:24:12 1869277465
>>1869246
Короче конкурент всему и сразу, такой вывод можно сделать?
Аноним 30/11/20 Пнд 16:25:26 1869279466
>>1869277
Джава пхп не конкурент, а гошка конкурент и пхп и джаве?
Аноним 30/11/20 Пнд 16:49:58 1869292467
Аноним 30/11/20 Пнд 16:58:49 1869300468
>>1869277
Сейчас буквально каждый язык позиционирует себя как генерал пурпос, из которого можно слепить что угодно
Го тоже, но со своими тех характеристиками значительно выделяется на фоне остальных
>>1869279
два труъ ооп языка vs оопшное имплисит лего
житовские вм и сги vs натив
конкуррент танцы с бубном vs гугловский эвент луп и зеленые потоки
отдельный штат девопсов vs 5 строчек на мультистейж докере
пердолинг пакет менежера vs импорт ссылки на гитхаб прямо к код )

Вроде бы другое против другого, но практике, чисто практически, из можно слепить что угодно, ебя мозг в разы меньше, еще и получить гору плюшек с тех. составляющей части
Аноним 01/12/20 Втр 02:31:52 1869728469
>>1869015
>Эта хуйня даже умеет сама ресолвить и вставлять импорты Ебанумба
Так это и го туллинг умеет, вроде go fmt тоже это делает. Другой вопрос в том, что руками его запускать может задалбывать, на много удобнее когда тебе это ИДЕ при сохранении вызывает.
Аноним 01/12/20 Втр 03:16:08 1869742470
Привет, Goвнюки.

Что с работой на го?
И сколько нужно потратить на вкат, если уже давно
умеешь программировать на си, джаве, питоне, жс/тс, чтобы получать не меньше, чем на той же джаве?
Аноним 01/12/20 Втр 11:10:38 1869847471
>>1869742

нет пути для формошлёпа в божественный мир хайлоада на го
Аноним 01/12/20 Втр 18:00:42 1870158472
>>1869847
Нет такого слова "highload".
Можешь хоть в гугле поискать - хуй найдёшь.
Это рунглиш. У белых людей это называется "high performance".

И что там с работой, реально?
Аноним 01/12/20 Втр 18:58:49 1870253473
>>1869742
Есть инфа от знающего человека, что у нас в языке скоро ожидаются реальные изменения. После того, как стабилизируют ситуацию женериками, уничтожат !=nil (запрещенный во всех языках эррор хендлинг), добавят оверлап интерфейсов. Тогда и сформируется окончательный альянс С и Java в одном флаконе. Спрос поднимется и будет держаться, тырпрайз ничего не сможет сделать. Сейчас главное не бухтеть.

>/pr
>Что с работой
Аноним 01/12/20 Втр 19:14:09 1870281474
>>1870253
> тырпрайз ничего не сможет сделать
Тогда тырпрайз начнёт писать проекты на Go, в чём проблема. Вот только эксепшонов и дженериков для этого не достаточно, пока РЯЯ ПИШЕМ МАКСИМАЛЬНО EXPLICIT ЦИКЛИЧЕСКИЕ ЗАВИСИМОСТИ НЕ НУЖНЫ ПАКЕТЫ ЧЕРЕЗ ГИТХАБ А ЗАЧЕМ ВАМ ДЕБАГГЕР ФРЕЙМВОРКИ И ИНФРАСТРУКТУРА.
Аноним 01/12/20 Втр 19:48:42 1870340475
Аноним 01/12/20 Втр 19:59:38 1870359476
Аноним 01/12/20 Втр 20:24:25 1870376477
Поясните, пожалуйста, что нужно курить, чтобы понимать unsafe код? Вот, как пример - нашел в исходниках протобафа однострочную функцию, где i - это поинтер на интерфейс.
>(*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]
Аноним 01/12/20 Втр 20:32:11 1870384478
Аноним 01/12/20 Втр 20:55:46 1870397479
>>1867480
лол бля
с таким опытом 150+
я работал те же 9 месяцев джавистом - дай бог половину их твоего списка потрогал, в основном сидел кишки jvm и спринга изучал, и то охуел
перекатился на го, зп у людей с моим опытом и навыками в диапазоне 120-180к
Аноним 01/12/20 Втр 21:04:21 1870398480
кто-нибудь знает о golangcourse.ru, стоит оно 45к на 3 месяца? это те же курсы, что и на курьере, но с живым код-ревью от директора из мейла и обещают помочь в трудоустройстве отличившимся
Аноним 01/12/20 Втр 21:56:38 1870417481
>>1870398
>45к на 3 месяца
Цыгане совсем уже охуели.
Никакие интернет-курсы столько стоить не могут.
А особенно по go.
Аноним 01/12/20 Втр 22:12:17 1870434482
>>1870398
Я как-то пару раз прошёл готур (с перерывами между ними, ибо на первый раз нехуя не понял) и поговнокаживаю себе проектики
Честно говоря, не очень представляю, как можно отличиться, пися на гошке если не в худшую сторону
Аноним 01/12/20 Втр 22:59:59 1870487483
>>1870376

что непонятного-то, привели интерфейс к пойнтеру, его привели к указателю на массив из двух пойнтеров и взяли второй элемент, тот в котором значение хранится (в первом тип)

>>1870384

cgo тут не при чем

читай исходники го, единственное, что в данном случае можно посоветовать
Аноним 01/12/20 Втр 23:15:38 1870502484
>>1870487
>что непонятного-то
в_самом_деле.jpg

Ребята, вы на такой хуйне энтерпрайз писать собрались?
Мечтатели, блядь.
Аноним 01/12/20 Втр 23:28:21 1870505485
image.png 71Кб, 483x885
483x885
>>1870502
Не осилил 11 слайд гайда для чайников
@
Ребята, вы на такой хуйне энтерпрайз писать собрались?
Аноним 01/12/20 Втр 23:40:42 1870508486
>>1870505
Чувак, это ты не осилил понять, что я имел в виду.

Подобная путаная и двусмысленная хуита не подходит на замену джаве.
Которая хороша именно своей простотой и недвусмысленностью.
Поэтому на ней пишут энтерпрайз, понимаешь?
Аноним 01/12/20 Втр 23:42:58 1870509487
>>1870384
Окей, похоже по диагонали документацию читать было плохой идеей.
>>1870487
>что непонятного-то
Для меня не очевидно, что можно кастануть структуру с двумя поинтерами в арей поинтеров. Вообще что во что можно кастануть, чтобы это не упало и чтобы имело смысл.
Аноним 02/12/20 Срд 00:25:13 1870536488
image.png 17Кб, 546x91
546x91
>>1870508
Ты прикалываешься или что-то?
Аноним 02/12/20 Срд 03:25:59 1870594489
>>1870158
Работа есть, мой тимлид проводит собеседования почти каждый день, и рассказывает такое, что волосы стынут в жилах.
Аноним 02/12/20 Срд 05:11:22 1870605490
>>1870594
> рассказывает такое, что волосы стынут в жилах.
В смысле?
Тупые ебанаты приходят, или наоборот?
Аноним 02/12/20 Срд 05:35:29 1870611491
>>1870594
И да, какого рода проекты вы делаете на go?
Аноним 02/12/20 Срд 09:34:19 1870669492
>>1870502
>>1870508

Васёк, иди обратно в свой загончик для ынтырпрайзных 1С

>>1870509

> Для меня не очевидно

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

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

>>1870605

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

>>1870611

интырпрайзные, блять, посмотри на отечественный фаанг - все себе уже го притащили (плюсом к существующему стеку и переписывают легасню)
Аноним 02/12/20 Срд 10:17:09 1870679493
>>1870605
Пиздец тупые, просто блять фантастика. Это видимо они рассказывают в МВП треде, что пять лет назад вкатились бы, а сейчас требования не те
>>1870611
На го делают только один тип проектов - микросервисную клауднейтив высоконагруженную джейсономешалку. Можешь ещё маркетинговых терминов насыпать
Аноним 02/12/20 Срд 10:55:46 1870687494
image.png 125Кб, 630x630
630x630
Хочу вкатится в ГО из-за того, что у него милый маскот и мне нравится светло-голубой цвет.
Пожалуйста, отговорите меня ну или просто обоссыте
Аноним 02/12/20 Срд 11:21:57 1870705495
image.png 59Кб, 1280x1439
1280x1439
>>1870687
Мерзкий маскот, у меня ассоциируется с ленивцем из мультика про ледниковый период. Лучше в нормальный язык вкатывайся (пикрил).
Аноним 02/12/20 Срд 11:23:52 1870709496
>>1870687
Можно разочароваться в парадигмах, подходах, идее языка, виду работ на котором его используют.

Но можно ли разочароваться в милом маскоте, с которым с каждым годом будет больше контента?
Ты самый просветленный в треде.
Аноним 02/12/20 Срд 13:07:51 1870771497
>>1870679
>На го делают только один тип проектов
Я имел в виду предметную область.
Аноним 02/12/20 Срд 13:51:09 1870795498
>>1870687
Этот маскот похож на кузьмича с усами из советских фильмов.
Аноним 02/12/20 Срд 14:43:24 1870846499
>>1870705
А в плюсах кто маскот?
Дерьмодемон?
Аноним 02/12/20 Срд 14:54:42 1870854500
image.jpg 1126Кб, 2160x1440
2160x1440
>>1870846
Кресты выше всяких маскотов. Крестами серьёзные люди занимаются.
Аноним 02/12/20 Срд 15:09:01 1870866501
>>1870854
Байтослесаря на приборостроительном заводе?
Аноним 02/12/20 Срд 15:15:48 1870874502
Аноним 02/12/20 Срд 17:03:07 1870982503
>>1870866
>Байтослесаря
Лол, а типа в го не байты переставляют
Аноним 02/12/20 Срд 20:27:22 1871220504
>>1870771
Ну например Авито работает на го, как минимум частично.
Аноним 02/12/20 Срд 22:19:24 1871316505
>>1870982
Ну ты же не гоняешь их по всяким RS-485 интерфейсам между коробочками, в которых всю эту хуйню нужно засунуть в пару килобайт, где половина кода работа с памятью, а половина гоняемых данных это контрольные суммы. А вот есть байтослесаря на заводах за 30000 в месяц занимаются подобной хуйней с паяльником в руках.
Аноним 02/12/20 Срд 23:57:28 1871425506
>>1870854
>>1870705
Писать о крестах в тред языка за авторством одного из главных крестовых отрицал, одной из мотивациий которого при создании тредязыка было поссать на кресты, лул
Аноним 03/12/20 Чтв 01:23:25 1871476507
>>1871425
На кресты уже поссали горячей тугой струёй четверть века назад.
Когда создали джаву.
Аноним 03/12/20 Чтв 01:38:46 1871482508
>>1871476
А потом решили поссать на них обоих и создали шарп.
Аноним 03/12/20 Чтв 01:46:49 1871484509
>>1871482
>сярп
По итогу захлебнулись в своём же говне и моче
Аноним 03/12/20 Чтв 01:52:49 1871486510
>>1870669
>очевидно, оно тебе не нужно, и я гарантирую, оно норм работает в протобафе, а сам ты никогда руками писать такое не будешь а если будешь, получишь пизды от синьора и переделаешь
А на собеседовании могут такое спросить?
Аноним 03/12/20 Чтв 11:22:03 1871604511
03/12/20 Чтв 19:13:45 1872031512
Аноним 03/12/20 Чтв 19:27:27 1872048513
Лучше го могут быть только говна, которых еще не жрал
Аноним 03/12/20 Чтв 19:28:49 1872050514
>>1872048

Ты уже подкрепился?
Аноним 03/12/20 Чтв 19:38:21 1872067515
Аноним 04/12/20 Птн 08:36:13 1872493516
Что означает ns/op в бенчмарках? Может наносекунд на операцию?
Аноним 04/12/20 Птн 12:46:56 1872613517
>>1872493
Национал-социализм - орийский порядок
Аноним 04/12/20 Птн 16:47:52 1872829518
Какой же охуенный язык
Дописываю свой первый минипроектик и точно буду использовать в будущем
Аноним 05/12/20 Суб 11:01:57 1873347519
>>1872829
Для ряда задач Го действительно удобнее всего, что было до него. А в чем суть твоего проекта?
Аноним 05/12/20 Суб 16:29:10 1873600520
Вот почему в вашем говне пишут типы постфиксом и без разделителя?
Не читается же нихуя, говно ёбаное, ну.
Чего стоило там двоеточие поставить, как у всех нормальных людей?
Аноним 05/12/20 Суб 16:33:48 1873603521
>>1873600
Чего стоило сделать как в нормальных языках, где префиксом и без уебанских паскалевских двоеточий?
Аноним 05/12/20 Суб 17:26:32 1873647522
>>1873600
Привыкаешь примерно за день, и читается нормально. Но если паралельно пишешь на языке в котором типы - префиксы, тогда да, адово неудобно.
Аноним 05/12/20 Суб 19:51:43 1873718523
>>1873647
А типы с маленькой буквы, но методы - с большой?
Это кем, блядь, надо быть вообще, чтобы такое придумать?
Аноним 05/12/20 Суб 19:54:45 1873719524
>>1873718
Так типы как и методы - если с большой буквы - экспортятся, если нет - значит нет.
Аноним 05/12/20 Суб 20:13:58 1873736525
>>1873718
> типы с маленькой буквы
Типы тоже с большой, когда экспортируются.
Аноним 05/12/20 Суб 21:44:01 1873786526
>>1873719
>>1873736
Ну, если так, то ладно, пусть будет.
Это, хотя-бы, имеет смысл, в отличие от шарпо-ебанины, например.

Взял сейчас каноничную книжку "The Go Programming Language", до этих вещей пока не дошёл, но, некоторые мотивации, стоящие за дизайном Go стали понятнее.
Аноним 05/12/20 Суб 22:34:54 1873815527
>>1873786
> Шарпо-ебанины
Вкусовщина же. Мне вот snake_case больше нравится.
Аноним 05/12/20 Суб 23:03:59 1873843528
>>1873347
Проект как раз уныленькое утилитное говно, но прощупать го и обкончаться от предельной практичности успел
Аноним 05/12/20 Суб 23:56:53 1873866529
Как сахарку и гибкости после пистона не хватает пиздец
Аноним 06/12/20 Вск 00:13:55 1873870530
>>1873866
Ну, сахарок и гибкость - стоят нехуёвых ресурсов, как правило.
Закон сохранения никто не отменял.

А вот постфиксные типы без разделителей - это пидарство, конечно.
Аноним 06/12/20 Вск 00:18:31 1873872531
Аноним 06/12/20 Вск 00:22:35 1873875532
>>1873872
Декораторов, итераторов, контекстных менеджеров, реализации всего и вся через протоколы, которые достаточно реализовать в своем классе и оно будет работать. Только познакомился с синтаксисом и базовыми структурами и пилю бложик для практики. Ощущение, как будто от сишки, когда в универе лабы писал. Хотя может ещё не привык.
Аноним 06/12/20 Вск 00:23:09 1873876533
>>1873866
Гибкости скриптоты при всём желании в статике никак не сделать. На то она и статика.
Аноним 06/12/20 Вск 00:36:30 1873883534
>>1873843
А что утилитка делает? И какой опыт на других языках?
Аноним 06/12/20 Вск 00:41:16 1873886535
>>1873875
>Декораторов
Никто тебе не запрещает обернуть одну функцию в другую. В го функции это тоже значения, как и в питоне.

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

>контекстных менеджеров
defer решает 99% задач контекстного менеджера.

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

Спрашивай свои ответы, если что.
Аноним 06/12/20 Вск 00:49:55 1873892536
>>1873886
> Никто тебе не запрещает обернуть одну функцию в другую
Так ведь весь прикол в синтаксисе @decorator, который в Go в лучшем случае через кодогенерацию, которая зло.

мимо
Аноним 06/12/20 Вск 00:53:43 1873895537
>>1873886
>Никто тебе не запрещает обернуть одну функцию в другую. В го функции это тоже значения, как и в питоне.
Так суть в сахарчке, который делает код изящнее, а не прописывание через аргументы

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

>defer решает 99% задач контекстного менеджера.
п. 1, вместо красивого разделения кода на вход и выход получаем мешанину без разделения логики

>Через интерфейсы это реализовывать на много круче, т.к. все явное.
И это превращается с еблю с типами, что без темплейтов вызывает боль
Аноним 06/12/20 Вск 01:01:30 1873897538
>>1873895
>без темплейтов
Да, типы без дженериков - это мазохизм.
Аноним 06/12/20 Вск 01:14:17 1873903539
>>1873875
Ну там своя атмосфера

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

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

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

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

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

Короче страдаю хуйнёй но нравится
Аноним 06/12/20 Вск 01:14:20 1873904540
>>1873892
Так это только сахар, а сам паттерн все равно же реализуем.
Аноним 06/12/20 Вск 01:57:28 1873924541
image.jpg 42Кб, 640x480
640x480
Промахнулся >>1873903 >>1873883
>>1873875
Зачем тебе итераторы когда вопрос прохода по массивам в языке давно решен через улучшение циклов for при помощи range?
Остальные слова не понял
Аноним 06/12/20 Вск 02:07:29 1873932542
>>1873924
>Зачем тебе итераторы когда вопрос прохода по массивам
Итератор это не только массивы, это еще и питоновские генераторы
Аноним 06/12/20 Вск 02:33:01 1873959543
>>1873932
Генераторы в питоне - это скрытые потоки, магия.
А го специально сделан максимально простым.

>>1873875
Всего этого там нет специально, как я понял из вводной главы The Go Programming Language. И дженериков тоже.

Т.е. simplicity = высшая добродетель.
Звучит заманчиво, а как оно на самом деле - посмотрим.

Аноним 06/12/20 Вск 02:34:17 1873961544
>>1873959
>Т.е. simplicity = высшая добродетель.
Есть сишка
Аноним 06/12/20 Вск 02:41:32 1873966545
Аноним 06/12/20 Вск 02:56:00 1873976546
>>1873966
Абстракция - это другое.
А магия - это когда у тебя потоки _неявно_ создаются.
Аноним 06/12/20 Вск 03:06:28 1873981547
>>1873976
В каком плане неявно? Есть реализация интерфейса, все через него работает и все описано
Аноним 06/12/20 Вск 03:10:26 1873983548
Чем протокол от интерфейса отличается и зачем он это делает??
Аноним 06/12/20 Вск 05:52:44 1873999549
>>1873961
Ну, как бы, там же написано, что го - это такая новая сишка.
Лучше прежней.

>>1873932
А разве из горутины и канала нельзя сделать что-то типа генератора?
Аноним 06/12/20 Вск 12:25:46 1874120550
>>1873999

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

оно не очень честно будет, честнее сделать явно что-то вроде

for val, err := fn(); err != nil { ... }

но питонисты, обмазанные сахаром, не знают как работает их сахар



Аноним 06/12/20 Вск 14:29:27 1874215551
>>1874120
Мне кажется, что это немножко не совсем генератор.

Аноним 06/12/20 Вск 15:48:34 1874274552
Аноним 06/12/20 Вск 16:20:22 1874298553
>>1874274
Генератор выдаёт значение тогда, когда его попросят.
Почему я и написал про горутину + канал.
Аноним 06/12/20 Вск 16:44:53 1874312554
>>1874298

Я то уж было надеялся, что ты про запоминаемое между вызовами состояние скажешь, а ты вообще фигню какую-то ляпнул не подумав
Аноним 06/12/20 Вск 18:30:31 1874465555
>>1874312
Нет, это ты сейчас ляпнул фигню.
А то, что я написал - это определяющее свойство, остальное - вторично.
Аноним 06/12/20 Вск 19:10:58 1874520556
>>1874465

аргументация уровня "нет ты", так и победим

окропил твой рот тугой струей урины
Аноним 06/12/20 Вск 19:40:44 1874533557
>>1874520
Странные у тебя фантазии.
Кого тут только не встретишь.
Это не ты рядом в мвп-треде копротивляешься, зелёный?
Аноним 07/12/20 Пнд 00:12:39 1874697558
Аноним 07/12/20 Пнд 00:53:29 1874711559
>>1874697
>>1874533

а вы правда чтоли не понимаете, ни что такое генераторы? ни своего мнения нет?

ну как сполоснетесь, приходите маняврировать чем это не генератор https://play.golang.org/p/GeOiqNiZH5M
Аноним 07/12/20 Пнд 01:54:29 1874729560
>>1874711
Чувачок, оба коммента, на которые ты сослался - мои.
Генератор - это yield, вот что такое генератор.
В одной функции может быть много yield.
А то, что у тебя - это хуита.
Аноним 07/12/20 Пнд 02:15:39 1874738561
>>1874729

Возвращайся с формальным определением и кейсами использования

А пока моя сахарная елда попользует твой рот
Аноним 07/12/20 Пнд 02:33:53 1874743562
>>1874738
Проснись, ты обосрался дружок.

Если ты не понимаешь, что есть генераторы в питоне, можешь пройти в питон тред, и отсосать спросить там у первого попавшегося джуниора.

Скажи им, что ты сделал генераторы на го с прерыванием вычислений через выбрасывание ошибок, лол.
И тебя обоссут всем тредом, с ног до головы, как ты любишь.
Аноним 07/12/20 Пнд 03:00:13 1874747563
>>1874729
>Генератор - это yield, вот что такое генератор.
>В одной функции может быть много yield.
Перетолстил
Аноним 07/12/20 Пнд 05:34:51 1874758564
Что почитать про архитектуру проекта (сервера)? В частности всяких веб серверов. Никак не могу справиться с ростом проекта, в какой-то момент становится вообще нихуя непонятно что где и почему. Понимаю что вопрос скорее всего более обширный и не относится в частности к языку. В какой-то степени осознаю что это от неопытности, но где же взять этот блять опыт.
Аноним 07/12/20 Пнд 11:16:35 1874859565
>>1874758

как раскладывать файлики по папочкам можешь тут посмотреть https://github.com/golang-standards/project-layout

в остальном - читай книжки, как объектно-ориентированное программирование работает, потом читай опен-сорсные исходники, потом пиши сам и двигаясь так по кругу накопишь этот самый опыт
Аноним 07/12/20 Пнд 11:21:35 1874863566
Аноним 07/12/20 Пнд 15:52:26 1874971567
Почему нет конструктора недоклассов? Даже дефолт Посмотрел SO, везде предлагают делать отдельную функцию для создания объекта, даже для указания дефолтных переменных.
07/12/20 Пнд 16:25:47 1874994568
>>1874971
Потому что у создателя говноланга единственное правильное мнение на любой вопрос.
Аноним 07/12/20 Пнд 17:51:11 1875043569
>>1874863
Ладно, согласен, про ошибку было лишнее.
Сам так делаю иногда, лол.
Например, на джаве, с CompletableFuture.


Но, тем не менее, то, что у тебя - это не генератор.
Это - похоже на генератор.

Генераторы - это потоки.
yield - это передача управления другому потоку.
Поэтому, генераторы - это горутины + каналы.

Я с го познакомился буквально пару дней назад.
Но, мне кажется, что такой подход даже интереснее, чем питоновские генераторы.
Аноним 07/12/20 Пнд 18:58:22 1875084570
>>1875043

> Генераторы - это потоки.

ты с питоном-то не разобрался, как это работает, куда уж тебе до горутин с каналами, болезный
Аноним 07/12/20 Пнд 19:09:36 1875092571
>>1874971
Потому, что explicit is better, than implicit.
Питоноёбы поймут.
Аноним 07/12/20 Пнд 19:10:30 1875094572
>>1875084
Чувак, ты надоел, иди уже на хуй, пожалуйста, не сри в тред.
Аноним 07/12/20 Пнд 19:19:30 1875096573
>>1875092
У них есть конструкторы
Аноним 07/12/20 Пнд 19:25:51 1875097574
>>1875096
explicit is better, than implicit - одна из питоновских мантр.

Я имел в виду, что создатели го постарались минимизировать неявную работу с памятью.
Вот что пишут в книжке GOPL:
Go encourages an awareness of contemporary computer system design, particularly the importance of locality. Its built-in data types and most library data structures are crafted to work naturally without explicit initialization or implicit constructors, so relatively few memory allocations and memory writes are hidden in the code.
Аноним 07/12/20 Пнд 19:55:09 1875127575
>>1875094

Не я виноват, что ты долбоеб полную дичь на серьезных щщах несешь - тебя ж тут читают, опыт перенимают

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

Чувааак, тебя вот тут https://2ch.hk/wrk/res/2149646.html братишки заждались, а здесь не надо демонстрировать глубину своей тупости, в это ни весело и никакой ценности не несет
Аноним 07/12/20 Пнд 20:07:46 1875143576
>>1875127
Генераторы - это сопрограммы. Концептуально это можно назвать потоками. Горутины - тоже не потоки, в конце концов.
Аноним 07/12/20 Пнд 20:10:27 1875145577
>>1875127
>я по полгода себе никого в команду найти не могу
Потому, что ты токсичный закомплексованный уебан?

Аноним 07/12/20 Пнд 20:48:43 1875191578
>>1875097
Явности нужно в меру, иначе это заставляет разработчика писать кучу лишнего кода. Создатели сами поняли как обосрались и решили завезти темплейты в 2.0, как пример.
Те же конструкторы это тоже просто функция, которую можно было бы и в методы структуры добавить, вообще ничего не изменится, кроме уродского способа создать класс с дефолтными параметрами.
Аноним 07/12/20 Пнд 20:51:47 1875197579
>>1875143

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

>>1875145

твоей мамке вроде нравлюсь, завтра попрошу ее сократить твое время за компьютером, то зрение еще испортишь
Аноним 07/12/20 Пнд 20:52:02 1875198580
Аноним 07/12/20 Пнд 20:58:43 1875206581
image.png 411Кб, 512x361
512x361
>>1875191
>>1875198
Господи б-ж, какие же нехорошие создатели го, насильно заставляют бедных анончиков писать на своем ужасном и неудобном языке, ай-яй-яй, что же это в мире творится
Аноним 07/12/20 Пнд 21:08:49 1875219582
>>1875206
Ты сейчас с попыток нормального объяснения просто оскорблениями начал кидаться. Авторы уже сами поняли какое ГОвно высрали. Надеюсь, что вторая версия все исправит.
Аноним 07/12/20 Пнд 21:19:23 1875231583
>>1875219
Керниган в GOPL пишет:
But it has comparatively few features and is unlikely to add more. For instance, it has no implicit numeric conversions, no constructors or destructors, no operator overloading, no default parameter values, no inheritance, no generics, no exceptions, no macros, no function annotations, and no thread-local storage. The language is mature and stable, and guarantees backwards compatibility: older Go programs can be compiled and run with newer versions of compilers and standard libraries.
Аноним 07/12/20 Пнд 21:22:19 1875235584
>>1875219
не будет второй версии
Аноним 07/12/20 Пнд 21:23:45 1875237585
>>1875231
Забыл добавить - и это охуенно.

Думаю, что в эту тему просто пришло много новых людей, без сишного бекграунда - джаваёбы, питонисты, рубисты (прости г-споди), т.е. люди, по-сути, программировать не особо умеющие. И язык теперь будет под них подстраиваться.
Аноним 07/12/20 Пнд 21:25:32 1875243586
>>1875237
>нет дженериков в типизированном языке
>охуенно
Пиздец как радовались плюсовики, когда узнали, что функцию на каждый тип копировать нужно
Аноним 07/12/20 Пнд 21:31:55 1875255587
Аноним 07/12/20 Пнд 21:36:23 1875261588
>>1875243
Generics are convenient but they come at a cost in complexity in the type system and run-time. We haven't yet found a design that gives value proportionate to the complexity, although we continue to think about it. Meanwhile, Go's built-in maps and slices, plus the ability to use the empty interface to construct containers (with explicit unboxing) mean in many cases it is possible to write code that does what generics would enable, if less smoothly.
https://golang.org/doc/faq#generics

Они сделали приоритетными скорость работы и простоту.
Т.к. закон сохранения никто не отменял, это означает несколько больший объём (кода).

Также, например, можешь поинтересоваться, почему го генерит такие большие бинарники.
Аноним 07/12/20 Пнд 21:37:19 1875263589
>>1875237

плюсую, но вот это печалит

> И язык теперь будет под них подстраиваться

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

>>1875255

не, с дженериками ребята прогнулись и в каком-то виде их затащат, в этом ли или другом - одному Пайку известно
Аноним 07/12/20 Пнд 21:41:38 1875271590
>>1875263
>гошка из простой и понятной
Примитивной
Аноним 08/12/20 Втр 00:07:46 1875386591
>>1875191
> Те же конструкторы это тоже просто функция, которую можно было бы и в методы структуры добавить, вообще ничего не изменится
Так если нет разницы, зачем это реализовывать и использовать? Просто по тому что в том языке, к которому ты привык - так сделано? А смысл тогда новый язык создавать, а не дополнять существующий?
Аноним 08/12/20 Втр 00:41:25 1875407592
Я правильно понял, что я могу объявить пустой интерфейс и прокидывать в функции вообще все что угодно?
Аноним 08/12/20 Втр 02:25:54 1875456593
>>1875407
Да, что угодно реализует интерфейс без методов
Аноним 08/12/20 Втр 04:39:43 1875489594
>>1875407
Да, но иногда удобнее принимать unsafe.Pointer или reflect.Value, которые так же можно получить из значения любого типа
Аноним 08/12/20 Втр 09:31:09 1875558595
>>1875456
>>1875489
Странное ощущение, вроде как тут говорили про отсутствие дженериков, они формально есть, но по принципу "все или ничего". Да и вообще, в начале тура водят по типам и вообще, вроде как язык типизирован, а потом вылезает это.
Аноним 08/12/20 Втр 09:37:59 1875564596
>>1875558
В Си тоже есть void*, это не противоречие
Аноним 08/12/20 Втр 09:48:47 1875570597
>>1875564
А интерфейс указывает, что принимать можно только указатели? С ними еще понятно, потому что это просто ссылка в памяти, но не объекты же. Спокойно же можно создать array с разными типами через это.
Аноним 08/12/20 Втр 10:24:30 1875579598
>>1875570
Нет, пустой интерфейс может скрывать любой тип, не только указательный.
Аноним 08/12/20 Втр 10:31:48 1875581599
>>1875579
Я к тому, что в сишке при указании войда ты можешь работать только с указателями. В го можно засунуть любой тип, это и странно, учитывая, что оно тут используется везде и неизвестно, ожидает на прием функция. Type safety проебывается.
Аноним 08/12/20 Втр 11:16:25 1875611600
Аноним 08/12/20 Втр 11:36:56 1875621601
>>1875570
>А интерфейс указывает, что принимать можно только указатели?
Нет, любое значение можно превратить в интерфейс. Но при этом внутри интерфейсного значения лежит поинтер на тип и поинтер на оригинальное значение. Да и интерфейсное значение - к тому же, может быть nil, т.е. интерфейс - это тоже, своего рода, поинтер.

>>1875581
> Type safety проебывается.
Так это и есть назначение пустого интерфейса.
Аноним 08/12/20 Втр 13:04:07 1875673602
Скажите пожалуйста нахуя мне женерики
Аноним 08/12/20 Втр 13:08:15 1875679603
>>1875581
> Type safety проебывается.
Type safety в том, что без явного преобразования к реальному типу ты ничего с пустым интерфейсом не сделаешь.
Аноним 08/12/20 Втр 13:30:40 1875687604
Кто-нибуть пытался из error стринги собрать псевдо-стектрейс? По идее если раз'split'ить сообщение по ":", то для каждого куска скорее всего найдеться всего несколько совпадений по проекту, а если еще и отбрасывать на кажом последующем этапе все остальные бранчи, куда исполнение из текущей позиции не может дойти - почти гарантированно получаем единственный путь, по которому прошла ошибка. Мне кажеться странным, что это еще никто не реализовал подобную утилиту, с учетом того, что практически каждый гофер постоянно делает все это вручную.
Аноним 08/12/20 Втр 14:10:00 1875712605
>>1875687
Тут один анон писал, что у него на работе что-то такое навелосипедили.
Аноним 08/12/20 Втр 14:15:50 1875717606
>>1875679
Это прям как утинная типизация из скриптодрисни
Аноним 08/12/20 Втр 14:35:50 1875727607
>>1875717
Она и есть. Поэтому в пщ и набежали толпы восторженных петухонщиков и жопаскриптеров.
Аноним 08/12/20 Втр 15:57:17 1875823608
>>1875727
Я как то не особо верю, что такая вещь работает быстрее, чем потенциальные дженерики
Аноним 08/12/20 Втр 16:39:51 1875873609
>>1875687
чем обычная errors.Is/As не нравится? ну и можешь выкидывать свой тип ошибки в котором стактрейс уже лежит.
>для каждого куска скорее всего найдеться всего несколько совпадений по проекту
где-то я читал что рекомендуется каждую ошибку делать с уникальным сообщением как раз для этого
>утилиту
консольную утилиту или какую-то либу которая делает то что в принципе можно сделать без нее и довольно удобно? не понял короче.
Аноним 08/12/20 Втр 17:25:59 1875928610
>>1875727
Я сам из питона набежал, но разочарован этим, на прошлом проекте почувствовал, что нужно обмазаться типами и статикой. А тут то же самое в глотку засовывают
Аноним 08/12/20 Втр 18:51:34 1876029611
>>1875673

Конечным разработчикам они и не нужны

но с ними может навелосипедят что-нить типо джавового hibernate или аля питонячий "functional-go" и прочего
Аноним 08/12/20 Втр 19:12:34 1876049612
>>1876029
>питонячий
>functional
Как можно всерьёз говорить о ФП в языке, где лямбды могут быть только однострочные, лол?
Это даже не смешно.
Аноним 08/12/20 Втр 19:17:27 1876051613
>>1876049
Выходит, и хачкиль не функциональный, ведь там любые функции/лямбды должны быть в одно выражение.
Аноним 08/12/20 Втр 22:51:25 1876199614
>>1875712
Ты не знаешь, может в опенсорс выкладывали?

>>1875873
>чем обычная errors.Is/As не нравится? ну и можешь выкидывать свой тип ошибки в котором стактрейс уже лежит.
У меня немного другое видение этого.
>консольную утилиту или какую-то либу которая делает то что в принципе можно сделать без нее и довольно удобно? не понял короче.
errors.Is/As решает другую проблему - обработку ошибок в рантайме. Я же хочу сделать статический анализатор, которому буду скармливать строку ошибки, которую я достал из логов, и исходники. На выходе я хочу получить строки, на которых эта ошибка дополнялась через fmt.Errorf("bla-bla: %w") (или другими способами), чтобы на выходе получить нечто, похожее на стектрейс.
> где-то я читал что рекомендуется каждую ошибку делать с уникальным сообщением как раз для этого
Это разумная рекомендация, но я не уверен, что ее придерживаться в 100% случаев, по этому думаю как можно хендлить более неприятную ситуацию. По крайней мере я сам пару дней назад видел на работе 3 ошибки с одинаковой стрингой, но они все в разные бинари по итогу попадают.
Аноним 08/12/20 Втр 23:57:43 1876232615
>>1876199
>Я же хочу сделать ...
Если от такого может быть реальный профит - это уже давно должно быть написано, и надо просто поискать.
Но, у меня есть сомнения, что будет толк в общем случае.

Кстати, если такое писать, то лучше делать это на перле.
Аноним 09/12/20 Срд 00:35:57 1876241616
Задача такая, преобразовать строку так, что если после буквы стоит цифра, то сама буква повторялась указанное число раз. Наговнякал это, но кажется, что можно изящнее
https://play.golang.org/p/mMas2Sldlju
Аноним 09/12/20 Срд 00:41:10 1876245617
>>1876241
Не сильно изящнее, но сильно производительнее будет через strings.Builder
Аноним 09/12/20 Срд 00:51:25 1876247618
Аноним 09/12/20 Срд 00:59:26 1876250619
>>1876241
Хуячь сразу в слайс байтов исходную строку (у тебя же там не юникод?)
Вместо выходной строки - тоже слайс байтов.

При желании - можно захуярить в 2 прохода - на первом посчитать длину резульата, создать массив байтов, на 2-м - заполнить его.
Найденные на 1-м проходе токены (буква+число или набор букв) можно сохранить в массиве слайсов исходного массива, чтобы не искать заново.
Аноним 09/12/20 Срд 01:52:29 1876272620
09/12/20 Срд 03:26:55 1876296621
>>1876272
А чтобы со строками (unicode) работало - надо просто заменить слово byte на rune.
Аноним 09/12/20 Срд 11:45:33 1876406622
Перекаты нинужны?
Аноним 09/12/20 Срд 11:49:09 1876408623
>>1876406
Больше перекатов на будет, это последний тред про Go.
Аноним 09/12/20 Срд 12:09:21 1876419624
>>1876408
Не последний, а крайний ультимативный.
Аноним 09/12/20 Срд 12:29:10 1876439625
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов