Лет 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 :)
Контакты
Местоположение
Россия, Ростовская обл., Таганрог

Достижения

Все достижения (1)

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

Все теги (21)

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

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

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

    igolets
    @igolets
    Программист C#, MSSQL
    Я когда-то даже написал на эту тему статью.

    https://habr.com/ru/articles/801899/
    Ответ написан
    Комментировать
  • Как встроить 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. Ну и по-простому можно триггером выставлять свойство контрола, а изменение свойства обрабатывать обработчиком.
    Ответ написан
    Комментировать