рдЖрдордЪреНрдпрд╛ рдореБрдХреНрдд рд╕реНрд░реЛрддрд╛рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕: рдЖрдореНрд╣реА Go рдордзреНрдпреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛ рдХрд╢реА рдмрдирд╡рд▓реА рдЖрдгрд┐ рддреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░реАрддреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджрд┐рд▓реА

рд╕рдзреНрдпрд╛, рдЬрдЧрд╛рддреАрд▓ рдЬрд╡рд│рдЬрд╡рд│ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкрдиреА рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░реАрд▓ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдВрдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдЧреЛрд│рд╛ рдХрд░рддреЗ. рдкреНрд░реЗрд░рдгрд╛ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ - рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреЗ рдЙрддреНрдкрд╛рджрди/рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╢реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ рд╣реЗ рдЬрд╛рдгреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ. рдЕрд░реНрдерд╛рдд, рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд╛рдЬрд╛рд░рд╛рдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд - рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реАрдВрдордзреВрди рдЬреЗ рдбреЕрд╢рдмреЛрд░реНрдб рдЖрдгрд┐ рдЖрд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде Google Analytics рдордзреНрдпреЗ) рдХрдбреЗ рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реЗрдЕрд░рд╣рд╛рдКрд╕рдордзреАрд▓ рд╡рд┐рд╡рд┐рдз рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрди рдбреЗрдЯрд╛ рд╕рдВрдХрд▓рд┐рдд рдЖрдгрд┐ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рд╡рд┐рднрд╛рдЧ).

рдкрд░рдВрддреБ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрдврд│рд▓реА рдЬреА рдЕрджреНрдпрд╛рдк рд╕реЛрдбрд╡рд┐рд▓реА рдЧреЗрд▓реА рдирд╛рд╣реА. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЬрдиреНрдо рдЭрд╛рд▓рд╛ рдЗрд╡реНрд╣реЗрдВрдЯрдиреЗрдЯрд┐рд╡реНрд╣ - рдореБрдХреНрдд рд╕реНрд░реЛрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛. рдЖрдореНрд╣реА рдЖрдордЪреА рд╕реНрд╡рддрдГрдЪреА рд╕реЗрд╡рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдХрд╛ рдШреЗрддрд▓рд╛, рдпрд╛рдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдорд┐рд│рд╛рд▓реЗ рдЖрдгрд┐ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХрд╛рдп рдЭрд╛рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рд╡рд╛рдЪрд╛ (рдХреЛрдбрдЪреНрдпрд╛ рддреБрдХрдбреНрдпрд╛рдВрд╕рд╣).

рдЖрдордЪреНрдпрд╛ рдореБрдХреНрдд рд╕реНрд░реЛрддрд╛рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕: рдЖрдореНрд╣реА Go рдордзреНрдпреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛ рдХрд╢реА рдмрдирд╡рд▓реА рдЖрдгрд┐ рддреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░реАрддреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджрд┐рд▓реА

рдЖрдкрдг рд╕реНрд╡рддрдГрдЪреА рд╕реЗрд╡рд╛ рдХрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рд╛рд╡реА?

рдирд╡реНрд╡рджрдЪреЗ рджрд╢рдХ рд╣реЛрддреЗ, рдЖрдореНрд╣реА рд╢рдХреНрдп рддрд┐рддрдХреЗ рдЯрд┐рдХреВрди рд░рд╛рд╣рд┐рд▓реЛ. 2019, рдЖрдореНрд╣реА API рдкреНрд░рдердо рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ kSense, рдЬреНрдпрд╛рдореБрд│реЗ рдЕрдзрд┐рдХ рд╕реЛрдпреАрд╕реНрдХрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдУрд│рдЦрдгреЗ рдЗрддреНрдпрд╛рджреАрд╕рд╛рдареА рд╡рд┐рд╡рд┐рдз рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрди рдбреЗрдЯрд╛ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ (рдлреЗрд╕рдмреБрдХ рдЬрд╛рд╣рд┐рд░рд╛рддреА, рд╕реНрдЯреНрд░рд╛рдЗрдк, рд╕реЗрд▓реНрд╕рдлреЛрд░реНрд╕, Google рдкреНрд▓реЗ, Google Analytics, рдЗ.). рдЖрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ рдХреА рдмрд░реЗрдЪ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрдордЪреНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рд╡рд╛рдкрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╕рд╛рдареА рдХрд░рддрд╛рдд рд╡рд┐рд╢реЗрд╖рдд: Google Analytics (рдпрд╛рдкреБрдвреЗ GA). рдЖрдореНрд╣реА рдХрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╢реА рдмреЛрд▓рд▓реЛ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдврд│рд▓реЗ рдХреА рддреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рдареА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдбреЗрдЯрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЛ рддреЗ GA рд╡рд╛рдкрд░реВрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛рдд, рдкрд░рдВрддреБ Google рдирдореБрдиреЗ рдбреЗрдЯрд╛ рдЖрдгрд┐ рдЕрдиреЗрдХрд╛рдВрд╕рд╛рдареА, GA рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЗ рд╕реЛрдпреАрдЪреЗ рдорд╛рдирдХ рдирд╛рд╣реА. рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╢реА рдкреБрд░реЗрд╢реА рд╕рдВрднрд╛рд╖рдгреЗ рдХреЗрд▓реА рдЖрдгрд┐ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдХреА рдмрд░реЗрдЪ рд▓реЛрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рдд рдЖрд╣реЗрдд (рдЬреЗ, рддрд╕реЗ, рджреБрд╕рд▒реНрдпрд╛ рджрд┐рд╡рд╢реА рд╣реЛрддреЗ $3.2 рдЕрдмреНрдЬ рд╡рд┐рдХрд▓реЗ рдЧреЗрд▓реЗ).

рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░ рд╕реЗрдЧрдореЗрдВрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рдмрджреНрджрд▓рдЪрд╛ рдбреЗрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд▓реЛрдб рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕). рдкрд░рдВрддреБ рд╕реЗрдЧрдореЗрдВрдЯрд▓рд╛ рджреЗрдЦреАрд▓ рддреНрдпрд╛рдЪреА рдХрдорддрд░рддрд╛ рдЖрд╣реЗ - рдХрд┐рдВрдордд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рдордзреНрдпреЗ 90,000 MTU (рдорд╛рд╕рд┐рдХ рдЯреНрд░реЕрдХ рдХреЗрд▓реЗрд▓реЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ) рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рджрд░рдорд╣рд╛ ~1,000 $ рдХреЕрд╢рд┐рдпрд░рд▓рд╛ рднрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓. рддрд┐рд╕рд░реА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреАрд▓ рд╣реЛрддреА - рдХрд╛рд╣реА рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдиреА (рдЬрд╕реЗ рдХреА AdBlock) рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдЪреЗ рд╕рдВрдХрд▓рди рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реЗ рдХрд╛рд░рдг... рдмреНрд░рд╛рдЙрдЭрд░рдХрдбреВрди http рд╡рд┐рдирдВрддреНрдпрд╛ GA рдЖрдгрд┐ рд╕реЗрдЧрдореЗрдВрдЯ рдбреЛрдореЗрдирд╡рд░ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛. рдЖрдордЪреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрд╣реЗ рдЬреА рдбреЗрдЯрд╛рдЪрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рдВрдЪ (рдирдореБрдиреЗ рди рдШреЗрддрд╛) рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ, рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЗ.

рд╕реЗрд╡рд╛ рдХрд╢реА рдХрд╛рд░реНрдп рдХрд░рддреЗ

рд╕реЗрд╡реЗрдордзреНрдпреЗ рддреАрди рднрд╛рдЧ рдЕрд╕рддрд╛рдд: рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ (рдЬреЗ рдЖрдореНрд╣реА рдирдВрддрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реЗ), рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рднрд╛рдЧ GO рднрд╛рд╖реЗрдд рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ Redshift рдЖрдгрд┐ BigQuery рдЪрд╛ рдЗрди-рд╣рд╛рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рд╣реЛрддреА (рдирдВрддрд░ рддреНрдпрд╛рдВрдиреА рдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕, рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ рдЖрдгрд┐ рд╕реНрдиреЛрдлреНрд▓реЗрдХ).

GA рдЖрдгрд┐ рд╕реЗрдЧрдореЗрдВрдЯ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рд░рдЪрдирд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛. рдЖрдордЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрд╡рд░ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░реАрд▓ рд╕рд░реНрд╡ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ. рддреЛ рдмрд╛рд╣реЗрд░ рд╡рд│рддреЗ рдореНрд╣рдгреВрди, рд╣реЗ рдХрд░рдгреЗ рдХрдареАрдг рдирд╛рд╣реА рдЖрд╣реЗ. JavaScript рдкрд┐рдХреНрд╕реЗрд▓рдиреЗ рдореВрд│ GA рд▓рд╛рдпрдмреНрд░рд░реА рдкрджреНрдзрддреАрд▓рд╛ рдирд╡реАрдирд╕рд╣ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХреЗрд▓реЗ, рдЬреНрдпрд╛рдиреЗ рдЖрдордЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗрд▓реА.

//'ga' - ╤Б╤В╨░╨╜╨┤╨░╤А╤В╨╜╨╛╨╡ ╨╜╨░╨╖╨▓╨░╨╜╨╕╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╨╛╨╣ Google Analytics
if (window.ga) {
    ga(tracker => {
        var originalSendHitTask = tracker.get('sendHitTask');
        tracker.set('sendHitTask', (model) => {
            var payLoad = model.get('hitPayload');
            //╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╨╛╤А╨╕╨│╨╕╨╜╨░╨╗╤М╨╜╨╛╨│╨╛ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ GA
            originalSendHitTask(model);
            let jsonPayload = this.parseQuery(payLoad);
            //╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ ╨╜╨░╤И ╤Б╨╡╤А╨▓╨╕╤Б
            this.send3p('ga', jsonPayload);
        });
    });
}

рд╕реЗрдЧрдореЗрдВрдЯ рдкрд┐рдХреНрд╕реЗрд▓рд╕рд╣ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╕реЛрдкреЗ рдЖрд╣реЗ; рддреНрдпрд╛рдд рдорд┐рдбрд▓рд╡реЗрдЕрд░ рдкрджреНрдзрддреА рдЖрд╣реЗрдд, рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рд▓рд╛ рдЖрд╣реЗ.


//'analytics' - ╤Б╤В╨░╨╜╨┤╨░╤А╤В╨╜╨╛╨╡ ╨╜╨░╨╖╨▓╨░╨╜╨╕╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╨╛╨╣ Segment
if (window.analytics) {
    if (window.analytics.addSourceMiddleware) {
        window.analytics.addSourceMiddleware(chain => {
            try {
		//╨┤╤Г╨▒╨╗╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ ╨╜╨░╤И ╤Б╨╡╤А╨▓╨╕╤Б
                this.send3p('ajs', chain.payload);
            } catch (e) {
                LOG.warn('Failed to send an event', e)
            }
	    //╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╨╛╤А╨╕╨│╨╕╨╜╨░╨╗╤М╨╜╨╛╨│╨╛ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ Segment
            chain.next(chain.payload);
        });
    } else {
        LOG.warn("Invalid interceptor state. Analytics js initialized, but not completely");
    }
} else {
    LOG.warn('Analytics.js listener is not set.');
}

рдЗрд╡реНрд╣реЗрдВрдЯ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд json рдкрд╛рдард╡рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ:


//╨Ю╤В╨┐╤А╨░╨▓╨║╨░ ╤Б╨╛╨▒╤Л╤В╨╕╨╣ ╤Б ╨┐╤А╨╛╨╕╨╖╨▓╨╛╨╗╤М╨╜╤Л╨╝ json ╨╛╨▒╤К╨╡╨║╤В╨╛╨╝
eventN.track('product_page_view', {
    product_id: '1e48fb70-ef12-4ea9-ab10-fd0b910c49ce',
    product_price: 399.99,
    price_currency: 'USD'
    product_release_start: '2020-09-25T12:38:27.763000Z'
});

рдкреБрдвреЗ, рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рднрд╛рдЧрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛. рдмреЕрдХрдПрдВрдбрдиреЗ http рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд, рддреНрдпрд╛рдВрдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреА рднрд░рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рднреМрдЧреЛрд▓рд┐рдХ рдбреЗрдЯрд╛ (рдзрдиреНрдпрд╡рд╛рдж maxmind рдпрд╛рд╕рд╛рдареА) рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд░реЗрдХреЙрд░реНрдб рдХрд░рд╛. рдЖрдореНрд╣рд╛рд▓рд╛ рд╕реЗрд╡рд╛ рд╢рдХреНрдп рддрд┐рддрдХреА рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рд╛рдпрдЪреА рд╣реЛрддреА рдЬреЗрдгреЗрдХрд░реВрди рддреА рдХрдореАрддрдХрдореА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╣ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдЖрдореНрд╣реА рдпреЗрдгрд╛рд░реНтАНрдпрд╛ json рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЖрд╣реЗ. рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдореВрд▓реНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдиреЗрд╕реНрдЯреЗрдб рд╡рд╕реНрддреВ рд╡рд┐рдШрдЯрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╕рдкрд╛рдЯ рд╕рдВрд░рдЪрдиреЗрдд рдХрдореА рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд:

//╨▓╤Е╨╛╨┤╤П╤Й╨╕╨╣ json
{
  "field_1":  {
    "sub_field_1": "text1",
    "sub_field_2": 100
  },
  "field_2": "text2",
  "field_3": {
    "sub_field_1": {
      "sub_sub_field_1": "2020-09-25T12:38:27.763000Z"
    }
  }
}

//╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В
{
  "field_1_sub_field_1":  "text1",
  "field_1_sub_field_2":  100,
  "field_2": "text2",
  "field_3_sub_field_1_sub_sub_field_1": "2020-09-25T12:38:27.763000Z"
}

рддрдерд╛рдкрд┐, рдЕреЕрд░реЗ рд╕рдзреНрдпрд╛ рдлрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдХрд╛рд░рдг рд╕рд░реНрд╡ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдлреАрд▓реНрдбрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реАрдд. рдкрд░реНрдпрд╛рдпреА рдореЕрдкрд┐рдВрдЧ рдирд┐рдпрдо рд╡рд╛рдкрд░реВрди рдлреАрд▓реНрдбрдЪреА рдирд╛рд╡реЗ рдмрджрд▓рдгреЗ рдХрд┐рдВрд╡рд╛ рд╣рдЯрд╡рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ. рддреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдХрд┐рдВрд╡рд╛ рдПрдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╛рдд рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, json рдлреАрд▓реНрдбрдордзреНрдпреЗ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рдЕрд╕рд▓реЗрд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрд╕рд▓реНрдпрд╛рд╕ (рдлреАрд▓реНрдб_3_sub_field_1_sub_sub_field_1 рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░реВрди), рдирдВрддрд░ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рдкреНрд░рдХрд╛рд░рд╛рд╕рд╣ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдлреАрд▓реНрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдореЕрдкрд┐рдВрдЧ рдирд┐рдпрдо рд▓рд┐рд╣рд┐рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдлреАрд▓реНрдбрдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдердо json рдореВрд▓реНрдпрд╛рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдирдВрддрд░ рдкреНрд░рдХрд╛рд░ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо (рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рд▓реНрдпрд╛рд╕) рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЖрдореНрд╣реА 4 рдореБрдЦреНрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдУрд│рдЦрд▓реЗ рдЖрд╣реЗрдд: STRING, FLOAT64, INT64 рдЖрдгрд┐ TIMESTAMP. рдореЕрдкрд┐рдВрдЧ рдЖрдгрд┐ рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо рдЕрд╕реЗ рджрд┐рд╕рддрд╛рдд:

rules:
  - "/field_1/subfield_1 -> " #╨┐╤А╨░╨▓╨╕╨╗╨╛ ╤Г╨┤╨░╨╗╨╡╨╜╨╕╤П ╨┐╨╛╨╗╤П
  - "/field_2/subfield_1 -> /field_10/subfield_1" #╨┐╤А╨░╨▓╨╕╨╗╨╛ ╨┐╨╡╤А╨╡╨╜╨╛╤Б╨░ ╨┐╨╛╨╗╤П
  - "/field_3/subfield_1/subsubfield_1 -> (timestamp) /field_20" #╨┐╤А╨░╨▓╨╕╨╗╨╛ ╨┐╨╡╤А╨╡╨╜╨╛╤Б╨░ ╨┐╨╛╨╗╤П ╨╕ ╨┐╤А╨╕╨▓╨╡╨┤╨╡╨╜╨╕╤П ╤В╨╕╨┐╨░

рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо:

  • рдЬреЗрд╕рди рд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓рд╛ рдлреНрд▓реЕрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рд╛
  • рдореВрд▓реНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдлреАрд▓реНрдбрдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреЗ
  • рдореЕрдкрд┐рдВрдЧ рдЖрдгрд┐ рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдгреЗ

рдирдВрддрд░ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ json рд╕рдВрд░рдЪрдиреЗрддреВрди:

{
    "product_id":  "1e48fb70-ef12-4ea9-ab10-fd0b910c49ce",
    "product_price": 399.99,
    "price_currency": "USD",
    "product_type": "supplies",
    "product_release_start": "2020-09-25T12:38:27.763000Z",
    "images": {
      "main": "picture1",
      "sub":  "picture2"
    }
}

рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓:

"product_id" character varying,
"product_price" numeric (38,18),
"price_currency" character varying,
"product_type" character varying,
"product_release_start" timestamp,
"images_main" character varying,
"images_sub" character varying

рдЖрдореНрд╣реА рдЕрд╕реЗрд╣реА рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдХреА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡рд┐рднрд╛рдЬрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдбреЗрдЯрд╛ рдЗрддрд░ рдирд┐рдХрд╖рд╛рдВрдиреБрд╕рд╛рд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рд╛рд╡реЗ рдЖрдгрд┐ рдЯреЗрдмрд▓рдЪреЗ рдирд╛рд╡ рд╕реНрдерд┐рд░ рдХрд┐рдВрд╡рд╛ рд╕реНрдерд┐рд░рддреЗрд╕рд╣ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА. рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдордзреНрдпреЗ. рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, рдЙрддреНрдкрд╛рджрди_рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ _рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рдлреАрд▓реНрдбрдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЧрдгрдирд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдирд╛рд╡рд╛рд╕рд╣ рдЗрд╡реНрд╣реЗрдВрдЯ рдЯреЗрдмрд▓рд╡рд░ рд╕реЗрд╡реНрд╣ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдкреБрд░рд╡рдард╛_2020_10):

tableName: '{{.product_type}}_{{._timestamp.Format "2006_01"}}'

рддрдерд╛рдкрд┐, рдЗрдирдХрдорд┐рдВрдЧ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рд░рдЪрдирд╛ рд░рдирдЯрд╛рдЗрдордордзреНрдпреЗ рдмрджрд▓реВ рд╢рдХрддреЗ. рд╡рд┐рджреНрдпрдорд╛рди рд╕рд╛рд░рдгреАрдЪреА рд░рдЪрдирд╛ рдЖрдгрд┐ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдШрдЯрдиреЗрдЪреА рд░рдЪрдирд╛ рдпрд╛рддреАрд▓ рдлрд░рдХ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЖрд╣реЗ. рдлрд░рдХ рдЖрдврд│рд▓реНрдпрд╛рд╕, рд╕рд╛рд░рдгреА рдирд╡реАрди рдлреАрд▓реНрдбрд╕рд╣ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреЕрдЪ SQL рдХреНрд╡реЗрд░реА рд╡рд╛рдкрд░рд╛:

#╨Я╤А╨╕╨╝╨╡╤А ╨┤╨╗╤П Postgres
ALTER TABLE "schema"."table" ADD COLUMN new_column character varying

рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░

рдЖрдордЪреНрдпрд╛ рдореБрдХреНрдд рд╕реНрд░реЛрддрд╛рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕: рдЖрдореНрд╣реА Go рдордзреНрдпреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛ рдХрд╢реА рдмрдирд╡рд▓реА рдЖрдгрд┐ рддреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░реАрддреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджрд┐рд▓реА

рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ, рдЖрдгрд┐ рдлрдХреНрдд рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░ рдереЗрдЯ рд▓рд┐рд╣реВ рдирдпреЗ? рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдЗрдиреНрд╕рд░реНрдЯреНрд╕ рд╣рд╛рддрд╛рд│рддрд╛рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗрд╣рдореАрдЪ рдЪрд╛рдВрдЧрд▓реА рдХрд╛рдордЧрд┐рд░реА рдХрд░рдд рдирд╛рд╣реАрдд (рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рд╢рд┐рдлрд╛рд░рд╕реА). рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд▓реЙрдЧрд░ рдЗрдирдХрдорд┐рдВрдЧ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕ рдлрд╛рдЗрд▓рд╡рд░ рд▓рд┐рд╣рд┐рддреЛ рдЖрдгрд┐ рд╡реЗрдЧрд│реНрдпрд╛ рдЧреЛрд░реЛрдЯреАрдирдордзреНрдпреЗ (рдереНрд░реЗрдб) рдлрд╛рдЗрд▓ рд░реАрдбрд░ рдлрд╛рдЗрд▓ рд╡рд╛рдЪрддреЛ, рддреНрдпрд╛рдирдВрддрд░ рдбреЗрдЯрд╛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЯреЗрдмрд▓ рдореЕрдиреЗрдЬрд░рдиреЗ рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛ рдЕрджреНрдпрдпрд╛рд╡рдд рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдПрдХрд╛ рдмреЕрдЪрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рдИрд▓. рддреНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рдереЗрдЯ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рд╣рд╛ рдореЛрдб рдЕрд╕рдВрдЦреНрдп рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЗрд╡реНрд╣реЗрдВрдЯрд╕рд╛рдареА рд╡рд╛рдкрд░рддреЛ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд░реВрдкрд╛рдВрддрд░рдгреЗ.

рдореБрдХреНрдд рд╕реНрд░реЛрдд рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рд╕рд╛рдареА рдпреЛрдЬрдирд╛

рдХрд╛рд╣реА рдХреНрд╖рдгреА, рд╕реЗрд╡рд╛ рдкреВрд░реНрдг рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рд░рдЦреА рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реА рдЖрдгрд┐ рдЖрдореНрд╣реА рддреА рдореБрдХреНрдд рд╕реНрддреНрд░реЛрддрд╛рд╡рд░ рд╕реЛрдбрдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рд╕рдзреНрдпрд╛, Postgres, ClickHouse, BigQuery, Redshift, S3, Snowflake рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╕рд░реНрд╡ рдПрдХрддреНрд░реАрдХрд░рдг рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧрдЪреНрдпрд╛ рдмреЕрдЪ рдЖрдгрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдореЛрдбреНрд╕рдирд╛ рд╕рдорд░реНрдерди рджреЗрддрд╛рдд. API рджреНрд╡рд╛рд░реЗ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.

рд╕рдзреНрдпрд╛рдЪреА рдПрдХрддреНрд░реАрдХрд░рдг рдпреЛрдЬрдирд╛ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

рдЖрдордЪреНрдпрд╛ рдореБрдХреНрдд рд╕реНрд░реЛрддрд╛рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕: рдЖрдореНрд╣реА Go рдордзреНрдпреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛ рдХрд╢реА рдмрдирд╡рд▓реА рдЖрдгрд┐ рддреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░реАрддреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджрд┐рд▓реА

рдЬрд░реА рд╕реЗрд╡рд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдбреЙрдХрд░ рд╡рд╛рдкрд░рдгреЗ), рдЖрдордЪреНрдпрд╛рдХрдбреЗ рджреЗрдЦреАрд▓ рдЖрд╣реЗ рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓реА рдЖрд╡реГрддреНрддреА, рдЬреНрдпрд╛рдордзреНрдпреЗ рддреБрдореНрд╣реА рдбреЗрдЯрд╛ рд╡реЗрдЕрд░рд╣рд╛рдКрд╕рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛, рддреБрдордЪреНрдпрд╛ рдбреЛрдореЗрдирдордзреНрдпреЗ рдПрдХ CNAME рдЬреЛрдбрд╛ рдЖрдгрд┐ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╡рд░ рдЖрдХрдбреЗрд╡рд╛рд░реА рдкрд╛рд╣реВ рд╢рдХрддрд╛. рдЖрдордЪреА рддрд╛рддреНрдХрд╛рд│ рдпреЛрдЬрдирд╛ рдХреЗрд╡рд│ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рддреАрд▓ рдЖрдХрдбреЗрд╡рд╛рд░реАрдЪ рдирд╛рд╣реА рддрд░ рдмрд╛рд╣реНрдп рдбреЗрдЯрд╛ рд╕реНрд░реЛрддрд╛рдВрдордзреАрд▓ рдбреЗрдЯрд╛ рджреЗрдЦреАрд▓ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рдЖрд╡рдбреАрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рдЬрддрди рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╣реЗ!

тЖТ GitHub
тЖТ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг
тЖТ рдордВрджреАрдЪрд╛ рдХрд╛рд│

EventNative рддреБрдордЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдирдВрдж рд╣реЛрдИрд▓!

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рддреБрдордЪреНрдпрд╛ рдХрдВрдкрдиреАрдордзреНрдпреЗ рдХреЛрдгрддреА рдЖрдХрдбреЗрд╡рд╛рд░реА рд╕рдВрдХрд▓рди рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ?

  • 48,0%рдЧреВрдЧрд▓ Xрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕рдПрдХреНрд╕рдпреВрдПрдирдПрдордПрдХреНрд╕

  • 4,0%рд╡рд┐рднрд╛рдЧ рез

  • 16,0%рджреБрд╕рд░рд╛ (рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд▓рд┐рд╣рд╛) 4

  • 32,0%рддреБрдордЪреА рд╕реЗрд╡рд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА

25 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 6 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛