JavaScript Π·Π°ΠΌΠ΅ΡΠΊΠΈ
Open in Telegram
Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ JavaScript. ΠΠ±ΡΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡ Π½Π°Π²ΡΠΊΠΈ Π²ΠΎ Frontend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ :) Π‘ΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ: @noname_media ΠΠ°Π½Π°Π» Π½Π° Π±ΠΈΡΠΆΠ΅: telega.in/channels/notesjs/card?r=Wj7h1mbl
Show more7 571
Subscribers
No data24 hours
-97 days
-6230 days
Posts Archive
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ sessionStorage Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΠΈ
sessionStorage ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ
, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅
Π‘ ΠΠΎΠ²ΡΠΌ Π³ΠΎΠ΄ΠΎΠΌ, Π½Π°ΡΠΈ Π΄ΠΎΡΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈπ
ΠΡΡΡΡ 2024 ΠΏΡΠΈΠ½Π΅ΡΡΡ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π°Π³Π°ΠΆ Ρ
ΠΎΡΠΎΡΠΈΡ
Π²ΠΎΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ!
Π‘ΠΎΠΎΠ±ΡΠ°ΡΡΡΡ Π»ΠΈ Π²Π°ΡΠΈ ΡΠ΅ΡΡΡ?
Π§ΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠΈΡ
Π·Π°Π΄Π°ΡΠ°Ρ
, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ.
Π‘ ΡΠ΅Ρ
ΠΏΠΎΡ ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ ΠΏΠΎΠ½ΡΠ»ΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ ΡΡΠ°Π»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΌΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΡΡΠ°ΡΡΠ° ΡΠ°Π±ΠΎΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
Π Π΅ΠΊΡΡΡΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° Π΅ΡΡΡ ΠΏΡΠΎΡΡΠ°Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
factorial, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΡΠΈΡΠ»Π° n. ΠΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ n - 1, ΠΏΠΎΠΊΠ° n Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 1.
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ factorialMemoized, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΡ. ΠΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΡ - ΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΠΊΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ memo Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² factorialMemoized. ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ n, ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΈΠ· memo, ΠΈΠ½Π°ΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ Π² memo.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ factorialMemoized Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠΈΡΠ΅Π», ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ n.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅Π ΠΎΠ°Π΄ΠΌΡΠΏ ΠΏΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Ρ ΠΎΡ KTS
ΠΠ΅ΡΠ΅Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΊΡΡΡΠ° Β«ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΉ React-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ» ΠΌΡ ΠΏΡΠΎΠ²Π΅Π»ΠΈ Π²Π΅Π±ΠΈΠ½Π°Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ Π½Π° ΡΡΠ½ΠΊΠ΅ ΡΡΡΠ΄Π°. ΠΠΎΡΠ»Π΅ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π²ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅.
ΠΡΠ½ΠΊΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ°Π΄ΠΌΡΠΏΠ° ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π»ΠΈ ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ°. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
ΡΠ΅ΠΌ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΡΡΠ΄ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ ΠΈ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ.
Π‘ΡΠ°ΡΡΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΈ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π² JavaScript - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡ
ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΅Π΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅
forEach - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² arr ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° callback. ΠΠ½Π° ΠΈΡΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ callback Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΡ printItem ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² numbers ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ forEach, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ printItem ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅Facebook Π²ΡΠΏΡΡΡΠΈΠ» Π½ΠΎΠ²ΡΡ CSS-in-JS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ β StyleX
ΠΠ΅ΡΠ½Π΅ΠΉ ΠΎΡΠΎΡΠΌΠΈΠ» 5 Π΄Π΅ΠΊΠ°Π±ΡΡ 2023 Π³ΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠΎ, ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ. ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ js-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΡΠΈΠΏΠ° React, Preact, Solid, lit-html ΠΈ Angular, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡΠΈΠ΅ html ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ Vue ΠΈ Svelte ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ StyleX, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΅Ρ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΠ³ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ΡΠ° ΠΈΠ· Π―Π½Π΄Π΅ΠΊΡ
ΠΠΈΡΠ΅Ρ ΠΏΡΠΎ:
- ΠΆΠΈΠ·Π½Ρ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅
- ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π°
- ΡΠ²ΠΎΡ ΠΆΠΈΠ·Π½Ρ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ ππΌ @dlents
Π Π°Π±ΠΎΡΠ° Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ: ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Π Π°Π±ΠΎΡΠ° Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΡΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π² JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Intl, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Intl ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»Π°, Π΄Π°ΡΡ, Π²Π°Π»ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½Π°.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Intl Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°
new Intl.NumberFormat(). ΠΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ·ΡΠΊ ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ 'en-US' Π΄Π»Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² Π‘Π¨Π) ΠΈ ΠΎΠΏΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈΠ»Ρ 'currency' ΠΈ Π²Π°Π»ΡΡΡ 'USD').
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ format() ΠΎΠ±ΡΠ΅ΠΊΡΠ° Intl Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ»Π° amount Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΠΌ ΡΠΈΡΠ»ΠΎ Π² Π΄Π΅Π½Π΅ΠΆΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅Π‘Π±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° Π² JavaScript
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½Π°Ρ, Ρ
ΠΎΡΡ Π±Ρ ΡΠ°Π·, ΡΠ»ΡΡΠ°Π» ΠΎ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ°. ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π³Π΄Π΅-ΡΠΎ ΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, ΡΠ±ΠΈΡΠ°Ρ Π·Π° Π½Π°ΠΌΠΈ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠΎ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π½Π°Ρ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΡΡΡΠΎΠ΅Π½ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ?
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π·Π°Π³Π»ΡΠ½Π΅ΠΌ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΏΠΎΠΉΠΌΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΈ ΠΈΠ·ΡΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°.
ΠΠΎΠ΅Ρ
Π°Π»ΠΈ ΡΠ±ΠΈΡΠ°ΡΡΡΡ!
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
Π Π°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Canvas Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
Π Π°Π±ΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Canvas, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΈ ΠΊΡΠ°ΡΠΎΡΠ½ΡΡ
Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Canvas - ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ HTML5, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ½ΠΈΠΈ, ΡΠΈΠ³ΡΡΡ, ΡΠ΅ΠΊΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Canvas Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°
getContext(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ fillRect() Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, stroke() Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΠΈ fillText() Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ²Π΅Ρ Π·Π°Π»ΠΈΠ²ΠΊΠΈ (fillStyle), ΡΠ²Π΅Ρ ΠΎΠ±Π²ΠΎΠ΄ΠΊΠΈ (strokeStyle), ΡΠΎΠ»ΡΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ (lineWidth) ΠΈ ΡΡΠΈΡΡ (font).
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ΠΠ±Π·ΠΎΡ Π½Π° Π½ΠΎΠ²ΡΡ CSS-in-JS Π»ΠΈΠ±Ρ ΠΎΡ Facebook* β StyleX
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Facebook* (aka Meta**) Π²ΡΠΏΡΡΡΠΈΠ»Π° Π² ΠΎΠΏΠ΅Π½ΡΠΎΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ CSS-in-JS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ StyleX. ΠΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΎΠ½Π° ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ Π΅Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΡΠΎΠΌΠ°Π½Ρ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Higher-Order Functions Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
Higher-Order Functions (ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°) ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅
ΠΠ°ΠΊ ΠΌΡ Π²Π½Π΅Π΄ΡΡΠ»ΠΈ Sentry
Π ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ°Π· ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Sentry ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ: ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ
self-hosted, Π΄Π΅Π»Π°Π»ΠΈ Π΅Π³ΠΎ Π²ΡΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅ΡΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ td-agent, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΆΠΈΠ΄Π°ΡΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ async/await Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ
async/await ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π΄Π΅Π»Π°Ρ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΎΡΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ AJV, Vue.js ΠΈ TypeScript
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΎΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ frontend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ AJV ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Vue.js ΠΈ TypeScript Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΡΠΎΡΠΌΡ.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Map Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°Ρ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅"
Map ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅", Π³Π΄Π΅ ΠΊΠ»ΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅
ΠΠ½Π°ΡΠΎΠΌΠΈΡ shadcn/ui
ΠΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π½ΠΎΠ²ΠΈΠ½ΠΊΠ°ΠΌΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ JavaScript, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ± ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (user interface, UI) ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ shadcn/ui. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅ΡΠ° npm, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
shadcn/ui Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (command line interface, CLI), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ shadcn/ui.
#ΡΡΠ°ΡΡΡ
β€οΈ ΠΡΠΎΠΆΠΈΠΌΠ°ΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
π Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡβΌοΈ ΠΠΠΠ’ΠΠ«Π ΠΠ£Π Π‘Π« ΠΠ‘Π βΌοΈ
Π Reactify | Frontend Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°! ΠΡΡΡ Π²ΡΠ΅ Π΄Π»Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ!
- ΠΠ΄Π΅ Π±ΡΠ°ΡΡ ΠΎΠΏΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ?
- ΠΠ°ΠΊ ΠΎΡΠ²ΠΎΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ΅ΠΎΡΠΈΡ?
- ΠΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ?
ΠΠ±ΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ Π² βοΈTelegram ΠΈ πΉYouTube ΠΊΠ°Π½Π°Π»Π°Ρ
. Π Π΅ΡΠ΅ ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ:
π Reactify Academy - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ ΠΊΡΡΡΠ°ΠΌΠΈ, Π»Π΅ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΌΠΈ ΠΈ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ.
π¨βπ» Reactify Teams - ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΡΠ°Π±ΠΎΡΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
, code review ΠΈ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Set Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
Set ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΈ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ.
#ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅
