Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Мобильное приложения для управления умным домом на базе Z-Wave с помощью OpenRemote

Время на прочтение8 мин
Количество просмотров84K

Не так давно был представлен Z-Wave модуль для Raspberry Pi — RaZBerry, который превращает мини-компьютер в полноценный контроллер умного дома. Управление Z-Wave сетью осуществляется с помощью web-интерфейса, использующего HTTP/JavaScript API. Используя JavaScript можно создать набор функций для автоматизации (включение/выключение света, проверка температуры, опрос датчика движения и др.), которые затем можно выполнить, послав HTTP запрос.

Продукт компании OpenRemote с одноименным названием позволяет создавать мобильные приложения для умного дома без программирования, при этом в одном приложении могут использоваться разные технологии: Z-Wave, KNX, X10, ZigBee, управление компьютером по ssh и др.

OpenRemote это сервер выполняющий любые команды и конструктор интерфейсов в котором вы создаете кнопки, переключатели, надписи и др. и этим элементам уже назначаете команды, в нашем случае это HTTP запросы на выполнение JavaScript функций на сервере Z-Wave.

Далее я по пунктам расскажу как создать пульт управления умным домом для iPhone и Android! А вот так будет выглядеть наше приложения, когда мы закончим:


Под катом много картинок.
Будет интересно!

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 3: WebPages — описываем страницы

Время на прочтение4 мин
Количество просмотров25K
WebPages
Введение

Приветствую всех, кому предыдущие статьи оказались полезными или были просто интересны. В прошлой части мы разобрались с Selenium WebDriver, и теперь, перед тем, как приступать к написанию тестов, мы должны описать страницы тестируемого приложения. В превью перечислю основные моменты
  • Описания всех страниц будут находиться в отдельном проекте, я назвал его Autotests.WebPages
  • Для каждой страницы будет создан отдельный класс, располагающийся в отдельном файле
  • Названия классов будут совпадать с названиями web-страниц, например описание страницы MySite/Home/Help будет храниться в классе с названием Help
  • Структура расположения этих файлов иерархическая и будет повторять дерево web-страниц. Например, страница Help будет иметь путь Root\Home\Help.cs относительно проекта и располагаться в пространстве имен (namespace) Autotests.WebPages.Root.Home
  • Для доступа к страницам будет разработан некоторый фасад (Facade), статический класс Pages
  • На практике страницы могут иметь много общего, поэтому вполне логично использовать наследование и вынесение некоторого функционала в отдельные хелперы
Читать дальше →

ASP.NET MVC. Урок 0. Вступление

Время на прочтение2 мин
Количество просмотров784K
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

Почему именно asp.net mvc

ASP.NET MVC я люблю потому что:
  • Это .net. Я знаю .net и С#.
  • Это компилируемый код.
  • Это не ASP.NET WebForms, я работаю с html-кодом.
  • Используется MVC-паттерн.
  • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
  • Отличные инструменты отладки.


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

HackStore — Альтернативный магазин приложений для Mac OS

Время на прочтение4 мин
Количество просмотров19K
Всем привет! Сегодня я бы хотел рассказать про свой проект HackStore — альтернативный магазин приложений для Mac OSX.



Предыстория



В январе 2011 года Apple запустила Mac App Store, по аналогии с подобным магазином приложений для iOS.
Оставаясь верной своим традициям, Apple установила жесткие проприетарные условия для разработчиков. И если iOS с самого рождения была закрытой системой, то Mac OS напротив, всегда являлась открытой платформой по отношению к сторонним разработчикам. С момента появления первой OS X разработчики успели создать огромное количество как платных, так и бесплатных утилит, игр и приложений.
В момент открытия Mac App Store многие разработчики оказались перед сложным выбором. Чтобы попасть в App Store, им необходимо было изменять приложение, урезать часть функционала, менять лицензию, покупать Mac Developer Program. В противном случае им оставалось продолжать распространять свое приложение как раньше, при этом рискуя потерять пользователей.
При этом, из-за жестких требований AppStore, многие популярные и известные приложения вообще не имеют шанса туда попасть. Так, к примеру, App Store закрыт для приложений, которые распространяются с лицензиями Open Source, MIT или CCL, а также тем, которые даже незначительно меняют системные функции или оформление. Доступ к магазину приложений также закрыт для множества популярных утилит и твиков, таких как CleanMyMac, MacHider, Magician, Adium, Skype и для многих других не менее удобных и полезных приложений.
Читать дальше →

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 1: Введение

Время на прочтение4 мин
Количество просмотров63K
image

Введение

Всем Buenos Dias! В своей статье я хотел бы максимально лаконично и просто рассказать о том, как построить процесс автоматизированного тестирования web-приложения с нуля. Первым делом нужно правильно расставить приоритеты и выбрать приемлемое соотношение цена/качество. Сразу определимся — это будет не решение «на коленках» из зоопарка скриптов, которыми часто пользуются при ручном тестировании. В тоже время мы не будем тратить много усилий на проектирование нашего «фреймворка» для автоматизации. Наша цель — предоставить результаты своей бурной деятельности перед руководством в максимально короткие сроки, при этом система должна быть:
  • максимально простой, чтобы тесты могли писать даже специалисты по ручному тестированию
  • гибкой и расширяемой, поскольку мы не можем адекватно оценить весь объем работ на данном этапе
  • кроссплатформенной (Selenium WebDriver C# поддерживает Firefox, Chrome и IE)

В своем примере я буду успользовать .NET (Microsoft Unit Testing Framework) и Selenium WebDriver C#.
Читать дальше →

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 2.1: Selenium API wrapper — Browser

Время на прочтение6 мин
Количество просмотров54K
Selenium + C#
Введение

Снова здравствуйте! Представляю вам вторую часть статьи на тему автоматизированного тестирования веб-приложения на Selenium и C#. И если первая часть была из разряда «капитан очевидность», что вызвало негодование у читателей, то в этой части будет много кода. И так, зачем же писать обертку (wrapper) над Selenium API? На мой взгляд, пользователи могут столкнуться со следующими проблемами:
  • Интерфейс IWebDriver предоставляет довольно скудную функциональность в плане управления браузером. Поэтому все, что нам понадобится, придется писать самим
  • Описание элемента происходит одновременно с его поиском, т.е. на момент определения элемента он должен существовать в браузере. Очень часто решается путем написания getter для каждого элемента. Это накладно и плохо с точки зрения производительности
  • ISearchContext.FindElements принимает только один параметр типа OpenQA.Selenium.By, т.е. мы не можем искать сразу по нескольким свойствам. Обычно элемент ищется по первому критерию, а затем начинается отсеивание по остальным
  • Отсутствие многих, казалось бы, очевидных методов и свойств. Например: Exist, SetText, Select, SetCheck, InnerHtml и т.д. Вместо этого мы вынуждены довольствоваться Click, SendKeys и Text
  • Множество проблем на различных браузерах, например на Firefox и Chrome элемент кликается, а на IE — нет. Приходится писать special cases, «костыли»
  • Производительность. Да, драйвера работают не быстро. Впереди планеты всей как обычно IE — поиск может занимать секунды, иногда и десятки секунд

Ну что ж, много проблем — много решений. Я не хочу и не смогу изложить все и сразу в этой части. Длинный пост будет неинтересен, да и во время его написания энтузиазм резко падает) Поэтому эта часть имеет номер 2.1, в ней я покажу свой wrapper над браузером.
Читать дальше →

Автоматизация тестирования Web-приложений

Время на прочтение13 мин
Количество просмотров107K


Автоматизация тестирования – место встречи двух дисциплин: разработки и тестирования. Наверное поэтому, я отношу эту практику к сложным, но интересным.

Путем проб и ошибок мы пришли к следующему технологическому стеку:
  1. SpecFlow (опционально): DSL
  2. NUnit: тестовый фреймворк
  3. PageObject + PageElements: UI-абстракиця
  4. Контекст тестирования (информация о целевом окружении, пользователях системы)
  5. Selenium.WebDriver

Для запуска тестов по расписанию мы используем TFS 2012 и TeamCity.
В статье я опишу, как мы к этому пришли, типовые ошибки и пути их решения.
Читать дальше →

Несколько вопросов по .NET и C# (ответы с разбором)

Время на прочтение4 мин
Количество просмотров133K
На минувших выходных я запустил пост «Несколько вопросов по .NET и C#»

Я думаю многим интересно не только найти правильные ответы, но и узнать какая часть пользователей знает эти правильные ответы. Именно с этой целью и создавался этот пост.

Я не настаиваю на истинности объяснений в последней инстанции, поэтому конструктивная критика, дополнения и уточнения приветствуются.



Обещанные ответы с разбором под катом.

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

Шаблоны iOS приложений

Время на прочтение1 мин
Количество просмотров20K
Полезно было бы иметь под рукой типовые шаблоны приложений, в виде проекта Xcode.

Я для себя нашел совсем немного ресурсов, например

codecanyon.net/category/mobile/ios
что то есть на codecanyon.net/category/mobile/ios

А чем пользуетесь вы, когда нужно найти какой то начальный проект, который потом можно «допилить» под собственные нужды?

Как пользоваться утилитой Instruments в Xcode

Время на прочтение16 мин
Количество просмотров64K

В данный момент ваша карьера разработчика iOS находится в том состоянии, когда вы написали одно приложение или два, и вам конечно интересно, что вы можете сделать, чтобы ваши приложения стали ещё лучше.

Помимо улучшения вашего приложения путем добавления в него всяких «завитушек», есть одна вещь, которую все хорошие разработчики должны сделать со своим кодом – обработать его утилитой Instruments!

Это руководство покажет вам, как использовать наиболее важные особенности утилиты под названием Instruments, которая поставляется вместе с Xcode. Она позволит вам проверить свой программный код на наличие проблем с производительностью, утечкой памяти и других проблем.
Читать дальше →

Нагрузочное тестирование с помощью Selenium

Время на прочтение10 мин
Количество просмотров63K

Введение


В это статье я расскажу о применении инструмента изначально предназначенного для функционального тестирования при тестировании нагрузочном web части системы электронного документооборота (СЭД).
Читать дальше →

Time for Coded UI Tests

Время на прочтение6 мин
Количество просмотров53K
В данной статье я постараюсь детально рассказать о работе с Coded UI Test, одним из множества нововведений Visual Studio 2010, а так же упомянуть о проблемах, с которыми я столкнулся.

Не будем зря терять время и сразу приступим к тестированию.
Читать дальше →

30 комплектов иконок в стиле минимализм

Время на прочтение1 мин
Количество просмотров47K
image

Минимализм — стиль в дизайне, характеризующийся лаконичностью выразительных средств, простотой, точностью и ясностью композиции. Отвергая классические приемы творчества и традиционные художественные материалы, минималисты используют промышленные и природные материалы простых геометрических форм, нейтральных цветов (черный, серый) и малых объемов.
Эти значки идеально подходят для проектов, которые направлены на контент и типографику.
Читать дальше →

Новая распространённая ошибка: неверный символ отправки формы

Время на прочтение1 мин
Количество просмотров2K
В последнее время можно часто увидеть рядом с полем поиска по сайту графическую кнопку в виде загнутой стрелки. Знакомый капитан О подсказывает: исторически сложилось, что на одна клавиша клавиатуры отвечает в зависимости от контекста за ввод, подтверждение, запуск действия — по-английски «Enter», или за текстовую операцию: создание нового абзаца, разрыв строки, в общем, перевод или возврат каретки пишущей машинки — «Return». Именно эту операцию, а не запуск действия символизирует эта иконка. Мне кажется, что сейчас, видя подобные иконки на Больших сайтах, многие, не задумываясь, просто копируют.
Не хотите писать на кнопке «Искать»? Покажите значок лупы.
Пара примеров: Habrahabr, MyShows

— P.S. Стандартная просьба: минусуете — укажите причину. Спасибо.
P.S.2 Перенёс в иконосказ.
2

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность