Задать вопрос
  • Как компилировать butteraugli под Windows?

    Nipheris
    @Nipheris Куратор тега C++
    При этом libpng установлен. Не понимаю, что я делаю не правильно?

    Я думаю, include-директория libpng не была передана компилятору, и нужно это сделать.

    При этом libpng установлен.

    Что вы понимаете под установкой libpng в контексте Windows?)
    Ответ написан
  • Переход из backend во frontend?

    Nipheris
    @Nipheris Куратор тега C#
    в этом вопросе я вообще не силен

    В вашем вопросе уже есть ответ. Сейчас перед вами встала проблема, и вы ищите, куда бы от неё убежать. Если бы вам бэкенд был не интересен, вы бы у нас не спрашивали. Если бы вы таки попытались разобраться хотя бы в вопросе взаимодействия с базой - то тоже бы не спрашивали.

    Если для вас проблема то, что вы указали,
    взаимодействие с бд, да и вообще вся работа с бд

    то вам еще рановато говорить, что вы "пишете на asp.net". Фреймворк вы конечно может и достаточно знаете, но пока что это не инструмент в ваших руках. Почему? А кому сегодня нужен бэкенд на C# без базы данных? Распределенные вычисления? Ну может быть, но таких проектов единицы. Массово это LOB-приложения, и там всё начинается с БД.

    Поэтому, сначала доучите то, что уже начали. Или просто отдохните, если устали, судя по количеству вопросов от вас вы довольно серьезно взялись за тему. Собственно, к чему такая спешка? Нужно срочно работу найти?
    Ответ написан
    Комментировать
  • Как укротить GC, резервирующего память "про запас"?

    Nipheris
    @Nipheris Куратор тега C#
    На самом же деле память, реально используемая приложением остается без изменений.

    Откуда такой вывод?
    Но я то знаю, что в программе не будет создаваться больше ни одного объекта они будут только перерисовываться.

    Еще более абсурдное суждение. Кто говорит, что перерисовка не приводит к созданию объектов? Как насчёт объектов Graphics?
    как можно избавиться от резервируемой памяти "про запас"

    Могу ошибаться, но я никогда не слышал о резервировании памяти "про запас". Видимо, объекты все-таки создаются.
    мне надо чтобы приложение не ело лишней памяти ну или ело, но эта память со временем не увеличивалась (при каждом вызове Invalidate).

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

    Еще проверьте, что у вас не утекают IDisposable объекты. Можете повызывать GC.Collect, но это само по себе временное решение.
    Ответ написан
    3 комментария
  • Qt Creator. Как сделать Файл->Выход?

    Window1::on_exitProg_triggered()

    Не совсем понятно, где это у вас вызывается, но скорее всего connect надо сделать не здесь, а сразу при открытии этого окна. Сейчас у вас при первом нажатии делается привязка, а уже при втором нажатии она отрабатывает.

    Возможно, будет достаточно заменить всё содержимое on_exitProg_triggered на QApplication::quit().
    Ответ написан
    Комментировать
  • Как оформить DataTemplate для ListBox?

    Nipheris
    @Nipheris Куратор тега C#
    1-й вариант: используйте Margin и Padding для достижения желаемого эффекта.
    2-й вариант: используйте xml:space="preserve" в TextBlock-е, где нужно сохранить пробелы.
    Ответ написан
    Комментировать
  • Для этого ли нужны делегаты?

    Nipheris
    @Nipheris Куратор тега C#
    Делегаты - это реализация функтора на платформе .net. Функтор - это распространенная в современных языках базовая концепция, пришедшая из функционального программирования. Коротко её смысл в том, чтобы работать с функцией как со значением, наравне со значениями других, более привычных типов, вроде int или double. Т.е. функцию можно передавать в другие функции, возвращать из функций и так далее. В функциональных языках это обычное дело, однако и в императивных языках это даёт массу возможностей.

    Количество применений делегатов в дотнете вообще и конкретно в C# огромно. Собственно, сам язык сегодня является частично функциональным из-за того, что широко используются делегаты и основанные на них возможности. Любая лямбда может быть скомпилирована в делегат. LINQ to Objects основаны на делегатах. События есть инкапсулированные делегаты. Любые callback-и в дотнете это делегаты. Список можно продолжать

    Сравнивая C# с другими языками, делегаты часто называют "умными указателями на функции" в том смысле, что они похожи на указатели на функции в Си, но умеют еще и запоминать объект, для которого требуется вызвать метод, если метод нестатический. А вот в C++ есть прямой их аналог - это std::function.

    В общем, почитайте еще про них. Я даже не понимаю, к чему вы привели свой пример, и что он, по вашему мнению, должен продемонстрировать. Логично, что вы не смогли создать делегат, т.к. инстанс-метод невозможно вызвать без привязки к конкретному объекту.
    Ответ написан
    Комментировать
  • Как поменять путь установки в Visual Studio 15?

    Проверьте, что все компоненты студии удалены. Проверьте, что целевая папка пустая. Если непустая - список файлов и папок в студию.

    В 95% случаев отказ сменить путь установки происходит из-за того, что уже что-то установлено и поставки студии.

    Я почитал, посмотрел гайды по созданию таких ссылок и т.п. Но не понял сути применения в данной ситуации

    А что вы вообще поняли про ссылки? Совет в принципе неплохой, оно может даже работать.
    Ответ написан
    Комментировать
  • Является ли нейронная сеть частным случаем искусственного интеллекта?

    Поддерживаю Saboteur , сначала надо определить понятие "интеллект", потом еще понятие "искуственный интеллект", а потом еще и "полценный ИИ", которое вы упомянули. С одной стороны, интеллектом можно считать способность строить новые заключения на основе имеющихся фактов, но тогда ИИ можно считать и программу на Прологе/Даталоге, и даже SQL-запрос. С другой стороны, если говорить о публицистическом понятии ИИ, который обладает "сводобной волей" и прочими вещами, которые обычно приписывают человеку, то сначала надо разобраться и с этими понятиями.

    Мой ответ - я бы оставил в стороне эти понятия на ближайшие лет 100, точнее оставил бы их публицистам и журналистам. Если вы серьезный айтишник, говорите о нейросетях, как о нейросетях, пусть даже они очень сложные. Никто пока не понимает, может ли вообще количество перейти в качество, и если может, то когда это случится.
    Ответ написан
    Комментировать
  • Почему закрываются TCP порты после запуска игрового сервера?

    на втором они появляются на доли секунды и исчезают См.Скрин.

    На первом скрине нет ничего про открывающиеся на прослушку порты. Это сам сервер куда-то стучится, но никак не открывает порты.

    (конфигурация скопирована с первого)

    ну может там надо поменять IP-адрес для прослушивания? Вдруг там не 0.0.0.0 прописан, а конкретный IP.
    Ответ написан
    3 комментария
  • Что не так с Lambdaexpression, созданного из BinaryExpression?

    Nipheris
    @Nipheris Куратор тега C#
    'x' в previousExpression и 'x' в currentExpression считаются разными переменными. Необходимо явно указать, что одну из лямбд, например currentExpression, нужно вызывать с той же переменной, что и другую. Например, попробуйте так:

    var result = Expression.OrElse(Expression.Invoke(currentExpression, previousExpression.Parameters[0]), previousExpression.Body);


    И да, могли бы привести в порядок код, прежде чем вопрос задавать, минут 10 я только пытался понять что вы делаете. Вот как вы считаете, это строчка легко читается?
    Expression<Func<int, bool>> filterFunctor, comparison = x=> x == corrections[1] || x == corrections[0];

    Помимо того, что вы лямбду в скобки не берете, вы еще и две переменных в одном стейтменте объявляете.
    Ответ написан
    2 комментария
  • Как в bat файле работать с ключём реестра для данного пользователя?

    REGEDIT /S имя_reg-файла
    Ответ написан
    Комментировать
  • Как синхронизировать данные на сайте ASP.NET и в локальной базе приложения?

    Посмотрите Change Data Capture.

    А вообще, почему требование именно в синхронизации? Может, стоит смотреть в одну и ту же базу в обоих случаях?
    Ответ написан
    6 комментариев
  • Паттерн Repository и Active Record?

    Nipheris
    @Nipheris Куратор тега C#
    Репозиторий - это хранилище сразу для всех объектов определенного класса. Методы репозитория, добавляющие или удаляющие объект, принимают этот объект в качестве параметра. Методы репозитория, отвечающие за поиск, возвращают экземпляры найденных объектов. У вас один экземпляр репозитория для всех объектов, которые он может хранить (как правило - один экземляр для всех объектов какого-то одного класса или иерархии классов).

    В паттерне Active Record объект умеет сохранять сам себя. Иными словами, ответственность за вопросы хранения лежит на самом объекте.
    Ответ написан
    Комментировать
  • Возможно ли сделать switch case по регулярному выражению?

    Nipheris
    @Nipheris Куратор тега C#
    есть список файликов и в зависимости от названия их по разному парсить нужно

    А почему именно этот вопрос и не задать изначально? Сделайте IDictionary<string, Action<string>> и намапайте регулярку на действие.
    Ответ написан
    2 комментария
  • Правильно я понимаю как пользоваться Git-ом в команде разработчиков?

    Потому что может там уже кто-то другой внес изменения, сделал push и получится что я своим push затру его изменения?

    Нет, затереть можно только командой push с ключом -f, если у вас есть права на редактирование истории. При обычной команде push сервер не примет ваши коммиты в ветку, если те коммиты, что сейчас находятся на сервере, не являются родительскими к вашим. Иными словами, ваши коммиты и коммиты, которые сейчас на сервере, должны быть связаны отношением родитель-потомок.

    1) При индексации файла, мне индексировать только те что я менял?

    Если под индексацией вы понимаете staging area, то конечно только то, что вы изменяли (а также удалили/добавили). Суть staging area - подготовка содержимого коммита.

    как все таки будет происходить мое подключение к команде, для меня заведут логин и пароль для проекта, выдадут права на чтение и запись, а дальше все как обычно?

    Коротко - да. Подробно - у того, к занимается этим в компании.

    я так понимаю что и будут основные вещи сконфигурированы или все таки нет?

    Вам дадут логин/пароль или дадут логин и попросят сгенерить пару публичный/приватный ключ, и публичный вы должны будете передать администратору для связывания с вашим аккаунтом. git config поможет вам проставить корпоративные email и имя, под которыми вы должны будете делать коммиты в общую репу - это всё тоже можно уточнить у адмистратора.

    И еще, после git pull нужно ли делать git commit?

    Сейчас ваш вопрос сродни "нужно ли завтракать после того как почистил зубы?". Т.е. хоть и указанные действия конечно часто выполняются вместе друг с другом, они совершенно разные и ими достигаются разные цели. Поэтому рекомендация 1: поизучайте git еще, если вы такое спрашиваете, вы вообще еще ничего в нём не понимаете. Или задайте конкретный вопрос, если что-то конкретно осталось непонятным.

    И да, вы думаете, что вас уволят, если вы это все спросите у админа/тимлида? Я так не думаю, тем более раз вы - верстальщик. Рекомендация 2: перестать паниковать.
    Ответ написан
    Комментировать
  • Как обрабатывать параллельные запросы к Интернет-магазину?

    Что будет, если к базе данных подключатся два посетителя?

    Если СУБД подразумевает многопользовательскую обработку данных (MySQL в их числе), то все будет в порядке. Более того, современные клиент-серверные СУБД для того и нужны, чтобы к ним могли подключаться множество клиентских приложений и отправлять запросы. Сотни и тысячи подключений - нормальная ситуация для загруженного сайта.
    Могут ли PHP-сценарии выполнятся параллельно?

    Разумеется, иначе как получить приемлемую отзывчивость для сайта?
    Можно ли к БД подключиться параллельно, используя одного и того же пользователя БД?

    Вообще это зависит от СУБД, иногда можно ограничивать количество TCP-подключений для одного БД-пользователя. Но как правило по-умолчанию это ограничение не стоит, и обычно все запущенные экземпляры скрипта используют одного юзера для подключения. Иногда для разных скриптов используют разных пользователей БД в целях повышения безопасности - например, для обычных посетителей - пользователя с меньшим набором прав, а для администратора или менеджера - другого пользователя с полным доступом к БД. Тогда, в случае эксплуатируемой SQL-инъекции последствия будут не такими значительными. [В такой архитектуре обычно каждый пользователь БД соответствует одной роли в приложении (администратор/контент-менеджер/обычный посетитель)].

    Если к базе данных могут происходить параллельные подключения, как синхронизировать доступ?

    Или транзакции с определённым уровнем блокировки?

    Не знаю, что вы понимаете под "уровнем блокировки", но вам определенно следует познакомиться с уровнями изолированности транзакций.
    Например, читатели (посетители) просматривают товары, а писатель (администратор) обновляет цены или добавляет новый товар.

    Если разберетесь с уровнями изолированности - получите ответы на такие вопросы. В частности, read commited (уровень изоляции по умолчанию в большинстве реляционных СУБД) как раз решит проблему параллельных чтения и обновления.

    Вообще, с транзакциями определенно следует познакомиться, тем более раз уж взяли в качестве учебного задания интернет-магазин. Только в этом случае можно считать этот учебный проект завершенным.
    Ответ написан
    Комментировать
  • Как автоматически привязывать товары к категориям?

    Верное решение, с теоретической точки зрения - это дедуктивная база данных. У вас есть основная база данных с фактами о товарах (т.е. с их атрибутами), и вы на основе заданных правил строите новые производные утверждения о вхождении того или иного товара в категорию.

    Ваши категории - это по сути множества/классы, заданные при помощи предиката. Каждый ваш фильтр - это предикат вхождения товара во множество. Иерархия категорий - это обычное наследование классов. Для реализации наследования вам нужно про проверке предиката для категории-наследника проверять еще и все предикаты в родительских категориях. Тогда в категории "2016" вы запишите условие "год = 2016", а в дочерней категории женские напишите "пол = ж", и оба условия следует проверять для каждого товара.

    Таким образом, вам нужен какой-то простой язык или способ записи предикатов (возможно, вам захочется логических операторов и/или/не), иерархия категорий, где к каждой категории привязан предикат на вышеуказанном языке, и движок, который будет выполнять привязку товаров к категориям, или даже, если товаров немного, запрашивать их на ходу, транслируя предикаты в SQL-фильтры (ну или другой язык запросов для базы, в которой у вас товары). У нас был проект - агрегатор товаров из интернет-магазинов, мы примерно так категории и делали. Даже успели впилить поддержку некоторых встроенных функций в предикатах, чтобы например можно было по части названия товара определять его в ту или иную категорию (или наоборот, исключать из категории, чтобы сантехнические прокладки отличать от всяких других).
    Ответ написан
    3 комментария
  • Как устроена сдача в аренду ПО в облаке?

    Согласен с Василий . Я вообще сначала подумал вы спрашиваете про свой софт, который вы и собираетесь писать/уже написали и собираетесь сдавать, тогда б можно было дать советы по архитектуре. А если это чужая разработка, то правовых вопросов будет куда больше, чем технических, и начинать надо с них. Тем более, если вы сможете их решить, иными словами, договоритесь с разработчиком ПО, которое вы собрались сдавать в аренду, то скорее всего они вам и подскажут по техническим моментам, т.к. будут заинтересованы в вас. А если вы не договоритесь, то за технические моменты можно уже и не браться.
    Ответ написан
    Комментировать