Основы разработки веб-приложений

22 августа 2023

#

Время чтения: 14 минут

1947

Введение

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

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

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

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

Введение

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

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

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

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

Введение в веб-разработку

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

Основы веб-разработки

Для начала работы в веб-разработке необходимо ознакомиться с основными технологиями и концепциями:

  • HTML (HyperText Markup Language) - основной язык разметки для создания веб-страниц. С помощью HTML определяются структура и содержимое страницы.
  • CSS (Cascading Style Sheets) - язык описания внешнего вида веб-страниц. С помощью CSS задаются цвета, шрифты, расположение элементов и т. д.
  • JavaScript - язык программирования, который добавляет интерактивность на веб-страницы. Он позволяет создавать динамические элементы, обрабатывать события и взаимодействовать с пользователем.

Веб-разработка на стороне клиента и сервера

Веб-разработка может разделяться на две основные части: разработку на стороне клиента и на стороне сервера.

Разработка на стороне клиента (frontend) отвечает за создание пользовательского интерфейса и взаимодействие с пользователем. Она включает в себя HTML, CSS и JavaScript.

Разработка на стороне сервера (backend) отвечает за обработку запросов и работу со структурами данных. Для этого используются языки программирования, такие как PHP, Python, Ruby и другие. Также веб-сайты на стороне сервера могут использовать базы данных для хранения и обработки информации.

Фреймворки и инструменты веб-разработки

Веб-разработчики часто используют различные фреймворки и инструменты, которые облегчают и ускоряют процесс разработки:

  • Bootstrap - популярный фреймворк для разработки адаптивных веб-сайтов. Он предоставляет готовые компоненты и стили для быстрой и качественной разработки.
  • React - библиотека JavaScript для создания интерфейсов пользовательского интерфейса. Он позволяет создавать компоненты, которые могут быть переиспользованы и обновляются динамически.
  • Node.js - среда выполнения JavaScript, которая позволяет работать с JavaScript на стороне сервера. Это открывает новые возможности для веб-разработки, такие как создание API и обработка данных на сервере.

Заключение

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

#

Читайте также

10 лучших книг для специалиста по внедрению ит-решений: от базовых навыков до стратегического мышления

Определение цели и требования к веб-приложению

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

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

В качестве требований к веб-приложению могут выступать следующие:

  1. Функциональные требования: описывают, что приложение должно делать. Например, обеспечение регистрации пользователей, возможность поиска и фильтрации данных, взаимодействие с базой данных и другие.
  2. Нефункциональные требования: определяют, как должно работать приложение. К ним относятся требования к производительности, безопасности, масштабируемости, удобству использования и другие. Например, приложение должно быть доступно через различные устройства (десктоп, мобильные устройства), обладать интуитивным интерфейсом, иметь высокую скорость загрузки страниц и т.д.
  3. Требования к интеграции: приложение может требовать интеграции с другими системами или веб-сервисами для получения данных или совместного использования информации.
  4. Требования к безопасности: приложение должно обеспечивать защиту данных пользователей, предотвращать несанкционированный доступ и взломы.
  5. Требования к поддержкам и обслуживанию: определяют, какой уровень поддержки и обслуживания приложение требует, например, периодическое обновление, исправление ошибок, резервное копирование данных и т.д.

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

Выбор языка программирования и фреймворка

Язык программированияФреймворкСайт языкаСайт фреймворка
PythonDjangopython.orgdjangoproject.com
JavaScriptReactdeveloper.mozilla.orgreactjs.org
JavaSpringjava.comspring.io

Создание базы данных для веб-приложения

Основы разработки веб-приложений

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

1. Определение требований

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

2. Выбор базы данных

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

3. Проектирование схемы базы данных

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

4. Создание таблиц и полей

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

5. Нормализация базы данных

Нормализация - это процесс разделения информации на отдельные таблицы таким образом, чтобы каждая таблица содержала только уникальные данные. Это позволяет избежать избыточности данных и повысить эффективность работы базы данных.

6. Создание связей между таблицами

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

7. Оптимизация базы данных

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

8. Защита данных

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

9. Резервное копирование и восстановление

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

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

Разработка пользовательского интерфейса

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

Этапы разработки пользовательского интерфейса:

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

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

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

  7. Разработка и интеграция
  8. На этом этапе разработчики реализуют спроектированный интерфейс, используя языки программирования и технологии, такие как HTML, CSS и JavaScript. Результаты интегрируются в основное программное обеспечение или веб-приложение.

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

  11. Релиз и поддержка
  12. После успешного тестирования и оптимизации пользовательский интерфейс готов к релизу. Важно обеспечить поддержку интерфейса, отслеживать обратную связь пользователей и вносить необходимые изменения для улучшения его работы.

Реализация функциональности веб-приложения

ИмяВозрастГород
Алексей25Москва
Елена32Санкт-Петербург
Иван40Новосибирск

Тестирование и отладка веб-приложения

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

Тестирование веб-приложений

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

  • Функциональное тестирование: проверка, соответствует ли приложение требованиям функциональности и выполняет ли запланированные действия.
  • Интеграционное тестирование: проверка взаимодействия веб-приложения с другими системами или компонентами.
  • Нагрузочное тестирование: проверка, как приложение работает при высокой нагрузке и большом количестве пользователей.
  • Безопасность: проверка на уязвимости и защиту от атак.

Отладка веб-приложений

Отладка веб-приложений - это процесс локализации и устранения ошибок (багов) в коде веб-приложения. Она включает в себя следующие шаги:

  1. Интерактивный поиск: пользователь взаимодействует с приложением, чтобы повторить ошибку и идентифицировать местонахождение проблемы.
  2. Логирование: регистрация всех действий и событий, происходящих в приложении, для дальнейшего анализа и определения причин ошибок.
  3. Использование инструментов разработчика: использование инструментов, предоставляемых веб-браузерами, для анализа и отладки кода.
  4. Тестирование гипотез: проверка различных гипотез о причинах ошибок и их подтверждение или опровержение.
  5. Исправление ошибок: исправление кода приложения для устранения ошибок и повторная проверка после исправления.

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

Оптимизация производительности и масштабируемости

Основы разработки веб-приложений

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

Методы оптимизации производительности и масштабируемости:

  1. Кэширование

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

  2. Масштабирование вертикальное и горизонтальное

    Масштабирование является неотъемлемой частью оптимизации производительности и масштабируемости. Вертикальное масштабирование заключается в увеличении ресурсов (например, повышении производительности процессора или добавлении оперативной памяти) на одном сервере. Горизонтальное масштабирование включает добавление дополнительных серверов, чтобы распределить нагрузку и повысить производительность системы.

  3. Оптимизация алгоритмов и структур данных

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

  4. Оптимизация базы данных

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

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

Защита веб-приложения от атак и уязвимостей

Тип атакиОписаниеМеры защиты
XSS (Межсайтовый скриптинг)Атака, при которой злоумышленник внедряет вредоносный код (скрипт) на веб-страницу, который будет выполняться на стороне клиента.
  • Отфильтровывать и/или экранировать входные данные.
  • Использовать Content Security Policy (CSP).
  • Всегда проверять, что данные, полученные от пользователя, являются ожидаемыми.
CSRF (Межсайтовая подделка запроса)Атака, при которой злоумышленник выполняет нежелательные операции от имени аутентифицированного пользователя без его согласия. Атака основана на использовании доверия браузера к веб-приложению.
  • Использовать защиту CSRF-токенов.
  • Не использовать GET-запросы для изменения состояния сервера.
  • Отключить возможность выполнять действия по ссылке (GET-запрос) или формой без подтверждения со стороны пользователя.
SQL-инъекцияАтака, в результате которой злоумышленник внедряет SQL-код в запрос к базе данных, чтобы получить несанкционированный доступ к данным или изменить их.
  • Использовать подготовленные запросы или ORM.
  • Отфильтровывать и экранировать входные данные (например, с использованием функции mysqli_real_escape_string()).
  • Ограничить права доступа учетной записи базы данных.

Деплой и поддержка веб-приложения.

"Чтобы веб-приложение успешно развернуть и поддерживать, необходимо постоянно обновлять его функциональность и учитывать потребности пользователей."Билл Гейтс

Деплой и поддержка веб-приложения являются важными этапами в жизненном цикле разработки программного обеспечения. Деплой (от англ. deployment) означает развертывание или установку веб-приложения на сервере, чтобы пользователи могли получить к нему доступ через интернет. Поддержка веб-приложения включает в себя последующее обслуживание, обновление и исправление ошибок приложения.

А ты уже нашел работу?

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

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

Основные этапы деплоя и поддержки веб-приложения:

  1. Выбор хостинг-провайдера: перед деплоем необходимо выбрать надежного хостинг-провайдера для размещения веб-приложения. Хостинг-провайдер должен обеспечивать необходимые ресурсы и услуги для работы приложения.
  2. Настройка сервера: после выбора хостинг-провайдера необходимо настроить сервер для установки веб-приложения. Настройка включает в себя установку операционной системы, веб-сервера, языка программирования и других необходимых компонентов.
  3. Выбор базы данных: веб-приложения обычно используют базы данных для хранения и управления информацией. При выборе базы данных необходимо учитывать требования приложения и доступные опции хостинг-провайдера.
  4. Установка и настройка приложения: после настройки сервера и выбора базы данных необходимо установить и настроить веб-приложение. Этот процесс включает в себя загрузку файлов приложения на сервер, настройку конфигурационных файлов и установку зависимостей.
  5. Обновление и поддержка: после успешного деплоя веб-приложения необходимо регулярно обновлять приложение для исправления ошибок и добавления новых функций. Поддержка также включает в себя мониторинг производительности, анализ данных журнала событий и резервное копирование данных.

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

Основные проблемы по теме "Основы разработки веб-приложений"

1. Сложность освоения технологий

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

2. Засорение кодовой базы

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

3. Кросс-браузерная совместимость

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

4. Безопасность данных

Разработчики веб-приложений должны обеспечить защиту данных пользователей от несанкционированного доступа и хакерских атак.

5. Масштабируемость

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

Что такое веб-приложение?

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

Какие технологии используются при разработке веб-приложений?

При разработке веб-приложений используются различные технологии, включая HTML (язык разметки), CSS (язык стилей), JavaScript (язык программирования), базы данных (например, MySQL, PostgreSQL), серверные технологии (например, Node.js, Ruby on Rails) и многое другое. Технологии выбираются в зависимости от потребностей и требований проекта.

Что такое клиент-серверная архитектура веб-приложений?

Клиент-серверная архитектура веб-приложений - это модель, в которой клиентские устройства (например, компьютеры, смартфоны, планшеты) взаимодействуют с серверами через сеть. Клиент (обычно веб-браузер) отправляет запросы серверу, который обрабатывает эти запросы и отправляет обратно ответы. Это позволяет пользователям получать и отправлять данные через интернет и взаимодействовать с веб-приложением.

Разработка веб-приложений является одной из самых востребованных и быстроразвивающихся областей в индустрии IT. Существует несколько основных тенденций и перспектив, связанных с разработкой веб-приложений, которые важно учитывать при создании современных веб-приложений.

1. Рост использования фреймворков: С каждым годом разработка веб-приложений становится все более сложной и требует больших затрат времени и ресурсов. Использование фреймворков позволяет значительно упростить и ускорить процесс разработки, так как они предоставляют готовые инструменты и шаблоны для работы с базами данных, пользовательским интерфейсом, роутингом и другими основными компонентами приложения. Наиболее популярными фреймворками для разработки веб-приложений сегодня являются Django, Ruby on Rails, Laravel и AngularJS.

2. Мобильная адаптивность: С ростом популярности мобильных устройств все больше пользователей получают доступ к веб-приложениям через свои смартфоны и планшеты. Поэтому одной из главных тенденций в разработке веб-приложений является их мобильная адаптивность, то есть возможность отображения и корректной работы на различных устройствах с разными размерами экранов и разрешениями. HTML5 и CSS3 предлагают ряд новых технологий и возможностей для создания мобильно-адаптивных веб-приложений.

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

4. Развитие Progressive Web Applications (PWA): PWA – это веб-приложения, которые сочетают в себе лучшие элементы классических веб-сайтов и мобильных приложений. Они обеспечивают высокую производительность, быструю загрузку, а также доступны в офлайн-режиме. PWA становятся все популярнее, так как они позволяют улучшить пользовательский опыт и увеличить удобство использования веб-приложений.

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

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

Список используемой литературы:

Название книгиАвторОписание
HTML и CSS: Дизайн и построение веб-сайтовДжон ДакеттКнига вводит в основы разработки веб-приложений, описывает широкий спектр тем, включая HTML5, CSS3 и мобильную веб-разработку. Является отличным руководством для начинающих разработчиков.
JavaScript. Подробное руководствоДэвид ФлэнаганКнига предоставляет глубокое понимание языка JavaScript и его использования в веб-разработке. Она охватывает широкий спектр тем, включая основы языка, DOM, AJAX и многое другое.
PHP и MySQL. Разработка веб-приложенийЛюк Веллинг, Лора ТомсонЭта книга предлагает практический подход к разработке веб-приложений с использованием PHP и MySQL. Она охватывает основы языка PHP, работу с базами данных, веб-серверами и многое другое.
Node.js в действииМайк КантелонгоКнига представляет современные методы разработки веб-приложений с использованием Node.js. Она описывает принципы работы Node.js, его экосистему, разработку серверной и клиентской сторон, а также многое другое.
React в действииМарк Томас, Гленн Мэйн, Натан БраунЭта книга рассматривает React - популярную JavaScript библиотеку для разработки пользовательских интерфейсов. Она охватывает основы React, компоненты, стейт-менеджмент и другие существенные аспекты.
Книги по основам разработки веб-приложений позволяют ознакомиться с необходимыми инструментами, технологиями и методами, необходимыми для создания прочного и эффективного веб-приложения. Они предлагают как основные концепции, так и подробное практическое руководство по использованию различных языков программирования и инструментов. Книги, перечисленные выше, охватывают разнообразные темы, начиная от веб-дизайна до серверной разработки, что делает их полезными для широкого круга людей, начиная с начинающих и до опытных разработчиков.

Материал подготовлен командой it-vacancies.ru

Подписывайся