Telegram Group & Telegram Channel
πŸ‘£ "Leak and Seek: A Go Runtime Mystery" Π½Π° сайтС Cyolo описываСт расслСдованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° выявлСниС ΠΈ устранСниС ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, написанном Π½Π° языкС программирования Go.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сборку мусора для управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»Π°ΡΡŒ с Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΡƒΡ‚Π΅Ρ‡ΠΊΠΎΠΉ, связанной с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ SqliteRows, SqliteStmt ΠΈ SqliteConn.​


ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΡΡ‚Π°Ρ‚ΡŒΠΈ:
- Начало расслСдования: ПослС сообщСний ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Ρ‡Π°Π»Π° ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ памяти ΠΈ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ источник ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ.​

- Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½: Анализ ΠΏΠΎΠΊΠ°Π·Π°Π» отсутствиС накоплСния Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ, связанныС с Π½ΠΈΠΌΠΈ.​

- ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ SQLite3: Π“Ρ€Π°Ρ„ΠΈΠΊ распрСдСлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² памяти ΡƒΠΊΠ°Π·Π°Π» Π½Π° ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ SQLite3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.​

- Анализ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²: Команда ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ для SqliteRows ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ СдинствСнной Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹, отвСтствСнной Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСх Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Go. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ накоплСнию нСосвобоТдСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ памяти.​
Cyolo

- ИспользованиС инструмСнта goref: Для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»Π° инструмСнт goref, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ ссылок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΡƒΡ‡Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»ΠΎ отсутствиС ΠΆΠΈΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡƒΡ‚Π΅ΠΊΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² самом Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅ Go.​

- ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² go-smb2: Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±Ρ‹Π»ΠΎ выявлСно, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ go-smb2 ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ остановкС Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ памяти.​
Cyolo

- Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ: Команда сообщила ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ сообщСству Go, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ² ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для обнаруТСния ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ².​

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

πŸ“Œ Π§ΠΈΡ‚Π°Ρ‚ΡŒ
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/golang_books/951
Create:
Last Update:

πŸ‘£ "Leak and Seek: A Go Runtime Mystery" Π½Π° сайтС Cyolo описываСт расслСдованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° выявлСниС ΠΈ устранСниС ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, написанном Π½Π° языкС программирования Go.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сборку мусора для управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»Π°ΡΡŒ с Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΡƒΡ‚Π΅Ρ‡ΠΊΠΎΠΉ, связанной с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ SqliteRows, SqliteStmt ΠΈ SqliteConn.​


ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΡΡ‚Π°Ρ‚ΡŒΠΈ:
- Начало расслСдования: ПослС сообщСний ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Ρ‡Π°Π»Π° ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ памяти ΠΈ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ источник ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ.​

- Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½: Анализ ΠΏΠΎΠΊΠ°Π·Π°Π» отсутствиС накоплСния Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ, связанныС с Π½ΠΈΠΌΠΈ.​

- ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ SQLite3: Π“Ρ€Π°Ρ„ΠΈΠΊ распрСдСлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² памяти ΡƒΠΊΠ°Π·Π°Π» Π½Π° ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ SQLite3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.​

- Анализ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²: Команда ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ для SqliteRows ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ СдинствСнной Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹, отвСтствСнной Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСх Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Go. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ накоплСнию нСосвобоТдСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ памяти.​
Cyolo

- ИспользованиС инструмСнта goref: Для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»Π° инструмСнт goref, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ ссылок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΡƒΡ‡Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»ΠΎ отсутствиС ΠΆΠΈΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡƒΡ‚Π΅ΠΊΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² самом Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅ Go.​

- ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² go-smb2: Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±Ρ‹Π»ΠΎ выявлСно, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ go-smb2 ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ остановкС Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ памяти.​
Cyolo

- Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ: Команда сообщила ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ сообщСству Go, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ² ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для обнаруТСния ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ Ρ„ΠΈΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ².​

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

πŸ“Œ Π§ΠΈΡ‚Π°Ρ‚ΡŒ

BY Golang Books




Share with your friend now:
tg-me.com/golang_books/951

View MORE
Open in Telegram


Golang Books Telegram | DID YOU KNOW?

Date: |

To pay the bills, Mr. Durov is issuing investors $1 billion to $1.5 billion of company debt, with the promise of discounted equity if the company eventually goes public, the people briefed on the plans said. He has also announced plans to start selling ads in public Telegram channels as soon as later this year, as well as offering other premium services for businesses and users.

Export WhatsApp stickers to Telegram on Android

From the Files app, scroll down to Internal storage, and tap on WhatsApp. Once you’re there, go to Media and then WhatsApp Stickers. Don’t be surprised if you find a large number of files in that folderβ€”it holds your personal collection of stickers and every one you’ve ever received. Even the bad ones.Tap the three dots in the top right corner of your screen to Select all. If you want to trim the fat and grab only the best of the best, this is the perfect time to do so: choose the ones you want to export by long-pressing one file to activate selection mode, and then tapping on the rest. Once you’re done, hit the Share button (that β€œless than”-like symbol at the top of your screen). If you have a big collectionβ€”more than 500 stickers, for exampleβ€”it’s possible that nothing will happen when you tap the Share button. Be patientβ€”your phone’s just struggling with a heavy load.On the menu that pops from the bottom of the screen, choose Telegram, and then select the chat named Saved messages. This is a chat only you can see, and it will serve as your sticker bank. Unlike WhatsApp, Telegram doesn’t store your favorite stickers in a quick-access reservoir right beside the typing field, but you’ll be able to snatch them out of your Saved messages chat and forward them to any of your Telegram contacts. This also means you won’t have a quick way to save incoming stickers like you did on WhatsApp, so you’ll have to forward them from one chat to the other.

Golang Books from es


Telegram Golang Books
FROM USA