Архив

Архив раздела ‘Development’

Автоматическая реализация INotifyPropertyChanged на Spring.NET

4 Февраль 2012 Нет комментариев

В статье ранее я писал как сделать автоматическую реализацию INotifyPropertyChanged на основе расширений библиотеки NInject. К сожалению, моя жизнь с этой библиотекой не сложилась, NInject был заменен на Spring.NET. При этом схему автореализации надо было как-то перенести без особенных изменений прикладного кода. Объясню, что именно я сделал.

Читать далее…

Categories: Development Tags: ,

Неопределенное будущее Titanium Desktop

1 Февраль 2012 Нет комментариев

Около полугода я следил на развитием проекта Titanium Desktop. Идея продукта состоит в том, что можно создавать полноценные desktop приложения на HTML+JS. Я подумывал использовать этот фреймворк в одном из своих проектов. Но сегодня, проверяя новости, обнаружил нерадостное – проект снимают с финансирования AppCelerator и передают сообществу разработчиков. Официальный пресс-релиз можно прочитать здесь.

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

В качестве альтернативы предлагается chromiumembedded, который тоже находится в непонятном состоянии. По этому проекту даже с документацией есть проблемы, вся поддержка – через полуживой форум.

Таким образом, многоплатформенных технологий для создания desktop приложений на HTML+JS в доступности не видно. Разве что Adobe AIR, но он пугает чем, что Adobe.

Categories: Development Tags: , , ,

Простая реализация INotifyPropertyChanged

31 Январь 2012 Нет комментариев

При разработке для платформы .NET часто приходится делать так раздражающие всех реализации интерфейса INotifyPropertyChanged на классах-моделях. Типичный пример выглядит так:

class StatisticsRecord: INotifyPropertyChanged
{
    private string name;
    public string Name { get { return name; } set { name = value; NotifyPropertyChanged("Name"); } }	

    private void NotifyPropertyChanged(string name)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(name));
    }

    public event PropertyChangedEventHandler PropertyChanged;
}

На мой взгляд, с этим кодом есть 2 проблемы:

  1. Очень много повторений и кода вызванного необходимостью вызвать NotifyPropertyChanged. Увеличивается количество «тупой» работы.
  2. Использование строковой константы Name в качестве аргумента. Рефакторинг может привести к разрушению биндинга к такому свойству.

Читать далее…

System.BadImageFormatException при загрузке тестов в ReSharper

24 Январь 2012 Нет комментариев

В начале создания авто-тестов в одном проекте на C# начал возникать System.BadImageFormatException при попытке запуска тестов из ReSharper. Выяснение показало, что проблема была в том, что сборка с тестами имела Any CPU. А тестируемые классы были в EXE, который был собран в x86. При этом Windows используется 64х битный, следовательно Any CPU = x64.

Решение просто – указать в тестовой сборке целевую платформу x86. Это делается в закладке Build свойств проекта тестовой сборки.

Categories: Development Tags: ,

Названия обработчиков событий в VS2010

После установки ReSharper на Visual Studio 2010 (всем разработчикам на C# рекоммендую, кста) наиболее активно разражает подсвечивание названий методов, который автоматически генерируются Visual Designer для обработки событий, поскольку название типа «Form1_Load» никак не соответствует идеям начинать название с глагола и не использовать «_». Но это можно исправить.
Читать далее…

Categories: Development Tags: ,

Поучимся?

26 Сентябрь 2011 2 comments

Я считаю, без каких-то новых знаний жить не особо интересно. Поэтому стараюсь учиться. А тут Стэнфорд предлагает уникальную возможность бесплатно поучиться computer science.
Читать далее…

Categories: Development Tags: ,

Наемная работа мечты

8 Март 2011 4 comments

Кажется, я нашел идеальный вариант организации наемной работы. Вот текст объявления:

Таиланд — море, солнце, счастливые лица вокруг. Теперь и у Вас есть возможность попасть туда, причем бесплатно и Вам еще за это доплатят :)
Вакансия: разработчик Ruby on Rails

Читать далее…

Categories: Development Tags:

Пропустил Google Developer Day

11 Ноябрь 2009 Нет комментариев

Вчера в Москве проходил Google Developer Day. На который я не попал, поскольку не знал об этом мероприятии. Так и не нашел способа узнавать о таких событиях своевременно. А вы знаете такой способ?

Categories: Development Tags:

Изящная идея передачи и хранения лицензий

12 Октябрь 2009 Нет комментариев

Не секрет, что любой современный пользователь покупает массу программ. И каждая из них требует серийного номера. Обычно эти номера приходят по почте. Но с этими длинными последовательностями есть масса проблем – не все пользователи умеют пользоваться операциями copy и paste. Не все догадываются куда надо вводить номер и т.п. На прошлой неделе я увидел в программе Springy изящнейнее решение этих проблем.
Читать далее…

Categories: Development Tags: , ,

Опыт с Spring Roo

10 Октябрь 2009 Нет комментариев

У меня возникла задача создать простенький веб-сайт с функциональностью доступа пользователей сайта к некоторой закрытой информации. При этом регистрация пользователей происходит третьим способом, но через сайт пользователи могут поменять свой пароль. Закрытая часть сайта содержит простенький интерактив по работе с закрытой информацией (создать, изменить, удалить), а также функционал по управлению пользователями – для админов.
Для такого проекта я решил попробовать Spring Roo.
Читать далее…

Categories: Development Tags: , , ,