{"id":21711299,"url":"https://github.com/maxbarsukov-itmo/web-1","last_synced_at":"2025-03-20T18:17:44.110Z","repository":{"id":191824155,"uuid":"684992614","full_name":"maxbarsukov-itmo/web-1","owner":"maxbarsukov-itmo","description":"🕸️ Веб-программирование: Лабораторная работа №1","archived":false,"fork":false,"pushed_at":"2023-09-26T20:02:52.000Z","size":1827,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-01-25T16:42:28.477Z","etag":null,"topics":["itmo","laboratory-work","maxbarsukov","php","web"],"latest_commit_sha":null,"homepage":"https://se.ifmo.ru/~s367081/web/lab1","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxbarsukov-itmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-30T09:28:03.000Z","updated_at":"2024-09-10T18:37:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"d2fee1cc-f3f6-42a6-96f9-461216838d0c","html_url":"https://github.com/maxbarsukov-itmo/web-1","commit_stats":null,"previous_names":["maxbarsukov-itmo/web-1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbarsukov-itmo%2Fweb-1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbarsukov-itmo%2Fweb-1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbarsukov-itmo%2Fweb-1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbarsukov-itmo%2Fweb-1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxbarsukov-itmo","download_url":"https://codeload.github.com/maxbarsukov-itmo/web-1/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244666585,"owners_count":20490287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["itmo","laboratory-work","maxbarsukov","php","web"],"created_at":"2024-11-25T23:21:12.552Z","updated_at":"2025-03-20T18:17:44.087Z","avatar_url":"https://github.com/maxbarsukov-itmo.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Лабораторная работа 1\n\n## Вариант `367088`\n\n\u003cimg alt=\"anime\" src=\"https://github.com/maxbarsukov-itmo/web-1/blob/master/.resources/anime.gif\" height=\"200\"\u003e\n\n\u003e PHP doesn't suck (anymore)?!!\n\n![Build Status](https://github.com/maxbarsukov-itmo/web-1/workflows/PHP%20Composer/badge.svg)\n\n|.pdf|.docx|\n|-|-|\n| [report](./docs/report.pdf) | [report](./docs/report.docx) |\n\nРазработать PHP-скрипт, определяющий попадание точки на координатной плоскости в заданную область, и создать HTML-страницу, которая формирует данные для отправки их на обработку этому скрипту.\n\nПараметр R и координаты точки должны передаваться скрипту посредством HTTP-запроса. Скрипт должен выполнять валидацию данных и возвращать HTML-страницу с таблицей, содержащей полученные параметры и результат вычислений - факт попадания или непопадания точки в область. Предыдущие результаты должны сохраняться между запросами и отображаться в таблице.\n\nКроме того, ответ должен содержать данные о текущем времени и времени работы скрипта.\n\n### Разработанная HTML-страница должна удовлетворять следующим требованиям:\n\n- Для расположения текстовых и графических элементов необходимо использовать **табличную верстку**.\n- Данные формы должны передаваться на обработку посредством **GET-запроса**.\n- Таблицы стилей должны располагаться в **отдельных файлах**.\n- При работе с CSS должно быть продемонстрировано использование **селекторов дочерних элементов**, **селекторов элементов**, **селекторов потомств**, **селекторов псевдоклассов** а также такие свойства стилей CSS, как наследование и каскадирование.\n- HTML-страница должна иметь \"шапку\", содержащую ФИО студента, номер группы и номер варианта. При оформлении шапки необходимо явным образом задать шрифт (**fantasy**), его цвет и размер в каскадной таблице стилей.\n- Отступы элементов ввода должны задаваться в **пикселях**.\n- Страница должна содержать сценарий на языке JavaScript, осуществляющий валидацию значений, вводимых пользователем в поля формы. Любые некорректные значения (например, буквы в координатах точки или отрицательный радиус) должны блокироваться.\n\n\u003cimg alt=\"Areas\" src=\"https://github.com/maxbarsukov-itmo/web-1/blob/master/.resources/areas.png\" height=\"350\"\u003e\n\n### Вопросы к защите лабораторной работы:\n\n**Ответы**: [*новые*](https://github.com/EgorMIt/ITMO/blob/master/2%20-%20%D0%92%D0%B5%D0%B1-%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/Lab1.md) и [*старые*](https://github.com/AppLoidx/Web-Development-Cheats/blob/master/itmo-university/labs/Lab1.md)\n\n1. Протокол `HTTP`. Структура запросов и ответов, методы запросов, коды ответов сервера, заголовки запросов и ответов.\n2. Язык разметки `HTML`. Особенности, основные теги и атрибуты тегов.\n3. Структура HTML-страницы. Объектная модель документа (`DOM`).\n4. `HTML-формы`. Задание метода HTTP-запроса. Правила размещения форм на страницах, виды полей ввода.\n5. Каскадные таблицы стилей (`CSS`). Структура - правила, селекторы. Виды селекторов, особенности их применения. Приоритеты правил. Преимущества CSS перед непосредственным заданием стилей через атрибуты тегов.\n6. `LESS`, `Sass`, `SCSS`. Ключевые особенности, сравнительные характеристики. Совместимость с браузерами, трансляция в \"обычный\" CSS.\n7. Клиентские сценарии. Особенности, сферы применения. Язык `JavaScript`.\n8. Версии `ECMAScript`, новые возможности `ES6` и `ES7`.\n9. Синхронная и асинхронная обработка HTTP-запросов. `AJAX`.\n10. Библиотека `jQuery`. Назначение, основные API. Использование для реализации AJAX и работы с DOM.\n11. Реализация AJAX с помощью `SuperAgent`.\n12. Серверные сценарии. `CGI` - определение, назначение, ключевые особенности.\n13. `FastCGI` - особенности технологии, преимущества и недостатки относительно CGI.\n14. Язык `PHP` - синтаксис, типы данных, встраивание в веб-страницы, правила обработки HTTP-запросов. Особенности реализации принципов ООП в PHP.\n\n### Как запустить?\n\n#### Локально\n\n`php -S localhost:3000 -t src`, чтобы запустить лабораторную на http://localhost:3000.\n\n#### Helios\n\n[Гайд](https://github.com/AppLoidx/Web-Development-Cheats/blob/master/itmo-university/deploy.md) по деплою на helios.\n\n#### Тестирование\n\nИспользуйте\n\n    composer install\n    vendor/bin/phpunit tests\n\nчтобы запустить тесты.\n\n## Лицензия \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nПроект доступен с открытым исходным кодом на условиях [Лицензии MIT](https://opensource.org/licenses/MIT).\n*Авторские права 2023 Max Barsukov*\n\n**Поставьте звезду :star:, если вы нашли этот проект полезным.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxbarsukov-itmo%2Fweb-1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxbarsukov-itmo%2Fweb-1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxbarsukov-itmo%2Fweb-1/lists"}