• Оправданно ли поведение менеджера проекта в описанной ситуации?

    @kttotto
    пофиг на чем писать
    Я для себя давно вывел: хороший начальник всегда сможет быть хорошим подчиненным, хороший подчиненный не всегда сможет быть хорошим начальником.

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

    В общем мой совет: не парьтесь тем, что делает менеджер, парьтесь задачами за которые Вы отвечаете.
    Ответ написан
    Комментировать
  • Как стать универсальным программистом?

    @kttotto
    пофиг на чем писать
    Дружище, ну ты темы плодишь))

    Не нужно становиться универсальным программистом. Просто, чем дальше в опыте, чем с большими технологиями сталкиваешься, тем больше становится все равно на чем разрабатывать. Зная один яп, изучение следующего дается быстрее, а изучение следующего - еще быстрее. На чем задачу поставят - на том и сделаешь. Работа разработчика такова, что каждый новый проект, это задача которую ты еще не решал. Мы же инженеры, у нас работа что-то придумать, чего еще никто не делал.

    И не нужно сравнивать Data scince с разработкой ПО. Анализ больших данных и разработка хоть и относится к IT сфере, но пересекаются косвенно.

    Может не хватать только одного навыка: любви к делу. Вот и вся мотивация, это любопытство, азарт решить задачу, желание уметь, быть лучше других. И еще раз повторюсь, это умение постоянно самообучаться, я считаю самое важное для разработчика.
    Ответ написан
    Комментировать
  • Как правильно построить n-layer архитектуру приложения ASP.NET MVC?

    @kttotto
    пофиг на чем писать
    В отдельный слой следует выделять только то, что подвержено изменениям при поддержке, либо будет использоваться как компонент еще где-то. Стандартно это ui/web, dal, business-logic. Иногда в отдельный слой выносят модели, т.к. они могут использоваться как промежуток между разными слоями, особенно если это dto модели.
    Ответ написан
    Комментировать
  • Как правильно асинхронно загрузить файл?

    @kttotto
    пофиг на чем писать
    Это асинхронная загрузка. Ajax по умолчанию делает асинхронны запросы, если сами не сделаете async: false. Проверить асинхронность легко, страница не должна блокироваться во время запроса.
    Ответ написан
    Комментировать
  • Как найти все границы объектов, описанных попиксельно?

    @kttotto
    пофиг на чем писать
    Если это двумерный массив, где каждый пиксель имеет координаты, то почему бы не взять из каждой строки индексы первого черного и последнего черного.

    На C# это выглядело бы так
    var arr = new bool[100][];
    var contour = new List<List<int>>();
    
    for (var y = 0; y < 100; y++)
    {
    	var firstX = Array.IndexOf(arr[y], true);
    	var lastX = Array.LastIndexOf(arr[y], true);
    
    	if(firstX != -1)
    		 contour.Add(new List<int> { firstX, y });
    
    	if (lastX != -1)
    		 contour.Add(new List<int> { lastX, y });
     }
    Ответ написан
  • Как в браузере на C# подвязаться к значениям содержимого?

    @kttotto
    пофиг на чем писать
    MSD в принципе все рассказывает здесь. Внизу страницы есть такой абзац, обратите на него внимание:

    Также можно управлять содержимым веб-страницы через Document свойство, содержащее HtmlDocument объект, который предоставляет управляемый доступ к объектной модели документов HTML (DOM) для текущей страницы. Это свойство полезно, когда используется в сочетании с ObjectForScripting Свойства, чтобы реализовать двусторонний обмен данными между кодом приложения и динамический код HTML (DHTML) в веб-страницы, позволяющей объединять веб-элементы управления и элементы управления Windows Forms в единый пользовательский интерфейс. Можно использовать Document для вызова методов сценария кода из приложения.

    Дальше переходите по ссылке сюда, чтобы глянуть как работать с HtmlDocument и находим там методы для доступа к dom элементам: GetElementById(String), GetElementsByTagName(String). Собственно там достаточно методов чтобы узнать нужные значения со страницы.
    Ответ написан
    Комментировать
  • C# - Как можно сравнить время(DateTime)?

    @kttotto
    пофиг на чем писать
    var periodFrom = new DateTime(2017, 10, 5, 11, 30, 0);
    var periodTo = new DateTime(2017, 10, 5, 12, 30, 0);
    var periodNow = DateTime.Now;
    if (periodNow > periodFrom && periodNow < periodTo)
    {
    	Console.WriteLine("between");
    }
    	else
    {
    	Console.WriteLine("not between");
    }
    
    // 	timeFrom и timeTo выбирай вариант какой нужен
    var timeFrom = periodFrom.TimeOfDay;
    var timeTo = periodTo.TimeOfDay;
    
    var timeFrom1 = new TimeSpan(11, 30, 0);
    var timeTo1 = new TimeSpan(12, 30, 0);
    
    var timeNow = DateTime.Now.TimeOfDay;
    if (timeNow > timeFrom1 && timeNow < timeTo1)
    {
    	Console.WriteLine("between");
    }
    else
    {
    	Console.WriteLine("not between");
    }
    Ответ написан
    6 комментариев
  • Как сменить формат даты в C#?

    @kttotto
    пофиг на чем писать
    var date = DateTime.Now;
    Console.WriteLine(date.ToString("yyyy-MM-dd"));

    Подробно о форматировании даты
    Но s у Вас типа string, поэтому его надо сначала привести к DateTime:
    DateTime.Parse(s);
    или надежнее
    DateTime date;
    var result = DateTime.TryParse(s, out date);
    if(result)
    {
        var dateFormat = date.ToString("нужный формат");
    }
    Ответ написан
    Комментировать
  • Как обеспечить автономность программы от сервера?

    @kttotto
    пофиг на чем писать
    Если хотят учесть такие случаи, обычно используют очереди, готовые или самописные. Прежде чем отдать на сервер, документ в очередь, есть конект - очередь двигается, нет - очередь растет. Не в курсе предметной области, но если важен порядок нумерации, то может стоит нумерацию перенести на сервер? Сервер получил и сам пронумеровал исходя из каких то метаданных, которые придут с документом.
    Ответ написан
    Комментировать
  • Оператор || и == не может применятся к операндам типа стринг и инт?

    @kttotto
    пофиг на чем писать
    C# строготипизированный язык, это не js. Поэтому сравнить можно только строку со строкой и инт с интом.
    Ответ написан
    Комментировать
  • Какие технологии .NET стоит изучать сейчас?

    @kttotto
    пофиг на чем писать
    Зря Вы так о WPF ) Десктоп востребован до сих пор, загляните в вакансии. Но самое востребованное web конечно. Выше постом правильный список и приоритеты там как есть, упустили только мобильную разработку xamarin, но я это на последнее место поставил бы.

    Я бы посоветовал в web. Вакансий много, работы много, разработчиков не хватает.

    И еще плюсану за комент Толстый Лорри.
    Ответ написан
    1 комментарий
  • Обновление модального окна при его последующем открытии Modal Bootstrap?

    @kttotto
    пофиг на чем писать
    У бутстраповского модального окна есть ряд тригеров: перед открытием окна show.bs.modal, после открытия shown.bs.modal, перед закрытием окна hide.bs.modal, после закрытия hidden.bs.modal.

    Обработайте событие hidden.bs.modal
    $('#myModal').on('hidden.bs.modal', function () {
      // здесь .modal-body в дефолтное состояние
    })

    Подробнее здесь
    Ответ написан
  • Как с помощью атрибутов применить метод ко всем другим методам класса на C#?

    @kttotto
    пофиг на чем писать
    c# custom attribute example

    Ну если и это не поможет, то есть класс Attribute, от которого надо отнаследоваться и сделать свою реализацию.
    public class MyCustomAttribute: Attribute
    {
        public string SomeProperty { get; set; }
    }

    Затем использовать
    [MyCustom(SomeProperty = "foo bar")]
    public class Foo
    {
    
    }
    Ответ написан
    Комментировать
  • Как написать метод, который будет выполняться перед каждым другим методом?

    @kttotto
    пофиг на чем писать
    Создаете свой атрибут, где внутри будет отрабатывать Ваш метод А и декарируете методы B,С,D,E этим атрибутом. Каждый раз, перед тем как метод будет запускаться, сначала отработает тот, что в атрибуте.
    Ответ написан
    7 комментариев
  • Можно ли в одну ячейку SQL записать несколько FOREIGN KEY?

    @kttotto
    пофиг на чем писать
    Теоретически Вы можете в одно поле запихнуть весь список id записей, как строку, как массив и т.д., но это очень плохой подход. Я так понимаю, что Вам нужна связь многие-ко многим: должна быть таблица, в которой в одной колонке будет id "этапов", а второй соответствующие этим этапам id документов.
    Ответ написан
    1 комментарий
  • Почему unsafe код небезопасен и его редко используют в C#?

    @kttotto
    пофиг на чем писать
    Ваша задача нормально решается и без unsafe кода, без костылей и наворотов. Просто мыслить в терминах C++ и писать код на C# не совсем сопоставимо. Если хотите менять непосредственно значения, есть передача значений по ссылке, есть out и ref параметры, для 150 однотипных значений есть массивы, есть списки (и для разнотипных) . Просто нужно подумать в рамках идеологии C#.

    Хотя мне не совсем понятна проблема изменить переменные в классе и зачем для этого писать 150 методов. Класс это же объект, который передается по ссылке. Передав объект, Вы будете менять эти переменные у объекта как хотите. Если хотите передать куда-то непосредственно поле класса типа int и хотите, чтоб оно изменилось там, то передайте его как out/ref параметр.
    Ответ написан
    8 комментариев
  • Как зная частоту процессора определить скорость выполнения функции?

    @kttotto
    пофиг на чем писать
    Нет. Процессор, среда исполнения постоянно оптимизируют время выполнения на основе кучи нюансов, на основе предсказаний. Даже на одном железе можно говорить только о каких то средних показателях, запустив в разное время можно получить результат отличающийся в 2-3.
    Ответ написан
    Комментировать
  • ASP.NET MVC не выводит "Hello World"?

    @kttotto
    пофиг на чем писать
    Код в вопросе надо показывать полностью. У Вас в проекте
    using Microsoft.AspNetCore.Mvc;
    namespace PartyInvites.Controllers
    {
        public class HomeController : Controller
        {
            public class HomeContoller : Controller
            {
                public ContentResult Index()
                {
                    return Content("Hello world");
                }
            }
        }
    }

    Вы в класс засунули еще один класс. В C# такое разрешается, поэтому никаких ошибок он не дает. Но метод Index в этом случае не отработает. Я исправил вот так
    using Microsoft.AspNetCore.Mvc;
    namespace PartyInvites.Controllers
    {
        public class HomeController : Controller
        {
    		public string Index()
    		{
    			return "Hello world";
    		}
    	}
    }

    И у меня все замечательно отработало.
    59cd0738318f7344163527.png
    Ответ написан
    1 комментарий
  • Boostrap скрипты во вкладках и слайдере прогружаются в последнюю очередь?

    @kttotto
    пофиг на чем писать
    А Вы видели что при каждом клике слайдера в консоль ошибка летит?
    Index.html:43 Uncaught TypeError: $(...).animate is not a function
        at HTMLAnchorElement.<anonymous> (Index.html:43)
        at HTMLAnchorElement.dispatch (

    Надо разбираться почему $('html, body') не имеет функции animate(). Могу предположить, что не хватает каких-то библиотек jQuery.
    Ответ написан
    3 комментария
  • Несколько элементов в ячейке БД ASP.NET?

    @kttotto
    пофиг на чем писать
    Трудно понять, что именно Вы хотите. Вы лучше саму задачу расскажите.

    В какой таблице надо сделать ссылку на пользователя? UserID это и есть ссылка, зачем ее заменять?
    Что значит сделать несколько юзеров в одной ячейке? Наверное Вы имеете ввиду связь один-ко многим или многие-ко многим? Непонятно какую таблицу с какой и какой связью связать хотите.

    Вы показываете БД, а Вы же наверное через EF делаете, покажите модели. Или Вам надо показать модели в коде как будут выглядеть? В общем ничего не понятно)

    Продолжение:
    Из комментариев я так понял, что Вы хотите знать как будут выглядеть модели в коде для EF. И еще раз посмотрев на Ваши таблицы, я понял, что Вы их не совсем верно составили.

    В таблице User поле Balance, по всей видимости должен был указывать на таблицу Balance. В таком случае его надо было назвать BalanceId. Но опять таки, только для случаев, если у пользователя может быть только один баланс. Тогда в таблице Balance было не обязательно указывать на пользователя UserId.

    Я примерно накидал как это будет в C#
    public class User
    	{
    		public int Id { get; set; }
    		public string Login { get; set; }
    		public string Password { get; set; }
    		public string FirstName { get; set; }
    		public string LastName { get; set; }
    
    		public virtual IEnumerable<Event> Events { get; set; } 
    		public virtual IEnumerable<Balance> Balances { get; set; }
    
    		public User()
    		{
    			Events = new List<Event>();
    			Balances = new List<Balance>();
    		}
    	}
    
    	public class Event
    	{
    		public int Id { get; set; }
    		public string Name { get; set; }
    		public DateTime EndTime { get; set; }
    
    		public virtual IEnumerable<User> Users { get; set; }
    
    		public Event()
    		{
    			Users = new List<User>();
    		}
    	}
    
    	public class Balance
    	{
    		public int Id { get; set; }
    		public decimal Amount { get; set; }
    
    		public int UserId { get; set; }
    		public virtual User User { get; set; }
    	}

    Обратите внимание, что пользователи связаны с балансом как один-ко многим: один пользователь может иметь много счетов, но счет может иметь только одного пользователя. А события с пользователями связаны как многие-ко многим, т.е. один пользователь может быть прикреплен ко многим событиям и в одном событии может участвовать много пользователей. Для такой связи EF создаст дополнительную таблицу.

    Вообще, мой совет, не кидайтесь сразу в код, почитайте базу по БД и EF или вот хотя бы от сюда
    Ответ написан