Задать вопрос
  • Как реализовать фон на шапку и блок ниже?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    градиентом на body или обертке
    Ответ написан
    1 комментарий
  • Как импортировать данные из .docx файла в JavaScript логику?

    Vindicar
    @Vindicar
    RTFM!
    Технически, DOCX можно прочитать - это ZIP архив, в котором лежат XMLки. Библиотека для чтения ZIP архивов под JS (в т.ч. браузерный) есть.
    Но реально проще будет использовать расширенную поиск-замену в Word, чтобы заменить красный цвет на уникальный символ или комбинацию символов перед текстом. Комбинация ^& означает "искомый текст", т.е. приведённый ниже пример вставляет знак процента перед текстом, написанным красным цветом.
    659eee532a796683149306.png
    А потом уже вставить в веб-страницу текст без форматирования и разбирать его.
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    А что тут непонятного?
    -Поклонение богу программирования
    -Умение чистить программистскую карму
    -Умение проводить обряды (вроде танцев с бубном)
    -...
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    otdameskapizm
    @otdameskapizm
    Помог ответ? Отметь решением...
    Все, что можно отнести, к "делай как надо, а как не надо - не делай"
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Не слышал о таком понятии. Скорее всего это HR развлекается
    Ответ написан
    Комментировать
  • Как сделать шаблонный метод для мат операций с числами и Типом Vector2?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Интерфейсов чисел он не реализует. Есть 2 костыля:
    1. Вести словарь функций сложения
    var typeToFunc = new Dictionary<Type, AddFunc>() {{typeof(int), IntAdd}, {typeof(Vector2), Vector2Add}};
    
    var left = 123;
    var right = 14455;
    var result = Add(left, right);
    Console.WriteLine($"Результат сложения {left} и {right} = {result}");
    
    var leftVector = new Vector2(123, 55);
    var rightVector = new Vector2(55, 111);
    var resultVector = Add(leftVector, rightVector);
    Console.WriteLine($"Результат сложения {leftVector} и {rightVector} = {resultVector}");
    
    T Add<T>(T left, T right)
    {
        return ( T ) typeToFunc[typeof(T)](left, right);
    }
    
    object Vector2Add(object left, object right)
    {
        return ( Vector2 ) left + ( Vector2 ) right;
    }
    
    object IntAdd(object left, object right)
    {
        return (int) left + (int) right;
    }
    
    delegate object AddFunc(object left, object right);

    2. Создай монаду с int и Vector2
    var number = NumberOrVector2<int>.FromNumber(123);
    var newNumber = number.Add(() => 23, () => throw new InvalidOperationException("хранится число"));
    if (newNumber.TryGetNumber(out var result))
    {
        Console.WriteLine($"Получился результат: {result}");
    }
    else
    {
        Console.WriteLine($"Ошибка - хранился вектор");
    }
    
    public readonly struct NumberOrVector2<TNumber> where TNumber: unmanaged, INumber<TNumber>
    {
        private readonly TNumber _number;
        private readonly Vector2? _vector;
    
        private NumberOrVector2(TNumber number, Vector2? vector)
        {
            _number = number;
            _vector = vector;
        }
    
        public bool TryGetNumber(out TNumber number)
        {
            number = _number;
            return !_vector.HasValue;
        }
    
        public bool TryGetVector(out Vector2 vector)
        {
            vector = _vector.GetValueOrDefault();
            return _vector.HasValue;
        }
    
        public NumberOrVector2<TNumber> Add(Func<TNumber> numberAdd, Func<Vector2> vectorAdd)
        {
            if (_vector is {} vector)
            {
                return new NumberOrVector2<TNumber>(_number, vector + vectorAdd());
            }
    
            return new NumberOrVector2<TNumber>(_number + numberAdd(), null);
        }
        
        public static NumberOrVector2<TNumber> FromNumber(TNumber number)
        {
            return new NumberOrVector2<TNumber>(number, null);
        }
        
        public static NumberOrVector2<TNumber> FromVector(Vector2 vector)
        {
            return new NumberOrVector2<TNumber>(default, vector);
        }
    }
    Ответ написан
    Комментировать
  • Получил ошибку при парсинге json, но не могу найти где в json не такое поле. Как решить?

    IvanU7n
    @IvanU7n
    nothing interesting here
    а зачем уже спарсенный результат ещё раз парсить?
    или
    const tasks = JSON.parse(await response.text());
    или
    const tasks = await response.json();
    Ответ написан
    1 комментарий
  • Получил ошибку при парсинге json, но не могу найти где в json не такое поле. Как решить?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    -     const tasks = JSON.parse(await response.json());
    +     const tasks = await response.json();
    Ответ написан
    Комментировать
  • Получил ошибку при парсинге json, но не могу найти где в json не такое поле. Как решить?

    @historydev Куратор тега JavaScript
    Ты пытаешься спарсить js объект.

    Здесь уже НЕ json.
    await response.json()
    Ответ написан
    2 комментария
  • Как сменить шрифт в css?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    @font-face {
    -    font-family: 'Rubik Doodle Shadow', system-ui;
    +    font-family: 'Rubik Doodle Shadow';
        src: url(fonts/RubikDoodleShadow-Regular.woff2) format('woff2');
    }
    Ответ написан
    3 комментария
  • Актуален ли ассемблер на сегодняшний день?

    Steel_Balls
    @Steel_Balls
    Да, актуален.
    Он применим во всех областях.
    Почитай что такое ассемблер и вопросы отпадут сами собой
    Ответ написан
    Комментировать
  • Как пройтись циклом по нескольки значениеям объекта?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    начнем с того что у вас
    await
    ... вы или уже понимаете... ну или надо понять..потом разбор.. но если разбор пустого места? может стоило подождать?... или подробнее
    Ответ написан
    22 комментария
  • Как перенести вывод переменной в bash на новую строку?

    @Everything_is_bad
    1. ну сам же мог в консоле отлаживать, делаешь echo -n "Внимание\nСвободное" и упс
    2. открываешь гугл и пишешь "bash echo new line"
    Ответ написан
    Комментировать
  • Почему метод Cancel() объекта cancelTokenSource действует и на объект Task, которому в параметры конструктора токен не передаётся (см. внутри)?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    вообще то твой код не работает в дотнет8, при прямом копировании. ошибок не дает, но и ни чего не печатает.. поиграюсь.. а так то... смотри внимательно:
    CancellationToken token = cancelTokenSource.Token;
    ///...
        Task task2 = new Task(() =>
        {
            for (int i = 1; i < 10; i++)
            {
                if (token.IsCancellationRequested)
                {
                    Console.WriteLine("Операция прервана");
                    return;
                }
                Console.WriteLine($"2. Квадрат числа {i} равен {i * i}");
                Thread.Sleep(200);
            }
        });
    .. они у тебя в одной области видимости, и ты бодро проверяешь статус завершения.. зачем? ;)))
    ... решения?.. ну простейшее - CancellationTokenSource2 ... не быть же второй таске вечной..

    ps
    в 4,8 работает так
    using System.Threading.Tasks;
    using System.Threading;
    using System;
    
    class cancelTokenTest
    {
        static void Main(string[] args)
        {
            var cancelTokenSource = new CancellationTokenSource();
            var token = cancelTokenSource.Token;
    
            var cancelTokenSource2 = new CancellationTokenSource();
            var token2 = cancelTokenSource2.Token;
    
            var task = new Task(() =>
            {
                for (int i = 1; i < 100000; i++)
                {
                    if (token.IsCancellationRequested)
                    {
                        Console.WriteLine("Операция 1 прервана");
                        return;
                    }
                    Console.WriteLine($"1. Квадрат числа {i} равен {i * i}");
                    Thread.Sleep(200);
                }
            }, token);
    
            var task2 = new Task(() =>
            {
                for (int i = 10; i < 1000000; i++)
                {
                    if (token2.IsCancellationRequested)
                    {
                        Console.WriteLine("Операция 2 прервана");
                        return;
                    }
                    Console.WriteLine($"2. Квадрат числа {i} равен {i * i}");
                    Thread.Sleep(200);
                }
            }, token2);
    
            task.Start();
            task2.Start();
    
            Thread.Sleep(1000);
            cancelTokenSource.Cancel();
            Thread.Sleep(50); // без этого не успевает обновиться статус у меня..
            Console.WriteLine($"Task Status 1: {task.Status}");
            Thread.Sleep(1000);
            cancelTokenSource2.Cancel();
            Thread.Sleep(200); // можете закаментить для сравнения, и поиграть со значениями..
            Console.WriteLine($"Task Status 2: {task2.Status}");
            cancelTokenSource.Dispose();
            cancelTokenSource2.Dispose();
        }
    }
    в дотнет 8 ... не сразу... но
    может устаревшие методы? но компилируются.. топят в пользу асинхронки?
    ... вот пример для 8
    https://learn.microsoft.com/ru-ru/dotnet/api/syste...
    обратите внимание на использование CancellationToken, он действительно обрывает исполнение до начала. можно конечно попытаться адаптировать под ваш случай.. но это если опять будет сильно не чего делать.. не отписывайтесь )))
    using System.Runtime.CompilerServices;
    
    public static class cancelTokenTest8and2task
    {
        public static void print(this string s) => Console.WriteLine(s);
        public static void Main()
        {
            var ts1 = new CancellationTokenSource();
            var tk1 = ts1.Token;
    
            var ts2 = new CancellationTokenSource();
            var tk2 = ts2.Token;
    
    
            var t1 = new Task(() => {
                for (int i = 1; i < 100000; i++)
                {
                    if (tk1.IsCancellationRequested)
                    {
                        "Операция t1 прервана".print();
                        return;
                    }
                    $"t1. Квадрат числа {i} равен {i * i}".print();
                    Thread.Sleep(200);
                }
            });
    
            var t2 = new Task(() => {
                for (int i = 1; i < 100000; i++)
                {
                    if (tk2.IsCancellationRequested)
                    {
                        "Операция t2 прервана".print();
                        return;
                    }
                    $"t2. Корень числа {i} равен {Math.Sqrt(i)}".print();
                    Thread.Sleep(200);
                }
            });
    
            t1.Start();
            t2.Start();
            Thread.Sleep(1000);
            ts1.Cancel();
            Thread.Sleep(50);
            $"\nTask1 status: {t1.Status}".print();
    
            Thread.Sleep(1000);
            ts2.Cancel();
            Thread.Sleep(200);
            $"\nTask2 status: {t2.Status}".print();
            ts1.Dispose();
            ts2.Dispose();
        }
    }
    работает в дот нет 8 ... кроме using System.Runtime.CompilerServices; я разницы пока не вижу (имена не в счет!)...
    Ответ написан
    Комментировать
  • Как ускоренно добавить ссылки в поисковой выдаче Google?

    vpetrov
    @vpetrov
    частный SEO-специалист
    Во-первых, 200 URL в сутки - это на одну учётку. Добавьте ещё учётки, если нужно заливать на объёмах.
    Во-вторых, нет никакого особого смысла заливать в индекс вообще всё. Если Гугл не увидит особой ценности этих страниц (а их, вероятно, и нету) – всё равно деиндексирует через какое-то время.
    Прокачивайте узловые страницы – контентом, ссылками. Будет естественный трафик – будет и индексирование, и положительная динамика. Поисковые системы сейчас не будут тратить ресурсы на обход и индексацию всего подряд без каких-то особых причин.
    Ответ написан
    Комментировать
  • Не могу вставить элементы (фигуры в шахматах) Может кто знает?

    IvanU7n
    @IvanU7n
    nothing interesting here
    нет окончания тега img
    stule должно быть style
    Ответ написан
    1 комментарий
  • Как сделать ии на ML.NET?

    2ord
    @2ord
    Конкретной болезни (скажем, COVID-19) или их множество?
    Для маш. обучения с учителем нужно собрать базу с набором идентификаторов симптомов и ответом (болен: Д/Н или вероятность). Имея набор из X идентификаторов симптомов на входе и одним, а на выходе - вероятность болезни (или Y выходов с вероятностями).
    Начни отсюда
    Ответ написан
    2 комментария
  • Что я сделал не так?

    Vindicar
    @Vindicar
    RTFM!
    В-нулевых, пиши симптомы ошибки.
    Во-первых, simpleDividers(n)[len(simpleDividers(n))+1]
    Тебе что, палец отрезают за каждую использованную локальную переменную?
    Зачем два раза вычислять simpleDividers(n)? Почему не закинуть результат в переменную?
    Во-вторых, ты пытаешься обратиться к элементу списка с номером, превышающим его длину (потому что +1).
    Т.е. если у числа три делителя, ты бы обратился к номеру 4. Как по-твоему, это получится сделать?
    В-третьих, ты не возвращаешь answer через return при возврате из simpleDividers(), а код ниже написна так, словно ты его возвращаешь.
    Ответ написан
    Комментировать