• 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 комментария
  • Как устроена сдача в аренду ПО в облаке?

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

    Теоретическая часть:

    Про SQL: стандарт SQL:2011, средства для темпоральных баз данных. Пока поддерживается не всеми вендорами, но можно взять за основу при написании велосипеда.

    Про Монгу особо ничего не скажу, посмотрите вот это:
    https://github.com/thiloplanz/v7files/wiki/Vermongo
    https://github.com/saintedlama/mongoose-version
    Ответ написан
    Комментировать
  • Сколько исследователи тратят времени на поиск уязвимости и написание эксплойта подобного рода(в описании)?

    Не знаю, где вы читали эту новость, но по этим двум источникам выходит, что большую часть написанного в вопросе вы сами придумали, и все намного проще:
    gtlaunch.ru/hakeryi-iz-anonsec-ugnali-u-nasa-bespi...
    https://xakep.ru/2016/02/02/anonsec-nasa-leak/

    Итак, смотрим:
    Так как к трояну Gozi группа отношения не имеет, хакеры пишут, что они попросту купили доступ к зараженному серверу у автора Gozi, и сервер стал отправной точкой входа.

    Ну т.е. они даже эксплоит не покупали. Даже если б купили - ну приватный эксплоит, обычное дело.
    Безопасность НАСА действительно оставляла желать лучшего: запустив обычный брутфорс, хакеры нашли первое сочетание логина и пароля root:root через 0,32 секунды.

    Закрепились на одной машине, стали сканить с неё все доступные во внутренней сети - простое и логичное действие. root:root это конечно полный фэйл, и можно сказать удача для AnonSec, но в принципе не так уж удивительно и невероятно.
    Хакеры смогли получить полный доступ к сетевым хранилищам данных (NAS) на которых хранились копии всех планов полетов беспилотников

    Хакеры заметили, что для большинства миссий в беспилотник загружают уже готовый план полёта в виде файлов .gpx

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

    Я не говорю, что со всем этим справился бы школьник, но где вы тут видите что-либо про взлом прошивки? И да, про "закрытые данные":
    взломать внутреннюю сеть НАСА и провести в ней несколько месяцев, а в качестве доказательства они опубликовали архив объёмом 276 ГБ

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

    И под каждый беспилотник никто новую ОС писать не будет. И для серверов НАСА тоже никто новую ОС писать не будет. В беспилотнике будет какой нибудь embedded-дистрибутив, на серверах ну допустим какой-нибудь олдскульный UNIX (AIX/HP-UX/etc), а на новых будет Линух.

    даже софт для управления этим беспилотником

    Ну софт не найдешь, а вот gpx формат известен весьма широко.

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

    Доки пробовали открывать?
    sqlite.org/datatype3.html
    BLOB. The value is a blob of data, stored exactly as it was input.
    Ответ написан
    Комментировать