<!DOCTYPE html><html lang="ru"><head><meta charSet="utf-8"/><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover"/><link rel="preload" as="image" href="https://mc.yandex.ru/watch/44973232"/><link rel="preload" as="image" href="https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv"/><link rel="preload" as="image" href="https://top-fwz1.mail.ru/counter?id=3316675;js=na"/><link rel="preload" as="image" href="/_next/static/images/img/logo2022_without_text-ad6a01e8608432b9967c441a0f4760b4.svg"/><link rel="preload" as="image" href="https://cdn.otus.ru/media/public/48/2c/питон_2-263987-482ca8.jpg"/><link rel="preload" as="image" href="/_next/static/images/img/otus-diploma-194dce80eb7f2558e83bd201e5306874.png"/><link rel="preload" as="image" href="/_next/static/images/img/pp-diploma-84b65c3460876fc0d809a622f910973f.png"/><link rel="preload" as="image" href="/_next/static/images/img/light-3dd56d782c43dc1e78b7e0da7bb3fb50.svg"/><link rel="stylesheet" href="/_next/static/css/8cc264f7ea39f5c5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/369ab862ca923128.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/1eb8edb263c0b31d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-84c612d5581a179f.js"/><script src="/_next/static/chunks/b6261da7-560230abf0251a57.js" async=""></script><script src="/_next/static/chunks/8868-e3f56a080a5e6bd6.js" async=""></script><script src="/_next/static/chunks/main-app-34258a01f8eeca2d.js" async=""></script><script src="/_next/static/chunks/b57a0ff0-f64b6c8491bc987c.js" async=""></script><script src="/_next/static/chunks/7761-f25228226f9fd7b1.js" async=""></script><script src="/_next/static/chunks/3260-e663d3aeeb454c53.js" async=""></script><script src="/_next/static/chunks/7844-5a1706e76e0167fe.js" async=""></script><script src="/_next/static/chunks/7985-5aa503ef1e488f37.js" async=""></script><script src="/_next/static/chunks/8012-ba13e2afafa1b32c.js" async=""></script><script src="/_next/static/chunks/4944-c0f1c1dc3dd5ddc8.js" async=""></script><script src="/_next/static/chunks/4888-09a084700e30f3b2.js" async=""></script><script src="/_next/static/chunks/2633-d7e691d1179a550f.js" async=""></script><script src="/_next/static/chunks/3242-4559e666a92af915.js" async=""></script><script src="/_next/static/chunks/8308-a718381dbc33cfb4.js" async=""></script><script src="/_next/static/chunks/app/layout-37aaf27e992c5aeb.js" async=""></script><script src="/_next/static/chunks/4419-cfc7a5f44d08cc1b.js" async=""></script><script src="/_next/static/chunks/5632-5ae1d5cde11086be.js" async=""></script><script src="/_next/static/chunks/3118-3c71903ee058260c.js" async=""></script><script src="/_next/static/chunks/7670-88498cb7f740ea45.js" async=""></script><script src="/_next/static/chunks/5873-a84150cef512c203.js" async=""></script><script src="/_next/static/chunks/8212-ad195a1ac639b812.js" async=""></script><script src="/_next/static/chunks/428-b85ac0b1d8ebbe87.js" async=""></script><script src="/_next/static/chunks/9374-dedf9cc8b15c395b.js" async=""></script><script src="/_next/static/chunks/4485-9ab23cf29f3d4493.js" async=""></script><script src="/_next/static/chunks/4089-38c618b1e8038db2.js" async=""></script><script src="/_next/static/chunks/1598-4e9e0a333affae09.js" async=""></script><script src="/_next/static/chunks/7234-0a01e49f09a75afe.js" async=""></script><script src="/_next/static/chunks/1701-caea77cd580b46da.js" async=""></script><script src="/_next/static/chunks/1589-5e9d65a97827bc49.js" async=""></script><script src="/_next/static/chunks/8817-f756b1c7094aa889.js" async=""></script><script src="/_next/static/chunks/3742-cf316c1014abe42c.js" async=""></script><script src="/_next/static/chunks/7624-a0236e3eec1f6b3c.js" async=""></script><script src="/_next/static/chunks/5588-acf8559ddd553204.js" async=""></script><script src="/_next/static/chunks/1613-56d7f10ce9045e21.js" async=""></script><script src="/_next/static/chunks/app/not-found-6846642e53dd56ba.js" async=""></script><script src="/_next/static/chunks/app/error-37bbf3f7388748a0.js" async=""></script><script src="/_next/static/chunks/5408-7304a011593a4e7b.js" async=""></script><script src="/_next/static/chunks/4514-28d343fc6e2d14e0.js" async=""></script><script src="/_next/static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js" async=""></script><link rel="preload" href="https://smartcaptcha.yandexcloud.net/captcha.js?render=onload&onload=onloadFunction" as="script"/><link rel="preload" href="https://store-b2b.ru/tag.js?id=wsse7xcbtr07r1&nomodule" as="script"/><title>Специализация Python Developer. Все, что нужно знать о разработке на Python: с нуля до Middle Developer</title><meta name="description" content="Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП"/><link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials"/><meta name="is_app_seo_default" content="false"/><meta name="vk:image" content="/__new_static__/img/meta-image.png"/><meta name="fb:app_id" content="486413851704844"/><link rel="canonical" href="https://otus.ru/lessons/python-specialization/"/><meta name="yandex-verification" content="3019a35aeda6b45d"/><meta property="og:title" content="Специализация Python Developer. Все, что нужно знать о разработке на Python: с нуля до Middle Developer"/><meta property="og:description" content="Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП"/><meta property="og:url" content="https://otus.ru/lessons/python-specialization/"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="Специализация Python Developer. Все, что нужно знать о разработке на Python: с нуля до Middle Developer"/><meta name="twitter:description" content="Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП"/><link rel="image_src" href="/__new_static__/img/meta-image.png"/><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"/><link rel="preload" href="/_next/static/images/img/owl-flight-5d7d1106ce62f5dd4057eb334384e529.gif" as="image"/><link rel="icon" type="image/png" sizes="16x16" href="/_next/static/images/img/favicon-16x16-3dc5220f18624c2a6fd3aa3b081da00a.png"/><link rel="icon" type="image/png" sizes="32x32" href="/_next/static/images/img/favicon-32x32-dd124835ecce421e1bb2c8f849e49a3f.png"/><link rel="apple-touch-icon" href="/_next/static/images/img/apple-touch-icon-a4721dddcfb741a7e41d52e619f3820d.png"/><link rel="apple-touch-icon" sizes="57x57" href="/_next/static/images/img/apple-touch-icon-57x57-92769d5e197783e63f3bb3c8519c8912.png"/><link rel="apple-touch-icon" sizes="60x60" href="/_next/static/images/img/apple-touch-icon-60x60-dfaaf3934bc7ed111c8c306b967afeeb.png"/><link rel="apple-touch-icon" sizes="72x72" href="/_next/static/images/img/apple-touch-icon-72x72-693f0d64a225d5f0fe26ba5d088c8f14.png"/><link rel="apple-touch-icon" sizes="76x76" href="/_next/static/images/img/apple-touch-icon-76x76-f3487d673c3e7ae975cf190fb758ab10.png"/><link rel="apple-touch-icon" sizes="114x114" href="/_next/static/images/img/apple-touch-icon-114x114-98609536fdaa492edede039bdd03cff2.png"/><link rel="apple-touch-icon" sizes="120x120" href="/_next/static/images/img/apple-touch-icon-120x120-169d5a3cf2a78fa8e7dfa780f15abcb7.png"/><link rel="apple-touch-icon" sizes="144x144" href="/_next/static/images/img/apple-touch-icon-144x144-9b1aa25d8b37e9b97af4717495fd71bf.png"/><link rel="apple-touch-icon" sizes="152x152" href="/_next/static/images/img/apple-touch-icon-152x152-e04100124be68d4151efe4eb96227866.png"/><link rel="apple-touch-icon" sizes="180x180" href="/_next/static/images/img/apple-touch-icon-180x180-a4721dddcfb741a7e41d52e619f3820d.png"/><link rel="mask-icon" href="/_next/static/images/img/safari-pinned-tab-9b975a1bbe6e965061daed04a88d48e8.svg" color="#000000"/><meta name="msapplication-TileColor" content="#ffffff"/><meta name="msapplication-TileImage" content="/_next/static/images/img/mstile-144x144-c363ac4f42a2d7656bae44c971f5deab.png"/><script src="https://vk.com/js/api/openapi.js?162" type="text/javascript"></script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-styled="" data-styled-version="5.3.10">.bmVffP{height:24px;width:24px;position:relative;}/*!sc*/
.kOdeIv{height:48px;width:48px;position:relative;}/*!sc*/
.cvcsLz{height:28px;width:28px;position:relative;}/*!sc*/
data-styled.g3[id="sc-i28ik1-0"]{content:"bmVffP,kOdeIv,cvcsLz,"}/*!sc*/
.gNVXtU{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}/*!sc*/
.gNVXtU > svg{display:block;}/*!sc*/
data-styled.g4[id="sc-i28ik1-1"]{content:"gNVXtU,"}/*!sc*/
.ViUGY{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.ViUGY{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.ViUGY{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.ViUGY{font-weight:700;}}/*!sc*/
@media (max-width:751px){.ViUGY{font-weight:700;}}/*!sc*/
.eMZyoN{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.eMZyoN{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.eMZyoN{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.eMZyoN{font-weight:400;}}/*!sc*/
@media (max-width:751px){.eMZyoN{font-weight:400;}}/*!sc*/
.krJlll{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.krJlll{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.krJlll{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.krJlll{font-weight:400;}}/*!sc*/
@media (max-width:751px){.krJlll{font-weight:400;}}/*!sc*/
.kswXpy{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:62px;line-height:68px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.kswXpy{font-size:56px;line-height:60px;}}/*!sc*/
@media (max-width:751px){.kswXpy{font-size:32px;line-height:36px;}}/*!sc*/
@media (max-width:1201px){.kswXpy{font-weight:700;}}/*!sc*/
@media (max-width:751px){.kswXpy{font-weight:700;}}/*!sc*/
.enpOeQ{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:20px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.enpOeQ{font-size:20px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.enpOeQ{font-size:16px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.enpOeQ{font-weight:700;}}/*!sc*/
@media (max-width:751px){.enpOeQ{font-weight:700;}}/*!sc*/
.doSDez{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.doSDez{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.doSDez{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.doSDez{font-weight:400;}}/*!sc*/
@media (max-width:751px){.doSDez{font-weight:400;}}/*!sc*/
.jmLQpp{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.jmLQpp{font-size:40px;line-height:48px;}}/*!sc*/
@media (max-width:751px){.jmLQpp{font-size:20px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.jmLQpp{font-weight:700;}}/*!sc*/
@media (max-width:751px){.jmLQpp{font-weight:700;}}/*!sc*/
.fPZiIk{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;font-weight:500;}/*!sc*/
@media (max-width:1201px){.fPZiIk{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:751px){.fPZiIk{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.fPZiIk{font-weight:500;}}/*!sc*/
@media (max-width:751px){.fPZiIk{font-weight:500;}}/*!sc*/
.gGtEnS{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.gGtEnS{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:751px){.gGtEnS{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.gGtEnS{font-weight:700;}}/*!sc*/
@media (max-width:751px){.gGtEnS{font-weight:700;}}/*!sc*/
.bTMeHF{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.bTMeHF{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.bTMeHF{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:1201px){.bTMeHF{font-weight:700;}}/*!sc*/
@media (max-width:751px){.bTMeHF{font-weight:700;}}/*!sc*/
.hQBzUY{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.hQBzUY{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.hQBzUY{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.hQBzUY{font-weight:700;}}/*!sc*/
@media (max-width:751px){.hQBzUY{font-weight:700;}}/*!sc*/
.dvqddq{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.dvqddq{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.dvqddq{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.dvqddq{font-weight:700;}}/*!sc*/
@media (max-width:751px){.dvqddq{font-weight:700;}}/*!sc*/
.iFeEEh{font-family:'Roboto',sans-serif;font-size:14px;line-height:20px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.iFeEEh{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.iFeEEh{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.iFeEEh{font-weight:700;}}/*!sc*/
@media (max-width:751px){.iFeEEh{font-weight:700;}}/*!sc*/
.iwrrOS{font-family:'Roboto',sans-serif;font-size:14px;line-height:20px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.iwrrOS{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.iwrrOS{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.iwrrOS{font-weight:400;}}/*!sc*/
@media (max-width:751px){.iwrrOS{font-weight:400;}}/*!sc*/
.CWfAH{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.CWfAH{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.CWfAH{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.CWfAH{font-weight:400;}}/*!sc*/
@media (max-width:751px){.CWfAH{font-weight:400;}}/*!sc*/
.bDRAny{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.bDRAny{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.bDRAny{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:1201px){.bDRAny{font-weight:700;}}/*!sc*/
@media (max-width:751px){.bDRAny{font-weight:700;}}/*!sc*/
data-styled.g14[id="sc-1x9oq14-0"]{content:"ViUGY,eMZyoN,krJlll,kswXpy,enpOeQ,doSDez,jmLQpp,fPZiIk,gGtEnS,bTMeHF,hQBzUY,dvqddq,iFeEEh,iwrrOS,CWfAH,bDRAny,"}/*!sc*/
.igoKuA{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out;will-change:background,border;overflow:hidden;width:100%;cursor:text;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border:1px solid #afafaf;background:#fff;color:#0f0f10;text-align:left;font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;height:56px;border-radius:12px;}/*!sc*/
@media (max-width:1201px){.igoKuA{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.igoKuA{font-size:16px;line-height:24px;}}/*!sc*/
data-styled.g16[id="sc-7tecya-1"]{content:"igoKuA,"}/*!sc*/
.dUXfnG{-webkit-transition:padding 0.2s ease-out,color 0.2s ease-out;transition:padding 0.2s ease-out,color 0.2s ease-out;will-change:padding,color;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;max-height:100%;padding:16px 24px;}/*!sc*/
data-styled.g17[id="sc-7tecya-2"]{content:"dUXfnG,"}/*!sc*/
.ewcVbw{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font 0.2s ease-out;transition:font 0.2s ease-out;will-change:font;color:#afafaf;}/*!sc*/
data-styled.g18[id="sc-7tecya-3"]{content:"ewcVbw,"}/*!sc*/
.bkPfUD{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;width:100%;background:transparent;overflow:hidden;text-overflow:ellipsis;margin-top:auto;opacity:0;}/*!sc*/
.bkPfUD::-webkit-input-placeholder{color:#afafaf;}/*!sc*/
.bkPfUD::-moz-placeholder{color:#afafaf;}/*!sc*/
.bkPfUD:-ms-input-placeholder{color:#afafaf;}/*!sc*/
.bkPfUD::placeholder{color:#afafaf;}/*!sc*/
.bkPfUD:disabled{background:transparent;}/*!sc*/
data-styled.g19[id="sc-7tecya-4"]{content:"bkPfUD,"}/*!sc*/
.hzdVAl{display:block;}/*!sc*/
data-styled.g23[id="sc-aobi4b-0"]{content:"hzdVAl,"}/*!sc*/
.eibrwt{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.eibrwt{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:751px){.eibrwt{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.eibrwt{font-weight:400;}}/*!sc*/
@media (max-width:751px){.eibrwt{font-weight:400;}}/*!sc*/
.fvUGfA{font-family:'Roboto',sans-serif;font-size:12px;line-height:16px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.fvUGfA{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:751px){.fvUGfA{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.fvUGfA{font-weight:400;}}/*!sc*/
@media (max-width:751px){.fvUGfA{font-weight:400;}}/*!sc*/
data-styled.g26[id="sc-1x9oq14-0-Component"]{content:"eibrwt,fvUGfA,"}/*!sc*/
.chwycb{padding-right:48px;}/*!sc*/
data-styled.g29[id="sc-1uo0fn1-0"]{content:"chwycb,"}/*!sc*/
.jZoKM{position:absolute;top:50%;right:14px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}/*!sc*/
data-styled.g30[id="sc-1uo0fn1-1"]{content:"jZoKM,"}/*!sc*/
.dzJeEt{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/
data-styled.g40[id="sc-1bqzqc9-0"]{content:"dzJeEt,"}/*!sc*/
.dGHcsq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.dGHcsq .swiper{height:100%;}/*!sc*/
.dGHcsq .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
.dGHcsq .swiper-slide-active ~ .swiper-slide ~ .swiper-slide ~ .swiper-slide ~ .swiper-slide{opacity:0.3;}/*!sc*/
.dGHcsq .swiper-slide:nth-child(n + 6){opacity:0.3;}/*!sc*/
.cInatB{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.cInatB .swiper{height:100%;}/*!sc*/
.cInatB .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
.cInatB .swiper-slide:nth-child(n + 5){opacity:0.3;}/*!sc*/
.haeyZv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.haeyZv .swiper{height:100%;}/*!sc*/
.haeyZv .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
.haeyZv .swiper-slide:nth-child(n + 3){opacity:0.3;}/*!sc*/
.giOpNO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}/*!sc*/
.giOpNO .swiper{height:100%;}/*!sc*/
.giOpNO .swiper-slide{opacity:1;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;}/*!sc*/
data-styled.g41[id="sc-1bkbgbz-0"]{content:"dGHcsq,cInatB,haeyZv,giOpNO,"}/*!sc*/
.cPJghB{min-width:100%;width:100%;min-height:100%;height:100%;display:block;margin:0 auto;}/*!sc*/
.jssxGI{min-width:100%;width:100%;min-height:100%;height:100%;display:block;margin:0 auto;margin-bottom:56px;}/*!sc*/
@media (min-width:1200px){.jssxGI{margin-bottom:72px;}}/*!sc*/
.ehnata{min-width:100%;width:100%;min-height:100%;height:100%;display:block;margin:0 auto;margin-bottom:68px;}/*!sc*/
data-styled.g42[id="sc-1bkbgbz-1"]{content:"cPJghB,jssxGI,ehnata,"}/*!sc*/
.dQlnjC{-webkit-transition:color 0.2s ease-out,opacity 0.2s ease-out;transition:color 0.2s ease-out,opacity 0.2s ease-out;will-change:color,opacity;width:auto;height:auto;padding:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:transparent;color:#fff;}/*!sc*/
@media (min-width:1200px){.dQlnjC:hover{color:#ffd709;}}/*!sc*/
.dQlnjC:disabled{opacity:0.4;pointer-events:none;cursor:default;}/*!sc*/
.ghFoSm{-webkit-transition:color 0.2s ease-out,opacity 0.2s ease-out;transition:color 0.2s ease-out,opacity 0.2s ease-out;will-change:color,opacity;width:auto;height:auto;padding:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:transparent;color:#418A1F;}/*!sc*/
@media (min-width:1200px){.ghFoSm:hover{color:#418A1F;}}/*!sc*/
.ghFoSm:disabled{opacity:0.4;pointer-events:none;cursor:default;}/*!sc*/
data-styled.g43[id="sc-1bkbgbz-2"]{content:"dQlnjC,ghFoSm,"}/*!sc*/
.iPzpLW{margin:-12px -12px -12px 24px;}/*!sc*/
data-styled.g44[id="sc-1bkbgbz-3"]{content:"iPzpLW,"}/*!sc*/
.biZjNh{margin:-12px 24px -12px -12px;}/*!sc*/
data-styled.g45[id="sc-1bkbgbz-4"]{content:"biZjNh,"}/*!sc*/
.hGKrlu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:400px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g46[id="sc-1bkbgbz-5"]{content:"hGKrlu,"}/*!sc*/
.eoibzU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:-68px;right:0;}/*!sc*/
.eoibzU .sc-1bkbgbz-5 > *{background-color:#fff !important;}/*!sc*/
.hcbJSK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:-118px;right:0;}/*!sc*/
.hcbJSK .sc-1bkbgbz-5 > *{background-color:#fff !important;}/*!sc*/
.bCuLxg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);bottom:0;right:50%;}/*!sc*/
.bCuLxg .sc-1bkbgbz-5 > *{background-color:#418A1F !important;}/*!sc*/
data-styled.g47[id="sc-1bkbgbz-6"]{content:"eoibzU,hcbJSK,bCuLxg,"}/*!sc*/
.ldwIhb{color:#4749c0;position:relative;}/*!sc*/
.ldwIhb:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.ldwIhb:active{color:#585cff;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g49[id="sc-1vdp0yy-0"]{content:"ldwIhb,"}/*!sc*/
.eJDLVL{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:rotate( 0deg );-ms-transform:rotate( 0deg );transform:rotate( 0deg );}/*!sc*/
data-styled.g120[id="sc-8zcw6d-0"]{content:"eJDLVL,"}/*!sc*/
.dxxUfg{width:82px;height:auto;}/*!sc*/
data-styled.g179[id="sc-136rsxq-0"]{content:"dxxUfg,"}/*!sc*/
.hERPbJ{-webkit-animation:iJeNST 32s infinite linear;animation:iJeNST 32s infinite linear;-webkit-transform-box:fill-box;-ms-transform-box:fill-box;transform-box:fill-box;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;will-change:animation,transform;}/*!sc*/
data-styled.g180[id="sc-1gml7ra-0"]{content:"hERPbJ,"}/*!sc*/
.XomuX{overflow:visible;}/*!sc*/
data-styled.g183[id="sc-1gml7ra-3"]{content:"XomuX,"}/*!sc*/
.hOtCic{margin:0 auto;position:relative;}/*!sc*/
@media (min-width:1200px){.hOtCic{max-width:1120px;width:1120px;}}/*!sc*/
@media (max-width:1201px){.hOtCic{max-width:680px;width:680px;}}/*!sc*/
@media (max-width:751px){.hOtCic{max-width:352px;width:352px;}}/*!sc*/
data-styled.g184[id="sc-x072mc-0"]{content:"hOtCic,"}/*!sc*/
.dKnRmO{-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;position:relative;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:30;position:-webkit-sticky;position:sticky;top:-1px;height:80px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-shadow:0 4px 4px rgba(0,0,0,0.05);background:#fff;color:#232323;}/*!sc*/
@media (max-width:1201px){.dKnRmO{height:64px;}}/*!sc*/
@media (max-width:751px){.dKnRmO{height:60px;}}/*!sc*/
data-styled.g185[id="sc-r03h0s-0"]{content:"dKnRmO,"}/*!sc*/
.eFDQwF{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.eFDQwF{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.eFDQwF{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.eFDQwF{font-weight:400;}}/*!sc*/
@media (max-width:751px){.eFDQwF{font-weight:400;}}/*!sc*/
data-styled.g186[id="sc-1x9oq14-0-styled-div"]{content:"eFDQwF,"}/*!sc*/
.bMTmMH{position:unset;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g187[id="sc-r03h0s-1"]{content:"bMTmMH,"}/*!sc*/
.iLJJBX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 89px 0 0;}/*!sc*/
@media (max-width:1201px){.iLJJBX{margin:0 24px 0 0;}}/*!sc*/
data-styled.g188[id="sc-r03h0s-2"]{content:"iLJJBX,"}/*!sc*/
.kVvakX{-webkit-align-self:normal;-ms-flex-item-align:normal;align-self:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g189[id="sc-r03h0s-3"]{content:"kVvakX,"}/*!sc*/
.bYKNcH{z-index:0;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 40px 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}/*!sc*/
@media (max-width:1201px){.bYKNcH{margin:0 24px 0 0;}}/*!sc*/
.bYKNcH::after{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:transparent;}/*!sc*/
.bYKNcH:last-child{margin:0;}/*!sc*/
.cGgLky{z-index:0;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 40px 0 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}/*!sc*/
@media (max-width:1201px){.cGgLky{margin:0 24px 0 0;}}/*!sc*/
.cGgLky::after{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:transparent;}/*!sc*/
.cGgLky:hover::after{background:#4749c0;}/*!sc*/
.cGgLky:last-child{margin:0;}/*!sc*/
data-styled.g191[id="sc-r03h0s-5"]{content:"bYKNcH,cGgLky,"}/*!sc*/
.kpxsrg.kpxsrg{z-index:-1;position:absolute;width:615px;height:615px;}/*!sc*/
data-styled.g192[id="sc-r03h0s-6"]{content:"kpxsrg,"}/*!sc*/
.jHaHbB{margin:0 auto 0 0;color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jHaHbB:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jHaHbB:active{color:inherit;}/*!sc*/
@media (max-width:1201px){.jHaHbB{display:none;}}/*!sc*/
data-styled.g193[id="sc-r03h0s-7"]{content:"jHaHbB,"}/*!sc*/
.dZepSJ{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;cursor:pointer;padding:14px 16px;border-radius:20px;}/*!sc*/
@media (min-width:1200px){.dZepSJ:hover{background:#fff;}}/*!sc*/
@media (max-width:1201px){.dZepSJ{padding:10px 0;}}/*!sc*/
.gXNPrh{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;cursor:pointer;padding:14px 16px;border-radius:20px;font-weight:700;}/*!sc*/
@media (min-width:1200px){.gXNPrh:hover{background:#fff;}}/*!sc*/
@media (max-width:1201px){.gXNPrh{padding:10px 0;}}/*!sc*/
data-styled.g194[id="sc-4zz0i4-0"]{content:"dZepSJ,gXNPrh,"}/*!sc*/
.fXsjgC{margin:0 32px 0 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:24px;}/*!sc*/
.fXsjgC:last-child{margin:0;}/*!sc*/
@media (max-width:751px){.fXsjgC{margin:0 0 24px;}}/*!sc*/
data-styled.g195[id="sc-1kjc6dh-0"]{content:"fXsjgC,"}/*!sc*/
.bxwCjw{width:100%;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #ececec;color:#afafaf;}/*!sc*/
@media (max-width:1201px){.bxwCjw{margin:0 0 24px;padding:0;border-bottom:none;}}/*!sc*/
@media (max-width:751px){.bxwCjw{margin:0 0 8px;}}/*!sc*/
data-styled.g196[id="sc-1kjc6dh-1"]{content:"bxwCjw,"}/*!sc*/
.lhsLfs{display:grid;margin:0 -16px;grid-template-columns:repeat(2,288px);}/*!sc*/
@media (max-width:1201px){.lhsLfs{margin:0;}}/*!sc*/
@media (max-width:751px){.lhsLfs{gap:4px;}}/*!sc*/
.eANJVj{display:grid;margin:0 -16px;grid-template-columns:repeat(1,288px);}/*!sc*/
@media (max-width:1201px){.eANJVj{margin:0;}}/*!sc*/
@media (max-width:751px){.eANJVj{gap:4px;}}/*!sc*/
data-styled.g197[id="sc-1kjc6dh-2"]{content:"lhsLfs,eANJVj,"}/*!sc*/
.LDEpF{background-color:#ececec;border-radius:8px;position:relative;overflow:hidden;color:rgba(0,0,0,0);width:100%;height:100%;position:absolute;top:0;left:0;}/*!sc*/
.iXhGSD{background-color:#ececec;border-radius:8px;position:relative;overflow:hidden;color:rgba(0,0,0,0);}/*!sc*/
data-styled.g198[id="sc-1xopqwy-0"]{content:"LDEpF,iXhGSD,"}/*!sc*/
.jTtOKw{position:relative;display:block;}/*!sc*/
.ePGOOQ{position:static;display:block;}/*!sc*/
data-styled.g199[id="sc-hrqzy3-0"]{content:"jTtOKw,ePGOOQ,"}/*!sc*/
.faPWUN{min-width:100%;width:100%;min-height:100%;height:100%;position:relative;z-index:0;}/*!sc*/
.faPWUN *{opacity:0;pointer-events:none;}/*!sc*/
data-styled.g200[id="sc-hrqzy3-1"]{content:"faPWUN,"}/*!sc*/
.fEESDM{position:absolute;z-index:1;display:none;top:100%;left:0;width:100%;}/*!sc*/
data-styled.g236[id="sc-piuiz2-0"]{content:"fEESDM,"}/*!sc*/
.fDVGGf{z-index:0;-webkit-align-self:baseline;-ms-flex-item-align:baseline;align-self:baseline;overflow:hidden;position:relative;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:40px;background:#f8f8f8;box-shadow:0px 16px 16px rgba(0,0,0,0.25);border-radius:0px 0px 20px 20px;}/*!sc*/
@media (min-width:1200px){.fDVGGf{max-width:1200px;margin:0 auto;}}/*!sc*/
@media (max-width:1201px){.fDVGGf{padding:24px 36px;}}/*!sc*/
@media (max-width:751px){.fDVGGf{height:100%;padding:24px 0;border-radius:0;}}/*!sc*/
data-styled.g237[id="sc-piuiz2-1"]{content:"fDVGGf,"}/*!sc*/
.fhxPhf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g238[id="sc-piuiz2-2"]{content:"fhxPhf,"}/*!sc*/
.ggDqfB{right:-101px;top:-105px;bottom:-201px;}/*!sc*/
data-styled.g240[id="sc-1891c19-0"]{content:"ggDqfB,"}/*!sc*/
.dwrtLP{-webkit-transition:color 0.2s ease-out,-webkit-transform 0.2s ease-out;-webkit-transition:color 0.2s ease-out,transform 0.2s ease-out;transition:color 0.2s ease-out,transform 0.2s ease-out;will-change:color,transform;margin:0 0 0 4px;}/*!sc*/
@media (max-width:751px){.dwrtLP{display:none;}}/*!sc*/
data-styled.g241[id="sc-1youhxc-0"]{content:"dwrtLP,"}/*!sc*/
.cMNIlZ{-webkit-transition:font-weight 0.1s ease-out;transition:font-weight 0.1s ease-out;will-change:font-weight;}/*!sc*/
.cMNIlZ::before{content:attr(title);position:relative;display:block;font-weight:700;height:0;overflow:hidden;visibility:hidden;}/*!sc*/
data-styled.g242[id="sc-1youhxc-1"]{content:"cMNIlZ,"}/*!sc*/
@media (min-width:1200px){.gAMwby:hover .sc-1youhxc-0{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);}.gAMwby:hover .sc-1youhxc-0{color:#4749c0;}}/*!sc*/
.ewISlX:hover .sc-1youhxc-1{font-weight:700;}/*!sc*/
@media (min-width:1200px){.ewISlX:hover .sc-1youhxc-0{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg);}.ewISlX:hover .sc-1youhxc-0{color:#4749c0;}}/*!sc*/
@media (max-width:1201px){.ewISlX{display:none;}}/*!sc*/
data-styled.g243[id="sc-1youhxc-2"]{content:"gAMwby,ewISlX,"}/*!sc*/
.cgYLnJ{grid-auto-flow:column;grid-template-rows:repeat(8,1fr);}/*!sc*/
@media (max-width:751px){.cgYLnJ{grid-auto-flow:row;grid-template-columns:1fr;grid-template-row:unset;}}/*!sc*/
data-styled.g244[id="sc-ig0m9y-0"]{content:"cgYLnJ,"}/*!sc*/
.czpnNJ{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;will-change:background,border,opacity,color;cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 26px;font-weight:700;line-height:24px;min-height:56px;border-radius:20px;font-size:18px;color:#0f0f10;background:#ffd709;width:100%;}/*!sc*/
.czpnNJ:active{color:#0f0f10;}/*!sc*/
.czpnNJ:not(:disabled):hover{background:#ffea7d;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.czpnNJ:disabled{cursor:default;color:#afafaf;background:#ececec;pointer-events:none;}/*!sc*/
.bYRRHi{-webkit-transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;transition:background 0.2s ease-out,border 0.2s ease-out,opacity 0.2s ease-out,color 0.2s ease-out;will-change:background,border,opacity,color;cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 26px;font-weight:700;line-height:24px;min-height:56px;border-radius:20px;font-size:18px;color:#0f0f10;background:#ffd709;}/*!sc*/
.bYRRHi:active{color:#0f0f10;}/*!sc*/
.bYRRHi:not(:disabled):hover{background:#ffea7d;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.bYRRHi:disabled{cursor:default;color:#afafaf;background:#ececec;pointer-events:none;}/*!sc*/
data-styled.g249[id="sc-1qig7zt-0"]{content:"czpnNJ,bYRRHi,"}/*!sc*/
.eDycrR{pointer-events:none;}/*!sc*/
data-styled.g257[id="sc-gqclrv-0"]{content:"eDycrR,"}/*!sc*/
@media (max-width:751px){.rcsBI{display:none;}}/*!sc*/
data-styled.g258[id="sc-gqclrv-1"]{content:"rcsBI,"}/*!sc*/
.cwTwwh{min-width:32px;width:32px;min-height:32px;height:32px;margin:0 8px 0 0;border-radius:50%;overflow:hidden;}/*!sc*/
@media (max-width:1201px){.cwTwwh{min-width:28px;width:28px;min-height:28px;height:28px;margin:0 4px 0 0;}}/*!sc*/
@media (max-width:751px){.cwTwwh{margin:0;}}/*!sc*/
data-styled.g259[id="sc-199a3eq-1-div"]{content:"cwTwwh,"}/*!sc*/
.deZXFK{-webkit-align-self:normal;-ms-flex-item-align:normal;align-self:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 0 auto;}/*!sc*/
data-styled.g302[id="sc-1pw2hu9-0"]{content:"deZXFK,"}/*!sc*/
.gnDzft{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;position:static;-webkit-tap-highlight-color:transparent;}/*!sc*/
data-styled.g303[id="sc-k2vhmo-0"]{content:"gnDzft,"}/*!sc*/
.cYMYSf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;color:#232323;}/*!sc*/
.cYMYSf:hover{color:#4749c0;}/*!sc*/
data-styled.g304[id="sc-k2vhmo-1"]{content:"cYMYSf,"}/*!sc*/
.etPPJE{-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out;will-change:color;}/*!sc*/
data-styled.g305[id="sc-k2vhmo-2"]{content:"etPPJE,"}/*!sc*/
.dMvvUT{position:relative;padding:13px 0 29px;margin-bottom:-16px;background:linear-gradient(90deg,#a34fc6 0%,#5354e4 100%);color:#fff;overflow:hidden;}/*!sc*/
@media (max-width:1201px){.dMvvUT{padding:12px 16px 28px;}}/*!sc*/
@media (max-width:751px){.dMvvUT{padding:9px 15px 25px;}}/*!sc*/
.dMvvUT .before-header-ui__ellipse1{position:absolute;left:-147px;top:-387px;width:854px;height:854px;opacity:0.2;-webkit-filter:blur(12px);filter:blur(12px);background:radial-gradient( 50% 50% at 50% 50%,#f6cae3 0%,rgba(246,202,227,0) 100% );}/*!sc*/
.dMvvUT .before-header-ui__ellipse2{position:absolute;left:-148px;top:-244px;width:568px;height:568px;opacity:0.3;-webkit-filter:blur(12px);filter:blur(12px);background:radial-gradient( 50% 50% at 50% 50%,#f6cae3 0%,rgba(246,202,227,0) 100% );}/*!sc*/
.dMvvUT .before-header-ui__container{font-family:'IBM Plex Sans','Roboto',sans-serif;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:24px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 auto;width:1120px;max-width:1120px;}/*!sc*/
@media (max-width:1201px){.dMvvUT .before-header-ui__container{width:100%;max-width:unset;}}/*!sc*/
.dMvvUT .before-header-ui__img{position:relative;}/*!sc*/
@media (max-width:1201px){.dMvvUT .before-header-ui__img{display:none;}}/*!sc*/
.dMvvUT .before-header-ui__img_sales{width:164px;}/*!sc*/
.dMvvUT .before-header-ui__img_sales::before{content:'';position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;height:190px;background:url(/_next/static/images/img/sales-647707e6e3bb6ad2deb188a1217a88ac.png) no-repeat;background-size:contain;}/*!sc*/
.dMvvUT .before-header-ui__content{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;}/*!sc*/
.dMvvUT .before-header-ui__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
.dMvvUT .before-header-ui__title{font-size:28px;line-height:32px;font-weight:700;}/*!sc*/
@media (max-width:751px){.dMvvUT .before-header-ui__title{font-size:20px;line-height:24px;font-weight:700;}}/*!sc*/
.dMvvUT .before-header-ui__text{font-size:14px;line-height:20px;font-weight:700;-webkit-letter-spacing:-0.01em;-moz-letter-spacing:-0.01em;-ms-letter-spacing:-0.01em;letter-spacing:-0.01em;}/*!sc*/
@media (max-width:751px){.dMvvUT .before-header-ui__text{font-size:12px;line-height:16px;font-weight:700;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;}}/*!sc*/
.dMvvUT .before-header-ui__button{-webkit-transition:background 0.2s ease-out;transition:background 0.2s ease-out;will-change:background;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px;line-height:24px;font-weight:700;border-radius:12px;-webkit-text-decoration:none;text-decoration:none;background:#fff;padding:12px 24px;display:inline-block;outline:none;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;color:#232323;text-overflow:ellipsis;min-width:200px;}/*!sc*/
@media (max-width:751px){.dMvvUT .before-header-ui__button{font-size:16px;line-height:24px;font-weight:700;padding:8px 16px;min-width:auto;}}/*!sc*/
.dMvvUT .before-header-ui__button:hover,.dMvvUT .before-header-ui__button:active{background-color:#ececec;}/*!sc*/
.dMvvUT .before-header-ui__button_secondary{color:#fff;background:rgba(255,255,255,0.2);}/*!sc*/
.dMvvUT .before-header-ui__button_secondary:hover,.dMvvUT .before-header-ui__button_secondary:active{background:rgba(255,255,255,0.3);color:#fff;}/*!sc*/
@media (max-width:1201px){.dMvvUT .before-header-ui__button_secondary{display:none;}}/*!sc*/
data-styled.g339[id="sc-1pwtpfp-0"]{content:"dMvvUT,"}/*!sc*/
.klmZDZ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100%;}/*!sc*/
data-styled.g340[id="sc-1j17uuq-0"]{content:"klmZDZ,"}/*!sc*/
.dPcKhb{position:relative;z-index:2;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;background:inherit;overflow:hidden;}/*!sc*/
data-styled.g341[id="sc-1j17uuq-1"]{content:"dPcKhb,"}/*!sc*/
@media (max-width:1201px){.ui-chunk-container .hide-mobile{display:none;}}/*!sc*/
@media (max-width:751px){.ui-chunk-container .hide-phone{display:none;}}/*!sc*/
.ui-chunk-container .show-mobile{display:none;}/*!sc*/
@media (max-width:1201px){.ui-chunk-container .show-mobile{display:block;}}/*!sc*/
.ui-chunk-container .show-phone{display:none;}/*!sc*/
@media (max-width:751px){.ui-chunk-container .show-phone{display:block;}}/*!sc*/
data-styled.g343[id="sc-global-eCGhFA1"]{content:"sc-global-eCGhFA1,"}/*!sc*/
@-webkit-keyframes iJeNST{from{-webkit-transform:rotate(0deg) translateX(70px);-ms-transform:rotate(0deg) translateX(70px);transform:rotate(0deg) translateX(70px);}to{-webkit-transform:rotate(360deg) translateX(70px);-ms-transform:rotate(360deg) translateX(70px);transform:rotate(360deg) translateX(70px);}}/*!sc*/
@keyframes iJeNST{from{-webkit-transform:rotate(0deg) translateX(70px);-ms-transform:rotate(0deg) translateX(70px);transform:rotate(0deg) translateX(70px);}to{-webkit-transform:rotate(360deg) translateX(70px);-ms-transform:rotate(360deg) translateX(70px);transform:rotate(360deg) translateX(70px);}}/*!sc*/
data-styled.g344[id="sc-keyframes-iJeNST"]{content:"iJeNST,"}/*!sc*/
.kmquqg{object-fit:contain;}/*!sc*/
data-styled.g346[id="sc-ed2fvu-0"]{content:"kmquqg,"}/*!sc*/
.bzaXwp{background-color:#f8f8f8;}/*!sc*/
data-styled.g386[id="sc-1b3dhyb-0"]{content:"bzaXwp,"}/*!sc*/
.dvLdDh{overflow:hidden;z-index:0;}/*!sc*/
data-styled.g387[id="sc-1b3dhyb-1"]{content:"dvLdDh,"}/*!sc*/
.ftkQLi{width:100%;}/*!sc*/
data-styled.g388[id="sc-1lrh8w5-0"]{content:"ftkQLi,"}/*!sc*/
.JTsAm{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/
data-styled.g391[id="sc-1lrh8w5-3"]{content:"JTsAm,"}/*!sc*/
.jTrfLJ{margin:auto;padding:0 4px 0 0;}/*!sc*/
data-styled.g392[id="sc-1lrh8w5-4"]{content:"jTrfLJ,"}/*!sc*/
.eCsaUt{color:#130f26;}/*!sc*/
.kfzfcV{color:#130f26;}/*!sc*/
@media (max-width:751px){.kfzfcV{display:none;}}/*!sc*/
data-styled.g393[id="sc-1lrh8w5-5"]{content:"eCsaUt,kfzfcV,"}/*!sc*/
.ddfkAs{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:416px;margin:8px 96px 0 0;}/*!sc*/
@media (max-width:1201px){.ddfkAs{width:552px;margin:0 0 60px;}}/*!sc*/
@media (max-width:751px){.ddfkAs{width:344px;margin:0 0 40px;}}/*!sc*/
data-styled.g411[id="sc-1oz275d-0"]{content:"ddfkAs,"}/*!sc*/
.dCggDS{border:none;border-radius:16px;object-fit:contain;width:100%;}/*!sc*/
@media (max-width:1201px){.dCggDS{border-radius:26px;}}/*!sc*/
@media (max-width:751px){.dCggDS{border-radius:16px;}}/*!sc*/
data-styled.g412[id="sc-1oz275d-1"]{content:"dCggDS,"}/*!sc*/
.cmjKRy{margin-bottom:52px;}/*!sc*/
@media (max-width:1201px){.cmjKRy{margin-bottom:60px;}.cmjKRy .swiper{overflow:visible;}}/*!sc*/
@media (max-width:751px){.cmjKRy{margin-bottom:36px;}.cmjKRy .swiper{overflow:hidden;}}/*!sc*/
data-styled.g413[id="sc-1oz275d-2"]{content:"cmjKRy,"}/*!sc*/
.lliDuJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:992px;margin:0 auto 120px;padding:0 0 120px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;border-bottom:1px solid #afafaf;}/*!sc*/
@media (max-width:1201px){.lliDuJ{width:100%;padding:0 0 100px;}}/*!sc*/
@media (max-width:751px){.lliDuJ{margin:0 auto 80px;padding:0 0 40px;}}/*!sc*/
data-styled.g415[id="sc-1r62a6q-0"]{content:"lliDuJ,"}/*!sc*/
.llFwsA{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.llFwsA{margin-bottom:32px;}}/*!sc*/
@media (max-width:751px){.llFwsA{width:340px;}}/*!sc*/
data-styled.g416[id="sc-1r62a6q-1"]{content:"llFwsA,"}/*!sc*/
.dtnelf{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.dtnelf{margin-bottom:40px;}}/*!sc*/
data-styled.g417[id="sc-1r62a6q-2"]{content:"dtnelf,"}/*!sc*/
.eNyjzK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.eNyjzK{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g418[id="sc-1r62a6q-3"]{content:"eNyjzK,"}/*!sc*/
.egKvEI H1,.egKvEI H2,.egKvEI H3,.egKvEI H4,.egKvEI H5,.egKvEI H6{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;padding-bottom:40px;}/*!sc*/
@media (max-width:1201px){.egKvEI H1,.egKvEI H2,.egKvEI H3,.egKvEI H4,.egKvEI H5,.egKvEI H6{font-size:40px;line-height:48px;padding-bottom:32px;}}/*!sc*/
@media (max-width:751px){.egKvEI H1,.egKvEI H2,.egKvEI H3,.egKvEI H4,.egKvEI H5,.egKvEI H6{font-size:20px;line-height:24px;padding-bottom:40px;}}/*!sc*/
.egKvEI p{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;}/*!sc*/
@media (max-width:1201px){.egKvEI p{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.egKvEI p{font-size:16px;line-height:24px;}}/*!sc*/
.egKvEI ul,.egKvEI ol{margin:-24px 0 32px;padding:0;}/*!sc*/
.egKvEI li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;color:#000;}/*!sc*/
@media (max-width:1201px){.egKvEI li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.egKvEI li{font-size:16px;line-height:24px;}}/*!sc*/
.egKvEI li:last-child{margin-bottom:0;}/*!sc*/
.egKvEI li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.egKvEI li:before{color:#418A1F;}/*!sc*/
.egKvEI > *:last-child{margin-bottom:0;}/*!sc*/
data-styled.g419[id="sc-1r62a6q-4"]{content:"egKvEI,"}/*!sc*/
.dAwfZU{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );-webkit-clip-path:polygon(0 0,100% 0px,100% calc(100% - 80px),0% 100%);clip-path:polygon(0 0,100% 0px,100% calc(100% - 80px),0% 100%);}/*!sc*/
@media (max-width:751px){.dAwfZU{-webkit-clip-path:polygon(0 0,100% 0px,100% calc(100% - 56px),0% 100%);clip-path:polygon(0 0,100% 0px,100% calc(100% - 56px),0% 100%);}}/*!sc*/
.hRKTfD{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );-webkit-clip-path:polygon(0 0,100% 80px,100% calc(100% - 80px),0% 100%);clip-path:polygon(0 0,100% 80px,100% calc(100% - 80px),0% 100%);}/*!sc*/
@media (max-width:751px){.hRKTfD{-webkit-clip-path:polygon(0 0,100% 56px,100% calc(100% - 56px),0% 100%);clip-path:polygon(0 0,100% 56px,100% calc(100% - 56px),0% 100%);}}/*!sc*/
.goEZrn{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );-webkit-clip-path:polygon(0 80px,100% 0,100% 100%,0 calc(100% - 80px));clip-path:polygon(0 80px,100% 0,100% 100%,0 calc(100% - 80px));}/*!sc*/
@media (max-width:751px){.goEZrn{-webkit-clip-path:polygon(0 56px,100% 0,100% 100%,0 calc(100% - 56px));clip-path:polygon(0 56px,100% 0,100% 100%,0 calc(100% - 56px));}}/*!sc*/
.jLNDvg{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );-webkit-clip-path:polygon(0 0,100% 80px,100% calc(100% - 0px),0% 100%);clip-path:polygon(0 0,100% 80px,100% calc(100% - 0px),0% 100%);}/*!sc*/
@media (max-width:751px){.jLNDvg{-webkit-clip-path:polygon(0 0,100% 56px,100% calc(100% - 0px),0% 100%);clip-path:polygon(0 0,100% 56px,100% calc(100% - 0px),0% 100%);}}/*!sc*/
data-styled.g422[id="sc-1ddwpfq-0"]{content:"dAwfZU,hRKTfD,goEZrn,jLNDvg,"}/*!sc*/
.hnlXxp{position:relative;width:100%;padding:80px 0;}/*!sc*/
@media (max-width:751px){.hnlXxp{padding:56px 0;}}/*!sc*/
data-styled.g423[id="sc-1ddwpfq-1"]{content:"hnlXxp,"}/*!sc*/
.bogpCZ{color:#0f0f10;word-break:break-word;}/*!sc*/
.bogpCZ h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.bogpCZ h1{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.bogpCZ h1{font-size:24px;line-height:28px;margin-bottom:32px;}}/*!sc*/
.bogpCZ h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.bogpCZ h2{font-size:24px;line-height:28px;margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.bogpCZ h2{font-size:18px;line-height:24px;margin-bottom:16px;}}/*!sc*/
.bogpCZ p{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.bogpCZ p{margin-bottom:24px;}}/*!sc*/
.bogpCZ ul,.bogpCZ ol{margin:-24px 0 32px;padding:0;margin:0 0 32px;}/*!sc*/
.bogpCZ li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;}/*!sc*/
@media (max-width:1201px){.bogpCZ li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.bogpCZ li{font-size:16px;line-height:24px;}}/*!sc*/
.bogpCZ li:last-child{margin-bottom:0;}/*!sc*/
.bogpCZ li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.bogpCZ li::before{color:#418A1F;}/*!sc*/
.bogpCZ *:last-child{margin-bottom:0;}/*!sc*/
.dJQBfL{color:#fff;word-break:break-word;}/*!sc*/
.dJQBfL h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.dJQBfL h1{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.dJQBfL h1{font-size:24px;line-height:28px;margin-bottom:32px;}}/*!sc*/
.dJQBfL h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.dJQBfL h2{font-size:24px;line-height:28px;margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.dJQBfL h2{font-size:18px;line-height:24px;margin-bottom:16px;}}/*!sc*/
.dJQBfL p{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.dJQBfL p{margin-bottom:24px;}}/*!sc*/
.dJQBfL ul,.dJQBfL ol{margin:-24px 0 32px;padding:0;margin:0 0 32px;}/*!sc*/
.dJQBfL li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;}/*!sc*/
@media (max-width:1201px){.dJQBfL li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.dJQBfL li{font-size:16px;line-height:24px;}}/*!sc*/
.dJQBfL li:last-child{margin-bottom:0;}/*!sc*/
.dJQBfL li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.dJQBfL li::before{color:#fff;}/*!sc*/
.dJQBfL *:last-child{margin-bottom:0;}/*!sc*/
data-styled.g458[id="sc-pyhrzd-0"]{content:"bogpCZ,dJQBfL,"}/*!sc*/
.fXxDDe{cursor:pointer;}/*!sc*/
data-styled.g464[id="sc-clwny5-0"]{content:"fXxDDe,"}/*!sc*/
.bPlUQW{object-fit:contain;width:100%;}/*!sc*/
data-styled.g465[id="sc-clwny5-1"]{content:"bPlUQW,"}/*!sc*/
.hHfHsk{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:320px;margin-left:104px;}/*!sc*/
@media (max-width:1201px){.hHfHsk{width:200px;margin-left:40px;}}/*!sc*/
@media (max-width:751px){.hHfHsk{width:100%;margin-left:0;margin-top:60px;}}/*!sc*/
data-styled.g467[id="sc-1nmmm75-0"]{content:"hHfHsk,"}/*!sc*/
.ktwleZ{-webkit-flex:1 1;-ms-flex:1 1;flex:1 1;}/*!sc*/
data-styled.g486[id="sc-1itg2iw-0"]{content:"ktwleZ,"}/*!sc*/
.jLsgNA{margin:0 auto 120px;}/*!sc*/
@media (max-width:1201px){.jLsgNA{margin-bottom:80px;}}/*!sc*/
data-styled.g487[id="sc-s2slrh-0"]{content:"jLsgNA,"}/*!sc*/
.SVrDZ{width:992px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.SVrDZ{width:100%;}}/*!sc*/
@media (max-width:751px){.SVrDZ{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g488[id="sc-s2slrh-1"]{content:"SVrDZ,"}/*!sc*/
.iHYLll{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;width:352px;margin-right:32px;}/*!sc*/
.iHYLll:last-child{margin-right:0;}/*!sc*/
@media (max-width:1201px){.iHYLll{width:100%;margin-right:0;margin-top:40px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;text-align:left;}.iHYLll:first-child{margin-top:0;}}/*!sc*/
@media (max-width:751px){.iHYLll{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;margin-top:32px;}}/*!sc*/
data-styled.g490[id="sc-16yt4q5-0"]{content:"iHYLll,"}/*!sc*/
.llcKcw{overflow:hidden;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-bottom:24px;border-radius:50%;background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );}/*!sc*/
@media (max-width:1201px){.llcKcw{margin-bottom:0;margin-right:24px;}}/*!sc*/
data-styled.g491[id="sc-16yt4q5-1"]{content:"llcKcw,"}/*!sc*/
.bUbCKQ{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/oneImg-b1c92b38734a5b324f9b32a5a243bf06.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.bUbCKQ{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.dIESaV{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/twoImg-28bd45b9ade74f4471bf39916d76d47e.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.dIESaV{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.gbGscf{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/threeImg-7d8d62a36e7b66f9691d1d7d01b44fb9.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.gbGscf{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.yjETG{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/oneImg-d53504a93142009806d3cc77cd059dcb.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.yjETG{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.iGfrzu{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/twoImg-bf3134a7f0a1f9684257b13b37cd07b5.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.iGfrzu{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
.eJXsCF{min-width:80px;width:80px;min-height:80px;height:80px;background-image:url(/_next/static/images/img/threeImg-a81ea3b3db08e9c236bce2eb8f407ab7.svg);background-size:contain;background-repeat:no-repeat;background-position:50% 50%;}/*!sc*/
@media (max-width:751px){.eJXsCF{min-width:48px;width:48px;min-height:48px;height:48px;}}/*!sc*/
data-styled.g492[id="sc-16yt4q5-2"]{content:"bUbCKQ,dIESaV,gbGscf,yjETG,iGfrzu,eJXsCF,"}/*!sc*/
.kgZxtV p{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;}/*!sc*/
@media (max-width:1201px){.kgZxtV p{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.kgZxtV p{font-size:16px;line-height:24px;}}/*!sc*/
.kgZxtV h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.kgZxtV h1{font-size:24px;line-height:28px;margin-bottom:8px;}}/*!sc*/
@media (max-width:751px){.kgZxtV h1{font-size:18px;line-height:24px;}}/*!sc*/
data-styled.g493[id="sc-16yt4q5-3"]{content:"kgZxtV,"}/*!sc*/
.eOXZIV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:20px;}/*!sc*/
data-styled.g494[id="sc-11l8wec-0"]{content:"eOXZIV,"}/*!sc*/
.jpiMVl{margin-bottom:120px;position:relative;}/*!sc*/
@media (max-width:1201px){.jpiMVl{margin-bottom:72px;}}/*!sc*/
data-styled.g495[id="sc-ze365z-0"]{content:"jpiMVl,"}/*!sc*/
.RPhWg{margin-bottom:40px;text-align:center;}/*!sc*/
data-styled.g496[id="sc-ze365z-1"]{content:"RPhWg,"}/*!sc*/
.bnqryM{width:416px;}/*!sc*/
@media (max-width:1201px){.bnqryM{width:100%;}}/*!sc*/
data-styled.g498[id="sc-32ejay-1"]{content:"bnqryM,"}/*!sc*/
.eNgslB{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 24px;padding:0 0 0 24px;list-style:none;margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.eNgslB{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.eNgslB{font-size:16px;line-height:24px;}}/*!sc*/
.eNgslB:last-child{margin-bottom:0;}/*!sc*/
.eNgslB::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
data-styled.g499[id="sc-1xm68ya-0"]{content:"eNgslB,"}/*!sc*/
.hqEzLD{width:928px;}/*!sc*/
@media (max-width:1201px){.hqEzLD{width:100%;}}/*!sc*/
@media (max-width:751px){.hqEzLD{max-width:344px;}}/*!sc*/
data-styled.g500[id="sc-1xm68ya-1"]{content:"hqEzLD,"}/*!sc*/
.isRQVJ{margin-bottom:80px;padding:160px 0;color:#fff;}/*!sc*/
.isRQVJ .sc-1xm68ya-0::before{color:#fff;}/*!sc*/
@media (max-width:1201px){.isRQVJ{margin-bottom:120px;}}/*!sc*/
@media (max-width:751px){.isRQVJ{margin-bottom:80px;padding:120px 0;}}/*!sc*/
data-styled.g501[id="sc-1xm68ya-2"]{content:"isRQVJ,"}/*!sc*/
.cXcqyt{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.cXcqyt{margin-bottom:52px;}}/*!sc*/
@media (max-width:751px){.cXcqyt{margin-bottom:32px;}}/*!sc*/
data-styled.g502[id="sc-1xm68ya-3"]{content:"cXcqyt,"}/*!sc*/
.kscGdX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:40px;margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.kscGdX{gap:60px;margin-bottom:52px;}}/*!sc*/
@media (max-width:751px){.kscGdX{gap:32px;margin-bottom:40px;}}/*!sc*/
data-styled.g503[id="sc-1xm68ya-4"]{content:"kscGdX,"}/*!sc*/
.jEIquP{padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}/*!sc*/
.jEIquP .sc-1xm68ya-0:after{background-color:#fff;}/*!sc*/
@media (max-width:1201px){.jEIquP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.jEIquP{gap:12px;}}/*!sc*/
data-styled.g505[id="sc-1xm68ya-6"]{content:"jEIquP,"}/*!sc*/
.eOihnY{font-size:18px;line-height:24px;font-weight:400;position:relative;cursor:pointer;}/*!sc*/
@media (max-width:751px){.eOihnY{font-size:16px;line-height:24px;font-weight:400;}}/*!sc*/
.eOihnY:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;border-bottom:1px solid #fff;}/*!sc*/
data-styled.g506[id="sc-1xm68ya-7"]{content:"eOihnY,"}/*!sc*/
.kbHGLB{background:#fff;border-radius:25px;padding:24px 40px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:148px !important;}/*!sc*/
.kbHGLB.swiper-slide{width:224px;}/*!sc*/
@media (max-width:751px){.kbHGLB{padding:12px 16px;border-radius:16px;}.kbHGLB.swiper-slide{width:120px;height:80px !important;}}/*!sc*/
data-styled.g507[id="sc-x5ajzb-0"]{content:"kbHGLB,"}/*!sc*/
.bjDeFO{background:url(https://cdn.otus.ru/media/public/81/c8/81c844c71b85419b8aa2ad821d8f6c84.jpg) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.GkSfs{background:url(https://cdn.otus.ru/media/public/af/e4/afe4aa9660d444688ddc48c2acf31bd0.jpg) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.kgYUbC{background:url(https://cdn.otus.ru/media/public/7a/13/7a13906b56804a5f94d7bbb6e61f69e3.jpg) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.bvOTNy{background:url(https://cdn.otus.ru/media/public/82/85/828560e20c494ff7ac73b32ae47dd3ba.webp) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.fVYPAs{background:url(https://cdn.otus.ru/media/public/6c/81/6c8195524caf4befbb74c7a803f678fc.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
data-styled.g508[id="sc-x5ajzb-1"]{content:"bjDeFO,GkSfs,kgYUbC,bvOTNy,fVYPAs,"}/*!sc*/
.cdveUu{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.cdveUu{width:100%;}}/*!sc*/
data-styled.g509[id="sc-2pu6he-0"]{content:"cdveUu,"}/*!sc*/
.ifdlyD{margin-bottom:40px;white-space:normal;}/*!sc*/
@media (max-width:751px){.ifdlyD{margin-bottom:28px;}}/*!sc*/
data-styled.g510[id="sc-2pu6he-1"]{content:"ifdlyD,"}/*!sc*/
.rLbwk .swiper{margin:0 -40px 0 0;}/*!sc*/
@media (max-width:1201px){.rLbwk .swiper{margin:0 -36px 0 0;}}/*!sc*/
@media (max-width:751px){.rLbwk .swiper{margin:0 -16px 0 0;}}/*!sc*/
data-styled.g512[id="sc-2pu6he-3"]{content:"rLbwk,"}/*!sc*/
.hlgWda{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:229px;-webkit-flex:1;-ms-flex:1;flex:1;margin-right:24px;}/*!sc*/
.hlgWda:last-child{margin-right:0;}/*!sc*/
@media (max-width:1201px){.hlgWda{margin-bottom:32px;}.hlgWda:last-child{margin-bottom:0;}}/*!sc*/
@media (max-width:751px){.hlgWda{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;margin-bottom:12px;}.hlgWda:last-child{margin-bottom:24px;}}/*!sc*/
data-styled.g513[id="sc-1f5byvo-0"]{content:"hlgWda,"}/*!sc*/
.jyvyoR{color:#25b969;}/*!sc*/
data-styled.g514[id="sc-1f5byvo-1"]{content:"jyvyoR,"}/*!sc*/
.lhTbHf{margin-top:8px;white-space:nowrap;white-space:pre;}/*!sc*/
@media (max-width:751px){.lhTbHf{margin-top:0;}}/*!sc*/
@media (max-width:1201px){.lhTbHf{white-space:nowrap;}}/*!sc*/
data-styled.g515[id="sc-1f5byvo-2"]{content:"lhTbHf,"}/*!sc*/
.kWSJKL{margin-bottom:32px;}/*!sc*/
@media (max-width:751px){.kWSJKL{margin-bottom:20px;}}/*!sc*/
data-styled.g516[id="sc-xgmw75-0"]{content:"kWSJKL,"}/*!sc*/
.fqgPAJ{position:relative;background-color:#fff;color:#0f0f10;border-radius:25px;width:100%;margin:0 0 100px;padding:44px 64px 52px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.fqgPAJ{margin:0 0 40px;padding:44px 32px 36px 40px;}}/*!sc*/
@media (max-width:751px){.fqgPAJ{padding:24px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g517[id="sc-xgmw75-1"]{content:"fqgPAJ,"}/*!sc*/
.cGRACb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:12px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g518[id="sc-xgmw75-2"]{content:"cGRACb,"}/*!sc*/
.jzczJK{-webkit-flex:1 1;-ms-flex:1 1;flex:1 1;}/*!sc*/
data-styled.g519[id="sc-xgmw75-3"]{content:"jzczJK,"}/*!sc*/
.fSmctL{margin-bottom:12px;}/*!sc*/
data-styled.g520[id="sc-xgmw75-4"]{content:"fSmctL,"}/*!sc*/
.fHxdGa{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.fHxdGa{width:382px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.fHxdGa{width:100%;}}/*!sc*/
data-styled.g521[id="sc-xgmw75-5"]{content:"fHxdGa,"}/*!sc*/
.hNPHLe{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:208px;padding:28px 0 16px 48px;border-left:1px solid #ececec;}/*!sc*/
@media (max-width:1201px){.hNPHLe{position:absolute;right:32px;bottom:60px;padding:0 0 20px 48px;}}/*!sc*/
@media (max-width:751px){.hNPHLe{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;width:100%;padding:16px 0 0 0;border-top:1px solid #ececec;border-left:none;position:relative;bottom:0;right:0;}}/*!sc*/
data-styled.g522[id="sc-xgmw75-6"]{content:"hNPHLe,"}/*!sc*/
.hBXFys{text-align:center;}/*!sc*/
@media (max-width:1201px){.hBXFys{font-size:62px;line-height:68px;}}/*!sc*/
@media (max-width:751px){.hBXFys{text-align:left;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:16px;}}/*!sc*/
data-styled.g523[id="sc-xgmw75-7"]{content:"hBXFys,"}/*!sc*/
.rdBYv{margin-bottom:12px;}/*!sc*/
@media (max-width:751px){.rdBYv{margin-bottom:0;margin-left:24px;}}/*!sc*/
data-styled.g524[id="sc-xgmw75-8"]{content:"rdBYv,"}/*!sc*/
.dtCZZG{min-width:48px;width:48px;min-height:48px;height:48px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 24px 0 0;border-radius:12px;background:url(https://cdn.otus.ru/media/public/4d/8f/4d8fdad20e6c460092b45b91a57869e8.svg),linear-gradient( 99.66deg, #387C17 11.62%, #1B5300 87.01% );background-repeat:no-repeat;background-size:48px 48px;background-position:center;}/*!sc*/
data-styled.g525[id="sc-xgmw75-9"]{content:"dtCZZG,"}/*!sc*/
.jzJAgH{height:auto;margin-bottom:120px;padding:160px 0 200px;color:#fff;}/*!sc*/
@media (max-width:1201px){.jzJAgH{margin-bottom:88px;}}/*!sc*/
@media (max-width:751px){.jzJAgH{margin-bottom:64px;padding:136px 0;}}/*!sc*/
data-styled.g526[id="sc-1kuct9n-0"]{content:"jzJAgH,"}/*!sc*/
.jqwyOS{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.jqwyOS{margin-bottom:44px;}}/*!sc*/
@media (max-width:751px){.jqwyOS{margin-bottom:24px;}}/*!sc*/
data-styled.g527[id="sc-1kuct9n-1"]{content:"jqwyOS,"}/*!sc*/
.cfBLof{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.cfBLof{width:100%;}}/*!sc*/
data-styled.g528[id="sc-1kuct9n-2"]{content:"cfBLof,"}/*!sc*/
.efarBD{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.efarBD{margin-bottom:36px;}}/*!sc*/
@media (max-width:751px){.efarBD{margin-bottom:12px;}}/*!sc*/
data-styled.g530[id="sc-1kuct9n-4"]{content:"efarBD,"}/*!sc*/
.hXsBII{margin:0 0 100px;}/*!sc*/
@media (max-width:1201px){.hXsBII{margin:0 0 60xp;}}/*!sc*/
@media (max-width:751px){.hXsBII{margin:0 0 28px;}}/*!sc*/
.hXsBII ul{-webkit-column-count:2;column-count:2;-webkit-column-gap:96px;column-gap:96px;}/*!sc*/
@media (max-width:1201px){.hXsBII ul{-webkit-column-gap:20px;column-gap:20px;}}/*!sc*/
@media (max-width:751px){.hXsBII ul{-webkit-column-count:1;column-count:1;}}/*!sc*/
.hXsBII ul li{width:416px;}/*!sc*/
@media (max-width:1201px){.hXsBII ul li{width:332px;}}/*!sc*/
@media (max-width:751px){.hXsBII ul li{width:100%;}.hXsBII ul li b{font-weight:400;}}/*!sc*/
data-styled.g531[id="sc-1kuct9n-5"]{content:"hXsBII,"}/*!sc*/
.ciEuHS{color:#0f0f10;padding:32px 10px 10px;border-top:1px solid #ececec;}/*!sc*/
@media (max-width:751px){.ciEuHS{padding:12px 0 0;}}/*!sc*/
data-styled.g533[id="sc-ptxdl6-0"]{content:"ciEuHS,"}/*!sc*/
.kyVtIH{-webkit-transition:height 0.2s ease-out;transition:height 0.2s ease-out;will-change:height;overflow:hidden;}/*!sc*/
data-styled.g534[id="sc-ptxdl6-1"]{content:"kyVtIH,"}/*!sc*/
.kVdrfk{padding-top:20px;}/*!sc*/
@media (max-width:751px){.kVdrfk{padding-top:12px;}}/*!sc*/
data-styled.g535[id="sc-ptxdl6-2"]{content:"kVdrfk,"}/*!sc*/
.hdRZtB{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:24px;}/*!sc*/
data-styled.g536[id="sc-li015i-0"]{content:"hdRZtB,"}/*!sc*/
.bqYpKB{color:#0f0f10;padding:10px;}/*!sc*/
@media (max-width:751px){.bqYpKB{padding:0;}}/*!sc*/
data-styled.g537[id="sc-li015i-1"]{content:"bqYpKB,"}/*!sc*/
.kETOUP{cursor:pointer;color:#418A1F;background:#fff;border-radius:20px;padding:20px 36px 20px 20px;-webkit-tap-highlight-color:transparent;}/*!sc*/
@media (max-width:751px){.kETOUP{padding:16px 28px 16px 16px;}}/*!sc*/
data-styled.g538[id="sc-li015i-2"]{content:"kETOUP,"}/*!sc*/
.dbNuvG{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}/*!sc*/
data-styled.g539[id="sc-li015i-3"]{content:"dbNuvG,"}/*!sc*/
.htYSLI{margin-bottom:20px;}/*!sc*/
.htYSLI:last-child{margin-bottom:0;}/*!sc*/
@media (max-width:751px){.htYSLI{margin-bottom:12px;}}/*!sc*/
data-styled.g541[id="sc-tqrjzo-1"]{content:"htYSLI,"}/*!sc*/
.irTCnx{width:992px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.irTCnx{width:100%;}}/*!sc*/
@media (max-width:751px){.irTCnx{width:100%;margin-bottom:28px;}}/*!sc*/
data-styled.g542[id="sc-1mszhjn-0"]{content:"irTCnx,"}/*!sc*/
.kPNZqQ{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.kPNZqQ{margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.kPNZqQ{margin-bottom:20px;}}/*!sc*/
data-styled.g543[id="sc-1mszhjn-1"]{content:"kPNZqQ,"}/*!sc*/
.gwYuWO.gwYuWO{width:416px;}/*!sc*/
@media (max-width:751px){.gwYuWO.gwYuWO{width:100%;}}/*!sc*/
data-styled.g571[id="sc-kixk9v-0"]{content:"gwYuWO,"}/*!sc*/
.dgWykw{margin-left:8px;}/*!sc*/
data-styled.g572[id="sc-3cb1l3-0"]{content:"dgWykw,"}/*!sc*/
.galmep{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#fff;width:992px;height:64px;margin:40px auto 0;padding:16px 20px;border-radius:20px;}/*!sc*/
@media (max-width:1201px){.galmep{width:100%;height:auto;padding:16px 24px;}}/*!sc*/
@media (max-width:751px){.galmep{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:48px;padding:24px 12px;}}/*!sc*/
data-styled.g573[id="sc-3cb1l3-1"]{content:"galmep,"}/*!sc*/
.jeNzke{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex:1;-ms-flex:1;flex:1;margin:auto 0;}/*!sc*/
@media (max-width:1201px){.jeNzke{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/
@media (max-width:751px){.jeNzke{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g575[id="sc-3cb1l3-3"]{content:"jeNzke,"}/*!sc*/
.kGoYMV{color:#0f0f10;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0 20px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
.kGoYMV:after{content:'';background-color:#afafaf;height:24px;width:1px;position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}/*!sc*/
.kGoYMV:first-child:after{display:none;}/*!sc*/
@media (max-width:1201px){.kGoYMV{-webkit-flex:1 0 50%;-ms-flex:1 0 50%;flex:1 0 50%;max-width:50%;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin-top:32px;}.kGoYMV:after{display:none;}.kGoYMV:nth-child(-n + 2){margin-top:0;}}/*!sc*/
@media (max-width:751px){.kGoYMV{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;max-width:100%;margin-top:24px;}.kGoYMV:nth-child(-n + 2){margin-top:24px;}.kGoYMV:first-child{margin-top:0;}}/*!sc*/
data-styled.g576[id="sc-3cb1l3-4"]{content:"kGoYMV,"}/*!sc*/
.fYQtoS{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:24px 0 16px;}/*!sc*/
@media (max-width:1201px){.fYQtoS{margin-top:8px;}}/*!sc*/
data-styled.g577[id="sc-1fmwiug-0"]{content:"fYQtoS,"}/*!sc*/
.hgmchh{margin:0 10px 0 0;}/*!sc*/
data-styled.g578[id="sc-1fmwiug-1"]{content:"hgmchh,"}/*!sc*/
.golIF{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:10px;}/*!sc*/
@media (max-width:751px){.golIF{display:none;}}/*!sc*/
data-styled.g579[id="sc-1vxm7ng-0"]{content:"golIF,"}/*!sc*/
.dbOiAN{margin:0 16px;}/*!sc*/
data-styled.g580[id="sc-1vxm7ng-1"]{content:"dbOiAN,"}/*!sc*/
.jxmQOK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:18px;}/*!sc*/
.jxmQOK a{position:relative;}/*!sc*/
.jxmQOK a:hover::after{background-color:transparent;}/*!sc*/
.jxmQOK a::after{-webkit-transition:background-color 0.2s ease-out;transition:background-color 0.2s ease-out;will-change:background-color;content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background-color:currentColor;}/*!sc*/
@media (max-width:1201px){.jxmQOK{font-size:16px;}}/*!sc*/
data-styled.g581[id="sc-1vxm7ng-2"]{content:"jxmQOK,"}/*!sc*/
.ivApKl{display:inline;margin-left:16px;background-size:12px 1px;background-repeat:repeat-x;background-position:0 100%;background-image:linear-gradient( to right,#fff 50%,rgba(255,255,255,0) 0% );padding-bottom:4px;white-space:nowrap;}/*!sc*/
data-styled.g582[id="sc-5am0g3-0"]{content:"ivApKl,"}/*!sc*/
.eFljfP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;margin:0 12px 20px;}/*!sc*/
@media (min-width:1200px){.eFljfP:hover .sc-5am0g3-0{color:#ffd709;background-image:linear-gradient( to right,#ffd709 50%,rgba(255,255,255,0) 0% );}}/*!sc*/
@media (max-width:1201px){.eFljfP{margin:0 12px 12px;}}/*!sc*/
@media (max-width:751px){}/*!sc*/
data-styled.g583[id="sc-5am0g3-1"]{content:"eFljfP,"}/*!sc*/
.jDOZfu{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;min-width:100%;margin-top:24px;padding:0 41px;z-index:10;}/*!sc*/
@media (max-width:751px){.jDOZfu{padding:0 16.5px;}}/*!sc*/
data-styled.g590[id="sc-4o7hfp-0"]{content:"jDOZfu,"}/*!sc*/
.eBROUt{-webkit-flex:0;-ms-flex:0;flex:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;right:0;margin:0 0 0 auto;}/*!sc*/
@media (max-width:1201px){.eBROUt{-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
@media (max-width:751px){.eBROUt{width:100%;left:0;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
data-styled.g591[id="sc-4o7hfp-1"]{content:"eBROUt,"}/*!sc*/
.fHVRxg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 -12px;}/*!sc*/
@media (max-width:1201px){.fHVRxg{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
data-styled.g592[id="sc-4o7hfp-2"]{content:"fHVRxg,"}/*!sc*/
.pkSWX{color:#ffd709;}/*!sc*/
data-styled.g594[id="sc-4o7hfp-4"]{content:"pkSWX,"}/*!sc*/
.eufkJz{position:relative;padding-bottom:60px;color:#fff;}/*!sc*/
@media (max-width:1201px){.eufkJz{padding-bottom:80px;}}/*!sc*/
@media (max-width:751px){.eufkJz{padding-bottom:40px;}}/*!sc*/
data-styled.g596[id="sc-s2pydo-0"]{content:"eufkJz,"}/*!sc*/
.diGrSa{width:654px;margin-bottom:24px;text-align:center;}/*!sc*/
@media (max-width:1201px){.diGrSa{width:468px;}}/*!sc*/
@media (max-width:751px){.diGrSa{width:100%;}}/*!sc*/
data-styled.g597[id="sc-s2pydo-1"]{content:"diGrSa,"}/*!sc*/
.DvaNG{margin-bottom:24px;height:80px;width:80px;background-image:url(https://cdn.otus.ru/media/public/2c/d8/2cd8021b56d54eddb50fa9978dffdb27.svg);background-repeat:no-repeat;background-size:100% 100%;}/*!sc*/
@media (max-width:1201px){.DvaNG{margin-bottom:40px;}}/*!sc*/
@media (max-width:751px){.DvaNG{margin-bottom:24px;}}/*!sc*/
data-styled.g598[id="sc-s2pydo-2"]{content:"DvaNG,"}/*!sc*/
.dZDxRw{width:640px;margin-bottom:40px;text-align:center;}/*!sc*/
@media (max-width:751px){.dZDxRw{margin-bottom:24px;width:100%;}}/*!sc*/
data-styled.g599[id="sc-s2pydo-3"]{content:"dZDxRw,"}/*!sc*/
.EOCgR{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g601[id="sc-s2pydo-6"]{content:"EOCgR,"}/*!sc*/
.iHjMxQ{padding:134px 0 200px;}/*!sc*/
@media (max-width:1201px){.iHjMxQ{padding-top:152px;}}/*!sc*/
@media (max-width:751px){.iHjMxQ{padding:128px 0 136px;}}/*!sc*/
data-styled.g602[id="sc-s2pydo-5"]{content:"iHjMxQ,"}/*!sc*/
.fYPwsY.fYPwsY{width:480px;}/*!sc*/
@media (max-width:1201px){.fYPwsY.fYPwsY{width:100%;}}/*!sc*/
data-styled.g603[id="sc-n3p609-0"]{content:"fYPwsY,"}/*!sc*/
.caypgj{margin-bottom:32px;}/*!sc*/
data-styled.g604[id="sc-n3p609-1"]{content:"caypgj,"}/*!sc*/
.gAbnmq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#0f0f10;-webkit-flex:1 0 480px;-ms-flex:1 0 480px;flex:1 0 480px;margin-right:32px;margin-bottom:32px;}/*!sc*/
.gAbnmq:nth-child(2n){margin-right:0;}/*!sc*/
.gAbnmq:nth-last-child(-n + 2){margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.gAbnmq{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;margin-right:0;margin-bottom:24px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.gAbnmq:nth-last-child(-n + 2){margin-bottom:24px;}.gAbnmq:last-child{margin-bottom:0;}}/*!sc*/
@media (max-width:751px){.gAbnmq{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}.gAbnmq:nth-last-child(-n + 2){margin-bottom:40px;}}/*!sc*/
data-styled.g606[id="sc-1l3meww-0"]{content:"gAbnmq,"}/*!sc*/
.eVCqsi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:256px;height:144px;border-radius:20px;margin-right:32px;background-image:url(https://i.mycdn.me/getVideoPreview?id=11191655336492&idx=8&type=39&tkn=lSEjqetBJKqU76EbI5xkOdozNr0&fn=vid_l);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;}/*!sc*/
@media (max-width:1201px){.eVCqsi{margin-right:40px;}}/*!sc*/
@media (max-width:751px){.eVCqsi{margin-right:0;margin-bottom:12px;width:320px;height:177px;}}/*!sc*/
.jWydJK{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:256px;height:144px;border-radius:20px;margin-right:32px;background-image:url(https://sun9-34.userapi.com/impg/WclKp3kgrwpWSd0NAEfIvWXDbimJacriQj2Izw/3bHfvsw4LAQ.jpg?size=320x240&quality=95&keep_aspect_ratio=1&background=000000&sign=93ec3852bd84ac2056334126063c0047&c_uniq_tag=ATrHQmUgLSmGWIyAmV6aRQhgNO4_GQ70wy-KU4RZFLw&type=video_thumb);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;}/*!sc*/
@media (max-width:1201px){.jWydJK{margin-right:40px;}}/*!sc*/
@media (max-width:751px){.jWydJK{margin-right:0;margin-bottom:12px;width:320px;height:177px;}}/*!sc*/
data-styled.g607[id="sc-1l3meww-1"]{content:"eVCqsi,jWydJK,"}/*!sc*/
.cHxJxf{width:192px;}/*!sc*/
@media (max-width:1201px){.cHxJxf{width:320px;}}/*!sc*/
data-styled.g608[id="sc-1l3meww-2"]{content:"cHxJxf,"}/*!sc*/
.blhXzJ{white-space:nowrap;overflow:auto;text-overflow:ellipsis;margin-bottom:4px;}/*!sc*/
@media (max-width:1201px){.blhXzJ{margin-bottom:8px;}}/*!sc*/
data-styled.g609[id="sc-1l3meww-3"]{content:"blhXzJ,"}/*!sc*/
.dePnfm{margin-bottom:12px;}/*!sc*/
@media (max-width:1201px){.dePnfm{margin-bottom:8px;}}/*!sc*/
data-styled.g610[id="sc-1l3meww-4"]{content:"dePnfm,"}/*!sc*/
.gnNvLT{word-wrap:break-word;overflow:hidden;max-height:192px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}/*!sc*/
data-styled.g611[id="sc-1l3meww-5"]{content:"gnNvLT,"}/*!sc*/
.hkpcCk{color:#fff;}/*!sc*/
data-styled.g613[id="sc-1l3meww-7"]{content:"hkpcCk,"}/*!sc*/
.frFtzw{background:#fff;border-radius:20px;padding:64px;margin-bottom:120px;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.frFtzw{padding:40px 32px;margin-bottom:152px;}}/*!sc*/
@media (max-width:751px){.frFtzw{padding:20px 16px;margin-bottom:116px;}}/*!sc*/
data-styled.g614[id="sc-g9zqla-0"]{content:"frFtzw,"}/*!sc*/
.jqTCqB{margin-bottom:40px;}/*!sc*/
@media (max-width:751px){.jqTCqB{margin-bottom:24px;}}/*!sc*/
data-styled.g615[id="sc-g9zqla-1"]{content:"jqTCqB,"}/*!sc*/
.nExnN{display:none;}/*!sc*/
@media (max-width:1201px){.nExnN{display:block;}}/*!sc*/
@media (max-width:751px){.nExnN{display:none;}}/*!sc*/
data-styled.g616[id="sc-g9zqla-2"]{content:"nExnN,"}/*!sc*/
.cmzqGo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:32px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/
@media (max-width:1201px){.cmzqGo{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.cmzqGo{margin-bottom:0;}}/*!sc*/
data-styled.g617[id="sc-g9zqla-3"]{content:"cmzqGo,"}/*!sc*/
.beklyV{width:144px;height:75px;}/*!sc*/
data-styled.g618[id="sc-f1074s-0"]{content:"beklyV,"}/*!sc*/
.bjdMrl{position:absolute;z-index:2;}/*!sc*/
data-styled.g619[id="sc-wsxv7u-0"]{content:"bjdMrl,"}/*!sc*/
.beOhMh{width:156px;height:115px;}/*!sc*/
data-styled.g620[id="sc-wmpkf4-0"]{content:"beOhMh,"}/*!sc*/
.jVUIsL{width:159px;height:161px;}/*!sc*/
data-styled.g621[id="sc-5xzjrr-0"]{content:"jVUIsL,"}/*!sc*/
.juHTQi{background:#fff;padding:40px 24px 64px;border-radius:25px;width:256px;height:376px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-filter:drop-shadow(0px 8px 24px rgba(0,0,0,0.05));filter:drop-shadow(0px 8px 24px rgba(0,0,0,0.05));}/*!sc*/
@media (max-width:1201px){.juHTQi{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:528px;height:152px;padding:40px;}}/*!sc*/
@media (max-width:751px){.juHTQi{width:350px;height:auto;padding:16px 20px;}}/*!sc*/
data-styled.g622[id="sc-1h9xdkn-0"]{content:"juHTQi,"}/*!sc*/
.kBuGLM{margin:0 auto 40px;}/*!sc*/
@media (max-width:1201px){.kBuGLM{margin:auto 28px auto 0;}}/*!sc*/
@media (max-width:751px){.kBuGLM{min-width:48px;width:48px;min-height:48px;height:48px;margin:auto 16px auto 0;}}/*!sc*/
data-styled.g623[id="sc-1h9xdkn-1"]{content:"kBuGLM,"}/*!sc*/
.gCsdwr{text-align:center;}/*!sc*/
@media (max-width:1201px){.gCsdwr{text-align:left;}}/*!sc*/
@media (max-width:751px){.gCsdwr b{font-weight:400;}}/*!sc*/
data-styled.g624[id="sc-1h9xdkn-2"]{content:"gCsdwr,"}/*!sc*/
.vqlNu{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.vqlNu{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 0 0 30px;}}/*!sc*/
@media (max-width:751px){.vqlNu{width:370px;height:544px;margin:0 0 0 -10px;}}/*!sc*/
data-styled.g625[id="sc-1677c9a-0"]{content:"vqlNu,"}/*!sc*/
.ikQdLx{margin:53px -12px 0 0;}/*!sc*/
@media (max-width:1201px){.ikQdLx{margin:0;}}/*!sc*/
data-styled.g626[id="sc-1677c9a-1"]{content:"ikQdLx,"}/*!sc*/
.cTxAus{z-index:1;}/*!sc*/
@media (max-width:1201px){.cTxAus{margin:-10px 0 -10px 88px;}}/*!sc*/
@media (max-width:751px){.cTxAus{margin:0 0 -10px 20px;}}/*!sc*/
data-styled.g627[id="sc-1677c9a-2"]{content:"cTxAus,"}/*!sc*/
.bnxxnP{margin:144px 0 0 -11px;}/*!sc*/
@media (max-width:1201px){.bnxxnP{margin:0;}}/*!sc*/
data-styled.g628[id="sc-1677c9a-3"]{content:"bnxxnP,"}/*!sc*/
.keDGUJ{z-index:1;margin:53px 0 0 -10px;}/*!sc*/
@media (max-width:1201px){.keDGUJ{margin:2px 0 0 88px;}}/*!sc*/
@media (max-width:751px){.keDGUJ{margin:-10px 0 0 20px;}}/*!sc*/
data-styled.g629[id="sc-1677c9a-4"]{content:"keDGUJ,"}/*!sc*/
.eBVZlk.eBVZlk{top:72px;left:178px;}/*!sc*/
data-styled.g630[id="sc-1677c9a-5"]{content:"eBVZlk,"}/*!sc*/
.cUuMwI.cUuMwI{top:70px;left:416px;}/*!sc*/
data-styled.g631[id="sc-1677c9a-6"]{content:"cUuMwI,"}/*!sc*/
.hrwckc.hrwckc{top:121px;left:667px;}/*!sc*/
data-styled.g632[id="sc-1677c9a-7"]{content:"hrwckc,"}/*!sc*/
.fcMafv{margin-bottom:48px;}/*!sc*/
@media (max-width:1201px){.fcMafv{margin-bottom:48px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}/*!sc*/
@media (max-width:751px){.fcMafv{margin-bottom:80px;}}/*!sc*/
data-styled.g633[id="sc-7ymvnh-0"]{content:"fcMafv,"}/*!sc*/
.ePxZmc H1,.ePxZmc H2,.ePxZmc H3,.ePxZmc H4,.ePxZmc H5,.ePxZmc H6{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;margin:0 0 32px;}/*!sc*/
@media (max-width:1201px){.ePxZmc H1,.ePxZmc H2,.ePxZmc H3,.ePxZmc H4,.ePxZmc H5,.ePxZmc H6{font-size:52px;line-height:64px;text-align:center;margin:0 0 32px;}}/*!sc*/
@media (max-width:751px){.ePxZmc H1,.ePxZmc H2,.ePxZmc H3,.ePxZmc H4,.ePxZmc H5,.ePxZmc H6{font-size:24px;line-height:28px;margin:0 0 24px;}}/*!sc*/
data-styled.g634[id="sc-7ymvnh-1"]{content:"ePxZmc,"}/*!sc*/
.clOrYg p{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:32px;}/*!sc*/
@media (max-width:1201px){.clOrYg p{font-size:24px;line-height:28px;}}/*!sc*/
@media (max-width:751px){.clOrYg p{font-size:18px;line-height:24px;}}/*!sc*/
.clOrYg p:last-child{margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.clOrYg p{text-align:center;}}/*!sc*/
@media (max-width:751px){.clOrYg p{margin-bottom:24px;}.clOrYg p:last-child{margin-bottom:0;}}/*!sc*/
data-styled.g635[id="sc-7ymvnh-2"]{content:"clOrYg,"}/*!sc*/
.eTbbdX{width:992px;margin:0 auto 120px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.eTbbdX{width:100%;margin-bottom:80px;}}/*!sc*/
data-styled.g636[id="sc-f1bg58-0"]{content:"eTbbdX,"}/*!sc*/
.bwvRzq{background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin:120px 0 0;padding:54px 64px;border-radius:20px;box-shadow:0px 0px 49px rgba(0,0,0,0.05);}/*!sc*/
@media (max-width:1201px){.bwvRzq{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:normal;-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;padding:48px 64px;}}/*!sc*/
@media (max-width:1201px){.bwvRzq{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:40px 24px;}}/*!sc*/
data-styled.g695[id="sc-hqry8z-0"]{content:"bwvRzq,"}/*!sc*/
.byqrft{-webkit-flex:1;-ms-flex:1;flex:1;color:#fff;white-space:pre-wrap;}/*!sc*/
@media (max-width:751px){.byqrft{white-space:normal;}}/*!sc*/
data-styled.g696[id="sc-hqry8z-1"]{content:"byqrft,"}/*!sc*/
.ipIyzP{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:288px;margin:0 32px 0 0;}/*!sc*/
@media (max-width:1201px){.ipIyzP{width:100%;margin:32px 0 0;}}/*!sc*/
@media (max-width:1201px){.ipIyzP{margin:28px 0 0;}}/*!sc*/
data-styled.g697[id="sc-hqry8z-2"]{content:"ipIyzP,"}/*!sc*/
.kGaApg:not(:last-child){margin-bottom:24px;}/*!sc*/
data-styled.g698[id="sc-1dvzzbq-0"]{content:"kGaApg,"}/*!sc*/
.bTvRzO{margin-bottom:40px;}/*!sc*/
.bTvRzO:last-child{margin-bottom:0;}/*!sc*/
@media (max-width:1201px){.bTvRzO{margin-bottom:32px;}}/*!sc*/
@media (max-width:751px){.bTvRzO{margin-bottom:24px;}}/*!sc*/
data-styled.g700[id="sc-yxq6ju-1"]{content:"bTvRzO,"}/*!sc*/
.kOagS{padding-top:40px;}/*!sc*/
@media (max-width:1201px){.kOagS{padding-top:32px;}}/*!sc*/
@media (max-width:751px){.kOagS{padding-top:24px;}}/*!sc*/
data-styled.g701[id="sc-12j3cf5-0"]{content:"kOagS,"}/*!sc*/
.jTjgBj{margin:0 0 24px;}/*!sc*/
@media (max-width:751px){.jTjgBj{margin:0 0 16px;}}/*!sc*/
data-styled.g702[id="sc-12j3cf5-1"]{content:"jTjgBj,"}/*!sc*/
.gEDvkw{cursor:pointer;position:relative;padding-right:64px;}/*!sc*/
@media (max-width:751px){.gEDvkw{padding-right:48px;}}/*!sc*/
data-styled.g703[id="sc-szltk9-0"]{content:"gEDvkw,"}/*!sc*/
.lcwzlf{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;position:absolute;top:0;right:0;}/*!sc*/
data-styled.g704[id="sc-szltk9-1"]{content:"lcwzlf,"}/*!sc*/
.fqhQVY{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}/*!sc*/
@media (max-width:751px){.fqhQVY{min-width:32px;width:32px;min-height:32px;height:32px;}}/*!sc*/
data-styled.g705[id="sc-szltk9-2"]{content:"fqhQVY,"}/*!sc*/
.gLLnVc{padding:40px 0 60px;border-bottom:1px solid #afafaf;color:#0f0f10;}/*!sc*/
.gLLnVc:first-child{padding-top:0;}/*!sc*/
data-styled.g706[id="sc-13zj6y4-0"]{content:"gLLnVc,"}/*!sc*/
.gavUyr{-webkit-transition:height 0.2s ease-out;transition:height 0.2s ease-out;will-change:height;overflow:hidden;}/*!sc*/
data-styled.g708[id="sc-13zj6y4-2"]{content:"gavUyr,"}/*!sc*/
.cmpQoV{margin-bottom:120px;padding-top:80px;border-top:1px solid #afafaf;}/*!sc*/
@media (max-width:1201px){.cmpQoV{margin-bottom:58px;}}/*!sc*/
@media (max-width:751px){.cmpQoV{margin-bottom:64px;}}/*!sc*/
data-styled.g709[id="sc-1am6qh7-0"]{content:"cmpQoV,"}/*!sc*/
.bmcDgO{width:992px;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.bmcDgO{width:100%;}}/*!sc*/
@media (max-width:751px){.bmcDgO{width:100%;}}/*!sc*/
data-styled.g710[id="sc-1am6qh7-1"]{content:"bmcDgO,"}/*!sc*/
.jZdzTX{margin-bottom:76px;}/*!sc*/
@media (max-width:1201px){.jZdzTX{margin-bottom:84px;}}/*!sc*/
@media (max-width:751px){.jZdzTX{margin-bottom:32px;}}/*!sc*/
data-styled.g711[id="sc-1am6qh7-2"]{content:"jZdzTX,"}/*!sc*/
.coDgWq{width:512px;}/*!sc*/
@media (max-width:1201px){.coDgWq{width:500px;}}/*!sc*/
@media (max-width:751px){.coDgWq{width:352px;}}/*!sc*/
data-styled.g712[id="sc-wqbts8-0"]{content:"coDgWq,"}/*!sc*/
.jjMVIs{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:992px;margin:0 auto 212px;}/*!sc*/
@media (max-width:1201px){.jjMVIs{margin-bottom:198px;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;}}/*!sc*/
@media (max-width:751px){.jjMVIs{margin-bottom:136px;}}/*!sc*/
data-styled.g713[id="sc-130tum6-0"]{content:"jjMVIs,"}/*!sc*/
.leLsGR{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-width:480px;}/*!sc*/
.leLsGR h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;}/*!sc*/
@media (max-width:1201px){.leLsGR h2{font-size:52px;line-height:64px;max-width:100%;margin-top:66px;}}/*!sc*/
@media (max-width:751px){.leLsGR h2{font-size:24px;line-height:28px;margin-top:28px;}}/*!sc*/
@media (max-width:1201px){.leLsGR{max-width:100%;margin-top:66px;}}/*!sc*/
@media (max-width:751px){.leLsGR{margin-top:28px;}}/*!sc*/
data-styled.g714[id="sc-130tum6-1"]{content:"leLsGR,"}/*!sc*/
.hrhUsd{min-width:8px;width:8px;min-height:8px;height:8px;color:#afafaf;}/*!sc*/
data-styled.g716[id="sc-1a7f55p-0"]{content:"hrhUsd,"}/*!sc*/
.fQjpZO{min-width:16px;width:16px;min-height:16px;height:16px;margin-top:8px;}/*!sc*/
@media (max-width:1201px){.fQjpZO{margin-top:20px;}}/*!sc*/
@media (max-width:751px){.fQjpZO{margin-top:12px;}}/*!sc*/
data-styled.g717[id="sc-1x39gxs-0"]{content:"fQjpZO,"}/*!sc*/
.bOxIsJ{min-width:60px;width:60px;min-height:60px;height:60px;color:#25b969;}/*!sc*/
data-styled.g718[id="sc-1b1c4br-0"]{content:"bOxIsJ,"}/*!sc*/
.cBgTTw{r:7.5px;fill:currentColor;stroke:currentColor;}/*!sc*/
data-styled.g719[id="sc-1b1c4br-1"]{content:"cBgTTw,"}/*!sc*/
.bkwxfj{r:15.5px;stroke:currentColor;}/*!sc*/
@media (max-width:751px){.bkwxfj{r:11.5px;}}/*!sc*/
data-styled.g720[id="sc-1b1c4br-2"]{content:"bkwxfj,"}/*!sc*/
.BRexd{opacity:0.2;r:29.5px;stroke:currentColor;}/*!sc*/
@media (max-width:751px){.BRexd{r:19.5px;}}/*!sc*/
data-styled.g721[id="sc-1b1c4br-3"]{content:"BRexd,"}/*!sc*/
.LxCjF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;}/*!sc*/
@media (max-width:751px){.LxCjF{width:40px;}}/*!sc*/
data-styled.g722[id="sc-katme0-0"]{content:"LxCjF,"}/*!sc*/
.mFGFG{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:2px;-webkit-flex:1 0;-ms-flex:1 0;flex:1 0;margin-top:-14px;background:url(/_next/static/images/img/dash-1f7e7c874bf51886817af3ab0d4a3e83.svg);background-size:2px;background-position:bottom left;background-repeat:repeat-y;}/*!sc*/
@media (max-width:751px){.mFGFG{margin-top:6px;}}/*!sc*/
.cBGsLs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:2px;-webkit-flex:1 0;-ms-flex:1 0;flex:1 0;margin-top:-14px;background:url(/_next/static/images/img/dash-1f7e7c874bf51886817af3ab0d4a3e83.svg);background-size:2px;background-position:bottom left;background-repeat:repeat-y;}/*!sc*/
data-styled.g723[id="sc-katme0-1"]{content:"mFGFG,cBGsLs,"}/*!sc*/
.caRpjt{padding-bottom:64px;padding-left:384px;position:relative;}/*!sc*/
.caRpjt:last-child{padding-bottom:0;}/*!sc*/
@media (max-width:1201px){.caRpjt{padding-left:82px;padding-bottom:40px;}.caRpjt:last-child{padding-bottom:0;}}/*!sc*/
@media (max-width:751px){.caRpjt{padding-bottom:24px;padding-left:52px;}.caRpjt:last-child{padding-bottom:0;}}/*!sc*/
data-styled.g724[id="sc-vxemor-0"]{content:"caRpjt,"}/*!sc*/
.iMqlcz{position:absolute;left:0;top:18px;width:224px;}/*!sc*/
@media (max-width:1201px){.iMqlcz{position:relative;top:0;margin-bottom:16px;}.sc-vxemor-0:first-child .sc-vxemor-1{margin-top:16px;}}/*!sc*/
@media (max-width:751px){.iMqlcz{margin-bottom:12px;}.sc-vxemor-0:first-child .sc-vxemor-1{margin-top:8px;}}/*!sc*/
data-styled.g725[id="sc-vxemor-1"]{content:"iMqlcz,"}/*!sc*/
.dLJViR{text-align:right;}/*!sc*/
@media (max-width:1201px){.dLJViR{text-align:left;}}/*!sc*/
data-styled.g726[id="sc-vxemor-2"]{content:"dLJViR,"}/*!sc*/
.jjeONo{color:#afafaf;margin-top:8px;text-align:right;white-space:pre-wrap;}/*!sc*/
@media (max-width:1201px){.jjeONo{text-align:left;}}/*!sc*/
@media (max-width:751px){.jjeONo{font-size:18px;line-height:24px;margin-top:4px;}}/*!sc*/
data-styled.g727[id="sc-vxemor-3"]{content:"jjeONo,"}/*!sc*/
.kKlqJz{position:absolute;top:42px;left:274px;bottom:-34px;overflow:hidden;}/*!sc*/
.sc-vxemor-0:first-child .sc-vxemor-4{top:0;}/*!sc*/
@media (max-width:1201px){.kKlqJz{left:0;bottom:-22px;}}/*!sc*/
@media (max-width:751px){.kKlqJz{top:31px;bottom:-19px;}}/*!sc*/
data-styled.g728[id="sc-vxemor-4"]{content:"kKlqJz,"}/*!sc*/
.edBFys{display:inline-block;margin-bottom:12px;padding:14px 24px;border-radius:10px;color:#fff;background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );}/*!sc*/
@media (max-width:1201px){.edBFys{margin-bottom:32px;}}/*!sc*/
@media (max-width:751px){.edBFys{padding:8px 12px;margin-top:4px;margin-bottom:24px;}}/*!sc*/
data-styled.g729[id="sc-vxemor-5"]{content:"edBFys,"}/*!sc*/
.fGpTjM ol,.fGpTjM ul{list-style:none;margin:0;padding:0;}/*!sc*/
.fGpTjM li{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;position:relative;margin-top:24px;padding-left:40px;}/*!sc*/
@media (max-width:1201px){.fGpTjM li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.fGpTjM li{font-size:16px;line-height:24px;}}/*!sc*/
.fGpTjM li:after{content:'';position:absolute;left:2px;top:2px;width:24px;height:24px;background-image:url(/_next/static/images/img/green-tick-58f380ef299145a0712bd8df5fc407db.svg);background-size:contain;}/*!sc*/
@media (max-width:1201px){.fGpTjM li{margin-bottom:24px;margin-top:0;}.fGpTjM li:last-child{margin-bottom:0;}}/*!sc*/
@media (max-width:751px){.fGpTjM li{margin-bottom:16px;padding-left:32px;}.fGpTjM li b{font-weight:normal;}}/*!sc*/
data-styled.g730[id="sc-vxemor-6"]{content:"fGpTjM,"}/*!sc*/
.QJBpv{margin:0 auto 120px;width:992px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.QJBpv{width:100%;margin-bottom:100px;}}/*!sc*/
@media (max-width:751px){.QJBpv{width:100%;margin-bottom:64px;}}/*!sc*/
data-styled.g731[id="sc-6ezpsy-0"]{content:"QJBpv,"}/*!sc*/
.fYplKq{margin-bottom:24px;text-align:center;}/*!sc*/
@media (max-width:751px){.fYplKq{margin-bottom:16px;}}/*!sc*/
data-styled.g732[id="sc-6ezpsy-1"]{content:"fYplKq,"}/*!sc*/
.legCsR{margin-bottom:80px;text-align:center;}/*!sc*/
.legCsR h2{font:inherit;}/*!sc*/
@media (max-width:1201px){.legCsR{margin-bottom:16px;}}/*!sc*/
@media (max-width:751px){.legCsR{margin-bottom:40px;}}/*!sc*/
data-styled.g733[id="sc-6ezpsy-2"]{content:"legCsR,"}/*!sc*/
.eGxwJE{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;}/*!sc*/
data-styled.g734[id="sc-6ezpsy-3"]{content:"eGxwJE,"}/*!sc*/
.ervbDS{margin:0 12px 0 0;}/*!sc*/
.ervbDS:last-child{margin:0;}/*!sc*/
data-styled.g735[id="sc-e8trbg-0"]{content:"ervbDS,"}/*!sc*/
.hejpaX{color:#afafaf;}/*!sc*/
data-styled.g736[id="sc-uyf7sm-0"]{content:"hejpaX,"}/*!sc*/
.gQNEkq{padding:40px 64px;background:#fff;border-radius:20px;height:100%;}/*!sc*/
@media (max-width:1201px){.gQNEkq.swiper-slide{width:544px;padding:40px;}}/*!sc*/
@media (max-width:751px){.gQNEkq.swiper-slide{width:100%;margin:0;padding:24px 16px;}}/*!sc*/
data-styled.g737[id="sc-h3yero-0"]{content:"gQNEkq,"}/*!sc*/
.kaQYTv{color:#0f0f10;margin-bottom:16px;}/*!sc*/
@media (max-width:751px){.kaQYTv{margin-bottom:4px;}}/*!sc*/
data-styled.g738[id="sc-h3yero-1"]{content:"kaQYTv,"}/*!sc*/
.dOvyBf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:20px;}/*!sc*/
data-styled.g739[id="sc-h3yero-2"]{content:"dOvyBf,"}/*!sc*/
.keJcdl{margin-right:24px;}/*!sc*/
data-styled.g740[id="sc-h3yero-3"]{content:"keJcdl,"}/*!sc*/
.kSPesy{width:88px;height:88px;border-radius:50%;background-image:url(https://cdn.otus.ru/media/public/ea/22/avatar-443883-ea2256.png);background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:751px){.kSPesy{width:60px;height:60px;}}/*!sc*/
.imlAAz{width:88px;height:88px;border-radius:50%;background-image:url(https://cdn.otus.ru/media/public/88/de/avatar-220360-88de07.png);background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:751px){.imlAAz{width:60px;height:60px;}}/*!sc*/
.fwJFJX{width:88px;height:88px;border-radius:50%;background-image:url(https://cdn.otus.ru/media/public/36/d8/avatar-1801-36d82d.png);background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:751px){.fwJFJX{width:60px;height:60px;}}/*!sc*/
data-styled.g741[id="sc-h3yero-4"]{content:"kSPesy,imlAAz,fwJFJX,"}/*!sc*/
.dYfXnT{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-width:30%;}/*!sc*/
@media (max-width:1201px){.dYfXnT{max-width:208px;}}/*!sc*/
@media (max-width:751px){.dYfXnT{max-width:92px;}}/*!sc*/
data-styled.g742[id="sc-h3yero-5"]{content:"dYfXnT,"}/*!sc*/
.bXBhOa{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-self:flex-start;margin-left:auto;}/*!sc*/
data-styled.g743[id="sc-h3yero-6"]{content:"bXBhOa,"}/*!sc*/
.fwXQYP{color:#0f0f10;margin-bottom:16px;word-wrap:break-word;overflow:hidden;max-height:168px;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;}/*!sc*/
@media (max-width:1201px){.fwXQYP{word-wrap:break-word;overflow:hidden;max-height:144px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;}}/*!sc*/
@media (max-width:751px){.fwXQYP{word-wrap:break-word;overflow:hidden;max-height:216px;display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;}}/*!sc*/
data-styled.g745[id="sc-h3yero-8"]{content:"fwXQYP,"}/*!sc*/
.dXezGA{margin-bottom:120px;position:relative;}/*!sc*/
@media (max-width:751px){.dXezGA{margin-bottom:80px;}}/*!sc*/
data-styled.g747[id="sc-h0c1ca-0"]{content:"dXezGA,"}/*!sc*/
@media (min-width:1200px){.gaiDWC{margin:-16px -16px 0;}}/*!sc*/
data-styled.g748[id="sc-h0c1ca-1"]{content:"gaiDWC,"}/*!sc*/
.dygiGU{margin-left:64px;margin-bottom:60px;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.dygiGU{margin-left:0;margin-bottom:44px;}}/*!sc*/
@media (max-width:751px){.dygiGU{margin-bottom:24px;}}/*!sc*/
data-styled.g751[id="sc-h0c1ca-4"]{content:"dygiGU,"}/*!sc*/
@media (max-width:1201px){.vuxta .swiper{margin-right:-36px;}}/*!sc*/
@media (max-width:751px){.vuxta .swiper{margin-right:0;}}/*!sc*/
data-styled.g752[id="sc-h0c1ca-5"]{content:"vuxta,"}/*!sc*/
.jtwppL{background-image:url(https://cdn.otus.ru/media/public/3e/a5/3ea5195bc63d413d9c89a29ebd3ff6cf.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.jtwppL:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.jOGPpG{background-image:url(https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.jOGPpG:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.jnikJg{background-image:url(https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.jnikJg:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.hOXJbs{background-image:url(https://cdn.otus.ru/media/public/2d/79/2d79623ce22343d7a5bcd0cd58c5c4e3.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.hOXJbs:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.gydRYU{background-image:url(https://cdn.otus.ru/media/public/bd/e2/bde288ad38b04ff5b8aca57731bfc4c9.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.gydRYU:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.gXeWmg{background-image:url(https://cdn.otus.ru/media/public/be/45/be456d671a7c4ce199bf05e275fe5387.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.gXeWmg:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.EmVoY{background-image:url(https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.EmVoY:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.drAKVv{background-image:url(https://cdn.otus.ru/media/public/0e/42/0e4275435c3c4a5e97839de0bf1d0205.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.drAKVv:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.RhBeo{background-image:url(https://cdn.otus.ru/media/public/0b/30/0b303dfeb677492e994dadeb696f7147.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.RhBeo:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
.cTNwbk{background-image:url(https://cdn.otus.ru/media/public/a5/f9/a5f96e70547d4f0baee73c602ab67037.jpg);background-repeat:no-repeat;background-position:50% 50%;background-size:cover;position:relative;width:100%;height:100%;border-radius:15px;}/*!sc*/
@media (min-width:1200px){.cTNwbk:before{-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;will-change:opacity;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;z-index:2;opacity:0.1;border-radius:inherit;}}/*!sc*/
data-styled.g753[id="sc-jotj87-0"]{content:"jtwppL,jOGPpG,jnikJg,hOXJbs,gydRYU,gXeWmg,EmVoY,drAKVv,RhBeo,cTNwbk,"}/*!sc*/
.fjUCpx{cursor:pointer;position:relative;width:256px;height:380px;}/*!sc*/
@media (min-width:1200px){.fjUCpx{-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;}.fjUCpx:hover{-webkit-transform:scale(1.078);-ms-transform:scale(1.078);transform:scale(1.078);}.fjUCpx:hover > .sc-jotj87-0::before{opacity:0;}}/*!sc*/
@media (max-width:751px){.fjUCpx{width:172px;height:255px;}}/*!sc*/
data-styled.g754[id="sc-jotj87-1"]{content:"fjUCpx,"}/*!sc*/
.fxMjmR{color:#fff;}/*!sc*/
.fxMjmR.swiper-slide{width:256px;}/*!sc*/
@media (max-width:1201px){.fxMjmR.swiper-slide{width:256px;}}/*!sc*/
@media (max-width:751px){.fxMjmR.swiper-slide{width:172px;}}/*!sc*/
@media (max-width:1201px){.fxMjmR.swiper-slide{margin:0;}}/*!sc*/
data-styled.g759[id="sc-1s527z5-0"]{content:"fxMjmR,"}/*!sc*/
.iiYkXk{margin-top:20px;}/*!sc*/
data-styled.g760[id="sc-1s527z5-1"]{content:"iiYkXk,"}/*!sc*/
.jSHKpX{margin-top:8px;}/*!sc*/
@media (max-width:751px){.jSHKpX{margin-top:4px;}}/*!sc*/
data-styled.g761[id="sc-1s527z5-2"]{content:"jSHKpX,"}/*!sc*/
.kLSaHO{margin-top:8px;font-style:italic;}/*!sc*/
@media (max-width:751px){.kLSaHO{margin-top:4px;}}/*!sc*/
data-styled.g762[id="sc-1s527z5-3"]{content:"kLSaHO,"}/*!sc*/
.iJNhSn{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.iJNhSn{width:100%;}}/*!sc*/
data-styled.g777[id="sc-7bqyxh-0"]{content:"iJNhSn,"}/*!sc*/
.eTWzoY{position:relative;height:auto;margin-bottom:120px;padding:160px 0 200px;color:#fff;}/*!sc*/
@media (max-width:751px){.eTWzoY{margin-bottom:92px;padding:136px 0;}}/*!sc*/
data-styled.g778[id="sc-7bqyxh-1"]{content:"eTWzoY,"}/*!sc*/
.imGcoX{overflow:hidden;padding:0 105px;margin:0 -105px;}/*!sc*/
@media (max-width:1201px){.imGcoX{padding:0 36px;margin:0 -36px;}}/*!sc*/
@media (max-width:751px){.imGcoX{padding:0 16px;margin:0 -16px;}}/*!sc*/
data-styled.g779[id="sc-7bqyxh-2"]{content:"imGcoX,"}/*!sc*/
.gvtgmJ{margin-bottom:80px;}/*!sc*/
@media (max-width:1201px){.gvtgmJ{margin-bottom:48px;}}/*!sc*/
@media (max-width:751px){.gvtgmJ{margin-bottom:40px;}}/*!sc*/
data-styled.g780[id="sc-7bqyxh-3"]{content:"gvtgmJ,"}/*!sc*/
.hgzLIf{position:relative;width:672px;margin:56px 0 0;}/*!sc*/
@media (max-width:1201px){.hgzLIf{margin:112px 0 0;}}/*!sc*/
@media (max-width:751px){.hgzLIf{margin:48px 0 0;}}/*!sc*/
@media (max-width:751px){.hgzLIf{width:100%;}}/*!sc*/
data-styled.g781[id="sc-7bqyxh-4"]{content:"hgzLIf,"}/*!sc*/
.gCZLLN .swiper{overflow:visible;}/*!sc*/
data-styled.g782[id="sc-7bqyxh-5"]{content:"gCZLLN,"}/*!sc*/
.bbEYfR{margin-bottom:120px;}/*!sc*/
@media (max-width:1201px){.bbEYfR{margin-bottom:80px;}}/*!sc*/
@media (max-width:751px){.bbEYfR{margin-bottom:40px;}}/*!sc*/
data-styled.g788[id="sc-nqd633-0"]{content:"bbEYfR,"}/*!sc*/
.jliiMx{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:0;padding:120px 0 0;background:inherit;overflow:hidden;}/*!sc*/
@media (max-width:1201px){.jliiMx{padding:160px 0 0;}}/*!sc*/
@media (max-width:751px){.jliiMx{padding:80px 0 0;}}/*!sc*/
data-styled.g789[id="sc-oy98rf-0"]{content:"jliiMx,"}/*!sc*/
.eXELOw{background:linear-gradient( 99.66deg,#387C17 11.62%,#1B5300 87.01% );}/*!sc*/
data-styled.g790[id="sc-oy98rf-1"]{content:"eXELOw,"}/*!sc*/
.bLWaqJ{padding:0;}/*!sc*/
data-styled.g791[id="sc-oy98rf-2"]{content:"bLWaqJ,"}/*!sc*/
.fMEenG{padding:120px 0 96px;}/*!sc*/
@media (max-width:1201px){.fMEenG{padding:123px 0 35px;}}/*!sc*/
data-styled.g792[id="sc-oy98rf-3"]{content:"fMEenG,"}/*!sc*/
.kXtOIJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:60px;padding:40px 0;position:relative;color:#fff;}/*!sc*/
.kXtOIJ:after{content:'';position:absolute;left:0;top:0;right:0;opacity:0.2;height:1px;background-color:#fff;}/*!sc*/
@media (max-width:1201px){.kXtOIJ{width:100%;margin-top:40px;}}/*!sc*/
@media (max-width:751px){.kXtOIJ{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;padding:24px 0;}}/*!sc*/
data-styled.g793[id="sc-19c5cbt-0"]{content:"kXtOIJ,"}/*!sc*/
.fvpIrL{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:751px){.fvpIrL{margin-bottom:24px;width:100%;}}/*!sc*/
data-styled.g794[id="sc-19c5cbt-1"]{content:"fvpIrL,"}/*!sc*/
.jbfvPl{color:#fff;margin-top:24px;}/*!sc*/
@media (max-width:1201px){.jbfvPl{margin-top:40px;}}/*!sc*/
data-styled.g795[id="sc-b223p8-0"]{content:"jbfvPl,"}/*!sc*/
.kexDMw{margin-bottom:16px;display:inline-block;}/*!sc*/
data-styled.g796[id="sc-b223p8-1"]{content:"kexDMw,"}/*!sc*/
@media (max-width:1201px){.cpJPIb{line-height:16px;}.cpJPIb:after{bottom:1px;}}/*!sc*/
@media (max-width:751px){.cpJPIb:after{bottom:3px;}}/*!sc*/
data-styled.g797[id="sc-b223p8-2"]{content:"cpJPIb,"}/*!sc*/
.kqoeNm{position:relative;display:inline-block;margin:0 0 16px;white-space:nowrap;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.kqoeNm:last-child{margin:0;}/*!sc*/
data-styled.g798[id="sc-b223p8-3"]{content:"kqoeNm,"}/*!sc*/
.dmOCHb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#fff;}/*!sc*/
@media (max-width:751px){.dmOCHb{margin-bottom:44px;}}/*!sc*/
data-styled.g799[id="sc-s8yol2-0"]{content:"dmOCHb,"}/*!sc*/
.fSkxQH{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g800[id="sc-s8yol2-1"]{content:"fSkxQH,"}/*!sc*/
@media (min-width:1200px){.jinSfn{max-width:160px;width:160px;margin-right:32px;}}/*!sc*/
@media (max-width:1201px){.jinSfn{max-width:104px;width:104px;margin-right:48px;}}/*!sc*/
data-styled.g801[id="sc-s8yol2-2"]{content:"jinSfn,"}/*!sc*/
@media (min-width:1200px){.nSSml{max-width:256px;width:256px;margin-right:32px;}}/*!sc*/
@media (max-width:1201px){.nSSml{max-width:176px;width:176px;margin-right:0;}}/*!sc*/
@media (max-width:751px){.nSSml{margin-right:0;}}/*!sc*/
data-styled.g802[id="sc-s8yol2-3"]{content:"nSSml,"}/*!sc*/
.dopIUT{position:relative;margin-bottom:16px;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.dopIUT:last-child{margin-bottom:0;}/*!sc*/
data-styled.g803[id="sc-s8yol2-4"]{content:"dopIUT,"}/*!sc*/
.MecOH{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:256px;margin-right:32px;color:#fff;}/*!sc*/
@media (max-width:1201px){.MecOH{width:240px;margin-right:0;margin-top:66px;}}/*!sc*/
@media (max-width:751px){.MecOH{width:352px;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin-top:40px;}}/*!sc*/
data-styled.g804[id="sc-15qczmr-0"]{content:"MecOH,"}/*!sc*/
.dpoRMu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:38px;}/*!sc*/
@media (max-width:1201px){.dpoRMu{margin-bottom:33px;}}/*!sc*/
@media (max-width:751px){.dpoRMu{margin-bottom:0;margin-top:24px;}}/*!sc*/
data-styled.g805[id="sc-15qczmr-1"]{content:"dpoRMu,"}/*!sc*/
.jKMwie{margin-right:12px;height:32px;width:32px;background-image:url(/_next/static/images/img/footerUivk-1a499178c819de0f4161a07172b27f6b.svg);background-position:center center;background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:1201px){.jKMwie{height:24px;width:24px;}}/*!sc*/
.eFVTJV{margin-right:12px;height:32px;width:32px;background-image:url(/_next/static/images/img/footerUiyt-84e5fa7c2e582191762486a7be2c2652.svg);background-position:center center;background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:1201px){.eFVTJV{height:24px;width:24px;}}/*!sc*/
.hUuIIY{margin-right:12px;height:32px;width:32px;background-image:url(/_next/static/images/img/footerUidzen-cfe01a671b9064c8e5d54b2ac5895a0c.png);background-position:center center;background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:1201px){.hUuIIY{height:24px;width:24px;}}/*!sc*/
data-styled.g806[id="sc-15qczmr-2"]{content:"jKMwie,eFVTJV,hUuIIY,"}/*!sc*/
.foluGF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
@media (max-width:751px){.foluGF{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}/*!sc*/
data-styled.g807[id="sc-15qczmr-3"]{content:"foluGF,"}/*!sc*/
.hMqYlN{margin-bottom:12px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
@media (max-width:1201px){.hMqYlN{margin-bottom:16px;}}/*!sc*/
@media (max-width:751px){.hMqYlN{margin-bottom:0;margin-right:32px;}.hMqYlN:last-child{margin-right:0;}}/*!sc*/
data-styled.g808[id="sc-15qczmr-4"]{content:"hMqYlN,"}/*!sc*/
.kmPvgJ{margin-right:32px;width:32px;height:32px;background-image:url(/_next/static/images/img/footerUitg-326baa373419d1a193621a597320c652.svg);background-position:center center;background-repeat:no-repeat;background-size:contain;}/*!sc*/
@media (max-width:1201px){.kmPvgJ{margin-right:8px;width:24px;height:24px;}}/*!sc*/
data-styled.g809[id="sc-15qczmr-5"]{content:"kmPvgJ,"}/*!sc*/
.driyCh{position:relative;white-space:nowrap;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
@media (max-width:1201px){.driyCh{line-height:16px;-webkit-text-decoration:none;text-decoration:none;}}/*!sc*/
data-styled.g810[id="sc-15qczmr-6"]{content:"driyCh,"}/*!sc*/
.ceClWZ{min-width:100%;width:100%;min-height:100%;height:100%;cursor:pointer;z-index:1;position:absolute;top:0;left:0;opacity:0;}/*!sc*/
data-styled.g812[id="sc-j40lj7-0"]{content:"ceClWZ,"}/*!sc*/
.dWxMps{min-width:24px;width:24px;min-height:24px;height:24px;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;will-change:transform;will-change:auto;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}/*!sc*/
data-styled.g813[id="sc-hd7keq-0"]{content:"dWxMps,"}/*!sc*/
.eZuRED{-webkit-transition:border-color 0.2s ease-out;transition:border-color 0.2s ease-out;will-change:border-color;min-width:24px;width:24px;min-height:24px;height:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;position:relative;border:1px solid;border-radius:3.5px;color:#4749c0;background-color:#fff;border-color:#4749c0;}/*!sc*/
data-styled.g816[id="sc-12fwr4-0"]{content:"eZuRED,"}/*!sc*/
.exsZZC{position:absolute;top:-1px;left:-1px;}/*!sc*/
data-styled.g817[id="sc-12fwr4-1"]{content:"exsZZC,"}/*!sc*/
.eAOVcR{cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g818[id="sc-1fry39v-0"]{content:"eAOVcR,"}/*!sc*/
.kMJHVN{margin:0 0 0 16px;}/*!sc*/
data-styled.g819[id="sc-1fry39v-1"]{content:"kMJHVN,"}/*!sc*/
.fyzNNQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#0f0f10;}/*!sc*/
data-styled.g820[id="sc-dusc05-0"]{content:"fyzNNQ,"}/*!sc*/
.fgICvQ{color:inherit;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.fgICvQ:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g821[id="sc-dusc05-1"]{content:"fgICvQ,"}/*!sc*/
.fYuJAI{color:#fff;}/*!sc*/
data-styled.g823[id="sc-des2oc-0"]{content:"fYuJAI,"}/*!sc*/
.hbxrvB{margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.hbxrvB{margin-bottom:22px;}}/*!sc*/
@media (max-width:751px){.hbxrvB{margin-bottom:16px;}}/*!sc*/
data-styled.g824[id="sc-des2oc-1"]{content:"hbxrvB,"}/*!sc*/
.iHEhCu{display:grid;grid-template-areas:'a b' 'c c';grid-template-columns:240px 96px;gap:12px 16px;}/*!sc*/
@media (max-width:1201px){.iHEhCu{grid-template-columns:200px 96px;gap:8px 8px;}}/*!sc*/
@media (max-width:751px){.iHEhCu{grid-template-columns:244px 96px;gap:10px 12px;}}/*!sc*/
data-styled.g825[id="sc-des2oc-2"]{content:"iHEhCu,"}/*!sc*/
.heMBup{grid-area:a;}/*!sc*/
data-styled.g826[id="sc-des2oc-3"]{content:"heMBup,"}/*!sc*/
.dqoHct{grid-area:b;}/*!sc*/
data-styled.g827[id="sc-des2oc-4"]{content:"dqoHct,"}/*!sc*/
.kSlCOl{grid-area:c;color:inherit;}/*!sc*/
data-styled.g828[id="sc-des2oc-5"]{content:"kSlCOl,"}/*!sc*/
.kVOlcO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g829[id="sc-176eli6-0"]{content:"kVOlcO,"}/*!sc*/
.bIqTVy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g830[id="sc-176eli6-1"]{content:"bIqTVy,"}/*!sc*/
.hRGcmY{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g831[id="sc-176eli6-2"]{content:"hRGcmY,"}/*!sc*/
.fCchjz{width:100%;margin:auto;}/*!sc*/
data-styled.g832[id="sc-1urziip-0"]{content:"fCchjz,"}/*!sc*/
.cPEbNj{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:82px;height:40px;}/*!sc*/
@media (max-width:1201px){.cPEbNj{margin-right:12px;width:41px;height:24px;}}/*!sc*/
data-styled.g833[id="sc-1urziip-1"]{content:"cPEbNj,"}/*!sc*/
.fEJhZn{margin-right:40px;width:140px;height:40px;background-image:url(/_next/static/images/img/runet-9d9c302c854bd21ffd433cffadd5fc46.png);background-position:center center;background-repeat:no-repeat;background-size:contain;}/*!sc*/
@media (max-width:1201px){.fEJhZn{margin-right:12px;width:84px;height:24px;}}/*!sc*/
data-styled.g834[id="sc-1jb0vz0-0"]{content:"fEJhZn,"}/*!sc*/
.bQKtqJ{margin-right:40px;width:136px;height:40px;background-image:url(/_next/static/images/img/skolkovo-2f0a909e8e465c8d5951d639c67b62c9.svg);background-position:center center;background-repeat:no-repeat;background-size:contain;}/*!sc*/
@media (max-width:1201px){.bQKtqJ{margin-right:12px;width:82px;height:24px;}}/*!sc*/
data-styled.g835[id="sc-1jb0vz0-1"]{content:"bQKtqJ,"}/*!sc*/
</style></head><body><div id="__next"><script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Otus",
"url": "https://otus.ru",
"logo": "https://otus.ru/__new_static__/img/meta-image.png",
"sameAs": [
"https://vk.com/otusru",
"https://t.me/Otusjava"
]
}</script><div class="sc-1j17uuq-0 klmZDZ sc-1b3dhyb-0 bzaXwp"><div class="ui-chunk-container sc-1pwtpfp-0 dMvvUT sc-1pwtpfp-0 dMvvUT"><div class="before-header-ui">
<div class="before-header-ui__ellipse1"></div>
<div class="before-header-ui__ellipse2"></div>
<div class="before-header-ui__container">
<div class="before-header-ui__img before-header-ui__img_sales"></div>
<div class="before-header-ui__content">
<div class="before-header-ui__title hide-phone">Курсы по нейросетям со скидкой до 30%</div>
<div class="before-header-ui__title show-phone">Курсы по нейросетям со скидкой до 30%</div>
</div>
<a class="before-header-ui__button" rel="noopener" href="https://otus.ru/catalog/courses?categories=neural_networks&utm_source=internal&utm_medium=free&utm_campaign=otus&utm_term=chank&utm_content=sla_sale_20-02-2026-10-04-2026" target="_blank">Выбрать курс</a>
</div>
</div></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div id="main-menu" class="sc-r03h0s-0 dKnRmO"><div class="sc-x072mc-0 sc-1x9oq14-0-styled-div sc-r03h0s-1 hOtCic eFDQwF bMTmMH"><a class="sc-r03h0s-2 iLJJBX" href="/"><img src="/_next/static/images/img/logo2022_without_text-ad6a01e8608432b9967c441a0f4760b4.svg" alt="OTUS Logo" width="82" height="42" class="sc-136rsxq-0 dxxUfg"/></a><nav class="sc-r03h0s-3 kVvakX"><div class="sc-r03h0s-5 sc-1youhxc-2 sc-k2vhmo-0 bYKNcH gAMwby gnDzft"><div class="sc-k2vhmo-1 cYMYSf"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-k2vhmo-2 etPPJE"><circle cx="11.7666" cy="11.7666" r="8.98856" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></circle><path d="M18.0183 18.4852L21.5423 22.0001" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div></div><div class="sc-r03h0s-5 sc-1youhxc-2 cGgLky ewISlX"><span title="Обучение" class="sc-1youhxc-1 cMNIlZ">Обучение</span> <div size="24" class="sc-i28ik1-0 bmVffP sc-1youhxc-0 dwrtLP"><div class="sc-i28ik1-1 gNVXtU"><svg width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-8zcw6d-0 eJDLVL"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.10067 0.378818C1.29593 0.183556 1.61251 0.183555 1.80778 0.378818L5.00023 3.57127L8.19272 0.378777C8.38798 0.183515 8.70457 0.183515 8.89983 0.378777C9.09509 0.574039 9.09509 0.890622 8.89983 1.08588L5.3643 4.62142C5.26426 4.72146 5.13237 4.77024 5.00127 4.76777C4.8695 4.77079 4.73676 4.72202 4.6362 4.62146L1.10067 1.08592C0.905408 0.890663 0.905408 0.57408 1.10067 0.378818Z" fill="currentColor"></path></svg></div></div></div><div class="sc-piuiz2-0 fEESDM"><div class="sc-piuiz2-1 fDVGGf"><svg class="sc-1gml7ra-3 XomuX sc-r03h0s-6 sc-1891c19-0 kpxsrg ggDqfB" viewBox="0 0 600 600" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M125.573 140.619C131.659 71.6017 210.245 34.9562 267.027 74.6573L553.942 275.262C610.723 314.962 603.117 401.233 540.247 430.55L222.58 578.681C159.71 607.997 88.7344 558.37 94.8204 489.355L125.573 140.619Z" stroke="#eaeaea" class="sc-1gml7ra-0 hERPbJ"></path><path d="M148.472 246.647C133.624 191.005 184.615 140.013 240.257 154.862L519.856 229.476C575.498 244.325 594.059 313.877 553.266 354.67L348.281 559.656C307.488 600.449 237.935 581.888 223.087 526.246L148.472 246.647Z" fill="url(#421536021cc2c121e77b87e3)"></path><defs><linearGradient id="421536021cc2c121e77b87e3" x1="128.696" y1="395.739" x2="443.538" y2="180.173" gradientUnits="userSpaceOnUse"><stop stop-color="rgba(249, 249, 249, 1)"></stop><stop offset="1" stop-color="rgba(235, 235, 235, 1)"></stop></linearGradient></defs></svg><div class="sc-piuiz2-2 fhxPhf"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Направления</p><div class="sc-1kjc6dh-2 sc-ig0m9y-0 lhsLfs cgYLnJ"><a class="sc-4zz0i4-0 dZepSJ" href="/categories/programming">Программирование<!-- --> (<!-- -->117<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/architecture">Архитектура<!-- --> (<!-- -->17<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/data-science">Data Science<!-- --> (<!-- -->27<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/operations">Инфраструктура<!-- --> (<!-- -->58<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/gamedev">GameDev<!-- --> (<!-- -->10<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/information-security-courses">Безопасность<!-- --> (<!-- -->15<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/marketing-business">Управление<!-- --> (<!-- -->46<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/analytics">Аналитика и анализ<!-- --> (<!-- -->25<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/business-product">Бизнес и продукт в IT<!-- --> (<!-- -->26<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/import-substitution">Импортозамещение<!-- --> (<!-- -->15<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/testing">Тестирование<!-- --> (<!-- -->12<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/neural_networks">Нейросети<!-- --> (<!-- -->9<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/it-bez-programmirovanija">IT без программирования<!-- --> (<!-- -->19<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/corporate">Корпоративные курсы<!-- --> (<!-- -->27<!-- -->)</a></div></div></div><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">События</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/lessons/calendar/2026">Календарь запуска курсов</a><a class="sc-4zz0i4-0 dZepSJ" href="/events/near">Календарь мероприятий</a></div></div><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Другое</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/categories/spec">Специализации<!-- --> (<!-- -->13<!-- -->)</a><a class="sc-4zz0i4-0 dZepSJ" href="/categories/online">Подготовительные курсы<!-- --> (<!-- -->14<!-- -->)</a><a class="sc-4zz0i4-0 gXNPrh" href="/subscription">Подписка на курсы</a><a class="sc-4zz0i4-0 dZepSJ" href="/tests">Проверьте свои знания</a></div></div></div></div></div></div><div class="sc-r03h0s-5 sc-1youhxc-2 cGgLky ewISlX"><span title="Информация" class="sc-1youhxc-1 cMNIlZ">Информация</span> <div size="24" class="sc-i28ik1-0 bmVffP sc-1youhxc-0 dwrtLP"><div class="sc-i28ik1-1 gNVXtU"><svg width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-8zcw6d-0 eJDLVL"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.10067 0.378818C1.29593 0.183556 1.61251 0.183555 1.80778 0.378818L5.00023 3.57127L8.19272 0.378777C8.38798 0.183515 8.70457 0.183515 8.89983 0.378777C9.09509 0.574039 9.09509 0.890622 8.89983 1.08588L5.3643 4.62142C5.26426 4.72146 5.13237 4.77024 5.00127 4.76777C4.8695 4.77079 4.73676 4.72202 4.6362 4.62146L1.10067 1.08592C0.905408 0.890663 0.905408 0.57408 1.10067 0.378818Z" fill="currentColor"></path></svg></div></div></div><div class="sc-piuiz2-0 fEESDM"><div class="sc-piuiz2-1 fDVGGf"><svg class="sc-1gml7ra-3 XomuX sc-r03h0s-6 sc-1891c19-0 kpxsrg ggDqfB" viewBox="0 0 600 600" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M125.573 140.619C131.659 71.6017 210.245 34.9562 267.027 74.6573L553.942 275.262C610.723 314.962 603.117 401.233 540.247 430.55L222.58 578.681C159.71 607.997 88.7344 558.37 94.8204 489.355L125.573 140.619Z" stroke="#eaeaea" class="sc-1gml7ra-0 hERPbJ"></path><path d="M148.472 246.647C133.624 191.005 184.615 140.013 240.257 154.862L519.856 229.476C575.498 244.325 594.059 313.877 553.266 354.67L348.281 559.656C307.488 600.449 237.935 581.888 223.087 526.246L148.472 246.647Z" fill="url(#69e89736e7fa72fbd358fc51)"></path><defs><linearGradient id="69e89736e7fa72fbd358fc51" x1="128.696" y1="395.739" x2="443.538" y2="180.173" gradientUnits="userSpaceOnUse"><stop stop-color="rgba(249, 249, 249, 1)"></stop><stop offset="1" stop-color="rgba(235, 235, 235, 1)"></stop></linearGradient></defs></svg><div class="sc-piuiz2-2 fhxPhf"><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">OTUS</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/about">О компании</a><a class="sc-4zz0i4-0 dZepSJ" href="/smi">СМИ о нас</a><a class="sc-4zz0i4-0 dZepSJ" href="/journal">OTUS Журнал</a><a class="sc-4zz0i4-0 dZepSJ" href="https://direct.otus.ru" target="_blank" rel="noopener noreferrer">OTUS Директ</a><a class="sc-4zz0i4-0 dZepSJ" href="/legal/common">Сведения об образовательной организации</a><a class="sc-4zz0i4-0 dZepSJ" rel="noopener noreferrer" href="/contacts">Контактная информация</a></div></div></div><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Студентам</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/reviews">Отзывы</a><a class="sc-4zz0i4-0 dZepSJ" href="https://landing.otus.ru/about-otus ">Как выбрать курс</a><a class="sc-4zz0i4-0 dZepSJ" href="https://landing.otus.ru/gallery">Истории выпускников</a><a class="sc-4zz0i4-0 dZepSJ" href="/instructors">Наши преподаватели</a><a class="sc-4zz0i4-0 dZepSJ" href="/employers/all">Наши партнеры</a><a class="sc-4zz0i4-0 dZepSJ" href="/about/loyalty">Программа лояльности</a><a class="sc-4zz0i4-0 dZepSJ" href="/faq">Вопросы и ответы</a></div></div></div><div class="sc-1kjc6dh-0 fXsjgC"><div><p class="sc-1x9oq14-0 sc-1kjc6dh-1 ViUGY bxwCjw">Преподавателям</p><div class="sc-1kjc6dh-2 eANJVj"><a class="sc-4zz0i4-0 dZepSJ" href="/teach">Стать преподавателем</a><a class="sc-4zz0i4-0 dZepSJ" href="/instructors">Наши преподаватели</a><a class="sc-4zz0i4-0 dZepSJ" href="/nest/dlja-prepodavatelej">База знаний</a></div></div></div></div></div></div><a class="sc-1vdp0yy-0 ldwIhb sc-r03h0s-5 sc-r03h0s-7 cGgLky jHaHbB" href="/b2b">Компаниям</a></nav><section class="sc-1pw2hu9-0 deZXFK"><div class="sc-r03h0s-5 sc-gqclrv-0 cGgLky eDycrR"><div class="sc-199a3eq-1-div cwTwwh sc-hrqzy3-0 jTtOKw"><div class="sc-hrqzy3-1 faPWUN"></div><div class="sc-1xopqwy-0 LDEpF"></div></div><p class="sc-1x9oq14-0 sc-gqclrv-1 eMZyoN rcsBI sc-hrqzy3-0 ePGOOQ"><div class="sc-1xopqwy-0 iXhGSD">UserPartName</div></p></div></section></div></div><main class="sc-1j17uuq-1 dPcKhb"><div class="sc-1b3dhyb-1 dvLdDh"><section class="sc-s2pydo-0 eufkJz"><div class="sc-4o7hfp-0 jDOZfu"><div class="sc-1vxm7ng-0 golIF"><div class="sc-1vxm7ng-2 jxmQOK"><a href="/categories/spec">Специализации</a><svg class="sc-1vxm7ng-1 dbOiAN" width="7" height="10" viewBox="0 0 7 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L5 5L1 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div><div class="sc-1vxm7ng-2 jxmQOK"><span>Python Developer</span></div></div><div class="sc-4o7hfp-1 eBROUt"><div class="sc-4o7hfp-2 fHVRxg"><div class="sc-5am0g3-1 eFljfP"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-4o7hfp-4 pkSWX"><path d="M17.9185 14.32C17.6595 14.571 17.5405 14.934 17.5995 15.29L18.4885 20.21C18.5635 20.627 18.3875 21.049 18.0385 21.29C17.6965 21.54 17.2415 21.57 16.8685 21.37L12.4395 19.06C12.2855 18.978 12.1145 18.934 11.9395 18.929H11.6685C11.5745 18.943 11.4825 18.973 11.3985 19.019L6.96851 21.34C6.74951 21.45 6.50151 21.489 6.25851 21.45C5.66651 21.338 5.27151 20.774 5.36851 20.179L6.25851 15.259C6.31751 14.9 6.19851 14.535 5.93951 14.28L2.32851 10.78C2.02651 10.487 1.92151 10.047 2.05951 9.65C2.19351 9.254 2.53551 8.965 2.94851 8.9L7.91851 8.179C8.29651 8.14 8.62851 7.91 8.79851 7.57L10.9885 3.08C11.0405 2.98 11.1075 2.888 11.1885 2.81L11.2785 2.74C11.3255 2.688 11.3795 2.645 11.4395 2.61L11.5485 2.57L11.7185 2.5H12.1395C12.5155 2.539 12.8465 2.764 13.0195 3.1L15.2385 7.57C15.3985 7.897 15.7095 8.124 16.0685 8.179L21.0385 8.9C21.4585 8.96 21.8095 9.25 21.9485 9.65C22.0795 10.051 21.9665 10.491 21.6585 10.78L17.9185 14.32Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-5am0g3-0 krJlll ivApKl">Курс переработан</p></div></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-s2pydo-5 iHjMxQ"><i class="sc-1ddwpfq-0 dAwfZU"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-s2pydo-6 EOCgR sc-x072mc-0 hOtCic"><div class="sc-s2pydo-2 DvaNG"></div><div class="sc-1x9oq14-0 sc-1fmwiug-0 eMZyoN fYQtoS"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1fmwiug-1 hgmchh"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.7044 3.51898C10.034 3.51898 9.46373 3.9848 9.30365 4.61265H14.6863C14.5263 3.9848 13.956 3.51898 13.2856 3.51898H10.7044ZM16.2071 4.61264H18.1881C20.2891 4.61264 22 6.34428 22 8.47085C22 8.47085 21.94 9.3711 21.92 10.6248C21.918 10.724 21.8699 10.8212 21.7909 10.88C21.3097 11.2354 20.8694 11.5291 20.8294 11.5493C19.1686 12.6632 17.2386 13.447 15.1826 13.8369C15.0485 13.8632 14.9165 13.7934 14.8484 13.6739C14.2721 12.6754 13.1956 12.0253 11.995 12.0253C10.8024 12.0253 9.71586 12.6683 9.12256 13.6678C9.05353 13.7853 8.92346 13.8531 8.7904 13.8278C6.75138 13.4369 4.82141 12.6541 3.17059 11.5594L2.21011 10.8911C2.13007 10.8405 2.08004 10.7493 2.08004 10.6481C2.05003 10.1316 2 8.47085 2 8.47085C2 6.34428 3.71086 4.61264 5.81191 4.61264H7.78289C7.97299 3.1443 9.2036 2 10.7044 2H13.2856C14.7864 2 16.017 3.1443 16.2071 4.61264ZM21.6598 12.8152L21.6198 12.8355C19.5988 14.1924 17.1676 15.0937 14.6163 15.4684C14.2561 15.519 13.8959 15.2861 13.7959 14.9216C13.5758 14.0912 12.8654 13.5443 12.015 13.5443H12.005H11.985C11.1346 13.5443 10.4242 14.0912 10.2041 14.9216C10.1041 15.2861 9.74387 15.519 9.38369 15.4684C6.83242 15.0937 4.4012 14.1924 2.38019 12.8355C2.37019 12.8254 2.27014 12.7646 2.1901 12.8152C2.10005 12.8659 2.10005 12.9874 2.10005 12.9874L2.17009 18.1519C2.17009 20.2785 3.87094 22 5.97199 22H18.018C20.1191 22 21.8199 20.2785 21.8199 18.1519L21.9 12.9874C21.9 12.9874 21.9 12.8659 21.8099 12.8152C21.7599 12.7849 21.6999 12.795 21.6598 12.8152ZM12.7454 17.0583C12.7454 17.4836 12.4152 17.8177 11.995 17.8177C11.5848 17.8177 11.2446 17.4836 11.2446 17.0583V15.7519C11.2446 15.3367 11.5848 14.9924 11.995 14.9924C12.4152 14.9924 12.7454 15.3367 12.7454 15.7519V17.0583Z" fill="currentColor"></path></svg>Специализация</div><h1 class="sc-1x9oq14-0 sc-s2pydo-1 kswXpy diGrSa">Python Developer</h1><div class="sc-1x9oq14-0 sc-s2pydo-3 enpOeQ dZDxRw"><p>Все, что нужно знать о программировании на Python: с нуля до middle+<span style="display: inline-block;"></span></p></div><div class="sc-1lrh8w5-0 ftkQLi sc-kixk9v-0 gwYuWO"><button class="sc-1qig7zt-0 czpnNJ sc-1lrh8w5-3 JTsAm"><span class="sc-1lrh8w5-4 jTrfLJ">Сообщить о старте набора</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1lrh8w5-5 eCsaUt"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.7071 8.79633C18.7071 10.0523 19.039 10.7925 19.7695 11.6456C20.3231 12.2741 20.5 13.0808 20.5 13.956C20.5 14.8302 20.2128 15.6601 19.6373 16.3339C18.884 17.1417 17.8215 17.6573 16.7372 17.747C15.1659 17.8809 13.5937 17.9937 12.0005 17.9937C10.4063 17.9937 8.83505 17.9263 7.26375 17.747C6.17846 17.6573 5.11602 17.1417 4.36367 16.3339C3.78822 15.6601 3.5 14.8302 3.5 13.956C3.5 13.0808 3.6779 12.2741 4.23049 11.6456C4.98384 10.7925 5.29392 10.0523 5.29392 8.79633V8.3703C5.29392 6.68834 5.71333 5.58852 6.577 4.51186C7.86106 2.9417 9.91935 2 11.9558 2H12.0452C14.1254 2 16.2502 2.98702 17.5125 4.62466C18.3314 5.67916 18.7071 6.73265 18.7071 8.3703V8.79633ZM9.07367 20.0608C9.07367 19.5573 9.53582 19.3266 9.96318 19.2279C10.4631 19.1222 13.5093 19.1222 14.0092 19.2279C14.4366 19.3266 14.8987 19.5573 14.8987 20.0608C14.8738 20.5402 14.5926 20.9653 14.204 21.2352C13.7001 21.628 13.1088 21.8767 12.4906 21.9664C12.1487 22.0107 11.8128 22.0117 11.4828 21.9664C10.8636 21.8767 10.2723 21.628 9.76938 21.2342C9.37978 20.9653 9.09852 20.5402 9.07367 20.0608Z" fill="currentColor"></path></svg></button></div></div></div><div class="sc-x072mc-0 sc-3cb1l3-1 hOtCic galmep"><div class="sc-3cb1l3-3 jeNzke"><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.33037 2.00049H16.6694C20.0704 2.00049 21.9904 3.92949 22.0004 7.33049V16.6705C22.0004 20.0705 20.0704 22.0005 16.6694 22.0005H7.33037C3.92937 22.0005 2.00037 20.0705 2.00037 16.6705V7.33049C2.00037 3.92949 3.92937 2.00049 7.33037 2.00049ZM12.0494 17.8605C12.4804 17.8605 12.8394 17.5405 12.8794 17.1105V6.92049C12.9194 6.61049 12.7704 6.29949 12.5004 6.13049C12.2194 5.96049 11.8794 5.96049 11.6104 6.13049C11.3394 6.29949 11.1904 6.61049 11.2194 6.92049V17.1105C11.2704 17.5405 11.6294 17.8605 12.0494 17.8605ZM16.6504 17.8605C17.0704 17.8605 17.4294 17.5405 17.4804 17.1105V13.8305C17.5094 13.5095 17.3604 13.2105 17.0894 13.0405C16.8204 12.8705 16.4804 12.8705 16.2004 13.0405C15.9294 13.2105 15.7804 13.5095 15.8204 13.8305V17.1105C15.8604 17.5405 16.2194 17.8605 16.6504 17.8605ZM8.21937 17.1105C8.17937 17.5405 7.82037 17.8605 7.38937 17.8605C6.95937 17.8605 6.59937 17.5405 6.56037 17.1105V10.2005C6.53037 9.88949 6.67937 9.58049 6.95037 9.41049C7.21937 9.24049 7.56037 9.24049 7.83037 9.41049C8.09937 9.58049 8.25037 9.88949 8.21937 10.2005V17.1105Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">Basic</p></div><div class="sc-3cb1l3-4 kGoYMV"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 10.3178C3.5 5.71789 7.34388 2 11.9934 2C16.6561 2 20.5 5.71789 20.5 10.3178C20.5 12.6357 19.657 14.7876 18.2695 16.6116C16.7388 18.6235 14.8522 20.3765 12.7285 21.7524C12.2425 22.0704 11.8039 22.0944 11.2704 21.7524C9.13474 20.3765 7.24809 18.6235 5.7305 16.6116C4.34198 14.7876 3.5 12.6357 3.5 10.3178ZM9.19423 10.5768C9.19423 12.1177 10.4517 13.3297 11.9934 13.3297C13.5362 13.3297 14.8058 12.1177 14.8058 10.5768C14.8058 9.0478 13.5362 7.77683 11.9934 7.77683C10.4517 7.77683 9.19423 9.0478 9.19423 10.5768Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">Онлайн</p></div></div></div></section><div class="sc-x072mc-0 sc-s2slrh-0 hOtCic jLsgNA"><div class="sc-x072mc-0 sc-s2slrh-1 hOtCic SVrDZ"><div class="sc-1itg2iw-0 ktwleZ"><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez bogpCZ"> <h2><strong>Чем специализация отличается от обычного курса?</strong></h2>
<p><span style="font-weight: 400;">Здесь вы прокачаетесь сначала до junior-разработчика, а потом сразу же – до middle. </span><span style="font-weight: 400;">И всё это в пределах одной программы. </span></p>
<h2><strong>Кому подходит специализация?</strong></h2>
<ul>
<li><strong>Тем, кто хочет с нуля освоить профессию Python-разработчика.</strong> Ваши навыки разработки будут соответствовать строгим требованиям IT-компаний, даже если сейчас вы ничего не знаете о программировании</li>
<li><strong>Тем, кто ещё не определился с языком программирования.</strong> Сможете полностью переквалифицироваться в Python-разработчика</li>
</ul>
<span style="text-decoration: underline;"><strong><span style="color: #3598db; text-decoration: underline;"><a rel="noopener" href="https://drive.google.com/file/d/151W4dGxYeAs_cXs48OlRaD3s_H4uZg5u/view?usp=sharing" target="_blank">Сравнить уровни сложности курсов по Python</a><br></span></strong></span><br>
<h2><strong>Где нужен Python?</strong></h2>
<ul>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">бэкенд-разработка </span></li>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">высокие нагрузки</span></li>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">автоматизация тестирования</span></li>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">веб-разработка</span></li>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">data science</span></li>
</ul></div></div><div class="sc-clwny5-0 fXxDDe sc-1nmmm75-0 hHfHsk"><img src="https://cdn.otus.ru/media/public/48/2c/питон_2-263987-482ca8.jpg" alt="" class="sc-clwny5-1 bPlUQW"/></div></div></div><div class="sc-x072mc-0 sc-6ezpsy-0 hOtCic QJBpv"><h2 class="sc-1x9oq14-0 sc-6ezpsy-1 jmLQpp fYplKq">Какой результат вы получите?</h2><h2 class="sc-1x9oq14-0 sc-6ezpsy-2 fPZiIk legCsR"><h2><span>Специализация состоит из двух ступеней, каждая длится 5 месяцев</span></h2></h2><div class="sc-6ezpsy-3 eGxwJE"><div class="sc-vxemor-0 caRpjt"><div class="sc-vxemor-1 iMqlcz"><div class="sc-1x9oq14-0 sc-vxemor-2 gGtEnS dLJViR">Начало обучения</div><div class="sc-1x9oq14-0 sc-vxemor-3 doSDez jjeONo">28 мая</div></div><div class="sc-katme0-0 LxCjF sc-vxemor-4 kKlqJz"><svg viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-1b1c4br-0 bOxIsJ"><circle cx="30" cy="30" class="sc-1b1c4br-1 cBgTTw"></circle><circle cx="30" cy="30" class="sc-1b1c4br-2 bkwxfj"></circle><circle cx="30" cy="30" class="sc-1b1c4br-3 BRexd"></circle></svg><div class="sc-katme0-1 mFGFG"></div><svg viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-1a7f55p-0 hrhUsd"><path fill="currentColor" d="M4.5 3a.5.5 0 0 0-1 0h1zM4 7l2.887-5H1.113L4 7zm-.5-3.111a.5.5 0 0 0 1 0h-1zm1 2.222a.5.5 0 0 0-1 0h1zM3.5 3v.889h1V3h-1z"></path></svg><svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-1x39gxs-0 fQjpZO"><circle cx="7.99951" cy="8" r="8" fill="#418A1F"></circle></svg></div><div class="sc-vxemor-6 fGpTjM"><ul>
<li><span style="font-weight: 400;">Чтобы начать обучение, понадобится только компьютер</span></li>
</ul></div></div><div class="sc-vxemor-0 caRpjt"><div class="sc-vxemor-1 iMqlcz"><div class="sc-1x9oq14-0 sc-vxemor-2 gGtEnS dLJViR">Ступень 1</div><div class="sc-1x9oq14-0 sc-vxemor-3 doSDez jjeONo">Вт 20:00, Чт 20:00</div></div><div class="sc-katme0-0 LxCjF sc-vxemor-4 kKlqJz"><div class="sc-katme0-1 cBGsLs"></div><svg viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-1a7f55p-0 hrhUsd"><path fill="currentColor" d="M4.5 3a.5.5 0 0 0-1 0h1zM4 7l2.887-5H1.113L4 7zm-.5-3.111a.5.5 0 0 0 1 0h-1zm1 2.222a.5.5 0 0 0-1 0h1zM3.5 3v.889h1V3h-1z"></path></svg><svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-1x39gxs-0 fQjpZO"><circle cx="7.99951" cy="8" r="8" fill="#418A1F"></circle></svg></div><div class="sc-1x9oq14-0 sc-vxemor-5 gGtEnS edBFys">Junior</div><div class="sc-vxemor-6 fGpTjM"><ul>
<li>Познакомитесь с синтаксисом и базовыми операторами Python</li>
<li>Изучите основы ООП и научитесь писать тесты</li>
<li>Научитесь работать в асинхронном режиме с вебом и базами данных, создавать и настраивать автоматические тесты, работать с API</li>
<li>Научитесь использовать библиотеки для data science, разворачивать приложения в Docker-контейнерах, настраивать автоматический деплой</li>
</ul></div></div><div class="sc-vxemor-0 caRpjt"><div class="sc-vxemor-1 iMqlcz"><div class="sc-1x9oq14-0 sc-vxemor-2 gGtEnS dLJViR">Ступень 2</div><div class="sc-1x9oq14-0 sc-vxemor-3 doSDez jjeONo">Пн 20:00, Ср 20:00</div></div><div class="sc-1x9oq14-0 sc-vxemor-5 gGtEnS edBFys">Middle</div><div class="sc-vxemor-6 fGpTjM"><ul>
<li>Рассмотрите фундаментальные основы Python и веб-разработки на продвинутом уровне</li>
<li>Научитесь писать простой и идиоматичный код, тестировать и поддерживать код на Python</li>
<li>Освоите программную инженерию, сформируете прагматичный подход к решению задач</li>
<li>Научитесь писать приложения, которые не умирают под нагрузкой</li>
</ul></div></div></div></div><div class="sc-11l8wec-0 eOXZIV sc-x072mc-0 sc-nqd633-0 hOtCic bbEYfR"><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 llcKcw"><div src="/_next/static/images/img/oneImg-b1c92b38734a5b324f9b32a5a243bf06.svg" class="sc-16yt4q5-2 bUbCKQ"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3><span><strong>Система знаний</strong></span><span></span></h3>
<p><span><br><span style="font-weight: 400;">Изучайте азы, осваивайте продвинутые навыки и переходите на профессиональный уровень</span><br></span></p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 llcKcw"><div src="/_next/static/images/img/twoImg-28bd45b9ade74f4471bf39916d76d47e.svg" class="sc-16yt4q5-2 dIESaV"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3><strong>Опыт экспертов</strong></h3>
<p><br><span style="font-weight: 400;">Наши преподаватели – эксперты разработки со средним стажем 10 лет, работающие с крупными заказчиками</span></p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 llcKcw"><div src="/_next/static/images/img/threeImg-7d8d62a36e7b66f9691d1d7d01b44fb9.svg" class="sc-16yt4q5-2 gbGscf"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3><strong>Восстребованность на рынке</strong></h3>
<p><span><br><span style="font-weight: 400;">Научитесь выполнять задачи, </span></span></p>
<p><span><span style="font-weight: 400;">которые по силам </span></span></p>
<p><span><span style="font-weight: 400;">middle-разработчику</span><br></span></p></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-1kuct9n-0 jzJAgH"><i class="sc-1ddwpfq-0 hRKTfD"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-x072mc-0 hOtCic"><div class="sc-1kuct9n-2 cfBLof"><h2 class="sc-1x9oq14-0 sc-1kuct9n-1 kswXpy jqwyOS">Карьерная поддержка</h2><div class="sc-1x9oq14-0 sc-1kuct9n-4 fPZiIk efarBD"><div>
<p><span>Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.</span></p>
</div></div><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez dJQBfL sc-1kuct9n-5 hXsBII"><ul>
<li><span><strong>Разместите резюме в базе OTUS</strong>: так наши партнёры смогут пригласить вас на интервью<br><br></span></li>
<li><span><strong>Участвуйте в карьерных мероприятиях</strong>: там мы разбираемся, как составить резюме</span></li>
</ul></div></div><div class="sc-xgmw75-1 fqgPAJ"><div class="sc-xgmw75-3 jzczJK"><div class="sc-xgmw75-2 cGRACb"><div class="sc-xgmw75-9 dtCZZG"></div><h2 class="sc-1x9oq14-0 bTMeHF">Python Developer</h2></div><div class="sc-1x9oq14-0 sc-xgmw75-0 gGtEnS kWSJKL">Перспективы направления</div><div class="sc-1x9oq14-0 sc-xgmw75-4 hQBzUY fSmctL">Средний уровень зарплат:</div><div class="sc-xgmw75-5 fHxdGa"><div class="sc-1f5byvo-0 hlgWda"><span class="sc-1x9oq14-0 sc-1f5byvo-1 jmLQpp jyvyoR">140 000<!-- --> ₽</span><span class="sc-1x9oq14-0 sc-1f5byvo-2 gGtEnS lhTbHf">Junior+
специалист</span></div><div class="sc-1f5byvo-0 hlgWda"><span class="sc-1x9oq14-0 sc-1f5byvo-1 jmLQpp jyvyoR">250 000<!-- --> ₽</span><span class="sc-1x9oq14-0 sc-1f5byvo-2 gGtEnS lhTbHf">Middle+
специалист</span></div><div class="sc-1f5byvo-0 hlgWda"><span class="sc-1x9oq14-0 sc-1f5byvo-1 jmLQpp jyvyoR">360 000<!-- --> ₽</span><span class="sc-1x9oq14-0 sc-1f5byvo-2 gGtEnS lhTbHf">Senior
специалист</span></div></div></div><div class="sc-xgmw75-6 hNPHLe"><div class="sc-1x9oq14-0 sc-xgmw75-7 kswXpy hBXFys">5703<div class="sc-1x9oq14-0 sc-xgmw75-8 gGtEnS rdBYv">актуальные вакансии</div></div><div class="sc-i28ik1-0 kOdeIv"><div class="sc-i28ik1-1 gNVXtU"><svg xmlns="http://www.w3.org/2000/svg" fill="none" width="48" height="48" viewBox="0 0 58 58"><g filter="url(#filter0_d)"><path stroke="#fff" stroke-width="4" d="M49.627 23.745c.693 11.392-7.98 21.189-19.372 21.882-11.392.693-21.189-7.98-21.882-19.372-.693-11.392 7.98-21.189 19.372-21.882 11.392-.693 21.189 7.98 21.882 19.372z"></path></g><path fill="#D6001C" d="M30.27 45.882c11.534-.702 20.314-10.62 19.613-22.154-.702-11.534-10.62-20.315-22.154-19.613-11.534.702-20.314 10.62-19.613 22.154.702 11.534 10.62 20.314 22.154 19.613z"></path><path fill="#FEFEFE" d="M19.421 16.123l.432 7.104c1.003-1.356 2.26-2.084 3.764-2.175.774-.047 1.477.058 2.117.314.642.253 1.13.6 1.473 1.034.345.44.59.928.739 1.475.148.544.258 1.397.329 2.56l.462 7.595-3.36.205-.417-6.841c-.082-1.358-.196-2.214-.346-2.571a1.672 1.672 0 0 0-.727-.83c-.337-.198-.747-.282-1.233-.252a2.726 2.726 0 0 0-1.465.507c-.427.305-.72.74-.888 1.309-.172.569-.224 1.398-.155 2.486l.392 6.486-3.357.204-1.12-18.406 3.361-.204zm13.232-.805l.433 7.104c1.003-1.356 2.26-2.084 3.762-2.175.772-.047 1.48.058 2.12.314.64.253 1.129.599 1.47 1.034.343.436.595.938.738 1.475.15.544.26 1.397.33 2.56l.462 7.595-3.357.204-.416-6.84c-.083-1.358-.199-2.214-.349-2.572a1.665 1.665 0 0 0-.729-.829c-.333-.198-.746-.282-1.233-.252a2.729 2.729 0 0 0-1.465.507c-.42.305-.715.74-.886 1.308-.168.57-.22 1.398-.154 2.487l.394 6.486-3.356.204-1.12-18.406 3.356-.204z"></path><defs><filter id="filter0_d" width="58" height="58" x="0" y="0" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy="4"></feOffset><feGaussianBlur stdDeviation="2.5"></feGaussianBlur><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.13 0"></feColorMatrix><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"></feBlend><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"></feBlend></filter></defs></svg></div></div></div></div><div class="sc-2pu6he-0 cdveUu"><h3 class="sc-1x9oq14-0 sc-2pu6he-1 jmLQpp ifdlyD">Работодатели</h3><div class="sc-1bkbgbz-0 dGHcsq swiper-ui sc-2pu6he-3 rLbwk"><div class="sc-1bkbgbz-1 cPJghB"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/81/c8/81c844c71b85419b8aa2ad821d8f6c84.jpg" class="sc-x5ajzb-1 bjDeFO"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/af/e4/afe4aa9660d444688ddc48c2acf31bd0.jpg" class="sc-x5ajzb-1 GkSfs"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/7a/13/7a13906b56804a5f94d7bbb6e61f69e3.jpg" class="sc-x5ajzb-1 kgYUbC"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/82/85/828560e20c494ff7ac73b32ae47dd3ba.webp" class="sc-x5ajzb-1 bvOTNy"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/6c/81/6c8195524caf4befbb74c7a803f678fc.png" class="sc-x5ajzb-1 fVYPAs"></div></div></div></div></div><div color="#fff" class="sc-1bkbgbz-6 eoibzU"><button color="#fff" class="sc-1bkbgbz-2 sc-1bkbgbz-4 dQlnjC biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#fff" class="sc-1bkbgbz-2 sc-1bkbgbz-3 dQlnjC iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div></div></div><div class="sc-x072mc-0 sc-ze365z-0 hOtCic jpiMVl"><div class="sc-1x9oq14-0 sc-ze365z-1 bTMeHF RPhWg"><h5>Формат обучения</h5></div><div class="sc-11l8wec-0 eOXZIV"><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 llcKcw"><div src="/_next/static/images/img/oneImg-d53504a93142009806d3cc77cd059dcb.svg" class="sc-16yt4q5-2 yjETG"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3><span>Интерактивные вебинары</span></h3>
<p><span><br>2 онлайн-занятия по 2 академических часа в неделю, вечный доступ к обучающим материалам</span></p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 llcKcw"><div src="/_next/static/images/img/twoImg-bf3134a7f0a1f9684257b13b37cd07b5.svg" class="sc-16yt4q5-2 iGfrzu"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3><span>Две проектные </span><span>работы</span></h3>
<p><span><br><span style="font-weight: 400;">Дополните портфолио двумя разными проектами. Чувствуйте себя на собеседованиях уверенно</span><br></span></p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 llcKcw"><div src="/_next/static/images/img/threeImg-a81ea3b3db08e9c236bce2eb8f407ab7.svg" class="sc-16yt4q5-2 eJXsCF"></div></div><div class="sc-1x9oq14-0 sc-16yt4q5-3 doSDez kgZxtV"><h3><span>Активное комьюнити</span></h3>
<p><span><br>Общайтесь с преподавателями на вебинарах, в закрытом телеграм-чате, при проверке домашних заданий<br></span></p></div></div></div></div><div class="sc-x072mc-0 sc-f1bg58-0 hOtCic eTbbdX"><div class="sc-7ymvnh-0 fcMafv"><div class="sc-7ymvnh-1 ePxZmc"><h2><span>Групповые менторские консультации</span></h2></div><div class="sc-7ymvnh-2 clOrYg"><p class="p1"><span style="font-weight: 400;">Менторы объяснят, как лучше справляться с задачами. Групповой разбор домашних заданий проходит раз в месяц</span></p></div></div><div class="sc-1677c9a-0 vqlNu"><div class="sc-1h9xdkn-0 juHTQi sc-1677c9a-1 ikQdLx"><svg width="64" height="64" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1h9xdkn-1 kBuGLM"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.5 12.5537C12.2546 12.5537 14.4626 10.3171 14.4626 7.52684C14.4626 4.73663 12.2546 2.5 9.5 2.5C6.74543 2.5 4.53737 4.73663 4.53737 7.52684C4.53737 10.3171 6.74543 12.5537 9.5 12.5537ZM9.5 15.0152C5.45422 15.0152 2 15.6621 2 18.2464C2 20.8298 5.4332 21.5 9.5 21.5C13.5448 21.5 17 20.8531 17 18.2687C17 15.6844 13.5668 15.0152 9.5 15.0152ZM19.8979 9.58786H21.101C21.5962 9.58786 22 9.99731 22 10.4995C22 11.0016 21.5962 11.4111 21.101 11.4111H19.8979V12.5884C19.8979 13.0906 19.4952 13.5 18.999 13.5C18.5038 13.5 18.1 13.0906 18.1 12.5884V11.4111H16.899C16.4027 11.4111 16 11.0016 16 10.4995C16 9.99731 16.4027 9.58786 16.899 9.58786H18.1V8.41162C18.1 7.90945 18.5038 7.5 18.999 7.5C19.4952 7.5 19.8979 7.90945 19.8979 8.41162V9.58786Z" fill="url(#904cf7923eb633af0faf145e)"></path><defs><linearGradient id="904cf7923eb633af0faf145e" x1="9.76799" y1="22.9844" x2="55.4024" y2="31.1662" gradientUnits="userSpaceOnUse" gradientTransform="scale(0.375)"><stop stop-color="#387C17"></stop><stop offset="1" stop-color="#1B5300"></stop></linearGradient></defs></svg><div class="sc-1x9oq14-0 sc-1h9xdkn-2 doSDez gCsdwr"><p class="p1"><span class="Apple-converted-space"> </span>Вы выполняете домашнее задание</p></div></div><svg class="sc-f1074s-0 beklyV sc-wsxv7u-0 bjdMrl sc-1677c9a-5 eBVZlk" viewBox="0 0 144 75" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.04207 60.655C0.851527 60.4551 0.535034 60.4476 0.335165 60.6381C0.135296 60.8287 0.127737 61.1451 0.318281 61.345L1.04207 60.655ZM55.2352 70.5L55.3932 70.9744L55.2352 70.5ZM143.324 3.5L138.271 0.707284L138.379 6.47978L143.324 3.5ZM1.93488 62.8288C2.14531 63.0076 2.46085 62.9819 2.63967 62.7715C2.81849 62.5611 2.79286 62.2455 2.58243 62.0667L1.93488 62.8288ZM6.85774 65.2367C6.62646 65.0859 6.31666 65.1511 6.16579 65.3824C6.01493 65.6136 6.08012 65.9234 6.3114 66.0743L6.85774 65.2367ZM10.0613 68.2908C10.3049 68.4208 10.6078 68.3288 10.7379 68.0852C10.8679 67.8416 10.7759 67.5387 10.5323 67.4086L10.0613 68.2908ZM15.3592 69.6659C15.1032 69.5623 14.8117 69.6858 14.7081 69.9417C14.6044 70.1977 14.7279 70.4892 14.9839 70.5928L15.3592 69.6659ZM19.0754 72.0538C19.3391 72.1357 19.6193 71.9883 19.7013 71.7246C19.7832 71.4609 19.6358 71.1807 19.3721 71.0988L19.0754 72.0538ZM24.5387 72.4142C24.268 72.36 24.0045 72.5355 23.9503 72.8063C23.8961 73.0771 24.0716 73.3405 24.3424 73.3947L24.5387 72.4142ZM28.6343 74.0732C28.9086 74.1052 29.1569 73.9088 29.1889 73.6345C29.2209 73.3602 29.0245 73.1119 28.7502 73.0799L28.6343 74.0732ZM34.0738 73.434C33.7977 73.4292 33.57 73.6492 33.5653 73.9253C33.5605 74.2014 33.7804 74.4291 34.0565 74.4338L34.0738 73.434ZM38.3977 74.3433C38.6733 74.3272 38.8837 74.0906 38.8676 73.8149C38.8515 73.5393 38.6149 73.3289 38.3393 73.345L38.3977 74.3433ZM43.6502 72.7921C43.3771 72.8328 43.1887 73.0872 43.2294 73.3604C43.2701 73.6335 43.5246 73.8219 43.7977 73.7812L43.6502 72.7921ZM48.0648 72.9969C48.3346 72.938 48.5056 72.6716 48.4467 72.4018C48.3879 72.132 48.1214 71.961 47.8516 72.0199L48.0648 72.9969ZM53.0229 70.6767C52.7585 70.7563 52.6086 71.0351 52.6882 71.2996C52.7677 71.564 53.0466 71.7139 53.311 71.6343L53.0229 70.6767ZM57.2858 70.3214C57.5459 70.2285 57.6814 69.9424 57.5885 69.6824C57.4956 69.4223 57.2095 69.2868 56.9495 69.3797L57.2858 70.3214ZM61.4878 67.6153C61.2334 67.7226 61.1141 68.0159 61.2215 68.2703C61.3288 68.5247 61.6221 68.644 61.8765 68.5367L61.4878 67.6153ZM65.4642 66.9225C65.7132 66.8031 65.8184 66.5045 65.6991 66.2555C65.5797 66.0065 65.2811 65.9013 65.0321 66.0206L65.4642 66.9225ZM69.3576 63.7805C69.1165 63.9151 69.0303 64.2197 69.1649 64.4608C69.2996 64.7019 69.6042 64.7882 69.8453 64.6535L69.3576 63.7805ZM73.2344 62.6441C73.4682 62.4971 73.5386 62.1885 73.3916 61.9547C73.2447 61.7209 72.936 61.6505 72.7022 61.7974L73.2344 62.6441ZM76.7396 59.0707C76.5159 59.2327 76.466 59.5453 76.628 59.7689C76.79 59.9926 77.1026 60.0425 77.3262 59.8805L76.7396 59.0707ZM80.4587 57.4838C80.6736 57.3103 80.7071 56.9955 80.5337 56.7807C80.3602 56.5658 80.0454 56.5322 79.8306 56.7057L80.4587 57.4838ZM83.5202 53.5276C83.3167 53.7143 83.3031 54.0306 83.4898 54.234C83.6765 54.4375 83.9928 54.4511 84.1962 54.2644L83.5202 53.5276ZM87.0367 51.5295C87.231 51.3334 87.2296 51.0168 87.0334 50.8224C86.8372 50.628 86.5207 50.6295 86.3263 50.8257L87.0367 51.5295ZM89.6562 47.2745C89.4727 47.4808 89.4912 47.7969 89.6975 47.9804C89.9039 48.1639 90.2199 48.1454 90.4034 47.939L89.6562 47.2745ZM92.9629 44.9469C93.1385 44.7338 93.1081 44.4187 92.895 44.2431C92.6819 44.0674 92.3668 44.0978 92.1912 44.3109L92.9629 44.9469ZM95.2222 40.4791C95.0549 40.6988 95.0973 41.0125 95.317 41.1798C95.5367 41.3471 95.8504 41.3047 96.0177 41.085L95.2222 40.4791ZM98.3631 37.9277C98.5254 37.7042 98.4758 37.3916 98.2524 37.2293C98.029 37.067 97.7163 37.1166 97.554 37.34L98.3631 37.9277ZM100.389 33.3564C100.231 33.5825 100.286 33.8943 100.512 34.0528C100.738 34.2112 101.05 34.1564 101.208 33.9302L100.389 33.3564ZM103.449 30.7156C103.607 30.4889 103.551 30.1773 103.324 30.0196C103.098 29.8618 102.786 29.9177 102.628 30.1443L103.449 30.7156ZM105.452 26.1224C105.292 26.3473 105.344 26.6595 105.569 26.8197C105.794 26.98 106.106 26.9276 106.266 26.7027L105.452 26.1224ZM108.566 23.5432C108.732 23.322 108.686 23.0087 108.465 22.8434C108.244 22.6781 107.931 22.7235 107.765 22.9447L108.566 23.5432ZM110.8 19.0661C110.624 19.2791 110.654 19.5942 110.867 19.77C111.08 19.9458 111.395 19.9157 111.571 19.7027L110.8 19.0661ZM114.129 16.769C114.316 16.5663 114.304 16.25 114.102 16.0624C113.899 15.8748 113.583 15.887 113.395 16.0896L114.129 16.769ZM116.915 12.6183C116.709 12.8021 116.691 13.1182 116.875 13.3243C117.059 13.5304 117.375 13.5484 117.581 13.3646L116.915 12.6183ZM120.585 10.9247C120.808 10.7613 120.856 10.4484 120.693 10.2258C120.529 10.0032 120.216 9.95517 119.994 10.1186L120.585 10.9247ZM124.182 7.45643C123.939 7.58805 123.849 7.89155 123.981 8.1343C124.112 8.37705 124.416 8.46714 124.659 8.33551L124.182 7.45643ZM128.147 6.6949C128.403 6.59189 128.527 6.30069 128.424 6.04448C128.321 5.78827 128.03 5.66407 127.774 5.76708L128.147 6.6949ZM132.513 4.23841C132.245 4.30504 132.082 4.5763 132.148 4.84429C132.215 5.11227 132.486 5.27549 132.754 5.20886L132.513 4.23841ZM136.54 4.46864C136.813 4.42889 137.002 4.17513 136.963 3.90187C136.923 3.6286 136.669 3.4393 136.396 3.47906L136.54 4.46864ZM141.311 3.03767C141.035 3.04814 140.82 3.28032 140.83 3.55627C140.841 3.83221 141.073 4.04742 141.349 4.03695L141.311 3.03767ZM0.680176 61C0.318281 61.345 0.318314 61.3451 0.31835 61.3451C0.318364 61.3451 0.318401 61.3451 0.31843 61.3452C0.318488 61.3452 0.318555 61.3453 0.318629 61.3454C0.318778 61.3455 0.318959 61.3457 0.319173 61.3459C0.319601 61.3464 0.32016 61.347 0.32085 61.3477C0.322229 61.3491 0.324131 61.3511 0.326555 61.3536C0.331403 61.3587 0.338338 61.3658 0.347356 61.3751C0.365391 61.3935 0.391756 61.4203 0.426404 61.455C0.495698 61.5243 0.59813 61.625 0.733328 61.7535C1.00371 62.0105 1.40523 62.3787 1.93488 62.8288L2.58243 62.0667C2.06777 61.6294 1.68004 61.2737 1.42226 61.0287C1.29338 60.9062 1.197 60.8114 1.13351 60.7479C1.10176 60.7161 1.07824 60.6922 1.06298 60.6766C1.05535 60.6688 1.04979 60.663 1.0463 60.6594C1.04456 60.6576 1.04334 60.6563 1.04263 60.6556C1.04228 60.6552 1.04205 60.655 1.04196 60.6549C1.04191 60.6548 1.0419 60.6548 1.04192 60.6548C1.04193 60.6548 1.04194 60.6549 1.04197 60.6549C1.04198 60.6549 1.04201 60.6549 1.04201 60.6549C1.04204 60.655 1.04207 60.655 0.680176 61ZM6.3114 66.0743C7.41481 66.7941 8.66609 67.5458 10.0613 68.2908L10.5323 67.4086C9.16449 66.6783 7.93831 65.9416 6.85774 65.2367L6.3114 66.0743ZM14.9839 70.5928C16.2681 71.1129 17.6326 71.6055 19.0754 72.0538L19.3721 71.0988C17.9569 70.6591 16.6187 70.176 15.3592 69.6659L14.9839 70.5928ZM24.3424 73.3947C25.7184 73.6703 27.1494 73.8999 28.6343 74.0732L28.7502 73.0799C27.2929 72.9098 25.8887 72.6845 24.5387 72.4142L24.3424 73.3947ZM34.0565 74.4338C35.4637 74.4582 36.911 74.4303 38.3977 74.3433L38.3393 73.345C36.878 73.4305 35.4559 73.4579 34.0738 73.434L34.0565 74.4338ZM43.7977 73.7812C45.1904 73.5736 46.6129 73.3137 48.0648 72.9969L47.8516 72.0199C46.4214 72.332 45.0208 72.5878 43.6502 72.7921L43.7977 73.7812ZM53.311 71.6343C53.9992 71.4273 54.6933 71.2074 55.3932 70.9744L55.0773 70.0256C54.3865 70.2556 53.7017 70.4725 53.0229 70.6767L53.311 71.6343ZM55.3932 70.9744C56.0327 70.7614 56.6635 70.5437 57.2858 70.3214L56.9495 69.3797C56.334 69.5995 55.71 69.8149 55.0773 70.0256L55.3932 70.9744ZM61.8765 68.5367C63.1081 68.0171 64.3033 67.4786 65.4642 66.9225L65.0321 66.0206C63.8856 66.5699 62.7048 67.1019 61.4878 67.6153L61.8765 68.5367ZM69.8453 64.6535C71.0121 64.0017 72.141 63.3313 73.2344 62.6441L72.7022 61.7974C71.6233 62.4755 70.5093 63.1371 69.3576 63.7805L69.8453 64.6535ZM77.3262 59.8805C78.4071 59.0976 79.4502 58.2979 80.4587 57.4838L79.8306 56.7057C78.8353 57.5091 77.806 58.2982 76.7396 59.0707L77.3262 59.8805ZM84.1962 54.2644C85.1767 53.3648 86.1223 52.4523 87.0367 51.5295L86.3263 50.8257C85.4226 51.7377 84.4884 52.6392 83.5202 53.5276L84.1962 54.2644ZM90.4034 47.939C91.2847 46.948 92.1365 45.9496 92.9629 44.9469L92.1912 44.3109C91.3721 45.3048 90.5284 46.2936 89.6562 47.2745L90.4034 47.939ZM96.0177 41.085C96.8199 40.0318 97.6002 38.9781 98.3631 37.9277L97.554 37.34C96.7947 38.3854 96.019 39.4329 95.2222 40.4791L96.0177 41.085ZM101.208 33.9302C101.966 32.8493 102.711 31.7759 103.449 30.7156L102.628 30.1443C101.89 31.2057 101.145 32.2771 100.389 33.3564L101.208 33.9302ZM106.266 26.7027C107.031 25.6287 107.796 24.5742 108.566 23.5432L107.765 22.9447C106.989 23.9832 106.22 25.0441 105.452 26.1224L106.266 26.7027ZM111.571 19.7027C112.407 18.6903 113.257 17.7107 114.129 16.769L113.395 16.0896C112.508 17.0471 111.646 18.0412 110.8 19.0661L111.571 19.7027ZM117.581 13.3646C118.547 12.5024 119.546 11.6873 120.585 10.9247L119.994 10.1186C118.927 10.9014 117.904 11.7367 116.915 12.6183L117.581 13.3646ZM124.659 8.33551C125.772 7.73181 126.932 7.18324 128.147 6.6949L127.774 5.76708C126.523 6.26994 125.328 6.83486 124.182 7.45643L124.659 8.33551ZM132.754 5.20886C133.964 4.90811 135.224 4.66009 136.54 4.46864L136.396 3.47906C135.048 3.67514 133.755 3.92946 132.513 4.23841L132.754 5.20886Z" fill="#AFAFAF"></path></svg><div class="sc-1h9xdkn-0 juHTQi sc-1677c9a-2 cTxAus"><svg width="64" height="64" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1h9xdkn-1 kBuGLM"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.3764 20.0279L18.1628 8.66544C18.6403 8.0527 18.8101 7.3443 18.6509 6.62299C18.513 5.96726 18.1097 5.34377 17.5049 4.87078L16.0299 3.69906C14.7459 2.67784 13.1541 2.78534 12.2415 3.95706L11.2546 5.23735C11.1273 5.39752 11.1591 5.63401 11.3183 5.76301C11.3183 5.76301 13.812 7.76246 13.8651 7.80546C14.0349 7.96671 14.1622 8.1817 14.1941 8.43969C14.2471 8.94493 13.8969 9.41792 13.377 9.48242C13.1329 9.51467 12.8994 9.43942 12.7297 9.29967L10.1086 7.21422C9.98126 7.11855 9.79025 7.13898 9.68413 7.26797L3.45514 15.3303C3.0519 15.8355 2.91395 16.4912 3.0519 17.1255L3.84777 20.5761C3.89021 20.7589 4.04939 20.8879 4.24039 20.8879L7.74222 20.8449C8.37891 20.8341 8.97316 20.5439 9.3764 20.0279ZM14.2797 18.9533H19.9898C20.5469 18.9533 21 19.4123 21 19.9766C21 20.5421 20.5469 21 19.9898 21H14.2797C13.7226 21 13.2695 20.5421 13.2695 19.9766C13.2695 19.4123 13.7226 18.9533 14.2797 18.9533Z" fill="url(#99e287cbba6a34365f2db775)"></path><defs><defs><linearGradient id="99e287cbba6a34365f2db775" x1="12.498" y1="23.4588" x2="53.6941" y2="30.4756" gradientUnits="userSpaceOnUse" gradientTransform="scale(0.375)"><stop stop-color="#387C17"></stop><stop offset="1" stop-color="#1B5300"></stop></linearGradient></defs></defs></svg><div class="sc-1x9oq14-0 sc-1h9xdkn-2 doSDez gCsdwr"><p class="p1"><span style="font-weight: 400;">Ментор проверяет ДЗ в личном кабинете, даёт развернутую обратную связь</span></p></div></div><svg class="sc-5xzjrr-0 jVUIsL sc-wsxv7u-0 bjdMrl sc-1677c9a-6 cUuMwI" viewBox="0 0 159 161" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.91992 1.00244C1.91992 0.726294 1.69606 0.502437 1.41992 0.502437C1.14378 0.502437 0.919922 0.726294 0.919922 1.00244H1.91992ZM80.4997 80.9997L80.0025 81.0521L80.4997 80.9997ZM158.579 157L153.095 155.191L154.271 160.844L158.579 157ZM0.919922 1.00244C1.0635 1.3531 1.43355 1.50225 1.4553 1.50118C1.4625 1.50062 1.47325 1.49959 1.47682 1.49919C1.48234 1.49856 1.48668 1.49796 1.48745 1.49786C1.4902 1.49748 1.49242 1.49716 1.49289 1.49709C1.49441 1.49687 1.49587 1.49665 1.49656 1.49654C1.4981 1.49631 1.50068 1.49592 1.50299 1.49557C1.50813 1.49479 1.51579 1.49363 1.52601 1.49211C1.54647 1.48908 1.57752 1.48453 1.61892 1.47871C1.70175 1.46707 1.82622 1.45026 1.99028 1.43008C2.31843 1.38972 2.80503 1.33584 3.43374 1.28272L3.34955 0.286273C2.70747 0.340522 2.20821 0.395737 1.8682 0.43756C1.69818 0.458473 1.56799 0.476036 1.47968 0.488454C1.43551 0.494665 1.40188 0.49958 1.37903 0.502975C1.3676 0.504673 1.35896 0.505977 1.35322 0.506848C1.35009 0.507322 1.34857 0.507552 1.34739 0.507731C1.34671 0.507834 1.34715 0.507766 1.34798 0.507644C1.34811 0.507626 1.35007 0.507336 1.35265 0.506986C1.35333 0.506892 1.35761 0.506305 1.36309 0.505678C1.36663 0.505285 1.37737 0.504251 1.38456 0.503689C1.4063 0.502623 1.77635 0.651777 1.91992 1.00244H0.919922ZM8.4174 1.08595C9.62968 1.08684 10.9749 1.12095 12.4315 1.20694L12.4904 0.208679C11.0132 0.121469 9.64858 0.0868514 8.41813 0.0859552L8.4174 1.08595ZM17.3925 1.67475C18.6587 1.83896 19.9759 2.04439 21.3349 2.2992L21.5191 1.31632C20.1409 1.0579 18.805 0.849565 17.5211 0.683053L17.3925 1.67475ZM26.2041 3.39427C27.462 3.72545 28.7433 4.10128 30.0418 4.52715L30.3535 3.57695C29.0353 3.14467 27.735 2.76326 26.4587 2.42722L26.2041 3.39427ZM34.7127 6.25759C35.9181 6.75743 37.1317 7.30354 38.3488 7.89994L38.7888 7.00195C37.5524 6.39612 36.3198 5.84145 35.0957 5.33386L34.7127 6.25759ZM42.7362 10.27C43.8604 10.9365 44.9831 11.6499 46.1005 12.4134L46.6646 11.5877C45.5292 10.8119 44.3885 10.0871 43.2462 9.40982L42.7362 10.27ZM50.1054 15.3917C51.121 16.2121 52.1286 17.0784 53.1254 17.9931L53.8015 17.2564C52.7892 16.3273 51.7656 15.4472 50.7337 14.6138L50.1054 15.3917ZM56.6687 21.5071C57.5588 22.4602 58.437 23.457 59.3009 24.4994L60.0708 23.8614C59.1944 22.8037 58.3032 21.7921 57.3995 20.8245L56.6687 21.5071ZM62.345 28.4525C63.1057 29.5155 63.852 30.6192 64.5823 31.7652L65.4256 31.2278C64.6858 30.0668 63.9294 28.9483 63.1582 27.8706L62.345 28.4525ZM67.1332 36.0656C67.7672 37.2147 68.3859 38.4011 68.9879 39.6261L69.8854 39.1851C69.2765 37.9461 68.6505 36.7456 68.0088 35.5825L67.1332 36.0656ZM71.0593 44.1546C71.5699 45.3555 72.0653 46.5896 72.5444 47.8577L73.4798 47.5043C72.996 46.2236 72.4956 44.9769 71.9796 43.7634L71.0593 44.1546ZM74.2058 52.5977C74.6091 53.8408 74.9976 55.1137 75.3705 56.417L76.3319 56.142C75.9558 54.8276 75.5639 53.5435 75.157 52.2891L74.2058 52.5977ZM76.6447 61.2435C76.9587 62.5372 77.2581 63.8585 77.5423 65.208L78.5208 65.002C78.2346 63.6426 77.9329 62.3114 77.6165 61.0076L76.6447 61.2435ZM78.478 70.0727C78.7056 71.3753 78.9196 72.7023 79.1195 74.0542L80.1087 73.9079C79.9076 72.5475 79.6922 71.2119 79.4631 69.9006L78.478 70.0727ZM79.7752 79.0093C79.8543 79.6844 79.9301 80.3653 80.0025 81.0521L80.997 80.9473C80.9242 80.2567 80.848 79.5719 80.7684 78.8929L79.7752 79.0093ZM80.0025 81.0521C80.0759 81.7492 80.1559 82.4417 80.2422 83.1296L81.2345 83.005C81.1489 82.3237 81.0697 81.6378 80.997 80.9473L80.0025 81.0521ZM81.0172 88.2552C81.261 89.6296 81.5307 90.9843 81.8253 92.3191L82.8018 92.1036C82.5102 90.7824 82.2432 89.4413 82.0019 88.0806L81.0172 88.2552ZM83.0779 97.3529C83.4512 98.6975 83.8502 100.02 84.2736 101.321L85.2245 101.012C84.8056 99.7247 84.4109 98.4159 84.0415 97.0854L83.0779 97.3529ZM86.017 106.21C86.5224 107.511 87.0527 108.788 87.6063 110.041L88.521 109.636C87.9735 108.397 87.449 107.135 86.9491 105.848L86.017 106.21ZM89.8408 114.727C90.4777 115.969 91.1378 117.185 91.8197 118.374L92.6872 117.877C92.0131 116.701 91.3604 115.499 90.7307 114.271L89.8408 114.727ZM94.5326 122.801C95.2968 123.969 96.0821 125.109 96.8867 126.22L97.6967 125.633C96.9013 124.535 96.1249 123.408 95.3695 122.253L94.5326 122.801ZM100.054 130.331C100.939 131.411 101.842 132.46 102.761 133.478L103.503 132.808C102.595 131.802 101.702 130.764 100.828 129.697L100.054 130.331ZM106.349 137.22C107.346 138.198 108.358 139.143 109.382 140.054L110.046 139.307C109.035 138.407 108.035 137.473 107.05 136.506L106.349 137.22ZM113.369 143.388C114.471 144.252 115.582 145.079 116.701 145.868L117.278 145.051C116.173 144.271 115.075 143.454 113.986 142.601L113.369 143.388ZM121.035 148.721C122.23 149.453 123.429 150.144 124.63 150.793L125.106 149.913C123.921 149.273 122.737 148.591 121.557 147.869L121.035 148.721ZM129.294 153.105C130.578 153.685 131.858 154.217 133.131 154.701L133.487 153.766C132.233 153.289 130.971 152.765 129.706 152.194L129.294 153.105ZM138.067 156.349C139.43 156.741 140.778 157.075 142.107 157.352L142.311 156.373C141.007 156.102 139.683 155.773 138.343 155.388L138.067 156.349ZM147.262 158.147C148.685 158.286 150.075 158.352 151.426 158.344L151.42 157.344C150.106 157.352 148.75 157.288 147.359 157.152L147.262 158.147Z" fill="#AFAFAF"></path></svg><div class="sc-1h9xdkn-0 juHTQi sc-1677c9a-3 bnxxnP"><svg width="64" height="64" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1h9xdkn-1 kBuGLM"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12.015C2 6.74712 6.21 2 12.02 2C17.7 2 22 6.65699 22 11.985C22 18.1642 16.96 22 12 22C10.36 22 8.54 21.5593 7.08 20.698C6.57 20.3876 6.14 20.1572 5.59 20.3375L3.57 20.9384C3.06 21.0986 2.6 20.698 2.75 20.1572L3.42 17.9139C3.53 17.6034 3.51 17.2729 3.35 17.0125C2.49 15.4301 2 13.6975 2 12.015ZM10.7 12.015C10.7 12.7261 11.27 13.2969 11.98 13.307C12.69 13.307 13.26 12.7261 13.26 12.025C13.26 11.314 12.69 10.7431 11.98 10.7431C11.28 10.7331 10.7 11.314 10.7 12.015ZM15.31 12.025C15.31 12.7261 15.88 13.307 16.59 13.307C17.3 13.307 17.87 12.7261 17.87 12.025C17.87 11.314 17.3 10.7431 16.59 10.7431C15.88 10.7431 15.31 11.314 15.31 12.025ZM7.37 13.307C6.67 13.307 6.09 12.7261 6.09 12.025C6.09 11.314 6.66 10.7431 7.37 10.7431C8.08 10.7431 8.65 11.314 8.65 12.025C8.65 12.7261 8.08 13.2969 7.37 13.307Z" fill="url(#3f5f399855706d75e430e230)"></path><defs><linearGradient id="3f5f399855706d75e430e230" x1="10.0102" y1="22.5097" x2="55.7836" y2="30.3061" gradientUnits="userSpaceOnUse" gradientTransform="scale(0.375)"><stop stop-color="#387C17"></stop><stop offset="1" stop-color="#1B5300"></stop></linearGradient></defs></svg><div class="sc-1x9oq14-0 sc-1h9xdkn-2 doSDez gCsdwr"><p class="p1"><span style="font-weight: 400;">На занятии ментор отвечает на частые вопросы, подробно разбирает работы студентов, объясняет каждый этап выполнения ДЗ</span></p></div></div><svg class="sc-wmpkf4-0 beOhMh sc-wsxv7u-0 bjdMrl sc-1677c9a-7 hrwckc" width="156" height="115" viewBox="0 0 156 115" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.693222 113.5C0.417309 113.489 0.184517 113.704 0.173267 113.98C0.162016 114.256 0.376568 114.488 0.652481 114.5L0.693222 113.5ZM72.7456 48.9965L73.2403 49.0687L72.7456 48.9965ZM155.829 4.99791L152.213 0.497086L150.124 5.8791L155.829 4.99791ZM0.652481 114.5C1.35519 114.528 2.0512 114.553 2.74058 114.573L2.76963 113.573C2.08424 113.553 1.39212 113.529 0.693222 113.5L0.652481 114.5ZM7.90223 114.641C9.30912 114.636 10.6864 114.611 12.0347 114.566L12.0011 113.567C10.6633 113.612 9.29611 113.636 7.89881 113.641L7.90223 114.641ZM17.184 114.282C18.5889 114.172 19.9597 114.038 21.2973 113.877L21.1783 112.884C19.855 113.043 18.498 113.176 17.1062 113.285L17.184 114.282ZM26.4328 113.105C27.8236 112.851 29.175 112.565 30.4882 112.245L30.252 111.274C28.9583 111.588 27.6258 111.871 26.253 112.122L26.4328 113.105ZM35.4693 110.817C36.8108 110.368 38.1077 109.88 39.3616 109.349L38.9721 108.428C37.7429 108.948 36.4703 109.428 35.1523 109.868L35.4693 110.817ZM44.0318 107.074C45.2575 106.39 46.436 105.658 47.5695 104.877L47.0022 104.054C45.8951 104.816 44.7433 105.532 43.5447 106.2L44.0318 107.074ZM51.6669 101.67C52.7037 100.752 53.6964 99.7818 54.647 98.7605L53.915 98.0792C52.9859 99.0774 52.0161 100.025 51.0036 100.922L51.6669 101.67ZM57.9656 94.7602C58.7802 93.66 59.5586 92.512 60.3028 91.3159L59.4537 90.7876C58.7232 91.9619 57.9599 93.0875 57.1619 94.1651L57.9656 94.7602ZM62.8398 86.7957C63.4542 85.5826 64.0414 84.3278 64.603 83.0308L63.6853 82.6335C63.1312 83.913 62.5525 85.1496 61.9477 86.3439L62.8398 86.7957ZM66.5 78.2269C66.9582 76.9539 67.3968 75.6455 67.817 74.3013L66.8626 74.003C66.4464 75.3344 66.0123 76.6294 65.5591 77.8882L66.5 78.2269ZM69.2483 69.322C69.5932 68.0162 69.9241 66.6801 70.2416 65.3135L69.2676 65.0872C68.9521 66.4446 68.6237 67.771 68.2815 69.0666L69.2483 69.322ZM71.3265 60.2754C71.591 58.949 71.8451 57.5964 72.0897 56.2173L71.1051 56.0427C70.8617 57.4152 70.6088 58.7608 70.3458 60.0798L71.3265 60.2754ZM72.9313 51.1287C73.0362 50.448 73.1392 49.7613 73.2403 49.0687L72.2508 48.9242C72.1501 49.6143 72.0475 50.2983 71.943 50.9763L72.9313 51.1287ZM73.2403 49.0687C73.3341 48.4265 73.4416 47.7907 73.5624 47.1615L72.5803 46.9729C72.4567 47.6168 72.3467 48.2672 72.2508 48.9242L73.2403 49.0687ZM74.7309 42.5054C75.1154 41.2724 75.5528 40.0671 76.0399 38.8897L75.1158 38.5074C74.6175 39.7122 74.1698 40.9457 73.7762 42.2077L74.7309 42.5054ZM78.1212 34.5524C78.7393 33.4259 79.4046 32.3281 80.1135 31.2592L79.2801 30.7065C78.5562 31.798 77.8764 32.9197 77.2445 34.0714L78.1212 34.5524ZM82.9716 27.3842C83.7822 26.3904 84.6319 25.4255 85.5172 24.4896L84.7908 23.8024C83.8891 24.7555 83.0232 25.7388 82.1967 26.7522L82.9716 27.3842ZM88.9786 21.1336C89.9367 20.2796 90.9255 19.4543 91.9414 18.6578L91.3245 17.8708C90.2924 18.6799 89.2875 19.5187 88.3132 20.3871L88.9786 21.1336ZM95.8504 15.8212C96.9178 15.1041 98.0077 14.4154 99.1168 13.7553L98.6054 12.896C97.481 13.5651 96.3757 14.2636 95.2927 14.9911L95.8504 15.8212ZM103.349 11.42C104.497 10.8331 105.661 10.2749 106.836 9.74551L106.425 8.83375C105.235 9.36975 104.057 9.93503 102.894 10.5295L103.349 11.42ZM111.302 7.89132C112.512 7.43037 113.729 6.99891 114.95 6.59706L114.638 5.64715C113.402 6.05377 112.17 6.49038 110.946 6.95688L111.302 7.89132ZM119.588 5.21727C120.843 4.88284 122.098 4.5796 123.349 4.30768L123.136 3.3305C121.87 3.60571 120.6 3.91259 119.33 4.25099L119.588 5.21727ZM128.103 3.42133C129.393 3.22091 130.674 3.05482 131.941 2.92319L131.838 1.92854C130.553 2.06195 129.256 2.23022 127.949 2.43318L128.103 3.42133ZM136.754 2.58662C138.066 2.54076 139.357 2.53457 140.621 2.56813L140.648 1.56849C139.362 1.53435 138.051 1.54069 136.719 1.58723L136.754 2.58662ZM145.426 2.90338C146.739 3.05574 148.011 3.25695 149.234 3.50703L149.435 2.52728C148.181 2.27108 146.881 2.06549 145.542 1.91004L145.426 2.90338Z" fill="#AFAFAF"></path></svg><div class="sc-1h9xdkn-0 juHTQi sc-1677c9a-4 keDGUJ"><svg width="64" height="64" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1h9xdkn-1 kBuGLM"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.9394 3C18.2804 3 19.5704 3.53 20.5194 4.481C21.4694 5.43 22.0004 6.71 22.0004 8.05V15.95C22.0004 18.74 19.7304 21 16.9394 21H7.06037C4.26937 21 2.00037 18.74 2.00037 15.95V8.05C2.00037 5.26 4.25937 3 7.06037 3H16.9394ZM18.5304 9.54L18.6104 9.46C18.8494 9.17 18.8494 8.75 18.5994 8.46C18.4604 8.311 18.2694 8.22 18.0704 8.2C17.8604 8.189 17.6604 8.26 17.5094 8.4L13.0004 12C12.4204 12.481 11.5894 12.481 11.0004 12L6.50037 8.4C6.18937 8.17 5.75937 8.2 5.50037 8.47C5.23037 8.74 5.20037 9.17 5.42937 9.47L5.56037 9.6L10.1104 13.15C10.6704 13.59 11.3494 13.83 12.0604 13.83C12.7694 13.83 13.4604 13.59 14.0194 13.15L18.5304 9.54Z" fill="url(#a7631588359d33f1b3d90b51)"></path><defs><linearGradient id="a7631588359d33f1b3d90b51" x1="10.0102" y1="22.5097" x2="55.7836" y2="30.3061" gradientUnits="userSpaceOnUse" gradientTransform="scale(0.375)"><stop stop-color="#387C17"></stop><stop offset="1" stop-color="#1B5300"></stop></linearGradient></defs></svg><div class="sc-1x9oq14-0 sc-1h9xdkn-2 doSDez gCsdwr"><p class="p1"><span style="font-weight: 400;">Вы можете проконсультироваться с ментором в телеграм-чате. Ментор расскажет об итогах проверки, объяснит непонятные детали</span></p></div></div></div></div><div class="sc-x072mc-0 sc-1am6qh7-0 hOtCic cmpQoV"><div class="sc-1am6qh7-1 bmcDgO"><h2 class="sc-1x9oq14-0 sc-1am6qh7-2 kswXpy jZdzTX">Программа</h2><div class="sc-13zj6y4-0 gLLnVc"><div class="sc-szltk9-0 gEDvkw"><h3 class="sc-1x9oq14-0 jmLQpp">1 ступень</h3><div class="sc-szltk9-1 lcwzlf"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-szltk9-2 fqhQVY"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div></div><div style="height:0" class="sc-13zj6y4-2 gavUyr"><div><div class="sc-12j3cf5-0 kOagS"><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Основы Python</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Цель: знакомство с базовыми структурами данных и операторами Python. Азы работы с shell и git.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Введение в курс. Подготовка к работе</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Базовые типы данных</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Управление потоком</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Коллекции</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Функции/ Часть 1</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Функции. Часть 2 (Декораторы) </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Работа с файлами // ДЗ</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Продвинутый Python</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Знакомство с ООП в Python.
Применение всех основных принципов ООП,
знакомство с датаклассами.
Разделение на модули.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Основы ООП</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Продвинутый ООП. Продолжение </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Продвинутый ООП. Исключения</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Модули //ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Знакомство со встроенной библиотекой </p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Тесты // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Практика</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Взаимодействие с внешним миром. Создание простейшего API. Сборка проекта</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Основы работы с файлами (локально) и сетью (HTTP). Создание API</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Расширенные возможности встроенной библиотеки Python</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Работа с HTTP и API</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Как работает сервер: HTTP-запросы, HttpClient, Proxy</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Основы фронтенда</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Базовый фронтенд</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: FastAPI — быстрая разработка API: знакомство</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: FastAPI — быстрая разработка API: тело и роутеры//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Системы контроля зависимостей</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Docker//ДЗ</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Работа с базами данных, асинхронное программирование</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Знакомство с асинхронным программированием.
Знакомство с базами данных: PostgreSQL, Mongo DB, Redis.
Знакомство с ORM, асинхронная работа с БД.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Хранение данных в реляционных БД. Язык SQL</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Групповая менторская консультация №2</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: ORM: SQLAlchemy</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: SQLAlchemy: связи между таблицами в БД</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Миграции схем: alembic</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Сложные связи в БД</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Знакомство с асинхронным программированием в Python</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Асинхронная работа с API</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Асинхронная работа с БД и подключение API // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: Асинхронная работа API с БД</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Взаимодействие приложений между контейнерами, docker compose//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 12: Групповая менторская консультация №3</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Веб-разработка на Django</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Знакомство с Django, Django ORM, Generics.
Тестирование веб-приложений, фабрики.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Знакомство с Django</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Django ORM// ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Шаблоны (Templates)</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Работа с админкой, кастомные команды</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Групповая менторская консультация №4</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Формы в Django // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: Class-Based Views (CBV)</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Кастомный пользователь и личный кабинет</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Тестирование Django-приложений с Pytest//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: Django и отложенные задачи с Celery и Redis//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Выбор темы и организация проектной работы</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 12: Групповая менторская консультация №5</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">DevOps</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Автоматизация тестирования и деплоя.
Знакомство с GitHub Actions, GitLab CI/CD</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: GitHub Actions//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: GitLab CI//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: GitLab CD</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Групповая менторская консультация №6</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Проектная работа</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Консультация по проектам и домашним заданиям</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Защита проектных работ</p></div></div></div></div></div></div></div></div><div class="sc-13zj6y4-0 gLLnVc"><div class="sc-szltk9-0 gEDvkw"><h3 class="sc-1x9oq14-0 jmLQpp">2 ступень</h3><div class="sc-szltk9-1 lcwzlf"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-szltk9-2 fqhQVY"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div></div><div style="height:0" class="sc-13zj6y4-2 gavUyr"><div><div class="sc-12j3cf5-0 kOagS"><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">База</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте "экосистемы" Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости.
В модуле рассматриваются аспекты функционального, процедурного и ОО программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Структура проекта, управление зависимостями, настройка окружения: обзор и лучшие практики//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Дистрибуция кода и развертывание: путь от лэпота до кластера</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Аннотации типов: уровень nightmare! //ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Внутренности: байткод, его исполнение и виртуальная машина</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Внутренности: устройство основных типов, управление памятью и GIL</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: ООП: Объектная модель и особенности ООП в Python//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: ООП: Дескрипторы и метапрограммирование</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Тестирование: pytest и как писать тесты//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Тестирование: (анти)паттерны и инструменты</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: Дизайн кода и архитектура: абстракции, модульность, SOLID</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Дизайн кода и архитектура: domain driven design, чистая архитектура//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 12: Дизайн кода и архитектура: event driven архитектура, микросервисы</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 13: Дизайн кода и архитектура: паттерны проектирования</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Web-программирование</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Этот модуль посвящен веб-разработке, тому, какой она выглядит со стороны Python программиста и какими особенностями обладает.
Целью является рассмотрение нюансов и лучших практик по созданию и эксплуатации веб-сервисов с использованием фреймворка Django. В модуле рассматривается сам Django, внутреннее устройство ORM и других его составляющих, обсуждаются особенности построения REST API, масштабирования веб-проектов.
</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Сетевое взаимодействие и архитектура web-серверов//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Создание динамических страниц: от CGI до ASGI</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: MVC/MVT фреймворки на примере Django//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: ORM: хорошее, плохое и злое</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Работа с БД: транзакции, репликация, шардирование и даже NoSQL</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: API: что такое настоящий REST и как создавать RESTful приложения</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: FastAPI: основы //ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: FastAPI: взаимодействие с БД и SQLAlchemy</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Аутентификация и авторизация//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: API: (g)RPC, GraphQL</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Безопасность: обзор распространенных проблем, уязвимостей и лучших практик</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB"> ML Engineering</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Этот модуль посвящен знакомству с фундаментальными библиотеками, применяемыми для анализа данных. Python является де-факто стандартом при решении аналитических задач, поэтому данный аспект языка нельзя обойти стороной. При этом, целью модуля является не погружение в математические дебри, а рассмотрение таких инструментов как jupyter, numpy, pandas и matplotlib и области их применения в инженерной и аналитической деятельности.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Высокопроизводительные вычисления с NumPy//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Исследовательский анализ данных c Pandas</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Инструменты работы с данными: IPython, matplotlib, seaborn</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Оркестрация задач: jenkins, luigi, airflow</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Нейронки: PyTorch, TensorFlow, HuggingFace и LLM//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: Обзор big data экосистемы: хранение и обработка данных, обучение и inference, model serving</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Highload</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Этот модуль посвящен высокопроизводительным вычислениям на Python. В модуле рассматриваются особенности конкурентного и асинхронного программирования и то, как на это влияет устройство виртуальной машины языка. Так же внимание уделяется превратностям написания расширений на С и вопросам профилирования кода. В качестве бонуса происходит знакомство с языком Go, который часто используется Python программистами для решения performance-critical задач.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Профилирование производительности</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Concurrency: многопоточное программирование и примитивы синхронизации//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Concurrency: процессы и межпроцессное взаимодействие (IPC)</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Ускорение с помощью C: расширения</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 5: Ускорение с помощью C: Cython, Pypy и FFI</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 6: asyncio: происхождение и основы//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 7: asyncio: event loop, внутренности async/await, низко- и высокоуровневое API</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: asyncio: инструменты и лучшие практики</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Golang: зачем он Python разработчику + тур по языку//ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: Golang: горутины, планировщик, конкурентная обработка</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Обзор новинок и изменений из свежих версий Python</p></div></div></div></div><div class="sc-li015i-2 kETOUP sc-yxq6ju-1 bTvRzO" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Проектная работа</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS"><p class="sc-1x9oq14-0 sc-12j3cf5-1 doSDez jTjgBj">Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания проекта можно получить консультации преподавателей.
Примеры тем проекта:
- система мониторинга ПК в корпоративной сети
- свой ORM
- web приложение по поиску групп с целевой аудиторией в ВК
- исследование dataset’а с визуализацией</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Выбор темы и организация проектной работы</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Консультация по проектам и домашним заданиям</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Защита проектных работ</p></div></div></div></div></div></div></div></div></div><div class="sc-hqry8z-0 bwvRzq"><h5 class="sc-1x9oq14-0 sc-hqry8z-1 fPZiIk byqrft">Также вы можете получить полную программу,
чтобы убедиться, что обучение вам подходит</h5><button class="sc-1qig7zt-0 bYRRHi sc-hqry8z-2 ipIyzP">Получить</button></div></div><div class="sc-x072mc-0 sc-130tum6-0 hOtCic jjMVIs"><div class="sc-1x9oq14-0 sc-130tum6-1 fPZiIk leLsGR"><h2>Проектная работа</h2>
<p> </p>
<p style="font-size: 20px;"><span style="font-weight: 400;">Вы выполните 2 больших проекта: по одному на каждую ступень обучения. <br>Разработайте архитектуру приложения, опишите задачи, которые это приложение будет выполнять, реализуйте основную функциональность. Создайте проект для веб-разработки, для интеграции с сервисами или для data science. </span> <br><br><strong>Примеры итоговых проектов студентов: </strong></p>
<ul>
<li style="font-size: 20px;"><span style="font-weight: 400;">Система мониторинга ПК в корпоративной сети </span></li>
<li style="font-size: 20px;"><span style="font-weight: 400;">Свой ORM </span></li>
<li style="font-size: 20px;"><span style="font-weight: 400;">Веб-приложение по поиску групп с целевой аудиторией в ВК</span></li>
<li style="font-size: 20px;"><span style="font-weight: 400;">Исследование датасета с визуализацией</span></li>
</ul></div><svg viewBox="0 0 512 460" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-wqbts8-0 coDgWq"><path d="M245.655 442C367.71 442 466.655 343.055 466.655 221C466.655 98.9451 367.71 0 245.655 0C123.6 0 24.6548 98.9451 24.6548 221C24.6548 343.055 123.6 442 245.655 442Z" fill="url(#GraduationProjects0)"></path><path d="M339.351 330.984C408.966 330.984 465.399 274.623 465.399 205.097C465.399 135.571 408.966 79.2095 339.351 79.2095C269.737 79.2095 213.304 135.571 213.304 205.097C213.304 274.623 269.737 330.984 339.351 330.984Z" fill="url(#GraduationProjects1)"></path><path d="M190.363 320.725C201.556 273.813 172.551 226.722 125.58 215.544C78.6085 204.366 31.4575 233.333 20.2651 280.245C9.07273 327.157 38.0773 374.248 85.0486 385.426C132.02 396.604 179.171 367.636 190.363 320.725Z" fill="url(#GraduationProjects1)"></path><path d="M396.694 335.224V363.622C396.694 377.186 385.671 388.63 371.68 388.63H115.172C101.604 388.63 90.1567 377.61 90.1567 363.622V335.224H396.694Z" fill="white"></path><path d="M396.694 335.224V363.622C396.694 377.186 385.671 388.63 371.68 388.63H115.172C101.604 388.63 90.1567 377.61 90.1567 363.622V335.224H396.694Z" fill="url(#GraduationProjects2)"></path><path d="M371.679 391.595H115.171C99.4834 391.595 87.188 378.879 87.188 363.62V335.221C87.188 333.526 88.4599 331.83 90.5798 331.83H396.693C398.389 331.83 400.085 333.102 400.085 335.221V363.62C399.661 378.879 387.366 391.595 371.679 391.595ZM93.5477 338.612V363.62C93.5477 375.488 103.299 385.237 115.171 385.237H371.679C383.55 385.237 393.302 375.488 393.302 363.62V338.612H93.5477Z" fill="url(#GraduationProjects1)"></path><path d="M397.456 188.138V335.218H90.583V188.138C90.583 174.574 101.619 163.13 115.625 163.13H372.414C385.996 163.13 397.456 174.574 397.456 188.138Z" fill="white"></path><path d="M397.842 338.612H90.5835C88.3095 338.612 87.188 337.34 87.188 335.221V188.14C87.188 172.457 99.9213 160.165 115.201 160.165H371.99C387.694 160.165 400.003 172.881 400.003 188.14L400.085 336.348C400.085 337.468 398.964 338.612 397.842 338.612ZM93.9791 332.254H394.061V188.14C394.061 176.272 384.298 166.523 372.414 166.523H115.626C103.741 166.523 93.9791 176.272 93.9791 188.14V332.254Z" fill="url(#GraduationProjects1)"></path><path d="M57.122 177.118C53.7268 177.118 50.756 174.575 50.756 171.184C50.756 169.065 49.0584 167.369 46.9364 167.369C44.8144 167.369 43.1167 169.065 43.1167 171.184C43.1167 174.575 40.5703 177.118 37.1751 177.118C35.0531 177.118 33.3555 178.814 33.3555 180.933C33.3555 183.052 35.0531 184.748 37.1751 184.748C40.5703 184.748 43.1167 187.291 43.1167 190.682C43.1167 192.801 44.8144 194.497 46.9364 194.497C49.0584 194.497 50.756 192.801 50.756 190.682C50.756 187.291 53.3024 184.748 56.6976 184.748C58.8197 184.748 60.5173 183.052 60.5173 180.933C60.9417 178.814 59.2441 177.118 57.122 177.118Z" fill="url(#GraduationProjects1)"></path><path d="M494.257 351.754C490.862 351.754 487.891 349.211 487.891 345.82C487.891 343.7 486.194 342.005 484.072 342.005C481.95 342.005 480.252 343.7 480.252 345.82C480.252 349.211 477.706 351.754 474.31 351.754C472.188 351.754 470.491 353.449 470.491 355.569C470.491 357.688 472.188 359.383 474.31 359.383C477.706 359.383 480.252 361.926 480.252 365.317C480.252 367.437 481.95 369.132 484.072 369.132C486.194 369.132 487.891 367.437 487.891 365.317C487.891 361.926 490.438 359.383 493.833 359.383C495.955 359.383 497.653 357.688 497.653 355.569C497.653 353.449 495.955 351.754 494.257 351.754Z" fill="url(#GraduationProjects1)"></path><path d="M79.6176 149.566C83.3679 149.566 86.4081 146.53 86.4081 142.784C86.4081 139.039 83.3679 136.002 79.6176 136.002C75.8673 136.002 72.8271 139.039 72.8271 142.784C72.8271 146.53 75.8673 149.566 79.6176 149.566Z" fill="url(#GraduationProjects1)"></path><path d="M71.5515 92.7706C65.6098 92.7706 60.9414 88.1081 60.9414 82.174C60.9414 76.2399 65.6098 71.5774 71.5515 71.5774C77.4931 71.5774 82.1616 76.2399 82.1616 82.174C82.1616 88.1081 77.4931 92.7706 71.5515 92.7706ZM71.5515 78.3592C69.4295 78.3592 67.3075 80.0547 67.3075 82.5978C67.3075 85.141 69.0051 86.8365 71.5515 86.8365C73.6735 86.8365 75.7955 85.141 75.7955 82.5978C75.7955 80.0547 73.6735 78.3592 71.5515 78.3592Z" fill="url(#GraduationProjects1)"></path><path d="M431.446 391.597C435.196 391.597 438.237 388.561 438.237 384.815C438.237 381.07 435.196 378.033 431.446 378.033C427.696 378.033 424.656 381.07 424.656 384.815C424.656 388.561 427.696 391.597 431.446 391.597Z" fill="url(#GraduationProjects1)"></path><path d="M463.278 317.841C457.336 317.841 452.668 313.178 452.668 307.244C452.668 301.31 457.336 296.648 463.278 296.648C469.22 296.648 473.888 301.31 473.888 307.244C473.888 313.178 469.22 317.841 463.278 317.841ZM463.278 303.43C461.156 303.43 459.034 305.125 459.034 307.668C459.034 310.211 460.732 311.907 463.278 311.907C465.4 311.907 467.522 310.211 467.522 307.668C467.522 305.125 465.824 303.43 463.278 303.43Z" fill="url(#GraduationProjects1)"></path><path d="M305.398 426.355L299.881 423.812C285.875 417.454 279.085 403.89 279.085 388.207H212.454C212.454 403.466 206.088 417.454 191.658 423.812L186.141 426.355H305.398Z" fill="url(#GraduationProjects1)"></path><path d="M305.399 429.319H186.142C184.444 429.319 183.171 428.472 183.171 426.776C182.747 425.505 183.595 423.809 184.869 423.385L190.386 420.842C202.269 415.756 209.06 403.888 209.06 388.205C209.06 386.509 210.333 384.814 212.455 384.814H279.51C281.208 384.814 282.906 386.085 282.906 388.205C282.906 403.464 289.696 415.332 301.579 420.842L307.097 423.385C308.37 423.809 309.219 425.505 308.794 426.776C308.37 428.472 307.097 429.319 305.399 429.319ZM199.723 422.961H292.243C282.906 416.18 276.964 405.159 276.54 391.596H215.426C215.001 405.159 209.06 416.18 199.723 422.961Z" fill="url(#GraduationProjects1)"></path><path d="M85.1337 445.001H36.3274C34.6297 445.001 32.9321 443.73 32.9321 441.61C32.9321 439.915 34.2053 438.219 36.3274 438.219H85.1337C86.8313 438.219 88.5289 439.491 88.5289 441.61C88.5289 443.73 86.8313 445.001 85.1337 445.001Z" fill="url(#GraduationProjects1)"></path><path d="M450.121 445.001H431.872C430.174 445.001 428.477 443.73 428.477 441.61C428.477 439.915 429.75 438.219 431.872 438.219H450.121C451.819 438.219 453.516 439.491 453.516 441.61C453.092 443.73 451.819 445.001 450.121 445.001Z" fill="url(#GraduationProjects1)"></path><path d="M332.986 321.657H139.458C127.999 321.657 118.662 312.332 118.662 300.888V198.313C118.662 186.868 127.999 177.543 139.458 177.543H333.41C344.869 177.543 354.206 186.868 354.206 198.313V300.888C353.781 312.332 344.445 321.657 332.986 321.657ZM139.458 183.901C131.394 183.901 125.028 190.259 125.028 198.313V300.888C125.028 308.941 131.394 315.299 139.458 315.299H333.41C341.474 315.299 347.84 308.941 347.84 300.888V198.313C347.84 190.259 341.474 183.901 333.41 183.901H139.458Z" fill="url(#GraduationProjects1)"></path><path d="M139.458 183.901C131.394 183.901 125.028 190.259 125.028 198.313V300.888C125.028 308.941 131.394 315.299 139.458 315.299H333.41C341.474 315.299 347.84 308.941 347.84 300.888V198.313C347.84 190.259 341.474 183.901 333.41 183.901H139.458Z" fill="url(#GraduationProjects1)"></path><path d="M314.284 292.413H239.688C231.933 292.413 225.655 285.208 225.655 276.306V239.43C225.655 230.529 231.933 223.323 239.688 223.323H314.284C322.039 223.323 328.317 230.529 328.317 239.43V276.306C328.317 285.208 322.039 292.413 314.284 292.413ZM239.688 229.681C234.887 229.681 231.194 233.92 231.194 239.43V276.306C231.194 281.817 234.887 286.055 239.688 286.055H314.284C319.084 286.055 322.777 281.817 322.777 276.306V239.43C322.777 233.92 319.084 229.681 314.284 229.681H239.688Z" fill="white"></path><path d="M239.688 229.681C234.887 229.681 231.194 233.92 231.194 239.43V276.306C231.194 281.817 234.887 286.055 239.688 286.055H314.284C319.084 286.055 322.777 281.817 322.777 276.306V239.43C322.777 233.92 319.084 229.681 314.284 229.681H239.688Z" fill="white"></path><mask id="mask0" maskType="alpha" maskUnits="userSpaceOnUse" x="144" y="222" width="77" height="70"><rect x="144.655" y="222.999" width="76" height="69" rx="16" fill="#C4C4C4"></rect></mask><g mask="url(#mask0)"><rect x="144.655" y="222.813" width="76" height="70.3704" fill="white"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M154.589 291.24L148.034 296.924C148.034 296.924 150.758 273.834 170.151 253.646L167.852 255.265C167.699 254.186 167.58 252.702 167.58 251.2C167.58 247.726 168.533 244.505 170.185 241.789C170.185 241.789 171.513 242.228 172.994 242.076C172.994 242.076 171.155 241.907 170.1 241.267C168.193 240.086 167.818 236.73 167.818 236.73C169.044 238.686 172.262 237.978 174.05 237.387C176.774 235.144 180.196 233.829 183.908 233.829C187.398 233.829 191.11 234.959 194.106 237.337C195.877 237.927 199.163 238.686 200.389 236.696C200.389 236.696 199.981 240.12 198.108 241.317C196.729 242.211 195.435 242.245 195.435 242.245C196.66 242.346 197.937 241.874 197.937 241.874C199.964 245.584 200.815 250.627 199.521 257.12C199.282 258.301 198.295 261.033 197.324 263.327L199.317 259.616C200.866 264.339 202.586 281.947 183.448 293.399L183.355 293.454L183.239 293.523C181.858 294.342 180.448 295.179 179.362 296.367C179.311 296.426 179.26 296.481 179.209 296.536C179.157 296.59 179.106 296.645 179.055 296.704C178.204 297.682 178.408 299.116 179.379 299.858C179.532 299.976 179.719 300.094 179.924 300.162C183.193 301.46 187.994 304.378 183.005 309.286C183.005 309.286 184.776 304.901 181.626 304.193C181.626 304.193 182.478 306.992 180.179 308.898C180.179 308.898 180.741 305.896 178.766 303.957C178.119 303.323 177.176 303.287 176.134 303.247C174.872 303.198 173.465 303.144 172.262 302.017C171.428 301.224 170.713 299.926 170.202 297.733C170.1 297.311 169.248 293.871 169.248 293.871L169.401 296.654C166.541 296.789 163.034 296.671 159.628 296.333L160.871 293.213L151.967 307.33L154.589 291.24ZM187.313 247.827C187.313 250.268 189.463 252.246 192.114 252.246C194.766 252.246 196.916 250.268 196.916 247.827C196.916 245.387 194.766 243.409 192.114 243.409C189.463 243.409 187.313 245.387 187.313 247.827ZM189.407 247.827C189.407 249.197 190.619 250.307 192.114 250.307C193.61 250.307 194.822 249.197 194.822 247.827C194.822 247.276 194.625 246.766 194.292 246.355C194.267 246.79 193.873 247.136 193.391 247.136C192.893 247.136 192.489 246.766 192.489 246.309C192.489 245.942 192.752 245.63 193.114 245.523C192.805 245.41 192.468 245.348 192.114 245.348C190.619 245.348 189.407 246.458 189.407 247.827ZM176.587 252.246C173.935 252.246 171.785 250.268 171.785 247.827C171.785 245.387 173.935 243.409 176.587 243.409C179.238 243.409 181.388 245.387 181.388 247.827C181.388 250.268 179.238 252.246 176.587 252.246ZM176.587 250.307C175.091 250.307 173.879 249.197 173.879 247.827C173.879 246.458 175.091 245.348 176.587 245.348C176.94 245.348 177.278 245.41 177.588 245.523C177.232 245.631 176.978 245.943 176.978 246.309C176.978 246.765 177.387 247.136 177.881 247.136C178.358 247.136 178.741 246.804 178.765 246.355C179.097 246.767 179.294 247.276 179.294 247.827C179.294 249.197 178.082 250.307 176.587 250.307ZM184.368 250.205C188.403 250.172 184.35 257.002 184.35 257.002C184.35 257.002 180.298 250.189 184.333 250.205H184.368ZM180.537 260.46C180.128 260.494 179.907 260.527 179.907 260.527C179.907 260.527 180.111 260.477 180.537 260.308C180.628 260.293 180.731 260.278 180.843 260.261C180.981 260.241 181.134 260.218 181.303 260.19C181.353 260.187 181.405 260.184 181.458 260.181C181.728 260.164 182.031 260.145 182.358 260.173C183.159 260.224 184.129 260.426 185.134 260.898C185.193 260.932 185.257 260.962 185.321 260.991C185.385 261.021 185.449 261.05 185.508 261.084C185.568 261.118 185.632 261.156 185.696 261.193C185.759 261.231 185.823 261.269 185.883 261.303C185.934 261.354 186.002 261.387 186.07 261.421C186.104 261.446 186.134 261.468 186.164 261.489C186.194 261.51 186.223 261.531 186.257 261.556C186.317 261.598 186.381 261.645 186.445 261.691C186.509 261.737 186.572 261.784 186.632 261.826L186.99 262.13C187.018 262.154 187.047 262.178 187.077 262.202C187.172 262.28 187.269 262.36 187.347 262.45C187.568 262.669 187.807 262.905 187.994 263.175C188.42 263.698 188.743 264.305 189.033 264.946L189.051 264.994L189.078 265.068C189.185 265.351 189.297 265.648 189.356 265.958C189.373 266.051 189.394 266.139 189.416 266.228C189.437 266.316 189.458 266.405 189.475 266.498C189.483 266.576 189.495 266.657 189.507 266.741C189.52 266.838 189.534 266.938 189.543 267.037C189.561 267.122 189.578 267.206 189.578 267.307V267.594V268.167C189.546 268.339 189.529 268.524 189.513 268.698L189.509 268.741L189.475 269.028C189.475 269.093 189.461 269.151 189.447 269.211C189.439 269.244 189.43 269.278 189.424 269.314C189.407 269.407 189.386 269.504 189.365 269.601C189.343 269.698 189.322 269.795 189.305 269.888C189.284 270.014 189.243 270.134 189.202 270.252C189.178 270.322 189.154 270.392 189.135 270.461C189.084 270.664 189.016 270.849 188.948 271.035C188.879 271.22 188.794 271.406 188.709 271.591C188.045 273.059 187.041 274.442 185.849 275.673C184.657 276.904 183.295 278.017 181.865 279.029L180.758 279.754C180.588 279.872 180.4 279.99 180.213 280.108L179.651 280.446C179.277 280.665 178.902 280.884 178.51 281.103L177.387 281.711L176.263 282.318C176.027 282.43 175.797 282.548 175.57 282.664C175.42 282.741 175.271 282.818 175.122 282.891C174.583 283.171 174.034 283.432 173.496 283.689C173.287 283.789 173.08 283.888 172.875 283.988C171.444 284.672 170.028 285.278 168.691 285.85L168.55 285.91C168.136 286.081 167.727 286.245 167.324 286.407C167.049 286.518 166.777 286.627 166.507 286.737C166.207 286.851 165.91 286.962 165.618 287.071L165.617 287.072C165.264 287.204 164.918 287.333 164.583 287.462C164.308 287.557 164.04 287.656 163.779 287.753C163.44 287.877 163.112 287.998 162.795 288.103C162.51 288.197 162.228 288.291 161.954 288.383L161.949 288.385L161.948 288.385L161.947 288.386C161.684 288.474 161.427 288.56 161.178 288.642C160.278 288.94 159.483 289.172 158.794 289.372C158.702 289.399 158.611 289.426 158.522 289.452C157.826 289.656 157.263 289.801 156.873 289.902L156.872 289.902L156.871 289.902L156.785 289.924C156.393 290.025 156.172 290.076 156.172 290.076C156.172 290.076 156.972 289.739 158.369 289.132C158.686 288.993 159.032 288.838 159.406 288.67L159.407 288.669L159.408 288.669C159.855 288.467 160.343 288.248 160.871 288.018C161.633 287.682 162.481 287.291 163.39 286.873C163.619 286.767 163.853 286.66 164.089 286.551C164.668 286.281 165.281 285.995 165.911 285.691C166.23 285.537 166.554 285.379 166.882 285.219L166.882 285.219L166.884 285.218C167.202 285.062 167.525 284.904 167.852 284.746C169.18 284.089 170.576 283.38 172.006 282.638L172.126 282.576C172.209 282.533 172.292 282.49 172.376 282.447C172.972 282.139 173.576 281.827 174.169 281.491C174.413 281.356 174.657 281.223 174.901 281.09L174.901 281.09C175.389 280.824 175.877 280.558 176.365 280.277C176.471 280.217 176.578 280.156 176.686 280.094L176.688 280.093L176.689 280.093L176.69 280.092C176.946 279.945 177.209 279.795 177.472 279.653C177.651 279.543 177.829 279.438 178.008 279.333C178.187 279.227 178.366 279.122 178.545 279.012L179.089 278.692C179.277 278.59 179.447 278.472 179.617 278.354L180.656 277.663C182.001 276.702 183.278 275.673 184.402 274.56C184.963 274.003 185.474 273.413 185.934 272.822C186.377 272.215 186.785 271.608 187.109 270.967C187.151 270.891 187.19 270.811 187.228 270.731C187.266 270.651 187.305 270.571 187.347 270.495C187.376 270.423 187.402 270.352 187.427 270.282C187.462 270.186 187.495 270.093 187.534 270.006C187.556 269.936 187.582 269.869 187.609 269.803C187.647 269.709 187.685 269.616 187.705 269.517C187.73 269.432 187.751 269.352 187.773 269.272C187.794 269.192 187.815 269.112 187.841 269.028C187.848 269 187.857 268.97 187.868 268.938C187.883 268.892 187.899 268.842 187.909 268.791L187.943 268.555C187.959 268.477 187.971 268.399 187.983 268.322C187.997 268.234 188.01 268.148 188.028 268.066C188.037 267.99 188.041 267.91 188.045 267.83C188.049 267.75 188.054 267.67 188.062 267.594L188.079 267.358C188.09 267.302 188.087 267.254 188.083 267.204C188.081 267.177 188.079 267.151 188.079 267.122C188.079 267.035 188.075 266.953 188.07 266.873C188.066 266.797 188.062 266.723 188.062 266.65C188.054 266.574 188.041 266.498 188.028 266.422C188.015 266.346 188.003 266.27 187.994 266.194C187.971 265.987 187.916 265.788 187.862 265.592C187.837 265.5 187.811 265.409 187.79 265.317C187.585 264.744 187.364 264.204 187.041 263.732C186.428 262.77 185.593 262.028 184.742 261.505C183.891 260.999 183.022 260.696 182.29 260.561C182.034 260.503 181.793 260.485 181.574 260.468C181.473 260.461 181.377 260.454 181.286 260.443C180.996 260.443 180.741 260.443 180.537 260.46Z" fill="url(#GraduationProjects1)"></path></g><path d="M217.122 212.722H147.095C145.398 212.722 143.7 211.45 143.7 209.331C143.7 207.635 144.973 205.94 147.095 205.94H217.122C218.82 205.94 220.517 207.211 220.517 209.331C220.093 211.026 218.82 212.722 217.122 212.722Z" fill="white"></path><path d="M263.384 212.722H229.008C227.31 212.722 225.612 211.45 225.612 209.331C225.612 207.635 226.886 205.94 229.008 205.94H263.384C265.082 205.94 266.779 207.211 266.779 209.331C266.355 211.026 265.082 212.722 263.384 212.722Z" fill="white"></path><path d="M285.026 212.722H274.416C272.719 212.722 271.021 211.45 271.021 209.331C271.021 207.635 272.294 205.94 274.416 205.94H285.026C286.724 205.94 288.422 207.211 288.422 209.331C287.997 211.026 286.724 212.722 285.026 212.722Z" fill="white"></path><path d="M325.346 212.722H296.063C294.365 212.722 292.667 211.45 292.667 209.331C292.667 207.635 293.941 205.94 296.063 205.94H325.346C327.044 205.94 328.742 207.211 328.742 209.331C328.317 211.026 327.044 212.722 325.346 212.722Z" fill="white"></path><path d="M319.829 436.522V442.032H167.469V436.522C167.469 431.011 172.137 426.349 177.654 426.349H310.068C315.585 426.349 319.829 430.588 319.829 436.522Z" fill="white"></path><path d="M319.83 445.001H167.469C165.772 445.001 164.074 443.73 164.074 441.61V436.524C164.074 429.318 170.016 423.384 177.231 423.384H309.645C316.859 423.384 322.801 429.318 322.801 436.524V442.034C323.225 443.73 321.528 445.001 319.83 445.001ZM170.44 438.643H316.435V436.524C316.435 432.709 313.464 429.742 309.645 429.742H177.655C173.835 429.742 170.865 432.709 170.865 436.524V438.643H170.44Z" fill="url(#GraduationProjects1)"></path><path d="M421.686 445.001H105.081C103.384 445.001 101.686 443.73 101.686 441.61C101.686 439.915 102.959 438.219 105.081 438.219H421.262C422.959 438.219 424.657 439.491 424.657 441.61C424.657 443.73 423.384 445.001 421.686 445.001Z" fill="url(#GraduationProjects1)"></path><defs><linearGradient id="GraduationProjects0" x1="228.598" y1="252.519" x2="264.261" y2="62.8264" gradientUnits="userSpaceOnUse"><stop stop-color="#EFEFEF"></stop><stop offset="1" stop-color="white" stop-opacity="0.56"></stop></linearGradient><linearGradient id="GraduationProjects1" x1="233.752" y1="160.296" x2="449.892" y2="197.12" gradientUnits="userSpaceOnUse"><stop stop-color="#387C17"></stop><stop offset="1" stop-color="#1B5300"></stop></linearGradient><linearGradient id="GraduationProjects2" x1="347.655" y1="388.999" x2="213.549" y2="470.528" gradientUnits="userSpaceOnUse"><stop stop-color="#EFEFEF"></stop><stop offset="1" stop-color="white" stop-opacity="0.56"></stop></linearGradient></defs></svg></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-1ddwpfq-1 hnlXxp sc-7bqyxh-1 eTWzoY"><i class="sc-1ddwpfq-0 goEZrn"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><section class="sc-7bqyxh-0 iJNhSn sc-x072mc-0 hOtCic"><div class="sc-7bqyxh-2 imGcoX"><h2 class="sc-1x9oq14-0 sc-7bqyxh-3 kswXpy gvtgmJ">Преподаватели</h2><div></div><div class="sc-1bkbgbz-0 cInatB swiper-ui sc-7bqyxh-5 gCZLLN"><div class="sc-1bkbgbz-1 cPJghB"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/3e/a5/3ea5195bc63d413d9c89a29ebd3ff6cf.jpg" class="sc-jotj87-0 jtwppL"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Станислав Ступников</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Руководитель отдела разработки</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">VK</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png" class="sc-jotj87-0 jOGPpG"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Сурен Хоренян</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Senior Python Backend Developer, Руководитель группы разработки</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">ВК Реклама</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg" class="sc-jotj87-0 jnikJg"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Дмитрий Панкрашов</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Middle Python Developer</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">Российская BigTech-компания</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/2d/79/2d79623ce22343d7a5bcd0cd58c5c4e3.jpg" class="sc-jotj87-0 hOXJbs"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Евгений Ревняков</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">( к.т.н.) Senior software engineer</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">Exness</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/bd/e2/bde288ad38b04ff5b8aca57731bfc4c9.jpg" class="sc-jotj87-0 gydRYU"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Леонид Орлов</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Python Developer</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/be/45/be456d671a7c4ce199bf05e275fe5387.jpg" class="sc-jotj87-0 gXeWmg"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Андрей Кравчук</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">C/Python Developer</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg" class="sc-jotj87-0 EmVoY"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Станислав Никуличев</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Tech Lead</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">NDA, ex Microsoft, ex Yandex</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/0e/42/0e4275435c3c4a5e97839de0bf1d0205.jpg" class="sc-jotj87-0 drAKVv"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Игорь Стурейко</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">(к.ф.-м.н.) Teamlead, главный инженер</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">FinTech</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/0b/30/0b303dfeb677492e994dadeb696f7147.jpg" class="sc-jotj87-0 RhBeo"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Кирилл Панфилов</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Блогер, программист</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">[dirty_python]</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/a5/f9/a5f96e70547d4f0baee73c602ab67037.jpg" class="sc-jotj87-0 cTNwbk"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Дарья Горбатова</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">HRBP</p><p class="sc-1x9oq14-0 sc-1s527z5-3 eMZyoN kLSaHO">NLMK-IT</p></div></div></div></div><div color="#fff" class="sc-1bkbgbz-6 hcbJSK"><button color="#fff" class="sc-1bkbgbz-2 sc-1bkbgbz-4 dQlnjC biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#fff" class="sc-1bkbgbz-2 sc-1bkbgbz-3 dQlnjC iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div><p class="sc-1x9oq14-0 sc-7bqyxh-4 fPZiIk hgzLIf">Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания</p></div></section></div><div id="pastevents" class="sc-x072mc-0 sc-g9zqla-0 hOtCic frFtzw"><h2 class="sc-1x9oq14-0 sc-g9zqla-1 bTMeHF jqTCqB">Прошедшие <br class="sc-g9zqla-2 nExnN"/>мероприятия</h2><div class="sc-g9zqla-3 cmzqGo"><div id="video-6772" class="sc-1l3meww-0 gAbnmq"><div src="https://i.mycdn.me/getVideoPreview?id=11191655336492&idx=8&type=39&tkn=lSEjqetBJKqU76EbI5xkOdozNr0&fn=vid_l" class="sc-1l3meww-1 eVCqsi"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1l3meww-7 hkpcCk"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12.0058C2 6.48625 6.48842 2 12 2C17.5116 2 22 6.48625 22 12.0058C22 17.5137 17.5116 22 12 22C6.48842 22 2 17.5137 2 12.0058ZM15.668 13.0178C15.7741 12.9117 15.9093 12.7477 15.9382 12.7091C16.0927 12.5065 16.1699 12.2557 16.1699 12.0058C16.1699 11.725 16.083 11.4645 15.9189 11.2523C15.9055 11.2388 15.8791 11.2102 15.8448 11.1728C15.7806 11.103 15.6885 11.0026 15.6004 10.9146C14.8089 10.0656 12.7432 8.67631 11.6622 8.25181C11.4981 8.18524 11.083 8.03956 10.861 8.02991C10.6486 8.02991 10.4459 8.07815 10.2529 8.17463C10.0116 8.3097 9.81853 8.52195 9.71236 8.77279C9.64479 8.94645 9.53861 9.46744 9.53861 9.47709C9.43243 10.0463 9.37452 10.9725 9.37452 11.9952C9.37452 12.9706 9.43243 13.8572 9.51931 14.4361C9.52169 14.4385 9.53 14.4799 9.5429 14.5442C9.58211 14.7397 9.6638 15.1471 9.75097 15.314C9.96332 15.7192 10.3784 15.9701 10.8224 15.9701H10.861C11.1506 15.9604 11.7587 15.7096 11.7587 15.7C12.7819 15.2754 14.7992 13.9537 15.61 13.0757L15.668 13.0178Z" fill="currentColor"></path></svg></div><div class="sc-1l3meww-2 cHxJxf"><div class="sc-1x9oq14-0 sc-1l3meww-3 dvqddq blhXzJ">Сурен Хоренян</div><div class="sc-1x9oq14-0 sc-1l3meww-4 iFeEEh dePnfm">Открытый вебинар</div><div class="sc-1x9oq14-0 sc-1l3meww-5 doSDez gnNvLT">Запуск Python-приложения в Docker: FastAPI и база данных</div></div></div><div id="video-6771" class="sc-1l3meww-0 gAbnmq"><div src="https://sun9-34.userapi.com/impg/WclKp3kgrwpWSd0NAEfIvWXDbimJacriQj2Izw/3bHfvsw4LAQ.jpg?size=320x240&quality=95&keep_aspect_ratio=1&background=000000&sign=93ec3852bd84ac2056334126063c0047&c_uniq_tag=ATrHQmUgLSmGWIyAmV6aRQhgNO4_GQ70wy-KU4RZFLw&type=video_thumb" class="sc-1l3meww-1 jWydJK"><svg width="48" height="48" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1l3meww-7 hkpcCk"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12.0058C2 6.48625 6.48842 2 12 2C17.5116 2 22 6.48625 22 12.0058C22 17.5137 17.5116 22 12 22C6.48842 22 2 17.5137 2 12.0058ZM15.668 13.0178C15.7741 12.9117 15.9093 12.7477 15.9382 12.7091C16.0927 12.5065 16.1699 12.2557 16.1699 12.0058C16.1699 11.725 16.083 11.4645 15.9189 11.2523C15.9055 11.2388 15.8791 11.2102 15.8448 11.1728C15.7806 11.103 15.6885 11.0026 15.6004 10.9146C14.8089 10.0656 12.7432 8.67631 11.6622 8.25181C11.4981 8.18524 11.083 8.03956 10.861 8.02991C10.6486 8.02991 10.4459 8.07815 10.2529 8.17463C10.0116 8.3097 9.81853 8.52195 9.71236 8.77279C9.64479 8.94645 9.53861 9.46744 9.53861 9.47709C9.43243 10.0463 9.37452 10.9725 9.37452 11.9952C9.37452 12.9706 9.43243 13.8572 9.51931 14.4361C9.52169 14.4385 9.53 14.4799 9.5429 14.5442C9.58211 14.7397 9.6638 15.1471 9.75097 15.314C9.96332 15.7192 10.3784 15.9701 10.8224 15.9701H10.861C11.1506 15.9604 11.7587 15.7096 11.7587 15.7C12.7819 15.2754 14.7992 13.9537 15.61 13.0757L15.668 13.0178Z" fill="currentColor"></path></svg></div><div class="sc-1l3meww-2 cHxJxf"><div class="sc-1x9oq14-0 sc-1l3meww-3 dvqddq blhXzJ">Станислав Никуличев</div><div class="sc-1x9oq14-0 sc-1l3meww-4 iFeEEh dePnfm">Открытый вебинар</div><div class="sc-1x9oq14-0 sc-1l3meww-5 doSDez gnNvLT">Telegram-бот за 60 минут: получение данных из любого API и ответ пользователю</div></div></div></div><div class="sc-1x9oq14-0 sc-n3p609-1 doSDez caypgj">Оставьте заявку, чтобы получить доступ ко всем записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке</div><div class="sc-1lrh8w5-0 ftkQLi sc-n3p609-0 fYPwsY"><button class="sc-1qig7zt-0 czpnNJ sc-1lrh8w5-3 JTsAm"><span class="sc-1lrh8w5-4 jTrfLJ">Сообщить о старте набора</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-1lrh8w5-5 kfzfcV"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.7071 8.79633C18.7071 10.0523 19.039 10.7925 19.7695 11.6456C20.3231 12.2741 20.5 13.0808 20.5 13.956C20.5 14.8302 20.2128 15.6601 19.6373 16.3339C18.884 17.1417 17.8215 17.6573 16.7372 17.747C15.1659 17.8809 13.5937 17.9937 12.0005 17.9937C10.4063 17.9937 8.83505 17.9263 7.26375 17.747C6.17846 17.6573 5.11602 17.1417 4.36367 16.3339C3.78822 15.6601 3.5 14.8302 3.5 13.956C3.5 13.0808 3.6779 12.2741 4.23049 11.6456C4.98384 10.7925 5.29392 10.0523 5.29392 8.79633V8.3703C5.29392 6.68834 5.71333 5.58852 6.577 4.51186C7.86106 2.9417 9.91935 2 11.9558 2H12.0452C14.1254 2 16.2502 2.98702 17.5125 4.62466C18.3314 5.67916 18.7071 6.73265 18.7071 8.3703V8.79633ZM9.07367 20.0608C9.07367 19.5573 9.53582 19.3266 9.96318 19.2279C10.4631 19.1222 13.5093 19.1222 14.0092 19.2279C14.4366 19.3266 14.8987 19.5573 14.8987 20.0608C14.8738 20.5402 14.5926 20.9653 14.204 21.2352C13.7001 21.628 13.1088 21.8767 12.4906 21.9664C12.1487 22.0107 11.8128 22.0117 11.4828 21.9664C10.8636 21.8767 10.2723 21.628 9.76938 21.2342C9.37978 20.9653 9.09852 20.5402 9.07367 20.0608Z" fill="currentColor"></path></svg></button></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-1xm68ya-2 isRQVJ"><i class="sc-1ddwpfq-0 hRKTfD"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-x072mc-0 sc-1xm68ya-1 hOtCic hqEzLD sc-x072mc-0 hOtCic"><h2 class="sc-1x9oq14-0 sc-1xm68ya-3 kswXpy cXcqyt">Эту специализацию может оплатить ваш работодатель</h2><div class="sc-1xm68ya-4 kscGdX"><div class="sc-1x9oq14-0 sc-1xm68ya-5 fPZiIk">Обучайтесь за счёт работодателя или разделите оплату 50/50</div><ul class="sc-1xm68ya-6 jEIquP"><li class="sc-1xm68ya-0 eNgslB">Подробно расскажем об интересующей вас специализации</li><li class="sc-1xm68ya-0 eNgslB">Объясним, как договориться с работодателем</li><li class="sc-1xm68ya-0 eNgslB">Сообщим стоимость обучения и варианты оплаты</li><li class="sc-1xm68ya-0 eNgslB">Ответим на вопросы</li><li class="sc-1xm68ya-0 eNgslB">Предоставим шаблон договора и счёт на оплату</li></ul><div><a class="sc-1xm68ya-7 eOihnY" target="_blank" rel="noopener noreferrer" href="/b2b">Подробнее о корпоративном обучении</a></div></div><div class="sc-32ejay-1 bnqryM"><button class="sc-1qig7zt-0 czpnNJ">Оставить заявку</button></div></div></div><div class="sc-x072mc-0 sc-h0c1ca-0 hOtCic dXezGA"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><h2 class="sc-1x9oq14-0 sc-h0c1ca-4 kswXpy dygiGU">Отзывы</h2><div class="sc-h0c1ca-1 gaiDWC"><div class="sc-1bkbgbz-0 haeyZv swiper-ui sc-h0c1ca-5 vuxta"><div class="sc-1bkbgbz-1 jssxGI"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div src="https://cdn.otus.ru/media/public/ea/22/avatar-443883-ea2256.png" class="sc-h3yero-4 kSPesy"></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Владислав Сидоров</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">19.09.2024</div></div><div class="sc-h3yero-6 bXBhOa"><a target="_blank" rel="noopener noreferrer" href="https://telegram.me/telegram" class="sc-e8trbg-0 ervbDS"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M31.9995 16.001C31.9995 24.8375 24.836 32.001 15.9995 32.001C7.16298 32.001 -0.000488281 24.8375 -0.000488281 16.001C-0.000488281 7.16444 7.16298 0.000976562 15.9995 0.000976562C24.836 0.000976562 31.9995 7.16444 31.9995 16.001ZM10.7138 14.5353C9.11105 15.2351 7.46425 15.9542 5.95835 16.7836C5.17203 17.3594 6.2171 17.7666 7.19758 18.1486C7.35345 18.2094 7.50765 18.2694 7.65265 18.3294C7.77331 18.3666 7.89598 18.4056 8.02031 18.4452C9.11078 18.7926 10.3266 19.18 11.3853 18.5973C13.1244 17.5983 14.7655 16.4434 16.4054 15.2893C16.9427 14.9112 17.4798 14.5332 18.0202 14.1608C18.0456 14.1446 18.0741 14.126 18.1054 14.1058C18.5657 13.8074 19.6011 13.1362 19.2181 14.061C18.3125 15.0514 17.3424 15.9281 16.3672 16.8096C15.7098 17.4037 15.0501 18 14.4061 18.6346C13.8452 19.0904 13.2628 20.0068 13.8908 20.645C15.3374 21.6577 16.8066 22.6458 18.275 23.6334C18.7528 23.9548 19.2306 24.2761 19.7074 24.5982C20.5155 25.2434 21.7785 24.7215 21.9562 23.7133C22.0352 23.2495 22.1145 22.7858 22.1938 22.322C22.6322 19.7588 23.0708 17.1948 23.4582 14.6233C23.5108 14.2199 23.5705 13.8166 23.6302 13.413C23.775 12.435 23.9199 11.4557 23.9652 10.4724C23.8485 9.49104 22.6586 9.70684 21.9965 9.92751C18.593 11.2226 15.2236 12.6136 11.8674 14.0292C11.4872 14.1976 11.1018 14.3659 10.7138 14.5353Z" fill="url(#PromoReviewSocialTg)"></path><defs><linearGradient id="PromoReviewSocialTg" x1="2.59519" y1="10.3069" x2="30.0331" y2="14.9755" gradientUnits="userSpaceOnUse"><stop stop-color="#387C17"></stop><stop offset="1" stop-color="#1B5300"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Работал в компании Диалог Регионы в должности аналитика на Python и Low-Code разработчиком в другой компании, так же на питоне (ещё раньше был инженер-программистом, писал программы под ПЛК на ST).
Выбрал специализацию Python Developer, так как стало интересно погрузиться в нативную разработку на Python.
Мне понравилась структура курса и подача материала. Хотелось бы добавить больше материалов по выводу продуктов в прод и задания которые нужно выполнять в командах через GIT (ревью новых фич через Merge Request и тому подобное), больше ревью кода.
Обучение дало навыки работы с Джанго и Фастапи, работой с БД через ОРМ, умение проектировать структуру БД. На продвинутом курсе удалось пощупать Го и посмотреть на веб разработку с точки зрения продвинутого уровня.
Преподаватели действующие специалисты, что очень ценно и полезно.
В продвинутом модуле были достаточно трудные задачи, которые потребовали не малых усилий и времени.
Продвинутый курс по моему мнению в раза 2 сложнее по материалу и раза в три по домашкам. Действительно разрыв большой и вызовы были серьёзные. Возможно стоит разделить на три модуля Джун/Джун+/Мидл-. До твёрдого мидла только с одного обучения по моему мнению вырасти почти не возможно (если только нет серьёзного бэкграунда в разработке в принципе), но если на курсе поработать командой над более менее сложным и интересным проектом, то стать твёрдым джуном или околомидлом - вполне.
Я бы поставил курсу 7.5 из 10, т.к. мне не хватило ревью кода и погружения в атмосферу командной разработки, что как раз и происходит в реальных проектах
Но как курс дающий базовые знания - хороший вариант. Вероятно, что посоветовал бы, но есть куда расти.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div src="https://cdn.otus.ru/media/public/88/de/avatar-220360-88de07.png" class="sc-h3yero-4 imlAAz"></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Андрей Сильных</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">08.04.2024</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Начну с моей истории:
Я свитчер из корпоративных продаж, решая войти в IT в 2021 году пошел обучаться в GeekBrains на факультет Искусственного Интеллекта. Это был курс длящийся 1 год и 6 месяцев, по факту выросший в почти 2 года из-за переносов. Для меня это была "Обзорная" профессия, в которой я мог себя попробовать в разработке, математике, аналитике, машинном обучении, нейросетях. И, в итоге, выбрать то, что больше нравится.
Через 5 месяцев я устроился работать в небольшой региональный банк, в отдел разработки систем машинного обучения и аналитики. Отдел был небольшой, 4 человека с руководителем, соответственно и пул задач был максимально широким. Там мы пробовали много различных технологий, ферймворков, баз данных, строили и банковскую отчетность, инженерили данные, стоили ML модели, выкатывали backend приложения.
В какой-то момент я понял, что мне больше нравятся backend задачи, и похоже нужно снова менять профессию, благо в этот раз не так радикально. Увидел рекламу специализации Python Developer в соц. сетях, прошел тест, понравились вопросы, сложилось впечатление что обучение не для новичков, так и произошло) Благодаря этому обучению мне удалось подготовиться к новой сфере, получить несколько офферов от IT гигантов, и в итоге устроиться в Дом Клик, чему я очень рад. На данном профессиональном этапе для меня это пойти работать в компанию мечты! Сейчас я Middle Backend Developer в ДомКлик.
Мне понравилось, что курс был точно не для новичков, затрагивались глубокие технические темы, было непросто учиться, много всего узнал, что теперь рассказываю на новой работе коллегам. Также понравилось, то, что мы заглянули во внутрянку Python (виртуальную машину и его код на C). И то, что в курсе есть довольно основательный блок по GO, этого действительно хватило, чтобы начать писать первые приложения.
Преподаватели производили впечатление профессионалов, рассказывали тонкости, которые обычно не легко найти даже если целенаправленно пытаться искать. Очень ценно было присутствовать на уроках и задавать вопросы лично.
Сложнее всего в процессе обучения было самоорганизоваться и делать что-то сверх обязательных домашних заданий, например, читать книги, смотреть видео, писать код, чтобы самому детально понять тему.
Лично мне было довольно просто перейти с первой ступени обучения на вторую, так как я изначально собирался на Professional, но для него я не знал Django и еще несколько вещей необходимых для него, поэтому решил начать с Basic. Это два ощутимо разных курса по сложности. Если на Basic с вами сюсюкались, то здесь было все по-взрослому, сразу считалось, что вы знаете большой пласт знаний, которые по факту добирал по пути. Если бы я пришел с нуля на эту специализацию, не имея коммерческого опыта в пару лет, скорей всего на Professional я б сломался точно, если не на Basic. Но сейчас мне такая сложность понравилась)
Единственное, хотелось бы иметь возможность скачивать видео с платформы, так как иногда уезжал туда, где нет интернета, а учиться нужно было успевать.
Я бы однозначно посоветовал пойти на курсы от OTUS, так как есть ощущение, что это не массовый продукт вроде везде рекламируемых всем нам знакомых онлайн-школ, здесь чувствуется профессионализм!</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div src="https://cdn.otus.ru/media/public/36/d8/avatar-1801-36d82d.png" class="sc-h3yero-4 fwJFJX"></div></div><div class="sc-h3yero-5 dYfXnT"><p class="sc-1x9oq14-0 sc-h3yero-1 enpOeQ kaQYTv">Максим Шарков</p><div class="sc-1x9oq14-0 sc-uyf7sm-0 iwrrOS hejpaX">03.04.2024</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Работаю архитектором программного обеспечения в компании NobilisTeam.
Выбрал именно специализацию Python Developer, потому что мне был интересен язык Python в качестве саморазвития. На одном ютуб-канале по IT-тематике автор часто использовал Python для написания каких-то скриптов, автоматизации и прочих личных задач. Меня заинтересовало, начал самостоятельно изучать язык, повторять какие-то вещи из его видео. Пописал различные парсеры интересных мне сайтов, создавал разных Телеграм ботов, которые присылали краткие выжимки с этих сайтов, да и просто баловался всякими вещами. В какой-то момент захотелось получить более углубленные и систематизированные знания по Python, прокачать скиллы. Так как я ранее уже проходил обучение в OTUS на курсе Enterprise Architect, то решил посмотреть, что есть по Python. Собственно, в итоге выбор и пал на специализацию по Python. Решил брать сразу «комплект», так как это было не сильно дороже, чем один курс Basic или Professional на тот момент.
Обучение, в общем и целом, построено удобно. Достаточно много практических задач. Можно спокойно пропустить онлайн-занятие и потом посмотреть запись, если по каким-то причинам не получается присутствовать на уроке. Уроки хорошие, преподаватели всегда стараются поддерживать какой-то интерактив во время урока, а не просто ведут монолог, быстро реагируют на сообщения и вопросы в чате во время урока и дополнительно раскрывают какие-то моменты, если что-то непонятно.
Моя изначальная цель на обучение определенно была достигнута. Я хотел систематизировать уже имеющие знания и научиться чему-то новому. Из нового - более углубленно пришлось знакомиться с различными библиотеками, погрузиться в дебри Docker и научиться с ним работать на достаточно уверенном уровне, прилично пощупать CI/CD и научиться писать достаточно комплексные пайплайны. Это все было не совсем обязательно по заданиям, но мне интересно погружаться в темы более детально и разбираться в них. Поэтому на Basic курсе я зачастую делал даже больше, чем требовалось в заданиях просто потому, что мне было интересно. С Professional курсом уже интереснее, так как там задания сами по себе на порядок сложнее и объемнее. Новые навыки оказались полезными на текущем месте работы. Где-то добавил автоматизации через Python скрипты для облегчения жизни, где-то предлагал решить те или иные коммерческие задачи с помощью Python.
Самым сложным на всем обучении оказались домашние задания с курса Professional. Некоторые из них потребовали прямо серьезного погружения в тему и разбора определенных технологий более углубленно. А некоторые из них оказались вообще непосильными. Есть одна прекрасная опциональная домашка с написанием кода на Си. Её так и не получилось решить даже за 3 разных подхода. Поскольку домашка опциональная, решил отложить. Возможно, вернусь к ней, если будет время до окончания курса.
Перейти с первой ступени обучения на вторую было непросто. У меня уже был достаточный опыт в коммерческой разработке, в общем и целом, но по Python я шёл на базовый курс будучи самоучкой. Вот курс Basic давался достаточно легко. Что-то я уже знал хорошо, что-то знал поверхностно и было легко подхватить и доучить, а то, что не знал, было достаточно легко в изучении. А вот с курсом Professional уже интереснее. Какие-то темы там тоже оказались знакомые, но большая часть тем уже достаточно «глубинные» и требуют неких познаний. Я бы сказал, что нужно иметь хотя бы 1-1.5 года уже коммерческой разработки на Python, чтобы «комфортно» чувствовать себя на Professional. Достаточно многое приходится гуглить, разбираться в темах и изучать. В совокупности с большой рабочей загрузкой это ощутимо тяжело. Но, в общем и целом, если иметь хорошую техническую базу (не по Python, а в целом в программировании), то курс можно освоить, просто это потребует определенных усилий и времени.
Я бы посоветовал знакомым пойти на курсы от OTUS. Почему – сложно ответить конкретно. В общем и целом, ответ на вопрос «почему» — это среднее арифметическое из всего выше написанного.</div></div></div></div></div><div color="#418A1F" class="sc-1bkbgbz-6 bCuLxg"><button color="#418A1F" class="sc-1bkbgbz-2 sc-1bkbgbz-4 ghFoSm biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#418A1F" class="sc-1bkbgbz-2 sc-1bkbgbz-3 ghFoSm iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div></div><div class="sc-x072mc-0 sc-1r62a6q-0 hOtCic lliDuJ"><h2 class="sc-1x9oq14-0 sc-1r62a6q-1 bTMeHF llFwsA">Диплом о профессиональной переподготовке</h2><div class="sc-1x9oq14-0 sc-1r62a6q-2 fPZiIk dtnelf"><p><span>OTUS осуществляет лицензированную образовательную деятельность. </span><span>В конце прохождения специализации вы получите сертификат OTUS и диплом о получении новой специальности государственного образца</span></p></div><div class="sc-1r62a6q-3 eNyjzK"><div class="sc-1oz275d-0 ddfkAs"><div class="sc-1bkbgbz-0 giOpNO swiper-ui sc-1oz275d-3 hXVWHD"><div class="sc-1oz275d-2 cmjKRy sc-1bkbgbz-1 ehnata"><div class="swiper"><div class="swiper-wrapper"><div class="swiper-slide"><img src="/_next/static/images/img/otus-diploma-194dce80eb7f2558e83bd201e5306874.png" class="sc-1oz275d-1 dCggDS"/></div><div class="swiper-slide"><img src="/_next/static/images/img/pp-diploma-84b65c3460876fc0d809a622f910973f.png" class="sc-1oz275d-1 dCggDS"/></div></div></div></div><div color="#418A1F" class="sc-1bkbgbz-6 bCuLxg"><button color="#418A1F" class="sc-1bkbgbz-2 sc-1bkbgbz-4 ghFoSm biZjNh"><div class="sc-1bqzqc9-0"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button><div class="sc-1bkbgbz-5 hGKrlu"></div><button color="#418A1F" class="sc-1bkbgbz-2 sc-1bkbgbz-3 ghFoSm iPzpLW"><div class="sc-1bqzqc9-0 dzJeEt"><div size="28" class="sc-i28ik1-0 cvcsLz"><div class="sc-i28ik1-1 gNVXtU"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.57771 12.2111C2.10361 12.9482 2.10361 15.0518 3.57771 15.7889L25.1056 26.5528C26.4354 27.2177 28 26.2507 28 24.7639L28 3.23607C28 1.7493 26.4354 0.782312 25.1056 1.44721L3.57771 12.2111Z" fill="currentColor"></path></svg></div></div></div></button></div></div></div><div class="sc-1r62a6q-4 egKvEI"><h3>Почему специализация выгоднее, чем отдельные курсы?</h3>
<ul>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">Дешевле, чем два курса по отдельности</span></li>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">Вы получаете диплом о профессиональной переподготовке</span></li>
<li aria-level="1" style="font-weight: 400;"><span style="font-weight: 400;">Знания и навыки для уровней junior и middle сведены в единую программу</span></li>
</ul></div></div></div><div class="sc-x072mc-0 sc-1mszhjn-0 hOtCic irTCnx"><h2 class="sc-1x9oq14-0 sc-1mszhjn-1 kswXpy kPNZqQ">Частые вопросы</h2><div class="sc-tqrjzo-0 doKOqQ"><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Обязательно ли выполнять домашние задания? Кто проверяет домашние задания и итоговый проект?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Да, если вы действительно хотите программировать на Python.
Часть заданий тестовые — их проверка происходит автоматически. На другие задания развернутую обратную связь дают наши преподаватели и наставники. При желании вы можете защитить свой итоговый проект перед руководителем и преподавателями курса.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Можно ли задавать вопросы?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Да, даже нужно! Вы можете задавать преподавателю вопросы по содержанию во время онлайн-вебинара, в закрытом Telegram-чате или в чате по ДЗ. На организационные вопросы вам всегда поможет ответить коммьюнити-менеджер курса.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Насколько сложно учиться?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Для студентов с нулевым опытом данная специализация — настоящий челлендж. Специализация действительно подходит для всех, кто хочет стать Python-разработчиком с нуля. Но для этого необходимо приложить усилия и старания, в т.ч. и при самостоятельном изучении материалов. Будьте готовы тратить на обучение и выполнение домашних заданий от 6 до 12 часов в неделю.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Какой объем практики предусмотрен на курсе?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Больше 70%. Также во время обучения вам будут доступны дополнительные источники информации и ссылки на open-source ресурсы для тренировки коддинга. А наши преподаватели всегда готовы поделиться с вами самыми актуальными материалами.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Помогаете ли вы с трудоустройством после курса?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Мы проводим вебинары на тему трудоустройства в OTUS Club: разбираем резюме, способы прохождения собеседований, особенности реферальных программ при найме. Что важно: преподаватели курса занимают ведущие позиции в разных компаниях, и вы можете получить ценную рекомендацию. Поэтому будьте активны, выполняйте домашние задания, проявляйте себя</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Здесь нет моего вопроса</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Позвоните по номеру +7 499 938-92-02 (звонок бесплатный) или напишите на почту help@otus.ru: мы постараемся ответить на все ваши вопросы</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Что понадобится для обучения?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Только компьютер.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Что, если в середине курса я не смогу продолжать обучение?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Вы можете бесплатно перейти в другую группу. Но только один раз.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Обязательно ли защищать все проектные работы?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Для получения сертификата OTUS сдавать итоговые проекты необязательно (в сертификате будет отражено кол-во выполненных домашних работ). Для получения Диплома о профессиональной переподготовке необходимо выполнить оба итоговых проекта (на 2 ступенях обучения). Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.</div></div></div></div><div class="sc-li015i-2 kETOUP sc-tqrjzo-1 htYSLI" color="#418A1F"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Я могу вернуть деньги?</h5><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl sc-li015i-3 dbNuvG"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 22C6.48012 22 2.00012 17.51 2.00012 12C2.00012 6.48 6.48012 2 12.0001 2C17.5101 2 22.0001 6.48 22.0001 12C22.0001 17.51 17.5101 22 12.0001 22ZM16.0001 10.02C15.7001 9.73 15.2301 9.73 14.9401 10.03L12.0001 12.98L9.06012 10.03C8.77012 9.73 8.29012 9.73 8.00012 10.02C7.70012 10.32 7.70012 10.79 8.00012 11.08L11.4701 14.57C11.6101 14.71 11.8001 14.79 12.0001 14.79C12.2001 14.79 12.3901 14.71 12.5301 14.57L16.0001 11.08C16.1501 10.94 16.2201 10.75 16.2201 10.56C16.2201 10.36 16.1501 10.17 16.0001 10.02Z" fill="currentColor"></path></svg></div><div style="height:0" class="sc-ptxdl6-1 kyVtIH"><div class="sc-ptxdl6-2 kVdrfk"><div class="sc-1x9oq14-0 sc-ptxdl6-0 doSDez ciEuHS">Да, мы можем вернуть деньги за то время, которое вы ещё не успели отучиться.
Например, если специализация длится десять месяцев, а вы отучились четыре, мы вернём деньги за оставшиеся шесть месяцев.</div></div></div></div></div></div></div></main><!--$--><footer class="sc-oy98rf-0 jliiMx"><div class="sc-oy98rf-2 bLWaqJ sc-1ddwpfq-1 hnlXxp sc-oy98rf-3 fMEenG"><div class="sc-oy98rf-1 eXELOw sc-1ddwpfq-0 jLNDvg"></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-x072mc-0 hOtCic"><!--$--><div class="sc-176eli6-0 kVOlcO"><div class="sc-176eli6-1 bIqTVy"><div class="sc-s8yol2-0 dmOCHb"><div class="sc-s8yol2-1 sc-s8yol2-2 fSkxQH jinSfn"><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/about">О нас</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/smi">СМИ о нас</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/reviews">Отзывы</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/contacts">Контакты</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/journal">Блог</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/faq">FAQ</a></div><div class="sc-s8yol2-1 sc-s8yol2-3 fSkxQH nSSml"><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/b2b">Корпоративное обучение</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/lessons">Каталог курсов</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/about/loyalty">Программы лояльности</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/professions">Каталог профессий</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/employers/all">Наши партнеры</a><a class="sc-1x9oq14-0-Component sc-s8yol2-4 eibrwt dopIUT" href="/teach">Стать преподавателем</a></div></div><div class="sc-15qczmr-0 MecOH"><div class="sc-15qczmr-1 dpoRMu"><a target="_blank" rel="nofollow noopener" href="https://vk.com/club145052891" src="/_next/static/images/img/footerUivk-1a499178c819de0f4161a07172b27f6b.svg" class="sc-15qczmr-2 jKMwie"></a><a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/channel/UCetgtvy93o3i3CvyGXKFU3g" src="/_next/static/images/img/footerUiyt-84e5fa7c2e582191762486a7be2c2652.svg" class="sc-15qczmr-2 eFVTJV"></a><a target="_blank" rel="nofollow noopener" href="https://zen.yandex.ru/id/5bbcbc1ba5bd5400a990e7d9" src="/_next/static/images/img/footerUidzen-cfe01a671b9064c8e5d54b2ac5895a0c.png" class="sc-15qczmr-2 hUuIIY"></a></div><div class="sc-15qczmr-3 foluGF"><a target="_blank" rel="nofollow noopener" href="https://t.me/Otusjava" class="sc-15qczmr-4 hMqYlN"><div src="/_next/static/images/img/footerUitg-326baa373419d1a193621a597320c652.svg" class="sc-15qczmr-5 kmPvgJ"></div><div class="sc-1x9oq14-0 sc-15qczmr-6 CWfAH driyCh">Канал в Telegram</div></a><a target="_blank" rel="nofollow noopener" href="https://t.me/joinchat/JMakp0NXc-L8nNneHCtx7A" class="sc-15qczmr-4 hMqYlN"><div src="/_next/static/images/img/footerUitg-326baa373419d1a193621a597320c652.svg" class="sc-15qczmr-5 kmPvgJ"></div><div class="sc-1x9oq14-0 sc-15qczmr-6 CWfAH driyCh">Группа в Telegram</div></a></div></div><div class="sc-176eli6-2 hRGcmY"><section class="sc-des2oc-0 fYuJAI"><div class="sc-1x9oq14-0 sc-des2oc-1 bDRAny hbxrvB">Подписка на новости IT, анонсы открытых уроков, спец. предложения</div><div class="sc-des2oc-2 iHEhCu"><div class="sc-7tecya-1 igoKuA sc-des2oc-3 heMBup"><div class="sc-1uo0fn1-0 chwycb sc-7tecya-2 dUXfnG"><label class="sc-7tecya-3 ewcVbw">Введите Email</label><input placeholder="" class="sc-7tecya-4 bkPfUD" type="text" value=""/></div></div><button class="sc-1qig7zt-0 bYRRHi sc-des2oc-4 dqoHct">OK</button><div class="sc-1x9oq14-0 sc-dusc05-0 doSDez fyzNNQ sc-1x9oq14-0-Component sc-des2oc-5 fvUGfA kSlCOl"><div class="sc-1fry39v-0 eAOVcR" value="true"><div class="sc-12fwr4-0 eZuRED"><input id="a8ed5c4155417702bcb41aba" type="checkbox" class="sc-j40lj7-0 ceClWZ" checked=""/><svg class="sc-hd7keq-0 dWxMps sc-12fwr4-1 exsZZC" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.26022 12.5541C7.60716 12.2072 8.16964 12.2072 8.51658 12.5541L10.3433 14.3808L15.4311 8.31742C15.7465 7.94157 16.3068 7.89254 16.6827 8.20792C17.0585 8.52329 17.1075 9.08364 16.7921 9.45949L11.1045 16.2377C11.0816 16.2674 11.0565 16.2959 11.0293 16.3232C10.6824 16.6701 10.1199 16.6701 9.77293 16.3232L7.26022 13.8104C6.91329 13.4635 6.91329 12.901 7.26022 12.5541Z" fill="currentColor"></path></svg></div><label for="a8ed5c4155417702bcb41aba" class="sc-1fry39v-1 kMJHVN">Я принимаю условия<!-- --> <a class="sc-1vdp0yy-0 ldwIhb sc-dusc05-1 fgICvQ" href="/legal/privacy" target="_blank">Политики обработки персональных данных</a> <!-- -->и<!-- --> <a class="sc-1vdp0yy-0 ldwIhb sc-dusc05-1 fgICvQ" href="/legal/terms" target="_blank">Пользовательского соглашения</a> <!-- -->и даю свое<!-- --> <a class="sc-1vdp0yy-0 ldwIhb sc-dusc05-1 fgICvQ" href="/legal/lead_privacy_agree" target="_blank">согласие на обработку персональных данных</a></label></div></div></div></section><div class="sc-b223p8-0 jbfvPl"><span class="sc-b223p8-1 kexDMw"><span class="sc-1x9oq14-0 sc-b223p8-2 CWfAH cpJPIb">По всем вопросам<!-- --> <!-- -->пишите на</span> <a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="mailto:help@otus.ru"> <!-- -->help@otus.ru</a></span><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/common">Сведения об образовательной организации</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/it_company_accreditation">OTUS является аккредитованной IT-компанией</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="https://reestr.digital.gov.ru/reestr/2704482/" target="_blank">В реестре отечественного ПО №24216</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/terms">Условия использования сервиса</a><a class="sc-1x9oq14-0-Component sc-b223p8-3 eibrwt kqoeNm" href="/legal/recommendations">Сведения о рекомендательных технологиях</a></div></div></div><div class="sc-19c5cbt-0 kXtOIJ"><div class="sc-1x9oq14-0 eMZyoN">© 2015-2026 OTUS</div><!--$--><div class="sc-19c5cbt-1 fvpIrL"><div class="sc-1jb0vz0-0 fEJhZn"></div><a target="_blank" rel="noopener noreferrer" href="http://sk.ru/?utm_source=otus" class="sc-1jb0vz0-1 bQKtqJ"></a><a target="_blank" href="https://ktsstudio.com/?utm_source=otus" class="sc-1urziip-1 cPEbNj"><img src="/_next/static/images/img/light-3dd56d782c43dc1e78b7e0da7bb3fb50.svg" alt="KTS Logo" class="sc-ed2fvu-0 sc-1urziip-0 kmquqg fCchjz"/></a></div><!--/$--></div></div><!--/$--></div></div></footer><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div class="smart-captcha"></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div id="__PORTAL__"></div><noscript><div><img src="https://mc.yandex.ru/watch/44973232" style="position:absolute;left:-9999px;top:0" alt=""/></div></noscript><noscript><img src="https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv" style="position:fixed;left:-999px" alt=""/></noscript><noscript><div><img src="https://top-fwz1.mail.ru/counter?id=3316675;js=na" style="position:absolute;left:-9999px" alt="Top.Mail.Ru"/></div></noscript><script src="/_next/static/chunks/webpack-84c612d5581a179f.js" async=""></script><style data-styled="" data-styled-version="5.3.10"></style><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/8cc264f7ea39f5c5.css\",\"style\"]\n2:HL[\"/_next/static/css/369ab862ca923128.css\",\"style\"]\n3:HL[\"/_next/static/css/1eb8edb263c0b31d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"4:I[69521,[],\"\"]\n6:I[38895,[],\"\"]\n8:I[35725,[],\"\"]\nc:I[63988,[],\"NotFoundBoundary\"]\n17:I[27927,[],\"\"]\n7:[\"slug\",\"python-specialization\",\"d\"]\nf:{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8cc264f7ea39f5c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}\ne:[\"$\",\"link\",\"0\",\"$f\"]\n11:{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/369ab862ca923128.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}\n10:[\"$\",\"link\",\"1\",\"$11\"]\n13:{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1eb8edb263c0b31d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}\n12:[\"$\",\"link\",\"2\",\"$13\"]\nd:[\"$e\",\"$10\",\"$12\"]\n18:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L4\",null,{\"buildId\":\"PhmzOnCKvz9SgutMtT86U\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"lessons\",\"python-specialization\"],\"initialTree\":[\"\",{\"structuredData\":[\"children\",{\"children\":[\"lessons\",{\"children\":[[\"slug\",\"python-specialization\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]}],\"children\":[\"lessons\",{\"children\":[[\"slug\",\"python-specialization\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"structuredData\":[\"children\",{\"children\":[\"lessons\",{\"children\":[[\"slug\",\"python-specialization\",\"d\"],{\"children\":[\"__PAGE__\",{},[[\"$undefined\",\"$L5\",null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"structuredData\",\"children\",\"children\",\"lessons\",\"children\",\"$7\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"structuredData\",\"children\",\"children\",\"lessons\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"structuredData\",\"children\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null],\"children\":[\"lessons\",{\"children\":[[\"slug\",\"python-specialization\",\"d\"],{\"children\":[\"__PAGE__\",{},[[\"$L9\",\"$La\",null],null],null]},[[null,\"$Lb\"],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"lessons\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8cc264f7ea39f5c5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/369ab862ca923128.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1eb8edb263c0b31d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$Lc\",null,{\"notFound\":[\"$d\",\"$L14\"],\"children\":\"$L15\"}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L16\"],\"globalErrorComponent\":\"$17\",\"missingSlots\":\"$W18\"}]\n"])</script><script>self.__next_f.push([1,"19:[\"slug\",\"python-specialization\",\"d\"]\nb:[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"lessons\",\"children\",\"$19\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Специализация Python Developer. Все, что нужно знать о разработке на Python: с нуля до Middle Developer\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"name\":\"is_app_seo_default\",\"content\":\"false\"}],[\"$\",\"meta\",\"6\",{\"name\":\"vk:image\",\"content\":\"/__new_static__/img/meta-image.png\"}],[\"$\",\"meta\",\"7\",{\"name\":\"fb:app_id\",\"content\":\"486413851704844\"}],[\"$\",\"link\",\"8\",{\"rel\":\"canonical\",\"href\":\"https://otus.ru/lessons/python-specialization/\"}],[\"$\",\"meta\",\"9\",{\"name\":\"yandex-verification\",\"content\":\"3019a35aeda6b45d\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Специализация Python Developer. Все, что нужно знать о разработке на Python: с нуля до Middle Developer\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://otus.ru/lessons/python-specialization/\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Специализация Python Developer. Все, что нужно знать о разработке на Python: с нуля до Middle Developer\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Специализация для тех, кто хочет с нуля освоить востребованную профессию Python-разработчик до компетенций, соответствующих Middle уровню. Специализация также будет полезна тем, кто еще не определился с языком. После обучения вы сможете углубиться в разработку на Python или перейти на любой другой язык ООП\"}]]\n"])</script><script>self.__next_f.push([1,"9:null\n"])</script><script>self.__next_f.push([1,"1a:I[58890,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"3242\",\"static/chunks/3242-4559e666a92af915.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"3185\",\"static/chunks/app/layout-37aaf27e992c5aeb.js\"],\"default\"]\n1b:I[49866,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"3242\",\"static/chunks/3242-4559e666a92af915.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"3185\",\"static/chunks/app/layout-37aaf27e992c5aeb.js\"],\"Providers\"]\n1c:I[17776,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b."])</script><script>self.__next_f.push([1,"js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1701\",\"static/chunks/1701-caea77cd580b46da.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"9160\",\"static/chunks/app/not-found-6846642e53dd56ba.js\"],\"default\"]\n1d:I[27869,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"3242\",\"static/chunks/3242-4559e666a92af915.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"3185\",\"static/chunks/app/layout-37aaf27e992c5aeb.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"html\",null,{\"lang\":\"ru\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"charSet\":\"UTF-8\"}],[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"link\",null,{\"rel\":\"image_src\",\"href\":\"/__new_static__/img/meta-image.png\"}],[\"$\",\"link\",null,{\"rel\":\"shortcut icon\",\"type\":\"image/x-icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"/_next/static/images/img/owl-flight-5d7d1106ce62f5dd4057eb334384e529.gif\",\"as\":\"image\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"href\":\"/_next/static/images/img/favicon-16x16-3dc5220f18624c2a6fd3aa3b081da00a.png\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"href\":\"/_next/static/images/img/favicon-32x32-dd124835ecce421e1bb2c8f849e49a3f.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/_next/static/images/img/apple-touch-icon-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"57x57\",\"href\":\"/_next/static/images/img/apple-touch-icon-57x57-92769d5e197783e63f3bb3c8519c8912.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"60x60\",\"href\":\"/_next/static/images/img/apple-touch-icon-60x60-dfaaf3934bc7ed111c8c306b967afeeb.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"72x72\",\"href\":\"/_next/static/images/img/apple-touch-icon-72x72-693f0d64a225d5f0fe26ba5d088c8f14.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"76x76\",\"href\":\"/_next/static/images/img/apple-touch-icon-76x76-f3487d673c3e7ae975cf190fb758ab10.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"114x114\",\"href\":\"/_next/static/images/img/apple-touch-icon-114x114-98609536fdaa492edede039bdd03cff2.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"120x120\",\"href\":\"/_next/static/images/img/apple-touch-icon-120x120-169d5a3cf2a78fa8e7dfa780f15abcb7.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"144x144\",\"href\":\"/_next/static/images/img/apple-touch-icon-144x144-9b1aa25d8b37e9b97af4717495fd71bf.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"152x152\",\"href\":\"/_next/static/images/img/apple-touch-icon-152x152-e04100124be68d4151efe4eb96227866.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"/_next/static/images/img/apple-touch-icon-180x180-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"mask-icon\",\"href\":\"/_next/static/images/img/safari-pinned-tab-9b975a1bbe6e965061daed04a88d48e8.svg\",\"color\":\"#000000\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileColor\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileImage\",\"content\":\"/_next/static/images/img/mstile-144x144-c363ac4f42a2d7656bae44c971f5deab.png\"}],[\"$\",\"script\",null,{\"src\":\"https://vk.com/js/api/openapi.js?162\",\"type\":\"text/javascript\"}],[\"$\",\"$L1a\",null,{}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$L1b\",null,{\"data\":{\"headerStoreInitialData\":{\"categories\":[{\"objectType\":\"category\",\"coursesCount\":117,\"id\":1,\"imageUrl\":\"https://cdn.otus.ru/media/public/df/68/df68cab51573450db618e44501ae4c57.jpg\",\"slug\":\"programming\",\"title\":\"Программирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":17,\"id\":12,\"imageUrl\":\"https://cdn.otus.ru/media/public/69/0b/690b6d40c17c484d9130d57eb344260e.png\",\"slug\":\"architecture\",\"title\":\"Архитектура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":2,\"imageUrl\":\"https://cdn.otus.ru/media/public/4a/72/4a72106d85b8465c9d744cc0efe28a47.jpg\",\"slug\":\"data-science\",\"title\":\"Data Science\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":58,\"id\":3,\"imageUrl\":\"https://cdn.otus.ru/media/public/5d/74/5d74d97874e84236a8094f3e0246e6a8.jpg\",\"slug\":\"operations\",\"title\":\"Инфраструктура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":10,\"id\":8,\"imageUrl\":\"https://cdn.otus.ru/media/public/35/df/35dfb4a92fe140f6a1a3839fb8717f97.jpeg\",\"slug\":\"gamedev\",\"title\":\"GameDev\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":11,\"imageUrl\":\"https://cdn.otus.ru/media/public/c7/7e/c77e523bd935455ab0e0bd0c92c760b6.png\",\"slug\":\"information-security-courses\",\"title\":\"Безопасность\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":46,\"id\":5,\"imageUrl\":\"https://cdn.otus.ru/media/public/84/43/8443c0d256c04ca698665c673afc866c.jpg\",\"slug\":\"marketing-business\",\"title\":\"Управление\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":25,\"id\":9,\"imageUrl\":\"https://cdn.otus.ru/media/public/75/ae/75ae55064f7345e3aab0301a7f42c66e.png\",\"slug\":\"analytics\",\"title\":\"Аналитика и анализ\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":26,\"id\":15,\"imageUrl\":null,\"slug\":\"business-product\",\"title\":\"Бизнес и продукт в IT\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":16,\"imageUrl\":null,\"slug\":\"import-substitution\",\"title\":\"Импортозамещение\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":12,\"id\":6,\"imageUrl\":\"https://cdn.otus.ru/media/public/f2/fa/f2fa758623834ad1b320efd6cd5166b5.png\",\"slug\":\"testing\",\"title\":\"Тестирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":9,\"id\":17,\"imageUrl\":null,\"slug\":\"neural_networks\",\"title\":\"Нейросети\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":19,\"id\":13,\"imageUrl\":null,\"slug\":\"it-bez-programmirovanija\",\"title\":\"IT без программирования\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":4,\"imageUrl\":\"https://cdn.otus.ru/media/public/2f/ac/2fac7d21d6534f50b383405656782275.jpg\",\"slug\":\"corporate\",\"title\":\"Корпоративные курсы\",\"isShowOnMainPage\":true},{\"objectType\":\"specialization\",\"coursesCount\":13,\"slug\":\"spec\",\"title\":\"Специализации\",\"isShowOnMainPage\":\"$undefined\"},{\"objectType\":\"online\",\"coursesCount\":14,\"slug\":\"online\",\"title\":\"Подготовительные курсы\",\"isShowOnMainPage\":true}]},\"headChunkStoreInitialData\":{\"type\":1,\"data\":{\"html\":\"\u003cdiv class=\\\"before-header-ui\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse1\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse2\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__container\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__img before-header-ui__img_sales\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__content\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title hide-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title show-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003c/div\u003e\\r\\n \u003ca href=\\\"https://otus.ru/catalog/courses?categories=neural_networks\u0026utm_source=internal\u0026utm_medium=free\u0026utm_campaign=otus\u0026utm_term=chank\u0026utm_content=sla_sale_20-02-2026-10-04-2026\\\" rel=\\\"nofollow noreferrer noopener\\\" target=\\\"_blank\\\" class=\\\"before-header-ui__button\\\"\u003eВыбрать курс\u003c/a\u003e\\r\\n \u003c/div\u003e\\r\\n\u003c/div\u003e\",\"id\":425,\"namespace\":null,\"key\":\"before-header-ui\",\"title\":\"Скидки на курсы по нейросетям\",\"include_paths\":null,\"exclude_paths\":null}}},\"children\":[\"$undefined\",[[],[\"$\",\"$L1c\",null,{}]],[\"$\",\"$L1d\",null,{}]]}]}],[\"$\",\"div\",null,{\"id\":\"__PORTAL__\"}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://mc.yandex.ru/watch/44973232\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\",\"top\":\"0\"},\"alt\":\"\"}]}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv\",\"style\":{\"position\":\"fixed\",\"left\":\"-999px\"},\"alt\":\"\"}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://top-fwz1.mail.ru/counter?id=3316675;js=na\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\"},\"alt\":\"Top.Mail.Ru\"}]}]}]]}]]}]\n"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"1e:I[78444,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b.js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1701\",\"static/chunks/1701-caea77cd580b46da.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"7601\",\"static/chunks/app/error-37bbf3f7388748a0.js\"],\"default\"]\n1f:[]\n20:[]\n21:[]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"html\",null,{\"lang\":\"ru\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"charSet\":\"UTF-8\"}],[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"link\",null,{\"rel\":\"image_src\",\"href\":\"/__new_static__/img/meta-image.png\"}],[\"$\",\"link\",null,{\"rel\":\"shortcut icon\",\"type\":\"image/x-icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"/_next/static/images/img/owl-flight-5d7d1106ce62f5dd4057eb334384e529.gif\",\"as\":\"image\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"href\":\"/_next/static/images/img/favicon-16x16-3dc5220f18624c2a6fd3aa3b081da00a.png\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"href\":\"/_next/static/images/img/favicon-32x32-dd124835ecce421e1bb2c8f849e49a3f.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/_next/static/images/img/apple-touch-icon-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"57x57\",\"href\":\"/_next/static/images/img/apple-touch-icon-57x57-92769d5e197783e63f3bb3c8519c8912.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"60x60\",\"href\":\"/_next/static/images/img/apple-touch-icon-60x60-dfaaf3934bc7ed111c8c306b967afeeb.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"72x72\",\"href\":\"/_next/static/images/img/apple-touch-icon-72x72-693f0d64a225d5f0fe26ba5d088c8f14.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"76x76\",\"href\":\"/_next/static/images/img/apple-touch-icon-76x76-f3487d673c3e7ae975cf190fb758ab10.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"114x114\",\"href\":\"/_next/static/images/img/apple-touch-icon-114x114-98609536fdaa492edede039bdd03cff2.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"120x120\",\"href\":\"/_next/static/images/img/apple-touch-icon-120x120-169d5a3cf2a78fa8e7dfa780f15abcb7.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"144x144\",\"href\":\"/_next/static/images/img/apple-touch-icon-144x144-9b1aa25d8b37e9b97af4717495fd71bf.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"152x152\",\"href\":\"/_next/static/images/img/apple-touch-icon-152x152-e04100124be68d4151efe4eb96227866.png\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"/_next/static/images/img/apple-touch-icon-180x180-a4721dddcfb741a7e41d52e619f3820d.png\"}],[\"$\",\"link\",null,{\"rel\":\"mask-icon\",\"href\":\"/_next/static/images/img/safari-pinned-tab-9b975a1bbe6e965061daed04a88d48e8.svg\",\"color\":\"#000000\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileColor\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileImage\",\"content\":\"/_next/static/images/img/mstile-144x144-c363ac4f42a2d7656bae44c971f5deab.png\"}],[\"$\",\"script\",null,{\"src\":\"https://vk.com/js/api/openapi.js?162\",\"type\":\"text/javascript\"}],[\"$\",\"$L1a\",null,{}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$L1b\",null,{\"data\":{\"headerStoreInitialData\":{\"categories\":[{\"objectType\":\"category\",\"coursesCount\":117,\"id\":1,\"imageUrl\":\"https://cdn.otus.ru/media/public/df/68/df68cab51573450db618e44501ae4c57.jpg\",\"slug\":\"programming\",\"title\":\"Программирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":17,\"id\":12,\"imageUrl\":\"https://cdn.otus.ru/media/public/69/0b/690b6d40c17c484d9130d57eb344260e.png\",\"slug\":\"architecture\",\"title\":\"Архитектура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":2,\"imageUrl\":\"https://cdn.otus.ru/media/public/4a/72/4a72106d85b8465c9d744cc0efe28a47.jpg\",\"slug\":\"data-science\",\"title\":\"Data Science\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":58,\"id\":3,\"imageUrl\":\"https://cdn.otus.ru/media/public/5d/74/5d74d97874e84236a8094f3e0246e6a8.jpg\",\"slug\":\"operations\",\"title\":\"Инфраструктура\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":10,\"id\":8,\"imageUrl\":\"https://cdn.otus.ru/media/public/35/df/35dfb4a92fe140f6a1a3839fb8717f97.jpeg\",\"slug\":\"gamedev\",\"title\":\"GameDev\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":11,\"imageUrl\":\"https://cdn.otus.ru/media/public/c7/7e/c77e523bd935455ab0e0bd0c92c760b6.png\",\"slug\":\"information-security-courses\",\"title\":\"Безопасность\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":46,\"id\":5,\"imageUrl\":\"https://cdn.otus.ru/media/public/84/43/8443c0d256c04ca698665c673afc866c.jpg\",\"slug\":\"marketing-business\",\"title\":\"Управление\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":25,\"id\":9,\"imageUrl\":\"https://cdn.otus.ru/media/public/75/ae/75ae55064f7345e3aab0301a7f42c66e.png\",\"slug\":\"analytics\",\"title\":\"Аналитика и анализ\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":26,\"id\":15,\"imageUrl\":null,\"slug\":\"business-product\",\"title\":\"Бизнес и продукт в IT\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":15,\"id\":16,\"imageUrl\":null,\"slug\":\"import-substitution\",\"title\":\"Импортозамещение\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":12,\"id\":6,\"imageUrl\":\"https://cdn.otus.ru/media/public/f2/fa/f2fa758623834ad1b320efd6cd5166b5.png\",\"slug\":\"testing\",\"title\":\"Тестирование\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":9,\"id\":17,\"imageUrl\":null,\"slug\":\"neural_networks\",\"title\":\"Нейросети\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":19,\"id\":13,\"imageUrl\":null,\"slug\":\"it-bez-programmirovanija\",\"title\":\"IT без программирования\",\"isShowOnMainPage\":true},{\"objectType\":\"category\",\"coursesCount\":27,\"id\":4,\"imageUrl\":\"https://cdn.otus.ru/media/public/2f/ac/2fac7d21d6534f50b383405656782275.jpg\",\"slug\":\"corporate\",\"title\":\"Корпоративные курсы\",\"isShowOnMainPage\":true},{\"objectType\":\"specialization\",\"coursesCount\":13,\"slug\":\"spec\",\"title\":\"Специализации\",\"isShowOnMainPage\":\"$undefined\"},{\"objectType\":\"online\",\"coursesCount\":14,\"slug\":\"online\",\"title\":\"Подготовительные курсы\",\"isShowOnMainPage\":true}]},\"headChunkStoreInitialData\":{\"type\":1,\"data\":{\"html\":\"\u003cdiv class=\\\"before-header-ui\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse1\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__ellipse2\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__container\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__img before-header-ui__img_sales\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__content\\\"\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title hide-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003cdiv class=\\\"before-header-ui__title show-phone\\\"\u003eКурсы по нейросетям со скидкой до 30%\u003c/div\u003e\\r\\n \u003c/div\u003e\\r\\n \u003ca href=\\\"https://otus.ru/catalog/courses?categories=neural_networks\u0026utm_source=internal\u0026utm_medium=free\u0026utm_campaign=otus\u0026utm_term=chank\u0026utm_content=sla_sale_20-02-2026-10-04-2026\\\" rel=\\\"nofollow noreferrer noopener\\\" target=\\\"_blank\\\" class=\\\"before-header-ui__button\\\"\u003eВыбрать курс\u003c/a\u003e\\r\\n \u003c/div\u003e\\r\\n\u003c/div\u003e\",\"id\":425,\"namespace\":null,\"key\":\"before-header-ui\",\"title\":\"Скидки на курсы по нейросетям\",\"include_paths\":null,\"exclude_paths\":null}}},\"children\":[[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"structuredData\",\"segmentPath\":[\"structuredData\"],\"error\":\"$1e\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$1f\"}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$1e\",\"errorStyles\":\"$20\",\"errorScripts\":\"$21\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L1c\",null,{}],\"notFoundStyles\":\"$1f\"}],[\"$\",\"$L1d\",null,{}]]}]}],[\"$\",\"div\",null,{\"id\":\"__PORTAL__\"}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://mc.yandex.ru/watch/44973232\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\",\"top\":\"0\"},\"alt\":\"\"}]}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://vk.com/rtrg?p=VK-RTRG-410987-bLXUv\",\"style\":{\"position\":\"fixed\",\"left\":\"-999px\"},\"alt\":\"\"}]}],[\"$\",\"noscript\",null,{\"children\":[\"$\",\"div\",null,{\"children\":[\"$\",\"img\",null,{\"src\":\"https://top-fwz1.mail.ru/counter?id=3316675;js=na\",\"style\":{\"position\":\"absolute\",\"left\":\"-9999px\"},\"alt\":\"Top.Mail.Ru\"}]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"Otus\\\",\\n \\\"url\\\": \\\"https://otus.ru\\\",\\n \\\"logo\\\": \\\"https://otus.ru/__new_static__/img/meta-image.png\\\",\\n \\\"sameAs\\\": [\\n \\\"https://vk.com/otusru\\\",\\n \\\"https://t.me/Otusjava\\\"\\n ]\\n}\"}}]\n"])</script><script>self.__next_f.push([1,"22:I[20056,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chunks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b.js\",\"5408\",\"static/chunks/5408-7304a011593a4e7b.js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"4514\",\"static/chunks/4514-28d343fc6e2d14e0.js\",\"9697\",\"static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js\"],\"Page\"]\n23:I[18927,[\"8330\",\"static/chunks/b57a0ff0-f64b6c8491bc987c.js\",\"7761\",\"static/chunks/7761-f25228226f9fd7b1.js\",\"3260\",\"static/chunks/3260-e663d3aeeb454c53.js\",\"4419\",\"static/chunks/4419-cfc7a5f44d08cc1b.js\",\"7844\",\"static/chunks/7844-5a1706e76e0167fe.js\",\"5632\",\"static/chunks/5632-5ae1d5cde11086be.js\",\"3118\",\"static/chunks/3118-3c71903ee058260c.js\",\"7670\",\"static/chunks/7670-88498cb7f740ea45.js\",\"5873\",\"static/chunks/5873-a84150cef512c203.js\",\"7985\",\"static/chunks/7985-5aa503ef1e488f37.js\",\"8012\",\"static/chu"])</script><script>self.__next_f.push([1,"nks/8012-ba13e2afafa1b32c.js\",\"4944\",\"static/chunks/4944-c0f1c1dc3dd5ddc8.js\",\"8212\",\"static/chunks/8212-ad195a1ac639b812.js\",\"428\",\"static/chunks/428-b85ac0b1d8ebbe87.js\",\"4888\",\"static/chunks/4888-09a084700e30f3b2.js\",\"2633\",\"static/chunks/2633-d7e691d1179a550f.js\",\"9374\",\"static/chunks/9374-dedf9cc8b15c395b.js\",\"5408\",\"static/chunks/5408-7304a011593a4e7b.js\",\"4485\",\"static/chunks/4485-9ab23cf29f3d4493.js\",\"4089\",\"static/chunks/4089-38c618b1e8038db2.js\",\"8308\",\"static/chunks/8308-a718381dbc33cfb4.js\",\"1598\",\"static/chunks/1598-4e9e0a333affae09.js\",\"7234\",\"static/chunks/7234-0a01e49f09a75afe.js\",\"1589\",\"static/chunks/1589-5e9d65a97827bc49.js\",\"8817\",\"static/chunks/8817-f756b1c7094aa889.js\",\"3742\",\"static/chunks/3742-cf316c1014abe42c.js\",\"7624\",\"static/chunks/7624-a0236e3eec1f6b3c.js\",\"5588\",\"static/chunks/5588-acf8559ddd553204.js\",\"1613\",\"static/chunks/1613-56d7f10ce9045e21.js\",\"4514\",\"static/chunks/4514-28d343fc6e2d14e0.js\",\"9697\",\"static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js\"],\"default\"]\n24:T865,"])</script><script>self.__next_f.push([1," \u003ch2\u003e\u003cstrong\u003eЧем специализация отличается от обычного курса?\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eЗдесь вы прокачаетесь сначала до junior-разработчика, а потом сразу же \u0026ndash; до middle.\u0026nbsp;\u003c/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eИ всё это в пределах одной программы.\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\n\u003ch2\u003e\u003cstrong\u003eКому подходит специализация?\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eТем, кто хочет с нуля освоить профессию Python-разработчика.\u003c/strong\u003e Ваши навыки разработки будут соответствовать строгим требованиям IT-компаний, даже если сейчас вы ничего не знаете о программировании\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eТем, кто ещё не определился с языком программирования.\u003c/strong\u003e Сможете полностью переквалифицироваться в Python-разработчика\u003c/li\u003e\n\u003c/ul\u003e\n\u003cspan style=\"text-decoration: underline;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #3598db; text-decoration: underline;\"\u003e\u003ca href=\"https://drive.google.com/file/d/151W4dGxYeAs_cXs48OlRaD3s_H4uZg5u/view?usp=sharing\" target=\"_blank\" rel=\"noopener\"\u003eСравнить уровни сложности курсов по Python\u003c/a\u003e\u003cbr /\u003e\u003c/span\u003e\u003c/strong\u003e\u003c/span\u003e\u003cbr /\u003e\n\u003ch2\u003e\u003cstrong\u003eГде нужен Python?\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli style=\"font-weight: 400;\" aria-level=\"1\"\u003e\u003cspan style=\"font-weight: 400;\"\u003eбэкенд-разработка\u0026nbsp;\u003c/span\u003e\u003c/li\u003e\n\u003cli style=\"font-weight: 400;\" aria-level=\"1\"\u003e\u003cspan style=\"font-weight: 400;\"\u003eвысокие нагрузки\u003c/span\u003e\u003c/li\u003e\n\u003cli style=\"font-weight: 400;\" aria-level=\"1\"\u003e\u003cspan style=\"font-weight: 400;\"\u003eавтоматизация тестирования\u003c/span\u003e\u003c/li\u003e\n\u003cli style=\"font-weight: 400;\" aria-level=\"1\"\u003e\u003cspan style=\"font-weight: 400;\"\u003eвеб-разработка\u003c/span\u003e\u003c/li\u003e\n\u003cli style=\"font-weight: 400;\" aria-level=\"1\"\u003e\u003cspan style=\"font-weight: 400;\"\u003edata science\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"25:T85a,"])</script><script>self.__next_f.push([1," Пояснения и рекомендации:\n1. Данное задание можно выполнить в двух вариантах: использовать готовый файл с контактами (находится в материалах) или написать свою структуру:\n1.1. В качестве \"хранилища\" контактов можно использовать любой формат - txt, json, csv\n1.2. Контакт минимально должен содержать имя, телефон и комментарий (по желанию можно дополнить поля)\n2. Реализацию сохранения можно выполнить двумя способами: загружать файл, создавать буферную копию для работы и в дальнейшем сохранять (или нет) внесенные изменения, или вносить изменения сразу в файл\n3. Если выбран вариант буферизации - добавить функционал проверки изменений перед выходом (предлагать сохранить изменения) - опционально (делать необязательно)\n4. Поиск по контактам можно делать отдельно по полям (имя, телефон, комментарий), так и общий (поисковое слово ищет сразу во всех полях контакта)\n5. Для упрощения поиска, изменения и удаления рекомендуется добавить контактам - ID\n6. Добавить всевозможные проверки, чтобы программа не крашилась в случае введенных неверных данных\n7. Данное задание подразумевает отличное владение всеми навыками, затронутыми в первом модуле\n8. Сдавать ДЗ ссылкой на свой репозиторий."])</script><script>self.__next_f.push([1,"26:T854,"])</script><script>self.__next_f.push([1,"- скопируйте папку homework_05 для этой домашки (Памятка: https://github.com/OtusTeam/BasePython/tree/homeworks)\nиспользуйте следующие пакеты:\n - FastAPI\n - uvicorn\n- в модуле app создайте базовое FastAPI приложение\n- создайте обычные представления\n- создайте index view /\n- добавьте страницу /about/, добавьте туда текст, информацию о сайте и разработчике\n- создайте базовый шаблон (используйте https://getbootstrap.com/docs/5.0/getting-started/introduction/#starter-template)\n- в базовый шаблон подключите статику Bootstrap 5 (подключите стили), примените стили Bootstrap\n- в базовый шаблон добавьте навигационную панель nav (https://getbootstrap.com/docs/5.0/components/navbar/)\n- в навигационную панель добавьте ссылки на главную страницу / и на страницу /about/ при помощи url_for\n- добавьте новые зависимости в файл requirements.txt в корне проекта (лучше вручную, но можно командой pip freeze \u003e requirements.txt, тогда обязательно проверьте, что туда попало, и удалите лишнее)\n- создайте api представления:\n- создайте api router, укажите префикс /api\n- добавьте вложенный роутер для вашей сущности (если не можете придумать тип сущности, рассмотрите варианты: товар, книга, автомобиль)\n- добавьте представление для чтения списка сущностей\n- добавьте представление для чтения сущности\n- добавьте представление для создания сущности"])</script><script>self.__next_f.push([1,"27:T730,- скопируйте папку `homework_03` для этой домашки \n (Памятка: https://github.com/OtusTeam/BasePython/tree/homeworks-new)\n- обязательно используйте виртуальное окружение\n- никогда не добавляйте в репозиторий своё локальное виртуальное окружение\n- установите `FastAPI` и `uvicorn`\n - инструмент на ваш выбор: pip, Pipenv, poetry\n- создайте веб приложение на `FastAPI`\n- обязательно добавьте view со следующими свойствами \n (данный view будет использован для проверки):\n - путь `/ping/`\n - статус ответа `200`\n - тело ответа — JSON объект `{\"message\": \"pong\"}`\n- соберите зависимости для своего веб-приложения\n - инструмент на ваш выбор: requirements.txt, Pipenv, poetry\n- создайте/отредактируйте Dockerfile. В нём должно быть выполнено следующее:\n - установка зависимостей\n - копирование всех модулей приложения\n - запуск вебсервера `uvicorn` c параметрами host `0.0.0.0` и port `8000`\n- допишите в заголовок файла комментарий с информацией о том, как запустить этот контейнер \n (можно готовую строчку запуска с проброшенными портами и тд)\n- по желанию добавьте в приложение другие фичи (например те, что мы писали на уроке)28:Tf54,"])</script><script>self.__next_f.push([1,"- скопируйте папку `homework_04` для этой домашки (Памятка: https://github.com/OtusTeam/BasePython/tree/homeworks-new)\n- используйте следующие пакеты: \n - aiohttp\n - SQLAlchemy\u003e=1.4\n- доработайте модуль `jsonplaceholder_requests`:\n - установите значения в константы `USERS_DATA_URL` и `POSTS_DATA_URL` (ресурсы нужно взять отсюда https://jsonplaceholder.typicode.com/)\n - создайте асинхронные функции для выполнения запросов к данным ресурсам (используйте `aiohttp`)\n - рекомендуется добавить базовые функции для запросов, которые будут переиспользованы (например `fetch_json`)\n- доработайте модуль `models`:\n - создайте асинхронный алхимичный `engine` (при помощи `create_async_engine`)\n - добавьте `declarative base`\n - создайте объект `Session` на основе класса `AsyncSession`\n - добавьте модели `User` и `Post`, объявите поля:\n - для модели `User` обязательными являются `name`, `username`, `email`\n - для модели `Post` обязательными являются `user_id`, `title`, `body`\n - создайте связи `relationship` между моделями: `User.posts` и `Post.user`\n- доработайте модуль `main`:\n - доработайте функцию main, по вызову которой будет выполняться полный цикл программы \n (добавьте туда выполнение асинхронной функции `async_main` при помощи `asyncio.run`):\n - создание таблиц (инициализация)\n - загрузка пользователей и постов\n - загрузка пользователей и постов должна выполняться конкурентно (параллельно) \n при помощи [`asyncio.gather`](https://docs.python.org/3/library/asyncio-task.html#running-tasks-concurrently)\n - функции должны создавать новые объекты (например списки со словарями) и возвращать их как результат. \n Например:\n ```python\n users_data: List[dict]\n posts_data: List[dict]\n users_data, posts_data = await asyncio.gather(\n fetch_users_data(),\n fetch_posts_data(),\n )\n ```\n - полученные данные передавайте в следующие функции для создания записей в БД \n - никогда не используйте глобальные объекты для передачи данных между функциями \n - никогда не мутируйте глобальные объекты внутри функций \n - добавление пользователей и постов в базу данных \n (используйте полученные из запроса данные, передайте их в функцию для добавления в БД)\n - закрытие соединения с БД\n- добавьте новые зависимости в файл `requirements.txt` в корне проекта \n (лучше вручную, но можно командой `pip freeze \u003e requirements.txt`, тогда обязательно проверьте, что туда попало)"])</script><script>self.__next_f.push([1,"29:Tbc6,"])</script><script>self.__next_f.push([1,"Работал в компании Диалог Регионы в должности аналитика на Python и Low-Code разработчиком в другой компании, так же на питоне (ещё раньше был инженер-программистом, писал программы под ПЛК на ST).\r\n\r\nВыбрал специализацию Python Developer, так как стало интересно погрузиться в нативную разработку на Python.\r\n\r\nМне понравилась структура курса и подача материала. Хотелось бы добавить больше материалов по выводу продуктов в прод и задания которые нужно выполнять в командах через GIT (ревью новых фич через Merge Request и тому подобное), больше ревью кода.\r\n\r\nОбучение дало навыки работы с Джанго и Фастапи, работой с БД через ОРМ, умение проектировать структуру БД. На продвинутом курсе удалось пощупать Го и посмотреть на веб разработку с точки зрения продвинутого уровня.\r\n\r\nПреподаватели действующие специалисты, что очень ценно и полезно.\r\n\r\nВ продвинутом модуле были достаточно трудные задачи, которые потребовали не малых усилий и времени.\r\n\r\nПродвинутый курс по моему мнению в раза 2 сложнее по материалу и раза в три по домашкам. Действительно разрыв большой и вызовы были серьёзные. Возможно стоит разделить на три модуля Джун/Джун+/Мидл-. До твёрдого мидла только с одного обучения по моему мнению вырасти почти не возможно (если только нет серьёзного бэкграунда в разработке в принципе), но если на курсе поработать командой над более менее сложным и интересным проектом, то стать твёрдым джуном или околомидлом - вполне.\r\n\r\nЯ бы поставил курсу 7.5 из 10, т.к. мне не хватило ревью кода и погружения в атмосферу командной разработки, что как раз и происходит в реальных проектах\r\nНо как курс дающий базовые знания - хороший вариант. Вероятно, что посоветовал бы, но есть куда расти."])</script><script>self.__next_f.push([1,"2a:T165d,"])</script><script>self.__next_f.push([1,"Начну с моей истории:\r\nЯ свитчер из корпоративных продаж, решая войти в IT в 2021 году пошел обучаться в GeekBrains на факультет Искусственного Интеллекта. Это был курс длящийся 1 год и 6 месяцев, по факту выросший в почти 2 года из-за переносов. Для меня это была \"Обзорная\" профессия, в которой я мог себя попробовать в разработке, математике, аналитике, машинном обучении, нейросетях. И, в итоге, выбрать то, что больше нравится.\r\n\r\nЧерез 5 месяцев я устроился работать в небольшой региональный банк, в отдел разработки систем машинного обучения и аналитики. Отдел был небольшой, 4 человека с руководителем, соответственно и пул задач был максимально широким. Там мы пробовали много различных технологий, ферймворков, баз данных, строили и банковскую отчетность, инженерили данные, стоили ML модели, выкатывали backend приложения.\r\n\r\nВ какой-то момент я понял, что мне больше нравятся backend задачи, и похоже нужно снова менять профессию, благо в этот раз не так радикально. Увидел рекламу специализации Python Developer в соц. сетях, прошел тест, понравились вопросы, сложилось впечатление что обучение не для новичков, так и произошло) Благодаря этому обучению мне удалось подготовиться к новой сфере, получить несколько офферов от IT гигантов, и в итоге устроиться в Дом Клик, чему я очень рад. На данном профессиональном этапе для меня это пойти работать в компанию мечты! Сейчас я Middle Backend Developer в ДомКлик.\r\n\r\nМне понравилось, что курс был точно не для новичков, затрагивались глубокие технические темы, было непросто учиться, много всего узнал, что теперь рассказываю на новой работе коллегам. Также понравилось, то, что мы заглянули во внутрянку Python (виртуальную машину и его код на C). И то, что в курсе есть довольно основательный блок по GO, этого действительно хватило, чтобы начать писать первые приложения.\r\n\r\nПреподаватели производили впечатление профессионалов, рассказывали тонкости, которые обычно не легко найти даже если целенаправленно пытаться искать. Очень ценно было присутствовать на уроках и задавать вопросы лично.\r\n\r\nСложнее всего в процессе обучения было самоорганизоваться и делать что-то сверх обязательных домашних заданий, например, читать книги, смотреть видео, писать код, чтобы самому детально понять тему.\r\n\r\nЛично мне было довольно просто перейти с первой ступени обучения на вторую, так как я изначально собирался на Professional, но для него я не знал Django и еще несколько вещей необходимых для него, поэтому решил начать с Basic. Это два ощутимо разных курса по сложности. Если на Basic с вами сюсюкались, то здесь было все по-взрослому, сразу считалось, что вы знаете большой пласт знаний, которые по факту добирал по пути. Если бы я пришел с нуля на эту специализацию, не имея коммерческого опыта в пару лет, скорей всего на Professional я б сломался точно, если не на Basic. Но сейчас мне такая сложность понравилась)\r\n\r\nЕдинственное, хотелось бы иметь возможность скачивать видео с платформы, так как иногда уезжал туда, где нет интернета, а учиться нужно было успевать.\r\n\r\nЯ бы однозначно посоветовал пойти на курсы от OTUS, так как есть ощущение, что это не массовый продукт вроде везде рекламируемых всем нам знакомых онлайн-школ, здесь чувствуется профессионализм!"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"2b:T1bef,"])</script><script>self.__next_f.push([1,"Работаю архитектором программного обеспечения в компании NobilisTeam.\r\n\r\nВыбрал именно специализацию Python Developer, потому что мне был интересен язык Python в качестве саморазвития. На одном ютуб-канале по IT-тематике автор часто использовал Python для написания каких-то скриптов, автоматизации и прочих личных задач. Меня заинтересовало, начал самостоятельно изучать язык, повторять какие-то вещи из его видео. Пописал различные парсеры интересных мне сайтов, создавал разных Телеграм ботов, которые присылали краткие выжимки с этих сайтов, да и просто баловался всякими вещами. В какой-то момент захотелось получить более углубленные и систематизированные знания по Python, прокачать скиллы. Так как я ранее уже проходил обучение в OTUS на курсе Enterprise Architect, то решил посмотреть, что есть по Python. Собственно, в итоге выбор и пал на специализацию по Python. Решил брать сразу «комплект», так как это было не сильно дороже, чем один курс Basic или Professional на тот момент.\r\n\r\nОбучение, в общем и целом, построено удобно. Достаточно много практических задач. Можно спокойно пропустить онлайн-занятие и потом посмотреть запись, если по каким-то причинам не получается присутствовать на уроке. Уроки хорошие, преподаватели всегда стараются поддерживать какой-то интерактив во время урока, а не просто ведут монолог, быстро реагируют на сообщения и вопросы в чате во время урока и дополнительно раскрывают какие-то моменты, если что-то непонятно.\r\n\r\nМоя изначальная цель на обучение определенно была достигнута. Я хотел систематизировать уже имеющие знания и научиться чему-то новому. Из нового - более углубленно пришлось знакомиться с различными библиотеками, погрузиться в дебри Docker и научиться с ним работать на достаточно уверенном уровне, прилично пощупать CI/CD и научиться писать достаточно комплексные пайплайны. Это все было не совсем обязательно по заданиям, но мне интересно погружаться в темы более детально и разбираться в них. Поэтому на Basic курсе я зачастую делал даже больше, чем требовалось в заданиях просто потому, что мне было интересно. С Professional курсом уже интереснее, так как там задания сами по себе на порядок сложнее и объемнее. Новые навыки оказались полезными на текущем месте работы. Где-то добавил автоматизации через Python скрипты для облегчения жизни, где-то предлагал решить те или иные коммерческие задачи с помощью Python.\r\n\r\nСамым сложным на всем обучении оказались домашние задания с курса Professional. Некоторые из них потребовали прямо серьезного погружения в тему и разбора определенных технологий более углубленно. А некоторые из них оказались вообще непосильными. Есть одна прекрасная опциональная домашка с написанием кода на Си. Её так и не получилось решить даже за 3 разных подхода. Поскольку домашка опциональная, решил отложить. Возможно, вернусь к ней, если будет время до окончания курса.\r\n\r\nПерейти с первой ступени обучения на вторую было непросто. У меня уже был достаточный опыт в коммерческой разработке, в общем и целом, но по Python я шёл на базовый курс будучи самоучкой. Вот курс Basic давался достаточно легко. Что-то я уже знал хорошо, что-то знал поверхностно и было легко подхватить и доучить, а то, что не знал, было достаточно легко в изучении. А вот с курсом Professional уже интереснее. Какие-то темы там тоже оказались знакомые, но большая часть тем уже достаточно «глубинные» и требуют неких познаний. Я бы сказал, что нужно иметь хотя бы 1-1.5 года уже коммерческой разработки на Python, чтобы «комфортно» чувствовать себя на Professional. Достаточно многое приходится гуглить, разбираться в темах и изучать. В совокупности с большой рабочей загрузкой это ощутимо тяжело. Но, в общем и целом, если иметь хорошую техническую базу (не по Python, а в целом в программировании), то курс можно освоить, просто это потребует определенных усилий и времени.\r\n\r\nЯ бы посоветовал знакомым пойти на курсы от OTUS. Почему – сложно ответить конкретно. В общем и целом, ответ на вопрос «почему» — это среднее арифметическое из всего выше написанного."])</script><script>self.__next_f.push([1,"2d:{\"start\":\"#387C17\",\"stop\":\"#1B5300\"}\n2c:{\"gradient\":\"$2d\",\"secondColor\":\"#418A1F\",\"textIsBlack\":false}\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$L22\",null,{\"hideOverlayBanner\":true,\"withTopPadding\":false,\"theme\":{\"gradient\":{\"start\":\"#387C17\",\"stop\":\"#1B5300\"},\"secondColor\":\"#418A1F\",\"textIsBlack\":false},\"children\":[\"$\",\"$L23\",null,{\"initialData\":{\"course\":{\"id\":299,\"slug\":\"python-specialization\",\"title\":\"Python Developer\",\"isSpecialization\":true,\"difficultyLevel\":\"Basic\",\"partnerLink\":null,\"partnerText\":\"\",\"partnerImageUrl\":null,\"partnerHeaderText\":null,\"partnerImageAlt\":\"логотип партнера\",\"category\":{\"title\":\"Программирование\",\"slug\":\"programming\"},\"scheduleGroup\":null,\"headerIconUrl\":\"https://cdn.otus.ru/media/public/2c/d8/2cd8021b56d54eddb50fa9978dffdb27.svg\",\"headerIconInvtUrl\":\"https://cdn.otus.ru/media/public/4d/8f/4d8fdad20e6c460092b45b91a57869e8.svg\",\"employers\":[{\"id\":62,\"title\":\"Газпромбанк АО\",\"logoUrl\":\"https://cdn.otus.ru/media/public/81/c8/81c844c71b85419b8aa2ad821d8f6c84.jpg\"},{\"id\":13,\"title\":\"Яндекс\",\"logoUrl\":\"https://cdn.otus.ru/media/public/af/e4/afe4aa9660d444688ddc48c2acf31bd0.jpg\"},{\"id\":190,\"title\":\"Ozon Tech\",\"logoUrl\":\"https://cdn.otus.ru/media/public/7a/13/7a13906b56804a5f94d7bbb6e61f69e3.jpg\"},{\"id\":244,\"title\":\"КОД ПОДБОРА\",\"logoUrl\":\"https://cdn.otus.ru/media/public/82/85/828560e20c494ff7ac73b32ae47dd3ba.webp\"},{\"id\":11,\"title\":\"Avito\",\"logoUrl\":\"https://cdn.otus.ru/media/public/6c/81/6c8195524caf4befbb74c7a803f678fc.png\"}],\"gaGoalDodWithoutAssessment\":\"spec-python_claim_event_ok\",\"yaGoalDodWithoutAssessment\":\"spec-python_claim_event_ok\",\"isForChildren\":false,\"linkTg\":null,\"linkVk\":null},\"blocks\":[{\"desc\":\"\u003cp\u003eВсе, что нужно знать о программировании на Python: с нуля до middle+\u003cspan style=\\\"display: inline-block;\\\"\u003e\u003c/span\u003e\u003c/p\u003e\",\"isSpecialPriceShow\":false,\"isCourseUpdateShow\":true,\"specialPriceText\":\"Специальная цена\",\"specialPriceHelpText\":\"Скидка при покупке полного курса 5% до 22 февраля 2026!\",\"courseUpdateText\":\"Курс переработан\",\"courseUpdateHelpText\":\"\",\"id\":2774,\"type\":\"specialization_header\"},{\"desc\":\"$24\",\"hasBlockPrice\":false,\"verticalBanner\":{\"link\":null,\"imgAlt\":\"\",\"imgUrl\":\"https://cdn.otus.ru/media/public/48/2c/питон_2-263987-482ca8.jpg\"},\"horizontalBanner\":{\"link\":null,\"imgAlt\":\"\",\"imgUrl\":\"https://cdn.otus.ru/media/public/50/f1/big_питон-263987-50f129.jpg\"},\"id\":2775,\"type\":\"specialization_description\"},{\"subtitle\":\"\u003ch2\u003e\u003cspan\u003eСпециализация состоит из двух ступеней, каждая длится 5 месяцев\u003c/span\u003e\u003c/h2\u003e\",\"id\":2776,\"type\":\"SPECIALIZATION_RESULTS\",\"results\":[{\"id\":33,\"desc\":\"\u003cul\u003e\\n\u003cli\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eЧтобы начать обучение, понадобится только компьютер\u003c/span\u003e\u003c/li\u003e\\n\u003c/ul\u003e\",\"title\":\"Начало обучения\",\"subtitle\":\"28 мая\",\"skillTag\":\"\"},{\"id\":34,\"desc\":\"\u003cul\u003e\\n\u003cli\u003eПознакомитесь с синтаксисом и базовыми операторами Python\u003c/li\u003e\\n\u003cli\u003eИзучите основы ООП и научитесь писать тесты\u003c/li\u003e\\n\u003cli\u003eНаучитесь работать в асинхронном режиме с вебом и базами данных, создавать и настраивать автоматические тесты, работать с API\u003c/li\u003e\\n\u003cli\u003eНаучитесь использовать библиотеки для data science, разворачивать приложения в Docker-контейнерах, настраивать автоматический деплой\u003c/li\u003e\\n\u003c/ul\u003e\",\"title\":\"Ступень 1\",\"subtitle\":\"Вт 20:00, Чт 20:00\",\"skillTag\":\"Junior\"},{\"id\":35,\"desc\":\"\u003cul\u003e\\n\u003cli\u003eРассмотрите фундаментальные основы Python и веб-разработки на продвинутом уровне\u003c/li\u003e\\n\u003cli\u003eНаучитесь писать простой и идиоматичный код, тестировать и поддерживать код на Python\u003c/li\u003e\\n\u003cli\u003eОсвоите программную инженерию, сформируете прагматичный подход к решению задач\u003c/li\u003e\\n\u003cli\u003eНаучитесь писать приложения, которые не умирают под нагрузкой\u003c/li\u003e\\n\u003c/ul\u003e\",\"title\":\"Ступень 2\",\"subtitle\":\"Пн 20:00, Ср 20:00\",\"skillTag\":\"Middle\"}]},{\"columns\":[{\"imageUrl\":null,\"text\":\"\u003ch3\u003e\u003cspan\u003e\u003cstrong\u003eСистема знаний\u003c/strong\u003e\u003c/span\u003e\u003cspan\u003e\u003c/span\u003e\u003c/h3\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cbr /\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eИзучайте азы, осваивайте продвинутые навыки и переходите на профессиональный уровень\u003c/span\u003e\u003cbr /\u003e\u003c/span\u003e\u003c/p\u003e\"},{\"imageUrl\":null,\"text\":\"\u003ch3\u003e\u003cstrong\u003eОпыт экспертов\u003c/strong\u003e\u003c/h3\u003e\\n\u003cp\u003e\u003cbr\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eНаши преподаватели \u0026ndash; эксперты разработки со средним стажем 10 лет, работающие с крупными заказчиками\u003c/span\u003e\u003c/p\u003e\"},{\"imageUrl\":null,\"text\":\"\u003ch3\u003e\u003cstrong\u003eВосстребованность на рынке\u003c/strong\u003e\u003c/h3\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cbr /\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eНаучитесь выполнять задачи, \u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eкоторые по силам \u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003emiddle-разработчику\u003c/span\u003e\u003cbr /\u003e\u003c/span\u003e\u003c/p\u003e\"}],\"id\":2777,\"type\":\"textcolumns\"},{\"title\":\"Карьерная поддержка\",\"sliderTitle\":\"Работодатели\",\"desc\":\"\u003cdiv\u003e\\n\u003cp\u003e\u003cspan\u003eМногие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.\u003c/span\u003e\u003c/p\u003e\\n\u003c/div\u003e\",\"advantages\":\"\u003cul\u003e\\n\u003cli\u003e\u003cspan\u003e\u003cstrong\u003eРазместите резюме в базе OTUS\u003c/strong\u003e: так наши партнёры смогут пригласить вас на интервью\u003cbr\u003e\u003cbr\u003e\u003c/span\u003e\u003c/li\u003e\\n\u003cli\u003e\u003cspan\u003e\u003cstrong\u003eУчаствуйте в карьерных мероприятиях\u003c/strong\u003e: там мы разбираемся, как составить резюме\u003c/span\u003e\u003c/li\u003e\\n\u003c/ul\u003e\",\"vacancyDesc\":{\"title\":\"Python Developer\",\"count\":5703,\"salaryJunior\":140000,\"salaryMiddle\":250000,\"salarySenior\":360000},\"id\":2778,\"type\":\"SPECIALIZATION_EMPLOYMENT\"},{\"header\":\"\u003ch5\u003eФормат обучения\u003c/h5\u003e\",\"columns\":[{\"text\":\"\u003ch3\u003e\u003cspan\u003eИнтерактивные вебинары\u003c/span\u003e\u003c/h3\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e2 онлайн-занятия по 2 академических часа в неделю, вечный доступ к обучающим материалам\u003c/span\u003e\u003c/p\u003e\",\"imageUrl\":\"\"},{\"text\":\"\u003ch3\u003e\u003cspan\u003eДве проектные \u003c/span\u003e\u003cspan\u003eработы\u003c/span\u003e\u003c/h3\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cbr /\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eДополните портфолио двумя разными проектами. Чувствуйте себя на собеседованиях уверенно\u003c/span\u003e\u003cbr /\u003e\u003c/span\u003e\u003c/p\u003e\",\"imageUrl\":\"\"},{\"text\":\"\u003ch3\u003e\u003cspan\u003eАктивное комьюнити\u003c/span\u003e\u003c/h3\u003e\\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003eОбщайтесь с преподавателями на вебинарах, в закрытом телеграм-чате, при проверке домашних заданий\u003cbr\u003e\u003c/span\u003e\u003c/p\u003e\",\"imageUrl\":\"\"}],\"id\":2779,\"type\":\"SPECIALIZATION_EDUCATION_FORMAT\"},{\"text\":\"\u003cp class=\\\"p1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eМенторы объяснят, как лучше справляться с задачами. Групповой разбор домашних заданий проходит раз в месяц\u003c/span\u003e\u003c/p\u003e\",\"headerText\":\"\u003ch2\u003e\u003cspan\u003eГрупповые менторские консультации\u003c/span\u003e\u003c/h2\u003e\",\"bgColor\":null,\"descFirsBlock\":\"\u003cp class=\\\"p1\\\"\u003e\u003cspan class=\\\"Apple-converted-space\\\"\u003e\u0026nbsp;\u003c/span\u003eВы выполняете домашнее задание\u003c/p\u003e\",\"descSecondBlock\":\"\u003cp class=\\\"p1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eМентор проверяет ДЗ в личном кабинете, даёт развернутую обратную связь\u003c/span\u003e\u003c/p\u003e\",\"descThirdBlock\":\"\u003cp class=\\\"p1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eНа занятии ментор отвечает на частые вопросы, подробно разбирает работы студентов, объясняет каждый этап выполнения ДЗ\u003c/span\u003e\u003c/p\u003e\",\"descFourthBlock\":\"\u003cp class=\\\"p1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eВы можете проконсультироваться с ментором в телеграм-чате. Ментор расскажет об итогах проверки, объяснит непонятные детали\u003c/span\u003e\u003c/p\u003e\",\"id\":2780,\"type\":\"SPECIALIZATION_PERSONAL_MENTOR\"},{\"id\":2781,\"type\":\"program\",\"program\":{\"data\":{\"id\":1573,\"title\":\"Spec python-2023-02\",\"duration\":null,\"stages\":[{\"id\":33,\"number\":1,\"title\":\"1 ступень\",\"description\":\"\",\"modules\":[{\"id\":8567,\"number\":1,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Основы Python\",\"description\":\"Цель: знакомство с базовыми структурами данных и операторами Python. Азы работы с shell и git.\",\"type\":\"common\",\"lessons\":[{\"id\":50911,\"likeDown\":0,\"likeUp\":0,\"description\":\"знакомство с автором курса;\\nподготовка к прохождению курса;\\nустановка необходимого софта.\",\"title\":\"Введение в курс. Подготовка к работе\",\"summary\":\"ответы на вопросы о самом курсе;\\nустановка интерпретатора;\\nустановка IDE.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50912,\"likeDown\":0,\"likeUp\":0,\"description\":\"основные понятия Python и отличительные черты;\\nзнакомство со встроенными неизменяемыми типами данных.\",\"title\":\"Базовые типы данных\",\"summary\":\"общие базовые понятия Python;\\nхранение в памяти неизменяемых объектов;\\nизучение встроенных неизменяемых типов данных: int, float, str, bool, None.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50913,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть конструкции для управления потоком: оператор ветвления и циклы;\\nразобраться с тонкостями использования операторов ветвления и циклов.\",\"title\":\"Управление потоком\",\"summary\":\"оператор ветвления if, elif, else;\\nлогические операции и таблица истинности;\\nработа с циклом while;\\nработа с циклом for;\\nвложенные циклы.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50914,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть основные встроенные коллекции в Python.\",\"title\":\"Коллекции\",\"summary\":\"хранение в памяти изменяемых объектов и отличие от хранения неизменяемых;\\nпознакомиться со списками;\\nпознакомиться с кортежами;\\nпознакомиться с множествами;\\nпознакомиться со словарями.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92923,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить понимание о функциях в Python.\",\"title\":\"Функции/ Часть 1\",\"summary\":\"понятие функции;\\nаргументы функции;\\nreturn;\\nрекурсия;\\nlambda;\\nвстроенные функции;\\nфункции высшего порядка.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":94366,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с продвинутым использованием функций;\\nрассмотреть списковые включения (comprehensions);\\nразобраться как работают генераторы;\\nпознакомиться с декораторами.\",\"title\":\"Функции. Часть 2 (Декораторы) \",\"summary\":\"однострочные выражения: включения и генераторы;\\nобласти видимости функции;\\nзамыкания функции;\\nдекораторы.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92924,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться работать с файлами;\\nпознакомиться с контекстным менеджером with;\\nпознакомиться с сериализаций данных.\",\"title\":\"Работа с файлами // ДЗ\",\"summary\":\"чтение, запись и перезапись файлов;\\nпознакомиться со встроенной библиотекой pathlib;\\nиспользование контекстного менеджера для работы с файлами;\\nсериализация данных: txt, csv, json;\\nрассмотрение GIT и привязка к IDE.\",\"likeUser\":null,\"homeworks\":[{\"id\":35614,\"title\":\"Создание телефонного справочника\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Написать телефонный справочник, который будет сохранять контакты в файл и иметь следующий функционал:\\n- открыть файл\\n- сохранить файл\\n- показать все контакты\\n- создать контакт\\n- найти контакт\\n- изменить контакт\\n- удалить контакт\\n- выход\",\"likeUser\":null,\"description\":\"$25\"}]}]},{\"id\":8568,\"number\":2,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Продвинутый Python\",\"description\":\"Знакомство с ООП в Python. \\nПрименение всех основных принципов ООП, \\nзнакомство с датаклассами.\\nРазделение на модули.\",\"type\":\"common\",\"lessons\":[{\"id\":50915,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с классами и объектами;\\nпознакомиться с основными принципами ООП.\",\"title\":\"Основы ООП\",\"summary\":\"понятие классов и объектов;\\nпонять, что такое инкапсуляция;\\nпознакомиться с наследованием;\\nрассмотреть полиморфизм;\\nрассмотреть абстракцию.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":94367,\"likeDown\":0,\"likeUp\":0,\"description\":\"знакомство с дандер-методами;\\nнаследование, переопределение и полиморфизм классов.\",\"title\":\"Продвинутый ООП. Продолжение \",\"summary\":\"основные дандер-методы базового класса object;\\nпереопределение методов;\\nполиморфизм;\\nдандеры логических операций;\\nдандеры операторов сравнения и декоратор total_ordering;\\nдандеры итераторов и контекстного менеджера.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50916,\"likeDown\":0,\"likeUp\":0,\"description\":\"знакомство с дандер-методами;\\nстатические и классовые методы;\\nгеттеры и сеттеры;\\nдатаклассы;\\nисключения.\",\"title\":\"Продвинутый ООП. Исключения\",\"summary\":\"более подробный разбор дандер-методов;\\nотличие обычных методов от статических и классовых;\\nдекоратор property, его геттеры и сеттеры;\\nпонятие датаклассов;\\n знакомство с исключениями.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50917,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться организовывать код по модулям.\",\"title\":\"Модули //ДЗ\",\"summary\":\"организация кода в модули.\",\"likeUser\":null,\"homeworks\":[{\"id\":36185,\"title\":\"Рефакторинг ДЗ из первого модуля\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Провести рефакторинг ДЗ из первого модуля.\\nПеревести написанный телефонный справочник на классы и разбить по модулям (паттерн MVC).\",\"likeUser\":null,\"description\":\"Пояснения:\\n1. Разбить код на 3 модуля view, controller, model;\\n2. Создать классы для справочника, контакта, чтения файла и записи файла;\\n3. Создать кастомные исключения для обработки всевозможных ошибок;\\n4. Написать тесты (unittest или pytest) для справочника.\"}]},{\"id\":92926,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться со встроенными модулями и библиотеками Python.\",\"title\":\"Знакомство со встроенной библиотекой \",\"summary\":\"рассмотрим библиотеки:\\n- random;\\n- os и pathlib;\\n- itertools;\\n- functools;\\n- datetime.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50918,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться писать тесты при помощи библиотеки Unittest;\\nпонять, как происходит автоматическая проверка кода.\",\"title\":\"Тесты // ДЗ\",\"summary\":\"unittest;\\nunittest.mock.\",\"likeUser\":null,\"homeworks\":[{\"id\":36186,\"title\":\"Покрытие тестами и отладка телефонного справочника\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Освоить навыки написания тестов и отладки программы, покрыв весь функционал телефонного справочника тестами на основе Unittest или Pytest. \\nНеобходимо научиться выявлять и исправлять ошибки в коде с помощью тестирования.\\n\\nРезультат: \\nПолностью покрытый тестами проект, включающий тесты для всех ключевых функций и ситуаций, включая обработку исключений.\",\"likeUser\":null,\"description\":\"1. Создать отдельный файл или модуль для тестов (например, test_directory.py), где будут находиться все тесты.\\n2. Написать тесты для всех основных функций справочника, включая:\\n\\n- Добавление контакта\\n- Поиск контакта (по имени, телефону и общему поисковому запросу)\\n- Изменение контакта\\n- Удаление контакта\\n- Открытие и сохранение файла\\n\\n3. Реализовать тесты для различных типов ввода, в том числе некорректных данных, для проверки корректной работы кастомных исключений.\\n4. Обеспечить проверку граничных условий, таких как добавление пустого контакта, поиск несуществующего контакта и удаление по неверному ID.\\n5. Добавить параметризованные тесты для проверки различных вариантов данных, например, разных форматов имени или номера телефона.\\n6. Запустить все тесты, отладить код на основе ошибок, выявленных в тестировании, и убедиться, что весь функционал работает без ошибок.\"}]},{\"id\":93090,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться организовывать код в виде модулей для повышения читаемости и удобства сопровождения;\\nосвоить использование классов для структурирования данных и логики приложения;\\nпонять механизм обработки исключений для повышения надежности кода.\",\"title\":\"Практика\",\"summary\":\"разделение кода на модули;\\nсоздание и использование классов в Python;\\nработа с исключениями: перехват и обработка ошибок.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8569,\"number\":3,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Взаимодействие с внешним миром. Создание простейшего API. Сборка проекта\",\"description\":\"Основы работы с файлами (локально) и сетью (HTTP). Создание API\",\"type\":\"common\",\"lessons\":[{\"id\":50920,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить дополнительные важные встроенные модули Python;\\nнаучиться эффективно работать с расширенными структурами\\nданных, текстом, логами.\",\"title\":\" Расширенные возможности встроенной библиотеки Python\",\"summary\":\"collections — расширенные структуры данных;\\nre — работа с регулярными выражениями;\\nlogging — логирование и отладка программ.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92927,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить основы HTTP-запросов через Python;\\nнаучиться работать с публичными API;\\nпрактически применить requests для получения данных с API.\\n\",\"title\":\"Работа с HTTP и API\",\"summary\":\"краткое введение в HTTP:\\nметоды (GET, POST, PUT, DELETE);\\nструктура HTTP-запроса и ответа;\\nзаголовки и коды статусов;\\nработа с HTTP в Python (requests):\\nотправка GET-запросов;\\nпередача параметров в URL и заголовков;\\nразбор JSON-ответов;\\nпрактика: работа с публичным API (например, OpenWeatherMap):\\nрегистрация и получение API-ключа;\\nзапрос текущей погоды по городу;\\nразбор JSON-ответа и вывод полезной информации (температура, влажность, погода);\\nобработка ошибок (неверный API-ключ, неправильный город и т. д.).\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50921,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться запускать и разбирать работу HTTP-серверов;\\nосвоить HttpClient для отправки HTTP-запросов;\\nразобраться с Proxy и реализовать свой мини-прокси-сервер.\",\"title\":\"Как работает сервер: HTTP-запросы, HttpClient, Proxy\",\"summary\":\"запуск простого HTTP-сервера на socket;\\nработа с HttpClient для отправки GET/POST-запросов;\\nсоздание мини-прокси-сервера на Python;\\nИспользование Proxy для отправки HTTP-запросов.\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93747,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с HTML, CSS, JS.\",\"title\":\"Основы фронтенда\",\"summary\":\"использование HTML тегов, определение их свойств;\\nприменение стилей при помощи CSS;\\nвзаимодействие с элементами посредством JS;\\nподключение внешних модулей на примере jQuery.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93748,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с основой фронтенд разработки;\\nпознакомиться с Bootstrap.\",\"title\":\"Базовый фронтенд\",\"summary\":\"создание различных элементов;\\nприменение стилей Bootstrap 5;\\nсоздание и публикация формы.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50922,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с FastAPI;\\nнаучиться быстро создавать API ресурс;\\nрассмотреть swagger (apispec) на практике.\",\"title\":\"FastAPI — быстрая разработка API: знакомство\",\"summary\":\"обработка аргументов из QueryString;\\nпараметры из path.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92928,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать про API роутеры и научиться их создавать и применять;\\nпарсить тело запроса (Body) при помощи pydantic модели.\",\"title\":\"FastAPI — быстрая разработка API: тело и роутеры//ДЗ\",\"summary\":\"парсинг Body;\\nразделение представлений по модулям и использование API Router.\",\"likeUser\":null,\"homeworks\":[{\"id\":38923,\"title\":\"Веб-приложение на FastAPI\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом ДЗ вы создадите первое веб-приложение.\",\"likeUser\":null,\"description\":\"$26\"}]},{\"id\":50923,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с системами контроля зависимостей в python.\",\"title\":\"Системы контроля зависимостей\",\"summary\":\"Pipenv;\\npoetry.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92929,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться собирать Docker образ.\",\"title\":\"Docker//ДЗ\",\"summary\":\"Docker.\",\"likeUser\":null,\"homeworks\":[{\"id\":35617,\"title\":\"Docker контейнер c веб-приложением\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом ДЗ вы создадите Dockerfile с установкой зависимостей и запуском веб-сервера.\",\"likeUser\":null,\"description\":\"$27\"}]}]},{\"id\":8570,\"number\":4,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Работа с базами данных, асинхронное программирование\",\"description\":\"Знакомство с асинхронным программированием.\\nЗнакомство с базами данных: PostgreSQL, Mongo DB, Redis.\\nЗнакомство с ORM, асинхронная работа с БД.\",\"type\":\"common\",\"lessons\":[{\"id\":50924,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с языком SQL;\\nнаучиться работать с реляционной базой данных;\\nнаучиться работать с другими хранилищами данных.\",\"title\":\"Хранение данных в реляционных БД. Язык SQL\",\"summary\":\"SQL на примере PostgreSQL: создание таблиц; добавление и редактирование данных; связи таблиц;\\nNoSQL. Key-value store на примере Redis (описание, решаемые задачи);\\nNoSQL. Document store на примере MongoDB (описание, решаемые задачи).\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93091,\"likeDown\":0,\"likeUp\":0,\"description\":\"\",\"title\":\"Групповая менторская консультация №2\",\"summary\":\"\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50925,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с SQLite;\\nпознакомиться с SQLAlchemy;\\nвыполнить запросы в БД при помощи SQLAlchemy ORM и Core;\\nнаучиться работать с объектом сессии;\",\"title\":\"ORM: SQLAlchemy\",\"summary\":\"SQLite;\\nSQLAlchemy;\\nсоздание алхимичной модели;\\nвыполнение запросов в БД при помощи SQLAlchemy (объект Session).\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50926,\"likeDown\":0,\"likeUp\":0,\"description\":\"перенести pydantic модели из предыдущих уроков на модели SQLAlchemy;\\nнаучиться создавать связи one-to-one и one-to-many;\\nвыполнить joined запросы в БД при помощи SQLAlchemy ORM;\\nрассмотреть оптимизацию запросов в БД.\",\"title\":\"SQLAlchemy: связи между таблицами в БД\",\"summary\":\"SQLAlchemy relationships;\\njoined запрос в БД при помощи SQLAlchemy;\\nзагрузка связанных моделей при помощи joinedload;\\nсвязи таблиц one-to-one и one-to-many;\\nсвязь при помощи объекта relationship.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50927,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать, зачем нужны миграции схем;\\nпознакомиться с alembic;\\nсоздать и выполнить миграции схем.\",\"title\":\"Миграции схем: alembic\",\"summary\":\"подключение alembic к существующему проекту;\\nсоздание миграций;\\nвыполнение миграций;\\nоткат миграций.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50928,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть связь many-to-many;\\nпознакомиться с созданием связи через промежуточную модель ассоциации;\\nсоздать и применить связь many-to-many;\\nвыполнение запросов и фильтрации со связью many-to-many.\",\"title\":\"Сложные связи в БД\",\"summary\":\"связь many-to-many;\\nмодель ассоциации, промежуточная таблица;\\nзапросы в БД, подгрузка (через JOIN).\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50929,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с async/await;\\nнаучиться понимать асинхронное выполнение кода;\\nнаучиться создавать асинхронные функции и обрабатывать результат их выполнения.\",\"title\":\"Знакомство с асинхронным программированием в Python\",\"summary\":\"async/await.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":50930,\"likeDown\":0,\"likeUp\":0,\"description\":\"асинхронная работа с API, отправка запросов через aiohttp.\",\"title\":\"Асинхронная работа с API\",\"summary\":\"aiohttp;\\nasyncio.wait;\\nasyncio.timeout.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93039,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться работать с БД в асинхронном виде при помощи SQLAlchemy \u003e= 2.0;\\nподключить к нашему FastAPI приложению новые views, в которых будем работать с базой данных при помощи SQLAlchemy.\",\"title\":\"Асинхронная работа с БД и подключение API // ДЗ\",\"summary\":\"подключение и выполнение запросов в БД при помощи SQLAlchemy в асинхронном виде;\\nработа с БД в веб-приложении;\\nвыполнение запросов в БД при помощи SQLAlchemy при обработке http запросов;\\nзакрытие сессии при завершении обработки http запросов.\",\"likeUser\":null,\"homeworks\":[{\"id\":40659,\"title\":\"Асинхронная работа с сетью и БД\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом ДЗ вы поработаете с сетью и БД в асинхронном виде.\",\"likeUser\":null,\"description\":\"$28\"}]},{\"id\":50931,\"likeDown\":0,\"likeUp\":0,\"description\":\"подключить к нашему FastAPI приложению новые асинхронные views, в которых будем работать с БД в асинхронном виде при помощи SQLAlchemy \u003e= 1.4.\\n\",\"title\":\"Асинхронная работа API с БД\",\"summary\":\"работа с БД в асинхронном виде при помощи SQLAlchemy \u003e= 1.4 внутри веб-приложения;\\nвыполнение асинхронных запросов в БД при помощи SQLAlchemy при обработке http запросов;\\nзакрытие сессии при завершении обработки http запросов;\\nсравнение скорости обработки запросов в синхронном и асинхронном виде (нагрузочное тестирование при помощи locust).\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92930,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с docker compose;\\nпознакомиться с docker network;\\nнаучиться связывать контейнеры.\",\"title\":\"Взаимодействие приложений между контейнерами, docker compose//ДЗ\",\"summary\":\"docker compose;\\ndocker network;\\nсвязь контейнеров в одну сеть;\\nuwsgi / gunicorn, nginx;\\nдоведение FastAPI приложения до deployment состояния.\",\"likeUser\":null,\"homeworks\":[{\"id\":35619,\"title\":\"Взаимодействие между контейнерами\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом ДЗ вы настроите взаимодействие между контейнерами.\",\"likeUser\":null,\"description\":\"- создайте docker-compose файл, настройте там связь базы данных и веб-приложения\\n- добавьте в свой проект модели. Это могут быть те же модели, что были использованы для сохранения данных с открытого API, это может быть и что-то новое\\n- добавьте возможность создавать новые записи\\n- создайте страницу, на которой эти записи выводятся\\n- база данных должна быть в отдельном контейнере\\n- Flask приложение должно запускаться не в debug режиме, а в production-ready (uwsgi/gunicorn, nginx, Flask)\"}]},{\"id\":93092,\"likeDown\":0,\"likeUp\":0,\"description\":\"\",\"title\":\"Групповая менторская консультация №3\",\"summary\":\"\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8586,\"number\":5,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Веб-разработка на Django\",\"description\":\"Знакомство с Django, Django ORM, Generics.\\nТестирование веб-приложений, фабрики.\",\"type\":\"common\",\"lessons\":[{\"id\":51026,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить базовые концепции Django;\\nсоздать проект и приложение;\\nпознакомиться с админкой, моделями и миграциями.\",\"title\":\"Знакомство с Django\",\"summary\":\"установка Django;\\nсоздание проекта и приложения;\\nконфигурация проекта (настройка settings.py, подключение базы данных).\\nработа с админкой: доступ к стандартным таблицам.\\n\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92931,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить работу с базой данных через ORM;\\nреализовать связи между моделями;\\nнаучиться выполнять запросы.\\n\",\"title\":\"Django ORM// ДЗ\",\"summary\":\"основные операции ORM: CRUD;\\nсвязи моделей;\\nоптимизация запросов.\",\"likeUser\":null,\"homeworks\":[{\"id\":38924,\"title\":\"Создание проекта, работа с моделями и продвинутая настройка админки\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Цель:\\nЗакрепить навыки создания проекта и приложения в Django, работы с моделями через ORM, а также настройки админки для удобной работы с данными.\\nРезультат:\\nРабочий проект Django с подключённой базой данных, продвинутой настройкой админки, кастомными командами и генерацией данных через фабрики.\",\"likeUser\":null,\"description\":\"1. **Создать Django проект и приложение:**\\n\\n- Настроить новый проект Django.\\n- Добавить приложение (например, `store`).\\n\\n2. **Создать модели:**\\n\\n- Модель `Product` с полями: `name, description, price, created_at.`\\n- Модель `Category` с полями: `name, description.`\\n- Связать `Product` с `Category` через `ForeignKey`.\\n\\n3. **Выполнить миграции:**\\n\\n- Создать и применить миграции.\\n\\n4. **Работа с ORM:**\\n\\n- Создать записи для моделей, используя кастомную команду.\"}]},{\"id\":51027,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить работу с HTML-шаблонами;\\nпередавать данные из контроллеров в шаблоны;\\nподключать статические файлы.\",\"title\":\"Шаблоны (Templates)\",\"summary\":\"основы шаблонов Django;\\nиспользование контекста шаблонов;\\nнаследование шаблонов (базовый и дочерние);\\nработа со статическими файлами.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51028,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить продвинутую настройку админки Django;\\nнаучиться создавать кастомные команды для выполнения задач;\\nпознакомиться с фабриками для генерации тестовых данных.\",\"title\":\"Работа с админкой, кастомные команды\",\"summary\":\"Настройка админки:\\nкастомизация интерфейса: list_display, list_filter, search_fields;\\nсоздание кастомных действий через @admin.action;\\nдобавление фильтров, отображение и сортировка данных.\\nКастомные команды Django:\\nсоздание команд через management.commands;\\nпримеры задач: очистка устаревших данных, генерация тестовых данных.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93093,\"likeDown\":0,\"likeUp\":0,\"description\":\"\",\"title\":\"Групповая менторская консультация №4\",\"summary\":\"\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51029,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с Django Forms;\\nреализовать обработку пользовательского ввода;\\nпонять основы валидации данных.\\n\",\"title\":\"Формы в Django // ДЗ\",\"summary\":\"создание форм через Django Forms;\\nвалидация данных и обработка ошибок;\\nсвязь форм с моделями (ModelForm);\\nнастройка отображения форм в шаблонах.\",\"likeUser\":null,\"homeworks\":[{\"id\":35621,\"title\":\"Шаблоны и формы\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Цель:\\nЗакрепить навыки работы с HTML-шаблонами, передачи данных из контроллеров в шаблоны и реализации форм для пользовательского ввода.\\nРезультат:\\nДинамическое веб-приложение для интернет-магазина с отображением данных через шаблоны и возможностью добавления и редактирования товаров через формы.\",\"likeUser\":null,\"description\":\"1. **Создать шаблоны:**\\n\\n- Настроить базовый шаблон с использованием `block и extends`.\\n- Создать страницу списка товаров (`Product`), где отображаются название, описание и цена.\\n- Настроить страницу деталей товара с выводом всех данных.\\n\\n2. **Создать формы:**\\n\\n- Настроить форму для добавления нового товара.\\n- Настроить форму для редактирования товара.\\n\\n3. **Связь с шаблонами:**\\n\\n- Настроить отображение ошибок валидации в шаблонах.\\n- Реализовать обработку пользовательского ввода через контроллеры.\\n\\n4. **Настроить админку:**\\n\\n- Добавить кастомизацию: `list_display, list_filter, search_fields`.\\n- Создать кастомные действия через `@admin.action`. Например, поменять цену или опубликовать товар.\"}]},{\"id\":51031,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить использование CBV для ускорения разработки;\\nнаучиться работать с generic views.\",\"title\":\"Class-Based Views (CBV)\",\"summary\":\"введение в CBV;\\nGeneric views: ListView, DetailView, CreateView, UpdateView.\\nкастомизация методов CBV.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":114386,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить создание кастомной модели пользователя на основе AbstractUser;\\nпереопределить поля авторизации;\\nнастроить Django для использования новой модели;\\nреализовать CBV-представления для входа, выхода, профиля и редактирования пользователя;\\nнастроить шаблоны и навигацию: вход, выход, личный кабинет;\\nосвоить LoginRequiredMixin и защиту представлений.\",\"title\":\"Кастомный пользователь и личный кабинет\",\"summary\":\"почему в реальных проектах нужно переопределять пользователя;\\nсоздание кастомной модели пользователя на базе AbstractUser;\\nнастройка settings.py и миграций;\\nреализация представлений через CBV;\\nсоздание шаблонов: login, logout;\\nзащита с помощью LoginRequiredMixin.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51032,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить тестирование приложений с использованием Pytest;\\nнаучиться работать с фикстурами и параметризацией.\",\"title\":\"Тестирование Django-приложений с Pytest//ДЗ\",\"summary\":\"установка Pytest и настройка проекта;\\nнаписание тестов для моделей, вьюшек и шаблонов;\\nиспользование фикстур для создания тестовых данных;\\nпараметризованные тесты.\",\"likeUser\":null,\"homeworks\":[{\"id\":43611,\"title\":\"Class-Based Views и тестирование\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Цель:\\nЗакрепить навыки работы с CBV (Class-Based Views) и написания автотестов с использованием Pytest.\\nРезультат:\\nПриложение интернет-магазина с функциональностью CRUD через CBV и тестами для ключевых функций.\",\"likeUser\":null,\"description\":\"1. **Реализовать CBV:**\\n\\n- Использовать `ListView` для отображения списка товаров.\\n- Настроить `DetailView` для отображения деталей товара.\\n- Реализовать `CreateView` и `UpdateView` для добавления и редактирования товаров.\\n- Добавить `DeleteView` для удаления товара.\\n\\n2. **Написать тесты для приложения:**\\n\\n- Тесты для моделей: проверить операции создания, чтения, обновления и удаления записей.\"}]},{\"id\":51030,\"likeDown\":0,\"likeUp\":0,\"description\":\"освоить основы работы с Celery;\\nподключить Redis как брокер задач;\\nреализовать отправку задач в фоновом режиме;\\nнаучиться проверять статусы задач.\",\"title\":\"Django и отложенные задачи с Celery и Redis//ДЗ\",\"summary\":\"установка и настройка Celery;\\nустановка и настройка Redis как брокера задач;\\nсоздание фоновых задач;\\nпроверка статусов задач.\",\"likeUser\":null,\"homeworks\":[{\"id\":43612,\"title\":\"Задачи с Celery и Redis\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Цель:\\nОсвоить использование Celery для выполнения фоновых задач и настройку Redis как брокера задач.\\nРезультат:\\nПриложение интернет-магазина с фоновыми задачами (например, отправка уведомлений при добавлении новых товаров.)\",\"likeUser\":null,\"description\":\"1. **Настроить Celery и Redis:**\\n\\n- Установить Celery и Redis.\\n- Подключить Redis как брокер задач для Celery.\\n\\n2. **Реализовать фоновую задачу:**\\n\\n- Создать задачу для логирования информации о добавлении нового товара.\\n- Задача должна выводить сообщение на консоль (например, название нового товара).\\n\\n3. **Протестировать Celery:**\\n\\n- Убедиться, что задачи корректно ставятся в очередь и выполняются.\"}]},{\"id\":51039,\"likeDown\":0,\"likeUp\":0,\"description\":\"выбрать и обсудить тему проектной работы;\\nспланировать работу над проектом;\\nознакомиться с регламентом работы над проектом.\",\"title\":\"Выбор темы и организация проектной работы\",\"summary\":\"правила работы над проектом и специфика проведения итоговой защиты;\\nтребования к результату проекта и итоговой документации.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93094,\"likeDown\":0,\"likeUp\":0,\"description\":\"\",\"title\":\"Групповая менторская консультация №5\",\"summary\":\"\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8588,\"number\":6,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"DevOps\",\"description\":\"Автоматизация тестирования и деплоя.\\nЗнакомство с GitHub Actions, GitLab CI/CD\",\"type\":\"common\",\"lessons\":[{\"id\":51036,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с GitHub Actions.\",\"title\":\"GitHub Actions//ДЗ\",\"summary\":\"создание action для тестирования приложения;\\nсоздание deploy action.\",\"likeUser\":null,\"homeworks\":[{\"id\":35623,\"title\":\"GitHub Actions\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом ДЗ вы создадите action с выполнением тестов.\",\"likeUser\":null,\"description\":\"- добавить GitHub Action с выполнением тестов (можно настроить на выполнение имеющихся тестов, например, тестов Django приложения)\\n- БОНУС: применить какой-либо открытый ресурс для тестирования и проверки покрытия: Travis, codecov, coveralls и тд\"}]},{\"id\":51037,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с тем, как устроен Gitlab CI.\",\"title\":\"GitLab CI//ДЗ\",\"summary\":\"файл .gitlab-ci.yml;\\ndocker executor;\\nпайплайны с тестированием.\",\"likeUser\":null,\"homeworks\":[{\"id\":35624,\"title\":\"GitLab pipelines\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"В этом ДЗ вы создадите pipeline с тестированием.\",\"likeUser\":null,\"description\":\"- создать pipeline с тестированием\\n- запускать pipeline автоматически в master ветке\\n- запускать pipeline вручную в MR\"}]},{\"id\":51038,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться выполнять сборку docker образа с проектом в pipeline;\\nнаучиться сохранять артефакты.\",\"title\":\"GitLab CD\",\"summary\":\"docker registry (docker hub);\\nсборка контейнера в pipeline;\\npush контейнера в registry;\\nартефакты.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":93095,\"likeDown\":0,\"likeUp\":0,\"description\":\"\",\"title\":\"Групповая менторская консультация №6\",\"summary\":\"\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8589,\"number\":7,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Проектная работа\",\"description\":\"Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.\",\"type\":\"project\",\"lessons\":[{\"id\":51040,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы по проекту, ДЗ и по курсу.\",\"title\":\"Консультация по проектам и домашним заданиям\",\"summary\":\"вопросы по улучшению и оптимизации работы над проектом;\\nзатруднения при выполнении ДЗ;\\nвопросы по программе.\",\"likeUser\":null,\"homeworks\":[{\"id\":35627,\"title\":\"Сдать ссылку на репозиторий курсового проекта. В репозитории обязательно должен быть заполнен файл README.md с описанием проекта.\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"выбрать тему проекта;\\nзакрепить тему в чат с преподавателем;\\nреализовать собственный проект \",\"likeUser\":null,\"description\":\"сдать ссылку на репозиторий курсового проекта. \\nв репозитории обязательно должен быть заполнен файл README.md с описанием проекта.\"}]},{\"id\":51041,\"likeDown\":0,\"likeUp\":0,\"description\":\"защитить проект и получить рекомендации экспертов.\",\"title\":\"Защита проектных работ\",\"summary\":\"презентация проектов перед комиссией;\\nвопросы и комментарии по проектам.\",\"likeUser\":null,\"homeworks\":[]}]}]},{\"id\":34,\"number\":2,\"title\":\"2 ступень\",\"description\":\"\",\"modules\":[{\"id\":8595,\"number\":1,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"База\",\"description\":\"Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте \\\"экосистемы\\\" Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости.\\nВ модуле рассматриваются аспекты функционального, процедурного и ОО программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач.\",\"type\":\"common\",\"lessons\":[{\"id\":51087,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобрать стандартный шаблон структуры Python проекта;\\nрассмотреть различные инструменты по управлению зависимостями;\\nнаучиться создавать удобное окружение для разработки.\",\"title\":\"Структура проекта, управление зависимостями, настройка окружения: обзор и лучшие практики//ДЗ\",\"summary\":\"шаблон структуры проекта;\\nMakefile;\\nуправление зависимостями, setup.py,pyproject.toml, poetry; \\nversioning, vendoring;\\nобзор инструментов и библиотек для настройки окружения;\\npre-commit hooks;\\ngitlab CI, github actions.\",\"likeUser\":null,\"homeworks\":[{\"id\":35665,\"title\":\"Анализатор логов\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Реализовать анализатор логов веб-сервиса в новом проекте, засетапленном по всем лучшим практикам.\",\"likeUser\":null,\"description\":\"Реализовать сервис, формирующий статистический отчет о характеристиках запросов к сервису (среднее, медианное время ответа и т.п.) на основании парсинга логов, которые пишет nginx. Оформить проект согласно всем лучшим практикам, подключить CI, линетры, чекеры, написать Dockerfile и README\"}]},{\"id\":51088,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть различные способы сборки Python проектов;\\nобсудить способы и каналы дистрибуции проектов;\\nизучить лучшие практики по контейниризации Python приложений;\\nрассмотреть kubernetes в качестве основной среды для запуска контейнеров.\",\"title\":\"Дистрибуция кода и развертывание: путь от лэпота до кластера\",\"summary\":\"дистрибуция с помощью zip, wheel, egg;\\npip, PyPI; \\nпакетные менеджеры ОС;\\nконтейниризация, docker; \\nkubernetes;\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51089,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с теорией типов и изучить особенности ее применения к Python;\\nрассмотреть возможно аннотации типов, разобрать кейсы;\\nизучить существующие варианты и инструменты для проверки аннотаций.\",\"title\":\"Аннотации типов: уровень nightmare! //ДЗ\",\"summary\":\"статическая и динамическая типизация;\\nsubtype relations, gradual typing;\\nаннотации типов, функций, классов, декораторов и асинхронного кода;\\nstatic/dynamic type checkers;\\nmypy.\",\"likeUser\":null,\"homeworks\":[{\"id\":35666,\"title\":\"Тренажер по аннотации типов\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Пройти type annotations challenge\",\"likeUser\":null,\"description\":\"На предоставленном ресурсе пройти максимальное количество упражнений на аннотацию типов, результаты собрать в единый файл и оформить как отдельный проект\"}]},{\"id\":51090,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с устройством виртуальной машины;\\nрассмотреть процесс исполнения кода;\\nрассмотреть фундаментальные абстракции, которыми оперирует виртуальная машины.\",\"title\":\"Внутренности: байткод, его исполнение и виртуальная машина\",\"summary\":\"изучим виртуальную машину CPython, внутренности и архитектуру; \\nисследуем байткод, опкоды; \\nрассмотрим процесс интерпретации, основные типы данных виртуальной машины.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51091,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с работой основных типов данных и следствиями такой реализации;\\nрассмотреть процесс управлению памятью в Python;\\nобъяснить, как GIL влияет на производительность Python программ.\",\"title\":\"Внутренности: устройство основных типов, управление памятью и GIL\",\"summary\":\"изучим имплементацию основных типов данных и используемые оптимизации;\\nрассмотрим систему управления памятью, reference counting, garbage collection; \\nизучим GIL, реализация и следствия его существования, методы обхода.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51092,\"likeDown\":0,\"likeUp\":0,\"description\":\"изучить устройство объектной модели Python;\\nразобраться с разделением на новые и классические классы;\\nобъяснить тонкости множественного наследования;\\nразобраться с нюансами реализации ООП в Python.\",\"title\":\"ООП: Объектная модель и особенности ООП в Python//ДЗ\",\"summary\":\"рассмотрим объектную модель языка; \\nnew-style классы, множественное наследование, MRO; \\nslots, new, name mangling;\\nclassmethod, classonlymethod, staticmethod;\\ndataclass;\",\"likeUser\":null,\"homeworks\":[{\"id\":35668,\"title\":\"API скоринга\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Реализовать логику валидации запросов к API\",\"likeUser\":null,\"description\":\"Реализовать логику валидации запросов к скоринговому API на базе готового \\\"скелета\\\". Сервис на вход принимает POST запросы с JSON, содержащий набор атрибутов, требующих проверки на соответсвие набору правил, аналогично тому Django проверяет данные на соответствие описанию формы. Подразумевается, что реализация будет использовать метаклассы или протокол дескрипторов\"}]},{\"id\":51093,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить дескрипторы и их протокол;\\nразобраться с использованием \\\"\\\"магических методов\\\"\\\";\\nрассмотреть область применимости абстрактных базовых классов;\\nпроанализировать особенности эксплуатации метаклассов.\",\"title\":\"ООП: Дескрипторы и метапрограммирование\",\"summary\":\"рассмотрим дескрипторы, data и non-data дескрипторы, descriptor protocol, property; \\nисследуем магические методы;\\nрассмотрим модуль abc, абстрактные классы;\\nрассмотрим метаклассы.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51094,\"likeDown\":0,\"likeUp\":0,\"description\":\"обсудить необходимость тестирования и когда нужно писать тесты;\\nразобраться с тем, что именно тестировать и как структурировать тесты;\\nрассмотреть pytest в качество основного инструмента тестирования;\\nразобраться с устройством пирамиды тестирования;\",\"title\":\"Тестирование: pytest и как писать тесты//ДЗ\",\"summary\":\"зачем и когда писать тесты, TDD, покрытие тестами;\\nклассы эквивалентности, boundary analysis, попарное тестирование и другие подходы к дизайну;\\nтестирование с pytest;\\nкак выглядит хороший тест;\\nunit testing, integration testing;\",\"likeUser\":null,\"homeworks\":[{\"id\":35669,\"title\":\"Тестирование\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Написать юнит, интеграционные и функциональные тесты в API\",\"likeUser\":null,\"description\":\"Написать юнит, интеграционные и функциональные тесты в API из прошлого домашнего задания. Для интеграционных тестов понадобится сначала дописать свою обертку, взаимодействующую с БД. Тесты понадобится реализовать с помощью фреймворка pytest\"}]},{\"id\":51095,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобрать антипаттерны тестирования;\\nрассмотреть область применения инструментов тестирования (моков, фикстур и т.д.);\\nразобраться с видами атоматизации тестирования.\",\"title\":\"Тестирование: (анти)паттерны и инструменты\",\"summary\":\"антипаттерны тестирования: ice cream cone testing, god object, liar и тд;\\nmocking, monkey patching, фикстуры;\\nавтоматизации тестирования и запуска тестов, tox. \\nContinuous integration, continuous delivery, continuous deployment.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51096,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть подходы к формирование абстракций;\\nпонять, что такое модульный код;\\nизучить SOLID принципы к построению приложения.\",\"title\":\"Дизайн кода и архитектура: абстракции, модульность, SOLID\",\"summary\":\"\\\"\\\"законы\\\"\\\" абстракций;\\nхорошие и плохие абстракции: как отличить, как выделять и разбирать абстракции;\\ncoupling и cohesion, монолит, модули;\\nпринципы SOLID.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92932,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомится с принципами и терминологией DDD;\\nизучить Clean Architecture как подход и его применимость в Python проектах.\",\"title\":\"Дизайн кода и архитектура: domain driven design, чистая архитектура//ДЗ\",\"summary\":\"ubiquitous language, doamin services, value objects, entity, aggregate, repository;\\nпринципы чистой архитектуры и границы применимости;\\ndomain object, use cases, ports \u0026 adapters, presenters и тд.\",\"likeUser\":null,\"homeworks\":[{\"id\":35670,\"title\":\"Чистый склад\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Дописать составляющие проекта, рассматриваемого на занятии\",\"likeUser\":null,\"description\":\"На занятии рассматривались части приложения по управлению товарами на некоем складе. В домашнем задании предлагается расширить реализацию, добавив новые доменные объекты, репозитории, доработать unit of work. Все это необходимо сделать соблюдая принципы и подходы чистой архитектуры. Естественно реализация должна быть протестирована.\"}]},{\"id\":92933,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть особенности событийной модели и разобраться с ее применимостью;\\nизучить микросервисный подход и паттерны микросервисной архитектуры.\",\"title\":\"Дизайн кода и архитектура: event driven архитектура, микросервисы\",\"summary\":\"события, обработчики, шина данных, event sourcing;\\nмикросервисный подход против монолитов;\\nклассы паттернов, паттерны работы с данными (CQRS, Saga и т.д.)\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92934,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть паттерны проектирования;\\nопределиться с их полезностью и применимостью в разработке на Python.\",\"title\":\"Дизайн кода и архитектура: паттерны проектирования\",\"summary\":\"история появления паттернов и зачем они нужны сейчас;\\nклассы паттернов;\\nразбор самых известных представителей соответствующих классов.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8596,\"number\":2,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Web-программирование\",\"description\":\"Этот модуль посвящен веб-разработке, тому, какой она выглядит со стороны Python программиста и какими особенностями обладает. \\nЦелью является рассмотрение нюансов и лучших практик по созданию и эксплуатации веб-сервисов с использованием фреймворка Django. В модуле рассматривается сам Django, внутреннее устройство ORM и других его составляющих, обсуждаются особенности построения REST API, масштабирования веб-проектов.\\n\",\"type\":\"common\",\"lessons\":[{\"id\":51097,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть принципы сетевого взаимодействия через сокеты;\\nразобраться с особенностями сетевых протоколов;\\nрассмотреть нюансы написания программ, общающихся по сети.\",\"title\":\"Сетевое взаимодействие и архитектура web-серверов//ДЗ\",\"summary\":\"нюансы сетевого взаимодействия, socket;\\nTCP и UDP, реализацию клиента и сервера; \\nHTTP 1.1, HTTP 2, QUIC/HTTP 3;\\nwebsockets;\\nHTTP клиенты;\\nвиды архитектуры web-server'ов.\",\"likeUser\":null,\"homeworks\":[{\"id\":35671,\"title\":\"HTTP сервер\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Реализовать сервер, частично реализующий протокол HTTP. Провести нагрузочное тестирование\",\"likeUser\":null,\"description\":\"Реализовать сервер, частично реализующий протокол HTTP, в частности методы GET и HEAD, добиться того, что код проходит предоставленные функциональны тесты. Архитектуру выбрать на свое усмотрение, исходя из вариантов,Ю рассмотренных на занятии. Провести нагрузочное тестирование с помощью ab или wrk\"}]},{\"id\":51098,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть принципы функционирования динамического веба;\\nразобраться с WSGI и его особенностями;\\nпоговорить о различных WSGI контейнерах.\",\"title\":\"Создание динамических страниц: от CGI до ASGI\",\"summary\":\"Dynamic Web;\\nCGI;\\nFastCGI;\\nWSGI, Gunicorn, uWSGI;\\nASGI, Starlette, uvicorn.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51099,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с классической структурой веб-сервисов;\\nрассмотреть лучшие практики развертывания Django проектов;\\nобъяснить, как конфигурируются и эксплуатируются Django проекты.\\n\",\"title\":\"MVC/MVT фреймворки на примере Django//ДЗ\",\"summary\":\"Tiered architecture.\\nПаттерн MVC\\\\MTV; \\nструктура Django проекта, конфигурация проектов, зависимости, настройка окружения; \\n12 factor app.\",\"likeUser\":null,\"homeworks\":[{\"id\":35672,\"title\":\"Django tutorial\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Пройти tutorial по Django, при этом сделав из него production-ready проект\",\"likeUser\":null,\"description\":\"В рамках данного домашнего задания нужно пройти tutorial по Django, представленный на официальном сайте. Там нужно реализовать веб-сервис для боггинга и покрыть его тестами. В качестве дополнения требуется сделать проект production-ready, оформив по всем лучшим практикам и с соблюдением рекомендаций, обсуждаемых на занятии (12 factor apps)\"}]},{\"id\":51100,\"likeDown\":0,\"likeUp\":0,\"description\":\"поговорить о лучших практиках использования моделей;\\nобъяснить, как работает ORM и из чего он состоит;\\nразобраться с написанием запросов через ORM;\\nпроанализировать запросы.\",\"title\":\"ORM: хорошее, плохое и злое\",\"summary\":\"ORM и \\\"\\\"зло\\\"\\\";\\nВнутренности моделей, Query sets, lazy evaluation;\\nprefetch\\\\preload, join'ы;\\nсложные запросы и raw SQL;\\nObject managers.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51101,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить, как навигироваться в комплексном пространстве мира распределенных систем и баз данных; \\nпознакомиться с основными понятиями, связанными с эксплуатацией и оптимизацией хранилища данных.\",\"title\":\"Работа с БД: транзакции, репликация, шардирование и даже NoSQL\",\"summary\":\"транзакции и уровни изоляции; \\nмиграции схемы и миграции данных, большие объемы данных;\\nрепликация, перенос сложных запросов на slave'ы, распределение нагрузки. Шардирование;\\nNoSQL.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51102,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить, что такое REST; \\nразобраться с лучшими практиками реализации RESTful приложений;\\nобсудить подходы к документированию и лимитированию запросов к API;\",\"title\":\"API: что такое настоящий REST и как создавать RESTful приложения\",\"summary\":\"принципы REST, архитектурные стили, ограничения;\\nпроектирование API, ресурсы, методы ошибки, версионирование;\\nRate limiting;\\nдокументирование и OpenAPI.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51103,\"likeDown\":0,\"likeUp\":0,\"description\":\"запустить простое приложение;\\nпровалидировать модель запроса и ответа с помощью Pydantic;\\nдобавить простую аутентификацию;\\nсобрать docker-контейнер с приложением\",\"title\":\"FastAPI: основы //ДЗ\",\"summary\":\"path Operation; \\nrequest\u003c-\u003eResponse, Models; \\npydantic; \\ndependencie; \\nразвертывание.\",\"likeUser\":null,\"homeworks\":[{\"id\":35703,\"title\":\"ML model serving\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Реализовать API для взаимодействия с ML моделями\",\"likeUser\":null,\"description\":\"В этом домашнем задании предлагается реализовать REST API, занимающегося инференсом некой модели машинного обучения, т.е. поступает набор признаков объекта, на выходе возвращается предсказание модели. В качестве основы проекта предлагается фреймворк FastAPI\"}]},{\"id\":51104,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть варианты синхронного и асинхронного взаимодействия;\\nпроанализировать типичное CRUD приложение;\\nразобраться с особенностями подключения и использования SQLAlchemy;\",\"title\":\"FastAPI: взаимодействие с БД и SQLAlchemy\",\"summary\":\"sync/async;\\nподключение движка; \\nCRUD;\\nSQLAlchemy.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92935,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с терминологической базой;\\nрассмотреть различные схемы аутентификации;\\nизучить способы разграничения прав пользователя;\\nрассмотреть стандарты и готовые инструменты.\",\"title\":\"Аутентификация и авторизация//ДЗ\",\"summary\":\"аутентификация чере basic auth, tokens, oauth;\\njwt токены;\\nразграничение прав с помощью ACL, RBAC, ABAC;\\nKeycloack.\",\"likeUser\":null,\"homeworks\":[{\"id\":35704,\"title\":\"Аутентификация\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Добавить аутентификацию через JWT и минимальное разграничение прав к API из предыдущего домашнего задания\",\"likeUser\":null,\"description\":\"В данном домашнем задании предлагается добавить аутентификацию через JWT токены в API из предыдущего домашнего задания. Также необходимо дополнить проект минимальной авторизацией на основе RBAC\"}]},{\"id\":92936,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть альтернативные REST подходы создания API;\\nсравнить подходы между собой и определиться с границами применимости.\",\"title\":\"API: (g)RPC, GraphQL\",\"summary\":\"SOAP; \\nRPC; \\nprotobuf, gRPC, gRPC REST gateway,\\nGraphQL;\\nbackend for frontend.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92937,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть виды и примеры уязвимостей, которые могут возникать в приложениях на разных этапах жизни;\\nразобрать способы и инструменты по выявлению и устранению уязвимостей;\\nизучить возможности обеспечения ИБ.\",\"title\":\"Безопасность: обзор распространенных проблем, уязвимостей и лучших практик\",\"summary\":\"RCE, SQL инъекции, XSS, CSRF, IDOR; \\nsupply chain attacks;\\nHTTPS, CSP, CORS, HSTS, Secure cookies;\\nстатические и динамические анализаторы кода.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8597,\"number\":3,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\" ML Engineering\",\"description\":\"Этот модуль посвящен знакомству с фундаментальными библиотеками, применяемыми для анализа данных. Python является де-факто стандартом при решении аналитических задач, поэтому данный аспект языка нельзя обойти стороной. При этом, целью модуля является не погружение в математические дебри, а рассмотрение таких инструментов как jupyter, numpy, pandas и matplotlib и области их применения в инженерной и аналитической деятельности.\",\"type\":\"common\",\"lessons\":[{\"id\":51105,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с областью применимости numpy и его основной структурой данных - ndarray; \\nрассмотреть индексирование и операции над массивами; \\nпоговорить о возможностях библиотеки.\",\"title\":\"Высокопроизводительные вычисления с NumPy//ДЗ\",\"summary\":\"iPython, базовое использование, интроспекция, поиск, история, макросы, магические методы, взаимодействие с ОС, разработка;\\nNumPy. ndarray, индексирование, маски, векторизация;\\nUniversal functions.\",\"likeUser\":null,\"homeworks\":[{\"id\":35705,\"title\":\"Логистическая регрессия\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Дописываем логистический регрессор, используем его для классификации отзывов о еде из Amazon.\",\"likeUser\":null,\"description\":\"В данном домашнем задании предлагается дописать заготовку класса, реализующую метод логистической регрессии на основе стохастического градиентного спуска. В ходе работы необходимо попрактиковаться с использованием numpy, большинство составляющих (подготовка данных, код обучения и оценки эффективности) предоставляются в готовом виде\"}]},{\"id\":92946,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с областью применимости pandas и его основной структурой данных - dataframe; \\nрассмотреть индексирование и операции над dataframe; \\nпоговорить о возможностях библиотеки.\",\"title\":\"Исследовательский анализ данных c Pandas\",\"summary\":\"эволюция pandas;\\nиспользование series;\\ndataframe как основная структура данных;\\nочистка данных и приведение к удобному виду;\\nслияние датасетов и агрегация.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92947,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с видовым многообразием библиотек визуализации данных в Python; \\nрассмотреть основные возможности matplotlib и два его интерфейса; \\nрассмотреть основные возможности seaborn и понять его преимущества над matplotlib;\\nпознакомиться с основными возможностями ipython.\",\"title\":\"Инструменты работы с данными: IPython, matplotlib, seaborn\",\"summary\":\"графики, гистограммы, subplots, аннотации, стили;\\niPython, базовое использование, интроспекция, поиск, история, макросы, магические методы, взаимодействие с ОС, разработка и отладка кода.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51106,\"likeDown\":0,\"likeUp\":0,\"description\":\"обсудить необходимость оркестрации задач и связанные с этим сложности;\\nрассмотреть основные инструменты, используемые для запуска задач по расписанию.\\n\",\"title\":\"Оркестрация задач: jenkins, luigi, airflow\",\"summary\":\"зачем нужна оркестрация, эволюция подходов к ней;\\nот cron к jenkins;\\nзабвение luigi, восхождение airflow. \",\"likeUser\":null,\"homeworks\":[]},{\"id\":51107,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с тем, что из себя представляют нейронные сети;\\nрассмотреть основные типы сетей;\\nобозреть самые популярные библиотеки;\\nобсудить возможности применения больших лингвистических моделей.\",\"title\":\"Нейронки: PyTorch, TensorFlow, HuggingFace и LLM//ДЗ\",\"summary\":\"нейрон и перцептрон;\\nобучение сетей и их типы;\\nобзор и сравнение PyTorch, TensorFlow;\\nLLM, llama и HuggingFace;\\nинтеграция в production системы.\",\"likeUser\":null,\"homeworks\":[{\"id\":35721,\"title\":\"OTUS-GPT\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Настроить предобученную GPT-like модель\",\"likeUser\":null,\"description\":\"В данном домашнем задании предлагается выбрать на свое усмотрение одну из открытых генеративных моделей на HuggingFace, донастроить его под интересующий кейс и реализовать своего бота\\\\агента или даже сеть\\\\цепь агентов\"}]},{\"id\":51108,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть основные элементы современной инфраструктуры обработки больших данных;\\nобъяснить, как аналитические продукты интегрируются с продакшен системами.\",\"title\":\"Обзор big data экосистемы: хранение и обработка данных, обучение и inference, model serving\",\"summary\":\"Hadoop, Spark, ClickHouse, S3;\\nmlflow, bentoml, ray. \\nпроекты Apache, потоковая обработка;\\nархитектуры аналитических систем;\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8598,\"number\":4,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Highload\",\"description\":\"Этот модуль посвящен высокопроизводительным вычислениям на Python. В модуле рассматриваются особенности конкурентного и асинхронного программирования и то, как на это влияет устройство виртуальной машины языка. Так же внимание уделяется превратностям написания расширений на С и вопросам профилирования кода. В качестве бонуса происходит знакомство с языком Go, который часто используется Python программистами для решения performance-critical задач.\",\"type\":\"common\",\"lessons\":[{\"id\":51109,\"likeDown\":0,\"likeUp\":0,\"description\":\"проанализировать особенности архитектуры, характеристики железа;\\nпознакомиться с методиками профилирования кода; \\nразобраться с профилированием памяти и ЦПУ; \\nпознакомиться с инструментами для профилирования, предоставляемыми в linux.\",\"title\":\"Профилирование производительности\",\"summary\":\"антипаттерны профилирования, выбор методологии; \\ncProfile, line_profiler, Pyinstrument;\\nmemory_profiler, memray;\\nинструменты Linux, perf, flamegraph.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51110,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с терминологией конкурентного программирования;\\nрассмотреть ограничения, накладываемые виртуальной машиной на multithreading; \\nпознакомиться с примитивами синхронизации из стандартной библиотеки.\",\"title\":\"Concurrency: многопоточное программирование и примитивы синхронизации//ДЗ\",\"summary\":\"конкурентность и параллелизм;\\nIO/CPU bound задачи;\\nзапуск потоков, блокировки;\\nпримитивы синхронизации от lock до barrier;\\nпотокобезопасность, ограничения параллелизации, закон Амдала.\",\"likeUser\":null,\"homeworks\":[{\"id\":35722,\"title\":\"Memcache loader\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Реализуем конкурентную заливку данных в memcache'ы\",\"likeUser\":null,\"description\":\"В этом домашнем задании необходимо переделать готовый однопоточный скрипт, загружающий логи трекера мобильных приложений в кластер memcache'ей. Скрипт нужно сделать конкурентным, воспользовавшись возможностями многопоточной\\\\многопроцессовой обработки, для того чтобы оптимизировать время загрузки данных\"}]},{\"id\":51111,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с превратностями запуска процессов в разных ОС; \\nпознакомиться с возможностями коммуникации процессов для выполнения общей задачи; \\nрассмотреть устройство основных примитивов синхронизации.\\n\",\"title\":\"Concurrency: процессы и межпроцессное взаимодействие (IPC)\",\"summary\":\"multiprocessing и его особенности разных ОС, \\nмежпроцессовое взаимодействие, shared memory, pipes, очереди, multiprocessing.Manager;\\nвозможности распределенных вычислений.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51112,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с основными принципами написания расширений на языке C; \\nпознакомиться с управлением памятью через reference counting;\\nрассмотреть подход к созданию сложных объектов.\",\"title\":\"Ускорение с помощью C: расширения\",\"summary\":\"Особенности использования C API, разобранные на реальных примерах; \\nboilerplate, шаблон расширения;\\nобработка ошибок, объявление констант и объектов;\\nуправление памятью и конкурентностью.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51113,\"likeDown\":0,\"likeUp\":0,\"description\":\"разобраться с генерацией С расширений из Python кода с помощью Cython; \\nпознакомиться с синтаксисом Cython; \\nрассмотреть область применимости PyPy; \\nнаучиться вызывать функции из уже скомпилированных приложений через ffi и ctypes/.\",\"title\":\"Ускорение с помощью C: Cython, Pypy и FFI\",\"summary\":\"Cython для генерации расширения и его DSL;\\nобзор Pypy и его применимости в реальных проектах;\\nвозможности ffi и ctypes по вызову скомпилированного кода.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51114,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с историей появления asyncio в Python; \\nразобраться с коррутинами и yield from; \\nразобраться с futures.\",\"title\":\"asyncio: происхождение и основы//ДЗ\",\"summary\":\"эволюция корутин: generators, coroutines, yield from;\\nотложенное выполнение: future;\\n\",\"likeUser\":null,\"homeworks\":[{\"id\":35724,\"title\":\"Crawler\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Пишем асинхронный краулер для новостного сайта news.ycombinator.com\",\"likeUser\":null,\"description\":\"В этом домашнем задании предлагается реализовать асинхронный краулер для новостного сайта news.ycombinator.com. Предполагается, что краулер запускается каждые N секунд, парсит топ новостей, сохраняя каждую, а также сохраняет все ссылки из обсуждения конкретной новости\"}]},{\"id\":51115,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с концепцией event loop, старым и новым синтаксисом асинхронных вызовов; \\nрассмотреть высоко- и низкоуровневое API asyncio; \\nразобраться с внутренним устройством awaitable объектов.\",\"title\":\"asyncio: event loop, внутренности async/await, низко- и высокоуровневое API\",\"summary\":\"task vs. future, разные уровни API фреймворка asyncio;\\nevent loop, async/await, awaitable объекты;\\nобработка ошибок.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51116,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомится с асинхронным инструментарием языка;\\nразобраться с тем как корректно запускать и останавливать асинхронные сервисы;\\nрассмотреть примеры асинхронных библиотек для общения с БД и сетью.\",\"title\":\"asyncio: инструменты и лучшие практики\",\"summary\":\"асинхронные контекстные менеджеры, итераторы и comprehensions;\\nзапуск программ и graeafull shut down, обработка сигналов;\\nасинхронные библиотеки: aihttp, httpx, asyncpg и другие.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51117,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с синтаксисом, основными идиомами и экосистемой языка; \\nпроанализировать область применимости языка, его сильные и слабые стороны; \\nпровести сравнение с Python.\",\"title\":\"Golang: зачем он Python разработчику + тур по языку//ДЗ\",\"summary\":\"зачем Golang разработчику Python;\\nобзор основных особенностей языка;\\ntoolchain, структура проекта, менеджмент зависимостей; \\nтур по языку.\",\"likeUser\":null,\"homeworks\":[{\"id\":35725,\"title\":\"Go memcache loader\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"Создаем простого демона на Go, проводим сравнение с аналогичным на Python.\",\"likeUser\":null,\"description\":\"В этом домашнем задании предлагается переписать конкурентный memcache loader, реализованный на Python в одном из прошлых заданий, на Golang, соблюдая при этом идиоматику языка и используя его возможности, рассмотренные на занятии\"}]},{\"id\":51118,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с особенностями реализации языка; \\nрассмотреть принципы работы с памятью; \\nразобраться с диспетчером горутин; \\nпознакомиться с примерами реальных задач, решаемых с помощью Go.\",\"title\":\"Golang: горутины, планировщик, конкурентная обработка\",\"summary\":\"окончание тура по языку;\\nобзор особенностей внутреннего устройства: горутины, сборщик мусора, оптимизации компилятора;\\nразбор примеров реальных программ.\\n\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":92948,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с новшествами последних минорных версий языка;\\nобсудить грядущие анонсированные изменения;\\nразобраться с процессом миграции между версиями.\",\"title\":\"Обзор новинок и изменений из свежих версий Python\",\"summary\":\"обзор новинок из последних версий 3.xx и их применимости в проектах;\\nразбор процесса миграции проектов между версиями.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":8599,\"number\":5,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Проектная работа\",\"description\":\"Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания проекта можно получить консультации преподавателей. \\n\\nПримеры тем проекта:\\n- система мониторинга ПК в корпоративной сети\\n- свой ORM\\n- web приложение по поиску групп с целевой аудиторией в ВК\\n- исследование dataset’а с визуализацией\",\"type\":\"project\",\"lessons\":[{\"id\":51119,\"likeDown\":0,\"likeUp\":0,\"description\":\"выбрать и обсудить тему проектной работы;\\nспланировать работу над проектом;\\nознакомиться с регламентом работы над проектом. \",\"title\":\"Выбор темы и организация проектной работы\",\"summary\":\"правила работы над проектом и специфика проведения итоговой защиты;\\nтребования к результату проекта и итоговой документации.\",\"likeUser\":null,\"homeworks\":[{\"id\":35726,\"title\":\"Проект\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"- закрепить знания и навыки, полученные в течение курса;\\n- реализовать собственный проект;\\n- пополнить своё портфолио качественным проектом.\\n\",\"likeUser\":null,\"description\":\"- выбрать тему;\\n- подтвердить тему в чате с преподавателем;\\n- предоставить промежуточные наработки на промежуточное ревью;\\n- предоставить финальную версию проекта к дедлайну.\"}]},{\"id\":51120,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы по проекту, ДЗ и по курсу.\",\"title\":\"Консультация по проектам и домашним заданиям\",\"summary\":\"вопросы по улучшению и оптимизации работы над проектом;\\nзатруднения при выполнении ДЗ;\\nвопросы по программе.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":51121,\"likeDown\":0,\"likeUp\":0,\"description\":\"защитить проект и получить рекомендации экспертов.\",\"title\":\"Защита проектных работ\",\"summary\":\"презентация проектов перед комиссией;\\nвопросы и комментарии по проектам.\",\"likeUser\":null,\"homeworks\":[]}]}]}]},\"error\":null}},{\"text\":\"\u003ch2\u003eПроектная работа\u003c/h2\u003e\\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\\n\u003cp style=\\\"font-size: 20px;\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eВы выполните 2 больших проекта: по одному на каждую ступень обучения. \u003cbr\u003eРазработайте архитектуру приложения, опишите задачи, которые это приложение будет выполнять, реализуйте основную функциональность. Создайте проект для веб-разработки, для интеграции с сервисами или для data science. \u003c/span\u003e \u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eПримеры итоговых проектов студентов:\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli style=\\\"font-size: 20px;\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eСистема мониторинга ПК в корпоративной сети \u003c/span\u003e\u003c/li\u003e\\n\u003cli style=\\\"font-size: 20px;\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eСвой ORM \u003c/span\u003e\u003c/li\u003e\\n\u003cli style=\\\"font-size: 20px;\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eВеб-приложение по поиску групп с целевой аудиторией в ВК\u003c/span\u003e\u003c/li\u003e\\n\u003cli style=\\\"font-size: 20px;\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eИсследование датасета с визуализацией\u003c/span\u003e\u003c/li\u003e\\n\u003c/ul\u003e\",\"imageUrl\":null,\"id\":2783,\"type\":\"SPECIALIZATION_PROJECT_WORK\"},{\"id\":2784,\"type\":\"teachers\",\"teachers\":[{\"id\":2,\"fullName\":\"Станислав Ступников\",\"company\":\"VK\",\"companyRole\":\"Руководитель отдела разработки\",\"photoUrl\":\"https://cdn.otus.ru/media/public/3e/a5/3ea5195bc63d413d9c89a29ebd3ff6cf.jpg\",\"description\":\"10+ лет опыта промышленной разработки, в том числе создания и поддержания веб-приложений, инфраструктурных решений, высоконагруженных систем, data pipeline'ов и аналитических систем. \\r\\n\\r\\n3 года научной разработки для крупных государственных заказчиков с контрактами по тематике анализа больших объемов данных. Опыт программирования на Python, Go, Lua, C, JavaScript, Perl.\\r\\n\\r\\nШирокий круг профессиональных интересов, начиная от построения распределенных систем, заканчивая машинным обучением. Более 5 лет преподавал программирование на Python студентам МГТУ им. Н.Э. Баумана. С момента старта преподаю на курсе по СУБД в образовательном центре VK при МГТУ им. Н.Э. Баумана. 4 года преподавания курса СУБД в Технопарк Mail.Ru. Закончил МГТУ им. Н.Э. Баумана по специальности «Специалист по защите информации» в 2013 году.\",\"years\":9,\"lessonsCount\":466,\"studentsCount\":1336,\"courses\":[\"Python Developer. Professional\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":111,\"fullName\":\"Сурен Хоренян\",\"company\":\"ВК Реклама\",\"companyRole\":\"Senior Python Backend Developer, Руководитель группы разработки\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\",\"description\":\"Бэкенд-разработчик на Python, open-source contributor, руководитель команды в ВК Рекламе. \\r\\nОтвечает за бизнес-фичи back-end интерфейсов и современные практики на продукте. \\r\\nРаботал в маленьких стартапах и крупных компаниях.\",\"years\":8,\"lessonsCount\":779,\"studentsCount\":2285,\"courses\":[\"Python Developer. Basic\",\"Django-разработчик\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":2236,\"fullName\":\"Дмитрий Панкрашов\",\"company\":\"Российская BigTech-компания\",\"companyRole\":\"Middle Python Developer\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\",\"description\":\"Окончил Астраханский государственный технический университет (кафедра \\\"Информационная безопасность\\\") в 2012 году. Более 5 лет опыта в разработке как backend-разработчик. Последние 2,5 года работает ведущим разработчиком в компании-партнере вендора СЭД \\\"Директум\\\".\\r\\n\\r\\nИнтересы: php, python, .net (c#), postgresql.\",\"years\":5,\"lessonsCount\":316,\"studentsCount\":2553,\"courses\":[\"Специализация PHP Developer\",\"Системный аналитик. Advanced\",\"Python Developer. Basic\",\"Python Developer. Professional\",\"PHP-разработчик. Продвинутый уровень\",\"Symfony Framework\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":778,\"fullName\":\"Евгений Ревняков\",\"company\":\"Exness\",\"companyRole\":\"( к.т.н.) Senior software engineer\",\"photoUrl\":\"https://cdn.otus.ru/media/public/2d/79/2d79623ce22343d7a5bcd0cd58c5c4e3.jpg\",\"description\":\"Начинал в школе с паяльником в руках. Потом был ZX Spectrum. В университет пошел на техническую специальность. В механике много интересного, но в 2008 интерес к ИТ взял верх: компьютерные сети -\u003e Delphi -\u003e PHP -\u003e Python. \\r\\nБыли эксперименты с другими языками, но хочется писать именно на нем. Участвовал в проектах по автоматизации бизнес-процессов при помощи нейросетей (сервис заказа такси «Максим»), разработке информационных систем в медицине. Работал с GIS-системами и процессингом изображений при помощи Python.\\r\\nВ преподавании позиция: «Если кто-то не может объяснить сложное простыми словами, — значит он в этом еще не очень хорошо разбирается».\\r\\n\\r\\nОбразование: Курганский университет, кафедра \\\"Безопасность информационных и автоматизированных систем\\\", к.т.н.\\r\\nВ 2002 окончил Курганский государственный университет по специальности \\\"Многоцелевые гусеничные и колесные машины\\\".\\r\\nВ 2005 защитил диссертацию по бесступенчатым передачам. С тех пор официально трудоустроен в университете (КГУ).\",\"years\":7,\"lessonsCount\":320,\"studentsCount\":2957,\"courses\":[\"Machine Learning. Basic\",\"Python Developer. Basic\",\"Python Developer. Professional\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":641,\"fullName\":\"Леонид Орлов\",\"company\":null,\"companyRole\":\"Python Developer\",\"photoUrl\":\"https://cdn.otus.ru/media/public/bd/e2/bde288ad38b04ff5b8aca57731bfc4c9.jpg\",\"description\":\"Занимается собственными проектами на Python и Django.\\r\\n\\r\\nВыпускник кафедры информационных технологий физического факультета ПГНИУ. \\r\\nНачал карьеру в крупной международной компании Prognoz, создавал проекты для правительства РФ в течение 2 лет.\\r\\n \\r\\nРаботал программистом биллинга на oracle pl/sql в компании «Эр-Телеком Холдинг».\\r\\n\\r\\nС 2014 года стал преподавателем направления python-разработки.\",\"years\":8,\"lessonsCount\":403,\"studentsCount\":2297,\"courses\":[\"Системный аналитик. Team Lead\",\"Python Developer. Basic\",\"Python Developer. Professional\",\"Django-разработчик\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":62,\"fullName\":\"Андрей Кравчук\",\"company\":null,\"companyRole\":\"C/Python Developer\",\"photoUrl\":\"https://cdn.otus.ru/media/public/be/45/be456d671a7c4ce199bf05e275fe5387.jpg\",\"description\":\"12 лет опыта коммерческой разработки на Python, 15 лет опыта на C/C++.\\r\\n\\r\\nНа данный момент занимается разработкой и поддержкой проектов на фрилансе.\\r\\n\\r\\nУчастник релиза 5-ой версии Free Download Manager. В рамках работы на фрилансе разрабатывал аналог Яндекс.маркета для печатной продукции на европейском рынке. Автор и участник ряда проектов с открытым исходным кодом. Ценитель концептуальной стройности UNIX-подобных систем.\\r\\n\\r\\nОкончил университет «Дубна», в котором впоследствии преподавал дисциплины «C++», «Python», «Программирование в UNIX». Академическая степень — магистр прикладной математики и информатики.\\r\\n\\r\\nОбласть интересов — highload, системное программирование, LISP-подобные языки. Разрабатывает личные проекты на Common Lisp и Clojure.\",\"years\":9,\"lessonsCount\":542,\"studentsCount\":1407,\"courses\":[\"Программист С\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":2983,\"fullName\":\"Станислав Никуличев\",\"company\":\"NDA, ex Microsoft, ex Yandex\",\"companyRole\":\"Tech Lead\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\",\"description\":\"У меня несколько высших образований.\\r\\nОсновное — МГТУ им. Баумана по специализации «Информатика и системы управления».\\r\\nВторое — Экономическое, Финансы и кредит.\\r\\nТретье — Управление организациями.\\r\\n\\r\\nБолее 15 лет работаю в IT. Начинал как системный администратор и системный инженер. Работал в разных крупных и международных организациях, таких как РАО ЕЭС, Яндекс и Microsoft. Работал на разных должностях и направлениях. Выполнял проекты различной сложности.\\r\\n\\r\\nВ последние годы мой вектор развития сместился с системного администрирования на реализацию веб-проектов — я занимаюсь их созданием и продвижением. Конечно же, приходится применять программирование с использованием Python, C#, JS, SQL, CSS и HTML.\\r\\nНа данный момент любимый язык — Python.\\r\\n\\r\\nПоследние 7 лет занимаюсь преподавательской деятельностью.\",\"years\":4,\"lessonsCount\":241,\"studentsCount\":1710,\"courses\":[\"Machine Learning. Basic\",\"Python Developer. Basic\",\"Диалоговые боты и голосовые помощники\",\"Django-разработчик\",\"AI-агенты: продвинутое внедрение и использование\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":9286,\"fullName\":\"Игорь Стурейко\",\"company\":\"FinTech\",\"companyRole\":\"(к.ф.-м.н.) Teamlead, главный инженер\",\"photoUrl\":\"https://cdn.otus.ru/media/public/0e/42/0e4275435c3c4a5e97839de0bf1d0205.jpg\",\"description\":\"Более 15 лет занимался прикладной математикой и мат. моделированием в НИИгазэкономика ПАО Газпром.\\r\\n\\r\\nРуководил командой 20+ человек, решающей прикладные задачи, вывод готовых моделей в продакшн и поддержку решений у клиента. \\r\\n\\r\\nРазрабатывал модель развития и прогнозирования технического состояния газотранспортной системы ПАО Газпром.\\r\\n\\r\\nОбразование: \\r\\nкандидат наук физико-математических наук, Теоретическая физика, Московский государственный университет (МГУ)\\r\\n\\r\\nOtus Certified Educator\",\"years\":3,\"lessonsCount\":360,\"studentsCount\":3608,\"courses\":[\"Machine Learning. Professional\",\"Machine Learning. Advanced\",\"Machine Learning. Basic\",\"Reinforcement Learning\",\"MLOps\",\"ML для финансового анализа\",\"Python Developer. Professional\",\"Рекомендательные системы\",\"AI-архитектор\",\"AI-агенты: продвинутое внедрение и использование\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":9806,\"fullName\":\"Кирилл Панфилов\",\"company\":\"[dirty_python]\",\"companyRole\":\"Блогер, программист\",\"photoUrl\":\"https://cdn.otus.ru/media/public/0b/30/0b303dfeb677492e994dadeb696f7147.jpg\",\"description\":\"Преподаватель с опытом работы более трех лет. Специализируется на базовом и продвинутом обучении по Python, а также основах машинного обучения (ML)\\r\\n\\r\\nРаботает с популярными инструментами и библиотеками для Python и машинного обучения, активно участвует в разработке учебных программ. Автор YouTube-канала Dirty Python\",\"years\":3,\"lessonsCount\":170,\"studentsCount\":946,\"courses\":[\"Machine Learning. Basic\",\"Python Developer. Basic\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null},{\"id\":3828,\"fullName\":\"Дарья Горбатова\",\"company\":\"NLMK-IT\",\"companyRole\":\"HRBP\",\"photoUrl\":\"https://cdn.otus.ru/media/public/a5/f9/a5f96e70547d4f0baee73c602ab67037.jpg\",\"description\":\"Дарья больше 13 лет работает в области управления персоналом. Начинала, как HR-специалист, работала тренинг-менеджером, затем HRG, а последние 8 лет (пять из которых – в сфере IT) занимает позицию HRBP.\\r\\nСотрудничала с компаниями: «Inditex», «Ашан», аптечная сеть «Ригла», «Цемрос», «Docrobot» (e-com), ОТР-2000, NLMK-IT.\\r\\nДарья – сертифицированный карьерный консультант. Помогает соискателям в области IT составить резюме, подготовиться к собеседованиям; разрабатывает карьерную стратегию.\\r\\nТакже Дарья занимается преподавательскую деятельностью: вела курсы профессиональной переподготовки в Ярославском государственном университете им. П.Г. Демидова, была наставником школы «HR компас».\\r\\nНеоднократно внедряла систему онбординга, совершенствует внутренние коммуникации, проводит «перформанс ревью».\\r\\n\\r\\n\u003cb\u003eНавыки:\u003c/b\u003e\\r\\n\\r\\nонбординг\\r\\nкарьерное планирование\\r\\nрекрутмент\\r\\nоценка и развитие\",\"years\":4,\"lessonsCount\":185,\"studentsCount\":3048,\"courses\":[\"IT HRBP\",\"Java Developer. Basic\",\"Python Developer. Basic\",\"Python Developer. Professional\",\"QA Engineer. Basic\",\"Python QA Engineer\",\"Kotlin QA Engineer\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":null}]},{\"desc\":null,\"header\":\"\u003ch2\u003eПрошедшие мероприятия\u003c/h2\u003e\",\"id\":2787,\"type\":\"SPECIALIZATION_PAST_WEBINARS\",\"events\":[{\"id\":6772,\"eventType\":\"open_lesson\",\"previewLink\":\"https://i.mycdn.me/getVideoPreview?id=11191655336492\u0026idx=8\u0026type=39\u0026tkn=lSEjqetBJKqU76EbI5xkOdozNr0\u0026fn=vid_l\",\"eventTitle\":\"Запуск Python-приложения в Docker: FastAPI и база данных\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456250422\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":6771,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-34.userapi.com/impg/WclKp3kgrwpWSd0NAEfIvWXDbimJacriQj2Izw/3bHfvsw4LAQ.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=93ec3852bd84ac2056334126063c0047\u0026c_uniq_tag=ATrHQmUgLSmGWIyAmV6aRQhgNO4_GQ70wy-KU4RZFLw\u0026type=video_thumb\",\"eventTitle\":\"Telegram-бот за 60 минут: получение данных из любого API и ответ пользователю\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456250371\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":6770,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-35.userapi.com/impg/b9gXtkt-Jlso5s8Fxc3xkg6PedyrXz480mABWQ/b1Ylq2C_aD4.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=cf7f737c786bc7f08915d8b8c51f80e6\u0026c_uniq_tag=WxyQqodZtxs5w7WxVkH56Nsoq5ZPcPL6J3PSwlZWA4k\u0026type=video_thumb\",\"eventTitle\":\"Pydantic-settings для удобного конфигурирования приложения на примере FastAPI\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456250341\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":6458,\"eventType\":\"open_lesson\",\"previewLink\":\"https://i.mycdn.me/getVideoPreview?id=9412537027244\u0026idx=11\u0026type=39\u0026tkn=Pl_dxfeATFA8tLNht9yjtLWPEIE\u0026fn=vid_l\",\"eventTitle\":\"Оживляем код: первые шаги в ООП на Python\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249858\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":6457,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-70.userapi.com/impg/nHH4EYlZS8xRRSlUSVMcZdKu7f1NLcpFrFt-ig/lzVUbPvsFmc.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=c5cd905950bab209a434c0228d213c6a\u0026c_uniq_tag=VBB0PEn-xdNtvxQN9oMdrtli31YhHhyHLKpSI_K1CJo\u0026type=video_thumb\",\"eventTitle\":\"Работа с базой данных на Python: SQLAlchemy и Alembic\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249809\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":6456,\"eventType\":\"open_lesson\",\"previewLink\":\"https://i.mycdn.me/getVideoPreview?id=9131700783752\u0026idx=14\u0026type=39\u0026tkn=jzbi2C3KbIj-1F1C65VDW3gquO4\u0026fn=vid_l\",\"eventTitle\":\"Очереди задач в веб-приложении на Python: FastStream + FastAPI, RPC\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249685\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":6194,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-27.userapi.com/impg/FVzpBPv7AXoER4H6ZVwYRSjuHGUnnyB-tFx5Rw/dOgss6-1TUM.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=e33954ddcd9b886b12f27eeb58fd7bd6\u0026c_uniq_tag=ruf9IILOo8EO4dZuDnjFJvjnfRoSI8fDqay6CN-1BoM\u0026type=video_thumb\",\"eventTitle\":\"Зависимости в FastAPI\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249305\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":6193,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-70.userapi.com/impg/CeyxCaAST8IZ4RA8CJQObOFWPCBtiRP8fhZsvA/foVVX8MDnG4.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=08fc79b2d797cf720e33f2e43b819e81\u0026c_uniq_tag=PMPJg0kgGTDhHU6mXYBgsAlyMDSUDxxrWBPvC9YJjiI\u0026type=video_thumb\",\"eventTitle\":\"Telegram-бот с нуля на Python: от теории к практике\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249194\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":6192,\"eventType\":\"open_lesson\",\"previewLink\":\"https://i.mycdn.me/getVideoPreview?id=8606069295644\u0026idx=10\u0026type=39\u0026tkn=C3omOZl8cFDbv1qKfAnIHibN1rI\u0026fn=vid_l\",\"eventTitle\":\"Декораторы и фабрики декораторов в Python\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249050\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":4364,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/R3AkhJQpmmE/0.jpg\",\"eventTitle\":\"Первый шаг в Django: создайте свой первый веб-проект\",\"recordLink\":\"https://www.youtube.com/embed/R3AkhJQpmmE\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":4363,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/HuYVGRlLW-0/0.jpg\",\"eventTitle\":\"Почему Python — лучший язык для создания Telegram-ботов?\",\"recordLink\":\"https://www.youtube.com/embed/HuYVGRlLW-0\",\"teacher\":{\"fullName\":\"Кирилл Панфилов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/0b/30/0b303dfeb677492e994dadeb696f7147.jpg\"}},{\"id\":4362,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/PRzzknLABlQ/0.jpg\",\"eventTitle\":\"Шаблоны страниц в FastAPI приложении\",\"recordLink\":\"https://www.youtube.com/embed/PRzzknLABlQ\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":4213,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/F1t2uw9FeLg/0.jpg\",\"eventTitle\":\"Самые эффективные однострочники в Python\",\"recordLink\":\"https://www.youtube.com/embed/F1t2uw9FeLg\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":4212,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/l88Sez5_lw0/0.jpg\",\"eventTitle\":\"Генераторы и очереди в Python\",\"recordLink\":\"https://www.youtube.com/embed/l88Sez5_lw0\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":4211,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/o11zsw_51BE/0.jpg\",\"eventTitle\":\"Параллельное программирование в Python\",\"recordLink\":\"https://www.youtube.com/embed/o11zsw_51BE\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":3905,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/7MmRz_RdTw4/0.jpg\",\"eventTitle\":\"SQL для Python-разработчика\",\"recordLink\":\"https://www.youtube.com/embed/7MmRz_RdTw4\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":3904,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/mH8g21ljjRc/0.jpg\",\"eventTitle\":\"Ключевой инструмент начинающего Python-разработчика: Декораторы\",\"recordLink\":\"https://www.youtube.com/embed/mH8g21ljjRc\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":3892,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/_cGxrLwcarQ/0.jpg\",\"eventTitle\":\"Основы ООП в Python\",\"recordLink\":\"https://www.youtube.com/embed/_cGxrLwcarQ\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":3748,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/hbd8lnhvtIo/0.jpg\",\"eventTitle\":\"Best Practices хорошего кода на Python\",\"recordLink\":\"https://www.youtube.com/embed/hbd8lnhvtIo\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":3747,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/p0OHpVySgSU/0.jpg\",\"eventTitle\":\"Освойте искусство обработки Excel-таблиц с Pandas\",\"recordLink\":\"https://www.youtube.com/embed/p0OHpVySgSU\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":3746,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/LHdBRFjnLOg/0.jpg\",\"eventTitle\":\"Как при помощи декораторов изменить поведение функции в Python\",\"recordLink\":\"https://www.youtube.com/embed/LHdBRFjnLOg\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":3526,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/chsV3O1mkXw/0.jpg\",\"eventTitle\":\"Типы данных в Python\",\"recordLink\":\"https://www.youtube.com/embed/chsV3O1mkXw\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":3525,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/_or0NpWqaBA/0.jpg\",\"eventTitle\":\"List Comprehensions в Python: создание эффективного и читаемого кода\",\"recordLink\":\"https://www.youtube.com/embed/_or0NpWqaBA\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":3524,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/n_i39hmyql0/0.jpg\",\"eventTitle\":\"Знакомство с FastAPI\",\"recordLink\":\"https://www.youtube.com/embed/n_i39hmyql0\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":3089,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/Yc2vYj7SSuw/0.jpg\",\"eventTitle\":\"Работа с пакетами в Python с помощью pip и poetry\",\"recordLink\":\"https://www.youtube.com/embed/Yc2vYj7SSuw\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":3088,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/ph5FKM1u1_c/0.jpg\",\"eventTitle\":\"Работа со встроенными библиотеками Python\",\"recordLink\":\"https://www.youtube.com/embed/ph5FKM1u1_c\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":3087,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/jRRpxDpSsac/0.jpg\",\"eventTitle\":\"Декораторы в Python: инструменты начинающего разработчика для улучшения кода!\",\"recordLink\":\"https://www.youtube.com/embed/jRRpxDpSsac\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2840,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/8qdG7ct9Eh8/0.jpg\",\"eventTitle\":\"Рабочее место Python-разработчика\",\"recordLink\":\"https://www.youtube.com/embed/8qdG7ct9Eh8\",\"teacher\":{\"fullName\":\"Дмитрий Панкрашов\",\"photoUrl\":\"https://cdn.otus.ru/media/public/fa/87/fa87758c1b30479ca18a2c3fb66ba7e0.jpg\"}},{\"id\":2839,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/jeGJ4ORAepg/0.jpg\",\"eventTitle\":\"Важные алгоритмы Python\",\"recordLink\":\"https://www.youtube.com/embed/jeGJ4ORAepg\",\"teacher\":{\"fullName\":\"Станислав Никуличев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ba/69/ba69e65b03ed42dd8b1ec5873979cdc1.jpg\"}},{\"id\":2838,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/FlMx7jed0j4/0.jpg\",\"eventTitle\":\"Основы ООП в Python\",\"recordLink\":\"https://www.youtube.com/embed/FlMx7jed0j4\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2576,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/pTs3gtkCBrU/0.jpg\",\"eventTitle\":\"Знакомство с веб разработкой на Flask\",\"recordLink\":\"https://www.youtube.com/embed/pTs3gtkCBrU\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2575,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/A3LNqzlQ-gY/0.jpg\",\"eventTitle\":\"Функции-помощники: map, filter, reduce\",\"recordLink\":\"https://www.youtube.com/embed/A3LNqzlQ-gY\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2574,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/YOtTzyxoXSQ/0.jpg\",\"eventTitle\":\"Декораторы в Python\",\"recordLink\":\"https://www.youtube.com/embed/YOtTzyxoXSQ\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2401,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/YVg6VezRnnQ/0.jpg\",\"eventTitle\":\"Знакомство со встроенными модулями\",\"recordLink\":\"https://www.youtube.com/embed/YVg6VezRnnQ\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2400,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/Yv7BTCpVZs4/0.jpg\",\"eventTitle\":\"Модули и импорты\",\"recordLink\":\"https://www.youtube.com/embed/Yv7BTCpVZs4\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2012,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/PAq664WhsLs/0.jpg\",\"eventTitle\":\"Знакомство с веб разработкой на Flask\",\"recordLink\":\"https://www.youtube.com/embed/PAq664WhsLs\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":2011,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/BoFp7HclyPo/0.jpg\",\"eventTitle\":\"Работа с сетью\",\"recordLink\":\"https://www.youtube.com/embed/BoFp7HclyPo\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":1810,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/Jglvw2kaiCM/0.jpg\",\"eventTitle\":\"Функции-помощники: map, filter, reduce\",\"recordLink\":\"https://www.youtube.com/embed/Jglvw2kaiCM\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}},{\"id\":1809,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/2D2M3077n84/0.jpg\",\"eventTitle\":\"Декораторы в Python\",\"recordLink\":\"https://www.youtube.com/embed/2D2M3077n84\",\"teacher\":{\"fullName\":\"Сурен Хоренян\",\"photoUrl\":\"https://cdn.otus.ru/media/public/8d/48/8d485c23dab24977b06b25fc6e7ac38b.png\"}}]},{\"id\":2788,\"type\":\"EMPLOYEE_REQUEST\"},{\"title\":\"Отзывы\",\"id\":2789,\"type\":\"SPECIALIZATION_REVIEW\",\"reviews\":[{\"id\":2548,\"dateCreated\":\"2024-09-19T13:53:51+00:00\",\"text\":\"$29\",\"shortText\":null,\"user\":{\"avatarUrl\":\"https://cdn.otus.ru/media/public/ea/22/avatar-443883-ea2256.png\",\"fullName\":\"Владислав Сидоров\",\"socials\":[{\"id\":234070,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Владислав Сидоров\"},{\"id\":2209,\"dateCreated\":\"2024-04-08T09:41:57+00:00\",\"text\":\"$2a\",\"shortText\":null,\"user\":{\"avatarUrl\":\"https://cdn.otus.ru/media/public/88/de/avatar-220360-88de07.png\",\"fullName\":\"Андрей Сильных\",\"socials\":[]},\"name\":\"Андрей Сильных\"},{\"id\":2196,\"dateCreated\":\"2024-04-03T11:49:20+00:00\",\"text\":\"$2b\",\"shortText\":null,\"user\":{\"avatarUrl\":\"https://cdn.otus.ru/media/public/36/d8/avatar-1801-36d82d.png\",\"fullName\":\"Максим Шарков\",\"socials\":[]},\"name\":\"Максим Шарков\"}]},{\"header\":null,\"desc\":\"\u003cp\u003e\u003cspan\u003eOTUS осуществляет лицензированную образовательную деятельность. \u003c/span\u003e\u003cspan\u003eВ конце прохождения специализации вы получите сертификат OTUS и диплом о получении новой специальности государственного образца\u003c/span\u003e\u003c/p\u003e\",\"sideDesc\":\"\u003ch3\u003eПочему специализация выгоднее, чем отдельные курсы?\u003c/h3\u003e\\n\u003cul\u003e\\n\u003cli style=\\\"font-weight: 400;\\\" aria-level=\\\"1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eДешевле, чем два курса по отдельности\u003c/span\u003e\u003c/li\u003e\\n\u003cli style=\\\"font-weight: 400;\\\" aria-level=\\\"1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eВы получаете диплом о профессиональной переподготовке\u003c/span\u003e\u003c/li\u003e\\n\u003cli style=\\\"font-weight: 400;\\\" aria-level=\\\"1\\\"\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eЗнания и навыки для уровней junior и middle сведены в единую программу\u003c/span\u003e\u003c/li\u003e\\n\u003c/ul\u003e\",\"id\":2790,\"type\":\"SPECIALIZATION_CERTIFICATE\"},{\"id\":2792,\"type\":\"SPECIALIZATION_FAQ\",\"items\":[{\"name\":607,\"title\":\"Обязательно ли выполнять домашние задания? Кто проверяет домашние задания и итоговый проект?\",\"description\":\"Да, если вы действительно хотите программировать на Python.\\r\\nЧасть заданий тестовые — их проверка происходит автоматически. На другие задания развернутую обратную связь дают наши преподаватели и наставники. При желании вы можете защитить свой итоговый проект перед руководителем и преподавателями курса.\"},{\"name\":608,\"title\":\"Можно ли задавать вопросы?\",\"description\":\"Да, даже нужно! Вы можете задавать преподавателю вопросы по содержанию во время онлайн-вебинара, в закрытом Telegram-чате или в чате по ДЗ. На организационные вопросы вам всегда поможет ответить коммьюнити-менеджер курса.\"},{\"name\":609,\"title\":\"Насколько сложно учиться?\",\"description\":\"Для студентов с нулевым опытом данная специализация — настоящий челлендж. Специализация действительно подходит для всех, кто хочет стать Python-разработчиком с нуля. Но для этого необходимо приложить усилия и старания, в т.ч. и при самостоятельном изучении материалов. Будьте готовы тратить на обучение и выполнение домашних заданий от 6 до 12 часов в неделю.\"},{\"name\":610,\"title\":\"Какой объем практики предусмотрен на курсе?\",\"description\":\"Больше 70%. Также во время обучения вам будут доступны дополнительные источники информации и ссылки на open-source ресурсы для тренировки коддинга. А наши преподаватели всегда готовы поделиться с вами самыми актуальными материалами.\"},{\"name\":929,\"title\":\"Помогаете ли вы с трудоустройством после курса?\",\"description\":\"Мы проводим вебинары на тему трудоустройства в OTUS Club: разбираем резюме, способы прохождения собеседований, особенности реферальных программ при найме. Что важно: преподаватели курса занимают ведущие позиции в разных компаниях, и вы можете получить ценную рекомендацию. Поэтому будьте активны, выполняйте домашние задания, проявляйте себя\"},{\"name\":930,\"title\":\"Здесь нет моего вопроса\",\"description\":\"Позвоните по номеру +7 499 938-92-02 (звонок бесплатный) или напишите на почту help@otus.ru: мы постараемся ответить на все ваши вопросы\"},{\"name\":17,\"title\":\"Что понадобится для обучения?\",\"description\":\"Только компьютер.\"},{\"name\":18,\"title\":\"Что, если в середине курса я не смогу продолжать обучение?\",\"description\":\"Вы можете бесплатно перейти в другую группу. Но только один раз.\"},{\"name\":19,\"title\":\"Обязательно ли защищать все проектные работы?\",\"description\":\"Для получения сертификата OTUS сдавать итоговые проекты необязательно (в сертификате будет отражено кол-во выполненных домашних работ). Для получения Диплома о профессиональной переподготовке необходимо выполнить оба итоговых проекта (на 2 ступенях обучения). Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.\"},{\"name\":21,\"title\":\"Я могу вернуть деньги?\",\"description\":\"Да, мы можем вернуть деньги за то время, которое вы ещё не успели отучиться.\\r\\nНапример, если специализация длится десять месяцев, а вы отучились четыре, мы вернём деньги за оставшиеся шесть месяцев.\"}]}],\"theme\":\"$2c\",\"button\":{\"nextAttempt\":null,\"assessmentId\":null,\"state\":\"course_subscribe_required\",\"userCourseId\":null,\"courseTitle\":\"Python Developer\",\"courseSlug\":\"python-specialization\",\"groupId\":null,\"showFastbuyButton\":false},\"structuredData\":{\"@context\":\"https://schema.org\",\"@type\":\"Organization\",\"name\":\"Otus\",\"url\":\"https://otus.ru\",\"logo\":\"https://otus.ru/__new_static__/img/meta-image.png\",\"sameAs\":[\"https://vk.com/otusru\",\"https://t.me/Otusjava\"]}}}]}]\n"])</script><style data-styled="" data-styled-version="5.3.10"></style></body></html><style data-styled="" data-styled-version="5.3.10"></style>