Π Π°Π·ΠΌΠ΅Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ° Go: ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ Π±Π΅ΡΡΡΡΡ ΠΈ ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ
ΠΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Go Π²Π΅ΡΠΈΡ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠΎΡΠ° ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, ΠΈ ΡΡΠΎ Π½Π΅ Β«ΡΠ°Π·Π΄ΡΡΠΎΡΡΡΒ», Π° ΠΏΠ»Π°ΡΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ·ΡΠΊΠ°: Π² Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Π²Ρ
ΠΎΠ΄ΡΡ ΡΠ°Π½ΡΠ°ΠΉΠΌ ΡΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ° ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ, ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ, ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π² ΠΎΠ±ΡΡΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ ΡΠΆΠ΅ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ Β«ΡΠ±ΡΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡΒ» ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡ ΡΡΠ½ΡΠ» Π·Π° ΡΠΎΠ±ΠΎΠΉ Π±ΠΎΠ»ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ. Π§ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»: -ldflags '-s -w' ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ β ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΡ; -trimpath Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΠΏΡΡΠΈ; ΠΎΡΠΊΠ°Π· ΠΎΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΡ Π²ΡΠ±ΡΠΎΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅. Π‘Π°ΠΌΡΠΉ Π·Π°ΠΌΠ΅ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ Π΄Π°ΡΡ Π½Π΅ ΡΠ»Π°Π³ΠΈ, Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: ΠΎΠ΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΡΠΎΠ΄Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΠ±Π»Π°ΠΊΠ° ΠΈΠ»ΠΈ gRPC Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° β go tool nm ΠΈ go-size-analyzer. Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π²ΡΠΎΠ΄Π΅ UPX ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠ» Π²ΡΡΠΎΠ΅, Π½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΡΠ°ΡΡ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠΎΠ².