Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚

ОбновлСниС Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· UUID

Π§Ρ‚ΠΎΠ±Ρ‹ систСма управлСния Π’Π°ΡˆΠΈΠΌ сайтом ΠΈ конфигурация 1Π‘, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вСдСтся ΡƒΡ‡Π΅Ρ‚, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΎΠ²Π°Ρ€, ΠΌΡ‹ Π²Ρ‹Π²Π΅Π»ΠΈ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² поля «UUID Π’ΠΎΠ²Π°Ρ€Π°» ΠΈ «UUID Основной ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, зайдя Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ² ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ названию Ρ‚ΠΎΠ²Π°Ρ€Π° (ΠΈΠ»ΠΈ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅ «Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ» Π² строкС любого Ρ‚ΠΎΠ²Π°Ρ€Π°) Π’Ρ‹ смоТСтС ΠΈΡ… ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ:

Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. 70862641 4898 5c63edf464249. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚-70862641 4898 5c63edf464249. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 70862641 4898 5c63edf464249

Π¨Π°Π³ 1

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ связи Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² систСмС управлСния ΠΈ Π² 1Π‘ Π’Π°ΠΌ слСдуСт для всСх Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля.

Для наглядности Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ являСтся «UUID Π’ΠΎΠ²Π°Ρ€Π°», Π° Ρ‡Ρ‚ΠΎ «UUID Основной ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ»:

Если Π² 1Π‘ Ρƒ Вас вСдСтся ΡƒΡ‡Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ характСристик, Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ offers.xml ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΎΠ²Π°Ρ€Π° выглядит Ρ‚Π°ΠΊ:

Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. 70862641 4897 5c63ee063308b. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚-70862641 4897 5c63ee063308b. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 70862641 4897 5c63ee063308b

Π¨Π°Π³ 2

ПослС установки всСх UUID для всСх Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ провСсти ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· 1Π‘.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! НСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² Π½Π°ΡˆΡƒ компанию для создания Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π’Π°ΡˆΠ΅Π³ΠΎ сайта.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈΠ· 1Π‘ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ инструкции: http://help.megagroup.ru/import-1s

Если Π’Π°ΠΌ трСбуСтся ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π½Ρƒ ΠΈ количСство Ρƒ ΡƒΠΆΠ΅ созданных Π½Π° сайтС Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Π½Π΅ трогая ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° «ΠžΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π½Ρ‹ ΠΈ количСство».

Если Π½Π° сторонС 1Π‘ Ρƒ Вас ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° сайт, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° «Π”ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅». ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, описаниС ΠΈ ΠΏΡ€.) Π½Π΅ затрутся, Ссли Π² 1Π‘ ΠΈ Π½Π° сайтС ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ (ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ полю).

ΠžΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌ Π’Π°ΡˆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² с модификациями, ΠΊΠΎΠ³Π΄Π° ΡƒΡ‡Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² 1Π‘ ΠΈΠ΄Π΅Ρ‚ Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ характСристик.

Если Π² 1Π‘ характСристик Π½Π΅Ρ‚, Ρ‚ΠΎ UID Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 24d57f6a-df6a-11e4-8038-9c8e99f31b78 Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ Ρƒ Ρ‚ΠΎΠ²Π°Ρ€Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Π² ΠΎΠ±Π° поля «UUID Π’ΠΎΠ²Π°Ρ€Π°» ΠΈ «UUID Основной ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ» Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅: 24d57f6a-df6a-11e4-8038-9c8e99f31b78.

Если поля «UUID Π’ΠΎΠ²Π°Ρ€Π°» ΠΈ «UUID Основной ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ» Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚, Ρ‚ΠΎ Π½Π΅ получится ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· 1Π‘, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°. ΠžΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· 1Π‘ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ этот Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠ²Π°Ρ€.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ вСрсии Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ uuid

А Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ отправляли заявку Π² ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠΉ? А Π²Ρ‹ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ, Π·Π°Ρ‡Π΅ΠΌ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Ρ‘ΠΌ?

Π‘Π»Π°ΠΆΠ΅Π½Π½Ρ‹ Π²Ρ‹, Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΏΠΎ катСгориям!

Однако, Ссли Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с сСтями, Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚Ρ‡Π°ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ.

БСйчас Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ самыС изысканныС трСбования Π±ΡŽΡ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΡ… мисьС.

Но для Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ экскурс ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ устроСн ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠΉ.

Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. guid. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚-guid. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° guid

Π•ΡΡ‚ΡŒ сСрвСр ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ рСгистрации Ρ‚ΠΎΠ²Π°Ρ€Π°. А Π΅ΡΡ‚ΡŒ наша заявка Π² ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π²ΠΎΠ»ΡŒΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ²Π°Ρ€Π°, ΠΊΠ°ΠΊ Π½Π°ΠΌ заблагорассудится. Π’ Ρ‡Ρ‘ΠΌ ΠΆΠ΅ смысл? А всё просто β€” это Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ±ΠΈΡ‚ΡŒ вас с Ρ‚ΠΎΠ»ΠΊΡƒ!

Π“Π£Π˜Π” β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… сСрвСра ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΡ

Π£Π£Π˜Π” β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ вСрсии Ρ‚ΠΎΠ²Π°Ρ€Π° (для особо ΠΏΡ‹Ρ‚Π»ΠΈΠ²Ρ‹Ρ…)

GTIN β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΎΠ²Π°Ρ€Π° Π² ΠΌΠΈΡ€ΠΎΠ²Ρ‹Ρ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ…

Артикул β€” идСнтификация Π² Ρ€Π°ΠΌΠΊΠ°Ρ… прСдприятия

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ просто ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΡΠΊΠ»Π°Π΄ΡΠΊΡƒΡŽ запись ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π΅, Π½ΠΎ Π½Π΅ Ρ‚ΡƒΡ‚-Ρ‚ΠΎ было… Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, оказываСтся ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½ Ρ‚ΠΎΠ²Π°Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ Π“Π£Π˜Π”ΠΎΠΌ, Π° ΠΏΠ΅Ρ€Π΅Π²Π΅Π·Ρ‘Π½ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ хотят Π² Ρ‚ΠΎΠ²Π°Ρ€Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ свой Артикул ΠΈΠ»ΠΈ свой GTIN, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΠΆΠ΅ своё Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ.

Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. guid2. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚-guid2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° guid2

Π’ΠΎΡ‚ ваша ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ°:

Π’Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Ρ‹Ρ‰ΠΈΡ‚Π΅ эти поля Π² нашСй прямой ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ шлюзС. А Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ этой ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠΎΠΉ, Π²Ρ‹ смоТСтС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ваши сСртификаты.

UUID β€” это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π’Π‘Π”.

Π’ элСктронном Π²ΠΈΠ΄Π΅ Π² Π½Π΅ΠΌ 36 символов 047c0458-46c2-4f3b-945a-d063ab2c0bef. ИмСнно Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΅Π³ΠΎ прСдоставляСт API Β«ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΡΒ».

Π’ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Π½Π΅ΠΌ 39 символов 047c-0458-46c2-4f3b-945a-d063-ab2c-0bef, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ дСфиса для удобства чтСния ΠΈ Π²Π²ΠΎΠ΄Π°. Π‘Π΅Π· дСфисов остаСтся 32 символа 047c045846c24f3b945ad063ab2c0bef.

Π’ ΠšΠΎΠ½Ρ‚ΡƒΡ€.ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠΈ UUID пСрСдаСтся Π² ΠΏΠΎΠ»Π΅ Β«veterinaryCertificateMercuryIdΒ» β€” Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ строчки Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² DESADV. Π”Π»ΠΈΠ½Π° поля 70 символов. Оно Π΅ΡΡ‚ΡŒ Π² описании Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Β«Π Π°Π±ΠΎΡ‚Π° с Β«ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠ΅ΠΌΒ»Β»

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄Π½Π°Π΄Π·ΠΎΡ€Π½Ρ‹ΠΌΠΈ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°ΠΌΠΈ Π² систСмС Β«ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠΉΒ»

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² систСмС зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Π½Π° самыС частыС вопросы.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли приняли Ρ‚ΠΎΠ²Π°Ρ€ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ?

Рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ оформлСния Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π’Π‘Π” поставщику ΠΈ Π°ΠΊΡ‚Π° расхоТдСний.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с элСктронными Π’Π‘Π”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ Π΄ΠΎ 1 июля?

Π’Π΅Ρ‚Π΅Ρ€ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Π΅ Π΄ΠΎ 1 июля 2018 Π³Π°ΡΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π—Π°ΠΊΠΎΠ½Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ рассмотрСны основныС Π·Π°ΠΊΠΎΠ½Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹.

Как ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ Π’Π‘Π” ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²?

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ Π’Π‘Π” ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… сцСнариях.

Для получСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π²ΠΈΠ΄Π°:
Код 1C v 8.Ρ…

Как с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ запроса ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€:
Код 1C v 8.Ρ…

Π’ 1Π‘ 7.7 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ

Π§Π΅Ρ€Π΅Π· v7plus.dll
Код 1C v 7.x

Π§Π΅Ρ€Π΅Π· WScript
Код 1C v 7.x

ΠΏΡ€ΠΈ OLE доступС:
Код 1C v 7.x

Π•Ρ‰Π΅ посмотритС ΠΌΠ΅Ρ‚ΠΎΠ΄:
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π’Π‘Ρ‚Ρ€ΠΎΠΊΡƒΠ’Π½ΡƒΡ‚Ρ€( );
Бинтаксис:
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π’Π‘Ρ‚Ρ€ΠΎΠΊΡƒΠ’Π½ΡƒΡ‚Ρ€( )
НазначСниС:
ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² строковоС систСмноС прСдставлСниС.
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚: прСдставлСниС значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² строковом систСмном Π²ΠΈΠ΄Π΅.
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
– Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎ uuid-Ρ‹, ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. 004bf5b939357766f8dba69e9ebec22f. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚-004bf5b939357766f8dba69e9ebec22f. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 004bf5b939357766f8dba69e9ebec22f

Π‘Ρ‚Π°Ρ‚ΡŒΡ посвящСна Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ вСрсиям Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, всСго ΠΏΠ°Ρ€Π°: 1) ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠ° UUID; 2) Π Π°Π±ΠΎΡ‚Π° с ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ «Π’ранзакция» ΠΊΠ°ΠΊ с ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Но эти отличия ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ сущСствСнному пСрСсмотру ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ исходных Qt-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ написанию Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡: UUID ΠΈΠ»ΠΈ Integer?

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ с ΠΈΠ΄Π΅Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UUID Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° я познакомился Π² 2003 Π³ΠΎΠ΄Ρƒ, работая Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄Π΅Π»ΡŒΡ„ΠΈΡΡ‚ΠΎΠ². ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСхнологичСских процСссов Π½Π° производствС. Π‘Π£Π‘Π” Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ сущСствСнная Ρ€ΠΎΠ»ΡŒ. На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это Π±Ρ‹Π»Π° FireBird вСрсии 1.5. По ΠΌΠ΅Ρ€Π΅ услоТнСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° появились трудности с использованиСм цСлочислСнных ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. ΠžΠΏΠΈΡˆΡƒ ΠΏΠ°Ρ€Ρƒ слоТностСй:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° архитСктурная: пСриодичСски Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΈ присылали справочныС Π΄Π°Π½Π½Ρ‹Π΅ с Ρ†Π΅Π»ΡŒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΡ… Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ дистрибутива. Иногда справочники содСрТали ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² нашСй Π±Π°Π·Π΅. ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Π² процСссС агрСгирования Π΄Π°Π½Π½Ρ‹Ρ…. На этом ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ: ΠΏΡ€ΠΈ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ дистрибутива пСриодичСски Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° программная: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ вставлСнной записи Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ SELECT-запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π» максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ вставлСнной записи). ΠŸΡ€ΠΈΡ‡Π΅ΠΌ этот процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π”Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запись. Π­Ρ‚ΠΎ сСйчас я знаю, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π‘Π” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для вставлСнной записи, Π½ΠΎ Π² 2003 Π³ΠΎΠ΄Ρƒ ΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠΌΠΈ знаниями Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π»ΠΈ, Π΄Π° ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΡŽ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π”Π΅Π»Ρ„ΠΈ-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.

ИспользованиС UUID-ΠΎΠ² Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ сводило ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠ°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ. UUID-ΠΊΠ»ΡŽΡ‡ гСнСрировался ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ вставки записи Π½Π° сторонС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ Π² Π½Π΅Π΄Ρ€Π°Ρ… сСрвСра Π‘Π”, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ SELECT-запрос стал Π½Π΅ Π½ΡƒΠΆΠ΅Π½, ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΡƒΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. FireBird вСрсии 1.5 Π½Π΅ ΠΈΠΌΠ΅Π» Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ UUID-ΠΎΠ², поэтому использовались строковыС поля Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π² 32 символа (дСфисы ΠΈΠ· UUID-ΠΎΠ² ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ). Π€Π°ΠΊΡ‚ использования строковых ΠΏΠΎΠ»Π΅ΠΉ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ нисколько Π½Π΅ смущал, Π½Π°ΠΌ Π½Π΅ Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΎΡΡŒ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π£ UUID-ΠΎΠ² Π΅ΡΡ‚ΡŒ свои минусы: 1) БущСствСнный объСм; 2) Π‘ΠΎΠ»Π΅Π΅ низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с цСлочислСнными ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° достоинства оказались Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ нСдостатки. Π’ Ρ†Π΅Π»ΠΎΠΌ, ΠΎΠΏΡ‹Ρ‚ оказался ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, поэтому Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΏΡ€ΠΈ создании рСляционных связСй ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π°Π²Π°Π»ΠΎΡΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ UUID-Π°ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· UUID vs Integer для Π‘Π£Π‘Π” MS SQL ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ «ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ – GUID ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚?»

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для FireBird

Π’ 2012 Π³ΠΎΠ΄Ρƒ ΠΌΠ½Π΅ снова довСлось ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с FireBird. НуТно Π±Ρ‹Π»ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСлась с использованиСм QtFramework. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² это ΠΆΠ΅ врСмя Ρƒ FireBird Π²Ρ‹ΡˆΠ»Π° вСрсия 2.5 с Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ UUID-ΠΎΠ². Π― ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»: «ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для FireBird ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚ΠΈΠΏΠ° QUuid?» Π’Π°ΠΊ появилась пСрвая вСрсия Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ UUID-ΠΎΠ². Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π΅ сильно отличался ΠΎΡ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ вСрсии Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ, Π² основном, Π±Ρ‹Π» ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° использованиС Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… прилоТСниях.

ПоявлСниС сущности «Π’ранзакция»

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ модификация Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для FireBird ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° Π² ΠΊΠΎΠ½Ρ†Π΅ 2018 Π³ΠΎΠ΄Π°. Наша Ρ„ΠΈΡ€ΠΌΠ° взялась Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… большого объСма. Для Ρ„ΠΈΡ€ΠΌΡ‹ Π²Ρ‹Ρ€ΠΎΡΡˆΠ΅ΠΉ ΠΈΠ· стартап-Π° эта Ρ€Π°Π±ΠΎΡ‚Π° Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π°, ΠΊΠ°ΠΊ с финансовой, Ρ‚Π°ΠΊ ΠΈ с рСпутацио́нной Ρ‚ΠΎΡ‡Π΅ΠΊ зрСния. Π‘Ρ€ΠΎΠΊΠΈ исполнСния Π±Ρ‹Π»ΠΈ вСсьма ТСсткиС. Π’ качСствС Π‘Π£Π‘Π” Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° FireBird, нСсмотря Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ сомнСния Π² Π΅Π΅ пригодности. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ PostgreSQL, Π½ΠΎ Ρƒ нашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ отсутствовал ΠΎΠΏΡ‹Ρ‚ эксплуатации Π΄Π°Π½Π½ΠΎΠΉ Π‘Π£Π‘Π”.

Новая концСпция Π½Π΅ Π½ΡƒΠΆΠ΄Π°Π»Π°ΡΡŒ Π² сущности «Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡ», ΠΊΠ°ΠΊ Π² ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я Π½Π΅ стал Π΅Π΅ ΡƒΠΏΡ€Π°Π·Π΄Π½ΡΡ‚ΡŒ. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ эксплуатация ΠΏΠΎΠΊΠ°Π·Π°Π»Π°, Ρ‡Ρ‚ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «Ρ‚ранзакция» Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ, Π΄Π°Π΅Ρ‚ большС ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°. НапримСр, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «Π’ранзакция» Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, явно говоря Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² контСкстС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Π° транзакция ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ COMMIT ΠΈΠ»ΠΈ ROLLBACK. Для Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ. Π’Π°ΠΊΠΈΡ… возмоТностСй Π½Π΅Ρ‚ Ρƒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ².

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с трСмя функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. КаТдая функция Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (Driver) Ρƒ ΠΏΡƒΠ»Π° ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚Π°, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π‘Π”. Π”Π°Π»Π΅Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ создаСтся собствСнный нСзависимый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ запросы Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π΅Π³ΠΎ контСкстС.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ Qt-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° описана Π²Ρ‹ΡˆΠ΅: ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ΄Π½Ρƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ экзСмпляры Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (1-3) созданы для наглядности. Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Π’ этом случаС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ нСявно Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° QSqlQuery. НСявныС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ всСгда Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ROLLBACK-ΠΎΠΌ для SELECT-запросов ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ COMMIT-Π° для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ для Ρ‚Ρ€Π΅Ρ… sql-запросов. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π² любой ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ для PostgreSQL

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ для MS SQL

Π§Π΅Π³ΠΎ Π½Π΅Ρ‚ Π² классС Driver

ΠžΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹Π΅ здСсь Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Qt-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’ классС оставлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

Π‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ сущности «Π’ранзакция» ΠΎΠ½ΠΈ ΡƒΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½ΡƒΠΆΠ½Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ диагностирования ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈΠ· Qt-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Ряд Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π°ΠΌΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, поэтому ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹, Π»ΠΈΠ±ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ останова, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ придСтся ΠΈΡ… ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ. Π’ΠΎΡ‚ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Π—Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° событий. ΠžΠ±ΡΡƒΠ΄ΠΈΠ² с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ этот Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΌΡ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ нСобходимости. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ пСрСсмотрСно, Π½ΠΎ ΠΏΠΎΠΊΠ° Ρƒ нас Π½Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Π΄ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ событийного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°.

НовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ ограничСния

Зависимости

Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма логирования ALog, которая являСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния SharedTools.

Π”Π΅ΠΌΠΎ-ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π» создан дСмонстрационный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Он содСрТит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с трСмя Π‘Π£Π‘Π”: FireBird, PostgreSQL, MS SQL. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ располоТСн здСсь, ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ ΡΡƒΠ±ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SharedTools Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΊΠ°ΠΊ ΡΡƒΠ±ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создан с использованиСм QtCreator, сборочная систСма QBS. Π•ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ сборочных сцСнария:

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Linux, поэтому эксплуатационноС тСстированиС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ для этой ОБ. Π’ Windows Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ FireBird-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ (ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ), для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² тСстированиС Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ.

Π”Π΅ΠΌΠΎ-ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π»ΠΎΠ³ΠΈ:

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ тСстовой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π±Π°Π·Ρ‹ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ скрипт для Π΅Π΅ создания.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π§Π΅Ρ€Π½ΠΎΠ²ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π» Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ этого Ρ€Π°Π·Π΄Π΅Π»Π°, Π·Π° Ρ‡Ρ‚ΠΎ старый Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰ ΠΈ, ΠΏΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³ мСня ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ΅: «ΠœΠΎΠ», нСпонятна мотивация, Ρ†Π΅Π»Π΅ΠΏΠΎΠ»Π°Π³Π°Π½ΠΈΠ΅ нСясно. Π—Π°Ρ‡Π΅ΠΌ Ρ‚Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ писал эту ΡΡ‚Π°Ρ‚ΡŒΡŽ?!» Π§Ρ‚ΠΎ ΠΆ, ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡΡŒ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Android-устройства

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Android-устройства для использования Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния, Ρ‚ΠΎ Π²Ρ‹ навСрняка Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‚ хаос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присутствуСт Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π² ΠΎΡ‚Π²Π΅Ρ‚Π°Ρ… Π½Π° stackoverflow. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ Π² 2020 Π³ΠΎΠ΄Ρƒ. О Ρ‚ΠΎΠΌ, Π³Π΄Π΅ Π²Π·ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, стойкий ΠΊ пСрСустановкам вашСго прилоТСния, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ слоТности Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ β€” Π² этом ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ ΠΎΠ±Π·ΠΎΡ€Π΅. ΠŸΠΎΠ΅Ρ…Π°Π»ΠΈ!

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° идСнтификация

Π’ послСднСС врСмя обсуТдСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это спровоцировано ростом Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… Π³ΠΈΠ³Π°Π½Ρ‚ΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ΄ этими обсуТдСниями скрываСтся ΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠ΅Π½Π½ΠΎΡΡ‚ΡŒ монополиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΈΡ… устройства. Π’Π°ΠΊ, Apple, Π±ΠΎΡ€ΡΡΡŒ со слСТкой ΠΈ ограничивая всСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ использованиС IDFA, Π² Ρ‚ΠΎ ΠΆΠ΅ самоС врСмя нисколько Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ сСбС. Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ: процСсс ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ прилоТСния для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² услоТнился.

Π’ Π·Π°Π΄Π°Ρ‡Π°Ρ…, ΠΎΠΏΠΈΡ€Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ: Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ², пСрсонализация ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°.

Π‘Ρ€Π΅Π΄ΠΈ послСдних ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколько Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:

ΠžΠ±Ρ‰ΠΈΠ΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹ Π² сСрвисах с ΠΏΠ»Π°Ρ‚Π½ΠΎΠΉ подпиской ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Волько ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сколько Ρ‚Π΅Ρ€ΡΡŽΡ‚ сСрвисы Π²Ρ€ΠΎΠ΄Π΅ Netflix ΠΈΠ»ΠΈ Coursera ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ заводят ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

ОбС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Π΅Π΄ΡƒΡ‚ Π»ΠΈΠ±ΠΎ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠΈ, Π»ΠΈΠ±ΠΎ ΠΊ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ потСрям. ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ надСТности ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ устройств.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ способы ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

ИспользованиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²

Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ ΠΈ нСТизнСспособный Π² настоящСС врСмя способ. Google Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π°ΠΆΠ΅ послС сброса ΠΊ заводским настройкам. Π‘Ρ€Π΅Π΄ΠΈ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²:

Π’ настоящСС врСмя ΠΎΠ½ΠΈ нСдоступны Π±Π΅Π· явного запроса Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Play Market. Оно Π΄ΠΎΠ»ΠΆΠ½ΠΎ основным Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° эти Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄ΡƒΡ‚ трудности с ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π²ΡŒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сСйчас эта опция доступна прилоТСниям для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΠΎΠ½ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ голосовым ассистСнтам.

Π’Π°ΠΊΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ послС сброса ΠΊ заводским настройкам, ΠΈ здСсь кроСтся Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ нСдостаток: люди ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ свои устройства, ΠΈ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

ГСнСрация UUID с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ запуском

Π”Π°Π½Π½Ρ‹ΠΉ способ схоТ с использованиСм cookie: создаСм Ρ„Π°ΠΉΠ» со сгСнСрированной строкой, сохраняСм Π΅Π³ΠΎ Π² пСсочницС нашСго прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SharedPreferences), ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. НСдостаток Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ cookie β€” вся пСсочница удаляСтся вмСстС с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π•Ρ‰Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ явно ΠΈΠ· настроСк.

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρƒ прилоТСния Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π²Π½Π΅ пСсочницы ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π³Π΄Π΅-Ρ‚ΠΎ Π½Π° устройствС ΠΈ ΠΏΠΎΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ послС пСрСустановки. Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½ΡƒΠΆΠ½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρƒ прилоТСния β€” нСизвСстно. Π­Ρ‚ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ установки прилоТСния (app instance ID).

ИспользованиС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², прСдоставляСмых систСмой

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² прСдставлСн ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ANDROID_ID. Он ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ устройства, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ ΠΊΠ»ΡŽΡ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ подписано ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π”ΠΎ Android 8.0 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Ρ‹Π» ΠΎΠ±Ρ‰ΠΈΠΌ для всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, послС β€” ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠ»ΡŽΡ‡Π° подписи. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Ρ†Π΅Π»ΠΎΠΌ годится для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² своих прилоТСниях (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подписаны вашим сСртификатом).

БущСствуСт ΠΈ ΠΌΠ΅Π½Π΅Π΅ извСстный способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±Ρ‰ΠΈΠΉ для всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, нСзависимо ΠΎΡ‚ сСртификата подписи. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ настройкС устройства (ΠΈΠ»ΠΈ послС сброса ΠΊ заводским) сСрвисы Google Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π’Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΎ Π½Π΅ΠΌ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ (ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΠΊΠΎΠ½Π΅Ρ† 2020 Π³ΠΎΠ΄Π°).

ДобавляСм строчку Π² Ρ„Π°ΠΉΠ» манифСста Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ модуля:

И Π²ΠΎΡ‚ Ρ‚Π°ΠΊ достаСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€:

Π’ ΠΊΠΎΠ΄Π΅ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ запрос ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ContentProvider-a, Ρ‡Ρ‚ΠΎ поставляСтся с сСрвисами Google. Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Google Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΊ Π½Π΅ΠΌΡƒ доступ простым ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ сСрвисов. И это Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ самой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½ΠΊΠΈ, Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅, Ρ‚.Π΅. доступ закроСтся с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Play Market.

Но это Π½Π΅ самоС ΠΏΠ»ΠΎΡ…ΠΎΠ΅. Π‘Π°ΠΌΡ‹ΠΉ большой нСдостаток Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, ΠΊΠ°ΠΊ Xposed, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π² ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ANDROID_ID, Ρ‚Π°ΠΊ ΠΈ GSF_ID. ΠŸΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ локально сохранСнный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ способа слоТнСС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. 68a9c75405ff08380e0bea8a5370d859. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΎΡ‚ΠΎ. Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚-68a9c75405ff08380e0bea8a5370d859. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Uuid ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 68a9c75405ff08380e0bea8a5370d859ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Device ID Changer Π² связкС с Xposed позволяСт ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ практичСски любой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π’ бСсплатной вСрсии β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ANDROID_ID

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° (fingerprint) устройства

    ИдСя device-fingerprinting Π½Π΅ новая, ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π²Π΅Π±Π΅. Π£ самой популярной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для создания ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° β€” FingerprintJS β€” 13 тысяч Π·Π²Π΅Π·Π΄ Π½Π° GitHub. Она позволяСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Π΅Π· использования cookie.

    Рассмотрим идСю Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ (Ρ†ΠΈΡ„Ρ€Ρ‹ взяты ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ).

    Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡƒΡŽ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Android-прилоТСния. Допустим ΠΎΠ½Π° составляСт 4 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°. Бколько срСди Π½ΠΈΡ… устройств ΠΌΠ°Ρ€ΠΊΠΈ Samsung? Π“ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 600 тысяч. А сколько срСди устройств Samsung Ρ‚Π°ΠΊΠΈΡ…, Ρ‡Ρ‚ΠΎ находятся ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Android 9? Π£ΠΆΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 150 тысяч. Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ срСди послСдних Ρ‚Π°ΠΊΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сканСр ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² ΠΏΠ°Π»ΡŒΡ†Π΅Π²? Π­Ρ‚ΠΎ мноТСство устройств Π΅Ρ‰Π΅ мСньшС, вСдь Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² Π½Π΅Ρ‚ сканСра ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² ΠΏΠ°Π»ΡŒΡ†Π΅Π², Π° соврСмСнныС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° распознаваниС Π»ΠΈΡ†Π°. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ 25000 устройств. Добавляя большС условий ΠΈ получая большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ мноТСств ΠΌΠ°Π»Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². Π’ идСальном случаС β€” с СдинствСнным элСмСнтом Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π§Π΅ΠΌ большС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΡŒ, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ энтропия этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

    Π‘Ρ€Π΅Π΄ΠΈ основных источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Android, доступных Π±Π΅Π· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС, ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ настройки устройства, установлСнныС прилоТСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

    ΠžΠ±Ρ‹Ρ‡Π½ΠΎ всю Π΄ΠΎΠ±Ρ‹Ρ‚ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ…Π΅ΡˆΠΈΡ€ΡƒΡŽΡ‚, получая Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ. Π•Π³ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.

    Из достоинств ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” Π΅Π³ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ прилоТСния (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ANDROID_ID), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… показаниях с источников ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ. ΠžΡ‚ΡΡŽΠ΄Π° ΠΆΠ΅ Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ нСдостаток β€” Ρ€Π°Π·Π½Ρ‹Π΅ устройства с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ.

    Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° β€” Π½Π΅ всС источники ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹. НапримСр, установлСнныС прилоТСния Π΄Π°Π΄ΡƒΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ энтропии. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ устройство Π΄Ρ€ΡƒΠ³Π°, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ² Π»ΠΈ Ρƒ вас Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго β€” Π½Π΅Ρ‚, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь.

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ источников энтропии.

    Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ

    Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ рассмотрСли доступныС способы ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Какой ΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ? Как ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, СдинствСнного ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ сущСствуСт. ВсС зависит ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ ΠΈ ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ бСзопасности прилоТСния.

    Π Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сторонниС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходниками. Π’ этом случаС Π·Π° измСнСниями Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ сообщСство, воврСмя поставляя Π½ΡƒΠΆΠ½Ρ‹Π΅ измСнСния. Π—Π° ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π»Π΅Ρ‚ сущСствования ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅Ρ‚ популярной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ это Π΅ΡΡ‚ΡŒ для Π²Π΅Π±Π°. Но срСди Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° android-arsenal, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π΅, ΠΎΠ±Π΅ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Android-device-identification β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для получСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Будя ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ класса, отвСтствСнного Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ANDROID_ID, ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· класса Build. Π£Π²Ρ‹, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ 2 Π³ΠΎΠ΄Π° ΠΊΠ°ΠΊ Π½Π΅ поддСрТиваСтся, ΠΈ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ скорСС Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½. Но, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρƒ Π½Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅.

    Fingerprint-android β€” совсСм новая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ 2 ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: getDeviceId ΠΈ getFingerprint. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ опираСтся Π½Π° GSF_ID ΠΈ ANDROID_ID, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ, основанный Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… настроСк устройства. Какая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getFingerprint β€” ΠΏΠΎΠΊΠ° нСясно. НСсмотря Π½Π° это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. Она проста Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, написана Π½Π° Kotlin, ΠΈ Π½Π΅ нСсСт Π·Π° собой Π½ΠΈΠΊΠ°ΠΊΠΈΡ… зависимостСй.

    Π’ случаС, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сторонних зависимостСй Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с использованиСм ANDROID_ID ΠΈ GSF_ID. Но стоит ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° измСнСниями Π² обновлСниях Android, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° доступ ΠΊ Π½ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½.

    Если Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ дополнСния β€” Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ Π² коммСнтариях. А Π½Π° этом всС, спасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    РусскиС Π‘Π»ΠΎΠ³ΠΈ

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ UUID?

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ UUID?

    Π§Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ UUID, спСцификация опрСдСляСт элСмСнты, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ MAC-адрСс сСтСвой ΠΊΠ°Ρ€Ρ‚Ρ‹, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ, пространство ΠΈΠΌΠ΅Π½ (Namespace), случайноС ΠΈΠ»ΠΈ псСвдослучайноС число, врСмя ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ UUID ΠΈΠ· этих элСмСнтов. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ характСристики UUID ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрирован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, обСспСчивая Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

    UUID нСльзя ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ссли Π²Ρ‹ Π½Π΅ рискуСтС Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ UUID. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ UUID опрСдСляСт, Ρ‡Ρ‚ΠΎ Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ люди» Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ связан с UUID.

    Π‘ΡƒΠΊΠ²Ρ‹ Π² Π½Π΅ΠΌ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния, нСзависимо ΠΎΡ‚ рСгистра.

    Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (UUID) ΡΠ’ΠΎΡΠ΅ΠΌΡŒ классиковизRFC спСцификация, ЯвляСтся 128-Π±ΠΈΡ‚Π½Ρ‹ΠΌ числом, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ 32 ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ символами, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·Π½Π°ΠΊΠΎΠΌ Β«-Β» посСрСдинС.

    -Timestamp + Π½ΠΎΠΌΠ΅Ρ€ вСрсии UUID, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ‚Ρ€ΠΈ сСгмСнта, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… 16 символов (60 Π±ΠΈΡ‚ + 4 Π±ΠΈΡ‚),
    — ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ часов ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅ 4 символа (13 Π±ΠΈΡ‚ + 3 Π±ΠΈΡ‚),
    — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΡƒΠ·Π»Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 12 символов (48 Π±ΠΈΡ‚),

    UUID ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько вСрсий, ΠΈ каТдая вСрсия ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    UUID, вСрсия 1: UUID Π½Π° основС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹Π΅ 60 Π±ΠΈΡ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, со 100 наносСкундами ΠΊΠ°ΠΊ 1, считая с 15 октября 1582 Π³ΠΎΠ΄Π° (ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π»ΠΈΡ‚ΡŒΡΡ 3655 Π»Π΅Ρ‚, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΆΠ΅Ρ‡ΡŒ большС Ρ†ΠΈΡ„Ρ€, 1582 интСрСсно)

    Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΡƒΠ·Π»Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ 48 Π±ΠΈΡ‚ΠΎΠ², ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… MAC-адрСсом, Ссли Π΅ΡΡ‚ΡŒ нСсколько сСтСвых ΠΊΠ°Ρ€Ρ‚, просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄Π½Ρƒ. Если Ρƒ вас Π½Π΅Ρ‚ сСтСвой ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ случайныС числа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ числа, ΠΈΠ»ΠΈ Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΊΡƒΡ‡Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π½Π° хостов, ΠΈ Ρ…Π΅ΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ… вмСстС.

    16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ измСнСния ΠΌΠ΅Ρ‚ΠΊΠΈ ΡƒΠ·Π»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, смСны сСтСвой ΠΊΠ°Ρ€Ρ‚Ρ‹), ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с систСмой часов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, замСдлСния часов послС пСрСзапуска), ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ случайным, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дублирования.

    Но ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π² вСрсии 1 Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»Π°ΡΡŒ Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π²ΡƒΡ… процСссов Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС, Π½ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ, поэтому строгая вСрсия 1 Π½Π΅ Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

    Бпящий Ρ€Π΅ΠΆΠΈΠΌCustomVersionOneStrategy.java, Π§Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ вСрсии 1 Π΄ΠΎ

    Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Long, состоящий ΠΈΠ· машинного процСсса ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° процСсса, ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ измСнился, ΠΈ достаточно Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Long.

    Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ вСрсии 1-MongoDB

    -Timestamp (4 Π±Π°ΠΉΡ‚Π°, 32 Π±ΠΈΡ‚Π°): находится Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π»ΠΈΡ‚ΡŒΡΡ 136 Π»Π΅Ρ‚ с 1970 Π³ΠΎΠ΄Π°.

    -Machine ID (3 Π±Π°ΠΉΡ‚Π° 24 Π±ΠΈΡ‚): соСдинитС Mac-адрСса всСх сСтСвых ΠΊΠ°Ρ€Ρ‚ вмСстС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ HashCode, ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ int Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ усСчСн, Π° Π·Π°Ρ‚Π΅ΠΌ 3 Π±Π°ΠΉΡ‚Π°. Если Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ случайноС число, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π΅Π΅.

    -Process ID (2 Π±Π°ΠΉΡ‚Π° 16 Π±ΠΈΡ‚): ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ процСсса ΠΈΠ· JMX. Если Π²Ρ‹ Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ…ΡΡˆ ΠΈΠ»ΠΈ случайноС число ΠΈΠΌΠ΅Π½ΠΈ процСсса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ.

    Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля MongoDB Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½Π΅Π΅, Ρ‡Π΅ΠΌ Hibernate, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, врСмСнная ΠΌΠ΅Ρ‚ΠΊΠ° находится Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ΠžΠ±Ρ‰Π°Ρ Π΄Π»ΠΈΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π° Π΄ΠΎ 12 Π±Π°ΠΉΡ‚ΠΎΠ² 96 Π±ΠΈΡ‚, Π½ΠΎ Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ 64 Π±ΠΈΡ‚ Long для сохранСнияНС ΠΌΠΎΠ³Ρƒ Π²ΡΡ‚Π°Ρ‚ΡŒ, ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ массив Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Π°Ρ строка.

    Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π΅ΡΡ‚ΡŒ ошибка Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ автоматичСского увСличСния для Java-вСрсии Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°.

    ДиспСтчСр снСТинок Twitter

    Snowflake Ρ‚Π°ΠΊΠΆΠ΅ являСтся диспСтчСром, сСрвисом Π½Π° основС Thrift, Π½ΠΎ вмСсто простого самоприращСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ redis ΠΎΠ½ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° UUID вСрсии 1.

    Π•ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° длинная 64-битная Π΄Π»ΠΈΠ½Π°, поэтомуIdWorkerРаспрСдСлСны ΠΏΠΎ:

    -Timestamp (42bit) ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ миллисСкунд с 2012 Π³ΠΎΠ΄Π° (ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с 1970 Π³ΠΎΠ΄ΠΎΠΌ) ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π»ΠΈΡ‚ΡŒΡΡ 139 Π»Π΅Ρ‚.
    — ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° (12 Π±ΠΈΡ‚, максимум 4096), Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ Π² миллисСкундах ΠΈ сброс Π½Π° 0 Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄Π½Ρƒ миллисСкунду.
    -DataCenter ID (5 Π±ΠΈΡ‚, максимум 32), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
    — ID Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ (5 Π±ΠΈΡ‚, максимум 32), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ диспСтчСра, достаточно 32 диспСтчСров Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π² ZK.

    МоТно Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это диспСтчСр чисСл, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ, поэтому ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ Long.

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для диспСтчСра этого Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π° Ρ€Π°Π· ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, поэтому Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

    UUID вСрсии 2: Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ UUID DCE

    БСзопасный UUID DCE (распрСдСлСнной Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды) ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ UUID Π½Π° основС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, Π½ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 4 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° POSIX UID ΠΈΠ»ΠΈ GID. Π­Ρ‚Π° вСрсия UUID Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

    UUID вСрсии 3: UUID Π½Π° основС ΠΈΠΌΠ΅Π½ΠΈ (MD5)

    UUID Π½Π° основС ΠΈΠΌΠ΅Π½ΠΈ получаСтся ΠΏΡƒΡ‚Π΅ΠΌ вычислСния Ρ…Π΅Ρˆ-значСния MD5 ΠΈΠΌΠ΅Π½ΠΈ ΠΈ пространства ΠΈΠΌΠ΅Π½. Π­Ρ‚Π° вСрсия UUID Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚: ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ UUID, сгСнСрированных Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½; ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ UUID Π² Ρ€Π°Π·Π½Ρ‹Ρ… пространствах ΠΈΠΌΠ΅Π½; ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ созданиС UUID с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

    UUID вСрсии 4: случайный UUID

    Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ UUID Π½Π° основС случайного числа ΠΈΠ»ΠΈ псСвдослучайного числа. Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ повторСния этого UUID ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ случайныС Π²Π΅Ρ‰ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ»Π΅Ρ‚Π°: Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ принСсСт Π²Π°ΠΌ Ρ†Π΅Π»ΠΎΠ΅ состояниС, Π½ΠΎ Π΄Π΅Ρ€ΡŒΠΌΠΎΠ²Π°Ρ ΡƒΠ΄Π°Ρ‡Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ случайно.

    UUID вСрсии 5: UUID Π½Π° основС ΠΈΠΌΠ΅Π½ΠΈ (SHA1)

    ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ UUID вСрсии 3, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ вычислСнии значСния Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ SHA1 (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ бСзопасного Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ 1).

    Из Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий UUID Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ вСрсия 1/2 ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для использования Π² распрСдСлСнной Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдС ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ; вСрсия 3/5 ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. И Π² срСдах, Π³Π΄Π΅ UUID Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ; Ρ‡Ρ‚ΠΎ касаСтся вСрсии 4, я Π»ΠΈΡ‡Π½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ (хотя это самый простой ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚).

    ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UUID для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ постоянных Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UUID Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ситуациях:

    Для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с СстСствСнными характСристиками Π½Π΅ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΈΠΌΠ΅Π½ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UUID вСрсии 3/5. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π² систСмС. Если UUID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ вСрсии 1, Ссли Π²Ρ‹ случайно ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСстроитС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ этот Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ являСтся этим Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ большС Π½Π΅ являСтся этим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. (Π₯отя ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° ΠΊΠ°ΠΊ удалСнная Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, это услоТняСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.)

    Π― Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ UUID послС прочтСния этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, поэтому ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ содСрТаниС Π½Π΅ содСрТит Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π’ΠΎΡ‚ нСсколько доступных Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Java UUID:

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Hibernate Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ UUID, Π½ΠΎ это Π½Π΅ UUID ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ (стандартной) вСрсии, ΠΈ это Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ рСкомСндуСтся.

    ΠœΠ΅Ρ‚ΠΎΠ΄ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ

    Π‘ΠΎΠ±Ρ€Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ UUID, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

    Shell

    ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» /proc/sys/kernel/random/uuid ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ UUID, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

    libuuid

    НСобходимо ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ uuid ΠΏΡ€ΠΈ компиляции ΠΏΠΎΠ΄ Linux

    Π’ Ubuntu libuuid ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

    boost uuid

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° BoostΠ­Ρ‚ΠΎ пСрСносимая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C ++ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая обСспСчиваСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ UUID.

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ UUID

    Qt QUuid

    функция QUuid createUuid(); ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайного UUID. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅

    CoCreateGuid

    UUID поддСрТиваСтся Π²Ρ‹ΡˆΠ΅ JDK 1.5, использованиС выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *