Изучая планы развития CMS Joomla, для написания одной из своих предыдущих статей, я наткнулся на аббревиатуру HMVC. Не сложно было понять, что это как-то связано со ставшим стандартом паттерном MVC. Найденная расшифровка: «HMVC — иерархические модель-вид-контроллер» — мало что объяснила. Дальнейшие поиски информации тоже дали не много, в основном теоретические рассуждения о паттерне и почти ничего о том, как же его использовать на практике. Однако немного поразмыслив, я понял, что уже использовал его в своем предыдущем проекте на Symfony 2. Более того, оказывается, что частично этот паттерн используют очень многие даже не догадываясь об этом.
Читать полностью »
Рубрика «web-разработка» - 37
Паттерн HMVC в веб-разработке
2014-02-10 в 9:51, admin, рубрики: hmvc, mvc, web-разработка, Веб-разработка, паттерны, паттерны проектирования, Проектирование и рефакторинг, метки: hmvc, mvc, web программирование, web-разработка, паттерны, паттерны проектированияОпрос PHP vs Python
2014-02-06 в 18:24, admin, рубрики: php, python, web-разработка, Веб-разработка, метки: PHP, python, web-разработкаВ недавней теме о PHP черт меня дернул затеять холивар. Пользуясь случаем, прошу прощения за такое безобразие :) Позвольте мне несколько исправить ситуацию и увести ее от дискуссий.
Моя позиция такова, что мнение определяется опытом и обстоятельствами. Надеюсь, это не вызовет споров, если вы не будете излишне придирчивыми :) Обстоятельства — вещь очень многогранная, и так запросто можно скатиться до обсуждения смысла жизни, так что я буду акцентировать внимание только на опыте. Именно он позволяет нам делать суждение о чем-либо. Именно на него мы рассчитываем, когда советуемся с компетентными и авторитетными людьми. Я предлагаю обобщить наш опыт, разбив его на некоторые категории, дабы не дискуссировать бесполезно, и сравнить наши точки зрения в зависимости от личного опыта. Кому чей опыт важен, и какие выводы делать — каждый решит для себя сам.
Простой способ кэширования шаблонов на PHP
2014-02-05 в 17:46, admin, рубрики: php, web-разработка, высокая производительность, кэширование, оптимизация, производительность, метки: PHP, web-разработка, кэширование, оптимизация, производительностьЧасто при разработке приложений на PHP встаёт вопрос кэширования всего выводимого приложением шаблона, либо какой-то его части, которая довольно статичная во времени. Если при разработке использовался какой-либо шаблонизатор, то данный вопрос решается «из коробки». Но не во всех приложениях на PHP используются шаблонизаторы, а вопрос о кешировании шаблона или его части остаётся открытым. Ниже описан один из вариантов решения данной проблемы.
10+ полезных jQuery сниппетов на каждый день
2014-02-05 в 15:13, admin, рубрики: javascript, jquery, snippets, web-разработка, Веб-разработка
Спустя годы библиотека jQuery стала неотъемлемой частью в работе каждого web-разработчика. Ведь она простая в использовании, быстрая и имеет очень широкие возможности. В этой статье я собрал список из более чем десяти сниппетов, которые вы можете свободно брать для использования. Их очень легко адаптировать под нужды ваших собственных проектов.
Читать полностью »
Наш чеклист для фильтров на сайтах
2014-01-28 в 8:51, admin, рубрики: qa, web-разработка, Блог компании Сибирикс, Веб-разработка, управление проектами, фильтры, чеклист, метки: web-разработка, фильтры, чеклистДовольно часто на сайтах е-коммерса нас просят реализовать фильтры. Хороший фильтр — довольно дорогая игрушка. Вообще, они не всегда уместны — пользователю проще посмотреть глазами на список, чем разбираться в логике разработчика фильтра. Конечно, если в этом списке не так много элементов. Скажем, не больше 200 в каждом разделе. Ниже в виде проверочного списка для наших QA, я зафиксировал некоторые требования, которые мы настойчиво внедряем на своих проектах с этого года. Стандартизация, ептэ.
Эти требования разумны. Часть из них трудно реализуема. Часть — очевидна. Часть — зависит от контекста. Но в целом они довольно универсальны. Если будут какие-то вопросы по конкретным пунктам — велкам в комментарии.
Верстка PSD макетов умерла
2014-01-19 в 21:26, admin, рубрики: web-разработка, веб-дизайн, Веб-разработкаИнструкции по верстке PSD макетов повсюду в интернете. На самом деле, многие люди спрашивают меня почему на Threehouse до сих пор нет инструкции по верстке PSD макетов. В добавок к инструкциям есть множество компаний, которые принимают PSD и отдают веб-страницу примерно за $100.
Google возвращает более 48 миллионов результатов на запрос «psd to html». Это популярный, но не самый лучший способ делать веб-сайты.
Если это так популярно, то как можно сказать, что это умерло? Что ж… Хотел бы я, чтоб каждая проблема веб дизайна уместилась бы в 140-символьный твит, но это нечеткий вопрос, который требует более членораздельного объяснения. Давайте зароемся поглубже.
Читать полностью »
14 инструментов для веб-дизайна и веб-разработки на 2014 год
2014-01-16 в 18:11, admin, рубрики: web-дизайн, web-разработка, веб-дизайн, Веб-разработка Вместе с WEB движущимся семимильными шагами (адаптивным дизайном, CSS препроцессорами, постпроцессорами и другими вещами) может оказаться проблемой попытка не отставать от чего-то нового и полезного.
Ниже Вы найдете 14 инструментов, 7 для веб-дизайнеров и 7 для веб-разработчиков, которые помогут веб-сайту перерасти из концепции в действительность.Читать полностью »
Angular Light. Управляем декларативным биндингом данных в HTML
2014-01-14 в 21:05, admin, рубрики: angular light, javascript, web-разработка, Веб-разработка, метки: angular light, web-разработка В angular есть 2 инструмента вывода информации в DOM — это директивы и декларативный биндинг данных в HTML {{model}}.
В то время когда директивы обладают большими возможностями, декларативный биндинг немного ограничен, он делает $watch на модель с возможностью вызвать фильтры и по большому счету — все. А хотелось бы больше гибкости.
Например если посмотреть на библиотеку bindonce для Angular.js, основная идея — это разовый вывод информации без использования $watch.
И для того что-б её можно было использовать в любом месте, для любого атрибута, разработчик сделал ряд отдельных директив: bo-text, bo-href-i, bo-href, bo-src-i, bo-src, bo-class, bo-alt, bo-title, bo-id, bo-style, bo-value, bo-attr и bo-attr-foo. Но по сути, все они делают одно и тоже и по логике это должна быть одна директива.
Так же это отклоняется от декларативного биндинга данных, задуманного в Angular.js, т.е. вместо
<a href="{{link}}">{{name}}</a>
нужно писать
<a bo-href-i="{{link}}" bo-text="name"></a>
Т.е. для чего был придуман декларативный биндинг данных, в этой ситуации не работает.
Поэтому появилась идея реализовать директивы для декларативного биндинга данных.
Как это работает в Angular Light — просто нужно указать имя директивы и перед этим поставить знак "#", т.е. вместо {{model}} будет {{#directive model}}.
Бесполезный, но простой пример счетчика:
<div al-app>
counter {{#counter model}}
</div>
Делаем биндинг «model» и подключаем директиву «counter», для простоты я опустил использование «model» в данной директиве:
alight.text.counter = function(callback, expression, scope, env) {
var n = 0;
setInterval(function(){
n++;
callback(n) // set result
scope.$scan() // $digest
}, 1000);
}
Как программист докатился до сайта про моду
2014-01-04 в 21:51, admin, рубрики: web-разработка, стартап, я пиарюсь, метки: web-разработка, стартап Я девушка-программист. Поэтому мое дело варить борщ и писать статьи на хабр про собственные проекты. Недавно мы с epic_noob запустили два сайта. Один более или менее интересный (dress4weather.ru), а второй про моду (fashionhearts.ru). Расскажу, как мы их делали и как проходит полет.
Читать полностью »
jQuery State form или простой контроль за формой
2013-12-25 в 15:40, admin, рубрики: javascript, jquery, jquery plugins, web-разработка, метки: javascript, jquery plugins, web-разработкаДоброго времени %username%!
Хочу представить на суд общественности один интересный плагин для контроля за состоянием формы. Читать полностью »