рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рддреАрди рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рд╣реА рдЦреБрдж рдХреЛ рдЖрдИрдЯреА рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдбреБрдмрд╛рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред рд╕рдЪрдореБрдЪ, рддреАрди рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рдореБрдЭреЗ HTML рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдореЗрд░рд╛ рдкрд░рд┐рдЪрдп 10 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкрд╛рд╕реНрдХрд▓ рдкрд░ рдПрдХ рд╕реНрдХреВрд▓ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдПрдХ рдЖрдИрдЯреА рд╢рд┐рд╡рд┐рд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд╣рд╛рдБ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЙрдЯ рдмрдирд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рддрдп рдХрд░ рд▓рд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЙрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд╕реЗ рдПрдХ рд▓рдВрдмреА рдпрд╛рддреНрд░рд╛ рд╢реБрд░реВ рд╣реБрдИ рдЬрд┐рд╕рдореЗрдВ рдореИрдВ:

  • рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛,
  • GitHub рдкрд░ рдкрдВрдЬреАрдХреГрдд,
  • рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реАрдЦрд╛,
  • рдЕрдВрдЧреНрд░реЗрдЬреА рдФрд░ рд░реВрд╕реА рдореЗрдВ рдвреЗрд░ рд╕рд╛рд░реЗ рд▓реЗрдЦ рдкрдврд╝реЗрдВ,
  • рдЕрдВрддрддрдГ рдПрдХ рдмреЙрдЯ рдмрдирд╛рдпрд╛,
  • рдЖрдЦрд╝рд┐рд░рдХрд╛рд░ рдореИрдВрдиреЗ рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ред

рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛:

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рд╣реИ - рдмрд╕ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╢реБрд░реБрдЖрдд рд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдХрд░реЗрдВред

рдФрд░ рдпрд╣ рднреА - рдЙрдиреНрдирдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП - рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдереЛрдбрд╝рд╛ рд╣рдВрд╕рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

1. JS рдореЗрдВ рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ?

рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрдо рд╕реЗ рдХрдо рднрд╛рд╖рд╛ рдХреЗ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдордЭрдирд╛ рдЙрдЪрд┐рдд рдерд╛ред рд╡рд┐рдХрд▓реНрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдкрдбрд╝рд╛, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ рдХрджрдо рд░рд┐рдПрдХреНрдЯрдиреЗрдЯрд┐рд╡ рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдерд╛ред рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдХреА рд╡рд┐рдирд┐рдордп рджрд░ Codecademy рдкрд░ рдФрд░ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рд╣реБрдЖред рдкрд╣рд▓реЗ 7 рджрд┐рди рдирд┐рдГрд╢реБрд▓реНрдХ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИред рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд░реАрдм 25 рдШрдВрдЯреЗ рд▓рдЧреЗ. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдм рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдерд╛ред рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдкрд╣рд▓рд╛ рдЦрдВрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

2. рдмреЙрдЯ рдХрд╛ рдкрдВрдЬреАрдХрд░рдг рдХреИрд╕реЗ рдХрд░реЗрдВ?

рдЗрд╕рд╕реЗ рдореБрдЭреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХрд╛рдлреА рдорджрдж рдорд┐рд▓реА рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рдЕрд░реНрдЪрд╛рдХреЛрд╡ рдХреЗ рдмреНрд▓реЙрдЧ рд╕реЗред рд╡рд╣ рд╢реБрд░реВ рд╕реЗ рд╣реА рдЪрдмрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдмреЙрдЯ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛, рдФрд░ рдЪреВрдБрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рд╕рд╛рд░ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдЖрдкрдХреЛ рдПрдХ рдмреЙрдЯ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдХреА рдПрдкреАрдЖрдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рд╣реЛрдЧреАред рдпрд╣ рдПрдХ рдЕрдиреНрдп рдмреЙрдЯ - @BotFather рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рдвреВрдВрдвреЗрдВ, рдЙрд╕реЗ рд▓рд┐рдЦреЗрдВ, рд╕рд░рд▓ рдорд╛рд░реНрдЧ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ рдФрд░ рдПрдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд╕рд╣реЗрдЬреЗрдВ!) (рдпрд╣ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ)ред рдпрд╣ рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдЖрдпрд╛.

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

3. рдмреЙрдЯ рдХреЛрдб рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓реЗрдЦреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдерд╛ рддрд╛рдХрд┐ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдХреЛрдб рдХреЗ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдиреА рдкрдбрд╝реЗред рдореБрдЭреЗ рдврд╛рдВрдЪрд╛ рдорд┐рд▓ рдЧрдпрд╛ рддрд╛рд░, рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдПрдирдкреАрдПрдо рдпрд╛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рддрдм рдореБрдЭреЗ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рдХрд┐ рдмреЙрдЯ рдХреА рддреИрдирд╛рддреА рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣рд╛рдБ рд╣рдБрд╕реЛ. рдореИрдВ рдирд╛рд░рд╛рдЬ рдирд╣реАрдВ рд╣реЛрдКрдВрдЧрд╛. рдмреЙрдЯ рдХреЗ рдмрд╛рдж рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдкреГрд╖реНрда рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдиреЗ рдореЗрд░реА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдорджрдж рдХреА:

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

3. 100 рд░реВрдмрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдмрд╣реБрдд рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдКрдкрд░ рдХреА рддрд╕реНрд╡реАрд░ рдореЗрдВ 'рдПрдирдкреАрдПрдо' рдХрдорд╛рдВрдб рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╣рд░ рдЬрдЧрд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ NodePackageManager рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдореИрдВ ChromeOS рд╡рд╛рд▓реЗ PixelBook рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдпрд╣рд╛рдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдЦрдВрдб рдЫреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рдХреИрд╕реЗ рд╕реАрдЦрд╛ - рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЦрд╛рд▓реА рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬрд╝ рдпрд╛ рдореИрдХрдмреБрдХ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрдВрд╕реЛрд▓ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореИрдВрдиреЗ рдХреНрд░реЙрд╕реНрдЯрд┐рдиреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдмреЙрдЯ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд░ рд╕рд┐рд░реНрдл рддрдм рдирд╣реАрдВ рдЬрдм рдореЗрд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдЪрд╛рд▓реВ рд╣реЛ), рдореБрдЭреЗ рдПрдХ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЪреБрдирд╛ vsscale.io рдореИрдВрдиреЗ 100 рд░реВрдмрд▓ рдЦрд░реНрдЪ рдХрд┐рдП рдФрд░ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдЦрд░реАрджрд╛ (рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВ)ред

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

4. рдмреЙрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВ

рдЙрд╕рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдХреЛрдб рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓реВрдБрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реЛрд▓ рдореЗрдВ ("рдУрдкрди рдХрдВрд╕реЛрд▓" рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЪрд▓рд╛рдПрдВ), рдореИрдВрдиреЗ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛

mkdir bot

рдмреЙрдЯ - рдпрд╣ рдореЗрд░реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрди рдЧрдпрд╛. рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ npm рдФрд░ Node.js рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдЬреЛ рдореБрдЭреЗ *.js рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛

sudo apt update
sudo apt install nodejs
sudo apt install npm

рдореИрдВ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЖрдкрдХреЗ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣рд╛рдБ рдЕрдиреБрджреЗрд╢ рдпрд╣ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

5. рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред

рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдЦреЛрдЬ рд╣реИред рдХреЛрдИ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд╡рд▓ рдкрд╛рда рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рднреА рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдмрд╕ рдЗрддрдирд╛ рд╣реАред рддреБрдо рд╕реБрдВрджрд░ рд╣реЛред рдореИрдВрдиреЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдкрд░рдорд╛рдгреБ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдорд╛рдирдХ рдиреЛрдЯрдкреИрдб рдореЗрдВ рд╣реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдмрд╛рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╛рдж рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред рдпрд╣ рд╡рд░реНрдб рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЙрд╕реЗ рд╕реЗрд╡ рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдл рдкреЗрдЬ рдкрд░ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреЛрдб рдбрд╛рд▓рд╛ рдФрд░ рдЗрд╕реЗ Index.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдирд╛рдо рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рдерд╛рдЧрдд рд╣реИ)ред рдорд╣рддреНрд╡рдкреВрд░реНрдг - BOT_TOKEN рдХреЗ рдмрдЬрд╛рдп, рджреВрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рдЕрдкрдиреА API рдХреБрдВрдЬреА рдбрд╛рд▓реЗрдВред

const Telegraf = require('telegraf')

const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome!'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()

6. рдЬреАрдердм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХреЛрдб рдХреИрд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ

рдЕрдм рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдирд╛ рдерд╛ред рдпреЗ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЪреБрдиреМрддреА рдмрди рдЧрдИ. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХрд╛рдлреА рдорд╢рдХреНрдХрдд рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЬреАрдердм рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ GitHub рдФрд░ рдХрд┐рдпрд╛ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреАред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдереА рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЦрд╛рддреЗ (рдЦреБрд▓реЗ!) рд╕реЗ рдмреЙрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХрд░реВрдБ (рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрдЪрд╛рдирдХ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдмрд╕ рд╕реАрдбреА рдмреЙрдЯ рд▓рд┐рдЦреЗрдВ)ред

7. рдЬреАрдердм рднрд╛рдЧ 2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреИрд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ

рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рдЧрд┐рдЯ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ git рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛

apt-get install git

рдЙрд╕рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝реАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛

git clone git://github.com/b0tank/bot.git bot

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдм рдХреБрдЫ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рд╣реЛ рдЧрдпрд╛ред рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЧрд▓рддреА рдпрд╣ рдереА рдХрд┐ рдореИрдВрдиреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдмреЙрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рджреВрд╕рд░рд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛ рджрд┐рдпрд╛ рдерд╛ред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ */bot/bot/index.js рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рдерд╛

рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдл рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕реЗ рд╣рдо рдХреЛрдб рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВред

npm install telegraf

8. рдмреЙрдЯ рдХреИрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реБрдП (рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдореЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ cd bot рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рд╡рд╣реАрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдк рдПрдХ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ ls -a

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛

node index.js

рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдмреЙрдЯ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрд╕реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рдЦреЛрдЬреЗрдВ. рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ, рддреЛ рдмрд┐рдВрджреБ 1 рд╕реЗ рдЕрдкрдирд╛ рдЬреНрдЮрд╛рди рд▓рд╛рдЧреВ рдХрд░реЗрдВред

9. рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдмреЙрдЯ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ

рдмрд╣реБрдд рдЬрд▓реНрджреА рдЖрдкрдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрдЧрд╛ рдХрд┐ рдмреЙрдЯ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕реНрд╡рдпрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдмреИрдареЗ рд╣реЛрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛

screen

рдЗрд╕рдХреЗ рдмрд╛рдж рдХреБрдЫ рдЯреЗрдХреНрд╕реНрдЯ рд╡рд╛рд▓реА рдПрдХ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреА. рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ. рдЖрдк рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВред рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП - рдпрд╣рд╛рдБ рд▓реЗрдЦ рд╣реИ. рдмрд╕ рдЕрдкрдиреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рдмреЙрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ

node index.js

10. рдмреЙрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╣рдорд╛рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдмреЙрдЯ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рд╡рд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ

bot.start((ctx) => ctx.reply('Welcome!'))

рдХрд╣реЛ "рд╕реНрд╡рд╛рдЧрдд рд╣реИ!" рдкреНрд░рд╛рд░рдВрдн рдХреЗ рд╕рдордп (рдкрд╛рда рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ)

bot.help((ctx) => ctx.reply('Send me a sticker'))

рдорд╛рдирдХ / рд╕рд╣рд╛рдпрддрд╛ рдХрдорд╛рдВрдб рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, "рдореБрдЭреЗ рдПрдХ рд╕реНрдЯрд┐рдХрд░ рднреЗрдЬреЗрдВ" рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ

bot.on('sticker', (ctx) => ctx.reply(''))

рд╕реНрдЯрд┐рдХрд░ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЕрдиреБрдореЛрджрди рднреЗрдЬреЗрдВ

bot.hears('hi', (ctx) => ctx.reply('Hey there'))

рдпрджрд┐ рд╡реЗ рдЙрд╕реЗ "рд╣рд╛рдп" рд▓рд┐рдЦрддреЗ рд╣реИрдВ рддреЛ рдЙрддреНрддрд░ "рдЕрд░реЗ" рджреЗрдВ
рдмреЙрдЯ.рд▓реЙрдиреНрдЪ()

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ GitHub, рддреЛ рдЖрдк рддреБрд░рдВрдд рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рдореИрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реВрдВред рдЬреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди рд╣реИ ctx.replyWithPhoto рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлреЛрдЯреЛ рдпрд╛ GIF рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдХреЛрдб рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ 11-13 рд╡рд░реНрд╖ рдХреА рдЖрдпреБ рдХреЗ рдмрдЪреНрдЪреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдмреЙрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХреА рдереАред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдХреЗрд╕ рджрд░реНрдЬ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрддрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреМрди рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдпрд╛ рдерд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╢ "рдЬреЗрдХ" рдХреЛ рдХрд╛рд░реНрдЯреВрди рдПрдбрд╡реЗрдВрдЪрд░ рдЯрд╛рдЗрдо рдХреЗ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдЪрд░рд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ GIF рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдЧрд╛рдЗрдб: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдмреЙрдЯ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдХреАрдмреЛрд░реНрдб рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдд:

11. рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рдмреЙрдЯ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ

рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рди рдХреЗрд╡рд▓ рдЬреАрдердм рдкрд░, рдмрд▓реНрдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ - рдмреЙрдЯ рдХреЛ рд░реЛрдХреЗрдВ (ctrl+c рджрдмрд╛рдПрдБ),

- рд▓рдХреНрд╖реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реБрдП рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ, git pull
- рд╣рдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдмреЙрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ node index.js

рдЕрдВрдд

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрдИ рдЪреАрдЬрд╝реЗрдВ рдЙрдиреНрдирдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрдВрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рдПрдХ рдЭрдЯрдХреЗ рдореЗрдВ рдЦрд╛рдИ рдХреЛ рдкрд╛рд░ рдХрд░рдХреЗ рдмреЙрдЯреНрд╕ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреВрджрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╕реЗ рдЪреВрдХ рдЧрдпрд╛ред рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдЬреЛ рдХрд┐рд╕реА рднреА рдЖрдИрдЯреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рд░рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рдирд╣реАрдВ рднреВрд▓рддреАред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореИрдВ рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ ReactNative рдкрд░ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдмрдирд╛рдПрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ!

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ