Ответы пользователя по тегу C#
  • Есть ли перспективы ПО разработки?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Ох... И не знаю даже, как Вам ответить. Да, появилось такое направление, как web-программирование. Но оно появилось уже давно, несколько десятков лет назад. Оно набирает популярность, чему есть объективные и субъективные причины. Но про "сейчас все уходит в веб" Вы сказали не подумав. Web-программирование - это только одно из многих направлений прикладного программирования.
    Я, например, занимаюсь сложными программно-аппаратными комплексами. В них входят разные подсистемы: есть web-интерфейс пользователя, есть web-сервисы, но за этим фронтоном стоят очень мощные системы сбора, обработки и хранения информации. Часто эти системы распределены по всей территории России, и вопрос их взаимодействия/синхронизации - тоже весьма не тривиальный.
    Очень активно сейчас развиваются системы типа "умный дом" или "умный офис", и в них web - важная, но не решающая часть. Важнее по сигналу датчика выполнить корректно некое действие, чем уведомить об этом пользователя. Да и способы уведомлений бывают разные, не только посредством Интернет, и всем этим занимаются программисты.
    В общем, я бы говорил о проникновении программного обеспечения в самые разные области жизнедеятельности человека, просто одни люди чаще работают с web-интерфейсом, а другие - со штурвалом самолёта или щитом управления АЭС.
    А стоит или нет изучать программирование на Java и C# - это уж Вы сами решите. Платформы очень мощные, но есть прикладные задачи, для которых они не очень подходят. Решите, чем Вы сами хотите заниматься, тогда станет понятно, какие инструменты использовать.
    Ответ написан
    Комментировать
  • Стандарты разработки GUI?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    https://cours.etsmtl.ca/gpa789/pdf/OfficialGUI.pdf - это под windows ("Official Guidelines for User Interface Developers and Designers")
    Ответ написан
    2 комментария
  • Почему C# проект, скомпилированный в Windows 7 не работает в Windows 8 и Windows 10?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Совместимость: https://msdn.microsoft.com/ru-ru/library/bb822049%... Там же указано, как проверить версию .NET на машине.
    По умолчанию в Win10 стоит версия .NET 4.6 (либо 4.6.1 в обновлённой Win10). Если Вы компилируете проект с использованием .NET 4.5/4.5.1/4.5.2, то по хорошему нужно поставить ту же версию .NET на Win10.
    Ответ написан
    Комментировать
  • Как написать программу на .Net 4.5 для windowx XP?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Вариантов много. По всей видимости, старая версия уже включала компоненты для .NET Framework 4. (1) Не переходите на новые компоненты только ради поддержки .NET 4.5, используйте старые версии. Либо (2) используйте конфигурацию для биндинга нужной версии компонентов. Либо (3) сделайте динамическую компоновку (плагинами, например), зависящую от используемой ОС. Либо (4) сделайте установщик, который будет ставить версии компонентов, зависящие от ОС. (5) Компоненты можно вынести в отдельное программное средство (сервис, консольное приложение), сделать такое средство специально для XP, и использовать редакцию либо для Win7/8/10, либо для XP... Вот уже 5 решений. Не считая принудительного перевода пользователей на Win7 ;)
    Короче, проблема решаемая. Но придётся немного попотеть.
    Ответ написан
    Комментировать
  • Зачем нужны делегаты в C#?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Мы используем делегаты для реализации событийной модели. В коде генерируется событие, на которое подписываются различные обработчики: логгеры, мониторы производительности, контроллеры и т.п. Собственно, обработчики событий — это методы, вызываемые с помощью делегатов. В результате код остаётся чистым и понятным, а функциональность обработчиков - конфигурируемой и расширяемой.
    Ответ написан
    Комментировать
  • Какую C# библиотеку использовать для Javascript или аналог WebBrowser?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    В многопоточных решениях хорошо себя показал Jint. Мы тестировали несколько разных решений, но на x64 в многопоточном режиме это решение показало себя самым устойчивым. Пару слов найдёте здесь.
    Ответ написан
    Комментировать
  • Как логировать?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Мы используем Enterprise Library. Она позволяет реализовать комплексное решение для инфраструктуры проекта, включая логирование, мониторинг, контроль состояния, рассылку уведомлений и кучу других полезностей.
    Подход к логированию описан здесь.

    Ещё есть библиотечка для ASP.NET под названием Elmah. Тут есть небольшая статья.
    Ответ написан
    Комментировать
  • Какие можно использовать встраиваемые интерпретаторы при разработке .net?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Как вариант, например, для JavaScript, JScript, VBScript:
    "Использование Jint для динамического выполнения кода" (m-i-kuznetsov.livejournal.com/16260.html)
    "Использование MS Script Control для динамического выполнения кода" (m-i-kuznetsov.livejournal.com/14114.html)
    И да, DLR, как сказано AxisPod
    Ответ написан
    Комментировать
  • Где найти best practice по c#?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Если Вы уже работаете над конкретным проектом, то приоритет составляют технологии, используемые в этом проекте. Вы же не хотите потерять работу, не так ли? К тому же у Вас в этом случае имеется хорошая возможность для роста, просто изучая код, написанный более опытными коллегами. Не стесняйтесь задавать вопросы. И старайтесь понять, почему принимаются те или иные технические решения.

    Если помимо работы у Вас есть время изучать другие технологии, то обратите внимание на тенденции, которые прослеживаются в вашем проекте (можно спросить об этом вашего тим-лида). В тот момент, когда новые технологии потребуются, Вы будете уже на коне.

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

    Что касается практик, то советовал бы научиться работать с MSDN. Есть там специальный раздел, patterns & practices: https://msdn.microsoft.com/en-us/library/ff921345.aspx .

    Ещё почитайте блоги разработчиков Microsoft. Например, блог Сергея Теплякова sergeyteplyakov.blogspot.ru
    Ответ написан
    Комментировать
  • C чего стоит начать переход с C# на Java?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Начинайте с начала. Несмотря на некоторую похожесть названий классов, архитектура .NET и Java разная. Начальный уровень владения C#, возможно, даже хорошо в Вашем случае: мозг клинить не будет.

    Я бы посоветовал сначала познакомиться с возможностями языка. Возьмите какой-нибудь бесплатный видеокурс, например, Разработка приложений для ОС Android. Не спеша работая с демонстрируемыми примерами, получите первые навыки и почувствуете среду разработки.

    А дальше - книги, более глубокие курсы, проработка разных тематик и выбор своего пути.
    Ответ написан
    Комментировать
  • Где можно посмотреть исходный код backgroundworker?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Ответ написан
    Комментировать
  • Увеличит ли асинхронный метод быстродействие сериализации / десериализации с файлом не больше 200 строчек?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Хм. Строка строке рознь. Можно и гиг данных в одну строку забить.

    Я бы не гадал. Здесь достаточно провести измерение на прототипе с синхронным выполнением при эмулировании пиковой нагрузки. Если быстродействие будет приемлемым для бизнес-задач пользователей, оставьте это решение. Если будут сомнения - сделайте прототип с асинхронным решением и сравните результаты.
    Ответ написан
    Комментировать
  • Хорошие курсы C# для начинающих?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Если в Москве и платно, то идите на курсы ЦКО "Специалист" при МВТУ им. Баумана. Официальные курсы Microsoft. Например, www.specialist.ru/course/m20483
    Получите официальный диплом гособразца и сертификат Microsoft.

    Если хотите бесплатные и on-line, то идите в ИНТУИТ: www.intuit.ru
    Получите сертификат ИНТУИТ.
    Ответ написан
    7 комментариев
  • Вопрос тем, кто недавно читал книгу Боба Мартина - "методика гибкой разработки на c#".?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Ищите реализацию метода Change(e); Этот метод производит изменения и сохраняет результат.
    Ответ написан