Найти в Дзене
Я, Golang-инженер

#8. Как учиться после перерыва?

Это статья об основах программирования. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением Хой, джедаи и амазонки Прервал изучение Golang на 2,5 месяца. Сейчас появилась возможность вернуться и возник вопрос - как продолжать? Многое забылось. Главное - восстановить знания. Решил, что проще всего это сделать, решая прошлые задачи, не подглядывая в предыдущие решения. А ещё наискосок посмотреть теорию по задачам. У меня задачи и решения на бесплатном курсе платформы Stepik: рассказывал об этом сайте в предыдущих публикациях. Метод эффективный, позволяет освежить знания и сравнительно быстро перейти к освоению новых навыков. По моим подсчётам, нужно 10-15 часов, чтобы восстановить знания за 2 мес. Это быстро. Из интересного обнаружил, что когда делаю старые задачи и сравниваю со старыми решениями - новое проще и элегантнее. Сравните сами: Задача Часовая стрелка повернулась с начала суток на d градусов. Определите, сколько сейчас целых часов h 
Оглавление

Это статья об основах программирования. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением

Хой, джедаи и амазонки

Прервал изучение Golang на 2,5 месяца. Сейчас появилась возможность вернуться и возник вопрос - как продолжать? Многое забылось.

Главное - восстановить знания. Решил, что проще всего это сделать, решая прошлые задачи, не подглядывая в предыдущие решения. А ещё наискосок посмотреть теорию по задачам.

У меня задачи и решения на бесплатном курсе платформы Stepik: рассказывал об этом сайте в предыдущих публикациях.

Метод эффективный, позволяет освежить знания и сравнительно быстро перейти к освоению новых навыков. По моим подсчётам, нужно 10-15 часов, чтобы восстановить знания за 2 мес. Это быстро.

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

Задача

Часовая стрелка повернулась с начала суток на d градусов. Определите, сколько сейчас целых часов h и целых минут m. В программу вводится целое число от нуля по триста шестьдесят. На выводе получаем фразу

It is ... hours ... minutes.

Где ... означают h и m, отделённые пробелом. Например, мы ввели 90 (градусов). И на выводе получили:

It is 3 hours 0 minutes.

Ниже в ленте два скриншота решения задачи: ДО и ПОСЛЕ перерыва в обучении.

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

План работы

Восстанавливаю знания примерно по 2 часа в день: решаю ранее выполненные задачи и читаю теорию. Далее каждый день изучаю Golang по 20 минут. Один-два выходных в неделю + одно занятие на час-два в неделю.

Посмотрим каким будет прогресс при таком подходе через два-три месяца. А сейчас продолжу план повышать IT-насмотренность и изучать термины. Ниже ещё несколько терминов.

Словарь IT-специалиста

DNS ( Domain Name System) — технология, которая позволяет браузеру получить доступ к сайту, зная его символьное имя, т.е. домен. Приведу аналогию: телефонная книга - это технология, которая позволит по ФИО (домену) найти номер абонента (IP-адрес). Проще запомнить ФИО, чем номер.

Домен — символьное имя сайта. Например, для этого сайта домен: zen.yandex.ru

IP-адрес (от англ. Internet Protocol) — уникальный числовой идентификатор, который позволяет поддерживать связь с компьютером/маршрутизатором/веб-сайтом, которому принадлежит этот IP. Например у этого сайта IP-адрес: 213.180.204.211. На этом IP-адресе на момент написания статьи три домена: zenadservices.net / dzen.ru / zen.yandex

Массив — упорядоченная последовательность элементов одного типа. Массив имеет фиксированную длину (в Golang).

Индекс массива — номер элемента массива. Первый элемент массива имеет индекс 0, затем 1, 2, 3 и далее последовательность натуральных чисел.

Литерала строки — код строки, включая спецсимволы (например, кавычки). Существует чистый и интерпретируемы литерал, почитать можно об этом здесь.

Значение строки — то, что выводит код программы в терминал.

Срез (в Golang) — массив переменной длины. В других ЯП срезом может называться динамический массив.

Итоги статьи

Я поделился планом, что делать, когда был перерыв в изучении языка. Продемонстрировал, что с опытом код становится проще для чтения (мы помним, что код читают чаще, чем пишут). А также изучили/освежили в памяти новые термины.

Главное - продолжать. Медленный прогресс - это тоже прогресс.

Фото автора Samson Katt: Pexels
Фото автора Samson Katt: Pexels

Бро, ты уже здесь? 👉 Подпишись на канал «Я, Golang-инженер», будем изучать IT вместе 👨‍💻👩‍💻👨‍💻