С чего начать: — В плюс-минус обязательном порядке проходим "Go Tour": https://go.dev/tour/welcome/1 (как правило чтобы успешно перейти с знакомого языка на golang для старта этого достаточно) — Читаем документацию прямо по порядку докуда будет не лень (пункт "Getting Started"): https://go.dev/doc/ — Если собираемся трудоустраиваться в веб – ознакамливаемся с общим roadmap по изучению языка и сопутствующих инструментов: https://github.com/darius-khll/golang-developer-roadmap (постоянно обновлялось сообществом); если собираемся не в веб – просто знаем что такой roadmap существует; в противном случае – ознакомление не требуется.
Литература: — Донован, Керниган "Язык программирования Go" (внимания заслуживают девятая глава для понимания параллельности и тринадцатая про cgo и глубинную рефлексию, прочую же информацию легче найти в интернете) — Также книги рекомендуемые для начала: https://go.dev/wiki/Books и https://www.practical-go-lessons.com/ (веб-версия — бесплатная и хорошо подходит для новичков в программировании, так же прим. перек. не путать книгу со справочником, поскольку в данном случае любезно предоставлены скорее справочные материалы) — Книги из списка: https://github.com/dariubs/GoBooks (не читалось, осуждается `^_`)
>>3735307 → >С появлением ноды вебмакаки и вовсе обезумели и начали создавать несты нексты реакты вьюу ангуляры тайпскрипт, 100500 говнормок и тд. Как вообще люди додумались такой язык тащить кудато вне браузера? Нода реально удобная была тогда, вокруг 2015 года. Она асинхронная, построенная на коллбэках, очень удобно обрабатывать сетевые события, например. Иногда правда всё это превращалось в callback hell. При этом высокоуровневая, удобно обрабатывать всякие JSON, есть система исключений. Довольно надёжная.
А альтернативы тогда были довольно слабые. Потом, правда, альтернативы подросли, ими стало возможно пользоваться, го причесали чуть-чуть (но не совсем, особенно тогда совсем не совсем), в питоне завели асинхронность async/await, тут начались проблемы у ноды, их стандартные библиотеки были под callback based подход, а не async/await, короче удобство испарилось.
Короче на момент 2015 реально хороший был выбор, но сейчас уже точно нет.
>>3758597 >Нода реально удобная была тогда, вокруг 2015 года. Был гораздо более удобный и производительный груви с асинхронщиной из джавы, кучей сахара и настоящей многопоточностью. Нода хайпанула исключительно на волшебном обещании одного языка для всего. Что оказалось пиздежом конечно, ведь на чистом джс никто не пишет и фактически под фронт с реактом свой отдельный диалект.
>>3758682 Ну через стаковерфлоу типа. Или хабр на худой конец. Там все расписано. Сигнальчик регистрируешь и дописываешь завершение работы приложения по приему этого сигнальчика. А также контексты можно поотменять/заканселить но это на своё усмотрение.
Прокидываешь контекст из main настолько глубоко, насколько ты хочешь сделать грэсфул, в мейне ждёшь в горутине сигнал и по поступлению - отменяешь контекст
Здравствуй, анон-гофер, прошу советов мудрых, хуи не предлагать, я уже насосался за свою жизнь.
Я вкатун, чуть меньше чем 3 года назад меня по чистой случайности взяли на работу кодомакакой и терпели, пока я научусь чему-то. Практические навыки я приобрёл и даже вроде какую-то пользу приносил. Фирма нынче лежит в предсмертном состоянии и руководство отпустило нас всех во взрослый мир хотя не все там овощи как я, были и грамотные специалисты и даже очень хорошие. Лет мне дохуя, под сорокет. Три месяца ем смотрю как на хх либо на отказы, либо на игнор. Иногда пытаюсь адресно кидать резюме на сайтах контор. Не было ни одного сраного собеса, резюме переписывал раза 3, в последней итерации по советам чувака, который лет 20 работает программистом. Самый край был недавно, когда я скинул резюме в контору, для которой по стеку я подходил просто идеально - молчание, через 2 недели вакансия уже закрыта.
1. В резюме пока не пиздил, т.е. честные мои два с половиной года практики и реальные вещи, которыми я занимался. Стоит ли переписать под популярный стек и накинуть себе сколько-то лет? Сколько? 2. Озон моментально отказы пишет, почему так? 3. Как искать вакансии, кроме как на хх? 4. Т.к. свободного времени у меня теперь много, то получаю фундаментальные знания, которых у меня не было, - учу книжки Таненбаума, архитектуру, go 101, задачки, postgres дрочу. Во время работы было как-то лениво, да и тяжело после кода и документации ещё накатывать что-то по профессии. Стоит ли такими вещами заниматься или сосредоточиться на заучивании типичных собесовских вопросов? 5. Любые советы приветствуются
PS Не пишите, плз, хуйню, типа иди обратно откуда пришёл или про успешных работяг. Во-первых, я всем сердцем люблю ту работу, которой я занимался последние 2.5 года, ничего подобного я на предыдущей работе не испытывал. Соответственно, биться за сохранение в профессии буду до последнего. Во-вторых, я пришёл со стройки, где руководил в т.ч. этими успешными работягами и нихуя хорошего там нет. Обратно тоже не хочу, ибо там сейчас ещё хуже чем в айти и ушёл я оттуда не просто так, работа специфическая, мне она не подходит.
>>3759443 >2. Озон моментально отказы пишет, почему так? Потому что они сейчас завалены собесами сотрудников из компаний, которые вот-вот обмякнут (такой вот инсайдик)
>>3759443 Каких-то рабочих советов тебе вряд ли даст. Ситуация скорее безвыходная. Рабочих мест в айти сейчас практически нет, найм если и идет где-то, то это вероятно бигтех или редкая госуха. Причем как ты понимаешь тот же Озон и WB сейчас тоже в печальном положении находятся, а это были места, где ранее гошников нанимали в большом количестве.
Мне вообще из российских компаний только из Яндекса рекрутеры стабильно пишут и как будто только там идет найм нонстопом. Все остальные компании очень точечный найм сейчас делают, либо не нанимают вообще.
Вот такие дела. Цепляться за айти до последнего конечно можно, но с нынешним рынком труда ты вряд ли что-то найдешь. Я вот почти год без работы просидел, в итоге сдался и сейчас вышел на склад работать. Благо там всех подряд берут пока что, нет собесов и легко оформиться.
мимо бывший гошник с профильной вышкой 5 лет опыта на го, до того 2 года на питоне
Спасибо за инфу, анонимусы. У меня бывшие коллеги иногда находят себе место. Пока подушка есть - буду получать профильное самообразование и сычевать. Существование, конечно, так себе, но что делать.
>>3758552 (OP) Привет. Хочу использовать JSON-файл как БД для хранение нескольких однотипных структур с разным содержимым. Как открыть файл, добавить структуру и прочитать файл мне понятно. Трудность в добавлении последующей структуры. Пример. Было: { "Id": 1, "Description": "tse", "Status": "new", "CreatedAt": "2026-09-15T18:08:40.827863+03:00", "UpdateAt": "2026-09-15T18:08:40.827863+03:00" }
>>3760669 Хранить в файле надо JSON-массив объектов, а не просто объекты через запятую. В коде, соответственно, читать файл целиком в слайс структур и работать с ним.
>>3760669 Если объем данных небольшой, можешь читать всё в память, добавлять что надо, а потом всё полностью перезаписывать в файл. Либо писать JSON объекты отдельными строками, тогда добавляя строку ты добавляешь структуру потом соответственно обратно по строкам читаешь и склеиваешь в валидный общий JSON
Гошник вкатился. Есть 3.5 года опыта, хайлоад и все дела, ранее на спринге работал в одной зеленой компании. Найм умер, даже за копейки уже не берут, не то что отклоняют, а впринципе податься то и не особо куда можно. Это и страшно что рынок реально сдох, полностью, никому впринципе не нужен айтишник хоть 10 лет опыта хоть 1 год
Пока ищу работу работаю курьером в лавке, непыльно, но так продолжается уже полгода, надежд пока не вижу на работу
Сап. В го можно одновременно у переменной поменять тип и значение? Gemini выдал такой вариант, но на него ругается VSCode: val := 42 val := "Строка " + strconv.Itoa(val)
>>3762884 Если объявить переменную как пустой интерфейс interface{}, то можно. Но это будет не как в питоне или JS, тебе потом придётся каждый раз вручную приводить типы.
>>3762915 Выходит, мне каждый раз надо создавать новую переменную, когда читаю данные с json, привожу их к структуре, затем использую jsontext.Value().Indent(), чтобы придать читаемый вид и для перегона результата обратно в файл. После нетипизированных языков это как минимум кажется лишним нагромождением.