Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ программисты часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ сохранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ β€” использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π₯ранилищСЗначСния. Π­Ρ‚ΠΎ позволяСт эффСктивно ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСансами, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ слоТной Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π· обращСния ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Однако прямоС ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ слоТной структуры, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ свои Π½ΡŽΠ°Π½ΡΡ‹ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ "ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ" Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах, особСнно Ссли трСбуСтся сСриализация для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ‡Π΅Ρ€Π΅Π· COM-соСдинСниС ΠΈΠ»ΠΈ сохранСния Π² Ρ„Π°ΠΉΠ». ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² записи ΠΈ чтСния Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π°.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π² ΠΏΠΎΡ‚ΠΎΠΊ Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠœΡ‹ рассмотрим ΠΊΠ°ΠΊ встроСнный язык 1Π‘, Ρ‚Π°ΠΊ ΠΈ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с внСшними источниками Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π₯ранилищСЗначСния ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ значСния 1Π‘ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π“Π»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° являСтся Π΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… нСзависимыми ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π½Π°Π±ΠΎΡ€ записСй ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ†Π΅Π»ΡƒΡŽ Π’Π°Π±Π»ΠΈΡ†ΡƒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выполняСт ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… структур это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ количСству строк ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π₯ранилищСЗначСния Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… останутся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ.

ИспользованиС этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ внСшними систСмами ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ измСнится, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° находится "Π² ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅". ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ значСния, связанныС с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ контСкстом выполнСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ссылки Π½Π° Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ сСансом. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам дСсСриализации ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ чтСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСансС.

πŸ’‘

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство "Π Π°Π·ΠΌΠ΅Ρ€" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π₯ранилищСЗначСния. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΊΠ°Π½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΡΠΌΠΎΠ΅ сохранСниС Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ β€” это прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ конструктору ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ ΠΊΠΎΠ΄Π΅ 1Π‘ это выглядит ΠΊΠ°ΠΊ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра Π₯ранилищСЗначСния с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ вашСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ сразу ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π΅Ρ‘ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сформирована ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ конструктора.

Π’Π— = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура", ВипОписанияВипов("БправочникБсылка.НомСнклатура"));

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", ВипОписанияВипов("Число(15,3)"));

// Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π’Π—.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НомСнклатура = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("Π’ΠΎΠ²Π°Ρ€ А");

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 100;

// ΠŸΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(Π’Π—);

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Однако, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ внСшнюю систСму (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвис ΠΈΠ»ΠΈ COM), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΠΎΡ‚ΠΎΠΊ Π±Π°ΠΉΡ‚ΠΎΠ². Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ 1Π‘ Π½Π΅ всСгда совмСстим с внСшними ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π±Π΅Π· явной ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ

Для Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΈΠ»ΠΈ сСтСвыми ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠŸΠΎΡ‚ΠΎΠΊΠ’ΠŸΠ°ΠΌΡΡ‚ΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сСриализованныС Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… массив Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ».

ИспользованиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом записи. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° части ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ. ΠœΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π₯ранилищСЗначСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‡Ρ‚ΠΎ позволяСт Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΡƒΠ΄Π°, ΠΊΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ рСсурсами. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ 1Π‘ это дСлаСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ(). Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого шага ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ памяти Π² Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΡ… процСссах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΈΠ»ΠΈ сСрвСрныС Π²Ρ‹Π·ΠΎΠ²Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊ Π»ΡƒΡ‡ΡˆΠ΅ прямого сохранСния?

ΠŸΡ€ΡΠΌΠΎΠ΅ сохранСниС создаСт копию Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° 1Π‘. Π Π°Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΎΡ‚ΠΎΠΊΠ’ΠŸΠ°ΠΌΡΡ‚ΠΈ позволяСт ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ прСдставлСниСм, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с систСмами, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ 1Π‘, ΠΈΠ»ΠΈ для сохранСния Π² Ρ„Π°ΠΉΠ» Π½Π° дискС.

Алгоритм сСриализации Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΎΡ‚ΠΎΠΊΠ’ΠŸΠ°ΠΌΡΡ‚ΠΈ

Рассмотрим ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт, ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ с использованиСм ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для сохранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ сСти. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаСм ΠΏΠΎΡ‚ΠΎΠΊ, Π·Π°Ρ‚Π΅ΠΌ записываСм Π² Π½Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся позиция указатСля чтСния/записи Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°. ПослС записи Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ оказываСтся Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ сразу ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· сброса ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² Π½Π°Ρ‡Π°Π»ΠΎ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ пустой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠΎΠ·ΠΈΡ†ΠΈΡŽ(0) ΠΏΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΠΎΡ‚ΠΎΠΊ = Новый ΠŸΠΎΡ‚ΠΎΠΊΠ’ΠŸΠ°ΠΌΡΡ‚ΠΈ;

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(Π’Π—);

// Π—Π°ΠΏΠΈΡΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² ΠΏΠΎΡ‚ΠΎΠΊ

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(ΠŸΠΎΡ‚ΠΎΠΊ);

// Бброс ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ для чтСния

ΠŸΠΎΡ‚ΠΎΠΊ.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠΎΠ·ΠΈΡ†ΠΈΡŽ(0);

// Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ (для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ)

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ΅Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ₯ранилищСЗначСния(ΠŸΠΎΡ‚ΠΎΠΊ);

ΠŸΠΎΡ‚ΠΎΠΊ.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

Вакая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ₯ранилищСЗначСния являСтся Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ контСкста ΠΈ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ структуру Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

πŸ’‘

ВсСгда сбрасывайтС ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² ноль послС записи ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ самая частая ошибка, приводящая ΠΊ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² 1Π‘.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сохранСния Π΄Π°Π½Π½Ρ‹Ρ…

Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ прямым созданиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π₯ранилищСЗначСния ΠΈ использованиСм ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Если Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° 1Π‘ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСанса, прямой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΠ·-Π·Π° простоты ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов.

Если ΠΆΠ΅ трСбуСтся ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ внСшний Ρ„Π°ΠΉΠ», ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· HTTP-запрос ΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² рСгистр свСдСний Ρ‚ΠΈΠΏΠ° Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉΠ˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, использованиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² становится ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ систСмы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ массивами, Π° Π½Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰Π°Ρ основныС характСристики ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Она ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ быстро Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для вашСго сцСнария Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ ΠŸΡ€ΡΠΌΠΎΠ΅ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π—Π°ΠΏΠΈΡΡŒ Π² ΠŸΠΎΡ‚ΠΎΠΊΠ’ΠŸΠ°ΠΌΡΡ‚ΠΈ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния Высокая БрСдняя Низкая (зависит ΠΎΡ‚ диска)
ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти МинимальноС Π‘Ρ€Π΅Π΄Π½Π΅Π΅ (Π±ΡƒΡ„Π΅Ρ€) МинимальноС
Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Волько 1Π‘ 1Π‘ + Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ систСмы Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Низкая БрСдняя Высокая

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… (ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк) стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сСриализация Π² ΠΏΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объСма ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях рСкомСндуСтся Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†ΡƒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° части ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ссли это позволяСт Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ сохранСния Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠŸΡ€ΡΠΌΠΎΠ΅ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
Π—Π°ΠΏΠΈΡΡŒ Π² ΠΏΠΎΡ‚ΠΎΠΊ
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ рСгистры свСдСний

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ восстановлСниС Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Ρ‹ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ окаТСтся нСсовмСстимым. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ₯ранилищСЗначСния ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ссли ΠΏΠΎΡ‚ΠΎΠΊ пуст ΠΈΠ»ΠΈ содСрТит Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΈΡ… ситуаций Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² Π±Π»ΠΎΠΊΠ΅ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Частой ошибкой являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ записаны Π² ΠΎΠ΄Π½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π° Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, хотя 1Π‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ обСспСчиваСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. Π‘ΠΎΠ»Π΅Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ являСтся ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΡ€ΠΈ сСтСвой ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅. ВсСгда провСряйтС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ дСсСриализациСй.

Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ "НСвСрный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ", ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, записанныС Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, просто ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Π₯ранилищСЗначСния). Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°ΠΉΡ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° строго ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ сСриализации 1Π‘.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ довСряйтС Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников, Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° большС нуля ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°Π½Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ слоТных случаСв ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ сохранСниС ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² Ρ„Π°ΠΉΠ» Π½Π° дискС ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ срСдствами самой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ спСциализированными ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ: Π² ΠΊΠΎΠ΄Π΅ записи ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ чтСния.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…

Когда Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ содСрТит дСсятки ΠΈΠ»ΠΈ сотни тысяч строк, процСсс помСщСния Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ "ΡƒΠ·ΠΊΠΈΠΌ мСстом". БСриализация слоТных Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ структуры ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ начинаСтся с упрощСния структуры Π΄Π°Π½Π½Ρ‹Ρ….

РСкомСндуСтся ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ послС восстановлСния. Π›ΠΈΡˆΠ½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ() ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм, Ссли Π² этом Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ.

  • πŸš€ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ для ускорСния сСриализации.
  • πŸ—‘οΈ УдаляйтС пустыС строки ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.
  • ⚑ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… структур Π²Π½ΡƒΡ‚Ρ€ΠΈ ячССк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • πŸ“¦ Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎ 10-20 тысяч строк.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр 1Π‘. Массовая сСриализация Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² нСсколькими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ росту потрСблСния памяти сСрвСрным процСссом rmngr ΠΈΠ»ΠΈ rphost. ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя ΠΈΠ»ΠΈ выполняйтС ΠΈΡ… Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ рСсурсов.

МоТно Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ„Π°ΠΉΠ» Π±Π΅Π· Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°?

НСт, стандартными срСдствами 1Π‘ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° "Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»". НСобходимо сначала ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Ρ‘ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π₯ранилищСЗначСния, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ это Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ сохраняСтся Π² Ρ„Π°ΠΉΠ».

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π₯ранилищСмЗначСния ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…?

Π₯ранилищСЗначСния β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚ ΠΎ Ρ‚ΠΈΠΏΠ΅ сохраняСмых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π‘ΡƒΡ„Π΅Ρ€Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π”Π°Π½Π½Ρ‹Ρ… β€” это просто массив Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ содСрТащий ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ структурС содСрТимого.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ЗначСния?

Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π₯ранилищСЗначСния Π΅ΡΡ‚ΡŒ свойство Π Π°Π·ΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΡΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "ΠŸΠΎΡ‚ΠΎΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚"?

Π­Ρ‚Π° ошибка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Π±Ρ‹Π» Π·Π°ΠΊΡ€Ρ‹Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ(). Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ происходит Π΄ΠΎ закрытия ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΈΠ»ΠΈ создайтС Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр ΠΏΠΎΡ‚ΠΎΠΊΠ° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния.