Лет 20 занимаюсь корпоративными системами автоматизации. Когда-то это был Delphi + MSSQL, потом лет 10 C# + WinForms + MSSQL, а ещё между делом ASP.NET MVC + MSSQL.

В качестве сайд-проектов есть пара Android-приложений на GooglePlay и Huawei AppMarket, написаны одно на PhoneGap + knockout.js, второе Xamarin на .Net core.

В плане должностей обычно либо TeamLead, либо CIO, смотря по специфике работодателя.

В качестве хобби пропагандирую людям Agile (Scrum) и TDD :)
Контакты
Местоположение
Россия, Ростовская обл., Таганрог

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

Все теги (21)

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

Все ответы (35)
  • Какие приложения в jira (или другой софт) помогают отслеживать эффективность программиста?

    igolets
    @igolets
    Программист C#, MSSQL
    1. Оценивать эффективность работы, не понимая принципов разработки не получится — как минимум, высок риск демотивировать программистов.
    2. Если есть проект и в нём руководитель проекта, который занимается именно проектом, но не понимает в разработке, то по классическим структурам команд (из того же PMBOK) нужен отдельный функциональный менеджер, который будет понимать в программировании и будет отвечать за производительность (требования, собеседования, инструменты, оценки и т.п.)
    3. Эффективность очень сильно привязана к особенностям процесса разработки (agile/waterfall), особенностям проекта (например, какие цели — быстрее выдать результат, или обеспечить качество).
    4. Заставлять сотрудников отмечать время недостаточно. Если им не разъяснено зачем это нужно делать (какие могут быть последствия), они, как умные люди, начнут что-то сами себе соображать и искажать статистику. А если проверяющий не понимает их работы, то не сможет ничего обоснованно предъявить.
    5. Ну и есть у меня предположение, что за формально озвученным вопросом ("как следить за эффективной работой") скрывается настоящий вопрос ("не укладываемся в сроки/бюджеты", например). Хорошо бы начать с него, не всегда проблема решается с помощью таймшитов, возможно, у вас проблема с изменениями требований или вообще ошибочно выбрана архитектура ;) Учитывая, что в вопросе озвучен только один ПМ (без знания программирования) и ни одного технического "офицера", тут попахивает потерей управления вообще.
    Ответ написан
    Комментировать
  • Как встроить embedded webserver в .NET Winforms приложение?

    igolets
    @igolets
    Программист C#, MSSQL
    Для .Net я бы посоветовал OWIN — https://docs.microsoft.com/en-us/aspnet/core/funda...

    Самому с этой штукой поработать доводилось, встраивал в системную службу. Не вижу причин, почему оно не могло бы встроиться и в обычное приложение.

    Кстати, ASP.NET шаблоны сейчас активно используют owin.
    Ответ написан
    1 комментарий
  • Как реализовать подписку юзеров на других?

    igolets
    @igolets
    Программист C#, MSSQL
    Это нужно погуглить по ключевым словам "entity framework many to many fluent".

    // к User добавить 
            // Subscribers
            public ICollection<UserSubscriptions> Subscribers { get; set; }
    
    // при конфигурировании датаконтекста использовать следующий fluent синтаксис
    modelBuilder.Entity<User>()
       .HasMany(u => u.Subscriptions)
       .WithMany(u => u.Subscribers)
       .Map(cs =>
       {
           cs.MapLeftKey("UserId");
           cs.MapRightKey("SubsUserId");
           cs.ToTable("UserSubscriptions");
       });
    Ответ написан
    Комментировать
  • Как к триггеру привязать делегат?

    igolets
    @igolets
    Программист C#, MSSQL
    Триггеры, к сожалению, напрямую не предназначены для вызова кода. Но код можно вызывать косвенно. Навскидку могу привести следующие варианты:
    1. DataTrigger может биндится через конвертер, соответственно, будет вызываться код конвертера с передачей данных из модели. Пример https://itecnote.com/tecnote/c-wpf-calling-method-...
    2. EventTrigger может запускать TriggerAction. Можно написать свой TriggerAction и этот код будет вызываться по триггеру. Пример https://putridparrot.com/blog/a-simple-wpf-trigger...
    3. Ну и по-простому можно триггером выставлять свойство контрола, а изменение свойства обрабатывать обработчиком.
    Ответ написан
    Комментировать
  • Выбор архитектуры: web или desktop?

    igolets
    @igolets
    Программист C#, MSSQL
    Я бы тут ещё попробовал ответить на следующие вопросы:
    1. Какие требования к срокам выпуска приложения?
    2. Как часто будет меняться приложение?
    3. Какой перечень клиентского оборудования и операционных систем? Будут ли это планшеты на iOs, например. Если только ноуты с одинаковой операционкой — то почему?
    4. Какая интеграция с десктопом потребуется? Например, запуск в режиме киоска (без элементов операционной системы), горячие клавиши, локальная БД, интенсивные вычисления, лимиты памяти, нестандартные элементы управления (джойстики и т.п.), внешние динамики/мигалки/дисплеи, контроль активности пользователя.
    5. Много ли экранных форм и насколько они разнообразны?
    6. Какой опыт у разработчи(ка/ков)


    Суть в том, что для работы с оборудованием, например, комфортнее десктоп (хотя и с веб это возможно). Для некоторых типов приложений мне, например, быстрее также использовать десктоп, потому что есть библиотеки, с которыми я могу простое готовое приложение сделать за часы (с валидацией и т.п.). С юнит-тестами в той среде, в которой с работаю (.Net) проще с десктопным кодом, чем с JS. Но веб, по понятным причинам, убирает многие границы (разные операционки, доставка приложения и т.п.). Опять же веб подразумевает серверную часть. В ряде случаев это подразумевает два языка программирования, две валидации ввода, две обработки ошибок.

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

    Удачи!
    Ответ написан
    Комментировать