Interface Development School: kusanthula ntchito za Minsk ndi seti yatsopano ku Moscow
Lero anthu olembetsa atsopano atsegulidwa Yandex Interface Development School ku Moscow. Gawo loyamba la maphunziro lidzachitika kuyambira Seputembara 7 mpaka Okutobala 25. Ophunzira ochokera kumidzi ina adzatha kutenga nawo mbali patali kapena payekha - kampaniyo idzalipira maulendo ndi malo ogona mu hostel. Yachiwiri, komanso gawo lomaliza, lidzatha mpaka Disembala 3, litha kumalizidwa mwa munthu.
Dzina langa ndi Yulia Seredich, tinalemba izi pamodzi ndi Sergei Kazakov. Tonse ndife opanga mawonekedwe muofesi ya Minsk ya Yandex ndi omaliza maphunziro a SRI kuyambira zaka zam'mbuyomu.
Pa nthawi yotsegulira kulembetsa ku Moscow, tikusindikiza kusanthula kwa ntchito zoyambira ku Sukulu yapitayi - kuno ku Minsk.
Ngati mutsatira mbiri ya magawo a SRI, chaka ndi chaka tinkayesa maluso atatu ofunikira kwa wopanga mapulogalamu:
Webusaiti yopangidwa. Izi zikuwoneka zoonekeratu, koma anyamata ena adalumpha midadada - mwina amafuna kusunga nthawi, kapena sakanatha. Mapangidwewo amatha kugawidwa m'magulu anayi akuluakulu: chophimba chachikulu chokhala ndi avatar, chipika chokhala ndi mndandanda wazoyembekeza kuchokera ku SRI, chipika chokhala ndi mbiri komanso chipika chokhala ndi zidziwitso. Zitha kupangidwa m'magawo kapena kungogwiritsa ntchito ma div, chachikulu ndikuti midadada yonse inayi inalipo.
Kugwirizana kwa masanjidwe ndi masanjidwe. Wopangayo adapanga mawonekedwe osiyana (kuphatikiza mitundu, kalembedwe, mabatani, ndi zina) kuti zitheke kwa ofuna kusankha. Pansi pake panali chithunzithunzi pa ma indents ndi mawonekedwe a chophimba choyamba. Ndinakondwera kwambiri ndi anyamata omwe adaganizira zofuna zonse za wopanga: mwachitsanzo, chophimba choyamba sichiyenera kukhala chocheperapo kusiyana ndi kutalika kwa mawonekedwe.
Mapangidwe osinthika - apa ndipamene mawonekedwe ake sanangoikidwa kuti paziganizo zitatu zonse ndi pixel to pixel mu masanjidwe. M'madera apakati, mapangidwewo sayenera kugwa. Ena adayiwala kuchepetsa kukula kwa chidebecho ndikuyika chilichonse kukhala ma pixel a 1920, ena adasokoneza maziko, koma onse omwe adasankhidwa adakwanitsa ntchitoyi bwino.
Mapangidwe a Semantic. "Kodi adauza dziko kangati" kuti ulalowo upangidwe ngati , batani - monga . Mwamwayi, osankhidwa ambiri adakwaniritsanso izi. Sikuti aliyense adazindikira mndandanda wobisika pazoyembekeza za SRI, ndikupangitsa kugwiritsa ntchito ma div tag, koma sizoyipa. Panali munthu wina amene anaikapo ma tag onse a semantic omwe amawadziwa - komwe kunali kofunikira komanso komwe sikunali kofunikira. Mwachitsanzo, m'malo mwa mndandanda - ndi . Kupatula apo, semantics - ndizokhudza kumvetsetsa kapangidwe ka tsamba lanu komanso cholinga cha chipika chilichonse (apa ambiri adachiyendetsa), komanso kugwiritsa ntchito ma pre- ndi / kapena post-processors (apa ochepa adawongolera, ngakhale izi zinalinso mu mfundo - nthawi zambiri amalumikiza zochepa ndi scss) .
Slider yogwira ntchito. Mu gawo lomwe tidalemba kuti JS singagwiritsidwe ntchito. Apa kuthekera kothana ndi mavuto kudayesedwa - slider ikhoza kupangidwa pogwiritsa ntchito gulu Ndipo . Zamatsenga zonse zimachitika pamlingo wosankha #button-N:checked ~ .slider-inner .slider-slides. Tikadina pa imodzi mwamabokosi olowetsamo, imapita kumalo osankhidwa. Titha kutengapo mwayi ndikugawa zomasulira zomwe tikufuna ku chidebe chokhala ndi masilayidi: sinthani: masulira(-33%). Mutha kuwona kukhazikitsidwa kwa slider apa.
Mindandanda yotsitsa. Apa zonse zidafikanso ndi chosankha chofanana: .accordion-chinthu cholowetsa:chosungidwa ~ .accordion-chinthu__content. Mutha kuwona kukhazikitsa apa.
Kutsimikizira Fomu. Chomwe chinafunikira chinali kuwonjezera chikhumbo chofunikira pa zolemba zilizonse za fomuyo. Tinawonjezera mfundo kwa iwo omwe adatsimikizira gawo la imelo ngati imelo.
Dinani batani lotsitsa fayilo. Tinkayembekeza kuwona kuphatikiza monga: ndi Sankhani fayilo . Kenako tinkafunika kubisa zolowetsamo ndikusintha chizindikirocho. Palinso njira ina yodziwika bwino - kupanga zolowetsa zowonekera ndikuziyika pamwamba pa batani. Koma si asakatuli onse amalola makongoletsedwe , ndipo yankho lotere silingatchulidwe kuti kusakatula kwathunthu. Ndipo ndizolondola kwambiri kupanga chizindikiro.
Kugwirizana kwa msakatuli. Tidawona kuti zonse zinali bwino m'mitundu iwiri yaposachedwa ya asakatuli amakono (popanda IE - otenga nawo mbali anali ndi mwayi), komanso Safari pa iPhones ndi Chrome pa Androids.
M'malo mwake, tidachotsa mfundo ngati wina atagwiritsa ntchito JS kapena Bootstrap: onsewo angagonjetse cholinga cha ntchito yonseyo. Komanso, omwe ali ndi Bootstrap sanangolandira zochepa chabe, komanso anataya mfundo zambiri za semantics ndi zinthu zomwe zakhazikitsidwa.
Iwo omwe adasunga malo awo kwinakwake pa intaneti sanalandire mwayi uliwonse - koma owunikirawo anali okondwa kwambiri pomwe sanafunikire kutsitsa zosungira ndikuziyendetsa kwanuko pamakompyuta awo. Chifukwa chake izi zidakhala ngati chowonjezera cha karma.
Ntchito yoyamba inali yothandiza kwambiri makamaka kwa wophunzira. Omwe sitinawavomereze tsopano ali ndi kuyambiranso kokonzekera - mutha kulumikiza monyadira ku mayankho onse kapena kuziyika pamasamba anu a gh.
Ntchito 2: Njira yamayendedwe
Wolemba ntchitoyo ndiye mtsogoleri wa gulu lofufuzira Denis Balyko.
Mkhalidwe
Kodi muli ndi mapu a nyenyezi? Imasonyeza dzina la nyenyezi iliyonse, komanso mtunda wochoka nayo kukafika ku nyenyezi zina mβmasekondi owala. Gwiritsani ntchito yankho, lomwe liyenera kutenga mfundo zitatu: chinthu chomwe mafungulo ndi mayina a nyenyezi, ndipo mfundo zake ndi mtunda wopita ku nyenyezi (njira imodzi mumlengalenga), komanso mayina a nyenyezi. poyambira ndi pomaliza njira - kuyamba ndi kumaliza, motsatana. Ntchitoyi iyenera kubweza mtunda waufupi kwambiri kuchokera ku nyenyezi yoyambira kupita ku nyenyezi yomaliza ndi njira yoti muzitsatira.
Zindikirani: Mafupa othetsera vutoli ali mu src/foda, ikani yankho lanu mu solution.js.
Kutsimikizira kwa ntchito yachiwiri inali yodzichitira yokha komanso cholinga. Ambiri mwa anyamatawo ankaganiza kuti kunali koyenera kugwiritsa ntchito algorithm ya Dijkstra. Iwo omwe adapeza kufotokozera kwake ndikukhazikitsa ma algorithm mu JS achita bwino. Komabe, pofufuza ntchitoyo, tinapeza mapepala ambiri okhala ndi zolakwika zofanana. Tidafufuza pa intaneti kuti tipeze zidutswa za ma code ndipo tidapeza nkhani yomwe otenga nawo mbali adakopera algorithm. Ndizoseketsa kuti anthu ambiri adakopera ma code a m'nkhaniyi pamodzi ndi ndemanga za wolemba. Ntchito zoterozo zinalandira mphambu yochepa. Sitiletsa kugwiritsa ntchito magwero aliwonse, koma tikufuna kuti munthu afufuze bwino zomwe walemba.
Makhalidwe
Mfundo zazikuluzikulu zinaperekedwa pamayeso. Nthawi zina zinali zoonekeratu kuti anyamatawo akusokoneza malo osungiramo zinthu, kusintha mafoda, ndipo mayesero amalephera chifukwa chakuti sangapeze mafayilo ofunikira. Chaka chino tidayesetsa kuthandiza anyamata otere ndikubwezera chilichonse pamalo ake kwa iwo. Koma chaka chamawa tikukonzekera kusinthana ndi dongosolo la mpikisano, ndipo izi sizidzakhululukidwanso.
Panalinso "anthu", njira zamanja. Mwachitsanzo, kukhalapo kwa kalembedwe ka code kamodzi. Palibe amene adachotsa mfundo zogwiritsa ntchito ma tabu m'malo mwa mipata kapena mosemphanitsa. Ndi nkhani ina ngati mutasintha mawu amodzi ndi mawu awiri malinga ndi lamulo limodzi lodziwika kwa inu, ndikuyika ma semicolons mwachisawawa.
Kumveka bwino ndi kuwerenga kwa yankho kunaganiziridwa mosiyana. Pamisonkhano yonse padziko lapansi amati 80% ya ntchito ya wolemba mapulogalamu imakhala ndi kuwerenga ma code a anthu ena. Ngakhale ana asukulu amawunikanso ma code - kuchokera kwa oyang'anira awo komanso kuchokera kwa wina ndi mnzake. Choncho muyezo uwu unali wolemera kwambiri. Pakhala pali ntchito zomwe zinalibe zosinthika motalika kuposa munthu m'modzi - chonde musatero. Ndemanga za omwe adatenga nawo mbali zinali zolimbikitsa kwambiri - kupatula zomwe zinali zofanana ndi zomwe Stella Chang adanena.
Chotsatira chomaliza ndi kukhalapo kwa autotests. Ndi anthu owerengeka okha omwe adawawonjezera, koma kwa aliyense zidakhala zowonjezera mu karma yawo.
Kupeza mndandanda wa zochitika kuchokera kugwero. Iyi si ntchito yokonza, kotero mndandanda wa zochitika zomwe zaphatikizidwamo sizinawerengedwe. Mukhoza kuletsa msonkhano nthawi zonse, kuukonzanso, kapena kuwonjezera wina. Chifukwa chake kunali kofunikira kulandira deta kuchokera kunja ndikupereka masanjidwewo potengera JSON yolandiridwa. Zinali zofunikira kupeza deta mwanjira iliyonse (pogwiritsa ntchito njira yopezera kapena kugwiritsa ntchito XMLHttpRequest). Ngati munthu awonjezera polyfill kuti akatenge ndikuyika chisankho chake mu readme, izi zimawerengedwa ngati kuphatikiza.
Kulembetsa kwa ogwira ntchito popanda zolakwika ndikugwira ntchito popanda intaneti mukatsitsa koyamba. Nachi chitsanzo wogwira ntchito ndi ndandanda caching pa boot yoyamba. Zambiri za ogwira ntchito, kuthekera kwawo ndi njira zogwirira ntchito nawo (njira zogwirira ntchito ndi ma cache, kugwira ntchito popanda intaneti) zitha kupezeka apa.
Kutha kukhazikitsa chikumbutsokotero kuti imagwira ntchito pambuyo pa 3, 7, 14 masiku. Zinali zofunikira kumvetsetsa API ya Notifications, link kuti anali pa ntchito. Sitinali kuyembekezera kukhazikitsidwa kwina kulikonse kuti tiwone ngati nthawi yakwana. Njira iliyonse yogwirira ntchito idavomerezedwa: kusungidwa mu LocalStorage, IndexDB kapena kuvota kwanthawi ndi nthawi ndi wogwira ntchito. Zinali zotheka kupanga seva yokankhira (apa chitsanzo), koma sizingagwire ntchito popanda intaneti. Zinali zofunikiranso kulandira kukankhira tsambalo litatsekedwa - ndikutsegulidwa pakapita nthawi. Ngati chikumbutsocho chinafa nthawi yomweyo tsambalo linatsekedwa, yankho silinawerengedwe. Ndizozizira pamene anyamatawo adaganizira za owunikirawo ndikupangitsa kuti athe kukankhira pakali pano - kuti asadikire masiku atatu.
Kutha kuyika chizindikiro pa desktop (PWA). Tinayang'ana kupezeka kwa fayilo kuwonekera.json ndi zithunzi zolondola. Anyamata ena adapanga fayiloyi (kapena kuisiya kuti ipangidwe mu CreateReactApp) - koma sanawonjezere zithunzi zolondola. Kenako, poyesa kukhazikitsa, cholakwika ngati "chithunzi china chikufunika" chinachitika.
Codestyle ndi kapangidwe ka polojekiti. Monga mu ntchito yachiwiri, tinayang'ana pa codestyle imodzi (ngakhale siinagwirizane ndi yathu). Anyamata ena amawombera pa linter - ndizo zabwino.
Zolakwika za Console. Ngati pali chizindikiro mu console kuti chinachake sichili bwino, ndipo wophunzirayo sanamvetsere, ndiye kuti tinachotsa mfundo.
Zotsatira
Chosangalatsa ndi chiyani pazisankho za omwe atenga nawo mbali:
Kapepala ka mafunso kanali ndi mawu otsatirawa: βMnzanga wina wochita mapulogalamu anandithandiza kupanga pulogalamu ya React. Ndinamufunsa mafunso okhudza bwanji komanso chifukwa chiyani, ndipo anandiuza. Ndinalikonda kwambiri, ndikufuna kudziwa zambiri za izo. " Tinkafuna kugwiritsa ntchito pulogalamuyi ndi mtima wathu wonse, koma mwatsoka, bwenzi la wosankhidwayo silinathandize kwambiri kuti ntchitoyo igwire ntchito.
Wosankhidwa m'modzi adatumiza ulalo ku GitHub, pomwe malo osungira a RAR anali - ndizovuta kuyankhapo pa izi. π
Wosankhidwa wina, mu ndemanga pa mzere woyamba wa fayilo ya solution.js, adavomereza moona mtima kuti adakopera algorithm.
Tinalandira zopempha kuchokera kwa anthu 76 ndipo tinasankha anthu 23. Tinatumizidwa mafunso osati kuchokera ku Minsk, komanso ku Moscow, St. Petersburg ngakhale ku Tatarstan. Ena mwa anyamatawa adatidabwitsa ndi ntchito zawo zamakono: mmodzi wa iwo ndi katswiri wazamalamulo, ndipo winayo ndi wophunzira zachipatala.
Zotsatira zake zinali kugawa kosangalatsa kwa mitengo yopambana pakumaliza ntchito. Ophunzirawo adamaliza ntchito yoyamba ndi pafupifupi 60%, yachiwiri ndi 50%, ndipo yachitatu inali yovuta kwambiri ndipo inamalizidwa ndi pafupifupi 40%.
Poyang'ana koyamba, ntchitozo zimawoneka zovuta komanso zowononga nthawi. Chifukwa chake sikuti tikufuna kuchotsera osankhidwa ambiri momwe tingathere. Pa maphunziro awo, ophunzira akukumana ndi ntchito zenizeni - kupanga macheza, Yandex.Music kwa ana kapena Yandex.Weather kwa anthu omwe amadalira nyengo. Kwa ichi muyenera maziko oyambira.
Ndikukumbukira ndikuwona ntchito yanga yolowera ku SRI zaka ziwiri zapitazo ndikuganiza kuti sindingathetse. Chinthu chachikulu panthawiyi ndikukhala pansi, kuwerenga mosamala zikhalidwe ndikuyamba kuchita. Iwo likukhalira kuti zinthu muli pafupifupi 80% ya yankho. Mwachitsanzo, mu ntchito yachitatu (yovuta kwambiri), tinawonjezera maulalo kwa ogwira ntchito ndi Notification API pa MDN. Ophunzira omwe adaphunzira zomwe zili mu maulalo adamaliza popanda zovuta.
Ndikufuna kwambiri kuti nkhaniyi iwerengedwe ndi omwe akukonzekera kulowa mu SRI m'tsogolomu, omwe sanathe kulowa mu Minsk School, kapena omwe akuyamba kuchita ntchito ina iliyonse yoyesera. Monga mukuonera, nβzotheka kutero. Muyenera kungokhulupirira nokha ndikumvera malangizo onse ochokera kwa olemba.