Яндекс Практикум запустил бесплатный курс «Основы Go». Это курс для тех, кто хочет оценить Go и у кого есть опыт в программировании на других языках.
Курс поможет освоить базу Go, научиться писать простые тесты, портировать код с другого языка, править мелкие баги. Учёба займёт примерно 30 часов.
Почему мы сделали этот курс
Одна из наших целей — способствовать тому, чтобы больше программистов писали на Go, внести свой вклад в развитие Go-сообщества в России и за её пределами. Поэтому мы сделали курс бесплатным — чтобы больше разработчиков оценили Go и начали писать на нём свои проекты.
Кому курс будет полезен
Бэкенд-разработчикам. Освоите Go в дополнение к С-подобным языкам и сможете использовать его в своих задачах.
Фронтенд-разработчикам. Изучите основы Go, чтобы писать бэкенд и развиваться в этой области.
Тем, кто знаком с основами бэкенд-разработки. Познакомитесь с Go, чтобы потом освоить профессию самостоятельно или на курсе для Go-разработчиков.
Чему вы научитесь на курсе
Программа объединена в три двухнедельных спринта. Если заниматься по 5 часов в неделю и изучать по одному уроку в день, можно пройти программу за полтора месяца или быстрее, в зависимости от вашего упорства и подготовки.
За это время вы научитесь:
Читать код на языке Go.
Писать простые SQL-запросы к базам данных.
Проверять работоспособность кода при помощи юнит-тестов и бенчмарков.
Переводить код на Go с другого языка программирования.
Исправлять мелкие ошибки под руководством тимлида.
Как проходит обучение
Во время обучения мы проводим аналогии с другими компилируемыми языками и делаем отсылки к языку C, поскольку сам Go является C-подобным. После завершения бесплатной программы можно углубиться в профессию Go-разработчика на платных курсах Практикума.
Теоретическая часть разбита на три блока и представлена в виде интерактивного учебника. На курсе нет записанных видеолекций, есть уроки в текстовом формате.
На курсе нет тренажёра. Практические работы вы выполняете в своей IDE.
Студенты на этом курсе учатся самостоятельно в свободном режиме, без дедлайнов и сдачи проектов. Вы можете начать учиться в любой момент: учёба асинхронная, проходит индивидуально и не привязана к дате старта потока.
При этом на курсе есть пространство для общения студентов — это Telegram-чат. Там вы можете задавать вопросы по теории и помогать другим студентам.
На курсе не предусмотрено сопровождение. Вы сможете получить помощь, оставив заявку в техническую поддержку или задав вопрос в Telegram-чате курса.
Что нужно, чтобы начать курс
Чтобы начать проходить курс, от вас потребуются знания основ бэкенд-разработки. Поэтому на курсе есть входной тест, чтобы убедиться, что курс подходит вам по сложности.
Подробную программу и все подробности можно посмотреть на сайте.
*Изображение Go gopher, используемое в настоящем курсе, является модификацией изображения маскота, созданного Renee French и лицензируемого на условиях CC BY 3.0.
Комментарии (8)
Mitch
25.06.2022 10:26За это время вы научитесь:
Писать простые SQL-запросы к базам данных.
А во входном тесте умение "простые SQL-запросы к базам данных" уже требуется кстати.a0fs
25.06.2022 11:30Учиться работать с БД в рамках языка программирования с того, чтобы учиться работать с БД в целом, ИМХО плохая затея. Ибо человек такое создание, что склонно терять лес за деревьями, а реляционная логика, понятие множеств и действий над ними, на которых она строится и общая логика работы СУБД даст достаточно деревьев, чтобы за ними напрочь, месяцев на 6 минимум, полностью потерять GO из виду =))))) Эту часть квеста лучше проходить заранее....
А в рамках топика, о ALL, а никто не порекомендует обновляемый, адекватный, online справочник по синтаксису и стандартной библиотеке Go на русском языке.
allexx
26.06.2022 17:40(уже оставил в обратной связи) однако сделаю это и тут может создаст обсуждение.
Внимание спойлеры на тест курса.
Вопрос 1 - неоднозначность
RFC 7231 §4.3.1 states that a body "has no defined semantics", but that's not to say it is forbidden. If you attach a body to the request and what your server/app makes out of it is up to you.
Вопрос 2 - неоднозначность
Being valid ECMAScript doesn't necessarily mean a document is valid JSON - JSON is generally defined in RFC 4627, and that spec does not allow the trailing comma.
Arty_Fact
26.06.2022 19:40А можете вторую пояснить? Вроде ответ с запятой в конце корректно неправильный судя по вашей же выдержке.
allexx
27.06.2022 04:51ECMAScript != RFC 4627. RFC (spec) does not allow the trailing comma.
example (python)
In [57]: import json In [58]: json.loads('''{"a": 1, "b": "2", }''') --------------------------------------------------------------------------- JSONDecodeError Traceback (most recent call last) <ipython-input-58-7660b1a33870> in <module> ----> 1 json.loads('''{"a": 1, "b": "2", }''') /usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/__init__.py in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw) 344 parse_int is None and parse_float is None and 345 parse_constant is None and object_pairs_hook is None and not kw): --> 346 return _default_decoder.decode(s) 347 if cls is None: 348 cls = JSONDecoder /usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/decoder.py in decode(self, s, _w) 335 336 """ --> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 338 end = _w(s, end).end() 339 if end != len(s): /usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/decoder.py in raw_decode(self, s, idx) 351 """ 352 try: --> 353 obj, end = self.scan_once(s, idx) 354 except StopIteration as err: 355 raise JSONDecodeError("Expecting value", s, err.value) from None JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 20 (char 19) In [59]: json.loads('''{"a": 1, "b": "2"}''') Out[59]: {'a': 1, 'b': '2'}
HellWalk
27.06.2022 11:54RFC 7231 §4.3.1 states that a body "has no defined semantics", but that's not to say it is forbidden. If you attach a body to the request and what your server/app makes out of it is up to you.
Кстати да, мне раз доводилось работать с API, в котором был GET запрос с body. Было забавно наблюдать, как одни пакеты могут с таким вариантом работать, а другие ломаются.
Licantrop
27.06.2022 00:36+1Там нет проверки решений, можно только готовый ответ посмотреть. Бесполезная фигня. На Степике курс лучше, хоть и с заморочками.
sukhe
Точно Си? Я его когда первый раз увидел, сразу Оберон вспомнил.