Будь сильным в своем незнании! ч.1

Сап, пикабу!

Итак, данная рубрика будет посвящена теме *войтивАЙТИ*. Серия будет включать что-то из Си( база), что-то из Си++( основа), обратная разработка, машинное обучение и, возможно, питон( алгоритмы машинного обучения), так-же и немного жизненных моментов. Будут ссылки, названия книг(ищем в гугле), программ(так-же гугл), и живые примеры, но не будет ничего готового(аля результат с гитхаба, ибо всё надо делать самому. А тот кто ищет, тот найдет(с)стетхем.)


Немного предыстории:

В один день я понял что жить моим образом жизни совршенно невозможно. Мне уже 22, а достижений абсолютно никаких, я просто ничего не добился, никаких стремлений, хоть я и знаю французский\английский\испанский\китайский, но в жизни их не использую( раз в год беру переводы на заказ, да видосики смотрю на ютубе в оригинале, боже, вот это достижение), решил поставить себе цель, да и улучшить свою жизнь в целом - бросить курить, начать делать зарядку, да и вообще добиться чего-нибудь.

Моя задача написать бота с использованием машинного обучения для компьютерной игры(дота2\ск2\л2\мб даже вов). В приоритете дота2(результат уже гуляет по сети, без обучения правда, но идёт!).


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


Итак, приступим.

Заходим в интернет( браузер), в поле для ввода пишем: google.ru. Зашли? Круто!

Введите в поисковой строке: Пикабу. Увидели ссылку на наш любимый портал? Отлично!

Теперь введите: слово: пурпурный. Увидели все оттенки пурпурного цвета? Супер!

Теперь вы знакомы с гуглом, он хранит ответы на ваш любой вопрос. Можно спросить у него *Как разобрать телефон*, и он покажет\расскажет. А можно спросить *разбор iphone6*, и вы даже найдёте детальное видео с разбором.

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

\\\\\\\\\\\\

Запомните, умение пользоваться гуглом спасёт вас ещё миллиарды раз.

\\\\\\\\\\\\

Нам нужно вспомнить английский, увы, без него никак, хотя-бы выучите алфавит и скачайте гугл переводчик на телефон. Я вас уверяю, лексика может быть и сложная, термины-хуермины, но на английском существует намного больше знаний, тут тебе и европейцы пишут гайды, и индусы, и американцы, да все умеют в английский, это проще чем кажется. Для изучения могу посоветовать: смотреть сериалы на инглише, учить по 10 слов в день( 365х10=3650 в год, а это уже дохуя). Да и вообще пригодится( мы же за знаниями пришли, да?).

Начнём с азов, увы, без них никак.

Что такое компьютер и причём тут программирование?

Компьютер - сложное вычислительное устройство ( тупая машина)внутри которой упорядочено передаются сигналы.

Первоначальные вычислительные устройства были сделаны из лампочек и проводов. Провода переключались вручную и лампочки горели, позже были придуманы методы передачи без ручного переключения проводов( программирование зародилось где-то тут), пользовательский интерфейс и прочее. и на данный момент мы имеем компьютер в таком виде, какой он есть. Хотя и прошло более 50-60 лет, принцип не изменился, так-же передаются сигналы и техника работает, но появились более сложные шаблоны алгоритмов.

Сигналы передаются по заложенным алгоритмам.

А программирование - есть построение и упорядочивание этих алгоритмов. Машина - тупой кусок железа передающий сигналы по заложенным программам, чем дольше вы будете этим заниматься, тем больше вы будете в этом убеждаться. На каком языке бы вы не писали( си\ява\питон...), ваш код будет переведен компилятором в машинный код, а машина уже будет выполнять машинный код.


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

Движение указательным пальцем левой руки производится благодаря натяжению связки кисти, связка натягивается изза напряжения мышцы, мышца напрягается изза импульса переданного нашим мозгом. Т.е. Импульс -> напряжение мышцы -> натяжение связки -> движение пальца( возможно этот процесс проходит совершенно по другому, кто вкурсе поправьте). Это действие заложено у нас самой матушкой природой. Так делал ещё тот, кто говорил "я твой дед", и дед моего деда делал так, и дед деда моего деда...


Но человек является разумным существом!

Произвести движение пальца можно и иными методами. К примеру, можно ПРАВОЙ рукой передвинуть указательный палец левой руки, можно подставить палец под кипяток - палец невольно согнётся, а можно кольнуть иголкой в кисть и палец дрогнет.

Все 3 метода являются верными, в теории они должны приводить левый палец указательной руки в движение, но...

Первый метод: лишает правую руку мобильности, и не всегда может быть выполнен( правая рука занята).

Второй метод: повреждает палец( кипяток же), а вдруг чувствительность отсутствует?

Третий метод: двигает всеми пальцами сразу( а нужен только указательный), а вдруг чувствительность отсутствует(результата не будет)?

Все эти 3 метода являются *костылями*. К ним нужно прибегать только в случаях безысходности( в мануалах пусто, гугл молчит, китайский гугл молчит). Использование костылей влечёт за собой разнообразные последствия.

Костыли бывают разные: гениальные, ленивые, из жопы...

Использование костылей зачастую необходимо( рука не двигается), а зачастую является абсурдным( нахуй лысому расческа?)


Для избежания костылей, задачу необходимо обдумывать и планировать задачу.

Моя задача написать бота с использованием машинного обучения для компьютерной игры. ->

Бот - программа, выполняющая определенные действие при определенных условиях. ->

Условия нужно получать из игры. ->

Из игры - из памяти приложения(вообще можно сканировать изображение, можно перехватывать пакеты...) ->

Чтение памяти - обратная разработка( reverse engineering) ->

Что же это за чудо то такое? Загуглим!


Вообще можно пытаться найти уже готовый метод, а если его нет? Или разработчики внесли изменения в игре и теперь всё по другому?


Нужно учиться, в интернете есть отличная книга "reverse engineering для начинающих" Дениса Юричева. Наишикарнейший пример практики и теории в одном. Но автор советуют иметь познания о Си\Си++, чем мы и займёмся.

Ищем книгу "Язык программирования Си( второе издание)" Брайана Кернигана и Денниса Ритчи. Покупаем( ага) её и начинаем читать. Примеры выполняем на https://ideone.com/ и https://godbolt.org/ ( во втором просто глазеем, рассматриваем, пытаемся уловить принцип, меняем код, смотрим что поменялось, меняем порядок действий, смотрим результат, меняем значения, смотрим результат)

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества