5 рдореЗрдВ 2020 рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдЕрднреНрдпрд╛рд╕

рдирдорд╕реНрддреЗ, рд╣рдмрд░! рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдБ "рдХреЛрдб рдХреИрд╕реЗ рд╕реАрдЦреЗрдВ - рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рд▓рд╛рд╣" рдХреНрд░рд┐рд╕реНрдЯреЗрдирдХрд╛рд░реНрдЯрд░7519 рджреНрд╡рд╛рд░рд╛ред

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

5 рдореЗрдВ 2020 рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдЕрднреНрдпрд╛рд╕

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рднрд╡рд┐рд╖реНрдп рдпрд╣реАрдВ рд╣реИ!

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

рдЖрдЗрдП рдХреБрдЫ рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

рд╕рдордп рдХреЗ рд╕рд╛рде, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕реНрддрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдИ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ Python 3.6 рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬреЛ 1s рдпрд╛ 0s рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдирд░реА рд╡рд░реНрдЧреАрдХрд░рдг рдХрд░рддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рд╣рдо рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд░реНрдЧ рдмрдирд╛рдХрд░ рд╢реБрд░реБрдЖрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

NumPy рдХреЛ NP рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ

X=np.array([[0,1,1,0],[0,1,1,1],[1,0,0,1]])
y=np.array([[0],[1],[1]])

рд╕рд┐рдЧреНрдореЙрдЗрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ:

def sigmoid ():
   return 1/(1 + np.exp(-x))
def derivatives_sigmoid ():
   return x * (1-x)

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рднрд╛рд░ рдФрд░ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг:

epoch=10000
lr=0.1
inputlayer_neurons = X.shape[1]
hiddenlayer_neurons = 3
output_neurons = 1

wh=np.random.uniform(size=(inputlayer_neurons,hiddenlayer_neurons))
bh=np.random.uniform(size=(1,hiddenlayer_neurons))
wout=np.random.uniform(size=(hiddenlayer_neurons,output_neurons))
bout=np.random.uniform(size=(1,output_neurons))

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

рдЖрдЙрдЯрдкреБрдЯ рд▓реЗрдпрд░ рдиреНрдпреВрд░реЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рд╕рдВрд╢реЛрдзрди

hidden_layer_input1=np.dot(X,wh)
hidden_layer_input=hidden_layer_input1 + bh
hiddenlayer_activations = sigmoid(hidden_layer_input)
output_layer_input1=np.dot(hiddenlayer_activations,wout)
output_layer_input= output_layer_input1+ bout
output = sigmoid(output_layer_input)

рдЫреБрдкреА рд╣реБрдИ рдХреЛрдб рдкрд░рдд рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рддреНрд░реБрдЯрд┐

E = y-output
slope_output_layer = derivatives_sigmoid(output)
slope_hidden_layer = derivatives_sigmoid(hiddenlayer_activations)
d_output = E * slope_output_layer
Error_at_hidden_layer = d_output.dot(wout.T)
d_hiddenlayer = Error_at_hidden_layer * slope_hidden_layer
wout += hiddenlayer_activations.T.dot(d_output) *lr
bout += np.sum(d_output, axis=0,keepdims=True) *lr
wh += X.T.dot(d_hiddenlayer) *lr
bh += np.sum(d_hiddenlayer, axis=0,keepdims=True) *lr

рдЙрддреНрдкрд╛рджрди

print (output)

[[0.03391414]
[0.97065091]
[0.9895072 ]]

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

2020 рдореЗрдВ, рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрди 5 рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓ рдХреЛ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣реЗ рд╡реЗ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

1. рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг (рдПрдирдПрд▓рдкреА)

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

рдмреЗрд╣рддрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдЯреВрд▓ рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдЖрдк рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдзреНрд╡рдирд┐-рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд▓реЗрдХрд░ рдмрд╣реБрдд рдЖрд╕рд╛рди рдореЗрдиреВ рдиреЗрд╡рд┐рдЧреЗрд╢рди, рднрд╛рд╡рдирд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рд╕рдВрджрд░реНрдн рдкрд╣рдЪрд╛рди, рднрд╛рд╡рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рдкрд╣реБрдВрдЪ рддрдХ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдирдПрд▓рдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рдФрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ 430 рддрдХ $2020 рдмрд┐рд▓рд┐рдпрди рддрдХ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╡реГрджреНрдзрд┐ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреА (рдЖрдИрдбреАрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдбреЗрд▓реЙрдЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрджреНрдзреГрдд)ред

2. рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ REST рдПрдкрд┐рд╕ рдХреА рдЬрдЧрд╣ рд▓реЗ рд░рд╣рд╛ рд╣реИ

рдореЗрд░реА рдлрд░реНрдо рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЛ рдПрдХ рдСрдлрд╢реЛрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрдВрдкрдиреА рд╣реИ, рдбреЗрдЯрд╛ рдХреА рдзреАрдореА рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг REST API рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрдЧрдд рдкрд░ рдЕрдкрдирд╛ рдкреНрд░рднреБрддреНрд╡ рдЦреЛ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрдИ рдпреВрдЖрд░рдПрд▓ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдПрдХ рдирдпрд╛ рдЪрд▓рди рд╣реИ рдФрд░ REST-рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдПрдХ рд╣реА рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЬрдм рдЖрдк рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП GraphQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреМрд╢рд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЗрд╕реЗ REST рдПрдкреАрдЖрдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд░рд▓ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕реЗ рдХрдИ рдмреИрдХрдПрдВрдб рдПрдЬрд╝ рдП рд╕рд░реНрд╡рд┐рд╕ (рдмреАрдПрдПрдПрд╕) рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рднреА рд▓реИрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкрд╛рдпрдерди, рдиреЛрдб.рдЬреЗрдПрд╕, рд╕реА++ рдФрд░ рдЬрд╛рд╡рд╛ рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

3. рдирд┐рдореНрди рдХреЛрдбрд┐рдВрдЧ рд╕реНрддрд░/рдХреЛрдИ рдХреЛрдб рдирд╣реАрдВ (рдХрдо рдХреЛрдб)

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

TechRepublic рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╡реЗрдм рдкреЛрд░реНрдЯрд▓, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо, рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдиреЛ-рдХреЛрдб/рд▓реЛ рдХреЛрдб рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЛ рдХреЛрдб рдЯреВрд▓ рдорд╛рд░реНрдХреЗрдЯ 15 рддрдХ рдмрдврд╝рдХрд░ 2020 рдмрд┐рд▓рд┐рдпрди рдбреЙрд▓рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред рдпреЗ рдЙрдкрдХрд░рдг рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рддрд░реНрдХ, рдбреЗрдЯрд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рд╕рд╣рд┐рдд рд╕рдм рдХреБрдЫ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ 2020 рдореЗрдВ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд▓реЛ рдХреЛрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИрдВ:

  • рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкреЙрд╡рд░рдПрдкреНрд╕
  • рдореЗрдВрдбрд┐рдХреНрд╕
  • рдЖрдЙрдЯрд╕рд┐рд╕реНрдЯрдо
  • рдЬрд╝реЛрд╣реЛ рдирд┐рд░реНрдорд╛рддрд╛
  • рд╕реЗрд▓реНрд╕рдлреЛрд░реНрд╕ рдРрдк рдХреНрд▓рд╛рдЙрдб
  • рддреНрд╡рд░рд┐рдд рдЖрдзрд╛рд░
  • рд╡рд╕рдВрдд рдХрд╛ рдмреВрдЯ

4. 5G рддрд░рдВрдЧ

5рдЬреА рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдореЛрдмрд╛рдЗрд▓ рдРрдк рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдкрд░ рднреА рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓реЗрдЧреАред рдЖрдЦрд╝рд┐рд░рдХрд╛рд░, IoT рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ 5G рдХреЗ рд╕рд╛рде рд╣рд╛рдИ-рд╕реНрдкреАрдб рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдЙрдард╛рдПрдЧрд╛ред

рдбрд┐рдЬрд┐рдЯрд▓ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ, рдореЛрдЯреЛрд░реЛрд▓рд╛ рдХреЗ рдЙрддреНрдкрд╛рдж рдЙрдкрд╛рдзреНрдпрдХреНрд╖ рдбреИрди рдбреЗрд░реА рдиреЗ рдХрд╣рд╛ рдХрд┐ "рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, 5G рддреЗрдЬрд╝ рдбреЗрдЯрд╛, рдЙрдЪреНрдЪ рдмреИрдВрдбрд╡рд┐рдбреНрде рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдФрд░ рдореМрдЬреВрджрд╛ рд╡рд╛рдпрд░рд▓реЗрд╕ рддрдХрдиреАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдлрд╝реЛрди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ 10 рдЧреБрдирд╛ рддреЗрдЬрд╝ рдЧрддрд┐ рджреЗрдЧрд╛ред"

рдЗрд╕ рдЖрд▓реЛрдХ рдореЗрдВ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ рдЖрдзреБрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ 5рдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВрдЧреАред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, 20 рд╕реЗ рдЕрдзрд┐рдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдиреЗ рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХреА рдШреЛрд╖рдгрд╛ рдХреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдм 5G рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧреА:

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

5. рдЖрд╕рд╛рди рдкреНрд░рдорд╛рдгреАрдХрд░рдг

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

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

  • рд╕реЙрдлреНрдЯ рдЯреЛрдХрди рдЖрдкрдХреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдорд▓реНрдЯреА-рдлреИрдХреНрдЯрд░ рдСрдереЗрдВрдЯрд┐рдХреЗрдЯрд░ рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред
  • рдИрдЧреНрд░рд┐рдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд░реВрдк рд╣реИред
  • рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо RSA SecurID Access, OAuth, Ping Identity, Authx рдФрд░ Aerobase рд╣реИрдВред

рднрд╛рд░рдд рдФрд░ рдЕрдореЗрд░рд┐рдХрд╛ рдореЗрдВ рдХрдИ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдмрд╛рдпреЛрдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд╢реЛрдз рдХрд░ рд░рд╣реА рд╣реИрдВред рд╡реЗ рдЖрд╡рд╛рдЬ, рдлреЗрд╕-рдЖрдИрдбреА, рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдмрд╛рдпреЛрдореЗрдЯреНрд░рд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЖрдИ рдХреЛ рднреА рдмрдврд╝рд╛рд╡рд╛ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рдЖрдк рдбрд┐рдЬрд┐рдЯрд▓ рдЪреИрдирд▓реЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреНрд╖рдорддрд╛рдУрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2020 рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХрдо рдЪреБрдиреМрддреАрдкреВрд░реНрдг рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рддреЗрдЬ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЙрдкрд▓рдмреНрдз рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛. рдЕрдВрддрддрдГ, рдпрд╣ рдкреНрд░рдЧрддрд┐ рдПрдХ рдирдП рдбрд┐рдЬрд┐рдЯрд▓ рдпреБрдЧ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЧрддрд┐рд╢реАрд▓ рджреБрдирд┐рдпрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧреАред

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

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