• С чего начать изучение С++ новичку?

    @kamenyuga
    Полгода назад у Яндекса были отличные бесплатные курсы по с++ на курсере - белый пояс, желтый пояс и вплоть до черного, всего пять штук. Сейчас их забанили. Вряд ли они их восстановят в бесплатном виде, если уже продают аналог за деньги. Можно, наверное, найти скачанные материалы на торрентах. В каком они будут виде - неизвестно.
    Альтернатива - совсем уж простенькие курсы на степике, а потом книги и самостоятельная практика. Еще альтернатива - сначала пайтон, по которому огромное количество курсов/книг с практикой, а потом уже с++ и там переделывать задачи из питона.
    Если только с++, то на английском языке материалов, конечно, доступно намного больше и намного более свежих.
  • C# или C++ как первый язык?

    @kamenyuga
    В современном с++ для решения прикладных задач использовать ручное управление памятью не нужно. Просто используешь стандартную библиотеку. Или другие какие билиотеки. Их этих двух лично я бы выбрал с#. Аргументировать не буду.
  • Есть ли смысл в уточнении типов данных чисел? И что это даст?

    @kamenyuga
    Sergo Zar, потому что эффективнее - префиксная форма не возвращает предыдущее значение в отличие от постфиксной. Всегда используй ++i кроме случаев, когда обязательно нужно сохранить/использовать предыдущее значение.
  • Как исправить ошибку - module 'tensorflow' has no attribute 'models'?

    @kamenyuga
    Какая версия у тензорфлоу - 1 или 2? И какая версия у кераса - 1 или 2? В общем случае код, написанный для одной версии, не запустится на другой, совместимости нет. Либо код переписывать, либо ставить требуемую версию. Подходящую версию узнавай там, откуда код был скопирован.
  • Как исправить ошибку при передаче массива через socket и pickle в Python?

    @kamenyuga
    Алихан Мулаев, не поверишь, но pickle.dumps(MyClass).
    Методы сохранения/загрузки пишутся руками в соответствии с логикой, которую требуется реализовать, - какие данные нужно сохранить, чтобы восстановить состояние объекта.
    Кстати говоря, оба этих вопроса освещаются в документации модуля pickle.

    Но если такие вопросы возникают, то лучше использовать самый простой способ - модуль dill, он все сделает за тебя, синтаксис такой же как в случае pickle.
  • Коррекция значения результата ошибки с плавающей запятой?

    @kamenyuga
    GreenX5, а что это тут у нас?
    Получаю по вебсокету (данные не я стряпаю)

    Если у тебя непреодолимые предубеждения против этого метода решения задачи, что ты до сих пор ищешь условия, где он не работает, - то не продолжай, остановись, сделай глубокий вдох. А потом используй любой велосипед, который сможешь изобрести. Утри всем нос. А я в силу своих ограниченных способностей просто не могу постигнуть нестерпимую точность яху финансовой бигдаты.
  • Коррекция значения результата ошибки с плавающей запятой?

    @kamenyuga
    GreenX5, это что-то на грани реальности или уже за ней. Речь о числах с плавающей запятой, их арифметике и точности представления. Попробуй держаться в разумных пределах. После запятой в питоне будет максимум 15 или 16 цифр. Пятью из них вполне можно пожертвовать во многих реальных задачах. Ну или тремя. Если нельзя, то изначально питоновский тип float не годится для использования в этом случае.

    >>> 1.2338355678823499999999
    1.23383556788235
  • Коррекция значения результата ошибки с плавающей запятой?

    @kamenyuga
    soremix, тогда ставишь округление до 8 знаков и все продолжает работать. Настолько невероятно, что даже не верится. Но легко проверяется. А вот угадывать, какие там могут быть случаи - дело неблагодарное.
  • Коррекция значения результата ошибки с плавающей запятой?

    @kamenyuga
    GreenX5, решение, предложенное shurshur, - рабочее для приведенных в вопросе примеров.
    Попробовал бы для начала хоть строку кода в питоне написать и запустить, прежде чем голословно утверждать, что не вариант.
  • Ошибка установки PyNaCl, как исправить?

    @kamenyuga
    Один из вариантов облегчить себе жизнь, особенно если не хочется / не получается изучать питон, - это использовать анаконду (или миниконду). В ней используется альтернатива пипу - пакетный менеджер конда, который устанавливает все необходимые зависимости. Сейчас попробовал создать новое виртуальное окружение c питоном 38 и этой библиотекой - все сработало сразу и без ошибок.
  • Как объединить массивы в один?

    @kamenyuga
    В случае 64-битных значений суммарный объем данных составит в районе 4.5 терабайт. Куда такой объем собираешься грузить? Уж не в оперативку ли? Если использовать 8-битные значения, то размер уменьшится до 500 гигабайт. Уже меньше, но все равно очень много.
  • Можно ли 3D художнику с полным пайплайном обойтись gt1030?

    @kamenyuga
    В случае стесненного бюджета лучше будет взять проц со встройкой, хоть АМД, хоть Интел. Но избегать совсем уж дешманских кулеров, а то рендеринг - это норм такая нагрузка на десятки минут, а то и часы.
  • Как сгенерировать массив функций?

    @kamenyuga
    Лямбда внутри лямбды. Страшный костыль, потому что иначе все созданные функции будут выводить число 9. Чтобы такого не происходило, надо писать одну лямбду с дефолтным аргументом lambda i=i: .... Это работает, так как дефолтные аргументы функции создаются в момент определения функции. Без этого пайтон будет искать, что подставить на место i во время вызова функции. Сначала будет смотреть в локальном пространстве имен. А там есть такая переменная со значением 9.
  • Какой сделать апгрейд для DooM Eternal?

    @kamenyuga
    Doom Eternal из не самых требовательных к железу. С сегодняшними ценами на видеокарты одним из самых оптимальных вариантов будет ryzen 7 5700g со встроенной графикой. ФуллХД + средне-максимальные настройки потянет без проблем, обзоров конкретных игр куча на ютубе. Весь пека выйдет меньше 100к без дешманских комплектующих.
  • Как максимально эффективно вычислить индекс элемента во вложенной структуре?

    @kamenyuga
    Так используй изначально подходящую структуру данных - словарь вместо списка, в котором ключами будут айдишники. Т.е. чтобы все данные представляли собой вложенные друг в друга словари и только словари. Без списков вообще. И не придется искать никакие индексы. А просто брать значения из словарей.
  • Какое железо лучше купить для Intel Core i7-10700K OEM?

    @kamenyuga
    Бюджет 50к - это на все и проц 10700К в том числе? Маловато будет. И старое железо слишком уж старое и несовместимое с указанным процом, половину менять. Так что лучше всего определиться с целью для нового пк (игры в 1080р?) и подобрать подходящее железо с оглядкой на бюджет.
  • Является ли данная реализация фабричного метода плохой?

    @kamenyuga
    dodo101000101, словарь. Его можно создать просто в коде, написав ключи и перечислив классы. А можно и заполнять/хранить в базовом классе.
  • Является ли данная реализация фабричного метода плохой?

    @kamenyuga
    Зачем вообще такой метод нужен? Это ж создание простого объекта и ничего больше. А фабрики - про создание сложных объектов/структур. Вот если бы эти два вида форм были большими и страшными, имели много похожих и много различных частей, набор альтернативных вариантов своих частей, то можно было бы запилить фабрику, которая их строит по заданным конфигам/параметрам/ключам. А сейчас название класса однозначно определяет результат и способ его достижения - к названию класса дописываем две круглые скобки и все готово.
  • Отчего вырубается комп при подключении флешки?

    @kamenyuga
    У меня один раз такое было. Флэшки плохо подключались и один раз вырубился комп. Я сразу стал проверять. Причина - USB-порт забился пылью. Почистил его - вытащил комок пыли иголкой, все пришло в норму.
  • Как в python передавать сложные объекты между процессами?

    @kamenyuga
    Распараллеливание работает легко и просто, когда большую задачу можно порезать на много независимых кусков. Здесь же разные процессы должны ворочать одной сущностью, что сильно усложняет задачу вплоть до невозможной для чистого питона. Может, стоит изменить подход? Использовать словари, содержащие множества, а внутри целые числа - идентификаторы и сами данные в чистом виде или упакованные. Передавать их - проще и быстрее, чем любые свои классы (тем более классы без __slots__). А уж объединить словари - задача тривиальная. А, может, проще разогнать главный процесс вместо увеличения числа низкоэффективных процессов?