1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2358],{82596:function(r,e,t){"use strict";var s=t(85893),i=t(67294),l=t(93967),n=t.n(l),c=t(45697),a=t.n(c),o=t(31911),u=t.n(o);let g=(0,i.forwardRef)((r,e)=>{let{children:t,variant:i="h1",gutterBottom:l=!1,className:c,...a}=r,o=n()({[u().Heading]:!0,[u()[i]]:i,[u().gutterBottom]:l,[c]:c});return(0,s.jsx)(i,{ref:e,className:o,...a,children:t})});g.propTypes={children:a().node,variant:a().oneOf(["h1","h2","h3","h4","h5"]),gutterBottom:a().bool,className:a().string},g.displayName="Heading",e.Z=g},14742:function(r,e,t){"use strict";t.d(e,{Z:function(){return s.Z}});var s=t(82596)},42358:function(r,e,t){"use strict";t.r(e),t.d(e,{SlimmerTechnicalPart:function(){return d}});var s=t(85893),i=t(67294),l=t(25675),n=t.n(l),c=t(34715),a=t(26038),o=t(92085),u=t(14742),g=t(42924),h=t.n(g);let d=()=>{let r=(0,i.useRef)(null),e=(0,i.useRef)(null),t=(0,i.useRef)(null),l=(0,i.useRef)(null),g=(0,i.useRef)(null),d=(0,i.useRef)(null),f=(0,i.useRef)(null),m=(0,i.useRef)(null),p=(0,i.useRef)(null),_=(0,i.useRef)(null),x=(0,i.useRef)(null),y=(0,i.useRef)(null),j=(0,i.useRef)(null);return(0,c.V)(()=>{a.ZP.from(r.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:r.current,start:"top 85%"}}),a.ZP.from(e.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:e.current,start:"top 85%"}}),a.ZP.from(t.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:t.current,start:"top 85%"}}),a.ZP.from(l.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:l.current,start:"top 85%"}}),a.ZP.from(g.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:g.current,start:"top 85%"}}),a.ZP.from(d.current,{scale:.8,opacity:0,duration:1,scrollTrigger:{trigger:d.current,start:"top 85%"}}),a.ZP.from(f.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:f.current,start:"top 85%"}}),a.ZP.from(m.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:m.current,start:"top 85%"}}),a.ZP.from(p.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:p.current,start:"top 85%"}}),a.ZP.from(_.current,{scale:.8,opacity:0,duration:1,scrollTrigger:{trigger:_.current,start:"top 85%"}}),a.ZP.from(x.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:x.current,start:"top 85%"}}),a.ZP.from(y.current,{x:50,opacity:0,duration:1,scrollTrigger:{trigger:y.current,start:"top 85%"}}),a.ZP.from(j.current,{scale:.8,opacity:0,duration:1,scrollTrigger:{trigger:j.current,start:"top 85%"}})},[]),(0,s.jsx)("section",{className:h().SlimmerTechnicalPart,children:(0,s.jsxs)(o.Z,{children:[(0,s.jsxs)("div",{className:h().heading,children:[(0,s.jsx)(u.Z,{ref:r,className:h().title,variant:"h2",children:"ТеÑ
ниÑеÑÐºÐ°Ñ ÑаÑÑÑ"}),(0,s.jsx)("div",{ref:e,className:h().description,children:"ÐÑоÑеÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ñ Ð¿ÑоÑ
одил поÑагово: Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° ÑабоÑиÑ
пÑоÑеÑÑов до ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑеалÑнÑми полÑзоваÑелÑми"})]}),(0,s.jsxs)("article",{children:[(0,s.jsx)("header",{children:(0,s.jsx)("h3",{ref:t,children:"РеÑакÑоÑинг и FSD"})}),(0,s.jsx)("p",{ref:l,children:"С ÑазвиÑием пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² нем поÑвлÑлиÑÑ Ð´ÐµÑÑÑки ÑÑÑÐ°Ð½Ð¸Ñ Ñ ÑазнообÑазнÑм ÑÑнкÑионалом, ÑÑо ÑÑложнило поддеÑÐ¶ÐºÑ Ð¸ ÑÑандаÑÑизаÑиÑ. ЧÑÐ¾Ð±Ñ Ð¼Ð°ÑÑÑабиÑоваÑÑ Ð¿ÑодÑкÑ, поÑÑебовалоÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÐµÑеÑÑÑоиÑÑ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ."}),(0,s.jsx)("p",{ref:g,children:"ÐÐ»Ñ ÑеÑÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи иÑполÑзовалиÑÑ Ð´Ð²Ð° клÑÑевÑÑ
подÑ
ода. ÐеÑвÑй â ÑегÑлÑÑнÑй ÑеÑакÑоÑинг Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ Ð¿ÑоÑÑоÑÑ Ð¸ ÑиÑаемоÑÑи кода. ÐÑоÑой â внедÑение аÑÑ
иÑекÑÑÑÑ Feature Sliced Design (FSD), коÑоÑÐ°Ñ ÑазделÑÐµÑ Ð¿Ñиложение на модÑли по ÑÑнкÑионалÑ. ÐÑо позволило макÑималÑно задейÑÑвоваÑÑ Ð³Ð¾ÑовÑе компоненÑÑ, ÑокÑаÑив вÑÐµÐ¼Ñ ÑазÑабоÑки и избавив ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ñ Ð±ÐµÑконеÑной опÑимизаÑии кода и аÑÑ
иÑекÑÑÑÑ."}),(0,s.jsx)(n(),{ref:d,className:h().image,src:"/assets/images/slimmer/FSD.webp",alt:"ÐÑÑ
иÑекÑÑÑÐ½Ð°Ñ ÑÑ
ема FSD Ñо ÑлоÑми, ÑлайÑами и ÑегменÑами",width:800,height:400}),(0,s.jsx)("p",{ref:f,children:"ÐополниÑелÑно бÑли подклÑÑÐµÐ½Ñ ÐºÐ¾Ð´-ÑоÑмаÑÑеÑÑ Ð¸ лиÐ
1½ÑеÑÑ. ÐнÑÑÑÑменÑÑ Ð°Ð²ÑомаÑиÑеÑки коÑÑекÑиÑÑÑÑ ÑÑÐ¸Ð»Ñ Ð¿ÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ заданнÑм пÑавилам, ÑкономÑÑ Ð²ÑÐµÐ¼Ñ ÑазÑабоÑÑиков и ÑоздаÑÑ ÐµÐ´Ð¸Ð½Ð¾Ð¾Ð±Ñазие кодовой базÑ."})]}),(0,s.jsxs)("article",{children:[(0,s.jsx)("header",{children:(0,s.jsx)("h3",{ref:m,children:"UI-дизайн"})}),(0,s.jsx)("p",{ref:p,children:"Ðажно бÑло ÑделаÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð·Ð°Ð³ÑÑжалÑÑ Ð±ÑÑÑÑо. СÑÑеÑÑвÑÑÑие UI-библиоÑеки оказалиÑÑ Ð½ÐµÐ´Ð¾ÑÑаÑоÑно ÑкоÑоÑÑнÑми â иÑ
ÑлеменÑÑ Ð·Ð°Ð¼ÐµÐ´Ð»Ñли ÑабоÑÑ Ð¿ÑиложениÑ. ÐÑо подÑолкнÑло ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ðº ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑобÑÑвеннÑÑ
UI-компоненÑов, ÑÑо ÑÑкоÑило загÑÑзкÑ, позволило каÑÑомизиÑоваÑÑ Ð´Ð¸Ð·Ð°Ð¹Ð½ и ÑоÑ
Ñанило полнÑÑ ÑовмеÑÑимоÑÑÑ ÑлеменÑов."}),(0,s.jsx)(n(),{ref:_,className:h().image,src:"/assets/images/slimmer/UI.webp",alt:"ÐÑаÑик ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи: гоÑÐ¾Ð²Ð°Ñ UI-library vs Ñвои компоненÑÑ",width:800,height:400})]}),(0,s.jsxs)("article",{children:[(0,s.jsx)("header",{children:(0,s.jsx)("h3",{ref:x,children:"ÐнедÑение ÑаÑа"})}),(0,s.jsx)("p",{ref:y,children:"Ðдним из клÑÑевÑÑ
ÑÑнкÑионалÑнÑÑ
ÑлеменÑов ÑÑал ÑÐ°Ñ â неоÑÑÐµÐ¼Ð»ÐµÐ¼Ð°Ñ ÑаÑÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÑникаÑии вÑаÑей и паÑиенÑов. Ðднако ÑеализаÑÐ¸Ñ Ð²ÑÑла за Ñамки базового ÑекÑÑового обмена: Ð´Ð»Ñ Ð¾ÑпÑавки Ñайлов Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°Ð¼Ð¸ и ÑоÑогÑаÑиÑми ÑпÑавок поÑÑебовалоÑÑ Ð²Ð½ÐµÐ´Ñение Websocket-пÑоÑокола. Ðго изÑÑение занÑло вÑемÑ, но именно ÑÑо ÑеÑение Ñделало ÑÐ°Ñ Ð¸Ð½ÑÑÑÑменÑом, ÑооÑвеÑÑÑвÑÑÑим поÑÑебноÑÑÑм полÑзоваÑелей."}),(0,s.jsx)(n(),{ref:j,className:h().image,src:"/assets/images/slimmer/integrate-chat.webp",alt:"ÐнÑеÑÑÐµÐ¹Ñ ÑаÑа Ñ ÑекÑÑовÑми ÑообÑениÑми, Ñайлами и ÑоÑо докÑменÑов",width:800,height:400})]})]})})}},31911:function(r){r.exports={Heading:"style_Heading__OaSKi",h1:"style_h1__8VDCS",h2:"style_h2__no6nd",h3:"style_h3__usYgY",h4:"style_h4__ZbV2Y",h5:"style_h5__gAtZ3",gutterBottom:"style_gutterBottom__v8Jtu",fadeIn:"style_fadeIn__Xh6tC"}},42924:function(r){r.exports={SlimmerTechnicalPart:"styles_SlimmerTechnicalPart__d0V0E",heading:"styles_heading__6I2pO",title:"styles_title__6F7sq",description:"styles_description__SDvY1",image:"styles_image__c3XEh",fadeIn:"styles_fadeIn__Wb0SA"}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.