• Как создавать кнопки связанные с объектами?

    Nipheris
    @Nipheris Куратор тега C#
    Начните с https://msdn.microsoft.com/en-us/magazine/dd419663.aspx .

    После прочтения статьи должны придти к выводу, что главное а) построить правильную ViewModel; б) записать правильные привязки. Не факт, что получится обойтись без генерации контролов из кода. Но даже в этом случае содержимое статьи должно быть применимо.
    Ответ написан
  • Какой язык выбрать под Backend высоконагруженного rest-сервиса?

    Nipheris
    @Nipheris Куратор тега C++
    забрать данный с БД, передать на клиент, получить запрос от клиента, выполнить несложную логику, сохранить в БД, передать ответ

    По вашему описанию БД должна быть узким местом. А если узлов с базой много, почему не размножить бэкенд-сервера?
    Ответ написан
    1 комментарий
  • Почему MySQL не верно сортирует при условии + группировке?

    Я может чего путаю - но вам тут GROUP BY вообще зачем? Где агрегирующее выражение? Что значит "сгруппировать по беседе"? Может вам нужна сортировка одновременно по дате и беседе?

    Необходимо вывести список бесед (а вернее последнее сообщение из каждой беседы). Беседа обозначена через thread_id. По этой самой причине идет группировка по беседе и сортировка по дате.


    Теперь понятно, попробуйте так:
    select thread_id, body, date from
    		(select message.thread_id, max(message.date) as date from message where device_id = 12 group by thread_id) as last_message
    	join
    		message
    	on message.thread_id = last_message.thread_id and message.date = last_message.date
    limit 0, 50
    Ответ написан
  • Начальный набор программ для Windows?

    Вот мой джентельменский набор на Винды:
    • .net fw последний, чтоб все работало
    • 7-zip
    • SumatraPDF/Adobe Reader
    • Far Manager (да, люблю, такой вот извращенец)
    • foobar2000
    • VLC
    • OpenVPN
    • TeamViewer
    • PuTTY
    • Deluge
    • Skype, опционально Telegram
    • DAEMON Tools Lite
    • Steam, GOG Galaxy
    • Beyond Compare
    • WinDjView, опционально Ghostscript+gsview
    • Sandboxie по первой необходимости

    Все прочие Фотошопы, AE-шки, Гиты, WebStorm-ы и Студии понятное дело зависят от вашего рода деятельности.
    Антивирус не держу (он нужен только когда ты недавно за компом и еще не можешь сам набрать foobar2000.org, чтобы скачать нужный тебе софт), файрволла на виндовой машине нет.
    Ответ написан
  • Есть ли проекты на С++, исходники которых стоят внимания, а то есть проекты написаны качественно и там есть чему поучиться?

    Nipheris
    @Nipheris Куратор тега C++
    JSON Spirit (на гитхабе оригинала нету, только зеркала от других разработчиков)
    SOCI
    cpp-netlib
    Драйвер Монги для C++
    mapbox-gl-native

    По поводу сборки: сейчас в плюсах без CMake никуда. Если хотите собирать чужие проекты и разрабатывать свои - стоит познакомиться. Из перечисленного списка почти все умеют им собираться. В более старых проектах популярны autotools и классические make-файлы, еще можно встретить SConstruct.
    Ответ написан
    Комментировать
  • Как забиндить classmember handler для boost::asio?

    Nipheris
    @Nipheris Куратор тега C++
    99%, что удаленная функция - это конструктор копирования.
    По смыслу объекта сокета можно догадаться, что копировать его не стоит (т.к. так или иначе он представляет собой обертку над системным ресурсом). Раз его копировать не стоит, используйте указатель на сокет вместо самого сокета. Например, shared_ptr, вот как тут советуют: stackoverflow.com/questions/5425666/passing-around... .

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

    Nipheris
    @Nipheris Куратор тега C++
    Любому программисту будет полезна дискретная математика. Системный программист тут особо не отличается (ему важнее алгоритмы и структуры данных).

    Глубокий матан нужен тем, кто занимается расчетами и моделированием. Ну или областями, где задействована физика, например реалистичной графикой.

    То, что математика полезна в целом, и "ум в порядок приводит", я думаю и так понятно.
    Ответ написан
    Комментировать
  • Как лучше привязать WCF приложение к проекту на WPF?

    Nipheris
    @Nipheris Куратор тега C#
    Правильно ли я сделал, что определение класса самого объекта из списка расположил в проекте wcf-сервиса? Класс списка со всеми операциями я расположил там же.

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

    сейчас я скопировал адрес из wcf-test-client и вставил как service reference в wpf

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

    Nipheris
    @Nipheris Куратор тега C#
    WinAPI: CreateEvent, OpenEvent, SetEvent, WaitForSingleObject
    Ответ написан
    Комментировать
  • Возможна ли аутентификация в web приложении по token windows?

    Если вы имеете в виду NTLM аутентификацию, то для каждого браузера будут свои решения. Вот например попробуйте для firefox: superuser.com/questions/664656/how-to-configure-fi...

    А лучше посмотрите federated login, например ADFS (у вас же домен, я правильно понял?).
    Ответ написан
    Комментировать
  • Что такое Windows Script Host или Microsoft JScript?

    Стоит ли в нем разбираться или это просто крутая фигня для гуру Винды?

    Считайте его предшественником PowerShell. Не вижу смысла в нем разбираться, т.к. есть PowerShell.
    То, что он вешается на открытие js-файлов - это историческая случайность. Те скрипты действительно были на диалекте JS, но это не значит что имеет смысл пытаться "запустить" или открыть этим Script Host любой JS-файл. Это все идет еще с тех времен, когда VBScript людей беспокоил не меньше, чем JS.
    Ответ написан
    Комментировать
  • Почему web-сервисы стали называть API или какая между ними разница?

    1) олдскульные (SOAP/XML) веб-сервисы называли так, потому что есть группа стандартов от W3С, и там используется именно понятие "web service" (https://www.w3.org/TR/ws-arch/#id2260892);
    2) поэтому REST API называются так, чтобы побольше отличаться от веб-сервисов, и заодно подчеркнуть, что в таком взаимодействии единственный стандарт "для всех" - это HTTP. Все остальное - форматы запросов/ответов, степень соответствия архитектуре REST - определяется конкретным сервисом, и поэтому хотелось некий "легковесный" термин, который бы говорил о таких контрактах взаимодействия, которые работают поверх HTTP и соответствуют архитектуре REST. Поэтому и REST API/Web API , что переводится как "контракт, работающий поверх HTTP в соответствии с архитектурой Web".
    Ответ написан
    Комментировать
  • Востребована ли профессия веб-разработчика?

    от "да, очень нужный скилл, будущее за вебом"

    до "это днище..."


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

    Вы Тостер полистайте, и посмотрите, по каким тегам спрашивают.

    P.S. Вебу уже не первый десяток лет, веб это не будущее, веб это настоящее. А то, что перечисленные Александр школьники и инвалиды понимают под "вебом" странички с js-кодом, и даже не знают, например, что такое REST на самом деле - вот это результат низкого порога входа.
    Ответ написан
    6 комментариев
  • Как разобратся с внешними ключами мускул?

    А вам надо по-другому? У вас есть залогиненый юзер, вы где-то держите его id. Теперь, когда залогиненный юзер оформляет заказ, вы добавляете новый заказ этому юзеру, указывая конкретный user_id при insert-е записи в таблицу заказов.
    Смысл внешнего ключа в том, что СУБД не позволит вам добавить заказ на несуществующего юзера. Т.е. при insert-е автоматически произойдет проверка, что в родительской таблице юзеров есть запись с таким id, который вы указали в добавляемом заказе.
    Вы можете делать такой insert и без внешнего ключа, вам вообще не обязательно пользоваться внешними ключами - все равно все нужные выборки вы будете делать сами. Внешние ключи это лишь один из видов ограничений целостности, грубо говоря доп. проверка со стороны СУБД, чтобы вы могли чувствовать себя спокойнее за согласованность базы (вам же не очень хочется, чтобы в случае какой-либо досадной ошибки в приложении у вас добавился "висячий" заказ вообще непонятно на кого). Ну и еще они позволяет выполнять некоторые каскадные операции, например удалить все заказы при удалении юзера - если конечно вы так позволите делать.
    Ответ написан
    1 комментарий
  • Как сделать программу незакрываемой?

    Nipheris
    @Nipheris Куратор тега C#
    А в чем проблема-то? Если прога не работает - считать, что юзера нет за компом. Ну как трекер для того же Upwork-а работает.
    Это если цель - заставить юзера быть заинтересованным в генерации активности на компе. Если цель другая - см. ответ АртемЪ - он подходит, если вы администрируете машины пользователей. Если машины админятся самими юзерами (т.е. у вас не исключительных прав на них) - то тогда, имхо, и надежного метода нет по определению. Безопасная загрузка, загрузка с другого носителя, и т.д.
    Ответ написан
    1 комментарий
  • Как через StreamReader считать строку с определенной позиции?

    Nipheris
    @Nipheris Куратор тега C#
    1) первым проходом строим "индекс" - сохраняем в списке начала всех строк (в смысле, номер байта в потоке);
    2) дальнейшие чтения делаем с помощью индекса;

    Это будет быстрее постоянного прохода заново с начала файла. При построении индекса весь файл грузить в память не нужно, хотя понятно, что надо оценить размер этого индекса относительно количества строк и средней длины строки.
    Ответ написан
    Комментировать
  • Как сделать экпортируемую dll функцию без хедера членом класса?

    Nipheris
    @Nipheris Куратор тега C++
    Совершенно верно Петр говорит, this в мешке не утаишь).

    Кроме того, если либа грузится через LoadLibrary, т.е. связывания на этапе компиляции нет, то и вызывать ее надо через указатель, а тогда без обертки соответствие между какой-либо функцией, объявленной в классе (пусть даже это будет статическая функция) и этим указателем не проставить в принципе, т.к. где-то должна произойти косвенная адресация и передача управления в DLL.
    Ответ написан
    Комментировать
  • Почему не подгружаются в код зависимости NuGet?

    1) проверьте, выполняется ли nuget restore. Вот прям сами откройте packages, зайдите в папки конкретных пакетов и проверьте что там лежат скачанные сборки
    2) к сожалению в классических проектах на C# (не DNX) взаимодействие с NuGet довольно посредственное. В том смысле, что содержимое проекта и packages.config может рассинхронизироваться (ввиду отстутсвия единого списка пакетов/сборок, как это сделали в project.json). Т.е. в packages.config все будет, но в csproj эти ссылки не будут прописаны.
    Выход из ситуации - открыть ручками csproj и поставить нужные Reference, прописав относительные пути на сборки в packages, вроде таких:
    <Reference Include="NetTopologySuite.IO.ShapeFile">
          <HintPath>..\..\packages\NetTopologySuite.IO.1.13.3.2\lib\net40-client\NetTopologySuite.IO.ShapeFile.dll</HintPath>
        </Reference>

    Конкретный путь надо смотреть вам (на сколько уровней "выйти" и в какие папки "зайти"). Сначала нужно, конечно, проверить, нет ли уже этих ссылок - возможно просто папка packages почему-то уехала на новое место, и пути просто испортились.
    Ответ написан
  • С чего начать изучение Gamedev'а?

    Nipheris
    @Nipheris Куратор тега C++
    1) алгоритмы и структуры данных: списки, очереди, деревья, графы и операции со всем этим;
    2) линейная алгебра и геометрия: операции над матрицами и векторами;
    3) компьютерная графика: растр и вектор, представление изображений, трехмерных объектов и сцен; архитектура графического железа и конвейер рендеринга (раз игры, то упор в realtime-графику, а не в фотореалистичную), шейдеры; конкретные графические API: OpenGL 4 и DirectX 11, на будущее - Vulkan и DirectX 12;
    4) С++: основные конструкции языка, ООП, элементы ФП, стандартная библиотека (не пренебрегайте ей), затем шаблоны;
    Ответ написан
    Комментировать