Замечательный фреймворк LESS позволяет сильно упростить роботу со стилями. Одной из замечательных его возможностей есть примешания (mixins). Примешания позволяют включать все свойства класса в другой класс путем простого включения имени класса как значение одного из свойств. Это напоминает использование переменных, но в отношении целых классов. Примешивания могут вести себя как функции, и принимать аргументы. Именно возможность примешаний принимать аргументы и манипулировать ими лежит в основе библеотек примешаний, таких как LESS Elements, LESS Hat, LESS Mix и компонента mixins.less в Bootstrap.
Рубрика «Веб-разработка» - 216
LESS-Mix — немного о LESS-примешаниях
2013-05-29 в 12:44, admin, рубрики: css, less, Веб, веб-дизайн, Веб-разработка, метки: css, less, ВебУдаленное редактирование файлов в Sublime Text 2 по SSH
2013-05-29 в 7:46, admin, рубрики: ssh, Веб-разработка, удаленное управление, метки: ssh, sublime-text-2, удаленное управление Речь пойдет об использовании rmate, небольшого скрипта позволяющего из консоли открыть удаленный документ в локальном текстовом редакторе, вместо nano или vim, он был написан для TextMate и те кто перешел на ST2 с этого редактора, наверняка пользуются этим инструментом, да и «матерые разрабы» не найдут в посте много нового, но если вы только начали пользоваться ST2 и единственный инструмент удаленного редактирования о котором вы слышали, это плагин SFTP, добро пожаловать под кат за подробностями.
Читать полностью »
Обработчик событий для ImageCMS
2013-05-28 в 15:14, admin, рубрики: cms, imagecms, imagecms corporate, imagecms shop, php, Веб-разработка, обработка событий, метки: imagecms, imagecms corporate, imagecms shop, обработка событий Здравствуйте, хабрапользователи!
В этой публикации мы расскажем о нашей новой нароботке Events class.
Новый класс реализовывает некую систему событий для ImageCMS. Это механизм, который предоставляет возможность разработчику реагировать на возникновение определенных ситуаций в системе, что станет неотъемлемой составляющей для написания более гибких модулей.
Дальше расскажем подробно о том, как мы видим инженерию и вектор будущих развитий.
Читать полностью »
БД. Справочники. Глобалы. Вложенные структуры. Живые примеры
2013-05-28 в 13:45, admin, рубрики: MUMPS, nosql, бд, Веб-разработка, глобалы, разработка, справочники, структуры данных, субд Caché, метки: MUMPS, бд, глобалы, справочники, структуры данных, субд Caché Картинка для привлечения внимания демонстрирующая пример предстоящей «вложенности» камеры с парашютом в ранец.
Часть 1
Часть 2
Часть 3
В прошлый раз мы остановились на том, что у нас есть метод create(), который на основании глобала правил ^RuleDictionary создаёт элементы справочника. Нами был разобран пример создания элементов простейшего, одноуровневого справочника. Сегодня, рассмотрим каким образом, с помощью наших глобалов и методов, можно создавать вложенные структуры.
В коде программы, были использованы «прозрачные» переменные t и map, которые явно не передаются в методы, но доступны внутри них. Мне подсказали, что это не самый лучший способ демонстрации работы, особенно учитывая то, что для большинства, синтаксис Caché Object Script — нов. Поэтому, перед тем как приступить к вложенным структурам, внесём некоторые изменения в программу.
Читать полностью »
Новое в СУБД Caché 2013.1: встроенная поддержка WebSockets
2013-05-28 в 4:46, admin, рубрики: cache, dbms cache, intersystems cache, WebSocket, Блог компании InterSystems, Веб-разработка, Программирование, субд Caché, метки: cache, dbms cache, InterSystems cache, WebSocket, субд CachéВ одной из предыдущих статей уже рассматривалась работа с WebSocket на примере собственной серверной реализации этого протокола поверх обычных сокетов.
В СУБД Caché 2013.1 CSP-Шлюз теперь включает поддержку спецификации HTML 5 для WebSocket-соединений между веб-сервером и HTML 5 совместимым браузером. Эта функция доступна для Apache 2.2 и выше, и для IIS 8.0, который является частью Windows Server 2012.
Поскольку в Caché 2013.1 уже встроен Apache 2.4, мы будем наши примеры запускать именно на нём.
Для реализации клиентской части использовался фреймворк ZEN, но вы можете переделать примеры и на технологию CSP или любую другую.
Особенности jQuery методов fadeIn, fadeOut и fadeTo
2013-05-27 в 22:54, admin, рубрики: javascript, jquery, Веб-разработка, метки: jquery Итак, рассмотрим что же не так в методах fadeIn и fadeOut, которые, как утверждает документация, являются аналогами метода fadeTo, но имеют некоторые свои особенности. На первый взгляд ничего, всё написано в документации. Однако, это не всегда верно, и не все особенности можно найти в документации.
Читать полностью »
SICamp: приглашение к участию
2013-05-27 в 11:57, admin, рубрики: Веб-разработка, краудфандинг, управление проектами, метки: краудфандинг
Очень часто на Хабрахабре появляются статьи и заметки о различных конференциях, хакатонах и баркемпах. Давно ждал, когда же появится заметка о таком формате встреч как SICamp, однако этого так и не произошло. Мои надежды на описание более лучшим автором рухнули и сегодня я сам попробую не только рассказать вам о Лагере, но и пригласить на SICamp-2013, Tajikistan, в котором также могут принять участие жители Казахстана, Кыргызстана, Узбекистана.
Разработка системы синхронизации в реальном времени с использованием SockJS, Django, Tornado и ZeroMQ
2013-05-27 в 9:52, admin, рубрики: django, python, sockjs, tornado, zeromq, Веб-разработка, разработка, метки: Django, sockjs, tornado, zeromqНе так давно, разрабатывая очередной программный продукт, наша команда разработчиков столкнулись с задачей реализации полноценной системы синхронизации пользовательских данных в реальном времени, путем рассылки (PUSH метод) изменений сервером. В самом приложении объем данных был не велик, но они могли просматриваться несколькими пользователями одновременно. Поэтому нам был необходим легковесный и достаточно производительный подход к синхронизации данных в рамках Веб-приложения. После того как были рассмотрены различные пути к решению этой задачи, мы остановили свой выбор на достаточно популярном эмуляторе WebSocket’ов – SockJS, который использует различные алгоритмы обмена данными между клиентом и сервером, в зависимости от браузера, которым пользуется клиент. В рамках данной статьи я не буду заострять внимание на том, почему был сделан именно такой выбор (по этому поводу написано немало статей, в том числе и на хабрахабре), а просто скажу, что мы ещё ни разу об этом не пожалели.
Изначально при изучении стандартных подходов к реализации подобного рода задач мы столкнулись с одной проблемой. Эта проблема заключалась в том, что взаимодействие с нашей системой производилось не только посредством веб интерфейса, но также посредством использования API сторонними продуктами, которые мы не могли контролировать. И конечный пользователь нашего продукта, безусловно, ожидает увидеть всю информацию об изменениях в данных, которые его касаются. Стандартный подход использования sockjs сервера подразумевает, что уведомления об изменении каких-либо данных в системе будут посылаться с использованием того же самого JS клиента, который используется для получения информации об этих изменениях. Именно поэтому в нашем случае такой подход был бы неприменим.
В этой статье я хотел бы рассказать о том, как мы решили эту задачу.
Читать полностью »
«Однопоточный программист»
2013-05-27 в 9:36, admin, рубрики: Веб-разработка, заметки на полях, ошибки в коде, разработка, управление проектами, метки: заметки на полях, ошибки в коде, управление проектамиВсё нижеизложенное вымысел, основанный на реальных событиях.
Не являясь мастером писать заметки, пытался «с пылу с жару» изложить это вчера. Но просто и доступно выстроить мысли в стройном порядке «по горячим следам» не вышло.
Кроме того на личном опыте выяснилось, что описываемый подход, хоть он, на первый взгляд и кажется лично мне очень простым, статистически таким не является. Известное высказывание о том, что «простые вещи, они самые сложные» оказывается в данном случае верным.
«Практическое» применение данного подхода требует усилий и кропотливой работы над собой, до тех пор, пока он не станет безусловным рефлексом, пока допускаемая «неточность» не будет заметна ещё до её совершения.
Поэтому, споткнувшись об одну и ту же проблему в «надцатый» раз, и в «надцатый» же раз наблюдая идентичное её решение, полагаю, что изложение данного «подхода» в письменном виде поможет мне ещё прочней закрепить его как «навык».
В связи с чем, публикуя эту заметку здесь, ожидаю, что вторым «застреленным зайцем» может стать помощь кому-нибудь ещё в избавлении от подобных ситуаций.
Django: Использование QR-кодов для быстрого входа на сайт с мобильных устройств
2013-05-27 в 9:31, admin, рубрики: django, PIL, python, Python Imaging Library, QR-коды, авторизация по QR-коду, Веб-разработка, метки: Django, PIL, python, Python Imaging Library, QR-коды, авторизация по QR-коду, Веб-разработкаЕсли у вас есть сайт, которым часто пользуются с мобильных устройств (таких как телефоны и планшетные ПК), то вы, возможно, задавались вопросом, как реализовать быстрый вход — так, чтобы пользователю не требовалось вводить ни адрес сайта, ни логин и пароль (либо E-mail и пароль).
На некоторых сайтах вы, возможно, видели возможность отправить SMS-сообщение со ссылкой для быстрого входа — это, по сути, приблизительно то же самое. Основное отличие описанного в данной заметке подхода в том, что вместо отправки SMS-сообщения мы будем генерировать QR-код, который содержит ссылку, позволяющую войти на сайт без ввода авторизационных данных.
Кстати, весь процесс написания приложения, которое приводится далее, можно посмотреть в скринкасте на YouTube.
Читать полностью »