Найти тему
Я, Golang-инженер

#6. Дорожная карта backend/frontend и примеры кода

Оглавление

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

В первой части статьи поговорим о терминологии, во второй расскажу о hard-skills для backend и frontend разработчика, в третьей части приведу несколько вариантов решения типовых задач обучения для конструкции if.

Термины

Почитал опыт трудоустройства разработчиками людей, после IT-курсов. Запомнился комментарий на собеседовании: "Чему вас там учили, у вас нет даже базовых знаний".

Не знаю, почему после курсов нет базовых знаний. Для того, чтобы базовые знания точно были, заведу привычку публиковать термины из IT, чтобы повысить свои hard-skills. Термины публикую без особой системы, а их смысл стараюсь передать своими словами.

Переменная - поименованная область памяти, адрес (имя) которой можно использовать для доступа к данным (значению переменной). Умение сопоставить суть переменной с её наименованием - важный навык разработчика для упрощения понимания кода другими разработчиками. В #Golang есть длинный и короткий способ задать переменную, а навык, где какой способ использовать, нарабатывается с практикой. Где возможно, лучше использовать короткий способ (i := 7).

Оператор - символ, который объясняет компилятору, какое математическое или логической действие следует совершить. Существуют арифметические операторы (+ - * / и другие), операторы сравнения (== > < >= <= !=), логические операторы (&& || !), операторы присваивания (= += -= *= и другие), побитовые и другие операторы (& и *).

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

Приоритет операторов - последовательность выполнения операторов. Одни операторы имеют приоритет над другими: например, умножение приоритетнее сложения, и будет выполнен раньше. От умения понимать приоритет операторов зависит работоспособность кода.

Спецификатор - набор символов, интерпретируемый компилятором определённым образом (%v, %s и т.д.). Спецификаторы нужны, чтобы упростить вывод сложных данных.

Экранирование - замена в тексте строки управляющих символов на соответствующие текстовые подстановки. Полезно, когда нужно вывести (на печать) спецсимволы. А ещё экранирование позволяет писать комментарии в коде, которые компилятор не обрабатывает.

Управляющие символы - символы для форматирования строк. Начинаются с \, например \n, сообщает компилятору, что нужно создать новую строку.

Комментарий в коде - разъяснение действий программиста в одну или более строк. Может быть полезно для понимания порядка действия программы, рекомендаций к правкам при проверке кода другим программистом и др. информации.

Натуральные числа - числа, возникающие естественным образом при счёте (например, яблок): 1, 2, 3 ... 275 ... и далее, до бесконечности.

Бесконечность не предел. Фото с www.pexels.com
Бесконечность не предел. Фото с www.pexels.com

Профильные навыки

Нашёл интересную информацию на yollection.ru. Yollection позиционируют себя, как помощника в выборе и изучении профессии в сфере IT. Мне понравилось их название - сокращение от "Your" и "collection", что означает "Твоя коллекция"

Ниже приведу навыки для backend-разработчика, frontend, а также для Go-разработчика от Yollection

Backend

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

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

Frontend

Задача frontend-разработчика - визуально наполнить сайт и связать его с backend'ом. А при необходимости, реализовать вычисления на стороне посетителя сайта (по сути, не мы переходим на сайты, а кусочки сайтов скачиваются к нам на ПК во время сёрфинга в интернете).

Изучение Golang

От juniora (первый и второй слайды) до middle

Разбираем дорожные карты

Дорожная карта в проекте - общий обзор целей и результатов проекта. У нас проект - стать Go-разработчиком.

Для Fronted и Backend есть одинаковые навыки и знания: базовые знания работы интернета, HTML, CSS, JavaScript, система контроля версий, веб-безопасность, прогрессивные веб-приложения. Эти инструменты полезно изучать в первую очередь, вместе с языком программирования.

Есть ещё #FullStack разработчик, который владеет инструментами Backend и Frontend.

Full Stack - боевой маг программирования, который мастерски разбирается во Frontend и Backend и применяет знания на практике.

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

Примеры кода Golang

Для разработчика важна насмотренность. Для улучшения hard-skills, приведу пять типовых задач по обучению программированию. Задания и решения взяты с бесплатного курса "Программирование на Golang". Курс рекомендую, о нём я писал в предыдущей статье.

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

В программах мы не прописывали помощь пользователю: какие данные нужно ввести, - т.е., не выводили подобные сообщения:

fmt.Println("Введите четырёхзначное число:")

Не делали этого, т.к. проверка работ на курсе производится роботом, а для него это лишняя информация. Чтобы воспользоваться программами, скопируйте код из GitHub, например, в песочницу replit.com

Задача №1 на условные конструкции

На ввод подается целое число. Если число положительное - вывести сообщение "Число положительное", если число отрицательное - "Число отрицательное". Если подается ноль - вывести сообщение "Ноль". Выводить сообщение без кавычек

Пример ввода: 5

Пример вывода: Число положительное

Задача №2 на условные конструкции

По данному трехзначному числу определите, все ли его цифры различны.

Формат входных данных
На вход подается одно натуральное трехзначное число.

Формат выходных данных
Выведите "YES", если все цифры числа различны, в противном случае - "NO".

Пример ввода: 237

Пример вывода: YES

Задача №3 на условные конструкции

Дано неотрицательное целое число. Найдите и выведите первую цифру числа.

Формат входных данных
На вход дается натуральное число, не превосходящее 10000.

Формат выходных данных
Выведите одно целое число - первую цифру заданного числа.

Пример ввода: 1234

Пример вывода: 1

Задача №4 на условные конструкции

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

На вход подается номер билета - одно шестизначное число. Выведите "YES", если билет счастливый, в противном случае - "NO".

Пример ввода: 613244

Пример вывода: YES

Задача №5 на условные конструкции

Требуется определить, является ли данный год високосным, напомним:
Год является високосным если он соответствует хотя бы одному из нижеперечисленных условий:
- кратен 400;
- кратен 4, но не кратен 100.

Входные данные: вводится единственное число - номер года (целое, положительное, не превышает 10000).

Выходные данные: требуется вывести слово YES, если год является високосным и NO - в противном случае.

Пример ввода: 2000

Пример вывода: YES

Итоги статьи

Сегодня мы познакомились с базовыми терминами программирования, рассмотрели дорожную карту изучения FrontEnd / BackEnd и Go-разработки, рассмотрели примеры кода. Эти знания должны помочь на пути к становлению IT-специалистом.

Главное на старте изучения IT - выбрать, чему учиться в первую очередь. И учиться, конечно же, осваивать и писать код. Успехов!

Фото с www.pexels.com
Фото с www.pexels.com

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