Этого треда уже нет.
Это копия, сохраненная 23 сентября 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
 .png258 Кб, 1500x1500
Go (а также Golang, Goвно, Пщ или просто Го) — своевременный язык, который мы заслужили /go/ 1159767 В конец треда | Веб
Go (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и мега крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего. Батарейки почти как в питоне.

Пщ едва не единственный язык который на уровне синтаксиса позволяет синхронизировать подпрограммы, разве только не Pony или Erlang. Это в 2018 году-то
Дженерики нужны, дженериков нет. Просто смирись.
Обработка ошибок получается охуенно через http://github.com/pkg/errors | в приложениях обычно можно просто паниковать на ошибках.
HTTP-сервер для убер максимального маня-хайлоада: https://github.com/valyala/fasthttp
В 1.8 или 1.9 уже можно "нормально" сортировать через sort.Slice()
Не нужно пиздеть про толстые бинарники, их размер значительно уменьшается одним маленьким Makefile.

Вкатываемся в эпоху докера, микросервисов и адово кошерной сетевухи.
15200290966780.png348 Кб, 1200x1200
2 1159817
Вкотился к гомикам. Заодно зарепортил неймфага, тебя разве не зобанели?
3 1159818
>>159817
в голосяндру с маскота
4 1159909
https://github.com/avelino/awesome-go
Куча всяких репозитариев, пригодится
5 1159972
Дублирую

>>1159641
Просто идиоматичный и популярный фреймворк. Все основные фичи вида middleware, авторизации и прочего уже есть в виде отдельных пакетов, меньше руками писать. Тестами покрыт, стабилен.
Остальное - вкусовщина.
Про echo тоже хорошие вещи слышал, если нравится - бери.
6 1159973
>>1159642
Не сталкивался, можешь глянуть https://github.com/BruceDone/awesome-crawler#go
Вроде там есть варианты
7 1160568
Эй, goмункулы. Поясните мне, какого хрена в го нельзя сделать указатель на интерфейс? Я вот хочу, чтобы у меня в структуре был указатель на некий handler интерфейс, а конкретный объект буду инжектить под ситуацию.
И низя.
WTF?
sage 8 1160572
>>160568
Ну ты и хуесос, прости хосподи.
9 1160962
Чо там с хайпом? Затихает уже?
11 1160985
>>160983
На хабре статей мало стало.
12 1161098
Почему Go-вноеды такие сектанты?
Вчера нашел тему на хабре, где шизик на полном серьезе говорит, что Go лучше, т.к. в нем нет тернарного оператора и нормальной обработки исключений, из-за чего сложнее писать говнокод. Пиздец просто, только выиграли, нахуй.
13 1161101
>>161098

> тернарный оператор



Роберт Пайк вообще не осилил сделать язык ориентированный на выражения, хотя в C-подобных языках тернарка - это убожество.

> обработка исключений



В Go обработка ошибок конечно уебанская, но unchecked exceptions не лучше.
14 1161255
>>160572
Ответь нормально
15 1161636
>>159767 (OP)

>Makefile


поясни, интересует проганье под mips, накатив пару стандартных либ ОЧ ЖИРНЫЕ (для mips) файлы получаются, даже с теми твиками которые нашел на SO.
16 1161695
Пацаны , кто-нибудь поясните Go вообще может конкурировать с Erlang / Elixir ? Почему все высоконагруженные приложения аля вотсапп, discord берут ерланг или элексир для миллионнов сообщений в день, голанг для этого плохо подходит что ли?
17 1161709
>>161695

>динамикодрисня


Нутыпонел.
18 1161713
>>161709
Попрошу подробнее высказывать мысль
19 1161721
>>161709
Дискорд и вотсап берут ерланг, потому что динамикадрисня. Типичная goмо-логика. А goвно тогда, видимо, не берут из-за статической типизации. Хотя подожди-ка, в goвне же говно без дженериков вместо статической типизации, точно.

>>161695
В пщ искаропки (вшиты в язык) есть средства только для in-process асинхронности. То есть для распределенных систем с миллионами сообщений в день он не дает никаких профитов, все придется велосипедить. А erlang otp - платформа, ровно для миллионов сообщений в день и предназначенная, так что логично взять проверенное временем интерпрайс-грейд решение, а не хипстерскую хуйню от гугла.
20 1161727
>>161695
Ты хочешь сказать что чатики более высоконагружены чем гугл?
>>161721

>есть средства только для in-process асинхронности


ЩИТО
21 1161733
>>161721
И чем>>161721
Паняня, у тебя какая-то личная неприязнь к Го, объективной аналитики не будет
22 1161735
>>161727
>>161733
Тебе в ньюфаг-тред.
23 1165469
А теперь важный вопрос: имеет ли смысл развиваться в разработке на Go? Вакансий на него не так много
24 1165570
>>165469

>не так много



И больше уже не станет. Go уже не первый год во всех трендах скатывается.
image.png39 Кб, 486x67
25 1165572
>>159767 (OP)
Лучший язык ИТТ
26 1165714
>>165570
Ну как сказать, сейчас блокчейны многие начали пилить на го.
Просто у Го нет какого-то списка требований, что должен знать Гошник. Типа списка фреймворков для джавы
27 1165717
>>165572
не лучший, а ЛУДШИЙ!!!!11111
28 1167860
>>165570
Пруфы где?
29 1168303
Наблюдаю неожиданный всплеск популярности голанга, как языка для создания блокчейнов.
Держу в курсе
30 1168306
>>168303

>блокчейнов


Этот хайп уже тухнет, ты опять опоздал.
31 1168310
>>168306
А этот хайп был?
Сколько подняли денег на этом?
32 1168311
>>168310
Был.
Дохуя.
33 1168315
>>168311
А как эти хайпы появляются?
Блокчейны же не вчера появились, но вдруг стали резко всем нужны.
34 1169218
>>161098
Мне после джавы больше нравится подход в Go, так как код читаемый получается. Плюс, гарантированно ошибка будет обработана.
35 1169222
>>168315
Ты можешь влиять на курс своей МММ-валюты, и это совершенно законно.
 .png183 Кб, 1500x1500
# OP 36 1169289
Пофиксил оппик треда языка, который мы заслужили.
15200290966780.png348 Кб, 1200x1200
37 1169307
>>169289
Пофиксил оппик треда языка, который мы заслужили.
38 1169490
>>169307
В голосяндру
39 1169494
>>168310
Около $3k чистой прибыли
40 1170411
Я с ньюфажным вопросом вкачусь к вам: где почитать как горутины реализованны на низком уровне? Особенно интересует переключение контекста. Исходники я открывал, но там какой-то платформозависимый пиздец , что логоично в общем-то и осилить не удалось.
41 1170498
>>170411
https://habrahabr.ru/post/308070/
Вот это подойдет?
42 1170500
>>165572
Лучший язык это js.
43 1170506
>>170498
Спасибо, эту я видал уже статейку.
Может так кто-то знает: планировщик полностью эмулирует работу ос по выделению/увеличению памяти для горутины, или же при переключении происходит копирование стека потока ос в буфер горутины и последующее его восстановление?
44 1170507
>>170506
У них общая «heap»-область и у каждой горутины свой стек.
Алсо, книги Таненбаума почитай.
45 1170516
>>170507
Спасибо, Таненбаума я перечитаю конечно же.

>и у каждой горутины свой стек


Это полноценный стек, куда прямо SP указывает? Мне интересно просто, как подобное реализованно на уровне пользовательского процесса, ведь прав отображать физическую память на виртуальную тут нет. Плюс ещё масса платформоспецефических условий, например установка того же SEH под Win. И опять же как его увеличивать? Проверять размер между вызовами, а как быть со сторонним кодом? Надеялся, что где-то подробно расписанно уже.
46 1170522
>>170516
Вряд ли в этом треде ты получишь ответы на свои вопросы. Тут не сидят те, кто задумывается о таких низкоуровневых вещах. А там, где сидят, не разбирались как реализованы легковесные потоки в го.
47 1170523
>>170516
Лучше на js писать.
image.png207 Кб, 400x400
48 1170976
Анон, а тут кто-нибудь прикручивал сабж к оракловой БД ? Я знаю там несколько либ и все требуют оракловый клиент с TNS-именами, потому что нормальный драйвер только в джаве. Ладно, хуй с ним, этого у меня есть, но большая часть ставится вместе с каким-то говном которое пытается уставить. А у меня тем временем, две шиндовые тачки, одна с интернетом, с которой я тащую либы обычно, а другая мощная и подключеная к внутренней инфраструктуре и на ней я кодирую. Соотвественно у меня дилема, как доставть либ без интернетов
49 1170980
>>170522

>Тут не сидят те, кто задумывается о таких низкоуровневых



В основном тут сидят те, кто го в глаза не видил и считает что языку полтора года
50 1171085
Подскажите как ограничить производительность gopher-lua, нихуя не пойму, у меня игровой сервер с модулями на луа, но с помощью модуля можно весь сервер наебнуть.
51 1171195
>>170516

>Это полноценный стек, куда прямо SP указывает


Нет, это все юзер спейс.

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


Используя системный вызов MMAP.
52 1171309
>>171195
Спасибо. Ты это наверняка знаешь или примерно почувствовал? И если наверняка, поделись источником, пожалуйста.
53 1171595
>>171309
Я почитал исходники, посмотри файлы runtime1.go и runtime2.go
54 1171612
>>159767 (OP)
есть у кого книга Go на практике на русском?
55 1171620
>>170976
пакеты с pkg возьми, ora вроде самый развитый
56 1172062
>>171595

>runtime1.go и runtime2.go


Вот жеж, благодарю. Самую мякотку-то я и пропустил.
57 1175339
Есть ли на голанге фриланс/remote?
58 1175670
Пацаны, как в го сделать умножение элемента списка, например
list = ["http://httpbin.org/get"] * 100

Если программа запускается на 1 ядерном сервере, сколько родных OC потоков выделяется для го программы

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

????
59 1175701
>>175670

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


Как хочешь. В зависимости от задачи. Может быть вполне достаточно просто выполнить в отдельной горутине.
60 1175703
>>175701
А если будет 1 ядро на сервере. С другими то горутинами что будет?
61 1175706
>>161101

Шо мешало сделать checked?
62 1179914
>>175706
Checked exceptions это вообще пиздец. В джаве их все избегают, а в скалке так и вообще их нет.
63 1179924
>>161098
Там даже исключений нет? Ну вообще охуеть. Даже в оберон, с которого передрали го, их добавили.
64 1180093
Но ведь исключения и правда не нужны. В современных языках программирования они превратились в аналог goto-оператора, что есть антипаттерн.
sage 65 1181878
>>180093

>только выиграли


go coders never changes
66 1182663
>>180093
И поэтому люди давно придумали Option/Result типы. Что мешало Go быть типобезопасным и перенять монадический error handling, как сделал Rust например?
image.png101 Кб, 611x812
67 1183474
Пишу тут телеграм ботика. В следствие того что метод отправки сообщений находится в боте и хэндлеры о нём ничего не знают приходится объявлять все хэндлеры рядом с ботом. Хотелось бы вынести хэндлеры в другой пэкэдж. Есть ли какой-нибудь нормальный способ передать функции контекст с которым она будет работать? Пока придумал только пихнуть бота в кложур для хэндлера.
68 1184366
>>183474
токен замазал хотяб
69 1184372
>>184366
да мне, в общем, не жалко
# OP 70 1184378
>>183474
Раздели по классам, хули ты напорнил тута.
71 1184724
>>161636
Можно делать динамически слинкованые бинарники через gccgo.
Но бинарники такие по идее медленнее и зависят от кучи либ, что не хорошо.
72 1184725
>>179924
Есть исключения.
73 1185876
Что на собесах обычно спрашивают? На мидла +.
74 1186054
>>185876
Присоединяюсь к реквесту, чисто ради интереса.
75 1186060
>>185876
Есть лисп, есть кложура, на чем прод писать будешь, на чем пет проект для гитхаба?
76 1188430
В Голанге можно компилировать программы, а не запускать их по go progname.go?
77 1188447
>>188430
Да. Можно даже под другие платформы компилить.
78 1188495
>>175706
Как бы тебе объяснить. Мой дед обрабатывал ошибки, мой отец обрабатывал ошибки, я обрабатывал ошибки, а ты не хочешь?! УБЬЮ СКА

ВСЕ, ВСЕ ДОЛЖНЫ ОБРАБАТЫВАТЬ ОШИБКУ СРАЗУ КАК ТОЛЬКО ПОЛУЧИЛИ. ЯВНО, БЫСТРО, НА МЕСТЕ И НЕ ЗАДУМЫВАЯСЬ. ПОЗВАЛ МЕТОД - ОБРАБОТАЙ ОШИБКУ. ВЫЗВАЛ - ОБРАБОТАЙ. НЕ ПРОБРАСЫВАЙ НИЧЕГО НЕЯВНО ВЫШЕ, НЕ ПИШИ THROWS EXCEPTION, НЕ СНИМАЙ С СЕБЯ ЭТО БРЕМЯ ОБРАБОТКИ ОШИБОК. ВМЕСТО ЭТОГО ЯВНО ОТКРЫТО ПИШИ IF ERR RETURN ERR И ПУСТЬ ТАК СДЕЛАЕТ КАЖДЫЙ, КАЖДЫЙ СУКА МЕТОД НА ВСЁМ СТЭКЕ, ЧТОБЫ ВСЕ В КРУГОВОЙ ПОРУКЕ ПОУЧАСТВОВАЛИ, МРАЗИ. ОБРАБАТЫВАЙ ОШИБКИ, СУКА!
79 1188554
>>175703
То же что и с несколькими потоками на одном ядре процессора
80 1188584
>>188430

>В Голанге можно компилировать программы, а не запускать их по go progname.go?


Если ты go run имеешь ввиду, то он так-то делает shadow compilation. go run просто создает временную директорию, и туда пихает твой скомпилированный бинарник.
81 1188604
Checked exception — грубейший анти-паттерн. Даже использование исключений для контроля потока исполнения часто имеет смысл, а вот за checked exception надо бить по рукам.
sage 82 1188623
>>188604

>никаких аргументов


>яскозал

83 1188657
>>188604
Checked exceptions нужны когда предполагается, что в случае возникновения ошибки, она обработается и выполнение кода в скоупе продолжится.

Но на практике 99% случаев обработка checked exceptions заканчивается логированием и прерыванием процесса исполнения кода. А в оставшихся 1% случаев разработчики сами знают что им нужно и напишут соответствующие кетчи без пинков от компилятора.
84 1188664
>>188584
Красота. А как можно указать компилятору, чтобы тот из временной директории в мне нужную поместил? (Или хотя бы в текущую).
85 1188767
>>159767 (OP)
Решил на выходных вкатиться в говно.

1) Что за пиздец с gopath и прочей хуитой? Я просто хуею, они не могли в 2018 нормальный тулинг запилить? Говно говном, просто пиздец.

2) Я чего-то не понял, или gofmt действительно делает отступы табами? Вы совсем ебнутые тут?

В целом первое впечатление от языка - все через жопу, кругом какие-то костыли, как в 80-ые попал. Ну хоть в имаксе поддержка на высоте.
86 1188771
>>188767

> как в 80-ые попал


> в имаксе


> Initial release 1976; 42 years ago[1][2]


А ты оттуда вылезал?
87 1188774
>>188767
Такое же впечатление, разрабы тупо везде срезали углы и делали как проще.
88 1188778
>>188771
А вот и формошлепы подоспели. Ну почему я не удивлен?

>>188774
Проще != легче. Но есть такое ощущение, да.

Алсо:
https://groups.google.com/forum/#!topic/golang-nuts/93t0LWvHrKM
Прелестно, блядь. Лоллирую. Документация юзает 8 пробелов. Темплейты в плагине плейграунда юзают 4 пробела. gofmt юзает таб, ширина которого по умолчанию 8 пробелов, но который все ставят на ширину 4 пробела (или меньше), чтобы хоть как-то умещаться в 80 символов. Ух, прям как в старые добрые, а ну пошли все ГОвно вилкой чистить, ух епты бля.
89 1188780
https://github.com/golang/go/issues/19618 лол, просто лол
90 1188802
>>188778
Все юзают столько пробелов, сколько захотят, gofmt только приводит все к единому стилю во всех проектах.
У меня, например, vim-go (или сам vim, уже не помню) все приводит к 2 пробелам, просто потому что я так привык, но в репе у всех будет код, отформатированный по gofmt.
91 1188847
>>188802
Анон, я даже не знаю, что тебе сказать, кроме как "перечитай пост, на который отвечал".
92 1188850
Отступы не влияют на вложенность кода же?
Или indentation error можно словить и здесь?
93 1189227
>>188850
Нет, фигурно-скобочным языкам на это вообще наплевать.
94 1189231
опытные господа,насколько Go Lang еще сырой и не развитый язык?
95 1189285
>>189231
Настолько, что используется в Google и на нем написан Docker и прочие Kubernetes.
96 1189304
Разговор с гошником:
-Насколько хорош Go?
-Docker
-Чем Go лучше остальных языков?
-Docker
-Вам нравится писать для каждого типа данных отдельную функцию?
-Docker
-Вы любите жрать говно?
-Docker
97 1189364
>>189304
Grzegorz.
98 1189386
>>189231
сырой и хайп прошел
99 1189501
>>189231
На нем все переписано будет со временем.
sage 101 1189761
>>159767 (OP)
https://github.com/ksimka/go-is-not-good

Мне вот интересно, у каких еще молодых языков есть целые репы с перечислением того, что в языке было сделано неправильно и почему не надо его использовать?
102 1189791
>>189761
В этом деле, всегда правил js
https://github.com/denysdovhan/wtfjs
103 1189798
>>189791
Нахуй я запятую поставил, грамотей?
sage 104 1189909
>>189791

>молодых языков


>js

105 1189956
>>189791
JS не дизайненый язык. Он просто случился и от него не убежать.

У го же совсем другая проблема. Он не тянет на "современный" язык.
106 1189986
>>189761
Особенно охуенны вот эти:

>no constructors


>no OOP


>no semicolons at line endings


>is compiled


>pointers are a mess


>no pattern matching



90% сводится к "а в моем языке есть X а тут нету значит плохой язык".
107 1190015
>>189986
Потому что многие вещи первой необходимости отсутствуют. Хотя из этого списка дельно только pattern matching, остальное не особо важно
108 1190369
>>189986

>no semicolons at line endings


Вообще-то там есть семиколоны в конце строки, просто они (приготовьтесь) НЕЯВНО ВСТАВЛЯЮТСЯ КОМПИЛЯТОРОМ. Поэтому, например, нельзя опускать запятую в конце строки внутри многострокового литерала - Роб Пайк вставит туда точку с запятой. Го такой модный и простой.
109 1190370
>>189986
Алсо, 90% там сводится к "нет дженериков" и "я повелся на хайп, а потом понял, насколько это хуевый язык для написания чего угодно кроме хелловорлдов".
110 1190431
>>159767 (OP)
Нужно быстро вкатиться в MongoDB и CouchDB на гошечке и написать небольшое файловое хранилище. Какие статьи покурить?
111 1190445
нужно создать блог.с чего начать?
sage 112 1190493
>>190445
С большой буквы.
113 1190523
>>190493
С заглавной, неуч.
114 1193822
>>190370
Я так понимаю, язык создавался ставкой на то, чтобы в момент потребности обобщенного программирование юзать interface{}
Что логично, так как обобщенное программирование не является частью парадигмы статической типизации и с точки зрения статических типов надо создавать общий тип для таких ситуация (например тип number для всех чисел).

Но пришла лига с утиный синдромом из статический языков и стала навязывать, что вот нужно пилить им дженерики потому, что эта шляпа в виде MoiHui<MoiZalupy<Jopka>> спасает их во время компиляции и вообще очень нужна, хотя выглядит больше как баг-фикс и по другому эти бараны мыслить просто не могут.
115 1193824
>>189304

>Насколько хорош Go?


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

>Чем Go лучше остальных языков?


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

>Вам нравится писать для каждого типа данных отдельную функцию?


Чаще использую тупо interface{}, поясняя в документации, как это всегда делалось в динамик языках.
А какая разница? Документацию все равно писать, тесты тоже. Ничем бы меня сильно дженерики не спасли (кроме любви к долгой компиляции)

>Вы любите жрать говно?


Человек сам выбирает свои рамки свободы, если ты мечтаешь жрать говно и стыдишься этого, то ты более ущербен, чем человек который берет и делает что ему нравится.
sage 116 1193830
>>193822

>ррряяяя нинужно!!!!

117 1193831
>>193822

> обобщенное программирование не является частью парадигмы статической типизации



Но оно необходимо для строгой статической типизации, чтобы не проебывать типы и отлавливать все связанные с ними ошибки на этапе компиляции. Ваш interface{} делает из Го динамикопарашу. Но для вас все нормально, ведь по другому вы думать не можете.
118 1193859
>>193824

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


> Не очень-то и хотелось! Только выиграли!


И как заметил господин выше, это превращает го в динамикодрисню с отсутствием гарантий, из-за которых статическая типизация имеет смысл.
119 1193868
>>193831
>>193859
Ебал твою мамашу.
120 1193894
>>193859
Сектанты всемогущего компилятора подъехали, которые верят что компилятор защищает их от всех известных микробов ошибок. На самом деле 90% офисных клерков, тупо дрочат на автокомплит в IDE и не осознают, что проблема с типами преувеличина.
sage 121 1193895
>>193824

> Чаще использую тупо interface{}


Хех мда щя бы в 20!8 кастами и свитчами кормить бога проёбанных тактов.
122 1193900
>>193894

>компилятор защищает


Но ведь так и есть на самом деле.
А разгадка проста - компилятор умнее 90% местных дегенератов вроде тебя, например.
123 1193909

> Сектанты всемогущего компилятора подъехали, которые верят что компилятор защищает их от всех известных микробов ошибок.


Straw man argument во всей красе.

> проблема с типами преувеличина


Анус твоей преувеличен.
Есть подходы, дающие больше гарантий, есть подходы, дающие меньше. В промышленной разработке имеет смысл выбирать решения, дающие больше гарантий.
sage 124 1193937
>>193895

>бога проёбанных тактов.


Что за бог?
125 1194030
>>193937
Не буду пересказывать то, что обсасывается с первых дней выкатывания Go: https://www.darkcoding.net/software/go-the-price-of-interface/

interface{} — это дорогой хак. Дороже только рефлексия. Они не просто так существуют, но ты почти наверняка везде использовал его неоправданно.
15143212702820.png259 Кб, 485x486
sage 126 1194176
>>193822

>обобщенное программирование не является частью парадигмы статической типизации

127 1194310
>>193822
Кому-то нужна OCaml или Rust внутривенно, чтобы понять, что вообще есть такое статическая типизация не та поебота, что есть в Go
128 1194329
>>194310
Боюсь спросить, чем типизация в Go не устраивает
sage 129 1194331
>>194329
Правильно боишься - я бы тоже на твоем месте боялся прилюдно выставить себя дилетантом. Но ничего, некоторым к такому не привыкать.

мимо
130 1194332
>>194030
Продолжай дальше на спичках экономить, чмоша))
Качество кода > производительности.
sage 131 1194347
>>194332

> качество кода


> interface{}


Короче, не зря я прозодил мимо этого загона.
132 1194349
>>194332

>goвно и goвнодебилы


>Качество кода


Шутку понял.
Смешно.
133 1194367
>>170500
Определённо кто-то должен создать язык с возможностями жса, элегантностью питона и байтоёбством крестов, да ещё ии с ООП. Создатели пщ хоть попытались
134 1194370
Напомните, зачем нужен го, когда есть нормально типизируемый с дженериками котлин и такими же корутинами.
135 1194374
>>194370

>зачем нужен го


чтобы у тебя пригорело
# OP 136 1194375
>>194374
Но мне не пригорело. Я просто хочу разобраться.
137 1194379
>>194370
Because JVM sucks
138 1194382
>>194375
Это заскринить нужно.
139 1194386
>>194379
Да жаба всегда сосала. Бесполезная вещь. Что ещё скажешь?
140 1194387
>>194370
если кто-то Эликсир неосилил, то есть Го с нескучным синтаксисом
141 1194388
>>194387
То есть это нихуя не самый продвинутый язык в области? Что тогда брать? Ерланг или Эликсир?
142 1194389
>>194388

>То есть это нихуя не самый продвинутый язык в области?


Нет, Го это бейсик с корутинами

>Что тогда брать?


PHP
143 1194390
>>194389
Нахуй пыху, она слишком простая и перекладывает работу на операционку.
144 1194419
>>194388

> То есть это нихуя не самый продвинутый язык в области


Неужели еще не все заглянули сюда https://github.com/ksimka/go-is-not-good? Вставьте в шапку штоле.
145 1194421
Хороший язык goвном не назовут.
146 1194438
>>194310
Swift тоже подойдет.
147 1194538
>>194176
Лол, если копнуть, этот так.
148 1194541
Котлины, расты, свифты...
Нафига вы тащите сюда хипсторские языки, где до сих пор нужно явно писать асинхронный код? Что это за двухтысячные вы сюда тащите?
149 1194548
>>194541

> Нафига вы тащите сюда хипсторские языки, где до сих пор нужно писать код? Что это за двухтысячные вы сюда тащите?

150 1194565
Меня заставили ковырять опердень. Есть прототипы на го и джаве. Суть такова, что надо написать рест, который будет позволять заливать файлы большого размера и файлы, помещающиеся целиком в тело запроса пост, добавлять их в GridFS и запрашивать метаинформацию о файлах. Есть рабочий прототип, но мне не нравится, что пришлось писать свое локальное файловое хранилище. Есть библиотека, которая позволяет развернуть локальное хранилище, создавать файлы, удалять и добавлять к ним байты по имени файла или по его метаинформации (например, идентификатору)?
151 1194583
>>194565

>Меня заставили


Дальше не читал.
152 1194594
>>194565
>>194583
Есть ли для го система управления контентом (локальными файлами)?
153 1194595
>>194594
Иди нахуй.
154 1194601
>>194387
Когда костыль в виде точки для вызова анонимных функций уберут, тогда и поговорим.
155 1194607
>>194595
Нет, сам иди нахуй, каникуляр. Я много гуглировал и нашел только разные убогие рест-сервисы для сохранения и получения инфы о пользователях. Но здесь не тот случай. Здесь нужно работать с БОЛЬШИМИ зашифрованными файлами, которые передаются и собираются по частям, которые можно обновлять, находя файлы по разным параметрам, а потом заливать в GridFS.
156 1194621
>>194607

>Здесь нужно


Goвно не нужно.
Нахуй иди.
157 1194624
>>194621
Каникуляр, дело не в языке, а в том, что необходимых библиотек нет ни на Java, ни на Go. Смотрю тысячи разных фреймворков для создания REST API, все работает))) искаропки))) запустил и заработало)))) но загвоздка в том, как локально хранить и обновлять файлы, полученные по частям, дописывать к ним байты и прочее.
158 1194633
>>194624

>дело не в языке


А в том, что ты обычный наследственный дебил.
Впрочем, чего и ждать от вебмартышки.
159 1194775
>>194633

>Впрочем, чего и ждать от вебмартышки


Ой блять, каникуляр ебучий, иди нахуй. Любая работа это макачество. Какой язык ни возьми, везде пишут неповоротливую опердень. Вероятно, ты какая-нибудь легаси C++мартышка, coq-петухан, хаскелист-борщееб или прочая нечисть. Кем еще ты можешь быть, учитывая, что ты сидишь на сосаче, и 95% задач в айти это разное крудошлепство?
160 1194780
Понятно, почему за опердени платят. Библиотек и фреймворков под необычное крудоговно не придумали, поэтому лучше заплатить мартышке типа меня, которая напишет minimal viable product.
161 1194796
>>194775
>>194780

>эта БОЛЬ и ОПРАВДАНИЯ безмозглого дегенерата


Ты даже на мартышку не тянешь, червь-пидор, хуево быть тобой
162 1195939
>>193824

> Interface{}


У меня на работе за такое ногами пиздят.
163 1196360
>>195939
А как ты обойдешся без interface{} например в telegram bot api?Где на каждый запрос возвращается структура, в которой поле Result меняется в зависимости от запроса?
164 1196363
>>196360
*тип поля
165 1196380
>>196360
interface{} - Это такая штука, которую желательно избегать.
166 1196399
>>196380
Но как её можна избежать в этом случае, не создавая новую структуру под каждый запрос вручную?
sage 167 1196406
>>195939

>У меня на работе за такое ногами пиздят.


Правильно, за го в проде надо ногами пиздить того, кто до такого додумался.
sage 168 1196408
>>196399
Он намекает, что го не следует использовать для таких задач.
169 1196412
>>196408
Но го со своими каналами идеально подходит для написания ботов.
sage 170 1196415
>>196412
Для написания ботов ИДЕАЛЬНО подходит любой язык, на котором есть либа для работы с апи этих твоих ботов. Каналы и асинк есть уже везде. Спойлер: у тебя синдром утенка.
171 1196504
>>196360
А что в го нет нормального джсон парсера? Даже никто не написал?
172 1196506
>>196415
У него опыта мало, он повторяет за другими.
173 1196535
>>196504
Есть, но ньюфаги в него не умеют.

>>196360
Для ответа реализуешь свой декодер, который сначала в дженерик-структуру парсит Result, а потом уже возвращает соответствующую структуру, реализующую общий интерфейс Result. Не знаю, какой там API, и времени сейчас более конкретно отвечать нет, но в похожих ситуациях я как-то так действовал. Можно и сразу дженерик-структуру возвращать, но при этом ты будешь много лишних пустых полей тягать и потеряешь все профиты от типизации. interface{} вообще ничего не решит здесь и лишь размажет боль с определением типа ответа по всему проекту.
93291231231589.png233 Кб, 488x512
174 1196700
>>196535

>дженерик


>дженерик


>дженерик

177 1196963
>>196954
>>196958
А зачем ты передаешь result в функцию?
178 1197076
>>196963
result - указатель на структуру. Декодер заполняет response и соответственно структуру на которую передан указатель.
179 1197077
>>197076
Зачем её передавать?
Ты можешь в свой функции заполнить response и вернуть то, что тебе надо.
180 1197080
>>197077
Result - одна из нескольких десятков структур.
181 1197085
>>197080
Почему не так?
https://pastebin.com/Vmki4Sp8
182 1197087
>>197085
Тогда interface{} это map[string]string. И тогда это только раздует код потому что нужно декодить json уже два раза.
184 1197091
>>197087
Зато избавляешься от неудобного interface{}
185 1197100
>>197091
Нет, не избавляюсь. Он же присутствует в коде. Нет, не избавляюсь. Он же присутствует в коде. interface{} это что-то динамическое, неопределённое, поэтому я думаю, он здесь уместен.
186 1197101
>>197100
Мне просто лень копаться в коде и разбираться почему он там.
В общем, надо стараться его избегать, только для всяких неопределенностей использовать.
Но не писать, как замену дженерикам, типа передал в функцию, определил тип, вызвал преобразование согласно типу
sage 187 1197156
Лол, гошники не могут определиться, как распарсить жсон. 2018.
188 1197168
>>197156
Да там пиздец, json.UnMarshal(byte[] string, &result). Резалт по ссылке передаём, сделать возвращаемое значение слишком мейнстрим.
189 1197204
>>197168
А какого типа будет твое возвращаемое значение?
190 1197217
>>196700

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



>>197204
Тип указатель, очевидно, лол, блядь. Какой ты ответ ждешь от этой обезьяны?
191 1197249
>>197156
Ты идиот?Нету проблемы распарсить json, есть проблема что одно из полей неопределённого типа.
sage 192 1197253
>>197249

>Нету проблемы


>...


>есть проблема

193 1197254
>>197168
Проорал с тебя. Здесь нету класов, здесь структура, и ты передаёш её для того что бы заполнить.
194 1197257
>>197253
Вопрос в том как обойтись без использования interface{} для поля с неопределённым типом. Смотри сначала о чём говорили, до того как гаписать комментарий.
sage 195 1197310
>>197257
Я в курсе, в чем вопрос. В связи с этим я и написал >>197156-пост. Перечитай его, кстати.
196 1197692
go run 10.go
runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

runtime stack:
runtime.throw(0x4b7f26, 0xe)
/home/user/golang/go/src/runtime/panic.go:605 +0x95
runtime.newstack(0x0)
/home/user/golang/go/src/runtime/stack.go:1050 +0x6e1
runtime.morestack()
/home/user/golang/go/src/runtime/asm_amd64.s:415 +0x86

goroutine 1 [running]:
main.main()
/home/user/golang/my-go-src/10.go:5 +0x130 fp=0xc46006bf80 sp=0xc46006bf78 pc=0x487e10
runtime.main()
/home/user/golang/go/src/runtime/proc.go:195 +0x226 fp=0xc46006bfe0 sp=0xc46006bf80 pc=0x428b16
runtime.goexit()
/home/user/golang/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc46006bfe8 sp=0xc46006bfe0 pc=0x451321
exit status 2

Оправдывайтесь, говнари. Зачем есть 1000000000-byte limit
197 1197751
>>197692
Например, потому что в нормальной ситуации никому гигабайтный стек не нужен.
198 1197797
>>197751

>2k18


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



Может еще и 640к хватит всем?
199 1198074
>>197797
Мне не интересно спорить с тобой, я пишу на Питоне за деньги и на ассемблере и чём угодно в качестве хобби.
sage 200 1198494
>>197692
Если у тебя ошибка, то ты делаешь что-то не так. Посиди, остынь, перепиши код в соответсnвии с гаедлайнами и всё будет хорошо.
201 1199467
Чето проперло в очередной раз вкатится в го, но полистав тред вспомнил какое же это говно.
202 1199782
Подписался на тренд. Много ли тут перекатившихся из PHP? Думаю писать на Го всякие демоны, устал от динамической дрисни.
зачем нужен.mp417,3 Мб, mp4,
1280x720, 4:41
203 1199854
>>199467

>какое же это говно


Что лучше го для нагруженных бэкендов?
204 1199868
>>199854
Kotlin и Java, когда речь идет о чем-то, сложнее реста-стейтлесс агрегатора данных, параллельно запрашивающих источники данных и объединяющих данные в модель.
205 1199958
>>199868
Что у котлин с производительностью?
152679001819955172.jpg96 Кб, 700x933
206 1199974
>>199958

>котлин

207 1199995
>>199974
зачем котик в унитазе
208 1200000
>>193824

>вообще не надо держать в голове, что этот код будет синхронным, а тот асинхронным.


Какой наглый пиздёшь.
209 1200006
>>199995

> котик


котлин
210 1200033
>>199958
Блядь, та же жаба этот котлин, такие же жабовские толстенные фреймворки, которые жрут столько памяти, что не умещаются в 512 ОЗУ где какой-нибудь php летает еще и с базой. Те же тормоза пока JIT не стартанет, а потом под нагрузкой не упадет это все и заново начнет стату собираться чтобы скомпилить но уже на тот момент все упало от таких маневров Те же избыточные либы, вкатиться в которые тебе придется читать целые книги хотя нужно 1% функционала из этого оверхеда и столько же времени, чтобы решить какую-то мало-мальскую проблему.

Если у тебя не целая стойка серверов, про жабу забудь, это игрушка жирных компаний, которые могут позволит себе тонну железа и тонну индусов чтобы очередную фабрику фабрик поддерживать
211 1200036
>>200000
Поясни, все так и есть, ты вызываешь внешнюю функцию, происходит переключение контекста, если ядер много то может быть даже на соседний поток попадет. Делаешь запрос в бд, происходи переключение, обращение к файлу - переключение, http запрос переключение и так далее, ты даже не держишь в голове, у тебя все асинхронно у этого есть своя цена, нужно дробилки прирывать руками, но это того стоит чтобы писать асинхронно синхроный код, никаких калбэков, никаких промиссов, никаких асинков
sage 212 1200066
>>200000
/thread, лол.
213 1200142
Как go увеличивает capacity? Проверял на двух машинах, на первой системе cap = len или cap + 1 = len. На другой же системе с каждым разом идем *2.

От чего зависит? Фазы луны? Системы? Железа?
214 1200152
>>200142
Хуйню написал, все понял.
215 1200230
>>200036
С И Н Х Р О Н И З А Ц И Я
216 1200244
>>199958
В рантайме также. Памяти жрет чуть меньше, бо инлайнит везде где только можно, в отличии от джавы (хоть invokeDynamic, но все равно). Компилируется на 2-5% дольше. Джарники немного толще.
217 1200386
>>200244

>В рантайме также


Также как жаба?
218 1200420
>>200386
Нет, также как ассемблер.
219 1200702
Почему массивы передаются по значению?
220 1200707
>>200702
А как должны?
221 1200736
>>200707
Ну почему слайсы и карты по ссылке, а массивы по значению?
222 1200783
>>200736
Слайсы тоже по значению. Просто слайс - это указатель сам по себе
223 1201206
>>200783

>указатель сам по себе


Хуйню спизданул
224 1201208
>>200736
Массив - непрерывный набор битов, по сути примитивное значение.
Слайсы и карты - указатели.
225 1201456
>>201206
Слайс - это структура с тремя полями: указатель на массив, длина, вместимость

Поэтому, когда передаешь слайс, он передается по значению ( то есть копируется, по сути), но так как слайс содержит указатель, то мы можем менять значения в массиве
226 1201480
>>201456

>Слайс


>вместимость

227 1202944
deno правда поимеет Node.js??
228 1206923
Мне понравился Go. Синтаксис местами ебанутый, но сам язык хорош. С трудоустройством, как понимаю, все очень сложно?
229 1206925
>>206923
Сложнее, чем с джавой, но в принципе устроиться можно.
230 1206928
>>206925
А в странах зарубежья получше ситуация?
231 1206935
Почему в го не завезли классов?
232 1206936
>>206935
Потому что классы не нужны
233 1206938
>>206936
Иногда они бывают удобны.
234 1206940
>>206938
В Го есть инкапсуляция и полиморфизм, нету только наследования( оно есть только включением)
235 1206959
>>206940
Согласен, а наследование и нинужно, подход composition over inheritance приводит к меньшей связанности (low coupling). В принципе можно писать так же, как и привык на Java/C#
236 1206960
>>206959

> В принципе можно писать так же, как и привык на Java/C#


Но не нужно, пиши Go-way style
237 1206967
>>206960
Я только в си-стайле умею.
238 1207230
Чего ругается говно это?
https://pastebin.com/TYzTQxE9
Ругается на 30 строчку, типа она вне цикла. А как её поместить в область цикла?
239 1207233
>>207230
Нужно чтобы у пользователя было ограничение по времени на ввод следующего числа.
240 1207247
>>207233
Я попробовал переместить блок кода вниз, без функции, но тоже хрень. Теперь таймер работает норм, но он реагирует на то, был ли ввод поздно или не только после ответа.
241 1207358
>>207230

>https://pastebin.com/TYzTQxE9


Твой continue находится в отдельной горутине и не соотносится с for.
Кстати, зачем ты делаешь err = nil ?
242 1207393
Generics
243 1207469
Try catch
244 1207476
Наследование
245 1207504
>>207393
Интерфейсы.
>>207469

>goto


>20!8


>>207476
Интерфейсы.
246 1207507
>>207504
Прямое управление памятью?
247 1207517
Как сделать несколько идентичных горутин?
248 1207518
>>207517
В каком смысле?
Можно написать что-то типа
func myfunc(){
//Do Something
}
func main(){
go myfunc()
go myfunc()
}
249 1207522
>>207518
Но если таких горутин 100? Я решил это через рекурсию.
250 1207524
>>207522
for i:=0;i<100;i++{
go myfunc()
}
Так не работает?
251 1207528
>>207524
Нет.
252 1207530
>>207528
Почему? Что выдает?
253 1207532
>>207530
Я в языке не шарю, изучаю его только час и возможно делаю ебалу. На первом пике функция, которая должна быть дублирована на кучу потоков. На втором пике кусок кода с циклом и вывод программы. Почему-то каждая горутина не входит в бесконечный цикл как задумывалось в функции и выполняется один раз.
254 1207533
>>207532
Скинь куда-нибудь исходники, попробую запустить у себя
255 1207534
>>207532
https://pastebin.com/nTwfkNiC
Вот сам код если что.
256 1207541
>>207532
>>207534
Проблема в том, что твои горутины не успевают отработать, потому что горутина main завершается. Добавь в main в конце time.Sleep(10*time.Second) и са увидишь, что всё выполняется.
257 1207593
>>207541
Спасибо большое. Я думал, что функция main работает до последней горутины.
258 1207594
Есть бесплатные хостинги для сервера на Golang'е? Что не нахожу, то на PHP, уже в отчаянии.
259 1207605
>>200736
Массив - это беспрерывное множество байтов. Все остальное - это связанные списки основанные на указателях.
260 1208077
Анон, как передать канал в хттп хэнлер? Труъ гошники пихают его в замыкание или просто сидят с глобальными каналами?
261 1208078
>>208077
Пиши конкретную задачу, а то непонятно
262 1208080
>>208078
Ну, есть хэндлер, который принимает гет параметр - строку. Её нужно передать в канал, который читает функция обрабатывающая эту строку. Соответственно канал нужно передать и в хэндлер и в функцию которая обрабатывает строку. Вопрос в том как это лучше сделать.
263 1208081
>>207594
heroku?
264 1208084
>>208080
Все равно как-то малопонятно. Почему канал нужен в хэндлере? Прочитал гет - передал в горутину, забрал из нее
265 1208085
>>208084
Ну, так а откуда горутине знать в какой канал отдавать результат?
266 1208090
>>208085
Лучше скинь код, который есть на данный момент, а то сложно понять.

И еще посмотри в сторону net/context
267 1208127
>>207504
Интерфейсы вместо дженериков?! Ну ты и тупой конечно, блять.
268 1208144
>>208127
Описываешь ситуации специально для тех типов, которые хочешь принимать. Удобная альтернатива перегрузке.
Необходимость принимать всё подряд невообразима в реальных ситуациях. Разве что для списка, но слайсы могут быть из чего угодно и этого достаточно.
269 1208262
>>208144
Кодогенерация тогда может подойдет?
sage 270 1208433
>>208144

>Необходимость принимать всё подряд невообразима в реальных ситуациях. Разве что для списка


))
image.png394 Кб, 1920x1080
271 1208806
Если засунуть горутину в бесконечныц цикл, то она будет вызываться кучу раз, создавая десятки потоков?
272 1208809
Народ, вот скажите, что вы пишете на этом вашем ГО? Хочу вкатиться. Везде слышу что "хайлоад". Какой я хайлоад себе дома напишу?
273 1208810
>>208809

>что вы пишете на этом вашем ГО


Обычно дженерики.
274 1208811
>>208806

> то она будет вызываться кучу раз


Да.

> создавая десятки потоков


Нет. Ты как вообще здесь очутился? Горутины легковесны, потоков ОС гошный рантайм без надобности не плодит, поэтому горутинами прямо так раскидываться можно без подводных камней.
275 1208813
>>208811

>Ты как вообще здесь очутился?


Я люблю Windows API.
276 1208815
Есть ли в Go возможность реализации в консоли многострочного ввода?
277 1208816
>>189761

>stuck in 70s



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

Go - это Си, там где исправлена всё, что действительно застряло в 70ых.

Без хеадеров, с поддержкой параллельности, go get и так далее.

А все эти претензии, мол нет ООП, эррорхендлинга, указатели там.

ООП не работает.
Эксепшены вредны.
А к указателям придираться вообще бред. В C/C++ их не любят за опасность. Они больше не опасны.
278 1208821
В чем вы пишите код на Go? В IDE или редакторах?
279 1208822
>>208816

> Go - это C



C с GC и тяжёлым рантаймом? Анон, у тебя всё с головой в порядке? C done right - это про Rust, а не про это поделие для микросервисов.
280 1208823
>>208822
Тогда правильней Go - Си-стайл в вебе.
281 1208824
>>208821
Для Go есть хорошие IDE VsCode и Goland, я пишу в последней.
282 1208825
>>208823
Только вот мало хорошего в C-style.
283 1208826
>>208809
Го хорош своей реализацией конкурентности через Горутины. А вообще Го используют для микросервисов
284 1208827
>>208825
А что плохое?
285 1208829
>>208827
Приходится прикладывать огромные усилия, чтобы код хоть сколько нибудь большого проекта оставался хоть по минимуму читаемым.
286 1208831
>>208826
Ничего нового и революционного в его реализации нет. По моему такое даже в D есть. Но за D не стоит Google.
287 1208832
>>208829
В Го наоборот достаточно читаемый код. Плюс автоматическое форматирование. Так что понять код на Го проще чем на той же джаве
288 1208836
>>208831
И что? От этого язык стал плох?
А в джаве, когда она появилась, было что-то революционное?
289 1208840
>>208832

> Это говно вкуснее того говна.



Го код читаемый только от того, что больших проектов на нём раз-два и обчелся. Ну и Java - далеко не лучший ЯП на земле.
290 1208844
>>208840
А какой же самый лучший, используемый в многих крупных проектах, ЯП?
291 1208850
>>208844
Нет таких, но есть языки с большим потенциалом. Те же Rust, Swift, Scala.
292 1208857
>>208850
Оу, на них-то проектов крупных хоть отбавляй)
293 1208872
>>208850

>Swift


>Scala


))))))))))))))))))00
294 1208881
>>208850
Почему не перейдут люди на раст? Он вроде удобнее.
295 1208895
>>208881
Async/await ещё не в стейбле.
296 1208899
>>208895
А как завезут, что? Сразу все прямо накатят?
297 1209027
>>208857

>на них-то проектов крупных хоть отбавляй


Twitter
298 1209061
sage 299 1209092
>>208899
Вангую, что нет, так как он объективно требует некоторых интеллектуальных усилий для его освоения. Большинство же кодомакак всю жизнь пишут на вариациях бейсика, который они выучили еще в школе: шаг влево, шаг врпаво - не могут, не понимают, появляется баттхерт и они уходят в отрицание.

Впрочем, ничего плохого в этом нет, раст - нишевый язык.
300 1209133
>>209092

> так как он объективно требует некоторых интеллектуальных усилий для его освоения.


Конечно потому что ТУПЫЫЫЫЕ, а не потому что в нишах в которых пишут на скале-жаве-свифте чаще всего просто нахуй не всрался системный язык без сборщика мусора.

>>208831

> Ничего нового и революционного в его реализации нет.


Вот тут плюсо-растоблядь говорит ровно обратное – https://youtu.be/SsEMc17Kzo4?t=46m12s , в то время в Д сборщик мусора течет как сука, это норма, и никто фиксить не собирается.
sage 301 1209148
>>209133

>в нишах в которых пишут на скале-жаве-свифте


Перечитай пост, на который отвечаешь.

В свифте, кстати, точно такой же rc вместо gc, как и в расте.

>>208826
Горутины есть во всех современных языках.

>>208836
Это был первый промышленный язык, код на котором выполяется в виртуальной машине. Write once - run anywhere. Это классика, это знать надо.
302 1209160
>>209148

>rc вместо gc


Можете пояснить, что это за аббревиатуры?
sage 303 1209178
>>209160
reference counting
garbage collection
304 1209532
>>209148

>Это был первый промышленный язык, код на котором выполяется в виртуальной машине. Write once - run anywhere. Это классика, это знать надо.



На самом деле, просто случайно сложившиеся обстоятельства.
Потребности у индустрии в джаве не было.
И что такое "промышленный язык" ? Нет такой вещи в природе.
305 1209538
>>209532

> И что такое "промышленный язык"?



Видимо он противопоставляет "промышленность" есть языка "академичности".
306 1209544
>>209148
В расте нет gc. Там где нужно, rc подключается в качестве библиотеки, все явно.
307 1209596
Сап, аноны. Не читал весь тред, так что не кидайте тряпками, если это уже тут написано. Такой вопрос - где используется язык Го сейчас? Я имею в виду, какие вакансии требуют его знание основным - мобайл девелопмент, гейм, или для программ на десктопе?
308 1209709
>>209596
Бэкэнд, микросервисы.
309 1209740
>>209596
D O C K E R
O
C
K
E
R
310 1209741
>>179924

>Даже в оберон, с которого передрали го, их добавили.


А есть ссылка? На то, что исключения добавили, а не передрали.
311 1209809
>>209740
Покажи мне хоть одну вакансию, где нужно трогать исходный код docker, чушка.
314 1209984
>>209824
Я боюсь, туда местные вкатывальщики нахуй не нужны.
315 1210238
>>209984
Да не сцы ты. Ты думаешь на Го уважающий себя скилловой девелопер будет писать?
316 1210588
Если я сделал клиент-серверную технологию у меня внутри сети по TCP, как сделать ее доступной не только в сети?
317 1210599
Тренд не читал
Подскажите годную IDE для го
goland не предлогать!
318 1210601
>>210599
Goland, VsCode, Sublime, Vim
sage 319 1210612
>>210599
Внезапно, emacs авторы сами в нем пишут
320 1210620
>>210238
Нет, конечно, на го писать - самого себя не уважать.
На этом тред предлагаю считать закрытым.
321 1210800
А как вот всякие скайпы делают передачу информацию не через сервер, а от клиента к клиенту епты бля?
322 1210802
>>210601

>VsCode


Написано на JS и не тормозит! Чудеса.
323 1210858
>>210599

>goland


Почему? Сегодня поставил и вроде заебись.
324 1210870
Кто что пишет? Чем занимаетесь?
325 1210986
>>201208
Каналы, слайсы и мэпы - это структуры, а не указатели, если что.

Почитай исходный код уже.
326 1211068
>>210986
Структуры с указателем на самого себя это слайсы, мэпы - хэш-таблицы, нет?
327 1211161
Здесь в одно время был местный шизик неймфаг, он жив вообще?
328 1211187
>>194367
Раст пытался, но что-то не фартануло пацану.
329 1211243
>>189285

> Настолько, что используется в Google


Оценочная система уровня /b/.

> написан Docker и прочие Kubernetes


Причем оба работают как говно и регулярно падают, а об их "стабильности" ходят легенды?
330 1211287

> а об их "стабильности" ходят легенды?


Разве что в твоем манямирке, хороший софт сюда же дополнительно инфлюксы всякие, работает не хуже плюсоговна, и заметно лучше жаваговна.
мимопроходил
331 1211288
332 1211311
>>211287

>хороший софт


Которого нет почему-то...
333 1211547
>>159767 (OP)
ребят, как ебилдить с сорсов? Хочу проксю собрать, а go get не пашет на официальный репо. Да и вообще где мой mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make -j4 && sudo make install

https://github.com/Yawning/obfs4
334 1211722
>>211187
Rust — это ML/C гибрид. И без намека на ООП
335 1211726
Попробовал немного го, понравилось. Что стоит учить вместе с ним, чтобы начать извлекать из этого профит?
sage 336 1211777
>>211726

>понравилось.


говноед.жпг

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


Какой-нибудь язык программирования.
337 1211851
>>211726
Выучить его модель многопоточности
Разобраться в микросервисной архитектуре
Докер
Базы данных
339 1213173
>>199868
Лол, джява. JVM сосёт хотя бы уже потому, что там нет никаких встроенных механизмов асинхронности: ни грин тредов или корутин как у гошки или эрланга, ни эвент лупа как у ноды. Хуева туча либ несовместимых между собой от вертексов до котлинкорутинс. Это просто старое отсталое говно, на котором писать ансинхронщину и параллельный код больно и неудобно.
sage 340 1213217
>>213173

>JVM сосёт хотя бы уже потому, что там нет никаких встроенных механизмов асинхронности


в скале и кложе есть (остальные жвм-языки ненужны (за исключением легаси))
341 1213261
>>213173
Параллельный код и на Go - боль. И что не очень приятно, так это то, что на Go асинхронный код == параллельный код.
342 1213389
>>213261
А чем непосредтвенно проблема?
Алсо, в Go не параллелизм, а конкурентность
343 1213522
Пишу на го небольшой сервер. Есть возможность через template спарсить целиком папку, чтобы не делать как на пике?
344 1213523
>>213057
Ебать быдлокод.
345 1213538
>>213389

>А чем непосредтвенно проблема?


Нет никакой проблемы.
То шизик срущий.
346 1213579
>>213217
Нет там нихуя, ты не понял суть, у тебя есть либы но экосистема к ним не готова, вот есть у тебя акка и квазар или вертикс - збс. (они конечно сосут у го по производительности и потребления памяти, но суть не в том). но толку в этом немного, потому-что большинство либ в эоксистеме их не используют, ты будешь просто обмазывать ими многочисленные тредпулы со страым блокирующим говном.
347 1213595
>>213389
Проблема в том, что асинхронность по дефолту проще, чем многопоточность, ибо с ней тебе не нужны мьютексы, локи, каналы и все вот эти вот примитивы синхронизации. (Хотя каналы могут быть полезны и в однопоточном евентлупе). Го же вынуждает скатываться в многопоточное программирования, когда тебе нужен просто асинхронный код.
348 1213598
>>213595

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



Угу. Вместо этого тебе руками нужно выполнять работу планировщика, вручную организуя каждые пять строчек кода.
349 1213600
>>213598
Не нужно. Всё что тебе нужно - это писать await перед асинхронными вызовами. Это куда меньшая когнитивная нагрузка в условиях, когда сам язык тебе никак не помогает писать многопоточный код (например как Rust).
350 1213602
>>213600

>Всё что тебе нужно - это писать await перед асинхронными вызовами



Что еще спизданешь, петушок?

async function yoba(){
for(var a=0;i<10000000000000000000000000;i++){
console.log(i);
}
}

await yoba;
351 1213604
>>213602
мой батя большооооооооооооооооого размера
sage 353 1213712
>>213579
Ты не шаришь.
354 1213721
>>213712
Жабан поломался, несите следующего.
 .png6 Кб, 360x360
# OP 355 1215554
Не умираем.
356 1216420
Go - типобезопасный язык?
sage 357 1216427
>>216420
Нет.
358 1216444
>>216427
Врёти.
Go — язык со строгой статической типизацией.
Это не означает типобезопасность?
sage 359 1216455
>>216444

>строгой статической типизацией.


>нет дженериков, везде interface{}


))
360 1216479
>>216444
Не обращай внимания, тут в треде сидит какой-то поехавший гохейтер
361 1216590
>>216444
Типобезопасность это по-простому, когда у тебя не может быть нулевых указателей (null/nil), так что нет.
sage 362 1216747
>>216479
Ты так говоришь, как будто в го-тредах сидит кто-то еще, кроме го-хейтеров.

Я уж молчу, что об этом даже в шапке написано (шапку тоже гохейтер пилил?), такое-то отрицание.
363 1216859
>>216747
Я не го-хейтер, но сижу. И я такой тут не один.

Что именно там в шапке написано?
Если ты про дженерики, то дженерики - это не предмет острой необходимости.
sage 364 1216877
>>216859

>Что именно там в шапке написано?


>>Дженерики нужны



Лол. Обожаю это классическое го-отрицалово.

>го типобезопасный?


>нет


>почему?


>нет дженериков


>дженерики - это не предмет острой необходимости



Ненужно, тольковыиграли, ага - классика. Ты понимаешь, что вопрос был не в том, острой необходимости этот предмет или тупой, а в том, типобезопасный го или нет? У тебя манера ведения дискуссии один в один как у религиозных фанатиков, вот ей-богу.
365 1216957

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


Можно чуть подробнее об этом?
366 1216995
>>216957
Нельзя, иди нахуй.
367 1217003
>>216877
Где же связь между типобезопасностью и дженериками?
368 1217055
>>216957
После компиляции натравливаешь strip на бинарник и пакуешь upx-ом.
sage 369 1217336
>>217003
Затредшотил. Комментарии излишни.
370 1217597
>>208840

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


ЛОВИТЕ НАРКОМАНА
371 1219741
>>217336
Бля, как же меня расстраивает вот эта хуйня. Почему человеки недооценивают статическую типизацию? Может быть их стоит заставить код на питоне, который хуй потестишь и который кидает runtime error где-то глубоко в проекте из=за того, что опечатался, нет метода, проебал параметр
372 1219747
>>209061
Ебанулся?
373 1219749
>>199854
Java, C++. Только вот таких ебанашек не слушай

>>200033
Высоконагруженный бэк он на то и высоконагруженный, чтобы сожрать всю память и самому ей управлять, а не системой.
374 1219750
>>206959
Ты блять уёбок поехавший. Ты когда-нибудь писал компилятор или что-нибудь другое не менее сложное с тучей похожих объектов? Не возможность построить чёткую иерархию наследования ещё тот головняк в Go, которого нет с C++ или Java.

Забудьте уже про эту поебень. Её придумали для джунов и интернов в Гугле.
375 1219752
>>219741
Человеки успешно ебошат на жс, пыхе, питоне, руби, ерланге и в хуй не дуют. Осло, почему в пример ущербности динамикопараши всегда ставят питон при таком то ворохе динамических языков? Это из-за сильной типизации так пичот?
376 1219754
>>207593
sync.WaitGroup
377 1219755
>>207532

> DDOS


кек
378 1219761
>>219752

> всегда ставят питон при таком то ворохе динамических языков


Антош, ну тi чего? Петно популярнее и извеснее, чем то, что ты перечислил. Вот я пишу на Лисп. Если заменить Питон на Лисп в моём утверждении, тебе станет понятнее? НИ-ХУ-Я Скорее наоборот.

> жс


Последний ECMA6 отличный язык, но там свой браузерный мир.
sage 379 1219819
>>219741

>Почему человеки недооценивают статическую типизацию?


Потому что она все еще not good enough в большинстве случаев. Экспрессивность, robustness и контракты api важнее.

>>217336-кун
380 1221257
какую книгу на руSSком языке постоветуете
какую ide юзать
мимо школьник
381 1221262
>>221257
http://golang-book.ru

Goland от Jetbrains или VS Code от Microsoft
382 1221440
>>221262
Благодарю
383 1221443
>>221257
Не советую Русский. Го-тутор с переводчиком читай.
emacs, go-mode.
384 1221609
>>211547
О! Норм пацам, умеет в CMake.

Просто сделай go get -u имя репы/..., где до тулы. Можешь склонить, а потом go build ./... и go install ./...

Потом ищи в $GOPATH/bin твою проксю.
385 1221610
>>183474
>>184378
Вот поэтому я и говорю, что Go хуёвый, потому что как ПаХаПэ. Куча быдло и школьников пишут, что в общем-то приводит к пиздецу.

Или вот. Использует yaml как конфиг. Раньше такой же хуёнёй занимались javascript=хуипстеры с их json-конфигами.
386 1221612
>>221610

> Использует yaml как конфиг.


Ты че сука ты че, а где конфиги хранить? В плоском key value что ли? В 20!8-то году?
387 1221613
>>221612
.env ?
388 1221615
>>221613

> .env ?


> В плоском key value что ли? В 20!8-то году?

389 1221616
>>221612
Обоссанка, как ты будешь свою иерархическую простыную править руками? Эту поебень даже парсить трудно шо пиздец. Лучше уж Джейсон Стейтхейм.
390 1221618
>>221615
А сама суть конфига это не key-value пара блядь? Пошел нахуй. Монгу поднимай да храни.
391 1221626
>>221615
Ещё одини школьник обосрался
392 1221688
>>221610

> Куча быдло и школьников пишут


Язык от этого хуже не становится.
393 1221705
>>221688
Вообще-то становится хуже, именно от тебя.
394 1221795
>>221688
Сначала говнокодят и юзают yaml в конфигах, а потом просят удалить sync.Cond. Если ты долбоёб, и не знаешь нахуй нужны кондвары, то иди нахуй
https://github.com/golang/go/issues/21165
395 1223605
Анон посоветуй краткий гайд по основам языка. А то я начал читать книгу the go programming language, а она оказалось долгой и скучной. А я хочу сразу начать писать код.
396 1223765
>>223605
golang-book
397 1224560
>>194607
в чем проблем хуярить куски в PUT с Transfer-Encoding: chunked и класть их
потом хоть мамке за шиворот ?
398 1225733
>>188664

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


>


go build
399 1225741
>>194565

> файлы большого размера


А как насчет компрессии на клиенте и декомпрессии на сервере? Например используя LZMA.
Если файл больше предела то сжать его соответствующим шакалом.
400 1225841
>>223605
Go Tour
Ты даже не соизволил пошариться по сайту языка
401 1225864
>>159767 (OP)
Вот поясните для идиота, что такое микросервисы? Вот я хочу научиться кодить на Go. Дайте мне 5 примеров петпроджектов с МИКРОСЕРВИСАМИ.

Теорию читал, но без примеров нипанятна
402 1225963
>>225864
Вот представь вк. Теперь раздели функционал, который там есть, на модули. То есть, есть модуль, который ответственный за работу с музыкой, модуль на работу с видео, модуль на фотки, модуль на написание коментов и тд.
Ты типа разраб вк, и решил запилить новый суперплэер для видео. В монолите, тебе бы пришлось для тестов, работать со всем сайтом. А тут, ты просто отключаешь модуль с видео, который есть, подключаешь свой и радуешься.
403 1226320
>>225963
Все верно. Добавить стоит только то, что каждый микросервис может работать независимо от других. Хотя почему-то часто это игнорируют, и получается тот же монолит, только на словах микросервисы
uPnP/SSDP/DHT/PEX Виталий 404 1227914
Два чаю, господа!

Как задискаверить сервис в интернетах?
Делаю p2p нетворк и для связи нод хотелось бы использовать Discovery протокол без зашитого IP адреса seed ноды.
Текущие uPnP/SSDP - дискаверят только в рамках LAN.
DHT/PEX исползьуют предопределённые seednode.
ХЗ как дискаверить свой сервис в сетке.
405 1228057
>>227914
"Откуда вы все лезете"(с)

Иди почитай как сетевые протоколы работают (в частности tcp vs udp и почему только в локалке бродкаст работает)

никак
Виталий 406 1229556
>>228057
Алёша, поверь, Я знаю о протоколах TCP больше чем ты. Ибо CCNP. Они тут вообще не при чём, Васян!
Вопрос открыт.
407 1229558
>>229556
Маску подсети посчитать сможешь, сисимипи?
sage 408 1229563
>>229556
Бро, в этом треде тебе точно не помогут, тут одни токсичные школьники (голанг же!). Создай свой тред про п2п, ну или оживи networking thread например: https://2ch.hk/pr/res/1189320.html (М)

Справедливости ради, я не ебу, как забутстрапить сеть без сиднода, и не уверен, что это возможно - но тред про п2п точно лишним не бывает, может кто и подскажет каких-нибудь интересных альтернатив
409 1229569
>>228057
>>229556
>>229563

>этот ну совсем не паляшийся шизик


/говно ас ис.
sage 410 1229957
>>229569

>совсем не паляшийся шизик


Вообще-то твоя шиза очень даже палится.
411 1230859
пачаны хелп. нада вкатиться в го за два три дня что пачитать?
412 1230912
>>230859
боку но пико
413 1231267
>>230859
golang-book
asd.jpg67 Кб, 695x459
414 1231482
Анон, помоги молю. Почему получателем не может быть *IPAddr?
415 1231499
>>231482
Потому что нахуй иди
sage 416 1231509
>>231482
https://play.golang.org/p/iK_odIg7sKC
Может, просто ты не смог в указатели.
417 1231517
>>231482
Потому что ты IPPidr.
418 1231547
>>231509
Спасибо, понял теперб
419 1231676
вкатился
420 1232647
антон, памаги плес https://github.com/golang/tour/blob/master/solutions/binarytrees.go
почему утечка ?
Алкодиллер 421 1233504
Вощем есть всего две более-менее популярные программки, которыми мне не удалось полноценно воспользоваться за всю жизнь. Одна тупо зависала в процессе работы без каких-либо ошибок, вторая наоборот после установки закормила пачками ошибок и продолжает это делать при каждом запуске компутера. Причом иногда они начинают частично подавать признаки жизни и потом опять дохнут, абсолютно рандомно без каких либо закономерностей. Первая программка это клиент сети Ethereum (Geth), вторая это Docker. Сейчас вот узнал чта обе эти программки написаны на Go, кек
422 1233531
>>233504
Ты просто даун, у миллионов людей работает, а у него не работает.
423 1234083
>>232647
А как определял факт утечки?
424 1234087
>>232647
у тебя Same возвращается при первом несовпадении, а go Walk завершается только при исчерпании канала. В итоге, при несовпадении одна или две горутины навечно блокируются и держат ссылку на t *tree.Tree
425 1235945
Хм
426 1236384
Если в GOвнорутине запустить бесконечный цикл - оно будет работать до выхода из цикла?
427 1236626
>>236384
До выхода из главного потока.
428 1239132
Вытеснит ли Го си или нет? Или он и кресты вытеснит? Второе наврятли.
429 1239149
>>239132

>Вытеснит ли Го


О нем забудут через пару лет
430 1239152
>>239132
У Го, Си и Си++ разные ниши, чтобы что-то вытеснять.
431 1239156
>>239152

>разные ниши


какая ниша у Го?
432 1239169
>>239156
Популярен для сетевых приложений и микросервисов.
433 1239178
>>239169

>для сетевых приложений и микросервисов


Каких приложений и микросервисов? Ну что бы сориентироваться, а то кругом какое то говно.
435 1241172
>>233531
Я бы сейчас вспомнил, сколько говнокода написано на какой-нибудь джаве.
436 1241223
>>239156
смузидизайнеры используют его для своих выебонов
437 1241224
>>241172

>аписано на какой-нибудь джаве.


Много, ну и что? сама джава выше неба используется
438 1241560
>>241224
И то, что судить язык по конкретному коду - это неправильно.
Тем более, что докер зависит от ряда системных настроек и способа установки. И если ты неправильно его готовишь, то сам дурак.
С клиентом под этериум не работал, он запросто может оказаться куском говнокода.
439 1242731
в го вообще есть методы для фильтрации... и вот всего такого. У меня вот есть слайс с кукисами. Как мне пройтись по нему и найти куку с нужным мне именем? Я пока это делаю через циклы, но как бы... ну епт, ну должно же быть хоть что-то такое?
440 1242791
>>242731
Привыкай. Go это язык дауншифтеров.
441 1242822
>>242791
а чего еще в го нет? Мне вообще не очень этот язык понравился по синтаксису и по интеграциям с ide и вообще...
Меня подкупило легкость создания бинарников. До этого смотрел на c# и там пиздец полный в этом плане. Чтоб создать 1 .exe нужно целый ритуал выполнить, а потом этот exe будет помещен черт знает куда и вместе с ним будет куча других файлов. А тут все просто, нажал кнопку и вот тебе бинарник. Можно было бы питон, но там тоже пляски с бубном нужны чтоб в бинарник скомпилировать.
442 1242831
>>242822
Что с IDE не так? Для Go есть две популярные: Goland От JetBrains и VSCode.

>>242731
У тебя там хранится "имя-> значение"? Тогда делай это через map.
Есть еще метод sort.Search, но для него надо правильно написать фильтр
443 1242833
>>239132

>Вытеснит ли Го си или нет?



Я чего-то пропустил и на го стали писать популярные OS и эмбед?
444 1242835
>>242831

>VSCode


ну я вот пытался в нем писать. У меня так и не получилось автоматическое форматирование выключить. Вернее удалось, но только полностью. По сохранению файла он просто брал и все пробелы в табы конвертировал (не надо говорить как надо или не надо. Я хочу пробелы и го умеет работать с пробелами). Проверка ошибок происходила только по сохранению файла... и все такое. Очень неудобно. Скачал goland и чуть получше стало.

>>242831

>У тебя там хранится "имя-> значение"?


Нет. Там слайс структур http.Cookie
14295359331102.jpg31 Кб, 426x374
446 1242853
>>242836
Сука, проорал на всю базу.
447 1243106
Почемму мне сказали что го не ловит ошибки если он ловит ошибки?
448 1243186
>>243106
В Го нет механизма исключений, так что обработка ошибок - дело рук самого программиста
449 1243240
>>243186
Но можно panic / recover
450 1243248
>>243240
Но не нужно.
451 1243286
>>243248

>Но не нужно.


Но используется местами в стандартной библиотеке
452 1243759
>>243286
Что-то тут очень неладно. Возможно разработчики решили что с такими решениями они поторопились. Да и ООП там есть, проста замаскированный под структуры.
453 1243906
В стдлибе еще unsafe используется, но это не повод его в своих приложениях направо и налево юзать.
Паника это не аналог исключениям в других языках. Паниковать стоит, например, в тех случаях, когда в ходе работы твоего приложения его состояние стало невалидным и кроме как тушить свет уже ничего не остается. Рандомный пример: на входе какой-то функции принимаешь interface{} и ассертишь его в какую-то свою структурку. В определенный момент ассерт не проходит (разработчик по ошибке стал передовать в функцию какую-то ебалу), хотя по логике работы программы - должен. Вот тут можно и запаниковать.
15111144667610.png191 Кб, 512x512
454 1243916
>>243906

>на входе какой-то функции принимаешь interface{} и ассертишь его в какую-то свою структурку. В определенный момент ассерт не проходит (разработчик по ошибке стал передовать в функцию какую-то ебалу)



>>216444

>Go — язык со строгой статической типизацией.



Главное - верить!
455 1244062
Няши, покидайте статей (или видосов на ютубе) по разработке веб приложения на каком-либо фреймворке. Все, что я нахожу - это написание на чистом go, через http пакет. Но ведь есть огромное количество фреймворков, вот тут https://github.com/avelino/awesome-go#web-frameworks например их целый список. Другое дело, что из их документации не очевидно как ими пользоваться, просто вывести строчку "it works" и сказать "все ахуенно" может кто угодно.
456 1244087
Господи я не могу поверить что такой язык существует. Напридумывали себе концепций и не реализовали их, вместо этого нарисовали их в синтаксисе.
457 1244097
>>244062
антуан, ну ты совсем поехавший, раз в таких гавнофреймах копаешься..
уж лучше займись <?$PHP ?%PHP>
458 1244108
>>243916
ну, в жабе или сисярпе это будет Object какой-то, один хуй по сути.
459 1244110
>>244097
При чем тут пыха? Мне надо сделать интерфейс к бэкэнду, который написан на го. Куда я пхп запихну?
А в фреймах я копаюсь из соображение что если они есть, то их писали с той же целью. Зачем пилить велосипед?
460 1244112
>>244062
юзай buffalo, из full stack веб фреймворков это самый адекватный. там и примеров дохуя:
https://gobuffalo.io/en/docs/examples/
461 1244115
>>244112
Как раз читаю про него. Выглядит ничего так, действительно куча примеров. Наверное начну с него. Спасибо.
462 1244135
>>244110
На го фреймворки не нужны. Сам Го - это фреймворк для Си.
463 1244170
>>244110

>


>При чем тут пыха? Мне надо сделать интерфейс к бэкэнду, который написан на го. Куда я пхп запихну?


>А в фреймах я копаюсь из соображение что если они есть, то их писали с той же целью. Зачем пилить велосипед?


>Ответы: >>244135


бери самый простой фреймворк. лучше вообще jquery обойтист
464 1244171
>>244135

>


>На го фреймворки не нужны. Сам Го - это фреймворк для Си.


>Ответы: >>244170



двойная рекурсия на гавно

Вот C# или другие языки это да
465 1244174
>>244171

>имплаинг C# хороший ЯП

466 1244191
>>244174

>имплаинг C#


Мне мама так сказала
А еще, сайтик на C# всего-то потребляет 1гб траифка в день. Отличные, нескучные окна
467 1244198
>>244191

> Охуеть, в первый раз слышу, чтобы САЙТ потреблял траффик, а не пользователи. Слушай, мне иногда хостер письма пишет, что я дохуя траффика потребляю и любезно предлагает перейти на тырпрайз тариф. Я отказываюсь, конечно.


Но не подскажешь, как можно оптимизировать сайт чтобы траффик уменьшился?
468 1244203
>>244198

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


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


использовать прогрессивные фронтэнд-фреймворки )
469 1244209
>>244203
Какая разница какие фреймворки использовать, если пользователю надо передать одинаковый объем информации - условно картинку и текст? Про UI речи не идет, он простейший.
470 1244213
>>244203

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



1) https://www.techrepublic.com/article/how-to-configure-gzip-compression-with-nginx/

2) https://cdnjs.com/
471 1244215
>>244213
Во-первых, ты ответил не мне, а во-вторых про cdn и компрессию я знаю и использую. Другое дело, что это уменьшает траффик потребляемый ПОЛЬЗОВАТЕЛЯМИ а не СЕРВЕРОМ.
472 1244216
Ну и по поводу "прогрессивных фреймворков" - на самом деле в каждом рофле есть доля рофла - используя javascript-фреймворки для фронтэнда ты можешь вебпаком свой код обфусцировать до минимальных токенов и далее нужник тебе их пожмёт.
473 1244218
>>244215

В таком случае клоудфаре.
474 1244219
>>244216
А вот об этом я кстати не думал. Почитаю по теме.
>>244218
Как раз флара и используется.
475 1244392
>>243906

>В стдлибе еще unsafe используется, но это не повод его в своих приложениях направо и налево юзать.


в unsafe не гарантирована обратная совместимость, panic-recover подпадает под соглашение и будет работать на спецификации 1.x

>Паника это не аналог исключениям в других языках.


Ну-ка, поясни чем panic(myError) и recover() тремя вызовами выше не аналог Raise - Catch в других языках? кроме того, что философски это не Go-way
EVc3Nm0.png426 Кб, 770x478
476 1245333
Goспода goвнари, накидайте, пожалуйста, примеров задач, с которыми вам приходится сталкиваться на работе. Чем больше, тем лучше.
477 1245352
>>245333
Напиши приложение с поддержкой oauth2, REST API, разделенное на микросервисы, с использованием Mongo. Потом залей всё это на Google Cloud.
478 1245360
>>245333
Я парсю xml. Миллиарды XML. ЭСФ/УПД
В кодировке WINDOWS-1251 :-(
Потому? что в Российском формате электронных документов они в сраном cp1251
479 1245363
>>245360
Не ну так-то в ~2 раза меньше байт на тоже количество информации.
480 1245371
>>245363

>Не ну так-то в ~2 раза меньше байт на тоже количество информации.


Это xml. Значительная часть xml это "<>=\n + пробелы.
Так что выигрыш минимален.
Зато минусов - жопой жуй.
Миллионы готовых библиотек/генераторов/линтеров/парсеров не работают без перекодировки.
Перекодировка в много потоков память зажирает капитально. Мне 16 гигов на рабочем сервере не хватает уже.
* В России 95% товаров народного потребления импортные. Зачастую импортный товар сохраняет оригинальное название. Представьте какая каша приходи в электронной Счет-фактуре в кодировке WINDOWS 1251?
jour d'Г©tГ© вместо jour d'été(летний день)
О чем они, блядь, думали?
481 1245377
>>245360

>в Российском формате электронных документов они в сраном cp1251


А каким ведомством это регулируется? У них есть законодательные акты, обязывающие их использовать эту кодировку?
482 1245391
>>245377
Формат установлен Минфином.

Смотри

>Приказ ФНС России от 24.03.2016 N ММВ-7-15/155@ "Об утверждении формата счета-фактуры и формата представления документа об отгрузке товаров (выполнении работ)


http://www.consultant.ru/document/cons_doc_LAW_197242/c397bb147d7ea38a45fd3a950d23700fb9fcf3e2/

Цитата

>Первая строка XML файла должна иметь следующий вид:


><?xml version ="1.0" encoding ="windows-1251"?>

sage 483 1245405
>>159767 (OP)
Немного поколупал с утра го и с меня хватило на всю жизнь. Как можно иметь дело с этой примитивной парашей каждый день? Вы же все на антидепрессантах должны сидеть. Я ебал
484 1245406
>>245405
Что конкретно не устроило?
(JPEG Image, 285 × 177 pixels).jpeg7 Кб, 285x177
485 1245431
>>245405
Двачую, такое же ощущение было.
IMG20180812145019.jpg167 Кб, 683x918
486 1245464
>>245405

>Как можно иметь дело с этой примитивной парашей каждый день?


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

Возьмем тот же С++/Раст/Котлин, это если мы говорим о не "примитивных" языках.
Пишется то код легко и весело.
Только потом разобраться в жидкой кашице из шаблонов, расширений, перегруженных операторов и функций очень трудно.

P..S. Двач, как тебе моя коллекция хипстерской литературы?
487 1245466
>>245464

>как тебе моя коллекция хипстерской литературы?


Нинужная макулатура
488 1245467
>>245466

>Нинужная макулатура


Бебебе.
Знаю я "программистов", которым кроме StackOverflow и ctrl+c / ctrl+v ничего не надо.
Только вот одна проблема:
- Garbage in, garbage out
489 1245470
>>245467
Gowno in, gowno out.
490 1245475
>>245467
Хорошо, что ты там в этой макулатуре такого вычитал, чего нет в документации по языкам?
491 1245477
>>245464
Чистый/совершенный код - хуита, ну и

>хипстерская


>на русском


тыпонел. Но для начала неплохо, на полку поставить точно не стыдно, лол.
492 1245496
>>245475

>Хорошо, что ты там в этой макулатуре такого вычитал, чего нет в документации по языкам?


Что вы понимаете под понятием "документация по языкам"?
Language Specification?

>на русском


Для меня это преимущество.
При написании
- Тех задания
- Паспорта проекта
- Справки разработчика/пользователя
- Комментариев
- Баг репортов.
знать официальный перевод терминов полезно.
Иначе получается смесь нижегородского с французским
// Эта кложура синкает линк из пула и ретурнит ерроры в слайсе
493 1245498
>>245496

>Language Specification?


Хуенгвидж маняфикация, в нормальных языках есть доки с описанием и примерами
494 1245500
>>245498

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

495 1245504
>>245498

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


Что есть "нормальные языки"? Это что то из разряда:
https://ru.wikipedia.org/wiki/Ни_один_истинный_шотландец
496 1245518
>>245504

>Что есть "нормальные языки"?


Перл, Си
497 1245527

>Что есть "нормальные языки"?


>Перл, Си


Странный список.
Выбрали с помощью монетки?

Но раньше вы утверждали, что

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


Для С есть официальный(!) сайт с "доками" и "примерами"?
Я знаю что официальная спецификация языка С
- платная. Около 200 долларов https://www.iso.org/standard/74528.html
- защищена копирайтом.
Что то не сходится.
498 1245533
>>245527

>спецификация языка


Смысл знаешь?

>Выбрали с помощью монетки?


Нетъ, вот так должна выглядеть нормальная дока:
https://perldoc.perl.org
larry-wall.jpg73 Кб, 360x480
499 1245534
>>245518
хотел вставить петросян.пнг, но это даже лучше подойдет
cL8p-93w.jpeg178 Кб, 660x439
500 1245535
>>245518

>>Что есть "нормальные языки"?


>Перл, Си

501 1245536
>>245535
Воистину божественные языки, особенно Перл
502 1245537
>>245534
Няшка
hickey.png139 Кб, 527x394
503 1245541
>>245496

>Эта кложура синкает линк из пула и ретурнит ерроры в слайсе

most-hated-programming-languages.jpg164 Кб, 1200x726
504 1245546
>>245536

>Воистину божественные языки, особенно Перл


> Перл


Возглавляет список самых ненавидимых языков программирования
http://lmgtfy.com/?q=most+hated+programming+language
505 1245548
>>245541
Эта анонимная функция синхронизирует соединение из пула и возвращает возникшие при этом ошибки в массиве.
506 1245553
>>245546
Тоесть менее ненавистные С++ на 10 месте и Матоаб на 15 тебя не смутило? А ТайпСкрипт на 3 месте по любимости? Ммм? Лол
507 1245556
>>245548
Шутка в том, что на пике автор кложуры, ну же
508 1245557
>>245546
А самый пиздатый это Р и Котлин, кек, рейтинг смузихлебов он такой
509 1245563
>>245553

>Тоесть менее ненавистные С++ на 10 месте и Матоаб на 15 тебя не смутило?


>А самый пиздатый это Р и Котлин, кек, рейтинг смузихлебов он такой


Что меня должно было смутить? Это опрос на StackOverflow.
А как мы выяснили SO - это основное место? где месные нищие духом "программисты" побираются крохами кода.

По крайней мере, я надеюсь это StackOverflow, а не SQL.ru/forum
510 1245568
>>245563

>А как мы выяснили SO - это основное место?


Там нюфагов вкатывальщиков 99%
512 1245601
>>245504

> https://ru.wikipedia.org/wiki/Ни_один_истинный_шотландец


Интересно, ничего нового конечно, но тут же по-научному что ли как-то сформулировано. Надо бы начинать развиваться читать подобные книги или книги по около психологии.
513 1257735
>>159767 (OP)

кто нибудь работает на го?
514 1263538
Тред утонул или удален.
Это копия, сохраненная 23 сентября 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски