[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page\u002Fru\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction":3,"page-\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction-ru":386,"surroundings\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction-ru":1934},[4],{"title":5,"ignore":6,"path":7,"stem":8,"children":9,"page":26},"Документация",true,"\u002Fru\u002Fdocs","ru\u002F01.docs",[10,27,377],{"title":11,"path":12,"stem":13,"children":14,"page":-1},"Русский","\u002Fru\u002Fdocs\u002Fwelcome","ru\u002F01.docs\u002F01.welcome\u002F01.index",[15,17],{"title":16,"path":12,"stem":13},"Welcome",{"title":18,"path":19,"stem":20,"children":21,"page":26},"Get Started","\u002Fru\u002Fdocs\u002Fwelcome\u002Fget-started","ru\u002F01.docs\u002F01.welcome\u002F01.get-started",[22],{"title":23,"path":24,"stem":25},"Установка","\u002Fru\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation","ru\u002F01.docs\u002F01.welcome\u002F01.get-started\u002F02.installation",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Основные инструменты","\u002Fru\u002Fdocs\u002Fcore","ru\u002F01.docs\u002F02.core",[32,57,69,78,87,110,142,151,159,168,176,187,208,233,264,292,320,347],{"title":33,"path":34,"stem":35,"children":36,"page":26},"MD5","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5","ru\u002F01.docs\u002F02.core\u002F01.md5",[37,41,45,49,53],{"title":38,"path":39,"stem":40},"Введение","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F01.introduction",{"title":42,"path":43,"stem":44},"Базовое Использование","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F02.basic-usage",{"title":46,"path":47,"stem":48},"Расширенные функции","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F03.advanced-features",{"title":50,"path":51,"stem":52},"Соображения Безопасности","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F04.security-considerations",{"title":54,"path":55,"stem":56},"Справочник API","\u002Fru\u002Fdocs\u002Fcore\u002Fmd5\u002Fapi-reference","ru\u002F01.docs\u002F02.core\u002F01.md5\u002F05.api-reference",{"title":58,"path":59,"stem":60,"children":61,"page":26},"UUID","\u002Fru\u002Fdocs\u002Fcore\u002Fuuid","ru\u002F01.docs\u002F02.core\u002F02.uuid",[62,65],{"title":38,"path":63,"stem":64},"\u002Fru\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F02.uuid\u002F01.introduction",{"title":66,"path":67,"stem":68},"API","\u002Fru\u002Fdocs\u002Fcore\u002Fuuid\u002Fapi","ru\u002F01.docs\u002F02.core\u002F02.uuid\u002F02.api",{"title":70,"path":71,"stem":72,"children":73,"page":26},"Clock","\u002Fru\u002Fdocs\u002Fcore\u002Fclock","ru\u002F01.docs\u002F02.core\u002F06.clock",[74],{"title":75,"path":76,"stem":77},"Clock Tool","\u002Fru\u002Fdocs\u002Fcore\u002Fclock\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F06.clock\u002F0.introduction",{"title":79,"path":80,"stem":81,"children":82,"page":26},"Screenshot Tool","\u002Fru\u002Fdocs\u002Fcore\u002Fscreenshot-tool","ru\u002F01.docs\u002F02.core\u002F07.screenshot-tool",[83],{"title":84,"path":85,"stem":86},"Introduction","\u002Fru\u002Fdocs\u002Fcore\u002Fscreenshot-tool\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F07.screenshot-tool\u002F0.introduction",{"title":88,"path":89,"stem":90,"children":91,"page":26},"Area Converter","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter","ru\u002F01.docs\u002F02.core\u002F08.area-converter",[92,95,99,102,106],{"title":84,"path":93,"stem":94},"\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F0.introduction",{"title":96,"path":97,"stem":98},"Базовое использование","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F02.basic-usage",{"title":46,"path":100,"stem":101},"\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F03.advanced-features",{"title":103,"path":104,"stem":105},"Примеры","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F04.examples",{"title":107,"path":108,"stem":109},"Часто задаваемые вопросы","\u002Fru\u002Fdocs\u002Fcore\u002Farea-converter\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F08.area-converter\u002F05.faq",{"title":111,"path":112,"stem":113,"children":114,"page":26},"Camera Recorder","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder",[115,118,122,126,130,134,138],{"title":84,"path":116,"stem":117},"\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F0.introduction",{"title":119,"path":120,"stem":121},"Basic Usage","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F02.basic-usage",{"title":123,"path":124,"stem":125},"Advanced Features","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F03.advanced-features",{"title":127,"path":128,"stem":129},"Examples","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F04.examples",{"title":131,"path":132,"stem":133},"Frequently Asked Questions","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F05.faq",{"title":135,"path":136,"stem":137},"Related Tools","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F06.related-tools",{"title":139,"path":140,"stem":141},"Security Considerations","\u002Fru\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F07.security-considerations",{"title":143,"path":144,"stem":145,"children":146,"page":26},"Keycode Info","\u002Fru\u002Fdocs\u002Fcore\u002Fkeycode-info","ru\u002F01.docs\u002F02.core\u002F13.keycode-info",[147],{"title":148,"path":149,"stem":150},"Информация о Кодеке Клавиши - Введение","\u002Fru\u002Fdocs\u002Fcore\u002Fkeycode-info\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F13.keycode-info\u002F0.introduction",{"title":152,"path":153,"stem":154,"children":155,"page":26},"Xml To Json","\u002Fru\u002Fdocs\u002Fcore\u002Fxml-to-json","ru\u002F01.docs\u002F02.core\u002F16.xml-to-json",[156],{"title":84,"path":157,"stem":158},"\u002Fru\u002Fdocs\u002Fcore\u002Fxml-to-json\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F16.xml-to-json\u002F0.introduction",{"title":160,"path":161,"stem":162,"children":163,"page":26},"Text Replacer","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-replacer","ru\u002F01.docs\u002F02.core\u002F19.text-replacer",[164],{"title":165,"path":166,"stem":167},"Инструмент замены текста - Введение","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-replacer\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F19.text-replacer\u002F01.introduction",{"title":169,"path":170,"stem":171,"children":172,"page":26},"Temperature Converter","\u002Fru\u002Fdocs\u002Fcore\u002Ftemperature-converter","ru\u002F01.docs\u002F02.core\u002F20.temperature-converter",[173],{"title":84,"path":174,"stem":175},"\u002Fru\u002Fdocs\u002Fcore\u002Ftemperature-converter\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F20.temperature-converter\u002F0.introduction",{"title":177,"path":178,"stem":179,"children":180,"page":26},"Black Wallpaper","\u002Fru\u002Fdocs\u002Fcore\u002Fblack-wallpaper","ru\u002F01.docs\u002F02.core\u002F23.black-wallpaper",[181,184],{"title":84,"path":182,"stem":183},"\u002Fru\u002Fdocs\u002Fcore\u002Fblack-wallpaper\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F23.black-wallpaper\u002F0.introduction",{"title":96,"path":185,"stem":186},"\u002Fru\u002Fdocs\u002Fcore\u002Fblack-wallpaper\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F23.black-wallpaper\u002F02.basic-usage",{"title":188,"path":189,"stem":190,"children":191,"page":26},"Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff","ru\u002F01.docs\u002F02.core\u002F23.text-diff",[192,196,200,204],{"title":193,"path":194,"stem":195},"Инструмент Text Diff - Введение","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F0.introduction",{"title":197,"path":198,"stem":199},"Базовое использование - Инструмент Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F02.basic-usage",{"title":201,"path":202,"stem":203},"Расширенные функции - Инструмент Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F03.advanced-features",{"title":205,"path":206,"stem":207},"Примеры - Инструмент Text Diff","\u002Fru\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F23.text-diff\u002F04.examples",{"title":209,"path":210,"stem":211,"children":212,"page":26},"M3u8 Player","\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player",[213,216,220,223,226,230],{"title":84,"path":214,"stem":215},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F0.introduction",{"title":217,"path":218,"stem":219},"Основное использование","\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F02.basic-usage",{"title":46,"path":221,"stem":222},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F03.advanced-features",{"title":54,"path":224,"stem":225},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fapi-reference","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F05.api-reference",{"title":227,"path":228,"stem":229},"Примеры кода","\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F06.examples",{"title":107,"path":231,"stem":232},"\u002Fru\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F07.faq",{"title":234,"path":235,"stem":236,"children":237,"page":26},"Screen Dead Pixel Detector","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector",[238,242,245,249,253,256,260],{"title":239,"path":240,"stem":241},"Детектор битых пикселей экрана","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F0.introduction",{"title":96,"path":243,"stem":244},"\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F02.basic-usage",{"title":246,"path":247,"stem":248},"Расширенные возможности","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F03.advanced-features",{"title":250,"path":251,"stem":252},"Безопасность и конфиденциальность","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F04.security-considerations",{"title":103,"path":254,"stem":255},"\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F06.examples",{"title":257,"path":258,"stem":259},"FAQ","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F07.faq",{"title":261,"path":262,"stem":263},"Связанные инструменты","\u002Fru\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F08.related-tools",{"title":265,"path":266,"stem":267,"children":268,"page":26},"Survey Tool","\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool","ru\u002F01.docs\u002F02.core\u002F31.survey-tool",[269,273,276,279,283,286,289],{"title":270,"path":271,"stem":272},"Инструмент опросов","\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F0.introduction",{"title":96,"path":274,"stem":275},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F02.basic-usage",{"title":46,"path":277,"stem":278},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F03.advanced-features",{"title":280,"path":281,"stem":282},"Безопасность","\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F04.security-considerations",{"title":103,"path":284,"stem":285},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F06.examples",{"title":257,"path":287,"stem":288},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F07.faq",{"title":261,"path":290,"stem":291},"\u002Fru\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F08.related-tools",{"title":293,"path":294,"stem":295,"children":296,"page":26},"Vue Office","\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office","ru\u002F01.docs\u002F02.core\u002F32.vue-office",[297,301,304,307,311,314,317],{"title":298,"path":299,"stem":300},"Просмотр документов Vue Office","\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F0.introduction",{"title":96,"path":302,"stem":303},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F02.basic-usage",{"title":246,"path":305,"stem":306},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F03.advanced-features",{"title":308,"path":309,"stem":310},"Вопросы безопасности","\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F04.security-considerations",{"title":103,"path":312,"stem":313},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F06.examples",{"title":257,"path":315,"stem":316},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F07.faq",{"title":261,"path":318,"stem":319},"\u002Fru\u002Fdocs\u002Fcore\u002Fvue-office\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F32.vue-office\u002F08.related-tools",{"title":321,"path":322,"stem":323,"children":324,"page":26},"Event Calendar","\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar","ru\u002F01.docs\u002F02.core\u002F33.event-calendar",[325,329,332,335,338,341,344],{"title":326,"path":327,"stem":328},"Календарь событий","\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F0.introduction",{"title":96,"path":330,"stem":331},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F02.basic-usage",{"title":46,"path":333,"stem":334},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F03.advanced-features",{"title":280,"path":336,"stem":337},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F04.security-considerations",{"title":103,"path":339,"stem":340},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fexamples","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F06.examples",{"title":257,"path":342,"stem":343},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Ffaq","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F07.faq",{"title":261,"path":345,"stem":346},"\u002Fru\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F08.related-tools",{"title":348,"path":349,"stem":350,"children":351,"page":26},"Base64","\u002Fru\u002Fdocs\u002Fcore\u002Fbase64","ru\u002F01.docs\u002F02.core\u002Fbase64",[352,355,358,361,365,368,371,374],{"title":84,"path":353,"stem":354},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fintroduction","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F0.introduction",{"title":217,"path":356,"stem":357},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fbasic-usage","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F02.basic-usage",{"title":46,"path":359,"stem":360},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fadvanced-features","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F03.advanced-features",{"title":362,"path":363,"stem":364},"Соображения безопасности","\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fsecurity-considerations","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F04.security-considerations",{"title":54,"path":366,"stem":367},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fapi-reference","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F05.api-reference",{"title":103,"path":369,"stem":370},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Fexamples","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F06.examples",{"title":107,"path":372,"stem":373},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Ffaq","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F07.faq",{"title":261,"path":375,"stem":376},"\u002Fru\u002Fdocs\u002Fcore\u002Fbase64\u002Frelated-tools","ru\u002F01.docs\u002F02.core\u002Fbase64\u002F08.related-tools",{"title":378,"path":379,"stem":380,"children":381,"page":26},"Troubleshooting","\u002Fru\u002Fdocs\u002Ftroubleshooting","ru\u002F01.docs\u002F06.troubleshooting",[382],{"title":383,"path":384,"stem":385},"Часто Задаваемые Вопросы","\u002Fru\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","ru\u002F01.docs\u002F06.troubleshooting\u002F01.common-issues",{"id":387,"title":38,"body":388,"description":1921,"extension":1922,"meta":1923,"navigation":6,"path":63,"seo":1931,"sitemap":1932,"stem":64,"__hash__":1933},"content_ru\u002Fru\u002F01.docs\u002F02.core\u002F02.uuid\u002F01.introduction.md",{"type":389,"value":390,"toc":1878},"minimark",[391,396,401,405,410,439,443,476,480,484,494,500,511,516,648,652,659,663,674,678,843,847,854,858,869,873,1022,1026,1033,1037,1047,1051,1058,1062,1073,1077,1081,1115,1119,1173,1176,1180,1287,1291,1365,1369,1425,1429,1433,1453,1457,1465,1469,1477,1481,1485,1510,1514,1598,1602,1720,1723,1727,1730,1734,1737,1741,1744,1755,1759,1762,1773,1776,1803,1807,1811,1825,1829,1865,1868,1874],[392,393,395],"h1",{"id":394},"генератор-uuid","Генератор UUID",[397,398,400],"h2",{"id":399},"что-такое-uuid","Что такое UUID?",[402,403,404],"p",{},"UUID (Universally Unique Identifier, Универсальный уникальный идентификатор) — это 128-битное число, используемое для уникальной идентификации информации в компьютерных системах. UUID также называется GUID (Globally Unique Identifier, Глобально уникальный идентификатор).",[406,407,409],"h3",{"id":408},"характеристики-uuid","Характеристики UUID",[411,412,413,421,427,433],"ul",{},[414,415,416,420],"li",{},[417,418,419],"strong",{},"Уникальность",": Вероятность генерации дублирующихся UUID в распределенной системе крайне низка",[414,422,423,426],{},[417,424,425],{},"Стандартизация",": Соответствует стандарту RFC 4122",[414,428,429,432],{},[417,430,431],{},"Кроссплатформенность",": Может использоваться в различных операционных системах и языках программирования",[414,434,435,438],{},[417,436,437],{},"Децентрализованность",": Не требует центрального координирующего органа",[406,440,442],{"id":441},"сценарии-применения-uuid","Сценарии применения UUID",[444,445,446,452,458,464,470],"ol",{},[414,447,448,451],{},[417,449,450],{},"Первичный ключ базы данных",": Используется как первичный ключ в распределенных базах данных",[414,453,454,457],{},[417,455,456],{},"Идентификация файлов",": Идентификация файлов в файловой системе",[414,459,460,463],{},[417,461,462],{},"Управление сессиями",": Идентификатор сессии в веб-приложениях",[414,465,466,469],{},[417,467,468],{},"Очередь сообщений",": Уникальная идентификация сообщений",[414,471,472,475],{},[417,473,474],{},"API интерфейс",": Идентификация запросов и ответов API",[397,477,479],{"id":478},"детали-версий-uuid","Детали версий UUID",[406,481,483],{"id":482},"uuid-v1-на-основе-времени-и-узла","UUID v1 (на основе времени и узла)",[402,485,486,489,490],{},[417,487,488],{},"Формат",": ",[491,492,493],"code",{},"xxxxxxxx-xxxx-1xxx-yxxx-xxxxxxxxxxxx",[402,495,496,499],{},[417,497,498],{},"Характеристики",":",[411,501,502,505,508],{},[414,503,504],{},"Основан на текущем времени и ID узла (обычно MAC-адрес)",[414,506,507],{},"Содержит информацию временной метки, может быть отсортирован по времени",[414,509,510],{},"Может раскрывать информацию MAC-адреса",[402,512,513,499],{},[417,514,515],{},"Алгоритм генерации",[517,518,523],"pre",{"className":519,"code":520,"language":521,"meta":522,"style":522},"language-javascript shiki shiki-themes github-light github-light dark-plus","\u002F\u002F Пример псевдокода\nfunction generateUUIDv1() {\n  const timestamp = Date.now();\n  const nodeId = getMACAddress();\n  const clockSeq = random16Bit();\n\n  return formatUUID(timestamp, clockSeq, nodeId);\n}\n","javascript","",[491,524,525,534,549,576,591,606,612,642],{"__ignoreMap":522},[526,527,530],"span",{"class":528,"line":529},"line",1,[526,531,533],{"class":532},"sLEZ0","\u002F\u002F Пример псевдокода\n",[526,535,537,541,545],{"class":528,"line":536},2,[526,538,540],{"class":539},"sGiLm","function",[526,542,544],{"class":543},"sqMzV"," generateUUIDv1",[526,546,548],{"class":547},"svVIm","() {\n",[526,550,552,555,559,563,567,570,573],{"class":528,"line":551},3,[526,553,554],{"class":539},"  const",[526,556,558],{"class":557},"sdRU0"," timestamp",[526,560,562],{"class":561},"sGmsN"," =",[526,564,566],{"class":565},"szTj3"," Date",[526,568,569],{"class":547},".",[526,571,572],{"class":543},"now",[526,574,575],{"class":547},"();\n",[526,577,579,581,584,586,589],{"class":528,"line":578},4,[526,580,554],{"class":539},[526,582,583],{"class":557}," nodeId",[526,585,562],{"class":561},[526,587,588],{"class":543}," getMACAddress",[526,590,575],{"class":547},[526,592,594,596,599,601,604],{"class":528,"line":593},5,[526,595,554],{"class":539},[526,597,598],{"class":557}," clockSeq",[526,600,562],{"class":561},[526,602,603],{"class":543}," random16Bit",[526,605,575],{"class":547},[526,607,609],{"class":528,"line":608},6,[526,610,611],{"emptyLinePlaceholder":6},"\n",[526,613,615,619,622,625,628,631,634,636,639],{"class":528,"line":614},7,[526,616,618],{"class":617},"srAhW","  return",[526,620,621],{"class":543}," formatUUID",[526,623,624],{"class":547},"(",[526,626,627],{"class":565},"timestamp",[526,629,630],{"class":547},", ",[526,632,633],{"class":565},"clockSeq",[526,635,630],{"class":547},[526,637,638],{"class":565},"nodeId",[526,640,641],{"class":547},");\n",[526,643,645],{"class":528,"line":644},8,[526,646,647],{"class":547},"}\n",[406,649,651],{"id":650},"uuid-v3-на-основе-пространства-имен-и-md5","UUID v3 (на основе пространства имен и MD5)",[402,653,654,489,656],{},[417,655,488],{},[491,657,658],{},"xxxxxxxx-xxxx-3xxx-yxxx-xxxxxxxxxxxx",[402,660,661,499],{},[417,662,498],{},[411,664,665,668,671],{},[414,666,667],{},"Основан на MD5-хеше UUID пространства имен и имени",[414,669,670],{},"Одинаковое пространство имен и одинаковое имя всегда производят одинаковый UUID",[414,672,673],{},"Применимо к сценариям, требующим детерминированные UUID",[402,675,676,499],{},[417,677,515],{},[517,679,681],{"className":519,"code":680,"language":521,"meta":522,"style":522},"function generateUUIDv3(namespace, name) {\n  const namespaceBytes = parseUUID(namespace);\n  const nameBytes = Buffer.from(name, 'utf8');\n  const hash = crypto\n    .createHash('md5')\n    .update(Buffer.concat([namespaceBytes, nameBytes]))\n    .digest();\n\n  return formatUUIDv3(hash);\n}\n",[491,682,683,704,722,751,763,779,810,819,823,838],{"__ignoreMap":522},[526,684,685,687,690,692,696,698,701],{"class":528,"line":529},[526,686,540],{"class":539},[526,688,689],{"class":543}," generateUUIDv3",[526,691,624],{"class":547},[526,693,695],{"class":694},"szM7h","namespace",[526,697,630],{"class":547},[526,699,700],{"class":694},"name",[526,702,703],{"class":547},") {\n",[526,705,706,708,711,713,716,718,720],{"class":528,"line":536},[526,707,554],{"class":539},[526,709,710],{"class":557}," namespaceBytes",[526,712,562],{"class":561},[526,714,715],{"class":543}," parseUUID",[526,717,624],{"class":547},[526,719,695],{"class":565},[526,721,641],{"class":547},[526,723,724,726,729,731,734,736,739,741,743,745,749],{"class":528,"line":551},[526,725,554],{"class":539},[526,727,728],{"class":557}," nameBytes",[526,730,562],{"class":561},[526,732,733],{"class":565}," Buffer",[526,735,569],{"class":547},[526,737,738],{"class":543},"from",[526,740,624],{"class":547},[526,742,700],{"class":565},[526,744,630],{"class":547},[526,746,748],{"class":747},"sjj1j","'utf8'",[526,750,641],{"class":547},[526,752,753,755,758,760],{"class":528,"line":578},[526,754,554],{"class":539},[526,756,757],{"class":557}," hash",[526,759,562],{"class":561},[526,761,762],{"class":565}," crypto\n",[526,764,765,768,771,773,776],{"class":528,"line":593},[526,766,767],{"class":547},"    .",[526,769,770],{"class":543},"createHash",[526,772,624],{"class":547},[526,774,775],{"class":747},"'md5'",[526,777,778],{"class":547},")\n",[526,780,781,783,786,788,791,793,796,799,802,804,807],{"class":528,"line":608},[526,782,767],{"class":547},[526,784,785],{"class":543},"update",[526,787,624],{"class":547},[526,789,790],{"class":565},"Buffer",[526,792,569],{"class":547},[526,794,795],{"class":543},"concat",[526,797,798],{"class":547},"([",[526,800,801],{"class":565},"namespaceBytes",[526,803,630],{"class":547},[526,805,806],{"class":565},"nameBytes",[526,808,809],{"class":547},"]))\n",[526,811,812,814,817],{"class":528,"line":614},[526,813,767],{"class":547},[526,815,816],{"class":543},"digest",[526,818,575],{"class":547},[526,820,821],{"class":528,"line":644},[526,822,611],{"emptyLinePlaceholder":6},[526,824,826,828,831,833,836],{"class":528,"line":825},9,[526,827,618],{"class":617},[526,829,830],{"class":543}," formatUUIDv3",[526,832,624],{"class":547},[526,834,835],{"class":565},"hash",[526,837,641],{"class":547},[526,839,841],{"class":528,"line":840},10,[526,842,647],{"class":547},[406,844,846],{"id":845},"uuid-v4-случайная-генерация","UUID v4 (случайная генерация)",[402,848,849,489,851],{},[417,850,488],{},[491,852,853],{},"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",[402,855,856,499],{},[417,857,498],{},[411,859,860,863,866],{},[414,861,862],{},"Полностью случайная генерация",[414,864,865],{},"Наиболее часто используемая версия UUID",[414,867,868],{},"Не содержит значимой информации",[402,870,871,499],{},[417,872,515],{},[517,874,876],{"className":519,"code":875,"language":521,"meta":522,"style":522},"function generateUUIDv4() {\n  const bytes = crypto.randomBytes(16);\n  bytes[6] = (bytes[6] & 0x0f) | 0x40; \u002F\u002F Версия 4\n  bytes[8] = (bytes[8] & 0x3f) | 0x80; \u002F\u002F Вариант\n\n  return formatUUID(bytes);\n}\n",[491,877,878,887,912,962,1002,1006,1018],{"__ignoreMap":522},[526,879,880,882,885],{"class":528,"line":529},[526,881,540],{"class":539},[526,883,884],{"class":543}," generateUUIDv4",[526,886,548],{"class":547},[526,888,889,891,894,896,899,901,904,906,910],{"class":528,"line":536},[526,890,554],{"class":539},[526,892,893],{"class":557}," bytes",[526,895,562],{"class":561},[526,897,898],{"class":565}," crypto",[526,900,569],{"class":547},[526,902,903],{"class":543},"randomBytes",[526,905,624],{"class":547},[526,907,909],{"class":908},"sewGd","16",[526,911,641],{"class":547},[526,913,914,917,920,923,926,929,932,935,937,939,941,944,947,950,953,956,959],{"class":528,"line":551},[526,915,916],{"class":565},"  bytes",[526,918,919],{"class":547},"[",[526,921,922],{"class":908},"6",[526,924,925],{"class":547},"] ",[526,927,928],{"class":561},"=",[526,930,931],{"class":547}," (",[526,933,934],{"class":565},"bytes",[526,936,919],{"class":547},[526,938,922],{"class":908},[526,940,925],{"class":547},[526,942,943],{"class":561},"&",[526,945,946],{"class":908}," 0x0f",[526,948,949],{"class":547},") ",[526,951,952],{"class":561},"|",[526,954,955],{"class":908}," 0x40",[526,957,958],{"class":547},"; ",[526,960,961],{"class":532},"\u002F\u002F Версия 4\n",[526,963,964,966,968,971,973,975,977,979,981,983,985,987,990,992,994,997,999],{"class":528,"line":578},[526,965,916],{"class":565},[526,967,919],{"class":547},[526,969,970],{"class":908},"8",[526,972,925],{"class":547},[526,974,928],{"class":561},[526,976,931],{"class":547},[526,978,934],{"class":565},[526,980,919],{"class":547},[526,982,970],{"class":908},[526,984,925],{"class":547},[526,986,943],{"class":561},[526,988,989],{"class":908}," 0x3f",[526,991,949],{"class":547},[526,993,952],{"class":561},[526,995,996],{"class":908}," 0x80",[526,998,958],{"class":547},[526,1000,1001],{"class":532},"\u002F\u002F Вариант\n",[526,1003,1004],{"class":528,"line":593},[526,1005,611],{"emptyLinePlaceholder":6},[526,1007,1008,1010,1012,1014,1016],{"class":528,"line":608},[526,1009,618],{"class":617},[526,1011,621],{"class":543},[526,1013,624],{"class":547},[526,1015,934],{"class":565},[526,1017,641],{"class":547},[526,1019,1020],{"class":528,"line":614},[526,1021,647],{"class":547},[406,1023,1025],{"id":1024},"uuid-v5-на-основе-пространства-имен-и-sha-1","UUID v5 (на основе пространства имен и SHA-1)",[402,1027,1028,489,1030],{},[417,1029,488],{},[491,1031,1032],{},"xxxxxxxx-xxxx-5xxx-yxxx-xxxxxxxxxxxx",[402,1034,1035,499],{},[417,1036,498],{},[411,1038,1039,1042,1045],{},[414,1040,1041],{},"Основан на SHA-1-хеше UUID пространства имен и имени",[414,1043,1044],{},"Более безопасен, чем v3 (использует SHA-1 вместо MD5)",[414,1046,673],{},[406,1048,1050],{"id":1049},"uuid-nil-пустой-uuid","UUID NIL (пустой UUID)",[402,1052,1053,489,1055],{},[417,1054,488],{},[491,1056,1057],{},"00000000-0000-0000-0000-000000000000",[402,1059,1060,499],{},[417,1061,498],{},[411,1063,1064,1067,1070],{},[414,1065,1066],{},"Все биты равны 0",[414,1068,1069],{},"Используется для представления \"нет UUID\" или \"неизвестный UUID\"",[414,1071,1072],{},"Используется как значение по умолчанию в дизайне базы данных",[397,1074,1076],{"id":1075},"предопределенные-пространства-имен","Предопределенные пространства имен",[406,1078,1080],{"id":1079},"стандартные-uuid-пространств-имен","Стандартные UUID пространств имен",[411,1082,1083,1091,1099,1107],{},[414,1084,1085,489,1088],{},[417,1086,1087],{},"DNS пространство имен",[491,1089,1090],{},"6ba7b810-9dad-11d1-80b4-00c04fd430c8",[414,1092,1093,489,1096],{},[417,1094,1095],{},"URL пространство имен",[491,1097,1098],{},"6ba7b811-9dad-11d1-80b4-00c04fd430c8",[414,1100,1101,489,1104],{},[417,1102,1103],{},"OID пространство имен",[491,1105,1106],{},"6ba7b812-9dad-11d1-80b4-00c04fd430c8",[414,1108,1109,489,1112],{},[417,1110,1111],{},"X.500 DN пространство имен",[491,1113,1114],{},"6ba7b814-9dad-11d1-80b4-00c04fd430c8",[406,1116,1118],{"id":1117},"пример-использования","Пример использования",[517,1120,1122],{"className":519,"code":1121,"language":521,"meta":522,"style":522},"\u002F\u002F Генерация UUID v3 с использованием DNS пространства имен\nconst dnsNamespace = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nconst uuid = generateUUIDv3(dnsNamespace, 'example.com');\n\u002F\u002F Результат: 5df41881-3aed-3515-88a7-2f4a814cf09e\n",[491,1123,1124,1129,1145,1168],{"__ignoreMap":522},[526,1125,1126],{"class":528,"line":529},[526,1127,1128],{"class":532},"\u002F\u002F Генерация UUID v3 с использованием DNS пространства имен\n",[526,1130,1131,1134,1137,1139,1142],{"class":528,"line":536},[526,1132,1133],{"class":539},"const",[526,1135,1136],{"class":557}," dnsNamespace",[526,1138,562],{"class":561},[526,1140,1141],{"class":747}," '6ba7b810-9dad-11d1-80b4-00c04fd430c8'",[526,1143,1144],{"class":547},";\n",[526,1146,1147,1149,1152,1154,1156,1158,1161,1163,1166],{"class":528,"line":551},[526,1148,1133],{"class":539},[526,1150,1151],{"class":557}," uuid",[526,1153,562],{"class":561},[526,1155,689],{"class":543},[526,1157,624],{"class":547},[526,1159,1160],{"class":565},"dnsNamespace",[526,1162,630],{"class":547},[526,1164,1165],{"class":747},"'example.com'",[526,1167,641],{"class":547},[526,1169,1170],{"class":528,"line":578},[526,1171,1172],{"class":532},"\u002F\u002F Результат: 5df41881-3aed-3515-88a7-2f4a814cf09e\n",[397,1174,474],{"id":1175},"api-интерфейс",[406,1177,1179],{"id":1178},"генерация-одиночного-uuid","Генерация одиночного UUID",[517,1181,1183],{"className":519,"code":1182,"language":521,"meta":522,"style":522},"\u002F\u002F Генерация UUID v4\nconst uuid = generateUUID('v4');\n\n\u002F\u002F Генерация UUID v1\nconst uuid = generateUUID('v1');\n\n\u002F\u002F Генерация UUID v3\nconst uuid = generateUUID('v3', {\n  namespace: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',\n  name: 'example.com',\n});\n",[491,1184,1185,1190,1208,1212,1217,1234,1238,1243,1261,1271,1281],{"__ignoreMap":522},[526,1186,1187],{"class":528,"line":529},[526,1188,1189],{"class":532},"\u002F\u002F Генерация UUID v4\n",[526,1191,1192,1194,1196,1198,1201,1203,1206],{"class":528,"line":536},[526,1193,1133],{"class":539},[526,1195,1151],{"class":557},[526,1197,562],{"class":561},[526,1199,1200],{"class":543}," generateUUID",[526,1202,624],{"class":547},[526,1204,1205],{"class":747},"'v4'",[526,1207,641],{"class":547},[526,1209,1210],{"class":528,"line":551},[526,1211,611],{"emptyLinePlaceholder":6},[526,1213,1214],{"class":528,"line":578},[526,1215,1216],{"class":532},"\u002F\u002F Генерация UUID v1\n",[526,1218,1219,1221,1223,1225,1227,1229,1232],{"class":528,"line":593},[526,1220,1133],{"class":539},[526,1222,1151],{"class":557},[526,1224,562],{"class":561},[526,1226,1200],{"class":543},[526,1228,624],{"class":547},[526,1230,1231],{"class":747},"'v1'",[526,1233,641],{"class":547},[526,1235,1236],{"class":528,"line":608},[526,1237,611],{"emptyLinePlaceholder":6},[526,1239,1240],{"class":528,"line":614},[526,1241,1242],{"class":532},"\u002F\u002F Генерация UUID v3\n",[526,1244,1245,1247,1249,1251,1253,1255,1258],{"class":528,"line":644},[526,1246,1133],{"class":539},[526,1248,1151],{"class":557},[526,1250,562],{"class":561},[526,1252,1200],{"class":543},[526,1254,624],{"class":547},[526,1256,1257],{"class":747},"'v3'",[526,1259,1260],{"class":547},", {\n",[526,1262,1263,1266,1268],{"class":528,"line":825},[526,1264,1265],{"class":565},"  namespace:",[526,1267,1141],{"class":747},[526,1269,1270],{"class":547},",\n",[526,1272,1273,1276,1279],{"class":528,"line":840},[526,1274,1275],{"class":565},"  name:",[526,1277,1278],{"class":747}," 'example.com'",[526,1280,1270],{"class":547},[526,1282,1284],{"class":528,"line":1283},11,[526,1285,1286],{"class":547},"});\n",[406,1288,1290],{"id":1289},"пакетная-генерация-uuid","Пакетная генерация UUID",[517,1292,1294],{"className":519,"code":1293,"language":521,"meta":522,"style":522},"\u002F\u002F Пакетная генерация UUID\nconst uuids = generateMultipleUUIDs('v4', 10);\n\n\u002F\u002F Генерация UUID разных версий\nconst mixedUUIDs = generateMultipleUUIDs(['v1', 'v4', 'v5'], 5);\n",[491,1295,1296,1301,1324,1328,1333],{"__ignoreMap":522},[526,1297,1298],{"class":528,"line":529},[526,1299,1300],{"class":532},"\u002F\u002F Пакетная генерация UUID\n",[526,1302,1303,1305,1308,1310,1313,1315,1317,1319,1322],{"class":528,"line":536},[526,1304,1133],{"class":539},[526,1306,1307],{"class":557}," uuids",[526,1309,562],{"class":561},[526,1311,1312],{"class":543}," generateMultipleUUIDs",[526,1314,624],{"class":547},[526,1316,1205],{"class":747},[526,1318,630],{"class":547},[526,1320,1321],{"class":908},"10",[526,1323,641],{"class":547},[526,1325,1326],{"class":528,"line":551},[526,1327,611],{"emptyLinePlaceholder":6},[526,1329,1330],{"class":528,"line":578},[526,1331,1332],{"class":532},"\u002F\u002F Генерация UUID разных версий\n",[526,1334,1335,1337,1340,1342,1344,1346,1348,1350,1352,1354,1357,1360,1363],{"class":528,"line":593},[526,1336,1133],{"class":539},[526,1338,1339],{"class":557}," mixedUUIDs",[526,1341,562],{"class":561},[526,1343,1312],{"class":543},[526,1345,798],{"class":547},[526,1347,1231],{"class":747},[526,1349,630],{"class":547},[526,1351,1205],{"class":747},[526,1353,630],{"class":547},[526,1355,1356],{"class":747},"'v5'",[526,1358,1359],{"class":547},"], ",[526,1361,1362],{"class":908},"5",[526,1364,641],{"class":547},[406,1366,1368],{"id":1367},"валидация-uuid","Валидация UUID",[517,1370,1372],{"className":519,"code":1371,"language":521,"meta":522,"style":522},"\u002F\u002F Валидация формата UUID\nconst isValid = validateUUID('550e8400-e29b-41d4-a716-446655440000');\n\n\u002F\u002F Получение версии UUID\nconst version = getUUIDVersion('550e8400-e29b-41d4-a716-446655440000');\n",[491,1373,1374,1379,1398,1402,1407],{"__ignoreMap":522},[526,1375,1376],{"class":528,"line":529},[526,1377,1378],{"class":532},"\u002F\u002F Валидация формата UUID\n",[526,1380,1381,1383,1386,1388,1391,1393,1396],{"class":528,"line":536},[526,1382,1133],{"class":539},[526,1384,1385],{"class":557}," isValid",[526,1387,562],{"class":561},[526,1389,1390],{"class":543}," validateUUID",[526,1392,624],{"class":547},[526,1394,1395],{"class":747},"'550e8400-e29b-41d4-a716-446655440000'",[526,1397,641],{"class":547},[526,1399,1400],{"class":528,"line":551},[526,1401,611],{"emptyLinePlaceholder":6},[526,1403,1404],{"class":528,"line":578},[526,1405,1406],{"class":532},"\u002F\u002F Получение версии UUID\n",[526,1408,1409,1411,1414,1416,1419,1421,1423],{"class":528,"line":593},[526,1410,1133],{"class":539},[526,1412,1413],{"class":557}," version",[526,1415,562],{"class":561},[526,1417,1418],{"class":543}," getUUIDVersion",[526,1420,624],{"class":547},[526,1422,1395],{"class":747},[526,1424,641],{"class":547},[397,1426,1428],{"id":1427},"соображения-производительности","Соображения производительности",[406,1430,1432],{"id":1431},"скорость-генерации","Скорость генерации",[411,1434,1435,1441,1447],{},[414,1436,1437,1440],{},[417,1438,1439],{},"v4 (случайный)",": Самый быстрый, примерно 100 000 UUID\u002Fсек",[414,1442,1443,1446],{},[417,1444,1445],{},"v1 (время)",": Средний, примерно 50 000 UUID\u002Fсек",[414,1448,1449,1452],{},[417,1450,1451],{},"v3\u002Fv5 (хеш)",": Медленнее, примерно 10 000 UUID\u002Fсек",[406,1454,1456],{"id":1455},"использование-памяти","Использование памяти",[411,1458,1459,1462],{},[414,1460,1461],{},"Каждый UUID занимает 16 байт",[414,1463,1464],{},"Обратите внимание на использование памяти при пакетной генерации",[406,1466,1468],{"id":1467},"безопасность-конкурентности","Безопасность конкурентности",[411,1470,1471,1474],{},[414,1472,1473],{},"v4 использует криптографически безопасный генератор случайных чисел",[414,1475,1476],{},"v1 требует обеспечения уникальности последовательности часов",[397,1478,1480],{"id":1479},"лучшие-практики","Лучшие практики",[406,1482,1484],{"id":1483},"выбор-версии-uuid","Выбор версии UUID",[444,1486,1487,1493,1499,1505],{},[414,1488,1489,1492],{},[417,1490,1491],{},"Общее использование",": Используйте UUID v4",[414,1494,1495,1498],{},[417,1496,1497],{},"Требуется временная сортировка",": Используйте UUID v1",[414,1500,1501,1504],{},[417,1502,1503],{},"Требуется детерминированность",": Используйте UUID v3 или v5",[414,1506,1507,1509],{},[417,1508,450],{},": Рекомендуйте UUID v4",[406,1511,1513],{"id":1512},"оптимизация-хранения","Оптимизация хранения",[517,1515,1519],{"className":1516,"code":1517,"language":1518,"meta":522,"style":522},"language-sql shiki shiki-themes github-light github-light dark-plus","-- Хранение UUID в PostgreSQL\nCREATE TABLE users (\n  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n  name VARCHAR(255)\n);\n\n-- Создание индекса\nCREATE INDEX idx_users_id ON users(id);\n","sql",[491,1520,1521,1526,1540,1554,1569,1573,1577,1582],{"__ignoreMap":522},[526,1522,1523],{"class":528,"line":529},[526,1524,1525],{"class":532},"-- Хранение UUID в PostgreSQL\n",[526,1527,1528,1531,1534,1537],{"class":528,"line":536},[526,1529,1530],{"class":539},"CREATE",[526,1532,1533],{"class":539}," TABLE",[526,1535,1536],{"class":543}," users",[526,1538,1539],{"class":547}," (\n",[526,1541,1542,1545,1548,1551],{"class":528,"line":551},[526,1543,1544],{"class":547},"  id UUID ",[526,1546,1547],{"class":539},"PRIMARY KEY",[526,1549,1550],{"class":539}," DEFAULT",[526,1552,1553],{"class":547}," gen_random_uuid(),\n",[526,1555,1556,1559,1562,1564,1567],{"class":528,"line":578},[526,1557,1558],{"class":539},"  name",[526,1560,1561],{"class":539}," VARCHAR",[526,1563,624],{"class":547},[526,1565,1566],{"class":908},"255",[526,1568,778],{"class":547},[526,1570,1571],{"class":528,"line":593},[526,1572,641],{"class":547},[526,1574,1575],{"class":528,"line":608},[526,1576,611],{"emptyLinePlaceholder":6},[526,1578,1579],{"class":528,"line":614},[526,1580,1581],{"class":532},"-- Создание индекса\n",[526,1583,1584,1586,1589,1592,1595],{"class":528,"line":644},[526,1585,1530],{"class":539},[526,1587,1588],{"class":539}," INDEX",[526,1590,1591],{"class":543}," idx_users_id",[526,1593,1594],{"class":539}," ON",[526,1596,1597],{"class":547}," users(id);\n",[406,1599,1601],{"id":1600},"оптимизация-производительности","Оптимизация производительности",[517,1603,1605],{"className":519,"code":1604,"language":521,"meta":522,"style":522},"\u002F\u002F Использование пула объектов для уменьшения выделения памяти\nconst uuidPool = new Array(1000).fill(null).map(() => generateUUIDv4());\n\n\u002F\u002F Использование Web Workers для пакетной генерации\nconst worker = new Worker('uuid-worker.js');\nworker.postMessage({ type: 'generate', count: 1000 });\n",[491,1606,1607,1612,1660,1664,1669,1690],{"__ignoreMap":522},[526,1608,1609],{"class":528,"line":529},[526,1610,1611],{"class":532},"\u002F\u002F Использование пула объектов для уменьшения выделения памяти\n",[526,1613,1614,1616,1619,1621,1624,1627,1629,1632,1635,1638,1640,1644,1646,1649,1652,1655,1657],{"class":528,"line":536},[526,1615,1133],{"class":539},[526,1617,1618],{"class":557}," uuidPool",[526,1620,562],{"class":561},[526,1622,1623],{"class":539}," new",[526,1625,1626],{"class":543}," Array",[526,1628,624],{"class":547},[526,1630,1631],{"class":908},"1000",[526,1633,1634],{"class":547},").",[526,1636,1637],{"class":543},"fill",[526,1639,624],{"class":547},[526,1641,1643],{"class":1642},"sLV08","null",[526,1645,1634],{"class":547},[526,1647,1648],{"class":543},"map",[526,1650,1651],{"class":547},"(() ",[526,1653,1654],{"class":539},"=>",[526,1656,884],{"class":543},[526,1658,1659],{"class":547},"());\n",[526,1661,1662],{"class":528,"line":551},[526,1663,611],{"emptyLinePlaceholder":6},[526,1665,1666],{"class":528,"line":578},[526,1667,1668],{"class":532},"\u002F\u002F Использование Web Workers для пакетной генерации\n",[526,1670,1671,1673,1676,1678,1680,1683,1685,1688],{"class":528,"line":593},[526,1672,1133],{"class":539},[526,1674,1675],{"class":557}," worker",[526,1677,562],{"class":561},[526,1679,1623],{"class":539},[526,1681,1682],{"class":543}," Worker",[526,1684,624],{"class":547},[526,1686,1687],{"class":747},"'uuid-worker.js'",[526,1689,641],{"class":547},[526,1691,1692,1695,1697,1700,1703,1706,1709,1711,1714,1717],{"class":528,"line":608},[526,1693,1694],{"class":565},"worker",[526,1696,569],{"class":547},[526,1698,1699],{"class":543},"postMessage",[526,1701,1702],{"class":547},"({ ",[526,1704,1705],{"class":565},"type:",[526,1707,1708],{"class":747}," 'generate'",[526,1710,630],{"class":547},[526,1712,1713],{"class":565},"count:",[526,1715,1716],{"class":908}," 1000",[526,1718,1719],{"class":547}," });\n",[397,1721,107],{"id":1722},"часто-задаваемые-вопросы",[406,1724,1726],{"id":1725},"в-в-чем-разница-между-uuid-и-guid","В: В чем разница между UUID и GUID?",[402,1728,1729],{},"О: UUID и GUID по сути одинаковы, различаются только названия. UUID — это термин стандарта RFC, GUID — термин Microsoft.",[406,1731,1733],{"id":1732},"в-могут-ли-uuid-дублироваться","В: Могут ли UUID дублироваться?",[402,1735,1736],{},"О: Теоретически возможно, но вероятность крайне низка. Вероятность дублирования UUID v4 составляет примерно 2,71 × 10^-36.",[406,1738,1740],{"id":1739},"в-как-выбрать-версию-uuid","В: Как выбрать версию UUID?",[402,1742,1743],{},"О: Выбирайте в соответствии с требованиями:",[411,1745,1746,1749,1752],{},[414,1747,1748],{},"Требуется случайность: v4",[414,1750,1751],{},"Требуется временная информация: v1",[414,1753,1754],{},"Требуется детерминированность: v3 или v5",[406,1756,1758],{"id":1757},"в-влияет-ли-uuid-на-производительность-базы-данных","В: Влияет ли UUID на производительность базы данных?",[402,1760,1761],{},"О: Может влиять, поскольку UUID больше целочисленного первичного ключа. Рекомендации:",[411,1763,1764,1767,1770],{},[414,1765,1766],{},"Используйте B-tree индексы",[414,1768,1769],{},"Рассмотрите использование UUID v1 (временная сортировка)",[414,1771,1772],{},"Используйте целочисленные первичные ключи в подходящих случаях",[397,1774,261],{"id":1775},"связанные-инструменты",[411,1777,1778,1785,1791,1797],{},[414,1779,1780],{},[1781,1782,1784],"a",{"href":1783},"\u002Fmd5-calculator","Калькулятор MD5",[414,1786,1787],{},[1781,1788,1790],{"href":1789},"\u002Fsha256-calculator","Калькулятор SHA-256",[414,1792,1793],{},[1781,1794,1796],{"href":1795},"\u002Fbase64-encoder","Кодировщик Base64",[414,1798,1799],{},[1781,1800,1802],{"href":1801},"\u002Fpassword-generator","Генератор паролей",[397,1804,1806],{"id":1805},"технические-спецификации","Технические спецификации",[406,1808,1810],{"id":1809},"rfc-стандарты","RFC стандарты",[411,1812,1813,1819],{},[414,1814,1815,1818],{},[417,1816,1817],{},"RFC 4122",": Спецификация UUID",[414,1820,1821,1824],{},[417,1822,1823],{},"RFC 4122 Section 4.1.3",": Определения версий UUID",[406,1826,1828],{"id":1827},"поддержка-языков-программирования","Поддержка языков программирования",[411,1830,1831,1840,1849,1857],{},[414,1832,1833,489,1836,1839],{},[417,1834,1835],{},"JavaScript",[491,1837,1838],{},"crypto.randomUUID()"," (Node.js 14.17+)",[414,1841,1842,1845,1846],{},[417,1843,1844],{},"Python",": Модуль ",[491,1847,1848],{},"uuid",[414,1850,1851,489,1854],{},[417,1852,1853],{},"Java",[491,1855,1856],{},"java.util.UUID",[414,1858,1859,489,1862],{},[417,1860,1861],{},"C#",[491,1863,1864],{},"System.Guid",[1866,1867],"hr",{},[402,1869,1870],{},[1871,1872,1873],"em",{},"Последнее обновление: 20 января 2024 года",[1875,1876,1877],"style",{},"html pre.shiki code .sLEZ0, html code.shiki .sLEZ0{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A9955}html pre.shiki code .sGiLm, html code.shiki .sGiLm{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#569CD6}html pre.shiki code .sqMzV, html code.shiki .sqMzV{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#DCDCAA}html pre.shiki code .svVIm, html code.shiki .svVIm{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#D4D4D4}html pre.shiki code .sdRU0, html code.shiki .sdRU0{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#4FC1FF}html pre.shiki code .sGmsN, html code.shiki .sGmsN{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#D4D4D4}html pre.shiki code .szTj3, html code.shiki .szTj3{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#9CDCFE}html pre.shiki code .srAhW, html code.shiki .srAhW{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#C586C0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szM7h, html code.shiki .szM7h{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#9CDCFE}html pre.shiki code .sjj1j, html code.shiki .sjj1j{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#CE9178}html pre.shiki code .sewGd, html code.shiki .sewGd{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#B5CEA8}html pre.shiki code .sLV08, html code.shiki .sLV08{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#569CD6}",{"title":522,"searchDepth":536,"depth":536,"links":1879},[1880,1884,1891,1895,1900,1905,1910,1916,1917],{"id":399,"depth":536,"text":400,"children":1881},[1882,1883],{"id":408,"depth":551,"text":409},{"id":441,"depth":551,"text":442},{"id":478,"depth":536,"text":479,"children":1885},[1886,1887,1888,1889,1890],{"id":482,"depth":551,"text":483},{"id":650,"depth":551,"text":651},{"id":845,"depth":551,"text":846},{"id":1024,"depth":551,"text":1025},{"id":1049,"depth":551,"text":1050},{"id":1075,"depth":536,"text":1076,"children":1892},[1893,1894],{"id":1079,"depth":551,"text":1080},{"id":1117,"depth":551,"text":1118},{"id":1175,"depth":536,"text":474,"children":1896},[1897,1898,1899],{"id":1178,"depth":551,"text":1179},{"id":1289,"depth":551,"text":1290},{"id":1367,"depth":551,"text":1368},{"id":1427,"depth":536,"text":1428,"children":1901},[1902,1903,1904],{"id":1431,"depth":551,"text":1432},{"id":1455,"depth":551,"text":1456},{"id":1467,"depth":551,"text":1468},{"id":1479,"depth":536,"text":1480,"children":1906},[1907,1908,1909],{"id":1483,"depth":551,"text":1484},{"id":1512,"depth":551,"text":1513},{"id":1600,"depth":551,"text":1601},{"id":1722,"depth":536,"text":107,"children":1911},[1912,1913,1914,1915],{"id":1725,"depth":551,"text":1726},{"id":1732,"depth":551,"text":1733},{"id":1739,"depth":551,"text":1740},{"id":1757,"depth":551,"text":1758},{"id":1775,"depth":536,"text":261},{"id":1805,"depth":536,"text":1806,"children":1918},[1919,1920],{"id":1809,"depth":551,"text":1810},{"id":1827,"depth":551,"text":1828},"Онлайн-инструмент генерации UUID, поддерживающий несколько версий UUID, функция пакетной генерации","md",{"category":1924,"tags":1925,"date":1930,"updated":1930},"Инструменты генерации",[58,1926,1927,1928,1929],"Уникальный идентификатор","GUID","Распределенная система","База данных","2024-01-20",{"title":38,"description":1921},{"loc":63},"gMJVPpgPaI8QsdP8Hi4AqaJT9ef5nQx5N3KMya3KL3k",[1935,1935],null]