Статьи
Выбор между CMS и фреймворком
С технической точки зрения любой функционал может быть реализован или на CMS, или на фреймворке, или реализован без использования каких‑либо платформ на чистом языке программирования.
Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.
SSH — сетевой протокол для управления серверами
SSH или Secure Shell — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP‑соединений, например, для передачи файлов или для работы с базой данных.
Весь трафик передаваемый по SSH защищён от подделки и перехвата при помощи алгоритмов шифрования. Также защита SSH весьма гибко конфигурируется, что позволяет избежать многих векторов атак. Всё это делает удалённое управление операционной системой через SSH безопасным.
Водопадная модель разработки
Водопадная модель разработки программного обеспечения — это процесс разработки, в котором все необходимые этапы проходят строго последовательно.
Разработка ПО по водопадной модели начинается со сбора и анализа требований, затем следует фаза проектирования и прототипирования. После завершения полного проектирования начинается этап программной реализации. После завершения этапа программирования разработанный продукт тестируется на соответствие требованиям. Затем осуществляется интеграция и запуск, после чего проект переходи в фазу поддержки и сопровождения.
Сжатие изображений с потерями и без потерь
Сжатие изображений — это один из способов ускорения загрузки сайта. Сделать изображения более «легкими» можно как уменьшив их физический размер в пикселях, так и путём оптимизации параметров сохранения.
На «широких» каналах размер изображений на сайте на скорость загрузки сайта влияет не очень сильно, но для пользователей, просматривающих сайт через мобильный интернет (EDGE или 3G), большие изображения могут быть проблемой. На посещаемых сайтах также могут быть сложности с загрузкой канала сервера — неоптимизированные изображения могут существенно сказываться на объёме трафика (это проблема, если он платный) или просто «забивать» канал.
MongoDB — документо-ориентированная база данных (NoSQL)
MongoDB — это NoSQL хранилище данных, крайне удобное для хранения информации, которая не может быть нормально структурирована в рамках реляционных баз данных.
MongoDB — это СУБД с открытым исходным кодом, не требующая описания схемы таблиц. Документы в MongoDB хранятся в JSON или BSON, работа с такой моделью проще кодируется и проще управляется, а внутренняя группировка релевантных данных обеспечивает дополнительный выигрыш в быстродействии.
Отказоустойчивость сайтов и веб‑приложений
Причин для сбоев в работе веб‑приложений немало — это и выход из строя серверного оборудования, и сбои программного обеспечения, и аварии на уровне дата‑центров.
При этом, действительно серьёзные проекты должны работать без перебоев даже в случае отказа отдельных подсистем. Практически всех рисков можно избежать или минимизировать их последствия при помощи грамотного проектирования как серверной инфраструктуры, так и архитектуры приложения.
Адаптивный и отзывчивый дизайн
Для обеспечения хорошего отображения сайтов на мобильных устройствах (планшетах и смартфонах) обычно создаётся отзывчивый или адаптивный дизайн.
Суть подхода заключается в изменении размера и расположения блоков, коррекции размера шрифтов, а также в отключении не самых важных блоков в случае, если пользователь заходит на сайт с устройства с небольшим экраном.
Безопасность сайтов и веб‑приложений
Под безопасностью веб‑приложений понимается обеспечение сохранности данных, их недоступность для посторонних лиц, а также способность сервиса сохранять работоспособность при кибератаках.
Безопасность веб‑приложений зависит от качества программного кода (это ответственность веб‑разработчиков), от квалификации системного администратора и регулярности обсуживания серверов, а также от компетенций всех пользователей, имеющих доступ к чувствительной информации.
Рефакторинг — это неизбежный процесс
Рефакторинг или реорганизация кода — процесс изменения внутренней структуры программного продукта, не затрагивающий её внешнего поведения и имеющий целью облегчение понимания программного кода и, пусть и не всегда, оптимизацию производительности.
В основе рефакторинга лежит последовательность небольших преобразований программного кода, сохраняющих его поведение. Вся последовательность этих изменений поизводится для улучшения сопровождаемости кодовой базы. Обычно рефакторинг производится под контролем прохождения автоматизированных тестов.
Язык программирования PHP
PHP — язык программирования, который наиболее распространён в сфере веб‑разработки.
В сфере создания динамических веб‑сайтов и веб‑приложений PHP занимает значительную долю рынка. Практически все популярные CMS для веб‑разработки написаны на PHP. Наиболее важные преимущества PHP — простота освоения, адекватная скорость работы, мультипарадигмальность. Критикуют PHP обычно за низкий средний уровень разработчиков и, как следствие, за низкую культуру разработки, проблемы с сопровождаемостью и надёжности проектов.