• Scheme для JSON. Как сделать валидацию и замену некорректных свойств?

    Проверка JSON по схеме - практикуется. Насчёт замен и "автопочинки" - не встречал такого, возможно вам нужно кастомизировать процесс верификации по схеме, когда с невалидным элементом нужно что-то сделать (выбросить и поставить заглушку согласно схеме).
    Ответ написан
    Комментировать
  • С# WPF Иконка в трее, как сделать такого типа?

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

    Расскажите подробнее каким способом в вашей программе иконка попадает в трей, и возможно я смогу подсказать как сгенерировать и передать туда своё изображение.
    Ответ написан
  • Как работает экономика облачного майнинга?

    Уже ясно что крипта будет интегрироваться в реальную экономику и сейчас ее надо майнить и складывать

    Вы не понимаете, что можете (!) ошибаться именно здесь. А вот продавцы/арендодатели майнинг-оборудования ещё весной/летом заработали очень неплохо, они уже не ошибутся. Стандартное "лучше синица в руках чем эфир в небе".
    Ответ написан
  • Есть ли какое то приложение для разработки АПИ?

    Если вы про HTTP REST API, то OpenAPI (редактор и генераторы). Если про что-то другое - уточните.
    Ответ написан
    Комментировать
  • Проблема при установке Visual Studio 2008?

    Nipheris
    @Nipheris Куратор тега C++
    На какую версию Винды ставите? 2008-я Студия мягко говоря не нова, на 10-ке наверное уже и не работает.
    Ответ написан
    9 комментариев
  • Как получать информацию с экрана о чем либо?

    Если Windows 8.1 и выше - Desktop Duplication API (вот первая попавшаяся обёртка под дотнет).
    Если ниже - то боль. Ну в смысле можно ещё библиотеки поискать, у OBS наверняка что-то готовое есть.
    Ответ написан
    Комментировать
  • Почему не видит перегрузку оператора потока вывода?

    Nipheris
    @Nipheris Куратор тега C++
    Т.к. вы реализуете оператор << в форме внешней функции, то и при доступе к полям объекта нужно указывать конкретный экземпляр объекта, например s.Matrix. Во внешней функции у вас нет и не может быть this, а значит и нет полей объекта в скоупе функции.
    Ответ написан
    Комментировать
  • Как подключить библиотеку к проекту на ubuntu?

    Nipheris
    @Nipheris Куратор тега C++
    Правильный путь: собрать deb-пакет и ставить его.
    Быстрый путь: на целевой машине попробуйте запустить sudo ldconfig.

    Таскать so-шник с бинарником не стоит. Если уж совсем туго, попробуйте слинковать статически.
    Ответ написан
  • Как проверить равно ли значение в таблице указанному?

    Поместите сравнение поля с нужной константой в select.
    Ответ написан
    Комментировать
  • Как подключить скачанную библиотеку?

    Nipheris
    @Nipheris Куратор тега C++
    Какая библиотека-то? Возможно в vcpkg есть, для Винды самый нормальный вариант.
    Ответ написан
    Комментировать
  • Правила хорошего тона protected или private?

    А почему вы по умолчанию public не ставите, если выбираете между public и private? Наверное потому что вам инкапсуляция нужна?

    Ситуация с дочерними классами ничем не отличается. Не стоит делать метод protected по умолчанию по той же причине, по которой его не стоит делать public по умолчанию.
    Ответ написан
    Комментировать
  • Зачем нужны WCF?

    И да и нет. Тоже для обмена данными между приложениями, но не обязательно с использованием REST-архитектуры.

    WCF он больше про классические веб-сервисы на базе XML и SOAP. Хоть в WCF и есть возможность создания HTTP REST сервисов, сложно сказать что WCF под них заточен.

    В основном этот фреймворк ориентирован на разработку приложений на базе группы стандартов WS-*, например таких как WSDL, WS-Addressing и WS-Security. Это объёмные стандарты, написанные для обеспечения взаимодействия классических веб-сервисов (см. нулевой уровень, swamp of POX в Richardson Maturity Model ).

    Ранее эти стандарты были более популярны в связи с большим желанием интегрировать друг с другом всевозможные информационные системы, размазанные по миру. Многие из таких систем как раз сейчас работают в продакшене, однако далеко не все новые проекты разрабатываются на основе WCF.

    Классические веб-сервисы многими недолюбливались, в частности потому что:
    а) REST-ом как правило и не пахнет, HTTP как правило использовался исключительно как транспорт для RPC: т.е. вместо GET/PUT/POST/DELETE/.. всегда вызывался POST с параметрами запроса в его теле. Цитата из ссылки:
    These services have a single URI, and use a single HTTP method (typically POST). For example, most Web Services (WS-*)-based services use a single URI to identify an endpoint, and HTTP POST to transfer SOAP-based payloads, effectively ignoring the rest of the HTTP verbs.

    б) стандарты группы WS-* очень сложные, все технологии на их основе просто не могут быть простыми (как и в частности WCF). Да, есть свои плюсы вроде "могу вызвать что угодно у кого угодно по какому хочешь протоколу", но не всегда такая гибкость была реально нужна.

    Уже давно в многих новых системах наблюдается сдвиг к REST-архитектуре, как к более масштабируемой и простой для потребления клиентом, и, следовательно, протокол HTTP используется по прямому назначению, а не тупо как транспорт для сообщений. А там где REST неудобен/излишен и где RPC лучше походит, проще взять для этого более легковесный протокол или вообще поднять свой на базе какого-нибудь protobuf, как делают во многих игровых проектах.

    Соотв-но WCF сегодня реже выбирают для разработки новых проектов, т.к. для него HTTP REST сервисы немного не "родные". Удобнее взять другие фреймворки вроде ASP.NET Core или Nancy.
    Ответ написан
    Комментировать
  • Что не даёт на C++ писать кроссплатформенные приложения?

    Nipheris
    @Nipheris Куратор тега C++
    • прикладное API различных операционных систем - разное. Если бы API было полностью одинаковое, то тогда операционные системы отличались бы только UX, набором софта и утилит, т.е. вместо Linux/Windows/BSD мы бы имели только Linux в разных дистрибуциях или только Windows в разных дистрибуциях. Ну т.е. по сути одну операционную систему, т.к. раз мы сейчас говорим о разработке прикладного софта, то нас интересует прежде всего API для прикладных приложений;
    • т.к. API различных ОС отличается, требуется создание уровней абстракции, которые нивелируют эти различия. В других ответах уже достаточно примеров, я бы вспомнил например о разделителях в именах файлов;
    • дополнительные уровни абстракции нередко сокращают доступное API, т.к. в большинстве случаев невозможно реализовать самому то, что нет в API какой-то из интересующих ОС. Следовательно, приходится оставлять только те интерфейсы, которые так или иначе есть везде;
    • т.к. абстрагированные интерфейсы из пред. пункта более аскетичны, ими сложнее пользоваться, они дают не все возможности, соотв. какие-то задачи уже нецелесообразно решать кроссплатформенным кодом на базе этих асбтрагированных интерфейсов, проще написать несколько вариантов для разных ОС;
    • оба предыдущих пункта - как достаточно успешные попытки сделать абстрагированные интерфейсы, так и наоборот, написание платформозависимого кода для каждой нужной платформы - удорожают разработку. Везёт только в случаях, когда абстрагированные интерфейсы уже есть и достаточно хорошо выполняют свою задачу, как например Asio. Или хорошие кроссплатформенные стандартые API вроде OpenGL, что делает возможным писать кроссплафторменные игры.
    • разработчику ПО не нужно удорожание разработки там, где это не принесёт ощутимой выгоды.
    Ответ написан
    Комментировать
  • Что нужно знать С++ разработчику для начала работы на фрилансе?

    Nipheris
    @Nipheris Куратор тега C++
    "База" в C++ никому за деньги не нужна, ну кроме американских и европейских студентов-лентяев, которые сами не хотят лабы делать. Если вы хотите заниматься C++ профессионально, ещё и фрилансить, вы должны понимать, как получить законченное решение по ТЗ. Это менее тривиально, чем на других платформах. Вот вам несколько вопросов для самопроверки, расскажете что знаете а что нет:
    • у вас есть большой объём текстовых данных (строк), каких простых правил будете придерживаться, чтобы избегать лишнего копирования содержимого строки;
    • я хочу написать некий фоновый сервис, вытягивающий данные из PostgreSQL и пишущий, допустим, в MongoDB, выполняющий некоторые простые преобразования (неважно какие). Пока будет крутиться на линуксе, но возможно и на виндах придётся запустить у другого заказчика. Какие на вскидку библиотеки для работы с БД будем использовать, будут ли сложности? Как их будем подключать к проекту?
    • чем будем собирать проект из предыдущего пункта?
    • что можете предложить для реализации сетевого обмена? Я хочу чтобы было можно в свой протокол поверх TCP, но возможно захочу ещё HTTP потом.
    • как будете выбирать, слинковать библиотеку статически или оставить зависимость от DLL/SO? Как будете собирать готовые пакеты для деплоя?
    Ответ написан
    7 комментариев
  • Как заполнить таблицу(DataGrid)?

    Nipheris
    @Nipheris Куратор тега C#
    <DataGrid ...... AutoGenerateColumns="False">

    https://msdn.microsoft.com/ru-ru/library/system.wi...

    Ну и понятное дело у DataGridTextColumn нужно нормальные биндинги сделать.
    Ответ написан
    4 комментария
  • Коимпилятор ругается на инициализацю ссылки на функцию как написать что бы не было ошибки?

    Nipheris
    @Nipheris Куратор тега C++
    Вы не сможете сохранить указатель на функцию-член в переменной указателя на обычную функцию. Ваши варианты:
    - сделать dfLineFunc статической/свободной функцией (что было бы логично для функции активации, неужели она у вас от состояния зависит?);
    - сделать dfActive указателем на функцию-член и пользоваться им соответственно.
    Ответ написан
    Комментировать
  • Как реализовать класс стека на указателях и на массиве в одной программе?

    Nipheris
    @Nipheris Куратор тега C++
    Почитайте про полиморфизм вообще, и конкретно про его реализацию для классов в C++ в форме виртуальных функций.
    Ответ написан
    Комментировать
  • Миграция проекта с WindowsForms на .NET Core. Куда смотреть?

    Nipheris
    @Nipheris Куратор тега C#
    Это абзац. Вам нужно многое узнать, я вам скажу.

    Во-первых, реализовать "в браузере" - вы вообще понимаете что вам в принципе нужно будет делать и какие компоненты на чём писать? "frontend-разработка", "backend-разработка" вам говорит о чём-то?

    Вам надо смотреть в сторону понимания того, какую логику приложения следует выполнять на сервере (и вы сможете её писать под .Net Core), а какую - на клиенте (и тут .Net Core в общем-то не при чём).

    Ну и да, я надеюсь вы понимаете что .NET Core и ASP.NET Core - это не одно и то же, и "делать веб-приложение на .NET Core" - весьма расплывчатое утверждение. Что оно вообще для вас значит?
    Ответ написан
    2 комментария