<!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="/_next/static/images/img/otus-certificate-832bf0e82aba1cde68e7417b12683728.png"/><link rel="preload" as="image" href="/_next/static/images/img/upk-diploma-d6bca6c33b9795bec7d04fb91a431230.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-3018d93ec30a05b2.js"/><script src="/_next/static/chunks/b6261da7-560230abf0251a57.js" async=""></script><script src="/_next/static/chunks/8868-b22af6500d7f0373.js" async=""></script><script src="/_next/static/chunks/main-app-46cd73774d8d37e3.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-9988dde0bcc22cd3.js" async=""></script><script src="/_next/static/chunks/app/error-37bbf3f7388748a0.js" async=""></script><script src="/_next/static/chunks/app/not-found-6846642e53dd56ba.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>Курс «Архитектура и шаблоны проектирования ПО» для разработчиков - ОТУС обучение онлайн</title><meta name="description" content="Онлайн-курс Архитектура и шаблоны (паттерны) проектирования программного обеспечения. Научитесь применять шаблоны проектирования и SOLID в разработке; обучение подойдет для Fullstack- и Backend-разработчиков, DevOps-инженеров. Записаться на курс «Архитектура и шаблоны проектирования ПО» на сайте ОТУС"/><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/patterns/"/><meta name="yandex-verification" content="3019a35aeda6b45d"/><meta property="og:title" content="Курс «Архитектура и шаблоны проектирования ПО» для разработчиков - ОТУС обучение онлайн"/><meta property="og:description" content="Онлайн-курс Архитектура и шаблоны (паттерны) проектирования программного обеспечения. Научитесь применять шаблоны проектирования и SOLID в разработке; обучение подойдет для Fullstack- и Backend-разработчиков, DevOps-инженеров. Записаться на курс «Архитектура и шаблоны проектирования ПО» на сайте ОТУС"/><meta property="og:url" content="https://otus.ru/lessons/patterns/"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="Курс «Архитектура и шаблоны проектирования ПО» для разработчиков - ОТУС обучение онлайн"/><meta name="twitter:description" content="Онлайн-курс Архитектура и шаблоны (паттерны) проектирования программного обеспечения. Научитесь применять шаблоны проектирования и SOLID в разработке; обучение подойдет для Fullstack- и Backend-разработчиков, DevOps-инженеров. Записаться на курс «Архитектура и шаблоны проектирования ПО» на сайте ОТУС"/><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">.iJGzvz{display:inline-block;-webkit-animation-name:rotate;animation-name:rotate;-webkit-animation-duration:1.2s;animation-duration:1.2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease;animation-timing-function:ease;will-change:transform;}/*!sc*/
@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}80%{-webkit-transform:rotate(500deg);-ms-transform:rotate(500deg);transform:rotate(500deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}/*!sc*/
@keyframes rotate{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}80%{-webkit-transform:rotate(500deg);-ms-transform:rotate(500deg);transform:rotate(500deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}/*!sc*/
data-styled.g1[id="sc-10qj18o-0"]{content:"iJGzvz,"}/*!sc*/
.bLNTdk{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g2[id="sc-10qj18o-1"]{content:"bLNTdk,"}/*!sc*/
.bmVffP{height:24px;width:24px;position:relative;}/*!sc*/
.kOdeIv{height:48px;width:48px;position:relative;}/*!sc*/
.cvcsLz{height:28px;width:28px;position:relative;}/*!sc*/
.gsweRb{height:88px;width:88px;position:relative;}/*!sc*/
data-styled.g3[id="sc-i28ik1-0"]{content:"bmVffP,kOdeIv,cvcsLz,gsweRb,"}/*!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*/
.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*/
.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*/
.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*/
.wJZyp{font-family:'Roboto',sans-serif;font-size:14px;line-height:20px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.wJZyp{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:751px){.wJZyp{font-size:12px;line-height:16px;}}/*!sc*/
@media (max-width:1201px){.wJZyp{font-weight:400;}}/*!sc*/
@media (max-width:751px){.wJZyp{font-weight:400;}}/*!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*/
.ioOegJ{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;font-weight:700;}/*!sc*/
@media (max-width:1201px){.ioOegJ{font-size:40px;line-height:48px;}}/*!sc*/
@media (max-width:751px){.ioOegJ{font-size:32px;line-height:36px;}}/*!sc*/
@media (max-width:1201px){.ioOegJ{font-weight:700;}}/*!sc*/
@media (max-width:751px){.ioOegJ{font-weight:700;}}/*!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,bTMeHF,gGtEnS,hQBzUY,wJZyp,dvqddq,iFeEEh,iwrrOS,ioOegJ,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*/
.gkRIPP{font-family:'Roboto',sans-serif;font-size:16px;line-height:24px;font-weight:400;}/*!sc*/
@media (max-width:1201px){.gkRIPP{font-size:16px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.gkRIPP{font-size:14px;line-height:20px;}}/*!sc*/
@media (max-width:1201px){.gkRIPP{font-weight:400;}}/*!sc*/
@media (max-width:751px){.gkRIPP{font-weight:400;}}/*!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:"gkRIPP,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*/
.gKNzJW{-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:#FA6D41;}/*!sc*/
@media (min-width:1200px){.gKNzJW:hover{color:#FA6D41;}}/*!sc*/
.gKNzJW:disabled{opacity:0.4;pointer-events:none;cursor:default;}/*!sc*/
data-styled.g43[id="sc-1bkbgbz-2"]{content:"dQlnjC,gKNzJW,"}/*!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*/
.eGxJvf{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*/
.eGxJvf .sc-1bkbgbz-5 > *{background-color:#FA6D41 !important;}/*!sc*/
data-styled.g47[id="sc-1bkbgbz-6"]{content:"eoibzU,hcbJSK,eGxJvf,"}/*!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*/
.jBZCRO{-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:#fff;background:#232323;}/*!sc*/
.jBZCRO:active{color:#fff;}/*!sc*/
.jBZCRO:not(:disabled):hover{color:#ffd709;background:#0f0f10;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jBZCRO:disabled{cursor:default;color:#afafaf;background:#ececec;pointer-events:none;}/*!sc*/
data-styled.g249[id="sc-1qig7zt-0"]{content:"czpnNJ,bYRRHi,jBZCRO,"}/*!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*/
.bzaXwp{background-color:#f8f8f8;}/*!sc*/
data-styled.g344[id="sc-1b3dhyb-0"]{content:"bzaXwp,"}/*!sc*/
.dvLdDh{overflow:hidden;z-index:0;}/*!sc*/
data-styled.g345[id="sc-1b3dhyb-1"]{content:"dvLdDh,"}/*!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.g346[id="sc-keyframes-iJeNST"]{content:"iJeNST,"}/*!sc*/
.ftkQLi{width:100%;}/*!sc*/
data-styled.g347[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.g350[id="sc-1lrh8w5-3"]{content:"JTsAm,"}/*!sc*/
.jTrfLJ{margin:auto;padding:0 4px 0 0;}/*!sc*/
data-styled.g351[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.g352[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.g370[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.g371[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.g372[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.g374[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.g375[id="sc-1r62a6q-1"]{content:"llFwsA,"}/*!sc*/
.dtnelf{margin-bottom:60px;}/*!sc*/
@media (max-width:1201px){.dtnelf{margin-bottom:40px;}}/*!sc*/
data-styled.g376[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.g377[id="sc-1r62a6q-3"]{content:"eNyjzK,"}/*!sc*/
.fulWiX H1,.fulWiX H2,.fulWiX H3,.fulWiX H4,.fulWiX H5,.fulWiX H6{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:40px;line-height:48px;padding-bottom:40px;}/*!sc*/
@media (max-width:1201px){.fulWiX H1,.fulWiX H2,.fulWiX H3,.fulWiX H4,.fulWiX H5,.fulWiX H6{font-size:40px;line-height:48px;padding-bottom:32px;}}/*!sc*/
@media (max-width:751px){.fulWiX H1,.fulWiX H2,.fulWiX H3,.fulWiX H4,.fulWiX H5,.fulWiX H6{font-size:20px;line-height:24px;padding-bottom:40px;}}/*!sc*/
.fulWiX p{font-family:'Roboto',sans-serif;font-size:18px;line-height:24px;}/*!sc*/
@media (max-width:1201px){.fulWiX p{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.fulWiX p{font-size:16px;line-height:24px;}}/*!sc*/
.fulWiX ul,.fulWiX ol{margin:-24px 0 32px;padding:0;}/*!sc*/
.fulWiX 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){.fulWiX li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.fulWiX li{font-size:16px;line-height:24px;}}/*!sc*/
.fulWiX li:last-child{margin-bottom:0;}/*!sc*/
.fulWiX li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.fulWiX li:before{color:#FA6D41;}/*!sc*/
.fulWiX > *:last-child{margin-bottom:0;}/*!sc*/
data-styled.g378[id="sc-1r62a6q-4"]{content:"fulWiX,"}/*!sc*/
.gIfsvL{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 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){.gIfsvL{-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*/
.dtlsZM{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 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){.dtlsZM{-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*/
.jfuJCc{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 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){.jfuJCc{-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*/
.evFWrv{z-index:-1;position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 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){.evFWrv{-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.g381[id="sc-1ddwpfq-0"]{content:"gIfsvL,dtlsZM,jfuJCc,evFWrv,"}/*!sc*/
.hnlXxp{position:relative;width:100%;padding:80px 0;}/*!sc*/
@media (max-width:751px){.hnlXxp{padding:56px 0;}}/*!sc*/
data-styled.g382[id="sc-1ddwpfq-1"]{content:"hnlXxp,"}/*!sc*/
.SAbyR{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.g396[id="sc-1gixy6u-0"]{content:"SAbyR,"}/*!sc*/
.gPoh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g397[id="sc-1gixy6u-1"]{content:"gPoh,"}/*!sc*/
.cGbwrP{margin-top:20px;}/*!sc*/
data-styled.g398[id="sc-1gixy6u-2"]{content:"cGbwrP,"}/*!sc*/
.fyePAn{padding:10px;color:#0f0f10;border-radius:20px;margin-right:12px;background-color:#ffd709;}/*!sc*/
@media (max-width:751px){.fyePAn{margin:0 0 0 auto;}}/*!sc*/
@media (max-width:751px){.fyePAn{margin:0 12px 0 0;}}/*!sc*/
data-styled.g399[id="sc-1gixy6u-3"]{content:"fyePAn,"}/*!sc*/
.eaqLEc{height:40px;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.g400[id="sc-1gixy6u-4"]{content:"eaqLEc,"}/*!sc*/
.gfqBkq{color:#0f0f10;word-break:break-word;}/*!sc*/
.gfqBkq h1{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:52px;line-height:64px;margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.gfqBkq h1{font-size:52px;line-height:64px;}}/*!sc*/
@media (max-width:751px){.gfqBkq h1{font-size:24px;line-height:28px;margin-bottom:32px;}}/*!sc*/
.gfqBkq h2{font-family:'IBM Plex Sans','Roboto',sans-serif;font-size:24px;line-height:28px;margin-bottom:16px;}/*!sc*/
@media (max-width:1201px){.gfqBkq h2{font-size:24px;line-height:28px;margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.gfqBkq h2{font-size:18px;line-height:24px;margin-bottom:16px;}}/*!sc*/
.gfqBkq p{margin-bottom:40px;}/*!sc*/
@media (max-width:1201px){.gfqBkq p{margin-bottom:24px;}}/*!sc*/
.gfqBkq ul,.gfqBkq ol{margin:-24px 0 32px;padding:0;margin:0 0 32px;}/*!sc*/
.gfqBkq 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){.gfqBkq li{font-size:18px;line-height:24px;}}/*!sc*/
@media (max-width:751px){.gfqBkq li{font-size:16px;line-height:24px;}}/*!sc*/
.gfqBkq li:last-child{margin-bottom:0;}/*!sc*/
.gfqBkq li::before{content:'•';position:absolute;top:0;left:0;color:#005ece;font-size:39px;line-height:26px;}/*!sc*/
.gfqBkq li::before{color:#FA6D41;}/*!sc*/
.gfqBkq *: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.g417[id="sc-pyhrzd-0"]{content:"gfqBkq,dJQBfL,"}/*!sc*/
.gjfSTs{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:320px;margin:0 0 0 64px;}/*!sc*/
@media (max-width:1201px){.gjfSTs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin:60px 0 0;padding:20px;border-radius:20px;background:#fff;}}/*!sc*/
@media (max-width:751px){.gjfSTs{margin:40px 0 0;}}/*!sc*/
data-styled.g418[id="sc-1232l32-0"]{content:"gjfSTs,"}/*!sc*/
.gLmhvn{margin:0 0 28px;}/*!sc*/
@media (max-width:1201px){.gLmhvn{margin:0 24px 0 0;}}/*!sc*/
@media (max-width:751px){.gLmhvn{margin:0 16px 0 0;}}/*!sc*/
data-styled.g419[id="sc-1232l32-1"]{content:"gLmhvn,"}/*!sc*/
.cLdvvd{color:#afafaf;}/*!sc*/
.cLdvvd h1,.cLdvvd h2,.cLdvvd h3{color:#0f0f10;}/*!sc*/
data-styled.g420[id="sc-1232l32-2"]{content:"cLdvvd,"}/*!sc*/
.cjEHVO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto 80px;padding:0 64px 80px;border-bottom:1px solid #afafaf;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.cjEHVO{display:block;margin:0 auto 60px;padding:0 0 60px;}}/*!sc*/
@media (max-width:751px){.cjEHVO{display:block;margin:0 auto 40px;padding:0 0 80px;}}/*!sc*/
data-styled.g421[id="sc-lpm061-0"]{content:"cjEHVO,"}/*!sc*/
.iKbbnr{margin:0 0 24px;}/*!sc*/
@media (max-width:751px){.iKbbnr{margin:0 0 16px;}}/*!sc*/
data-styled.g422[id="sc-lpm061-1"]{content:"iKbbnr,"}/*!sc*/
.dYVcmu{margin:20px auto 80px;padding:0 0 80px;border-bottom:1px solid #afafaf;}/*!sc*/
@media (max-width:1201px){.dYVcmu{margin:0 auto 60px;padding:0 0 60px;}}/*!sc*/
@media (max-width:751px){.dYVcmu{margin:0 auto 80px;padding:0 0 64px;}}/*!sc*/
data-styled.g438[id="sc-1oat6ot-0"]{content:"dYVcmu,"}/*!sc*/
.cVgwEc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 64px 0;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.cVgwEc{padding:0;}}/*!sc*/
data-styled.g439[id="sc-1oat6ot-1"]{content:"cVgwEc,"}/*!sc*/
.hjZAnk{width:auto;min-width:320px;margin:24px 0 0;}/*!sc*/
@media (max-width:1201px){.hjZAnk{margin:48px 0 0;}}/*!sc*/
@media (max-width:751px){.hjZAnk{width:100%;margin:16px 0 0;}}/*!sc*/
data-styled.g441[id="sc-1oat6ot-3"]{content:"hjZAnk,"}/*!sc*/
.hdfpFD{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.g442[id="sc-1oat6ot-4"]{content:"hdfpFD,"}/*!sc*/
.klGcVm{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:751px){.klGcVm{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g443[id="sc-1oat6ot-5"]{content:"klGcVm,"}/*!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.g449[id="sc-16yt4q5-0"]{content:"iHYLll,"}/*!sc*/
.dGpeBr{overflow:hidden;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-bottom:24px;border-radius:50%;background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );}/*!sc*/
@media (max-width:1201px){.dGpeBr{margin-bottom:0;margin-right:24px;}}/*!sc*/
data-styled.g450[id="sc-16yt4q5-1"]{content:"dGpeBr,"}/*!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.g451[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.g452[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.g453[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.g454[id="sc-ze365z-0"]{content:"jpiMVl,"}/*!sc*/
.RPhWg{margin-bottom:40px;text-align:center;}/*!sc*/
data-styled.g455[id="sc-ze365z-1"]{content:"RPhWg,"}/*!sc*/
.bnqryM{width:416px;}/*!sc*/
@media (max-width:1201px){.bnqryM{width:100%;}}/*!sc*/
data-styled.g457[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.g458[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.g459[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.g460[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.g461[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.g462[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.g464[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.g465[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.g466[id="sc-x5ajzb-0"]{content:"kbHGLB,"}/*!sc*/
.lkVuMc{background:url(https://cdn.otus.ru/media/public/98/0f/980f0b64294f4795b94c22b4360221c2.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.kvYNbs{background:url(https://cdn.otus.ru/media/public/e5/5f/e55fb1a3c533414db9d1549e996cd54d.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.kPCIGA{background:url(https://cdn.otus.ru/media/public/61/69/616948e5809546328a74ea1fb0347823.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.fvDISO{background:url(https://cdn.otus.ru/media/public/1b/33/1b33438b7e4e4570b5b5562fa99eb42d.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.egApav{background:url(https://cdn.otus.ru/media/public/a3/72/a37244579b91430fbdf5219acad59615.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.ewatJH{background:url(https://cdn.otus.ru/media/public/36/96/3696ae7b4117474db9d5a73673270db1.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.emhafX{background:url(https://cdn.otus.ru/media/public/51/94/51949262762c42faa09afff40c3dc22d.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
.kKuEbh{background:url(https://cdn.otus.ru/media/public/de/ce/deced1507dde42e68182937a0ea4c0a2.png) no-repeat center;background-size:contain;width:100%;height:100%;}/*!sc*/
data-styled.g467[id="sc-x5ajzb-1"]{content:"lkVuMc,kvYNbs,kPCIGA,fvDISO,egApav,ewatJH,emhafX,kKuEbh,"}/*!sc*/
.cdveUu{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.cdveUu{width:100%;}}/*!sc*/
data-styled.g468[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.g469[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.g471[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.g472[id="sc-1f5byvo-0"]{content:"hlgWda,"}/*!sc*/
.jyvyoR{color:#25b969;}/*!sc*/
data-styled.g473[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.g474[id="sc-1f5byvo-2"]{content:"lhTbHf,"}/*!sc*/
.kWSJKL{margin-bottom:32px;}/*!sc*/
@media (max-width:751px){.kWSJKL{margin-bottom:20px;}}/*!sc*/
data-styled.g475[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.g476[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.g477[id="sc-xgmw75-2"]{content:"cGRACb,"}/*!sc*/
.jzczJK{-webkit-flex:1 1;-ms-flex:1 1;flex:1 1;}/*!sc*/
data-styled.g478[id="sc-xgmw75-3"]{content:"jzczJK,"}/*!sc*/
.fSmctL{margin-bottom:12px;}/*!sc*/
data-styled.g479[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.g480[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.g481[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.g482[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.g483[id="sc-xgmw75-8"]{content:"rdBYv,"}/*!sc*/
.edALwK{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/3b/07/3b07c5416865465b85f247e841d3bf5f.svg),linear-gradient( 99.66deg, #FA6D41 11.62%, #C94C31 87.01% );background-repeat:no-repeat;background-size:48px 48px;background-position:center;}/*!sc*/
data-styled.g484[id="sc-xgmw75-9"]{content:"edALwK,"}/*!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.g485[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.g486[id="sc-1kuct9n-1"]{content:"jqwyOS,"}/*!sc*/
.cfBLof{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.cfBLof{width:100%;}}/*!sc*/
data-styled.g487[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.g489[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.g490[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.g492[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.g493[id="sc-ptxdl6-1"]{content:"kyVtIH,"}/*!sc*/
.kVdrfk{padding-top:20px;}/*!sc*/
@media (max-width:751px){.kVdrfk{padding-top:12px;}}/*!sc*/
data-styled.g494[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.g495[id="sc-li015i-0"]{content:"hdRZtB,"}/*!sc*/
.bqYpKB{color:#0f0f10;padding:10px;}/*!sc*/
@media (max-width:751px){.bqYpKB{padding:0;}}/*!sc*/
data-styled.g496[id="sc-li015i-1"]{content:"bqYpKB,"}/*!sc*/
.cEtMkY{cursor:pointer;color:#FA6D41;background:#fff;border-radius:20px;padding:20px 36px 20px 20px;-webkit-tap-highlight-color:transparent;}/*!sc*/
@media (max-width:751px){.cEtMkY{padding:16px 28px 16px 16px;}}/*!sc*/
data-styled.g497[id="sc-li015i-2"]{content:"cEtMkY,"}/*!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.g498[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.g500[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.g501[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.g502[id="sc-1mszhjn-1"]{content:"kPNZqQ,"}/*!sc*/
.keMPbH{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:24px;}/*!sc*/
@media (max-width:751px){.keMPbH{margin-left:40px;}}/*!sc*/
data-styled.g503[id="sc-yfz19-0"]{content:"keMPbH,"}/*!sc*/
.tILKN{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:128px;height:128px;background-image:url(https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg);background-position:center center;background-repeat:no-repeat;background-size:cover;border-radius:50%;}/*!sc*/
.kKeAXu{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:128px;height:128px;background-image:url(https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg);background-position:center center;background-repeat:no-repeat;background-size:cover;border-radius:50%;}/*!sc*/
data-styled.g504[id="sc-yfz19-1"]{content:"tILKN,kKeAXu,"}/*!sc*/
.jaQEyp{white-space:break-spaces;max-height:96px;overflow:hidden;}/*!sc*/
data-styled.g505[id="sc-2yxsal-0"]{content:"jaQEyp,"}/*!sc*/
.gjkZBp{cursor:pointer;display:inline;padding:0;background:transparent;color:#005ece;font:inherit;}/*!sc*/
data-styled.g506[id="sc-2yxsal-1"]{content:"gjkZBp,"}/*!sc*/
.kpFjsV{position:relative;padding:4px;color:#fff;}/*!sc*/
data-styled.g507[id="sc-1pd1pn6-0"]{content:"kpFjsV,"}/*!sc*/
.jpjsGB{position:absolute;top:1px;right:1px;}/*!sc*/
data-styled.g508[id="sc-1pd1pn6-1"]{content:"jpjsGB,"}/*!sc*/
.gCLUsB{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:24px 64px;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.gCLUsB{padding:40px 0;}}/*!sc*/
@media (max-width:751px){.gCLUsB{padding:20px 0;}}/*!sc*/
data-styled.g509[id="sc-fgesu2-0"]{content:"gCLUsB,"}/*!sc*/
.fNTfNW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 0;-ms-flex:1 0;flex:1 0;}/*!sc*/
@media (max-width:1201px){.fNTfNW{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g510[id="sc-fgesu2-1"]{content:"fNTfNW,"}/*!sc*/
.fxDzQc{width:480px;margin-right:24px;}/*!sc*/
@media (max-width:1201px){.fxDzQc{width:100%;margin-right:0;margin-bottom:24px;}}/*!sc*/
@media (max-width:751px){.fxDzQc{margin-bottom:12px;}}/*!sc*/
data-styled.g511[id="sc-fgesu2-2"]{content:"fxDzQc,"}/*!sc*/
.eyMrGT{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g512[id="sc-fgesu2-3"]{content:"eyMrGT,"}/*!sc*/
.fGVXtz{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;-ms-flex:1 0;flex:1 0;}/*!sc*/
data-styled.g513[id="sc-fgesu2-4"]{content:"fGVXtz,"}/*!sc*/
.gLvmdB{margin-bottom:12px;}/*!sc*/
@media (max-width:751px){.gLvmdB{margin-bottom:8px;}}/*!sc*/
data-styled.g514[id="sc-fgesu2-5"]{content:"gLvmdB,"}/*!sc*/
.keqBcC{margin-bottom:12px;}/*!sc*/
data-styled.g515[id="sc-fgesu2-6"]{content:"keqBcC,"}/*!sc*/
.eaisXT{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:1201px){.eaisXT{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}/*!sc*/
@media (max-width:751px){.eaisXT{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g516[id="sc-fgesu2-7"]{content:"eaisXT,"}/*!sc*/
.cAsFre{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-bottom:24px;}/*!sc*/
@media (max-width:1201px){.cAsFre{margin-bottom:0;margin-right:24px;}}/*!sc*/
@media (max-width:751px){.cAsFre{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-bottom:24px;margin-right:0;}}/*!sc*/
data-styled.g517[id="sc-fgesu2-8"]{content:"cAsFre,"}/*!sc*/
.cLaaQZ{font-weight:700;margin-bottom:8px;}/*!sc*/
@media (max-width:1201px){.cLaaQZ{margin-bottom:4px;}}/*!sc*/
@media (max-width:751px){.cLaaQZ{margin-bottom:0;margin-right:24px;}}/*!sc*/
data-styled.g518[id="sc-fgesu2-9"]{content:"cLaaQZ,"}/*!sc*/
.hIqDgT{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;margin:0 0 0 auto;}/*!sc*/
@media (max-width:751px){.hIqDgT{margin:0;}}/*!sc*/
data-styled.g519[id="sc-fgesu2-10"]{content:"hIqDgT,"}/*!sc*/
.fPQjfN{width:240px;margin-right:24px;}/*!sc*/
@media (max-width:1201px){.fPQjfN{width:164px;}}/*!sc*/
@media (max-width:751px){.fPQjfN{width:248px;}}/*!sc*/
data-styled.g520[id="sc-fgesu2-11"]{content:"fPQjfN,"}/*!sc*/
.dgeiLf{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/
data-styled.g523[id="sc-fgesu2-14"]{content:"dgeiLf,"}/*!sc*/
.kTlAtn{margin-bottom:80px;color:#0f0f10;}/*!sc*/
data-styled.g524[id="sc-1n8zn8-0"]{content:"kTlAtn,"}/*!sc*/
.eVtlSO h2{font:inherit;margin-bottom:24px;}/*!sc*/
@media (max-width:1201px){.eVtlSO h2{margin-bottom:18px;}}/*!sc*/
@media (max-width:751px){.eVtlSO h2{margin-bottom:24px;}}/*!sc*/
data-styled.g525[id="sc-1n8zn8-1"]{content:"eVtlSO,"}/*!sc*/
.djvzct{margin-bottom:40px;}/*!sc*/
@media (max-width:751px){.djvzct{margin-bottom:60px;}}/*!sc*/
data-styled.g526[id="sc-1n8zn8-2"]{content:"djvzct,"}/*!sc*/
.bNPdJC{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.bNPdJC{width:100%;}}/*!sc*/
data-styled.g527[id="sc-1n8zn8-3"]{content:"bNPdJC,"}/*!sc*/
.eruVPL{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.g528[id="sc-1n8zn8-4"]{content:"eruVPL,"}/*!sc*/
.hVfuYc{color:#0f0f10;padding:40px 96px;width:992px;}/*!sc*/
@media (max-width:1201px){.hVfuYc{width:688px;padding:40px 46px;}}/*!sc*/
@media (max-width:751px){.hVfuYc{width:100%;padding:76px 20px;}}/*!sc*/
data-styled.g529[id="sc-1n8zn8-5"]{content:"hVfuYc,"}/*!sc*/
.gwYuWO.gwYuWO{width:416px;}/*!sc*/
@media (max-width:751px){.gwYuWO.gwYuWO{width:100%;}}/*!sc*/
data-styled.g530[id="sc-kixk9v-0"]{content:"gwYuWO,"}/*!sc*/
.dgWykw{margin-left:8px;}/*!sc*/
data-styled.g531[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.g532[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.g534[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.g535[id="sc-3cb1l3-4"]{content:"kGoYMV,"}/*!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.g538[id="sc-1vxm7ng-0"]{content:"golIF,"}/*!sc*/
.dbOiAN{margin:0 16px;}/*!sc*/
data-styled.g539[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.g540[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.g541[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.g542[id="sc-5am0g3-1"]{content:"eFljfP,"}/*!sc*/
.kHeeQv{max-width:260px;padding:20px 24px;text-align:center;}/*!sc*/
@media (max-width:751px){.kHeeQv{max-width:calc(100% - 32px);width:100%;}.kHeeQv[data-popper-placement^='bottom-end']::before{right:44px;}}/*!sc*/
data-styled.g543[id="sc-5am0g3-2"]{content:"kHeeQv,"}/*!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.g549[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.g550[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.g551[id="sc-4o7hfp-2"]{content:"fHVRxg,"}/*!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.g555[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.g556[id="sc-s2pydo-1"]{content:"diGrSa,"}/*!sc*/
.fgWNgU{margin-bottom:24px;height:80px;width:80px;background-image:url(https://cdn.otus.ru/media/public/7c/4e/7c4e1992785240ce9ce82abc69f143ba.svg);background-repeat:no-repeat;background-size:100% 100%;}/*!sc*/
@media (max-width:1201px){.fgWNgU{margin-bottom:40px;}}/*!sc*/
@media (max-width:751px){.fgWNgU{margin-bottom:24px;}}/*!sc*/
data-styled.g557[id="sc-s2pydo-2"]{content:"fgWNgU,"}/*!sc*/
.dZDxRw{width:640px;margin-bottom:40px;text-align:center;}/*!sc*/
@media (max-width:751px){.dZDxRw{margin-bottom:24px;width:100%;}}/*!sc*/
data-styled.g558[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.g560[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.g561[id="sc-s2pydo-5"]{content:"iHjMxQ,"}/*!sc*/
.fYPwsY.fYPwsY{width:480px;}/*!sc*/
@media (max-width:1201px){.fYPwsY.fYPwsY{width:100%;}}/*!sc*/
data-styled.g562[id="sc-n3p609-0"]{content:"fYPwsY,"}/*!sc*/
.caypgj{margin-bottom:32px;}/*!sc*/
data-styled.g563[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.g565[id="sc-1l3meww-0"]{content:"gAbnmq,"}/*!sc*/
.DoYJd{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-40.userapi.com/impg/hbxN5-2-ieBC3FUnWQ76SMaJcE0EgbFRXhFgRQ/Fs1YkECBczM.jpg?size=320x240&quality=95&keep_aspect_ratio=1&background=000000&sign=bbfaf316fa02468c142bcc2f102c84a8&c_uniq_tag=0IjYtr_OsqOyEDd4YijtZMtGkB2ZMk75e8Lf0UID4eQ&type=video_thumb);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;}/*!sc*/
@media (max-width:1201px){.DoYJd{margin-right:40px;}}/*!sc*/
@media (max-width:751px){.DoYJd{margin-right:0;margin-bottom:12px;width:320px;height:177px;}}/*!sc*/
.fDKBKs{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-76.userapi.com/impg/oNf06gdjKcKtH5aPAQ3MgY5NnXtge9RVxCOppw/_h9UoEqIJ5I.jpg?size=320x240&quality=95&keep_aspect_ratio=1&background=000000&sign=86b44751eb06d1b955551587e4714950&c_uniq_tag=Q5G02e7nq-a_yXHLLzcj91_Sx4VyZoSE6YfWzZ5QHgY&type=video_thumb);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;}/*!sc*/
@media (max-width:1201px){.fDKBKs{margin-right:40px;}}/*!sc*/
@media (max-width:751px){.fDKBKs{margin-right:0;margin-bottom:12px;width:320px;height:177px;}}/*!sc*/
data-styled.g566[id="sc-1l3meww-1"]{content:"DoYJd,fDKBKs,"}/*!sc*/
.cHxJxf{width:192px;}/*!sc*/
@media (max-width:1201px){.cHxJxf{width:320px;}}/*!sc*/
data-styled.g567[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.g568[id="sc-1l3meww-3"]{content:"blhXzJ,"}/*!sc*/
.dePnfm{margin-bottom:12px;}/*!sc*/
@media (max-width:1201px){.dePnfm{margin-bottom:8px;}}/*!sc*/
data-styled.g569[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.g570[id="sc-1l3meww-5"]{content:"gnNvLT,"}/*!sc*/
.hkpcCk{color:#fff;}/*!sc*/
data-styled.g572[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.g573[id="sc-g9zqla-0"]{content:"frFtzw,"}/*!sc*/
.jqTCqB{margin-bottom:40px;}/*!sc*/
@media (max-width:751px){.jqTCqB{margin-bottom:24px;}}/*!sc*/
data-styled.g574[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.g575[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.g576[id="sc-g9zqla-3"]{content:"cmzqGo,"}/*!sc*/
.yFPt{font-size:16px;line-height:24px;font-weight:700;padding:12px 32px;cursor:pointer;border-radius:100px;color:#000;background:transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;cursor:default;background:#ffd709;}/*!sc*/
@media (max-width:751px){.yFPt{font-size:14px;line-height:20px;font-weight:700;padding:12px 24px;}}/*!sc*/
.hubLMz{font-size:16px;line-height:24px;font-weight:700;padding:12px 32px;cursor:pointer;border-radius:100px;color:#000;background:transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;}/*!sc*/
@media (max-width:751px){.hubLMz{font-size:14px;line-height:20px;font-weight:700;padding:12px 24px;}}/*!sc*/
data-styled.g616[id="sc-zkx93-0"]{content:"yFPt,hubLMz,"}/*!sc*/
.gPfNRv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background:#fff;border-radius:100px;}/*!sc*/
data-styled.g617[id="sc-t8narm-0"]{content:"gPfNRv,"}/*!sc*/
.gosVbC{margin:0 0 35px;}/*!sc*/
@media (max-width:1201px){.gosVbC{margin:0 0 40px;}}/*!sc*/
@media (max-width:751px){.gosVbC{margin:0 0 24px;}}/*!sc*/
data-styled.g618[id="sc-1peufw-0"]{content:"gosVbC,"}/*!sc*/
.lYQex{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-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:12px 0 30px;}/*!sc*/
@media (max-width:751px){.lYQex{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:751px){.lYQex{margin:10px 0 24px;}}/*!sc*/
data-styled.g619[id="sc-1peufw-1"]{content:"lYQex,"}/*!sc*/
.iKtgdB{font-family:'IBM Plex Sans','Roboto',sans-serif;height:48px;}/*!sc*/
@media (max-width:751px){.iKtgdB{height:36px;}}/*!sc*/
data-styled.g620[id="sc-1peufw-2"]{content:"iKtgdB,"}/*!sc*/
.dKwXRv{margin-top:16px;color:#afafaf;-webkit-text-decoration-line:line-through;text-decoration-line:line-through;}/*!sc*/
@media (max-width:751px){.dKwXRv{margin-left:0;margin-top:12px;}}/*!sc*/
data-styled.g621[id="sc-1peufw-3"]{content:"dKwXRv,"}/*!sc*/
.iLnntQ{position:relative;bottom:-8px;font-size:25px;}/*!sc*/
@media (max-width:751px){.iLnntQ{bottom:-6px;font-size:19px;}}/*!sc*/
data-styled.g622[id="sc-1peufw-4"]{content:"iLnntQ,"}/*!sc*/
.dAAQHW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:24px;}/*!sc*/
data-styled.g623[id="sc-147fm2r-0"]{content:"dAAQHW,"}/*!sc*/
.cnspAU{margin-right:24px;}/*!sc*/
data-styled.g624[id="sc-147fm2r-1"]{content:"cnspAU,"}/*!sc*/
.ewmmcs{border-top:1px solid #fff;margin-bottom:24px;width:288px;}/*!sc*/
@media (max-width:1201px){.ewmmcs{width:100%;}}/*!sc*/
data-styled.g625[id="sc-1r0uxxj-0"]{content:"ewmmcs,"}/*!sc*/
.bPBPRV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#fff;}/*!sc*/
data-styled.g626[id="sc-1r0uxxj-1"]{content:"bPBPRV,"}/*!sc*/
.eewVHU{display:none;}/*!sc*/
@media (max-width:751px){.eewVHU{display:block;}}/*!sc*/
data-styled.g627[id="sc-1r0uxxj-2"]{content:"eewVHU,"}/*!sc*/
.kMVdSV{position:relative;cursor:pointer;}/*!sc*/
.kMVdSV:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;border-bottom:1px solid #fff;}/*!sc*/
data-styled.g628[id="sc-1r0uxxj-3"]{content:"kMVdSV,"}/*!sc*/
.hgTHTJ{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.g629[id="sc-10kui61-0"]{content:"hgTHTJ,"}/*!sc*/
.gEGbfQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-bottom:60px;}/*!sc*/
@media (max-width:751px){.gEGbfQ{-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;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;margin-bottom:52px;}}/*!sc*/
data-styled.g630[id="sc-10kui61-1"]{content:"gEGbfQ,"}/*!sc*/
.bpPrAe{margin-bottom:36px;}/*!sc*/
@media (max-width:1201px){.bpPrAe{display:none;}}/*!sc*/
data-styled.g631[id="sc-10kui61-2"]{content:"bpPrAe,"}/*!sc*/
.bTFiyu{-webkit-flex:1 0 416px;-ms-flex:1 0 416px;flex:1 0 416px;margin-left:96px;}/*!sc*/
@media (max-width:1201px){.bTFiyu{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;margin-left:0;}}/*!sc*/
data-styled.g632[id="sc-7ugo7y-0"]{content:"bTFiyu,"}/*!sc*/
.iOYphy{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;padding:40px 32px;background:#fff;color:#0f0f10;border-radius:20px;}/*!sc*/
@media (max-width:751px){.iOYphy{padding:20px 16px;}}/*!sc*/
data-styled.g633[id="sc-7ugo7y-1"]{content:"iOYphy,"}/*!sc*/
.jFFNWn{margin-top:20px;}/*!sc*/
data-styled.g639[id="sc-ne2nun-0"]{content:"jFFNWn,"}/*!sc*/
.cWqojy{color:#4749c0;position:relative;background:none;padding:0;cursor:pointer;}/*!sc*/
.cWqojy:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.cWqojy:active{color:#585cff;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g641[id="sc-ne2nun-2"]{content:"cWqojy,"}/*!sc*/
.kgGhBx{margin-bottom:12px;}/*!sc*/
data-styled.g644[id="sc-1u84tez-2"]{content:"kgGhBx,"}/*!sc*/
.lcNwWc{margin-bottom:20px;}/*!sc*/
data-styled.g645[id="sc-1u84tez-3"]{content:"lcNwWc,"}/*!sc*/
.VNvrk{width:992px;}/*!sc*/
@media (max-width:1201px){.VNvrk{width:100%;}}/*!sc*/
data-styled.g647[id="sc-mgf5g0-0"]{content:"VNvrk,"}/*!sc*/
.cGuqjL{position:relative;height:auto;margin-bottom:120px;padding:160px 0 200px;color:#fff;}/*!sc*/
@media (max-width:751px){.cGuqjL{margin-bottom:92px;padding:136px 0;}}/*!sc*/
data-styled.g648[id="sc-mgf5g0-1"]{content:"cGuqjL,"}/*!sc*/
.hmtolF{height:80px;width:80px;background-image:url(https://cdn.otus.ru/media/public/7c/4e/7c4e1992785240ce9ce82abc69f143ba.svg);background-repeat:no-repeat;background-size:100% 100%;margin-right:24px;}/*!sc*/
@media (max-width:751px){.hmtolF{margin-right:0;margin-bottom:16px;}}/*!sc*/
data-styled.g649[id="sc-mgf5g0-2"]{content:"hmtolF,"}/*!sc*/
.iMmpz{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-bottom:60px;}/*!sc*/
@media (max-width:1201px){.iMmpz{margin-bottom:80px;}}/*!sc*/
@media (max-width:751px){.iMmpz{-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;margin-bottom:40px;}}/*!sc*/
data-styled.g650[id="sc-mgf5g0-3"]{content:"iMmpz,"}/*!sc*/
.cIkHKG{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
@media (max-width:1201px){.cIkHKG{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g651[id="sc-mgf5g0-4"]{content:"cIkHKG,"}/*!sc*/
.cHLoOP{text-align:center;}/*!sc*/
data-styled.g652[id="sc-mgf5g0-5"]{content:"cHLoOP,"}/*!sc*/
.kiGnqS{margin-top:40px;display:none;}/*!sc*/
@media (max-width:1201px){.kiGnqS{display:inherit;}}/*!sc*/
data-styled.g653[id="sc-mgf5g0-6"]{content:"kiGnqS,"}/*!sc*/
.iRiNTt{background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 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){.iRiNTt{-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){.iRiNTt{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:40px 24px;}}/*!sc*/
data-styled.g654[id="sc-hqry8z-0"]{content:"iRiNTt,"}/*!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.g655[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.g656[id="sc-hqry8z-2"]{content:"ipIyzP,"}/*!sc*/
.kGaApg:not(:last-child){margin-bottom:24px;}/*!sc*/
data-styled.g657[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.g659[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.g660[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.g661[id="sc-12j3cf5-1"]{content:"jTjgBj,"}/*!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.g668[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.g669[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.g670[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.g671[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.g672[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.g673[id="sc-130tum6-1"]{content:"leLsGR,"}/*!sc*/
.ervbDS{margin:0 12px 0 0;}/*!sc*/
.ervbDS:last-child{margin:0;}/*!sc*/
data-styled.g694[id="sc-e8trbg-0"]{content:"ervbDS,"}/*!sc*/
.hejpaX{color:#afafaf;}/*!sc*/
data-styled.g695[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.g696[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.g697[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.g698[id="sc-h3yero-2"]{content:"dOvyBf,"}/*!sc*/
.keJcdl{margin-right:24px;}/*!sc*/
data-styled.g699[id="sc-h3yero-3"]{content:"keJcdl,"}/*!sc*/
.fTCFLF{width:88px;height:88px;border-radius:50%;background-image:url(https://cdn.otus.ru/media/public/a5/be/avatar-465828-a5be7b.png);background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:751px){.fTCFLF{width:60px;height:60px;}}/*!sc*/
.gSNejW{width:88px;height:88px;border-radius:50%;background-image:url(https://cdn.otus.ru/media/public/32/5d/avatar-1801-325d87.png);background-repeat:no-repeat;background-size:cover;}/*!sc*/
@media (max-width:751px){.gSNejW{width:60px;height:60px;}}/*!sc*/
data-styled.g700[id="sc-h3yero-4"]{content:"fTCFLF,gSNejW,"}/*!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.g701[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.g702[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.g704[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.g706[id="sc-h0c1ca-0"]{content:"dXezGA,"}/*!sc*/
@media (min-width:1200px){.gaiDWC{margin:-16px -16px 0;}}/*!sc*/
data-styled.g707[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.g710[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.g711[id="sc-h0c1ca-5"]{content:"vuxta,"}/*!sc*/
.dgxDJn{background-image:url(https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.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){.dgxDJn: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*/
.imCiKs{background-image:url(https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.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){.imCiKs: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*/
.crqPhy{background-image:url(https://cdn.otus.ru/media/public/eb/92/eb92a673d56b4a23919ff6af2ff45fb9.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){.crqPhy: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*/
.eFNhoo{background-image:url(https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg);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){.eFNhoo: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.g712[id="sc-jotj87-0"]{content:"dgxDJn,imCiKs,crqPhy,eFNhoo,"}/*!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.g713[id="sc-jotj87-1"]{content:"fjUCpx,"}/*!sc*/
.hhSKfU{color:#fff;position:absolute;top:16px;left:16px;z-index:1;will-change:background-color,padding,border-radius,transform;border-radius:20px;background-color:#25b969;padding:4px 8px;}/*!sc*/
data-styled.g717[id="sc-jotj87-5"]{content:"hhSKfU,"}/*!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.g718[id="sc-1s527z5-0"]{content:"fxMjmR,"}/*!sc*/
.iiYkXk{margin-top:20px;}/*!sc*/
data-styled.g719[id="sc-1s527z5-1"]{content:"iiYkXk,"}/*!sc*/
.jSHKpX{margin-top:8px;}/*!sc*/
@media (max-width:751px){.jSHKpX{margin-top:4px;}}/*!sc*/
data-styled.g720[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.g721[id="sc-1s527z5-3"]{content:"kLSaHO,"}/*!sc*/
.iJNhSn{width:992px;margin:0 auto;}/*!sc*/
@media (max-width:1201px){.iJNhSn{width:100%;}}/*!sc*/
data-styled.g736[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.g737[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.g738[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.g739[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.g740[id="sc-7bqyxh-4"]{content:"hgzLIf,"}/*!sc*/
.gCZLLN .swiper{overflow:visible;}/*!sc*/
data-styled.g741[id="sc-7bqyxh-5"]{content:"gCZLLN,"}/*!sc*/
.cjUVzd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 auto 67px;padding:0 64px 0;color:#0f0f10;}/*!sc*/
@media (max-width:1201px){.cjUVzd{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 auto 110px;padding:0;}}/*!sc*/
@media (max-width:751px){.cjUVzd{margin:0 auto 50px;}}/*!sc*/
data-styled.g743[id="sc-rvdro8-0"]{content:"cjUVzd,"}/*!sc*/
.hIDsVz{margin:0 0 40px;}/*!sc*/
@media (max-width:751px){.hIDsVz{margin:0 0 24px;}}/*!sc*/
data-styled.g745[id="sc-rvdro8-2"]{content:"hIDsVz,"}/*!sc*/
.fAoRTp{min-width:448px;width:448px;min-height:448px;height:448px;margin:0 32px 0 0;object-fit:contain;}/*!sc*/
@media (max-width:1201px){.fAoRTp{min-width:547px;width:547px;min-height:547px;height:547px;margin:0 auto 24px;}}/*!sc*/
@media (max-width:751px){.fAoRTp{min-width:352px;width:352px;min-height:352px;height:352px;margin:0 auto 40px;}}/*!sc*/
data-styled.g746[id="sc-rvdro8-1-Component"]{content:"fAoRTp,"}/*!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.g747[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.g748[id="sc-oy98rf-0"]{content:"jliiMx,"}/*!sc*/
.dtANiL{background:linear-gradient( 99.66deg,#FA6D41 11.62%,#C94C31 87.01% );}/*!sc*/
data-styled.g749[id="sc-oy98rf-1"]{content:"dtANiL,"}/*!sc*/
.bLWaqJ{padding:0;}/*!sc*/
data-styled.g750[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.g751[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.g752[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.g753[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.g754[id="sc-b223p8-0"]{content:"jbfvPl,"}/*!sc*/
.kexDMw{margin-bottom:16px;display:inline-block;}/*!sc*/
data-styled.g755[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.g756[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.g757[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.g758[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.g759[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.g760[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.g761[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.g762[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.g763[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.g764[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.g765[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.g766[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.g767[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.g768[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.g769[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.g771[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.g772[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.g775[id="sc-12fwr4-0"]{content:"eZuRED,"}/*!sc*/
.exsZZC{position:absolute;top:-1px;left:-1px;}/*!sc*/
data-styled.g776[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.g777[id="sc-1fry39v-0"]{content:"eAOVcR,"}/*!sc*/
.kMJHVN{margin:0 0 0 16px;}/*!sc*/
data-styled.g778[id="sc-1fry39v-1"]{content:"kMJHVN,"}/*!sc*/
.fyzNNQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#0f0f10;}/*!sc*/
data-styled.g779[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.g780[id="sc-dusc05-1"]{content:"fgICvQ,"}/*!sc*/
.fYuJAI{color:#fff;}/*!sc*/
data-styled.g782[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.g783[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.g784[id="sc-des2oc-2"]{content:"iHEhCu,"}/*!sc*/
.heMBup{grid-area:a;}/*!sc*/
data-styled.g785[id="sc-des2oc-3"]{content:"heMBup,"}/*!sc*/
.dqoHct{grid-area:b;}/*!sc*/
data-styled.g786[id="sc-des2oc-4"]{content:"dqoHct,"}/*!sc*/
.kSlCOl{grid-area:c;color:inherit;}/*!sc*/
data-styled.g787[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.g788[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.g789[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.g790[id="sc-176eli6-2"]{content:"hRGcmY,"}/*!sc*/
.kmquqg{object-fit:contain;}/*!sc*/
data-styled.g791[id="sc-ed2fvu-0"]{content:"kmquqg,"}/*!sc*/
.fCchjz{width:100%;margin:auto;}/*!sc*/
data-styled.g792[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.g793[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.g794[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.g795[id="sc-1jb0vz0-1"]{content:"bQKtqJ,"}/*!sc*/
</style></head><body><div id="__next"><script type="application/ld+json">{
"@context": "http://schema.org",
"@type": "Course",
"name": "Архитектура и шаблоны проектирования",
"url": "https://otus.ru",
"logo": "https://otus.ru/__new_static__/img/meta-image.png",
"sameAs": [
"https://vk.com/otusru",
"https://t.me/Otusjava"
],
"description": "С одной стороны, разработка ПО — это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.\nС другой, это знание всех участвующих бизнес-процессов, умение описать архитектуру на разных уровнях п…",
"provider": {
"@type": "Organization",
"name": "OTUS",
"sameAs": "https://otus.ru"
},
"image": "https://otus.ru/__new_static__/img/meta-image.png",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"ratingCount": "150"
},
"offers": {
"@type": "Offer",
"priceCurrency": "RUB",
"price": 97200,
"availability": "https://schema.org/InStock",
"url": "https://otus.ru/lessons/patterns"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"name": "Архитектура и шаблоны проектирования (Онлайн)",
"courseMode": "Online",
"startDate": "2026-03-30",
"endDate": "2026-10-02",
"duration": "P6M"
}
}</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(#2b65756fed657626d2829ec9)"></path><defs><linearGradient id="2b65756fed657626d2829ec9" 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(#8146d98e904a5bc8353a5a7b)"></path><defs><linearGradient id="8146d98e904a5bc8353a5a7b" 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/architecture">Архитектура</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>Архитектура и шаблоны проектирования</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-5 hqiDZP"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.3991 9.14611L21.1193 9.86611C21.6895 10.4261 21.9996 11.1861 21.9996 11.9861C22.0096 12.7861 21.6995 13.5471 21.1393 14.1161C21.1327 14.1234 21.126 14.1299 21.1193 14.1363C21.116 14.1396 21.1127 14.1428 21.1093 14.1461L20.3991 14.8561C20.119 15.1361 19.9589 15.5161 19.9589 15.9171V16.9461C19.9589 18.6061 18.6084 19.9571 16.9478 19.9571H15.9174C15.5173 19.9571 15.1372 20.1161 14.8571 20.3961L14.1368 21.1161C13.5466 21.7071 12.7763 21.9961 12.006 21.9961C11.2357 21.9961 10.4655 21.7071 9.87525 21.1271L9.14498 20.3961C8.86488 20.1161 8.48474 19.9571 8.0846 19.9571H7.05423C5.39362 19.9571 4.04313 18.6061 4.04313 16.9461V15.9171C4.04313 15.5161 3.88308 15.1361 3.60298 14.8461L2.88271 14.1361C1.71229 12.9671 1.70229 11.0561 2.87271 9.87711L3.60298 9.14611C3.88308 8.86611 4.04313 8.48611 4.04313 8.07611V7.05611C4.04313 5.39611 5.39362 4.04711 7.05423 4.04711H8.0846C8.48474 4.04711 8.86488 3.88611 9.14498 3.60611L9.86524 2.88611C11.0357 1.70711 12.9464 1.70711 14.1268 2.87711L14.8571 3.60611C15.1372 3.88611 15.5173 4.04711 15.9174 4.04711H16.9478C18.6084 4.04711 19.9589 5.39611 19.9589 7.05611V8.08711C19.9589 8.48611 20.119 8.86611 20.3991 9.14611ZM9.42509 15.4461C9.66517 15.4461 9.88525 15.3561 10.0453 15.1861L15.1872 10.0471C15.5273 9.70711 15.5273 9.14611 15.1872 8.80611C14.8471 8.46711 14.2969 8.46711 13.9567 8.80611L8.81486 13.9461C8.47474 14.2861 8.47474 14.8461 8.81486 15.1861C8.97492 15.3561 9.195 15.4461 9.42509 15.4461ZM13.6966 14.5661C13.6966 15.0561 14.0868 15.4461 14.577 15.4461C15.0571 15.4461 15.4473 15.0561 15.4473 14.5661C15.4473 14.0871 15.0571 13.6961 14.577 13.6961C14.0868 13.6961 13.6966 14.0871 13.6966 14.5661ZM9.43509 8.55611C9.91526 8.55611 10.3054 8.94611 10.3054 9.42611C10.3054 9.91711 9.91526 10.3061 9.43509 10.3061C8.95492 10.3061 8.55477 9.91711 8.55477 9.42611C8.55477 8.94611 8.95492 8.55611 9.43509 8.55611Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-5am0g3-0 krJlll ivApKl">Скидка 10% на курс</p></div></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-s2pydo-5 iHjMxQ"><i class="sc-1ddwpfq-0 gIfsvL"></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 fgWNgU"></div><h1 class="sc-1x9oq14-0 sc-s2pydo-1 kswXpy diGrSa">Архитектура и шаблоны проектирования</h1><div class="sc-1x9oq14-0 sc-s2pydo-3 enpOeQ dZDxRw"><p>Применяйте шаблоны проектирования и SOLID в разработке</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="M15.164 6.08252C15.4791 6.08684 15.7949 6.09117 16.1119 6.09441C19.5172 6.09441 22 8.52216 22 11.8748V16.1811C22 19.5337 19.5172 21.9615 16.1119 21.9615C14.7478 21.9904 13.3837 22 12.0098 22C10.6359 22 9.25221 21.9904 7.88813 21.9615C4.48283 21.9615 2 19.5337 2 16.1811V11.8748C2 8.52216 4.48283 6.09441 7.89794 6.09441C9.18351 6.07514 10.4985 6.05588 11.8332 6.05588V5.8921C11.8332 5.22736 11.2738 4.68786 10.6065 4.68786H9.63494C8.52601 4.68786 7.62316 3.80154 7.62316 2.72254C7.62316 2.32755 7.95682 2 8.35918 2C8.77134 2 9.09519 2.32755 9.09519 2.72254C9.09519 3.01156 9.34053 3.24277 9.63494 3.24277H10.6065C12.0883 3.25241 13.2954 4.43738 13.3052 5.88247V6.06551C13.9239 6.06551 14.5425 6.074 15.164 6.08252ZM10.8518 14.7457H9.82139V15.7669C9.82139 16.1618 9.48773 16.4894 9.08538 16.4894C8.67321 16.4894 8.34936 16.1618 8.34936 15.7669V14.7457H7.30913C6.90677 14.7457 6.57311 14.4277 6.57311 14.0231C6.57311 13.6281 6.90677 13.3006 7.30913 13.3006H8.34936V12.289C8.34936 11.894 8.67321 11.5665 9.08538 11.5665C9.48773 11.5665 9.82139 11.894 9.82139 12.289V13.3006H10.8518C11.2542 13.3006 11.5878 13.6281 11.5878 14.0231C11.5878 14.4277 11.2542 14.7457 10.8518 14.7457ZM15.0226 13.1175H15.1207C15.5231 13.1175 15.8567 12.7996 15.8567 12.395C15.8567 12 15.5231 11.6724 15.1207 11.6724H15.0226C14.6104 11.6724 14.2866 12 14.2866 12.395C14.2866 12.7996 14.6104 13.1175 15.0226 13.1175ZM16.7007 16.4316H16.7988C17.2012 16.4316 17.5348 16.1137 17.5348 15.7091C17.5348 15.3141 17.2012 14.9865 16.7988 14.9865H16.7007C16.2875 14.9865 15.9647 15.3141 15.9647 15.7091C15.9647 16.1137 16.2875 16.4316 16.7007 16.4316Z" 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="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><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">30 марта</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="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">Professional</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="M16.4109 2.76862L16.4119 3.51824C19.1665 3.73414 20.9862 5.6112 20.9891 8.48975L21 16.9155C21.0039 20.054 19.0322 21.985 15.8718 21.99L8.15189 22C5.0112 22.004 3.01482 20.027 3.01087 16.8796L3.00001 8.55272C2.99606 5.65517 4.75153 3.78311 7.50618 3.53024L7.50519 2.78061C7.5042 2.34083 7.83002 2.01 8.26445 2.01C8.69887 2.009 9.02469 2.33883 9.02568 2.77861L9.02666 3.47826L14.8914 3.47027L14.8904 2.77062C14.8894 2.33084 15.2152 2.001 15.6497 2C16.0742 1.99901 16.4099 2.32884 16.4109 2.76862ZM4.52149 8.86157L19.4696 8.84158V8.49175C19.4272 6.34283 18.349 5.21539 16.4139 5.04748L16.4148 5.81709C16.4148 6.24688 16.0801 6.58771 15.6556 6.58771C15.2212 6.58871 14.8944 6.24888 14.8944 5.81909L14.8934 5.0095L9.02864 5.01749L9.02962 5.82609C9.02962 6.25687 8.70479 6.5967 8.27037 6.5967C7.83595 6.5977 7.50914 6.25887 7.50914 5.82809L7.50815 5.05847C5.58286 5.25138 4.51754 6.38281 4.5205 8.55072L4.52149 8.86157ZM15.2399 13.4043V13.4153C15.2498 13.8751 15.625 14.2239 16.0801 14.2139C16.5244 14.2029 16.8789 13.8221 16.869 13.3623C16.8483 12.9225 16.4918 12.5637 16.0485 12.5647C15.5944 12.5747 15.2389 12.9445 15.2399 13.4043ZM16.0554 17.892C15.6013 17.882 15.235 17.5032 15.234 17.0435C15.2241 16.5837 15.5884 16.2029 16.0426 16.1919H16.0525C16.5165 16.1919 16.8927 16.5707 16.8927 17.0405C16.8937 17.5102 16.5185 17.891 16.0554 17.892ZM11.1721 13.4203C11.1919 13.8801 11.568 14.2389 12.0222 14.2189C12.4665 14.1979 12.821 13.8181 12.8012 13.3583C12.7904 12.9085 12.425 12.5587 11.9807 12.5597C11.5266 12.5797 11.1711 12.9605 11.1721 13.4203ZM12.0262 17.8471C11.572 17.8671 11.1968 17.5082 11.1761 17.0485C11.1761 16.5887 11.5305 16.2089 11.9847 16.1879C12.429 16.1869 12.7953 16.5367 12.8052 16.9855C12.8259 17.4463 12.4705 17.8261 12.0262 17.8471ZM7.10434 13.4553C7.12408 13.915 7.50025 14.2749 7.95442 14.2539C8.39872 14.2339 8.75317 13.8531 8.73244 13.3933C8.72257 12.9435 8.35725 12.5937 7.91197 12.5947C7.4578 12.6147 7.10335 12.9955 7.10434 13.4553ZM7.95837 17.8521C7.5042 17.8731 7.12902 17.5132 7.10828 17.0535C7.1073 16.5937 7.46274 16.2129 7.91691 16.1929C8.3612 16.1919 8.7275 16.5417 8.73738 16.9915C8.75811 17.4513 8.40366 17.8321 7.95837 17.8521Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">4 месяца</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 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.66988 2H16.3399C19.7299 2 21.9999 4.379 21.9999 7.919V16.089C21.9999 19.62 19.7299 22 16.3399 22H7.66988C4.27988 22 1.99988 19.62 1.99988 16.089V7.919C1.99988 4.379 4.27988 2 7.66988 2ZM15.5799 15.81C15.8299 15.81 16.0799 15.68 16.2199 15.44C16.4399 15.089 16.3199 14.629 15.9599 14.41L12.3999 12.29V7.669C12.3999 7.26 12.0699 6.919 11.6499 6.919C11.2399 6.919 10.8999 7.26 10.8999 7.669V12.72C10.8999 12.98 11.0399 13.23 11.2699 13.36L15.1899 15.7C15.3099 15.78 15.4499 15.81 15.5799 15.81Z" fill="currentColor"></path></svg><p class="sc-1x9oq14-0 sc-3cb1l3-0 doSDez dgWykw">Пн/Ср 20:00 Мск</p></div></div></div></section><div id="vdescription" class="sc-x072mc-0 sc-1oat6ot-0 hOtCic dYVcmu"><div class="sc-1oat6ot-1 cVgwEc"><div class="sc-1oat6ot-5 klGcVm"><div class="sc-1oat6ot-4 hdfpFD"><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq"> <h2><strong>Для кого этот курс?</strong></h2>
<ul>
<li><span style="font-weight: 400;"> <strong>Разработчикам Fullstack/Backend</strong>. Вы сможете уверенно создавать структуру для масштабируемых и надежных приложений, в которых можно легко интегрировать новые функции, которые сохраняют нагрузку, остаются управляемыми и безопасными для бизнеса.</span></li>
<li><span style="font-weight: 400;"><strong>DevOps инженерам.</strong> Вы сможете более уверенно разрабатывать и поддерживать системы, внедряя архитектурные решения, которые поддерживают как производительность, так и надежность сервисов.<br></span></li>
<li><span style="font-weight: 400;"><strong> Desktop разработчикам.</strong><em> </em>Вы сможете использовать архитектурные и проектные шаблоны для создания устойчивых, интуитивно понятных и надежных приложений, способных адаптироваться к требованиям новых пользователей и технологий.</span></li>
</ul>
<div> </div>
<h2>Необходимые знания:</h2>
<ul>
<li><span style="font-weight: 400;">Знание одного из языков программирования: C++, C#, Java, Kotlin, PHP или Python</span></li>
<li><span style="font-weight: 400;">Знание принципов ООП</span></li>
</ul></div><div class="sc-1lrh8w5-0 ftkQLi sc-1oat6ot-3 hjZAnk"><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="M15.164 6.08252C15.4791 6.08684 15.7949 6.09117 16.1119 6.09441C19.5172 6.09441 22 8.52216 22 11.8748V16.1811C22 19.5337 19.5172 21.9615 16.1119 21.9615C14.7478 21.9904 13.3837 22 12.0098 22C10.6359 22 9.25221 21.9904 7.88813 21.9615C4.48283 21.9615 2 19.5337 2 16.1811V11.8748C2 8.52216 4.48283 6.09441 7.89794 6.09441C9.18351 6.07514 10.4985 6.05588 11.8332 6.05588V5.8921C11.8332 5.22736 11.2738 4.68786 10.6065 4.68786H9.63494C8.52601 4.68786 7.62316 3.80154 7.62316 2.72254C7.62316 2.32755 7.95682 2 8.35918 2C8.77134 2 9.09519 2.32755 9.09519 2.72254C9.09519 3.01156 9.34053 3.24277 9.63494 3.24277H10.6065C12.0883 3.25241 13.2954 4.43738 13.3052 5.88247V6.06551C13.9239 6.06551 14.5425 6.074 15.164 6.08252ZM10.8518 14.7457H9.82139V15.7669C9.82139 16.1618 9.48773 16.4894 9.08538 16.4894C8.67321 16.4894 8.34936 16.1618 8.34936 15.7669V14.7457H7.30913C6.90677 14.7457 6.57311 14.4277 6.57311 14.0231C6.57311 13.6281 6.90677 13.3006 7.30913 13.3006H8.34936V12.289C8.34936 11.894 8.67321 11.5665 9.08538 11.5665C9.48773 11.5665 9.82139 11.894 9.82139 12.289V13.3006H10.8518C11.2542 13.3006 11.5878 13.6281 11.5878 14.0231C11.5878 14.4277 11.2542 14.7457 10.8518 14.7457ZM15.0226 13.1175H15.1207C15.5231 13.1175 15.8567 12.7996 15.8567 12.395C15.8567 12 15.5231 11.6724 15.1207 11.6724H15.0226C14.6104 11.6724 14.2866 12 14.2866 12.395C14.2866 12.7996 14.6104 13.1175 15.0226 13.1175ZM16.7007 16.4316H16.7988C17.2012 16.4316 17.5348 16.1137 17.5348 15.7091C17.5348 15.3141 17.2012 14.9865 16.7988 14.9865H16.7007C16.2875 14.9865 15.9647 15.3141 15.9647 15.7091C15.9647 16.1137 16.2875 16.4316 16.7007 16.4316Z" fill="currentColor"></path></svg></button></div></div></div></div></div><div class="sc-x072mc-0 sc-lpm061-0 hOtCic cjEHVO"><div><h2 class="sc-1x9oq14-0 sc-lpm061-1 jmLQpp iKbbnr">Что вам даст этот курс?</h2><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq"><p><span style="font-weight: 400;">С одной стороны, разработка ПО — это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.<br></span><span style="font-weight: 400;">С другой, это знание всех участвующих бизнес-процессов, умение описать архитектуру на разных уровнях представления, что необходимо для контроля архитектуры ПО на уровне большого предприятия.<br></span><span style="font-weight: 400;">С третьей, это внутренняя компоновка модулей разрабатываемого продукта, </span><span style="font-weight: 400;">подразумевающая масштабируемость.</span></p>
<p><span style="font-weight: 400;">Всего этого можно достичь, используя шаблоны проектирования, которые изучим на этом курсе.</span></p>
<h2><span style="font-weight: 400;"></span>После курса вы будете:</h2>
<ol>
<li>Применять шаблоны проектирования в разработках</li>
<li><span style="font-weight: 400;"> Будете понимать и применять SOLID принципы</span></li>
<li><span style="font-weight: 400;"> Поймете, что такое рефакторинг и как писать чистый код</span></li>
<li><span style="font-weight: 400;"> Знать современные процессы разработки программного обеспечения</span><span style="font-weight: 400;"><br></span></li>
</ol></div></div><div class="sc-1232l32-0 gjfSTs"><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-1232l32-1 gLmhvn"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.66988 1.99927H16.3399C19.7299 1.99927 21.9999 4.37927 21.9999 7.91927V16.0903C21.9999 19.6203 19.7299 21.9993 16.3399 21.9993H7.66988C4.27988 21.9993 1.99988 19.6203 1.99988 16.0903V7.91927C1.99988 4.37927 4.27988 1.99927 7.66988 1.99927ZM11.9899 9.06027C11.5199 9.06027 11.1299 8.66927 11.1299 8.19027C11.1299 7.70027 11.5199 7.31027 12.0099 7.31027C12.4899 7.31027 12.8799 7.70027 12.8799 8.19027C12.8799 8.66927 12.4899 9.06027 11.9899 9.06027ZM12.8699 15.7803C12.8699 16.2603 12.4799 16.6503 11.9899 16.6503C11.5099 16.6503 11.1199 16.2603 11.1199 15.7803V11.3603C11.1199 10.8793 11.5099 10.4803 11.9899 10.4803C12.4799 10.4803 12.8699 10.8793 12.8699 11.3603V15.7803Z" fill="url(#6c409b71ba6d1443d46a51c7)"></path><defs><linearGradient id="6c409b71ba6d1443d46a51c7" x1="7.24435" y1="16.8809" x2="41.5417" y2="22.7167" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq sc-1232l32-2 cLdvvd"><h2>Любой язык программирования</h2>
<p><span style="font-weight: 400;">Курс <strong><em>не привязан к конкретному языку программирования</em></strong>. Вы сможете выполнять практические задания на комфортном для вас языке программирования.</span><strong> </strong></p></div></div></div><div class="sc-x072mc-0 sc-rvdro8-0 hOtCic cjUVzd"><svg class="sc-rvdro8-1-Component fAoRTp" width="448" height="448" viewBox="0 0 448 448" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M73.973 262.521c-25.943-9.97-31.12-43.662-9.318-60.646L292.018 24.752c21.802-16.984 54.23-4.521 58.372 22.432l43.19 281.097c4.142 26.954-23.11 48.184-49.053 38.214L73.973 262.521Z" fill="url(#processDefaultImageIconA)"></path><path d="M119.392 368.19c-23.13 10.287-48.177-8.104-45.084-33.104l32.265-260.72c3.094-25 32.008-37.859 52.045-23.146l208.965 153.435c20.037 14.712 16.17 45.962-6.961 56.25L119.392 368.19Z" fill="url(#processDefaultImageIconB)"></path><path d="M204.971 119.576c-8.276-10.24-2.416-25.302 10.548-27.111l135.199-18.87c12.964-1.81 23.309 10.99 18.621 23.039l-48.89 125.659c-4.688 12.049-20.893 14.311-29.169 4.071l-86.309-106.788Z" fill="url(#processDefaultImageIconC)"></path><path d="M90.942 108.696c-3.277 0-6.145-2.456-6.145-5.732a3.67 3.67 0 0 0-3.687-3.684 3.67 3.67 0 0 0-3.687 3.684c0 3.276-2.459 5.732-5.736 5.732A3.67 3.67 0 0 0 68 112.381a3.67 3.67 0 0 0 3.687 3.685c3.278 0 5.736 2.456 5.736 5.731a3.67 3.67 0 0 0 3.687 3.685 3.67 3.67 0 0 0 3.687-3.685c0-3.275 2.458-5.731 5.735-5.731a3.67 3.67 0 0 0 3.687-3.685c.41-2.047-1.229-3.685-3.277-3.685Z" fill="url(#processDefaultImageIconD)"></path><path d="M235.737 385.911c-3.277 0-6.145-2.457-6.145-5.732a3.671 3.671 0 0 0-3.687-3.685 3.67 3.67 0 0 0-3.687 3.685c0 3.275-2.458 5.732-5.736 5.732a3.67 3.67 0 0 0-3.687 3.684 3.671 3.671 0 0 0 3.687 3.685c3.278 0 5.736 2.456 5.736 5.732a3.67 3.67 0 0 0 3.687 3.684 3.67 3.67 0 0 0 3.687-3.684c0-3.276 2.458-5.732 5.735-5.732a3.67 3.67 0 0 0 3.687-3.685c0-2.047-1.638-3.684-3.277-3.684Z" fill="url(#processDefaultImageIconE)"></path><path d="M227.072 79.54a6.553 6.553 0 0 0 6.555-6.55 6.553 6.553 0 0 0-6.555-6.55 6.553 6.553 0 0 0-6.555 6.55 6.553 6.553 0 0 0 6.555 6.55Z" fill="url(#processDefaultImageIconF)"></path><path d="M78.242 66.626C72.506 66.626 68 62.122 68 56.39c0-5.731 4.506-10.235 10.242-10.235 5.735 0 10.242 4.504 10.242 10.236 0 5.731-4.507 10.235-10.242 10.235Zm0-13.92c-2.049 0-4.097 1.637-4.097 4.094 0 2.456 1.639 4.094 4.097 4.094 2.048 0 4.097-1.638 4.097-4.094 0-2.456-2.049-4.094-4.097-4.094Z" fill="url(#processDefaultImageIconG)"></path><path d="M307.192 382.834a6.553 6.553 0 0 0 6.555-6.55 6.553 6.553 0 0 0-6.555-6.551 6.553 6.553 0 0 0-6.555 6.551 6.553 6.553 0 0 0 6.555 6.55Z" fill="url(#processDefaultImageIconH)"></path><path d="M324.394 308.101c-5.736 0-10.242-4.503-10.242-10.235 0-5.732 4.506-10.235 10.242-10.235 5.735 0 10.241 4.503 10.241 10.235 0 5.732-4.506 10.235-10.241 10.235Zm0-13.92c-2.049 0-4.097 1.638-4.097 4.095 0 2.456 1.638 4.094 4.097 4.094 2.048 0 4.096-1.638 4.096-4.094 0-2.457-1.638-4.095-4.096-4.095Z" fill="url(#processDefaultImageIconI)"></path><path d="m310.288 164.276-43.879-42.909a13.329 13.329 0 0 0-9.355-3.82c-3.52 0-6.847 1.368-9.354 3.82L109.552 256.414c-2.507 2.452-3.905 5.705-3.905 9.147s1.398 6.696 3.905 9.148l43.88 42.909a13.324 13.324 0 0 0 9.354 3.82c3.52 0 6.847-1.368 9.355-3.82L310.24 182.572c5.207-4.999 5.207-13.25.048-18.296Zm-3.183 15.231L169.006 314.554c-1.639 1.603-3.857 2.499-6.22 2.499-2.363 0-4.532-.896-6.22-2.499l-43.879-42.91a8.432 8.432 0 0 1-2.556-6.036c0-2.31.916-4.432 2.556-6.082l138.099-135.047c1.639-1.603 3.857-2.499 6.22-2.499 2.363 0 4.533.896 6.22 2.499l43.879 42.909a8.433 8.433 0 0 1 0 12.119Z" fill="#fff"></path><path d="m135.88 267.494 5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.916.849 2.363.849 3.231 0ZM143.451 256.979c.867.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706ZM154.155 246.464c.868.849 2.314.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706c-.868-.848-2.314-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705ZM164.908 235.996c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706ZM175.661 225.481c.868.848 2.314.848 3.23 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.834-5.706c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706ZM186.413 214.965c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.883-5.658c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.882 5.658ZM197.118 204.45c.868.849 2.314.849 3.23 0l5.305-5.186c.867-.849.867-2.264 0-3.16l-5.835-5.705c-.868-.849-2.314-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705ZM207.871 193.982c.868.848 2.314.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.305 5.187c-.867.849-.867 2.263 0 3.159l5.835 5.706ZM218.624 183.468c.868.848 2.314.848 3.23 0l5.304-5.187c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.706ZM229.376 172.952c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.883-5.658c-.868-.849-2.314-.849-3.23 0l-5.305 5.186c-.867.849-.867 2.264 0 3.16l5.883 5.658ZM240.081 162.437c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706ZM250.834 151.922c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0L245 143.057c-.868.849-.868 2.264 0 3.16l5.834 5.705ZM147.259 275.982l-5.834-5.706c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706c.868.849 2.314.849 3.23 0l5.304-5.187c.917-.849.917-2.263 0-3.159ZM148.995 259.809l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.658c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.916-.849-2.363-.849-3.231.047ZM163.461 263.297l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705c.916.849 2.362.849 3.23 0ZM170.453 238.778l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706a2.368 2.368 0 0 0-3.231 0ZM181.206 228.31l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.916-.896-2.363-.896-3.231 0ZM191.959 217.795l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.835-5.706c-.916-.896-2.362-.896-3.23 0ZM202.712 207.28l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.835-5.705c-.916-.849-2.362-.849-3.23 0ZM213.416 196.764l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0ZM224.169 186.249l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.917-.848-2.363-.848-3.231 0ZM234.922 175.781l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.916-.896-2.362-.896-3.23 0ZM245.674 165.266l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.883-5.706c-.867-.849-2.314-.849-3.182 0ZM260.14 168.756l5.304-5.187c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706c.916.896 2.362.896 3.23 0ZM267.662 158.24c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.867-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705ZM152.371 280.98c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706ZM168.959 276.171l-5.835-5.706c-.868-.849-2.314-.849-3.23 0l-5.305 5.187c-.868.849-.868 2.263 0 3.159l5.835 5.706c.868.849 2.314.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159ZM171.177 274.001c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.835 5.705ZM185.159 263.486l5.305-5.187c.867-.848.867-2.263 0-3.159l-5.835-5.658c-.868-.849-2.314-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705a2.32 2.32 0 0 0 3.23-.047ZM195.864 252.971l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.658c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705c.916.849 2.362.849 3.23-.047ZM206.617 242.503l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.834 5.705c.916.849 2.363.849 3.231 0ZM217.37 231.988l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.916.849 2.362.849 3.23 0ZM228.123 221.472l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.867-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705a2.278 2.278 0 0 0 3.231 0ZM238.875 210.957l5.304-5.187c.868-.848.868-2.263 0-3.159l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.186c-.868.849-.868 2.264 0 3.16l5.835 5.705c.868.896 2.314.896 3.23 0ZM249.58 200.489l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.835 5.705c.916.849 2.362.849 3.23 0ZM260.333 189.974l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.834-5.705c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.917.849 2.363.849 3.231 0ZM271.086 179.459l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.659c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.16l5.835 5.705a2.417 2.417 0 0 0 3.23-.047ZM272.774 163.286l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159ZM174.504 281.64c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.834-5.706ZM185.256 271.125c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.867.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706ZM196.009 260.61c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.848-.868 2.263 0 3.159l5.834 5.705c.868.849 2.315.849 3.231 0l5.304-5.186c.868-.849.868-2.264 0-3.16l-5.835-5.705ZM249.387 208.412c-.868-.849-2.314-.849-3.182 0l-47.062 46.021a2.186 2.186 0 0 0 0 3.113l5.835 5.705c.868.849 2.314.849 3.182 0l47.062-46.021a2.185 2.185 0 0 0 0-3.112l-5.835-5.706ZM260.429 197.613c-.868-.849-2.314-.849-3.23 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.849 2.315.849 3.231 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.835-5.706ZM271.183 187.098c-.868-.849-2.315-.849-3.231 0l-5.304 5.187c-.868.849-.868 2.263 0 3.159l5.834 5.706c.868.848 2.315.848 3.231 0l5.304-5.187c.868-.849.868-2.264 0-3.159l-5.834-5.706ZM281.935 176.583c-.868-.848-2.315-.848-3.231 0l-5.304 5.187c-.868.849-.868 2.264 0 3.159l5.835 5.706c.868.849 2.314.849 3.23 0l5.304-5.187c.868-.849.868-2.263 0-3.159l-5.834-5.706ZM141.184 164.323l30.426 24.803 4.774-4.669-30.86-25.179c-5.545-4.527-11.766-10.516-10.415-16.645 1.06-4.857 6.895-7.781 11.958-7.781h.145c6.027 0 11.958 2.924 17.069 5.659 4.292 2.31 9.596 5.139 15.334 4.102 2.989-.566 5.786-2.075 8.824-4.762 6.799-5.989 11.379-14.477 12.633-23.341.241-1.792-1.013-3.443-2.893-3.678-1.832-.236-3.52.99-3.761 2.829-1.013 7.356-4.822 14.382-10.464 19.333-2.121 1.839-3.857 2.876-5.593 3.159-3.375.613-7.185-1.415-10.849-3.395-5.835-3.112-12.682-6.46-20.3-6.46h-.193c-7.571 0-16.636 4.574-18.468 12.92-2.122 9.572 5.641 17.352 12.633 23.105Z" fill="#fff"></path><defs><linearGradient id="processDefaultImageIconA" x1="289.831" y1="218.139" x2="80.152" y2="210.264" gradientUnits="userSpaceOnUse"><stop stop-color="#EFEFEF"></stop><stop offset="1" stop-color="#fff" stop-opacity=".56"></stop></linearGradient><linearGradient id="processDefaultImageIconB" x1="98.909" y1="150.023" x2="362.575" y2="192.19" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconC" x1="214.875" y1="124.769" x2="359.559" y2="150.919" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconD" x1="70.132" y1="107.718" x2="92.663" y2="111.564" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconE" x1="214.922" y1="384.933" x2="237.402" y2="388.76" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconF" x1="221.581" y1="70.659" x2="232.821" y2="72.573" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconG" x1="69.662" y1="52.748" x2="87.224" y2="55.738" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconH" x1="301.701" y1="373.952" x2="312.941" y2="375.866" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient><linearGradient id="processDefaultImageIconI" x1="315.813" y1="294.224" x2="333.376" y2="297.214" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg><div><h2 class="sc-1x9oq14-0 sc-rvdro8-2 jmLQpp hIDsVz">Процесс обучения</h2><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez gfqBkq"><span>Все обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в telegram курса, сдача домашних работ и получение обратной связи от преподавателя. Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете. Домашнее задание выдается в среднем раз в 2 недели, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.</span></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 dGpeBr"><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>Разработайте собственный проект<strong><br><br></strong></h3>
<p>Сможете внести сильный проект в портфолио</p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><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>Авторский курс<br><br></h3>
<p>Курс составлен экспертом - Евгением Тюменцевым</p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><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>Преподаватели-практики<br><br></h3>
<p>Опытные спикеры из разных сфер</p></div></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-1kuct9n-0 jzJAgH"><i class="sc-1ddwpfq-0 dtlsZM"></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"><p>Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.</p></div><div class="sc-1x9oq14-0 sc-pyhrzd-0 doSDez dJQBfL sc-1kuct9n-5 hXsBII"><ul>
<li>Разместите свое резюме в базе OTUS: так наши партнёры смогут пригласить Вас на собеседование</li>
<li>Посещайте карьерные мероприятия OTUS: Вам расскажут, как лучше проходить собеседование</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 edALwK"></div><h2 class="sc-1x9oq14-0 bTMeHF">Программист</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">70 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">150 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">230 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">20257<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/98/0f/980f0b64294f4795b94c22b4360221c2.png" class="sc-x5ajzb-1 lkVuMc"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/e5/5f/e55fb1a3c533414db9d1549e996cd54d.png" class="sc-x5ajzb-1 kvYNbs"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/61/69/616948e5809546328a74ea1fb0347823.png" class="sc-x5ajzb-1 kPCIGA"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/1b/33/1b33438b7e4e4570b5b5562fa99eb42d.png" class="sc-x5ajzb-1 fvDISO"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/a3/72/a37244579b91430fbdf5219acad59615.png" class="sc-x5ajzb-1 egApav"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/36/96/3696ae7b4117474db9d5a73673270db1.png" class="sc-x5ajzb-1 ewatJH"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/51/94/51949262762c42faa09afff40c3dc22d.png" class="sc-x5ajzb-1 emhafX"></div></div><div class="swiper-slide sc-x5ajzb-0 kbHGLB"><div src="https://cdn.otus.ru/media/public/de/ce/deced1507dde42e68182937a0ea4c0a2.png" class="sc-x5ajzb-1 kKuEbh"></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 dGpeBr"><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>Интерактивные вебинары</h3>
<p> </p>
<p>2 онлайн-трансляции по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда</p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><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>Практика</h3>
<p> </p>
<p>Домашние задания + проектная работа, для усиления вашего портфолио и компетенций</p></div></div><div class="sc-16yt4q5-0 iHYLll"><div class="sc-16yt4q5-1 dGpeBr"><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>Активное комьюнити<br><br></h3>
<span>Общайтесь с преподавателями голосом на вебинарах, в закрытом чате Telegram и при проверке домашних заданий</span></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-12j3cf5-0 kOagS"><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><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">Рассматриваются различные проблемы сложности. Одной из таких проблем является нелинейное замедление скорости разработки проекта по мере увеличения его размера (см. Брукс «Мифический человек-месяц»).
Рассказывается о различных типах архитектур, парадигмах программирования.
Разберем методы построения исчерпывающего набора тестов, практику TDD.</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></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><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">Разберем факторы, влияющие на скорость разработки программного обеспечения. Изучим достаточное условие постоянной скорости разработки. Научимся строить абстракции, устойчивые к изменениям требований.</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 1: Базовые концепции ООП</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 2: Схема применения SOLID-принципов</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 3: Определение абстракций, устойчивых к изменениям требований // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: SOLID и исключения // ДЗ</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: Расширяемая фабрика и IoC // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Стратегии разрешения зависимостей IoC</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 9: Адаптер и мост // ДЗ</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 10: DDD</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 11: Применение SOLID в промышленных фреймворках</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 12: QA-сессия</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><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">Рассматривается проблема синхронизации и вопросы разработки многопоточных приложений.</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: Q&A сессия по разбору домашних заданий</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><div class="sc-li015i-0 hdRZtB"><h5 class="sc-1x9oq14-0 sc-li015i-1 fPZiIk bqYpKB">Time To Market</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">Разберем, что такое архитектура. Отдельно рассмотрим тему микросервисной архитектуры.</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: DevOps</p><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 4: Микросервисная архитектура // ДЗ</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><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">В данном модуле более подробно рассмотрим шаблоны проектирования.</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><p class="sc-1x9oq14-0 sc-1dvzzbq-0 hQBzUY kGaApg">Тема 8: Q&A сессия по разбору домашних заданий</p></div></div></div></div><div class="sc-li015i-2 cEtMkY sc-yxq6ju-1 bTvRzO" color="#FA6D41"><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">Практическая часть, которая подытоживает полученные знания в самостоятельной работе. Результатом станет создание «с нуля» собственного приложения.</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 class="sc-hqry8z-0 iRiNTt"><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>
<h5> </h5>
<p><span>Заключительный месяц курса посвящен выпускной работе. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий.</span></p>
<p> </p>
<p><strong>Примеры выпускных проектов - читайте в нашем блоге:<br></strong><strong><br></strong></p>
<div><span style="color: rgb(0, 0, 0);"><strong><a href="../../../../../journal/proekt-primenenie-patternov-proektirovaniya-i-ioc-kontejnera-pri-razrabotke-v-unity-kursa-arhitektura-i-shablony-proektirovaniya/" style="color: rgb(0, 0, 0);" target="_blank" rel="noopener">- Применение паттернов проектирования и IoC-контейнера при разработке в Unity</a> <br></strong><strong><a href="../../../../../journal/proekt-strong-strong-biblioteka-dlya-parsinga-kontent-blokov-strong-strong-dlya-kursa-strong-strong-arhitektura-i-shablony-proektirovaniya-strong-strong/" style="color: rgb(0, 0, 0);" target="_blank" rel="noopener">- Библиотека для парсинга контент-блоков</a> <br></strong><strong><a href="../../../../../journal/proekt-plugin-for-obsidian-kursa-arhitektura-i-shablony-proektirovaniya/" style="color: rgb(0, 0, 0);" target="_blank" rel="noopener">- Plugin for Obsidian</a> <br></strong> </span><strong><span style="color: #3598db;"><span style="color: rgb(0, 0, 0);"><a href="../../../../../journal/sozdanie-telegram-bota-dlya-generacii-izobrazhenij-s-ispolzovaniem-docker-i-stable-diffusion/" style="color: rgb(0, 0, 0);" target="_blank" rel="noopener">- Создание Телеграм-бота для генерации изображений с использованием Docker и Stable Diffusion</a></span> <br></span></strong></div></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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></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 jfuJCc"></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 class="sc-1x9oq14-0 sc-jotj87-5 wJZyp hhSKfU">Руководитель курса</div><div src="https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg" class="sc-jotj87-0 dgxDJn"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Евгений Тюменцев</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg" class="sc-jotj87-0 imCiKs"></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">IT Sense</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/eb/92/eb92a673d56b4a23919ff6af2ff45fb9.png" class="sc-jotj87-0 crqPhy"></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">Unlimint</p></div><div class="swiper-slide sc-1s527z5-0 fxMjmR"><div class="sc-jotj87-1 fjUCpx"><div src="https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg" class="sc-jotj87-0 eFNhoo"></div></div><p class="sc-1x9oq14-0 sc-1s527z5-1 gGtEnS iiYkXk">Иван Шарун</p><p class="sc-1x9oq14-0 sc-1s527z5-2 dvqddq jSHKpX">Преподаватель</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="broadcast" class="sc-x072mc-0 sc-1n8zn8-0 hOtCic kTlAtn"><div class="sc-1n8zn8-3 bNPdJC"><div class="sc-1x9oq14-0 sc-1n8zn8-1 bTMeHF eVtlSO"><h2>Ближайшие мероприятия</h2></div><div class="sc-1x9oq14-0 sc-1n8zn8-2 fPZiIk djvzct"><p>Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.</p></div></div><div class="sc-1n8zn8-4 eruVPL"><div class="sc-fgesu2-0 gCLUsB"><div class="sc-yfz19-0 keMPbH"><div size="128" src="https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg" class="sc-yfz19-1 tILKN"></div></div><div id="event-6948" class="sc-fgesu2-1 fNTfNW"><div class="sc-fgesu2-2 fxDzQc"><div class="sc-fgesu2-3 eyMrGT"><div class="sc-fgesu2-4 fGVXtz"><div class="sc-1x9oq14-0 sc-fgesu2-5 gGtEnS gLvmdB">Практикум проектирования приложения с помощью DDD</div><div class="sc-1x9oq14-0 sc-fgesu2-6 iFeEEh keqBcC">Евгений Тюменцев</div></div></div><div class="sc-1x9oq14-0 sc-2yxsal-0 doSDez jaQEyp"><span><span></span><span><span>Domain-Driven Design (DDD) — это не просто подход к проектированию архитектуры, а мощный инструмент для построения понятных, масштабируемых и бизнес-ориентированных приложений. На этом открытом уроке мы разберём, как использовать DDD на практике при проектировании реального приложения — от анализа предметной области до построения архитектуры, основанной на доменной модели.
</span><br/><span>
</span><br/><span>Вместе мы пройдём путь от концепции к прототипу, определим границы контекстов, выберем подходящие шаблоны взаимодействия и рассмотрим распространённые ошибки, которых стоит избегать при внедрении DDD в командной разработке.
</span><br/><span>
</span><br/><span>Что будет на уроке:
</span><br/><span>
</span><br/><span>- Что такое Domain-Driven Design и когда его стоит применять;
</span><br/><span>- Определение предметной области и формирование Bounded Contexts;
</span><br/><span>- Построение Ubiquitous Language вместе с командой;
</span><br/><span>- Практическое разбиение приложения на доменные слои;
</span><br/><span>- Проектирование интерфейсов и API на основе модели;
</span><br/><span>- Ошибки внедрения DDD и как их избежать на старте;
</span><br/><span>- Мини-практикум: пример проектирования по DDD на живом кейсе.
</span><br/><span>
</span><br/><span>Для кого этот вебинар:
</span><br/><span>
</span><br/><span>- Backend и FullStack разработчики, стремящиеся создавать архитектурно грамотные приложения;
</span><br/><span>- Тимлиды и архитектора ПО, которым важно выстраивать техническое решение вокруг бизнес-целей;
</span><br/><span>- Системные аналитики, вовлечённые в проектирование предметной области;
</span><br/><span>- DevOps-инженеры, которым важно понимать логику разбиения систем при работе с микросервисами.
</span><br/><span>
</span><br/><span>После вебинара вы:
</span><br/><span>
</span><br/><span>- Поймёте, как применять DDD в реальной разработке;
</span><br/><span>- Сможете грамотно делить систему на контексты и слои;
</span><br/><span>- Начнёте использовать бизнес-язык в описании архитектуры;
</span><br/><span>- Получите шаблоны и подходы, которые можно сразу внедрить в работу своей команды.
</span><br/><span>
</span><br/><span>DDD — это мост между разработкой и бизнесом. Научитесь строить архитектуру, которая говорит на языке продукта.</span></span><span style="position:fixed;visibility:hidden;top:0;left:0">...<!-- --> <button class="sc-2yxsal-1 gjkZBp">Читать дальше</button></span></span></div></div><div class="sc-fgesu2-7 eaisXT"><div class="sc-fgesu2-8 cAsFre"><div class="sc-1x9oq14-0 sc-fgesu2-9 fPZiIk cLaaQZ">12 марта в 17:00</div><div class="sc-1x9oq14-0 enpOeQ">Открытый вебинар</div></div><div class="sc-fgesu2-10 hIqDgT"><button class="sc-1qig7zt-0 bYRRHi sc-fgesu2-11 fPQjfN"><div style="color:#fff" class="sc-10qj18o-1 bLNTdk"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="sc-10qj18o-0 iJGzvz"><circle cx="50" cy="50" fill="none" r="45" stroke-width="10" stroke="currentColor" stroke-dasharray="73.82742735936014 73.82742735936014"></circle></svg></div></button><button class="sc-1qig7zt-0 jBZCRO"><div class="sc-1pd1pn6-0 kpFjsV"><svg class="sc-1pd1pn6-1 jpjsGB" width="6" height="6" viewBox="0 0 6 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.10103 2.08786H3.89795V0.911617C3.89795 0.409446 3.49521 0 2.99897 0C2.50377 0 2.1 0.409446 2.1 0.911617V2.08786H0.898973C0.40274 2.08786 0 2.49731 0 2.99948C0 3.50165 0.40274 3.9111 0.898973 3.9111H2.1V5.08838C2.1 5.59055 2.50377 6 2.99897 6C3.49521 6 3.89795 5.59055 3.89795 5.08838V3.9111H5.10103C5.59623 3.9111 6 3.50165 6 2.99948C6 2.49731 5.59623 2.08786 5.10103 2.08786Z" fill="currentColor"></path></svg><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="M16.4109 2.76862L16.4119 3.51824C19.1665 3.73414 20.9862 5.6112 20.9891 8.48975L21 16.9155C21.0039 20.054 19.0322 21.985 15.8718 21.99L8.15189 22C5.0112 22.004 3.01482 20.027 3.01087 16.8796L3.00001 8.55272C2.99606 5.65517 4.75153 3.78311 7.50618 3.53024L7.50519 2.78061C7.5042 2.34083 7.83002 2.01 8.26445 2.01C8.69887 2.009 9.02469 2.33883 9.02568 2.77861L9.02666 3.47826L14.8914 3.47027L14.8904 2.77062C14.8894 2.33084 15.2152 2.001 15.6497 2C16.0742 1.99901 16.4099 2.32884 16.4109 2.76862ZM4.52149 8.86157L19.4696 8.84158V8.49175C19.4272 6.34283 18.349 5.21539 16.4139 5.04748L16.4148 5.81709C16.4148 6.24688 16.0801 6.58771 15.6556 6.58771C15.2212 6.58871 14.8944 6.24888 14.8944 5.81909L14.8934 5.0095L9.02864 5.01749L9.02962 5.82609C9.02962 6.25687 8.70479 6.5967 8.27037 6.5967C7.83595 6.5977 7.50914 6.25887 7.50914 5.82809L7.50815 5.05847C5.58286 5.25138 4.51754 6.38281 4.5205 8.55072L4.52149 8.86157ZM15.2399 13.4043V13.4153C15.2498 13.8751 15.625 14.2239 16.0801 14.2139C16.5244 14.2029 16.8789 13.8221 16.869 13.3623C16.8483 12.9225 16.4918 12.5637 16.0485 12.5647C15.5944 12.5747 15.2389 12.9445 15.2399 13.4043ZM16.0554 17.892C15.6013 17.882 15.235 17.5032 15.234 17.0435C15.2241 16.5837 15.5884 16.2029 16.0426 16.1919H16.0525C16.5165 16.1919 16.8927 16.5707 16.8927 17.0405C16.8937 17.5102 16.5185 17.891 16.0554 17.892ZM11.1721 13.4203C11.1919 13.8801 11.568 14.2389 12.0222 14.2189C12.4665 14.1979 12.821 13.8181 12.8012 13.3583C12.7904 12.9085 12.425 12.5587 11.9807 12.5597C11.5266 12.5797 11.1711 12.9605 11.1721 13.4203ZM12.0262 17.8471C11.572 17.8671 11.1968 17.5082 11.1761 17.0485C11.1761 16.5887 11.5305 16.2089 11.9847 16.1879C12.429 16.1869 12.7953 16.5367 12.8052 16.9855C12.8259 17.4463 12.4705 17.8261 12.0262 17.8471ZM7.10434 13.4553C7.12408 13.915 7.50025 14.2749 7.95442 14.2539C8.39872 14.2339 8.75317 13.8531 8.73244 13.3933C8.72257 12.9435 8.35725 12.5937 7.91197 12.5947C7.4578 12.6147 7.10335 12.9955 7.10434 13.4553ZM7.95837 17.8521C7.5042 17.8731 7.12902 17.5132 7.10828 17.0535C7.1073 16.5937 7.46274 16.2129 7.91691 16.1929C8.3612 16.1919 8.7275 16.5417 8.73738 16.9915C8.75811 17.4513 8.40366 17.8321 7.95837 17.8521Z" fill="currentColor"></path></svg></div></button></div></div></div></div><div class="sc-fgesu2-0 gCLUsB"><div class="sc-yfz19-0 keMPbH"><div size="128" src="https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg" class="sc-yfz19-1 kKeAXu"></div></div><div id="event-6949" class="sc-fgesu2-1 fNTfNW"><div class="sc-fgesu2-2 fxDzQc"><div class="sc-fgesu2-3 eyMrGT"><div class="sc-fgesu2-4 fGVXtz"><div class="sc-1x9oq14-0 sc-fgesu2-5 gGtEnS gLvmdB">Обработка исключений и SOLID</div><div class="sc-1x9oq14-0 sc-fgesu2-6 iFeEEh keqBcC">Иван Шарун</div></div></div><div class="sc-1x9oq14-0 sc-2yxsal-0 doSDez jaQEyp"><span><span></span><span><span>На этом вебинаре мы разберём, как грамотно организовать включение исключений в программном коде, следуя принципам SOLID. Вы научитесь писать код, который не только легко поддерживается, но и который надежно обрабатывает ошибки, минимизируя их влияние на работу системы.
</span><br/><span>
</span><br/><span>Что будет на вебинаре:
</span><br/><span>
</span><br/><span>- Как реализовать обработку исключений в соответствии с принципами SOLID
</span><br/><span>- Как избежать распространения ошибок при обработке исключений
</span><br/><span>- Как минимизировать подверженность программного кода изменениям
</span><br/><span>
</span><br/><span>Кому будет полезен вебинар?
</span><br/><span>
</span><br/><span>- Разработчикам, стремящимся улучшить качество кода и обеспечить его гибкость и надежность.
</span><br/><span>- Архитекторам программного обеспечения важно внедрить практику качественной обработки ошибок в крупных проектах.
</span><br/><span>- Тимлидам и ведущим разработчикам уделяют внимание стабильности проектов и соблюдению лучших практик SOLID.
</span><br/><span>- Фрилансерам, работающим над долгосрочными проектами и стремящимся к надежности систем и экономичности их поведения.
</span><br/><span>
</span><br/><span>Что вы получите:
</span><br/><span>
</span><br/><span>• Вы получите четкое понимание обработки исключений в соответствии с принципами SOLID.
</span><br/><span>• Узнаете, как правильно организовать обработку исключений для обеспечения стабильности и отказоустойчивости программного обеспечения.</span></span><span style="position:fixed;visibility:hidden;top:0;left:0">...<!-- --> <button class="sc-2yxsal-1 gjkZBp">Читать дальше</button></span></span></div></div><div class="sc-fgesu2-7 eaisXT"><div class="sc-fgesu2-8 cAsFre"><div class="sc-1x9oq14-0 sc-fgesu2-9 fPZiIk cLaaQZ">24 марта в 17:00</div><div class="sc-1x9oq14-0 enpOeQ">Открытый вебинар</div></div><div class="sc-fgesu2-10 hIqDgT"><button class="sc-1qig7zt-0 bYRRHi sc-fgesu2-11 fPQjfN"><div style="color:#fff" class="sc-10qj18o-1 bLNTdk"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="sc-10qj18o-0 iJGzvz"><circle cx="50" cy="50" fill="none" r="45" stroke-width="10" stroke="currentColor" stroke-dasharray="73.82742735936014 73.82742735936014"></circle></svg></div></button><button class="sc-1qig7zt-0 jBZCRO"><div class="sc-1pd1pn6-0 kpFjsV"><svg class="sc-1pd1pn6-1 jpjsGB" width="6" height="6" viewBox="0 0 6 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.10103 2.08786H3.89795V0.911617C3.89795 0.409446 3.49521 0 2.99897 0C2.50377 0 2.1 0.409446 2.1 0.911617V2.08786H0.898973C0.40274 2.08786 0 2.49731 0 2.99948C0 3.50165 0.40274 3.9111 0.898973 3.9111H2.1V5.08838C2.1 5.59055 2.50377 6 2.99897 6C3.49521 6 3.89795 5.59055 3.89795 5.08838V3.9111H5.10103C5.59623 3.9111 6 3.50165 6 2.99948C6 2.49731 5.59623 2.08786 5.10103 2.08786Z" fill="currentColor"></path></svg><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="M16.4109 2.76862L16.4119 3.51824C19.1665 3.73414 20.9862 5.6112 20.9891 8.48975L21 16.9155C21.0039 20.054 19.0322 21.985 15.8718 21.99L8.15189 22C5.0112 22.004 3.01482 20.027 3.01087 16.8796L3.00001 8.55272C2.99606 5.65517 4.75153 3.78311 7.50618 3.53024L7.50519 2.78061C7.5042 2.34083 7.83002 2.01 8.26445 2.01C8.69887 2.009 9.02469 2.33883 9.02568 2.77861L9.02666 3.47826L14.8914 3.47027L14.8904 2.77062C14.8894 2.33084 15.2152 2.001 15.6497 2C16.0742 1.99901 16.4099 2.32884 16.4109 2.76862ZM4.52149 8.86157L19.4696 8.84158V8.49175C19.4272 6.34283 18.349 5.21539 16.4139 5.04748L16.4148 5.81709C16.4148 6.24688 16.0801 6.58771 15.6556 6.58771C15.2212 6.58871 14.8944 6.24888 14.8944 5.81909L14.8934 5.0095L9.02864 5.01749L9.02962 5.82609C9.02962 6.25687 8.70479 6.5967 8.27037 6.5967C7.83595 6.5977 7.50914 6.25887 7.50914 5.82809L7.50815 5.05847C5.58286 5.25138 4.51754 6.38281 4.5205 8.55072L4.52149 8.86157ZM15.2399 13.4043V13.4153C15.2498 13.8751 15.625 14.2239 16.0801 14.2139C16.5244 14.2029 16.8789 13.8221 16.869 13.3623C16.8483 12.9225 16.4918 12.5637 16.0485 12.5647C15.5944 12.5747 15.2389 12.9445 15.2399 13.4043ZM16.0554 17.892C15.6013 17.882 15.235 17.5032 15.234 17.0435C15.2241 16.5837 15.5884 16.2029 16.0426 16.1919H16.0525C16.5165 16.1919 16.8927 16.5707 16.8927 17.0405C16.8937 17.5102 16.5185 17.891 16.0554 17.892ZM11.1721 13.4203C11.1919 13.8801 11.568 14.2389 12.0222 14.2189C12.4665 14.1979 12.821 13.8181 12.8012 13.3583C12.7904 12.9085 12.425 12.5587 11.9807 12.5597C11.5266 12.5797 11.1711 12.9605 11.1721 13.4203ZM12.0262 17.8471C11.572 17.8671 11.1968 17.5082 11.1761 17.0485C11.1761 16.5887 11.5305 16.2089 11.9847 16.1879C12.429 16.1869 12.7953 16.5367 12.8052 16.9855C12.8259 17.4463 12.4705 17.8261 12.0262 17.8471ZM7.10434 13.4553C7.12408 13.915 7.50025 14.2749 7.95442 14.2539C8.39872 14.2339 8.75317 13.8531 8.73244 13.3933C8.72257 12.9435 8.35725 12.5937 7.91197 12.5947C7.4578 12.6147 7.10335 12.9955 7.10434 13.4553ZM7.95837 17.8521C7.5042 17.8731 7.12902 17.5132 7.10828 17.0535C7.1073 16.5937 7.46274 16.2129 7.91691 16.1929C8.3612 16.1919 8.7275 16.5417 8.73738 16.9915C8.75811 17.4513 8.40366 17.8321 7.95837 17.8521Z" fill="currentColor"></path></svg></div></button></div></div></div></div></div></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-6947" class="sc-1l3meww-0 gAbnmq"><div src="https://sun9-40.userapi.com/impg/hbxN5-2-ieBC3FUnWQ76SMaJcE0EgbFRXhFgRQ/Fs1YkECBczM.jpg?size=320x240&quality=95&keep_aspect_ratio=1&background=000000&sign=bbfaf316fa02468c142bcc2f102c84a8&c_uniq_tag=0IjYtr_OsqOyEDd4YijtZMtGkB2ZMk75e8Lf0UID4eQ&type=video_thumb" class="sc-1l3meww-1 DoYJd"><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">Создание микросервиса</div></div></div><div id="video-6590" class="sc-1l3meww-0 gAbnmq"><div src="https://sun9-76.userapi.com/impg/oNf06gdjKcKtH5aPAQ3MgY5NnXtge9RVxCOppw/_h9UoEqIJ5I.jpg?size=320x240&quality=95&keep_aspect_ratio=1&background=000000&sign=86b44751eb06d1b955551587e4714950&c_uniq_tag=Q5G02e7nq-a_yXHLLzcj91_Sx4VyZoSE6YfWzZ5QHgY&type=video_thumb" class="sc-1l3meww-1 fDKBKs"><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">Объектная модель без боли: как превратить хаос требований в стройную архитектуру</div></div></div></div><div class="sc-1x9oq14-0 sc-n3p609-1 doSDez caypgj">Для доступа ко всем прошедшим мероприятиям необходимо пройти<!-- --> <b>входное тестирование</b><br/>Возможность пройти вступительное тестирование повторно появится только через <b>3 дня</b><br/>Результаты тестирования будут отправлены вам <b>на email</b>, указанный при регистрации.<br/>Тест рассчитан на <b>30</b> минут, после начала тестирования отложить тестирование не получится!</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="M15.164 6.08252C15.4791 6.08684 15.7949 6.09117 16.1119 6.09441C19.5172 6.09441 22 8.52216 22 11.8748V16.1811C22 19.5337 19.5172 21.9615 16.1119 21.9615C14.7478 21.9904 13.3837 22 12.0098 22C10.6359 22 9.25221 21.9904 7.88813 21.9615C4.48283 21.9615 2 19.5337 2 16.1811V11.8748C2 8.52216 4.48283 6.09441 7.89794 6.09441C9.18351 6.07514 10.4985 6.05588 11.8332 6.05588V5.8921C11.8332 5.22736 11.2738 4.68786 10.6065 4.68786H9.63494C8.52601 4.68786 7.62316 3.80154 7.62316 2.72254C7.62316 2.32755 7.95682 2 8.35918 2C8.77134 2 9.09519 2.32755 9.09519 2.72254C9.09519 3.01156 9.34053 3.24277 9.63494 3.24277H10.6065C12.0883 3.25241 13.2954 4.43738 13.3052 5.88247V6.06551C13.9239 6.06551 14.5425 6.074 15.164 6.08252ZM10.8518 14.7457H9.82139V15.7669C9.82139 16.1618 9.48773 16.4894 9.08538 16.4894C8.67321 16.4894 8.34936 16.1618 8.34936 15.7669V14.7457H7.30913C6.90677 14.7457 6.57311 14.4277 6.57311 14.0231C6.57311 13.6281 6.90677 13.3006 7.30913 13.3006H8.34936V12.289C8.34936 11.894 8.67321 11.5665 9.08538 11.5665C9.48773 11.5665 9.82139 11.894 9.82139 12.289V13.3006H10.8518C11.2542 13.3006 11.5878 13.6281 11.5878 14.0231C11.5878 14.4277 11.2542 14.7457 10.8518 14.7457ZM15.0226 13.1175H15.1207C15.5231 13.1175 15.8567 12.7996 15.8567 12.395C15.8567 12 15.5231 11.6724 15.1207 11.6724H15.0226C14.6104 11.6724 14.2866 12 14.2866 12.395C14.2866 12.7996 14.6104 13.1175 15.0226 13.1175ZM16.7007 16.4316H16.7988C17.2012 16.4316 17.5348 16.1137 17.5348 15.7091C17.5348 15.3141 17.2012 14.9865 16.7988 14.9865H16.7007C16.2875 14.9865 15.9647 15.3141 15.9647 15.7091C15.9647 16.1137 16.2875 16.4316 16.7007 16.4316Z" fill="currentColor"></path></svg></button></div></div><div class="sc-1ddwpfq-1 hnlXxp sc-1xm68ya-2 isRQVJ"><i class="sc-1ddwpfq-0 dtlsZM"></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 size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">22.01.2026</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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Мне сейчас прошедший курс приносит много пользы👍👍</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">22.01.2026</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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Пользуясь случаем хотел бы еще раз поблагодарить за курс! Евгений Тюменцев, вы очень сильно повлияли на меня :)</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">22.01.2026</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Евгений, спасибо Вам огромное. По мере получения нового опыта всё больше вижу, насколько это был полезный для меня курс. Было сложно, не привычно, но, преодолевая боль я дошел до конца.
Хочу пройти все курсы, которые ведет Евгений Тюменцев.
Храни Вас Бог, дорогой учитель!</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">29.12.2025</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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Материала много, насыщенно. Лекции Евгения Тюменцева очень понравились, остальные тоже нормально, но Евгений лучший :)
Шла за пониманием паттернов - получила.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">29.12.2025</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">-Работаю тестировщиком
-Курс выбирал по программе, ей он и заинтересовал
-Обучение дало новые знания, буду использовать в работе, изначально рассматривал как повышение квалификации его
Курс понравился, уже рекомендовал коллегам</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">23.12.2025</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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Отличный курс, помог структурировать знания и по новому взглянуть на проект на работе!</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">22.06.2025</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Курс помогает освоить системный подход к разработке программного обеспечения. Позволяет сформировать навыки проектирования гибких масштабируемых систем с опорой на проверенные решения. При этом учет видеть не только достоинства, но и недостатки паттернов, что даёт возможность здраво оценивать затраты ресурсов на разработку и поддержку программы ещё на стадии проектирования.
Для меня наиболее интересной стала тема разработки через тестирование. Обязательно буду применять её в своей практике.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">28.12.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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Курс интересный и достаточно полезный, позволяет окунуться в архитектуру, познакомится с паттернами и попробовать применить их на практике. Домашние задания связаны и вместе образуют цельную картинку. Лекторы достаточно интересно преподносят материал и очень подробно отвечают на все возникающие вопросы.</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/a5/be/avatar-465828-a5be7b.png" class="sc-h3yero-4 fTCFLF"></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">18.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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Курс в целом понравился.
Удалось попрактиковаться в применении основных шаблонов проектирования.
Также делально изложены основные принципы программирования. На протяжении всего курса отслеживается соответствие кода принципам SOLID.
Немного странным показались задания для практических работ. Было попрой сложно понять требования.
Также теперь чётко стало понятно, что без типизации достаточно легко писать код с ошибками.
Рекомендую курс для уровней middle+.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">17.09.2024</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Курс позволил пересмотреть взгляд на использование SOLID принципов, попрактиковаться в TDD и успешно применить полученные знания на практике.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">29.08.2024</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Очень интересный курс! Под новым углом увидел SOILID принципы, новые применения! Стало ясно как применять на разных этапах жизни приложения, от проектирования скелета до прода.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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 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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">До обучения, как и после него, я работал Java-разработчкиком. На момент начала обучения работал в компании "АйТиДи Эксперт", к моменту завершения обучения - в ПАО "Сбербанк".
Курс выбрал из-за того, что была интересна тематика построения архитектуры программного обеспечения и существующие паттерны, позволяющие её реализовать.
В целом курс понравился тем, что позволил получить новые и систематизировать имеющиеся знания о подходах к построению архитектуры программного обеспечения.
Данный курс позволил ознакомиться с подходом к разработке программного обеспечения согласно принципам SOLID, а домашние задания предоставили возможность освоить полученные знания на практике.
В ходе прохождения курса посмотрел на многие аспекты разработки под иным углом, а также попробовал те возможности своего языка программирования, с которыми, с большой вероятностью, не столкнулся бы в своей повседневной практике. При выполнении домашних заданий удалось опробовать некоторые возможности Java, которые я не использовал ранее.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">26.01.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="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></a></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Я работаю инженером-программистом в АО Диаконт.
Пошел на курс, т.к. в компании возникла потребность в данной компетенции. Необходимы были навыки по грамотному построению архитектуры приложения для стандартизации его разработки и дальнейшей поддержки.
Наиболее всего мне понравился способ взаимодействия с преподавателями, подача материала. Преподаватели приятные и опытные люди, всегда отвечали на поставленный вопрос. В качестве примера была выбрана игра - танковая битва. И на основе неё нам показывали, как можно грамотно и просто реализовывать разные её аспекты. Благодаря этому все темы воспринимаются едино и без отрыва друг от друга, их проще закреплять.
В первую очередь, это обучение помогло себя чувствовать увереннее при разработке ПО. Мне стало проще обосновывать свои решения, разработка нового проекта стала проще и быстрее. Это сильно укрепило моё место на текущем рабочем месте и является отличным поводом для повышения.
Мне понравился данный курс. Благодаря ему я начал писать код заметно чище и понятнее. И полученные знания я смогу могу применять при использовании любого из языков программирования.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">13.11.2023</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Хороший, полезный курс, рад что записался.
Преподавателям большое спасибо за заинтересованность в передаче знаний, что не торопитесь закончить занятие, задерживаетесь после уроков, интересно подобранные темы.
По завершению курса стал лучше понимать как паттерны используются в фреймворках, IoC, Spring Security, InputOutput стримах, коллекциях и многое другое. Сбор отзывов после занятий помогает улучшить курс и учесть пожелания студентов. Защитил проект, не успел сдать все домашние задания, в ОТУС дали еще время на их сдачу. В общем остались только положительные эмоции.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">09.11.2023</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">На курс попал "случайно" - на обучении по C# одну из лекций вёл Евгений Тюменцев. Зацепили его рассуждения про архитектуру.
Заинтересовавшись философией, посмотрел сначала открытые лекции в ютубе, кажется, про солид и исключения и многопоточность, математику солид. А затем и открытые уроки на странице курса.
В итоге, данный курс прошел два раза. Скажу честно, можно было бы остановиться на первом. Но на второй раз пошел, чтобы глубже разобраться в матчасти предмета. И иметь возможность задавать вопросы и получать фидбек по ним.
Курс действительно сложный, домашние задания объемные. "Отбыть номер" вряд ли получится. Но лично я убежден, что и вообще просто прослушать материалы мало, если не почти бесполезно) Надо реально много и много практиковаться, чтобы усвоить и понять всю прелесть подхода.
Хочу сказать большое спасибо Евгению Тюменцеву за его подачу материала и в целом, если можно так выразиться, философию, опирающуюся на математику.
Подход, когда тебе говорят не просто догматически "делай так по солиду, потому что так правильно".
А выводят и подводят из примеров, ПОЧЕМУ лучше делать так, а не как общепринято. Какие недостатки будут, если не применять тот или иной принцип? И что будет, если мы всё таки сделаем грамотно?
И главное - из этого будет предоставлено и объяснено, КАК решить такую проблему?
И отдельное спасибо за возможность получать фидбек на занятиях на все без исключения вопросы - от общефилософских до конкретных примеров с кодом. Это действительно дорогого стоит.
Как я написал в чате на занятии, была бы возможность пойти на курс в третий раз - непременно бы ей воспользовался. Спасибо!</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">14.08.2023</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">До обучения в компании Отус я работал и продолжаю работать программистом в банке.
Профильного образования не было - самоучка. В плане развития выбрал архитектурное проектирование и нужен был подходящий курс.
Проходил немало онлайн курсов и все были не очень. От того, что Вы просмотрите онлайн курс где учат только чему равно 2+2, толку будет не очень много.
Нужен был курс с практикой и ее проверкой. Выбор пал на компанию Отус, спойлер - я всем остался более чем доволен ;)
До данного курса знания о паттернах проектирования были крайне поверхностные.
После прохождения курса были изучены основные паттерны, принципы построения гибкой архитектуры, не требующей постоянной переработки.
Преподаватели отличные, каждое занятие проходило до последнего вопроса. Даже спустя 2 часа лекции в вечернее время
все преподаватели отвечали абсолютно на все вопросы студентов, плюс проверка домашек.
Курс охватывает большой объем - паттерны, монолиты, микросервисы, брокеры сообщений, многопоточку, сильные/слабые места,
как правильно проектировать и т.д.
Но есть небольшой перекос в объеме практики по паттернам - некоторые преподаются более чем подробно, другие поверхностно.
Также хотелось бы чуть больше практических занятий, не по всем темам они есть.
Курс стоящий и рекомендую к изучению.</div></div><div class="swiper-slide sc-h3yero-0 gQNEkq"><div class="sc-h3yero-2 dOvyBf"><div class="sc-h3yero-3 keJcdl"><div size="88" class="sc-i28ik1-0 gsweRb"><div class="sc-i28ik1-1 gNVXtU"><svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="0.405762" width="88" height="87.5945" rx="43.7972" fill="url(#LessonSlugReviewsDefaultAvatar)"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M57.3454 32.1294C57.3454 39.5331 51.4091 45.4697 44.0002 45.4697C36.5937 45.4697 30.6549 39.5331 30.6549 32.1294C30.6549 24.7256 36.5937 18.7915 44.0002 18.7915C51.4091 18.7915 57.3454 24.7256 57.3454 32.1294ZM44.0002 69.2082C33.0657 69.2082 23.8335 67.431 23.8335 60.5742C23.8335 53.715 33.1237 52.0008 44.0002 52.0008C54.9371 52.0008 64.1668 53.778 64.1668 60.6347C64.1668 67.494 54.8766 69.2082 44.0002 69.2082Z" fill="white"></path><defs><linearGradient id="LessonSlugReviewsDefaultAvatar" x1="7.1381" y1="28.6163" x2="82.5726" y2="41.5112" gradientUnits="userSpaceOnUse"><stop stop-color="#FA6D41"></stop><stop offset="1" stop-color="#C94C31"></stop></linearGradient></defs></svg></div></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">02.05.2023</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Я Unity разработчик, работаю в компании, которая занимается созданием игр для мобильных устройств. Источник структурированной информации по архитектуре ПО я искала долго, и в итоге остановила свой выбор на курсе от OTUS - учебный план мне показался достаточно основательным и интересным.
В целом курс мне понравился и был очень полезен для моего профессионального развития. Евгений Тюменцев - отличный лектор, умеет увлечь слушателей и доходчиво объяснить материал. Изучение материалов курса помогло мне обрести достаточную степень уверенности при принятии архитектурных решений и понимание плюсов и возможных рисков этих решений.
Из негативного опыта могу отметить, что из-за продолжительности лекций (а лекции проводятся, конечно же, в вечернее время) к концу занятия неизбежно падает концентрация, особенно после сложного рабочего дня, и материал во второй половине лекции усваивается тяжело. Также довольно долго осуществляется проверка домашних заданий (около недели) и ревью довольно краткие, ревьюверы тут не будут стремиться "допинать" вас до идеала. Также случались накладки с расписанием - несколько раз занятия переносились на 1-2 дня, но в итоге все занятия были проведены.
Курс рекомендую, но только в том случае, если вы готовы сами активно учиться и разбираться, не ждите 100% готовых ответов на всё (их просто не существует), курс задаёт направление, а идти по нему должны вы сами. Домашних заданий на курсе много и на некоторые требуется достаточно большое количество времени.</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/32/5d/avatar-1801-325d87.png" class="sc-h3yero-4 gSNejW"></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">24.01.2022</div></div></div><div class="sc-1x9oq14-0 sc-h3yero-8 doSDez fwXQYP">Курс понравился, открыл для себя много нового. Рекомендую всем, кто хочет добиться стабильной прогнозируемой скорости разработки ПО.</div></div></div></div></div><div color="#FA6D41" class="sc-1bkbgbz-6 eGxJvf"><button color="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-4 gKNzJW 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="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-3 gKNzJW 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><br><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-certificate-832bf0e82aba1cde68e7417b12683728.png" class="sc-1oz275d-1 dCggDS"/></div><div class="swiper-slide"><img src="/_next/static/images/img/upk-diploma-d6bca6c33b9795bec7d04fb91a431230.png" class="sc-1oz275d-1 dCggDS"/></div></div></div></div><div color="#FA6D41" class="sc-1bkbgbz-6 eGxJvf"><button color="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-4 gKNzJW 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="#FA6D41" class="sc-1bkbgbz-2 sc-1bkbgbz-3 gKNzJW 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 fulWiX"><h3>После обучения вы:</h3>
<ul>
<li>получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)</li>
<li>применять шаблоны проектирования в разработках</li>
<li>получите сертификат об окончании курса</li>
</ul></div></div></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div id="payment-link" class="sc-1ddwpfq-1 hnlXxp sc-mgf5g0-1 cGuqjL"><i class="sc-1ddwpfq-0 jfuJCc"></i><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><div class="sc-mgf5g0-0 VNvrk sc-x072mc-0 hOtCic"><div class="sc-mgf5g0-3 iMmpz"><div class="sc-mgf5g0-2 hmtolF"></div><h2 class="sc-1x9oq14-0 sc-mgf5g0-5 jmLQpp cHLoOP">Архитектура и шаблоны проектирования</h2></div><div class="sc-mgf5g0-4 cIkHKG"><div class="sc-10kui61-0 hgTHTJ"><div class="sc-10kui61-1 gEGbfQ"><div class="sc-t8narm-0 gPfNRv sc-1peufw-0 gosVbC"><div class="sc-zkx93-0 yFPt"><div>В рассрочку</div></div><div class="sc-zkx93-0 hubLMz"><div>Полная</div></div><div class="sc-zkx93-0 hubLMz"><div>Компаниям</div></div></div><p class="sc-1x9oq14-0 hQBzUY">Стоимость в рассрочку со скидкой</p><div class="sc-1peufw-1 lYQex"><div class="sc-1x9oq14-0 sc-1peufw-2 ioOegJ iKtgdB">от<!-- --> <!-- -->8 780,42<!-- --> <!-- -->₽<span class="sc-1peufw-4 iLnntQ">/мес</span></div><div class="sc-1x9oq14-0 sc-1peufw-3 gGtEnS dKwXRv">9 000 ₽/мес</div></div><div class="sc-1gixy6u-0 SAbyR"><div class="sc-1gixy6u-1 gPoh"><div class="sc-1x9oq14-0 sc-1gixy6u-3 iFeEEh fyePAn">Скидка 2.4%</div><div class="sc-1x9oq14-0 sc-1gixy6u-4 iwrrOS eaqLEc">действительна до 14 марта</div></div><div class="sc-1x9oq14-0 sc-1gixy6u-2 eMZyoN cGbwrP">Обращаем ваше внимание, что при оплате в рассрочку предоставление скидки и её размер может зависеть от комиссии банка.</div></div></div><div class="sc-1r0uxxj-1 bPBPRV sc-10kui61-2 bpPrAe"><div class="sc-1r0uxxj-0 ewmmcs"></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><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="M17.7689 8.3818H22C22 4.98459 19.9644 3 16.5156 3H7.48444C4.03556 3 2 4.98459 2 8.33847V15.6615C2 19.0154 4.03556 21 7.48444 21H16.5156C19.9644 21 22 19.0154 22 15.6615V15.3495H17.7689C15.8052 15.3495 14.2133 13.7975 14.2133 11.883C14.2133 9.96849 15.8052 8.41647 17.7689 8.41647V8.3818ZM17.7689 9.87241H21.2533C21.6657 9.87241 22 10.1983 22 10.6004V13.131C21.9952 13.5311 21.6637 13.8543 21.2533 13.8589H17.8489C16.8548 13.872 15.9855 13.2084 15.76 12.2643C15.6471 11.6783 15.8056 11.0736 16.1931 10.6122C16.5805 10.1509 17.1573 9.88007 17.7689 9.87241ZM17.92 12.533H18.2489C18.6711 12.533 19.0133 12.1993 19.0133 11.7877C19.0133 11.3761 18.6711 11.0424 18.2489 11.0424H17.92C17.7181 11.0401 17.5236 11.1166 17.38 11.255C17.2364 11.3934 17.1555 11.5821 17.1556 11.779C17.1555 12.1921 17.4964 12.5282 17.92 12.533ZM6.73778 8.3818H12.3822C12.8044 8.3818 13.1467 8.04812 13.1467 7.63649C13.1467 7.22487 12.8044 6.89119 12.3822 6.89119H6.73778C6.31903 6.89116 5.9782 7.2196 5.97333 7.62783C5.97331 8.04087 6.31415 8.37705 6.73778 8.3818Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez"><span class="sc-1r0uxxj-3 kMVdSV">Доступные способы оплаты.</span> <br class="sc-1r0uxxj-2 eewVHU"/>Стоимость указана для оплаты физическими лицами</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><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="M20.3991 9.14611L21.1193 9.86611C21.6895 10.4261 21.9996 11.1861 21.9996 11.9861C22.0096 12.7861 21.6995 13.5471 21.1393 14.1161C21.1327 14.1234 21.126 14.1299 21.1193 14.1363C21.116 14.1396 21.1127 14.1428 21.1093 14.1461L20.3991 14.8561C20.119 15.1361 19.9589 15.5161 19.9589 15.9171V16.9461C19.9589 18.6061 18.6084 19.9571 16.9478 19.9571H15.9174C15.5173 19.9571 15.1372 20.1161 14.8571 20.3961L14.1368 21.1161C13.5466 21.7071 12.7763 21.9961 12.006 21.9961C11.2357 21.9961 10.4655 21.7071 9.87525 21.1271L9.14498 20.3961C8.86488 20.1161 8.48474 19.9571 8.0846 19.9571H7.05423C5.39362 19.9571 4.04313 18.6061 4.04313 16.9461V15.9171C4.04313 15.5161 3.88308 15.1361 3.60298 14.8461L2.88271 14.1361C1.71229 12.9671 1.70229 11.0561 2.87271 9.87711L3.60298 9.14611C3.88308 8.86611 4.04313 8.48611 4.04313 8.07611V7.05611C4.04313 5.39611 5.39362 4.04711 7.05423 4.04711H8.0846C8.48474 4.04711 8.86488 3.88611 9.14498 3.60611L9.86524 2.88611C11.0357 1.70711 12.9464 1.70711 14.1268 2.87711L14.8571 3.60611C15.1372 3.88611 15.5173 4.04711 15.9174 4.04711H16.9478C18.6084 4.04711 19.9589 5.39611 19.9589 7.05611V8.08711C19.9589 8.48611 20.119 8.86611 20.3991 9.14611ZM9.42509 15.4461C9.66517 15.4461 9.88525 15.3561 10.0453 15.1861L15.1872 10.0471C15.5273 9.70711 15.5273 9.14611 15.1872 8.80611C14.8471 8.46711 14.2969 8.46711 13.9567 8.80611L8.81486 13.9461C8.47474 14.2861 8.47474 14.8461 8.81486 15.1861C8.97492 15.3561 9.195 15.4461 9.42509 15.4461ZM13.6966 14.5661C13.6966 15.0561 14.0868 15.4461 14.577 15.4461C15.0571 15.4461 15.4473 15.0561 15.4473 14.5661C15.4473 14.0871 15.0571 13.6961 14.577 13.6961C14.0868 13.6961 13.6966 14.0871 13.6966 14.5661ZM9.43509 8.55611C9.91526 8.55611 10.3054 8.94611 10.3054 9.42611C10.3054 9.91711 9.91526 10.3061 9.43509 10.3061C8.95492 10.3061 8.55477 9.91711 8.55477 9.42611C8.55477 8.94611 8.95492 8.55611 9.43509 8.55611Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez">Верните с помощью налогового <br class="sc-1r0uxxj-2 eewVHU"/>вычета до 13% стоимости обучения.<!-- --> <!-- -->Пройдите тестирование и менеджер вас проконсультирует</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><g><path d="M14.4183 5.49C13.9422 5.40206 13.505 5.70586 13.4144 6.17054C13.3238 6.63522 13.6285 7.08891 14.0916 7.17984C15.4859 7.45166 16.5624 8.53092 16.8353 9.92995V9.93095C16.913 10.3337 17.2675 10.6265 17.6759 10.6265C17.7306 10.6265 17.7854 10.6215 17.8412 10.6115C18.3043 10.5186 18.609 10.0659 18.5184 9.60018C18.1111 7.51062 16.5027 5.89672 14.4183 5.49Z" fill="currentColor"></path><path d="M14.356 2.00793C14.1329 1.97595 13.9088 2.04191 13.7305 2.18381C13.5473 2.32771 13.4328 2.53557 13.4079 2.76841C13.3551 3.23908 13.6947 3.66479 14.1648 3.71776C17.4064 4.07951 19.926 6.60477 20.2905 9.85654C20.3393 10.2922 20.7048 10.621 21.141 10.621C21.1739 10.621 21.2058 10.619 21.2386 10.615C21.4667 10.59 21.6699 10.4771 21.8133 10.2972C21.9557 10.1174 22.0204 9.89351 21.9945 9.66467C21.5404 5.60746 18.4003 2.45862 14.356 2.00793Z" fill="currentColor"></path></g><g><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0317 12.9724C15.0208 16.9604 15.9258 12.3467 18.4656 14.8848C20.9143 17.3328 22.3216 17.8232 19.2192 20.9247C18.8306 21.237 16.3616 24.9943 7.6846 16.3197C-0.993478 7.644 2.76158 5.17244 3.07397 4.78395C6.18387 1.67385 6.66586 3.08938 9.11449 5.53733C11.6544 8.0765 7.04266 8.98441 11.0317 12.9724Z" fill="currentColor"></path></g></svg></div><div class="sc-1x9oq14-0 doSDez">Есть вопросы? Позвоните!<br/><a href="tel:+7 499 938-92-02"><span class="sc-1r0uxxj-3 kMVdSV">+7 499 938-92-02</span></a> <!-- -->бесплатно</div></div></div></div><div class="sc-7ugo7y-0 bTFiyu"><div class="sc-7ugo7y-1 iOYphy"><div class="sc-1x9oq14-0 sc-1u84tez-2 gGtEnS kgGhBx">Пройдите тестирование</div><div class="sc-1x9oq14-0 sc-1u84tez-3 eMZyoN lcNwWc">Старт занятий 30 марта</div><div class="sc-1lrh8w5-0 ftkQLi"><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="M15.164 6.08252C15.4791 6.08684 15.7949 6.09117 16.1119 6.09441C19.5172 6.09441 22 8.52216 22 11.8748V16.1811C22 19.5337 19.5172 21.9615 16.1119 21.9615C14.7478 21.9904 13.3837 22 12.0098 22C10.6359 22 9.25221 21.9904 7.88813 21.9615C4.48283 21.9615 2 19.5337 2 16.1811V11.8748C2 8.52216 4.48283 6.09441 7.89794 6.09441C9.18351 6.07514 10.4985 6.05588 11.8332 6.05588V5.8921C11.8332 5.22736 11.2738 4.68786 10.6065 4.68786H9.63494C8.52601 4.68786 7.62316 3.80154 7.62316 2.72254C7.62316 2.32755 7.95682 2 8.35918 2C8.77134 2 9.09519 2.32755 9.09519 2.72254C9.09519 3.01156 9.34053 3.24277 9.63494 3.24277H10.6065C12.0883 3.25241 13.2954 4.43738 13.3052 5.88247V6.06551C13.9239 6.06551 14.5425 6.074 15.164 6.08252ZM10.8518 14.7457H9.82139V15.7669C9.82139 16.1618 9.48773 16.4894 9.08538 16.4894C8.67321 16.4894 8.34936 16.1618 8.34936 15.7669V14.7457H7.30913C6.90677 14.7457 6.57311 14.4277 6.57311 14.0231C6.57311 13.6281 6.90677 13.3006 7.30913 13.3006H8.34936V12.289C8.34936 11.894 8.67321 11.5665 9.08538 11.5665C9.48773 11.5665 9.82139 11.894 9.82139 12.289V13.3006H10.8518C11.2542 13.3006 11.5878 13.6281 11.5878 14.0231C11.5878 14.4277 11.2542 14.7457 10.8518 14.7457ZM15.0226 13.1175H15.1207C15.5231 13.1175 15.8567 12.7996 15.8567 12.395C15.8567 12 15.5231 11.6724 15.1207 11.6724H15.0226C14.6104 11.6724 14.2866 12 14.2866 12.395C14.2866 12.7996 14.6104 13.1175 15.0226 13.1175ZM16.7007 16.4316H16.7988C17.2012 16.4316 17.5348 16.1137 17.5348 15.7091C17.5348 15.3141 17.2012 14.9865 16.7988 14.9865H16.7007C16.2875 14.9865 15.9647 15.3141 15.9647 15.7091C15.9647 16.1137 16.2875 16.4316 16.7007 16.4316Z" fill="currentColor"></path></svg></button></div><div class="sc-ne2nun-0 jFFNWn"><button class="sc-1x9oq14-0 sc-ne2nun-2 doSDez cWqojy">Оставить заявку на оплату<!-- --> <!-- -->курса<!-- --> работодателем</button></div></div></div><div class="sc-1r0uxxj-1 bPBPRV sc-mgf5g0-6 kiGnqS"><div class="sc-1r0uxxj-0 ewmmcs"></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><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="M17.7689 8.3818H22C22 4.98459 19.9644 3 16.5156 3H7.48444C4.03556 3 2 4.98459 2 8.33847V15.6615C2 19.0154 4.03556 21 7.48444 21H16.5156C19.9644 21 22 19.0154 22 15.6615V15.3495H17.7689C15.8052 15.3495 14.2133 13.7975 14.2133 11.883C14.2133 9.96849 15.8052 8.41647 17.7689 8.41647V8.3818ZM17.7689 9.87241H21.2533C21.6657 9.87241 22 10.1983 22 10.6004V13.131C21.9952 13.5311 21.6637 13.8543 21.2533 13.8589H17.8489C16.8548 13.872 15.9855 13.2084 15.76 12.2643C15.6471 11.6783 15.8056 11.0736 16.1931 10.6122C16.5805 10.1509 17.1573 9.88007 17.7689 9.87241ZM17.92 12.533H18.2489C18.6711 12.533 19.0133 12.1993 19.0133 11.7877C19.0133 11.3761 18.6711 11.0424 18.2489 11.0424H17.92C17.7181 11.0401 17.5236 11.1166 17.38 11.255C17.2364 11.3934 17.1555 11.5821 17.1556 11.779C17.1555 12.1921 17.4964 12.5282 17.92 12.533ZM6.73778 8.3818H12.3822C12.8044 8.3818 13.1467 8.04812 13.1467 7.63649C13.1467 7.22487 12.8044 6.89119 12.3822 6.89119H6.73778C6.31903 6.89116 5.9782 7.2196 5.97333 7.62783C5.97331 8.04087 6.31415 8.37705 6.73778 8.3818Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez"><span class="sc-1r0uxxj-3 kMVdSV">Доступные способы оплаты.</span> <br class="sc-1r0uxxj-2 eewVHU"/>Стоимость указана для оплаты физическими лицами</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><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="M20.3991 9.14611L21.1193 9.86611C21.6895 10.4261 21.9996 11.1861 21.9996 11.9861C22.0096 12.7861 21.6995 13.5471 21.1393 14.1161C21.1327 14.1234 21.126 14.1299 21.1193 14.1363C21.116 14.1396 21.1127 14.1428 21.1093 14.1461L20.3991 14.8561C20.119 15.1361 19.9589 15.5161 19.9589 15.9171V16.9461C19.9589 18.6061 18.6084 19.9571 16.9478 19.9571H15.9174C15.5173 19.9571 15.1372 20.1161 14.8571 20.3961L14.1368 21.1161C13.5466 21.7071 12.7763 21.9961 12.006 21.9961C11.2357 21.9961 10.4655 21.7071 9.87525 21.1271L9.14498 20.3961C8.86488 20.1161 8.48474 19.9571 8.0846 19.9571H7.05423C5.39362 19.9571 4.04313 18.6061 4.04313 16.9461V15.9171C4.04313 15.5161 3.88308 15.1361 3.60298 14.8461L2.88271 14.1361C1.71229 12.9671 1.70229 11.0561 2.87271 9.87711L3.60298 9.14611C3.88308 8.86611 4.04313 8.48611 4.04313 8.07611V7.05611C4.04313 5.39611 5.39362 4.04711 7.05423 4.04711H8.0846C8.48474 4.04711 8.86488 3.88611 9.14498 3.60611L9.86524 2.88611C11.0357 1.70711 12.9464 1.70711 14.1268 2.87711L14.8571 3.60611C15.1372 3.88611 15.5173 4.04711 15.9174 4.04711H16.9478C18.6084 4.04711 19.9589 5.39611 19.9589 7.05611V8.08711C19.9589 8.48611 20.119 8.86611 20.3991 9.14611ZM9.42509 15.4461C9.66517 15.4461 9.88525 15.3561 10.0453 15.1861L15.1872 10.0471C15.5273 9.70711 15.5273 9.14611 15.1872 8.80611C14.8471 8.46711 14.2969 8.46711 13.9567 8.80611L8.81486 13.9461C8.47474 14.2861 8.47474 14.8461 8.81486 15.1861C8.97492 15.3561 9.195 15.4461 9.42509 15.4461ZM13.6966 14.5661C13.6966 15.0561 14.0868 15.4461 14.577 15.4461C15.0571 15.4461 15.4473 15.0561 15.4473 14.5661C15.4473 14.0871 15.0571 13.6961 14.577 13.6961C14.0868 13.6961 13.6966 14.0871 13.6966 14.5661ZM9.43509 8.55611C9.91526 8.55611 10.3054 8.94611 10.3054 9.42611C10.3054 9.91711 9.91526 10.3061 9.43509 10.3061C8.95492 10.3061 8.55477 9.91711 8.55477 9.42611C8.55477 8.94611 8.95492 8.55611 9.43509 8.55611Z" fill="currentColor"></path></svg></div><div class="sc-1x9oq14-0 doSDez">Верните с помощью налогового <br class="sc-1r0uxxj-2 eewVHU"/>вычета до 13% стоимости обучения.<!-- --> <!-- -->Пройдите тестирование и менеджер вас проконсультирует</div></div><div class="sc-147fm2r-0 dAAQHW"><div class="sc-147fm2r-1 cnspAU"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-aobi4b-0 hzdVAl"><g><path d="M14.4183 5.49C13.9422 5.40206 13.505 5.70586 13.4144 6.17054C13.3238 6.63522 13.6285 7.08891 14.0916 7.17984C15.4859 7.45166 16.5624 8.53092 16.8353 9.92995V9.93095C16.913 10.3337 17.2675 10.6265 17.6759 10.6265C17.7306 10.6265 17.7854 10.6215 17.8412 10.6115C18.3043 10.5186 18.609 10.0659 18.5184 9.60018C18.1111 7.51062 16.5027 5.89672 14.4183 5.49Z" fill="currentColor"></path><path d="M14.356 2.00793C14.1329 1.97595 13.9088 2.04191 13.7305 2.18381C13.5473 2.32771 13.4328 2.53557 13.4079 2.76841C13.3551 3.23908 13.6947 3.66479 14.1648 3.71776C17.4064 4.07951 19.926 6.60477 20.2905 9.85654C20.3393 10.2922 20.7048 10.621 21.141 10.621C21.1739 10.621 21.2058 10.619 21.2386 10.615C21.4667 10.59 21.6699 10.4771 21.8133 10.2972C21.9557 10.1174 22.0204 9.89351 21.9945 9.66467C21.5404 5.60746 18.4003 2.45862 14.356 2.00793Z" fill="currentColor"></path></g><g><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0317 12.9724C15.0208 16.9604 15.9258 12.3467 18.4656 14.8848C20.9143 17.3328 22.3216 17.8232 19.2192 20.9247C18.8306 21.237 16.3616 24.9943 7.6846 16.3197C-0.993478 7.644 2.76158 5.17244 3.07397 4.78395C6.18387 1.67385 6.66586 3.08938 9.11449 5.53733C11.6544 8.0765 7.04266 8.98441 11.0317 12.9724Z" fill="currentColor"></path></g></svg></div><div class="sc-1x9oq14-0 doSDez">Есть вопросы? Позвоните!<br/><a href="tel:+7 499 938-92-02"><span class="sc-1r0uxxj-3 kMVdSV">+7 499 938-92-02</span></a> <!-- -->бесплатно</div></div></div></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 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><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 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><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 необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.</div></div></div></div><div class="sc-li015i-2 cEtMkY sc-tqrjzo-1 htYSLI" color="#FA6D41"><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 dtANiL sc-1ddwpfq-0 evFWrv"></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="9b942debac4d66f95f56b9be" 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="9b942debac4d66f95f56b9be" 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-3018d93ec30a05b2.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\",\"patterns\",\"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\":\"NbqG4_TtV1FbFpGan6e4s\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"lessons\",\"patterns\"],\"initialTree\":[\"\",{\"structuredData\":[\"children\",{\"children\":[\"lessons\",{\"children\":[[\"slug\",\"patterns\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]}],\"children\":[\"lessons\",{\"children\":[[\"slug\",\"patterns\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"structuredData\":[\"children\",{\"children\":[\"lessons\",{\"children\":[[\"slug\",\"patterns\",\"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\",\"patterns\",\"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\",\"patterns\",\"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\":\"Курс «Архитектура и шаблоны проектирования ПО» для разработчиков - ОТУС обучение онлайн\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Онлайн-курс Архитектура и шаблоны (паттерны) проектирования программного обеспечения. Научитесь применять шаблоны проектирования и SOLID в разработке; обучение подойдет для Fullstack- и Backend-разработчиков, DevOps-инженеров. Записаться на курс «Архитектура и шаблоны проектирования ПО» на сайте ОТУС\"}],[\"$\",\"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/patterns/\"}],[\"$\",\"meta\",\"9\",{\"name\":\"yandex-verification\",\"content\":\"3019a35aeda6b45d\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Курс «Архитектура и шаблоны проектирования ПО» для разработчиков - ОТУС обучение онлайн\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Онлайн-курс Архитектура и шаблоны (паттерны) проектирования программного обеспечения. Научитесь применять шаблоны проектирования и SOLID в разработке; обучение подойдет для Fullstack- и Backend-разработчиков, DevOps-инженеров. Записаться на курс «Архитектура и шаблоны проектирования ПО» на сайте ОТУС\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://otus.ru/lessons/patterns/\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Курс «Архитектура и шаблоны проектирования ПО» для разработчиков - ОТУС обучение онлайн\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Онлайн-курс Архитектура и шаблоны (паттерны) проектирования программного обеспечения. Научитесь применять шаблоны проектирования и SOLID в разработке; обучение подойдет для Fullstack- и Backend-разработчиков, DevOps-инженеров. Записаться на курс «Архитектура и шаблоны проектирования ПО» на сайте ОТУС\"}]]\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[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."])</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-9988dde0bcc22cd3.js\",\"7601\",\"static/chunks/app/error-37bbf3f7388748a0.js\"],\"default\"]\n1f: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.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-9988dde0bcc22cd3.j"])</script><script>self.__next_f.push([1,"s\",\"9160\",\"static/chunks/app/not-found-6846642e53dd56ba.js\"],\"default\"]\n21: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\"]\n1d:[]\n1e:[]\n20:[]\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\":\"$1c\",\"errorStyles\":[],\"errorScripts\":[],\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":[]}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$1c\",\"errorStyles\":\"$1d\",\"errorScripts\":\"$1e\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L1f\",null,{}],\"notFoundStyles\":\"$20\"}],[\"$\",\"$L21\",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,"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\",[\"$20\",[\"$\",\"$L1f\",null,{}]],[\"$\",\"$L21\",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,"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-9988dde0bcc22cd3.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-9988dde0bcc22cd3.js\",\"4514\",\"static/chunks/4514-28d343fc6e2d14e0.js\",\"9697\",\"static/chunks/app/lessons/%5Bslug%5D/page-56f47397b9d2307e.js\"],\"default\"]\n24:T710, \u003ch2\u003e\u003cstrong\u003eДля кого этот курс?\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u0026nbsp;\u003cstrong\u003eРазработчикам\u0026nbsp;Fullstack/Backend\u003c/strong\u003e. Вы сможете уверенно создавать структуру для масштабируемых и надежных приложений, в которых можно легко интегрировать новые функции, которые сохраняют нагрузку, остаются управляемыми и безопасными для бизнеса.\u003c/span\u003e\u003c/li\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cstrong\u003eDevOps инженерам.\u003c/strong\u003e Вы сможете более уверенно разрабатывать и поддерживать системы, внедряя архитектурные решения, которые поддерживают как производительность, так и надежность сервисов.\u003cbr\u003e\u003c/span\u003e\u003c/li\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 4"])</script><script>self.__next_f.push([1,"00;\"\u003e\u003cstrong\u003e\u0026nbsp;Desktop разработчикам.\u003c/strong\u003e\u003cem\u003e \u003c/em\u003eВы сможете использовать архитектурные и проектные шаблоны для создания устойчивых, интуитивно понятных и надежных приложений, способных адаптироваться к требованиям новых пользователей и технологий.\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv\u003e\u0026nbsp;\u003c/div\u003e\n\u003ch2\u003eНеобходимые знания:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003eЗнание одного из языков программирования: C++, C#, Java, Kotlin, PHP или Python\u003c/span\u003e\u003c/li\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003eЗнание принципов ООП\u003c/span\u003e\u003c/li\u003e\n\u003c/ul\u003e25:T739,\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eС одной стороны, разработка ПО \u0026mdash; это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.\u003cbr /\u003e\u003c/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eС другой, это знание всех участвующих бизнес-процессов, умение описать архитектуру на разных уровнях представления, что необходимо для контроля архитектуры ПО на уровне большого предприятия.\u003cbr /\u003e\u003c/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eС третьей, это внутренняя компоновка модулей разрабатываемого продукта, \u003c/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eподразумевающая масштабируемость.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eВсего этого можно достичь, используя шаблоны проектирования, которые изучим на этом курсе.\u003c/span\u003e\u003c/p\u003e\n\u003ch2\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003c/span\u003eПосле курса вы будете:\u003c"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"/h2\u003e\n\u003col\u003e\n\u003cli\u003eПрименять шаблоны проектирования в разработках\u003c/li\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003e Будете понимать и применять SOLID принципы\u003c/span\u003e\u003c/li\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003e Поймете, что такое рефакторинг и как писать чистый код\u003c/span\u003e\u003c/li\u003e\n\u003cli\u003e\u003cspan style=\"font-weight: 400;\"\u003e Знать современные процессы разработки программного обеспечения\u003c/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cbr /\u003e\u003c/span\u003e\u003c/li\u003e\n\u003c/ol\u003e26:Te26,"])</script><script>self.__next_f.push([1,"1. Создать проект на gitlab/github.\n2. Настроить CI, чтобы можно было собирать проект и прогонять тесты.\n\nНеобходимо реализовать операцию нахождения корней квадратного уравнения. Предположим, что эта операция описывается следующей функцией с поправкой на конкретный язык программирования. В ООП языках эта функция реализуется в виде метода класса.\n\nsolve(double a, double b, double c): double[] \n\nздесь a, b, c - коэффициенты квадратного уравнения, функция возвращает список корней квадратного уравнения.\n\n3. Написать тест, который проверяет, что для уравнения x^2+1 = 0 корней нет (возвращается пустой массив).\n\n4. Написать минимальную реализацию функции solve, которая удовлетворяет данному тесту.\n\n5. Написать тест, который проверяет, что для уравнения x^2-1 = 0 есть два корня кратности 1 (x1=1, x2=-1).\n\n6. Написать минимальную реализацию функции solve, которая удовлетворяет тесту из п.5.\n\n7. Написать тест, который проверяет, что для уравнения x^2+2x+1 = 0 есть один корень кратности 2 (x1= x2 = -1).\n\n8. Написать минимальную реализацию функции solve, которая удовлетворяет тесту из п.7.\n\n9. Написать тест, который проверяет, что коэффициент a не может быть равен 0. В этом случае solve выбрасывает исключение. \nПримечание. Учесть, что a имеет тип double и сравнивать с 0 через == нельзя.\n\n10. Написать минимальную реализацию функции solve, которая удовлетворяет тесту из п.9.\n\n11. С учетом того, что дискриминант тоже нельзя сравнивать с 0 через знак равенства, подобрать такие коэффициенты квадратного уравнения для случая одного корня кратности 2, чтобы дискриминант был отличный от нуля, но меньше заданного эпсилон. Эти коэффициенты должны заменить коэффициенты в тесте из п. 7.\n\n12. При необходимости поправить реализацию квадратного уравнения.\n\n13. Посмотреть, какие еще значения могут принимать числа типа double, кроме числовых, и написать тест с их использованием для всех коэффициентов. solve должен выбрасывать исключение.\n\n14. Написать минимальную реализацию функции solve, которая удовлетворяет тесту из п.13.\n\n15. Сделать merge request/pull request и ссылку на него указать при сдаче ДЗ. \n"])</script><script>self.__next_f.push([1,"27:T98d,"])</script><script>self.__next_f.push([1,"Предположим, что все команды находятся в некоторой очереди. Обработка очереди заключается в чтении очередной команды и головы очереди и вызове метода Execute извлеченной команды. Метод Execute() может выбросить любое произвольное исключение.\n\n1. Обернуть вызов Команды в блок try-catch.\n2. Обработчик catch должен перехватывать только самое базовое исключение.\n3. Есть множество различных обработчиков исключений. Выбор подходящего обработчика исключения делается на основе экземпляра перехваченного исключения и команды, которая выбросила исключение.\n4. Реализовать Команду, которая записывает информацию о выброшенном исключении в лог.\n5. Реализовать обработчик исключения, который ставит Команду, пишущую в лог, в очередь Команд.\n6. Реализовать Команду, которая повторяет Команду, выбросившую исключение.\n7. Реализовать обработчик исключения, который ставит в очередь Команду - повторитель команды, выбросившей исключение.\n8. С помощью Команд из пункта 4 и пункта 6 реализовать следующую обработку исключений:\nпри первом выбросе исключения повторить команду, при повторном выбросе исключения записать информацию в лог.\n9. Реализовать стратегию обработки исключения - повторить два раза, потом записать в лог. Указание: создать новую команду, точно такую же, как в пункте 6. Тип этой команды будет показывать, что Команду не удалось выполнить два раза."])</script><script>self.__next_f.push([1,"28:Tb86,"])</script><script>self.__next_f.push([1,"Предположим, что у нас уже написаны команды MoveCommand и RotateCommand. Теперь возникло новое требование: пользователи в игре могут устанавливать правило - во время движения расходуется топливо, двигаться можно только при наличии топлива.\n\n\u003cbr\u003eРеализовать новую возможность можно введя две новые команды.\n\u003cbr\u003eCheckFuelCommand и BurnFuelCommand.\n\u003cbr\u003eCheckFuelCommand проверяет, что топлива достаточно, если нет, то выбрасывает исключение CommandException.\n\u003cbr\u003eBurnFuelCommand уменьшает количество топлива на скорость расхода топлива.\n\n\u003cbr\u003eПосле этого мы можем три команды выстроить в цепочку.\n\u003cbr\u003eCheckFuelCommand MoveCommand BurnFuelCommand\n\n\u003cbr\u003eЧтобы это было прозрачно для пользователя реализуем Макрокоманду - специальную разновидность команды, которая в конструкторе принимает массив команд,\nа в методе execute их все последовательно выполняет.\n\n\u003cbr\u003eПри повороте движущегося объекта меняется вектор мгновенной скорости. Напишите команду, которая модифицирует вектор мгновенной скорости в случае поворота.\nПостройте цепочку команд для поворота.\n\n\u003cbr\u003e\n\n1. Реализовать класс CheckFuelCommand и тесты к нему.\n2. Реализовать класс BurnFuelCommand и тесты к нему.\n3. Реализовать простейшую макрокоманду и тесты к ней. Здесь простейшая - это значит, что при выбросе исключения вся последовательность команд приостанавливает свое выполнение, а макрокоманда выбрасывает CommandException.\n4. Реализовать команду движения по прямой с расходом топлива, используя команды с предыдущих шагов.\n5. Реализовать команду для модификации вектора мгновенной скорости при повороте. Необходимо учесть, что не каждый разворачивающийся объект движется.\n6. Реализовать команду поворота, которая еще и меняет вектор мгновенной скорости, если есть."])</script><script>self.__next_f.push([1,"29:Ta1f,"])</script><script>self.__next_f.push([1,"В игре Космический бой есть набор операций над игровыми объектами: движение по прямой, поворот, выстрел. При этом содержание этих команд может отличаться для разных игр, в зависимости от того, какие правила игры были выбраны пользователями. Например, пользователи могут ограничить запас ходов каждого корабля некоторым количеством топлива, а другой игре - запретить поворачиваться кораблям по часовой стрелке и т.д.\n\n\u003cbr\u003eIoC может помочь в этом случае, скрыв детали в стратегии разрешения зависимости.\n\nНапример,\n```\nIoC.Resolve\u003cCommand\u003e(\"двигаться прямо\", obj);\n```\nВозвращает команду, которая чаще всего является макрокомандой и осуществляет один шаг движения по прямой.\n\n\u003cbr\u003eРеализовать IoC-контейнер, который:\n\n1. Разрешает зависимости с помощью метода, со следующей сигнатурой:\n```\nT IoC.Resolve\u003cT\u003e(string key, params object[] args);\n```\n\n\u003cbr\u003e*Указание:* Если язык программирования не поддерживает Generics, как, например, PHP, то\n- Запись \u003cT\u003e Вам может быть незнакома. Так реализуется параметрический полиморфизм в таких языках, как C++, C#, Java, Kotlin и др.\n- Тогда просто возвращайте ссылку на базовый класс.\n\n\u003cbr\u003e\n2. Регистрация зависимостей также происходит с помощью метода Resolve\n3. \n\n```\nIoC.Resolve\u003cCommand\u003e(\"IoC.Register\", \"aaa\", (args) =\u003e new A()).Execute();\n```\n\u003cbr\u003e\n3. Зависимости можно регистрировать в разных \"скоупах\"\n\n```\nIoC.Resolve\u003cCommand\u003e(\"Scopes.New\", \"scopeId\").Execute();\nIoC.Resolve\u003cCommand\u003e(\"Scopes.Current\", \"scopeId\").Execute();\n```\n\n\u003cbr\u003e\n*Указание:* Если Ваш фреймворк допускает работу с многопоточным кодом, то для работы со скоупами используйте ThreadLocal-контейнер."])</script><script>self.__next_f.push([1,"2a:T975,"])</script><script>self.__next_f.push([1,"Если задание выполняется на C++, то оно заключается в написании препроцессора, который ищет абстрактные классы и по ним генерирует код адаптера, который включается в состав проекта. Для удобства такой препроцессор стоит запускать на этапе, предшествующем компиляции в процессе сборки, а также стоит подумать об удалении всех сгенерированных файлов при выполнении команды clear.\n\n\u003cbr/\u003e\n\nПредположим, что у нас есть интерфейс\u003cbr/\u003e\u003cbr/\u003e\n```\ninterface Spaceship.Operations.IMovable\n{\n Vector getPosition();\n void setPosition(Vector newValue);\n Vector getVelocity();\n}\n```\n\n\u003cbr/\u003e\n1. Необходимо по нему сгенерировать следующий класс:\u003cbr/\u003e\u003cbr/\u003e\n\n```\nclass AutoGenerated.MovableAdapter: Spaceship.Operations.IMovable\n{\n UObject obj;\n public MovableAdapter(UObject obj)\n { \n this.obj = obj;\n }\n\n public Vector getPosition()\n {\n return IoC.Resolve\u003cVector\u003e(\"Spaceship.Operations.IMovable:position.get\", obj);\n }\n\n public Vector getVelocity()\n {\n return IoC.Resolve\u003cVector\u003e(\"Spaceship.Operations.IMovable:velocity.get\", obj);\n }\n\n public void setPosition(Vector newValue)\n {\n IoC.Resolve\u003cICommand\u003e(\"Spaceship.Operations.IMovable:position.set\", obj, newValue).Execute();\n }\n}\n```\n\u003cbr/\u003e\n\nтак, чтобы можно было создавать экземпляры этого класса.\n\n\u003cbr/\u003e\n\n2. Экземпляры генерируемых оберток для объекта obj можно создавать следующей строкой:\u003cbr/\u003e\u003cbr/\u003e\n```\nvar adapter = IoC.Resolve\u003cIMovable\u003e(\"Adapter\", typeof(IMovable), obj);\n```\n\u003cbr/\u003e\n3*. Необязательная задача для размышления: если в интерфейсе потребуются какие-либо методы, например, как \n\u003cbr/\u003e\u003cbr/\u003e\n\n```\n interface Spaceship.Operations.IMovable\n{\n Vector getPosition();\n Vector setPosition(Vector newValue);\n Vector getVelocity();\n\n void finish();\n}\n```\n\u003cbr/\u003e\nПридумать реализацию адаптера для подобных методов."])</script><script>self.__next_f.push([1,"2b:T87c,"])</script><script>self.__next_f.push([1,"Предположим, что у нас есть набор команд, которые необходимо выполнить. Выполнение команд организуем в несколько потоков.\n\u003cbr\u003eДля этого будем считать, что у каждого потока есть своя потокобезопасная очередь.\n\u003cbr\u003eДля того, чтобы выполнить команду, ее необходимо добавить в очередь. Поток читает очередную команду из очереди и выполняет ее.\n\u003cbr\u003eЕсли выполнение команды прерывается выброшенным исключением, то поток должен отловить его и продолжить работу.\n\u003cbr\u003eЕсли сообщений нет в очереди, то поток засыпает до тех пор, пока очередь пуста.\n\n\u003cbr\u003eПоследовательность шагов решения:\n\n1. Реализовать код, который запускается в отдельном потоке и делает следующее:\n\u003cbr\u003eВ цикле получает из потокобезопасной очереди команду и запускает ее.\n\u003cbr\u003eВыброс исключения из команды не должен прерывать выполнение потока.\n2. Написать команду, которая стартует код, написанный в пункте 1 в отдельном потоке.\n3. Написать команду, которая останавливает цикл выполнения команд из пункта 1, не дожидаясь их полного завершения (hard stop).\n4. Написать команду, которая останавливает цикл выполнения команд из пункта 1 только после того, как все команды завершат свою работу (soft stop).\n5. Написать тесты на команду запуска и остановки потока."])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"2c:T22a7,"])</script><script>self.__next_f.push([1,"Термины:\n- Игровой сервер - это приложение, на котором вычисляется состояние космических боев, то есть выполняются все те команды, которые рассматривались на предыдущих занятиях. \n- Агент - это специальное приложение, на котором игрок запускает свой алгоритм управления своей командой кораблей.\n\n\u003cbr/\u003eДля полноценной реализации игры необходимо обеспечить двусторонний обмен данными между Игровым сервером и Агентами. Частью такого обмена будет Endpoint для приема входящих сообщений Игровым сервером.\n\nЗадача Endpoint - принять входящее сообщение от Агента, десериализовать его и передать его на обработку внутрь игрового сервера.\n\u003cbr/\u003eПрием входящих сообщений и их десериализацию скорее всего возьмут на себя те библиотеки, которыми Вы будете пользоваться.\n\u003cbr/\u003eА вот определить, какому из космических боев это сообщение было адресовано (маршрутизация) и его уведомление о входящем сообщении (передача сообщения в обработку) - это то, что придется делать в рамках этого ДЗ.\n\n\u003cbr/\u003eОрганизовать Endpoint можно реализовать разными способами. Здесь выбирайте тот, который считаете полезным для своих прикладных задач на работе, а не для данной игры.\n\u003cbr/\u003eНу или тот, с которым сами бы хотели разобраться. Ниже приведены разные варианты, что можно было бы сделать:\n- Endpoint поверх Tcp/IP или UDP протокола\n- Controller в web-фреймворке\n- Endpoint на основе веб-сокетов\n- REST\n- Подписка на получение сообщений из какого-нибудь Message Broker'а\n\n\u003cbr/\u003eВыбор варианта не сильно отразится на остальной архитектуре, то есть концептуально будет одно и то же, а вот у каждого варианта могут быть свои ньюансы реализации, поэтому степень полезности того или иного способа реализации прямо зависит от того, в какую сторону лично Вы хотите развиваться. \n\n\u003cbr/\u003eШаги выполнения ДЗ:\n1. Определить формат сообщений, которые отправляет Агент игровому серверу.\n\u003cbr/\u003eУказание: правила во всех играх могут сильно отличаться друг от друга, поэтому нужно подумать о таком формате, который бы не зависел от текущей реализации конкретных команд, то есть чтобы endpoint не приходилось модифицировать каждый раз, когда мы разработаем новое правило игры. Как идею для решения поставленной задачи можно рассмотреть следующий набор данных, который стоит передавать в сообщении:\n - id игры - для идентификации игры, в рамках которой это сообщение обработано. С помощью этого id можно будет определить получателя сообщения при маршрутизации сообщения внутри игрового сервера.\n - id игрового объекта, которому адресовано сообщение. С помощью этого id можно будет определить игровой объект внутри игры, для которого адресовано это сообщение.\n - id операции - по этому id в IoC можно будет определить команду, которая будет обрабатывать данное сообщение.\n - args - вложенный JSON-объект с параметрами операции. Содержимое этого объекта полностью зависит от команды, которая будет применяться к игровому объекту.\n\n2. Определить endpoint, который принимает входящее сообщение и конвертирует в команду InterpretCommand. \n\u003cbr/\u003eenpoint должен определить игру, которой адресовано сообщение, создать команду InterpretCommand и поместить эту команду в очередь команд этой игры.\n\u003cbr/\u003eКоманда InterpretCommand получает всю информацию об операции, которую необходимо выполнить, параметрах и объекте, над которым эта операция будет выполняться.\n\n3. Задача команды InterpretCommand на основе IoC контейнера создать команду для нужного объекта, которая которая соответствует приказу, содержащемуся в сообщении и постановки этой команды в очередь команд игры.\n\u003cbr/\u003eНапример, если сообщение указано, что объект с id 548 должен начать двигаться, то результат InterpretCommand заключается можно описать следующим псевдокодом\n\n```\nvar obj = IoC.Resolve\u003cUObject\u003e(\"Игровые объекты\", \"548\"); // \"548\" получено из входящего сообщения\nIoC.Resolve(\"Установить начальное значение скорости\", obj, 2); // значение 2 получено из args переданного в сообщении\nvar cmd = IoC.Resolve\u003cCommand\u003e(\"Движение по прямой\", obj); // Решение, что нужно выполнить движение по прямой получено из сообщения\n // обратите внимание само значение \"Движение по прямой\" нельзя читать напрямую из сообщения,\n // чтобы избежать инъекции, когда пользователь попытается выполнить действие, которое ему выполнять не позволено\nIoC.Resolve\u003cCommand\u003e(\"Очередь команд\", cmd).Execute(); // Выполняем команду, которая поместит команду cmd в очередь команд игры.\n```\n\n\u003cbr/\u003eДополнительно:\n\u003cbr/\u003eМожно реализовать двусторонний обмен данными между Игровым сервером и Агентом. Так как для принятия решения о той или иной операции на Агенте необходимо знать текущее состояние космической битвы. Для этого можно использовать websocket или tcp/ip или любой другой способ. С точки зрения игры это выглядит так - есть команда, при выполнении которой она сериализует состояние игровых объектов и инициирует процесс отправки этих данных на Агент. Далее рассылка сохраненного состояния производится через реализованный двусторонний обмен данными. \n"])</script><script>self.__next_f.push([1,"2d:Ta1b,"])</script><script>self.__next_f.push([1,"Космические бои могут проводить только зарегистрированные пользователи. Космические бои проводятся как в рамках турниров, так и между любыми пользователями по договоренности.\n\u003cbr/\u003eМожно посмотреть список будущих турниров, подать заявку на участие в турнире, посмотреть результаты проходящих турниров, уже прошедших.\n\u003cbr/\u003eУчастники боев получают уведомления о приглашении на турнир, решение по заявке на участие в турнире, о завершении боя, о скором начале боя. Игрок может посмотреть прошедший бой. За места в турнире участники получают рейтинговые очки.\n\u003cbr/\u003eКаждый пользователь может организовать свой турнир. Турниры получают рейтинг, который рассчитывается на основе рейтингов их участников. Турнир может быть регулярным, тогда его рейтинг накапливается.\n\u003cbr/\u003eИгрок принимает участие в игре посредством программы, которая загружается в специальное приложение Агент.\n\n\u003cbr/\u003eДля успешного решения задачи необходимо:\n1. Определить набор микросервисов и веб-приложений и отобразить их на диаграмме/наборе диаграмм.\n2. Определить направления обмена сообщениями и Endpoints для каждого микросервиса и приложения.\n3. Определить узкие места и потенциальные проблемы масштабирования приложения и способы их решения.\n4. Определить компоненты, к которым чаще всего будут меняться требования, и способы выполнения OCP для них.\n5. Сделать текстовые пояснения к созданному решению.\n\n\u003cbr/\u003eВсе документы, составляющие решение, выложить в git."])</script><script>self.__next_f.push([1,"2e:Tc30,"])</script><script>self.__next_f.push([1,"В одном из предыдущих ДЗ необходимо было реализовать Endpoint на Игровом сервере для приема входящих сообщений от Агента. \n\n\u003cbr/\u003e**Термины:**\n- Игровой сервер - это приложение, на котором вычисляется состояние космических боев, то есть выполняются все те команды, которые рассматривались на предыдущих занятиях. \n- Агент - это специальное приложение, на котором игрок запускает свой алгоритм управления своей командой космических кораблей.\n\n\u003cbr/\u003eПри реализации этого Endpoint возникает задача авторизации пользователя на отправку сообщений для управления командой танков в конкретной игре, чтобы не допустить вмешательства в процесс игры сторонними пользователями. \n\n\u003cbr/\u003eПредполагается реализация микросервиса авторизации с помощью jwt токена.\n\n\u003cbr/\u003eАлгоритм взаимодействия сервиса авторизации и Игрового сервера следующий:\n\n1. Один из пользователей организует космический бой и определяет список участников (их может быть больше 2-х).\nНа сервер авторизации уходит запрос о том, что организуется космический бой и присылается список его участников. Сервер в ответ возвращает id космического боя.\n2. Аутентифицированный пользователь посылает запрос на выдачу jwt токена, который авторизует право этого пользователя на участие в игре.\n\u003cbr/\u003eДля этого он должен указать в запросе id игры.\n\u003cbr/\u003eЕсли пользователь был указан в списке участников игры, то он выдает пользователю jwt токен, в котором указан id игры.\n3. Пользователь при отправке сообщений в Игровой сервер прикрепляет к сообщениям выданный jwt токен, а сервер при получении сообщения удостоверяется, что токен был выдан сервером авторизации (проверят хэш jwt токена) и проверяет, что пользователь запросил выполнение операции в игре, в которой он эту операцию может выполнять.\n"])</script><script>self.__next_f.push([1,"2f:Ta19,"])</script><script>self.__next_f.push([1,"В домашнем задании №2 была реализована многопоточная обработка очереди команд. Предлагалось два режима остановки этой очереди - hard и soft.\n\u003cbr/\u003eОднако вариантов завершения и режимов обработки может быть гораздо больше. В данном домашнем задании необходимо реализовать возможность смены режима обработки Команд в потоке, начиная со следующей Команды.\n\n\u003cbr/\u003eДля этого предлагается использовать паттерн Состояние. Каждое состояние будет иметь свой режим обработки команд. Метод handle возвращает ссылку на следующее состояние.\n\u003cbr/\u003eНеобходимо реализовать следующие состояния автомата:\n1. \"Обычное\"\n\u003cbr/\u003eВ этом состоянии очередная команда извлекается из очереди и выполняется. По умолчанию возвращается ссылка на этот же экземпляр состояния.\n\u003cbr/\u003eОбработка команды HardStop приводит к тому, что будет возвращена \"нулевая ссылка\" на следующее состояние, что соответствует завершению работы потока.\n\u003cbr/\u003eОбработка команды MoveToCommand приводит к тому, что будет возвращена ссылка на состояние MoveTo.\n2. MoveTo - состояние, в котором команды извлекаются из очереди и перенаправляются в другую очередь. Такое состояние может быть полезно, если хотите разгрузить сервер перед предстоящим его выключением.\n\u003cbr/\u003eОбработка команды HardStop приводит к тому, что будет возвращена \"нулевая ссылка\" на следующее состояние, что соответствует завершению работы потока.\n\u003cbr/\u003eОбработка команды RunCommand приводит к тому, что будет возвращена ссылка на \"обычное\" состояние."])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"30:Tb75,"])</script><script>self.__next_f.push([1,"Предположим, что у нас есть функция/процедура/метод, который умеет для двух игровых объектов определять коллизию - столкнулись эти два объекта или нет. Эту функцию/процедуру/метод реализовывать не нужно, так как это достаточно большая задача.\n\n\u003cbr/\u003eИспользуя эту функцию, реализуем эффективный перебор всех игровых объектов, для определения всех возможных коллизий в игре в каждый момент времени.\n\u003cbr/\u003eДля этого разобьем игровое поле на окрестности, предполагая, что объекты, находящиеся в разных окрестностях, не могут столкнуться друг с другом. Столкнуться друг с другом могут только объекты из одной окрестности.\n\n\u003cbr/\u003eНеобходимо:\n1. Реализовать команду, которая:\n - определяет окрестность, в которой присутствует игровой объект;\n - если объект попал в новую окрестность, то удаляет его из списка объектов старой окрестности и добавляет список объектов новой окрестности;\n - для каждого объекта новой окрестности и текущего движущегося объекта создает команду проверки коллизии этих двух объектов. Все эти команды помещает в макрокоманду и эту макрокоманду записывает на место аналогичной макрокоманды для предыдущей окрестности.\n2. при подходе с окрестностями может оказаться, что объекты, находящиеся рядом, могут попасть в разные окрестности, что не позволит определить коллизию между ними. Для решения этой проблемы будем использовать две системы окрестностей - одни окрестности смещены относительно центра других окрестностей. Для этого можно использовать несколько команд из п. 1.\n3. С помощью команды из 1. организовать проверку коллизий игровых объектов с помощью двух систем окрестностей. "])</script><script>self.__next_f.push([1,"31:T743,\u003ch2\u003eВыпускная работа\u003c/h2\u003e\n\u003ch5\u003e\u0026nbsp;\u003c/h5\u003e\n\u003cp\u003e\u003cspan\u003eЗаключительный месяц курса посвящен выпускной работе. Его разработка нужна для окончательного закрепления знаний, которые были получены в рамках пройденных занятий.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eПримеры выпускных проектов - читайте в нашем блоге:\u003cbr\u003e\u003c/strong\u003e\u003cstrong\u003e\u003cbr\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cstrong\u003e\u003ca style=\"color: rgb(0, 0, 0);\" href=\"../../../../../journal/proekt-primenenie-patternov-proektirovaniya-i-ioc-kontejnera-pri-razrabotke-v-unity-kursa-arhitektura-i-shablony-proektirovaniya/\"\u003e- Применение паттернов проектирования и IoC-контейнера при разработке в Unity\u003c/a\u003e \u003cbr\u003e\u003c/strong\u003e\u003cstrong\u003e\u003ca style=\"color: rgb(0, 0, 0);\" href=\"../../../../../journal/proekt-strong-strong-biblioteka-dlya-parsinga-kontent-blokov-strong-strong-dlya-kursa-strong-strong-arhitektura-i-shablony-proektirovaniya-strong-strong/\"\u003e- Библиотека для парсинга контент-блоков\u003c/a\u003e \u003cbr\u003e\u003c/strong\u003e\u003cstrong\u003e\u003ca style=\"color: rgb(0, 0, 0);\" href=\"../../../../../journal/proekt-plugin-for-obsidian-kursa-arhitektura-i-shablony-proektirovaniya/\"\u003e- Plugin for Obsidian\u003c/a\u003e \u003cbr\u003e\u003c/strong\u003e \u003c/span\u003e\u003cstrong\u003e\u003cspan style=\"color: #3598db;\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca style=\"color: rgb(0, 0, 0);\" href=\"../../../../../journal/sozdanie-telegram-bota-dlya-generacii-izobrazhenij-s-ispolzovaniem-docker-i-stable-diffusion/\"\u003e- Создание Телеграм-бота для генерации изображений с использованием Docker и Stable Diffusion\u003c/a\u003e\u003c/span\u003e \u003cbr\u003e\u003c/span\u003e\u003c/strong\u003e\u003c/div\u003e32:Tc6a,"])</script><script>self.__next_f.push([1,"Domain-Driven Design (DDD) — это не просто подход к проектированию архитектуры, а мощный инструмент для построения понятных, масштабируемых и бизнес-ориентированных приложений. На этом открытом уроке мы разберём, как использовать DDD на практике при проектировании реального приложения — от анализа предметной области до построения архитектуры, основанной на доменной модели.\r\n\r\nВместе мы пройдём путь от концепции к прототипу, определим границы контекстов, выберем подходящие шаблоны взаимодействия и рассмотрим распространённые ошибки, которых стоит избегать при внедрении DDD в командной разработке.\r\n\r\nЧто будет на уроке:\r\n\r\n- Что такое Domain-Driven Design и когда его стоит применять;\r\n- Определение предметной области и формирование Bounded Contexts;\r\n- Построение Ubiquitous Language вместе с командой;\r\n- Практическое разбиение приложения на доменные слои;\r\n- Проектирование интерфейсов и API на основе модели;\r\n- Ошибки внедрения DDD и как их избежать на старте;\r\n- Мини-практикум: пример проектирования по DDD на живом кейсе.\r\n\r\nДля кого этот вебинар:\r\n\r\n- Backend и FullStack разработчики, стремящиеся создавать архитектурно грамотные приложения;\r\n- Тимлиды и архитектора ПО, которым важно выстраивать техническое решение вокруг бизнес-целей;\r\n- Системные аналитики, вовлечённые в проектирование предметной области;\r\n- DevOps-инженеры, которым важно понимать логику разбиения систем при работе с микросервисами.\r\n\r\nПосле вебинара вы:\r\n\r\n- Поймёте, как применять DDD в реальной разработке;\r\n- Сможете грамотно делить систему на контексты и слои;\r\n- Начнёте использовать бизнес-язык в описании архитектуры;\r\n- Получите шаблоны и подходы, которые можно сразу внедрить в работу своей команды.\r\n\r\nDDD — это мост между разработкой и бизнесом. Научитесь строить архитектуру, которая говорит на языке продукта."])</script><script>self.__next_f.push([1,"33:T8a8,"])</script><script>self.__next_f.push([1,"На этом вебинаре мы разберём, как грамотно организовать включение исключений в программном коде, следуя принципам SOLID. Вы научитесь писать код, который не только легко поддерживается, но и который надежно обрабатывает ошибки, минимизируя их влияние на работу системы.\r\n\r\nЧто будет на вебинаре:\r\n\r\n- Как реализовать обработку исключений в соответствии с принципами SOLID\r\n- Как избежать распространения ошибок при обработке исключений\r\n- Как минимизировать подверженность программного кода изменениям\r\n\r\nКому будет полезен вебинар?\r\n\r\n- Разработчикам, стремящимся улучшить качество кода и обеспечить его гибкость и надежность.\r\n- Архитекторам программного обеспечения важно внедрить практику качественной обработки ошибок в крупных проектах.\r\n- Тимлидам и ведущим разработчикам уделяют внимание стабильности проектов и соблюдению лучших практик SOLID.\r\n- Фрилансерам, работающим над долгосрочными проектами и стремящимся к надежности систем и экономичности их поведения.\r\n\r\nЧто вы получите:\r\n\r\n• Вы получите четкое понимание обработки исключений в соответствии с принципами SOLID.\r\n• Узнаете, как правильно организовать обработку исключений для обеспечения стабильности и отказоустойчивости программного обеспечения."])</script><script>self.__next_f.push([1,"34:T80e,"])</script><script>self.__next_f.push([1,"Я работаю инженером-программистом в АО Диаконт.\r\nПошел на курс, т.к. в компании возникла потребность в данной компетенции. Необходимы были навыки по грамотному построению архитектуры приложения для стандартизации его разработки и дальнейшей поддержки.\r\nНаиболее всего мне понравился способ взаимодействия с преподавателями, подача материала. Преподаватели приятные и опытные люди, всегда отвечали на поставленный вопрос. В качестве примера была выбрана игра - танковая битва. И на основе неё нам показывали, как можно грамотно и просто реализовывать разные её аспекты. Благодаря этому все темы воспринимаются едино и без отрыва друг от друга, их проще закреплять.\r\n\r\nВ первую очередь, это обучение помогло себя чувствовать увереннее при разработке ПО. Мне стало проще обосновывать свои решения, разработка нового проекта стала проще и быстрее. Это сильно укрепило моё место на текущем рабочем месте и является отличным поводом для повышения.\r\n\r\nМне понравился данный курс. Благодаря ему я начал писать код заметно чище и понятнее. И полученные знания я смогу могу применять при использовании любого из языков программирования."])</script><script>self.__next_f.push([1,"35:Tb94,"])</script><script>self.__next_f.push([1,"На курс попал \"случайно\" - на обучении по C# одну из лекций вёл Евгений Тюменцев. Зацепили его рассуждения про архитектуру.\r\nЗаинтересовавшись философией, посмотрел сначала открытые лекции в ютубе, кажется, про солид и исключения и многопоточность, математику солид. А затем и открытые уроки на странице курса.\r\n\r\nВ итоге, данный курс прошел два раза. Скажу честно, можно было бы остановиться на первом. Но на второй раз пошел, чтобы глубже разобраться в матчасти предмета. И иметь возможность задавать вопросы и получать фидбек по ним.\r\n\r\nКурс действительно сложный, домашние задания объемные. \"Отбыть номер\" вряд ли получится. Но лично я убежден, что и вообще просто прослушать материалы мало, если не почти бесполезно) Надо реально много и много практиковаться, чтобы усвоить и понять всю прелесть подхода.\r\n\r\nХочу сказать большое спасибо Евгению Тюменцеву за его подачу материала и в целом, если можно так выразиться, философию, опирающуюся на математику.\r\nПодход, когда тебе говорят не просто догматически \"делай так по солиду, потому что так правильно\".\r\nА выводят и подводят из примеров, ПОЧЕМУ лучше делать так, а не как общепринято. Какие недостатки будут, если не применять тот или иной принцип? И что будет, если мы всё таки сделаем грамотно?\r\nИ главное - из этого будет предоставлено и объяснено, КАК решить такую проблему?\r\n\r\nИ отдельное спасибо за возможность получать фидбек на занятиях на все без исключения вопросы - от общефилософских до конкретных примеров с кодом. Это действительно дорогого стоит.\r\nКак я написал в чате на занятии, была бы возможность пойти на курс в третий раз - непременно бы ей воспользовался. Спасибо!"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"36:T931,"])</script><script>self.__next_f.push([1,"До обучения в компании Отус я работал и продолжаю работать программистом в банке.\r\nПрофильного образования не было - самоучка. В плане развития выбрал архитектурное проектирование и нужен был подходящий курс.\r\nПроходил немало онлайн курсов и все были не очень. От того, что Вы просмотрите онлайн курс где учат только чему равно 2+2, толку будет не очень много.\r\nНужен был курс с практикой и ее проверкой. Выбор пал на компанию Отус, спойлер - я всем остался более чем доволен ;)\r\n\r\nДо данного курса знания о паттернах проектирования были крайне поверхностные.\r\nПосле прохождения курса были изучены основные паттерны, принципы построения гибкой архитектуры, не требующей постоянной переработки.\r\nПреподаватели отличные, каждое занятие проходило до последнего вопроса. Даже спустя 2 часа лекции в вечернее время\r\nвсе преподаватели отвечали абсолютно на все вопросы студентов, плюс проверка домашек.\r\nКурс охватывает большой объем - паттерны, монолиты, микросервисы, брокеры сообщений, многопоточку, сильные/слабые места,\r\nкак правильно проектировать и т.д.\r\nНо есть небольшой перекос в объеме практики по паттернам - некоторые преподаются более чем подробно, другие поверхностно.\r\nТакже хотелось бы чуть больше практических занятий, не по всем темам они есть.\r\nКурс стоящий и рекомендую к изучению."])</script><script>self.__next_f.push([1,"37:Taa2,"])</script><script>self.__next_f.push([1,"Я Unity разработчик, работаю в компании, которая занимается созданием игр для мобильных устройств. Источник структурированной информации по архитектуре ПО я искала долго, и в итоге остановила свой выбор на курсе от OTUS - учебный план мне показался достаточно основательным и интересным.\r\nВ целом курс мне понравился и был очень полезен для моего профессионального развития. Евгений Тюменцев - отличный лектор, умеет увлечь слушателей и доходчиво объяснить материал. Изучение материалов курса помогло мне обрести достаточную степень уверенности при принятии архитектурных решений и понимание плюсов и возможных рисков этих решений.\r\nИз негативного опыта могу отметить, что из-за продолжительности лекций (а лекции проводятся, конечно же, в вечернее время) к концу занятия неизбежно падает концентрация, особенно после сложного рабочего дня, и материал во второй половине лекции усваивается тяжело. Также довольно долго осуществляется проверка домашних заданий (около недели) и ревью довольно краткие, ревьюверы тут не будут стремиться \"допинать\" вас до идеала. Также случались накладки с расписанием - несколько раз занятия переносились на 1-2 дня, но в итоге все занятия были проведены.\r\nКурс рекомендую, но только в том случае, если вы готовы сами активно учиться и разбираться, не ждите 100% готовых ответов на всё (их просто не существует), курс задаёт направление, а идти по нему должны вы сами. Домашних заданий на курсе много и на некоторые требуется достаточно большое количество времени."])</script><script>self.__next_f.push([1,"39:{\"start\":\"#FA6D41\",\"stop\":\"#C94C31\"}\n38:{\"gradient\":\"$39\",\"secondColor\":\"#FA6D41\",\"textIsBlack\":false}\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$L22\",null,{\"hideOverlayBanner\":true,\"withTopPadding\":false,\"theme\":{\"gradient\":{\"start\":\"#FA6D41\",\"stop\":\"#C94C31\"},\"secondColor\":\"#FA6D41\",\"textIsBlack\":false},\"children\":[\"$\",\"$L23\",null,{\"initialData\":{\"course\":{\"id\":134,\"slug\":\"patterns\",\"title\":\"Архитектура и шаблоны проектирования\",\"isSpecialization\":false,\"difficultyLevel\":\"Professional\",\"partnerLink\":null,\"partnerText\":\"\",\"partnerImageUrl\":null,\"partnerHeaderText\":null,\"partnerImageAlt\":\"логотип партнера\",\"category\":{\"title\":\"Архитектура\",\"slug\":\"architecture\"},\"scheduleGroup\":{\"id\":3734,\"title\":\"Main-patterns-2026-03\",\"startDate\":\"2026-03-30\",\"isShowFullDate\":true,\"isShowDays\":false,\"timeFullDays\":null,\"timeFullMonth\":4,\"weekdaysStr\":\"Пн/Ср 20:00 Мск\",\"finishDate\":\"2026-10-02\",\"priceFull\":{\"fullPrice\":108000,\"discount\":10800,\"discountCapped\":false},\"priceFullB2b\":{\"fullPrice\":140000,\"discount\":0,\"discountCapped\":false},\"discountValidDate\":\"2026-03-14T21:00:00+00:00\",\"isAssessmentEnabled\":true,\"isEnableRequest\":false,\"status\":\"ready\"},\"headerIconUrl\":\"https://cdn.otus.ru/media/public/7c/4e/7c4e1992785240ce9ce82abc69f143ba.svg\",\"headerIconInvtUrl\":\"https://cdn.otus.ru/media/public/3b/07/3b07c5416865465b85f247e841d3bf5f.svg\",\"employers\":[{\"id\":37,\"title\":\"Райффайзенбанк\",\"logoUrl\":\"https://cdn.otus.ru/media/public/98/0f/980f0b64294f4795b94c22b4360221c2.png\"},{\"id\":138,\"title\":\"NAUMEN\",\"logoUrl\":\"https://cdn.otus.ru/media/public/e5/5f/e55fb1a3c533414db9d1549e996cd54d.png\"},{\"id\":162,\"title\":\"Открытые технологии\",\"logoUrl\":\"https://cdn.otus.ru/media/public/61/69/616948e5809546328a74ea1fb0347823.png\"},{\"id\":70,\"title\":\"МТС\",\"logoUrl\":\"https://cdn.otus.ru/media/public/1b/33/1b33438b7e4e4570b5b5562fa99eb42d.png\"},{\"id\":177,\"title\":\"IT NOVATION\",\"logoUrl\":\"https://cdn.otus.ru/media/public/a3/72/a37244579b91430fbdf5219acad59615.png\"},{\"id\":72,\"title\":\"ЭКВИО\",\"logoUrl\":\"https://cdn.otus.ru/media/public/36/96/3696ae7b4117474db9d5a73673270db1.png\"},{\"id\":110,\"title\":\"Энергомера\",\"logoUrl\":\"https://cdn.otus.ru/media/public/51/94/51949262762c42faa09afff40c3dc22d.png\"},{\"id\":164,\"title\":\"Bercut\",\"logoUrl\":\"https://cdn.otus.ru/media/public/de/ce/deced1507dde42e68182937a0ea4c0a2.png\"}],\"gaGoalDodWithoutAssessment\":\"pattern_claim_event_ok\",\"yaGoalDodWithoutAssessment\":\"pattern_claim_event_ok\",\"isForChildren\":false,\"linkTg\":null,\"linkVk\":null},\"blocks\":[{\"desc\":\"\u003cp\u003eПрименяйте шаблоны проектирования и SOLID в разработке\u003c/p\u003e\",\"isSpecialPriceShow\":true,\"isCourseUpdateShow\":false,\"specialPriceText\":\"Скидка 10% на курс\",\"specialPriceHelpText\":\"Действует до 15.03.2026\",\"courseUpdateText\":\"Оплата в рассрочку\",\"courseUpdateHelpText\":\"Подробности уточняйте у менеджера\",\"id\":5497,\"type\":\"specialization_header\"},{\"desc\":\"$24\",\"visitCardLink\":null,\"visitCardPreviewUrl\":null,\"verticalBanner\":null,\"horizontalBanner\":null,\"id\":5498,\"type\":\"SPECIALIZATION_COURSE_PRESENTATION\"},{\"title\":\"Что вам даст этот курс?\",\"text\":\"$25\",\"sideText\":\"\u003ch2\u003eЛюбой язык программирования\u003c/h2\u003e\\n\u003cp\u003e\u003cspan style=\\\"font-weight: 400;\\\"\u003eКурс \u003cstrong\u003e\u003cem\u003eне привязан к конкретному языку программирования\u003c/em\u003e\u003c/strong\u003e. Вы сможете выполнять практические задания на комфортном для вас языке программирования.\u003c/span\u003e\u003cstrong\u003e \u003c/strong\u003e\u003c/p\u003e\",\"id\":5499,\"type\":\"SPECIALIZATION_COURSE_GOAL\"},{\"iconUrl\":null,\"title\":\"Процесс обучения\",\"text\":\"\u003cspan\u003eВсе обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в telegram курса, сдача домашних работ и получение обратной связи от преподавателя. Вебинары идут дважды в неделю по 2 академических часа (то есть астрономических 1,5 часа). Все вебинары сохраняются и в записи в вашем личном кабинете. Домашнее задание выдается в среднем раз в 2 недели, а его выполнение занимает 3-5 часов. Мы горячо призываем заниматься такой самостоятельной работой, так как это поможет вам качественно освоить все изучаемые технологии на практике с поддержкой и обратной связью наших преподавателей.\u003c/span\u003e\",\"id\":5500,\"type\":\"SPECIALIZATION_TEACHING_PROCESS\"},{\"columns\":[{\"imageUrl\":null,\"text\":\"\u003ch3\u003eРазработайте собственный проект\u003cstrong\u003e\u003cbr /\u003e\u003cbr /\u003e\u003c/strong\u003e\u003c/h3\u003e\\n\u003cp\u003eСможете внести сильный проект в портфолио\u003c/p\u003e\"},{\"imageUrl\":null,\"text\":\"\u003ch3\u003eАвторский курс\u003cbr /\u003e\u003cbr /\u003e\u003c/h3\u003e\\n\u003cp\u003eКурс составлен экспертом - Евгением Тюменцевым\u003c/p\u003e\"},{\"imageUrl\":null,\"text\":\"\u003ch3\u003eПреподаватели-практики\u003cbr /\u003e\u003cbr /\u003e\u003c/h3\u003e\\n\u003cp\u003eОпытные спикеры из разных сфер\u003c/p\u003e\"}],\"id\":5501,\"type\":\"textcolumns\"},{\"title\":\"Партнеры\",\"sliderTitle\":\"Работодатели курса\",\"desc\":\"\u003cp\u003eМногие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.\u003c/p\u003e\",\"advantages\":\"\u003cul\u003e\\n\u003cli\u003eРазместите свое резюме в базе OTUS: так наши партнёры смогут пригласить Вас на собеседование\u003c/li\u003e\\n\u003cli\u003eПосещайте карьерные мероприятия OTUS: Вам расскажут, как лучше проходить собеседование\u003c/li\u003e\\n\u003c/ul\u003e\",\"vacancyDesc\":{\"title\":\"Программист\",\"count\":20257,\"salaryJunior\":70000,\"salaryMiddle\":150000,\"salarySenior\":230000},\"id\":5502,\"type\":\"SPECIALIZATION_EMPLOYMENT\"},{\"header\":\"\u003ch5\u003eФормат обучения\u003c/h5\u003e\",\"columns\":[{\"text\":\"\u003ch3\u003eИнтерактивные вебинары\u003c/h3\u003e\\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\\n\u003cp\u003e2 онлайн-трансляции по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда\u003c/p\u003e\",\"imageUrl\":null},{\"text\":\"\u003ch3\u003eПрактика\u003c/h3\u003e\\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\\n\u003cp\u003eДомашние задания + проектная работа, для усиления вашего портфолио и компетенций\u003c/p\u003e\",\"imageUrl\":null},{\"text\":\"\u003ch3\u003eАктивное комьюнити\u003cbr /\u003e\u003cbr /\u003e\u003c/h3\u003e\\n\u003cspan\u003eОбщайтесь с преподавателями голосом на вебинарах, в закрытом чате Telegram и при проверке домашних заданий\u003c/span\u003e\",\"imageUrl\":null}],\"id\":5503,\"type\":\"SPECIALIZATION_EDUCATION_FORMAT\"},{\"id\":5504,\"type\":\"program\",\"program\":{\"data\":{\"id\":3498,\"title\":\"Main-patterns-2026-03\",\"duration\":140,\"modules\":[{\"id\":21095,\"number\":1,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Проблема сложности и способы ее решения. Сложность тестирования\",\"description\":\"Рассматриваются различные проблемы сложности. Одной из таких проблем является нелинейное замедление скорости разработки проекта по мере увеличения его размера (см. Брукс «Мифический человек-месяц»). \\nРассказывается о различных типах архитектур, парадигмах программирования.\\nРазберем методы построения исчерпывающего набора тестов, практику TDD.\",\"type\":\"common\",\"lessons\":[{\"id\":123192,\"likeDown\":0,\"likeUp\":0,\"description\":\"дать определение архитектуры, которое будем использовать в рамках курса;\\nобъяснить задачи архитектуры;\\nобъяснить причины сложности принятия проектных решений.\",\"title\":\"Понятие и задачи архитектуры решений\",\"summary\":\"определение архитектуры;\\nатрибуты качества;\\nдилемма заключенного;\\nспособы борьбы с неопределенностью.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123189,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить влияние проблем сложности на архитектуру, чтобы иметь объективный инструмент оценки архитектурных решений;\\nперечислить самые распространенные проблемы сложности, чтобы иметь возможность учитывать их при построении архитектуры приложения.\",\"title\":\"Проблема сложности, ее разновидности и их связь с архитектурой ПО\",\"summary\":\"проблема сложности и ее влияние на архитектуру ПО;\\nвиды сложности: алгоритмическая сложность, скорость разработки ПО, сложность тестирования, информационная сложность, Time To Market и др.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123190,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить процесс создания программной архитектуры;\\nвыделить набор полезных артефактов.\\n\",\"title\":\"Жизненный цикл архитектуры ПО и полезные артефакты\",\"summary\":\"жизненный цикл архитектуры;\\nADR;\\nдиаграмма последовательности;\\nC4-модель.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123191,\"likeDown\":0,\"likeUp\":0,\"description\":\"писать модульные тесты.\",\"title\":\"Модульные тесты // ДЗ\",\"summary\":\"история возникновения идеи модульных тестов;\\nопределение множества исчерпывающих тестов;\\nTDD.\",\"likeUser\":null,\"homeworks\":[{\"id\":46870,\"title\":\"Разработка модульных тестов\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"писать модульные тесты по TDD, так как модульные тесты являются важной частью концепции Time To Market и часто применяются в современных проектах.\\n\",\"likeUser\":null,\"description\":\"$26\"}]}]},{\"id\":21100,\"number\":2,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Скорость разработки ПО.\",\"description\":\"Разберем факторы, влияющие на скорость разработки программного обеспечения. Изучим достаточное условие постоянной скорости разработки. Научимся строить абстракции, устойчивые к изменениям требований.\",\"type\":\"common\",\"lessons\":[{\"id\":123223,\"likeDown\":0,\"likeUp\":0,\"description\":\"уточнить смысл базовых концепций программирования: абстрагирование, полиморфизм, инкапсуляция, типизация. Особенности этих понятий в разных парадигмах программирования. Задача моделирования предметной области.\",\"title\":\"Базовые концепции ООП\",\"summary\":\"представление объекта в памяти; \\nабстрагирование;\\nинкапсуляция;\\nполиморфизм;\\nтипизация;\\n4D моделирование.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123213,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить роль обобщения при построении абстрагирований в 4D, чтобы уметь строить повторно используемые абстракции;\\nописывать абстракции, устойчивые к изменениям, чтобы писать код, соответствующий принципу OCP.\",\"title\":\"Схема применения SOLID-принципов\",\"summary\":\"использование принципов SOLID для написания кода, устойчивого к изменениям;\\nthe Open-Closed Principle;\\nthe Single Responsibility Principle;\\nthe Dependency Inversion Principle.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123214,\"likeDown\":0,\"likeUp\":0,\"description\":\"вносить исправления в абстракции, чтобы повысить их устойчивость к изменениям.\",\"title\":\"Определение абстракций, устойчивых к изменениям требований // ДЗ\",\"summary\":\"использование принципов SOLID для написания кода, устойчивого к изменениям;\\nthe Liskov Substitution Principle;\\nthe Interface Segregation Principle.\",\"likeUser\":null,\"homeworks\":[{\"id\":46879,\"title\":\"Движение игровых объектов по полю\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"применить SOLID-принципы на примере игры \\\"Космическая битва\\\";\\nреализовать управление движением игровых объектов при помощи кода, устойчивого к появлению новых игровых объектов и дополнительных ограничений, накладываемых на это движение.\",\"likeUser\":null,\"description\":\"В далекой звездной системе встретились две флотилии космических кораблей. Корабли могут передвигаться по всему пространству звездной системы по прямой, поворачиваться против и по часовой стрелке, стрелять фотонными торпедами. Попадание фотонной торпеды в корабль выводит его из строя.\\nОт каждой флотилии в сражении принимают участие по три космических корабля. \\nПобеду в битве одерживает та флотилия, которая первой выведет из строя все корабли соперника.\\n\\nУправление флотилиями осуществляется игрокам компьютерными программами (то есть не с клавиатуры).\\n\\nКонцептуально игра состоит из трех подсистем:\\n1. Игровой сервер, где реализуется вся игровая логика.\\n2. Player - консольное приложение, на котором отображается конкретная битва.\\n3. Агент - приложение, которое запускает программу управления кораблями от имени игрока и отправляет управляющие команды на игровой сервер. \\n\\n\\nРеализовать движение объектов на игровом поле в рамках подсистемы Игровой сервер.\"}]},{\"id\":123215,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть особенности обработки исключений с точки зрения SOLID-принципов.\",\"title\":\"SOLID и исключения // ДЗ\",\"summary\":\"какие исключения и где их стоит обрабатывать;\\nстратегии обработки исключений.\",\"likeUser\":null,\"homeworks\":[{\"id\":46880,\"title\":\"Механизм обработки исключений в игре \\\"Космическая битва\\\"\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"реализовать механизм управления исключениями в очереди команд;\\nписать различные стратегии обработки исключений так, чтобы избежать модификации соответствующего блока try-catсh при возникновении потребности в обработке исключительной ситуации по-новому.\",\"likeUser\":null,\"description\":\"$27\"}]},{\"id\":123221,\"likeDown\":0,\"likeUp\":0,\"description\":\"применять шаблон;\\nпостроить процесс выполнения задачи с использованием шаблона «Команда». \",\"title\":\"Команда // ДЗ\",\"summary\":\"зависимость результата командной работы от слаженности работы каждого;\\nкоманда, выполняющая некоторые действия, и команда как часть бизнес-процесса, определяющего последовательность выполнения действий;\\nинтерфейс: какие операции у него будут.\",\"likeUser\":null,\"homeworks\":[{\"id\":46883,\"title\":\"Макрокоманды\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"обрабатывать ситуации с точки зрения SOLID в случаях, когда требуется уточнить существующее поведение без модификации существующего кода.\",\"likeUser\":null,\"description\":\"$28\"}]},{\"id\":123216,\"likeDown\":0,\"likeUp\":0,\"description\":\"видеть недостатки кода;\\nкорректировать код, превращая его в корректный и удобный.\",\"title\":\"Чистый код и рефакторинг\",\"summary\":\"понятия «чистого кода»;\\nкорректное представление;\\nобработка ошибок, тестирование;\\n«воняющий» код;\\nреализация принципа единственной ответственности;\\nмодели выполнения (производители-потребители, читатели-писатели, обедающие философы);\\nкорректное завершение;\\nпонятие рефакторинга, принципы;\\nтестирование.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123220,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать и научиться применять шаблон.\",\"title\":\"Расширяемая фабрика и IoC // ДЗ\",\"summary\":\"проблемы сильносвязанных структур;\\nот конкретной реализации к интерфейсам;\\nинкапсуляция создания объектов;\\nшаблон «Фабричный метод»;\\nот Фабрики к абстракциям, «Абстрактная фабрика»;\\nразбор примера.\",\"likeUser\":null,\"homeworks\":[{\"id\":46882,\"title\":\"Реализация IoC-контейнера\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"реализовать собственный IoC-контейнер, устойчивый к изменению требований.\",\"likeUser\":null,\"description\":\"$29\"}]},{\"id\":123219,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться писать различные стратегии разрешения зависимостей.\",\"title\":\"Стратегии разрешения зависимостей IoC\",\"summary\":\"смысл «Одиночки»;\\nплюсы, минусы;\\nчто делать с синглтоном в многопоточных приложениях;\\nкак создать синглтон; \\nкак проверить, что он действительно один.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123218,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать и научиться применять шаблоны «адаптер» и «мост».\",\"title\":\"Адаптер и мост // ДЗ\",\"summary\":\"две команды: одна проектирует приложение со своим интерфейсом (например, передача данных по сокетному соединению), другая проектирует своё приложение, которое должно отправлять сообщение в другую систему.\",\"likeUser\":null,\"homeworks\":[{\"id\":46881,\"title\":\"Генерация адаптеров по интерфейсу\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"генерировать адаптеры для интерфейсов, полученных при применении принципа DIP;\\nприменять метапрограммирование для решения рутинных задач. \",\"likeUser\":null,\"description\":\"$2a\"}]},{\"id\":123217,\"likeDown\":0,\"likeUp\":0,\"description\":\"изучить стратегические и тактические шаблоны DDD, связь SOLID и DDD;\\nприменять Event Storming.\",\"title\":\"DDD\",\"summary\":\"проектирование по модели;\\nединый язык;\\nограниченный контекст;\\nсущность;\\nслужба;\\nагрегат;\\nфабрика;\\nхранилище;\\nмодуль;\\nдоменное событие;\\nобъект-значение;\\nEvent Storming.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123224,\"likeDown\":0,\"likeUp\":0,\"description\":\"знать примеры применения SOLID.\",\"title\":\"Применение SOLID в промышленных фреймворках\",\"summary\":\"MVC веб-фреймворки;\\nMock-объекты;\\nконфигурации;\\nGraphQL;\\nEvent-Streaming;\\nKSQL.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123222,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы;\\nразобраться в сложностях.\",\"title\":\"QA-сессия\",\"summary\":\"вопросы и ответы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21096,\"number\":3,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Масштабирование\",\"description\":\"Рассматривается проблема синхронизации и вопросы разработки многопоточных приложений.\",\"type\":\"common\",\"lessons\":[{\"id\":123193,\"likeDown\":0,\"likeUp\":0,\"description\":\"показать основные архитектурные решения для приложений, использующих несколько потоков.\",\"title\":\"Проблема вертикального масштабирования и синхронизация // ДЗ\",\"summary\":\"«бесплатного супа больше не будет»;\\nограничение «традиционной» модели вычислений;\\nакторная модель;\\nбез инверсии зависимостей.\",\"likeUser\":null,\"homeworks\":[{\"id\":46871,\"title\":\"Многопоточное выполнение команд\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"разработать многопоточную систему выполнения команд на примере игры \\\"Космический бой\\\";\\nорганизовать выполнение множества команд в несколько потоков при помощи кода, устойчивого к появлению новых видов команд и дополнительных ограничений, накладываемых на них.\",\"likeUser\":null,\"description\":\"$2b\"}]},{\"id\":123196,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить, как работать с интеграцией программного обеспечения и какие существуют подходы.\",\"title\":\"Интеграция программного обеспечения\",\"summary\":\"интеграция данных, интеграция приложений;\\nфакторы, влияющие на принятие решений по интеграции.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123195,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть архитектурные концепции построения систем обмена сообщениями.\",\"title\":\"Системы обмена сообщениями // ДЗ\",\"summary\":\"стили интеграции (File Transfer, RPI, Shared Database, Messaging);\\nосновные концепции обмена сообщениями;\\nканалы, сообщение, маршрутизация, трансляция, конечная точка.\",\"likeUser\":null,\"homeworks\":[{\"id\":46872,\"title\":\"Endpoint для приема входящих сообщений\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"применить навыки построения архитектуры, основанной на системе обмена сообщениями;\\nнаписать Endpoint для приема входящих сообщений Игровым сервером.\",\"likeUser\":null,\"description\":\"$2c\"}]},{\"id\":123194,\"likeDown\":0,\"likeUp\":0,\"description\":\"знать, как строить сервер приложений, построенный на системе обмена сообщениями.\",\"title\":\"Построение архитектуры приложения, построенного на системе обмена сообщениями\",\"summary\":\"основные проблемы;\\nспособы синхронизации.\\n\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123197,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы по ДЗ.\",\"title\":\"Q\u0026A сессия по разбору домашних заданий\",\"summary\":\"типичные ошибки при выполнении ДЗ; \\nнаставники ответят на ваши вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21097,\"number\":4,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Time To Market\",\"description\":\"Разберем, что такое архитектура. Отдельно рассмотрим тему микросервисной архитектуры.\",\"type\":\"common\",\"lessons\":[{\"id\":123198,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить различные подходы к разработке ПО, их особенности и ограничения.\",\"title\":\"Методологии разработки ПО\",\"summary\":\"модели жизненного цикла и методологии разработки ПО.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123200,\"likeDown\":0,\"likeUp\":0,\"description\":\"познакомиться с паттернами декомпозиции системы на микросервисы.\",\"title\":\"Создание микросервиса // ДЗ\",\"summary\":\"технический подход и бизнес-подход к декомпозиции.\",\"likeUser\":null,\"homeworks\":[{\"id\":46874,\"title\":\"Микросервисная архитектура игры\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"разбить Игру Космический бой на набор взаимодействующих между собой микросервисов и приложений;\\nпредставить в виде одной или нескольких диаграмм архитектуру приложения для игры Космический бой.\",\"likeUser\":null,\"description\":\"$2d\"}]},{\"id\":123201,\"likeDown\":0,\"likeUp\":0,\"description\":\"организовывать развертывание инфраструктуры сервисов (знать способы размещения сервисов, регистрацию сервисов);\\nподдерживать инфраструктуру сервисов (service discovery, observability, service mesh).\",\"title\":\"DevOps\",\"summary\":\"понятие DevOps и зачем нужна эта методология (поставка ПО, CI/CD);\\nинфраструктура сервисов (основные функции инфраструктуры, управление сервисами);\\nService Discovery (client-side, server-side);\\nObservability (logs, metrics, distributed tracing); \\nвстраивание сервисов в MSA (microservices chassi, service mesh).\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123199,\"likeDown\":0,\"likeUp\":0,\"description\":\"рассмотреть описание, характерные свойства и характеристики;\\nоценить порядок перехода от «монолита».\",\"title\":\"Микросервисная архитектура // ДЗ\",\"summary\":\"понятие микросервисной архитектуры;\\nсвойства и характеристики.\",\"likeUser\":null,\"homeworks\":[{\"id\":46873,\"title\":\"Микросервис Авторизация пользователя\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"применить навыки разработки микросервиса;\\nреализовать выдачу и проверку jwt-токенов для управления доступом пользователей к игровым боям.\",\"likeUser\":null,\"description\":\"$2e\"}]}]},{\"id\":21098,\"number\":5,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Шаблоны проектирования\",\"description\":\"В данном модуле более подробно рассмотрим шаблоны проектирования.\",\"type\":\"common\",\"lessons\":[{\"id\":123206,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить, как инкапсулировать этот процесс;\\nпроанализировать один общий интерфейс для перебора, множество реализаций;\\nобъяснить, как работает итератор;\\nрассмотреть на примере.\",\"title\":\"Итератор\",\"summary\":\"коллекция как сложно упорядоченный набор данных;\\nсвязи могут быть сложными.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттерну «Итератор» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123205,\"likeDown\":0,\"likeUp\":0,\"description\":\"объяснить, что состояние не так однозначно, как кажется;\\nрассмотреть диаграмму состояний и переходов;\\nрассмотреть конечные автоматы;\\nобъяснить простую прямую реализацию;\\nпровести расширение функциональности;\\nперейти от простой реализации объектов к интерфейсам.\",\"title\":\"Состояние // ДЗ\",\"summary\":\"локализация поведения каждого состояния в отдельных классах;\\nинкапсуляция состояний;\\nопределение шаблона «Состояние» как результат анализа примера.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттерну «Состояние» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[{\"id\":46875,\"title\":\"Смена режимов обработки команд\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"применить паттерн Состояние для изменения поведения обработчиков Команд.\",\"likeUser\":null,\"description\":\"$2f\"}]},{\"id\":123207,\"likeDown\":0,\"likeUp\":0,\"description\":\"изучить шаблон и научиться его применять.\",\"title\":\"Цепочка обязанностей // ДЗ\",\"summary\":\"сопоставление множества типов сообщений и множества обработчиков этих сообщений;\\nпревращение элементов поведения в объекты;\\nпример: формирование диаграммы классов.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттерну «Цепочка обязанностей» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[{\"id\":46876,\"title\":\"Реализация проверки коллизий игровых объектов\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"научиться применять цепочку обязанности.\",\"likeUser\":null,\"description\":\"$30\"}]},{\"id\":123202,\"likeDown\":0,\"likeUp\":0,\"description\":\"научиться делегировать;\\nнаучиться давать команду, чтобы «Заместитель» (Proxy) выполнил задачу.\",\"title\":\"Заместитель\",\"summary\":\"работа двух объектов: клиента и сервера;\\nобсуждение причин необходимости перехвата доступа и взятия его под контроль;\\nразличные виды заместителя (удалённый, виртуальный, замещающий, кеширующий, синхронизирующий...);\\nрассмотрение преимуществ и недостатков на конкретном примере.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттерну «Заместитель» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123203,\"likeDown\":0,\"likeUp\":0,\"description\":\"узнать и научиться применять шаблоны «декоратор» и «посетитель».\",\"title\":\"Декоратор и Посетитель\",\"summary\":\"основной принцип - добавление функциональности к существующему объекту, возможно, с учётом очередности действий;\\nреализация «декоратора»;\\nреализация паттерна для UI-виджетов;\\nметоды расширения;\\nрасширение функциональности существующих библиотек на языке Java;\\nреализация «посетителя»: обработка иерархических структур данных, плюсы и минусы паттерна, реализация;\\nгенератор html документа.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттернам «Декоратор» и «Посетитель» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123204,\"likeDown\":0,\"likeUp\":0,\"description\":\"определять ключевые шаги бизнес-процессов и их вариации;\\nразрабатывать временные диаграммы для контроля процесса;\\nприменять методы-перехватчики для управления выполнением процесса;\\nдекомпозировать процессы на абстрактные общие шаги.\",\"title\":\"Шаблонный метод\",\"summary\":\"примеры использования;\\nприменение на практическом примере.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттерну «Шаблонный метод» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123208,\"likeDown\":0,\"likeUp\":0,\"description\":\"изучить шаблон и научиться его применять.\",\"title\":\"Интерпретатор // ДЗ\",\"summary\":\"назначение, структура;\\nформы Бекуса-Науэра;\\nдиаграммы Вирта;\\nлексический, синтаксический и семантический анализы.\\n\\nПеред занятием рекомендуем ознакомиться с базовой теорией по паттерну «Интерпретатор» (например, в книгах «Head First. Паттерны проектирования» или «Паттерны объектно-ориентированного проектирования» из списка рекомендованной литературы), так как в занятии рассматривается практическое применение паттерна.\",\"likeUser\":null,\"homeworks\":[{\"id\":46877,\"title\":\"Разработать систему команд для космических кораблей\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"научиться применять интерпретатор;\\nреализовать обработку приказов для космических кораблей.\",\"likeUser\":null,\"description\":\"Предположим, что приказ имеет следующий вид:\\n```\\n{\\n \\\"ID\\\": \\\"ID объекта, которому адресован приказ\\\",\\n \\\"action\\\": \\\"действие, которое необходимо выполнить\\\",\\n // какие-то специфичные параметры для данного приказа\\n}\\n```\\n\u003cbr/\u003eНапример, вот так может выглядеть приказ кораблю с id \\\"548\\\" начать двигаться по прямой со скоростью 2.\\n```\\n{\\n \\\"id\\\": \\\"548\\\",\\n \\\"action\\\": \\\"StartMove\\\",\\n \\\"initialVelocity\\\": 2\\n}\\n```\\n\u003cbr/\u003eПриказы будем представлять также, как и игровые объекты, с помощью интерфейса UObject\\n\\n\u003cbr/\u003eНеобходимо реализовать:\\n1. Команду, которая получает на вход приказ и с помощью IoC выполняет необходимое действие.\\n2. Необходимо запретить одному игроку отдавать приказы другому игроку.\"}]},{\"id\":123209,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы по ДЗ.\",\"title\":\"Q\u0026A сессия по разбору домашних заданий\",\"summary\":\"типичные ошибки при выполнении ДЗ; \\nнаставники ответят на ваши вопросы.\",\"likeUser\":null,\"homeworks\":[]}]},{\"id\":21099,\"number\":6,\"likeDown\":0,\"likeUp\":0,\"likeUser\":null,\"title\":\"Проектная работа\",\"description\":\"Практическая часть, которая подытоживает полученные знания в самостоятельной работе. Результатом станет создание «с нуля» собственного приложения.\",\"type\":\"project\",\"lessons\":[{\"id\":123210,\"likeDown\":0,\"likeUp\":0,\"description\":\"определиться с финальной архитектурой проекта;\\nвыбрать и обсудить тему проектной работы;\\nспланировать работу над проектом;\\nознакомиться с регламентом работы над проектом. \",\"title\":\"Вводное занятие по проектной работе\",\"summary\":\"правила работы над проектом и специфика проведения итоговой защиты;\\nтребования к результату проекта и итоговой документации.\",\"likeUser\":null,\"homeworks\":[{\"id\":46878,\"title\":\"Обсуждаем вопросы проектирования, корректируем принятые решения\",\"likeUp\":0,\"likeDown\":0,\"goal\":\"выбрать темы; \\nзакрепить тему в чат с преподавателем.\",\"likeUser\":null,\"description\":\"1. выбрать стиль архитектуры;\\n2. описать бизнес-процессы;\\n3. отрисовать функциональные процессы;\\n4. копонентная схема;\\n5. информационная схема;\\n6. используемые шаблоны;\\n7. описание интеграций.\\n\\n\u003cbr/\u003eпроект должен содержать: виртуальную машину, где развёрнут проект (при необходимости);\\n\u003cbr/\u003eдокументация: описание бизнес-процессов, отрисованные, функциональные процессы, копонентная схема, информационная схема, описание интеграций;\\n\u003cbr/\u003eдоклад (15 минут).\"}]},{\"id\":123211,\"likeDown\":0,\"likeUp\":0,\"description\":\"получить ответы на вопросы по проекту, ДЗ и по курсу.\",\"title\":\"Консультация по проектам и домашним заданиям\",\"summary\":\"вопросы по улучшению и оптимизации работы над проектом;\\nзатруднения при выполнении ДЗ;\\nвопросы по программе.\",\"likeUser\":null,\"homeworks\":[]},{\"id\":123212,\"likeDown\":0,\"likeUp\":0,\"description\":\"защитить проект и получить рекомендации экспертов.\",\"title\":\"Защита проектных работ\",\"summary\":\"презентация проектов перед комиссией;\\nвопросы и комментарии по проектам.\",\"likeUser\":null,\"homeworks\":[]}]}]},\"error\":null}},{\"text\":\"$31\",\"imageUrl\":null,\"id\":5506,\"type\":\"SPECIALIZATION_PROJECT_WORK\"},{\"id\":5507,\"type\":\"teachers\",\"teachers\":[{\"id\":1090,\"fullName\":\"Евгений Тюменцев\",\"company\":null,\"companyRole\":null,\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\",\"description\":\"Директор компании по разработке программного обеспечения. 20 лет преподаю компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП. Технологии программирования.\\r\\nВ прошлом занимался профессионально разработкой многопоточных кросс-платформенных приложений на С++. Код, написанный 14 лет назад, до сих пор работает в составе IBM Watson.\\r\\nОдин из результатов - успешная разработка технически сложного коммерческого проекта командой из 7 студентов.\",\"years\":7,\"lessonsCount\":745,\"studentsCount\":4752,\"courses\":[\"Microservice Architecture\",\"Архитектура и шаблоны проектирования\",\"Software Architect\",\"C# Developer. Professional\",\"C# Developer. Basic\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"superteacher\"},{\"id\":2293,\"fullName\":\"Евгений Непомнящий\",\"company\":\"IT Sense\",\"companyRole\":\"Разработчик\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\",\"description\":\"Евгений Непомнящий\\r\\nРазработчик \\r\\nIT Sense\\r\\n\\r\\nВ отрасли с 2006 года. Долгое время занимался разработкой под микроконтроллеры на С++, последние 6 лет на Java / Kotlin.\\r\\nВыполнял ряд проектов на Kafka в Мвидео. \\r\\n\\r\\nОбразование: \\r\\nНовгородский государственый университет им. Ярослава Мудрого\\r\\n\\r\\nOtus Certified Educator \\r\\n\\r\\nOracle Certified Professional\",\"years\":6,\"lessonsCount\":689,\"studentsCount\":5428,\"courses\":[\"Microservice Architecture\",\"Архитектура и шаблоны проектирования\",\"Software Architect\",\"Apache Kafka\",\"Java Developer. Professional\",\"NoSQL\",\"Kotlin Backend Developer. Professional\",\"Kotlin Developer. Basic\",\"Автоматизатор тестирования на Kotlin\",\"Проектирование API\",\"Микросервисная архитектура для Альфа-Банк\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":2919,\"fullName\":\"Андрей Поляков\",\"company\":\"Unlimint\",\"companyRole\":\"Старший разработчик\",\"photoUrl\":\"https://cdn.otus.ru/media/public/eb/92/eb92a673d56b4a23919ff6af2ff45fb9.png\",\"description\":\"В отрасли бэкенд-разработки на Java более 6 лет. Занимался fullstack-разработкой приложений, разработкой высоконагруженных compute-grid систем, а также микросервисов и etl-пайплайнов. Сейчас в роли старшего разработчика работаю над сервисами платежных систем в Unlimint.\\r\\n\\r\\nЕсть опыт работы с сервисами Hadoop (HDFS, HBase), оркестраторами (Airflow, Spring Cloud Data Flow), MPP-базами (Cassandra, Greenplum, Clickhouse).\\r\\n\\r\\nИнтересы: BigData, Blockchain, NFT\\r\\n\\r\\nОбразование: Master Degree in Computer Science and IT, ЮУрГУ, факультет ВШЭКН.\",\"years\":5,\"lessonsCount\":625,\"studentsCount\":3929,\"courses\":[\"Highload Architect\",\"Архитектура и шаблоны проектирования\",\"Cloud Solution Architecture\",\"Data Engineer\",\"Data Warehouse Analyst\",\"ClickHouse для инженеров и архитекторов БД\",\"GA-Highload Architect\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"},{\"id\":3988,\"fullName\":\"Иван Шарун\",\"company\":null,\"companyRole\":\"Преподаватель\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\",\"description\":\"Старший преподаватель, аспирант кафедры прикладной математики и фундаментальной информатики, ОмГТУ. \\r\\n\\r\\nБолее 5 лет преподаю в ВУЗе: глубокое обучение, ООП, анализ данных, python.\\r\\n\\r\\nПишу диссертацию по методам оптимизации в глубоких нейронных сетях. \\r\\n\\r\\nЗа 8+ лет опыта в IT успел позаниматься embedded разработкой на C и desktop на C++ в НИИ приборостроения, back-end разработкой в стартапах, исследованием и разработкой системы анализа данных для Advanced driver-assistance systems в Intel.\",\"years\":3,\"lessonsCount\":112,\"studentsCount\":579,\"courses\":[\"Архитектура и шаблоны проектирования\"],\"shortDescription\":\"$undefined\",\"directions\":\"$undefined\",\"yearDevelopment\":\"$undefined\",\"scheduleGroupRole\":\"teacher\"}]},{\"desc\":\"\u003cp\u003eОткрытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.\u003c/p\u003e\",\"header\":\"\u003ch2\u003eБлижайшие мероприятия\u003c/h2\u003e\",\"id\":5509,\"type\":\"SPECIALIZATION_FUTURE_WEBINARS\",\"events\":[{\"date\":\"2026-03-12T17:00:00+00:00\",\"eventCourseId\":134,\"eventDesc\":\"$32\",\"eventId\":6872,\"eventSlug\":\"pattern-lesson-12-03-2026\",\"eventTitle\":\"Практикум проектирования приложения с помощью DDD\",\"eventType\":\"open_lesson\",\"id\":6948,\"isRequireAssessment\":false,\"registrationEnded\":false,\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"id\":1090,\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\",\"work\":null}},{\"date\":\"2026-03-24T17:00:00+00:00\",\"eventCourseId\":134,\"eventDesc\":\"$33\",\"eventId\":6873,\"eventSlug\":\"pattern-lesson-24-03-2026\",\"eventTitle\":\"Обработка исключений и SOLID\",\"eventType\":\"open_lesson\",\"id\":6949,\"isRequireAssessment\":false,\"registrationEnded\":false,\"teacher\":{\"fullName\":\"Иван Шарун\",\"id\":3988,\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\",\"work\":null}}]},{\"desc\":null,\"header\":\"\u003ch2\u003eПрошедшие мероприятия\u003c/h2\u003e\",\"id\":5510,\"type\":\"SPECIALIZATION_PAST_WEBINARS\",\"events\":[{\"id\":6947,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-40.userapi.com/impg/hbxN5-2-ieBC3FUnWQ76SMaJcE0EgbFRXhFgRQ/Fs1YkECBczM.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=bbfaf316fa02468c142bcc2f102c84a8\u0026c_uniq_tag=0IjYtr_OsqOyEDd4YijtZMtGkB2ZMk75e8Lf0UID4eQ\u0026type=video_thumb\",\"eventTitle\":\"Создание микросервиса\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456250456\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":6590,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-76.userapi.com/impg/oNf06gdjKcKtH5aPAQ3MgY5NnXtge9RVxCOppw/_h9UoEqIJ5I.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=86b44751eb06d1b955551587e4714950\u0026c_uniq_tag=Q5G02e7nq-a_yXHLLzcj91_Sx4VyZoSE6YfWzZ5QHgY\u0026type=video_thumb\",\"eventTitle\":\"Объектная модель без боли: как превратить хаос требований в стройную архитектуру\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456250097\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":6589,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-16.userapi.com/impg/ehEFwus7q2fwax2qcVcFUOkrV-3YQ70ai6cD0w/WGRoZKYllwE.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=2a7f35a81f6634c09f2c8490ddfc5813\u0026c_uniq_tag=aMlOhqAydRBOMq13JWjX7lIHDAS8dnBSfslE8VmTyFQ\u0026type=video_thumb\",\"eventTitle\":\"Шаблон проектирования \\\"Заместитель\\\" (Proxy)\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249952\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":6145,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-48.userapi.com/impg/eyyWDiQIcVRRSlKD2WFCcHQKZCUfOMgglbuv5A/WrT7SOTMTDU.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=1ecac5a7792d13244f77a5fef3e827b2\u0026c_uniq_tag=IW7BIz9cBVJG5yYYKOSQeFLZoPZcHh5Ku3ztFARKDks\u0026type=video_thumb\",\"eventTitle\":\"Практическое руководство по применению SOLID принципов\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249259\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":6136,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-49.userapi.com/impg/ZU-uCIk3-JBWfBaBfrBk3CtI2w_E8Ri2vbbLog/yoLQ1IADsUg.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=d31f8a72cbd79454fb14696ee0a85154\u0026c_uniq_tag=tjX0Dj5C-kqsZDRdqM22j-Q9-Q_mQpsrP2tKMsZZJa0\u0026type=video_thumb\",\"eventTitle\":\"Архитектура сборщиков мусора: как найти компромисс между скоростью, памятью и паузами\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249170\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":6137,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-45.userapi.com/impg/q3idagYwPFW_CYMxFoS1NrvxbW9uhjpsze9nig/e0RcICzOl-I.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=20d4a25409d626efe570dd9626778f58\u0026c_uniq_tag=5rexVoZfXJcdAnbPe7I8a390cMNg62uXm7cPT2jb6JY\u0026type=video_thumb\",\"eventTitle\":\"Системы обмена сообщениями: RabbitMQ и Kafka\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456249085\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":5795,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-44.userapi.com/impg/22Cg_ofBbVV87fsUE3qlpdPEJevXOUeMzEPOOA/yVICJM3TQj8.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=ff84cce006a3057cb9e3c7e1d1f9c86a\u0026c_uniq_tag=2d7QikjUjeeD4cA5nFxygh7twbsxKJ2Vve1ENbA-zUc\u0026type=video_thumb\",\"eventTitle\":\"Создание микросервиса\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456248593\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":5794,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-77.userapi.com/impg/nljpJX5o2QttHObLMI_3ltfIQJRNFPxgGDp6LQ/veeCWXNU-y8.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=3cadeb80b7efc97284152b33f2ce216d\u0026c_uniq_tag=adoxhoXP-2Khh8l_-Dl8VMpLnEmdJsaUWQoekEr1-bY\u0026type=video_thumb\",\"eventTitle\":\"Практикум проектирования приложения с помощью DDD\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456248526\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":5396,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-34.userapi.com/impg/YPlm4He2iP1-x-0pGaW3yD_f3semoZEPjpQxaA/ULEcVoL6iio.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=1d81b1023c5fd54d67a8ef23c701cf86\u0026c_uniq_tag=vuBw0_1WfT6_MmgoxgO90WE8-D0qc9_tS8VoQU1hNQU\u0026type=video_thumb\",\"eventTitle\":\"Шаблон проектирования \\\"Заместитель\\\" (Proxy)\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456248060\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":5395,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-69.userapi.com/impg/bK9Rra5K401X5lhCk75jluZFncCvplV_GBjEeQ/J0kjYfBBo0w.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=a82615aa908543a2a5e37c7f611461b7\u0026c_uniq_tag=dSj4bUJY77p6nSljkp55eJpR20ptyile-NSgPn5nWqE\u0026type=video_thumb\",\"eventTitle\":\"Системы обмена сообщениями: RabbitMQ и Kafka\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456247961\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":5394,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-74.userapi.com/impg/QSVEO6oJOmKUN-6srqGzC538Y63k62fbo14ftQ/EVBsggCeoys.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=b8f5aaaa414d2adc4aa5f5780271e1a7\u0026c_uniq_tag=FZgQV4SBLWip3_X-NdO3MDQZWtsNQF4JNNpc4qFZQV8\u0026type=video_thumb\",\"eventTitle\":\"Проектирование сервиса умных ссылок: как обеспечить модифицируемость и гибкость структуры\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456247936\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":5117,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-12.userapi.com/impg/AurT56pkQWo9hBiDqStseRq6kM17i1E6asOYtw/Ey_UkjUtTlI.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=04b891b143ee8f81c4346ded292c2af1\u0026c_uniq_tag=qES3vEgbkpIZC1Pph9a1OEtBroBHg795IH1wS8F2gkg\u0026type=video_thumb\",\"eventTitle\":\"Обработка исключений и SOLID\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456247565\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":5116,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-57.userapi.com/impg/eKJmwHUvAwgnKjZtHctQ04dYiWI-gpikbtFbEg/XQCG0-9gM9E.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=343ea498f61e3344761cdba2a22be684\u0026c_uniq_tag=pvTGA5KkCQ1ldSgEPtZ1uqx2XL8c61Fp-871pIoSsrQ\u0026type=video_thumb\",\"eventTitle\":\"Создание микросервиса\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456247513\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":5115,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-39.userapi.com/impg/O7-uz8VpdjnecnUVO5VJe71tU8lY42xI7GYiGQ/DWco6RwrNl8.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=cb79d0be3d1ce69e9be728d9dd2fbcf5\u0026c_uniq_tag=xptnqpRHXIgsocMDabFe0a6f9sqVzrlMPwb0DC_OtAE\u0026type=video_thumb\",\"eventTitle\":\"Отложенные вычисления с помощью паттернов\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456247444\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":4714,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-43.userapi.com/impg/k5T5aB_Eh8vclx7lqvv0MUIJh0Lka_ykkvOPhw/a_4Uh5v_FQw.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=e9935f7fc4ec4c4d9f1302ba698a9cb9\u0026c_uniq_tag=5LOx76gkC3V5rYMi9735oHwY7TbXcRyZDcL93hEdGao\u0026type=video_thumb\",\"eventTitle\":\"Практическое руководство по применению SOLID принципов\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456246255\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":4713,\"eventType\":\"open_lesson\",\"previewLink\":\"https://i.mycdn.me/getVideoPreview?id=6834524916354\u0026idx=1\u0026type=39\u0026tkn=qffbWC4XsakwbItc1JpyOfH5Flc\u0026fn=vid_l\",\"eventTitle\":\"Архитектура как дилемма заключенного\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456245140\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":4712,\"eventType\":\"open_lesson\",\"previewLink\":\"https://sun9-56.userapi.com/impg/BqCsVb3f0Udo_hwMtlBHqvf9W6A2Z713EjxWtQ/AUJa8uR33m8.jpg?size=320x240\u0026quality=95\u0026keep_aspect_ratio=1\u0026background=000000\u0026sign=a012b6cf1d2b72425c0ee0cb84c9847d\u0026c_uniq_tag=_QpjpxukfW8jb3-TH81g92fh2eA3o2Od25vo5Z8ib74\u0026type=video_thumb\",\"eventTitle\":\"Паттерн Iterator: от применения принципа DIP до Data Streams\",\"recordLink\":\"https://vk.com/video_ext.php?oid=-145052891\u0026id=456244915\",\"teacher\":{\"fullName\":\"Андрей Поляков\",\"photoUrl\":\"https://cdn.otus.ru/media/public/eb/92/eb92a673d56b4a23919ff6af2ff45fb9.png\"}},{\"id\":4352,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/duiq3lTowhg/0.jpg\",\"eventTitle\":\"Еще одно объяснение про ООП\",\"recordLink\":\"https://www.youtube.com/embed/duiq3lTowhg\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":4353,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/KhuEfBbph_A/0.jpg\",\"eventTitle\":\"Шаблон проектирования \\\"Цепочка обязанностей\\\"\",\"recordLink\":\"https://www.youtube.com/embed/KhuEfBbph_A\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":3919,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/WfjY9ztfXYA/0.jpg\",\"eventTitle\":\"Принцип инверсии зависимостей\",\"recordLink\":\"https://www.youtube.com/embed/WfjY9ztfXYA\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":3918,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/XvxwAA3BmMo/0.jpg\",\"eventTitle\":\"Девять шаблонов GRASP\",\"recordLink\":\"https://www.youtube.com/embed/XvxwAA3BmMo\",\"teacher\":{\"fullName\":\"Андрей Поляков\",\"photoUrl\":\"https://cdn.otus.ru/media/public/eb/92/eb92a673d56b4a23919ff6af2ff45fb9.png\"}},{\"id\":3602,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/GC6wX4dDS2w/0.jpg\",\"eventTitle\":\"Методологии разработки ПО\",\"recordLink\":\"https://www.youtube.com/embed/GC6wX4dDS2w\",\"teacher\":{\"fullName\":\"Арсений Высоцкий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/c4/51/c4514589fa624caaabafef29296b3faa.jpg\"}},{\"id\":3601,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/25s36nSPt-Q/0.jpg\",\"eventTitle\":\"Шаблон проектирования \\\"Цепочка обязанностей\\\"\",\"recordLink\":\"https://www.youtube.com/embed/25s36nSPt-Q\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":3448,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/RdeBFIk57MM/0.jpg\",\"eventTitle\":\"Проблема вертикального масштабирования и синхронизация\",\"recordLink\":\"https://www.youtube.com/embed/RdeBFIk57MM\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":3447,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/CBk0qpOeZmU/0.jpg\",\"eventTitle\":\"Особенности обработки исключений с точки зрения SOLID принципов\",\"recordLink\":\"https://www.youtube.com/embed/CBk0qpOeZmU\",\"teacher\":{\"fullName\":\"Арсений Высоцкий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/c4/51/c4514589fa624caaabafef29296b3faa.jpg\"}},{\"id\":3084,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/Sotv_c8bHsU/0.jpg\",\"eventTitle\":\"Понятие «Декоратор» в программировании\",\"recordLink\":\"https://www.youtube.com/embed/Sotv_c8bHsU\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":3083,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/1LwA7XnLQlY/0.jpg\",\"eventTitle\":\"SOLID как условие постоянной скорости разработки\",\"recordLink\":\"https://www.youtube.com/embed/1LwA7XnLQlY\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":2948,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/k9ccG3uNDWc/0.jpg\",\"eventTitle\":\"Паттерн Command: от процедурного до функционального программирования\",\"recordLink\":\"https://www.youtube.com/embed/k9ccG3uNDWc\",\"teacher\":{\"fullName\":\"Иван Шарун\",\"photoUrl\":\"https://cdn.otus.ru/media/public/ef/e6/efe67bef5dd74d319a9ab27e0578b4c4.jpeg\"}},{\"id\":2826,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/go4cTroVyJQ/0.jpg\",\"eventTitle\":\"Паттерн Iterator: от применения принципа DIP до Data Streams\",\"recordLink\":\"https://www.youtube.com/embed/go4cTroVyJQ\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":2825,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/5MuYInR6-WY/0.jpg\",\"eventTitle\":\"Системы обмена сообщениями: RabbitMQ и Kafka\",\"recordLink\":\"https://www.youtube.com/embed/5MuYInR6-WY\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":2610,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/3xKZjT3lC2E/0.jpg\",\"eventTitle\":\"Экскурсия по популярным материалам об архитектуре и паттернам проектирования\",\"recordLink\":\"https://www.youtube.com/embed/3xKZjT3lC2E\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":2609,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/vGKXx_gsT60/0.jpg\",\"eventTitle\":\"Создание микросервиса\",\"recordLink\":\"https://www.youtube.com/embed/vGKXx_gsT60\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":2405,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/Rfe8wapq0N0/0.jpg\",\"eventTitle\":\"Практическое руководство по применению SOLID принципов\",\"recordLink\":\"https://www.youtube.com/embed/Rfe8wapq0N0\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":2404,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/GzvwHkjMMnk/0.jpg\",\"eventTitle\":\"Архитектурные концепции построения систем обмена сообщений\",\"recordLink\":\"https://www.youtube.com/embed/GzvwHkjMMnk\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":2199,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/eqsR7lY21oU/0.jpg\",\"eventTitle\":\"Обработка исключений и SOLID\",\"recordLink\":\"https://www.youtube.com/embed/eqsR7lY21oU\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":2200,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/rpOkCnVMzdc/0.jpg\",\"eventTitle\":\"Паттерн проектирования - Декоратор\",\"recordLink\":\"https://www.youtube.com/embed/rpOkCnVMzdc\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":1997,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/92KLZ0VnqZc/0.jpg\",\"eventTitle\":\"Проблемы сложности и места, где они обитают\",\"recordLink\":\"https://www.youtube.com/embed/92KLZ0VnqZc\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1996,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/JyZka5v03gM/0.jpg\",\"eventTitle\":\"Понятие \\\"состояние\\\" в шаблонах проектирования\",\"recordLink\":\"https://www.youtube.com/embed/JyZka5v03gM\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":1847,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/g8UPyxwSxXY/0.jpg\",\"eventTitle\":\"Открытый урок курса \\\"SOLID как условие постоянной скорости разработки\\\"\",\"recordLink\":\"https://www.youtube.com/embed/g8UPyxwSxXY\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1846,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/6O2vnNp_Y7k/0.jpg\",\"eventTitle\":\"Открытый урок курса \\\"Создание микросервиса\\\"\",\"recordLink\":\"https://www.youtube.com/embed/6O2vnNp_Y7k\",\"teacher\":{\"fullName\":\"Евгений Непомнящий\",\"photoUrl\":\"https://cdn.otus.ru/media/public/f8/6d/f86db5909fe24e05880c69fa437ad1ba.jpg\"}},{\"id\":1666,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/3c2a0h6iE1A/0.jpg\",\"eventTitle\":\"Объектно-ориентированное программирование\",\"recordLink\":\"https://www.youtube.com/embed/3c2a0h6iE1A\",\"teacher\":{\"fullName\":\"Владислав Родин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/2a/87/2a87f9abeed34fc1a45c890ad9ba39f9.jpg\"}},{\"id\":1664,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/LGyUaRUZ_bo/0.jpg\",\"eventTitle\":\"Demo day курса \\\"Архитектура и шаблоны проектирования\\\"\",\"recordLink\":\"https://www.youtube.com/embed/LGyUaRUZ_bo\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1665,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/ofEOCd7eICY/0.jpg\",\"eventTitle\":\"Обработка исключений и SOLID\",\"recordLink\":\"https://www.youtube.com/embed/ofEOCd7eICY\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1466,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/uzR5gP97hfo/0.jpg\",\"eventTitle\":\"Паттерн Команда в различных парадигмах программирования: от callback до лямбда-функций\",\"recordLink\":\"https://www.youtube.com/embed/uzR5gP97hfo\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1465,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/lB44zy-qKms/0.jpg\",\"eventTitle\":\"Общие шаблоны распределения ответственностей\",\"recordLink\":\"https://www.youtube.com/embed/lB44zy-qKms\",\"teacher\":{\"fullName\":\"Владислав Родин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/2a/87/2a87f9abeed34fc1a45c890ad9ba39f9.jpg\"}},{\"id\":1460,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/SXiEdVIPGTE/0.jpg\",\"eventTitle\":\"Demo day курса \\\"Архитектура и шаблоны проектирования\\\"\",\"recordLink\":\"https://www.youtube.com/embed/SXiEdVIPGTE\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1170,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/4jWlnBqk-mA/0.jpg\",\"eventTitle\":\"Шаблоны GRASP\",\"recordLink\":\"https://www.youtube.com/embed/4jWlnBqk-mA\",\"teacher\":{\"fullName\":\"Владислав Родин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/2a/87/2a87f9abeed34fc1a45c890ad9ba39f9.jpg\"}},{\"id\":1168,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/kSrtoBY73DI/0.jpg\",\"eventTitle\":\"Demo day курса «Архитектура и шаблоны проектирования»\",\"recordLink\":\"https://www.youtube.com/embed/kSrtoBY73DI\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1169,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/u2lUf3qRuJY/0.jpg\",\"eventTitle\":\"SOLID как условие постоянной скорости разработки\",\"recordLink\":\"https://www.youtube.com/embed/u2lUf3qRuJY\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":1167,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/1OKmKH_ucGE/0.jpg\",\"eventTitle\":\"Карьера для курса \\\"Архитектура и шаблоны проектирования\\\"\",\"recordLink\":\"https://www.youtube.com/embed/1OKmKH_ucGE\",\"teacher\":{\"fullName\":\"Евгений Тюменцев\",\"photoUrl\":\"https://cdn.otus.ru/media/public/9d/27/9d27494506504a4283f137d792dad686.jpg\"}},{\"id\":975,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/u6uaogywk50/0.jpg\",\"eventTitle\":\"\\\"Интерпретатор\\\"\",\"recordLink\":\"https://www.youtube.com/embed/u6uaogywk50\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":974,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/fFs9LdcMw48/0.jpg\",\"eventTitle\":\"Demo Day \\\"Архитектура и шаблоны проектирования\\\"\",\"recordLink\":\"https://www.youtube.com/embed/fFs9LdcMw48\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":802,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/IP3gyTjnfAw/0.jpg\",\"eventTitle\":\"Всё о курсе «Архитектура и шаблоны проектирования»\",\"recordLink\":\"https://www.youtube.com/embed/IP3gyTjnfAw\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":803,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/25SWtSXLF2s/0.jpg\",\"eventTitle\":\"Шаблон «Адаптер»\",\"recordLink\":\"https://www.youtube.com/embed/25SWtSXLF2s\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":801,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/gj1Eqp-yQkk/0.jpg\",\"eventTitle\":\"Всё о курсе «Архитектура и шаблоны проектирования»\",\"recordLink\":\"https://www.youtube.com/embed/gj1Eqp-yQkk\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":621,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/FQQvaBamvwM/0.jpg\",\"eventTitle\":\"Шаблоны «Фабричный метод» и «Абстрактная фабрика»\",\"recordLink\":\"https://www.youtube.com/embed/FQQvaBamvwM\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":618,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/mz5LVX--4IQ/0.jpg\",\"eventTitle\":\"Всё о курсе «Архитектура и шаблоны проектирования»\",\"recordLink\":\"https://www.youtube.com/embed/mz5LVX--4IQ\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":509,\"eventType\":\"dod\",\"previewLink\":\"https://img.youtube.com/vi/EoEXbbYyAsw/0.jpg\",\"eventTitle\":\"Всё о курсе «Архитектура и шаблоны проектирования»\",\"recordLink\":\"https://www.youtube.com/embed/EoEXbbYyAsw\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":508,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/BmTLIlLM1lc/0.jpg\",\"eventTitle\":\"«Откуда ноги растут» или что предшествует программированию?\",\"recordLink\":\"https://www.youtube.com/embed/BmTLIlLM1lc\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}},{\"id\":441,\"eventType\":\"open_lesson\",\"previewLink\":\"https://img.youtube.com/vi/HsMzp8jqL6Y/0.jpg\",\"eventTitle\":\"Шаблон проектирования «Адаптер»\",\"recordLink\":\"https://www.youtube.com/embed/HsMzp8jqL6Y\",\"teacher\":{\"fullName\":\"Матвей Калинин\",\"photoUrl\":\"https://cdn.otus.ru/media/public/1a/33/1a3343359d114108aa6091a196380354.jpg\"}}]},{\"id\":5511,\"type\":\"EMPLOYEE_REQUEST\"},{\"title\":\"Отзывы\",\"id\":5512,\"type\":\"SPECIALIZATION_REVIEW\",\"reviews\":[{\"id\":3576,\"dateCreated\":\"2026-01-22T13:12:43+00:00\",\"text\":\"Мне сейчас прошедший курс приносит много пользы👍👍\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Евгений Серебряков\",\"socials\":[{\"id\":321701,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Евгений\"},{\"id\":3575,\"dateCreated\":\"2026-01-22T12:49:42+00:00\",\"text\":\"Пользуясь случаем хотел бы еще раз поблагодарить за курс! Евгений Тюменцев, вы очень сильно повлияли на меня :)\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Юрий Петухов\",\"socials\":[{\"id\":342974,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Юрий\"},{\"id\":3574,\"dateCreated\":\"2026-01-22T12:37:57+00:00\",\"text\":\"Евгений, спасибо Вам огромное. По мере получения нового опыта всё больше вижу, насколько это был полезный для меня курс. Было сложно, не привычно, но, преодолевая боль я дошел до конца. \\r\\nХочу пройти все курсы, которые ведет Евгений Тюменцев. \\r\\nХрани Вас Бог, дорогой учитель!\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Дмитрий Михалищин\",\"socials\":[]},\"name\":\"Дмитрий\"},{\"id\":3538,\"dateCreated\":\"2025-12-29T17:05:10+00:00\",\"text\":\"Материала много, насыщенно. Лекции Евгения Тюменцева очень понравились, остальные тоже нормально, но Евгений лучший :)\\r\\nШла за пониманием паттернов - получила.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Ирина Мигунова\",\"socials\":[{\"id\":381492,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Ирина\"},{\"id\":3537,\"dateCreated\":\"2025-12-29T16:43:02+00:00\",\"text\":\"-Работаю тестировщиком\\r\\n-Курс выбирал по программе, ей он и заинтересовал\\r\\n-Обучение дало новые знания, буду использовать в работе, изначально рассматривал как повышение квалификации его\\r\\n\\r\\nКурс понравился, уже рекомендовал коллегам\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Федор Европов\",\"socials\":[]},\"name\":\"Федор\"},{\"id\":3529,\"dateCreated\":\"2025-12-23T17:17:56+00:00\",\"text\":\"Отличный курс, помог структурировать знания и по новому взглянуть на проект на работе!\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Максим Маслов\",\"socials\":[{\"id\":361830,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Максим Маслов\"},{\"id\":3164,\"dateCreated\":\"2025-06-22T16:13:38+00:00\",\"text\":\"Курс помогает освоить системный подход к разработке программного обеспечения. Позволяет сформировать навыки проектирования гибких масштабируемых систем с опорой на проверенные решения. При этом учет видеть не только достоинства, но и недостатки паттернов, что даёт возможность здраво оценивать затраты ресурсов на разработку и поддержку программы ещё на стадии проектирования.\\r\\nДля меня наиболее интересной стала тема разработки через тестирование. Обязательно буду применять её в своей практике.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Ольга Потапенко\",\"socials\":[]},\"name\":\"Ольга Потапенко\"},{\"id\":2808,\"dateCreated\":\"2024-12-28T02:43:27+00:00\",\"text\":\"Курс интересный и достаточно полезный, позволяет окунуться в архитектуру, познакомится с паттернами и попробовать применить их на практике. Домашние задания связаны и вместе образуют цельную картинку. Лекторы достаточно интересно преподносят материал и очень подробно отвечают на все возникающие вопросы.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Александр Лопухин\",\"socials\":[{\"id\":231930,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Лопухин Александр\"},{\"id\":2541,\"dateCreated\":\"2024-09-18T16:55:39+00:00\",\"text\":\"Курс в целом понравился.\\r\\nУдалось попрактиковаться в применении основных шаблонов проектирования.\\r\\nТакже делально изложены основные принципы программирования. На протяжении всего курса отслеживается соответствие кода принципам SOLID.\\r\\nНемного странным показались задания для практических работ. Было попрой сложно понять требования.\\r\\nТакже теперь чётко стало понятно, что без типизации достаточно легко писать код с ошибками.\\r\\nРекомендую курс для уровней middle+.\",\"shortText\":null,\"user\":{\"avatarUrl\":\"https://cdn.otus.ru/media/public/a5/be/avatar-465828-a5be7b.png\",\"fullName\":\"Сергей Кубатко\",\"socials\":[{\"id\":295807,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Сергей\"},{\"id\":2537,\"dateCreated\":\"2024-09-17T17:31:20+00:00\",\"text\":\"Курс позволил пересмотреть взгляд на использование SOLID принципов, попрактиковаться в TDD и успешно применить полученные знания на практике.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Сергей \",\"socials\":[]},\"name\":\"Сергей\"},{\"id\":2488,\"dateCreated\":\"2024-08-29T04:31:53+00:00\",\"text\":\"Очень интересный курс! Под новым углом увидел SOILID принципы, новые применения! Стало ясно как применять на разных этапах жизни приложения, от проектирования скелета до прода.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Ярослав Эрлих\",\"socials\":[]},\"name\":\"Ярослав Эрлих\"},{\"id\":2198,\"dateCreated\":\"2024-04-03T17:28:54+00:00\",\"text\":\"До обучения, как и после него, я работал Java-разработчкиком. На момент начала обучения работал в компании \\\"АйТиДи Эксперт\\\", к моменту завершения обучения - в ПАО \\\"Сбербанк\\\".\\r\\nКурс выбрал из-за того, что была интересна тематика построения архитектуры программного обеспечения и существующие паттерны, позволяющие её реализовать.\\r\\nВ целом курс понравился тем, что позволил получить новые и систематизировать имеющиеся знания о подходах к построению архитектуры программного обеспечения.\\r\\nДанный курс позволил ознакомиться с подходом к разработке программного обеспечения согласно принципам SOLID, а домашние задания предоставили возможность освоить полученные знания на практике.\\r\\nВ ходе прохождения курса посмотрел на многие аспекты разработки под иным углом, а также попробовал те возможности своего языка программирования, с которыми, с большой вероятностью, не столкнулся бы в своей повседневной практике. При выполнении домашних заданий удалось опробовать некоторые возможности Java, которые я не использовал ранее.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Владимир Рябцев\",\"socials\":[{\"id\":266666,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Рябцев Владимир\"},{\"id\":2068,\"dateCreated\":\"2024-01-26T09:07:18+00:00\",\"text\":\"$34\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Роман Арбузов\",\"socials\":[{\"id\":253742,\"service\":\"telegram\",\"value\":\"telegram\"}]},\"name\":\"Роман Арбузов\"},{\"id\":1979,\"dateCreated\":\"2023-11-13T08:40:53+00:00\",\"text\":\"Хороший, полезный курс, рад что записался.\\r\\nПреподавателям большое спасибо за заинтересованность в передаче знаний, что не торопитесь закончить занятие, задерживаетесь после уроков, интересно подобранные темы.\\r\\nПо завершению курса стал лучше понимать как паттерны используются в фреймворках, IoC, Spring Security, InputOutput стримах, коллекциях и многое другое. Сбор отзывов после занятий помогает улучшить курс и учесть пожелания студентов. Защитил проект, не успел сдать все домашние задания, в ОТУС дали еще время на их сдачу. В общем остались только положительные эмоции.\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Олег Черноусов\",\"socials\":[]},\"name\":\"Олег Черноусов\"},{\"id\":1972,\"dateCreated\":\"2023-11-09T08:01:49+00:00\",\"text\":\"$35\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Евгений Фомин\",\"socials\":[]},\"name\":\"Евгений Фомин\"},{\"id\":1862,\"dateCreated\":\"2023-08-14T13:34:30+00:00\",\"text\":\"$36\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Павел Иванков\",\"socials\":[]},\"name\":\"Павел Иванков\"},{\"id\":1747,\"dateCreated\":\"2023-05-02T09:32:49+00:00\",\"text\":\"$37\",\"shortText\":null,\"user\":{\"avatarUrl\":null,\"fullName\":\"Дарья Карамова\",\"socials\":[]},\"name\":\"Дарья Карамова\"},{\"id\":1261,\"dateCreated\":\"2022-01-24T05:04:55.029537+00:00\",\"text\":\"Курс понравился, открыл для себя много нового. Рекомендую всем, кто хочет добиться стабильной прогнозируемой скорости разработки ПО.\",\"shortText\":null,\"user\":{\"avatarUrl\":\"https://cdn.otus.ru/media/public/32/5d/avatar-1801-325d87.png\",\"fullName\":\"Андрей Лепешкин\",\"socials\":[]},\"name\":\"Андрей\"}]},{\"header\":\"\u003ch2\u003eДиплом о профессиональной переподготовке\u003c/h2\u003e\",\"desc\":\"\u003cp\u003e\u003cspan\u003eOTUS осуществляет лицензированную образовательную деятельность.\u003c/span\u003e\u003cbr /\u003e\u003cspan\u003eВ конце обучения вы получите сертификат OTUS о прохождении курса\u003c/span\u003e\u003c/p\u003e\",\"sideDesc\":\"\u003ch3\u003eПосле обучения вы:\u003c/h3\u003e\\n\u003cul\u003e\\n\u003cli\u003eполучите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)\u003c/li\u003e\\n\u003cli\u003eприменять шаблоны проектирования в разработках\u003c/li\u003e\\n\u003cli\u003eполучите сертификат об окончании курса\u003c/li\u003e\\n\u003c/ul\u003e\",\"id\":9582,\"type\":\"SPECIALIZATION_CERTIFICATE\"},{\"id\":13827,\"type\":\"PRICE_INFORMATION\",\"isEnableInstallmentPercentageFeature\":true,\"installmentInfo\":{\"full\":9000,\"discount\":8780.42,\"isMaxDiscount\":true,\"discountPercent\":0.024398148148148148}},{\"id\":9584,\"type\":\"SPECIALIZATION_FAQ\",\"items\":[{\"name\":318,\"title\":\"Что, если в середине курса я не смогу продолжать обучение?\",\"description\":\"У вас есть право одного бесплатного трансфера в другую группу\"},{\"name\":319,\"title\":\"Обязательно ли защищать выпускной проект?\",\"description\":\"Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.\"},{\"name\":320,\"title\":\"Я могу вернуть деньги?\",\"description\":\"Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.\"}]}],\"theme\":\"$38\",\"button\":{\"nextAttempt\":null,\"assessmentId\":null,\"state\":\"course_assessment_required\",\"userCourseId\":null,\"courseTitle\":\"Архитектура и шаблоны проектирования\",\"courseSlug\":\"patterns\",\"groupId\":null,\"showFastbuyButton\":false},\"structuredData\":{\"@context\":\"http://schema.org\",\"@type\":\"Course\",\"name\":\"Архитектура и шаблоны проектирования\",\"url\":\"https://otus.ru\",\"logo\":\"https://otus.ru/__new_static__/img/meta-image.png\",\"sameAs\":[\"https://vk.com/otusru\",\"https://t.me/Otusjava\"],\"description\":\"С одной стороны, разработка ПО\u0026nbsp;\u0026mdash;\u0026nbsp;это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.\\nС другой, это знание всех участвующих бизнес-процессов, умение описать архитектуру на разных уровнях п…\",\"provider\":{\"@type\":\"Organization\",\"name\":\"OTUS\",\"sameAs\":\"https://otus.ru\"},\"image\":\"https://otus.ru/__new_static__/img/meta-image.png\",\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"4.7\",\"ratingCount\":\"150\"},\"offers\":{\"@type\":\"Offer\",\"priceCurrency\":\"RUB\",\"price\":97200,\"availability\":\"https://schema.org/InStock\",\"url\":\"https://otus.ru/lessons/patterns\"},\"hasCourseInstance\":{\"@type\":\"CourseInstance\",\"name\":\"Архитектура и шаблоны проектирования (Онлайн)\",\"courseMode\":\"Online\",\"startDate\":\"2026-03-30\",\"endDate\":\"2026-10-02\",\"duration\":\"P6M\"}}}}]}]\n"])</script><style data-styled="" data-styled-version="5.3.10"></style><script>self.__next_f.push([1,"3a:T5d3,{\n \"@context\": \"http://schema.org\",\n \"@type\": \"Course\",\n \"name\": \"Архитектура и шаблоны проектирования\",\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 \"description\": \"С одной стороны, разработка ПО\u0026nbsp;\u0026mdash;\u0026nbsp;это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.\\nС другой, это знание всех участвующих бизнес-процессов, умение описать архитектуру на разных уровнях п…\",\n \"provider\": {\n \"@type\": \"Organization\",\n \"name\": \"OTUS\",\n \"sameAs\": \"https://otus.ru\"\n },\n \"image\": \"https://otus.ru/__new_static__/img/meta-image.png\",\n \"aggregateRating\": {\n \"@type\": \"AggregateRating\",\n \"ratingValue\": \"4.7\",\n \"ratingCount\": \"150\"\n },\n \"offers\": {\n \"@type\": \"Offer\",\n \"priceCurrency\": \"RUB\",\n \"price\": 97200,\n \"availability\": \"https://schema.org/InStock\",\n \"url\": \"https://otus.ru/lessons/patterns\"\n },\n \"hasCourseInstance\": {\n \"@type\": \"CourseInstance\",\n \"name\": \"Архитектура и шаблоны проектирования (Онлайн)\",\n \"courseMode\": \"Online\",\n \"startDate\": \"2026-03-30\",\n \"endDate\": \"2026-10-02\",\n \"duration\": \"P6M\"\n }\n}5:[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3a\"}}]\n"])</script></body></html><style data-styled="" data-styled-version="5.3.10"></style>