• Как реализовать систему отслеживания статуса пользователя программы реализованную на C#?

    @cicatrix
    bugakovAM, я не зря спросил, по какому протоколу связь работает, ибо, в зависимости от этого возможны нюансы.
    В частности, вопрос в том, может ли клиент принимать входящее соединение или нет. Если может, то сервер может пушить запрос типа "ты жив еще?" и судить по ответу клиента. Если нет, то, опять же, после того, как клиент установил соединение, его можно просто не разрывать.
    Но если инициировать соединение может только клиент, то да, периодически отправляется сообщение "я живой" на сервер. Далее по протоколу, например, сервер может сообщить, через сколько секунд желательно снова подать сигнал, а можно и тупо по таймеру. Соединился отправил исходящие сообщения, спросил, есть ли входящие, скачал и отключился.
    Если бы я разрабатывал, то для сигналов жизнедеятельности слал бы по протоколу udp, а данные передавал бы по tcp. Разработка протокола связи вообще интересная вещь, но начинать её лучше не с клавиатурой, а с тетрадкой и ручкой.
  • Какие материалы изучить для написания читов для игр?

    @cicatrix
    AlexsandrLomaev,
    Ну бери материалы по реверс-инжинирингу и ассемблеру под платформу , на которой чит будет (винда?).
    В любом случае - удачи, просто, если осилишь, боюсь писать читы тебе будет уже не интересно )))
    В реверс-инжиниринг не все могут, там готовых приёмов нет.
  • Как запрашивать клавишу во время виполнения цикла (Console.ReadKey)?

    @cicatrix
    Денис Фолюш, ,Не стоит пользоваться Environment.Exit()
    В целом, им вообще не стоит пользоваться без крайне веских на то причин. Тем более, что у вас многопоточность. Вы не можете знать, на какой операции из цикла вы уничтожите процесс, а это может оказаться критичным, если у вас там файлы открыты или ещё какие-нибудь ресурсы используются. Гораздо лучше и надёжнее передать состояние выхода (флаг exit в моём варианте) в основной поток и дать циклу завершиться штатно, освобождая все ресурсы.
  • Какие книги можете посоветовать для Backend-разработчика?

    @cicatrix
    Василий Банников, То, что вы описали, строго говоря, к бэку не относится. Да, есть в MVC Razor или Blazor, но это уже типа претензия на "фуллстек". Я вот терпеть не могу писать логику пользовательских интерфейсов (ни в каком виде, ни в вебе, ни в десктопе, иногда скучаю по старому доброму Winforms, где всё было просто и понятно), для меня MVC начинается контроллером и заканчивается отдачей JSON (ну, на крайний случай - отдачей вьюхи). Что там во фронте происходит - не знаю и знать не хочу, если честно. Понятное дело, что приходилось и JS обмазываться, но кайфа никакого. Бэк - это бэк. Бизнес-логика + API. Кнопочки, спискота, рюшечки, стили, градиенты, анимация - фтопку. Пусть этим занимаются те, кому это нравится.
  • Какие книги можете посоветовать для Backend-разработчика?

    @cicatrix
    Василий Банников, Вы просто не умеете его готовить. Как человек, измученный WebForms в своё время принял "на ура".
    Впрочем, хотел бы ознакомиться с альтернативами?
    И причём здесь jquery?
  • Какие книги можете посоветовать для Backend-разработчика?

    @cicatrix
    Nikita07, то, что называется модным словом бэкэнд по сути - программирование общего назначения. В современных реалиях, бэкэндом называют прослойку между клиентской частью и сервером баз данных. Поэтому я и написал про шутку про SQL over Http. В более сложных случаях на бэке реализуется то, что называется "бизнес-логикой". Вот она может быть вообще любой и зависит уже от того, бэк к чему конкретно вы пишете.
    Собственно, бэкэнд это
    1. Приём запроса
    2. Подготовка ответа
    3. Отправка ответа
    Если брать такой вот общий случай, то это в принципе ничем не отличается от написания обычной десктопной программы, только вместо оконного интерфейса или командной строки у вас веб-морда. Всё остальное, что делает бэк - зависит уже от конкретной решаемой задачи (что это - интернет-магазин, сервис хостинга картинок, социальная сеть и пр).
    Вот например, нарисовал фронт кнопку поиска на странице, ваша задача - реализовать эндпоинт (точку входа) с названием, например search, которая примет поисковый запрос. Затем вам по этому запросу нужно сходить в базу данных, найти подходящие данные и вернуть эти данные в виде ответа (обычно, в виде Json или XML, но это уже опять диктуется архитектурой и проектной документацией (если вам повезло и она есть, конечно) :)
    Если вы задаёте вопрос с тэгом C#, то вам надо изучить ASP.NET Core и ознакомиться с паттерном MVC (Модель, представление, контроллер).
    В сети огромное количество материалов на все вкусы и цвета.
  • Как разрабатывать настольные приложения с помощью html, css, js, python?

    @cicatrix
    Что я вам и сообщал в комментарии - Electron, это хромиум с доступом к Node.js (де-факто вашим сервером, который будет отрабатывать запросы от браузера). Итого, чтобы поставить ваше приложение на машину пользователя надо ему установить Electron (с довеском в виде Chromium и Node.js) + Python.
    И всё это вместо того, чтобы дать ему один исполняемый в нативной среде файл.
  • Как разрабатывать настольные приложения с помощью html, css, js, python?

    @cicatrix
    Developer, Он запустится в браузере (парсере html). JS на странице будет обрабатываться виртуальной машиной встроенного в браузер интерпретатора. По сути, это песочница. Если вы хотите использовать модули питона в программе, они должны будут работать на уровне приложений операционной системы. "Достучаться" до них из браузера вы сможете только отправкой веб-запросов (куда?) Вот тут-то вам и нужен будет веб-сервер, который будет принимать эти запросы из браузера и обрабатывать их соответствующим образом.
    В вашей же "архитектуре" возможно исполнение только JS-скриптов. В принципе, это вполне рабочее решение, но дальше браузер с вменяемыми настройками безопасности вас не пропустит. Можно, конечно, попросить пользователя установить какой-нибудь плагин, но это уже извращения.
  • Как разрабатывать настольные приложения с помощью html, css, js, python?

    @cicatrix
    Может, я устарел, но ведь настольное приложение тем и отличается от веба, что требует меньших объёмов.
    Для html+css нужен как минимум парсер, то есть обычно - браузер. Для интеграции - веб-сервер (или то, что его заменяет). Чтобы использовать подобное приложение, получается, пользователь дожен запустить сервер, а затем дождаться загрузки вашего приложения в браузере.
    И это вместо того, чтобы использовать GUI-фреймворки, сразу для этого предназначенные (wxWidgets, Qt, и пр.). Воистину, вы хотите странного.
  • Как лаунчеры защищают файлы от подмены?

    @cicatrix
    Dr. Bacon, Полностью нельзя. Что один сделал, другой всегда сломать может. Задача защиты - сделать взлом максимально невыгодным по времени и трудоёмким по исполнению. Это как с телохранителями - если очень кого-то надо грохнуть, его обязательно грохнут. Задача телохранителя - сделать убийство максимально невыгодным и дорогим.
  • Можно ли установит диагноз батареи на ноутбуке?

    @cicatrix Автор вопроса
    6 лет уже. :( Прекрасно всё работало.
  • Как реализовать конвертацию в список int строку с тире и запятыми?

    @cicatrix
    А вы здесь исполнителя ищете, который вам код напишет? Сколько за работу предлагаете?
    Здесь обычно спрашивают, как исправить ошибку, когда что-то не получается, а не сделать всё за вас.
    Делаете класс или структуру - там 2 поля, начало диапазона, конец диапазона.
    Бьёте строку по запятым - это ваш список диапазонов (единичные цифры - диапазон, где начало и конец совпадают).
    Если в диапазоне есть дефис, отдельно бьёте эту подстроку на 2 с разделителем дефисом. Получаете начало и конец диапазона.
    Ну и проверок добавить, чтобы букв не было, лишних символов, чтобы начало диапазона меньше конца было, и т. д.
    Впрочем, эту валидацию можно и в интерфейсе предусмотреть.
  • Как найти строку после символа?

    @cicatrix
    Герман Коффман, IndexOf вернёт -1, если ничего не найдёт.
    while ( pos < input.Length && pat >= 0)
  • Как найти строку после символа?

    @cicatrix
    Герман Коффман,
    using System;
    using System.Collections.Generic;
    namespace ConsoleApp2
    {
        class Program
        {
            static void Main(string[] args)
            {
                string input = "blablabla print('Test 1'); blabla print('Test 2')";
    
                string pat = "print('";
                int pos = 0; 
                List<string> findings = new List<string>();
                while ( pos < input.Length)
                {
                    pos = input.IndexOf(pat, pos);
                    if (pos < 0) break; else pos += pat.Length;
                    int endpos = input.IndexOf("'", pos);
                    if (endpos > 0)
                    {
                        findings.Add(input.Substring(pos, endpos - pos));
                        pos = endpos + 1;
                    }
                }
                foreach(var item in findings) { Console.WriteLine(item); }
                Console.ReadLine();
            } // void Main
        } // class Program    
    } // namespace
  • Как найти строку после символа?

    @cicatrix
    Герман Коффман, Ну, значит, несколько шаблонов нужно использовать. Ну или один универсальный (в них можно ИЛИ условие вставлять). Но лучше разные, так легче потом код поддерживать.
    Начинается всё с анализа исходного текста и уточнения задачи. Под каждую пишется своя регулярка.
    В сети на стандартные задачи (парсинг телефонов, адресов эл. почты, адресов URL, IP адресов, дат в нужном формате и пр.) уже готовые выражения можно найти. Здесь, например https://regular-expressions.mobi
    Ну и на stackoverflow тоже поискать можно.
    Если какая-то экзотика нужна, то проще спросить уже конкретно - дать образец текста и что найти надо и попросить регулярочку под неё.
  • Как найти строку после символа?

    @cicatrix
    Герман Коффман,
    И что нужно изменить чтобы она допустим искала символы после точки, но те которые оканчиваются например ;?

    Регулярку, соответственно, менять надо.
    Шаблоны можно в онлайне тестировать, например здесь:
    regexstorm.net/tester
  • Как найти строку после символа?

    @cicatrix
    Общая информация: Регулярные выражения
    Применительно к .NET:

    Регулярные выражения .NET

    Регулярка здесь:
    string pattern = @"print\(\'([^\']*)\'\)";

    print\(\' - поиск print(' , скобка и одинарная кавычка экранированы
    ( - начало группы внутри выражения
    [^\']* - ленивый поиск всех символов, кроме кавычки (закрывающей).
    ) - окончание группы внутри выражения
    \'\) - закрывающая скобка и кавычка (экранированы) - в принципе, они здесь не нужны.
  • Какой сервис использовать для хранения репозиториев Git с возможностью доступа по ссылке?

    @cicatrix
    Александр Алеонов, мне самому это, в общем-то, не надо, но вот полазил по найтройкам, есть настройки доступа для пользователей и групп пользователей с разграничением доступа:
    5fc0d6aa01f57902900731.png
  • C# .net 3.1 произвольно закрывается программа, куда копать?

    @cicatrix
    Rasse, Если многопотоковость, то тут очень вероятно race condition. Читаем мануалы к тессеракту на предмет потокобезопасности. Я так понимаю, исключение бросает компонент тессеракта, а не программа.