рд╡рд┐рдВрдбреЛрдЬ 10 + рдкрд╛рдпрдерди = рд╡реАрдПрд╕ рдХреЛрдб + рдбрдмреНрд▓реНрдпреВрдПрд╕рдПрд▓

рдЫрд╡рд┐

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

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рд╡реЗ рднреА рдХрдВрдЬреВрд╕реА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╕реА #, рдПрдЬрд╝реНрдпреЛрд░, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ ... рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдкрд╛рдпрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдПрдХ рдЬрдЧрд╣ рдХреЛ рднреА рдЧрд░реНрдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдбрдмреНрд▓реНрдпреВрдПрд╕рдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ


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

рд▓рд┐рдирдХреНрд╕ рдпрд╛ рд▓рд┐рдирдХреНрд╕


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

рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ


рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк Windows рдШрдЯрдХреЛрдВ рдореЗрдВ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ,

рдЫрд╡рд┐

рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрдЯреЛрд░ рд╕реЗ рдЕрдкрдирд╛ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ред

рдЫрд╡рд┐ ред

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

/mnt/c/Program Files/ 

рдбрд┐рдЬрд╝рд╛рдЗрди


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

 python -m venv venv 

.bat рдПрдХреНрдЯрд┐рд╡реЗрдЯрд░ рдФрд░ python.exe рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд┐рдирдХреНрд╕ рдмрд╛рдЗрдирд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдкреА рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡реАрдПрд╕ рдХреЛрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд▓рдЪреАрд▓рд╛ рд╣реИред

Ctrl + Shift + X
рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдРрдб-рдСрди рдХреЗ рд▓рд┐рдП рдХреВрджрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЦреЛрдЬ рдореЗрдВ, WSL рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рд╕реВрдЪреА рд╕реЗ рдкрд╣рд▓рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

рдЫрд╡рд┐

рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╛рдпрдерди, рдЧрд┐рдЯ рд╣рд┐рд╕реНрдЯреНрд░реА, Django ... рдФрд░ рдлрд┐рд░ рдЖрддреНрдорд╛ рдХреНрдпрд╛ рдЪрд╛рд╣рддреА рд╣реИ , рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

рдЫрд╡рд┐

рдЫрд╡рд┐

рдЫрд╡рд┐

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

рдЫрд╡рд┐

рдпрд╣ WSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджреЗрдЧрд╛

рдЫрд╡рд┐

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

рдЫрд╡рд┐

рдЫрд╡рд┐

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

рдЫрд╡рд┐

рдЫрд╡рд┐

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

Source: https://habr.com/ru/post/hi472202/


All Articles