āĻĒā§āϰāĻžāϝāĻŧ āĻĻ⧇āĻĄāĻŧ āĻŦāĻ›āϰ āϧāϰ⧇ āωāĻ¨ā§āύāϝāĻŧāύ⧇āϰ āĻĒāϰ, ā§§ā§Ŧāχ āϜ⧁āύ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ ā§§.ā§§ā§Ŧ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞāĨ¤ pugixml â€” āĻāĻ•ā§āϏāĻāĻŽāĻāϞ āĻĒāĻžāĻ°ā§āϏāĻŋāĻ‚ āĻ“ āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĻā§āϰ⧁āϤ āĻ•ā§āϰāϏ-āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ (āĻāĻŽāφāχāϟāĻŋ āϞāĻžāχāϏ⧇āĻ¨ā§āϏ)āĨ¤

āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϟāĻŋ āĻāĻ•āϟāĻŋ DOM-āϏāĻĻ⧃āĻļ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇, āϝāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āύ⧋āĻĄāϗ⧁āϞ⧋ āĻŸā§āĻ°ā§āϝāĻžāĻ­āĻžāĻ°ā§āϏ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāϟāĻŋ XPath 1.0 āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āχāωāύāĻŋāϕ⧋āĻĄ (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE), āĻāĻŦāĻ‚ UCS-2) āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇, āϏāĻžāĻĨ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻāύāϕ⧋āĻĄāĻŋāĻ‚ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰāĻ“ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϰāϝāĻŧ⧇āϛ⧇ C++ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻ“ āĻāĻ•ā§āϏ⧇āĻĒāĻļāύ āĻāĻŦāĻ‚ 'āĻšā§‡āĻĄāĻžāϰ āĻĢāĻžāχāϞāϏ āĻ…āύāϞāĻŋ' āĻŽā§‹āĻĄāĨ¤

āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻžāχāϞāĻĢāϞāĻ• āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖâ€”āĻāχ āĻŦāĻ›āϰ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϟāĻŋāϰ ⧍ā§Ļ āĻŦāĻ›āϰ āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻšā§āϛ⧇! āĻ—ā§āϰāĻ¨ā§āĻĨāĻžāĻ—āĻžāϰāϟāĻŋāϰ āχāϤāĻŋāĻšāĻžāϏ āĻ“ āωāĻ¨ā§āύāϝāĻŧāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āĻāĻ–āĻžāύ⧇āĨ¤ pugixml.org, GitHub āĻ…āĻĨāĻŦāĻž āϏāĻ‚āĻŦāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻĨāĻŽ āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇āĨ¤

  • āφāϚāϰāĻŖāĻ—āϤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ
    • āϝ⧇āϏāĻŦ āĻāϞāĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻāĻ•āϟāĻŋ PCDATA āϚāĻžāχāĻ˛ā§āĻĄ āĻāϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻ–āĻžāϞāĻŋ āĻĨāĻžāϕ⧇, āϏ⧇āϗ⧁āϞ⧋āϕ⧇ āĻāĻ–āύ āĻ–āĻžāϞāĻŋ āĻŸā§āϝāĻžāĻ—āϏāĻš āφāωāϟāĻĒ⧁āϟ āĻ•āϰāĻž āĻšāϝāĻŧ (āϝāĻĻāĻŋ āύāĻž `format_no_empty_element_tags` āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ)āĨ¤
  • āωāĻ¨ā§āύāϤāĻŋ
    • āĻĢā§āϞ⧋āϟāĻŋāĻ‚ āĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āϏāĻ‚āĻ–ā§āϝāĻž āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ PUGIXML_CHARCONV_FLOAT āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϟāĻŋ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāϰ āϜāĻ¨ā§āϝ C++17 āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āϝāĻž āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰāϗ⧁āϞāĻŋāϕ⧇ āϞ⧋āϕ⧇āϞ-āύāĻŋāϰāĻĒ⧇āĻ•ā§āώ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇;
    • xml_node::ensure_child āĻāĻŦāĻ‚ xml_node::ensure_attribute āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞ⧋ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝ⧇āϗ⧁āϞ⧋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āύāĻžāĻŽā§‡āϰ āĻāĻ•āϟāĻŋ āϚāĻžāχāĻ˛ā§āĻĄ āĻāϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻŦāĻž āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ…āύ⧁āĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻĨāĻžāĻ•āϞ⧇ āϤāĻž āϝ⧋āĻ— āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧ;
    • āύāĻžāĻŽ āĻĻā§āĻŦāĻžāϰāĻž āύ⧋āĻĄ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇āϰ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇;
    • āĻ–āĻžāϞāĻŋ āĻŦāĻžāĻĢāĻžāϰ āĻĨ⧇āϕ⧇ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āϞ⧋āĻĄ āĻ•āϰāϞ⧇ āĻāĻ–āύ āφāϰ āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻšāϝāĻŧ āύāĻžāĨ¤
  • āĻāĻ•ā§āϏāĻĒāĻžāĻĨ āωāĻ¨ā§āύāϤāĻŋ
    • āϝ⧇āϏāĻŦ āϕ⧋āϝāĻŧ⧇āϰāĻŋ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāĻŸā§‡āϰ āĻŽāĻžāύ āĻ—āĻŖāύāĻž āĻŦāĻž āϤ⧁āϞāύāĻž āĻ•āϰ⧇, āϝ⧇āĻŽāύ @attr > 5, āϏ⧇āϗ⧁āϞ⧋āϰ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āωāĻ¨ā§āύāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤
    • āύāĻžāĻŽ āĻ…āύ⧁āϏāĻžāϰ⧇ āύ⧋āĻĄ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύāĻ•āĻžāϰ⧀ āϕ⧋āϝāĻŧ⧇āϰāĻŋāϗ⧁āϞ⧋āϰ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āωāĻ¨ā§āύāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤
  • āĻŦāĻžāĻ— āĻĢāĻŋāĻ•ā§āϏ
    • āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āĻ—āĻ­ā§€āϰ āύ⧇āĻ¸ā§āϟāĻŋāĻ‚ āϞ⧇āϭ⧇āϞāϝ⧁āĻ•ā§āϤ āϏāĻžāĻŦāĻŸā§āϰāĻŋ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻ“āĻ­āĻžāϰāĻĢā§āϞ⧋ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤
    • PUGIXML_WCHAR_MODE-āĻ ā§Šā§¨-āĻŦāĻŋāϟ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡ āϖ⧁āĻŦ āĻŦāĻĄāĻŧ (> ā§§ āϜāĻŋāĻŦāĻŋ) āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟ āϞ⧋āĻĄ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āϘāϟāĻžāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ āχāĻ¨ā§āϟāĻŋāϜāĻžāϰ āĻ“āĻ­āĻžāϰāĻĢā§āϞ⧋ āϏāĻŽāĻ¸ā§āϝāĻžāϟāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇;
    • āĻ…āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āĻŽāĻžāύāϝ⧁āĻ•ā§āϤ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āϏāĻš xpath_variable_set āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻ•āĻĒāĻŋ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻ•āϟāĻŋ āύāĻžāϞ āĻĒāϝāĻŧ⧇āĻ¨ā§āϟāĻžāϰ āĻĄāĻŋāϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻ¤ā§āϰ⧁āϟāĻŋ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤
  • CMake āϏāĻŽāĻ°ā§āĻĨāύ⧇āϰ āωāĻ¨ā§āύāϤāĻŋ
    • PUGIXML_BUILD_APPLE_FRAMEWORK āĻ…āĻĒāĻļāύāϟāĻŋāϰ āϜāĻ¨ā§āϝ āωāĻ¨ā§āύāϤ āϏāĻŽāĻ°ā§āĻĨāύ;
    • pugixml.cpp āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ PUGIXML_INSTALL_SOURCE CMake āĻ…āĻĒāĻļāύāϟāĻŋ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ (āĻāϟāĻŋ "headers only" āĻŽā§‹āĻĄā§‡ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āωāĻĒāϝ⧋āĻ—ā§€)āĨ¤
  • āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ⧇āϰ āωāĻ¨ā§āύāϤāĻŋ
    • āĻ­āĻŋāĻœā§āϝ⧁āϝāĻŧāĻžāϞ āĻ¸ā§āϟ⧁āĻĄāĻŋāĻ“ ⧍ā§Ļ⧍ā§Ŧ-āĻāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āύāĻŋāωāϗ⧇āϟ āĻĒā§āϝāĻžāϕ⧇āϜ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇;
    • āĻāĻ•āϟāĻŋ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āĻŽāĻĄāĻŋāωāϞ āĻĢā§āĻ°ā§āϝāĻžāĻ—āĻŽā§‡āĻ¨ā§āĻŸā§‡ pugixml.hpp āĻĢāĻžāχāϞāϟāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ C++20 āĻŽāĻĄāĻŋāωāϞāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϟāĻŋ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāϤāĻžāϰ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇;
    • Clang āĻāĻŦāĻ‚ GCC-āĻāϰ -Wextra-semi-stmt, -Wsign-conversion āĻāĻŦāĻ‚ -Wuninitialized āĻ“āϝāĻŧāĻžāĻ°ā§āύāĻŋāĻ‚āϗ⧁āϞ⧋ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ (GCC 16);
    • Embarcadero C++ XE5 āĻĻāĻŋāϝāĻŧ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ⧇āĻļāύ āĻ¤ā§āϰ⧁āϟāĻŋ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇;
    • āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻŦāĻŋāĻļā§āϞ⧇āώāϪ⧇āϰ āĻŦ⧇āĻļ āĻ•āĻŋāϛ⧁ āĻĢāϞāϏ āĻĒāϜāĻŋāϟāĻŋāĻ­ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āωāĻ¤ā§āϏ: linux.org.ru

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster