Pasakojimas apie dvi svetaines

Lėtos pažangos ir savirefleksijos svarba

Tanya Nevidoma nuotrauka „Unsplash“

„Ei, kadangi jūs mokotės koduoti, ar manote, kad galėtumėte padaryti mane svetaine?“

Esu tikras, kad mes visi girdėjome šį klausimą anksčiau. Tai priklauso nuo to, kad esate žiniatinklio kūrėjas. Pirmą kartą tai išgirdau 2016 m. Kovo mėn. Mano žmona buvo grafikos dizainerė, norėjusi įsitraukti į UI / UX sritį. Savo įgūdžius ji norėjo parodyti internetiniame aplanke.

Tuo metu tik 3 mėnesius mokiausi interneto svetainių kūrimo (pradėjau kaip Naujųjų metų rezoliucija). Baigiau keletą HTML, CSS ir „JavaScript“ kursų ir norėjau išsikepti dantis į sultingą projektą.

Taip, aš galiu tai padaryti už jus. Neturėtų užtrukti per ilgai. “

Tai užtruko keturis mėnesius.

Gana greitai supratau, kad per daug įkandau. Tačiau būdamas naivus, taip pat buvau ryžtingas. Įdėjau viską, ką turėjau, į tą svetainę. Kai nedirbau savo darbo, aš arba kodavau, arba ieškojau „Stack Overflow“.

Dažniausiai ieškoma kamino perpildymo, jo daug.

Nepaisant streso ir įtampos, kurį šis projektas sukėlė, aš nebūčiau jautęsis kuo didžiuotis, pirmą kartą pamatęs jį gyvai savo naršyklėje.

Tai buvo mano darbas. Aš buvau tai padaręs.

Naudodama savo naują svetainę, mano žmona sugebėjo rasti UX dizainerio vaidmenį Niujorke. Mes abu atsisakėme darbo ir persikėlėme iš Sietlo. Tai buvo mano pirmojo galvojimo apie programavimą pradžia.

Po dviejų metų

„Ei, ar manote, kad galėtumėte atnaujinti mano svetainę?“

Buvo 2018 m. Birželis ir nemažai dalykų pasikeitė. Per tuos dvejus trumpus metus mano žmona išvyko iš UX dizainerio į produktų dizainerį, kad sukurtų startuolio pavyzdį. Ji norėjo naujo atnaujinimo, kuris atspindėtų tą augimą.

"Taip, aš galiu tai padaryti."

Stengiausi skambėti kiek įmanoma pasitikėdamas savimi, tačiau dvejojau. Prisiminiau, kiek laiko prireikė jos interneto svetainės sukūrimui. Nebuvau tikras, kad turėjau ištvermę ir protinę ištvermę antrą kartą. Tai mane išsekino.

Mano pasitikėjimas savimi dar labiau sukrėtė, kai pradėjau kasinėti seną kodą. Per dvejus metus to nepažvelgiau. Nebuvo senatvės. Nors UI vis dar dirbo ir atrodė gerai, „front-end“ buvo netvarka. Atrodė, lyg ji būtų laikoma kartu su juostine juosta.

Kalbant apie „kodo kvapą“, jis kilo kaip gaisras su šiukšlėmis.

Nors mano žmona norėjo tik atnaujinimo, naršyti po šią bazinę bazę buvo sudėtinga. Pradėti nuo nulio buvo lengviau. Manęs nejaudino mintis pradėti iš naujo. Bet nors mano žmona per pastaruosius porą metų labai augo, aš taip pat. Aš ja pasinaudojau kaip proga apmąstyti, kiek išmokau.

Pradėti švieži

Pirmą dieną, kai pradėjau kurti naują savo žmonos svetainę, žinojau, kad tai netruks 3 mėnesių. Tą pirmą dieną aš galėjau nuveikti daugiau nei per savaitę. Galų gale reikėjo tik maždaug savaičių laiko, kol baigti atnaujinti.

Tai galite pamatyti tiesiogiai čia: irissprague.co

irissprague.co

Nors buvau sužavėtas, kaip greitai aš sugebėjau jį sukurti, nebuvau visiškai tikras, kodėl tai buvo padaryta taip greitai. Aišku, aš dar dvejus metus praleidau diržą, bet ko būtent aš išmokau per tuos dvejus metus?

Svertiniai įrankiai

Pirmas dalykas, kurį pastebėjau, buvo mano sugebėjimas panaudoti įrankius. Matote, dvejais metais anksčiau aš labai mažai žinojau apie atvirojo kodo įrankius. Pirmoji mano žmonos svetainė buvo sukurta naudojant neapdorotą HTML, CSS, „JavaScript“ ir šiek tiek PHP. Nors tai savaime nėra blogai, aš neturėjau idėjos peržiūros šablonų.

Kiekvieną HTML failą parašiau nuo nulio. Siekdama išlaikyti nuoseklumą, nukopijavau visus pakartotus elementus. Deja, tai reiškė, kad vieno puslapio pakeitimas reiškia kito pakeitimą.

Antruoju bandymu išvengiau visų tų kopijavimo ir derinimo valandų naudodamas HAML šablonus ir „Flexbox“.

Ačiū „Flexbox“

Sukurkite proceso automatizavimą

Kita priežastis, dėl kurios pirmosios svetainės kūrimas užtruko tiek ilgai, buvo ta, kad aš neturėjau sąvokos apie kūrimo procesą. Visus 3 mėnesius kūriau pirmąją savo žmonos portfelį, visa tai darydavau vietoje savo mašinos.

Kiekvieną kartą atlikęs didelį pakeitimą, aš turėčiau pagąsdinti savo žmoną, kad ji patikrintų mano nešiojamojo kompiuterio pakeitimus. Jei tai nebuvo pakankamai blogai, kai atėjo laikas pateikti mano pakeitimus į gamybos serverį, aš net neįsivaizdavau, nuo ko pradėti.

Aš buvau taip susikoncentravęs į tai, kad svetainė veiktų, net net negalvojau, kaip ją pateiksiu internete. Niekada nebuvau girdėjęs apie „DigitalOcean“, „Docker“ ar „Heroku“.

Vienintelė tuo metu žinojusi prieglobos paslauga buvo „Godaddy“. „Godaddy“ naudoja „cPanel“ failams įkelti į patį serverį. Deja, „cPanel“ leido failus įkelti tik po vieną.

Tai užtruko valandas. Ir kai man reikėjo pakeisti bet kurį išteklius, turėčiau iš naujo įkelti tuos redaguotus failus rankiniu būdu.

Kai tos klaidos įsirėžė į atmintį, aš investavau į savo kūrimo proceso tobulinimą. Automatizavau savo CI / CD darbo eigą naudodamas „Docker Compose“. Turėdamas vieną „docker-comp-up“ -d komandą, galėčiau panaudoti visą svetainę gamybai.

Aš net sukūriau mažą bash scenarijų, kad galėčiau sujungti „Git“ ir „Docker“ komandas.

Bet kokie mano atlikti pakeitimai gali būti gyvi per mažiau nei minutę. „cPanel“ buvo praeitis.

Taip pat naudojau „DigitalOcean“ lašelį, kad mano žmona pamatytų visus mano padarytus pakeitimus. Ji galėjo peržiūrėti redagavimus savo kompiuteryje apsilankydama lašelio IP adrese. Nebereikia vystyti tik vietos.

Mes su žmona taip pat patobulinome mūsų projektavimo ir tobulinimo procesą. 2016 m. Dizainas daugiausia buvo padarytas naudojant „Photoshop“ ir žodžiu.

„Ar galite tai pakeisti? Ar galite tai pridėti? “

Nei vienam iš mūsų tai nepatiko.

Šiuo metu žmona ir aš naudojome „Invision“ bendradarbiauti. Galėjau pamatyti jos dizaino pakeitimus realiuoju laiku ir įgyvendinti per kelias minutes.

Mažiausios galios jungtys.

Patobulintas problemų sprendimas

Tai nebus staigmena, tačiau per pastaruosius 2 metus tapau geresnis ir greitesnis programuotojas. Bet svarbiausias patobulinimas buvo mano sugebėjimas spręsti problemas.

Man nereikėjo ieškoti, kaip sukurti tinklelius CSS ar sukurti vaizdų karuselę „JavaScript“. Turėjau įrankius ir pagrindus, kurių man reikėjo, norint tuos klausimus išspręsti pats. Galėčiau praleisti daugiau laiko sraute ir mažiau laiko gurkšnoti kiekvieną problemą, su kuria susidūriau.

Aš taip pat žinojau, kaip padaryti daugiau su mažiau. Mano pirmojoje svetainėje buvo šimtai „JavaScript“ eilučių, kad būtų galima padaryti paprasčiausias animacijas. Naujoje svetainėje yra tik 70 eilučių. CSS perėjimai ir pagrindiniai rėmeliai tvarko likusius dalykus.

CSS teikdami pirmenybę „JavaScript“ pagerina kiekvieno puslapio našumą, nes sumažėja DOM dažymas. Vis dėlto tai nebuvo vienintelis mano atliktas optimizavimas.

Optimizavimas

Prieš dvejus metus negalvojau, kaip sukurti atlikėjų svetainę, ir aš negalvojau. Tiesiog norėjau, kad prakeiktas dalykas veiktų. Dabar, kai supratau pagrindus ir galvojau aukštesniu abstrakcijos lygiu, galėčiau sutelkti dėmesį į didesnių problemų sprendimą. Būtent našumas ir vartotojo patirtis.

Sudarant statinius failus, aptarnaujant juos per „DigitalOcean“ kompaktinį diską ir talpykloje laikant juos naršyklėje, atnaujintą svetainę galima įkelti žaibišku greičiu.

Spektaklio įvertinimas iš „Pingdom“

2016 m. Tas ankstesnis sakinys man atrodytų niūrus. O, kaip pasikeitė laikai.

Neskubėkite įvertinti, kiek išmokote

Taigi kodėl aš visa tai sakau? Dantyti savo ragą? Galbūt šiek tiek.

Tikroji priežastis yra ta, kad noriu pabrėžti savirefleksijos svarbą. Aš nesiryžau atnaujinti savo žmonos svetainės, nes dar nesupratau, kiek aš užaugau. Sunku pamatyti sumą, kurią progresuojate kiekvieną dieną.

Žinios kaupiasi viena po kitos. Tačiau žvelgiant atgal per ilgą laiką, šie coliai tampa labai greiti. Japonijos kultūroje ši nedidelių kasdienių patobulinimų idėja yra žinoma kaip „kaizen“.

Man svarbu atsiminti, kur buvau savo karjeros pradžioje. Vizualizuodamas savo evoliuciją mane motyvuoja, kai pataikiau į plokščiakalnius. Ebbs ir srautai yra neišvengiami. Aš įsipareigoju žengti į priekį vienu coliu vienu metu, kaip einu link savo tikslų.

Taigi, kaip duoklė meistriškumui ir atsimenant savo šaknis, pirmoji mano žmonos svetainė gyvens kaip asmeninės mano svetainės padomenis. Galite patys tai pamatyti svetainėje kaizen.sunli.co.

Noriu pasakyti „Launch School“ specialų šauksmą, kad jis išmokė man lėto kelio į meistriškumą svarbos. Tai tikslas, kurio aš ir toliau sieksiu.

Ir dar vienas šauksmas mano žmonai Iris Sprague už tai, kad tiesiog stebina.

Taigi, ar jūs programuojate 10 mėnesių, 10 ar daugiau metų, skirkite laiko apmąstyti, kiek išmokote. Naudokite jį kaip kurą, kai laikas jaučiasi lėtai. Investicijos į lėtą kelią į meistriškumą pagilino rezultatus. Iš pradžių palaipsniui, bet turėdamas pakankamai laiko, tu pulsi kaip raketa.

Jei šis straipsnis atsiliepė jums, palikite keletą patarimų ir praneškite, kaip užaugote per savo karjerą. Aš norėčiau apie tai išgirsti!

Kaip visada, laimingas kodavimas!