• Как вывести каждый байт значения типа int?

    Nipheris
    @Nipheris Куратор тега C++
    1. char - знаковый тип. Используйте unsigned char, а лучше std::byte если он доступен вам.
    2. проверьте форматную строку.
    Ответ написан
    Комментировать
  • Как заиметь ровные руки(исправить проблему с учеткой)?

    https://support.microsoft.com/en-us/help/814777/ho...
    To log on to Windows by using the disabled local Administrator account, start Windows in Safe mode. Even when the Administrator account is disabled, you are not prevented from logging on as Administrator in Safe mode. When you have logged on successfully in Safe mode, re-enable the Administrator account, and then log on again.
    Ответ написан
    1 комментарий
  • Как работают проекты написанные на нескольких языках?

    Nipheris
    @Nipheris Куратор тега C++
    Вариант 1: P/Invoke.
    Вариант 2: C++/CLI.
    Вариант 3: отдельно работающий сервис на C++, выставляющий API по HTTP/Protobuf/ещё что-нибудь.
    Ответ написан
  • Можно ли использовать оператор if в таком варианте программы?

    Nipheris
    @Nipheris Куратор тега C++
    klas=="231"

    сравнение не будет работать так как вы ожидаете. Вы сравниваете указатели на строки (т.е. указатели на начало областей памяти, в которых хранятся строки). Т.к. вы хотите сравнить сами строки, т.е. содержимое вышеупомянутых областей памяти, вам нужно либо:
    а) воспользоваться функцией strncmp или аналогичными (это путь языка Си).
    б) воспользоваться классом std::string из стандартной библиотеки, и сравнивать объекты этого класса. Они уже сраниваются по содержимому (это путь языка C++)
    Ответ написан
    Комментировать
  • Как получить определенное кол-во строк до необходимой выборки?

    sqlfiddle.com/#!17/12350/11/0
    select val from
    (
        (select val from foo where val < 9 order by val desc limit 5)
        union
        (select val from foo where val >= 9 order by val asc)
    ) results
    order by val asc
    Ответ написан
    Комментировать
  • Как удалить смерженную ветку?

    1. Вы хотите плохого.
    2. Чтобы это сделать, вам нужно заребейзить коммиты 91d2463, 3e391bf с 3a0067f на 8b04f4d.
    Ответ написан
    Комментировать
  • Зачем делают backend на разных языках?

    Nipheris
    @Nipheris Куратор тега C++
    Подскажите зачем пишут backend на нескольких языках?

    Почему-то никто не сказал главный аргумент - в больших проектах понятие бэкенда весьма условно. В больших проектах уже нет одного веб-приложения, которое написано на одном языке и выполняется на одном-двух серверах. В больших проектах бэкенд - это уже набор сервисов, зачастую разнородных, иногда даже не общающихся между собой, а работающих непосредственно с клиентом (гуглите микросервисную архитектуру). Пример из нашей компании:
    - веб-приложение на джанге, отдающее html-контент - тут авторизация юзеров, хранение пользовательских настроек и данных;
    - сервис данных чарта - написан на Erlang для предельной стабильности и предсказуемости, а также из-за легковесных потоков (в BEAM неплохой вытесняющий планировщик);
    - сервис расчёта фин. индикаторов - написан на Java, данные отдаёт через сервис на Эрланге;
    - сервис сканирования бирж - написан на Go (много новых сервисов на нём пишем).
    - и ещё несколько более мелких сервисов.

    Каждый из этих сервисов - это даже не отдельные люди, это целые команды со своей историей, со своими требованиями к надёжности и производительности и со своей культурой в конце-концов. Сервисы очень крупные, даже если что-то не устраивает и хочется переписать на другой платформе (например, с Эрланга на Го), никто не будет этого делать просто потому что хочется, это огромные деньги и куча человеко-лет.
    Ответ написан
    Комментировать
  • Как оставить все нули в float в MongoDB?

    Поймите, что документы в Монге хранятся в JSON, а в JSON ваше 1.0 это число, и хранится оно вообще не так как показывается. Чтобы сохранить конкретное форматирование, вам нужно хранить строку а не число.
    Ответ написан
    Комментировать
  • Можно ли полноценно разрабатывать на С и не прыгать в С++?

    Nipheris
    @Nipheris Куратор тега C++
    Можно ли полноценно разрабатывать на С и не прыгать в С++?

    Да.
    Ответ написан
  • Как обрабатывать данные в wpf textbox, C#?

    Nipheris
    @Nipheris Куратор тега C#
    Вам нужна вьюмодель, к свойствам которой вы привяжете текстбоксы и команда, торчащая также из это вьюмодели, к которой вы привяжете кнопку. Читайте про MVVM, ICommand и биндинги в WPF.
    Ответ написан
    1 комментарий
  • Зачем перед слиянием ветки f1 в ветку develop, нужно сливать ветку develop в ветку f1?

    Или я что то не правильно понял?

    Да, вы не понимаете сути слияния веток в Git.

    Начнём с того, что когда вы сливаете ветки, по большому счёту не так уж важно какую ветку в какую вы будете сливать. Вы В ЛЮБОМ случае создаёте мёрж-коммит, и создание этого мёрж-коммита (и соответственно разрешение конфликтов которое происходит при создании этого коммита) подразумевает, что вы соединили вместе две ветки. Это значит что начиная с мёрж-коммита все последующие коммиты (дочерние к нему) будут иметь изменения из ОБОИХ веток. Уже не будет разницы между тем что было сделано в первой и во второй ветке, отныне "они едины" (c).

    Другой вопрос в том, в какую ветку поместить этот мёрж-коммит и УКАЗАТЕЛЬ какой из веток СДВИНУТЬ на новый мёрж-коммит. Теоретически, мы можем сдвинуть оба указателя, но в большинстве случаев нам достаточно сдвига лишь в одной ветке (и нередко только в одной из веток, в вашем случае f1, мы имеем право двигать указатель).

    Когда вы попытаетесь сделать "обратное сливание f1 в develop", если в develop ещё не успело появиться новых коммитов (не являющихся предками созданного вами мёрж-коммита), то на самом деле никакого сливания и НЕ БУДЕТ. Ведь у вас УЖЕ есть коммит, учитывающий изменения в ОБОИХ ветках. Достаточно лишь передвинуть указатель ветки develop на этот коммит. Другое дело, что решение о том, что это можно и нужно сделать, приняв тем самым изменения в ветке f1 в ветку develop, принимает мейнтенер ветки develop, а это вовсе не обязательно тот же человек, что и работающий с веткой f1.

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

    Nipheris
    @Nipheris Куратор тега C#
    1. В теории реализация не обязана использовать стек для хранения локальных объектов value-типов (см. https://blogs.msdn.microsoft.com/ericlippert/2009/... ).
    2. Тем не менее, в текущих реализациях используется именно стек, поэтому всё как и в остальных языках: https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D... .
    3. Помните, что значения value-типов иногда (не всегда) хранятся на стеке. Все значения value-типов, являющиеся частью объекта ссылочного типа (например, int-поле в классе или элементы массива double) рождаются и умирают вместе с этим объектом.

    Итого:
    • время жизни локальных объектов value-типов связывается с фреймом стека;
    • время жизни объектов value-типов, находящихся в составе объектов reference-типов, связывается с временем жизни объемлющего объекта;

    Более экзотические ситуации рассматривать не будем. И вообще, как говорит Липперт (см. ссылку), лучше не думать в терминах стека, т.к. это деталь реализации. Лучше говорить о времени жизни относительно вызываемых функций и относительно других объектов.
    Ответ написан
    1 комментарий
  • Docker: как запустить консольное Desktop приложение (exe)?

    Nipheris
    @Nipheris Куратор тега C#
    Но мне нужно докерезировать обычное Десктопное консольное приложение с .net framework 3.5+

    На Windows 7, очевидно, докер будет работать только благодаря линуксовой виртуалке (кажется в VirtualBox-e). Т.к. .NET Framework никогда не работал и скорее всего не будет работать под Linux (в отличие например от Mono или .NET Core), вы не добьётесь своей цели с использованием имеющихся инструментов.

    Вам как минимум нужны нативные контейнеры (Windows Containers), доступные в Windows 10 и Windows Server 2016.

    Вот кстати неплохой пример, как раз консольное приложение: https://github.com/Microsoft/dotnet-framework-dock... . Цитаты из него:
    To complete this sample you must have Windows 10 (or Windows Server 2016), Docker for Windows, Visual Studio, and Git installed.

    You must use Windows Containers on Docker for Windows to run this image. Be sure to check that you are properly switched to Windows Containers. Do this by opening the system tray up arrow and right clicking on the Docker whale icon for a popup menu. In the popup menu make sure you select 'Switch to Windows Containers'.
    Ответ написан
    Комментировать
  • Кто может объяснить как создаётся софт для игр?

    Nipheris
    @Nipheris Куратор тега C++
    Поверхностно: вам должны быть в состоянии ответить на следующие вопросы:
    - что такое процесс в ОС;
    - что такое поток и чем отличается от процесса;
    - что такое адресное пространство процесса;
    - как пользоваться системным API в выбранном вами языке программирования.
    Разумеется, общее понимание процесса вычислений на современных машинах должно присутствовать.

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

    Nipheris
    @Nipheris Куратор тега C++
    Подумайте как использовать цикл для перебора элементов массива и что и с чем нужно сравнивать для определения максимального значения.

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

    Nipheris
    @Nipheris Куратор тега C++
    он зависит от большого количества so-библиотек.

    У вас два варианта:
    1. Использовать статические варианты библиотек вместо динамических (so) - это то, что предлагает Vitaly.
    2. Продолжать собирать как сейчас, но научиться собирать нормальные пакеты под нужные вам дистрибутивы, с нормальным описанием зависимостей - тогда системный пакетный менеджер при установке вашего пакета поставит все нужные вам зависимости.

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

    https://en.wikipedia.org/wiki/Transformation_matrix
    Видимо друг говорил о знаниях, которые нужны чтобы понять содержимое этой и подобных статей.
    Ответ написан
    Комментировать