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: |

Golang Books from hk


Telegram Golang Books
FROM USA