Říká se, že když se bavíte, čas letí rychle. Pro mě osobně je zábava důležitá zejména při každodenním startupu a růstu firmy. Díky ní si užívám bez ohledu na to, kolik mých vnitřních zdrojů energie sežere týden co týdenní shon.
(V příštím díle navážu na téma humoru na pracovišti a trochu ho rozvedu, protože můžu. "Proč tak vážně?").
Když už mluvíme o čase, od mého posledního zveřejnění uplynuly dva týdny, a proto je nejvyšší čas na čtvrtý díl našeho seriálu. #TheCodestReview série.
Seznam témat, kterými se tento týden zabýváme:
- Jak se dostat na háček React
- Vše, co jste kdy chtěli vědět o ukládání do mezipaměti v zobrazení Rails
- Inženýrský manažer jako hlavní náborář
Komentář o cachování zobrazení dodaný naším fullstack vývojářem a inženýrským manažerem podcast komentoval můj skromný já.
Jako populárně známý mistr aplikace Malování a obdivovatel GIFů a memů, které jsou jako čokoláda Merci - řeknou víc než 1000 slov, jsem se rozhodl, že od nynějška sem přidám jejich příchuť. A hádejte co?
Darth Sidious Myslíš si, že mě můžeš zastavit GIF z Darthsidious GIFy
Naposledy jsme se rozhodli zaměřit pozornost na StimulusReflex, který se těší pozornosti v oblasti Ruby komunitu jako nové dítě v bloku, které je alternativou k používání moderních Javascript frameworky v projektech Rails, aby nedocházelo k nadbytečnému používání.
Viz: StimulusReflex aka ReactiveRails
Aby byl souboj vyrovnaný, chtěl jsem nechat React, aby se na Stimuluse vyřádil. Protože jsem také známý čestný muž, který vždy plní, co řekne, a dostojí svým slibům, tady to je:
V příštím díle je mi potěšením a s radostí vám oznamuji, že nám bude hostovat inženýr React ze společnosti Vinted.com. Pro ty z vás, kteří o Vinted nikdy neslyšeli (malá pravděpodobnost, ale stále je to možné), Vinted je módní tržiště pocházející z litevského Vilniusu, které v roce 2019 dosáhlo ocenění jednorožce. Platforma je postavena na pevných Ruby on Rails základ podpořený React na přední části.
Poznámka na okraj: moje žena naprosto miluje Vinted a téměř úplně přestala používat OLX jako primární cíl pro deklasování našeho šatníku a prodej použitého oblečení (byla opravdovým fanouškem) = DĚLÁTE TO SPRÁVNĚ!
Je mi ctí přivítat v našem seriálu prvního hostujícího přispěvatele:
Meryl Streep Ano GIF z Merylstreep GIFy
Ugnė Kryževičiūtė - React engineer from Vinted
Když jsem si přečetl název nedávného podcastu LadyBug ("Getting Hooked On React"), očekával jsem, že se bude týkat především React Háčky. Přestože se podcast nevěnoval hlouběji tématu Hooks, poskytl vynikající úvod do základů knihovny React pro JavaScript.
Ali a Emma z podcastu LadyBug probírají zákoutí React - od obecného uspořádání knihovny a jejích výhod až po živé diskuse o komponentách, práci s daty nebo o. Životní cyklus React, a to vše se špetkou osobní zkušenosti. Stojí za poslech pro každého front-endového vývojáře, který ještě neměl možnost vyzkoušet zázraky React.
Poprvé jsem se s React setkal zhruba před třemi lety, když jsem začal svou cestu vývojáře. Přestože Ali a Emma naznačují, že React může zpočátku působit zmateně, z vlastní zkušenosti jsem zjistil, že je poměrně snadné s ním začít a že je pravděpodobně nejsnazší postupovat v porovnání s jinými front-endovými frameworky. Všude je k dispozici spousta tutoriálů, článků, open-source knihoven a dalších druhů výukových materiálů. Při procházení těchto zdrojů je však třeba mít na paměti aktivní vývoj React. Tento díl podcastu LadyBug není výjimkou - některé zmíněné aspekty a metody jsou již nějakou dobu zastaralé. Proto je nejlepší řídit se radami, které učinila sama Emma, a podívat se na nejnovější dokumentaci.
React prošel velkým vývojem a vyspělostí, takže kód psaní ještě jednodušší díky funkci Hooks, která umožňuje používat metody stavu a životního cyklu bez nutnosti psát komponenty třídy. Ale pro začátečníky - jak přesně poznamenává Ali - přidává různorodost způsobů, jakými lze React zapsat (například komponenty třída/funkce/Hooks), další složitost, protože někdy může být obtížné si představit, co se děje. Také nutnost vydestilovat to, co potřebujete, a najít relevantní informace týkající se implementace kódu může být náročné.
Jako jednu z hlavních výhod systému React Ali uvádí, že je založen na komponentách, což umožňuje modularizaci kódu a usnadňuje spolupráci s ostatními vývojáři. Kromě toho je možnost používat JSX skvělou vizuální pomůckou při práci s uživatelským rozhraním v kódu JavaScript - nemusíte mít samostatné soubory HTML!
Ali a Emma také pěkně shrnují flexibilitu, kterou poskytuje systém složek. Skvělým příkladem z praxe je moje společnost Vinted, která zažila rychlý růst, pokud jde o... produkt a také vývojové týmy pracoval na něm v posledních několika letech. React přinesl obrovské výhody - umožnil nás psát mnohem čistší kód, používat opakovaně použitelné komponenty uživatelského rozhraní a usnadnil testování našeho kódu.
Celkově tato epizoda podcastu LadyBug poskytuje živou a okouzlující diskusi o hlavních aspektech React. Doporučuji ji všem, kteří začínají svou cestu s React. Epizoda je plná vtipných příkladů a analogií s reálným životem a hladce "zaháčkuje" pozornost každého posluchače, včetně té mé.
Zobrazení v Rails jsou bohužel postupem času stále pomalejší. Je to proto, že roste množství objektů uložených v databázi. To způsobuje delší časy dotazů a samozřejmě delší zpracování, pokud s každým z objektů něco děláte. Když se to stane, nezůstáváte bez šance, protože existuje cachování pohledů Rails.
Díky tomu můžete ušetřit poměrně hodně času načítáním dat náročných na databázi z mezipaměti (načtení jednoho uloženého souboru podobného html namísto dotazu do databáze a zpracování objektů). Zlevnit to můžete i v případě různých particií a objektů - samozřejmě pokud se objekty příliš často nemění. Můžete také zkusit udržovat objekty v cache v samostatných partials - a ušetřit tak např. vykreslování 19 z 20 příspěvků (případně s velkým množstvím polí).
Ve výchozím nastavení používá mezipaměť Rails file_store a uchovává data v mezipaměti ve složkách. Neodstraňuje však staré položky mezipaměti (jejichž platnost mohla dávno vypršet). To může vést k přeplnění množství souborů nebo dokonce k vyčerpání volného místa na serveru. Druhou metodou je memory_store, která má také některé nevýhody (protože mezipaměť je uchovávána na jednom serveru). Může také překročit množství paměti RAM uchovávané na serveru (nebo nedostatek mezipaměti, pokud se bude neustále mazat). Proto je nejlepším mechanismem pro ukládání do mezipaměti ve velkém měřítku metoda Memcached/Redis. Ta dává možnost použít samostatný stroj udržující mezipaměť, kterou mohou využívat všechny servery. Díky tomu nebude problém s nedostatkem mezipaměti nebo končícím diskovým prostorem na serveru.
Mezipaměť v systému Rails je udržována na základě identifikátoru, který může být zadán přímo jako řetězec nebo je generován automaticky při předání objektu funkci mezipaměti. V případě objektů je to nejčastěji atribut updated_at. Můžete také zadat statický klíč z parametrů objektu.
Jinou metodou ukládání do mezipaměti je použití Javascriptu k aktualizaci pole, které se mění jednou denně. Tímto způsobem můžete mít neustále zobrazené platné datum, aniž byste museli obnovovat webovou stránku - jejíž spuštění může být poměrně velké nebo pomalé.
Abychom vás příliš nezklamali, panelová diskuse na téma role technického manažera v procesu přijímání zaměstnanců je velmi cenná pro všechny, kteří přemýšlejí, kdy je ten správný čas, aby technický vedoucí vstoupil do cyklu pohovorů. Na adrese Codest, praktikujeme to, co kážou panelisté, a naše CTO je prvním kontaktním místem inženýři se k nám hlásíte, zatímco v další fázi pohovorů sedí tým manažerů, s nimiž budou potenciální noví zaměstnanci úzce spolupracovat. Několik užitečných rad, které můžete ihned použít k vylepšení své hry při najímání zaměstnanců jako manažer inženýrství:
-
Zkontrolujte svůj proces a ujistěte se, že jste se do něj zapojili co nejdříve, ideálně jako první kontaktní místo pro uchazeče, protože první dojem hraje klíčovou roli v tom, jak vaši společnost vnímají největší talenti.
-
Oslovte vysoce efektivní manažery náboru ve vaší organizaci (možná toho, který vás kdysi najal) a zeptejte se, zda byste mohli sledovat některé z jejich plánovaných pohovorů, vyzkoušet si jejich techniky, zeptat se na tipy. Sledujte a učte se. Vstupujte do každého pohovoru s opravdovou zvědavostí na kandidáty.
-
Hledejte potenciál a najímejte pracovníky s potenciálem a schopností rychlého růstu.
-
Proberte inzeráty se všemi inženýry a zeptejte se jich, zda by se o práci ucházeli. Pokud ne, zeptejte se, co je na tom špatně, a použijte jejich zpětnou vazbu do inzerátu na pracovní pozici pro sestavení 2.0, který se chystáte poslat na pracovní burzy.
-
Berte první pohovor jako příležitost k navázání skvělého vztahu s potenciálními budoucími kolegy.
Doporučuji vám podívat se na celý videopanel, ale pokud máte rádi podcasty a rádi je posloucháte při řízení, cvičení nebo mytí nádobí, zde máte také Spotify. odkaz.
Moc děkuji za přečtení a pokud jste došli až sem, vážím si vašeho času a jakákoli zpětná vazba (ať už v pohodě, nebo mě smetete) je více než vítána na adrese LinkedIn nebo do mého e-mail.
Brzy se k vám vrátíme s dalším dílem!
Yippie IWill See You Soon Dancing GIF z Yippieiwillseeyousoon GIFy
Přečtěte si více:
TheCodestReview #3 - týdenní šťáva ze softwarového inženýrství
TheCodestReview #2 - týdenní šťáva softwarového inženýrství
TheCodestReview #1 - týdenní šťáva ze softwarového inženýrství