د انٹرفیس پرمختیا ښوونځي: د مینسک لپاره د دندو تحلیل او په مسکو کې نوې سیټ

نن یو نوی نوم لیکنه پیل شوه د Yandex انٹرفیس پرمختیا ښوونځی په مسکو کې د روزنې لومړی پړاو به د سپټمبر له 7 څخه د اکتوبر تر 25 پورې ترسره شي. د نورو ښارونو زده کونکي به وکولی شي په لیرې یا شخصي توګه پدې کې برخه واخلي - شرکت به په هاسټل کې د سفر او استوګنې لپاره پیسې ورکړي. دوهم، وروستی مرحله به د دسمبر تر 3 پورې دوام وکړي، دا یوازې په شخصی توګه بشپړ کیدی شي.

زما نوم یولیا سیریډیچ دی، موږ دا پوسټ د سرګي کازاکوف سره یوځای لیکلی. موږ دواړه د Yandex په مینسک دفتر کې د انٹرفیس پراختیا کونکي او د تیرو کلونو څخه د SRI فارغین یو.

د انٹرفیس پرمختیا ښوونځي: د مینسک لپاره د دندو تحلیل او په مسکو کې نوې سیټ

په مسکو کې د نوم لیکنې د پرانستلو په مناسبت، موږ د پخواني ښوونځي د ابتدايي دندو تحلیل خپروو - دلته په مینسک کې.

که تاسو د SRI دندې تاریخ تعقیب کړئ، له کال څخه تر کال پورې موږ د پروګرامر لپاره درې مهم مهارتونه ازمویل:

  • ترتیب. هر پرمخ وړونکی باید د ترتیب کولو وړتیا ولري. داسې نه کیږي چې تاسو کاکا سریوزا ولرئ چې د ټول ټیم ​​لپاره ډیزاین کوي، او تاسو یوازې سکریپټونه لیکئ. له همدې امله، هر زده کوونکی باید وښيي چې هغه څنګه پوهیږي چې څنګه ټایپ سیټ کوي.
  • جاواسکریپټ. که خبره په ترتیب پورې محدوده وه، نو بیا به موږ د انٹرفیس پراختیا ښوونځی نه وای، مګر د ترتیب ډیزاینرانو ښوونځی. ښکلی ډیزاین شوی انٹرفیس باید بیا ژوندی شي. له همدې امله، د JS لپاره تل یو دنده شتون لري، مګر ځینې وختونه دا د الګوریتم لپاره هم کار دی - موږ له دوی سره ډیره مینه لرو.
  • د ستونزې حل کول شاید د پراختیا کونکي ترټولو مهم مهارت وي. کله چې د انٹرفیسونو رامینځته کولو خبره راځي ، شیان خورا ګړندي بدلیږي. دا د لیویس کارول په څیر دی: "تاسو باید په ورته ځای کې پاتې کیدو لپاره څومره ګړندی منډې وهئ ، او بل ځای ته د رسیدو لپاره تاسو باید دوه ځله ګړندي منډې وکړئ." هره ورځ موږ د نوي ټیکنالوژیو سره مخ کیږو - موږ باید دوی په پام کې ونیسو او د دوی د پوهیدو وړ اوسو. له همدې امله، په دریم کار کې، موږ وړاندیز وکړ چې د ټیکنالوژیو په اړه پوه شو چې یو نوی جوړونکی معمولا ورسره بلد نه وي.

د هرې دندې په تحلیل کې، موږ به تاسو ته نه یوازې د سم طرزالعمل په اړه ووایو، بلکې د عام غلطیو په اړه هم.

دنده 1: پورټ فولیو

لومړی کار د Yandex.Collections ډیزاینر الیکسي چیرینکیویچ لخوا کار شوی و، چې پوهیږي چې څنګه ترتیب وکړي، او د هغه د خدماتو همکار، د انٹرفیس جوړونکي سرګي سمسونوف.

حالت

د پورټ فولیو ویب پاڼه جوړه کړئ: موږ ته د خپل ځان، ستاسو کار او د ښوونځي څخه ستاسو د هیلو په اړه ووایاست. سایټ باید د امکان تر حده د وړاندیز شوي ترتیب سره مطابقت ولري (د ترتیبونو لینکونه: 1000PX, 600PX, 320PX, مشخصات). موږ یوازې په ترتیب کې لیوالتیا لرو، نو مهرباني وکړئ جاواسکریپټ مه کاروئ.

کله چې چک کوو موږ به په پام کې ونیسو:

  • د نښه کولو اندازه، د رنګ درستیت، د فونټ سټایل، د فونټ اندازه؛
  • سیمانټیک ترتیب؛
  • د عناصرو د مختلفو حالتونو شتون: د بټونو او لینکونو ښودل کله چې کرسر ځړول، د فعال ان پټ ساحې روښانه کول، او داسې نور؛
  • د کراس براوزر مطابقت (د مشهور براوزرونو په وروستي نسخو کې ازمول شوی).

ګټه به یې دا وي:

  • د عصري CSS حلونو کارول: فلیکس باکس، گرډ، او نور؛
  • د تطبیق وړ ترتیب؛
  • د مخکینۍ او (یا) پوسټ پروسیسرونو کارول، مجلس، کوچنی کول، د محصول کوډ اصلاح کول؛
  • د HTML فورمه تایید، سټایل شوي فایل اپلوډ تڼۍ.

دنده خورا پراخه ده، نو تاسو کولی شئ هغه څه پریږدئ چې کار نه کوي. دا به ستاسو نمرې یو څه کم کړي، مګر تاسو به بیا هم وکولی شئ خپله پوهه وښایئ. کله چې تاسو سرته ورسیږئ، موږ ته دوه لینکونه واستوئ - ستاسو پورټ فولیو ته او په GitHub کې د سرچینې کوډ.

په دنده کې وړاندیز شوي ترتیبونه نه یوازې د ګرځنده وسیلو، ټابلیټونو او ډیسټاپونو لپاره د سکرینونو سره، بلکې د اصلي ځانګړتیاوو سره هم وو.

د دې لپاره چې د لومړي کار چک کولو پایله کې د امکان تر حده ډیر اعتراض راوړو، د دې چک لپاره ډیری معیارونه شتون درلود.

معیارونه

ډیزاین شوی ویب پاڼه. دا روښانه ښکاري، مګر ځینو هلکانو ځینې بلاکونه په بشپړه توګه پریښودل - یا دوی غوښتل وخت خوندي کړي، یا دوی نشي کولی دا کار وکړي. ترتیب تقریبا په څلورو اصلي سکرینونو ویشل کیدی شي: اصلي سکرین د اوتار سره، یو بلاک د SRI څخه د توقعاتو لیست سره، یو بلاک د پورټ فولیو سره او یو بلاک د اړیکو معلوماتو سره. دوی په برخو کې یا په ساده ډول د divs په کارولو سره رامینځته کیدی شي ، اصلي شی دا دی چې ټول څلور بلاکونه شتون درلود.

د ترتیب سره سمون. ډیزاینر یو جلا مشخصات جوړ کړل (د رنګونو، ټایپوګرافي، تڼۍ ریاستونو، او نور په شمول) د کاندیدانو لپاره اسانه کولو لپاره. په لاندینۍ برخه کې د لومړي سکرین په شاخصونو او ځانګړتیاو کې اشاره وه. زه د هغو هلکانو څخه ډیر خوښ وم چې د ډیزاینر ټولې هیلې یې په پام کې نیولې وې: د بیلګې په توګه، لومړی سکرین باید د لید پورټ لوړوالی څخه کم نه وي.

د تطبیق وړ ترتیب - دا هغه وخت دی کله چې انٹرفیس یوازې نه وي ایښودل شوی ترڅو په دریو ریزولوشنونو کې هرڅه په ترتیب کې پکسل ته پکسل وي. په منځنیو ایالتونو کې، ترتیب باید هم جلا نشي. ځینې ​​یې هیر کړل چې د کانټینر اعظمي چوکۍ محدود کړي او هرڅه یې 1920 پکسلز ته وټاکي، ځینې یې شالید ګډوډ کړي، مګر په ټولیز ډول کاندیدانو دا کار په ښه توګه ترسره کړ.

سیمانټیک ترتیب. "دوی څو ځله نړۍ ته ویلي دي" چې لینک باید د تڼۍ په څیر ډیزاین شي . خوشبختانه، ډیری کاندیدانو دا اړتیا هم پوره کړه. هرڅوک د SRI په تمه کې پټ لیست نه پیژني، دا د div ټګونو په کارولو سره جوړوي، مګر دا دومره بد ندی. یو نوماند و چې ټول سیمینټیک ټګونه یې دننه کړل هغه پوهیده - چیرې چې دا اړینه وه او چیرې چې اړین نه و. د مثال په توګه، د لیست پرځای - او . په هرصورت، سیمانټیک - دا ستاسو د پاڼې جوړښت او د هر بلاک هدف (اکثریت یې دلته اداره کړی) په اړه پوهیږي، او همدارنګه د مخکې او / یا پوسټ پروسیسرونو کارول (یو څو یې دلته اداره کړي، که څه هم دا په ټکو کې هم وو - ډیری وختونه دوی لږ کارولي او scss) .

کاري سلایډر. په دنده کې موږ لیکلي چې JS نشي کارول کیدی. دلته د ستونزو د حل کولو وړتیا ازمول شوې - یو سلیډر د بنچ په کارولو سره رامینځته کیدی شي او . ټول جادو د انتخاب کونکي په کچه پیښیږي #button-N:checked ~ .slider-inner .slider-slides. کله چې موږ په یوه ان پټ چیک باکس باندې کلیک کوو، دا چک شوي حالت ته ځي. موږ کولی شو له دې څخه ګټه واخلو او هغه ژباړه چې موږ ورته اړتیا لرو د سلایډونو سره کانټینر ته وسپارو: transform: translate(-33%). تاسو کولی شئ د سلائیڈر پلي کول وګورئ دلته.

د ښکته کولو لیستونه. دلته دا ټول هم راښکته شول او ورته ټاکونکی: .accordion-item input: checked ~ .accordion-item__content. تاسو کولی شئ تطبیق وګورئ دلته.

د :hover، :active او :focu* حالتونو شتون. یو ډیر مهم ټکی. د انٹرفیس سره د تعامل پرمهال راحت پدې پورې اړه لري. کاروونکي باید تل د دوی د کړنو په اړه فیډبیک ترلاسه کړي. دا توکي د پوښتنلیک سره د تعامل په اوږدو کې چک شوي. که ما "ما ته زنګ ووهئ" تڼۍ کلیک کړه او په لید کې هیڅ شی نه و (که څه هم غوښتنه لیږل شوې وه)، دا خراب دی، ځکه چې بیا به زه بیا بیا کلیک وکړم. د پایلې په توګه، لس غوښتنې به واستول شي او ما به لس ځله بیرته وغوښتل شي. موږ باید هیر نکړو چې ګرځنده وسیلې موږک نلري ، پدې معنی چې هلته باید هوور نه وي. او یو بل ټکی چې په هغه چا اغیزه نه کوي چې د سیمانټیک په اړه یې ټکي پوره کړي. که ستاسو کنټرول متقابل عنصر نه وي، نو کله چې تاسو په هغې باندې ځړول، کرسر به معیاري پاتې شي. دا خورا ناپاک ښکاري ، حتی که تاسو د هور لپاره عکس العمل لیکلی وي. کرسر کم مه ګڼئ: پوائنټر.

حرکتونه. دا مهمه ده چې ټول غبرګونونه د عناصرو سره سم وي. په ژوند کې هیڅ شی سمدستي ندي ، نو په هور او فعال کې لیږدونه د انٹرفیس ډیر خوندور کولو لپاره کافي و. ښه، هغه څوک چې سلائیڈر متحرک کړي او لیستونه عموما عالي دي.

د وروستي ټیکنالوژۍ کارول. ډیری خلکو فلیکس کارولی، مګر هیچا د گرډ په کارولو سره کار بشپړ نه کړ. نقطه شمیرل کیده که چیرې فلیکس په سمه توګه وکارول شي. که چیرې چیرې ترتیب د دې خورا انعطاف له امله جلا شوی وي ، افسوس ، تاسو هیڅ اضافي ټکي نه دي ترلاسه کړي.

د فورمې اعتبار. ټول هغه څه چې اړین وو د فورمې هرې ان پټ ته د اړتیا وړ ځانګړتیا اضافه کول وو. موږ هغو کسانو ته ټکي اضافه کړل چې د بریښنالیک ساحه یې د بریښنالیک په توګه تایید کړې.

د فایل اپلوډ تڼۍ سټایل کول. موږ تمه درلوده چې یو ترکیب وګورو لکه: او فایل غوره کړئ . بیا موږ اړتیا لرو چې ان پټ پټ کړو او لیبل سټایل کړو. بله عامه لاره شتون لري - د روڼ ان پټ کولو لپاره او د تڼۍ په سر کې یې واچوئ. مګر ټول براوزرونه سټایل کولو ته اجازه نه ورکوي ، او دا ډول حل په بشپړ ډول کراس براوزر نشي ویل کیدی. او دا د لیبل جوړولو لپاره په معنی توګه ډیر سم دی.

د کراس براوزر مطابقت. موږ ولیدل چې د عصري براوزرونو په دوه وروستي نسخو کې هرڅه سم وو (پرته له IE - ګډون کونکي بختور وو) ، په بیله بیا په سفاري کې په iPhones او کروم کې په Androids کې.

برعکس، موږ ټکي کم کړل که یو څوک JS یا Bootstrap کاروي: دا دواړه به د ټول کار هدف مات کړي. سربیره پردې ، د بوټسټریپ سره برخه اخیستونکو نه یوازې منفي ترلاسه کړ ، بلکه د سیمانټیک او پلي شوي عناصرو لپاره یې ډیری ټکي هم له لاسه ورکړل.

هغه چا چې خپل سایټ په انټرنیټ کې په کوم ځای کې کوربه کړی و کومه ځانګړې ګټه ترلاسه نه کړه - مګر بیاکتنه کونکي ډیر خوښ وو کله چې دوی د ذخیره کولو ډاونلوډ کولو او په محلي ډول په خپل کمپیوټر کې چلولو ته اړتیا نلري. نو دا د کرما لپاره د پلس په توګه خدمت وکړ.

لومړی کار د زده کونکي لپاره خورا ګټور و. هغه کسان چې موږ یې نه دي منلي اوس یو چمتو شوی بیا پیلونه لري - تاسو کولی شئ په ویاړ سره دا ټولو ځوابونو ته ضمیمه کړئ یا په خپلو GH - پاڼو کې یې پوسټ کړئ.

دوهمه دنده: د ترانسپورت لاره

د دندې لیکوال د لټون انٹرفیس ګروپ ډینس بالیکو مشر دی.

حالت

ایا تاسو د ستوري نقشه لرئ؟ دا د هر ستوري نوم ښیي، په بیله بیا په رڼا ثانیو کې د نورو ستورو څخه فاصله. د حل فنکشن پلي کړئ، کوم چې باید درې دلیلونه واخلي: یو څیز چې کلیدونه د ستورو نومونه دي، او ارزښتونه د ستورو فاصله دي (په فضا کې یو طرفه ترافیک)، او همدارنګه د نومونو نومونه د لارې پیل او پای ټکي - په ترتیب سره پیل او پای. فنکشن باید د پیل ستوري څخه پای ستوري او د تعقیب لپاره لاره ته ترټولو لنډ واټن بیرته راولي.

د فعالیت لاسلیک:

const solution = function(graph, start, finish)  {
    // Ваше решение
} 

د معلوماتو داخلولو بېلګه:

const graph = {
  start: { A: 50, B: 20 },
  A: { C: 40, D: 20 },
  B: { A: 90, D: 90 },
  C: { D: 160, finish: 50 },
  D: { finish: 20 },
  finish: {}
};
const start = 'start';
const finish = 'finish'; 

د محصول بېلګه:

{
    distance: 90,
    path: ['start', 'A', 'D', 'finish']
} 

نوټ: د حل کنکال په src/ فولډر کې دی، خپل حل په solution.js کې واچوئ.

د دویمې دندې تصدیق خورا اتوماتیک او هدف و. ډیری هلکانو اټکل وکړ چې د Dijkstra د الګوریتم پلي کولو لپاره اړین و. هغه کسان چې د دې توضیحات یې موندلي او په JS کې الګوریتم پلي کوي ښه ترسره شوي. په هرصورت، کله چې د دندې چک کول، موږ د ورته غلطیو سره ډیری کاغذونه ولیدل. موږ د کوډ ټوټې لپاره انټرنیټ وپلټئ او یوه مقاله مو وموندله چې برخه اخیستونکو د الګوریتم کاپي کړې. دا مسخره ده چې ډیری خلکو د لیکوال نظرونو سره د مقالې څخه کوډ کاپي کړی. دا ډول کارونو لږ نمرې ترلاسه کړې. موږ د کومې سرچینې کارول منع نه کوو، مګر موږ غواړو چې یو سړی د هغه څه په اړه پوه شي چې هغه لیکي.

معیارونه

اصلي ټکي د ازموینې لپاره ورکړل شوي. ځینې ​​​​وختونه دا روښانه وه چې هلکان د ذخیره کولو سره شاوخوا ګډوډي کوي ، د فولډرو نوم بدلول ، او ازموینې به په ساده ډول ناکام شي ځکه چې دوی اړین فایلونه نشي موندلی. سږ کال موږ هڅه وکړه چې د داسې هلکانو سره مرسته وکړو او هر څه د دوی لپاره خپل ځای ته راستانه شول. مګر راتلونکی کال موږ پلان لرو چې د سیالۍ سیسټم ته لاړ شو، او دا به نور معاف نشي.

دلته "انساني"، لارښود معیارونه هم وو. د مثال په توګه، د واحد کوډ سټایل شتون. هیڅوک د ځایونو پرځای یا برعکس د ټبونو کارولو لپاره ټکي نه دي کم کړي. دا بله مسله ده که تاسو د یوې قاعدې سره سم چې تاسو ته پیژندل شوي د دوه ګوني نرخونو سره یو واحد نرخونه بدیل کړئ ، او په تصادفي ډول سیمیکولون ځای په ځای کړئ.

د حل وضاحت او لوستلو وړتیا په جلا توګه په پام کې نیول شوې. د نړۍ په ټولو کنفرانسونو کې دوی وايي چې د پروګرامر 80٪ دنده د نورو خلکو کوډ لوستل دي. حتی د ښوونځي ماشومان د کوډ بیاکتنې څخه تیریږي - د دوی د مدیرانو او یو بل څخه. نو دا معیار د پام وړ وزن لري. داسې کارونه وو چې پکې د یو کرکټر څخه زیات متغیرات نه وو - مهرباني وکړئ دا کار مه کوئ. د ګډونوالو نظرونه خورا هڅونکي وو - پرته له دې چې د سټیلا چنګ نظرونو سره ورته وو.

وروستی معیار د آټوټسټس شتون دی. یوازې یو څو خلکو دوی اضافه کړل، مګر د هرچا لپاره دا د دوی په کرما کې لوی پلس شو.

سمه حل لاره:

const solution = function(graph, START, FINISH)  {
    // Всё не бесплатно в этом мире
    const costs = Object.assign({[FINISH]: Infinity}, graph[START]);

    // Первая волна родительских нод
    const parents = { [FINISH]: null };
    Object.keys(graph[START]).reduce((acc, child) => (acc[child] = START) && acc, parents)

    const visited = [];
    let node;

    // Ищем «дешёвого» родителя, отмечаем пройденные
    do {
        node = lowestCostNode(costs, visited);
        let children = graph[node];
        for (let n in children) {
            let newCost = costs[node] + children[n];

            // Ещё не оценена или нашёлся более дешёвый переход
            if (!costs[n] || costs[n] > newCost) {
                costs[n] = newCost;
                parents[n] = node;
            }
        }
        visited.push(node);
    } while (node)

    return {
        distance: costs[FINISH],
        path: optimalPath(parents)
    };

    // Возврат назад по самым «дешёвым» родителям
    function optimalPath(parents) {
        let optimalPath = [FINISH];
        let parent = parents[FINISH];
        while (parent && parent !== START) {
            optimalPath.push(parent);
            parent = parents[parent];
        }
        optimalPath.push(START);
        return optimalPath.reverse();
    }

    // Минимальная стоимость из текущей ноды среди непросмотренных
    function lowestCostNode(costs, visited) {
        return Object.keys(costs).reduce((lowest, node) => {
            if (lowest === null || costs[node] < costs[lowest]) {
                if (!visited.includes(node)) {
                    lowest = node;
                }
            }

            return lowest;
        }, null);
    };
};

دریمه دنده: د پیښو کیلنڈر

دا د انٹرفیس پراختیا کونکو سرګي کازاکوف او الکساندر پوډسکریبکین لخوا چمتو شوی.

حالت

د خپل مهالویش ښودلو لپاره یو کوچنی کیلنڈر ولیکئ. تاسو کولی شئ هر هغه مهالویش واخلئ چې تاسو یې غواړئ. د مثال په توګه، په 2019 کې د مخکښو کنفرانسونو مهال ویش.

کیلنڈر باید د لیست په څیر ښکاري. نور ډیزاین اړتیاوې شتون نلري. دا ممکنه کړئ چې د پیښې یادونه 3، 7 او 14 ورځې مخکې تنظیم کړئ. له انټرنیټ څخه د لومړي ډاونلوډ وروسته ، کیلنڈر باید خلاص او آفلاین فعالیت وکړي.

ګټورې سرچینې

د مخامخ ناستې مهالویش:
confs.tech/javascript?topics=javascript%2Bcss%2Bux

خدمتګاران:
developer.mozilla.org/ru/docs/Web/API/Service_Worker_API/Using_Service_Workers
developers.google.com/web/fundamentals/primers/service-workers

د خبرتیا API:
developer.mozilla.org/ru/docs/Web/API/Notifications_API

دریمه دنده د ازموینې لپاره خورا په زړه پوري وه ، ځکه چې دلته ډیری ممکنه حلونه شتون درلود ، هر یو یې خپل. موږ ولیدل چې کاندید څنګه ناپیژندل شوي ټیکنالوژي اداره کوي - ایا هغه پوهیږي چې څنګه تحقیق وکړي، ایا هغه خپل حلونه ازموي.

معیارونه

تړل شوی کیلنڈر. هو، دا لاهم اړتیا لري چې ایښودل شي. داسې کسان هم وو چې حالت یې په لفظي ډول اخیستی او د CSS کوډ یوه کرښه یې نه ده داخل کړې. دا خورا زړه راښکونکی نه ښکاري ، مګر که هرڅه کار وکړي ، ټکي کم نه شول.

د سرچینې څخه د پیښو لیست ترلاسه کول. دا د ترتیب دنده نه ده، نو د پیښو لیست په دې کې شامل نه دی شمیرل شوی. تاسو کولی شئ تل یو کنفرانس لغوه کړئ، بیا یې مهالویش کړئ، یا یو نوی اضافه کړئ. نو دا اړینه وه چې له بهر څخه ډاټا ترلاسه کړئ او د ترلاسه شوي JSON پراساس ترتیب وړاندې کړئ. دا مهمه وه چې ډاټا په هر ډول ترلاسه کړئ (د راوړلو میتود یا د XMLHttpRequest په کارولو سره). که چیرې یو کس د راوړلو لپاره پولیفیل اضافه کړي او خپل انتخاب په ریډم کې په نښه کړي، دا د پلس په توګه شمیرل کیږي.

د خدماتو کارمندانو ثبت کول پرته له غلطیو او د لومړي ډاونلوډ وروسته آفلاین کار وکړئ. دلته یو مثال دی په لومړي بوټ کې د مهال ویش کیچ کولو سره د خدمت کارمند. د خدماتو کارمندانو په اړه توضیحات، د دوی وړتیاوې او د دوی سره د کار کولو طریقې (د کیچونو سره د کار کولو ستراتیژی، آفلاین کار کول) دلته موندلی شئ.

د یادونې تنظیم کولو وړتیانو دا واقعیا د 3، 7، 14 ورځو وروسته کار کوي. د خبرتیا API پوهیدل اړین وو، له کوم سره اړیکه په دنده کې سمه وه. موږ د کوم ځانګړي پلي کولو تمه نه درلوده ترڅو وګورو چې ایا دا د فشار کولو وخت دی. هر کاري اختیار ومنل شو: په محلي ذخیره کې ذخیره کول، IndexDB یا د خدمت کارکونکي لخوا دوره ای رای ورکول. دا حتی ممکنه وه چې د پش سرور جوړ کړئ (دلته مثال)، مګر دا به آفلاین کار ونکړي. دا مساوي مهم و چې د پاڼي تړل کیدو وروسته فشار ترلاسه کړئ - او یو څه وخت وروسته خلاص شو. که چیرې یادونه په ورته وخت کې مړه شوه پاڼه بنده شوه، حل نه شمیرل کیږي. دا ښه ده کله چې هلکانو د بیاکتونکو په اړه فکر وکړ او دا یې ممکنه کړه چې همدا اوس فشار ترلاسه کړي - نو د 3 ورځو انتظار مه کوئ.

په ډیسټاپ کې د عکس ځای پرځای کولو وړتیا (PWA). موږ د فایل شتون چیک کړ manifest.json د سمو شبیانو سره. ځینو هلکانو دا فایل جوړ کړی (یا یې په CreateReactApp کې رامینځته شوی پریښود) - مګر سم عکسونه یې ندي اضافه کړي. بیا، کله چې د نصبولو هڅه کول، یوه تېروتنه لکه "بل عکس ته اړتیا ده" رامنځته شوه.

د کوډ سټایل او د پروژې جوړښت. لکه څنګه چې په دویمه دنده کې، موږ یو واحد کوډ سټایل ته ګورو (حتی که دا زموږ سره همغږي نه وي). ځینې ​​​​خلک په لینټرو کې خراب شوي - دا خورا ښه دی.

د کنسول تېروتنې. که چیرې په کنسول کې یو شاخص سم وي چې یو څه غلط و، او ګډون کوونکي ورته پام نه و کړی، نو موږ ټکي کم کړل.

پایلې

د ګډونوالو د پریکړو په اړه څه مسخره دي:

  • یوه پوښتنلیک لاندې متن درلود: "یو پروګرام کونکي ملګري زما سره د عکس العمل غوښتنلیک سره یوځای کولو کې مرسته وکړه. ما د هغه په ​​​​څنګ او ولې د پوښتنو سره بمباري وکړه، او هغه ماته وویل. ما دا واقعیا خوښ کړه، زه غواړم په دې اړه نور معلومات ترلاسه کړم. موږ د خپل ټول زړه سره د دې اپلیکیشن لپاره ریښه درلوده، مګر له بده مرغه، د کاندید ملګري د غوښتنلیک په کار کولو کې ډیره مرسته نه وه کړې.
  • یو کاندید GitHub ته یو لینک لیږلی، چیرې چې د RAR آرشیف موقعیت درلود - پدې اړه تبصره کول ستونزمن دي. 🙂
  • بل نوماند، د solution.js فایل په لومړۍ کرښه کې په تبصره کې، په صادقانه توګه اعتراف وکړ چې هغه د الګوریتم کاپي کړی.

موږ د 76 کاندیدانو څخه غوښتنلیکونه ترلاسه کړل او 23 کسان یې غوره کړل. موږ ته پوښتنلیکونه نه یوازې له مینسک څخه، بلکې د مسکو، سینټ پیټرزبورګ او حتی تاتارستان څخه هم لیږل شوي. ځینو هلکانو موږ د خپلو اوسنیو مسلکونو سره حیران کړل: یو یې د عدلي طب متخصص دی، او بل یې د طب محصل دی.

پایله د دندو په بشپړولو کې د بریالیتوب نرخونو په زړه پورې ویش و. ګډونوالو لومړی کار په اوسط ډول 60٪ بشپړ کړ، دوهم یې 50٪، او دریم یې خورا ستونزمن و او په اوسط ډول 40٪ بشپړ شو.

په لومړي نظر کې، دندې پیچلې او وخت نیسي. دلیل دا نه دی چې موږ غواړو د امکان تر حده ډیری نوماندان له مینځه یوسو. د دوی د روزنې په جریان کې، زده کونکي د حقیقي ژوند کارونو سره مخ کیږي - د چیٹ جوړول، د ماشومانو لپاره Yandex.Music یا د هوا پورې تړلو خلکو لپاره Yandex.Weather. د دې لپاره تاسو د پیل کولو بنسټ ته اړتیا لرئ.

ما په یاد دي چې دوه کاله دمخه زما د SRI د ننوتلو دنده لیدلې وه او فکر کوم چې زه به یې هیڅکله حل کړم. په دې وخت کې اصلي شی دا دی چې کښیني، په دقت سره شرایط ولولئ او دا یې پیل کړئ. دا معلومه شوه چې شرایط نږدې 80٪ حل لري. د مثال په توګه، د دریم کار په حالت کې (تر ټولو ستونزمن)، موږ د خدماتو کارمندانو او د خبرتیا API په MDN کې لینکونه اضافه کړل. هغه زده کونکي چې د لینکونو مینځپانګې یې مطالعه کړې پرته له کوم مشکل څخه یې بشپړې کړې.

زه واقعیا غواړم دا مقاله د هغو کاندیدانو لخوا ولوستل شي چې په راتلونکي کې SRI ته د ننوتلو پلان لري ، څوک چې د مینسک ښوونځي ته د ننوتلو توان نلري ، یا څوک چې د ازموینې بل کوم کار پیل کوي. لکه څنګه چې تاسو لیدلی شئ، دا خورا ممکنه ده چې دا کار وکړي. تاسو یوازې اړتیا لرئ په ځان باور ولرئ او د لیکوالانو ټولې لارښوونې واورئ.

سرچینه: www.habr.com

Add a comment