• Как учить assembler под linux?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Я читал "Столяров А.В. - Программирование на языке ассемблера NASM для ОС UNIX - 2011"
    Ответ написан
    2 комментария
  • Пробрутили удаленку и поставили майнер. Как обезопасить себя от кулхацкеров?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    . Ну и под админом сижу, потому что вроде не параноик

    Зря, зря. Т.е. они получили доступ к админу? Я бы форматнул диск и накатил ОСь заново(Хотя у меня бы такой фейл не случился, но не суть), я серьёзно, админ - это доступ ко всей системе, они могли вам MBR поменять даже.
    Не знаю, как сейчас но раньше RDP на винде был тем ещё решетом, в метасплоите есть куча эксплоитов, позволяющих вызвать синий экран удалённо, в теории некоторые уязвимости позволяют исполнять код удалённо, пароль подбирать при этом не надо.
    Не, можно сначала к VPN, а оттуда уже к компу цепляться, но это слишком для домашней сетки, по-моему.

    Пока вы спите, китайские ботнеты ломают вас. Зря вы не хотите его использовать, VPN наверное лучшее решение. Ну и про файерволлы не забывайте.

    UPD: Походу не залатали решето www.cvedetails.com/cve/CVE-2016-0036
    Ответ написан
    3 комментария
  • Написать компилятор на C# или C++ или Python?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Вообще, можно на любом языке, обычно используют C++. Вам же я посоветую почитать теорию, например в таком порядке: "код. тайный язык информатики", "архитектура ПК" Танненбаума, книга дракона про компиляторы. Можно начать с чуть более простого - написания интерпретатора.
    Ответ написан
    3 комментария
  • Что изучать в первую очередь? С(СИ) или С++?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    если возьмусь за С(СИ) я смогу перепрыгнуть же на С++?

    Да.
    А смогу, допустим, уже наоборот?

    Да.
    А какая цель изучения? Просто чтоб изучить что-то? Тогда абсолютно не важно.
    Ответ написан
  • По какому сайту изучать c++?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Лучше по книгам.
    Ответ написан
    Комментировать
  • Чем статический ip лучше чем dhcp?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Статический IP - настраиваешь всё сам и сам следишь, чтоб IP не повторялись. DHCP - всё само работает с помощью магии. В большинстве случаев лучше DHCP.
    Ответ написан
  • Как сделать навигатор для игры?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Для начала нужно нормально составить вопрос, указать, какие используются технологии и что конкретно необходимо(возможно вы удивитесь, но не все играли в GTA5). Если вам нужно находить маршрут до точки, то используйте алгоритмы поиска пути, их много, гуглите.
    Ответ написан
    Комментировать
  • Разработка игр в свободное время, и основная работа как front-end или 3D-Artist?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Если есть сильное желание создавать игры, я бы посоветовал всё таки найти ту работу, которая даст вам опыт в создании игр. Ну либо ту, где не будет большой нагрузки, будет оставаться свободное время и будет хватать денег на жизнь. Ну и конечно хорошо было бы найти команду единомышленников, таких же людей, которые очень сильно хотят создавать игры и что-то умеют.
    Ответ написан
    1 комментарий
  • Зачем нужны другие инструменты, если есть UE4 / Unity?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    1 Не всегда нужна вся та мощь движка
    2 Иногда, очень редко, может не хватать гибкости движка
    3 Разработчики могут хорошо знать свой инструмент, но плохо UE/Unity
    4 Нежелание покупать движок или отдавать часть дохода создателям движка
    5 Эффективность, свой движок или другой узкоспециализированный может быть более эффективным
    И ещё тысячи других причин.
    Ответ написан
    Комментировать
  • Как заблокировать WebRTC глобально?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Ну поставь файерволл и заблокируй.
    Ответ написан
  • Как организовать рисование объектов?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Ну, если у вас чисто 2D движок, то, например, как-то так:
    Базовый класс для 2D игровых сущностей:
    class GameObject2D : public GameObject {
    public:
      const Sprite& getSprite() const { return sprite; };
    private:
      Sprite sprite;
    }

    Игрок:
    class Player : public GameObject2D {
    // его особенные методы
    }

    Renderer:
    class Renderer {
    public:
      void drawScene(const Scene& scene)
      {
        auto& visibleObjects = scene.getVisibleObjects();
    
        for(auto& gameObject : visibleObjects) {
          drawSprite(gameObject->getPosition(), gameObject->getSprite());
        }
      }
    }
    Ответ написан
    2 комментария
  • Почему не выводит 5.0/9.0?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    www.cplusplus.com/reference/cstdio/printf
    #include <cstdio>
    
    int main() {
    	float num;
    	num = 5.0 / 9.0;
    	printf("%f", num);
    
    	return 0;
    }

    И так на всякий случай, ошибки можно читать, там часто весьма понятно написано, в чём проблема.
    Ответ написан
    7 комментариев
  • В какой книге можно найти ответы на, что такое кэш, как передаются данные по сети и как написать своя язык?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    "Код. Тайный язык информатики." Чарльз Петцольд
    "Архитектура ПК" Таненбаум
    А по сетям Олифер или опять же Таненбаум
    По созданию высокоуровневого языка, наверное, "книга дракона" вам подойдёт.
    Ну и конечно, если что-то конкретное непонятно, гугли, в сети много годных статей.
    Ответ написан
    1 комментарий
  • Какой язык стоит изучат 13 летниму мальчику?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Ну, начни с питона
    Ответ написан
    Комментировать
  • Каков путь развития разработчика, с/с++/python?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    1. Как я понял изучение языка Си - это то, что должен знать любой разработчик?

    Нет
    Python и Си имеют много общего, значит ли это что в принципе, изучив до определенного момента Си, можно будет параллельно изучать и Python?

    Нет, не имеют и да можно
    Для начала поставьте цель, зачем вам это всё, зачем начните с поверхностного ознакомления, изучение основ языка, написание простых программ. Если всё ещё есть желание этим заниматься, то берите в руки литературу по информатике("Код. Тайный язык информатики", книги Танненбаума по архитектуре ПК и т.д.) и изучайте, чтобы понять основы, да, в этом вам поможет C и assembler. Параллельно углубляйтесь в то, что вам интересно(веб, мобильная разработка, десктоп, геймдев, что угодно). Изучив основы, будет проще понимать любой язык и ваш код будет эффективнее опять же на любом языке.

    Ну или есть второй путь: изучаете немного python, php или javascript + html + css, парочку фреймворков и хуячите код, как мартышка.

    Изучение линукса? если да, то какой сборки?

    Вообще нет, не обязательно, для общего развития полезно. Ну и конечно, программировать в линуксах удобнее. Если решите, то выбирайте Ubuntu/Debian/Arch или любой другой, не принципиально.
    Ответ написан
    Комментировать
  • Что в моем коде не так?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Почему вы не выделяете память? С чем должны работать ваши функции?
    int index = rand() % size + 1;
    Весьма оригинальное UB, будет падать в очень очень редком случае. "+1" здесь не нужен.
    int* Function1(int*& ptr, int& size, int index, int del)

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

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    А что не так? Тут вам не C#, чтоб на каждый чих эксепшены кидать, ибо на это тратится много драгоценных процессорных тактов, предполагается, что программист знает что делает и сам следит за тем, чтобы не получить доступ к чужой памяти. Если вы так ходите по стеку, то в принципе может ничего страшного и не случится(хотя всё равно не стоит), а вот с памятью, полученной через new, скорее всего программа упадёт.

    en.cppreference.com/w/cpp/language/ub
    Ответ написан
    3 комментария
  • Project Properties в Чужом проекте - Как не зависать по пустякам?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Волшебной таблетки нет, всё приходит с опытом. Но сколько бы опыта в программировании у вас ни было, говнокод читать всегда будет тяжело.
    Ответ написан
    Комментировать
  • Что можно сделать с помощью 13 команд в ассемблере?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Ну, начнём с того, что ассемблер не интерпретируется, он по определению транслируется в машинный код. А чего вы хотите добиться от своего интерпретатора и языка? У brainfuck вон вообще 8 операторов и тем не менее он полный по тьюрингу.
    Ответ написан
    2 комментария
  • Что нужно знать для создания 2D движка?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Немного физики, школьный курс математики + линейная алгебра(для начала хватит цикла статей на хабре "линейная алгебра для разработчиков игр"), знание языка C# или C++ на достаточном уровне ну и много других мелочей.
    Ответ написан
    Комментировать