• Можно ли пробросить игровую виртуальную машину на тонкий клиент?

    @Darkw1nd
    Для начала решите вопрос как будете пробрасывать видеокарту в виртуалку, а то можете банально на ошибке 43 с картами nvidia встать. Есть такая штука как steamlink, умеет пробрасывать в том числе сторонние игры, это как раз типа тонкого клиента для игр, но ничего не мешает просто на тонкий клиент steam клиент поставить, он тоже транслировать умеет.
    Сам использую связку proxmox, windows 10 VM (uefi) + карточка rx560, steamlink.
    Работает все это нормально, но у меня сеть проводная, на wifi не факт что заведется (читай рекомендации к steamlink)
    Просадки по производительности не вижу.

    Вроде есть похожие клиенты для трансляции у nvidia и amd,но насколько помню они платные, есть открытые клиенты opensource, но я среди них нормальных (без танцев с бубном) не встречал.
    Ответ написан
    2 комментария
  • Можно ли пробросить игровую виртуальную машину на тонкий клиент?

    @ZeleD
    Всё уже придумано за нас.
    Как работает у меня: raspberry pi 3b+ с установленным steam link. На игровом компе автозапуск steam и включенный wol. Всё работает как часы.
    Ответ написан
    Комментировать
  • Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    @legoboy90
    Ничего страшного. Я скажу так - просто постарайся решить задачу другим способом. Если взять в пример язык Си - есть определяемый тип данных, структуры(в Psacal это вроде как "запись"(record) называется).

    Т е есть тип данных, с помощью которого мы можем поместить данные о каком-нибудь предмете обсуждения - скажем, фильмы: год, рейтинг, имя главного актера и т д. Важно тут уяснить сам момент - точно так же как ты создаешь целое число, ты описываешь структуру данных/записьи упаковываешь её в свой производный тип, но ты говоришь - "Эй, компилятор, мне нужно не число, символ, мне нужно создать мой новый тип данных, внутри него будут 3 целых числа и 1 строка; потом создай 3 объекта данных моего типа.". Т е ты породил новый тип данных. Это удобно, чем бегать за кучами переменных и выяснять как они соотносятся друг с другом, теперь информация о !каждом! фильме хранится в своём скомпанованном месте.
    А пойдем дальше - в языках, где есть сООП ты можешь делать класс - данные + функции. Это своего рода новый тип данных, содержащих не только значения, но и код(те же функции). Другими словами - мы создали структуру и запихали ещё и функции, чтобы в каждом объекте хранить ещё и код, который может работать с данными. Это и есть класс, на основе него ты создаешь новые объекты В чём преимущество? Возьмём наши фильмы. Например, будет очень удобно вызвать из объекта функцию, который ведёт диалог занесения информации о фильме и мы не пропустим ничего - название,год,актёр, рейтинг. Объект не создастся, пока мы не занесём полную информацию о нём. Или скажем, в нём будет функция, где она будет считать рейтинг провальным, если он ниже 5. Нам не нужно каждый раз дёргать объект, он сам анализирует данные и записывает в него же информацию.

    Считаю, что теорию по ООП нет смысла читать. Вот тот же Python - Билл Любанович "Python. Современный стиль программирования". Попробуй его, написано просто. В Python всё объект (в книге с первых глав всё это показывается и ничего там страшного нет). Самая практичная задача- подключись к zabbix и попробуй вытащить из него данные. Ощутишь ООП сразу. Схема простая и тупая - импортируешь модуль по работе с zabbix, потом ты инициализируешь объект(хост zabbix, логин, пароль). И ВСЁ! у тебя есть объект, через него ты работаешь, в нём всё уже есть (если аутентификация не прошла или невозможно подключится к хосту, то оъект не создастся, вот тебе пример ООП, что у объекта есть код помимо данных). Или другой пример - у того же Любановича есть пример с созданием файла конфига.(Config Parser). написано про него мало, тупо гуглишь. Короче - импорт модуля (какой-то дядька его написал), а ты просто импортиуешь модуль где уже есть этот "тип данных" (класс), а на основе него ты создаешь объекты и работаешь с ними. А потом дополни задачу себе сам - собирать данные из объектов в кучу и их обрабатывать. Вот тут ты и будешь писать классы=)
    Ответ написан
    Комментировать
  • Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    alexfilus
    @alexfilus
    Senior backend developer
    Я по настоящему постиг ООП когда при доработках программы перестал понимать код написанный час назад.
    Понял что без него никак, отрефакторил, то что было на тот момент. В последствии ещё полтора года пилил ту прогу, но никаких проблем с читабельностью не возникало. Это к вопросу зачем он нужен.
    В изучении поможет только практика. Попробуйте не писать интерфейсов и прочих высокоуровневых штук пока что. Возьмите что-то простое. Например напишите свою библиотечку для работы с линейной алгеброй.
    2 класса - матрица и вектор. И работа с ними. Ввод, вывод, перемножение, транспонирование, поиск определителя матрицы.
    Добавьте статических методов, например генерацию единичной матрицы.
    Дальше можно написать решения СЛУ разными способами. Подумать как переиспользовать уже готовые методы.
    Останется наследование.
    Попробуйте написать свою, простую ORM. Набор базовых CRUD методов как абстрактный класс, и наследуясь от него классы для работы с конкретными таблицами.
    Если не увлекаться перфекционизмом, и универсальностью применения данных классов, этих 2 велосипедов будет вполне достаточно чтобы разобраться что к чему с ООП в любом выбранном вами языке.
    Ответ написан
    Комментировать
  • Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    qonand
    @qonand
    Software Engineer
    Бертран Мейер - Объектно-ориентированное конструирование программных систем
    Мэтт Вайсфельд - Объектно-ориентированное мышление
    Грэди Буч - Объектно-ориентированный анализ и проектирование с примерами приложений
    Ответ написан
    Комментировать
  • С чего начать изучать программирование микроконтроллеров?

    @evgeniy_lm
    Не слушайте всякий бред про STM32.
    STM32 штука очень хорошая и полезная, 90% всех промышленных устройств создается именно на МК этой серии, но для новичка он очень сложный в программировании, отладочные платы очень дорогие, а симуляторов STM32 я пока не встречал (возможно потому что плохо искал)

    В то же время IskraJS это хрень какая-то. Похоже? При цене в 6 раз меньше. Это Arduino UNO. Плат Arduino великое множество, а различный исполнительных механизмов для них еще больше.

    Особо "умные" начнут рассказывать, что в IskraJS стоит 32 разрядный Cortex-M4, против 8 разрядного ATmega328P в Arduino UNO и памяти в IskraJS несоизмеримо больше, а форм фактор взят для совместимости с шильдами Arduino. Но в то то весь фокус, именно форм фактор 8 разрядной платы не позволяет раскрыть потенциал мощного процессора и в конечном итоге на дорогой IskraJS можно сделать только то что можно на дешевой Arduino UNO.
    В реале платы на Cortex выглядят совсем иначе, например так (обратите внимание на разницу в цене и на разницу в возможностях). Так же нужно понимать, что ARM Cortex это не МК, а полноценный CPU, такие стоят в планшетах и смартфонах, короче это совсем другой уровень.

    В общем начните с Arduino UNO. Платы Arduino хорошо документировавны, на них очень много проектов. Можно приобрести набор для изучения, типа такого

    Среди плат Arduino есть плата на 32-разрядном МК

    Так же существуют недорогие платы на STM32 которые возможно программировать в среде Arduino IDE
    Ответ написан
    2 комментария