Рубрика «web-разработка» - 47

В этой статье мы рассмотрим архитектурный паттерн MVC (Model, View, Controller) в применении к веб-разработке, «в чистом виде», без привлечения каких-то дополнительных, не относящихся к MVC структур и паттернов. Мы будем продвигаться от простого к сложному, поэтому пока не станем рассматривать, например, дальнейшее развитие MVC – паттерн HMVC (Hierarchical MVC). Хотя HMVC, несомненно, намного более интересен для разработки веб-приложений, но его применение не отменяет необходимости понимания «обычного» MVC.

Статья в Википедии (а именно туда, видимо, чаще всего попадают те, кто только начинает изучать MVC), изобилует неточностями и туманными формулировками, само определение, по сути, является неверным, а приведенная схема просто напросто не соответствует той, которая применяется в веб вообще и при разработке на PHP – в особенности.Читать полностью »

HTML/CSS/JS + Node.js + node webkit = Кроссархитектурные приложения
С ростом популярности node.js он становится всё более привлекательным для разработки приложений. По крайней мере я в последнее время очень часто использую эту технологию для быстрой разработки оных. И на данный момент, технологически нет никаких препятствий для разработки кроссплатформенных приложений на одном языке. И не только классических Web-приложений (клиент-сервер) но и десктопных.
Читать полностью »

Всем привет!

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

Хочу представить очередной результат своей кодотерапии: CheckiNumber.ru — сервис, позволяющий чекинить числа. Есть сервис, где можно зачекинить свою мысль, есть сервис, где можно зачекинить факт своего пребывания в определенном месте, а вот чекинить числа негде, а иногда это было бы удобно.

Например, где-то я услышал, что если подтянуться 1000 раз (в общей сумме, а не за один раз), то в результате число подтягиваний за серию возрастет вдвое. И я решил это проверить, только где записывать такие вещи? Можно использовать ексельки, гугл-доки, но я решил сделать специализированный инструмент, куда после каждого подхода к турнику можно добавить цифру. В результате получается график:

image

А еще можно попросить друзей сделать ставки лайками с Facebook на успех или провал задуманного (заодно будет видно, верят ли в вас друзья или нет):

image

Читать полностью »

Эта ошибка крошечная и незаметная, но все же, это ошибка. Она присутствует на чудовищном количестве сайтов, в т.ч. на Хабрахабре.

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

Читать полностью »

Espresso Framework обзавёлся ещё одним полезным инструментом по имени Frontline.

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

По сути это фронтенд для Enginery. То есть можно делать всё что делает Enginery но в «визуальном режиме».

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

Подробности под катом.

Читать полностью »

Про систему Kasseler CMS мало кто слышал, но все же она существует. Документации по системе очень мало, а в документации по плагинам рассмотрены самые простые примеры, которые не дают возможности пользователю увидеть всей силы так называемых хуков. В серии постов хочу продемонстрировать примеры написания плагинов для данной системы.
Читать полностью »

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

Для начала кратко основные шаги:
— производим отправку изображения с использованием XMLHttpRequest;
— проводим проверку загруженных данных на сервере на предмет «действительно ли это изображение»;
— проводим принудительное преобразование изображения в jpeg
Читать полностью »

Кейт Мэтсудейра: Масштабируемая Веб архитектура и распределенные системыЧетыре месяца назад ребром встал вопрос о тексте для моего дипломного перевода. Результатом помощи коллективного разума стало решение переводить главу Scalable Web Architecture and Distributed Systems за авторством Kate Matsudaira. Нужно отметить, что это мой первый перевод такого объема и сложности. Текст, был мною относительно успешно переведен, хотя по качеству перевода я поставил бы себе 6-7 из 10. Дабы мои усилия не пропали втуне, публикую результат своих трудов.

Читать полностью »

Всем привет!

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

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

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

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

Читать полностью »

Приветствую всех.
Эта статья поможет начинающим в области веб-программирования научиться писать плагины под JIRA. Сам в начале работы с этой системой столкнулся с тем, что, во-первых, нет ни одного достаточно подробного и русскоязычного гайда. А во-вторых, большая часть статей рассчитана на достаточно опытных людей.
Для начала, я рассмотрю основные моменты и ошибки при создании плагинов, а так же структуру JIRA плагина, что сильно упростит задачу начинающему веб-программисту.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js