Ответы пользователя по тегу Программирование
  • Как называть свои свойства и методы при наследовании от других классов?

    @kttotto
    пофиг на чем писать
    Использовать пространства имен.
    Ответ написан
    Комментировать
  • Как начать чтение файла с определенной строки?

    @kttotto
    пофиг на чем писать
    Вы не указали яп. В C# это решается одной строкой кода
    File.ReadLines(pathToTextFile)
    	.SkipWhile(line => !line.Contains("word"))  // пропустит строки по условию
    	.Skip(count)        // сколько строк пропустить надо
    	.TakeWhile(line => line.Contains("word"))  // берет строки по условию
    	.Take(count)        // сколько строк взять надо

    А так, не зная длины строк, как Вы будете смещение делать? Поэтому, кроме предложенного Вами варианта, вариантов и нет) Всякие метки, хеши и индексы я не учитываю, Вы же не хотите размер файла увеличивать.
    Ответ написан
    2 комментария
  • Как я могу превратить код в изображение?

    @kttotto
    пофиг на чем писать
    На base64 это не похоже, значит обычный набор байтов. Значит строку надо конвертнуть в массив байтов. Ну потом это в поток и либо сохранить в файл, либо отдать дальше куда надо. Примерно как то так
    byte[] imageBytes = Encoding.ASCII.GetString(strData);
    using(var str = Image.FromStream(new MemoryStream(imageBytes)))
    {
        str.Save("image.png", ImageFormat.Png);
    }
    Ответ написан
    8 комментариев
  • Является ли хорошей практикой делать интерфейсы даже тогда, когда класс не планируется заменять?

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

    @kttotto
    пофиг на чем писать
    В каждом яп свои конвенции. Обычно такие переменные, это флаги, их могут именовать с fValue, могут value_flag, если буловский флаг, то могут начинать с is. Я бы, наверное, назвал isWary.
    Ответ написан
    Комментировать
  • Какая из областей программирования, предположительно, в будущем не сильно измениться?

    @kttotto
    пофиг на чем писать
    Вопрос из разряда: Знал бы прикуп - жил бы в Сочи) Лично у меня нет уверенности ни в одной технологии.

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

    Во вторых, требования it сферы увеличиваются снежным комом и технология, которая еле развивается, будет не конкуретноспособной. А зачем мне такую технологию изучать?

    Так что лучше не искать легких путей и учиться, учиться и еще раз учиться)
    Ответ написан
    Комментировать
  • 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("нужный формат");
    }
    Ответ написан
    Комментировать
  • Несколько элементов в ячейке БД 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 или вот хотя бы от сюда
    Ответ написан
  • Какие практические курсы по программированию вы знаете (не базового уровня)?

    @kttotto
    пофиг на чем писать
    На гикбрейнс точно есть курсы в режиме стажировки. Делают проект с нуля, стараясь пройти по всем шагам методологий. Но этот курс можно купить только предварительно купив у них базовый курс )) Т.е. сначала придется А и Б в любом случае у них учить.
    Ответ написан
    Комментировать
  • Как можно обрезать?

    @kttotto
    пофиг на чем писать
    Можно сделать сплит по пробелу и удалить два последних слова.
    Ответ написан
    Комментировать
  • GeekBrains - Что и как? Надо ли?

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

    Я сам полтора года назад закончил в GB 3 платных курса и иногда посещаю у них бесплатные вебинары. Не могу сказать, что там офигенно было, но они добавили в мою копилку знаний, с некоторыми, с кем я учился тогда, общаюсь до сих пор. И кстати, из них не работает сейчас программистом только один. Я работаю), программистом.

    За эти полтора года они действительно изменились и я считаю, что в лучшую сторону.
    Ответ написан
    Комментировать
  • Возможно ли устроиться на работу девелоперу-иностранцу в России?

    @kttotto
    пофиг на чем писать
    Я гражданин Украины с РВП, оформлен официально в России. Если законодательство сильно не разница от гражданства, то у работодателя с Вами будут те же проблемы, что и со всеми другими работниками (при условии, что у Вас именно РВП). Единственное, что он должен сделать, это отослать в течении трех дней заполненную специальную анкету в ФМС.
    Вот только РВП получить не так просто) Особенно Москва, Питер, там квота 2к на год. И на оформление уходит несколько месяцев.
    Ответ написан
    Комментировать
  • Где обучиться программированию с#?

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

    @kttotto
    пофиг на чем писать
    Есть два варианта получить данные. Можно пассивным способом, это когда мы сами делаем запрос на получение и нам приходит ответ (вариант pull). И есть второй вариант, когда данные сами нас уведомляют об изменениях и выталкивают данные нам (вариант push). Реактивное приложение, это когда приложение само извещает нас об изменении своего состояния. Не мы делаем запрос и проверяем, а не изменилось ли там что-то, а приложение само нам сигнализирует. Ну и конечно эти события, эти сигналы мы соответственно можем обрабатывать.

    Реактивность дает слабую связанность в первую очередь. Во-вторых, в некоторых случая это дает возможность писать более простой и понятный код. Например мы можем взять обычную коллекцию, преобразовать ее к реактивной коллекции и тогда мы будем иметь коллекцию событий об изменении данных в ней. Мы очень просто получаем только те данные, которые изменились. По этой коллекции мы можем делать выборку, фильтровать и т.д. Если бы мы это делали традиционным способом, то нам нужно было бы закэшировать текущие данные, потом делать запрос получить новые данные, потом их сравнить с кэшем и разница и будет те самые изменения.
    Ответ написан
    2 комментария
  • Где можно найти образцы и лучшие примеры ТЗ на разработку софта?

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

    Чаще все это выглядит так:
    1) Сначала накидываются пользовательские истории (user story), тот функционал, который Вы хотите иметь в программе. Они состоят из одного-двух предложений, кратко описывают одну единственную функцию. Например: хочу, чтобы была авторизация пользователей с подтверждением по email; хочу, чтобы у пользователя с ролью "админ" была собственная страничка для администрирования; и.д. В историях не должно быть никаких технических нюансов, только "хочу" заказчика (ну или Ваши).

    2) Затем составляется карта (roadmap), в которой Вы описываете каждый шаг работы этой функции (пользовательской истории) с точки зрения пользователя:
    1. Главная страница.
    1.1 В правом верхнем углу находятся поля для аутентификации (для логина и пароля). Рядом находится кнопка "войти" и ссылка "зарегистрироваться".
    1.2 При удачной аутентификации происходит переход на страницу ... и выводится сообщение "Добро пожаловать ..."

    Потом на основе этой карты, делается прототипирование, выделяются задачи, если надо, разбиваются на более мелкие подзадачи.

    Чтоб увидеть чужие ТЗ, полазите по чужому коду на гитхабе. Там очень часто люди описывают свой roadmap.
    Ответ написан
    1 комментарий
  • C# консольное приложение, сохранить состояние перед закрытием как?

    @kttotto
    пофиг на чем писать
    Я бы добавил Setting файл (ссылку на работу с файлом параметров Вам постом выше оставили), в который добавил бы необходимые параметры для запуска приложения. При начале работы приложения брал бы данные от туда. Когда эти параметры будут меняться в процессе работы, их сохранять в этом файле. И каким бы образом приложение ни закрылось, текущее состояние будет сохранено в сеттинге.
    Ответ написан
    Комментировать
  • 13" ноутбук Full HD реально использовать при 100% масштабировании для кодинга?

    @kttotto
    пофиг на чем писать
    Мне не удобно. Одно время пришлось с нетбуком кодить. Мне мало того текста, что помещается на экране. Поэтому хорошее кресло, ноги на стол, клаву на руки и два монитора 24" )
    Ответ написан
    3 комментария
  • Существует ли junior fullstack web developer?

    @kttotto
    пофиг на чем писать
    Чаще всего новичков и сажают сначала на фронт-энд. Из Вашего списка, по моему мнению, JavaScript подороже ценится и больше спроса на него.
    Ответ написан
    Комментировать