Pull to refresh
58
Karma
0
Rating
Зайцев Андрей @zandroid

User

Пишите чистый код с Реактивными Расширениями (Reactive Extensions)

Reading time 6 min
Views 69K
Programming *.NET *C# *
Translation
Если у вас есть некий процесс, который может выполняться долго и возвращать несколько промежуточных результатов с течением времени, то Реактивные Расширения (.NET Framework Reactive Extensions) позволят вам упростить код и лучше управлять им.

чистый код с реактивными расширениями

В большинстве случаев вы просто вызываете метод и получаете результат на выходе. Но некоторые процессы устроены по-другому. Например, метод может выполняться в течение продолжительного промежутка времени. Или, что хуже, метод не только выполняется долго, а ещё и нерегулярно возвращает какие-то промежуточные результаты во время исполнения. Конечно, в том числе и для этого, в .NET Framework есть события, с помощью событий один объект может вызвать метод второго объекта, передавая некоторую информацию, в тот момент времени, когда это необходимо.

Но есть решение этой проблемы по-лучше, чем использования событий, — Реактивные Расширения. Если у вас есть процесс, работающий долго и время от времени возвращающий промежуточные результаты, то Реактивные Расширения помогут вам обрабатывать такие результаты всякий раз, когда они приходят. Код от использования Реактивных Расширений вместо событий не только становится проще, но вы ещё получаете более богатую функциональность (например, вы можете использовать LINQ для отсеивания любых ненужных данных).
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 11

Дэйв Мэтвин: jQuery создают личности

Reading time 6 min
Views 8.8K
JavaScript *jQuery *
В современном мире вряд ли найдется Frontend-разработчик, который никогда не пользовался библиотекой jQuery. Именно jQuery значительно упростила работу с JavaScript и позволила разработчикам не беспокоиться о кросс-браузерных вопросах.

Команда jQuery работает над проектом уже почти семь лет. Дэйв Мэтвин (Dave Methvin) – президент jQuery Foundation – прошёл долгий путь от участника сообщества до главного разработчика ядра. Сейчас Дэйв готовится к приезду на первую российскую конференцию, посвящённую библиотеке jQuery, #jQueryRussia.



Организатор конференции, компания ITmozg, задал Дэйву несколько вопросов о развитии библиотеки, сообщества и основных трендах Frontend-разработки.
Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Comments 7

jQuery 1.8 box-sizing: width(), css(«width») и outerWidth()

Reading time 3 min
Views 11K
jQuery *
Translation
Одна из отличных новых возможностей jQuery 1.8 — это встроенное понимание свойства box-sizing: border-box, которое поддерживается всеми современными браузерами. (IE6 и IE7, покурите в сторонке, я же сказал, современными браузерами.)

Прим.: CSS-свойство box-sizing введено в стандарте CSS3, и может иметь два значения: content-box — соответствует стандарту CSS2 и является значением по умолчанию, при этом свойства width и height задают ширину и высоту контента и не включают в себя значения отступов, полей и границ, новое значение border-box говорит браузеру о том, что свойства width и height должны включать в себя значения полей и границ, но не отступов (margin).
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 11

Что такое этот новый jQuery.Callbacks Object

Reading time 10 min
Views 15K
jQuery *
В не столь давно вышедшей версии jQuery 1.7 появился новый объект Callbacks, о котором сегодня и пойдёт речь.
В официальной документации jQuery.Callbacks описан, как многоцелевой объект, представляющий собой список функций обратного вызова (callbacks — далее просто колбэков) и мощные инструменты по управлению этим списком.

Я просматривал возможности этого объекта, когда он был ещё только в разработке, и надо сказать, что возможностей у него изначально было немного больше, чем осталось в релизной версии. Например, сейчас отсутствует возможность создания очереди (queue) колбэков, которые вызываются по одному на каждый вызов fire(). Видимо, команда jQuery, решила немного подсократить код, убрав «ненужные/редкоиспользуемые» возможности, чтобы сэкономить в весе библиотеки. Это маленький экскурс в историю Callbacks, но далее я буду описывать только доступные сейчас функции и в конце напишу небольшое возможное улучшение этого объекта.
Кому интересно, прошу под кат
Total votes 73: ↑73 and ↓0 +73
Comments 24

jQuery 1.7 Released

Reading time 5 min
Views 6.6K
jQuery *
Translation
jQuery 1.7 готов к загрузке! Можно скачать с jQuery CDN:
code.jquery.com/jquery-1.7.js
code.jquery.com/jquery-1.7.min.js

Так же этот релиз будет готов к загрузке с Google и Microsoft CDNs в течении дня или двух.

Команда jQuery благодарит всех, кто принимал участие в тестировании и и поиске багов в бета-версиях и верит в прочность и стабильность релиза. И просит всех, кто найдёт какие-либо баги, рапортовать о них на баг-трекер и по-возможности подкреплять тестами для воспроизведения на jsFiddle для более быстрого анализа проблем.
Что нового читаем под катом
Total votes 103: ↑101 and ↓2 +99
Comments 63

Нововведения в jQuery 1.6

Reading time 4 min
Views 7.1K
jQuery *
jquery
Совсем недавно (3 мая) был зарелизен jQuery 1.6 и вот что нового появилось в этой js-библиотеке давайте и посмотрим.

Самое «веселое» то, что в новом релизе есть важные изменения, которые несовместимы с предыдущими версиями jQuery. И в результате при переходе на новую версию, вполне возможно, что придётся просматривать и изменять уже существующий код.
Читать дальше →
Total votes 157: ↑156 and ↓1 +155
Comments 46

Razor: вывод секций в мастер-страницах мастер-страниц

Reading time 4 min
Views 21K
ASP *
Всем доброго времени суток. С недавних пор занимаюсь активной разработкой на ASP.NET MVC 3 & Razor «непростого» веб-приложения и вот сегодня наткнулся на проблему, которая опытными разработчиками, может быть, уже исследована и решена, но вот новичкам информация ниже, думаю и надеюсь, окажется полезной.

Описание проблемы


Пусть в приложении есть пара представлений: View.cshtml и ViewWithSide.cshtml, а ещё есть две мастер-страницы: Layout.cshtml и LayoutWithSide.cshtml, причём первая является мастер-страницей для второй. Как можно догадаться по именам файлов, XxxWithSide.cshtml добавляет в странице боковую панель, формат вывода которой определён в мастер странице, а внутренности — в представлении. В главной мастер-странице Layout помимо основной разметки определён вывод секции «navigation», которая задаётся в представлениях.

И вот когда в коде ViewWithSide определена секция «navigation», а в LayoutWithSide нет, потому что эта секция должна обрабатываться «следующей» мастер-страницей (Layout), то при попытке открыть ViewWithSide в приложении будет выдана ошибка: The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/LayoutWithSide.cshtml": «navigation» (Секция «navigation» определена, но нигде не выведена в мастер-странице).

Идея решения этой проблемы довольно проста: нужно передать вывод этой секции «следующей» мастер-странице, а там пусть сами разбираются.
Как это решается и примеры кода есть подкатом
Total votes 11: ↑6 and ↓5 +1
Comments 5

jQuery Deferred Object (подробное описание)

Reading time 7 min
Views 119K
jQuery *
Sandbox
31 января вышел релиз jQuery 1.5, одним из ключевых нововведений которого стал инструмент Deferred Object. Именно о нём я и хочу рассказать подробнее в этой статье.

Эта новая функциональность библиотеки направлена на упрощение работы с отложенными (deferred) вызовами обработчиков (callbacks). Deferred Object, аналогично объекту jQuery, «цепочный» (chainable), но имеет свой набор методов. Deferred Object способен регистрировать множество обработчиков в очередь, вызывать зарегистрированные в очереди обработчики и переключать состояние на «завершено» или «ошибка» для синхронных или асинхронных функций.
Подробности и примеры далее
Total votes 98: ↑95 and ↓3 +92
Comments 16

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity