Шаг 0: Введение в программирование

Подобных бесплатных статей, книг, учебников, курсов и интерактивных сервисов очень много в сети. Данный курс статей содержит параллельное изучение сразу нескольких языков используемых для создания сайтов и веб сервисов. Главная идея дать целостное представление о разработке и сразу начать писать приложения и сайты, понимая какие знания важные а какие нет, постепенно углубляться в интересующие языки и библиотеки. Скорость обучения зависит от многих факторов, но единственный способ стать хорошим программистом (это касается любой профессии) — это много практики. Люди часто себя недооценивают и долго мусолят одно и тоже или очень медленно продвигаются в обучении. Не надо медлить. Информации очень много всю ее никто и не держит в голове. Главный секрет любого профессионала — это знать где посмотреть и представлять как работает. Например юрист не держит в голове точные формулировки законов, но он знает где подсмотреть, тем более законы часто меняется и информация устаревает. Именно с такой тактикой и стоит обучаться. От разработчика требуется выполнить качественный код как можно быстрее и все, разработчики профессиональные пользователи поисковиков. У вас не вырастут мышцы только от того, что вы прочли 10 книжек о том как их накачать. Итак, эти статьи не из разряда «программирование для чайников», потому что вы не чайник!

В этом курсе приведены не все возможности/команды различных языков, не следует забивать память заучивая их. Ваша задача научится спрашивать поисковик, например «js как создать элемент» или «jquery отправка формы» или «php как узнать адрес страницы». Это позволит быстро и комфортно обучаться и привыкнуть к большому количеству информации не запоминая ее. Ваша задача научится быстро отвечать на вопрос, даже если язык что-то не умеет, вы легко найдете подсказки в решении своей задачи, например написанную библиотеку, или кусок кода. Данный подход расширяет возможности благодаря вашей фантазии.

Не надо быть перфекционистом и идеалистом, любой рабочий код — это хорошо. Почти у всех крупных проектов код выглядит как франкенштейн, а в некоторых местах еще страшнее и неуклюжее. Поэтому и появилась оптимизация. Делайте как умеете, только так вы научитесь делать лучше. Даже если это неправильно! Помните, вы выбираете самый лучший вариант из тех что у вас есть на данный момент времени. С опытом у вас появится больше таких вариантов и чувство уверенности. И вот еще что windows переделывал свой продукт очень много раз, 2000, 98, XP, думаете 10 последний? А там сотни умных «дядек» и «тётек»! Ошибайтесь и учитесь.

Клиент-сервер

Сервер — это машина на которой хранится сайт и к которому обращаются с запросом «а покажи ка нам страничку такую-то». Клиент — это браузер, например гугл хром или опера который посылает запрос к серверу. Так вот html, js, css обрабатывает клиент, т.е. браузер. А php и db обрабатывает сервер. В мире практикуется разделение на фронтенд и бэкенд разработчиков. Это значит что одни много пишут для клиента, другие для сервера.

Программное обеспечение

Для разработки потребуется локальный сервер, это сервер на вашем компьютере который не доступен через интернет. Локальный сервер полностью повторяет боевой (его так и называют «бой», вносить правки на бою — значит изменять файлы, которые сразу увидят клиенты). Конечно настройки будут разные, т.к. задачи разные, но в целом все одно и то же. Настройка серверов, сетей это уже другое направление. Для разработки можно взять Open Server, он распространяется бесплатно, или найти любой другой сервер. Можно купить хостинг, тогда он сразу будет доступен в сети. Для написания кода будем использовать notepad++. Это все больше ничего не потребуется.

HTML — язык разметки, с помощью разметки мы создаем «макет» сайта. Например представьте, как вы обозначаете квадратами что будет находится в комнате: этот квадрат — стол, этот — диван, а этот — шкаф.

CSS — стили сайта, мы можем указать какие размеры, цвет, расположение, отступы имеет указанный блок, созданный html.

Java Script (далее JS) — динамический язык, создан для управления объектами на странице. Например изменить цену товара при увеличении количества.

PHP — серверный язык. С его помощью мы обрабатываем все данные которые хранятся у нас в базе данных, работаем с файлами, можем отправлять email, в общем все работы с сервером.

MySql или MariaDB (далее DB — database) — база данных, это таблица, в которой хранятся данные, такие как имя пользователя, цена товара, дата регистрации, текст статьи, в общем все что необходимо.

Чтобы создать сайт, нужно: написать html разметку, большую (если не всю) часть разметки генерирует js и php. Потом в нее подключается css и js. С помощью js можно динамически изменять html и css, а также взаимодействовать с php. Из этого вы должны понять, что все взаимосвязано и одни и те же задачи можно решить совершенно разными способами.

Пути

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

Полные пути:

C:/site/www/test/index.php
https://site.ru/test/index.php

Относительные пути, (мы в папке test):

/index.php