Блог Евгения Морозова

курсы

Certificate

Ссылка на курс на Udemy

Курс довольно простой и короткий, вопросы к курсу тоже очень простые, но курс всё равно понравился. Для новичка довольно объясняется много важных вещей, при этом очень понятным языком, и на примерах, отличающихся от Rust Book (которые используют множество других курсов), что позволяет взглянуть на язык с немного другого ракурса.

#rust #курсы #udemy #mooc

Прошёл курс по структурам данных на Stepik. Получил сертификат с отличием.

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

#stepik #mooc #курсы #алгоритмы

До нового года осталось меньше месяца, а я только нашёл эту прекрасную страницу: Learning Rust in 2020.

Я стал осторожно изучать Rust с начала 2020. Особых причин для изучения не было. Хотелось изучить какой-то новый язык программирования, чего уже давно не делал, так как не было времени и сильной необходимости. При этом не люблю языки, работающие на виртуальных машинах (видимо, сказывается нелюбовь, вызванная столкновениями с ранними версиями Java, которые всегда больше обещали, чем делали). Есть исключение: мне нравится Clojure и я делал к нему несколько подходов, но очень глубоко не погрузился. Мне не хочется изучать еще один интерпретируемый язык. Я трушу идти в экзотические и/или пуристские языки (Haskell, Scala).

Rust показался идеальной целью по многим параметрам. Он производительный и мощный — в том смысле, что может работать на голом железе, без интерпретаторов, байт кода, сборки мусора, и так далее. При этом, он высокоуровневый, но без сборки мусора, которая заменена на мощную и сложную систему управления памятью, иногда называемой «сборкой мусора во время компиляции».

После прочтения Rust Book, прежде чем перейти к написанию какого-нибудь хобби-проекта на Rust, хотелось для начала набить руку на простых примерах на сайтах типа LeetCode или CodeWars. Однако первые же попытки решить простейшие задачи на LeetCode стали вызывать серьезные трудности. Я знал, что на Rust сложно реализовывать структуры данных из-за стремления компилятора сделать программы максимально безопасными. Но не предполагал насколько, и насколько сложно решать эти проблемы имея за поясом только Rust Book, которая, всё-таки, не объясняет множество критически важных вещей.

Страница Learning Rust in 2020 немного подняла самооценку, так как на ней поясняется, что, к сожалению, задачи на LeetCode и CodeWars плохо сформулированы на неидиоматичном Rust. Предлагается несколько альтернатив, например, Exercism — сайт, на котором можно решать задачи, составленные профессионалами на идиоматичном Rust. Более того, обещается, что проверять и подсказывать будут настоящие наставники. Зарегистрировался и решил первую тривиальную задачу. Постараюсь информировать о ходе прохождения курса, концепция мне очень нравится. Но прежде надо будет закончить другой начатый курс: Learn Rust by Building Real Applications , который пока нравится тем, что доступно и просто объясняет как некоторые сложные концепции, которые не до конца объяснены в Rust Book, так и многие вещи, которые даже не были затронуты в Rust Book.

#rust #курсы #ссылки

Закончил курс Rustlings на Stepik. Это мой первый пройденный до конца курс на Stepik (до этого начинал два других курса, но там начались зубодробительные задачи, плюс возникали какие-то авралы на работе, потому бросил на середине).

Поскольку это первый пройденный курс, думал, что в конце автоматом выдадут сертификат. Старался решить все задачи. Увы, этого не произошло, на странице моего профиля на Stepik нет ни единого упоминания о том, что я закончил данный курс.

Пара слов о курсе

Фактически, это сильно сокращенный и переупорядоченный набор глав из Rust Book. Книгу до этого прочёл целиком, но вопросов оставалось больше, чем ответов. Материал довольно сложный. Курс помог двукратно: 1. Перечитывая во второй раз смог гораздо лучше понять сложные концепции. 2. Упражнения заставили разобраться в сложных областях до конца (например, в макросах), т.к. при чтении книги кажется «В общих чертах понятно, потом, когда понадобится вернусь и доразбираюсь».

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

Понравилась организация решения заданий. В IDE открывается шаблон решения, в котором достаточно добавить или изменить код, который проверяется нажатием одной кнопки. Не надо самостоятельно лезть в файловую систему, создавать проект, и т.д. на каждое задание.

Еще один плюс за то, что после прохождения первого раздела мне прислали лицензию на образовательную версию любой IDE JetBrains. Ключом не воспользовался, т.к. у меня и так приобретены лицензии на несколько IDE, включая PyCharm и CLion, но за заботу спасибо.

Недостатки курса

  • Материал плохо упорядочен, разделы скачут. Например, материал про многопоточность на самом деле начался в разделе про стандартную библиотеку.
  • Несмотря на копирование Rust Book, целые главы пропущены, если не прочитать книгу заранее, то многие разделы окажутся абсолютно непонятными.
  • Задания в плагине Stepik для IDE IntelliJ (я использовал CLion, хотя, наверное, можно установить в любую IDE IntelliJ вместе с плагином для Rust) отформатированы плохо, масса проблем в разметке. По ощущениям, никто не вычитывал курс хотя бы однажды.

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

#rust #stepik #курсы #mooc #степик