Задать вопрос
  • Почему после переноса шаблона на asp.net mvc шрифты и иконки уменьшились?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Проверяйте подключенные стили, особенно, если вставляли верстку в непустой шаблон проекта. Всякие умолчательные Site.css, бутстрапы (если не используются) нужно выпилить.
    Ответ написан
    2 комментария
  • Зачем мне все-таки maven?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    но я бы это и так мог сделать по идее

    Чтобы ничего не делать. Вообще. Настроил и забыл, вне зависимости от размера и сложности приложения. Чтобы не разруливать зависимости, паковать и развертывать приложение так, как нужно.

    А для хэлловордов это все не нужно, да.
    Ответ написан
    Комментировать
  • Как реализовать маршрутизацию в виде domain.com/users и domain.com/user/123?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    routes.MapRoute(
        "UsersGeneric",
        "{action}/{id}",
        new { 
          controller = "Users",
          action = "User",
          id = UrlParameter.Optional
        },
        new[] { controller = "Users", id=@"\d+" },
        new[] { "Proj.Controllers" }
    );
    
    routes.MapRoute(
        "Default",
        "{controller}/{action}/{id}",
        new { 
            controller = "Home", 
            action = "Index", 
            id = UrlParameter.Optional 
        },
        new[] { "Proj.Controllers" }
    );
    Ответ написан
    2 комментария
  • Можно ли полноценно работать на ноутбуке?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Скажу так: страдания) 17" ноутбук + 24" монитор. Разный размер, разная цветопередача, разная высота и физический размер в конце концов. В принципе, работать можно, но это должно быть оправдано (частые командировки, митинги и т.п.). В моем случае это был одновременно большой, тяжелый, дорогой ноутбук, который заставлял переживать в поездках, и слишком мелкий, перегревающийся для статичной работы в офисе. Сейчас пересел на десктоп с двумя идентичными мониторами и временами ловлю себя на мысли, что третий был бы кстати...
    Ответ написан
    Комментировать
  • Почему не работает what() const?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Неэкземплярные функции нельзя помечать const, потому что этот модификатор относится к состоянию, которого обычная функция не имеет.

    FYI: "сахарные" лямбды могут иметь состояние (замыкание), но фактически, если лямбда захватывает переменную, то это уже не функция, а функтор, т.е. объект.

    Да и, кстати
    err при выходе из функции what в тот же момент умирает. По Стандарту срок жизни локальных переменных может продлеваться лишь до смерти ближайшей константной ссылки на них. Срок жизни других данных не гарантируется после покидания скоупа. Мне кажется, здесь имеет место еще и компиляторозависимое колдунство.
    Ответ написан
  • Какой смысл в фильтрах Visual Studio?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Очевидно, что кому-то удобнее физически располагать файлы иначе, чем их отображать в IDE. В C++ зачастую хэдеры кладут отдельно, в папочку include, а сорцы - в src. Согласитесь, стремно было бы воспроизводить логическую иерархию дважды. А с помощью фильтров (aka виртуальных папок) можно легко всё сгруппировать так, как душе угодно.

    Про C#
    В .NET-проектах все немного иначе, потому что там существуют модули с метаданными и объявления типов не нуждаются в отделении от определения.
    Ответ написан
    Комментировать
  • Можно ли получить имя переменной?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Начиная с C#6.0: nameof(val)
    Ответ написан
    2 комментария
  • Как устранись ошибку с вложенными спецификаторами имени?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Шаблонные типы нужно определять полностью в хэдере.
    Ответ написан
    1 комментарий
  • Какое обьявление массива в c++?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Массив - это непрерывная область памяти (буфер) определенного типа.
    С++ на уровне языка определяет для этого два средства: статические массивы (a[10]) и выделение блоков памяти, на которые можно ссылаться через указатель (int *a = new int[10];)

    Но, в отличие от многих других языков, C++ не котролирует выход за границы массива, в результате чего можно сделать так:

    int a[10];
    a[333] = 5; // запись в ячейку памяти 
    //по адресу 334 * sizeof(int) от начала массива.


    Кроме того, для массивов, расположеных в куче (выделенных с помощью new) нельзя определить их реальные размеры (для статических массивов мы можем сделать sizeof(a)/sizeof(int)). Кроме того передавать многомерные массивы в функции, оперировать с динамическими массивами (изменяющими размер в процессе работы) и многие другие проблемы. Для их решения существует класс std::vector, который дарит нам абстракцию над массивом в хипе.

    PS С С++11 появился еще std::array, который является абстракцией над статическим массивом.
    Ответ написан
    Комментировать
  • JavaScript; Что не так с моей функцией-модулем (object)?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    var Human = (function (person) {
    
        this.firstName = "John";
        this.lastName = "Doe";
        this.age = person.age || 50;
        this.eyeColor = person.eyeColor || "blue";
    
        this.toString = function() {
            return person.age + ", " + person.eyeColor;
        };
    });
    
    var pers = new Human({ eyeColor: "Yellow" });
    // 
    
    console.log(pers);


    Выглядеть в конечном итоге это может как-то так:
    var SampleClass = (function(localFirstDependencyName, localSecondDependencyName){
        'use strict';
        
        var _defaultSettings = {
            option: 'option'
        }
    
        var constructor = function(settings){
            this._settings = $.extend(this._settings || {}, _defaultSettings, settings);
        
            this.publicField = null;
            this._protectedField = null;    
            this._privateField = null;
        };
            
        $.extend(constructor.prototype, {
            publicConstant: 'Constant',
            protectedConstant: 'Constant',
            _privateConstant: 'Constant',
    
            //#region Public
            publicMethod: function () {      
                this._protectedMethod();    
            },
            //#endregion
            
            //#region Protected
            _protectedMethod: function () {         
            },
            //#endregion
    
            //#region Private
            _privateMethod: function(self, value){
            },  
            //#endregion
        });
            
        return constructor;
    }(globalFirstDependencyName, globalSecondDependencyName));
    Ответ написан
    Комментировать
  • Как изменить объект формы из другого класса?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Контролы нужно изменять только из того треда, в котором они создаются, то есть в основном потоке!
    Можно оборачивать изменяющий код в делегаты Action и передавать в Control.Invoke() формы. Пример
    Ответ написан
    3 комментария
  • Я не умею готовить репозиторий или он просто не очень?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Желательно почитать по поводу работы EF и IQuerable в частности. С помощью этого интерфейса и LINQ вы сможете формировать запросы (которые рендерятся в нативный SQL), а не просто фильтровать коллекции.
    private IQuerable<Student> GetLogs()
    {
        return context.Logs;
    }   
    public IEnumerable<Student> GetLogsForStudent(int id, DateTime from, DateTime to)
    {
        return GetLogs().Where(x => x.Id == id
                                    && x.Date >= from
                                    && x.Date <= to)
                        .ToList();
    }


    Все используют lazy loading?

    Зависит от количества данных и критичности по скорости.

    Если мне нужен в 1 контроллере/сервисе не 1 репозиторий? мне по 1 их подключать?

    Да, по одному. А можно в сервис или UnitOfWork объединять.

    Изачем он для юнит тестов если можно спокойно moqнуть весь dbcontext?

    dbcontext мокать нет смысла хотя бы потому, что он гвоздями к EF прибит. СУБД менять - это не такая распространенная практика, а вот от ORM (и от EF в частности) отказываться в пользу производительности - это реальный кейс с ростом нагрузки.
    Ответ написан
    Комментировать
  • Как остановить параллельное выполнение?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    У треда должна быть обертка, в которой будет булево свойство (interruptionRequested, например), которую треду необходимо проверять самостоятельно между атомарными операциями своей полезной нагрузки. ("Скопировал файл, проверил - false, скопировал следующий, проверил - false, скопировал еще один, проверил - true, завершился").

    То есть тред сам решает, когда ему остановится, но мы можем посигналить ему об этом. Иначе мы рискуем поломать данные, т.к. не будем наверняка знать, в каком состоянии они находятся.
    Ответ написан
    Комментировать
  • Как в С++ создавать WinForms?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    WinForms есть только в C++/CLI, но это уже совсем не C++.

    (В студии из GUI-фреймворков есть MFC, но я не уверен, что он есть в Community-версии)

    Читайте про WinAPI или библиотеки для GUI, как то:
    Qt
    wxWidgets
    GTKmm
    Ответ написан
    5 комментариев
  • Перегрузка операций с++?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Мне кажется, в задании имелось в виду перегрузка равенства ("=="), т.е. мы можем пройтись по коллекции рабочих и сравнить его с неким эталоном

    class Worker {
        std::string _name;
        ...
    public:
        bool operator==(const Worker& other) const {
             return _name == other.name;
        }
    };
    
    //....
    
    std::vector<Worker> workers = {...};
    int count = std::count(begin(workers), end(workers), Worker("Vasili Pupkin"));
    Ответ написан
    Комментировать
  • Почему такой паттерн не корректен?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Потому что объекты (o и o1) разные, внутри каждого свой obj.

    Сама идея синглтона, что это один объект(типа) на всю программу.

    function Singleton () {
        if (Singleton._instance) return Singleton._instance;
        Singleton._instance = this;
    };
    
    var o = new Singleton();
    var o1 = new Singleton();
    console.log(o === o1); // true
    
    o.prop = 's';
    console.log(o1.prop); // s
    Ответ написан
  • В чем разница между примерами приведенными ниже?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Еще одно важное различие: в первом случае мы можем задавать размер массива динамически, в процессе работы программы:
    int size = 0;
    cout << "Введите размер массива: "; cin >> size;
    int *arr = new int[size];

    Во втором случае мы обязаны предоставить число, которое будет известно (вычеслено) на этапе компиляции - константу или результат константного выражения (constexpr):
    const int SIZE = 333 + 768 * 2;
    int arr[SIZE];
    Ответ написан
    Комментировать
  • Как передать и использовать две IEnumerable модели в представление?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Попробуйте вместо IEnumerable использовать IList, там есть индексатор. Либо просто двумерный/jagged массив.
    Ответ написан
    Комментировать
  • Ваши мысли по реализации подобной светомузыки?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    чувствует инструменты

    Опираясь на частотные диапазоны инструментов.

    В разных стилях музыки есть определенные паттерны звучания, которые можно попытаться найти путем анализа и сравнения.

    Но на видосе же ёлка просто моргает в такт ритму - это можно сделать, выделив низкие частоты ударных и баса. Когда они появляются на входе (превышают некоторое пороговое значение) - мы зажигаем светодиоды, потом медленно гасим. Это реализуемо даже на аналоговых схемах.
    Ответ написан