Я пробую заниматься разработкой игр на Unity. Получается как попало. А хочется по хорошему. Научиться разбивать проект на модули, встраивать отдельные системы, снизить связанность, понять как устанавливать зависимости, научиться делать тесты, разобраться с атрибутами. Делать код расширяемым! В общем - ищу наставника.
Рассказываем, что должен уметь фронтенд-разработчик. Проверьте свой уровень знаний и какие еще навыки можете развить, чтобы быть вне конкуренции.
Как работает интернет и верстка
Как бы странно это ни звучало, для начала стоит изучить принципы работы интернета. Мы настолько привыкли ко всемирной паутине, что мало задумываемся, какие процессы приводят сайты в движение: как работает клиент-серверная архитектура, что такое DNS, хостинг, домен и HTTP-протокол — все это нужно знать и понимать.
Далее переходим к базе, с которой начинается обучение на фронтенд-разработчика. У каждого сайта и приложения есть две стороны: то, что видят и с чем взаимодействуют пользователи, — фронтенд, и то, что от них скрыто, — бэкенд. Проще всего объяснить принцип на примере HTML и CSS.
HTML — это язык разметки структуры документа. Он структурирует контент и буквально формирует «скелет» страницы: выделяет заголовки разных уровней, абзацы, изображения и прочие элементы.
CSS — язык описания стилистических правил, который отвечает за то, как будет выглядеть страница. В него входят таблицы стилей, с помощью которых, например, задают шрифт, внешний вид элементов, анимацию.
JavaScript
Отвечает за работу сайта: действия при клике на кнопки, заполнение форм, всплывающие окна и прочую интерактивность. Изучение начните с основ: переменных, объектов, типов данных, классов. Потом переходите к более сложному: асинхронному программированию и запросам на сервер.
TypeScript — это язык программирования, основанный на JavaScript. Его преимущество — в дополнительных возможностях, которые позволяют создавать более надежные и поддерживаемые программы. Он строго типизирован, поэтому ошибки можно выявить еще на этапе разработки, а в команде работать с ним гораздо проще.
Системы контроля версий
Незаменимый инструмент разработчика — Git. Это система контроля версий (Version Control System, VCS), в которой поэтапно сохраняется информация обо всех изменениях в коде: в любой момент вы можете вернуться к каждой сохраненной версии.
Также стоит научиться работать с сервисом онлайн-хостинга GitHub. Вместе с Git он позволяет сохранять код и работать в команде с другими разработчиками.
В Яндекс Практикуме есть бесплатный курс по основам Git. Вы научитесь работать с ветками, объединять их и решать конфликты, использовать локальный и удаленный репозиторий, управлять им через IDE и консоль и разберетесь в принципах и культуре командной разработки.
Бандлеры
При создании сайтов и приложений разработчики делят код на части. Чтобы не подключать их вручную, используют бандлеры — сборщики модулей. Один из самых популярных — Webpack. Он достаточно быстрый и помогает оптимизировать ресурсы и оперативно подгружать изменения. Но набирает популярность сборщик Vite, и чтобы не терять актуальность своих знаний, пора осваивать и его.
Таск-раннеры
Еще один полезный инструмент. Если бандлеры собирают проект в единое целое, то таск-раннеры запускают конкретные задачи, например, минифицировать файл. Впрочем, тот же Webpack выполняет обе функции. Но лишних знаний не бывает.
Линтеры и форматеры
Линтеры и форматеры — это программы, которые помогают «причесать» код, то есть привести все его части к единому формату: расставить нужные пробелы и убрать лишние, добавить точки с запятой и скобки, где требуется, и так далее. Они особенно актуальны, когда над проектом работает несколько разработчиков.
Менеджеры пакетов
В программировании часто используются готовые решения — коды, написанные другими разработчиками и выложенные в открытый доступ. Они называются пакетами или зависимостями. Копирование файлов вручную — процесс трудоемкий, поэтому используют менеджеры пакетов: они устанавливают зависимости в проект и автоматизируют этот процесс. Самые популярные — NPM, YARN и PNPM.
Фреймворки
Фреймворк — это заготовка, шаблон в программировании, на основе которого можно дописать собственный код. Он состоит из множества библиотек и включает необходимый набор инструментов для создания проекта. React — один из самых популярных фреймворков. Он достаточно прост для новичков и постоянно развивается благодаря большому сообществу.
Веб-безопасность
Защита от киберугроз — задача первостепенной важности. Изучите HTTP и HTTPS и разницу между ними, CORS — технологию, дающую доступ к ресурсам другого домена, и CSP — политику защиты контента. Также познакомьтесь с проектом OWASP: его эксперты отслеживают и составляют список критических уязвимостей веб-приложений, что помогает поддерживать безопасность проектов.
GraphQL
GraphQL — это язык запросов данных и среда, в которой они выполняются. С его помощью получают данные из API и передают их в приложение или на сайт, то есть от сервера к клиенту. Он значительно ускоряет разработку и позволяет получать только нужные данные из разных баз.
Научиться писать код для сайтов и приложений — сложно, но реально. На курсе «Фронтенд-разработчик» вы получите все важные навыки и получите опыт работы в команде над реальной задачей — создадите и опубликуете собственное приложение! Проходите бесплатный урок, почувствуйте себя в роли разработчика и решите, хотите ли продолжить обучение.
Так, ну что там с обучением. Продолжаю грызть гранит джанги. Разбираюсь с орм и принципом mtv в питонячем фреймворке. А то сайт написал, а как он работает, не понимаю. Сейчас прочитаю теорию и снова за практику.
В контексте написания собственного движка для игр, возник вопрос о минималистичном языке программирования для скриптов и процедур.
Проблема в том, что что-то сложное реализовать достаточно просто, а что-то простое очень сложно.
Пример. Какие операторы нужны? И понеслась... Сложение, вычитание, умножение, возведение в степень, извлечение корня степени... это по минимуму.
Типы данных. И тут вагон вариантов. Сейчас мне нужны только целые и только положительные, а потом?
В результате я пришел к варианту minPRG: язык должен быть прост, читаем, определять все возможные варианты переменных без каких либо альтернатив.
Текущий вариант включает все возможные переменные, отрицательные значения оных, дробные и все необходимые математические функции.
Итого: 1 тип (условный, включающий все варианты положительных/отрицательных и дробных, максимум в 13 значимых цифр, включая точку), 9 математических функций. Добавлены операторы работы с цветом, позицией символа, таймером и минимальной работы с выводом.
Получился исполнитель линейного кода. Работает шустро, а толку чуть.
Всем привет! Хочу спросить совета у знающих людей. Хочу поменять профессию и уйти в айти. Не знаю с чего начать, где лучше учиться и как выбрать профессию. Нашел бесплатный курс, в питоне решаю самые базовые задачки, начальный уровень. Может кто нибудь подсобить чем сможет? Не знаю как вообще в этой сфере обстоит дело с образованием как это делать лучше и тд
Здесь представлен перевод книги Pajankar А. - Raspberry Pi Computer Vision Programming Second Edition. Компьютерное зрение и обработка изображений превратились из области нишевых исследований в повседневное использование. Однако, несмотря на эту революцию, одной из ключевых проблем, возникающих при разработке компьютерного зрения и разработке приложений, является отсутствие хорошо продуманного руководства, которое шаг за шагом учит вас, как это работает. Эта книга решает эту ключевую проблему.
Для всех поклонников футбола Hisense подготовил крутой конкурс в соцсетях. Попытайте удачу, чтобы получить классный мерч и технику от глобального партнера чемпионата.
А если не любите полагаться на случай и сразу отправляетесь за техникой Hisense, не прячьте далеко чек. Загрузите на сайт и получите подписку на Wink на 3 месяца в подарок.
Доброе утро, дорогой дневник. Второй день спринта 4 прошёл. Продолжаю читать описание работы Джанго, всё больше и больше понимания. Так что курс от онлайн-школы советую, особенно если получится скачать его бесплатно.