Сохранен 651
https://2ch.hk/pr/res/2409760.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Cамого МУЖЕСТВЕННОГО в мире языка Go тред №20 /go/

 Аноним 19/07/22 Втр 14:01:56 #1 №2409760 
изображение.png
изображение.png
изображение.png
изображение.png
Cамого МУЖЕСТВЕННОГО в мире языка Go тред №20 /go/

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

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

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

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

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

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

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

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

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

Предыдущий тред умирает здесь: >>2286748 (OP)
Шаблон шапки: https://pastebin.com/vmWawK2t
Аноним 19/07/22 Втр 14:07:21 #2 №2409768 
>>2409760 (OP)
Первый нах! Респект го за убийство жабы на бэкенде
Аноним 19/07/22 Втр 14:09:53 #3 №2409772 
Шарп лучше чем Go.
Аноним 19/07/22 Втр 14:14:12 #4 №2409779 
>>2409772
Чем?
Аноним 19/07/22 Втр 14:14:31 #5 №2409780 
>>2409779
Чем Go.
Аноним 19/07/22 Втр 14:17:52 #6 №2409788 
изображение.png
>>2409780
Аноним 19/07/22 Втр 14:25:29 #7 №2409797 
Гоу это нью эра джава скрипт
Аноним 19/07/22 Втр 14:28:09 #8 №2409799 
Что можно почитать о работе с сетью?
Задача простая, хочу написать имплементацию Л2ТП впн сервера не спрашивайте нахуя
Кое как слепил базовый UDP сокет, но пока что у меня проблема даже с тем, чтобы собрать пакет и кинуть его от сервера к клиенту, лол.
Аноним 19/07/22 Втр 14:40:20 #9 №2409812 
>>2409799
>Что можно почитать о работе с сетью?
https://ru.wikipedia.org/wiki/L2TP
Аноним 19/07/22 Втр 14:51:35 #10 №2409832 
image.png
Если гохеру предложить вагон говна или цистерну мочи, что он выберет?
Аноним 19/07/22 Втр 14:52:35 #11 №2409834 
>>2409832
Так Goвно же, выбор очевиден.
Аноним 19/07/22 Втр 15:19:06 #12 №2409868 
>>2409812
Да я это прочитал, и RFC прочитал, но нихуя не понял как мне от сервера передать пакет с нужными полями.
Ну делаю я структуру допустим, и что потом...
Аноним 19/07/22 Втр 16:10:10 #13 №2409922 
>>2409868
Дрочи бьерна и хуярь на сишке
Аноним 19/07/22 Втр 16:18:48 #14 №2409934 
>>2409797
ню эра жаваскрипт это раст
> давайте перепишем это на расте (электроне)
> куча ненужных фич
> борешся с борроу чекером (языком 1+'1')
а гошка это ню эра луа
> фич почти нихуя
> фичи какие-то ебанутые (че тут есть только мапа+слайс??/че тут есть только таблица??)
> используется дохуя где но вакух нет
Аноним 19/07/22 Втр 16:38:29 #15 №2409963 
image.png
image.png
Ананасы гоферы мне нужна ваша помощь, умоляю помогите.

Я написал типичную rest хуйню, у него есть сваггер, ничего удивительного. НО, когда ты приложуху разворачиваешь в разных места, от virtualbox, docker до хостера, то у тебя ip-шник всегда меняется и как сделать так чтобы сваггер знал по какому адресу стучаться(пикрил 2)?
То есть в коде прописан пикрил1 и если я решу развернуть это говно в докере или на ВМ, то мне что, в код нужно лезть и урлы менять?

И вопрос сформулировать сложно, и самому нихрена не понятно.

Умоляю анончики помогите с меня как всегда нихуя
Аноним 19/07/22 Втр 16:45:03 #16 №2409975 
>>2409934
>фич почти нихуя
Какие тебе фичи нужны?
>фичи какие-то ебанутые (че тут есть только мапа+слайс??/че тут есть только таблица??)
Это не фичи.
>используется дохуя где
Например? Почему это дохуя где?
Аноним 19/07/22 Втр 17:02:17 #17 №2409985 
Ебать, буквально по байтам собрал сетевой пакет и вайршарк даже увидел протокол.
Теперь еще вопрос, как работать с битами в го?
Например в хедере у меня 6 бит под разные аттрибуты, но как их туда расскидывать я хуй знает
Аноним 19/07/22 Втр 17:08:43 #18 №2409991 
>>2409985
Через битовые операции.
Аноним 19/07/22 Втр 17:20:52 #19 №2410002 
>>2409963
Используй энвы
Аноним 19/07/22 Втр 17:33:02 #20 №2410015 
image.png
image.png
>>2410002
А как ими пользоваться анон подскажи пожалуйста.
Пробовал следующий способ
1. У меня есть конфиг файл yml формате где записываются значения, аля порты, подключение к БД и т.д.
2. Туда я добавил урл
3. Импортнул в сваггер как в пикриле1

Получаю ошибку в сваггере, говорит ошибка в парсинге
Аноним 19/07/22 Втр 17:39:50 #21 №2410021 
>>2409975
>Какие тебе фичи нужны?
мне почти нихуя, тех что в гошке достаточно
>Это не фичи.
наличие сетов и всяких структур данных в стандартной библиотеке это как раз фичи, помимо всякого сахара.
>Например? Почему это дохуя где?
бекненд конежно же
Аноним 19/07/22 Втр 18:24:16 #22 №2410051 
>>2410021
главная фича го это то, что можно просто садиться и хуячить без задней мысли.

>>2409772
>>2409797
>>2409832
Теперь понятно, почему старый тред не перекатывали. Засагать что ли что-бы таких залетных дурачков поменьше стало
Аноним 19/07/22 Втр 19:18:53 #23 №2410117 
>>2410015
Ты можешь сам отдебажить и увидишь что тебе строка отдает. Я бы вообще логирование несенситивных энвов добавил на старт сервиса.
Аноним 19/07/22 Втр 19:30:09 #24 №2410131 
>>2410117

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

В каналах телеги с тем же вопросом подошел там люди говорят что это не баг а фича
Аноним 19/07/22 Втр 23:38:23 #25 №2410336 
>>2409991
Я туповат и не понял как использвать битовые операции. Помогите пожалуйста, с меня как всегда
Вот к примеру есть у меня байт, состоящий из битов 1 0 1 1 0 0 1 0, эти биты лежат в структуре с типом uint.
Как мне из этого сделать байт, чтобы отправить клиенту сетевым пакетом? В голову приходят всякая поебеть типа сделать строку, ее конвертировать в 16-ричную, а из 16-ричной получить двоичную
Аноним 20/07/22 Срд 08:11:28 #26 №2410479 
>>2410336
>биты лежат в структуре с типом uint
На жабе не пробовал писать?
Аноним 20/07/22 Срд 08:33:16 #27 №2410483 
>>2410479
При чём тут блять жаба?
Аноним 20/07/22 Срд 08:54:16 #28 №2410493 
1605865435180923638.png
Че там, генерики завезли уже? Когда обработка исключений будет?
Аноним 20/07/22 Срд 08:56:18 #29 №2410495 
>>2410493
Завезли.
Эксепшены года через 4, сейчас вместо них приходится юзать panic().
Аноним 20/07/22 Срд 08:59:22 #30 №2410501 
>>2410495
Вывод типов имеется?
Аноним 20/07/22 Срд 09:28:15 #31 №2410517 
>>2410501
Да.
Аноним 20/07/22 Срд 12:39:55 #32 №2410699 
>>2410336
В том, что использование огромного количества памяти это путь жаб. У тебя для 8 битов используется 256/512 бит.
Аноним 20/07/22 Срд 15:10:52 #33 №2410799 
>>2410336
чета вроде

var out uint64
for _, bit := range bits {
out << 1
out |= bit
}

?
Аноним 20/07/22 Срд 20:38:49 #34 №2411048 
>>2410495
>panic
Зачем, если есть errors.WithStack и errors.Is?
Аноним 20/07/22 Срд 20:48:34 #35 №2411057 
.png
>>2411048
Чтобы не писать 100500 раз if err != nil { return nil, err }
Аноним 20/07/22 Срд 21:42:41 #36 №2411127 
>>2409760 (OP)
Как выучить го? Он мне не нужен, но хочется знать, так, для прикола.
Когда-то возникнет задача под него, а тут я такой хоба - достаю из широких штанин.
Аноним 20/07/22 Срд 21:44:47 #37 №2411130 
>>2411127
Прочитать туториал: https://go.dev/tour/basics/ (НЕТ НА РУССКОМ!)
Это всё.
Аноним 20/07/22 Срд 21:45:01 #38 №2411133 
image.png
>>2411127
Есть такие хуйни, что годное?
Аноним 20/07/22 Срд 21:45:29 #39 №2411135 
>>2411130
> https://go.dev/tour/welcome/1
Fix
Аноним 20/07/22 Срд 21:53:18 #40 №2411143 
>>2411135
Прям по официальному гайду? Но там только кор, а всякие штуки-дрюки, за что он ценится?
Аноним 20/07/22 Срд 21:56:36 #41 №2411147 
>>2411143
Собственно, го и ценится за примитивность и возможность постоянного написания велосипедов. В языке тупо нет нихуя.
Аноним 21/07/22 Чтв 00:26:12 #42 №2411330 
>>2411057
не пиши. паники сами появятся
Аноним 21/07/22 Чтв 06:26:06 #43 №2411417 
>>2411330
Panic-driven development?
Аноним 21/07/22 Чтв 12:20:31 #44 №2411579 
>>2411133
Большинство курсов/книг по Го - тупо пересказ го-тура. Можно его пройти и отдельно что-то почитать про вёбню
Аноним 21/07/22 Чтв 22:09:06 #45 №2412317 
>>2410493
Генерики завезли, но с подводными камнями:
https://planetscale.com/blog/generics-can-make-your-go-code-slower
Аноним 22/07/22 Птн 14:50:15 #46 №2412886 
Как в Го конфигурировать возвращаемый JSON.
Есть структура, часть полей которой возвращается всегда, а часть по запросу через параметр fields. То есть поля, указанные в fields должны быть добавлены к полям, которые возвращаются по дефолту.
Как это реализовать? Если это как-то нетривиально, возможно у Gin есть какая-то тулза специальная для этого.

Если сформулировать вопрос более обще - как динамически выбирать возвращаемые в виде JSON поля у одной структуры.

(типы примитивные, делать через поинтер + json omitempty как то слишком костыльно кажется)
Аноним 22/07/22 Птн 14:59:28 #47 №2412897 
image.png
ГОвну в Рашке пизда, сколько еще можно это отрицать?
Аноним 22/07/22 Птн 15:14:43 #48 №2412914 
>>2412897
Может пизда, а может не пизда. В конце концов есть не только Авито с Озоном. А вот твоих проблем это не решит. Попробуй проанализировать, что заставляет тебя тут просираться, хотя вроде бы никто и не просил. Ни отрицаний ни утверждений в этом треде не видел
Аноним 22/07/22 Птн 19:22:51 #49 №2413312 
>>2412897
Раз пизда, то и смысла заходить в этот тред нет. Вот и съеби обратно с свой МВП-загон.
Аноним 23/07/22 Суб 14:02:56 #50 №2414002 
image.png
>>2412897
хаха
Аноним 24/07/22 Вск 15:50:40 #51 №2414839 
>>2412897
Ну как минимум еще есть вайлдбериз, а еще есть яндекс со своим клаудом.
Плюс всякие отделы сбера, тот же мегамаркет к примеру.
В телеком, в тот же мтс, набирали гошников ранее.
Аноним 24/07/22 Вск 16:52:47 #52 №2414937 
Аноны, просветите по поводу best practice по созданию экземпляров структур и панике. Насколько я понимаю, использовать такую сигнатуру полный треш:
NewSomething(...parameters...) (something, error)

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

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

Итого вопрос, норм или не норм паниковать на мусор на входе?
Если не норм, то какие бест-практисы по созданию конструкторов на вход которым нельзя подсунуть мусор. либы по валидации не предлагать
Аноним 24/07/22 Вск 16:57:13 #53 №2414942 
>>2414937
продолжение
Для примера, есть у структуры поле, которое строго не меньше нуля.

Какие есть варианты:
1) поставить uint - и потом везде ебаться с приведениями к человеческому инту и подобным манипуляциям.
2) написать в доке - меньше нуля поставил - сам дурак, держи панику. и поставить обычный инт, потому что работать с ним удобнее.

На какой стул сесть или как вообще принято в Го
Аноним 24/07/22 Вск 18:06:22 #54 №2415071 
Аноны, кто знает пример годного микросервиса, скиньте ссылку на гитхаб.

Почему сам не могу? Я не ебу, где он сделан хорошо
Аноним 24/07/22 Вск 18:17:08 #55 №2415079 
>>2415071
>Я не ебу, где он сделан хорошо
Не сделан.
Аноним 24/07/22 Вск 18:18:52 #56 №2415081 
image.png
>>2415079
Что?

трипл в капче кстати
Аноним 24/07/22 Вск 19:08:02 #57 №2415186 
>>2414937
конструкторы через NewX() классика, если тебе нужно валидировать параметры при создании.
Аноним 24/07/22 Вск 20:38:31 #58 №2415334 
image.png
Аноны скажите я ебан?

Написал круд говно на ГОвне, есть БД в виде постгреса. Запускаю в docker compose, получаю такую залупу при отправлении запроса.
Пробовал запускать без контейнера, работает. Везде сука работает а в контейнере это говно не работает

Я уже отчаялся не знаю что делать. Мб кто сталкивался с такой паникой((

Прошу вашей помощи

Аноним 24/07/22 Вск 20:52:48 #59 №2415361 
>>2415334
ну выглядит как будто ты сервер без хендлера запускаешь или что-то вроде этого. по панике не видно ни-ху-я. добавь recover в хендлер на случай если оно в хендлере происходит. если не там, то показывай код до listenandserve или аналога.
Аноним 24/07/22 Вск 21:22:13 #60 №2415383 
image.png
>>2415361
Тогда давай посмотрим докерфайл, думаю тут ошибка
Аноним 24/07/22 Вск 21:33:44 #61 №2415394 
image.png
image.png
>>2415361


Анончик смотри, когда запускаешь мое говно, у тебя появляется сообщение о том что ты приконектился к БД. Ещё раз запустил это говно прям на хосте и это сообщение увидел (пикрил 1), притом БД работает в докере.

Потом запустил сервис в докере, сообщение о том что подключился к БД не увидел (пикрил2)
Аноним 24/07/22 Вск 22:00:04 #62 №2415416 
>>2415394
ошибку от коннекта к БД игноришь и у тебя nil БД получается? ну видимо с сетями докеркомпоза ебаться надо. можешь добавить какой-нибудь
networks:
- postgres
и подключаться по имени контейнера вроде postgres://postgres1:5432. или по-тупому network_mode: "host", если у тебя линекс.
Аноним 24/07/22 Вск 22:17:54 #63 №2415431 
image.png
>>2415416
Вот так выглядит compose, я создал отдельную есть типа bridge и жестко прописал айпишники, потому что при каждом запуске у тебя айпишники меняются
Аноним 24/07/22 Вск 22:43:13 #64 №2415446 
>>2415334
Недавно слышал, что постгрес в докере тупит и запускается с задержкой. Попробуй организовать реконнекты к базе, либо просто слипнись в мейне на секунд на 10-15
Аноним 24/07/22 Вск 22:52:43 #65 №2415450 
>>2415446
Сейчас так сделаю и отпишусь
Аноним 24/07/22 Вск 22:55:12 #66 №2415452 
>>2415446
Но у тебя теория ломается об то, что сейчас я из compose выкинул сервис.
1. Запустил compose только с БД
2. Чутка подождал и запустил отдельным контейнером с docker run
И не сработало, думаю. Подожди, я сейчас другие варианты попробую и отпишусь
Аноним 24/07/22 Вск 23:00:25 #67 №2415455 
>>2415452
Ну я хз тогда. Попробуй в дебаггере отследить, в какой момент у тебя появляется внезапный nil pointer.
Аноним 24/07/22 Вск 23:10:04 #68 №2415461 
image.png
>>2415431
>потому что при каждом запуске у тебя айпишники меняются
ага ну для этого есть роутинг по имени контейнера, как я и сказал
Аноним 24/07/22 Вск 23:26:26 #69 №2415469 
image.png
image.png
>>2415461
ДААААА БЛЯТЬ САСАМБА ЛАЛКИ
Пошел по твоему совету анончик.

1. Добавил тайм слип
2. Нахуй удалил кастомную сеть из композ файла
3. Добавил depends on, чтобы контейнера последовательно запускались

ДААА БЛЯТЬ наконец починил


P.S. если у тебя есть советы по докеру можешь ими поделится? Ну типа как писать докерфайлы, как композ файлы писать. А то в сети хуета одна попадается

Аноним 24/07/22 Вск 23:44:45 #70 №2415475 
>>2415469
ну тебе лучше подключение к БД в лупе с ретраями сделать, чем завязываться на какое-то количество секунд. обычно вообще драйвер во время sql.Open должен делать какой-нибудь select 1 и возвращать ошибку.
и тут два анончика было. я научил тебя всему по докеркомпозу что я знаю. в продакшене я его нахуй никогда не видел, где я работал везде кубер был.
докерфайлы от места к месту специфичные, где-то мультистейдж билды используются, где-то они чисто для билда используются, а запуски/экспозы за тебя уже придумала команда которая отвечает за автоматизацию деплоев и твой файлик кончается на go build.
для обычного разраба достаточно должно быть знать как написать мультистейдж билд, как установить какой-то пакет в альпайн/дебиан в докере, как запустить курл и скачать файлик во время билда, и как настроить московскую таймзону.
Аноним 25/07/22 Пнд 15:53:57 #71 №2415962 
Простите за глупый вопрос. Перекатываюсь с виндосовского админа в линуховые для последующего эволюционирования в девопс. Думаю между питоном и голангом. Англюсик могу читать, но желательно таки русские доки чтоб голова совсем не закипела. Но можно и англюсик.
Аноним 25/07/22 Пнд 16:47:47 #72 №2416043 
>>2415962
Баш для начала дрочи.
Аноним 25/07/22 Пнд 17:35:03 #73 №2416105 
>>2415962
Linux + bash
только потом выбирай между python Goвно
Аноним 25/07/22 Пнд 18:20:29 #74 №2416137 
>>2416043
>>2416105
Спасибо парни, чет я действительно не туда побрел.
Аноним 26/07/22 Втр 11:33:09 #75 №2416711 
Дорогие аноны гоферы, прошу помочь советом.

Вопрос стоит в пет проекте (я знаю как эта хуета всех достала),
хочу написать что-то что не будет очередной круд говной, такое я уже написал.

Есть такая идея, написать консольный чатик.
В чем суть:
1. Есть сервер с пользователями
2. Клиент может через терминал подключатся к серверу и переписываться с остальным пользователям.
3. Есть идея очищать чатик беседующих раз в 3-5 мин аля анонимность (прикрепите маску вендетты)

Хочу написать такое говно с целью прокачки скилла
А именно:
1. Вебсокеты. Думаю тут стоит применить вебсокеты
2. CLI. Читал что для этого часто используют го. Да и клиента то нужно как-то реализовать
3. MongoDB. Где то нужно хранить чатик, nosql то что нужно, кажется хотя хз
4. Postgresql. Для хранение юзверей
5. Microservices. Ниибаца какой будет, скорее всего размер будет таким что можно как-то и MQ добавить,
6. RabbitMQ. Смотреть на 5 пункт
7. GrafQL. Можно упороться и взять Grafql

Как вам идея? Что подкорректировать, что выбросить? Пришел к вам за критикой и советами. Был бы признателен если поможете
Аноним 26/07/22 Втр 13:28:54 #76 №2416785 
>>2416711
>Postgresql. Для хранение юзверей (можно и в Монге, не лопнет)
>Microservices.
>RabbitMQ
>GrafQL.

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

Плюс, думаю, ты делаешь это в том числе для поиска работы. Так у нанимающего возникнет закономерный вопрос, какого хера это все притащил. А если ты на проде такое же разводить начнешь? В общем все решения и зависимости должны быть обоснованными.
Аноним 26/07/22 Втр 14:23:21 #77 №2416826 
>>2416785

>Postgresql. Для хранение юзверей (можно и в Монге, не лопнет)
>Microservices.
>RabbitMQ
>GrafQL.

Ладно, их выкину.

Тогда стек будет следующим:
1. Общаться будут через вебсокет
2. База в качестве Монго
3. Клиент буду писать на на стандартной библиотеке, cobra и тому подобные будут оверхедом

Я ещё исходил из той мысли что реализуя такой проект как чатик, у меня будет возможность обмазаться горутинами и каналами.
Аноним 26/07/22 Втр 19:23:32 #78 №2417162 
>>2416826
>Клиент буду писать на на стандартной библиотеке, cobra и тому подобные будут оверхедом
ты там планируешь через командные аргументы в чатик писать/читать без терминальной графики штоли? это ж неюзабельно и наркомания
Аноним 26/07/22 Втр 19:27:40 #79 №2417167 
>>2416137
хм
Аноним 26/07/22 Втр 21:46:24 #80 №2417317 
>>2417162
Не так выразился.
Просто я скомпилю клиентский бинарник и добавлю пару флажков для настройки клиента. А так это будет реально CLI утилитой которую запускаешь. Вводишь команду по отображению всех пользователей и по нику можешь им написать.
Я просто потыкал кобру и понял что она нужна ну реально на серьезных проектах по типу k6.
Аноним 27/07/22 Срд 08:56:13 #81 №2417545 
Аноны, если нужны микросервисы с авторизацией, будет ли лучшим решением, чтобы API Gateway проверял токен и потом транзакции начинал или просто в каждом сервисе сделать проверку токена jwt
Аноним 27/07/22 Срд 10:38:44 #82 №2417568 
>>2412897
На го даже в госконторах и военке пишут.
Аноним 27/07/22 Срд 11:04:04 #83 №2417578 
image.png
>>2417568
>госконторах
>военке
Аноним 28/07/22 Чтв 09:00:10 #84 №2418223 
>>2417568
>и военке пишут
Например?
Аноним 29/07/22 Птн 10:44:14 #85 №2418932 
>>2417568
У них связь на каких-то анальных рациях из 70-х, звонят по мобилкам или на волонтерских рациях из али, на го они пишут.
Аноним 29/07/22 Птн 10:56:28 #86 №2418942 
>>2412886
Именно с помощью омитэмпти
Аноним 29/07/22 Птн 11:01:06 #87 №2418945 
>>2414942
Нахуй тебе паниковать? А если у пользователя паника будет недопустимым поведением? Как ты вообще пишешь к выводу что New() smth, error это "треш полный"? Это самый правильный способ, и если валидация не прошла возвращается nil, err
Пиздец ты проблему придумал на ровном месте
Аноним 29/07/22 Птн 13:29:55 #88 №2419042 
>>2418945
>Пиздец ты проблему придумал на ровном месте
Весь смысл варнингов в логах.
мимо
Аноним 29/07/22 Птн 18:04:57 #89 №2419292 
>>2418942
И получается, что вместо нормального int в структуре будет *int. Отторжение максимальное.
>>2418945
Ну, в общем почитал статьи, улеглось, да, думаю все таки норм. Просто логика была такова, что если New паникует, ты используешь структуру не правильно и не плодишь кучу обработок. То есть явное указание на ошибку программиста. В том числе в стд либа часто любит паниковать, когда используешь ее неправильно. Но в общем ладно, твое мнение тоже принимаю и скорее всего буду делать так
Аноним 29/07/22 Птн 18:21:25 #90 №2419308 
>>2412886
если как аутист, то кладешь в мапу, мапу маршалишь.
для нормальных людей через омитемти.
Аноним 29/07/22 Птн 22:37:17 #91 №2419496 
>>2419308
Как я сделаю с примитивными типами omitempty? *int?
Аноним 29/07/22 Птн 23:02:36 #92 №2419515 
>>2419496
struct {
Int int
Valid bool
}
Звёзд в посте нет
Аноним 29/07/22 Птн 23:19:55 #93 №2419525 
Крудошлеплю на жабе около года. Хочу попробовать покрудошлепить на других языках, петик написать. Хочу начать с го.
Перед тем, как начать учить язык, хочу спросить советы.
Можете в двух чертах объяснить как, тут принято? Фреймворки есть популярные?
Может кто-то подсказать гит-репозиториев с проектиками?
Может есть тестовые приличные с крудами?
Аноним 30/07/22 Суб 00:05:27 #94 №2419539 
>>2419496
ну обыкновенно. либо поинтеры, либо нулевые значения.
тебе так чешется ноль от нулла отличать?
Аноним 30/07/22 Суб 07:33:34 #95 №2419615 
>>2419525
>фреймворки есть популярные
Ты зашёл не в тот тред
Аноним 30/07/22 Суб 10:50:48 #96 №2419711 
>>2419615
Если фреймворков нет, то это хорошо даже. Значит экспириенс будет сильно другой.
Ну а как? Наборы маленьких либ? И устоявшихся тоже наверно нет. Можешь написать какие вот ты используешь?
Аноним 30/07/22 Суб 11:09:34 #97 №2419716 
>>2418932
Потому что мин обороны никогда не вводит в эксплуатацию то что им сделали, там на местах слишком тупые кадры + попил лютый, история как с арматой, делают MVP и показывают только на выставке.
Аноним 30/07/22 Суб 16:06:42 #98 №2420062 
>>2419711
мимо
Да не то что бы маленькие, просто не навязывают свою архитектуру. Вообще заметил, что частенько есть general либа, например Gin для вебни и параллельно разрабатываются совместимые либы-модули.
Аноним 30/07/22 Суб 17:17:37 #99 №2420130 
>>2420062
Погуглил gin. Ну это такая средняя по размеру http-библиотека. А для sql есть что-то? Орм вроде не ценится в go? А ActiveRecord? Еще я слышал, что в стандартной библиотеке мало структур данных. Есть что-то по этой теме?
Аноним 30/07/22 Суб 17:20:05 #100 №2420134 
>>2420130
Для sql есть драйверы. Про структуры данных точно не знаю, по-любому есть библиотеки с ними, я если что-то нужно сам пишу
Аноним 30/07/22 Суб 17:37:29 #101 №2420147 
>>2420134
>Про структуры данных точно не знаю, по-любому есть библиотеки с ними, я если что-то нужно сам пишу
Популярный подход для гошки вообще?
Аноним 30/07/22 Суб 18:03:12 #102 №2420164 
>>2420147
Вряд ли, я просто недавно вкатился в го и фриланшу, в компаниях за такое ебут скорее всего
Аноним 30/07/22 Суб 19:15:52 #103 №2420220 
Сап, есть какие-нибудь материалы по веб 3.0 (голанг)?
Аноним 30/07/22 Суб 19:16:12 #104 №2420221 
Сап, есть какие-нибудь материалы по веб 3.0 (голанг)?
Аноним 30/07/22 Суб 19:16:56 #105 №2420222 
Сап, есть какие-нибудь материалы по веб 3.0 (голанг)?
Аноним 31/07/22 Вск 08:25:31 #106 №2420590 
>>2420134
Какие структуры напилил?
Аноним 31/07/22 Вск 08:53:41 #107 №2420593 
>>2420590
Немного, базовые вообще: множество, дерево поиска, куча. Пока не встречалось задач, где бы использовалось что-то сложнее
Аноним 31/07/22 Вск 16:36:32 #108 №2420851 
Аноны, не очень понимаю, что такое миграции. Концепцию, применение.
Вот есть прод база, которой допустим занимается ДБА или кто-то еще. Сетапит, обновляет, меняет структуру, хз.

Но зачем нужны файлы миграций во многих проектах на Го? Чтобы сетапить тестовую базу? Можно же просто в коде выполнить запрос на создание, затем дропнуть. Или зачем? Вообще не догоняю

И вообще, почему миграции? Что значит это слово в контексте
Аноним 31/07/22 Вск 17:17:17 #109 №2420878 
>>2420851
>Вот есть прод база, которой допустим занимается ДБА или кто-то еще. Сетапит, обновляет, меняет структуру, хз.
это так работает далеко не во всех компаниях. у нас ДБА только обеспечивают разработчиков базой для их сервиса, которая работает, бекапится, у которой стоят нужные лимиты, и консультируют по связанным вопросам, когда нужно.
а завести колонку/индекс/табличку - этим занимаются разработчики.
>Но зачем нужны файлы миграций во многих проектах на Го? Чтобы сетапить тестовую базу? Можно же просто в коде выполнить запрос на создание, затем дропнуть
зачем хранить схему БД в двух местах? есть папка в репе с самим сервисом, которая является единственным источником схемы, всё. не нужно ждать апрувов в две репы, не нужно дергать и ждать ДБА по добавлению одного столбца, которые могут еще ошибиться.
Аноним 31/07/22 Вск 21:36:42 #110 №2421222 
>>2420851
> Вот есть прод база, которой допустим занимается ДБА или кто-то еще. Сетапит, обновляет, меняет структуру, хз.
Это устаревшая тема, сейчас почти везде, где я знаю, этим занимаются сами программисты, а ДБА максимум готовят саму базу (крутят настройки постгресса), оптимизируют сложные случаи и тп. Программисту так-то виднее, что там за бизнес-логика и как под неё положить данные.

Сама миграция - это сложный процесс, который может включать в себя импорт или какую-то обработку данных, оно может происходить в фоне, в несколько шагов и тд и тп.
Это намного сложнее, чем зайти через phpmyadmin на прод и там херануть alter table. Соответственно, миграции тоже сначала программируются и затем тестируются. При этом другие программисты ещё и должны знать, кто и зачем что-то поменял. Да и доступа на прод ни у кого кроме админов как правило нет.
И это как раз то, почему они пишутся в отдельные файлики.
1) таким образом в истории гита видно, кто и зачем что-то сделал;
2) таким образом оно автоматически либо полу-автоматически накатывается на local/dev/stable/preprod/prod при релизах и твоя миграция протестируется с прочим кодом до того, как заломает что-то на проде;
3) таким образом мы получаем набор состояний базы (собственно, файликов с миграциями), между которыми мы базу мигрируем. И мы можем посмотреть, что применилось, а что нет, при применении какого шага что-то пошло не так, откатиться до какой-то конкретной версии;
4) миграции могут зависеть друг от друга, условно, ты создал таблицу, а потом Васян добавил на неё fk, и в тч эту проблему решает версионирование миграций, твоя миграция №5 означает, что перед тем, как накатить её, база обязательно должна накатить 4 предыдущих.

>>2419525
Добра тебе за правильный вопрос. В двух словах, в го не приняты фреймворки, как жанр, так как они как правило несут с собой много дополнительного обвеса и зависимостей, а гошники лишние зависимости как правило (и иногда ошибочно) не любят.
Вместо этого принят подход, похожий на unix-way, когда у тебя есть миллион разных библиотек, каждая из которых делает что-то одно. Соответственно, начиная проект, ты берешь любимый роутер, логгер, сервер, клиент для базы, мигратор и тд и тп и собираешь, как из лего, себе систему. Плюсов у такого подхода много, например, ты не платишь за то, что не используешь, но тебе впихнули во фреймворк, легко заменить одну либу на другую и тп. Минусы тоже есть, например, ты не найдешь два проекта, похожих друг на друга, спринга с гибернейтом тут нет. С другой стороны после нескольких лет работы понимаешь, что все библиотеки одинаковые, потому что решают одни и те же задачи и тебе становится просто пофиг. Разве что у некоторых либ апи симпатичнее
Я здесь могу разве что посоветовать ни в коем случае не использовать gorm, и даже не приближаться к нему.

Со структурой проекта та же история, стандартов особо нет кроме https://github.com/golang-standards/project-layout да и тот условный, больше просто про структуру папочек на верхнем уровне, нежели про бизнес структуру кода. У гошников здесь тоже действует такое правило, что типа структурируй так, как будет нужнее для данного конкретного проекта.
Здесь я с ними не согласен, в итоге это приводит к тому, что большинство проектов написанных все же как правило какими-то мудаками, потому что только я знаю, как правильно структурированы как попало и зачастую мешают слои с логикой, херачат все в один файл и всё такое. Короче, всё очень сильно завязано на архитектурные навыки того, кто изначально проект создавал.
Хороших примеров гошных крудов я не видел, может, когда-нибудь, сподоблюсь и свой сделать.
Аноним 31/07/22 Вск 22:29:54 #111 №2421271 
>>2421222
>ты берешь любимый роутер, логгер, сервер, клиент для базы, мигратор и тд и тп и собираешь, как из лего, себе систему
Спасибо за ответ. В авесом-го репе уж слишком много всего. Можно конечно тупо под каждый тип либ по наибольшим звездочкам выбрать, но это такое. Можешь перечислить какие-то либы, с которыми лично ты работал и с ними не было диких проблем?
Аноним 31/07/22 Вск 22:55:09 #112 №2421300 
>>2421222
ИМХО Standart Project Layout говно какое-то. Медитирую на эти, что скажешь?
https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example
https://github.com/evrone/go-clean-template
Аноним 31/07/22 Вск 22:59:22 #113 №2421307 
>>2421271
мимо другой анон

Gin/Gorilla - http server/router
Logrus/Zap - logging
Pgx - коннектор к постгесу
migrate/goose - миграции
squirrel - query builder
Аноним 31/07/22 Вск 23:18:43 #114 №2421333 
>>2421271
Мимо другой анон >>2421307 всё в целом правильно сказал, разве что в качестве сервера мне почему-то echo чуть больше нравится.
Ещё я вместо squirrel как-то юзал https://github.com/volatiletech/sqlboiler, было тоже норм.

>>2421300
Он просто совсем про другое.
https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example что-то пиздец переусложнен
https://github.com/evrone/go-clean-template только хотел сказать, что норм, а потом увидел, что в usecase у него постгерсовый репозиторий встроен. Нельзя так делать, фу.

Аноним 01/08/22 Пнд 00:11:45 #115 №2421394 
>>2421307
>>2421333
Спасибо, анончики.
Аноним 01/08/22 Пнд 01:55:47 #116 №2421440 
каждый раз когда кто-то пишет DDD я вижу "долбоеб"
Аноним 01/08/22 Пнд 07:44:35 #117 №2421485 
>>2421440
Поясни
Аноним 01/08/22 Пнд 14:00:08 #118 №2421674 
Аноны, снова прошу помощи. Как за-IoC'ить контекст. То есть, что бы не хардкодить в запросах создание новых контекстов (с таймаутом конкретно), а задавать при компоновке сервера, например.
Такой вариант, наверное, не подойдет:
type Server struct {
...
__DefaultCtx context.Context
...
}

Поскольку при инициализации структуры, если это таймаут сразу отработает и сдохнет.

На ум приходит только такой вариант с функцией-генератором контекста, которую передает в структуру пользователь:
type Server struct {
...
__DefaultContext() func()(context.Context)
...
}

и уже в хендлерах он генерится, например при запросе к базе
res, err := db.Exec(server.DefaultContext(), "some shit")

Подскажите, насколько норм это решение. Применяется ли где-то (я не видел)? Какие бест практисы для этого кейса? Хардкодить же не норм?
Аноним 01/08/22 Пнд 17:38:44 #119 №2421860 
>>2421674
с какой целью интересуешься?
для таймаутов у сервера уже есть свои настройки таймаутов.
если нужны withvalue или все таки хочешь выебнуться с таймаутами, то делай мидлвару и подменяй реквестовский контекст.
r = r.WithContext(wrapcontext(r.Context()))
next.ServeHTTP(w, r)

с твоим server.DefaultContext() ты теряешь контекст от реквеста и, соответственно, не отреагируешь, если реквест отменится раньше, чем твой таймаут кончится или всё кончится.
ну и написать ctx, cancel := context.WithTimeout(ctx, s.Timeout) это не хардкод.
Аноним 01/08/22 Пнд 21:48:37 #120 №2422112 
>>2421674
Ну такое, в целом пойдет, но лучше вынести это в миддлварь.

Соответственно при конфигурировании роутера у тебя будет
s := NewRouter()
s = s.WithMiddleware(
WithTimeout(time.Minute) // Твой кастомный миддлварь
)
s.Route("/hello", func() {})
api := s.Group("/api")
api = api.WithMiddleware(
WithTimeout(time.Second) // Сможешь конфигать конкретные роуты или подгруппы роутов
)

Посмотри документацию на свой роутер, полюбому такой миддлварь должен входить в стандартный набор. Вот к примеру для эхо: https://echo.labstack.com/middleware/timeout/
Ну и конечно учитывай, что теоретически на уровне пакета net можно настраивать таймаут самого соединения твоего сервера, что как бы то же самое, но по-другому.
Аноним 01/08/22 Пнд 21:51:44 #121 №2422118 
Нахуй нужен го, если есть прекрасный Rust. Все хвастуются что го быстрей пухтона, так вот Rust быстрей вашего го и не такое дерьмо как кресты
Аноним 01/08/22 Пнд 21:53:37 #122 №2422120 
>>2422118
ну начнем с того что мне не нужно ревьюить написанный на расте код коллег
Аноним 01/08/22 Пнд 21:57:16 #123 №2422122 
>>2422120
намёк на то, что гофмт решает большинство доёбов на код? То есть, если на го написано, то автоматически богокод и смотреть не стоит, чтобы не ослепнуть от сияния?
Аноним 01/08/22 Пнд 22:31:28 #124 №2422178 
>>2421860
>>2422112
Спасибо, действительно годные варианты.
Аноним 01/08/22 Пнд 23:27:38 #125 №2422237 
>>2422118
Раст тоже хороший язык. Они с го просто решают разные задачи. А ещё на расте хрен найдешь работу, а на го вполне можно.
Аноним 01/08/22 Пнд 23:36:54 #126 №2422239 
>>2422122
да не, не особо. у нас например явно заявлено, что код ревью с замечаниями, которые может отловить линтер - это хуевое код ревью. да и в реальности ни в какую серьезную контору с любым языком не наймут парнишек, которые не знают что такое автоформаттер
Аноним 02/08/22 Втр 00:11:34 #127 №2422273 
>>2422239
Тем не менее, гошный gofmt это топ хотя бы потому, что снижает когнитивную сложность. В отличие от всяких там js где каждый пишет как хочет и где есть много конкурирующих стандартов, в го такой один.
Если после gofmt -w ./... что-то изменилось, значит код надо править и такой код даже до ревью доходить не должен.
В итоге, весь код на го, на всех проектах, во всем мире, написан одинаково. Принцип наименьшего удивления срабатывает и действительно становится комфортнее.
Жаль, что деды, стоящие у руля го, остановились на этом, могли бы стандартизировать интерфейсы роутеров, затащить в стдлиб аналог лодаша, чтобы на каждом проекте свои велосипеды не писали, и тд и тпю
Аноним 02/08/22 Втр 00:50:17 #128 №2422287 
>>2422273
Деды не осилили бы сделать всё общо и при этом понятно. Создание фреймворка-стандарта индустрии отдано сообществу. И в нём они прорастают
Аноним 02/08/22 Втр 03:32:09 #129 №2422339 
>>2422287
Никаких фреймворков-стандартов в го нет и не будет. Единственный способ, как бы это могло прорасти - быть спущенным сверху, как это произошло с кодстайлом, го модулями и тд и тп.
И скудный стдлиб обещает нам очень, очень много велосипедов, да.
Аноним 02/08/22 Втр 06:14:36 #130 №2422359 
>>2422339
Растоблядь, съеби уже. Твоё говно не взлетит.
Аноним 02/08/22 Втр 06:28:38 #131 №2422362 
>>2422237
> на расте хрен найдешь работу, а на го вполне можно
С такой-то логикой тебе на пхп или 1с надо перекатываться. Вообще чем дерьмовее язык, тем проще на нём найти работу, так что аргумент не в пользу goвна
Аноним 02/08/22 Втр 11:03:29 #132 №2422470 
1659427411419.png
1659427411425.png
Сап, Аноны. Захотелось одно гуи приложение сделать для личных нужд. Которое бы там с апи двача взаимодействовала, через него можно было постить решая попутно в этом же гуи капчу, работа с картинками, их редактирование определенным образом прямо в гуишке. Но нужно чтобы было кроссплатформенное, поэтому C# отлетел, а Java фреймворки я пролистал, там как-то уныло выглядят приложения. Плюсы тоже отлетают, на них долго и муторно что-то писать. Функциональные языки какая-то муть, а остальное для гуи наверное так себе подойдет.

Но вот увидел Fyne у Go, выглядит прикольно, думаю почему бы не попробовать. Но есть важный момент, в Fyne интерфейс пишется вслепую, кодом? Или можно как в том же шарпе или QT в идешке задавать общий вид гуишки через редактор?

И да, в Go можно нормально с изображениями работать?
Аноним 02/08/22 Втр 11:06:26 #133 №2422474 
image.png
Есть в треде перекатчики или параллельно пишущие на шарпе/жабе? Как вам Го?
Думаю выучить ваш язык заодно, выглядит интересно. Какой книжкой обмазаться для людей, имеющих опыт программирования?
Аноним 02/08/22 Втр 11:14:33 #134 №2422480 
>>2422474
Да нет годных продвинутых книг по Го, по крайней мере я не видел. Пикрил можно полистать, но это на уровне чтения доки - все примеры в мейне, что расстроило.
Гугли отдельные статьи по интересующим темам, по основам языка можно Го-тур пройти.
Аноним 02/08/22 Втр 11:18:01 #135 №2422484 
>>2422480
сейм анон
Для меня проблема с Го в том, что нет single source of truth. Мне приходится читать кучу статей, смотреть множество примеров, чтобы начались зачатки понимания и интуицияотносительно того, как следует на нем писать. При этом у всех свои подходы и приходится самому анализировать и отделять зерна от плевел. Но я не опытный, возможно у тебя пойдет проще.
Аноним 02/08/22 Втр 17:17:56 #136 №2422803 
>>2422362
А с твоей черно-белой максималистской логикой тебе в школу, к подросткам.
Да, wordpress, реакт и говно на java 8 - наверное самые популярные вакансии, и да, есть такая закономерность, что чем что-то популярнее, тем больше оно рассчитано "на тупых". Но это не означает, что критерием востребованности вообще не стоит оперировать. Только недавно в твиттере видел треды чувака, как он пытался найти работу на расте, спойлер - нихера почти нет, это язык больше для пет проектов пока что. За рубежом ещё можно найти крупные конторы типа mozilla или dropbox, которые что-то на нём делают, а в снг точно с этим сложно.

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

У меня 7/10 собесов заказчиваются ничем, но не потому что я такой плохой, а потому что целенаправленно ищу хорошие офферы за 500 к рублей/мес перешагнул довольно давно. На маленьком рынке труда такое невозможно в принципе, выше среднего платит в лучшем случае одна контора из десяти, а их всего десять, лол.
Аноним 02/08/22 Втр 17:27:38 #137 №2422812 
>>2422470
Я бы го для такого не рекомендовал. Не знаю, насколько хорош Fyne, но юзабельность пакета зависит от числа разработчиков, числа пользователей и времени его существования.
Очень сомневаюсь, что база хотя бы пользователей сопоставима с любым gui-фреймворком той же джавы. А это означает баги, отсутствие или неполную документацию, отстуствие или малое число гайдов и тд и тп.
Короче, может быть норм, а может, напляшешься и наприседаешься. Но если готов к этому, то бери конечно, может быть интересный опыт.

А если ты хочешь прям сделать приложуху, то есть минимум боли и максимум результата, то лучше взял бы что-то из C#/Java/QT, смотря что знаешь. На кроссплатформенность можешь кстати наплевать, у линуксоидов вайн есть и вообще им так даже больше нравится сделают уебищный но зато опенсорсный порт на GTK как обычно.
Или, неиронично, возьми электрон. Да говно, да много весит, да во рту вкус говна - но зато хуяк хуяк и готово. JS ты полюбому знаешь.

>>2422484
Я считаю себя опытным, но вообще same shit, большая часть контента на го - helloworld'ы сомнительного качество, придется разбираться во всем самому
Аноним 02/08/22 Втр 22:02:52 #138 №2422989 
>>2415962
Сбер?

Паша, это ты?
Аноним 02/08/22 Втр 22:08:16 #139 №2422997 
>>2422989
Мимо джавист из сбера, знаю много таких историй про самых разных коллег.
Аноним 02/08/22 Втр 22:46:04 #140 №2423021 
>>2422989
Зависит от конторы. Вообще для девопса мб питон лучше бы подошел.

>>2422997
А я и не удивлен
Аноним 03/08/22 Срд 12:26:58 #141 №2423319 
>>2412897
Пока на Го больше вакух чем на сисярпе (в ДС2 150 по первому и 50 по второму). Вот второму, кстати, реально пиздища - Майкрософт полностью сматывает удочки и никому там неинтересно что начиная с дотнет кора шарп заводится где угодно и совсем не обязательно использовать MSSQL и WinServer.
Судьба оставшихся шарпомистов незавидна - они будут педалить унылое устаревшее легаси до пенсии которой не будет.
Аноним 03/08/22 Срд 12:53:45 #142 №2423331 
>>2423319
Пиздеж фанбоя goвна
Аноним 03/08/22 Срд 13:03:55 #143 №2423339 
>>2412897
а что с Авито? вроде бы набирают людей на говно и дальше/
Аноним 03/08/22 Срд 16:30:18 #144 №2423625 
>>2423319
Странно, в дс "golang":600 "C# OR .NET": 2000
Жалко, что Core заопенсорсили, а то могли бы удаленно избавить РФ от своей параши.
Аноним 03/08/22 Срд 17:37:25 #145 №2423738 
>>2423319
А потом goвноед проснулся и заплакал
Аноним 03/08/22 Срд 18:23:30 #146 №2423781 
>а вот у этого языка вакух больше
>нет вот у этого больше
вы безработные штоли? зачем вам эти галеры?
Аноним 03/08/22 Срд 19:22:10 #147 №2423833 
>>2423781
Может он хочет на все 2к вакансий вкатиться, overemployed сейчас в тренде
Аноним 03/08/22 Срд 23:29:43 #148 №2424133 
>>2423833
Это ты тот шиз, который здесь срёт "достаточно одной вакансии"?
Аноним 04/08/22 Чтв 15:19:22 #149 №2424654 
>>2422474
Пишу на жабе большую часть времени.
>Как вам Го
Смешанные впечатления. Радует то, что код в большинстве проектов достаточно прозрачен, без всякой магии под капотом.
С другой стороны в языке какой-то убогий синтаксис, и много чего полезного нет в стандартной библиотеке. Тех же коллекций, например.
Видимо это из-за отсутсвия дженериков проявляется.
Ну и еще очень сильно не хватает функциональных фишек уровня стримов в жабе. Очень сильно не хватает.
Аноним 05/08/22 Птн 16:53:54 #150 №2425466 
>>2421485
есть такой вид людей - любители архитектурить. часто такие приходят в гошку из шарпов и жавы и пытаются писать на гошке, как на своем говне. если в тексте есть слово ДДД, то с вероятностью 99% где-то рядом при написании присутствовал этот человек.
их ещё в начале 00х раскусили https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/
Аноним 05/08/22 Птн 17:27:23 #151 №2425540 
>>2425466
Бля, охуенная статья. Непстер, соап, хмл, смуззихлебский дотнет.
Аноним 05/08/22 Птн 17:39:12 #152 №2425556 
>>2424133
Я тот шиз, который срёт "надо все ЯП ранжировать по количеству вакансий, в тот, где больше всех вакансий вкатиться реально, во все остальные - нереально".
Аноним 05/08/22 Птн 18:08:50 #153 №2425601 
>>2421440
>DDD
Dolbaed Driven Developement
Аноним 05/08/22 Птн 21:48:09 #154 №2425825 
Ваш говноязык даже гугл бросил и пилит теперь новую игрушку.
Аноним 05/08/22 Птн 21:55:20 #155 №2425832 
>>2424654
> Ну и еще очень сильно не хватает функциональных фишек уровня стримов в жабе. Очень сильно не хватает.
Мне тоже, но тут можно только смириться. Аудитория гошников на большой процент состоит то ли из сишников, то ли из каких-то очень странных людей, которые вот прям любят процедурный стиль и вот это всё. А ещё дико дрочат на перфоманс и скорость компиляции в ущерб всему остальному, поэтому и функциональщина им не нравится (потому что оверхед), и умный компилятор, который бы сам раскрывал всю эту функциональную дичь не хотят. Такой, не знаю, то ли нигилизм, то ли луддизм.

При этом сама философия го мне нравится, и действительно работая с функциональным кодом на джаве/котлине, написанном теми же мобильщиками, я иногда просто охуеваю от того, сколько ненужных телодвижений и приседаний они делают, чтобы написать функционально или "красиво" в их понимании. Ну знаете этот прикол, когда ты вместо мутации одного объекта, который точно за пределы функции не выйдет и не изменится, вы создадите 10 его иммутабельных копий, позасираете оперативку и всё такое, надеясь на то, что "гц быстрый, справится", хотя можно было бы его просто не нагружать. В общем есть некое здравое зерно в гошной философии, просто на языке пишет куча долбоебов ситхов, которые всё возводят в абсолют и отрицают вообще любой синтаксический сахар и хотят только одного, старый-добрый си, но с гц, видимо, го 1.13 их идеал и лучше для них уже не будет :)

>>2425466
Вот только как правило когда заходишь в код тех, кто громче всего кричит про то, что "архитектура не нужна", в итоге кровь из глаз течет, все перемешано, нихуя не понятно и не разобрать, сайд эффекты во все поля и нигде нет блять элементарной логики.
Архитектура не просто так придумана, все броские термины типа DDD это конечно смузи, но смысл-то у них правильный: структурируй, сука, логику, которую ты пишешь, чтобы потом не охуеть. Всё, вся архитектура ровно об этом.
Каждая вещь в коде должна делать одно своё дело, понятное, и
четко очерченное и по минимуму затрагивать остальные вещи. Тогда при большом количестве кода ты не загнешься от каловых наслоений и лапши, и чей-нибудь говнокод будет проще локализовать и выбросить.
Иногда для этого приходится делать лишние телодвижения, какие-то интерфейсы подсовывать, да. Это называется "работа на вырост", при постройке здания тоже знаешь-ли котлован приходится рыть, фундамент заливать и всё такое.

Тут не надо давать себя обмануть, есть целая куча говнокодеров, которые хуячат паттерны не понимая, что это и зачем надо, джава например этим проклята, в итоге у них получаются фабрики фабрик фабрик и это тоже пиздец. Но это не имеет отношения к архитектуре и не делает сами по себе паттерны они же тупо приемы структурирования кода хуже, просто люди делают хуйню. Бывает.
Аноним 06/08/22 Суб 15:50:32 #156 №2426288 
Какие мысли по продвижению гошки?
Компания, где всего несколько го-команд и много жавистов. Как бы про жава командам попродавать гошку, чтобы она зашла
Аноним 06/08/22 Суб 16:22:58 #157 №2426311 
>>2426288
Вот вообще не факт, это очень разные языки. Попробуй продать тем же гошникам джаву и увидишь ответ.
Каждый пишет на том, что хочет, тем более, что если у вас там прям хорошо приготовленная джава, в том числе архитектурно что конечно редкость, скорее всего говнокод, то именно процесс кодирования на ней будет сильно комфортнее. Банально IDE развитее, код почти не пишешь, всё автодополняется, подсвечивается, выводится на лету и тд и тп. Куча хелперов, стдлиб богаче, стримы есть. Дебаггер опять же лучше и комфортнее. Короче, нереально.

Джависты приходят в го обычно, когда их задалбливает магия, десять слоев на пустом месте и вот это всё, но такое с опытом приходит и "продать" такое нельзя конечно.

Тому же бизнесу го и то продавать выгоднее, банально дешевле косты. Один сервис на джава у вас скорее всего жрет столько же денег на инфру, сколько все сервисы на го, вместе взятые. А оперативка конечно дешевая, но если поставить вопрос так, что хотим ли мы платить за десять серверов или только за один, то ответ может быть интересным.
Аноним 06/08/22 Суб 19:00:36 #158 №2426417 
>>2426288
зачем?
Аноним 06/08/22 Суб 20:23:48 #159 №2426496 
>>2426417

так го же лучший язык на рынке для веба

как можно смотреть как люди страдают от жырных полных xmlя и дичайшей магии спрингов?

их надо спасти
Аноним 06/08/22 Суб 21:33:54 #160 №2426572 
че они харкач так долго обновляли? вот на микросервисах бы сделали с айджайл разработкой такого бы не было
Аноним 06/08/22 Суб 21:40:54 #161 №2426580 
>>2426572
Не пытайся наебать, здесь все знают, как это работает.
Знакомый заказывал у одной веб-студии сайт-визитку с каталогом продуктов, так те настаивали на том, чтобы сделать проект с современными подходами, модными технологиями, микросервисами и предложили ценник в полмиллиона и полгода работы.
Аноним 06/08/22 Суб 21:53:20 #162 №2426598 
>>2426580
ну так там развод на баблосекс очевидный, для сайта визитки 3-4 микросервиса максимум, хотя мб там чел ёбу хотел какую-то с парсингом и нейронками
Аноним 06/08/22 Суб 22:10:16 #163 №2426618 
>>2426598
> для сайта визитки 1 сервис максимум
Пофиксил.
Аноним 06/08/22 Суб 22:41:29 #164 №2426648 
>>2426311
>Один сервис на джава у вас скорее всего жрет столько же денег на инфру, сколько все сервисы на го, вместе взятые

Го настолько легковесный?
Аноним 06/08/22 Суб 22:41:45 #165 №2426649 
Хотя спринг как не в себя жрет, это факт
Аноним 06/08/22 Суб 22:53:42 #166 №2426659 
>>2426648

> Го настолько легковесный?

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

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


Это на самом деле имеет смысл. Сейчас переписываю старую систему на гошку, а почему? Потому что тогда сделали все по бырику, а сейчас на это говно не смогли найти спецов, нет их. Перепиливаем на модном, потому что оно будет модным еще долго.
Аноним 06/08/22 Суб 23:32:20 #167 №2426692 
>>2426618
> для сайта визитки вообще сервисы не нужны, это блять визитка. Раздавайте тупо статику, можно даже серверлесс.
Я лучше пофиксил
Аноним 06/08/22 Суб 23:53:33 #168 №2426709 
>>2426692

ты забыл отметить, насколько го хорош для серверлесс, учитывая aot компиляцию, мгновенный старт, экономное потребление памяти, высокую производительностьН легкость написания кода и тп
Аноним 06/08/22 Суб 23:55:51 #169 №2426711 
>>2426692
Один сайт - это и есть один сервис.
Нахуй серверлесс в визитке, там достаточно ебучего скрипта на пхп на 200 строчек, либо взять CMS, тогда строчек будет 0.
Аноним 07/08/22 Вск 00:04:30 #170 №2426717 
>>2426711

пахнет нулевыми, деда.

визитка это
- либо nocode-решение
- либо jam-stack, если контент побольшей части статический
- либо серверлесс, если есть много динамический элементов, вроде многоруких бандитов или какой-то функциональности
Аноним 07/08/22 Вск 00:09:52 #171 №2426721 
>>2426717
Нулевыми это пахнет только для тех, кто хочет наебать и вытрясти побольше деняк с клиента. А CMS - это и есть nocode-решение, и потребность в этом говне не пропадёт никогда, потому что быстро и дёшево. Даже если переписать CMS с пхп на го.
Аноним 07/08/22 Вск 00:24:35 #172 №2426728 
Golang лучший и единственный! Устроим языковый нацизм, нужно отказаться от всего мусора и юзать один великий и всемогущий!
Аноним 07/08/22 Вск 00:27:55 #173 №2426729 
изображение.png
>>2426728
Никогда такого не было - и вот опять.
Аноним 07/08/22 Вск 00:34:53 #174 №2426731 
>>2426721

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

иначе лучше пилить свое, выйдет не сильно дороже, зато кастомизируемо
Аноним 07/08/22 Вск 00:37:02 #175 №2426732 
>>2426731
Не будет. CMS - решение, проверенное временем, в отличие от твоего saas, который создаёт больше проблем, чем решает.
Аноним 07/08/22 Вск 00:42:18 #176 №2426734 
>>2426732

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

не надо мне рассказывать, какие ваши вп и битриксы беспроблемные, вас уже все раскусили и готовы платить или за саас или за заказную разработку
Аноним 07/08/22 Вск 00:44:38 #177 №2426735 
>>2426734
Не готовы, это слишком дорого и долго. Не пытайся наебать.
Аноним 07/08/22 Вск 00:53:07 #178 №2426742 
>>2426728
Golang это что? Гугл пишет на Carbon.
Аноним 07/08/22 Вск 00:55:41 #179 №2426743 
>>2426742

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

карбон для легаси, где нужна тесная интеграция с плюсами, но нервов на плюсы уже не осталось
Аноним 07/08/22 Вск 00:56:00 #180 №2426744 
>>2426742
А ещё гугл пишет на дарте. Классный язык, говорят, с большим будущим.
Аноним 07/08/22 Вск 01:01:06 #181 №2426745 
>>2426735
Всем похуй на бизнес и что ему дорого/дешево, это его проблемы. Уважающий себя человек не станет работать с твоим CMS, лучше уж пойти вагоны разгрузить. Ребята тут за идею ебашут.

Когда ты решаешь свою задачу с помощью CMS - ты просто меняешь время своей жизни на деньги. Причем не очень большие. Если ты за чужой счет затягиваешь оверхэд технологии, просто потому что так интереснее/можно обкатать на котятах новую технологию, чтобы перейти к более стоящим вещам - маладца.
Аноним 07/08/22 Вск 01:02:53 #182 №2426746 
>>2426744
Бекенд на дарте пишет наверное?
Аноним 07/08/22 Вск 01:09:13 #183 №2426751 
>>2426745
> Всем похуй на бизнес и что ему дорого/дешево, это его проблемы.
И, как следствие, проблемы клиента. Клиент пойдёт за визиткой туда, где дешевле, а не где ему будут ебать мозг, чтобы анальникам было интереснее юзать новые технологии.
> Уважающий себя человек не станет работать с твоим CMS, лучше уж пойти вагоны разгрузить.
Тяжёлый физический труд зимой в хуёвую погоду за копейки vs аутировать в офисе и заниматься лёгкой работой клепания сайтиков на CMS. Тяжёлый выбор, конечно.
Аноним 07/08/22 Вск 01:11:22 #184 №2426753 
>>2426746
Не пишет, в том-то и дело. Создал язык и сразу же его похоронил.
Аноним 07/08/22 Вск 01:11:56 #185 №2426754 
>>2426751

ты, senior bitrix developer, ну тебе же уже объяснили, что когда клиенты наелись говна с тобой, кстати, платя тебе копейки, они приходят к нам за нормальным решением
и опять же, спасибо тебе, готовы платить нормальные бабки
Аноним 07/08/22 Вск 01:12:36 #186 №2426755 
>>2426753
да лан вам, флаттер более чем вытсрелил
Аноним 07/08/22 Вск 01:13:56 #187 №2426756 
>>2426754
> они приходят к нам за нормальным решением
И получают ещё больше говна дороже. Затем возвращаются обратно.
Аноним 07/08/22 Вск 01:14:38 #188 №2426757 
>>2426756

мечтай)) может тебе когда-нибудь такое приснится.
Аноним 07/08/22 Вск 01:15:12 #189 №2426758 
>>2426751
>Тяжёлый выбор, конечно.
На самом деле не так очевидно.
>Тяжёлый физический труд зимой в хуёвую погоду за копейки
Пробудит у тебя глубинные экзистенциальные вопросы, найдя ответы на которые, ты сможешь осмысленно и фундаментально изменить свою жизнь
>аутировать в офисе и заниматься лёгкой работой клепания сайтиков на CMS
Эта же ветка приведет лишь к разочарованию, осознанию своего ничтожества, в перерывах, когда непрерывный бренфог рассеивается, например во время отпуска. Только импульса менять статус кво не будет, потому что ты уже потерян
Аноним 07/08/22 Вск 01:15:24 #190 №2426759 
>>2426757
> ))
Ясно всё с тобой.
Аноним 07/08/22 Вск 01:15:58 #191 №2426760 
>>2426758
База.
Аноним 07/08/22 Вск 01:50:31 #192 №2426770 
Этот чухан битриксоид не наш, у нас выебоны протухшими 15 лет назад CMS тоже зашкваром считаются.
мимо из пхп треда
Аноним 07/08/22 Вск 01:51:13 #193 №2426773 
>>2426732
Долбоеб детектед. Ну какая блять CMS для визитки? O_O
Там контента-то нет, тебе нужно просто раздать статику и всё.

Я когда говорил про серверлесс как раз и имел ввиду, что тебе даже свой сервер не нужен, залей верстку визитки на любой хостинг, который умеет этот html показывать и всё. Можно даже на cloudflare кстати.

>>2426742
Кстати гугл на го не пишет. У гугла половина на джаве, половина на плюсах. Ну то есть как у любой суперкрупной конторы у них есть всё на всех языках но написания на го, как корпоративной политики у них нет, в отличие от жавы и плюсов.
А и ещё на го у них там знатный говнокод, по рассказам людей оттуда.
Это я не к тому, что го плохой, а к тому, что "язык от гугла(тм)" это какой-то всратый маркетинг и баззворд, не ведитесь на него. Гугл его в лучшем случае спонирует, как и много других языков и технологий, но не больше.
Аноним 07/08/22 Вск 01:56:26 #194 №2426778 
>>2426773
Визитка - это общее название. Как правило, нужны ещё каталог товаров, пара форм и почта. Ради лендинга из одной страницы никто даже обращаться в веб-студии не станет и возьмёт какой-нибудь говноконструктор.
Аноним 07/08/22 Вск 03:45:23 #195 №2426796 
>>2426778
Почта заводится на любом гугле, там даже домен свой прикрутить можно. Пара форм тоже при сабмите отправляют инфу в ту же почту. Каталог товаров это та же статика и отлично умещается на ту же страницу.
Всё ещё ни cms ни свой хостинг не нужны.
Аноним 07/08/22 Вск 12:56:31 #196 №2426970 
image.png
image.png
Бывало у кого-нибудь, что http.NewRequest() возвращает как Response nil всегда, притом, что с http.Client.Do() все работает нормально? Мб я что-то не то сделал
Аноним 07/08/22 Вск 13:07:33 #197 №2426979 
>>2426970
Так на пике 1 ты только создал запрос, но не отправил его, откуда респонсу взяться?
Аноним 07/08/22 Вск 13:12:11 #198 №2426981 
>>2426979
ебать я тупой, реально
Аноним 07/08/22 Вск 15:52:45 #199 №2427090 
>>2426796
Если всё делать так примитивно, как ты описываешь, то вообще никому сайты не нужны, достаточно во вконтактике создать паблик и постить там эксельки с базами, хотя любая CMS с этим справится намного лучше. Это всё твои попытки наебать, типа либо клиенту вообще ничего не нужно, либо саас серверлесс микросервисы за стотыщмильёнов, которые обычному клиенту нахуй не сдались, они для энтерпрайза.
Аноним 07/08/22 Вск 17:06:52 #200 №2427256 
Фуллстек на CMS за 70к, ты?
Аноним 07/08/22 Вск 21:31:21 #201 №2427626 
Аноны, я ебнулся или система или корс
Короче у меня апишка такая:
1. Посылается POST на 1 эндпоинт
2. Сервис посылает запрос на другой эндпоинт методом POST
И тут я ловлю 307 статус код. Чё с этим делать вообще?
Аноним 07/08/22 Вск 21:52:41 #202 №2427650 
>>2427626
Редиректиться, хуле. Но 307 редирект дефакто мёртв, так что ковыряй логи.
Аноним 07/08/22 Вск 22:13:05 #203 №2427680 
>>2427090
Это называется не "примитивно", а "не усложнять, пока не надо будет". Твои CMSки это и есть попытки наебать, их нужно поддерживать, обновлять, и тд и тп. Как из пушки по воробьям.
Вот когда у клиента появится личный кабинет, корзина, доставка, список продуктов, региональные цены, ревизии и всё такое, тогда я и предложу ему shopify as a service, потому что клиенту надо, чтобы работало за минимальные ресурсы, а не чтобы ему универсально всратые комбайны на сервер ставили, лол.
Большинству сайтов на том же вордпрессе вордпресс и не нужен, хватило бы любого онлайн хостинга страничек и темы, которую туда можно натянуть, можно своей. Мало у кого реально есть столько контента, чтобы возникала нужда в системе, чтобы им управлять.

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

Thrust me, я на заре своей карьеры несколько лет потратил на разработку "на cms" (тогда это было ещё модно), знаю о чём говорю.
Аноним 08/08/22 Пнд 19:50:31 #204 №2428413 
image.png
>>2427650
А там хуйня в location, в итоге редирект по тому же пути и также 307, проблема была в пути роутера, он редиректит, если путь не заканчивается слешем.

Аноны, прошу совета у знающих людей
Как лучше всего делать запрос через время определенное? То есть например, нужно чтобы через 2 часа произошел какой-то прикол, когда тебе на эндпоинт приходит запрос. Просто слипнуть или горутину сделать никак, потому что ты не сможешь отправить ответ (нужно ждать 2 часа). В итоге я почитал про очередь запросов и выкакал что-то типа такого: https://gist.github.com/elegantcookie/9aeb3de3e390d8e702ba56938a0f6624

То есть у нас есть очередь запросов и когда туда приходит запрос, он добавляется в очередь и там происходит бизнес логика. Но мне чето не сильно нравится этот варик, мб можете подсказать что-то дельное или пример такой штуки привести?
Аноним 09/08/22 Втр 00:37:08 #205 №2428591 
>>2428413
Аноним 09/08/22 Втр 00:38:27 #206 №2428593 
хадокенпхп.jpeg
>>2428413
Аноним 09/08/22 Втр 01:17:38 #207 №2428624 
>>2428593
Двачую, тоже люто проиграл с этого
Аноним 09/08/22 Втр 02:09:29 #208 №2428638 
>>2428413
пишешь в какой-нибудь пульсар отложенное сообщение.
либо в БД сохраняешь джобу и своим обработчиком достаеш.
в памяти сервиса хранить это такое себе
Аноним 09/08/22 Втр 09:02:32 #209 №2428695 
image.png
>>2428638
Окей, скорее всего так и сделаю

Вот кстати схему приложил, как оно должно работать примерно. Как можно функцию обработчика исправить, чтобы она не выглядела как пик >>2428593?
Аноним 09/08/22 Втр 13:09:24 #210 №2428790 
>>2428695
https://dave.cheney.net/practical-go/presentations/gophercon-israel.html#_return_early_rather_than_nesting_deeply
Аноним 09/08/22 Втр 17:38:06 #211 №2429088 
Аноны, продолжаю писать тестовые, что бы подкачаться к устройству.
На этот раз достаточно тривиальное от Авито, сабж:
https://github.com/avito-tech/tm-backend-trainee
Если в кратце, в БД кладем структуру с опциональными полями, возвращаем ту же структуру с доп вычислениями на основе опциональных полей.
Собственно для реализации опциональных полей определил такую структуру на вход:

type AdStats struct {
// input
Date time.Time `json:"date,omitempty"`
Views &int `json:"views,omitempty"`
Clicks &int `json:"clicks,omitempty"`
Cost &float64 `json:"cost,omitempty"`
}

И такую на вывод:

type AdStatsCalculated struct {
Date time.Time `json:"date,omitempty"`
Views &int `json:"views,omitempty"`
Clicks &int `json:"clicks,omitempty"`
Cost &float64 `json:"cost,omitempty"`

Cpc &float64 `json:"cpc,omitempty"`
Cpm &float64 `json:"cpm,omitempty"`
}
(вместо звездочки написал амперсанд, что бы двач не форматировал).
Вроде решение простое и в лоб, но все таки меня смущает такое обилие поинтеров. Естественно все проверки
Поскольку логика тривиальная по сути везде юзаю эти ДТОшки.

Насколько вообще норм такой подход. Нужно ли уходить от пойнтеров или такое решение оправдано? Если нужно, как можно альтернативно реализовать такую функциональность?
Аноним 09/08/22 Втр 19:53:55 #212 №2429194 
image.png
>>2428790
Ну кароче я переделал, вот так должно быть норм, вроде и проц не грузит сильно
Аноним 10/08/22 Срд 01:12:51 #213 №2429381 
>>2429088
Во первых твои две структуры отличаются только наличием и отсутствием значений, как я понял, так что возможно проще их слепить в одну, пусть будет AdStats, а calculated оно или нет будет понятно из контекста (в смысле заполнены у него поля или нет). Твой вариант в целом тоже норм, но возможно немного overcomplicated.

Теперь к сути вопроса. В го есть несколько вариантов работы с отсутствующими значениями (они же null в других языках):
1) Это zero-значения, то есть 0 для инта и так далее. Это прикольно с точки зрения производительности, но иногда абсолютно непонятно в моменте, там 0 потому что нет значения или потому что дефолт? Короче иногда норм, а иногда прям больно;
2) Это поинтеры, то есть по сути nullable значение. Плюс в том, что nil c &0 ты никак не перепутаешь, минус - это нагрузка на гц, да. Но можешь мне поверить, от одного (или даже 10, или 100) поинтера пер запрос го ничего не будет, гц вполне неплохо справляется с большими (но не сверх-большими) объемами указателей, это не должно тебя прям пугать. Так что за этим нужно следить и в узких местах оптимизировать, но в общем случае это вполне себе решение, я почти везде именно его использовал до недавнего времени;
3) Это такой недо-optional, например NullString из стандартной библиотеки. Грубо говоря это значение с флагом, NullableInt { Val iint, Exists nool}, помогает разлепить 0 и null и эффективно с точки зрения памяти;
4) Полноценный optional на дженериках, их с прошлой версии го стало можно делать. Единственный минус, в стдлиб универсального Optional[T] пока нет, но по идее структура тривиальная, мб и завезут когда-то.

В конкретно твоём случае я думаю, тебе везде нужно оставить просто int, потому что 0 статистики и отсутствие статистики в целом примерно одно и тоже. Или сделать все int (вместо твоего *int) и рядом поставить флаг is_calculated, ну короче думаю ты меня понял.
Аноним 10/08/22 Срд 01:32:34 #214 №2429384 
>>2429381
Пардон, NullableInt { Val int, Exists bool} конечно же, чет я опечатался
Аноним 10/08/22 Срд 01:49:37 #215 №2429386 
>>2429194
1) Я думаю у тебя в каждом цикле должен создаваться свой context.Background с каким-то таймаутом, чтобы у тебя конкретный прогон цикла отваливался если зависнет;
2) Ошибки всё же обрабатывай, в логи хотя бы пиши, а не просто скипай, потом пригодится; Паника тут конечно вообще пиздец как не к месту;
3) Expired не скипай просто так в коде, нарвешься на случай, когда их будет ровно столько же, какой ты лимит укажешь в GetAll и у тебя всё застакается нахрен. Лучше прям в GetAll сделай условие в самом запросе. Вида `select * from tasks where call_until < NOW()`;
4) Лимиты кстати могут быть нужны, если у тебя их там нет, потому что задач теоретически может быть очень много. Норм схема делать это в два цикла примерно так: https://go.dev/play/p/9WXkfY92olm
5) Возможно стоит таски селектить через select for update skipped locked, чтобы дважды запущенный сервис не начал одно и то же выполнять; Но для этого придется всё в транзакцию обернуть;
6) Так часто долбить запросами базу (если это база) не стоит. Советую прикрутить туда ExponentialBackoff, чтобы проверял базу на таски каждые 1,2,4,8 и тд миллисекунд вплоть до 10 секунд максимум к примеру. Так оно будет быстро разгребать очередь в случае большого потока задач и не будет создавать большую ненужную нагрузку если задач особо нет;
7) Кстати непонятно, нахрена ты удаляешь таск если пришла ошибка. Ошибки это часть жизни, это сеть, она может мигнуть, пакет может пропасть и тд. Обычно таск просто скипается в таком случае.
Аноним 10/08/22 Срд 02:21:05 #216 №2429389 
87gbak.mp4
>>2429386
>context.Background с каким-то таймаутом
Аноним 10/08/22 Срд 02:29:56 #217 №2429390 
>>2429389
for {
ctx := context.WithTimeout(context.Background(), time.Second*10)
// и вперед юзать ctx.
// тогда одна итерация цикла у тебя займет не более 10 секунд, если соединение провиснет, база затупит и тд
}
Аноним 10/08/22 Срд 02:36:12 #218 №2429394 
>>2429088
поинтеры норм, если тебе нужно отличать nil. тут можно пожаловаться на постановку задачи, т.к. не понятно как при вычислении среднего учитывать даты у которых NULL значения - считаем ли их за ноль (и тогда без боли можем убрать поинтеры и заюзать зеро велью) или просто пропускаем.

алсо делать из реквеста и респонса одну суперструктуру не стоит
Аноним 10/08/22 Срд 02:56:04 #219 №2429403 
>>2429394
> алсо делать из реквеста и респонса одну суперструктуру не стоит
Из реквеста и респонса не стоит, а моделировать то, что лежит в бд в виде одной структуры ок. Как я понял он на уровне домена зачем-то две структуры хочет использовать=
Условно
stats := Stats{}
statsRepo.Save(ctx, &stats)
calculator.Calculate(&stats)
return stats // а дальше уже ручками маппишь в респонс
Аноним 10/08/22 Срд 05:15:36 #220 №2429426 
>>2429390
я к тому, что контекст с таймаутом это не бекграунд контекст.
к тому же там в функции уже есть родительский контекст
Аноним 10/08/22 Срд 10:42:55 #221 №2429534 
>>2429381
Спасибо за такой развернутый коммент. Понимания стало больше. Думаю в этом случае оправдано оставить указатели, поскольку в варианте с булеанами нужно будет на каждое calculated поле заводить, поскольку зависят от разных.

>>2429394
Согласен, ИРЛ надо было бы спросить об этом, но работаем с тем что есть.

>>2429403
Да, в принципе знаю, что иногда оправдано завести несколько структур на domain, DTO для базы, DTO для HTTP, но тут все достаточно просто и плодить сущности без необходимости не стал.
В базе лежит AdStat, у которого есть метод Calculate, который возвращает вторую структуру, которая уже пишется в JSON
Аноним 10/08/22 Срд 16:11:54 #222 №2429753 
":=" - самый конченый оператор присваивания который можно было высрать
Аноним 10/08/22 Срд 16:27:04 #223 №2429765 
>>2429753
Именно так, поэтому в Go это не оператор присваивания.
Аноним 10/08/22 Срд 16:37:19 #224 №2429775 
>>2429753
Двачую этого анона >>2429765
В конче-языкал либо var/let-ами обмазываться, либо постоянно втыкать, это объявление или присваивание.
Аноним 10/08/22 Срд 17:00:22 #225 №2429794 
>>2429753
Всё так, поэтому в Go это оператор объявления + присвоения с выводом типа.
Как в джаве var x = "shit";
А присвоение это "="
Аноним 10/08/22 Срд 18:00:27 #226 №2429834 
>>2409760 (OP)
Год стажа похапэ, возникло некоторое желание уйти от динамикодрисни. Финтех.
Рассматривал что-то из жаба / шарп / голанг, по-моему больше ничего строгого на проде в беке не юзается.
Учил жабу месяца 4 в свободное время, коммичу в попенсурс, продвинулся до уровня "знаю жаба кор кроме многопотока, коллекций и стрим апи", начал спринг и как-то сдулся спринг мне нравится, сдулся по причине далее. Получается, надо прям дохуя наебенить знаний в голову, чтобы пойти на обслуживание легаси за тот же прайс, который сейчас имею, с достаточно мутными дальнейшими перспективами.
Как по вашему, го имеет шанс стать серебряной пулей для меня?
Если надо что-то ещё пояснить из бекграунда, спрашивайте.
Аноним 10/08/22 Срд 18:09:18 #227 №2429843 
>>2429834
Ну в Го тебе придется выдрочить этот сраный многопоток в джаве кстати тоже до уровня "могу с закрытыми глазами написать неблокирующую lock-free хешмапу, а еще могу пояснить за горутины/корутины/файберы/async-await'ы и их различия, могу рассказать про кишочки шедулера и netpoll", на что потребуется довольно-таки дохуя времени, потому что материалов, где это нормально объяснено хуй да нихуя, и большая часть разрабов очень часто путается в этих тонкостях, но эти тонкости всегда спрашивают на собесах, и отвечать нужно очень уверенно.
Аноним 10/08/22 Срд 18:14:20 #228 №2429847 
>>2429834
>с достаточно мутными дальнейшими перспективами
В го кстати не очень уж много и платят, ну примерно как тем джавистам во всяких банках и энтерпрайзе, только на го в ритейле и екоммерс обычно пишут. Вообще вилка разраба всегда довольно стандартная вещь и каких-то чудес уровня 250 на руки просто так ждать не стоит
Аноним 10/08/22 Срд 18:19:48 #229 №2429854 
>>2429843
> Ну в Го тебе придется выдрочить этот сраный многопоток
Ну я на это подписываюсь, и идеи для петов есть по многопоточке.
Это так или иначе однажды придётся познать.
>>2429847
Ну я больше про то, что быть может в гошке не такой гигантский объём знаний.
Аноним 10/08/22 Срд 18:21:40 #230 №2429859 
>>2429847
>>2429854
И проекты в среднем по больнице поновее, что тоже немаловажно.
Аноним 10/08/22 Срд 18:29:54 #231 №2429868 
>>2429854
>>2429859
До февраля с пхп на го было довольно просто перейти. Как сейчас - не знаю, количество вакансий более чем в 2 раза сократилось, а до того оно и так не сказать, что большим было.
Аноним 10/08/22 Срд 18:48:22 #232 №2429879 
>>2429843
Нихуя, не пугай чувака.
В го придется разбираться с многопотоком, но он довольно тривиальный и в реальной работе нужен редко, если ты свои бд или там аналитическую обработку не пишешь.
Бизнес-логика как правило синхронна или около того.
Так что ему придется выучить несколько базовых паттернов и инструментов типа мьютексов и каналов и чуть теории для собесов.

>>2429847
Хз, знаю конторы, где гошникам платят больше. Надо короче рассматривать конкретные конторы, я знаю го ~500к и джаву ~100к. Судя по средней на рынке у них всё +- одинаково.

>>2429868
Думаю сокращения происходят +- везде. Но c# должно конечно задеть сильнее всего, раз мелкомягкие ушли из рф.

>>2429834
Значится, положняк такой.
Учить теорию и приколы конкретного языка тебе придется в любом случае и в любом случае переход на другой стек без опыта это будет некоторый провал для тебя по рейту. Могу порекомендовать найти контору, у которой есть и php и что-то второе и наняться туда с договоренностью, что у них ты перейдешь фулл тайм на го (к примеру) со временм. Так и ты придешь не с нулём опыта, и контора получит кого-то +- что-то знающего.
По поводу выбора.
c# в целом найс, но я хз какие у него перспективы в РФ.
Java точно очень популярна, хороший вариант был бы, если бы не спринг, который тебе придется учить и вот это отдельная область знаний. То есть придется прям изучать приколы отдельных либ, которые часто очень переусложнены, какой-нибудь гибернейт это вообще пиздец.
Го в целом прикольный и, главное, кейс "монолит на php + микросервисы на го" очень популярен, что плюс для тебя. И ещё по сравнению с джавой в го тебе надо будет меньше всего учить. Но при этом рынок труда у гошников меньше джавогого, это 100%.

Хз, решай сам. Я бы выбрал или жаву, или го. А может пробовался бы и туда, и туда, куда возьмут с большими деньгами, туда и пошел бы. Не так уж и сложно на миддл уровне выучиться проходить собесы.
Аноним 10/08/22 Срд 19:33:32 #233 №2429901 
>>2429879
Максимальное спасибо
Аноним 10/08/22 Срд 19:49:50 #234 №2429923 
>>2429847
>Вообще вилка разраба всегда довольно стандартная вещь
Как же хуёво.
В 1с получаю по стандартной вилке разраба (мидл - 140к, насколько стандартно?), хочу выкатиться, но всё выглядит так, что выкачусь я только нахуй на плюс-минус то же самое, только въебав времени по дороге и просев по зп.

мимо зачем же я выбрал 1с
на самом деле знаю зачем - в мухосрани кроме 1с были только кресты
Аноним 10/08/22 Срд 20:38:25 #235 №2429999 
>>2429847
Всегда рофлю с фраз типа "250к на руки это какое-то чудо", зачем вы в это верите вообще.

>>2429923
Не верь этому всему. Никакой средней или стандартной вилки есть и все ограничения только у тебя в голове. Я серьезно.
Всегда, абсолютно всегда можно найти контору, которая платит больше. Да, чем дальше, тем таких контор меньше, но суть в том, что если упорно работать именно на поиск контор с большим рейтом и попытки туда попасть, то всё в итоге получится.
Зачастую даже не нужно быть супер-пупер сеньором для этого.
Но в какой-то момент придется переходить на удаленку, учить язык и тд и тп.

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

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

мимо-500к/мес гошник, начинал с 20к в месяц из мухосрани лет 10 назад
Аноним 10/08/22 Срд 20:39:41 #236 №2430001 
>>2429999
> Никакой средней или стандартной вилки есть
самофикс, никакой вилки нет*
Аноним 11/08/22 Чтв 17:34:39 #237 №2430682 
>>2429999
> Но в какой-то момент придется учить язык
Программач, 2022, итоги
Аноним 11/08/22 Чтв 19:06:01 #238 №2430816 
>>2429999
>пук мням потолка нет

Ясно, продолжай держать в курсе
Аноним 12/08/22 Птн 10:39:12 #239 №2431344 
Аноны, вопрос скорее общий, но также интересно узнать как это принято в Го.
В общем, как грамотно менеджить пользовательские сообщения: об ошибках, сообщения cli-интерфейса и прочее.
Заводить "конфиг" мессаджей и парсить в память? Хардкодить? Хранить в key-value ДБ?
А если требуется несколько локализаций?
Реквестирую Ваш опыт, бест практисы, ресурсы, где почитать подробнее
Аноним 12/08/22 Птн 11:03:13 #240 №2431357 
>>2431344
принято конечно же хардкодить, писать часть сообщений на русском, а часть на английском, и не ебаться с локализациями.

>Заводить "конфиг" мессаджей и парсить в память? Хардкодить?
ты вполне можешь хранить тексты в каких-нибудь .po и кодгенерацией их """"""хардкодить"""""". если твои пользователи не будут файлы править подсибя, эти варианты чуть менее чем нихуя различаются, кроме ебли с подгрузкой файла в рантайме. наверняка у гошки даже есть пакет для gettext.
>Хранить в key-value ДБ?
нахуя
Аноним 12/08/22 Птн 11:08:39 #241 №2431361 
>>2431357
>не ебаться с локализациями
а если "бизнес хочет"?

>Хранить в key-value ДБ? - нахуя
Ну допустим у тебя жеский тыпрайс, миллионы возможных сообщений, зачем их держать в памяти? А если несколько инстансов, еще и по много раз. Где-то слышал, что вполне себе используется
Аноним 12/08/22 Птн 11:09:35 #242 №2431364 
>>2431361
И на лету кстати можно контент заменять, без перезапуска кластера
Аноним 12/08/22 Птн 19:39:27 #243 №2431984 
>>2431344
Го как правило это сервера и апи, а ошибки показываются клиентом. Соответственно, апи возвращает коды ошибок, а клиенты их сами показывают.
Сама задача такого показа текста в случае ошибок не отличается от всех других случаев: у тебя в приложении захардкожены некие ключи, которые ты пропускаешь через локализацию и на выходе получаешь текст, который и показываешь.
Так оно и работает примерно везде.
Вопрос только в том, как это хранить этот маппинг.
В простом случае его подкладывают рядом с приложением и/или вкомпиливают сразу внутрь. Если тебе не нужно на лету менеджить тексты, вполне нормальный подход. Формат файлов тут может быть любым, хоть json.
Как вариант, можешь хранить их в неком хранилище, чтобы потом ими оперативно управлять, исправляя переводы на лету в случае косяков.
Тут такой момент, что это уже в принципе сводит задачу к менеджменту контента в приложении, тексты ошибок здесь ничем не отличаются от заголовков, кнопочек и тп.
В качестве хранилища можешь использовать свою базу, если у тебя свой сервер или какой-нибудь внешний сервис типа localize. Мы как-то раз использовали гуглотаблицу, в которую просто ходили из приложения по апи, полет был нормальный.
Аноним 12/08/22 Птн 23:07:54 #244 №2432192 
>>2431344

>>2431984
двачую вот этого. на бэке только инглиш и слаги-коды, с псевдоязыками пусть фронты долбаются.
Аноним 12/08/22 Птн 23:33:19 #245 №2432211 
>>2432192
> пусть фронты долбаются.
А они и не против
Аноним 13/08/22 Суб 11:29:11 #246 №2432379 
>>2432192
То есть у нас есть что то типа
type MyError struct {
__Code string
__Message string
__Context any
}
На клиент мы отправляем code, в лог пишем message. Правильно уловил?
Аноним 14/08/22 Вск 02:01:46 #247 №2433140 
goндоны, посоветуйте фреймворк для веба, если я уже знаю джанго, пожалуйста.
Аноним 14/08/22 Вск 07:30:32 #248 №2433170 
>>2433140
>фреймворки
это тебе в другой тред, петушара
Аноним 14/08/22 Вск 11:40:58 #249 №2433343 
>>2433140
пшел нахуй с таким отношением
>пожалуйста
тебе не поможет
Аноним 14/08/22 Вск 15:50:05 #250 №2433741 
>>2433343
>>2433170
дети goвна обиделись
Аноним 16/08/22 Втр 07:55:43 #251 №2435483 
Презентацией карбона и заинтерисованности в его развитии гугл отправил го на помойку. Разве нет?
Аноним 16/08/22 Втр 08:56:01 #252 №2435522 
>>2435483
где го где карбон, ты ебан или да?
Аноним 16/08/22 Втр 10:06:14 #253 №2435572 
>>2435483
Хз вообще почему кто-то на карбон внимание обращает. Очередной экспериментальный недоязык от большой конторы, они их раз в год выпускают.
На нём никто всерьез не пишет, никакой софт не написан, пакетов и библиотек нет, сообщества нет, населен роботами.
Такую хуйню надо просто игнорировать, потому что даже, если гугл реально хочет его развивать (а это не так) и даже если у него это получится (шанс 5%), то конкурентоспособным он станет только лет через 5-10 минимум.
Аноним 16/08/22 Втр 10:28:56 #254 №2435575 
Вот скажи, нахуя джаба-дебилы и сисярп-макаки, пытаются свои паттерны, бестпрактисы, ооп, фп и прочую залупень пихать в Го?

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

В чем я не прав?
Аноним 16/08/22 Втр 10:43:53 #255 №2435579 
>>2435575
Подожди, а у тебя код уровня
СделатьТоТо(арг1, арг2) {
сделатьОднуХуйню(...);
сделатьДругуюХуйню(...);
}
Ну вполне логично что люди хотят от этого уходить, т.к. это дорого поддерживать.
Аноним 16/08/22 Втр 10:46:24 #256 №2435582 
>>2435579

Угу, легче же писать абстракцию на абстракции, паттерны на паттерне, дрочить миллион классов чтобы сделать один объект
Аноним 16/08/22 Втр 11:03:34 #257 №2435596 
>>2435582
Зависит от масштабов.
Аноним 16/08/22 Втр 13:59:47 #258 №2435793 
>>2435575
Подожди, вот слепим мы из го кроссплатформенный компилируемый шарпик и тогда сможем перекатываться.
Аноним 16/08/22 Втр 15:19:44 #259 №2435892 
Аноны а как вообще вкатиться в rabbitmq и его использование? Просто я щас на пет проекте осознал, что делать каждый раз свой менеджер неудобно.

Короче реквестирую годные проекты с clean architecture + rabbitmq. Можете послать в гугл, все равно скоро туда собирался пойти, но возможно тут что-то годное подкинут
Аноним 16/08/22 Втр 15:31:17 #260 №2435912 
>>2435892
Бля анончик, сам планировал написать пет проект с очередями. Бампну твой вопрос
Аноним 16/08/22 Втр 15:53:04 #261 №2435956 
>>2435892
Ну и я бампну, чего бы и нет.
Аноним 17/08/22 Срд 01:28:01 #262 №2436638 
>>2435892
Просто берёшь и встраиваешь как и любой другой брокер. Консьюмер берёт запрос из очереди, триггерит юзкейс, который в свою очередь кидает ответ в паблишера обратно или сторонний сервисНэйм.
Аноним 17/08/22 Срд 16:02:41 #263 №2437200 
https://habr.com/ru/company/geekfactor/blog/682084/

Как же гоблядей обоссывают
Аноним 17/08/22 Срд 19:03:26 #264 №2437476 
>>2437200
>нода лучши
>нет статической типизации
Закрываем
Аноним 18/08/22 Чтв 10:28:32 #265 №2437986 
image.png
>>2437476
Ебало неуча на гохе представили?
Аноним 18/08/22 Чтв 11:01:16 #266 №2438007 
>>2437986
Мертвый язык, типы завезут в стандарт экмаскрипт
Аноним 18/08/22 Чтв 12:06:23 #267 №2438047 
>>2437986
Я знаю что есть тс, но не знаю как с ним обстоит вопрос на ноде.
>на гохе
Я мимо прохоdeal
Аноним 18/08/22 Чтв 12:07:26 #268 №2438050 
>>2438047
TS - де-факто стандарт что для фронта что для бека. Нормальные проекты без него не делаются.
Аноним 18/08/22 Чтв 12:10:12 #269 №2438055 
>>2438050
Рад это слышать, возможно в будущем поближе познакомлюсь с нодой и её экосистемой.
Разрабатывать большой проект без типов (и без абстрактных фабрик) - дно, тут полностью согласен.
Аноним 18/08/22 Чтв 12:12:09 #270 №2438058 
>>2438007
Когда завезут - тогда и приходи. И чтобы они реально работали, а не были ебучими тайпхинтами, как в питоне.
Аноним 18/08/22 Чтв 14:04:36 #271 №2438163 
>>2435483
Карбон нужен исключительно для системного программирования
А как мы уже знаем, плюсовики даже на новый стандарт переезжают со скрежетом, что тут говорить про новый язык?
Аноним 18/08/22 Чтв 21:56:06 #272 №2438765 
2022-08-1821-55-34.png
Кажется кто-то обчитался SICP
Аноним 18/08/22 Чтв 22:02:09 #273 №2438774 
>>2438765
Кто-то не проёбывал курс вычислительной математики в вузе, это не заслуга вашего борщехлёбского говносикпа.
Аноним 18/08/22 Чтв 22:36:10 #274 №2438820 
>>2438774
Ты или штаны надень или крестик сними
Аноним 19/08/22 Птн 13:26:20 #275 №2439407 
image.png
image.png
Аноны что за дерьмо? Какого хуя ввод вывод в онлайн компиляторе не работает? Что за дерьмо? Разве такое может быть? Привел самый простой пример. Пиздец блять, реально говно нахуй
Аноним 19/08/22 Птн 13:26:55 #276 №2439408 
>>2439407
Как нахуй "Program exited." он совсем ебобо?
Аноним 19/08/22 Птн 13:34:45 #277 №2439423 
>>2439407
Ты уверен, что эта онлайн хуйня может принимать ввод?
Аноним 19/08/22 Птн 13:44:09 #278 №2439435 
>>2439423

Зря быканул, прошу прощения, посмотрел в другом онлайн редакторе там все работает
Аноним 19/08/22 Птн 14:09:24 #279 №2439449 
>>2439407
А причём тут нахуй язык, ты ебани себе на комп компилятор и им компилируй уже.
Аноним 20/08/22 Суб 13:34:57 #280 №2440495 
>>2435575
> Го даже не ооп блятъ
ебать ты дебил братишка
Аноним 20/08/22 Суб 13:37:36 #281 №2440499 
>>2440495
В Go нет ООП. Проблемы?
Аноним 20/08/22 Суб 14:12:30 #282 №2440568 
>>2440499
Он есть, просто не в том виде, в каком он представлен в других языках. Удобнее он или нет -- вопрос другой.
Аноним 20/08/22 Суб 14:34:10 #283 №2440617 
>>2440568
Тогда и в ассемблере ООП есть.
Аноним 20/08/22 Суб 15:05:59 #284 №2440658 
>>2440617
Два чаю
Аноним 20/08/22 Суб 15:23:25 #285 №2440686 
>>2440499
Вот кстати кроме шуток. Если и есть та вещь, по которой я не скучаю в го кроме xml, спринга и гибернейта, лол, так это ооп. Практика показывает, что это какое-то тупиковое направление, и на реальную жизнь правила ООП натягивается очень плохо.
То же наследование во первых приносит больше проблем, чем пользы, а во вторых, как правило просто не нужно.
Всё, что требуется, это интерфейсы, чтобы описывать поведение и классы (в го - структуры), чтобы его реализовывать. Всё.
Остальная магическая хуйня от лукавого.

мимо
Аноним 20/08/22 Суб 15:39:07 #286 №2440705 
>>2440686
Плохо то, что нет явного указания, что структура имплементит такой-то интерфейс. Ну и было бы неплохо, если методы можно было бы прямо в теле структуры хуярить, как это в джава классах придумано. Когда все в месте собрано, то как-то лучше читается что-ли.
Аноним 20/08/22 Суб 16:01:57 #287 №2440741 
>>2440686
>То же наследование во первых приносит больше проблем, чем пользы, а во вторых, как правило просто не нужно.
А его разве обязательно использовать?
Аноним 20/08/22 Суб 16:02:40 #288 №2440743 
>>2440705
Ну качині інтерфейси ж, ти чого?
Аноним 20/08/22 Суб 16:57:09 #289 №2440823 
>>2440741
Нет, но это один из столпов. ООП в его классическом панимании без наследования будет уже не ООП.

>>2440705
> Плохо то, что нет явного указания, что структура имплементит такой-то интерфейс.
Ващет есть.

```
var _ fmt.Stringer = &Foo{}

type Foo struct {}
```

либо (то же самое но с большим количеством понтов)

```
var _ fmt.Stringer = (*Foo)(nil)

type Foo struct {}
```

Тебе IDE в таком случае будет даже предлагать сгенерить недостающие методы и тп.

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

Вкусовщина, лично мне наоборот по отдельности больше нравится, иначе появляется слишком много вложенных скобочек.
Аноним 20/08/22 Суб 22:01:36 #290 №2441263 
image.png
>>2440705
Аноним 20/08/22 Суб 22:03:22 #291 №2441264 
>>2440499
долбаебы-оопщики даже новое слово object-based придумали чтобы отличать языки где УУУУУУУУУ НАСЛЕДОВАТЬСЯ НЕЛЬЗЯ ЭТО НЕ ООП
Аноним 20/08/22 Суб 22:18:17 #292 №2441274 
>>2441264
Ты либо даёшь наследоваться, либо не называешь это ООП и используешь корректный термин.
Видел таких же долбоёбов, которые пытаются прилепить к Go ярлык ФП, мол, есть анонимные функции и их можно передавать в другие функции, значит ФП.
Аноним 20/08/22 Суб 22:31:49 #293 №2441279 
>>2441274
>наследоваться
Хуйня без задач.

Какое "классическое определение"? Небось еще и на паттерны передергиваешь?
Есть что-то типа объектов + полиморфизм - ООП.
/тред
Аноним 20/08/22 Суб 22:34:10 #294 №2441281 
>>2440823
>ООП в его классическом панимании без наследования будет уже не ООП
В крестах нет инкапсуляции, но крестовики говорят, что там есть ООП.
>>2441264
Всё правильно, объектно-базированное программирование, гоферам очень понравится что в отношении их языка будет употребляться слово "based"
Аноним 20/08/22 Суб 22:55:10 #295 №2441285 
>>2409760 (OP)
https://habr.com/ru/post/682618/
Папка рекомендует
Аноним 21/08/22 Вск 03:20:14 #296 №2441345 
>>2441274
ага, миллионы детей в африке запутались и потратили свою последнюю калорию, когда кто-то назвал ОБ язык ОО. нам же нужен отдельный термин для всего, а то недостаточно душно. бля давайте придумаем новый термин для ОО языков, где есть анонимные функции. бусть это будет ФООП.
Аноним 21/08/22 Вск 03:27:35 #297 №2441347 
>>2441345
Тебе с таким мышлением надо в пхп или 1С.
Аноним 21/08/22 Вск 03:42:28 #298 №2441349 
>>2441347
там тоже не любят бесполезные термины?
Аноним 21/08/22 Вск 03:46:35 #299 №2441350 
>>2441349
Там любят тащить в айти гуманитарную дичь.
Аноним 21/08/22 Вск 03:48:49 #300 №2441352 
>>2441350
а, ну ладно, понял (не понял)
Аноним 21/08/22 Вск 03:56:59 #301 №2441354 
>>2441352
200[/spoiler ]Ок.
sage[mailto:sage] Аноним 21/08/22 Вск 06:10:23 #302 №2441374 
>>2441274
Наследование - не ООП. Наследование противоречит ООП.
Аноним 21/08/22 Вск 10:57:17 #303 №2441479 
>>2441352
Я тоже нихуя не понял

1сник бывший
Аноним 21/08/22 Вск 11:40:08 #304 №2441510 
>>2441345
На самом деле в функциональном стиле можно писать практически на любом современном языке, так же как и на любом функциональном можно писать в империативном стиле.
Но, между тем, разделение у языков есть.
И разница здесь в том, что есть языки специально заточенные под определенные парадигмы. К примеру, со встроенной в язык обязательной иммутабельностью, с умным выводом типов и разверткой лямбд при компиляции и тд и тп. Условные хаскель и скала к примеру.
И вот с этой точки зрения го определенно классический империативный, потому что лямбды то в нём писать можно, но вот инфраструктуры вокруг них на уровне языка очень мало, это будет как забивать гвозди микроскопом, можно, но неэффективно.

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

Кстати, прогуглил тут, на википедии говорят, что
> Лука Карделли[ и Мартин Абади построили теоретическое обоснование ООП и классификацию на основе этого обоснования. Они отмечают, что выделенные ими понятия и категории вместе встречаются далеко не во всех ОО-языках, большинство языков поддерживают лишь подмножества теории, а порой и своеобразные отклонения от неё.

Так что норм, го реализует некоторое подмножество концепций ООП. На этом срачи надо заканчивать.

а те, кто считают, что ооп это если нужно class и implements в коде писать - неучи
Аноним 21/08/22 Вск 12:05:24 #305 №2441533 
>>2441285
Согласен, годнота
Аноним 21/08/22 Вск 12:48:51 #306 №2441559 
>>2441533
Херня для нубов, пишется с закрытыми глазами за 2 минуты не отвлекаясь от чашки с кофе. Я не шучу, действительно тривиальные вещи.
Аноним 21/08/22 Вск 15:30:12 #307 №2441821 
>>2409760 (OP)
Как работают каналы под капотом в Гохе? Для меня (бывшего жопаскриптера) какая-то магия: создаем канал который ждет входящие данные и как только они появляют на другом конце, вытягивает их и начинает над ними работу. Даже если ебнуть тысячи каналов, каких-то просадоу по cpu или памяти не будет

Шо это?
Аноним 21/08/22 Вск 15:35:15 #308 №2441833 
image.png
image.png
Всем доброго времени суток уважаемые GOбояре. Пришел к вам с советами по архитектуре пет проекта. Оцените, накидайте советов, как нужно и как ненужно делать.

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

Сервис состоит из следующих компонентов
1. Nginx - который перенаправляет и проксирует запросы

2. REST сервис авторизации\регистрации - название говорит само за себя

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

4. REST сервис проверки - проверяет пользователя, а именно такие вещи как наличие прав, кол-во штрафов, стаж вождения. Он получает запрос на проверку через очередь от сервиса аренды и пересылает внешнему источнику (у меня он просто будет заглушкой), получаемый ответ он формирует (если нужно то из БД сервиса берет данные) и пересылает обратно сервису аренды.

5. REST сервис добавления машин - сервис для админов которые добавляют новые тачки

6. СУБД будет постгрес

7. Работать будет на Docker Swarm

8. Мониторинг Prometheus + Grafana

Есть следующие вопросы:

1. Как авторизовать пользователя? Достаточно ли будет брать JWT?

2. Какой фреймворк взять? Gin-а будет достаточно?

3. Не работал с ОРМ на го. Что можно взять? Или GOбояре им не пользуются и хуярят чистый sql запросы?


Пока только такие вопросы, был бы рад с вами обсудить его с умнейшими из мира сего
Аноним 21/08/22 Вск 15:40:21 #309 №2441840 
>>2441833
По архитектуре ХЗ, по вопросам
1) refresh + access token поверх JWT
2) Да, норм
3) Никаких ORM. Бери squirrel, очень удобно.
Аноним 21/08/22 Вск 15:43:22 #310 №2441847 
>>2441840
Спасибо анончик!
Взял на заметочку
Аноним 21/08/22 Вск 15:43:39 #311 №2441848 
>>2441821
Я так понимаю ты про Горутины. Ну это типа виртуальные треды и управляются планировщиком Го. Поскольку они управляются рантаймом, не приходится тратить время на syscall's.

Ну и горутина весит мало, поэтому можно создавать их в очень больших количествах, поскольку пока они спят, то занимают только RAM.
Аноним 21/08/22 Вск 16:26:49 #312 №2441907 
>>2409760 (OP)
Как понять тему указателей и остаться без ментальных расстройств?

Пытаюсь вкатится в Go, изучаю тему. Вроде все ок, все понятно, так как до этого кодил на других скрипопарашах (Bash, Powershell). Но вот тема указателей выводит меня из себя.

Можете посоветовать хорошую статью, где это хорошо разжевывается?
Аноним 21/08/22 Вск 16:28:47 #313 №2441910 
>>2417578
>>госконторах
>
В сбербанке есть проекты на Go
Аноним 21/08/22 Вск 16:32:15 #314 №2441916 
>>2441907
хуле тут понимать анончик, включи моск. Слово указатель говорит само за себя, значит оно на что-то указывает, на что может указывать? На маму абу? На хохлов? Вроде нет, скорее всего на адрес ячейки в оперативной памяти где хранятся данные, вот и все епта бля. Самый просто пример это когда ты в функцию передаешь переменную ты не передаешь переменную ты передаешь копию, то есть за пределами функции содержимое переменной не меняется. Но если ты передашь указатель той переменной то ты уже сможешь поменять содержимое переменной, понял йопта бля?
Аноним 21/08/22 Вск 16:44:32 #315 №2441944 
>>2441916
Лол самое охуенное объяснение указателей что я видел))
Аноним 21/08/22 Вск 16:59:37 #316 №2441970 
>>2441910
Госконтора - это некоммерческая организация, живущая на бюджетные средства. То, что часть большая часть акций сбербанка куплена государством, не делает его госконторой.
Аноним 21/08/22 Вск 17:04:50 #317 №2441978 
>>2441970
>не делает его госконторой.
Это государственный банк, маня.

Или под гос конторой подразумеваешь паспортный стол, ЖЭК или Службу судебных приставов?
Аноним 21/08/22 Вск 17:06:38 #318 №2441981 
>>2441916
Типа ярлыка на рабочем столое штоле?
Аноним 21/08/22 Вск 17:06:56 #319 №2441982 
>>2441978
В рашке нет государственных банков, проснись дед, совок давно развалился.
> Или под гос конторой подразумеваешь паспортный стол, ЖЭК или Службу судебных приставов?
Все подразумевают, кроме шизоидов вроде тебя. И там тоже пишут на Go.
Аноним 21/08/22 Вск 17:08:36 #320 №2441984 
>>2441981
Да, типа того
Аноним 21/08/22 Вск 17:12:28 #321 №2441987 
>>2441907
бля да тоже самое што nameref в баше, только там не имя передается, а адрес переменной
Аноним 21/08/22 Вск 17:14:49 #322 №2441989 
>>2441987
Как понять тему nameref и остаться без ментальных расстройств?
Аноним 21/08/22 Вск 17:15:20 #323 №2441992 
image.png
>>2441982
Пидораха так и не ответила на мой вопрос, продолжая маняврировать.

Что под твои критерии попадает под госконтору?
Аноним 21/08/22 Вск 17:20:39 #324 №2441996 
>>2441992
Федеральные законы, в которых учреждаются госконторы. Предъяви такой закон о сбербанке, и я сольюсь.
Аноним 21/08/22 Вск 17:28:57 #325 №2442009 
>>2441996
>сбербанке
Я тебе выше уже скриншот кинул. Куда уж не госконтора.
Аноним 21/08/22 Вск 17:38:26 #326 №2442024 
>>2442009
Да, ФГУП ГлавНИВЦ УДП РФ - госконтора, кто ж спорит.
Аноним 21/08/22 Вск 17:42:58 #327 №2442031 
>>2442024
Ну вот тебе и ответ. В госконторах используется Go
Аноним 21/08/22 Вск 17:46:47 #328 №2442039 
>>2442031
Да, видит бог, что используется.
Аноним 21/08/22 Вск 18:45:56 #329 №2442112 
Аноны, хочу попасть в озон/дикие ягоды на стижировку и чичас начал ботать литкод. Вопрос таков: насколько сильно вообще нужно шарить за алгоритмические задачки? Типа щас я решаю легкие и средние, в сложных йоба какая-то попадается. Могут ли потенциально дать сложную задачку с литкода на интервью?
Аноним 21/08/22 Вск 18:56:58 #330 №2442134 
>>2442112
Сложная сложной рознь. Некоторые вполне примитивны.
Аноним 21/08/22 Вск 19:03:07 #331 №2442144 
>>2442112
Зайди на курс, там сейчас как раз набор, открой да посмотри чё за задачи. Я оцениваю самую сложную как 5kyu с кодварса, т.е. нихуя.
Аноним 21/08/22 Вск 19:49:50 #332 №2442165 
>>2442144
>Зайди на курс
Какой этот?
https://route256.ozon.ru/go-developer
Аноним 21/08/22 Вск 20:27:45 #333 №2442187 
А как в гохе производится смена контекста между горутинами? Я с пистона пришел, там понятно, ебнул await и все.
Аноним 21/08/22 Вск 20:36:48 #334 №2442197 
>>2442165
Именно.
на всякий случай надо было убедиться, что ты умеешь гуглить
Аноним 21/08/22 Вск 20:38:03 #335 №2442199 
>>2442187
Автоматически без твоего участия.
Аноним 21/08/22 Вск 20:39:02 #336 №2442201 
16605661775030.png
>>2442165
>Высоконагруженный Machine learning
Как же это заебало
Аноним 21/08/22 Вск 20:44:22 #337 №2442205 
2022-08-2120-42-52.png
>>2442201
Либо наебали, либо это старый курс на торрентах, либо имелось в виду "ну эта, после нашего курса в высоконагруженный машоб оторвут с руками, базарю"
Аноним 21/08/22 Вск 21:13:21 #338 №2442222 
>>2442199
Это я понял, но в пистоне например явно говорят не ебош в луп задачи которые не позволят ему переключаться. Там механизм переключения очевиден и поэтому если что, то явно его заюзать можно. Поэтому интересно как это тут происходит.
Аноним 21/08/22 Вск 21:15:43 #339 №2442225 
>>2442222
есть runtime.Gosched, но после 1.14 тебе ебаться с
>не ебош в луп задачи которые не позволят ему переключаться
не нужно, шедулинг уже не кооперативный.
Аноним 21/08/22 Вск 21:22:07 #340 №2442235 
>>2442225
То есть теперь запускать горутину в шедулер это как запускать задачу в треды? ОС Гошный рантайм все разрулит?
Аноним 21/08/22 Вск 21:25:28 #341 №2442242 
>>2442205
анончик, скинь курс плез
Аноним 21/08/22 Вск 21:30:08 #342 №2442248 
>>2442197
Это не я вопрос задавал.

Там написано, что этот курс подойдет для людей, которые разрабатывают на Go от двух лет, либо переходят с другого языка. То есть не для новичков.
Аноним 21/08/22 Вск 21:34:47 #343 №2442257 
>>2442235
ага
Аноним 21/08/22 Вск 21:57:49 #344 №2442279 
2022-08-2121-30-05.png
>>2442242
magnet:?xt=urn:btih:4f91b469f0abdad611c8775505b5693dc8d1f5d2&dn=ozon&tr=http%3a%2f%2fbt2.t-ru.org%2fann%3fmagnet

>>2442248
Базара нет, я не знал, что ты новичок. Но задачи там простые.

>>2442201
Кому верить?
Аноним 21/08/22 Вск 22:01:17 #345 №2442285 
image.png
>>2442279
>новичок
Аноним 22/08/22 Пнд 08:54:38 #346 №2442550 
>>2442248
> Там написано, что этот курс подойдет для людей, которые разрабатывают на Go от двух лет, либо переходят с другого языка.
И кстати нет, там такого не написано.
Там написано "опыт коммерческой разработки" - похуй на чём.
Сомневаюсь, что тому, кто уже два года на гохе пишет - этот курс чем-то способен помочь.
Аноним 22/08/22 Пнд 09:13:53 #347 №2442560 
>>2442550
Тем, кто всерьёз пишет на goвне - вообще мало что может помочь, увы...
Аноним 22/08/22 Пнд 09:22:23 #348 №2442563 
>>2442560
Просрался? А теперь давай обратно легаси разгребать, кабан ждет
Аноним 22/08/22 Пнд 09:38:11 #349 №2442570 
>>2442563
Дегенеративное мышление goвночиста во всей красе:
>у всех легаси а у меня нет (потому что в goвне за все годы не сделали ни одного экосистемного фреймворка и есть только ворох полузаброшенных библиотека, написанных васянами, большая часть толковых из которых поняли в какое говно вляпались и пошли в Rust/Cpp)
>к кабану (ведь на стеке goвна такие охуенные и щедрые РАБОТОДАТЕЛИ как ЯГОДКИ и предефолтовый ОЗОН, вот это Эдем на Земле для разработчика)

Чем быстрее вы поймёте и признаете, что вас поимели маркетологи, тем быстрее перейдёте на нормальные технологии, а не будете страдать.
Аноним 22/08/22 Пнд 09:46:57 #350 №2442575 
>>2442570
>нормальные технологии
Какие?
>экосистемного фреймворка
Это что такое? Какое преимущество фреймворка над библиотекой?
Аноним 22/08/22 Пнд 10:01:03 #351 №2442581 
>>2442570
Я тебя задетектил, ты тот порванный джавист из мвп треда который оценивает стек по компаниям в пидорашке, которые эту технологию используют
Аноним 22/08/22 Пнд 10:40:45 #352 №2442606 
>>2442570
>на нормальные технологии
Лол бля а что по твоему нормальные технологии?
Джаба? Иди пиздуй дрочить jvm а то она уже загибается от 10 RPS
Сисярп? Как на вкус хуй майкрософта? Вас гоев разводят на бабки а вы и рады этому
Nodejs? Ты го с нодой решил сравнить? Совсем ебобо?
Что ещё там было у тебя? Пыха? Он норм, к нему претензий нет
Аноним 22/08/22 Пнд 10:56:07 #353 №2442617 
>>2442606
>Ты го с нодой решил сравнить?
Так-то они прямые конкуренты
Аноним 22/08/22 Пнд 11:31:42 #354 №2442640 
>>2442617
У ноды тащемта единственная киллер фича это то, что один язык на бэке и на фронте, что на бумаге выглядит красиво. Одно время люди ещё с этим не наигрались и поэтому многие соблазнялись.
Но сейчас время уже другое.
Практически во всём остальном нода хуже го.
Всё-таки реальная многопоточность сильно лучше просто неблокирующего io, го намного эффективнее утилизирует ресурсы CPU. В случае с нодой ты конечно можешь позапускать процессов по числу процессоров, но всё равно выйдет говно, потому что какие-то из них будут простаивать, а какие-то наоборот перегружены. Тогда как го под капотом сам балансирует нагрузку между ядрами.
Всё-таки npm говно.
Всё-таки экосистема js ну вообще на любителя.
Всё-таки фронтенд бекенду рознь и любители красить кнопки никогда не смогут дизайнить и программировать сложные системы.
И так далее.
Аноним 22/08/22 Пнд 12:30:26 #355 №2442682 
изображение.png
>>2442570
> как ЯГОДКИ
Ты это, не гони на них
Аноним 22/08/22 Пнд 12:38:12 #356 №2442691 
>>2442640
>У ноды тащемта единственная киллер фича это то, что один язык на бэке и на фронте
Нет, у ноды киллер фича хуяк-хуяк и в продакшн. Если тебе надо что-то написать быстро или создать какой-то прототип, либо поддерживать то что очень часто меняется, то нода это топ решение. Чтобы уменьшить боль придумали тайпскрипт. Собственно на этом все преимущества.

>Всё-таки npm говно.
>Всё-таки экосистема js ну вообще на любителя.
Говно, особенно любители использовать isOdd и isArray в зависимостях должны гореть в аду, в чане с говном

>Всё-таки фронтенд бекенду рознь
Да, никогда один и тот же код и там и там не использовался

Но если надо наклепать бота чтобы он пользователю что-то высрал в телеграмме, то вполне рабочее решение
Аноним 22/08/22 Пнд 12:47:03 #357 №2442698 
>>2442606
>Иди пиздуй дрочить jvm а то она уже загибается от 10 RPS
Каво? Реактивщина есть, виртуальные треды есть. Никто не заставляет тредпул использовать стандартный.
Аноним 22/08/22 Пнд 12:50:20 #358 №2442700 
>>2442691
Анончик я совсем зеленый в этом, так что вопрос без подъеба. А почему не пщ?
Ну вот ты наклепал бота, и с командой
go build -o hueta main.go && ./hueta.out
Вот теперь я запустил свою какаху, чем это медленне чем на ноде?
Аноним 22/08/22 Пнд 12:58:57 #359 №2442711 
>>2442700
Медленнее в скорости разработки, пока ты пишешь структуры и занимаешься подобной хуйней на js ты уже наговнякаешь половину кода.
А по производительности go разумеется быстрее
Аноним 22/08/22 Пнд 13:02:19 #360 №2442712 
Производительность в небольших проектах нужна чуть менее, чем никогда. Можно смело писать на пыхе, питоне или js.
Производительность нужна таким гигантам вроде озона или авиты, которые уже проделали долгий путь от куска говна на пхп до тысяч серверов.
Аноним 22/08/22 Пнд 13:04:22 #361 №2442714 
>>2442581
Нет, тот порванный джавист это я, но я этого не писал.
У меня горит от того, что в яндексе на джаве мало пишут, в то время как я вложил дохуя времени в изучение жабы и инфраструктуры вокруг нее. Кроме как в яндексе я работать нигде не собираюсь, так как не считаю остальные места для работы достойными меня.

мимо вкатун в го и жабу
Аноним 22/08/22 Пнд 14:25:30 #362 №2442788 
>>2442711
Не верь этому долбоебу. И вообще никогда не покупайся на "скорость разработки", этот миф эксплуатируют все, кому не лень.
Такой фактор есть, но он роляет только в случае, если мы сравниваем концептуально разные языки, например, плюсы с их ручным управлением памятью и джаву/го/c#/ноду с автоматическим сборщиком мусора, который реально снимает с программиста часть работы. И то современный c++ с его умными указателями и прочими ништяками вполне себе может быть сравним с той же джавой.
Так вот, скорость разработки методом "хуяк-хуяк" на сходных языках практически одинакова, разница будет в мелочах, вида "func или function", "class или struct" и тд и тп. И то, современные IDE отлично автокомплитят код, а многие решения берутся просто копипастой и не так важно, сколько там кода. Опять же, в любом языке есть фреймворки с той или иной автоматизацией каких-то общих задач, го, нода, джава, один хрен.
Я писал на множестве языков и честно скажу, разница тут субъективная (кто на чём больше писал, тот на том и быстрее пишет) и исключительно в оттенках.
А, ну и в количестве библиотек ещё, иногда хорошие либы бывают только под определенный язык, соответственно, этот язык оказывается быстрее, но в данном конкретном случае.

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

>>2442714
Ты странный.
Во-первых, странно, что ты считаешь достойным только Яндекс, они всегда выезжали исключительно на бренде, а платили разработчикми раза в два меньше, чем прочие крупные конторы. По-моему меньше яндекса только касперский платил. Опционы и rsu кстати не роляют, если ты сядешь и внимательно посчитаешь всё с калькулятором, то увидишь, что даже при сохранении тренда на рост стоимости акций просто x1.5 к твоей текущей зп будет выгоднее, а если ты эти лишние 0.5 будешь вкладывать в ценные бумаги самостоятельно, то сильно выгоднее.
Техническая культура там тоже была очень специфичная, большое дрочево на ьайтики и самописные велосипеды даже там, где это совсем не требуется. Тем более, сейчас из яндекса ушло очень много людей и техническая культура ещё сильнее просядет.
Тут ещё есть такой момент, что сильным разработчиком тебя делает твой опыт и насмотренность, в одной конторе ты очень быстро усохнешь, привыкнешь и выпадешь из трендов. Превратишься в старпера из института, которые до сих пор уверены, что серьезный софт на дельфи это стильно модно молодежно.
И это не говоря про рейты, смена работы это лучший способ поднять рейт и ранг.
Короче, смотри на конкретного работодателя попроще и помни, что он тебе не друг, в его интересах платить тебе как можно меньше и удерживать тебя у себя как можно больше, в идеале ещё и убеждая тебя в том, что ты уже в выигрыше (а без насмотренности и возможности сравнивать ты никогда не поймешь, где тебя обманывают).

Во-вторых, ты сказал ключевую вещь:
> горит от того, что на языке Х мало пишут, в то время как я вложил дохуя времени в изучение языка и инфраструктуры вокруг него
это очень популярный развод, ты долго пишешь на одном языке и тебе жалко выбрасывать весь этот труд на помойку. Так вот, когда ты сменишь 2-3 языка ты поймешь, что они все одинаковые на концептуальном уровне, а всё остальное - это детали и что ты ничего не выбрасываешь. Джава или не джава это уже не важно.
Конечно если языки меняются не кардинально, как если бы ты джаву на плюсы менял как в яндексе делают, лол.
И это же значит, что нет смысла изучать какую-то специфичную ерунду, потому что спустя несколько версий стека оно изменится, а ты может к тому времени и вообще что-то другое делать будешь. Изучать технологии нужно эффективно
Аноним 22/08/22 Пнд 14:42:01 #363 №2442807 
>>2442788
>Не верь этому долбоебу. И вообще никогда не покупайся на "скорость разработки", этот миф эксплуатируют все, кому не лень.
Это не миф, был бот которого я захуярил на ноде в одного за пару дней и то я больше узнавал чего надо сделать. Он срал в телегу, ходил в пару апишек и делал пару запросов и вообще не ясно было будут ли его использовать и нужно было накидать временное решение без особых трудозатрат. Потом когда все заебись и надо его переписать на раст поскольку у нас основной стек и нужно было для поддержки, вот тут я прикурил полдня только структуры сидел описывал и еще всякие грабли были типа json возвращает объект "{id_хуйни": хуяня}, но если пусто то возвращался пустой массив [] ебучие пхпшники, апишка не наша никто не поправит и я потратил какое-то время чтобы понять что за говно и написать метод прокладку для сериализации этого кусочка ведь для структуры нужно четко описать это вектор или хешмап. И ты постоянно натыкаешься на подобные мелочи, которые спокойно проглотит тот же js, вроде хуйня а по чуть-чуть время утекает на все эти мелочи.
И таких примеров у меня дохуя на динамически типизированных языках можно хуярить только в путь и в разы быстрее. Ну раз ты не долбоеб, рэмбо писавший на всех языках то тебе виднее. Лично я выбираю инструменты по задаче и не приколачиваю стенку шкафа на маленькие гвоздики кувалдой
Аноним 22/08/22 Пнд 14:48:02 #364 №2442817 
>>2442807
Это означает только то, что ты хуёво знаешь свои инструменты, в данном случае раст. Без обид.
Вещи типа "смапить json в структуру" решаются тривиально вообще на любом языке, даже с обкладыванием их костылями.
И уж тем более на любом строго типизированном языке есть библиотеки-обертки вокруг json, которые умеют динамически его парсить, обращаться к полям, кастить их к нужным типам и тд. Уверен, в расте такие тоже есть.
Аноним 22/08/22 Пнд 15:03:44 #365 №2442833 
>>2442817
serde_json если все написано красиво и без подъебов, просто пишешь структуру и сверху #[derive(Serialize, Deserialize)] и радуешься жизни, все как ты пишешь тривиально.
А если там как я выше описал есть подъебки и в одном и том же поле могут быть разные типы, ты начинаешь писать различные дополнительные методы чтобы подогнать под нужный тип. Хотя в go проще, пишешь interface{} и радуешься жизни, потом пиздишь на двачах что все делается легко лол))) В js это все не нужно, как и вообще писать структуры, на это все уходит время
Аноним 22/08/22 Пнд 15:15:43 #366 №2442843 
>>2442833
Такое случается, бывает, что где-то нужны дополнительные приседания. Но так как твоя работа не состоит в том, чтобы маппить новые типы json 24/7 я надеюсь, то в итоге в масштабах затраченного времени скажем за месяц это вообще незначимая штука.
Тем более, что пишется такое с закрытыми глазами не отвлекаясь от ютьюбчика или мыслей о более важной задаче.
Тем более, что я уверен, что в расте есть возможность делать это ещё быстрее, чем ты описываешь, какой-нибудь тайп юнион с биндингом для сериализации и тд и тп. Ещё раз, задача супер распространенная и все заинтересованы в том, чтобы были инструменты, позволяющие решать такое с минимальными затратами и соответственно, все языки это умеют +- одинаково, с погрешностью в полчаса.
Аноним 22/08/22 Пнд 16:03:58 #367 №2442866 
гоблин как обычно база.mp4
>>2442788
Аноним 22/08/22 Пнд 17:28:38 #368 №2442914 
>>2442833
>есть подъебки и в одном и том же поле могут быть разные типы
А почему такое происходит. Мне кажется потому что на том конце сидя такие же умники "на динамике писать быстрее, взял ноду за день нахуячил". А если хочешь сделать неговно, то большую часть времени будешь думать над нормальными апи и архитектурой, а закодить их что на го, что на питухоне - дело за малым. Только динамикопарашу еще дебажить придется и юниттестами обкладывать.
Аноним 22/08/22 Пнд 17:45:19 #369 №2442939 
>>2442914
Это кстати любопытный момент. "Рынок" библиотек и особенно публичных апи этот тот ещё "рынок лимонов".
Они могут сделать насколько угодно плохое апи и страдать будут не они, а ты. Им же выгоднее, потому что можно сэкономить на разработчиках.
А ты не всегда властен в том, какой сервис использовать, часто решение принимает бизнес, менеджеры и тп, ориентируясь на цены и прочую бизнесовую херь.
А твоё мнение по поводу качества апи никого не волнует, потому что ты сделаешь, выругаешься в интернете?
Аноним 22/08/22 Пнд 17:59:12 #370 №2442948 
>>2442939
Ну вообще имел ввиду не только rest-api. Если брать по технологиям в целом, то откровенно ублюдский, но широкораспространенный api могу вспомнить только у JS, Windows. Остальное как-то эволюционирует, а говно отмирает потихоньку.
Аноним 22/08/22 Пнд 20:44:39 #371 №2443138 
>>2442682
Есть продолжение этой стори?
Аноним 22/08/22 Пнд 20:56:29 #372 №2443155 
>>2442914
>А почему такое происходит.
Чаще всего накидали какую-то хуйню, она взлетела, заказчики попросили фич, их реализовали поверх говнокода сделатьнормально не хватает сил и бюджетов и так далее, далее и через какое-то время получается кусок говна, который все боятся тронуть чтобы ни у кого ничего не поломать. Не в языке проблема, а в подходе. Ну и с другой стороны если есть заказчики и им предоставляется какая-то хуйня, то ебутся с интеграцией апи уже люди заказчика
Аноним 22/08/22 Пнд 21:00:22 #373 №2443163 
>>2443138
Они уволились всем отделом и нашли рабу в течении пары недель, у вайлдбериз висят вакансии где они готовы брать вкатунов и предлагать золотые горы мидлам, Паша Чабинский выиграл какую-то медаль на велогонках, так и работает на топовой должности. А с грузчиками там вообще как со скотом в сарае общаются, обычно как с быдлом, но там вообще как с коровами на ферме и шмонают на складе заставляя раздеваться до трусов, с пунктами выдачи тоже какая-то такая же хуйня. Короче перспективная развивающаяся контора
Аноним 22/08/22 Пнд 21:03:28 #374 №2443164 
Анон. Я новичок в Go. Хочу наговнокодить один скрипт. Суть такова: у меня есть один сервер, туда периодически скидывают архивы. Мне нужно создать копию такого файда с окончаниям .done. С этим допустим я справлюсь.

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

Но! Бывают и большие архивы. И мне нужно сделать так, чтобы при копировании файла в папку случайно не создался файл .done.

Как с помощью этого чудо языка можно проверить целостность файла? То есть, если файл полностью скопировался, только в том случае создается файл, если нет, то не соответственно не создается.
Аноним 22/08/22 Пнд 21:37:44 #375 №2443190 
>>2443164
название во время загрузки одно, после другое, и желательно мутекс на это поставить чтоб чекер не чекал во время содания и переименования
Аноним 22/08/22 Пнд 22:18:34 #376 №2443219 
>>2443164
>Как с помощью этого чудо языка можно проверить целостность файла
щитаешь чексуму читаеш чексуму сравниваеш чексумы
>И мне нужно сделать так, чтобы при копировании файла в папку случайно не создался файл .done.
как 99% программ делают всё скачивается во временный файл, потом атомарно переименовывается
>в линуксовый планировщик
прям в едро?
Аноним 23/08/22 Втр 09:46:41 #377 №2443440 
photo1656227646.jpeg
>>2441907
любая переменная в гохе может иметь адрес
number := 228
pNumber := &number
print(pnumber) //0x123

func increment(numberOther int) int {
return numberOther + 1
}

func increment2(pNumber int) {
pNumber = *pNumber + 1
}

при таком вызове number не станет 229
increment(number)

надо либо возвращать значение
number = increment(number)

либо посылать указатель
increment2(&number)
или
increment2(pNumber)
Аноним 23/08/22 Втр 10:02:54 #378 №2443456 
>>2443440
блядская разметка харкача, вот гоуграунд
https://go.dev/play/p/mVdepnYjSHi
Аноним 23/08/22 Втр 11:40:39 #379 №2443572 
>>2441907
Прочитать два абзаца на офф сайте или go tour может? Если не даун, то сразу поймешь. Они даже называются "указатель", это не "монады" или "аппликативные функторы", по которым хер догадаешься, что это такое.
Тупо указатель, одна переменная указывает на другую.
Аноним 23/08/22 Втр 15:27:19 #380 №2443745 
Бля анчоусы подскажите плз. Насколько рационально учить два языка? Сам из техподдержки, занимаюсь, разного рода хуйней в основном тянучкам и милфам технику настраиваю в офисе, заебало, собираюсь из этой деятельности съебаться.
Нахуя два языка?
Чтобы расширить очко кругозор и быстрее опыта набраться. Да и к тому же я выбираю одно направление enterprise, а языки по сути инструменты.
Какие языки то?
Java и Golang
Долго объяснять, главное что используются в одной области. А так, первый пушто дефакто стандард, второй как приятное дополнение, если не найду работу на первом языке то точно найду на втором.
У тебя дохуя времени?
Да, дохуя, пофакту в день работаю 3-4 часа в день


Сам в универе писал на C/C++ и Pascal, вроде не даун, 22лвл, в линухе шарю. Сам время от времени ебусь с арчом чтобы жизнь малиной не казалась
Аноним 23/08/22 Втр 16:17:44 #381 №2443792 
>>2443745
Это зависит от твоих целей. Конечно, любые знания по-своему полезны, это всегда вопрос эффективности, то есть соотношения выгоды и затраченных усилий.
Если ты собираешься работать разработчиком, то смысл точно будет, потому что это даст тебе достаточно широкий кругозор. Чем больше кода и разных подходов увидишь, тем больше будешь шарить, больше опыта будет в решении похожих задач и более "архитектурным" станет мышление.
Но!
Это всё скорее для мидл+ уровня.
Потому что зная наши универы, там тебя не научили примерно ничему (реально меньше 1% от знаний, которыми ты должен будешь обладать) и соответственно тебе придется в любом случае много всего узнавать и сильно перестраивать своё мышление, усложнять этот процесс ещё и несколькими языками не стоит.
Вот когда изучишь ту же джаву до уверенного уровня, тогда и будет иметь смысл изучать новое, будет хотя бы с чем сравнивать.
Поэтому я рекомендую тебе сначала пару лет вбросить в один стек если честно, то джаву, банально больше вакансий, легче будет найти нормальную работу, а уже потом что-то решать.
Аноним 23/08/22 Втр 16:24:29 #382 №2443801 
>>2443792
Только это, осторожнее будь с выбором первых мест работы. На джаве значительно больше тупого легаси и тупого энтерпрайза чем на го, хотя бы за счет специфики и возраста самого языка.
Можешь попасть в контору, где 10 индусов не думая хуярят абстрактные фабрики фабрик на спринг буте, в результате быстро ебнешься, а это навсегда.
Первая работа или несколько нужны такие, чтобы было достаточное разнообразие проектов, чтобы попробовать разные технологии, в идеале чтобы некоторые из них были с нуля, чтобы застать и может поучаствовать в архитектурном этапе, но при этом проекты должны быть достаточно большими, чтобы давать опыт поучаствовать в разработке сложных систем и достаточно длительными, чтобы научиться не только разрабатывать, но и поддерживать существующие решения.
Ну и контора должна быть достаточно большая, чтобы давать вот это всё и вообще предоставлять пространство для роста, но при этом достаточно маленькая, чтобы отношение к деньгам, проектам, клиентам и сотрудникам не стало абсолютно похуистичным.
Лично мне очень повезло первые несколько лет отработать в среднего размера аутсорсе (100 человек) для клиентов из US и EU, рекомендую тоже поискать себе что-то подобное.
Добра.
sage[mailto:sage] Аноним 23/08/22 Втр 17:35:55 #383 №2443843 
Просьба не гнать ссаными тряпками.Очередной вкатун в ит
Хочу вкатиться в этот ваш Go. Посоветуйте какие курсы на русском можно пройти? Может есть бесплатные/платные? Спасибо, анончик!
sage[mailto:sage] Аноним 23/08/22 Втр 17:41:03 #384 №2443849 
>>2443843
Нашел в интернете платные курсы от яндекса и скиллбокса. Что лучше? И вообще стоит ли? Как мне кажется платные курсы больше мотивируют заниматься да и лучше по качеству, на то они и платные
Аноним 23/08/22 Втр 19:14:21 #385 №2443940 
>>2443849
Есть же на торрентах отус.
sage[mailto:sage] Аноним 23/08/22 Втр 19:26:51 #386 №2443954 
>>2443849
Чаю. Но на отус'е смотрю курсы для тех кто уже хоть что то понимает в программировании. А я прям полный нуль.
Аноним 23/08/22 Втр 19:45:58 #387 №2443968 
>>2443954
Ну на торрентах я видел только отус и озон (который бесплатный, но с необходимостью пройти контест), они оба для уже что-то понимающих чуваков.
Аноним 23/08/22 Втр 20:59:10 #388 №2444045 
>>2443843
Не уверен, что тебе в целом для вката в айти нужны курсы именно про го, тут не так много специфики, язык сравнительно простой.
Я бы рекомендовал для начала пройти базовые курсы по программированию для вкатунов, это:
1 алгоритмы и структуры данных
2 объектно ориентированное программирование
3 основы веба и бекенд разработки
4 базы данных
и может ещё что-то, это я из головы накидал.

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

>>2443954
Не знаю насчет курсов, а статьи на хабре у отуса полное дерьмо, даже среди прочих корпоративных блогов, поэтому моё мнение о них крайне невысокое.
sage[mailto:sage] Аноним 23/08/22 Втр 21:10:01 #389 №2444054 
>>2444045
This, анон, спасибо. Озвучил мои мысли. Видимо мне действительно нужно начать хотя бы с основ, понять для чего вообще нужно программирование, язык это же просто инструмент. Я так и думаю. Но вот те самые основы где найти? Понимаю что сейчас есть куча всего в интернете, было бы желание. Но может есть какой то курс (даже платный)?
Аноним 23/08/22 Втр 22:05:28 #390 №2444104 
>>2444054
Уф, сложно сказать, я большую часть изучал самостоятельно и советовал бы тебе заранее подготовить себя, что IT в наше время это такая область, где тебя никто ничего не научит, кроме самых азов и что для того, чтобы поднимать свой уровень, тебе придется заниматься самообразованием, в том числе и на работе, и вместо работы, и в свободное время. Ты или фанатеешь от этого или охуееешь от объемов и разрозненности информации. Я вот в IT уже лет 10 и всё ещё не ощущаю, что знаю достаточно.

А вся эта обучающая шняга это ну такое, азы. Что курсы, что конференции (все эти Highload и тп), люди туда ходят больше попонтоваться и заработать денег, через пару лет работы ты внезапно поймешь, что реально 99% контента - оно только для джунов самого низкого уровня.
Примерно как в вове, мы сейчас с тобой обсуждаем гайды на кач 1-5 уровень.

Сейчас решил ради интереса погуглить курсы.
Скиллбокс полное говно, кажется, что они просто спеку по языку просто озвучили и продают, как курс.
Яндекс практикум (который "веб разработчик) не сильно лучше, что "базы данных" это один маленький блок "основ бекенд разработки", когда это прям основа основ. Тем более, там не постгря, а монга. Ага, новичкам. Непонятно, что за хипстеры это создавали.

Более-менее по описанию понравился только Хекслет, у них хотя бы много отдельных курсов и в своих "базовых" курсах вида https://ru.hexlet.io/programs/java они хотя бы отдельно пишут про архитектуру и бд, но конечно непонятно, что там вообще есть внутри.
Попробуй мб пройти у них
https://ru.hexlet.io/courses/introduction_to_programming (хз надо или нет лично тебе)
потом
https://pre.hexlet.io/java/либо https://ru.hexlet.io/programs/java (хз в чем разница, вероятно одно это типа совсем для нубов, а второе нет)
Потом обязательно
https://ru.hexlet.io/programs/algorithms
и https://ru.hexlet.io/courses/rdb-basics либо (а лучше вместе с) https://ru.hexlet.io/programs/sql-for-programmers
И мб нормально будет.

А там уже джуном устроишься куда сможешь и сам поймешь и за время собеседований и уже на месте, где у тебя пробелы, чего не хватает и тп.
Аноним 23/08/22 Втр 22:15:25 #391 №2444114 
>>2444104
Хотя я ещё раз посмотрел, у скиллбокса есть какой-то про курс https://skillbox.ru/course/java-dev/ и в целом тоже и алгоритмы мелькают и что-то про базы они там рассказывают. Чёрт, не знаю даже.
Тут у тебя выбор между несколькими стульями и понять заранее и снаружи где говно, а где не говно очень сложно. Разве что если где-то можно посмотреть прям детально всю структуру их курса, с теорией и заданиями и планами обучения и сравнить с конкурентами.
Можешь кстати поискать сливы на торрентах и просто посравнивать контент, что понравится, то и возьмешь.

>>2443849
> Как мне кажется платные курсы больше мотивируют заниматься
Хз, для меня это никогда не работало, или меня прет и тогда я делаю, или не прет и тогда не делаю.
> лучше по качеству, на то они и платные
Я бы на это сильно не надеялся, платные лучше по рекламе и зарабатыванию денег для владельцев в первую очередь. А условный оперсорс может быть вполне качественнее и проработаннее, потому что сделан людьми, которым нравится своё дело. Если бесплатные опенсорсные курсы вообще есть :)
У платных основное преимущество это возможность писать свои вопросы ментору, который тебе будет что-то отвечать и это может быть чуть легче, чем шариться по форумам и разбираться самостоятельно.
sage[mailto:sage] Аноним 23/08/22 Втр 22:37:29 #392 №2444133 
>>2444104
Гига-спасибо, анон!
Все равно я пока мало что понимаю и в потоке информации вокруг тяжело за что то конкретное зацепиться. Поэтому начну по твоей схеме:
1. Введение в программирование (https://ru.hexlet.io/courses/introduction_to_programming)
2. Подготовительный курс профессии Java-разработчик (https://pre.hexlet.io/java)
3. Алгоритмы и структуры данных (https://ru.hexlet.io/programs/algorithms)
4. Основы реляционных баз данных (https://ru.hexlet.io/courses/rdb-basics)
5. SQL для разработчиков (https://ru.hexlet.io/programs/sql-for-programmers).
Думаю после такого марафона что то да понимать начну. Попробуем, что уж. Замотивировался капец
Аноним 23/08/22 Втр 22:57:47 #393 №2444154 
>>2444133
Салам анончик, ща от себя тоже скину ещё полезных ссылок
Аноним 23/08/22 Втр 23:08:48 #394 №2444168 
image.png
>>2444133
>>2444154

1. Лучший интерактивный курс по SQL, просто альфа и гигакурс
https://stepik.org/course/63054/promo

2. Лучший платный курс по алгоритмам и структурам данных, за 10 баксов ты получишь лучшее что есть в инторнете
https://www.udemy.com/share/104UFs3@t5q_In8OM168-skUj4LgX-LqzBjY78URALoKMXZkNxizEKx-cyuqQRBgluA_Ktnkww==/

3. Качай скиллы тут
https://leetcode.com/
https://www.codewars.com/

4. Лучший платный курс по сетям, так же за 10 баксов урвешь бриллиант и будешь флексить знаниями сетей
https://www.udemy.com/share/102fI43@Kki2S58Qt2QoBsuWPOFTWsxlimHrp7ajsFi0eOQJdK3v2hA3gda5wXbbTxh-4iZs0Q==/

5. Это твоя шпаргалка, мантра и библия по вопросам на собесе по джабе. Распечатай и каждое утро от корки до корки читай, потом
Le maman проси чтобы тебя гоняла по вопросам от туда
https://github.com/enhorse/java-interview#java-core

6. Следующие книги из пикрил купи/спизди_из_торрента и тоже от корки до корки читай


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


ВНИМАНИЕ НАХОЙ! МОЙ СОВЕТ ИМХО БЛЯТБ, НЕ ПРЕТЕНДУЕТ НА ИСТОЧНИК ПОСЛЕДНЕЙ ИНСТАНЦИИ
sage[mailto:sage] Аноним 23/08/22 Втр 23:22:44 #395 №2444171 
>>2444168
>>2444104
Благодарю каждого! Получил тонну нужной инфы и направление движения. С утра начинаю вкат, пора
Аноним 23/08/22 Втр 23:51:36 #396 №2444187 
>>2444168
>Попыхтишь год а потом с легко и просто перекинешься на GOvno
А в чем смысл писать год на жабе, когда можно писать год на го? Правда на жабе мне писать всегда было почему-то легче, видимо из-за того, что большую часть своей жизни программировал на C/С++, шарпе и жабе. Ну и питоне немного.
Аноним 24/08/22 Срд 00:17:03 #397 №2444199 
>>2441916
>>2441987
>>2443440
>>2443572
Всем спасибо, стало понятней.
Аноним 24/08/22 Срд 01:19:31 #398 №2444214 
говнуны, есть вопрос --
здоровый кеш(мапка, ключ стринг, значения массивы интов , наполнение в несколько параллельных потоков, памяти жрет гиг, по рсс 15. И так ебался, чтобы понизить (было ~5\30 до), как рсс чистить ( ну или не зохавывать)?
аллокейт? но там не очень понятны размеры элементов(он 1 до 60к вполне себе). Есть еще идеи?
Аноним 24/08/22 Срд 12:41:29 #399 №2444406 
>>2444187
Я не он, но выскажусь.
Год на жабе, а потом год на го наверное особо смысла нет.
Но джава для новичков мне кажется поперспективнее будет, просто больше вакансий, больше инфы в интернете, всё такое.
Опять же в го нет больших фреймворков и соответственно нужно выстраивать всю архитектуру самому и с нуля, а какая может быть архитектура у новичка? Он охуеет и всё, и ничему не научится.
Так что имхо начинать с джавы будет покомфортнее, года так 2, может 4 на ней посидеть, прокачаться до хорошего уровня, а уже потом решать, какой язык тебе больше нравится и туда перекатываться. Нравится го - в го, нравится функциональщина - в скалу или хаскель, нравятся мужчины - в js и тп.

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

>>2444214
Ты особо ничего не пояснил, кроме того, что у тебя мапа и что оно много памяти жрет. Хоть бы код показал, что ли, что за элементы, сколько их в мапе, с какой скоростью наполняются, экспайрятся они у тебя из мапы или нет.
Из банальных советов, возможно ты постоянно при наполнении мапы превышаешь её капасити и в итоге она постоянно у тебя переаллоцируется, ну там 10=>20=>40=>80=>160 элементов.
Попробуй хотя бы сразу же аллоцировать мапу на 100500 элементов.
Далее, померяй runtime.Memstats, лучше всего несколько раз, чтобы было видно, что там растет. Может получится так, что го видит, что ты чёт в этом коде имеешь привычку дохуя памяти выделять и поэтому на всякий случай не освобождает старую память, предполагая, что она тебе ещё понадобится.
Аноним 24/08/22 Срд 16:27:24 #400 №2444567 
Аноны я на сервер с 16 мб ОЗУ го через snap и начал запускать сервисы. Какова хуя команда go run запускает их по 1-2 минуты?
Аноним 24/08/22 Срд 16:29:43 #401 №2444568 
image.png
>>2444567
А вот так вообще их все минут по 15-20 запускает. Нужно больше ОЗУ или поставить го не через снап?
Аноним 24/08/22 Срд 17:42:15 #402 №2444627 
>>2444567
>>2444568
Похуй уже...
Пофиксил разделением запуска на 3 скрипта и переустановкой го без снапа
Аноним 24/08/22 Срд 18:16:41 #403 №2444657 
>>2444406
> Может получится так, что го видит, что ты чёт в этом коде имеешь привычку дохуя памяти выделять и поэтому на всякий случай не освобождает старую память, предполагая, что она тебе ещё понадобится.

а может ты и прав вот тут, кстати
Аноним 24/08/22 Срд 19:45:13 #404 №2444719 
>>2444567
сконпелируй один раз и запускай сколько хочеш. почему go run?
Аноним 26/08/22 Птн 09:09:50 #405 №2445687 
package main

import "fmt"

func main() {
fmt.Println("hello world")
}

Я уже могу претендовать на 300к? Что дальше?
Аноним 26/08/22 Птн 10:17:15 #406 №2445750 
>>2445687
> Я уже могу претендовать на 300к?
В год разве что.
Напиши какой-нибудь n-body simulator например, что-то низкоуровневое и параллельное типа компрессора какого (архиватора), или всё-таки соберись и наваяй бэк для некоего веб приложения с бд, что-нибудь базовое уровня магазина, доски объявлений или даже ссаного туду-листа. Ваять полное приложение вместе с фронтом не предлагаю, т.к. ты же не на фуллстека претендуешь, а в го наверное не получится быстро-быстро наговнякать с какими-нибудь шаблонизаторами веб-морду, как это можно например в джаве с thymeleaf, поэтому весь фронт можно опустить, если только ты не собираешься прям что-то реальное делать для людей.
Аноним 26/08/22 Птн 10:18:23 #407 №2445752 
>>2445687
И кстати ты мог это без fmt сделать, просто информирую что в гохе ещё и встроенный в язык println есть (но юзать его конечно не надо)
Аноним 26/08/22 Птн 11:56:30 #408 №2445826 
>>2445687
>>2445750
Не слушай этого мудака, какой ещё нахуй n-body simulator, на тебя там все как на идиота посмотрят и спросят, ебанутый ты или да а ты и да, не рассказывать же на собесе, что послушался совета на двачах.
Го это на 99% язык для системных и околосетевых приблуд, докеров, сервисов, веб-сервисов, банкинга, недо-бд и так далее и тому подобное.
Поэтому для начала сделай простенький веб-бэкенд, чтобы получать запросики и сохранять их в бд и обратно. Хотя бы.
Потом попробуй поверх какую-нибудь бизнес-логику накрутить, например написать сервис-сокращатель ссылок, а лучше что-нибудь с фоновой работой, скажем сервис-скриншотер, чтобы ты ему скармливал url, он в фоне делал скриншот через https://github.com/valeriangalliat/webshot-cli к примеру и потом мог тебе его отдавать по апи.
Обязательно предусмотри там развертку базы, накат миграций туда и всё такое, желательно через докер, так и так потом столкнешься с такими задачами.
Добра.
Аноним 26/08/22 Птн 12:21:45 #409 №2445846 
>>2445826
Мудак это твой батя-хуесос, ты до конца хотя бы предложение дочитал прежде чем мне что-то отвечать?
Аноним 26/08/22 Птн 12:25:47 #410 №2445851 
>>2444168
Заебатые курсы, то что надо, тонны нефти тебе
Аноним 26/08/22 Птн 12:36:13 #411 №2445862 
>>2445846
Если твоё предложение на 80% состоит из говна, то я могу спокойно назвать его говном, не вдаваясь в детали.
Аноним 26/08/22 Птн 12:39:34 #412 №2445864 
>>2445752
Не понимаю, почему обычно не пользуются встроенным println. Ради сохранения стиля? Или тут есть подводные?
Аноним 26/08/22 Птн 12:46:58 #413 №2445875 
>>2445862
Ну если моё предложение состоит из говна, то придётся признать, что из него же состоит твоё, потому что 80% моего предложения ты просто продублировал.
Ну а предметно - в чём твоя проблема с даже этой частью предложения, что тебя прям разорвало и все кругом мудаки и смотреть будут как на мудака ага и прочее? Что конкретно не понравилось?
>>2445864
По-моему поддержка встроенного принта не гарантируется, его могут выпилить в будущих версиях, и оставили для возможности что-то ыбстро написать, не затягивая зависимости.
Аноним 26/08/22 Птн 14:56:34 #414 №2446034 
>>2445875
> Напиши какой-нибудь n-body simulator например, что-то низкоуровневое и параллельное типа компрессора какого (архиватора)
Нот это.
Ты первыми же словами советуешь новичку написать что-то за пределами предметной области языка (кто вообще симуляции на го пишет? кому это надо?), а также что-то низкоуровневое (новичку? низкоуровневое? ему бы с концепциями языка попрактиковаться, а не байтики дрочить). Не говоря уже про архиваторы, в которых специфики языка ровно ноль, код +- одинаково везде будет выглядеть.
Аноним 26/08/22 Птн 17:36:00 #415 №2446197 
>>2446034
Специфика языка го новичка сразу отвратит от языка го.
Ща бы на новичковый порносайт нарожать 100500 микросервисов и оркестрировать их в кубере, мммм
Аноним 26/08/22 Птн 17:37:51 #416 №2446200 
Или ты предлагаешь дефолтный монолит за 300 строк написать который будет запрос принимать и в базу складывать? А кто только что говорил
>специфики языка ровно ноль, код +- одинаково везде будет выглядеть
Тут-то специфики ровно столько же, но тебя не смущает.
Аноним 26/08/22 Птн 21:43:15 #417 №2446514 
насколько правдивы слова что без опыта работы на го работу не найти?

если да, то что в разработке на го такого, что требует опыт на других стеках?
Аноним 26/08/22 Птн 22:08:42 #418 №2446530 
>>2446514
>насколько правдивы слова что без опыта работы на го работу не найти?
Абсолютно правдивы
>если да, то что в разработке на го такого, что требует опыт на других стеках?
А хуй его знает, рыночег так решил, легче просто мозг не ебать и с джабы начать, как я это сделал. Но бля, после 3 месяцев писанины на ГО, писанина на джабе это одна большая боль, мне пиздец таки как плохо, ментально и физически, просто выть хочется...
Аноним 26/08/22 Птн 22:17:03 #419 №2446537 
>>2446530
Опыт работы на фрилансе учитыватеся кстати?
Аноним 26/08/22 Птн 22:18:11 #420 №2446538 
>>2446530
>писанина на джабе это одна большая боль
А в чем боль? То, что много магии?
Аноним 26/08/22 Птн 22:35:45 #421 №2446552 
>>2446538
Классы и их виды, чем абстрактный класс отличается от обычного а чем от интерфейса, как они работают, где они доступны, как их наследовать, что в них должно быть, какая область действия полей класса, назови класс от которого все наследуются, нахуя они от него наследуются, какие методы есть у этого класса.
Что такое конструктор, какие виды конструктора бывают, какие модификаторы доступа к ним можно применить, где их использовать, можно ли использовать больше чем один конструктор.
Что такое методы, чем методы отличаются от функций, может ли быть методы у интерфейса, а у абстрактного класса, какие модификаторы доступа к ним можно применить, а можно ли класс внутри метода создать, а что будет если объявить метод static, а что будет если метод объявить final.
Что такое объект, как создавать объект, где хранится объект, как сравнивать объекты, жизненный цикл объекта, можно ли создать объект от интерфейса, а от абстрактного класса, а что будет если поля класса объявить static, а если final.
Расскажи про классы в пакете util, math, lang, object, net, nio, time, security.

И все что я тебе расписал это даже не начало, это даже не джава мать его CORE. Это 1/3 СУКА!

Я за столько слов мог бы по кишкам гохи пройтись, прям до того момента как там GC работает БЛЯТЬ!
Аноним 26/08/22 Птн 22:39:22 #422 №2446557 
>>2446552
> Классы и их виды, чем абстрактный класс отличается от обычного а чем от интерфейса, как они работают, где они доступны, как их наследовать, что в них должно быть, какая область действия полей класса, назови класс от которого все наследуются, нахуя они от него наследуются, какие методы есть у этого класса.
> Что такое конструктор, какие виды конструктора бывают, какие модификаторы доступа к ним можно применить, где их использовать, можно ли использовать больше чем один конструктор.
> Что такое методы, чем методы отличаются от функций, может ли быть методы у интерфейса, а у абстрактного класса, какие модификаторы доступа к ним можно применить, а можно ли класс внутри метода создать, а что будет если объявить метод static, а что будет если метод объявить final.
> Что такое объект, как создавать объект, где хранится объект, как сравнивать объекты, жизненный цикл объекта, можно ли создать объект от интерфейса, а от абстрактного класса, а что будет если поля класса объявить static, а если final.
> Расскажи про классы в пакете util, math, lang, object, net, nio, time, security.
Ну ты сейчас мегапиздатые вещи перечислил.
>И все что я тебе расписал это даже не начало, это даже не джава мать его CORE. Это 1/3 СУКА!
А вот это да, уже не так здорово

мимо вкатывался в жабу, но сдался после кора. Но жаву всё равно люблю
Аноним 26/08/22 Птн 22:44:10 #423 №2446561 
>>2446552
Вот вы понимаете что это уже не язык а ОТДЕЛЬНО НАПРАВЛЕНИЕ, ЭТО НАУКА, КАК СУКА ДЖУН СТОЛЬКО ХУЙНИ ДОЛЖЕН ЗНАТЬ БЛЯЯЯЯТЬ

Вот неужели джависты так любят это болото, чем им гошка не угодила, дженериками? Они ебнулись? Дженерики на эту залупу променяли, пизда у меня очко горит...
Аноним 26/08/22 Птн 22:46:29 #424 №2446563 
>>2446561
Я в рот ебал тот рынок который диктует вместо няшной гохи жирную скуфидонскую джабу...
Аноним 26/08/22 Птн 23:01:37 #425 №2446572 
>>2446563
Жава топ когда тебе нужна жирная библиотека чтобы решать задачи бизнеса не отвлекаясь на велосипеды. Я тут вполне могу понять, когда в го мне предлагают самому манипуляции слайсами повелосипедить (но тем не менее у го есть свои плюсы не c++)
>>2446561
Дык дженерики же теперь есть? Ну а кроме дженериков, всё что анон выше перечислил, типа это хуёво - на самом деле охуенно. Ты так или иначе на большом проекте будешь всё это переизобретать, но в чём удобен го - на нём можно делать маленькие и независимые куски говна, поэтому ему не так сильно нужно всё то, что нужно большому жирному монолиту.
Аноним 26/08/22 Птн 23:08:27 #426 №2446577 
>>2446572
>Жава топ когда тебе нужна жирная библиотека чтобы решать задачи бизнеса не отвлекаясь на велосипеды.

А что умеет джаба чего не умеет гошка? Мне это интересно
Аноним 26/08/22 Птн 23:18:59 #427 №2446580 
>>2446577
Бля, брейнфак - тьюринг-полный язык, и на этом остановимся.
Аноним 27/08/22 Суб 01:34:44 #428 №2446684 
>>2446577
Хот релоад.
мимо
Аноним 27/08/22 Суб 09:33:37 #429 №2446776 
>>2446552
Так это вроде не сильно сложные концепции, любой учебник по джаве в первых главах подробно все рассказывает, и при этом по сравнению с С++ здесь все в разы проще.
Основные минусы жабы имхо это большое потребление памяти, ну и спринг фреймворк довольно жирный, тяжелый и с тонной магии под капотом.

>>2446561
>КАК СУКА ДЖУН СТОЛЬКО ХУЙНИ ДОЛЖЕН ЗНАТЬ БЛЯЯЯЯТЬ
То, что он перечислил, это немного совсем. Туда еще нужно накинуть коллекции, стримы и многопоточку. Многопоточка будет сложнее и объемнее всего остального. И это уже можно будет назвать Java Core.

>>2446563
Java и Go для разных задач были придуманы, так что рынок будет тебе диктовать именно то, что нужно в данной отрасли.

>>2446577
>А что умеет джаба чего не умеет гошка
Ну как минимум в Го все еще нет полноценных дженериков с эксепшонами, но на это в целом похуй.
Также нет стримов и какого-то намека на нормальный синтаксис функциональщины, те же лямбды например, это самое печальное. имхо. Конечно все это циклами заменяется, но появляется больше бойлерплейта имхо.
Аноним 27/08/22 Суб 12:31:14 #430 №2446966 
>>2446684
Рекомпайл при изменениях довольно легко кстати настраивается.
Но особо он в го и не нужен, го и так компилируется примерно мгновенно, обычно цикл всё же такой, что ты несколько минут программируешь, потом нажимаешь Run и сразу же проверяешь результат. Оптимизация тут только в том, что Run нажимать не придется.

>>2446552
При том, что джава действительно концептуально жирнее и волшебнее го, ты своим постом только продемонстрировал свой невысокий уровень, лол. На это всё может любой чел после полугода разработки на возможно любом ООП языке программирования.
> Что такое конструктор и какие виды бывают?
Это вызывает у тебя сложности, серьезно? А покакать у тебя сложностей не вызывает?

>>2446561
Это не сложности, а так, цветочки. Подобного рода вещи можно вообще в любом языке наскрести, включая го. Те же слайсы - то ещё минное поле, особенно если начать корнер кейсы спрашивать.

Вообще очень забавно, как джуны хуеют с просто элементарной хуйни, которую даже учить не надо, она блин интуитивная.
Такое ощущение, что они ожидали, что придут в офис, им сразу по приходу 500наносеков отсыпят и всё, никаких требований не будет. Ну нет ребята, много платят за то, что имеет ценность, например высокую квалификацию.
Единственное, что оправдывает джунов-долбоебов, это то, что в универах их на айти специальностях учат в пейнте рисовать и код на паскале в тетрадке писать. А потом оказывается, что в реальном мире надо что-то знать и уметь, удивительно.

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

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

> с эксепшонами
Спорная штука. Раньше я тоже топил за эксепшоны, но теперь, став старше и умнее, я пришел к выводу, что всё же приятнее всего видеть это дело в сигнатуре функции в виде значений.
Или как зиг делает: https://ziglang.org/documentation/master/#Error-Set-Type
(там вообще крутота, функция возвращает юнион возможных ошибок)
Или вообще в монадическом стиле.
Единственное что в го без нормального вывода типов на уровне языка полностью раскрыть потенциал таких подходов не получится.

> Также нет стримов и какого-то намека на нормальный синтаксис функциональщины, те же лямбды например, это самое печальное. имхо. Конечно все это циклами заменяется, но появляется больше бойлерплейта имхо.
Плюсану. Но вообще сейчас хотя бы дженерик библиотеки можно будет писать для этого дела. В /exp/ вообще добавили slices и maps, до стримов всего ничего осталось.
Тут основная проблема - это сами гошники, многие из них знатные консерваторы и просто лютой ненавистью ненавидят функциональщину. Причем это сродни религии у них =/
Аноним 27/08/22 Суб 12:50:15 #431 №2446997 
>>2446966
> Вообще очень забавно, как джуны хуеют с просто элементарной хуйни, которую даже учить не надо, она блин интуитивная.
> Такое ощущение, что они ожидали, что придут в офис, им сразу по приходу 500наносеков отсыпят и всё, никаких требований не будет. Ну нет ребята, много платят за то, что имеет ценность, например высокую квалификацию.

Ещё мне ну очень любопытно было бы послушать >>2446561 когда он поймет, что ему ещё нужно знать SQL со всеми его приколами от джоинов до оконных функций, индексы, b-tree и вот это всё, ещё архитектура приложений, а ещё и бд опять же, а потом ещё выяснится, что код так просто не попишешь, есть разные стили, а ещё и алгоритмы надо знать, и не стеки-очереди, а даже и посложнее иногда встречается. А потом ещё и окажется, что ОС надо знать, чтобы понимать, что на графиках memstat видишь. А потом ещё и сети, протоколы, http1/2, protobuf, grpc.. Балансировки всяческие ещё. И это только вообще самое начало, на +-джуна.

Это блять оказывается наука, это наше IT, это не тупо на кнопки давить, тут думать надо.
Аноним 27/08/22 Суб 16:01:28 #432 №2447200 
Что в среднем спрашивают на go разраба? вот на питониста начнут по синтаксису гонять, а потом попросят пару алгоритмов накидать или рефакторить какой-то код, в го иначе или то же самое?
Аноним 27/08/22 Суб 16:23:37 #433 №2447233 
изображение.png
>>2446552
>Классы и их виды, чем абстрактный класс отличается от обычного а чем от интерфейса, как они работают, где они доступны, как их наследовать, что в них должно быть, какая область действия полей класса, назови класс от которого все наследуются, нахуя они от него наследуются, какие методы есть у этого класса.
Каждый раз охуеваю с жабьего кода, сука эти наследования напоминают библейские родословные. Ладно хуй с ним эти классы что-то бы делали полезное, большинство тупо нахуй не нужны и еще не просто так создаешь в конструкторе класс, нет нихуя это слишком просто, а ты берешь и вызываешь фабрику фабрик, которая дает фабрику и та фабрика создает экземпляр класса. Сука пиздец какой-то, вот оттуда и появляются долбоебы типа Бугаенко
Аноним 27/08/22 Суб 16:35:29 #434 №2447249 
>>2447233
Хорошо когда проект маленький и это не нужно, плохо когда большой и это нужно.
Аноним 27/08/22 Суб 16:40:35 #435 №2447253 
image.png
Аноны а норм ли в дто добавлять JWT? Выглядит примерно так, можно офк для каждого метода добавить отдельно, но мне лень пиздец чота, это вообще плохо или норм так делать?
Аноним 27/08/22 Суб 19:09:21 #436 №2447397 
Я альтернативно одаренный, если мне проще на хаскеле писать чем на го?
Аноним 27/08/22 Суб 19:49:50 #437 №2447431 
>>2447200
> вот на питониста начнут по синтаксису гонять, а потом попросят пару алгоритмов накидать или рефакторить какой-то код
Значит, херовый собес на питониста будет, ну или на новичка совсем.
Синтаксис это совсем база, нет смысла спрашивать, подразумевается, что её все знают.
На любом собесе на любом языке спрашивают в первую очередь специфику языка, то есть особенности работы языка, его сборки мусора, компиляции (если есть), системы типов и тд и тп.
Отдельно обычно идет разговор об архитектуре приложений и особенностях её реализации на конкретном языке, если такие есть.
Если в языке есть какие-то суперпопулярные пакеты типа спринга в джаве, то можно поговорить про них.
И отдельно тулчейн, то есть, значет ли чел сети, знает ли чел базы данных и тд и тп.

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

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

А вообще вопрос конечно платиновый, каждую неделю тут его задают по-моему.

>>2447253
Нахуя, JWT это свойство авторизации, а не объекта и идет обычно заголовком. А если потом захочешь авторизацию изменить или что-то в этом духе? Короче, читай из заголовка, проверяй в middleware (или вообще на уровне api gateway в кубере и не тащи в код), а основной код об этой хуйне знать не должен. Если основной код должен полагаться на какие-то данные из JWT, то в том же middleware их из этого jwt доставай и клади в context.WithValue, потом в бизнес-коде достанешь и проверишь.

>>2447397
Значит, привык мыслить в функциональной парадигме, ничего страшного. В любом случае дело привычки и решается просто практикой.

>>2447249
Так-то я с тобой согласен, только хочу заметить, что абстрактные фабрики фабрик - это чисто джавовое явление, в других языках так не принято. Поэтому джавовый дизайн кода действительно на любителя.
Аноним 27/08/22 Суб 20:53:50 #438 №2447521 
Мимо ПХП макака. Хочу перекатиться:

1) Как ощущения? Можно? Стоит? Привыкание есть
2) Че по фреймворкам? Че у вас Ларавель?
Аноним 27/08/22 Суб 20:55:59 #439 №2447527 
>>2446538

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

Как думаешь почему интележ беслпатный а голанд платный? Потому что на Джаве ИДЕ это базовые права человека
Аноним 27/08/22 Суб 21:24:15 #440 №2447590 
>>2447521
> 1) Как ощущения? Можно? Стоит? Привыкание есть
Норм, но это совсем не пхп, так что придется привыкать. Лично мне нравится больше мощи (тм) под капотом, и меньше приседаний с процесс менеджерами и прочим. И магии ещё меньше в го.

> 2) Че по фреймворкам? Че у вас Ларавель?
А это самое вкусное, в го нет фрейморков. Ты берешь отдельно маленькие либы типа роутеров, клиентов для базы, логгеров и прочих и сам собираешь из них себе сервис. Получается очень козырно, но для привыкших хуячить одинаковые проекты php'ников "на фреймворках" ужасно непривычно первое время. Ну и джависты со спринга понятно тоже страдают.

>>2447527
Джава супер волшебная, как раз потому, что у вас там постоянно классы подменяются, декораторы декорируются, аннотации добавляют дополнительную гигабайтную функциональность и что ни пакет - то операционная система в миниатюре с 10 разными логгерами одновременно. В го всего этого нет.
Аноним 27/08/22 Суб 21:32:12 #441 №2447606 
>>2447527
> Как думаешь почему интележ беслпатный
Ну давай не забывать, что поддержки спренга в бесплатной версии нет.
Хотя конечно в го ещё хуже - там вообще нет нормальной бесплатной иде. Отчасти компенсируется тем, что в го не нужно столько автокомплита, сколько в жабе, в итоге выходят примерно равные условия.
Аноним 27/08/22 Суб 21:33:06 #442 №2447610 
>>2447590
>В го всего этого нет.
А чё бы на си не писать? Чисто из-за гарбаге коллектора?
Аноним 27/08/22 Суб 21:34:26 #443 №2447614 
>>2447606
>Ну давай не забывать, что поддержки спренга в бесплатной версии нет.
Хочу подметить анончик, что бесплатную версию в основном куашники которые на джабе пишут. Сам сотрудник одной из самых больших галер в РФ, все банки по умолчанию юзают бесплатную идею для автотестов на джабе
Аноним 27/08/22 Суб 22:01:14 #444 №2447627 
>>2447610
Вопрос без троллинга если чё, я так понимаю что основные фичи в сравнении с сями это гц и многопоточность из коробки, куда ж без неё.
В остальном больше сходств, чем различий (да синтаксис - смесь сей и питона, но синтаксис не важен).
Аноним 27/08/22 Суб 22:02:39 #445 №2447628 
image.png
>>2447610

Ты на си хоть раз что-нибудь писал больше калькулятора?

Ебля с хедер файлами.
Хуевая типизация(смотри пикчу, обрати внимания на параметры компилятора).
Полиморфизм через указатели на войд.
Многопоточность делается через pthread'ы и ебучие mutex'ы
Конст работает пиздец неочивидно.
Нет никаких средств удобных типа деструкторов или defer, дебаг освобождения ресурсов.

Столько способов себе ногу прострелить что я ебал.
Аноним 27/08/22 Суб 22:04:10 #446 №2447630 
>>2447627
upd: Про работу со строками в сях чет слышал?)))
Аноним 27/08/22 Суб 22:06:58 #447 №2447631 
>>2447590

Спасибо за совет. Хочу переходить на го так как сейчас чувствую ЕБЛЮ с пыхой. Типа я работаю в финтехе и там сложная платяорма с обработкой платежей, хайлоад-хуеад. Почему изначально на пыхе решили делать - хуй знает.
Аноним 27/08/22 Суб 22:16:37 #448 №2447636 
>>2447628
Не выёбывайся плиз, я всё что ты перечислил знаю, и сверх того, но нахуя мне каждый пук уровня "ебля с хедер файлами" выносить как отдельный тезис, если можно обозначить действительно важное и всеобъемлющее?
В го тоже хватает странного (именно нового странного), я об iota помню сходу голову сломал.
Аноним 27/08/22 Суб 22:17:35 #449 №2447637 
>>2447631
Пчел ты ещё не видел хуйлоад микрофинансы на 1с.
а я не могу развидеть
Аноним 27/08/22 Суб 22:24:45 #450 №2447640 
>>2447636

Ну важное и всеобъемлющее это то что Си это старый язык где очень трудойомкая конфигурация, мейкфайлы это лютая залупа, работа с зависимостями совсем не pip install

Работа с юникодом в го из коробки. Работа с датами из коробки.
Аноним 27/08/22 Суб 22:30:58 #451 №2447646 
>>2447640
>трудойомкая конфигурация, мейкфайлы
>Работа с юникодом. Работа с датами
Ну я просто вот это не считаю настолько важным, чтоб под это новый язык пилить.
А вот удобная многопоточка и гц - это да.
Аноним 27/08/22 Суб 22:34:23 #452 №2447649 
>>2447610
В го баланс смещен в сторону простоты и системы типов, и экосистемы. Иногда с моей точки зрения с этим перебарщивают, но в целом направление вполне понятное.

Вот тебе схема, точку, которая тебе нравится, можешь выбрать сам:
"Просто, но всё нужно делать руками" <--> Go <--> Java <--> "Всё автоматизировано, но нихуя непонятно, потому что пиздец как сложно из-за кучи абстракций"

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

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

>>2447631
Ебля есть везде, серебряной пули не бывает. Но после php го кажется глотком свежего воздуха прям, это подкупает.
Конечно, вашего хуектора-архитектора за саму идею писать процессинг платежей на php стоило бы прилюдно высмеять и провести голышом по столице. Явно знатный долбоеб.
Пыха как язык-то норм, но для веб-сайтов в первую очередь. Кто ж на нём будет платежи писать, язык на это и не заточен совсем =/
Аноним 27/08/22 Суб 22:43:07 #453 №2447658 
>>2447649
>джавовые цепочки наследований от абстрактных классов
Это антипаттерн в джаве если что
Аноним 27/08/22 Суб 23:50:56 #454 №2447730 
>>2447649

На самом деле вполне неплохо выходит. Во-первых там есть интеграции, во-вторых в принципе пыха подходит для всего что работает на сервере без проблем. Просто экосистему надо знать. У нас легази-хуйня тянулась с 2009ого, тогда была пыха выбрана по причине наличия людей.

Дальше в 2020ом была поставленна цель ВСЕ ПЕРЕПИСАТЬ и решили мову оставить, так как команда есть)
Аноним 27/08/22 Суб 23:51:10 #455 №2447731 
>>2447649

На самом деле вполне неплохо выходит. Во-первых там есть интеграции, во-вторых в принципе пыха подходит для всего что работает на сервере без проблем. Просто экосистему надо знать. У нас легази-хуйня тянулась с 2009ого, тогда была пыха выбрана по причине наличия людей.

Дальше в 2020ом была поставленна цель ВСЕ ПЕРЕПИСАТЬ и решили мову оставить, так как команда есть)
Аноним 28/08/22 Вск 14:24:24 #456 №2448075 
>>2447730
Да конечно на чем угодно можно написать что угодно и если нормально программировать, то оно даже будет нормально работать.
Но у меня, так получилось, есть обширный опыт программирования и на php и на go. На втором если честно мне приятнее делать почти всё. Особенно обработка данных, работа с очередями, потоки.
Всё-таки очень чувствуется, что пыха как была, так и есть заточена на то, чтобы принять запрос, отдать веб страницу, а всё остальное для неё не очень родное.
Аноним 28/08/22 Вск 15:45:52 #457 №2448152 
>>2446034
>за пределами предметной области языка
Какова предметная область языка го?
И на каком языке следует писать симуляцию?
Аноним 29/08/22 Пнд 10:55:33 #458 №2449053 
>>2409760 (OP)
Перекатываюсь из 1с бекенда, мои шансы и на что больше всего обратить внимание? Опыт где-то год, зп 100к инбифо нахуя сидел бы дальше.
Аноним 29/08/22 Пнд 11:52:51 #459 №2449078 
>>2448152
> Какова предметная область языка го?
Веб, сетевые сервисы, инфраструктура, утилиты. Всё остальное писать можно, но будет в разы больнее.

> И на каком языке следует писать симуляцию?
А на каких языках пишут физические движки? C++ наверное. Может ещё Js, если ты извращенец и хочешь запускать всё в браузере.

>>2449053
Шансов около нуля, скорее всего ты не знаешь вообще нихуя. Претензия если что не к тебе лично, а к 1с.
А вообще, то как обычно для новчика. Из инфраструктуры, знать сети хотя бы на уровне что такое http, заголовоки и разница между get/post/put, уметь в postgres/mysql хотя бы на уровне создать таблицу и сделать CRUDы в неё.
Для го знать на каком-то уровне ответы на платиновые вопросы >>2447431 и уметь писать хотя бы простенькие API. Пройди go tour хотя бы.
Дальше начнешь ходить по собесам и делать тестовые, знатно поешь говна, но с каждым разом будешь ликвидировать пробелы в знаниях и рано или поздно всё получится.
Хотя я бы на твоём месте привирал и говорил, что работал не на 1C, а на php wordpress каком-нибудь.

это всё не только к го относится, если что, универсальный ответ про любой язык, на который захочешь перекатиться
Аноним 29/08/22 Пнд 12:13:13 #460 №2449085 
>>2449078
>скорее всего ты не знаешь вообще нихуя. Претензия если что не к тебе лично, а к 1с
Это ожидаемо, я близко к сердцу не приму, в курсе этих предрассудков.
>Из инфраструктуры, знать сети хотя бы на уровне что такое http, заголовоки и разница между get/post/put, уметь в postgres/mysql хотя бы на уровне создать таблицу и сделать CRUDы в неё.
Чёто довольно просто, понял-принял, спасибо за воодушевление, щас наваяю некий простой сервер с рест апи. В ормы лезть стоит или их в го никто не юзает? В голом sql нормально себя чувствую, если что ("скорее всего ты не знаешь вообще нихуя" - было бы неясно как бы мы без этого апи писали для вебсайта и моб приложений, я ж говорю бекенд)
>Хотя я бы на твоём месте привирал и говорил
Эйчарке соврать и написать должность просто "программист" (как собсна у меня и написано) это святое дело, техническому интервьюеру врать смысла не вижу, во первых про пыху могут и спросить, а во-вторых если там какой-то фанатик с предрассудками против 1с (что маловероятно), то нам один хуй комфортно вместе работать не будет (мало ли какие ещё помимо этого загоны у чела могут быть).
Аноним 29/08/22 Пнд 12:53:36 #461 №2449107 
>>2449085
> В ормы лезть стоит или их в го никто не юзает?
Просто описывай интерфейс type Users interface {}, а в реализации пихай или голые запросы, или собирай их через squirrel какой-нибудь.
Орм"ки в целом есть, но их почти не используют, потому что до недавнего времени без дженериков и аннотации они были очень уж волшебными либо кодогенеративными. Самая популярная это Gorm, она эже и самая херовая.
> было бы неясно как бы мы без этого апи писали для вебсайта и моб приложений, я ж говорю бекенд
Хз, если у тебя там битрикс, то есть CRM, скорее всего это комбайн, который много что пусть и плохо, но делает за тебя. К примеру, если тебя на собесе спросят про накат миграций ты скорее всего даже не поймешь о чём речь.
> техническому интервьюеру врать смысла не вижу
Готовь в любом случае легитимный ответ на вопрос, почему захотел перекатиться.
Аноним 29/08/22 Пнд 13:35:16 #462 №2449149 
>>2449107
>Хз, если у тебя там битрикс, то есть CRM, скорее всего это комбайн
Не, мы как раз ебёмся по хардкору, всё делаем руками - ловим запросы, анмаршаллим, смотрим что там за операция и переключаем на нужную ветку логики, комбайн у нас на совсем другой стороне - на стороне работы внутренних сотрудников, вот у них есть коробочный интерфейс для взаимодействия с системой, а у нас голый хттп и апи в свагере.
В целом я нахожу это похожим на гоху, но хуже - динамикодрисня, нет интерфейсов, не особо гибкая инкапсуляция (хотя стоп - в го примерно то же самое). В целом бэк на таком довольно неприятно писать - везде бесконечно проверяешь типы. И кстати с другой стороны сидят пыхеры, которые тоже в похожей ситуации, и когда мы после одного фейла на проде, связанного с типами, мы предложили им валидировать типы руками, они сильно заскрипели зубами, осознавая с одной стороны, сколько бойлерплейта сейчас придётся ливануть в кодобазу, а с другой - что без этого всё же никак.
>К примеру, если тебя на собесе спросят про накат миграций ты скорее всего даже не поймешь о чём речь.
Это когда меняется структура таблиц, и данные надо перезалить в новый формат. Обычно долго. В 1с другой термин, но суть одна.
>Готовь в любом случае легитимный ответ на вопрос, почему захотел перекатиться.
Выше ответил. Могу добавить - так уж получилось, что даже в рамках 1с я менял места в сторону работы с большими и большими объёмами данных. Наконец упёрся в потолок - более нагруженной системы, чем у нас - больше нигде нет в 1с. Вывод напрашивается сам собой. Я слышал - го это про хайлоад? Значит нам туда.
Аноним 29/08/22 Пнд 21:20:33 #463 №2449627 
Аноны, тут есть физтехи компьютер-сатанисты. Такой вопрос.
Как написать максимально оптимизированную по времени очередь фиксированного размера. Что требуется - добавлять в очередь новое значения одновременно выкидывая старое. Random Access не нужен, буду итерироваться по всем элементам при добавлении нового.
Какие СД приходят на ум.
1) Связный список. Тут все плюс минус понятно. Но! Нагружаем GC. И наверное

2) Эррэй по размеру данных. С точки зрения теории алгоритмов - полное говно. Получается нужно при каждом добавлении копировать значения в новый эррей со здвигом и дописывать. НО! Процессоро-делы то тоже не палкой сделанные и охуенно оптимизировали операции копирования массивов (ну, насколько я слышал). Возможно такой вариант будет быстрее. Да и итерироваться по массиву думаю быстрее в машинных кодах, чем по указателям связного списка бегать туда сюда по памяти.

На память мне относительно пох. Данных не так много и спокойно можно позволить себе их хоть задвоить, хоть затроить. Главное - скорость выполнения операций.
Аноним 29/08/22 Пнд 21:27:29 #464 №2449634 
>>2449627
Двойной связный список. Хранишь указатели на начало и конец.
При добавлении...
хотя стоп, я не пойму чего ты, блядь, хочешь:
Аt first I was like
>максимально оптимизированную по времени
But then
>Random Access не нужен, буду итерироваться по всем элементам при добавлении нового.
Ты уточни как часто будешь добавлять, как часто читать всю очередь, и какие элементы хочешь получать чаще других.
Аноним 29/08/22 Пнд 21:41:37 #465 №2449649 
Untitled.jpg
>>2449627
>Получается нужно при каждом добавлении копировать значения в новый эррей со здвигом и дописывать
А зачем? Сделал массив по числу элементов, сохранил указатель на начало очереди, при добавлении нового элемента заменяешь элемент под указателем и сдвигаешь указатель на следующий (на самом деле указатели не нужны, нужен индекс в массиве)
Аноним 29/08/22 Пнд 21:42:17 #466 №2449651 
>>2449634
Читать всю очередь подряд при добавлении нового элемента.
нужно пересчитать мат формулу
Довольно таки часто, предположим что интервал добавления -> 0.

Что значит двойной? Двусвязный? Зачем, если можно просто хранить поинтеры на начало и конец.
При добавлении Last = Last.Next, First.Next = NewOne.

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

В прочем уже пишу бенч.
Аноним 29/08/22 Пнд 21:44:34 #467 №2449654 
>>2449649
Гениально. Тебя то я и ждал. Спасибо, анончик. Желаю иксовый рейз.
Аноним 29/08/22 Пнд 21:46:07 #468 №2449656 
>>2449654
Ты не поверишь, но я и тот анон - >>2449634
это один и тот же человек.
Да в общем-то особо не за что, свежий взгляд он часто так работает.
Аноним 29/08/22 Пнд 22:07:37 #469 №2449673 
Аноны, у кого на 1.19 версии го просил cgo, если есть зависимость net/http?

https://github.com/golang/go/issues/50183

Я вот про это.
Аноним 29/08/22 Пнд 22:12:10 #470 №2449676 
image.png
Чому так?
Аноним 29/08/22 Пнд 22:12:30 #471 №2449677 
GCC/G++ не установлены на системе.
Аноним 29/08/22 Пнд 22:18:54 #472 №2449684 
>>2449677
А своей головой говно работать не может? Обязательно на сишке паразитировать?
Аноним 29/08/22 Пнд 22:21:41 #473 №2449693 
>>2449684
В том-то и дело, что должно все без зависимостей cgo/gcc/g++ работать. Но видимо где-то кто-то обосрался...
Аноним 29/08/22 Пнд 22:49:50 #474 №2449719 
>>2449676
или поставь то, что каждый разработчик должен иметь, либо CGO_ENABLED=0 сделай
Аноним 29/08/22 Пнд 22:54:54 #475 №2449726 
>>2449627
назови одну причину почему тебе не подходит циклический буфер на слайсе
Аноним 29/08/22 Пнд 23:39:14 #476 №2449764 
>>2449726
Насколько я понял анон>>2449649 это и посоветовал. Или это что-то другое принципиально?

типо arr = append(arr[:1], arr[1:])? Если так, мне кажется просто хранить индекс первого элемента будет эффективней. Хотя и немного сложнее в использовании.
Аноним 30/08/22 Втр 10:17:02 #477 №2449946 
>>2449764
>Насколько я понял анон>>2449649 это и посоветовал
ага
Аноним 30/08/22 Втр 10:40:52 #478 №2449963 
Кстати, что тут происходит под капотом?
>arr = append(arr[:1], arr[1:])
Кажется, что должен выделяться (cap х2) подкапотный массив, в который дописывается первый элемент. Все правильно?
Безотносительно задачи, просто разобраться
Аноним 30/08/22 Втр 11:33:00 #479 №2449989 
>>2449963
Двачую вопрос
Аноним 30/08/22 Втр 11:37:57 #480 №2449994 
И еще вопрос знатокам. Залез в сорцы, в функции io.ReadAll есть такая операция:
b = append(b, 0)[:len(b)]
Это что за синтаксис такой? Что происходит. Вроде с Го ковыряюсь уже года полтора, нигде не видел.
Аноним 30/08/22 Втр 11:39:36 #481 №2449997 
>>2449994
Точнее ладно, синтаксис понятен +-, но бля, какой смысл
Аноним 30/08/22 Втр 11:43:15 #482 №2450000 
>>2449997
Лол, я дурачек, прям перед этой строчкой комментарий:
>// Add more capacity (let append pick how much).

Но блин, какой-то реально dirty hack, как будто Сишник писал
Аноним 30/08/22 Втр 11:55:19 #483 №2450006 
>>2449963
ну это просто не сконпелируется, т.к. второй аргумент это не элемент слайса, а слайс. и вообще хз что под этим имеется в виду.
arr = append(arr[:1], arr[1]) обрезает слайс до первых двух элементов
arr = append(arr[:1], arr[1:]...) ничего не делает. ну мб одну и ту же область памяти в ту же область копирует.
arr = append(arr[1:], arr[0]) допишет первый элемент в конец и сдвинет указатель на первый элемент. если капасити не хватит, то аллоцируется новый массив. капасити нового массива это деталь имплементации и спеком не регламентируется. это не всегда х2, там помимо длины изначального массива еще паддинг с учетом размера элемента может учитываться, лучше сорц прочитать
Аноним 30/08/22 Втр 13:09:03 #484 №2450060 
>>2450006
Это я тупан, точки подразумевались, но я аргументы перепутал, конечно, должно быть так:
arr = append(arr[1:], arr[:1]...)

Ну в общем то понятно, если делать очередь таким образом, то бекинг эррей будет постоянно расти что не круто.
Аноним 30/08/22 Втр 16:46:23 #485 №2450275 
>>2449994
А я не понял. Или тут используется старый len(b), до аппенда?
Аноним 30/08/22 Втр 17:57:00 #486 №2450329 
>>2450275
Может и после апенда, но точно до присвоения
Аноним 31/08/22 Срд 19:23:28 #487 №2451150 
>>2450000
Так скорее всего сишник и писал. Пол-стдлиб написано людьми с си головного мозга, там в коде черт ногу сломит. Я как-то exp/language дебажил, чуть не умер.
Хотя в этом случае их можно немного оправдать, в го нет методов для увеличения размера уже созданного слайса, то есть либо так, либо
c := make([]int, len(b)*2)
copy(c, b)
но второй вариант был бы неоптимален из-за расходов на лишнее перевыделение + копирование.

Так и остается тема с тем, чтобы добавить элемент, а потом взять всё до него. Разве что стоило бы это в 2 строки написать, чтобы люди с ума не сходили.

Вообще тут гошники конечно сами себе в ногу выстрелили. Что им мешало добавить слайсу метод extend к примеру - непонятно хотя понятно, конечно, это ж гошники, они простых путей не ищут
Аноним 31/08/22 Срд 19:32:02 #488 №2451161 
>>2451150
>но второй вариант был бы неоптимален из-за расходов на лишнее перевыделение + копирование
Так в том то и прикол, что когда мы делаем append к заполненному capacity, все равно создается новый массив и в него копируются данные.
То есть по сути, разраб не хотел хардкодить len(b)*2, а в место этого решил воспользоваться внутренней логикой расчета дополнительного капасити при экстенде слайса.

Короче блять да, легких путей не ищут и над читабельностью не парятся
Аноним 31/08/22 Срд 19:46:37 #489 №2451205 
>>2451161
Я кстати не уверен, отличается ли copy(c, b) от копирования при увеличении длины массива под капотом у слайса. Думаю, там под капотом могут быть оптимизации. А могут и не быть.
Аноним 31/08/22 Срд 20:35:47 #490 №2451279 
Аноны, как сейчас обстоят дела с рынком джунов гошников? Хочу вкатиться в бэкенд на го. Тяжело ли будет найти первую работу, если на других языках/технологиях не было коммерческого опыта работы?
Аноним 31/08/22 Срд 20:37:29 #491 №2451281 
>>2451279
В Go нет джунов.
Аноним 31/08/22 Срд 23:16:38 #492 №2451446 
>>2451279
Этот вопрос повторяется каждые 10 сообщений. Как же вы заебали, ну научитесь хоть немного мотать тред перед тем, как писать свой сраный комменатрий.

Надеюсь, ОП напишет ответ на него капсом в своём следующем посте.
Аноним 01/09/22 Чтв 16:01:29 #493 №2451968 
>>2451281
и хуле делать? Через ПХП вкатываться?
Аноним 01/09/22 Чтв 23:11:43 #494 №2452364 
>>2451968
Через шарп, но потом в Go не захочется.
Аноним 01/09/22 Чтв 23:38:52 #495 №2452373 
>>2452364
Бля, насколько же тебе нравится шарп, что ты наверное во всех тредах сидишь, кроме шарпотреда.
Аноним 02/09/22 Птн 00:55:44 #496 №2452400 
>>2452373
А зачем там сидеть? Одни шизики, сектанты и любители мёртвого десктопа.
sage[mailto:sage] Аноним 02/09/22 Птн 15:09:22 #497 №2452720 
>>2452400
> и любители мёртвого десктопа.

Зомби из параллельного мира вещает? Десктоп живее всех живых. А миллиарды леммингов ошибаться таки МОГУТ. Что и делают, пожирая WEB-кал в промышленных масштабах.
Аноним 02/09/22 Птн 15:34:27 #498 №2452738 
>>2452720
> живее всех живых
Примеры?
Аноним 02/09/22 Птн 16:23:50 #499 №2452774 
image.png
> на го нету джунов
почему мир так жесток
Аноним 02/09/22 Птн 17:51:03 #500 №2452847 
>>2452774
Бля как же я тебя понимаю анончик, сам думал что этот мир наебу. Начал с го, это бля лучший язык на котором мне пришлось писать, очень приятный и логичный, но работу так и не нашел. Сейчас сижу учу джабу и как же меня она достала, это реально трижды переваренный кал говна, у меня все.
Аноним 02/09/22 Птн 19:55:44 #501 №2452998 
>>2452847
С таким гонором точно не наебёшь.
Аноним 02/09/22 Птн 21:16:24 #502 №2453057 
>>2452774
Тащемта, всё правильно. Хороших мест с хорошей зп всегда будет меньше, чем плохих и туда всегда будет трудно попасть. Хочешь преуспеть - страдай и въёбывай. Или иди к остальным неудачникам типа >>2452847 работать курьером.
Так и должно быть, если вы ищете халявы, то тут её нет.
мимо-сеньор, который долгие годы въебывал ради своей 6значной долларовой зп.
Аноним 02/09/22 Птн 22:24:49 #503 №2453099 
>>2453057
Ты зарабатываешь меньше 100к $ в месяц
Аноним 03/09/22 Суб 05:46:28 #504 №2453236 
>>2453057
Работа на го это халява, или в чем твой тейк?
Аноним 03/09/22 Суб 18:54:43 #505 №2453959 
>>2451279
Пытайся попасть на стажировку в озон ну или вайлдбериз. Если никуда не возьмут, значит ты проиграл и нужно начинать учить пыху.
Аноним 03/09/22 Суб 22:43:14 #506 №2454231 
какой проект можно создать, успешное выполнение которого сигнализирует о готовности человека к настоящей работе на удаленке в офисе?
Аноним 03/09/22 Суб 22:44:26 #507 №2454233 
>>2453057
>Хороших мест с хорошей зп всегда будет меньше, чем плохих и туда всегда будет трудно попасть.
А можно попасть не на хорошее место, а хоть КУДА ТО??
Аноним 03/09/22 Суб 22:45:38 #508 №2454235 
>>2454233
> хоть КУДА ТО??
Согласен в ДС получать 35к рублей до вычета налогов?
Аноним 04/09/22 Вск 10:39:44 #509 №2454592 
>>2454233
С такой позицией никогда выше дворника не заберешься, а так - пожалуйста, миллион стремных рабочих мест, куда зайти с улицы скорее всего не очень сложно. Только язык ты тогда неправильно выбрал, на го как правило пишут в средне-крупных компаниях и стартапах. И те, и другие обычно имеют деньги и/или мотивацию что-то делать и нанимать профицитных сотрудников.
Хотя конечно озон здесь скорее исключение, из того, что я про него знаю, технологически это редкостная помойка с огромной текучкой.
Если хочешь тупую работу за копейки с низком порогом входа, посмотри лучше в сторону php, какие-нибудь местячковые аутсорсы или веб-студии на cms, вордпресс, битрикс, вот это всё. Больше средней зарплаты по региону ты на такой работен не получишь, но вкатишься довольно быстро.
Аноним 04/09/22 Вск 11:15:48 #510 №2454609 
>>2454592
>>2453057
Сам шизу в голове своей придумал, сам на нее же отвечает
Аноним 04/09/22 Вск 16:38:31 #511 №2454931 
>>2454235
>>2454233
вб/озон как сказали сам так вкатился. потом через годик уходишь в другое место с плюсом к зп.
Аноним 04/09/22 Вск 17:16:45 #512 №2454973 
Объясните что человек должен уметь чтобы быть работоспособным на позиции go разраба(по части программирования)?
Аноним 04/09/22 Вск 21:08:42 #513 №2455268 
>>2454690 →
>>2454931
А ты в Озоне или в ВБ работал?
Какие были требования при приёме и какая зп в итоге?
Какой был опыт до этого?
Аноним 04/09/22 Вск 22:33:00 #514 №2455358 
>>2455261 →
Ну ты шаришь за степень унижения гей-шлюх, наверное тебе можно в этом вопросе довериться.
Аноним 04/09/22 Вск 23:11:58 #515 №2455408 
>>2455358
А ты во франчайзи работаешь, или просто в конторе?
Аноним 05/09/22 Пнд 00:27:54 #516 №2455452 
>>2455408
Чел можешь мне не докладывать подробности своей сексуальной жизни окей?
Аноним 05/09/22 Пнд 02:32:37 #517 №2455475 
>>2454973
Та по сути тоже что и любой другой джун-бекендер - говнякать CRUDы в том стиле как принято в проекте, не сильно заниматься самодеятельностью, не делать совсем хуйни
Сори что так абстрактно
Аноним 05/09/22 Пнд 11:15:20 #518 №2455679 
>>2455268
в вб. требования хз. вопросы типичные уровня куда having в запросе писать, чем udp от tcp отличается и из чего состоит хттп запрос. но сейчас могут и побольше дрочить. получил те самые 35к. через 2 года 250. опыта работы не было, только техническая вышка не по программированию.
Аноним 05/09/22 Пнд 20:23:01 #519 №2456183 
>>2454142 →
Хуй его знает, как мы вообще начали обсуждать 1с в этом треде, но тем не менее.
> В 1С больше и работы, и зарплаты
Лютый пиздеж, у 1с никогда не было и не будет зарплат, сопостовимых с зарплатами нормальных разрабов на нормальных ЯП, по вполне очевидным причинам.
Достаточно посмотреть на любую статистику, увидеть среднюю зарплату 1с-шлюхи в 100к и понять, что там нет не то, что чести, знаний или самореализации, но даже и банально денег.
меньше 200к не человек
менее 300к не программист
менее 400к не сеньор

нет бога кроме зп джавистов и котлинистов, пророков её
ну или мб го, хз, вроде примерно такие же
Аноним 05/09/22 Пнд 21:09:21 #520 №2456221 
>>2456183
Сам-то скок зарабатываешь?
Аноним 05/09/22 Пнд 22:59:29 #521 №2456323 
>>2456221
400+, очевидно пруфов не будет, контора российская, околофинтеховый околостартап
Аноним 06/09/22 Втр 08:29:45 #522 №2456508 
>>2456323
>пруфов не будет
Удивительно
Аноним 06/09/22 Втр 15:45:37 #523 №2456906 
>>2449078
>утилиты
А что относится к утилитам, если архиватор к ним не относится?
Аноним 06/09/22 Втр 16:31:21 #524 №2456937 
>>2456508
Чел, перестань себя успокаивать, это не сговор. Я работаю рекрутером, это не какая-то сверх зарплата. Ребята с парой лет опыта устраиваются на 200-250 т.р. спокойно.

Я понимаю, что ты не можешь спокойно жить с этой информацией, так что тут либо поднимать жопу с дивана и выкидывать свой 1С, либо решить для себя, что деньги это не главное
Аноним 06/09/22 Втр 16:42:58 #525 №2456947 
>>2456937
>перестань себя успокаивать
>Я понимаю, что ты не можешь спокойно жить с этой информацией
Перестань себя успокаивать фантазиями о том, будто твои собеседники неспокойны)
Я просто попросил пруфов, ты (он или ты или любой человек, который впрягается за зарплаты в 400к в рф) его не дал. Это меня не бесит, просто немного разочаровывает. Немного, потому что я особо ни на что не надеялся. Пруфы счетов в армении с большими зп - да, были, и не раз. В рашке пока ждём.
Аноним 06/09/22 Втр 17:03:10 #526 №2456981 
>>2456947
https://hh.ru/search/vacancy?no_magic=true&L_save_area=true&text=golang&area=1&salary=&currency_code=RUR&only_with_salary=true&experience=doesNotMatter&order_by=relevance&search_period=0&items_on_page=50
Аноним 06/09/22 Втр 17:09:37 #527 №2456988 
>>2456981
Зашибись
https://hh.ru/search/vacancy?area=1&search_field=name&search_field=company_name&search_field=description&salary=400000&only_with_salary=true&text=1%D1%81
Аноним 06/09/22 Втр 18:08:40 #528 №2457051 
>>2456988
А ничего, что у тебя там "поиск клиентов", "менеджер по оптовой продаже" и т.п.?
Аноним 06/09/22 Втр 18:35:21 #529 №2457086 
>>2456988

Двачую анона >>2457051
Ищи по названию резюме
Аноним 06/09/22 Втр 19:49:29 #530 №2457144 
>>2457051
>нажми кнопки за меня
Да не вопрос, не вопрос: по названию резюме и фильтру от 400к в 1с четыре вакансии, а в го - пять. Охуенная разница? Охуенно ясности внесло? Давай, твоя очередь.
Аноним 06/09/22 Втр 19:50:15 #531 №2457145 
>>2457144
> по названию резюме
По названию вакансии, повторил чужую оговорку.
Аноним 06/09/22 Втр 19:52:42 #532 №2457149 
А не, видать что-то лишнее было выбрано, так-то там 25 вакансий или около того. Тогда вопрос снят.
Аноним 06/09/22 Втр 19:56:21 #533 №2457152 
>>2445826
Приходит чел на собес.
На вопросы отвечает нормально.
- Давайте посмотрим на ваши рпоекты
- Вот ссылка - https://github.com/mikee385/GolangRayTracer
- Шо нах какой рэйтрейсер иди отсюда нахуй блядь
- Ишь чё удумал на гохе что-то помимо крудов писать
Аноним 06/09/22 Втр 23:44:36 #534 №2457315 
>>2457152
Ты подменяешь понятия. Я написал, что если чел не собирается на работе писать трассировщики лучей, то тогда ему лучше делать тестовое, похожее на работу, заодно и потренируется, да и на собесе будет больше нормальных и предметных тем для обсуждения.
Аноним 07/09/22 Срд 08:21:13 #535 №2457460 
Сап, гоферы. А скажите, правильно ли я понимаю что в го очень много бойлерплейта и решать алгоритмические задачи в одну строку как на ПАЙТОНЕ не выйдет?
Аноним 07/09/22 Срд 11:09:43 #536 №2457533 
>>2457315
>Я написал, что если чел не собирается на работе писать трассировщики лучей, то тогда ему лучше делать тестовое, похожее на работу
Немного не так
>на тебя там все как на идиота посмотрят и спросят, ебанутый ты или да
Это означает не "тогда ему лучше", а "ни в коем случае так не делать, в противном случае тебя даже рассматривать не будут". Если бы ты так и сказал, как сейчас, никто бы не стриггерился.
Аноним 07/09/22 Срд 11:34:18 #537 №2457561 
>>2457533
Ну я сгустил краски, но смысл тот же. Приди ко мне на собес чел с трассировщиком, я бы заподозрил его в байтодрочерстве и конечно спросил бы, нахуя он сделал именно трассировщик.
Для меня это очевидно странная задача, которую можно сделать по приколу, но абсолютно непонятно, в чём выгода делать это в качестве тестового проекта для показа работодателям.

>>2457460
Как в питоне точно нет
Аноним 07/09/22 Срд 12:11:46 #538 №2457587 
>>2457561
> которую можно сделать по приколу, но абсолютно непонятно, в чём выгода делать это в качестве тестового проекта для показа работодателям
Ну если у работодателя не используется язык го, то очевидно незачем.
В противном случае это демонстрация твоего умения работать с языком, на который ты пришёл
Аноним 07/09/22 Срд 12:20:28 #539 №2457600 
>>2457561
Стоп, а го это разве не про то, чтобы уйти от джавы и иерархий наследования в сторону велосипедов, байтодрочерства и низкоуровневых оптимизаций, столь нужных высоконагруженным проектам?
Запрашиваю пояснительную бригаду
Аноним 07/09/22 Срд 12:42:54 #540 №2457628 
>>2457587
Кроме языка есть ещё предметная область. Немного смысла нанимать на серьезную позицию человека, к примеру, который отлично знает го, но вообще не представляет себе, что такое базы данных. Он тебе напишет full outer join где-нибудь сразу же :)
Поэтому в идеале тестовое задание должно демонстрировать твои компетенции в той области, в которой ты будешь работать, а не только в языке.
Об этом и речь.

>>2457600
Да, но нет :) То есть да, уйти от джавы, меньше магии, больше байтиков, но это никак не противоречит тому, что встречаются конкретные байтодрочеры, которые делают это слишком неидиоматично даже на уровне го. Всегда важен баланс.
И поэтому естественно я захочу знать, что за человек сидит передо мной и не начнёт ли он у меня вообще все dto'шки заменять на одну общую структуру, потому что типа так быстрее будет. В го тоже существует понятие архитектуры, как бы многие долбоебы и не пропагандировали концепцию "хуячь как угодно, го это ж простой язык, он как раз для этого".
Аноним 07/09/22 Срд 13:23:07 #541 №2457654 
>>2457628
Спасибо за ответ.
Имхо трассировщик лучей как таковой не связан с понятием байтодроча, просто такая вот прикладная задача - протрассировать лучи, зачастую людям это интересно (блядь, да даже мне интересно, хотя я и не человек), но базара нет что эта задача не подразумевает взаимодействие с бд и брокерами сообщений.
Немного наверное стоит пояснить за моё отношение к петам вообще и к образованию в айти. Если в двух словах, то я за то, чтоб изучать некую технологию и тут же её закреплять в каком-то проекте, потом изучать слудующую и делать то же самое, при этом не столь важно будут ли они все в одном проекте (не стоит тратить время, чтобы придумать интересную идею проекта, где пригодятся оверходуя технологий разом - это пустая трата времени)
Трассировщик лучей там, или упомянутая выше симуляция - это проекты, призванные закрепить изучение одной технологии - языка, на котором ты их пишешь, и при этом быть достаточно сложными, чтобы пригодилось сразу много фич языка: в случае с трассировщиком там и параллельные вычисления (что очень важно для го, да и везде важно, где оно в принципе есть), и дженерики, и ещё дохуя всего.
А начнёшь ебашить сходу копию фейсбука (когда ты и язык-то толком не знаешь) - угадай что получится? "Это не для меня, я не справляюсь, ну, я пытался". По итогу конечно необходимо бекендеру иметь в загашнике именно бекенд проект, который можно показать, но и все остальные не помешают, при условии что они написаны красиво, грамотно оформлены, документированы и т.д., в противном случае их лучше сделать приватными.
Аноним 07/09/22 Срд 14:31:14 #542 №2457710 
>>2456906
cat, grep
)
Аноним 07/09/22 Срд 14:37:53 #543 №2457717 
>>2457144
Теперь задачка такая, сравни количество 1Сников и гоферов в России. Если смотреть в данном контексте разница огромна.
Аноним 07/09/22 Срд 14:48:58 #544 №2457723 
>>2457717
Как я выше сказал, я наебался с количеством вакансий в го, второй раз смотрел, там было 25 вакух на 400+, поэтому вопрос чисто из-за этого уже отпадает. В го к тому же и индекс вката крайне высок (хотя в 1с тоже немаленький), но одновременно с этим в го не джуновских вакансий, что достаточно забавно.
Аноним 07/09/22 Срд 16:24:01 #545 №2457789 
>>2457723
> этим в го нет джуновских вакансий, что достаточно забавно.
Потому что го как правило идёт вторым языком, как у людей, так и у бизнесов, сначала зачастую делается говнолит на php, который если взлетает - переписывается на golang. Ну или на джавовых проектах, им тоже зачастую проще вынести какие-то требовательные к перфомансу места на гошечку, чем тюнить jvm специально под них, тем более, что там в жаве своих приколов хватает.
В том числе поэтому я с некоторой иронией смотрю на тех, кто пытается вкатиться через го, это ну очень нетрадиционный путь. При том что гошка классная и мне самому нравится, я пишу на ней фулл тайм - всё же рандомному новичку я бы предложил начать с фреймворков и какого-нибудь java/php/js/c#/хз, что сейчас удобнее всего. А уже потом, став более или менее опытным, перекатываться на го, ради интересных задач и $$$.
Аноним 07/09/22 Срд 17:37:55 #546 №2457830 
>>2457460
Нет, но можно на https://github.com/goplus/gop
Аноним 07/09/22 Срд 17:43:12 #547 №2457838 
>>2457830
Мертворожденная хуйня
Аноним 07/09/22 Срд 20:06:34 #548 №2457904 
>А уже потом, став более или менее опытным, перекатываться на го, ради интересных задач и $$$.
лайфак в том, что на стажерские собесы по гошке можно ходить нихуя не зная гошку, кроме го тура и параллельно пытаясь вкатиться в шарт/жаву или другую хуйню.
Аноним 07/09/22 Срд 20:44:26 #549 №2457928 
>>2457904
>на стажерские собесы по гошке
Оксюморон
Аноним 07/09/22 Срд 21:00:17 #550 №2457939 
>>2457928

Насколько сложно ебут по гохе мидлов на других мовах?
Аноним 07/09/22 Срд 21:24:37 #551 №2457953 
2022-09-0721-23-58.png
>>2457939
Ты всё прекрасно понял
Аноним 07/09/22 Срд 22:53:53 #552 №2458009 
>>2457838
Пока оно обратно совместимо с го (пока не поддерживаются дженерики, например) оно будет жить, т.к. людей которых заебывает писать if err != nil много
Аноним 09/09/22 Птн 08:46:11 #553 №2458826 
>>2457723
>индекс вката
Это довольно смешная метрика, придуманная исключительно аноном из мвп треда. Она мало о чем говорит.
Аноним 09/09/22 Птн 08:58:39 #554 №2458827 
>>2457460
Тру, на питоне и джаве решать в разы удобнее литкод, ну и собственно большая часть разборов и решений алго задач это python/java/c++, где есть нормальные коллекции. В го работа с коллекциями сделана через жопу, увы. Даже после С++ с его уебищным STL или жабы с ее полным костылей Collections Framework хочется рыдать при виде того, что в го сейчас происходит.

>>2457600
>байтодрочерства и низкоуровневых оптимизаций
Это не про го, если уж прямо говорить. Го выигрывает у джавы в меньшем оверхеде по расходуемой памяти и быстрому времени старта. Пока JVM просирается и прогревается перед началом работы, скомпиленный бинарник уже начал работать. Низкоуровневые оптимизации и байтодрочерство это точно не про языки с GC в большинстве случаев.
Аноним 09/09/22 Птн 09:06:21 #555 №2458833 
>>2454235
30к стандартная зп для стажера в вб. В озоне побольше, но там уже ебут неслабо.
В авито может быть еще больше, но туда уже огромная конкуренция.
Аноним 09/09/22 Птн 10:10:55 #556 №2458863 
>>2458826
Это понятно.
>>2458827
>Тру, на питоне и джаве решать в разы удобнее литкод
Два чаю
>>2458833
Ебать чё за треш, быстро опровергните
Аноним 09/09/22 Птн 13:04:40 #557 №2458981 
>>2458827
> Тру, на питоне и джаве решать в разы удобнее литкод, ну и собственно большая часть разборов и решений алго задач это python/java/c++, где есть нормальные коллекции.
Я согласен с тобой только в той части, что большая часть разборов - на других языках.
Что касается написания, имхо, там без разницы особо. В го будет немного больше из-за приседаний вокруг коллекций, отсутствия стримов и всего такого, но в целом, плюс минус одинаково всё выглядит и главное в таких задачах это всё равно сам алгоритм, а не то, как ты массив попаешь.

> Это не про го, если уж прямо говорить.
> Низкоуровневые оптимизации и байтодрочерство это точно не про языки с GC в большинстве случаев.
Да, но нет :) Безусловно, если ты хочешь писать свою бд и обмазаться оптимизациями, то тебе нужен язык с минимальным оверхедом сам по себе и поэтому гц да и вообще рантайм тебе будет только мешать.
Но при этом если сравнивать конкретно го и джаву, то го лучше джавы подходит для низкоуровневых оптимизаций, поскольку он и сам более эффективен, и ближе к железу, как язык.
Грубо говоря, для байтодрочерства C/C++ > Go > Java и имхо чел спрашивал об этом.

>>2458863
> Ебать чё за треш, быстро опровергните
Хз, но в Москве на такие деньги не выжить. С другой стороны, я начинал стажёром с зп в 15к как давно это было чёрт возьми
И да, имхо, вкатуны вайтивайти с курсов ради космических зарплат должны страдать. Так что может и норм.
Аноним 09/09/22 Птн 15:01:30 #558 №2459049 
>>2458981
>я начинал стажёром с зп в 15к
Я про голанг ща
Аноним 09/09/22 Птн 17:30:00 #559 №2459132 
>>2458981
>Что касается написания, имхо, там без разницы особо. В го будет немного больше из-за приседаний вокруг коллекций, отсутствия стримов и всего такого

Ну хз, так то понятно что в целом все одно и то же, но тех же treemap/treeset в гошке нет, да и вообще нормальных интерфейсов у коллекций как-то нет, часть просто есть в языке вроде тех же массивов, слайсов и мап, а часть в contrainer находятся, вроде той же очереди с приоритетами.
Как-то непривычно очень работать с таким.

>>2458981
>низкоуровневых оптимизаций
Ты про дергание ансейфа? В целом соглашусь, правда хз что за низкоуровневые оптимизации в гошке в среднестатистическом бекенде делают.
Аноним 09/09/22 Птн 17:32:25 #560 №2459136 
>>2458863
>Ебать чё за треш, быстро опровергните

>>2458981
>Хз, но в Москве на такие деньги не выжить

Ну стажер в Яндексе на фуллтайме меньше 60 получает. В сбере 57к до налогов. Больше всех Тинькофф платит - там около 70 или даже 80 до налогов получится за фуллтайм.
Здесь же просто стажерский стандарт 35-40к платят. А смысл платить больше? Эти гошные стажировки у них идут круглогодично все время, я ни разу не видел, чтобы на хх.ру не было гошной стажировки в wb. Там похоже пачками берут вкатунов, чему-то учат, потом берут одного-двух, а остальных нахуй)
Аноним 09/09/22 Птн 17:35:17 #561 №2459139 
>>2458981
А, ну и того же сета в стандартной либе просто нет. Очевидно, что сет это всего лишь мапа с булами в значениях, но ради этого приходится городить какой-то синтаксический пиздец.
Аноним 09/09/22 Птн 18:08:04 #562 №2459174 
>>2459136
Как избежать этого? Не ходить на говностажировки?
Аноним 09/09/22 Птн 18:46:42 #563 №2459219 
>>2459174
Без говностажировок ты вряд ли вкатишься в принципе, потому что джуны и стажеры в го мало кому нужны, если уж прямо говорить.
Ну и 30-60к нормальная зп для стажера, который по факту только убытки будет полгода-год приносить компании.
Аноним 09/09/22 Птн 19:25:11 #564 №2459250 
>>2459219
>Без говностажировок ты вряд ли вкатишься в принципе
Значит обойдутся без моих услуг, буду искать конторы/стеки, в которых готовы платить.
>Ну и 30-60к нормальная зп для стажера, который по факту только убытки будет полгода-год приносить компании.
Ага, охуенная история, мне-то не рассказывай, 30к для нормальной компании - пыль, у нас стажёры получают от 60к, а в целом отдел разработки - боюсь представить, если три тимлида - уже миллион.
Аноним 09/09/22 Птн 20:05:47 #565 №2459277 
>>2459250
WB не самая нормальная компания так-то на самом деле.
Ну значит у вас какой-то крупный финтех, потому то 60к платить стажеру очень мало кто готов платить. Ну или стажеров у вас называют джунами.
Из известных мне контор: дойче банк и jetbrains платили хорошо своим стажерам, но они увы свалили. Сейчас стажеру найти 80к - очень большая удача, больше выторговать вообще нигде нельзя. Зато есть неоплачиваемые стажки, и за 20, 30, 40, 50к. Это вот самое распространенное.
Что самое интересное, зп стажера никак не менялась уже лет

>>2459250
>Значит обойдутся без моих услуг, буду искать конторы/стеки, в которых готовы платить
Если ты с опытом, зачем тебе идти на стажировки? Стажировки исключительно созданы для зеленых вкатунов-студентов без опыта.
Аноним 11/09/22 Вск 10:41:55 #566 №2460173 
2022-09-1110-33-09.png
2022-09-1110-33-35.png
2022-09-1110-33-42.png
2022-09-1110-34-03.png
Задачи на озон контесте
Аноним 11/09/22 Вск 10:42:13 #567 №2460174 
2022-09-1110-34-09.png
2022-09-1110-34-18.png
2022-09-1110-34-22.png
2022-09-1110-34-30.png
Аноним 11/09/22 Вск 10:42:32 #568 №2460175 
2022-09-1110-34-34.png
2022-09-1110-34-42.png
2022-09-1110-34-47.png
2022-09-1110-34-55.png
Аноним 11/09/22 Вск 10:42:45 #569 №2460176 
2022-09-1110-35-04.png
2022-09-1110-35-09.png
2022-09-1110-35-13.png
2022-09-1110-35-20.png
Аноним 11/09/22 Вск 10:42:56 #570 №2460177 
2022-09-1110-35-24.png
2022-09-1110-35-28.png
2022-09-1110-35-32.png
2022-09-1110-35-36.png
Аноним 11/09/22 Вск 13:13:53 #571 №2460227 
>>2460173
Херня, ещё в 9 классе на олипмиадах по программированию такие задачи решал. Тратить на одну такую больше 20 минут это такой непрофессионализм, что можно сразу увольнять.
Аноним 11/09/22 Вск 13:33:05 #572 №2460256 
>>2460227
Ну вот не зря решал, теперь можешь вкат в озон устроить
Аноним 11/09/22 Вск 17:37:15 #573 №2460460 
>>2460256
Мне не нужно, у них зп слишком низкая.
Озон норм мб для джунов (хотя я пару лет назад слышал, что там технически всё очень не очень) и неуверенных в себе миддлов.
Аноним 11/09/22 Вск 17:38:12 #574 №2460461 
>>2460227
Пригождалось на работе?
Мне вот ни разу.
Аноним 11/09/22 Вск 17:51:53 #575 №2460475 
>>2460461
Хотел сказать "да ни разу", но потом задумался, потому что если честно то сложно отделить эти навыки от других.

Конкретно такие задачи, как на скринах, почти ни разу не встречались. Но при этом периодически я сталкиваюсь с задачами, когда к примеру нужно написать обработку графа пользователей, или приходится немного колхозить какой-нибудь таск менеджер и соответственно я пишу обработку дерева задач, всё такое.
Или к примеру на работе как-то раз пришлось написать свой простенький язык выражений, чтобы менеджеры могли задавать свои условия для бизнес-логики и не дергать разработчиков, а учить менеджеров всяким регуляркам и прочим премудростям было слишком напряжно готовые либы типа expr не подходили. У меня это заняло мб вечер, простенький парсер ну и дерево выражений.
Cчитается это или нет? Хз. Для меня это тривиальщина, при этом некоторые мои друзья честно говорят, что с наскоку такого сделать не сумеют.

Так что не знаю, думаю, что этот бекграунд меня научил алгоритмическому мышлению и каким-то основам, но в чистом виде конечно опыт переборки массива не особо применим.

Но опять же такие задачи появились, только когда я начал работать в стартапах и продуктовых компаниях. Пока я работал в аутсорсах, то ничего этого мне не требовалось, просто шлёпал круды по шаблону до талого.
Аноним 11/09/22 Вск 18:08:03 #576 №2460486 
>>2460475
>Но при этом периодически я сталкиваюсь с задачами, когда к примеру нужно написать обработку графа пользователей, или приходится немного колхозить какой-нибудь таск менеджер и соответственно я пишу обработку дерева задач, всё такое.
Это да, разумеется. Правда в реальности никогда таких жёстких временных рамок нет. Даже вот как шутят в мвп треде про кабана, просящего поднажать, но в реальности никогда не нужно нажимать настолько сильно, чтобы увидеть разницу между алгодрочером и обычным человеком. В реальности время уходит в основном не непосредственно на разработку, а на согласования, созвоны, короче на менеджмент всякий.
>что с наскоку такого сделать не сумеют
Прибедняются. Одно дело когда человек даже не знает, что именно тут надо применить - тогда да, он может проебаться довольно долго. Но если ты человеку скажешь "напиши парсер сука тут нужен парсер" - он его за вечер напишет с помощью гугла. Обычно умение быстро понимать, какое решение нужно в том или ином случае - нарабатывается опытом и оплачивается отдельно.
Аноним 11/09/22 Вск 18:12:59 #577 №2460490 
>>2460227
Слабак, я на самую простую убью час, с гуглом вспоминая синтаксис питухона.
Но это если я её буду делать. А я не буду, и другим не советую. А работодателям, кто во время собеседования просит на ходу такое решать - ну смотрите сами, я бы в ебальник харкал за такое, но может где-то на мифические должности нужно это уметь делать на собесе, но судя по тому сколько в яндексах платят (а это как раз места где ебут алгоритмами) - не нужно. На моей помойной говнодолжности дотнетчика за 250к и подавно не нужно.
Когда такое в виде тестового даётся, со стандартным сроком две недели - к этому нормально отношусь, правда надо понимать, что с таким сроком будут и за говнокод спрашивать, если он будет.
Аноним 11/09/22 Вск 20:49:44 #578 №2460573 
>>2460486
> Правда в реальности никогда таких жёстких временных рамок нет.
Это другое, как и в любом спорте, в спортивном программировании нужны рамки и ограничения. В жизни конечно такого нет, нормально вылезти за требования или закидать их железом.
> В реальности время уходит в основном не непосредственно на разработку, а на согласования, созвоны, короче на менеджмент всякий.
Это в неудачных конторах. Обычно я стараюсь найти себе место, чтобы хотя бы 90% времени непосредственно писать/отлаживать код. Пока получается.
> Но если ты человеку скажешь "напиши парсер сука тут нужен парсер" - он его за вечер напишет с помощью гугла.
Ты знаешь, нет, не совсем. Если ты никогда парсеры не писал, то будешь тупить на ровном месте. А когда опыт есть, то руки сами пишут, особо не думаешь над этим.

>>2460490
>А работодателям, кто во время собеседования просит на ходу такое решать - ну смотрите сами, я бы в ебальник харкал за такое, но может где-то на мифические должности нужно это уметь делать на собесе, но судя по тому сколько в яндексах платят
Яндекс-то хуета, это да. Только ты не путай собесы и яндекс. Я периодически вспоминаю свой опыт найма людей и это пиздец. На словах все просто львы толстые, а потом просишь на собесе написать fizzbuzz (если что, цикл с несколькими ифами внутри, задача без подвоха абсолютно) и "сеньоры с многолетним опытом" не могут написать не строчки.
Поэтому приходится хотя бы что-то спрашивать, чтобы понимать, что человек перед бы не на 100% врёт про свой опыт и навыки. Иначе очень много времени на каждого такого мудака уходит, начинаешь его вводить в курс дела, давать задачи - и внезапно выясняется, что он двух слов связать не может. Так и живём, приходится спрашивать что-то такое не от хорошей жизни, а как минимальное требование. Естественно это не касается долбоебов, которые прям олимпиадные задачи с литкода на собесах спрашивают я сам их без особого труда решаю, но меня они тоже бесят.
Аноним 11/09/22 Вск 21:14:57 #579 №2460616 
>>2460573
>а потом просишь на собесе написать fizzbuzz
Не, ну где физзбазз, а где "даны наборы "идентификатор и два соседних члена", соберите из них анальное кольцо и выведите противоположный элемент указанному" (я кстати сделал, но не уложился в тайминги по всем задачам, как нетрудно догадаться, если я литкодовское оббегание матриц змейкой по несколько вечеров делаю).
Аноним 12/09/22 Пнд 11:20:07 #580 №2460938 
Нет ли у кого книжки "Black Hat Golang" на русском?
Аноним 12/09/22 Пнд 12:46:52 #581 №2461024 
>>2460938
английский учи, хакер
Аноним 14/09/22 Срд 01:33:34 #582 №2462375 
>>2423625
>Странно
Потому что пидор ГОвнастый тебе лапшу на уши вешал, ибо в ДС-2:
"Go OR Golang": 450
"C# OR .NET": 588
Аноним 14/09/22 Срд 08:00:28 #583 №2462430 
Почему у меня в плейграунде сид один и тот же всё время?

package main

import (
crypto_rand "crypto/rand"
"encoding/binary"
math_rand "math/rand"
"fmt"
)

func init() {
//Randomizing seed from crypto/rand
var b [8]byte
_, err := crypto_rand.Read(b[:])
if err != nil {
panic("cannot seed math/rand package with cryptographically secure random number generator")
}
math_rand.Seed(int64(binary.LittleEndian.Uint64(b[:])))
}

func main() {
//making an array with random numbers
const ARRAY_W int = 10
const ARRAY_H int = 10
var myArray [ARRAY_W][ARRAY_H] int
for x := 0; x < ARRAY_W; x++ {
for y :=0; y < ARRAY_H; y++{
myArray[x][y] = math_rand.Intn(5)+1
}
}
//Printing array
for x := 0; x < ARRAY_W; x++ {
for y :=0; y < ARRAY_H; y++{
fmt.Printf("%v ",myArray[x][y])
}
fmt.Printf("\n")
}
}
Аноним 14/09/22 Срд 15:06:35 #584 №2462787 
>>2462430
Потому что это плейграунд
Аноним 14/09/22 Срд 15:37:39 #585 №2462818 
>>2462787
Хуйня с crypt/rand работала в плейграунде с другим кодом. Мамой клянусь.
Аноним 14/09/22 Срд 15:38:23 #586 №2462820 
>>2462818
*crypto/rand
Аноним 14/09/22 Срд 22:19:32 #587 №2463136 
>>2460177
>>2460176
>>2460175
>>2460174
>>2460173
Хорошие задачки, сразу будет видно людей, кто умеет программировать, ну или хотя бы потратил полгода-год на литкод, что уже говорит о мотивации человека.
Хорошо отсеит вкатунов, которые кое-как пролезли на галеру без литкода в эпоху ковида, научились писать примитивнейшие круды, а теперь возомнили себя разработчиками, лууул.

>>2460490
Крудошлеп, ты? Как раз такие задачки проверяют навык умения кандидата рассуждать. И если нужно срочно запилить какую-нибудь фичу/пофиксить баг, то олимпиадник или задрот литкода с таким справится гораздо быстрее вчерашнего таксиста, которого по ошибке взяли в айти в 2021 году.

>>2460490
>судя по тому сколько в яндексах платят (а это как раз места где ебут алгоритмами) - не нужно
Ну, мань, рынок после февраля все сужается и сужается, посмотрим как ты будешь новую работу искать без литкода.
Аноним 14/09/22 Срд 22:38:50 #588 №2463154 
>>2463136
>Крудошлеп, ты?
Может и я. Проблемы?
>Как раз такие задачки проверяют навык умения кандидата рассуждать.
Ошибочно. Они проверяют умение решать литкод на скорость. Именно на скорость. Я думаю мне не надо тебя убеждать в том, что любую из этих задач решит обезьяна, если дать ей пару дней, а не часов?
>И если нужно срочно запилить какую-нибудь фичу/пофиксить баг
Чёбля, баг пофиксит быстрее тот, кто работает с кодом, в котором баг появился, постоянно. Поэтому задачи на сопровождение уходят тем, кто знаком хорошо с кодобазой, а они уж перекидывают другим, если есть подозрение, что баг в другом месте. Ты вообще работаешь в айти? Какие-то странные вещи говоришь, как будто повторяешь чьи-то слова услышанные в интернете.
>Ну, мань, рынок после февраля все сужается и сужается, посмотрим как ты будешь новую работу искать без литкода.
Я не совсем понял в какой именно момент заслужил от тебя оскорбления, но если будет нужно, я и запуск ракет изучу, ты не переживай.
Аноним 15/09/22 Чтв 13:20:07 #589 №2463411 
>>2463154
>Они проверяют умение решать литкод на скорость. Именно на скорость
Ну и? Нужно уметь решать алго задачи на скорость. Это стандарт в 21 веке блядь. Не суметь решить медиум с лита за 15 минут == быть опущем.
Аноним 15/09/22 Чтв 14:20:10 #590 №2463461 
>>2463411
>Ну и?
Ну и к проду это не имеет отношения. Стандарт ли это или не стандарт на собеседованиях - вопрос отдельный, а вот это утверждение
>Как раз такие задачки проверяют навык умения кандидата рассуждать. И если нужно срочно запилить какую-нибудь фичу/пофиксить баг, то олимпиадник или задрот литкода с таким справится гораздо быстрее
является истиной где-то процентов на 10 (поскольку всё же есть определенная корреляция между литкодом и скиллами в работе, с чем я не согласен, так это с раздуванием её до 100%)
Аноним 15/09/22 Чтв 21:22:05 #591 №2463806 
>>2463411
>> Ну и? Нужно уметь решать алго задачи на скорость. Это стандарт в 21 веке блядь. Не суметь решить медиум с лита за 15 минут == быть опущем.
Плюсану этого. Круды перекладывать можно и обезьяну научить, а литкод хотя бы показывает, что у человека какие-никакие навыки есть, помимо посещения курсов для вкатывальщиков.
Да и как правило такие люди без проблем могут и стандартную библиотеку продебажить, и протолкнуть фикс в опенсорс, и при необходимости решить проблемы с инфрой. В отличие от кодо-макак, которые маршалить json'ы научились, а думать - нет и любой крэш за пределами их уютного http handler'а надолго отправляет их к психотерапевту. Ох, помню, словил я как-то баг в одной либе, которая работала через cgo..
Аноним 15/09/22 Чтв 23:46:02 #592 №2463930 
>>2463411
Кому нужно? Тебе? Иди решай.
Аноним 16/09/22 Птн 16:12:19 #593 №2464347 
Бля я щас повешусь нахуй, посмотрел 2 часа роликов по traefik так нихуя и не понял, как это говно настроить.

Мне нужно, чтобы реверс прокси делало что-то типа
(http/https)://host:(80/443)/path/to/endpoint -> http://host:port(например 10002)/path/to/endpoint
в докере

Это вообще возможно сделать с traefik или я не так понял его функционал? Или если тут никто не шарит, куда обратиться за советом?
Аноним 17/09/22 Суб 22:58:42 #594 №2465768 
>>2463806
нитакусик в треде
Аноним 18/09/22 Вск 00:40:53 #595 №2465834 
На какую тему написать петпроджект, чтобы было не стыдно в гитхаб выложить?
Аноним 18/09/22 Вск 01:24:20 #596 №2465861 
>>2465834
Сервер - таск раннер напиши. Чтобы по http api можно было ставить задачи и потом проверять статус их выполнения. Опционально потом можешь сделать, чтобы можно было по вебсокетам получать апдейты по твоим задачам. Ну и там куча разных вариантов, как можно это внутри сделать, фичи можно подсматривать у celery, такая очередь задач на python, очень фичастая.
Аноним 18/09/22 Вск 17:43:40 #597 №2466395 
>>2421307
>Pgx
У него есть pool, в котором есть соединения к постгре, я сейчас через него делаю все запросы , аля pool.Query(ctx, "select gowno from zopa") , вопрос балансирует ли этот пул соединения? Есть ли у него какой то лоадбалансер или он просто делает запрос через первый коннекшн, пока запрос делается, образно оставшиеся 99 могут делать запросы, как первый освободится то он сделает другой запрос и так далее?
Аноним 18/09/22 Вск 19:47:34 #598 №2466511 
>>2466395
судя по коду puddle работает как стек. в третьей версии была очередь.
Аноним 18/09/22 Вск 22:54:32 #599 №2466728 
>>2466395
А нахуя тебе балансер в пуле, ты же всё равно одну бд указываешь и вся нагрузка на неё и ложится.
Аноним 18/09/22 Вск 23:21:24 #600 №2466752 
>>2466728
ну там есть параметр MinConn , MaxConn , задав их образно на 100 я могу иметь 100 конекшнов к базе, которые и выдерживает постгря, по дефолту вроде так
я просто из интереса, ведь много конекшнев которые делают запросы как-то там распределяя нагрузку , мб какой-то запрос долгий, то другой конекшн пойдет обрабатывать

>>2466511
прикольно, значит освободившийся конекшн возвращается обратно в стек и если нагрузки не большие то часть конекшнов просто будет простаивать?
Аноним 19/09/22 Пнд 00:02:09 #601 №2466794 
>>2466752
> прикольно, значит освободившийся конекшн возвращается обратно в стек и если нагрузки не большие то часть конекшнов просто будет простаивать?
Ну он их вроде закрывает потихоньку

> я просто из интереса, ведь много конекшнев которые делают запросы как-то там распределяя нагрузку , мб какой-то запрос долгий, то другой конекшн пойдет обрабатывать
Мне кажется, ты путаешь балансировку с чем-то ещё. Балансировка - это когда ты балансируешь запросы между несколькими исполнителями, загружая всех равномерно. Например, когда у тебя у одной базы есть много реплик на чтение и ты отправляешь запросы к ним ко всем, чтобы не задидосить одну случайную.
Аноним 19/09/22 Пнд 11:39:14 #602 №2467014 
>>2466794
ок, тогда поясни за этот пул, если разбираешься

Есть смысл делать MinConn, MaxConn ?

я вообще провел такой эксперимент, вытянул из pg_stat_activity pid и еще некоторую инфу и заметил, что он реально делает указанное в MinConn число соединении, и, заблокировав поток select {} эти соединения висят в idle
Аноним 19/09/22 Пнд 15:34:11 #603 №2467209 
>>2467014
Есть, как раз для скалирования числа коннектов, минимум - чтобы при скачке нагрузки оно скалировалось не с нуля, а максимум - ну там понятно, чтобы не превысить ограничения самой базы.
По-хорошему надо это дело выставлять, оглядывась на метрики, архитектуру и профиль нагрузки. На глазок я бы выставил что-нибудь вроде 10/50.
Аноним 19/09/22 Пнд 20:24:34 #604 №2467436 
>>2462430
var b [8]byte

Ты никак не инициализируешь байт. Всегда нули будут В итоге ты инициализируешь сид одним и тем же байтом.
Аноним 19/09/22 Пнд 20:30:49 #605 №2467439 
>>2464347
nginx? там это типа того будет:

location /path/to/endpoint {
proxy_pass http://host:10002/path/to/endpoint
}
Аноним 24/09/22 Суб 11:31:27 #606 №2472358 
>>2467209
С этим разобрались, окей, теперь вопрос возник другой

Когда стоит использовать Exec , а когда Query Row ?
Зачастую охота вернуть подтверждение из базы, вот мол, вставили в табличку, держи айди, по этому айди потом можешь чето еще делать, джоинить и тд. В Exec же мы просто выполняем операцию и все.

Да, у нас есть commandTag , но зачем это, если можно Query Row все делать ?


commandTag, err := conn.Exec("delete from widgets where id=$1", 42)
if err != nil {
return err
}
if commandTag.RowsAffected() != 1 {
return errors.New("No row found to delete")
}
Аноним 24/09/22 Суб 13:10:37 #607 №2472433 
>>2472358
Ты сам на всё ответил.
QueryRow операций, которые возвращают одну строку
Query для операций, которые возвращают много строк
Exec для операций, которые ничего не возвращают

Я Exec использую только для масс апдейта или удаления
Аноним 26/09/22 Пнд 16:38:48 #608 №2474608 
image.png
Аноны объясните дебичу, как это называется.

У меня есть три таблички A, B, C. Когда я добавляю данные в таблицу A или B, у меня автоматом конкретно выбранные столбцы из этих таблиц попадают на новую строку в таблицу С
Аноним 26/09/22 Пнд 16:44:29 #609 №2474614 
>>2474608
блятб в глаза долблюсь уже, промахнулся тредами, хотел к РБД боярам задать вопрос, а задал гошникам лол...
Аноним 26/09/22 Пнд 16:46:41 #610 №2474619 
>>2474614
Только хотел спросить причем тут говна тред
Аноним 26/09/22 Пнд 20:19:12 #611 №2474876 
А как в Го пишутся большие приложения? Есть какие-то фреймворки с внедрением зависимостей или можно на голом Го всё написать?
Аноним 27/09/22 Втр 11:34:26 #612 №2475369 
Можно ли на Го писать графические приложения? К примеру, нужно окно, где рисуется картинка по пикселям, а рядом набор управляющих кнопок, полей ввода и т.п.?
Аноним 27/09/22 Втр 11:59:08 #613 №2475385 
>>2474876
>>2475369
да
Аноним 27/09/22 Втр 13:36:32 #614 №2475456 
Если прочитать книжку Керригана по Го, то этого достаточно, чтобы можно было ходить по собесам на джуна и получить оффер?
Аноним 27/09/22 Втр 16:01:00 #615 №2475630 
>>2475456
Нет. Точно нет.

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

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


>>2464347
прокинь в iptables или nginx

https://my.esecuredata.com/index.php?/knowledgebase/article/49/how-to-redirect-an-incoming-connection-to-a-different-ip-address-on-a-specific-port-using-iptables/
Аноним 27/09/22 Втр 16:25:49 #616 №2475665 
>>2475630
А что ещё надо знать?
Аноним 27/09/22 Втр 16:54:15 #617 №2475689 
>>2475665
Да дохуя всего, зависит от твоего опыта
Начни с круда с использованием какой-нибудь постгри( в идеале найти какую-нибудь готовую базу на тысяч 40 записей, чтоб прочувствовать ошибку хуевого джойна), Не забудь ее поменять накатив хотя бы 5 миграции и собственно накатил/откатился, пока не почувствуешь уверенность или боль жопы(потому что эти все гуси и прочая шляпа работают плохо, выкидывая всякие ошибки по любому поводу, реализуй кэширование в какой-нибудь редис, как пример вышел новый сериал и юзеры запрашивают его, че, 100000 селектов ради того чтоб получить 1 и те же данные делать будем? Надо кэшировать , навали мониторинг, можешь поиграться с NoSQL в виде эластика или монги, если хочешь, далее задеплой это в докере


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

Ну офк базовые навыки про операционные системы, шарить за модель ОСИ, понимать че вообще происходит когда в браузер вписываешь 2ch.hk/pr , хорошо если объяснение этого будет как минимум на 2-3 страницы а4 14 шрифта. Ну такое.

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

Хз. мб что-то забыл, но с большего так.
Аноним 27/09/22 Втр 18:02:34 #618 №2475762 
>>2475689
Почему сейчас обращают внимание на деплой в докер? Разве от этого надо писать какой-то особый код? Это же просто заливка программы на сервер. С этим любой эникейщик справится.
Аноним 28/09/22 Срд 08:01:31 #619 №2476127 
>>2475385
Дак реальные веб-приложения пишутся через net/http или всё же есть фреймворки, на которых это всё по-другому делается?
Аноним 28/09/22 Срд 10:28:24 #620 №2476260 
primer.jpg
На сколько сотыг можно претендовать?
Аноним 28/09/22 Срд 22:52:42 #621 №2476880 
>>2476260
Учитывая, сколько раз ты перевыделаешь память под одну бедную, несчастную строку - 0.5 сотыг максимум.
Стринг билдер или буфер бы прикрутил туда, хотя бы.

Не говоря уже про то, что паттерн повторяется каждые 15 чиселок, поэтому теоретически ты можешь просто итерироваться по i +=15
Аноним 29/09/22 Чтв 06:56:34 #622 №2477064 
>>2476880
> Не говоря уже про то, что паттерн повторяется каждые 15 чиселок
Не повторяется
Аноним 29/09/22 Чтв 13:46:25 #623 №2477286 
Как вообще происходит выделение памяти под мелкие переменные вроде int? Если в классических языках они хранятся на стеке и пропадают, когда выходят из области видимости, то в Го можно получить ссылку и "прокинуть" переменную дальше. На стеке такой фокус не получится провернуть, так как он не может сохранить случайные переменные. Значит такие переменные создаются в куче. Но не сильно ли дорого создавать такие переменные?
Аноним 29/09/22 Чтв 13:48:28 #624 №2477288 
>>2477286
Может как на стеке так и на куче
В основном всегда пытается выделить на стеке, если так нельзя, то выделяет на куче
Аноним 29/09/22 Чтв 18:37:49 #625 №2477525 
example.PNG
>>2477064
Мы вам перезвоним
Аноним 29/09/22 Чтв 19:25:56 #626 №2477563 
>>2477525
Но никто не обратил внимание, что задача решена не верно
Аноним 29/09/22 Чтв 19:43:09 #627 №2477578 
Как ломануть GoLand?
Аноним 29/09/22 Чтв 21:34:22 #628 №2477699 
>>2477563
Ну ты же не предлагаешь нам всерьез в голове это компилировать и запускать? Все посмотрели глазами и откомментировали, что заметили сходу
Аноним 30/09/22 Птн 09:43:51 #629 №2477965 
В какой IDE вы работаете? Хватит ли VS Code или надо обязательно GoLand? Есть ли другие бесплатные альтернативы?
Аноним 30/09/22 Птн 11:22:55 #630 №2478024 
>>2477578
Устроиться на работу
>>2477965
Писал в VSCode , перешел на Голанд, в целом доволен, сделал под себя, только не понимаю как быстро переходить в терминал, сейчас я спличу окно и использую cmd tab для перехода в свой терминал, а там же есть встроенный, как им пользоваться через хоткеи я пока хз
Аноним 30/09/22 Птн 12:20:48 #631 №2478055 
>>2478024
А какие работы существуют для гошников? Переписывают монолиты с джавы на микросервисы го?
Аноним 30/09/22 Птн 20:10:45 #632 №2478611 
>>2478055
Я чаще встречал что сразу копролиты пишут на говняке
Аноним 01/10/22 Суб 06:15:17 #633 №2478992 
>>2477286
если компилятор заметит обращение к указателю переменной то она будет в куче
Аноним 01/10/22 Суб 10:28:49 #634 №2479043 
go.png
Мне кажется этом примере разработчики языка сами себя переиграли.
Аноним 01/10/22 Суб 15:05:59 #635 №2479184 
А Го не запретят в связи с санкциями?
Аноним 01/10/22 Суб 16:11:37 #636 №2479228 
>>2479184
Наоборот, в связи с санциями, обяжут нанимать программеров из рф только в качестве гошников. К концу года половина из них поедет кукухой, а половина самоубъется от жуткой депрессии.
Данил 01/10/22 Суб 23:15:45 #637 №2479504 
Всем привет, я пайтон разработчик(джун), понравился го, какие вы проектики на нем пилите для себя? Ибо я не хочу делать дефолт типо book-store и т.д.

Планирую запилить реал тайм ридер логов с докера и показом их на фронте, как идея? Тянет на intermediate?
Аноним 02/10/22 Вск 00:32:02 #638 №2479559 
>>2479504
Да мы заебали, научитесь читать треды, каждые 50 сообщений спрашиваете одно и то же
Любое веб апи норм, но будет лучше, если запилишь что-то с апи, бд, работой с очередями и разверткой через докер потому что это будет максимально приближено к типикал проектам на го
Аноним 02/10/22 Вск 00:32:32 #639 №2479560 
>>2479559
*вы заебали, оговорочка по фрейду, сам уже заебался отвечать на одно и то же
Аноним 02/10/22 Вск 19:31:13 #640 №2480028 
Дак получается всё равно, есть такой весь классный язык, минималистичный, все дела. А в итоге надо скачивать какой-нибудь сранный фреймворк и в итоге работа ни чем не отличается от джавы со спрингом или сишарпа с асп.нетом.
Аноним 02/10/22 Вск 20:12:11 #641 №2480092 
>>2480028
>фреймворк
Но фреймворков уровня спринга или asp.net здесь просто нет...
Аноним 02/10/22 Вск 20:18:22 #642 №2480098 
>>2480092
А какие тут фреймворки?
Аноним 02/10/22 Вск 20:34:38 #643 №2480113 
Сап, двач. Мимо ПХПшник, хочу перекатиться.

Скажите, насколько хорошо принимают перекатунов и насколько глубоко стоит знать го? Собесы жосткие на знание самого языка?
Аноним 02/10/22 Вск 21:00:44 #644 №2480150 
>>2480113
> Скажите, насколько хорошо принимают перекатунов
Нормально принимают, кейс переката из пыхи в го очень распространенный

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

> Собесы жосткие на знание самого языка?
Сложнее, чем на PHP или JS, но проще, чем в Java. Готовься понимать, как работает сборка мусора и планировщик, а также знать, как под капотом работают базовые типы: мапы, слайсы, каналы, интерфейсы, строки.
Аноним 03/10/22 Пнд 08:11:22 #645 №2480464 
>>2480150
А есть кейс переката из джавы в го?
Аноним 03/10/22 Пнд 09:55:07 #646 №2480486 
Язык разрабатывали с расчетом на бэк, и не догадались добавить тип decimal (для финансовых расчётов), но зато добавили нафиг ни кому не нужные комплексные числа. Разработчики явно в какой-то своей вселенной живут.
Аноним 03/10/22 Пнд 18:37:38 #647 №2480966 
>>2480464
Джавистов в го перекатывается меньше, чем пехапешников, но и такие есть.

>>2480486
А в чём проблема взять любой пакет с таким типом, например https://github.com/shopspring/decimal ? Я его юзал, всё ок, драйвер бд поддерживает из коробки.
Аноним 03/10/22 Пнд 19:30:00 #648 №2481009 
>>2480966
Кажется теперь я понял, го - это такой конструктор, собери язык себе сам)))
Аноним 04/10/22 Втр 06:07:09 #649 №2481331 
>>2481009
Ты с плюсов сюда пришел?)
Аноним 04/10/22 Втр 23:48:00 #650 №2481893 
>>2477965
3 года на вскоде, полёт нормальный. в голанде чето дохуя окошек кнопочек как вы этим пользуетесь ебать
Аноним 05/10/22 Срд 09:57:06 #651 №2481998 
1539370227181.png
1579244482368.png
Помогите, ничего не понимаю. Вот надо разделить строку. Почему в терминале оно работает так странно. Я ввожу текст с пробелами, нажимаю Enter и то что я ввел вводится в терминал.
comments powered by Disqus

Отзывы и предложения