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

User

Send message

Orchard CMS для разработчика

Reading time12 min
Views20K

На прямо сейчас проходящей в Лас-Вегасе конференции MIX11 была представлена новая версия Orchard CMS – open-source CMS от Microsoft включающая все самое вкусное и полезное из технологий MSFT, находящаяся, можно сказать, на острие. После первого взгляда – CMS вполне понравилась (сравниваю, в основном, с Umbraco) – и появилось желание разобраться — как же собственно происходит разработка для Orchard. Если в этом ваши желания совпадают с моими — читайте дальше.
Читать дальше →

Кроссбраузерный inline-block

Reading time4 min
Views122K
Разрешите представить вам перевод статьи «Cross-Browser Inline-Block», написанной Райном Доэрти холодным февралем 2009 года. В статье рассказывается о верстке элементов списка с установкой для свойства display значения inline-block. Статья об этом, а также о трудностях, возникающих в процессе достижения результата и о методах их «лечения».

Узнать метод Райна Доэрти

Обзор плагинов ++

Reading time2 min
Views3.4K
Очередной топик с обзором нескольких интересных плагинов jQuery.

Mobily Map




Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии


Читать дальше →

Работа с мониторами через WinAPI

Reading time2 min
Views7.3K
Возможности

Используя нижеприведенные классы можно получать информацию о количестве мониторов, их параметрах, а также задавать рабочие области.

Зачем нужно

В частности мне понадобилась подобная функциональность для создания своей панели в WPF, наподобие панели задач. Собрал информацию по интернету и оформил в удобном для себя виде.

Использование

В своей программе пишем:

DisplayDispatcher dispatcher = new DisplayDispatcher();


При этом автоматически произойдет поиск мониторов и определение их параметров. Выведем данные в ListBox:

for (int i = 0; i < dispatcher.Count; i++)
                lbMonitors.Items.Add(String.Format("Экран #{0} ({1}x{2}) {3}", 
                    i, dispatcher[i].ScreenWidth, dispatcher[i].ScreenHeight, 
                    ((dispatcher[i].Availability) ? " Основной" : "")));


Кроме ширины и выоты также доступны данные о занимаемой области на виртуальном рабочем столе (MonitorArea) и рабочей области на нем же (WorkArea).
Читать дальше →

Dapper.NET — «микро-ORM» на котором работает StackOverflow

Reading time1 min
Views39K
Dapper.NET — это «мини-ORM», как ее называют сами разработчики, на которой работает движок StackExchange и сайт StackOverflow в частности.

Сегодня Sam Saffron (@samsaffron, один из разработчиков платформы) выложил ее в OpenSource на Google Code.

Основная фишка этой микро-библиотеки — производительность в тех случаях, когда надо запустить, например, 500 select-команд подряд и замапить тысячи результатов в объекты определенных классов. Разработчики утверждают, что скорость их решения практически не уступает «ручной» работе с SqlDataReader.
Читать дальше →

Делаем консоль чуточку удобнее

Reading time4 min
Views7.3K
Практически все Javascript-программисты пользуются консолью в браузерах. Консоль встроена в Хром, Оперу, IE и устанавливается с Firebug в Фоксе.
Но у неё есть пару неудобств, которые можно очень легко исправить. Это:
  • Ошибки, когда консоль не определена
  • Невозможность использовать вне контекста
  • Невозможность отключить во время production
  • некроссбраузерность

Исправим эти проблемы легко и быстро!

Читать дальше →

Архитектура Orchard CMS. Основные понятия

Reading time5 min
Views8.1K
Это вторая часть руководства “Как создать свой сайт с нуля с помощью Orchard CMS”. С первой частью руководства вы можете познакомиться здесь: начало и продолжение.

Напомню, что автоматическая загрузка Orchard доступна из галереи приложений с помощью средства быстрого доступа к веб-инструментам Web Platform Installer (нажмите на эту ссылку, чтобы начать установку).

Введение


Для того чтобы начать работать с Orchard CMS необходимо изучить базовые понятия, которые применяются в этой CMS для работы с содержимым. В этой части руководства мы познакомимся с элементами Orchard CMS, которые составляют архитектуру CMS.

Компоненты, используемые в Orchard CMS


Система управления контентом Orchard построена на базе технологий Microsoft и компонентов с открытым исходным кодом созданных сообществом.

Таблица 2.1. Архитектура Orchard CMS
image

Читать дальше →

Unit-тесты, пытаемся писать правильно, чтобы потом не было мучительно больно

Reading time3 min
Views58K
Большинство людей не умеют писать unit-тесты. И даже те, кто применяет модульные тесты в ежедневной разработке, зачастую признают, что получившиеся тесты иногда не очень эффективны по определенным причинам. К этой категории людей я могу отнести и себя. В первую очередь, такой «причиной» является некоторая появляющаяся «инертность» кода, заключающаяся в том, что если требуется немного изменить какой-то ключевой алгоритм, добавить пару строчек кода, то при этом «падают» ~100 модульных тестов и приходится тратить продолжительное время на то чтобы заставить их работать вновь. Итак, приступим к «хорошим рекомендациям» при написании автоматических модульных тестов. Нет, я не буду капитаном очевидностью, в очередной раз описывая популярный стиль написания тестов под названием AAA (Arange-Act-Assert). Зато попытаюсь объяснить, чем отличается Mock от Stub-а и что далеко не все тестовые объекты — «моки».
Читать дальше →

Getters & Setters в Javascript

Reading time9 min
Views29K
Много людей знают, что такое getter'ы и setter'ы во многих языках программирования. Есть эти чудесные штуки и в JavaScript, хоть узнал я об этом совсем недавно (темень я необразованная). Речь пойдёт не только и не столько про методы getSomeProperty()/setSomeProperty(...), а про более интересную реализацию — псевдо-аттрибуты, при изменении которых будут вызываться функции-обработчики.

Дальше...

Организуем view models в ASP.NET MVC

Reading time4 min
Views32K


В интернете полно примеров вроде «Делаем вики на ASP.NET MVC за 15 минут». Проблема таких примеров в том, что они используют VideData или ViewBag для передачи данных в View. Для генерации форм используются нетипизированные методы вроде Html.TextBox(). А для получения данных из форм просто параметры к методам контроллера, или хуже того – сами сущности из ORM.

Это может быть прекрасно с точки зрения того, кто в жизни имеет дело только с созданием таких «видео уроков». Но в немного более сложных случаях вы, конечно же, захотите иметь строго типизированные модели, использовать строго типизированные методы вроде Html.TextBoxFor(m=>..), и получать в методе контроллера из формы ровно то, что хотите получить и при этом держать все модели в консистентном виде.

Итак, правила, если вы хотите разрабатывать в MVC:
Читать дальше →

Как создать свой сайт с нуля с помощью Orchard CMS. Часть 1. Введение в Orchard CMS (продолжение)

Reading time12 min
Views6K
это продолжение статьи, начало читайте по этому адресу
В первой части руководства по введению в систему управления контентом Orchard CMS мы познакомились с системой и за считанные минуты загрузили и запустили первый сайт. Мы познакомились с тем, как автоматически загрузить и развернуть Orchard с помощью средства разработки WebMatrix.

Здесь представлено продолжение руководства, в котором мы познакомимся с панелью управления Orchard CMS, произведем первую настройку сайта, выберем тему сайта, поработаем с кодом и базой данных, проведем анализ сайта на потенциальные проблемы и автоматически опубликуем сайт на сервер.

Напомню, что автоматическая загрузка Orchard доступна из галереи приложений с помощью средства быстрого доступа к веб-инструментам Web Platform Installer (нажмите на эту ссылку, чтобы начать установку).

Управление Orchard CMS

Загруженная страница базового проекта Orchard CMS представляет собой симпатичный легкий и простой сайт с заголовком, панелью навигации, четырьмя текстовыми блоками и «подвалом», в котором есть ссылка Dashboard на панель администрирования проекта.

Читать дальше →

Как создать свой сайт с нуля с помощью Orchard CMS. Часть 1. Введение в Orchard CMS

Reading time7 min
Views15K

О проекте


Проект Orchard CMS был анонсирован в марте 2010 года с выпуском первой бета-версии проекта. Создатели Orchard CMS поставили перед собой цель построить систему управления контентом на новом успешном фреймворке ASP.NET MVC, которая соответствовала бы следующим требованиям:
  • открытый бесплатный и свободный проект, зависящий от запросов сообщества;
  • быстрый движок с модульной архитектурой и всеми необходимыми средствами CMS;
  • общедоступная онлайн-галерея модулей, тем и других компонентов расширения от сообщества;
  • высокое качество типографики, внимание к компоновке и разметке страниц;
  • упор на создание удобной и функциональной панели администрирования;
  • быстрое развертывание системы на рабочем месте и легкая публикация на сервер.
Система управления контентом Orchard является проектом с открытым исходным кодом, который написан на ASP.NET MVC. Orchard является частью галереи ASP.NET-проектов с открытым исходным кодом некоммерческого фонда Outercurve Foundation.

clip_image002

Рис.1.1. Внешний вид Orchard CMS по умолчанию

Первоначально Orchard и его исходные коды лицензировались на основе свободной лицензии MS-PL, но недавно, с выходом первой публичной версии, проект сменил лицензию на более простую и распространенную New BSD License.

Читать дальше →

Используем console на полную

Reading time6 min
Views459K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console

2000 из 3000 иконок готово — стань соавтором! (стол заказов)

Reading time1 min
Views15K
Не так давно на хабре был топик, который привел на наш сайт 17 тысяч посетителей за два дня (11,828+5,100 on October 21, 2010). С 2009го года эта уже не первая волна, а последние иконки будут нарисованы в первой четверти 2012го года. Best reseller hosting providers.

image

Не хватает еще 1000 иконок для best email hosting. Готовы ли вы предложить метафоры, которых у нас еще не хватает? Тогда follow me…

Читать дальше →

Как проектировать программы и их интерфейсы под пользователя, или теория DISC для «нечайников»

Reading time6 min
Views8.5K
Как часто программист сталкивается с вопросом выбора целевой аудитории? Я, если честно, не могу особенно назвать себя программистом, но с этим связан очень тесно. Я заказчик, и по сути менеджер проектов. Как правило, этот вопрос возникает в момент, когда проектируешь новое приложение. Будь это модуль для 1С, веб сайт или приложение для iPhone – задача очевидна. Необходимо чтобы пользователю было удобно.
Как правило мы примеряем всё под себя – если мне понятно, мне удобно, значит и пользователю будет удобно. И на практике сталкиваемся с «нормальной» ситуацией, когда пользователь не может найти кнопку или функцию, которая для Вас, находится в очевидном месте. Итак давайте разберемся, откуда возникают такие недоразумения?
Читать дальше →

Жил-был самый маленький сервер…

Reading time10 min
Views31K
   Как говорится, компьютерные пользователи делятся на тех, кто делает бекапы и на тех, кто их ЕЩЕ не делает. Понимая это, все больше пользователей предпочитают не хранить «яйца в одной корзине», все больше обращая свое внимание на возможность централизованного хранения информации. Героем сегодняшнего обзора стала маленькая коробочка от известного тайваньского производителя, возможностей которой для домашнего использования хватит с головой. Этот сервер сидит на диете (потребляет всего 5 Вт), бесшумный, маленький и недорогой (от 3000 рублей) – в общем, если вам этот вопрос интересен, то я предлагаю не откладывать знакомство.

image

Встречайте – Synology USB Station 2.
Читать дальше →

Парсим URL

Reading time25 min
Views68K
Хочу поделиться одной полезной утилиткой, написанной на pure JavaScript, — URL. По сути это небольшой парсер URL'ов, работающий почти как window.location, но не перезагружающий страницу браузера при манипуляциях.

А заодно скажу пару слов про getters & setters в JavaScript.

UPD1: по просьбам трудящихся, вынесу сюда примеры:
// Пусть текущий URL = 'http://my.site.com/somepath/'
var u = new URL('relative/path/index.html')
u.href // my.site.com/somepath/relative/path/index.html
u.href = '/absolute/path.php?a=8#some-hash'
u.href // my.site.com/absolute/path.php?a=8#some-hash
u.hash // #some-hash
u.protocol = 'https:'
u.href // my.site.com/absolute/path.php?a=8#some-hash
u.host = 'another.site.com:8080'
u.href // another.site.com:8080/absolute/path.php?a=8#some-hash
u.port // 8080
// и так далее, и тому подобное

* This source code was highlighted with Source Code Highlighter.

Работает в FF3+ (может и в 2+, не пробовал) и в IE6+ ( и это — моё ноу-хау :-) ).
Разобрана в статье также полностью кросс-браузерная реализация, но в использовании — немного более громоздкая:
// Пусть текущий URL = 'http://my.site.com/somepath/'
var u = new URL('relative/path/index.html')
u.href() // my.site.com/somepath/relative/path/index.html
u.href('/absolute/path.php?a=8#some-hash')
u.href() // my.site.com/absolute/path.php?a=8#some-hash
// и т.д.

* This source code was highlighted with Source Code Highlighter.


Да, и я привожу свой листинг полностью, извиняйте, так надо.

Прошу под кат...

Работа с Visual Studio Team Foundation Server 2010

Reading time7 min
Views97K

Данная статья будет полезна тем, кто не устанавливал и не использовал Visual Studio Team Foundation Server раньше. TFS может быть частью очень сложной инфраструктуры, которая включает отчеты, интеграцию с SharePoint, множественные домены, распределенные базы данных и т.д., но я не собираюсь затрагивать эти области. Моя основная задача – это помочь разобраться с базовыми элементами TFS (система контроля версий, система отслеживания ошибок и заданий и система автоматических сборок) и начать использовать данную систему.

Читать дальше →

Ищем быстро, еще быстрее

Reading time3 min
Views22K
Натолкнулся в разделе QA на интересный вопрос. Ответ на него заставил написать эту статью как бОлее полный ответ на вопрос «как организовать поиск по множеству параметров, как в Яндекс-маркете, например».

Я знаю, что на Хабре, да и вообще есть много сторонников noSQL решений (сам не без греха), но все же я сторонник сначала подумать, а уже потом выбирать решение.

Итак, что имеем в «ДАНО»
  • Имеем 120 чекбоксов — вариант 1/0
  • Имеем 30 «радио» с выбором «да/нет/не важно»
  • Имеем 2-3 слайдера для указания диапазона цен/размера чего нить
  • Имеем самое главное: 12 млн записей в БД.
  • Имеем Select * From tovar Where (wifi=true) and (led=false) and (type=3) and ….остальные параметры …; со временем выполнения близкому к истерике клиента.

Читать дальше →

Information

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