Obsah[Skrýt][Ukázat]
- 1. Návrh datově náročné aplikace
- 2. Návrh a analýza moderních systémů
- 3. Analýza a návrh systému Scott Tiley
- 4. Návrhový vzor Head First
- 5. Čistá architektura
- 6. Analýza a návrh systému od Dennise, Wixoma a Rotha
- 7. Rozhovor o návrhu systému od Alex Xu
- 8. Vzorce podnikové aplikační architektury
- 9. Budování mikroslužeb
- 10. Praktický návrh systému
- 11. Návrh vestavěných systémů
- 12. Rozhovor o návrhu systému: Kompletní průvodce
- 13. Návrh distribuovaného systému
- 14. Navrhování systému strojového učení
- 15. Navrhování bezpečných systémů
- 16. Analýza, návrh a testování systému
- 17. Vzor softwarové architektury pro bezserverové systémy
- 18. Cloud Native Architectures
- 19. Úvod do návrhu systémů založených na mikroprocesorech
- 20. Rozhovor o návrhu systému cracking
- Proč investovat do čističky vzduchu?
Pro studenty, kteří usilují o technické stáže, je System Design zásadním tématem. Dnešní zaměstnavatelé hledají vysokoškoláky se skvělými schopnostmi řešit problémy a solidními základy informatiky.
V mnoha rozhovorech FAANG se otázky návrhu systému staly rutinou. Návrh systému je jedním z klíčových faktorů, které určují vaši kandidaturu v technologické organizaci.
Proto je důležité, abyste materiál pevně drželi a rozuměli mu, jak nejlépe umíte. Knihy jsou nejspolehlivějším zdrojem poznání.
Autor vám chce usnadnit přenášení, zvládnutelný balíček všech vašich životních učení. Když se učíte návrh systému, neexistuje lepší způsob, jak se učit, než čtením nejdůležitějších knih od renomovaných autorů.
V tomto příspěvku je uvedeno 20 speciálně vybraných knih o návrhu systému.
Pomohou vám důkladně porozumět analýze systému a nápadům na návrh a posílí vaše sebevědomí před pohovorem o návrhu systému nebo zlepší vaše znalosti o něm.
1. Návrh datově náročných aplikací
Potíže související s daty při návrhu systému dnes zahrnují ty, které se týkají škálovatelnosti, konzistence, spolehlivosti, efektivity a udržovatelnosti.
Kromě toho může být náročné vybrat ten nejlepší nástroj pro vaši aplikaci z mnoha dostupných nástrojů (jako jsou dávkové procesory, zprostředkovatelé zpráv atd.).
Co znamená zde uvedená terminologie?
O výhodách a nevýhodách různých technologií pro zpracování a ukládání dat pojednává tato kniha autora Martina Kleppmanna.
Od základních myšlenek a algoritmů až po použití v reálném světě a podrobnosti o různých technologiích, kniha poskytuje vyčerpávající přehled systémů pro ukládání dat. Tato kniha pomůže začátečníkům urychlit proces učení začleněním zkušeností zkušených systémových architektů.
Autor ve své práci odborně kombinuje teoretické koncepty s aplikacemi v reálném světě. Každý, kdo se zajímá o velká data, distribuované systémy nebo databázové vnitřní části, by si ji měl přečíst.
Tato kniha je mnohem víc, než byste čekali. Novější přístupy, jako jsou mikroslužby, reaktivní architektury, DevOps a zpracování streamů, kombinují osvědčené metody, jako jsou architektury orientované na služby a architektury řízené událostmi.
Mnoho z těchto vzorů je účinných, když se používají nezávisle, ale jak ukazuje tato užitečná e-kniha, v kombinaci nabízejí komplexnější a přesvědčivější strategii.
2. Moderní systémový návrh a analýza
Zvažte, že chcete praktický přístup ke studiu souvisejících konceptů, schopností a metod analýza a návrh systému. Nejlepší kniha o návrhu systému pro vás v takové situaci je tato.
Tato kniha je vhodnější pro vývoj celého studentského vzdělávacího systému, protože obsahuje také část o agilních přístupech. Koncepty, schopnosti, přístupy, strategie, nástroje a perspektivy, které systémové analytiky potřebují k vytváření informačních systémů, jsou prezentovány v Modern Systems Analysis and Design, který klade větší důraz na praktickou stránku než na teoretickou.
Autoři předpokládají, že studenti absolvovali úvodní kurz počítačových systémů a že mají předchozí zkušenosti s psaním programů alespoň v jednom programovací jazyk.
Autoři poskytují koncepční a metodický rámec, přičemž logicky procházejí problematikou odkazem na životní cyklus vývoje systémů.
3. Systémová analýza a návrh Scott Tiley
Jedna z nejdůležitějších učebnic systémového designu, která je nyní dostupná, je široce uznávána jako tato kniha od Scotta Tileyho o systémovém designu. K vybudování lepších systémů použili návrháři systémů a porovnávají tradiční a nejmodernější metody.
Tato kniha vám pomůže porozumět tomu, co se změnilo, proč se změna musela udělat a proč k ní vůbec muselo dojít.
Kromě toho, že se naučíte, jak systémy fungují, se dozvíte také o cloud computingu a mobilní aplikace, mimo jiné podle autorů, kteří tvrdí, že tato kniha obsahuje části o objektově orientovaném kódování a agilní metodice, dvou dnes v podnicích nejčastěji používaných metodik.
Kniha je nabitá úkoly a cvičeními, které vás donutí nasadit si myšlenkové čepice a nově získané informace okamžitě použít.
4. Hlava první návrhový vzor
Chcete se učit od těch, kteří to udělali dříve, protože neradi začínáte od nuly, pokud jde o tvorbu softwaru. Chcete-li se poučit ze zkušeností ostatních, kteří čelili podobným problémům s návrhem systému jako vy, podívejte se na návrhové vzory.
Pomocí návrhových vzorů můžete využít znalosti ostatních, abyste se mohli soustředit na obtížnější nebo příjemnější úkoly.
Tato kniha, kterou napsali Eric Freeman a Elisabeth Robsonová, učí, jaké vzory jsou a kdy, proč a jak je používat ve svých vlastních výtvorech. Zkoumá také objektově orientované nápady, které jsou základem návrhů.
Jedná se o zábavnou metodu, jak se dozvědět o vývoji softwaru a zlepšit jeho porozumění. Budete studovat základní designové nápady a vzory, abyste mohli řešit výzvy návrhu softwaru a komunikovat v jazyce vzorů se svým týmem.
Zpočátku se to nemusí zdát „dostatečně vážné“, ale postupem času se vám věci zaryjí do mozku a rádi objevujete vzorce. Tato kniha účinně zjednodušuje a objasňuje vzorce.
5. Čistá architektura
Robert je uznávaný autor, který je autorem řady knih o agilním vývoji a čistém kódu.
Nyní by mělo být samozřejmé, že po přečtení knih Roberta C. Martina budete schopni zlepšit tok svého kódu a zahrnout agilní techniky do svých návrhových řešení kromě pochopení myšlenek návrhu systému.
Přesto se tato kniha zaměřuje na základy systémové analýzy a návrhu a také na četné potíže, se kterými se návrháři systémů potýkají při vytváření řešení v reálném světě.
V této knize jsou také popsány techniky vývoje řízeného testy a jak spouštět testy jednotek pro zvýšení efektivity systému. Pro studenty systémového designu a každého, kdo se v dnešní době snaží zvýšit úroveň svého softwaru, je tato kniha tou nejlepší dostupnou.
Clean Architecture vysvětluje rozhodnutí, která musíte udělat, a proč jsou zásadní pro váš úspěch, než aby vám jen předkládala různé možnosti a říkala: „Použij svůj nejlepší úsudek.“
6. Systémová analýza a návrh od Dennise, Wixoma a Rotha
Tato kniha poskytuje podrobné vysvětlení projektů, které lze použít v reálných situacích, což vám pomůže lépe porozumět analýze a návrhu systému. Kniha také obsahuje několik případových studií a příkladů, které jsou všechny podrobně popsány.
Tato kniha vám pomůže vylepšit vaše studie návrhu sítě a získat pevné pochopení systémových analýz a konceptů návrhu.
Podle toho, v závislosti na vašem úhlu pohledu, může být tato kniha kategorizována jak jako kniha o návrhu systému pro začátečníky, tak jako kniha o návrhu systému pro studenty informatiky střední a vyšší úrovně.
Spuštěné instance a příklady se používají k ilustraci klíčových myšlenek, které jsou následně podpořeny hloubkovými vysvětleními a dalšími funkcemi, které zdůrazňují důležité detaily a kladou důraz na akt „dělání“ kromě „učení“.
Studenti získají základní informace a schopnosti, které profesionální analytik vyžaduje, stejně jako instinkt pro přístup, nástroje a techniky při aplikaci vlastní práce na skutečné situace.
7. Rozhovor o návrhu systému od Alex Xu
Vývojáři mají často odpovědi otázky k pohovoru o návrhu systému protože jsou zastrašeni širokou škálou potenciálních možností. Ale pokud neexistuje jasná odpověď, jak na ni můžete efektivně odpovědět v rozhovoru?
Nejlepší kniha v současné době na trhu, tato se doporučuje každému, kdo se připravuje na pohovor o návrhu systému. Kniha obsahuje mnoho ilustrací a grafiky, které vám pomohou pochopit skutečnou metodu tím, že vypadají jako skutečné položky dotazníku.
Tato kniha vám navíc pomůže porozumět tomu, co chtějí náboroví manažeři ve vašem řešení vidět, a umožní vám snadno zvládnout následnou zkoušku návrhu systému. Během tohoto klíčového pohovoru vám to dodá větší sebevědomí.
Metoda, jak přistupovat k výzvě návrhu systému, je podrobně popsána v této knize. Poskytuje také několik příkladů ze skutečného světa, které ukazují, jak metodický přístup funguje, spolu s jasnými pokyny, kterými se můžete řídit.
8. Vzory podnikové aplikační architektury
Zavedení několika nových podpůrných technologií prospělo profesi vývoje podnikových aplikací. Platformy umožňující vícevrstvý objektově orientovaný vývoj, jako je Java a .NET, jsou již rozšířeny.
Přestože lze tyto nové nástroje a technologie použít k vytváření výkonných aplikací, je obtížné je uvést do praxe. Protože jejich vývojáři nerozumí architektonickým principům, které se zkušení vývojáři objektů naučili, obchodní aplikace často pravidelně selhávají.
Vývojáři podnikových aplikací čelí několika obtížím, které inspirovaly autory Patterns of Enterprise Application Architecture k napsání jejich knihy.
Autor, renomovaný objektově orientovaný designér Martin Fowler, si všiml, že stejné základní principy návrhu lze upravit a použít k řešení běžných problémů bez ohledu na změny v technologii, od Smalltalku přes CORBA, Javu až po .NET.
Martin s pomocí zkušené skupiny dobrovolníků dekonstruuje přes čtyřicet opakujících se řešení do vzorů. Konečným produktem je cenný manuál oprav, který lze použít s jakoukoli firemní aplikační platformou.
9. Stavební mikroslužby
Za posledních deset let se distribuované systémy vyvinuly z velkých monolitických aplikací náročných na kód ke kompaktnějším, nezávislým mikroslužbám. Vytváření těchto systémů má však své vlastní problémy.
Tato kniha představuje komplexní přístup k problémům, které musí systémoví architekti a správci vzít v úvahu při vytváření, správě a upgradu architektur mikroslužeb, s mnoha příklady a užitečnými pokyny.
Technologie pro mikroslužby se rychle vyvíjejí. Zatímco se autor Sam Newman ponoří do nejnovějších přístupů k navrhování, integraci, testování, nasazování a monitorování vašich vlastních autonomních služeb, dává vám pevný základ v principech.
V celé knize budete sledovat hypotetickou společnost, abyste viděli, jak vytvoření architektury mikroslužeb ovlivňuje konkrétní doménu.
10. Praktický návrh systému
Tato kniha se zaměřuje na škálování softwarových aplikací a vezme čtenáře na cestu do hloubky. Po přečtení tohoto článku budete mít lepší přehled o tom, jak vytvořit škálovatelnou aplikaci na podnikové úrovni.
Kniha prochází koncepty návrhu systému, počítačové sítě, hlavní síťové protokoly, škálovatelné mechanismy přístupu k datům a alternativní architektonické styly pro budování systému.
Provádí se podrobné zkoumání mnoha technologií a jejich implementace, včetně Cache Memory, CDN, Load Balancera Fronty zpráv.
Kniha také vysvětluje, jak vytvořit škálovatelné řešení na podnikové úrovni pomocí různých kombinací technologií. Vaše rozhodnutí o optimální cestě pro architekturu systému vám pomůže analýza několika architektonických návrhů.
Kniha také zkoumá designové vzory a objektově orientované programování techniky, které pomáhají při psaní jasného a udržovatelného kódu. Použitím několika příkladů návrhu systému v reálném světě získá čtenář intuitivní pochopení různých nástrojů a metod pro vytváření škálovatelného systému.
11. Návrh vestavěného systému
Zvláštním rysem této učebnice s otevřeným přístupem je důkladný úvod do základních pojmů vestavěných systémů s aplikacemi v kyberneticko-fyzikálních systémech a internetu věcí.
Úvodu do této oblasti předchází studium specifikačních modelů a jazyků pro vestavěné a kybernetické fyzické systémy.
Vysvětluje základy systémového softwaru pro vestavěné systémy, včetně operačních systémů pracujících v reálném čase, a poskytuje základní úvod do hardwarových komponent používaných v takových systémech.
Kromě toho autor uvádí přehled metod mapování programů na prováděcí platformy včetně vícejádrových platforem a hovoří o přístupech hodnocení a validace vestavěných systémů.
Vzhledem k tomu, že vestavěné systémy musí pracovat za přísných parametrů, kniha také obsahuje pečlivě vybraný soubor optimalizačních přístupů, jako jsou techniky optimalizace softwaru. V závěru knihy je krátce pojednáno o testování.
12. Rozhovor o návrhu systému: Kompletní průvodce
Jednou z nejvíce nenáviděných a nejnáročnějších částí technických pohovorů je pohovor o návrhu systému. Nejistoty jsou děsivé.
Ale pokud pečlivě prozkoumáte analýzy a postupy podrobně popsané v tomto časopise, budete schopni překonat všechny překážky, na které narazíte při používání technik datového inženýrství pro hodnocení.
Objevíte mnoho metod pohovorů pro inženýry. Po přečtení této příručky budete dokonale rozumět krokům nezbytným k používání aplikací náročných na data.
Po jejím přečtení, ať už jste praktik nebo nebackendový inženýr, se dozvíte mnoho o tom, jak implementovat datové systémy napříč sítěmi, včetně RDBMS, NoSQL, IMS a dalších.
13. Navrhování distribuovaného systému
Velké korporace tvrdě pracují na implementaci nových technologií pro vývoj nového zboží, postupů a obchodních modelů v boji o konkurenceschopnost na dnešních rychle se měnících trzích.
Jednou překážkou digitální transformace je však kladení přílišného důrazu na technologii a nedostatečného na druhy procesů, které technologie umožňují.
Co kdyby různé podnikové sektory mohly vytvářet své vlastní služby a aplikace a rozhodování by bylo decentralizované, nikoli centralizované? Aby bylo možné různým obchodním sektorům umožnit reagovat na data v reálném čase, zkoumá tento výzkum myšlenku digitální obchodní platformy.
V digitální korporaci se bude spousta inovací stále více odehrávat na okraji, ať už se to bude týkat zařízení IoT nebo podnikových uživatelů (od obchodníků po datové vědce).
Vaši hlavní IT zaměstnanci mohou těmto odvětvím poskytnout digitální zdroje, které potřebují k rychlému rozvoji, aby se proces zefektivnil. Tato kniha zkoumá: K vytvoření obchodních schopností prostřednictvím mezifunkčních produktových týmů jsou nutné důležité organizační a kulturní změny. systém pro propojení programů, databází, klientů, partnerů, sociální sítěa zařízení internetu věcí.
Pro účely vývoje špičkových služeb v nastavení s nízkým nebo žádným kódem jsou některými příklady nástrojů interní programování API aplikační platforma jako služba, integrační platforma jako služba a integrační software jako služba.
14. Navrhování systému strojového učení
Systémy pro strojové učení jsou složité a speciální. Jsou složité, protože mají širokou škálu součástí a zúčastněných stran.
Protože závisí na datech, která se v jednotlivých případech použití značně liší, jsou speciální.
V této knize objevíte komplexní metodu pro vytváření systémů ML, které jsou spolehlivé, škálovatelné, udržovatelné a přizpůsobitelné měnícím se prostředí a obchodním požadavkům.
Autor Chip Huyen, spoluzakladatel Claypot AI, bere v úvahu, jak může každá volba designu pomoci vašemu systému jako celku dosáhnout jeho cílů.
Příklady zahrnují, jak zacházet a vytvářet tréninková data, které funkce používat, jak často přeškolovat modely a co monitorovat. Iterativní metodologie této knihy využívá případové studie z reálného světa, které jsou podloženy množstvím zdrojů.
15. Navrhování bezpečných systémů
Technologie, fyzická bezpečnost a lidské procesy jsou v moderních systémech propojeny. Útočníci jsou si toho vědomi a často využívají chyby v jednom typu ochrany k převzetí jinak zabezpečené činnosti.
Požadujeme jediný, všezahrnující model, který lze použít k vysvětlení každé součásti systému na stejné úrovni, abychom odhalili tyto nedostatky.
Od visacích zámků po phishing až po návrh podnikového softwaru, Designing Secure Systems představuje teoretický přístup k problémům, které jsou základem všech typů systémů, a diskutovalo se o tom, jak slabiny v jedné oblasti systému vedou k zranitelnosti v jiných oblastech při implementaci rámců a standardů používaných v odvětví kybernetické bezpečnosti.
Bezpečnost celého systému, včetně jeho lidí, postupů a technologií, bude analyzována pomocí jediného modelu.
16. Systémová analýza, návrh a testování
Cílem je pomocí jednoduchého jazyka pomoci studentům A-Level pochopit koncepty systémové analýzy, návrhu systému, testování a MIS.
Cílem knihy je poskytnout čtenářům znalosti, které potřebují k pochopení systémové analýzy, aspektů návrhu a funkce testování při vývoji softwaru.
Hluboké porozumění je poskytováno prostřednictvím případových studií kromě teoretického základu. S pomocí četné grafiky v jednoduchém jazyce jsou prozkoumány standardy a pokyny pro návrh formulářů, návrh sestav, návrh GUI atd.
Stručně jsou také popsány výhody a nevýhody nástrojů CASE. Jednoduché a efektivní příklady demonstrují nejnovější standardy diagramů UML. Kniha pojednává jak o strukturované, tak o objektově orientované softwarové analýze a metodologiích návrhu.
S pomocí četných příkladů a ilustrací jsou jednoduše vysvětleny strategie shromažďování faktů, společný vývoj aplikací (JAD), přepracování obchodních procesů, techniky vývojových diagramů, diagramy toku dat, rozhodovací stromy, rozhodovací tabulky, strukturované grafy a datové slovníky. Angličtina.
Tuto knihu by si měli přečíst studenti, programátoři, výzkumní pracovníci a vývojáři softwaru, kteří chtějí porozumět, analyzovat a vytvářet software.
17. Vzor softwarové architektury pro bezserverové systémy
Tato kniha ukazuje, jak konstruovat a provozovat anti-fragilní systémy, a provede vás základními architektonickými komponentami, které umožňují změnu, jako jsou události, autonomní služby a mikro frontendy, které pohánějí softwarové systémy podnikové úrovně.
Budete segmentovat systém a nastavovat parametry tak, aby týmy mohly fungovat nezávisle a urychlit vynalézavost. Kromě mnoha vzorů návrhu autonomních služeb kniha také pokrývá události na nízké úrovni a vzory dat, které podporují celou architekturu.
Během cesty se budete soustředit na osvědčené postupy pro zabezpečení, spolehlivost, testovatelnost, pozorovatelnost a výkon.
Kniha pak shrnuje vše, co jste se naučili, a popisuje procesy nepřetržitého experimentování, zavádění a dodávání, než vám poskytne několik posledních tipů, jak začít postupovat vpřed.
Na závěr této knihy budete schopni navrhnout své vlastní, událostmi řízené, bezserverové systémy, které jsou dostatečně flexibilní, aby produkovaly hodnotu rychlostí, kterou vaše společnost vyžaduje.
18. Cloud Native Architectures
Největší pokrok v oblasti informačních technologií od doby virtualizace byl cloud computing. V porovnání s tradičními systémy máte díky cloudovým nativním návrhům větší flexibilitu.
Když organizace zjistí, že nemohou migrovat do cloudu, musí aktualizovat své vývojové modely a architektury, aby toho mohly využít.
Modernizace organizace, modernizace nasazení a architektonické vzory cloud-native jsou tři klíčové prvky, které cloud-native architektura zobrazuje při poskytování současných cloud-native architektur.
Aby bylo možné popsat a objasnit, co cloud-native architektura je a co není, začíná tato kniha krátkým úvodem do cloud-native architektur.
Seznámíte se s rámcem pro přijetí do cloudu a naučíte se vytvářet cloudové nativní architektury s využitím architektonických konceptů mikroslužeb a bezserverových počítačů.
Dále budou popsány hlavní součásti cloudového nativního designu, jako je škálovatelnost, snížení nákladů, zabezpečení a metody pro dosažení provozní dokonalosti. V posledních kapitolách také objevíte různé návrhy veřejných cloudů, od AWS a Azure až po Google Cloud Platform.
19. Úvod do návrhu systémů založených na mikroprocesorech
Tato kniha je doporučena pro studenty inženýrství a informatiky, kteří v prvním semestru navrhují systémy založené na mikroprocesorech.
Začíná shrnutím základních myšlenek, poté provede čtenáře vytvořením jednoduchého příkladu mikroprocesoru pomocí metodického přístupu k řešení problémů krok za krokem.
Instalace a programování mikropočítačových systémů postavených na druhém mikroprocesoru je poté předvedeno čtenáři. Větší porozumění a efektivitu učení poskytují četné řešené příklady a cvičení.
Kromě toho je v poslední části knihy důkladně vyvinuto, simulováno a implementováno mnoho systémů založených na mikroprocesorech, které byly postaveny výslovně pro výukové účely.
Autoři této učebnice čerpali ze svých bohatých znalostí při vytváření učebních zdrojů pro vysokoškolské a postgraduální inženýrské kurzy.
20. Rozhovor s návrhem systému cracking
Pokud chcete pokročit v oblasti softwarového inženýrství, musíte mít znalosti o návrhu systému. I když s kódováním teprve začínáte, je dobré začít s pochopením architektury systému.
Na začátku vaší kariéry budou vaše schopnosti kódování primárně určovat, jak dobře budete fungovat. Na druhé straně pohovory na vyšší úrovni často dávají větší váhu vašim znalostem a odbornosti s návrhem aplikací.
Skutečnost, že pohovory o návrhu systému jsou otevřenější a postrádají jedinou správnou odpověď, je pro inženýry činí nejnáročnějším.
Autor doufá, že vám touto knihou poskytne plán pro orientaci v těchto typech rozhovorů, protože absence organizace může být zastrašující.
Proč investovat do čističky vzduchu?
Závěrem lze říci, že výše uvedených 20 knih jsou největší online knihy o návrhu systému. Dávejte pozor, abyste jimi nebyli ohromeni a nekoupili je všechny.
Vyberte si knihu, která se vám opravdu líbí, a ujistěte se, že si ji přečtete od začátku do konce. Je lepší trpělivě číst jednu knihu, než jich rychle prolistovat několik.
Pomocí těchto knih můžete rozšířit své znalosti a dokonce můžete uspět v pohovoru o návrhu systému.
Napsat komentář