• Как сохранить объект в файл на C++?

    AxisPod
    @AxisPod
    protobuf
    Ответ написан
    Комментировать
  • Польза олимпиадного программирования, миф или реальность?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Стоит ли тратить большое количество времени и до дыр задрачивать алгоритмы на графах, комбинаторику, сортировки или же делать упор на знание технологий и будет достаточно поверхностного изучения алгоритмов?

    Без разницы. Главное ответственно подходить к изучению. В процессе работы недостатки в знаниях будут воссполняться сами собой (по мере поступления задач). Конечно, базовое представление лучше иметь обо всём.

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

    Олимпиадное программирование:

    - даёт понятие о сложности алгоритмов, оптимизациях и «внутренностях» работы алгоритмов;
    - учит быстро принимать решение и писать «шаблонный код» (в хорошем смысле этого понятия);
    - учит слаженной командной работе (если соревнования командные, например ACM);
    - не даёт никакого понятия об архитектуре, читаемости кода и его поддержке.

    Из-за последнего пункта со многими бывшими олимпиадниками сложно работать, пока они не переучатся, а это происходит долго и сложно, т.к. весь их опыт этому противоречит. За счёт того, что такие люди обычно могут держать в голове значительно больший кусок задачи, для коллег работа с их кодом превращается в ад.
    Ответ написан
    Комментировать
  • Как получить доступ к app store, если в Крыму его заблокировали?

    xSkyFoXx
    @xSkyFoXx
    • Уехать из Крыма
    • Ходить через VPN, нарушая закон
    • Уговорить международное сообщество снять санкции
    • Вернуться в состав Украины


    Выбирайте ))
    Ответ написан
    5 комментариев
  • Внутриигровая покупка - скачивание уровня?

    besteto
    @besteto
    Release engineer at Zillion Whales
    У вас небольшая путаница в терминологии.

    Внутриигровая покупка, in-app - это только про покупки за деньги.

    1. Если вы продаёте уровни за монетки, а монетки зарабатываются в самой игре - это не имеет никакого отношения к In-App. Ваша игра полностью бесплатна с точки зрения стора, а уж что вы внутри делаете, как разблокируете уровни, продаёте что-то или нет - им неважно.

    2. А вот если вы начнёте продавать сами монетки за реальные деньги - монетки могут теперь называться "премиум-валютой" и вы будете показывать окошки "купить 100 монет за 1 доллар?". Но опять же, после покупки премиум-валюты стору совершенно безразлично, на что именно пользователь будет их тратить. Вам надо будет всё считать на своём сервере - профиль пользователя, кошелёк пользователя, что уже куплено пользователем.

    3. Но если вы будете продавать уровни за реальные деньги - вот в этом случае имеет смысл использовать non-consumable in-app - одноразовые покупки, которые пользователь может купить ровно один раз. Тогда стор на вопрос "купил ли пользователь такой-то уровень?" будет отвечать - "да, купил". Но это немного сложнее со стороны игры и к тому же всё равно нужен свой сервер.

    Дополнительные сведения:
    • стор забирает 30% (обычно, иногда чуть меньше или больше) со всех внутриигровых покупок, поэтому их и интересуют только покупки за реальные деньги
    • цену в 0 денег поставить невозможно, с точки зрения стора это лишено смысла
    • у некоторых сторов есть различия между одноразовыми (non-consumable) и многоразовыми (consumable) покупками, у некоторых нет. Рекомендую использовать многоразовые, они проще для понимания. Одноразовые легче контролировать и учитывать, но лучше пока не лезть в это, в случае кроссплатформы вообще запутаетесь.
    Ответ написан
    Комментировать
  • Клиент много задает вопросов, как быть?

    opium
    @opium
    Просто люблю качественно работать
    Отвечать на них.
    Ответ написан
    Комментировать
  • Существует ли красивый linux, но не ubuntu?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Вам нужна оболочка, как и сказали выше.
    А лучше Mac OS X - лучший линукс =)
    Ответ написан
    Комментировать
  • Возможно отправить get запрос без сторонних библиотек используя лишь чистый Android Studio?

    GavriKos
    @GavriKos
    Пожалуйста, перестаньте путать ЯП, библиотеки-фреймворки-SDK и IDE!
    Android Studio - это просто навороченый блокнот, который вообще не предоставляет никаких средств для отправки запросов. Точно так же как и eclipse, sublime и прочие текстовые редакторы.
    Функции, методы и прочее для андроида - это либо Android SDK, либо Java, либо сторонние библиотеки.
    Ответ написан
    Комментировать
  • Как увеличить число сообщений, которые могут быть отображены в консоли вывода?

    @extruder
    Выводи в файл, а потом more/grep/tail/less на выбор
    Ответ написан
    Комментировать
  • Какие инвестиции может привлечь онлайн RPG шутер с элементами хоррора?

    gadfi
    @gadfi
    https://gamega.org
    есть четкий бизнес план


    Скажу сразу, прибыль с игры будет и не малая.


    Собственно какие инвестиции можно привлечь?


    как между собой все сочетается ?
    Ответ написан
    5 комментариев
  • Деплоить в production из VCS (система управления версий) это нормальная практика?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Самый лучший вариант деплоить из Continuous Integration сервера. Но, за неимением такового, чаще всего деплоят из VCS, основная проблема безопасности это хранение конфигов и ключей в VCS.
    Ответ написан
    9 комментариев
  • Куда податься с идеей для игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Идеям цена 10 центов за дюжину. Чтобы собрать команду под идею и без денег необходимо обладать эпической харазимой.

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

    Если к геймдеву никак не относитесь — осваивайте нужную профессию или ищите деньги.
    Ответ написан
    1 комментарий
  • Какой ЯП выбрать для следующей ситуации?

    PHP
    Ответ написан
    Комментировать
  • Объясните какие технологии были применены на сайте Apple Mac Pro?

    @azShoo
    Отвратительное решение. Нет, серьезно.
    Медленно, не информативно, не удобно, перегружено анимацией.
    Про то, что стоило открыть на мобильном девайсе - так всё уехало к ебеням, я вообще молчу.
    Ответ написан
    Комментировать
  • MVC vs MVVM за чем будущее?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Будущее за теми, кто хотя бы умеет читать википедию.

    Для справки, ни MVVM ни MVC не являются шаблонами проектирования. Это схема использования нескольких шаблонов проектирования. Основная идея оных - разделение логики на слои. MVC декларирует разделение на логику представления, бизнес логику и связывающие это все контроллеры. В MVVM же основная идея заключается в более удобном управлении представлением модели. Особенно в случае когда модель может меняться из слоя представления (из UI тобиш, датабиндинги и все такое).

    p.s. Помимо MVC и MVVM существует масса других схожих схем, типа MVP, HMVC, PAC...
    Ответ написан
    Комментировать
  • Как найти равноудалённые точки на кривой Безье, или эллипсе?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А что значит "равноудалённо"? Равное декартово расстояние между точками или равная длина дуги кривой?
    Для эллипса задача аналитически не решается, поскольку решение содержит эллиптический интеграл, не берущийся в общем виде.
    Можно преобразовать эллипс в набор точек по Брезенхему, сохраняя кроме координат расстояние до предыдущей точки (сдвиг только по X или Y даёт 1, одновременный сдвиг даёт sqrt(2)) и просуммировать расстояния, получив длину приближённой линии. Затем делим эту длину на нужное количество частей, получая шаг по дуге и от стартовой точки суммируем расстояния до получения нужного шага.
    Ответ написан
    1 комментарий
  • Почему после вызова t1 = std::move(t0) вызывается деструктор t0?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    По-хорошему, компилятор сам применит move-семантику при возврате значения.

    Обсуждение на SO, смотрите абзац Best Practice.

    Коротко: return move(x) эквивалентно return(x) при наличии конструктора перемещения.
    А при включенной оптимизации у вас даже и перемещения не должно быть - у оптимизатора должно хватить мозгов сделать RVO (оптимизацию возвращаемого значения).

    Мораль - у компиялторов есть опция (у gcc -S), которая заставляет генерировать не бинарный код, а ассемблерный листинг. Правильно изучать этот листинг, а не творчество отладчика. Потому как отладочная версия программы и оптимизированная - это разный код с разным поведением.
    Ответ написан
    1 комментарий
  • Почему после вызова t1 = std::move(t0) вызывается деструктор t0?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Насколько я понял идею std::move, вызов в return move(t) должен осуществить перемещение данных класса t в t1 без вызова деструктора.

    Насколько я понимаю идею std::move, вы получаете вызов конструктора T(T&&) вместо T(const T&), в котором вы сами должны переместить (или не перемещать) нужные поля в создаваемый объект. После перемещения оригиналы полей нужно подходящим способом "обнулить". Деструктор локального объекта, выходящего из области видимости будет вызван в любом случае.

    В реальной программе T содержит объект fstream, а в деструкторе осуществляется закрытие потока.

    Насколько я вижу, std::fstream поддерживает конструирование из ссылки на rvalue.
    Ответ написан
    Комментировать
  • Как вы миритесь с тем, что все ваши идеи уже реализованы другими?

    opium
    @opium
    Просто люблю качественно работать
    Просто вы посредственность.
    Ответ написан
    4 комментария