• Нужно ли сжимать данные при передаче клиент-сервер? Как должен работать сервер?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    1. Если сервер мощный, то лучше данные сжимать, т.к. вы сэкономите на времени, которое тратится на копирование из буфера в буфер и есть большая вероятность, что все будет передано одним кадром, а не будет сегментироваться;
    2. Обычно, при подключении к серверу, создается новый поток, который и работает с клиентом (обрабатывает приходящие данные и отправляет ответ). Хотя я бы посоветовал, со временем перейти на асинхронную модель, но если проект не подразумевает развития, можно не заморачиваться.
    Ответ написан
    Комментировать
  • Как правильно реализовать IEnumerable для обобщенного класса?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Это ограничение, T должен реализовывать эти интерфейсы
    Ответ написан
    6 комментариев
  • Как сложить оцифрованные аудиосигналы?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Вы бы уточнили с какой целью вы суммируете сигналы. По идее надо перед суммированием нормализовать сигналы относительно того, у которого максимальная амплитуда, но тут возможен вариант, что последний будет "давить" все остальные (поэтому звук видимо тихий). Еще как вариант указать порог и ограничить амплитуду перед нормализацией или как-то по-другому "подавить" всплески.
    Другой путь использовать масштабирующий коэффициент зависящий от важности сигнала в общей сумме, т.е. нормализуем сигналы и умножаем на этот коэффициент.
    В общем, попробуйте замоделировать эти процессы в Matlab simulink.
    Ответ написан
  • C# Arduino, управление компасом?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    1. При рисовании сохраняете линии в List;
    2. Траекторию преобразуете в команды управления с учетом пробуксовки. По сути движение робота и есть набор команд которые он выполняет;
    3. Передаете данные в робота, тут или в самом начале заливаете через UART или в процессе движения по Bluetooth или др. беспроводному каналу передачи данных;
    4. Добавить канал обратной связи, чтобы робот передавал какую он сейчас выполняет команду + если подключить GPS, данные о местоположении и т.д.

    Вы не уточнили тех. подробности, какая плата, какой робот, поэтому, что-то кроме как обратиться к гуглу не посоветую, ну или тут, может, что-то и найдете
    Ответ написан
    Комментировать
  • Статус сервера/сайта в виде светофора/лампочки?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Возможно стоит попробовать использовать что-то вроде stm32 + wi-fi + led с драйвером. МК подключается к wi-fi и регулярно пингует или каким-то др. способом определяет доступность серверов, потом если тест не удался зажечь соответствующий светодиод или лампу.
    Ответ написан
    Комментировать
  • Какой сервер нужен для asp.net core?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    asp.net core кроссплатформенный поэтому выбор ОС - это уже дело предпочтения. Хотя если ms sql server, то скорее это все же windows. asp.net core поддерживает ISS и Kestrel, однако у последнего достаточно ограниченные возможности, поэтому обычно если не хотят использовать ISS, то ставят NGINX и прописывают маршрут к Kestrel.

    Что касается железа, если сайт более менее оптимизирован, то ср. запрос выполняется примерно 100 мс и соответственно на одноядерной машине мы за минуту в ср. сможем обслужить 600 пользователей, если 2 ядра, то уже 1200. Поэтому Вам надо определиться с максимальной пиковой нагрузкой и рассчитать исходя из нее параметры процессора. Далее в asp.net CORE один запрос в ср. занимает 3 кБ памяти, соответственно, 1000 пользователей уже будут требовать порядка 1 МБ. Этот параметр также зависит от пиковой нагрузки.

    * если вы будите использовать asp.net, то память под запрос будет порядка 20 кБ
    Ответ написан
    1 комментарий
  • Проверка TextBox на числа?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Почему не использовать NumericUpDown?
    Если использование TextBox принципиально, то можно использовать, в дополнении вышеперечисленному Regex.IsMatch(input, @"^\d+$")
    Ответ написан
    Комментировать
  • Как записать даные в таблицу с базы Mysql?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Наверное, как-то так:

    private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                tables.ItemsSource = fillGrid();
            }
    
    		public class Employee
            {
                public string EmployeePhone { get; set; }
                public string EmployeeId { get; set; }
                public string EmployeePib { get; set; }
                public string EmployeeEmail { get; set; }
                public string EmployeeMessage { get; set; }
                public string EmployeeIp { get; set; }
                public string EmployeeDate { get; set; }
            }
    		
            public List<Employee> fillGrid() {
                MysqlConn Conn = new MysqlConn();
                MySqlDataReader reader = Conn.ConnectionDataBase(Con.RetSet("Host"), Con.RetSet("User"), Con.RetSet("DB"), Con.RetSet("Pass"), "SELECT * FROM s");
    
    			var _list = new List<Employee>();
    			
                while (reader.Read())
                {
    				var tabl = new Employee()
    				{
    					EmployeeId = reader["id"].ToString(),
    					EmployeePib = reader["pib"].ToString(),
    					EmployeeEmail = reader["email"].ToString(),
    					EmployeePhone = reader["phone"].ToString(),
    					EmployeeMessage = reader["message"].ToString(),
    					EmployeeIp = reader["ip"].ToString(),
    					EmployeeDate = reader["send"].ToString()				
    				};
                  
                    _list.Add(tabl);
                }
    
                Conn.Cls();
    			
    			return _list;
            }


    Я бы все же посмотрел в сторону ORM типа Dapper и MVVM
    Ответ написан
    Комментировать
  • Нужны ли разработчики .Net?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Разработчики .net нужны и MS активно продвигает .net)
    Я начинал с фриланса, с выполнения простеньких проектов, параллельно читал книги по C# и выполнял задания по ним.
    Технологий много, но сейчас наиболее популярны вэб (MVC и т.п.) и микросервисы.
    Думаю неплохо было бы посмотреть на GitHub уже готовые проекты и попробовать сделать что-то похожее. Часто на собеседованиях просят создать систему просмотра, добавления, удаления и редактирования сотрудников и подразделений компании
    Ответ написан
    Комментировать
  • [C#] Как работать с MeasureString в цикле?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Можно попробовать вычислить число строк:
    private int GetNumOfLines(string multiPageString, int wrapWidth, Font fnt)
    {
            var sfFmt = new StringFormat(StringFormatFlags.LineLimit);
            using(var g = Graphics.FromImage(New Bitmap(1, 1)))
           {
                var iHeight = g.MeasureString(multiPageString, fnt, wrapWidth, sfFmt).Height;
                var iOneLineHeight = g.MeasureString("Z", fnt, wrapWidth, sfFmt).Height;
                return (int)(iHeight / iOneLineHeight)
            }
    }

    И умножить на высоту шрифта
    Ответ написан
    5 комментариев
  • Как реализовать передачу данных из одной формы в другую?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Вариантов много, хотя самый простой статический класс, но можно использовать механизм событий и подписаться на изменения на форме2;
    Ответ написан
    Комментировать
  • Как исправить ошибку при запуске проекта?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Проблема скорее всего в какой-то из библиотек, наверное переустановка не поможет, так как глючная библиотека видимо не перезаписывается. Могу порекомендовать "снести" VS с помощью этой утилиты, удалить все не удаленные компоненты VS и попробовать взять другой дистрибутив (он может быть токсичным). Еще можно выполнить sfc /scannow для восстановления Windows.
    В общем, широкий простор для маневров)))
    Ответ написан
    Комментировать
  • Как реализовать игровой сервер на c#?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    1. Посмотрите какой таймаут стоит на сервере и клиенте, т.к. скорее всего после передачи сообщения сокет закрывается по таймауту;
    2. Нужно реализовать механизм опроса сервере на предмет новых сообщений в течении определенного интервала времени, который конечно же меньше таймаута. Например, клиент через 100 мс отправляет команду ASK, а сервер в ответ Empty. Если в течении определенного времени клиент не отвечаем, то закрываем его, чтобы не расходовать память.
    3. Я бы обменивался с сервером через json или сериализуемыми побайтно структурами, а то по мере усложнения логики замучаетесь.
    Ответ написан
    Комментировать
  • Чем реально полезным можно заняться школьнику знающему программирование?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Направлений много, но думаю для начала попробовать себя на фрилансе и выполнить десяток проектов.
    Если есть время, можно попробовать сделать для школы какие-нибудь проекты, типа моделирования физических процессов в 3D для физики или интерактивную звездную карту для астрономии и т.д.
    Ответ написан
  • Как стать продвинутым сайтоклепателем (формоклепателем) и отправиться на каторгу, чтобы пахать за говяжий дошик и оплачивать сарай?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Просто нужно работать, работать и работать, зарабатывая себе репутацию и резюме, а потом они уже будут на вас работать. У меня тоже были проблемы, но обычно все они решаемы. А что касается окружающих, то у каждого свой путь, кто-то жениться и в 40 лет, а кто-то в 40 уже 3 раза успевает развестись - это не показатель. Думаю вам надо просто найти свою цель в жизни и к ней идти.
    Ответ написан
    1 комментарий
  • Как защититься от ситуаций одновременного редактирования данных разными пользователями?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Добавлять признак блокировки записи и чтения. И при редактировании выставлять 1,а при закрытии 0. И желательно это делать атомарно или через двойную блокировку например (почитать можно тут).
    Ответ написан
    Комментировать
  • Как сильно влияет длина имени переменной на скорость работы программы?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Длина ни как не влияет на скорость работы, так как в итоге заменяется в IL на служебный идентификатор
    Ответ написан
    Комментировать
  • Путь далее. С++ или ...?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Если вы начали изучать с++, то зачем метаться? Раз начали, то изучите как язык, так и библиотеки STL и Boost. Я в свое время начинал с с++, а потом без проблем перешел на c#, хотя с тем же успехом мог на Java, но так исторически сложилось. Даже сейчас иногда приходится сталкиваться с Java и это не вызывает сложностей, если знаешь как это работает.
    Ответ написан
    Комментировать
  • Как сделать сохранения в игре?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Много средств, но вот какое из них использовать зависит от задачи. Из вашего вопроса не совсем понятны детали, какой объем информации надо сохранять, как часто инф. будет сохраняться и т.п.
    Для сохранения можно использовать:
    - потоки и напрямую писать бинарные или текстовые данные в файл, наверное самый быстрый способ, но могут возникнуть проблемы с доступом, если файл будет открыт в монопольном режиме или запись будет осущ. из нескольких потоков;
    - сериализация объектов в xml, json, более медленный способ (хотя по сути все та же запись на диск), но реализуется проще, чем создавать свою структуру данных для хранения;
    - сохранение в БД (sqlite и Ко);
    - сохранение на сервере, но тут еще куча способов.

    Могу посоветовать, взять лист бумаги и карандаш, и попробовать формализовать ваши мысли на бумаге.
    Ответ написан
    4 комментария
  • Как реализовать данную идею на C#, Примерно?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    EMGU вам в помощь!
    Ответ написан
    Комментировать