Статьи

MVC — модель‑представление-контроллер

MVC — это паттерн проектирования приложений, который разделяет на три отдельных компонента модель данных приложения, пользовательский интерфейс и слой взаимодействия с пользователем.

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

бэкенд
методологии разработки
веб-разработка
Статья опубликована в 2019 году

Платформы для создания сайтов: CMS, фреймворки и SaaS‑решения

От выбора платформы для разработки зависит как сама по себе реализуемость необходимого функционала, так и возможности дальнейшего развития веб‑проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS‑решение.

SaaS‑платформы еще часто называют «конструкторами сайтов». Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги.

Система управления сайтом (Content Management System) служит для разработки стандартных разновидностей сайтов. Много небольших и средних сайтов строится именно на CMS‑платформах, так как это наиболее целесообразный с экономической точки зрения подход.

Фреймворк — это программный продукт, который также как и CMS служит основой для сайта, но фреймворк в отличие от CMS — это более низкоуровневое решение, обладающее большей гибкостью и производительностью. Этот вид платформ используют почти все крупные веб‑проекты, а также подавляющее большинство веб‑приложений и веб‑сервисов.

платформы
фреймворки
CMS
SaaS
бэкенд
веб-разработка
Статья опубликована в 2019 году

SQL-инъекции — распространённый метод взлома веб‑приложений и сайтов

SQL‑инъекции — это один из распространённых способов взлома сайтов и веб‑приложений, работающих с реляционными базами данных.

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

информационная безопасность
SQL
бэкенд
веб-разработка
СУБД
хранение данных
серверное ПО
Статья опубликована в 2019 году

Реляционные базы данных и NoSQL‑хранилища

Базы данных служат для хранения и обработки данных. Бывают реляционные (SQL) и нереляционные (NoSQL) системы управления базами данных.

Реляционные системы управления базами данных (SQL) хранят данные в табличных структурах и чаще всего используются в качестве основного хранилища для веб‑приложений. Они очень стабильны и их надёжность проверена временем. Нереляционные СУБД (NoSQL) заметно моложе реляционных баз данных, а также заметно от них отличаются по структуре хранения данных и работе с ними. Большинство нереляционных хранилищ превосходят классические SQL СУБД по скорости доступа или при работе со специфическими типами данных, но обычно эта скорость достигается за счёт снижения надёжности хранения. На практике NoSQL‑решения обычно применяются не для хранения всех данных приложения, а для решения специфических задач — для кэширования, хранения логов, управления очередями, для распределённого хранения данных, ускорения поиска и фильтрации.

хранение данных
SQL
NoSQL
СУБД
серверное ПО
Статья опубликована в 2019 году

Поисковое продвижение сайта (SEO) — цели, задачи и методы достижения результатов

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

Большинство пользователей интернета начинают поиск информации об интересующих их товарах или услугах с поискового запроса в Яндексе или Google. Но получение посетителей из поисковых систем — задача непростая. Для того чтобы сайт отвечал требованиям поисковой системы, необходимо провести целый комплекс мероприятий по оптимизации внутренней структуры и содержания сайта, работать над usability, а также обеспечить высокую цитируемость ресурса внешними источниками.

SEO
интернет-маркетинг
Статья опубликована в 2019 году

DDoS — распределенные атаки типа «отказ в обслуживании»

DoS‑атака — это атака типа «отказ в обслуживании» — Denial of Service. DDоS — это атака того же типа, но распределённая (distributed), то есть производящаяся с более чем одного атакующего компьютера.

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

информационная безопасность
бэкенд
веб-разработка
системное администрирование
Статья опубликована в 2019 году

Вирусы на сайтах

Откуда берутся вирусы на сайтах? Как с ними бороться?

Три наиболее распространённые причины появления вирусов на сайтах — это кража паролей для доступа к файловой системе сервера, эксплуатация XSS‑уязвимостей веб‑сайтов, уязвимостей в серверном ПО (часто — в результате отсутствия своевременного обновления) и уязвимостей в используемых CMS (обычно тоже по причине отсутствия обновлений или из‑за установки плагинов / расширений из недоверненных источников).

информационная безопасность
системное администрирование
веб-разработка
Статья опубликована в 2019 году

Фреймворк Ruby on Rails

​Rails — это прежде всего среда разработки, которая великолепно подходит для создания любого типа веб‑приложений: систем для управления веб‑сайтами и платформ для ведения электронной торговли, программ для организации совместной работы и для веб‑сервисов для осуществления коммуникации, для учетных и ERP‑систем, статистических и аналитических систем.

фреймворки
бэкенд
платформы
Ruby
Ruby on Rails
веб-разработка
Статья опубликована в 2019 году

Быстродействие сайтов и веб‑приложений

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

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

быстродействие
веб-разработка
серверы
Статья опубликована в 2019 году

Создание дизайна сайта или веб‑приложения

Создание дизайна для сайта или веб‑приложения — это самый субъективно оцениваемый этап разработки, часто вызывающий сложности как на этапе постановки задачи, так и на этапе сдачи‑приёмки выполненных работ.

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

дизайн
UX / UI
управление проектами
управление продуктами
Статья опубликована в 2018 году