ΠΡΠ°ΠΊ, Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ KLE Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² JS, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ JSON, ΠΈ ΡΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΡΡ.
ΠΠΎ Π°Π²ΡΠΎΡ KLE ΡΠ΅ΡΠΈΠ» ΡΠ°ΠΊ Π½Π΅ Π΄Π΅Π»Π°ΡΡ, ΠΈ ΠΎΠ½ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΡΠ»ΠΎΠΆΠ½ΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ "ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ", Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Ρ ΠΈΡΡΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠ΄Ρ, ΡΡΠΎΠ±Ρ Π½Π° ΡΡΠΎΠΌ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ΅ΡΡΠΎ. Π§ΡΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ Π±Π°Π³ΠΈ. ΠΠ°ΠΊ Ρ ΠΏΠΎΠ½ΡΠ», Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡΠ΅Π³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° - ΡΡΠΎ ΡΡΠΎΠ±Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ» ΡΠΆΠ°Ρ, ΠΈ Π½Π° gist Ρ ΡΠ°Π½ΠΈΠ»ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
Π― ΠΆΠ΅ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°, ΠΈ Ρ ΡΠ°Π½Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠ΅ΠΉ KLE, ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ.
Π’Π°ΠΊ Π²ΠΎΡ, Ρ ΠΊΠ°ΠΊ-ΡΠΎ Π²ΡΡΠΊΠ°Π·Π°Π» ΠΈΠ΄Π΅Ρ ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: ΡΡΠΏΠΎ Π²Π·ΡΡΡ json ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΡΠ±ΡΠ°Π² Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ, Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ°ΡΡ zip'ΠΎΠΌ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² base64 ΠΈ ΡΠ°ΠΊ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π½Π° gist.
Π Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΎΠ²ΡΠ» ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ:
-
ΠΠΎΠΉ ΡΠ°ΠΌΡΠΉ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ»ΠΎΠΉ, Π³Π΄Π΅ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Ρ Π²ΡΡΠΊΠΈΠ΅ Π°ΠΊΠΊΠΎΡΠ΄Ρ, Π² Π½Π΅ΡΠΆΠ°ΡΠΎΠΌ Π²ΠΈΠ΄Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 137.1ΠΊΠ±.
-
ΠΠΎΡΠ»Π΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² base64 ΠΎΠ½ ΡΡΠ°Π» Π·Π°Π½ΠΈΠΌΠ°ΡΡ 7.1ΠΊΠ±, ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ.
-
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ KLE Π²ΡΠ΄Π°ΡΡ json'ΠΊΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10.8ΠΊΠ±.
-
ΠΠΎΡΠ»Π΅ ΡΠΆΠ°ΡΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 2.1ΠΊΠ±.
Π― ΡΠΆΠΈΠΌΠ°Π» ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:
cat $1 | jq -c . | gzip -9 -c - | base64 > minified_zip.base64
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΏΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ + ΡΡΠΏΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ = ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π°Π²ΡΠΎΡΠ°. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π°Π²ΡΠΎΡΠ° ΠΈ ΡΠΆΠ°ΡΠΈΠ΅, ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΡΡΠ΄Π΅ΡΠ°.
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΈ ΡΡΠ΄Π΅ΡΠ° ΡΠΎΠ³ΠΎ Π½Π΅ ΡΡΠΎΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΠΈ Π² Π½ΡΠΌ ΠΈΠΌΠ΅ΡΡΡΡ Π±Π°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠΈΠΊΡΠΈΡΡ ΡΠΆΠ΅ 2 Π³ΠΎΠ΄Π°.
ΠΠ· ΡΠ΅Π³ΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄: Π΅ΡΠ»ΠΈ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠ΅Π±Π΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ json-ΠΊΠΈ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π° gist, ΡΠΎ Π»ΡΡΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· zip+base64, ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ. Json'ΠΊΠΈ Π²ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ Π²ΡΠ΅ ΠΈΡ Π² ΡΠ²ΠΎΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΡΠΌΠΎΠ³Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.