Работаю над B2B проектами.

Делал:
- кастомный контрол карт на XAML (версии для Silverlight и WPF) на основе OSM-тайлов с разнообразными слоями поверх него;
- разнообразные UI на XAML, сложные байндинги, кое-какие анимации;
- генераторы сложных классов на T4 templates, в том числе модификация шаблонов Entity Framework;
- генераторы Word (docx) и Excel (xlsx*) документов на основе шаблонов с помощью OpenXML SDK;
- всякие DAL-ы c Entity Framework и MS SQL Server;
- WCF, понимаю ASP.NET, немного чистого javascript;
- MS-инфраструктуру (AD, MSSQL, TFS, пару раз маленький Exchange) - поднимаю и админю.

Также руководил небольшими командами, получается и люблю.

Ещё люблю красивый код, трачу время на рефакторинг, достаю всех коллег code convention'ами.

Хочу попасть в команду, где все круче меня. Хочу расти.

Ищу работу в Москве, $2000+.
Контакты

Наибольший вклад в теги

Все теги (22)

Лучшие ответы пользователя

Все ответы (39)
  • Как принято у программистов: использовать для переменной свойство или давать параметр в каждом методе?

    @i_light
    Могу WPF/Silverlight, EF, WCF, T4, ищу работу Мск
    Это вопрос концепции. Свойства класса, которые принадлежат семантически его объекту - делайте свойствами. Данные, не относящиеся к объекту - передавайте параметрами.

    Например, для теоретического класса "яблоко", свойства - "размер", "вес", "цвет" - принадлежат яблоку, делаем их свойствами класса. Для теоретического метода "разделить" в этом классе необходим параметр "количество частей" - понятное дело, что он не является свойством яблока.
    Ответ написан
    Комментировать
  • Как задать Binding для PasswordBox?

    @i_light
    Могу WPF/Silverlight, EF, WCF, T4, ищу работу Мск
    Binding для PasswordBox не реализован вполне намеренно, чтобы не было так просто перехватить пароль, введённый в поле.

    В качестве стандартной и относительно безопасной практики, часто пользуюсь передачей PasswordBox-а в команду логина параметром.

    <TextBox Text="{Binding Login}" x:Name="TbxLogin" />
    <PasswordBox x:Name="PasswordBox" />
    <Button Content="Log in" Command="{Binding SigninCommand}"
    		CommandParameter="{Binding ElementName=PasswordBox}" IsDefault="True" />


    public ICommand SigninCommand { get; set; }
    private void Signin(object param)
    {
    	var passwordBox = param as PasswordBox;
    	if (passwordBox == null)
    		return;
    	var password = passwordBox.Password;
            ...
    }
    Ответ написан
    Комментировать
  • С чего начать изучать C#?

    @i_light
    Могу WPF/Silverlight, EF, WCF, T4, ищу работу Мск
    Книжка Microsoft в соавторстве с intuit, C# для школьников - отличное начало.

    А потом Троелсен.
    Ответ написан
    Комментировать
  • MVVM с ним или без него?

    @i_light
    Могу WPF/Silverlight, EF, WCF, T4, ищу работу Мск
    Всегда использовать. Просто - всегда. WPF изначально разработан под связывание и нормальную архитектуру.

    То, что можно делать так же, как в WinForms, не говорит о том, что это стоит делать.

    Просто запомнить как мантру, создал проект - добавь референс на MVVM фреймворк, и работай. Фреймворк любой, например MVVMLight. Или Prism. Или свой велосипед (я так делаю), любой.
    Ответ написан
    Комментировать
  • Как лучше хранить картинку?

    @i_light
    Могу WPF/Silverlight, EF, WCF, T4, ищу работу Мск
    Не вижу смысла сохранять результирующую картинку куда-либо, кроме как по запросу клиента. Чтобы её просто показать, достаточно хранить коллекцию ссылок на PNG-файлы (JPEG не поддерживает прозрачность) и накладывать их прямо в браузере друг на друга, поверх, не сводя в единое изображение.
    Плюсы:
    - картинки кэшируются
    - никакой нагрузки на сервер
    - никакой нагрузки на клиент
    Минусы:
    - картинка выдаётся не мгновенно, а загружаются все части по очереди.
    Ответ написан
    Комментировать