Как сделать свой первый проект в программировании
Перейти к содержимому

Как сделать свой первый проект в программировании

  • автор:

Искусство программирования для начинающих: с чего начать?

Программирование — это одна из самых востребованных и перспективных областей в современном мире. Многие люди мечтают научиться программировать, но не знают, с чего начать. Давайте не будем терять время и начнем!

Приходите на наш бесплатный вебинар по разработке без кода, чтобы задать вопросы, узнать больше про зерокодинг и попробовать себя в новой профессии!

Рекомендации по выбору первого языка программирования

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

  1. Определите свои цели и интересы. Разные языки программирования предназначены для разных целей и задач, поэтому определите, что вас интересует: веб-разработка, разработка мобильных приложений, научные вычисления и т.д.
  2. Рассмотрите популярные языки программирования. Начните с изучения языков программирования, которые пользуются большой популярностью и имеют широкую поддержку сообщества разработчиков. Некоторые из наиболее популярных языков программирования: Python, Java, JavaScript, Ruby и C++.
  3. Учитывайте доступность материалов для изучения. Проверьте наличие книг, видеоуроков и онлайн-курсов на выбранном языке программирования. Лучше выбрать язык, для которого доступны обучающие материалы, легкие в понимании и изучении.
  4. Соотнесите язык программирования с вашими навыками. Если вы уже знакомы с каким-то языком программирования, то выбор следует сделать в его пользу. Например, если вы знаете язык разметки HTML и CSS, можете рассмотреть JavaScript для разработки веб-приложений.
  5. Попробуйте несколько языков программирования. Выбор первого языка программирования не всегда легок. Рекомендуется попробовать несколько языков программирования, чтобы понять, какой из них подходит лучше всего для вас и для ваших целей.
  6. Не забывайте про сообщество разработчиков. Наличие активного и развитого сообщества разработчиков является важным фактором при выборе языка программирования. Взаимодействие с опытными разработчиками поможет быстрее освоиться с языком программирования и получить ответы на возникающие вопросы.

Изучение базовых концепций

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

  1. Понимание алгоритмов:
    • Алгоритмы — это последовательности шагов для достижения конкретной цели.
    • Понимание алгоритмов поможет начинающим программистам лучше понимать, как работает программа.
  2. Переменные:
    • Переменные — это контейнеры для хранения данных, которые могут быть изменены во время выполнения программы.
    • Начинающим программистам необходимо понимать, как объявлять переменные, каким типом данных они являются и как им присваивать значения.
  3. Условные операторы:
    • Условные операторы — это конструкции, которые позволяют программистам контролировать, какая часть кода будет выполнена, в зависимости от условий.
    • Понимание условных операторов позволит начинающим программистам писать более гибкий код.
  4. Циклы:
    • Циклы — это конструкции, которые позволяют программистам повторять выполнение кода несколько раз.
    • Начинающим программистам нужно знать, как использовать циклы for и while для повторения кода и как прерывать циклы при необходимости.
  5. Функции:
    • Функции — это блоки кода, которые могут быть вызваны из других частей программы.
    • Начинающим программистам нужно знать, как объявлять функции, какие аргументы они принимают и как возвращают значения.
  6. ООП:
    • ООП (объектно-ориентированное программирование) — это подход к программированию, основанный на создании объектов, которые имеют свойства и методы.
    • Начинающим программистам необходимо понимать основные концепции ООП: наследование, инкапсуляция и полиморфизм.

Рекомендации по тому, как продолжать учиться программированию после старта в IT

Вот несколько рекомендаций, как продолжать обучение:

  1. Развивайте свой проект. Если вы успешно завершили свой первый проект, то попробуйте усовершенствовать его. Добавьте новые функции, улучшите интерфейс или оптимизируйте код.
  2. Изучайте новые технологии. Технологии быстро меняются, поэтому важно быть в курсе новых тенденций в программировании. Изучайте новые языки программирования, фреймворки и библиотеки.
  3. Участвуйте в сообществах программистов. Присоединяйтесь к сообществам программистов, где вы можете обмениваться опытом, получать отзывы и советы от опытных коллег.
  4. Решайте задачи и участвуйте в соревнованиях. Решение задач и участие в соревнованиях по программированию поможет вам улучшить свои навыки и научиться решать сложные задачи.
  5. Изучайте источники информации. Читайте блоги и статьи о программировании, смотрите видеоуроки и онлайн-курсы. Изучайте код других программистов и анализируйте его.
  6. Практикуйтесь. Ничто не поможет вам стать лучшим программистом чем практика. Разрабатывайте новые проекты, решайте сложные задачи и работайте над своими навыками.

Заключение

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

Запомните, что программирование — это непрерывный процесс обучения. Даже опытные программисты всегда находятся в поиске новых знаний и навыков. Поэтому продолжайте изучать программирование и усовершенствовать свои навыки, и вы достигнете успеха в этой области.

Надеемся, эта статья помогла вам разобраться, с чего начать изучение программирования и дала необходимую базу знаний для дальнейшего самостоятельного обучения. Верим, что с вашим трудолюбием и настойчивостью вы обязательно достигнете своих целей в этой увлекательной области. Для расширения знаний в области IT-индустрии, начинающим программистам мы рекомендуем обратить на наши курсы, статьи и другой уникальный контент на zerocoder.ru.

Часть 1. Создание и настройка проекта, работа в редакторах microStudio

Я решил повременить с написанием статей на тему microStudio, собрать больше информации, почитать вопросы в своей группе ВК (спасибо большое авторам этих вопросов), чтобы дать больше информации в этой статье.

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

Спешу вам сообщить, что microStudio с недавнего времени доступна на русском языке (кроме уроков). Уроки тоже будут переведены.
Да, у перевода еще есть недочеты, но по большей части они не существенны. Все ошибки будут исправлены. Вы можете высказать свои замечания по поводу перевода здесь — это очень поможет сделать его еще лучше.

Выражаю свою благодарность автору перевода microStudio — это действительно большая и кропотливая работа.

Эту статью я пишу в виде обучающего материала для людей, которые хотят попробовать поработать в этой среде программирования.
Статья будет состоять из нескольких частей, так как целиком она получится слишком большой и не удобной для чтения.

Итак, в этой статье я расскажу:

Я пропускаю шаг с регистрацией, но если это вам понадобится, то вот ссылка на статью в группе ВК. Там я довольно подробно все описал, единственное что вы можете зделать для удобства, так это включить сначала русский язык. Это очень просто сделать:

Выбор языка

Важно! После регистрации обязательно подтвердите эл. почту — иначе не все функции будут доступны. Так же они не будут доступны, если вы работаете над проектом на правах гостя. Например такие функции как сохранение проекта и импорт файлов не будут доступны.

Как создать проект

Все предельно просто:

Кнопка

После регистрации перед вами будет это окно, где кнопка «Создать новый проект» говорит сама за себя.

Скажу немного забегая наперед: когда у вас уже открыто окно проекта, а вы хотите создать новый, то просто выйдите из текущего проекта над которым вы работаете. Для этого нажмите кнопку «Назад к проектам»:

Кнопка

И тогда перед вами снова окажется стартовое окно, где можно создать новый проект.

Когда вы нажмете создать проект, перед вами будет это окошко:

Создание проекта

Вы можете дать название вашему проекту и нажать «Создать проект». Но сначала я расскажу о возможных настройках, которые можно применить при создании проекта.

Как настроить проект

Настройка проекта

В этом окне мы должны, прежде всего, дать имя проекту. Так же можно настроить дополнительно:

  • Тип проекта: приложение(игра, демо); библиотека; урок.
  • Поддерживаемый язык: microScript v1 — интерпретированный; microScript v1 — транслированный; Python, Lua, JavaScript.
  • Графическая библиотека: базовый графический API; micro 2D (на основе Pixi.js); micro 3D (на основе Babylon.js); Pixi.js; Babylon.js.
    Все, кроме базового API, пока доступны в виде эксперимента. Вы можете прочитать подробнее об экспериментальных функциях на
    сайте сообщества microStudio(статья автора microStudio). В настоящее время идет работа над новой версией microScript. Вы также можете прочитать подробнее об этом, в статье автора,на сайте сообщества. Язык microScript v2 будет включать в себя весь microScript v1. Таким образом, проекты написанные на microScript v1 будут прекрасно работать и с новой версией языка. Вот например, какие новые функции появятся: двоичные операторы, многострочные комментарии, проверка типов, возможность приостановить выполнение на определенное время (по типу процедуры delay в Pascal).
  • Дополнительные инструменты и библиотеки: matter.js — 2D физический движок; cannon.js — 3D физический движок. Эти библиотеки также имеют пометку «экспериментальные».

Что ж, я проделал всю эту процедуру. Не буду экспериментировать, оставлю все настройки как есть и создам проект «Test project». Скриншоты именно с этого проекта я и буду приводить в статье.

После того как настройки произведены, нажмите кнопку «Создать проект».

Перед нами будет окно проекта. Здесь, во вкладке «Настройки», также можно подключать и отключать дополнительные параметры. Кроме того там есть и другие настройки. Кликните по вкладке «Настройки»:

Настройки проектаНастройки проекта

В этом разделе можно:

  • поменять имя проекта;
  • Изменить метку (slug) проекта;
  • Изменить секретный код проекта. Это набор символов известный только вам. Эти символы будут добавлены в конец URL адреса только тогда, когда проект является приватным, таким образом этот набор символов скрывает проект от других пользователей. Если вы сделаете проект публичным, то секретный код не будет прописан и другие пользователи смогут просматривать ваш проект;
  • поменять настройки ориентации экрана;
  • поменять настройки соотношения сторон;
  • В самом низу, на скриншоте, мы видим те же самые параметры, которые можно было настроить при создании проекта. Их также можно менять здесь, в любое время.

Если вы работаете онлайн, то проекты хранятся в облаке. Здесь можно узнать сколько места занимает ваш проект — «Использование хранилища».
Узнать сколько места занимают все ваши проекты можно кликнув в верхнем правом углу страницы, там где отображается ваш никнейм и выбрать «Настройки»:

Пользовательские настройкиПользовательские настройки

По умолчанию у вас стандартный тип аккаунта. Для этого типа аккаунта доступно 50 Мб в хранилище. На самом деле это давольно много места для проектов microStudio — они очень легковесны. Трудность возникнет, например если в проекте очень много звуковых файлов и хранилище заполнено. Решить такую проблему можно тремя способами:

  • Хранить звуковые файлы на жестком диске компьютера и загружать их только тогда, когда они вам понадобятся и удалять, когда они не нужны.
  • Скачать офлайн версию microStudio — тогда хранилищем для ваших проектов станет жесткий диск (путь расположения папок с проектами может выглядеть так: C:\Users\User\AppData\Roaming\microstudio\files\).
  • Последний способ это поддержать microStudio на Patreon и получить больше места в хранилище.

Чтобы выйти из пользовательских настроек и вернуться к окну проекта кликните по кнопке «Создать» на панели сверху или нажмите ← в браузере.

Работа с редакторами

Редактор кода

Когда вы запустите только что созданный проект на экране появится окно проекта, а слева его редакторы. Сейчас нас интересует редактор «Код».

Редакторы кода, спрайтов, карт, звуков, музыки и документации проекта.

Раздел «Код» первый в списке, он уже открыт по умолчанию и сейчас мы видим на экране редактор кода, окно запуска и консоль. Это самый главный редактор/раздел проекта. Именно здесь пишется программа, запускается и тестируется проект. Но обо всем по порядку.

Окно запуска проекта

В правой верхней части страницы расположено окно запуска проекта.
Кнопки и ссылки, слева направо:

  • кнопка «Запустить проект»
  • кнопка «Приостановить выполнение»
  • кнопка «Перезапуск проекта»
  • кнопка «Открепить окно запуска»
  • QR код проекта
  • URL адрес проекта

Если вы нажмете кнопку «Запустить проект», то появится еще одна функция:

Кнопка

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

Кликнув по этой кнопке мы вызовем это меню:

Кнопка «Сохранить» сохранит файл в формате PNG на жесткий диск вашего компьютера. Значения ширины и высоты этого изображения будут соответствовать значениям ширины и высоты окна выполнения.
Кнопка «Установить в качестве плаката проекта» установит плакат проекта, который будет виден в разделе «Мои проекты»:

Отображение плаката проекта (я нарисовал пару квадратов, один поверх другого, для примера и сделал их скриншот в окне выполнения).

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

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

Что касается QR кода, это на самом деле полезная функция, если мы хотим тестировать приложение на мобильном устройстве, то можно отсканировать код и запустить проект, а не вбивать ссылку в поисковую строку.

Чтобы отсканировать код, сначала кликните по нему левой кнопкой мыши — тогда он станет хорошо виден:

QR код для открытия проекта на мобильном устройстве

Если вы кликните по ссылке проекта, то он откроется в отдельной вкладке браузера.
Все изменения, которые вы будете вносить в программу, будут мгновенно отображаться на всех устройствах, где открыт этот проект, по QR коду или ссылке.

Справка: в главном окне проекта (он же раздел «код»), если в окне запуска проект запущен, то чтобы это окно было активно, нужно кликнуть в нем левой кнопкой мыши.

Под окном запуска проекта находится консоль:

Консоль

С помощью двух этих зеленых кнопок можно очистить и настроить консоль.
Консоль очень полезная вещь, вряд ли получится создать приложение, ни разу не обратившись к ней. Слишком много рассказывать о ней не буду, я думаю вы и сами изучите все ее возможности в ходе написания своего кода.
С ее помощью в microStudio вы можете, например, просмотреть поля таких объектов как keyboard , mouse , gamepad и touch . Собственно, эти объекты нужны для управления приложением/игрой.
Поля этих объектов (в большинстве случаев) определяются после того как мы нажмем клавишу или кликнем мышью или нажмем кнопку на геймпаде.

Проверить существующие переменные объекта » keyboard » можно так:

  • Запустите проект
  • кликнете левой кнопкой мыши в окне запуска
  • понажимайте любые клавиши
  • введите в консоль keyboard и нажмите Enter

В консоль выведутся значение переменных объекта keyboard . Все они равны 0 поскольку клавиши не нажаты в данный момент.
Если ввести в консоль «global», то можно просмотреть все поля microScript, ваши функции, переменные и т.п.
Также в консоли можно узнавать текущие значения глобальных переменных, задавать им новые значения по ходу программы — но думаю, больше вы узнаете сами, когда приступите к написанию своей программы.

Ну и на последок: в консоли можно просмотреть историю вводов используя клавиши со стрелками ↑ ↓ .

Ввод в консоли

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

Перейдем к окну с кодом:

Окно редактирования кода

В статье «Основы языка microScript» я рассказывал об этом языке, довольно подробно. Но если вы хотите лучше понять, что из себя представляет этот язык, изучить его, то советую почитать документацию.

Подсветка синтаксиса в редакторе кода присутствует:

Подсветка синтаксиса в редакторе кода

Итак, перед нами три основные функции microScript: init() , update() , draw() . Чтобы прочитать, что о них сказано в документации, ходить далеко не надо: просто кликните по слову init и внизу всплывет справка из документации про эту функцию:

Ссылка на документацию в окне проекта

Вы можете проделать это с остальными функциями. Если вы нажмете на красную кнопку «Посмотреть документацию» вы перейдете к соответствующему разделу документации. Чтобы вернуться из документации назад к проекту, нажмите кнопку «Создать» вверху страницы.
По умолчанию подсказки включены. Чтобы отключить подсказки, кликните по ней левой кнопкой мыши или по знаку вопроса (если подсказки не активны).

Слева расположена вкладка с файлами:

Вкладка с файлами

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

Вверху, справа на скриншоте мы видим три кнопки. Слева на право: уменьшить шрифт, увеличить шрифт, поиск по коду.

«Поиск по коду» — это очень полезная вещь. Эта функция позволяет:

  • .* — поиск в регулярных выражениях
  • Аа — поиск с учетом регистра
  • \b — поиск целого слова
  • S — поиск в выделеном коде

Фильтры поиска можно применять отдельно или выбрать несколько.

Кнопка Поиск по коду с применением фильтров

Предлагаю вам изучить опцию поисковика самим, просто попробуйте использовать его при написании кода.

Я рассмотрел почти все, что есть в редакторе кода, но есть еще одна функция.
Для ее вызова нажмите Ctrl + , . Вот что появится на экране справа:

Эта функция позволяет настроить редактор кода. Вы можете выбрать другой цвет фона, например более светлый. Можете подключить Vim или VSCode.
Можно поменять стиль курсора и многое другое. Полистайте этот раздел, если хотите и посмотреть сами.
Но, все настройки сбросятся до настроек по умолчанию, при перезагрузки страницы. В автономной версии они также будут сброшены, при перезагрузки приложения microStudio.
Еще больше функций можно увидеть, если нажать F1 когда курсор активен в окне редактора кода:

Дополнительные функции и сочетание клавиш для их вызова

Редактор спрайтов

Нажмите на соответствующую кнопку, чтобы открыть редактор спрайтов.

Редактор спрайтов

Спрайт «icon» открыт по умолчанию. Этот спрайт и будет иконкой вашего проекта.
Спрайт «icon» нельзя удалить, но его можно редактировать.
Вы также можете видеть на скриншоте спрайт «poster» — это плакат проекта (тот самый скриншот, который вы можете сделать в окне выполнения), он хранится в спрайтах проекта.

Редактор спрайтов microStudio напоминает онлайн редактор Piscel. Создатель microStudio Жиль Померей говорил что брал идеи именно из этого редактора спрайтов. Собственно и использовать Piscel для рисования спрайтов для проектов microStudio можно, как и любой другой редактор, если встроенный редактор покажется вам неудобным.

Меня устраивает редактор, но в него не мешало бы добавить пару функций: «отзеркалить спрайт», «автоматически заменить все участки с определенным цветом на другой цвет». Я задал этот вопрос в сообществе и вроде как эти инструменты будут добавлены в будущем.

Сверху находится панель инструментов редактора. Слева на право: «Отменить», «Восстановить», «Копировать», «Вырезать», «Вставить», «Удалить спрайт» — в принципе они всем знакомы.

Справа находится панель инструментов для рисования спрайтов. Я не вижу особого смысла объяснять, что там находится (эти инструменты есть во всех графических редакторах), но кое-что все же поясню.

Инструмент «Пипетка» также доступен, если вы удерживаете клавишу Alt. Немного поработав с редактором, вы поймете, что там нет еще одного необходимого инструмента — «удалить участок с определенным цветом». Этот инструмент легко заменяет инструмент «Заполнить». Просто выберите этот инструмент и установите для него минимальное значение непрозрачности (opacity). Теперь с помощью этого инструмента можно легко удалять участки с определенным цветом. Вот пример:

Удаление участков с определенным цветом

За пару кликов я легко удалил фон. Теперь когда фон стал прозрачным, давайте проверим, как такой значок будет отображаться на рабочем столе, для этого я сделал сборку для Windows и сделал скриншот ярлыка:

Ярлык приложения

Совет: всегда возвращайте значение opacity для инструмента заливки и рисования обратно по умолчанию (до максимума) если закончили рисовать. Это нужно потому, что когда вы снова вернетесь в редактор и начнете рисовать, может произойти так, что вы забудете выставить непрозрачность на максимум и будете рисовать в слегка непрозрачном цвете — это можно спутать с более темным оттенком цвета. На скриншоте ниже значение opacity равно 75% и выбран самый насыщеный и яркий оттенок красного цвета, но на глаз, в редакторе, это может восприниматься как более темный красный цвет, нежели прозрачный. Это происходит из-за темного фона позади спрайта:

Значение opacity = 75%

Вы можете не сразу понять, в чем дело — почему цвета потемнели. Или можете вообще не заметить что они темные и нарисовать пару спрайтов используя полупрозрачные цвета.
Установим
opacity на 100%:

Значение opacity = 100%

Поэтому будьте бдительны.

Краткое отступление: вы могли заметить некоторые артефакты на моих скриншотах. Это не дефект среды microStudio. Это сбой в работе моего браузера. Я пока не знаю в чем может быть проблема, но решу ее как только дойдут руки. Если вы знаете в чем может быть проблема, то напишите пожалуйста в комментариях.

Сделаем фон снова прозрачным. И посмотрим, как такая иконка будет смотреться в окне выбора проектов:

Прозрачный фон иконки проекта стал черным

Фон стал черным. Поэтому учитывайте эту особенность, особенно если хотите сделать проект публичным (такая иконка не всегда может смотреться красиво).

Итак, я обещал показать как из плаката проекта можно сделать иконку.

Выбираем иконку проекта и устанавливаем ей значения ширины и высоты которые нам понадобятся. По максимуму можно выбрать 256х256 пикселей. В качестве примера я и выбиру максимальное значение.

Выбираем наш постер и с помощью инструмена «Выбрать» обводим нужный нам участок соответствующий размерам иконки.

Копируем участок постера размером 256х256 пикселей

Чтож, возможно ваш постер будет не подходить для этого по размерам. Поэтому вы можете его переделать: поменять размеры окна запуска и снова сделать скриншот. Максимальные размеры постера, которых вы можете добиться: 640х360. Менять размеры можно путем перетягивания стенок с помощью мыши:

Делаем окно запуска больше

Второй вариант это сделать иконку приложения немного меньше, если не хотите менять размеры постера.
Теперь выбираем «Вставить». Вот что у меня вышло:

Иконка из постера проекта

Еще скажу пару слов про эти инструменты:

Инструмент

Инструмент «Скопировать цвет»: если вы кликните левой кнопкой мыши по строке «rgb(255,0,0)» , то скопируете эту же строку кода, которую затем сможете использовать в своей программе. Вы скопируете именно то значение цвета, которое выбрано в редакторе. В данном случае эта строка соответствует красному цвету, который я использовал в примерах выше.

Инструменты для рисования тайлов помогут вам в создании тайловой графики для игр. Просто попробуйте поработать с этими инструментами — вы разберетесь с ними за пару секунд.

На моих скриншотах вы могли заметить одну неприятную особенность:

Палитра и инструмент

Это происходит из-за небольшого разрешения экрана моего монитора — 1366х768. Это мой монитор с антибликовым покрытием и мне действительно приятнее работать с ним, несмотря на такую особенность. Меньше нагрузка на глаза, да и привык больше. Но я проверил, как будет отображаться это на full HD мониторе:

На full HD мониторе все отображается нормально

Если у вас есть такая проблема, что палитра съехала вниз и не видна, то самое простое решение для этого: поменять масштаб в браузере. Зажмите Ctrl и повращаете колесом мыши. Выставите значение 80-90% процентов и все будет отображаться нормально.

Импорт спрайтов

Сделать это просто — перетяните спрайт в окно со спрайтами и он будет импортирован. Формат изображения должен быть PNG или JPEG. Максимально допустимые размеры изображения: 1024х1024.

Скоро в редакторе спрайтов будет добавлена возможность хранить спрайты в отдельных папках — что очень удобно. Вот так это будет примерно выглядеть:

Добавить спрайт/Создать папку

Экспорт спрайтов

Экспортировать спрайты можно вместе с проектом:

Экспорт проекта

Нажав кнопку вы загрузите архив вашего проекта. В соответствующей папке будут находиться ваши спрайты:

Все изображения хранятся в папке

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

Пишите свое мнение и вопросы в комментариях, я всегда с удовольствием отвечаю. А также подписывайтесь в группу ВК, поддержите ее активом, я также пишу там статьи на тему microStudio время от времени, отвечаю на вопросы, даю примеры кода на microScript.

И как всегда, спасибо за внимание!

10 способов научиться программировать самостоятельно

Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.

10 способов научиться программировать самостоятельно

Cколько стоят курсы Coursera и можно ли учиться бесплатно? Рассказываем

Как научиться программировать? Начните с малого… и будьте терпеливы

Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, потратив одни выходные на изучение основ Python, а другие, к примеру, на Django. Взяв учебник, он удалял написанный код и снова проходил материал с нуля.

Начните с основ и будьте терпеливы к себе. Разделите свой первый проект в программировании на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

Python-хокку и Data Science для карьериста: 15 новых книг о разработке

Начать программировать можно с приложения для детей

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

Не имеет значения, сколько вам лет — даже детские анимационные приложения могут научить основам программирования. А у edX есть курс обучения по Scratch.

Популярные бесплатные курсы по разработке на dev.ИТ-курсы

Пройдите онлайн-курс

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

Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Один из лучших — гарвардский онлайн-курс CS50 на edX. Кстати, его можно пройти бесплатно.

11 лучших сертификаций Coursera чтобы освоить новую специальность (август 2023)

Бесплатные книги по программированию

Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти коллекцию из более чем 500 бесплатных книг по программированию. Там же есть и электронные книги, охватывающая 24 языка программирования.

Повысить свою эффективность: чтение от директора по продукту Google

Изучайте, играя

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

Некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы сможете и весело провести время, и научиться новым навыкам в IT.

Обучение через познание: 10 игровых платформ для начинающих программистов

Найдите наставника или станьте им

Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание поможет вам лучше структурировать информацию, а может и открыть в себе навыки учителя и наставника.

Разберите чужой код

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

Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО.

Лучшие Проекты Для Начинающих Python-Разработчиков

Чтобы научиться ходить – надо ходить, чтобы научиться подтягиваться – надо подтягиваться, чтобы научиться решать задачи по физике – надо решать задачи по физике. Так говорил преподаватель физики в моём университете, и эта аналогия применима и к программированию.

Можно сколько угодно упираться в сухую теорию, но без применения своих знаний на практике научиться программировать невозможно. В этой статье я подобрал несколько проектов для начинающих python-разработчиков. Эти проекты помогут закрепить теорию, применить полученные знания на практике и набить руку в написании кода. Некоторые из них даже можно добавить в будущее портфолио. Я объясню, чем хорош каждый проект, какие навыки и темы он позволяет проработать, а также сориентирую какие библиотеки и технологии можно использовать для его реализации.

Цель данного «топа» – это не создание самого оригинального портфолио и не перечисление уникальных проектов. Цель статьи разобраться в простых вещах, технологиях и темах, которые помогут развить практические навыки программирования. Поэтому не стоит ждать здесь сборку Оптимуса Прайма, программирование Звезды смерти и создание двигателя на китовом жире. Мы пройдёмся по простым, но в тоже время базовым вещам. Ведь как говорил один мой приятель: «Всё великое начинается с малого».

Парсер

Первый проект в списке – парсер сайтов. Это программа, которая просматривает код веб-сайта и получает оттуда какую-то информацию.

Предположим, есть сайт «Авито». Мы можем сделать программу, которая будет «как бы заходить» на Авито; просматривать объявления из раздела «Аренда квартир в Москве» (через программный код на страницах); и записывать в текстовый файл информацию из этих объявлений.

Пусть скрипт пишет в файл ссылку на объявление, контактный телефон, цену и описание. Затем этот файл сортируется по цене аренды, и на выходе мы сможем выбрать самые дешёвые квартиры. Такая программа и будет являться парсером или, как их часто называют, веб-скрапером.

В тренировочно-образовательных целях необходимо всё сделать максимально вручную, но без фанатизма. Поэтому используем модуль requests для работы с сетевыми запросами (для получения кода сайта, регистрации, авторизации). Библиотека BeautifulSoup понадобится для разбора и выдергивания информации из HTML-кода сайта, который мы получили с помощью requests.

Разработка парсера заставит разобраться с тем, что такое, зачем нужны и как работают сетевые протоколы HTTP/HTTPS. Придётся выяснить, что такое HTTP-запрос – из чего он состоит; как работать с GET, POST, PUT, DELETE-запросами; чем они отличаются; как формировать заголовки запросов. Предстоит покопаться со статус-кодами, URL-адресами, схемами авторизации, сессиями, редиректами, прокси и куки-файлами. Параллельно познакомиться с форматом JSON и вникнуть в HTML/CSS-код, семантику и DOM-модель веб-страницы.

Работа с сетевыми протоколами – это фундаментальные computer science навыки, без которых называть себя полноценным программистом немного не справедливо.

Мне кажется, пример с квартирами на Авито идеально подходит для пробы пера. Поэтому попробуйте написать скрипт, который создаст файл с информацией о всех трехкомнатных квартирах, которые продают в твоем городе, по цене, скажем, дороже 3 000 000 рублей.

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

Бот

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

Бот – это простой проект, но в тоже время, он даст новичку навыки работы со сторонними библиотеками, асинхронностью и, что самое главное, опыт работы со сторонним API.

Однако прежде придётся разобраться, что такое API, вникнуть в понятие синхронности/асинхронности, потренировать понимание ООП, если сделать бота классом, а не просто набором функций.

Масштабировать сложность проекта можно до бесконечности. Например, прикрутить базу данных или заставить бота присылать уведомления, когда изменяются цены в интернет-магазине. Если бот как-то взаимодействует с файлами на компьютере, то придётся параллельно освоить и работу с файловой системой.

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

Загрузка (то есть деплой) бота на хостинг по типу Heroku или Google App Engine – уже отдельная история, которая также прокачает твои технические навыки.

Если хочется сделать бота ВКонтакте, то смотрим в сторону библиотек vkwave и vkbottle. Они современные, асинхронные и простые в использовании. Синхронный и уже местами забагованный vk_api использовать не советую.

Для Telegram рекомендую полностью асинхронный Aiogram.

В качестве альтернативы можно использовать модуль pytelegrambotapi. Он попроще и поддерживает как синхронный, так и асинхронный режим работы.

В случае с Discord ботами самым популярным является модуль discord.py (c 9 000 звёзд на GitHub). Он асинхронный, хорошо документирован и прост в освоении. По принципу использования и написания кода похож на Aiogram и vkwave.

Если разобраться, как работать с одной из перечисленных библиотек, то с другими проблем уже не возникнет. Этот принцип справедлив для многих модулей и фреймворков не только языка Python. Об этом я ещё скажу дальше.

Идея проекта попроще: бот, который по запросу присылает случайный фильм из файла или БД.

Вариант посложнее: бот для учёта финансов. Пишешь ему сообщение сколько денег потратил и на что. Он записывает всё в Google-таблицу, БД или Excel-таблицу и ведёт какую-нибудь статистику.

Можно сделать бота, который следит за ценами. Отправляешь ему ссылку на товар. Если на этот товар появляется скидка, бот присылает уведомление.

В случае с ботами всё ограничивается лишь вашей усидчивостью и фантазией. Ковыряйтесь на здоровье!

Веб-приложение (интернете магазин)

Если браться за создание сайта, то это должен быть не блог, не клон Instagram, не онлайн предсказатель будущего, а именно интернет-магазин.

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

В качестве усложнения проекта можно добавить систему оплаты, скидочные промокоды, раздел с лидерами продаж, кеширование, отправку чека на почту или рекомендательную систему, основанную на in-memory СУБД Redis или вообще модели машинного обучения.

А если вы совсем без тормозов, то прикрутите REST API сайта. Для этого потребуется дополнительно вникнуть в вопросы сериализации JSON-объектов, работе с сетевыми протоколами и прочему.

Разработка веб-сайта познакомит вас с паттерном проектирования MVC (модель-представление-контроллер), HTML/CSS и, возможно, JavaScript кодом.

Основываясь на своём опыте, скажу, что для освоения веб-разработки лучше варианта чем Django нет. Django большой фреймворк, в котором по умолчанию есть модули для всего, что я перечислял выше. Кроме того, он базируется на классическом, упомянутом ранее шаблоне MVC (правда там он называется MVT, но не суть).

Изучая Django придётся научиться работать с маршрутизацией, моделями данных, миграциями, контроллерами, шаблонизаторами HTML и ORM (это специальная штука, которая позволяет работать с базой данных без SQL запросов, а через питоновские объекты). Много предстоит поработать с ООП, потому что все модели данных представлены классами. Часто приходится использовать наследование.

Важно, что практически все современные популярные питоновские и не только фреймворки устроены точно также, как Django. Если вы разберётесь с Django, понять, как работает PHPшный Laravel, Jav’овый Spring или Ruby on Rails не составит труда.

Django ORM практически идентичен Eloquent из Laravel, шаблонизаторы тоже плюс/минус у всех похожи, модели и миграции отличаются чисто косметически.

Потом, для расширения кругозора, можно ещё взглянуть на микрофреймворк Flask.

Выбирайте предметную область, которая вам интересна. Любите компьютерные игры – создаём магазин игр, тащитесь по топовому шмоту – вот вам магазин одежды. Короче стараемся получить максимум удовольствия. И едем дальше.

GUI

Разработка приложений с графическим интерфейсом не является основной сферой применения Python. Однако это не значит, что GUI на нем не пишут совсем.

GUI на PyQT5

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

Для графики рекомендую использовать фреймворк PyQt, а для работы с аудио библиотеку Pygame.

PyQt – более фундаментальный и сложный графический фреймворк, чем tkinter или pysimplegui. Поэтому обратить внимание стоит именно на него. Тут по аналогии с MVC веб-фреймворками. Разберись с базовыми принципами и дальше проблем не будет. Под базой здесь я подразумеваю концепцию событий (сигналов) и обработчиков событий (слотов).

PyQt также поможет прокачаться в понимании ООП, потому что все графические объекты представлены классами, а наследование используется повсеместно.

Внешний вид элементов в PyQt задаётся в графическом Дизайнере ручками или с помощью CSS-свойств в коде, что делает разработку проще.

По PyQt в Интернете много уроков, есть даже отдельные книги, что также плюс.

Отмечу, что многие графические приложения основаны на шаблоне проектирования MVP (модель-представление-представитель). Это вариация шаблона MVC на котором базируются веб-приложения.

Pygame – простая и популярная библиотека для работы с мультимедиа объектами. Позволяет работать с аудио, видофайлами, а если в ней хорошо разобраться, можно и 2D игру сделать.

Data Science-приблуды

Сферы искусственного интеллекта и Data Science занимают большую часть сообщества Python-разработчиков. Да, проекты подобного рода специфичны и вникать в них всем необязательно. Но не упомянуть о них я не мог.

Анализ данных – гигантская область, в которую входит математика, computer science и программирование. Разбор всех этих тем выходит за рамки данной статьи и заслуживает отдельного цикла.

Как по мне интересный проект – анализ настроения пользователя по его комментарию на форуме, или на вполне конкретном сайте, например, Кинопоиске. Оригинальностью проект не блещет. Но покопаться придётся.

Это задача из сферы обработки естественного языка (Natural Language Processing или NLP). Для работы с NLP стоит обратить внимание на библиотеки: NLTK, TextBlob, spacy, Gensim и CoreNLP. Пара слов о каждой.

NLTK – основная библиотека для NLP, позволяет обрабатывать тексты для классификации, токенизации, стемминга, разметки, фильтрации, работать с семантическими рассуждениями и многим другим. В первую очередь знакомиться именно с этой библиотекой.

TextBlob – обёртка над NLTK, которая предоставляет простой интерфейс для этой библиотеки. Иногда ею просто удобнее пользоваться.

spacy – модуль, который помогает решать спектр задач: от определения частей речи и выделения именованных сущностей, до создания собственных моделей анализа.

Gensim – библиотека тематического моделирования. Позволяет обрабатывать тексты, работать с векторными моделями слов (например, Word2Vec или FastText) и создавать тематические модели текстов.

CoreNLP – модуль для распознавания свойств текста.

Пока далеко не ушли от кино. Вспомним одну из классических задач машинного обучения – разработку системы рекомендаций. Рекомендательная система – это программа, которая будет угадывать предпочтения пользователя в плане выбора фильма. Для её написания придется научиться работать с такими базовыми библиотеками для любого data scientist’а как Pandas, Numpy, Matplotlib и Scikit.

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

Следующий большой класс задач – компьютерное зрение. Не мудрствуя лукаво, создаём приложение, которое по фото или видео определяет наличие/отсутствие маски на лице человека. Самая ходовая библиотека компьютерного зрения – это OpenCV. Её и предстоит изучать. Также стоит ознакомиться со сверточными нейронными сетями и концепцией deep learning в целом. Обучающие data-сеты для любого из указанных проектов можно спокойно найти в Интернете.

В этом топе, как и в большинстве интернет-подборок, не оказалось из рядя вон уникальных проектов. Почему так? Почему большинство python-каналов переполнено роликами по написанию однотипных ботов, парсеров и скриптов? Все просто! Все перечисленное – это базовые вещи, отвечающие за понятные базовые навыки, через развитие которых необходимо пройти каждому python -разработчику.

Чтобы найти что-то по-настоящему оригинальное, предлагаю поделиться вашими идеями интересных pet-проектов в комментариях.

Знаете, учиться всегда тяжело. А по началу очень тяжело. Но я в тебя верю! Господь тоже в тебя верит! Но на всякий случай, для подстраховки, он создал тебе в помощь Google. Не забывай про это.

P.S. Также есть видеоверсия данной статьи на YouTube.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *