• Best practices при обработке серверных ошибок при Ajax запросе?

    merlin-vrn
    @merlin-vrn
    А это зависит от того, что вообще делалось.

    Если вы отправляли почту через ajax, нужно честно сказать, что при отправке почты произошла ошибка. Пусть это будет не alert, но заметный div с сообщением нужен.
    А если это было просто обновление списка комментариев к записи в фоновом режиме, то лучше всего промолчать, либо просто перезагрузить страницу без ajax.

    Самое общее правило, какое я могу сформулировать: если ошибка произошла в ответ на явное действие пользователя, нужно сообщить, иначе — если это неважно для общего функционала сайта, желательно обработать по-тихому. Но вообще важен контекст. Нет общего способа сообщения о любых ошибках в любых ситуациях.
    Ответ написан
    Комментировать
  • Является ли должность менеджера следующим этапом развития карьеры программиста?

    opium
    @opium
    Просто люблю качественно работать
    Мне кажется скоординировать работу 10 человек в десять раз сложнее любой программистской задачи.
    Ответ написан
    4 комментария
  • Является ли должность менеджера следующим этапом развития карьеры программиста?

    XaBoK
    @XaBoK
    Я думаю, что «следующей должностью» программиста должно быть что то типа архитектора. А переход в менеджмент — смена сферы деятельности.
    Ответ написан
    Комментировать
  • Какой IoC контейнер для .NET лучше? Unity или Ninject?

    szKarlen
    @szKarlen
    Могу посоветовать Ninject — имеет очень активное сообщество, существуют расширения для MVC3, NLog, Glimpse + много чего.
    Лично мне нравится сам API. если хотите убедиться в простоте использования, то можно на примере ASP.NET MVC:

    1) назначаем привязки
    class RepoModule : NinjectModule
    {
        public override void Load()
        {
            Bind<ICategoryRepository>().To<CategoryRepository>();
    
            Bind<IProductRepository>().To<ProductRepository>();
        }
    }
    


    2) загружаем ядро
    var modules = new INinjectModule[]
                {
                    new RepoModule()
                };
                var kernel = new StandardKernel(modules);
                RegisterServices(kernel);
                return kernel;
    


    3) пишем наш контроллер
    public class ProductsController : Controller
    {
        private readonly IProductRepository productRepository;
    
        public ProductsController(IProductRepository productRepository)
        {
            this.productRepository = productRepository;
        }
    }
    
    Ответ написан
    Комментировать