Хук

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Хук (также Hook — рыболовная снасть) — се есть техника кодерская, коия обладает значимостью в проектах модульных.

Hgoook.webp

Описание[править]

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

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

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

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

Хитра идея эта, и многие её применяют.

Иные значения[править]

  • Помимо всего прочего, хук кидает легендарный Пудге, доте 2 правителе блаженне.
  • А вот hooker — это таки порочная проститутка.
Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++Scala
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCP
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.js
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур Пейперт
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffi