Что нужно знать для самостоятельной разработки сайта?

Что нужно знать для самостоятельной разработки сайта?


20.01.2019
/
Алекс Айфонов

По способу предоставления данных сайты можно разделить на статические и динамические. В первом случае данные и исходный код HTML редактируются непосредственно при помощи текстовых редакторов или специальных визуальных редакторов типа WYSIWYG. Во втором случае данные вносятся в хранилище, которым может стать простой текстовый файл или база данных, а затем при помощи скриптов они извлекаются и помещаются в HTML-код.

Статические сайты удобны в тех случаях, когда они состоят из небольшого количества страниц (15-30) и их содержимое изменяется редко. Если контент постоянно добавляется, либо для отображения этого контента используется какая-то логика, то такие сайты должны быть построены с применением данных передаваемых на сервер.

Статические сайты

Статическая веб-страница представляет собой HTML-файл, расположенный на локальном или удаленном сервере в определенном каталоге (папке). Путь к этому каталогу — есть ссылка на этот файл. Каталоги могут содержать подкаталоги, за счет чего организовывается ссылочная структура.

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

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

Очень часто, особенно в последние годы, веб-страницам свойственна динамика. Всплывающие окна, визуальные эффекты и т.п. делают сайт более удобным для посетителя. Это достигается при помощи языка программирования Javascript (JS), а если быть совсем точным, при помощи специальных библиотек, написанных на этом языке. Код этого языка (скрипт) содержится в текстовом файле — он так же расположен на сервере, и файлы сайта имеют к нему доступ. Чтобы работал вообще какой-нибудь программный код, нужна среда для его исполнения, для работы Javascript такой средой является браузер. То есть скрипт обрабатывает только данные, к которым имеет доступ браузер.

Динамические сайты

JS работает с данными в браузере, но чтобы они туда попали, их можно, как говорилось ранее, вписать непосредственно в веб-страницу или извлечь из базы. База данных расположена на сервере, доступ к которой браузер при помощи JS получить не может. Чтобы это сделать, нужен серверный язык программирования и интерпретатор, понимающий его. Чаще всего используют PHP или Python, но есть множество других языков, например сейчас набирает популярность язык Go.

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

Для хранения различных данных выбирают базу данных (БД). Есть как платные, так и бесплатные серверы управления базами данных (СУБД). По сути это обычные программы, установленные на компьютере (сервере). Например, MySQL или PostgreSQL можно использовать бесплатно, это качественные серверы БД, они подойдут для большинства задач. Суть сервера в том, что он позволяет отдавать данные по специальному запросу, и так же принимать новые. Запрос составляется на языке SQL, который является универсальным языком запросов. То есть, освоив однажды работу с запросами в БД MySQL, не составит никакого труда перейти на другой сервер БД, есть, правда, отличия, но незначительные.

Серверный язык программирования позволяет взаимодействовать с сервером БД. Скрипты могут содержать как строку запроса целиком, так и формировать эти строки, следуя выбранной логике. Ответы, полученные из БД обрабатываются программными функциями или методами, генерируя HTML-код. То, что для статических страниц подготавливалось вручную, будет работать автоматически.

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



ScanFS — альтернативный инструмент поиска файлов и папок для Windows

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

Поиск и проверка значений в массиве на Javascript

Примеры поиска значений в массиве с помощью методов find, findIndex, includes, every и других.

Зачем нужен реверс-инжиниринг?

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