Задать вопрос
  • Зачем .Net разработчику нужны отличные знания JavaScript?

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

    А так , да. Чистый бэкендщик сейчас мало кому нужен. Не ради экономии денег, ради экономии времени, чтобы не буцать и не блокировать задачи. Дали задачу реализовать часть отображения данных, делаешь бэк для получения данных и сам же делаешь отображение. Не нужно тратиться на согласовывание между двумя и фронту ждать, когда бэк что сделает, а потом, если что-то не так, опять возвращать на бэк и т.д.
    Ответ написан
    Комментировать
  • Как добавить или пробросить событие focus() на кастомный дочерний компонент в Angular?

    @kttotto
    пофиг на чем писать
    Создать в дочернем компоненте метод, который будет делать фокус. А из родителя этот метод дергать как this.myCustomButton.focus()
    Ответ написан
    3 комментария
  • Как расписать ТЗ для команды по часам?

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

    @kttotto
    пофиг на чем писать
    Зачем Вам gulp к webpack-у? С большой долей вероятности, проблема из-за него, причина ошибки в трейсе написана, это циклическая зависимость
    20 error code ELIFECYCLE
    21 error errno 1
    22 error kokos-uwidget@0.1.0 build: `node node_modules/webpack/bin/webpack.js && node node_modules/gulp/bin/gulp.js`
    22 error Exit status 1
    23 error Failed at the kokos-uwidget@0.1.0 build script.
    Ответ написан
    Комментировать
  • Что нужно вернуть, чтобы прекратить рекурсию?

    @kttotto
    пофиг на чем писать
    Если не найдена, то ничего возвращать и не надо.
    function getValue(objectValus, property) {
        for (let prop in objectValus) {
            if (prop === property) {
                if (typeof(objectValus[prop]) === 'object') {
                    return getValue(objectValus[prop], property);
                }
                return objectValus[prop];
            }
        }
        return undefined;
    }
    Ответ написан
    Комментировать
  • Индекс находился вне границ массива. Что делать?

    @kttotto
    пофиг на чем писать
    c[0] = "квадрат 3";
    c[1] = "квадрат 4";

    Индекс в массивах начинается с 0. Это основа основ.
    Вы в массиве выделили место под два элемента, а с[2] Вы обращаетесь к третьему элементу, вот индекс и вышел за пределы массива.
    Ответ написан
    2 комментария
  • Как прикрутить многопоточную обработку без проблем с памятью?

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

    Если у Вас есть некий список, с которым работает много потоков, то рассмотрите возможность использования потокобезопасных коллекций. List не потокобезопасен.

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

    И да, нет необходимости добавлять 100 потоков, как уже сказали, такое кол-во в кол-во ядер не влезет и производительности это не добавит, а даже наоборот, т.к. одно ядро будет делить время на часть выделенных потоков и будет переключать контекст между ними. Не факт, конечно, что даже два потока будут разделены по ядрам, за это ОС отвечает, но 100 потоков, это кажется перебором. Можно, конечно поэкспериментировать с кол-вом и посмотреть на производительность при этом.
    Ответ написан
    Комментировать
  • Как отсортировать значения?

    @kttotto
    пофиг на чем писать
    Enum по дефолту это обычный int, т.е. Parties.Up == 0, Parties.UpRight == 1 и т.д., поэтому массив из enum сортируется тем же способом как integer. Если тебе нужен особый порядок, то задай его сам, например
    public enum Parties
    {
        Up = 1,
        UpRight = 0,
        Right = 2,
        DownRight = 3,
        Down = 6,
        DownLeft = 5,
        Left = 4,
        UpLeft = 7
    }

    Parties[] p = { Parties.Up, Parties.UpLeft, Parties.DownLeft, Parties.Right };
    var result = p.OrderBy(a => (int)a).ToList();
    Ответ написан
    3 комментария
  • Как идеально построено взаимодействие между фронтэнд и бэкэнд разработчиками?

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

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

    @kttotto Автор вопроса
    пофиг на чем писать
    Добавил в параметры контроллера @RequestHeader Map<String,String> headers и, в принципе то, что мне было нужно, я там увидел: куки и токены авторизации.
    Ответ написан
    Комментировать
  • Как вставить в строку содержимое Dictionary?

    @kttotto
    пофиг на чем писать
    Формат такой строки называется JSON. Есть много способов, как преобразовать dictionary к json. Например,

    using System;
    using System.Collections.Generic;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using Newtonsoft.Json.Converters;
    using Newtonsoft.Json.Serialization;
    
    Dictionary<string, string> headers = new Dictionary<string, string>();
    
    headers.Add("user-agent","mozilla");
    headers.Add("pragma","no-cache");
    headers.Add("referer","google.com");
    
    var jsonString = JsonConvert.SerializeObject(headers);
    Console.WriteLine(jsonString);  // {"user-agent":"mozilla","pragma":"no-cache","referer":"google.com"}
    Ответ написан
    Комментировать
  • Как работать в строке с "{"?

    @kttotto
    пофиг на чем писать
    Проблема не в самих скобках, а именно во вложенных "{1}", компилятор не умеет их интерпретировать. Как вариант возможно такое решение
    Console.WriteLine("new Item { Thumbnail = " + "{1}" + " }");

    Но у меня подозрение, что Вы хотите сделать это
    Console.WriteLine("new Item { Thumbnail = " + $"{item.Thumbnail}" + " }");
    Ответ написан
    2 комментария
  • Как разобрать и достать нужные значения из Expression?

    @kttotto
    пофиг на чем писать
    Ответ написан
    Комментировать
  • Как решить данную ошибку?

    @kttotto
    пофиг на чем писать
    В тексте ошибки все написано: несовпадение типов. Ожидается один тип, а присвоить пытаетесь что-то другое.
    obj.allRealty = _allRealty.Realty;
    Здесь obj.allRealty имеет типIEnumerable<Realty>, а какой тип имеет allRealty.Realty из Вашего кода непонятно.

    Но мне кажется, что Вам это мало о чем говорит, раз этот код для Вас "темный лес", а дебажить за Вас его никто не будет.
    Ответ написан
    2 комментария
  • C# как прочитать настройки appsettings.json из любого класса?

    @kttotto
    пофиг на чем писать
    Читаете только в контролере, получив через инъекцию IConfiguration . Дальше передаете нужные параметры настроек в объект, либо при его создании через конструктор, либо передаете параметры через методы этого объекта. Передаете только те параметры, которые непосредственно нужны этому методу.
    Конфиг может разрастаться, и передавать его весь в объект ради пары параметров не стоит, объект в этом случае может получить доступ к тем полям, которые его не касаются вообще.
    Ответ написан
    Комментировать
  • А нужно ли знать Razor Pages?

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

    @kttotto
    пофиг на чем писать
    Наверное потому, что clearTimeout(xhrTimeout) срабатывает раньше, чем проинициализируется xhrTimeout и на клиенте падает с ошибкой.
    Александр Черемхин Вам правильно написал, сначала инициализация xhrTimeout, а потом только вызов.
    Ответ написан
    Комментировать
  • Что означает "1..*" и "0..1" на схеме?

    @kttotto
    пофиг на чем писать
    1..* это описание связи один ко многим и ее обратная зависимость 0..1, многие к одному. Тут
    Ответ написан
    Комментировать
  • Что делать если нужны свойства на русском из БД?

    @kttotto
    пофиг на чем писать
    Человеческие названия обычно уже делают на клиенте, по типу
    <label>Тип:{{entity.type}}</label>
    В базе редко хранят, что-то, что не меняется. Имена Ваших ключей навряд ли изменятся, а данные будут меняться постоянно.

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