Содржина[Крие][Прикажи]
- 1. Дизајнирање на апликација за интензивна податоци
- 2. Современ дизајн и анализа на системот
- 3. Системска анализа и дизајн од Скот Тајли
- 4. Шефот прв дизајн шема
- 5. Чиста архитектура
- 6. Системска анализа и дизајн од Денис, Виксом и Рот
- 7. Интервју за дизајн на системот од Алекс Ксу
- 8. Шаблони на претпријатие за апликативна архитектура
- 9. Градење на микроуслуги
- 10. Практичен дизајн на системот
- 11. Дизајн на вграден систем
- 12. Интервју за дизајн на системот: Целосен водич
- 13. Дизајнирање на дистрибуиран систем
- 14. Дизајнирање на систем за машинско учење
- 15. Дизајнирање на безбедни системи
- 16. Системска анализа, дизајн и тестирање
- 17. Шема на софтверска архитектура за системи без сервери
- 18. Cloud Native Architectures
- 19. Вовед во дизајн на систем базиран на микропроцесори
- 20. Интервју за дизајн на системот за пукање
- Заклучок
За студентите кои се стремат кон технички пласмани, дизајнот на системот е суштинска тема. Денешните работодавци бараат студенти со големи способности за решавање проблеми и солидни основи за компјутерски науки.
Во многу интервјуа на FAANG, прашањата за дизајн на системот станаа рутина. Дизајн на системот е еден од клучните фактори кои ја одредуваат вашата кандидатура во технолошка организација.
Затоа, од клучно значење е да имате цврст стисок на материјалот и да го разберете најдобро што можете. Книгите се најсигурниот извор на знаење.
Авторот сака да ви го олесни носењето, податлив пакет од сите ваши животни учења. Кога се учи дизајнот на системот, нема подобар начин за учење отколку преку читање на најважните книги напишани од реномирани автори.
20 специјално избрани книги за дизајн на системот се наведени во овој пост.
Тие ќе ви помогнат во темелно разбирање на системската анализа и дизајн идеи и ќе ја зајакнат вашата самоувереност пред интервју за дизајн на системот или ќе го подобрат вашето знаење за тоа.
1. Дизајнирање на апликација со интензивни податоци
Тешкотиите поврзани со податоците во дизајнот на системот денес ги вклучуваат оние поврзани со приспособливост, конзистентност, доверливост, ефикасност и одржливост.
Дополнително, може да биде предизвик да се избере најдобрата алатка за вашата апликација од бројните достапни (како што се сериски процесори, брокери за пораки итн.).
Што значи терминологијата овде?
Предностите и недостатоците на различните технологии за обработка и складирање податоци се дискутирани во оваа книга на авторот Мартин Клепман.
Од основни идеи и алгоритми до употреба во реалниот свет и детали за различни технологии, книгата дава исцрпен преглед на системите за складирање податоци. Оваа книга ќе им помогне на почетниците да ги забрзаат нивните процеси на учење преку инкорпорирање на искуството на искусни системски архитекти.
Авторот стручно ги комбинира теоретските концепти со реалните апликации во неговата работа. Секој што е заинтересиран за големи податоци, дистрибуирани системи или интерна база на податоци треба да ги прочита.
Оваа книга е многу повеќе отколку што можете да очекувате. Поновите пристапи како микросервисите, реактивните архитектури, DevOps и стрим обработката ги комбинираат испробаните и вистинити методи како архитектури ориентирани кон услуги и архитектури управувани од настани.
Многу од овие модели се ефективни кога се користат независно, но како што покажува оваа корисна е-книга, кога се комбинираат, тие нудат посеопфатна и поубедлива стратегија.
2. Современ дизајн и анализа на системот
Сметајте дека сакате практичен пристап за проучување на концептите, способностите и методите поврзани со системска анализа и дизајн. Најдобрата книга за дизајн на системот за вас во таа ситуација е оваа.
Оваа книга е посоодветна за развој на цел систем за учење на студентите бидејќи има и дел за агилни пристапи. Концептите, способностите, пристапите, стратегиите, алатките и перспективите неопходни за системските аналитичари да креираат информациски системи се претставени во Анализа и дизајн на современи системи, што става поголем акцент на практичното отколку на теоретското.
Според авторите, студентите посетувале воведен курс за компјутерски системи и дека имаат претходно искуство во пишување програми во најмалку една програмски јазик.
Писателите даваат концептуална и методска рамка додека логично се движат низ прашањата со упатување на животниот циклус на развој на системот.
3. Системска анализа и дизајн од Скот Тајли
Еден од најважните учебници за дизајн на системи што сега е достапен е широко признат како оваа книга на Скот Тајли за дизајн на системот. За да изградат подобри системи, системските дизајнери користеле и споредуваат традиционални и најсовремени методи.
Оваа книга ќе ви помогне да разберете што се променило, зошто морало да се направи промената и зошто на прво место морало да се направи.
Покрај тоа што ќе научите како функционираат системите, ќе научите и за cloud computing и мобилни апликации, меѓу другото, според авторите, кои тврдат дека оваа книга содржи делови за објектно-ориентирано кодирање и агилна методологија, две од најчесто користените методологии во бизнисите денес.
Книгата е преполна со задачи и вежби кои ќе ве натераат да ставите капачиња за размислување и веднаш да ги користите новостекнатите информации.
4. Шефот прв дизајн шема
Сакате да учите од оние кои поминале претходно бидејќи не ви се допаѓа да почнувате од нула кога станува збор за создавање софтвер. За да научите од искуствата на другите кои се соочиле со слични предизвици за дизајнирање на системот како вашите, гледате да дизајнирате модели.
Преку употребата на дизајнерски модели, можете да го искористите знаењето на другите за да можете да се концентрирате на потешки или попријатни задачи.
Оваа книга, напишана од Ерик Фримен и Елизабет Робсон, учи што се моделите и кога, зошто и како да ги користите во вашите сопствени креации. Исто така, ги истражува објектно-ориентираните идеи кои ги поткрепуваат дизајните.
Ова е забавен метод за учење и подобрување на вашето разбирање за развојот на софтвер. Ќе ги проучувате фундаменталните дизајнерски идеи и обрасци за да можете да ги решите предизвиците за дизајн на софтвер и да комуницирате на јазик со шаблони со вашиот тим.
Можеби на почетокот не изгледа „доволно сериозно“, но како што поминува времето, работите се лепат во вашиот мозок и сакате да откривате обрасци. Оваа книга ефикасно ги поедноставува и разјаснува шаблоните.
5. Чиста архитектура
Роберт е успешен автор кој е автор на голем број книги за агилен развој и чист код.
Сега, не треба да се каже дека откако ќе ги прочитате книгите на Роберт Ц. Мартин, ќе можете да го подобрите протокот на вашиот код и да вклучите агилни техники во вашите решенија за дизајн, покрај разбирањето на идеите за дизајн на системот.
Сепак, оваа книга се фокусира на основите на системската анализа и дизајн, како и на бројните тешкотии со кои се соочуваат системските дизајнери додека создаваат реални решенија.
Исто така, во оваа книга се опфатени и техниките за развој управувани од тестови и како да се извршат тестови за единици за да се зголеми ефикасноста на системот. За студентите за дизајн на системи и за сите кои се обидуваат да го подигнат стандардот на нивниот софтвер овие денови, оваа книга е најдобрата достапна.
Clean Architecture ги објаснува одлуките што треба да ги донесете и зошто тие се од суштинско значење за вашиот успех, наместо само да ви презентира различни можности и да ви каже: „Користете го најдоброто расудување“.
6. Системска анализа и дизајн од Денис, Виксом и Рот
Оваа книга дава длабински објаснувања за проекти кои се применливи во реални ситуации, што ви помага подобро да ја разберете анализата и дизајнот на системот. Книгата вклучува и неколку студии на случај и примери, од кои сите се детално детално опишани.
Оваа книга ќе ви помогне да ги подобрите студиите за мрежен дизајн и да добиете цврсто разбирање за системската анализа и концептите за дизајн.
Според тоа, во зависност од вашата перспектива, оваа книга може да се категоризира и како книга за дизајн на системот за почетници и како книга за дизајн на системот за студенти по компјутерски науки на средно и повисоко ниво.
Тековните примери и примери се користат за да се илустрираат клучните идеи, кои потоа се поддржани со детални објаснувања и други карактеристики кои нагласуваат важни детали и ставаат акцент на чинот на „правење“ покрај „учењето“.
Студентите ги стекнуваат основните информации и способности што ги бара професионалниот аналитичар, како и инстинкт за пристап, алатки и техники додека ја применуваат сопствената работа во реални ситуации.
7. Интервју за дизајн на системот од Алекс Ксу
Програмерите често ги имаат одговорите на прашања за интервју за дизајн на системот бидејќи тие се заплашени од огромната палета на потенцијални избори. Но, ако нема јасен одговор, како можете ефективно да одговорите на тоа во интервју?
Најдобрата книга моментално на пазарот, оваа се препорачува за секој кој се подготвува за интервју за дизајн на системот. Книгата вклучува многу илустрации и графики кои ви помагаат да го разберете вистинскиот метод со тоа што изгледаат како вистински ставки од прашалникот.
Дополнително, оваа книга ќе ви помогне да разберете што сакаат да видат менаџерите за вработување во вашето решение, овозможувајќи ви лесно да го завршите вашиот последователен испит за дизајн на системот. Тоа ќе ви даде повеќе самоувереност во текот на ова клучно интервју.
Методот за пристап до предизвикот за дизајнирање на системот е детално изложен во оваа книга. Исто така, обезбедува неколку примери од вистинскиот свет за да покаже како функционира методскиот пристап, заедно со јасни упатства што можете да ги следите.
8. Шаблони на Enterprise of Application Architecture
Воведувањето на неколку нови технологии за овозможување ја искористи професијата за развој на корпоративни апликации. Платформите кои овозможуваат повеќеслоен објектно-ориентиран развој, како што се Java и.NET, се веќе широко распространети.
Иако овие нови алатки и технологии можат да се користат за создавање моќни апликации, тешко е да се применат во пракса. Бидејќи нивните програмери не ги разбираат архитектонските принципи што ги научиле искусни развивачи на објекти, деловните апликации честопати не успеваат на редовна основа.
Развивачите на апликации за претпријатија се соочуваат со неколку потешкотии, кои ги инспирираа авторите на Шаблони на Enterprise Application Architecture да ја напишат својата книга.
Авторот, познатиот објектно-ориентиран дизајнер Мартин Фаулер, забележа дека истите основни принципи на дизајн може да се модифицираат и да се применат за да се решат заедничките прашања без оглед на промените во технологијата, од Smalltalk до CORBA до Java до .NET.
Мартин деконструира повеќе од четириесет повторувачки решенија во обрасци со помош на група доброволци со знаење. Крајниот производ е вреден прирачник за поправки што може да се користи со која било платформа за корпоративна апликација.
9. Градење на микросервис
Во текот на изминатите десет години, дистрибуираните системи еволуираа од големи монолитни апликации со интензивни кодови до покомпактни, независни микросервиси. Сепак, создавањето на овие системи има свои предизвици.
Оваа книга претставува сеопфатен пристап кон прашањата кои системските архитекти и администратори мора да ги земат предвид при креирање, администрирање и надградба на архитектури на микросервис, со многу примери и корисни насоки.
Технологиите за микроуслуги се развиваат брзо. Додека истражувам во најновите пристапи за дизајнирање, интегрирање, тестирање, распоредување и следење на вашите сопствени автономни услуги, авторот Сем Њуман ви дава цврста основа во принципите.
Во текот на целата книга, ќе следите хипотетичка корпорација за да видите како создавањето архитектура на микросервис влијае на одреден домен.
10. Практичен дизајн на системот
Концентрацијата на оваа книга е на скалирање на софтверски апликации и го носи читателот на длабинско патување. Откако ќе ја прочитате оваа статија, ќе имате подобро разбирање за тоа како да изградите скалабилна апликација на ниво на претпријатие.
Книгата поминува низ концепти за дизајн на системот, компјутерски мрежи, главни мрежни протоколи, скалабилни механизми за пристап до податоци и алтернативни архитектонски стилови за градење на системот.
Спроведена е детална истрага на бројни технологии и нивна имплементација, вклучувајќи Кеш меморија, CDN, Баланс на оптоварување, и Редици за пораки.
Книгата, исто така, објаснува како да се изгради скалабилно решение на ниво на претпријатие користејќи различни технолошки комбинации. Вашата одлука за оптималната патека за системска архитектура е потпомогната од вашата анализа на неколку архитектонски дизајни.
Книгата, исто така, ги испитува дизајнерските модели и објектно-ориентирано програмирање техники кои помагаат во пишување јасен код кој може да се одржува. Со користење на повеќе примери за дизајн на системот од реалниот свет, читателот ќе добие интуитивно разбирање за различни алатки и методи за производство на скалабилен систем.
11. Вграден дизајн на системот
Обезбедувањето темелно вовед во основните концепти во вградените системи, со апликации во сајбер-физичките системи и Интернетот на нештата, е посебна карактеристика на овој учебник со отворен пристап.
Студијата за спецификација модели и јазици за вградени и сајбер-физички системи претходи на вовед во областа.
Ги објаснува основите на системскиот софтвер за вградени системи, вклучувајќи оперативни системи во реално време, и дава основен вовед во хардверските компоненти што се користат во таквите системи.
Дополнително, авторот презентира преглед на методите за мапирање на програмите на платформи за извршување, вклучително и мулти-јадрени платформи, и зборува за пристапите за евалуација и валидација за вградените системи.
Бидејќи вградените системи мора да работат под строги параметри, книгата исто така вклучува рачно избрана колекција на пристапи за оптимизација, како што се техники за оптимизација на софтвер. Во заклучокот на книгата, накратко се дискутира за тестирањето.
12. Интервју за дизајн на системот: Целосен водич
Еден од најомразените и најпредизвикувачките делови на техничките интервјуа за работа е интервјуто за дизајн на системот. Неизвесностите се застрашувачки.
Но, ако внимателно ги испитате анализите и процедурите детално опишани во ова списание, ќе можете да ги надминете сите пречки на кои ќе се сретнете додека користите техники за инженерство на податоци за проценки.
Ќе ги откриете многуте методи за интервјуирање за инженерите. Ќе имате целосно разбирање за чекорите неопходни за користење на апликации со интензивни податоци откако ќе го прочитате овој прирачник.
Откако ќе го прочитате, без разлика дали сте практичар или не-заднински инженер, ќе научите многу за тоа како да ги имплементирате податочните системи низ мрежите, вклучувајќи ги RDBMS, NoSQL, IMS и други.
13. Дизајнирање на дистрибуиран систем
Големите корпорации напорно работат на имплементирање на нова технологија за развој на нови стоки, процедури и деловни модели во борбата да се натпреваруваат на денешните пазари кои брзо се движат.
Сепак, ставањето преголем акцент на технологијата и недоволно на видовите процеси што ги дозволува технологијата е една бариера за дигиталната трансформација.
Што ако на различни корпоративни сектори им беше дозволено да креираат свои услуги и апликации, а одлучувањето беше децентрализирано наместо централизирано? Со цел да им се овозможи на различните деловни сектори да одговорат на податоците во реално време, ова истражување ја истражува идејата за дигитална деловна платформа.
Во дигиталната корпорација, многу иновации сè повеќе ќе се случуваат на работ, без разлика дали тоа вклучува IoT уреди или деловни корисници (од маркетери до научници за податоци).
Вашиот главен ИТ персонал може да им ги даде на овие индустрии дигиталните ресурси што им се потребни за брзо развивање со цел да се насочи процесот. Оваа книга истражува: Потребни се важни организациски и културни промени за да се воспостават деловни способности преку меѓуфункционални тимови за производи. систем за поврзување на програми, бази на податоци, клиенти, партнери, социјални мрежи, и уреди за Интернет на нештата.
Со цел да се развијат најсовремени услуги во поставки со низок код или без код, внатрешно програмирање на API Апликациска платформа како услуга, Интеграциона платформа како услуга и софтвер за интеграција како услуга се неколку примери на алатки.
14. Дизајнирање на систем за машинско учење
Системите за машинско учење се сложени и посебни. Тие се сложени бидејќи имаат широк спектар на составни делови и засегнати страни.
Бидејќи тие зависат од податоците, кои во голема мера варираат од еден случај до друг, тие се посебни.
Во оваа книга ќе откриете сеопфатен метод за создавање ML системи кои се сигурни, скалабилни, одржувани и приспособливи на променливата околина и деловните барања.
Авторот Чип Хујен, ко-основачот на Claypot AI, зема предвид како секој избор на дизајн може да му помогне на вашиот систем како целина да ги постигне своите цели.
Примерите вклучуваат како да се ракуваат и да се произведуваат податоци за обука, кои карактеристики да се користат, колку често да се преквалификуваат моделите и што да се следи. Итеративната методологија на оваа книга користи реални студии на случај кои се поткрепени со мноштво извори.
15. Дизајнирање на безбедни системи
Технологијата, физичката безбедност и човечките процеси се сите поврзани во современите системи. Напаѓачите се свесни за ова и често ги користат предностите на пропустот во еден вид заштита за да преземат инаку безбедна активност.
Потребен ни е единствен, сеопфатен модел кој може да се примени за да се објасни секоја компонента на системот на еднаква основа со цел да се открие овие недостатоци.
Од катанци до фишинг до дизајн на корпоративен софтвер, Designing Secure Systems претставува пристап заснован на теорија за прашањата кои се во основата на сите типови системи и дискутира како слабостите во една област на системот доведуваат до ранливости во други области додека ги имплементираат рамките и стандардите што се користат во индустријата за сајбер безбедност.
Безбедноста на целиот систем, вклучувајќи ги неговите луѓе, процедури и технологија, ќе се анализира со користење на единствен модел.
16. Системска анализа, дизајн и тестирање
Целта е да се користи едноставен јазик за да им се помогне на студентите од А-ниво да ги разберат концептите на системска анализа, дизајн на системот, тестирање и MIS.
Книгата е наменета на читателите да им го даде знаењето што им е потребно за да ја разберат системската анализа, аспектите на дизајнот и функцијата на тестирање во развојот на софтвер.
Во-длабочината на разбирање е обезбедено преку студии на случај во прилог на теоретска основа. Со помош на бројни графики на едноставен јазик, истражени се стандарди и упатства за дизајн на форма, дизајн на извештаи, дизајн на GUI итн.
Придобивките и недостатоците на алатките CASE се исто така накратко опфатени. Едноставните и ефективни примери ги демонстрираат најновите стандарди за UML дијаграми. Книгата ги разгледува и структурираните и објектно-ориентирани софтверски анализи и методологии за дизајн.
Со помош на бројни примери и илустрации, стратегиите за собирање факти, заеднички развој на апликации (JAD), реинженеринг на деловните процеси, техники на дијаграми на текови, дијаграми на проток на податоци, стебла на одлуки, табели за одлуки, структурирани графикони и речници на податоци се објаснети во едноставни Англиски.
Студентите, програмерите, истражувачите и развивачите на софтвер кои сакаат да разберат, анализираат и градат софтвер треба да ја прочитаат оваа книга.
17. Шема на софтверска архитектура за системи без сервери
Оваа книга покажува како да се конструираат и водат анти-кревки системи и ве води низ основните архитектонски компоненти кои дозволуваат промена, како што се настани, автономни услуги и микро предни делови, кои ги напојуваат софтверските системи за претпријатие-одделение.
Ќе сегментирате систем и ќе поставите параметри за тимовите да можат да работат независно и да ја забрзаат брзината на пронајдокот. Заедно со многуте модели за дизајн на автономни услуги, книгата опфаќа и настани на ниско ниво и обрасци на податоци кои ја поддржуваат целата архитектура.
Ќе се концентрирате на најдобрите практики за безбедност, доверливост, можност за тестирање, набљудување и перформанси додека одите.
Книгата потоа спојува сè што сте научиле со опишување на процесите на континуирано експериментирање, распоредување и испорака пред да ви даде неколку последни совети како да започнете да се движите напред.
Со заклучокот на оваа книга, ќе можете да дизајнирате ваши системи управувани од настани, без сервери, кои се доволно флексибилни за да создадат вредност со брзината што ја бара вашата компанија.
18. Cloud Native Architectures
Најголемиот револуционерен напредок во информатичката технологија од виртуелизацијата е облак компјутери. Имате поголема флексибилност со дизајните на облак во споредба со традиционалните системи.
Кога организациите ќе откријат дека не можат да мигрираат во облакот, тие мора да ги ажурираат своите развојни модели и архитектури за да профитираат од ова.
Модернизација на организацијата, модернизација на распоредување и архитектонски обрасци на облак се трите клучни елементи што ги прикажува архитектурата на Cloud-Native кога испорачува современи архитектури на облак.
Со цел да се опише и разјасни што е и што не е архитектура на облак, оваа книга започнува со краток вовед во архитектурите на облакот.
Ќе добиете разбирање за рамката за усвојување на облак и ќе научите како да креирате архитектури на облак, користејќи ги архитектонските концепти на микросервисите и компјутерите без сервери.
Следно, ќе бидат опфатени главните компоненти на дизајнот на облакот, како што се приспособливост, намалување на трошоците, безбедност и методи за постигнување оперативна извонредност. Исто така, ќе откриете различни дизајни на јавни облак, од AWS и Azure до Google Cloud Platform, во последните поглавја.
19. Вовед во дизајн на систем базиран на микропроцесори
За студентите по инженерство и компјутерски науки кои го следат својот прв семестар за дизајн на систем базиран на микропроцесор, оваа книга се препорачува.
Започнува со резиме на основните идеи, а потоа го води читателот низ градењето на директен пример за микропроцесор користејќи методски, чекор-по-чекор пристап за решавање проблеми.
Инсталирањето и програмирањето на микрокомпјутерски системи изградени околу втор микропроцесор потоа му се прикажуваат на читателот. Поголемото разбирање и ефективноста на учењето овозможуваат многубројните решени инстанци и вежби.
Дополнително, многу системи засновани на микропроцесори кои се изрично изградени за наставни цели се темелно развиени, симулирани и имплементирани на платформи базирани на FPGA во последниот дел од книгата.
Писателите на овој учебник го црпеа своето богатство на знаење додека создаваа ресурси за учење за додипломски и постдипломски инженерски курсеви.
20. Интервју за дизајн на системот за пукање
Мора да имате знаење за дизајнот на системот доколку сакате да напредувате во областа на софтверското инженерство. Дури и ако штотуку почнувате со кодирање, добра идеја е да започнете со разбирање на архитектурата на системот.
На почетокот на вашата кариера, вашите способности за кодирање првенствено ќе одредат колку добро работите. Од друга страна, интервјуата на повисоко ниво честопати ќе му дадат поголема тежина на вашето знаење и експертиза со дизајнот на апликациите.
Фактот дека интервјуата за дизајнирање на системот се поотворени и немаат единствен правилен одговор, ги прави најпредизвикувачките за инженерите да ги завршат.
Со оваа книга, авторот се надева дека ќе ви обезбеди патоказ за навигација на вакви интервјуа бидејќи отсуството на организација може да биде застрашувачко.
Заклучок
Како заклучок, 20-те книги наведени погоре се најголемите книги за системски дизајн на интернет. Внимавајте да не се преоптоварите со нив и да ги купите сите.
Изберете книга во која навистина уживате и не заборавајте да ја прочитате од корица до корица. Пожелно е трпеливо да прочитате една книга отколку брзо да прелистувате неколку од нив.
Можете да го зголемите вашето знаење со помош на овие книги, па дури и да успеете да го поминете интервјуто за дизајн на системот.
Оставете Одговор