-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreferences.bib
764 lines (701 loc) · 59.1 KB
/
references.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
@misc{microservices_wiki,
title = {Microservices - {Wikipedia}},
copyright = {Creative Commons Attribution-ShareAlike License},
url = {https://en.wikipedia.org/w/index.php?title=Microservices&oldid=952339717},
abstract = {Microservices are a software development technique —a variant of the service-oriented architecture (SOA) structural style— that arranges an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight.},
language = {en},
urldate = {2020-04-23},
journal = {Wikipedia},
month = apr,
year = {2020},
note = {Page Version ID: 952339717},
file = {Snapshot:files/2/index.html:text/html}
}
@book{birk_ferdi,
title = {Eine {State}-of-the-{Art} {Bestandsaufnahme} und {Abgrenzung} zu {SOA}},
language = {de},
author = {Birk, Ferdinand},
month = dec,
year = {2016},
file = {Birk - Eine Stautned-oAf-tbhger-eAnrztunBgesztuanSdOsAauf.pdf:files/3/Birk - Eine Stautned-oAf-tbhger-eAnrztunBgesztuanSdOsAauf.pdf:application/pdf}
}
@misc{rodgers_peter,
title = {Service-{Oriented} {Development} on {NetKernel}- {Patterns}, {Processes} \& {Products} to {Reduce} {System} {Complexity} {\textbar} {CloudEXPO}},
url = {https://web.archive.org/web/20180520124343/http://www.cloudcomputingexpo.com/node/80883},
urldate = {2020-04-23},
journal = {CloudComputingExpo 2005},
author = {Rodgers, Peter},
month = may,
year = {2018},
keywords = {Einfrührung, Geschichte, Zielsetzung},
file = {Snapshot:files/6/80883.html:text/html}
}
@incollection{dragoni_microservices_2017,
location = {Cham},
title = {Microservices: Yesterday, Today, and Tomorrow},
isbn = {978-3-319-67425-4},
url = {https://doi.org/10.1007/978-3-319-67425-4_12},
shorttitle = {Microservices},
abstract = {Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Before presenting the current state of the art in the field, this chapter reviews the history of software architecture, the reasons that led to the diffusion of objects and services first, and microservices later. Finally, open problems and future challenges are introduced. This survey primarily addresses newcomers to the discipline, while offering an academic viewpoint on the topic. In addition, we investigate some practical issues and point out a few potential solutions.},
pages = {195--216},
booktitle = {Present and Ulterior Software Engineering},
publisher = {Springer International Publishing},
author = {Dragoni, Nicola and Giallorenzo, Saverio and Lafuente, Alberto Lluch and Mazzara, Manuel and Montesi, Fabrizio and Mustafin, Ruslan and Safina, Larisa},
editor = {Mazzara, Manuel and Meyer, Bertrand},
urldate = {2020-04-23},
date = {2017},
langid = {english},
doi = {10.1007/978-3-319-67425-4_12},
file = {Submitted Version:/Users/eddie/Zotero/storage/ZW754BBK/Dragoni et al. - 2017 - Microservices Yesterday, Today, and Tomorrow.pdf:application/pdf}
}
@book{sieben_wochen,
location = {Beijing},
edition = {1 edition},
title = {Sieben Wochen, sieben Sprachen},
isbn = {978-3-89721-322-7},
abstract = {Mit diesen sieben Sprachen erkunden Sie die wichtigsten Programmiermodelle unserer Zeit. Lernen Sie die dynamische Typisierung kennen, die Ruby, Python und Perl so flexibel und verlockend macht. Lernen Sie das Prototyp-System verstehen, das das Herzstück von {JavaScript} bildet. Erfahren Sie, wie das Pattern Matching in Prolog die Entwicklung von Scala und Erlang beeinflusst hat. Entdecken Sie, wie sich die rein funktionale Programmierung in Haskell von der Lisp-Sprachfamilie, inklusive Clojure, unterscheidet. Erkunden Sie die parallelen Techniken, die das Rückgrat der nächsten Generation von Internet-Anwendungen bilden werden. Finden Sie heraus, wie man Erlangs "Lass es abstürzen"-Philosophie zum Aufbau fehlertoleranter Systeme nutzt. Lernen Sie das Aktor-Modell kennen, das das parallele Design bei Io und Scala bestimmt. Entdecken Sie, wie Clojure die Versionierung nutzt, um einige der schwierigsten Probleme der Nebenläufigkeit zu lösen. Hier finden Sie alles in einem Buch. Nutzen Sie die Konzepte einer Sprache, um kreative Lösungen in einer anderen Programmiersprache zu finden – oder entdecken Sie einfach eine Sprache, die Sie bisher nicht kannten. Man kann nie wissen – vielleicht wird sie sogar eines ihrer neuen Lieblingswerkzeuge.},
pagetotal = {360},
publisher = {O'Reilly Verlag {GmbH} \& Co. {KG}},
author = {Tate, Bruce A.},
date = {2011-06-01}
}
@online{ruby_org,
title = {Ruby on Rails},
url = {https://rubyonrails.org/},
abstract = {A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller ({MVC}) pattern.},
titleaddon = {Ruby on Rails},
urldate = {2020-04-27},
langid = {english},
note = {Library Catalog: rubyonrails.org},
file = {Snapshot:/Users/eddie/Zotero/storage/RP348MYN/rubyonrails.org.html:text/html}
}
@online{react_webpage,
title = {React – Eine {JavaScript} Bibliothek zum Erstellen von Benutzeroberflächen},
url = {https://de.reactjs.org/},
shorttitle = {React},
abstract = {Eine {JavaScript} Bibliothek zum Erstellen von Benutzeroberflächen},
urldate = {2020-04-27},
langid = {english},
note = {Library Catalog: de.reactjs.org},
file = {Snapshot:/Users/eddie/Zotero/storage/MXQZW5XB/de.reactjs.org.html:text/html}
}
@online{amazon_homepage,
title = {Amazon Web Services ({AWS}) - Cloud Computing Services},
url = {https://aws.amazon.com/},
shorttitle = {{AWS} Homepage},
abstract = {Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.},
titleaddon = {Amazon Web Services, Inc.},
urldate = {2020-04-27},
langid = {american},
note = {Library Catalog: aws.amazon.com},
file = {Snapshot:/Users/eddie/Zotero/storage/A3CJ6423/aws.amazon.com.html:text/html}
}
@online{docker_container,
title = {What is a Container? {\textbar} App Containerization {\textbar} Docker},
url = {https://www.docker.com/resources/what-container},
shorttitle = {What is a Container?},
abstract = {A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. Learn more.},
urldate = {2020-04-27},
langid = {english},
note = {Library Catalog: www.docker.com},
file = {Snapshot:/Users/eddie/Zotero/storage/T5SGWXCC/what-container.html:text/html}
}
@online{github_actions,
title = {Features • {GitHub} Actions},
url = {https://github.com/features/actions},
shorttitle = {Github Actions},
abstract = {Easily build, package, release, update, and deploy your project in any language—on {GitHub} or any external system—without having to run code yourself.},
titleaddon = {{GitHub}},
urldate = {2020-04-27},
langid = {english},
note = {Library Catalog: github.com},
file = {Snapshot:/Users/eddie/Zotero/storage/2K2FSWYX/actions.html:text/html}
}
@online{aws_ecs,
title = {{AWS} {\textbar} Amazon {EC}2 Container \& Konfigurationsmanagement},
url = {https://aws.amazon.com/de/ecs/},
shorttitle = {{AWS} {ECS}},
abstract = {Amazon {ECS} ist ein hoch skalierbarer, sehr leistungsfähiger Container-Orchestrierungs-Service, der Docker-Container unterstützt und Ihnen die problemlose Ausführung und Skalierung von auf Containern ausgeführten Anwendungen in {AWS} ermöglicht.},
titleaddon = {Amazon Web Services, Inc.},
urldate = {2020-04-27},
langid = {german},
note = {Library Catalog: aws.amazon.com},
file = {Snapshot:/Users/eddie/Zotero/storage/D7QPX82L/ecs.html:text/html}
}
@online{aws_fargate,
title = {{AWS} Fargate – Container ausführen, ohne Server oder Cluster zu verwalten},
url = {https://aws.amazon.com/de/fargate/},
shorttitle = {{AWS} Fargate},
abstract = {{AWS} Fargate ist eine Datenverarbeitungs-Engine für Amazon {ECS} und {EKS}, mit der Sie Container ausführen können, ohne Server oder Cluster verwalten zu müssen.},
titleaddon = {Amazon Web Services, Inc.},
urldate = {2020-04-27},
langid = {german},
note = {Library Catalog: aws.amazon.com},
file = {Snapshot:/Users/eddie/Zotero/storage/AGRTDTBQ/fargate.html:text/html}
}
@online{postgresql,
title = {{PostgreSQL}: The world's most advanced open source database},
url = {https://www.postgresql.org/},
shorttitle = {{PostgreSQL}},
urldate = {2020-04-27},
file = {PostgreSQL\: The world's most advanced open source database:/Users/eddie/Zotero/storage/D2MPUGB8/www.postgresql.org.html:text/html}
}
@book{baron_aws_2016,
edition = {1},
title = {{AWS} Certified Solutions Architect Official Study Guide: Associate Exam (Aws Certified Solutions Architect Official: Associate Exam)},
isbn = {978-1-119-13855-6},
url = {https://www.amazon.com/gp/offer-listing/1119138558/?tag=wwwcampusboocom587-20&condition=used},
shorttitle = {{AWS} Study Guide},
pagetotal = {435},
publisher = {Sybex},
author = {Baron, Joe and Baz, Hisham and Bixler, Tim},
urldate = {2020-04-27},
date = {2016},
file = {Amazon.com\: Einkaufsangebote\: AWS Certified Solutions Architect Official Study Guide\: Associate Exam (Aws Certified Solutions Architect Official\: Associate Exam):/Users/eddie/Zotero/storage/KDICTJAG/1119138558.html:text/html}
}
@online{aws_amplify,
title = {{AWS} Amplify},
url = {https://aws.amazon.com/de/amplify/},
titleaddon = {Amazon Web Services, Inc.},
urldate = {2020-04-28},
langid = {german},
note = {Library Catalog: aws.amazon.com},
file = {Snapshot:/Users/eddie/Zotero/storage/4W44KBTJ/amplify.html:text/html}
}
@book{wolff_microservices_2018,
edition = {2 edition},
title = {Microservices: Grundlagen flexibler Softwarearchitekturen ({eBook})},
shorttitle = {Microservices},
abstract = {Eine Microservices-Architektur unterteilt Software-Systeme in eine Vielzahl kleiner Dienste, die unabhängig voneinander in Produktion gebracht werden können. Jedes Team arbeitet dabei an seinen Microservices und ist weitgehend entkoppelt von anderen Teams, das erlaubt eine einfache Skalierung agiler Prozesse. Die Aufteilung in Microservices schützt gegen den Verfall der Architektur, sodass die Systeme auch langfristig wartbar bleiben. Zudem können Legacy-Systeme durch Microservices ergänzt werden, ohne dabei den alten Code zu ändern. Und auch Continuous Delivery ist einfacher umsetzbar.Eberhard Wolff bietet Ihnen in diesem Buch eine umfangreiche Einführung in das Thema Microservices. Dabei geht es u.a. um:Vor- und Nachteile des Microservice-{AnsatzesMicroservices} vs. {SOADie} übergreifende Architektur von Microservice-{SystemenDie} Architektur einzelner {ServicesAuswirkungen} auf Projektorganisation, Betrieb, Testen und {DeploymentNanoservicesDas} Buch erläutert technologieneutrale Konzepte und Architekturen, die mit verschiedenen Technologien umgesetzt werden können. Als Beispiel für einen konkreten Technologie-Stack wird Java mit Spring Boot, dem Netflix-Stack und Spring Cloud gezeigt.Anhand von vielen Beispielen und konkreten Szenarien lernen Sie, wie Microservices möglichst gewinnbringend genutzt werden können. Außerdem erhalten Sie Anregungen, das Gelernte durch eigene Experimente weiter zu vertiefen.In der zweiten Auflage wurde der Abschnitt zu Domain-Driven Design komplett überarbeitet. Erweitert wurde die beispielhafte Beschreibung von Microservices-Technologien: Neben dem Netflix-Stack werden nun auch Alternativen erwähnt. Außerdem wurden die Essays zur Evolution von Microservices und zu Microservices in der Amazon Cloud aktualisiert.},
pagetotal = {384},
publisher = {dpunkt.verlag},
author = {Wolff, Eberhard},
date = {2018-07-25}
}
@book{newman_monolith_2019,
edition = {1 edition},
title = {Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith ({eBook})},
shorttitle = {Monolith to Microservices},
abstract = {How do you detangle a monolithic system and migrate it to a microservice architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman’s extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture.With many illustrative examples, insightful migration patterns, and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You’ll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture.Ideal for organizations looking to transition to microservices, rather than {rebuildHelps} companies determine whether to migrate, when to migrate, and where to {beginAddresses} communication, integration, and the migration of legacy {systemsDiscusses} multiple migration patterns and where they {applyProvides} database migration examples, along with synchronization {strategiesExplores} application decomposition, including several architectural refactoring {patternsDelves} into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more},
pagetotal = {272},
publisher = {O'Reilly Media},
author = {Newman, Sam},
date = {2019-11-14}
}
@online{aws_lambda,
title = {{AWS} Lambda Data Processing - Datenverarbeitungsdienste},
url = {https://aws.amazon.com/de/lambda/},
shorttitle = {{AWS} Lambda},
abstract = {{AWS} Lambda ermöglicht es Ihnen, können Sie Code auszuführen, ohne dafür Server bereitstellen und verwalten zu müssen. Finden Sie heraus, was {AWS} Lambda ist, wie es funktioniert und wie Sie Ihren Code für fast jede Anwendungsart und jeden Back-End-Service ausführen können.},
titleaddon = {Amazon Web Services, Inc.},
urldate = {2020-04-28},
langid = {german},
note = {Library Catalog: aws.amazon.com},
file = {Snapshot:/Users/eddie/Zotero/storage/ZA4HRL9A/lambda.html:text/html}
}
@online{nodejs,
title = {Node.js},
url = {https://nodejs.org/en/},
abstract = {Node.js® is a {JavaScript} runtime built on Chrome's V8 {JavaScript} engine.},
titleaddon = {Node.js},
author = {Node.js},
urldate = {2020-04-28},
langid = {english},
note = {Library Catalog: nodejs.org},
file = {Snapshot:/Users/eddie/Zotero/storage/T25GZ6DV/en.html:text/html}
}
@book{salus_quarter_1994,
title = {A Quarter Century of {UNIX}},
isbn = {978-0-201-54777-1},
abstract = {On June 12, 1972, Ken Thompson and Dennis Ritchie wrote, "the number of {UNIX} installations has grown to 10, with more expected." Two years later the number was 50. It is estimated that there are over 3 million {UNIX} systems in operation today ... {UNIX} is a software system that is simple, elegant, portable, and powerful. It grew in popularity without the benefit of a large marketing organization. Programmers kept using it; big companies kept fighting it. After a decade, it was clear that the users had won. A Quarter Century of {UNIX} is the first book to explain this incredible success, using the words of its creators, developers, and users to illustrate how the sociology of a technical group can overwhelm the intent of multi-billion-dollar corporations. In preparing to write this book, Peter Salus interviewed over 100 of these key figures and gathered relevant information from Australia to Austria. This is the book that turns {UNIX} folklore into {UNIX} history. The book provides the first documented history of the development of the {UNIX} operating system, includes interviews with over 100 key figures in the {UNIX} community, contains classic photos and illustrations, and explains why {UNIX} succeeded. 0201547775B04062001},
pagetotal = {290},
publisher = {Addison-Wesley Publishing Company},
author = {Salus, Peter H.},
date = {1994},
langid = {english},
note = {Google-Books-{ID}: {ULBQAAAAMAAJ}},
keywords = {Computers / History, Computers / Operating Systems / {UNIX}}
}
@article{thones_microservices_2015,
title = {Microservices},
volume = {32},
doi = {10.1109/MS.2015.11},
pages = {116--116},
journaltitle = {{IEEE} Software},
shortjournal = {{IEEE} Software},
author = {Thones, Johannes},
date = {2015-01-01}
}
@book{brooks_mythical_1995,
edition = {2 edition},
title = {The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition ({eBook})},
shorttitle = {The Mythical Man-Month},
abstract = {Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the {IBM} System/360 computer family and then for {OS}/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time. The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."},
pagetotal = {336},
publisher = {Addison-Wesley Professional},
author = {Brooks, Frederick P.},
date = {1995-08-02}
}
@inproceedings{buxton_software_1970,
title = {Software Engineering Techniques: Report on a Conference sponsored by the {NATO} Science Committee, Rome, Italy, October 1969},
shorttitle = {Software Engineering Techniques},
publisher = {{NATO} Science Committee},
author = {Buxton, {JN} and Randell, B},
date = {1970}
}
@online{hilliard_isoiecieee_nodate,
title = {{ISO}/{IEC}/{IEEE} 42010 Homepage},
url = {http://www.iso-architecture.org/42010/},
abstract = {{ISO}/{IEC}/{IEEE} 42010, Systems and software engineering
— Architecture description, is the international standard for
best practices in the description of the architectures of systems,
where systems range from software applications to enterprises to
systems of systems.},
titleaddon = {{ISO}/{IEC}/{IEEE} 42010 Homepage},
author = {Hilliard, Rich},
urldate = {2020-05-06},
langid = {english},
note = {Library Catalog: www.iso-architecture.org},
file = {Snapshot:/Users/eddie/Zotero/storage/MEL4BTUD/ieee-1471.html:text/html}
}
@book{balzert_lehrbuch_2011,
title = {Lehrbuch der Softwaretechnik: Entwurf, Implementierung, Installation und Betrieb},
isbn = {978-3-8274-2246-0},
shorttitle = {Lehrbuch der Softwaretechnik},
abstract = {Im Mittelpunkt dieses Buches steht der Entwurf von Softwarearchitekturen. Ausgehend von globalen Architekturmustern werden zunächst Einzelaspekte mit ihren Alternativen behandelt. Damit immer der Bezug zur Realität vorhanden ist, wird eine durchgängige Fallstudie in verschiedenen Varianten zunächst für Einzelaspekte entworfen und implementiert. Neben der Java {EE}-Plattform wird auch die .{NET}-Plattform behandelt. Zusätzlich werden die Besonderheiten bei softwareintensiven Systemen dargestellt.},
pagetotal = {593},
publisher = {Springer-Verlag},
author = {Balzert, Helmut},
date = {2011-09-13},
langid = {german},
note = {Google-Books-{ID}: {UqYuBAAAQBAJ}},
keywords = {Computers / Computer Science, Computers / General, Computers / Software Development \& Engineering / General}
}
@book{clements_documenting_2010,
edition = {2 edition},
title = {Documenting Software Architectures: Views and Beyond},
shorttitle = {Documenting Software Architectures},
abstract = {Software architecture—the conceptual glue that holds every phase of a project together for its many stakeholders—is widely recognized as a critical element in modern software development. Practitioners have increasingly discovered that close attention to a software system’s architecture pays valuable dividends. Without an architecture that is appropriate for the problem being solved, a project will stumble along or, most likely, fail. Even with a superb architecture, if that architecture is not well understood or well communicated the project is unlikely to succeed. Documenting Software Architectures, Second Edition, provides the most complete and current guidance, independent of language or notation, on how to capture an architecture in a commonly understandable form. Drawing on their extensive experience, the authors first help you decide what information to document, and then, with guidelines and examples (in various notations, including {UML}), show you how to express an architecture so that others can successfully build, use, and maintain a system from it. The book features rules for sound documentation, the goals and strategies of documentation, architectural views and styles, documentation for software interfaces and software behavior, and templates for capturing and organizing information to generate a coherent package. New and improved in this second edition: Coverage of architectural styles such as service-oriented architectures, multi-tier architectures, and data models Guidance for documentation in an Agile development environment Deeper treatment of documentation of rationale, reflecting best industrial practices Improved templates, reflecting years of use and feedback, and more documentation layout options A new, comprehensive example (available online), featuring documentation of a Web-based service-oriented system Reference guides for three important architecture documentation languages: {UML}, {AADL}, and {SySML}},
pagetotal = {592},
publisher = {Addison-Wesley Professional},
author = {Clements, Paul and Bachmann, Felix and Bass, Len and Garlan, David and Ivers, James and Little, Reed and Merson, Paulo and Nord, Robert and Stafford, Judith},
date = {2010-10-05}
}
@book{starke_effektive_2015,
title = {Effektive Softwarearchitekturen ({eBook})},
isbn = {978-3-446-44361-7},
url = {https://www.hanser-elibrary.com/doi/book/10.3139/9783446444065},
shorttitle = {Effektive Softwarearchitekturen},
pagetotal = {458},
publisher = {Carl Hanser Verlag {GmbH} \& Co. {KG}},
author = {Starke, Gernot},
urldate = {2020-05-06},
date = {2015-07-07},
doi = {10.3139/9783446444065},
file = {Snapshot:/Users/eddie/Zotero/storage/ZP8976J7/9783446444065.html:text/html}
}
@book{tanenbaum_verteilte_2007,
edition = {2 edition},
title = {Verteilte Systeme: Prinzipien und Paradigmen},
shorttitle = {Verteilte Systeme},
abstract = {Verteilte Systeme: Grundlagen und Paradigmen 2., aktualisierte Auflage In dieser verbesserten und aktualisierten Ausgabe des Lehrbuchklassikers Verteilte Systeme stellen die Autoren Tanenbaum und Van Steen sowohl die Einzelheiten verteilter Systeme als auch die zugrunde liegenden Technologien vor. Ihre klare, umfassende und fesselnde Behandlung des Themas bildet einen hervorragenden Text für Dozenten und Studenten der Informatik, die eine systematische Behandlung der Prinzipien und Technologien von verteilten Systemen fordern.Die Autoren trennen die Prinzipien von den Paradigmen und erörtern vier verschiedene Klassen von verteilten Systemen. Dabei zeigen sie auf, in welcher Beziehung die Prinzipien miteinander stehen. Durch diesen Ansatz wird das komplexe Thema der verteilten Systeme leichter verständlich. Neu in dieser Auflage sind Kapitel zu System- und Softwarearchitekturen sowie Systeme mit Selbst-Management. Zudem findet im gesamten Buch eine erweiterte Behandlung von Peer-to-Peer-Systemen sowie die Virtualisierung und ihre Rolle in verteilten Systemen seinen Platz. Viele neue Beispiele und Fallstudien zur Veranschaulichung der Prinzipien von verteilten Systemen -insbesondere webbasierte Systeme- machen dieses Werk zu einem essentiellen Begleiter eines jeden Informatikers. Umfangreiche Zusatzmaterialien runden dieses Lehrwerk ab.},
pagetotal = {760},
publisher = {Pearson Studium},
author = {Tanenbaum, Andrew S. and Steen, Maarten van},
date = {2007-11-01}
}
@thesis{fielding_architectural_2000,
title = {Architectural Styles and the Design of Network-based Software Architectures},
url = {https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf},
shorttitle = {Architectural Styles},
pagetotal = {180},
institution = {{UNIVERSITY} {OF} {CALIFORNIA}},
type = {phdthesis},
author = {Fielding, Roy Thomas},
date = {2000},
langid = {english},
file = {Fielding - 2000 - in Information and Computer Science.pdf:/Users/eddie/Zotero/storage/W59AUUJ7/Fielding - 2000 - in Information and Computer Science.pdf:application/pdf}
}
@book{stephens_beginning_2015,
title = {Beginning Software Engineering},
isbn = {978-1-118-96916-8},
abstract = {A complete introduction to building robust and reliable {softwareBeginning} Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, {RAD}, Scrum, Kanban, Extreme Programming, and many other development models is inside! Describes in plain English what software engineering is Explains the roles and responsibilities of team members working on a software engineering project Outlines key phases that any software engineering effort must handle to produce applications that are powerful and dependable Details the most popular software development methodologies and explains the different ways they handle critical development tasks Incorporates exercises that expand upon each chapter's main ideas Includes an extensive glossary of software engineering terms},
pagetotal = {482},
publisher = {John Wiley \& Sons},
author = {Stephens, Rod},
date = {2015-03-02},
langid = {english},
note = {Google-Books-{ID}: {SyHWBgAAQBAJ}},
keywords = {Computers / Programming / General, Computers / Software Development \& Engineering / General}
}
@online{leach_hypertext_2020,
title = {Hypertext Transfer Protocol -- {HTTP}/1.1},
url = {https://tools.ietf.org/html/rfc2616},
shorttitle = {{HTTP}},
author = {Leach, Paul J. and Berners-Lee, Tim and Mogul, Jeffrey C. and Masinter, Larry and Fielding, Roy T. and Gettys, James},
urldate = {2020-05-12},
date = {2020-05-12},
langid = {english},
note = {Library Catalog: tools.ietf.org},
file = {Snapshot:/Users/eddie/Zotero/storage/RRRGTSIC/rfc2616.html:text/html}
}
@inreference{duden_nodate,
title = {Duden {\textbar} Monolith {\textbar} Rechtschreibung, Bedeutung, Definition, Herkunft},
url = {https://www.duden.de/rechtschreibung/Monolith},
shorttitle = {Duden Monolith},
abstract = {Definition, Rechtschreibung, Synonyme und Grammatik von 'Monolith' auf Duden online nachschlagen. Wörterbuch der deutschen Sprache.},
urldate = {2020-05-16},
langid = {german},
note = {Library Catalog: www.duden.de},
file = {Snapshot:/Users/eddie/Zotero/storage/NHNRLYDS/Monolith.html:text/html}
}
@inreference{dwds_nodate,
title = {{DWDS} – Digitales Wörterbuch der deutschen Sprache},
url = {https://www.dwds.de/wb/Monolith},
abstract = {Monolith – Schreibung, Definition, Bedeutung, Synonyme, Beispiele im {DWDS}},
booktitle = {{DWDS}},
urldate = {2020-05-16},
langid = {german},
file = {Snapshot:/Users/eddie/Zotero/storage/7T57HCZM/Monolith.html:text/html}
}
@book{stephens_beginning_2015,
title = {Beginning Software Engineering},
isbn = {978-1-118-96916-8},
abstract = {A complete introduction to building robust and reliable {softwareBeginning} Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, {RAD}, Scrum, Kanban, Extreme Programming, and many other development models is inside! Describes in plain English what software engineering is Explains the roles and responsibilities of team members working on a software engineering project Outlines key phases that any software engineering effort must handle to produce applications that are powerful and dependable Details the most popular software development methodologies and explains the different ways they handle critical development tasks Incorporates exercises that expand upon each chapter's main ideas Includes an extensive glossary of software engineering terms},
pagetotal = {482},
publisher = {John Wiley \& Sons},
author = {Stephens, Rod},
date = {2015-03-02},
langid = {english},
note = {Google-Books-{ID}: {SyHWBgAAQBAJ}},
keywords = {Computers / Software Development \& Engineering / General, Computers / Programming / General}
}
@inreference{synchrone_2018,
title = {Synchrone Kommunikation},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Synchrone_Kommunikation&oldid=182185824},
abstract = {Unter synchroner Kommunikation versteht man in der Informatik und Netzwerktechnik einen Modus der Kommunikation, bei dem die Kommunikationspartner (Prozesse) beim Senden oder beim Empfangen von Daten immer synchronisieren, also warten (blockieren), bis die Kommunikation abgeschlossen ist. Wird sowohl beim Senden als auch beim Empfangen gewartet (der Sender stellt also eine Anfrage und wartet auf Antwort), so entspricht das einem Rendezvous der beiden beteiligten Prozesse.
Das Blockieren des Prozesses wird intern durch geeignete Mechanismen zur Prozesssynchronisation erreicht. Damit geht die Synchronisierung über die reine Transaktionsorientierung hinaus. Das Senden und Empfangen von Daten ohne Blockieren des Prozesses bezeichnet man als Asynchrone Kommunikation. Auch diese lässt einen transaktionsorientierten Betrieb zu.
Die synchrone Kommunikation sollte nicht mit dem Begriff der synchronen Datenübertragung verwechselt werden, der sich auf Medienzugriffsverfahren bezieht.},
booktitle = {Wikipedia},
urldate = {2020-05-16},
date = {2018-10-27},
langid = {german},
note = {Page Version {ID}: 182185824},
file = {Snapshot:/Users/eddie/Zotero/storage/VQB3GTAU/index.html:text/html}
}
@inreference{wiki_asynchrone_2019,
title = {Asynchrone Kommunikation},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Asynchrone_Kommunikation&oldid=187692564},
abstract = {Unter asynchroner Kommunikation versteht man in der Informatik und Netzwerktechnik einen Modus der Kommunikation, bei dem das Senden und Empfangen von Daten zeitlich versetzt und ohne Blockieren des Prozesses durch bspw. Warten auf die Antwort des Empfängers (wie bei synchroner Kommunikation der Fall) stattfindet.
Die asynchrone Kommunikation ist nicht zu verwechseln mit dem Begriff asynchrone Datenübertragung; dieser bezieht sich auf Medienzugriffsverfahren.
Beispiele für asynchrone Kommunikation zwischen Menschen sind
E-Mail und {SMS}-Konversationen,
Newsletter oder Mailing-Listen sowie
Einträge in Diskussionsforen bzw. Newsgroups.Viele Groupwaresysteme verfügen über proprietäre Dienste zum Versenden und Empfangen von Nachrichten.},
booktitle = {Wikipedia},
urldate = {2020-05-16},
date = {2019-04-18},
langid = {german},
note = {Page Version {ID}: 187692564},
file = {Snapshot:/Users/eddie/Zotero/storage/LISGY6EW/index.html:text/html}
}
@book{hartl_ruby_2016,
edition = {4 edition},
title = {Ruby on Rails Tutorial: Learn Web Development with Rails ({eBook})},
shorttitle = {Ruby on Rails Tutorial},
abstract = {This is the {eBook} of the printed book and may not include any media, website access codes, or print supplements that may come packaged with the bound book. Used by sites as varied as Twitter, {GitHub}, Disney, and Airbnb, Ruby on Rails is one of the most popular frameworks for developing web applications, but it can be challenging to learn and use. Whether you’re new to web development or new only to Rails, Ruby on Rails™ Tutorial, Fourth Edition, is the solution. Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of three example applications of increasing sophistication. The tutorial’s examples focus on the general principles of web development needed for virtually any kind of website. The updates to this edition include full compatibility with Rails 5, a division of the largest chapters into more manageable units, and a huge number of new exercises interspersed in each chapter for maximum reinforcement of the material. This indispensable guide provides integrated tutorials not only for Rails, but also for the essential Ruby, {HTML}, {CSS}, and {SQL} skills you need when developing web applications. Hartl explains how each new technique solves a real-world problem, and then he demonstrates it with bite-sized code that’s simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery. This book will help you Install and set up your Rails development environment, including pre-installed integrated development environment ({IDE}) in the cloud Go beyond generated code to truly understand how to build Rails applications from scratch Learn testing and test-driven development ({TDD}) Effectively use the Model-View-Controller ({MVC}) pattern Structure applications using the {REST} architecture Build static pages and transform them into dynamic ones Master the Ruby programming skills all Rails developers need Create high-quality site layouts and data models Implement registration and authentication systems, including validation and secure passwords Update, display, and delete users Upload images in production using a cloud storage service Implement account activation and password reset, including sending email with Rails Add social features and microblogging, including an introduction to Ajax Record version changes with Git and create a secure remote repository at Bitbucket Deploy your applications early and often with Heroku},
pagetotal = {806},
publisher = {Addison-Wesley Professional},
author = {Hartl, Michael},
date = {2016-11-17}
}
@book{fernandez_rails_2017,
edition = {4 edition},
title = {The Rails 5 Way},
abstract = {The “Bible” for Rails Development: Fully Updated for Rails 5 “When I read The Rails Way for the first time, I felt like I truly understood Rails for the first time.” —Steve Klabnik, Rails contributor and mentor The Rails™ 5 Way is the comprehensive, authoritative reference guide for professionals delivering production-quality code using modern Ruby on Rails. Obie Fernandez illuminates the entire Rails 5 {API}, its most powerful idioms, design approaches, and libraries. He presents new and updated content on Action Cable, {RSpec} 3.4, Turbolinks 5.0, the Attributes {API}, and many other enhancements, both major and subtle. Through detailed code examples, you’ll dive deep into Ruby on Rails, discover why it’s designed as it is, and learn to make it do exactly what you want. Proven in thousands of production systems, the knowledge in this book will maximize your productivity and help you build more successful solutions. Build powerful, scalable, {REST}-compliant back-end services Program complex program flows using Action Controller Represent models, relationships, and operations in Active Record, and apply advanced Active Record techniques Smoothly evolve database schema via Migrations Craft front-ends with {ActionView} and the Asset Pipeline Optimize performance and scalability with caching and Turbolinks 5.0 Improve your productivity using Haml {HTML} templating Secure your systems against attacks like {SQL} Injection, {XSS}, and {XSRF} Integrate email using Action Mailer Enable real-time, websockets-based browser behavior with Action Cable Improve responsiveness with background processing Build “{API}-only” back-end projects that speak {JSON} Leverage enhancements to Active Job, serialization, and Ajax support},
pagetotal = {1084},
publisher = {Addison-Wesley Professional},
author = {Fernandez, Obie},
date = {2017-11-22}
}
@online{ruby_doctrine,
title = {Ruby on Rails Doctrine},
url = {https://rubyonrails.org/doctrine/},
abstract = {A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller ({MVC}) pattern.},
titleaddon = {Ruby on Rails},
urldate = {2020-05-18},
langid = {english},
note = {Library Catalog: rubyonrails.org},
file = {Snapshot:/Users/eddie/Zotero/storage/CP2IEYBB/doctrine.html:text/html}
}
@book{endres_handbook_2003,
edition = {1},
title = {A Handbook of Software and Systems Engineering: Empirical Observations, Laws and Theories: A Handbook of Observations, Laws and Theories},
isbn = {978-0-321-15420-0},
shorttitle = {A Handbook of Software and Systems Engineering},
pagetotal = {352},
publisher = {Addison Wesley Pub Co Inc},
author = {Endres, Albert and Rombach, Dieter},
date = {2003-03-13}
}
@report{clements_comparing_2005,
location = {Fort Belvoir, {VA}},
title = {Comparing the {SEI}'s Views and Beyond Approach for Documenting Software Architecture with {ANSI}-{IEEE} 1471-2000:},
url = {http://www.dtic.mil/docs/citations/ADA441291},
shorttitle = {{ANSI}-{IEEE} 1471-2000},
institution = {Defense Technical Information Center},
author = {Clements, Paul},
urldate = {2020-05-25},
date = {2005-07-01},
langid = {english},
doi = {10.21236/ADA441291},
file = {Clements - 2005 - Comparing the SEI's Views and Beyond Approach for .pdf:/Users/eddie/Zotero/storage/9CVLHB9N/Clements - 2005 - Comparing the SEI's Views and Beyond Approach for .pdf:application/pdf}
}
@online{fowler_who_2003,
title = {Who needs an Architect?},
url = {https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf},
titleaddon = {design},
author = {Fowler, Martin},
date = {2003-08},
file = {whoNeedsArchitect.pdf:/Users/eddie/Zotero/storage/5DJRDCGL/whoNeedsArchitect.pdf:application/pdf}
}
@online{angularjs,
title = {{AngularJS} — Superheroic {JavaScript} {MVW} Framework},
url = {https://angularjs.org/},
urldate = {2020-06-12},
file = {AngularJS — Superheroic JavaScript MVW Framework:/Users/eddie/Zotero/storage/ZFVNJRSM/angularjs.org.html:text/html}
}
@inreference{single-page-webanwendung_2019,
title = {Single-Page-Webanwendung},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Single-Page-Webanwendung&oldid=185777481},
abstract = {Als Single-Page-Webanwendung (englisch single-page application, kurz {SPA}) oder Einzelseiten-Webanwendung wird eine Webanwendung bezeichnet, die aus einem einzigen {HTML}-Dokument besteht und deren Inhalte dynamisch nachgeladen werden. Diese Art von Web-Architektur steht im Gegensatz zu klassischen Webanwendungen, die aus mehreren, untereinander verlinkten {HTML}-Dokumenten bestehen. Hierdurch wird allerdings die Grundlage geschaffen, eine Webanwendung in Form einer Rich-Client- bzw. Fat-Client-Verteilung zu entwickeln. Eine verstärkte clientseitige Ausführung der Webanwendung ermöglicht eine Reduzierung der Serverlast sowie die Umsetzung von selbstständigen Webclients, die beispielsweise eine Offline-Unterstützung anbieten.},
booktitle = {Wikipedia},
urldate = {2020-06-12},
date = {2019-02-17},
langid = {german},
note = {Page Version {ID}: 185777481},
file = {Snapshot:/Users/eddie/Zotero/storage/KJZ9IPYA/index.html:text/html}
}
@book{evans_domain-driven_2003,
edition = {1 edition},
title = {Domain-Driven Design: Tackling Complexity in the Heart of Software},
isbn = {978-0-321-12521-7},
shorttitle = {Domain-Driven Design},
abstract = {Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis–refactoring not just the code but the model underlying the code–in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include: With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.},
pagetotal = {563},
publisher = {Addison-Wesley Professional},
author = {Evans, Eric},
date = {2003-08-22}
}
@online{fowler_boundedContext_2014,
title = {Martin Fowler: {BoundedContext}},
url = {https://martinfowler.com/bliki/BoundedContext.html},
shorttitle = {{BoundedContext}},
abstract = {Don't try to build a single, unified model for a large domain. Instead {DDD} advises us to divide such a domain into many bounded contexts with explicit relationships between them.},
titleaddon = {martinfowler.com},
author = {Fowler, Martin},
urldate = {2020-06-13},
date = {2014-01-15},
note = {Library Catalog: martinfowler.com},
file = {Snapshot:/Users/eddie/Zotero/storage/MTTGDCDY/BoundedContext.html:text/html}
}
@online{achleitner_start-up_2018,
title = {Definition: Start-up-Unternehmen},
url = {https://wirtschaftslexikon.gabler.de/definition/start-unternehmen-42136/version-265490},
shorttitle = {Start-up-Unternehmen},
abstract = {Was ist "Start-up-Unternehmen"? Definition im Gabler Wirtschaftslexikon vollständig und kostenfrei online. ✓Geprüftes Wissen beim Original.},
type = {Text},
author = {Achleitner, Prof Dr Dr Ann-Kristin},
urldate = {2020-06-14},
date = {2018-02-14},
langid = {german},
note = {Library Catalog: wirtschaftslexikon.gabler.de
Publisher: Springer Fachmedien Wiesbaden {GmbH}
Section: economy},
file = {Snapshot:/Users/eddie/Zotero/storage/A948NA36/version-265490.html:text/html}
}
@inreference{wiki_start-up-unternehmen_2020,
title = {Start-up-Unternehmen},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Start-up-Unternehmen&oldid=197628824},
abstract = {Ein Start-up-Unternehmen (von englisch to start up = „gründen, in Gang setzen“), auch Startup-Unternehmen, oder kurz Start-up ist eine Unternehmensgründung mit einer innovativen Geschäftsidee und hohem Wachstumspotenzial. Der Begriff ist wirtschaftsgeschichtlich relativ neu.
Die Finanzierung wird dabei häufig wegen der hohen Risiken nicht über klassische Banken organisiert, sondern über Förderbanken und innovative Finanzierungsformen wie Wagniskapital und Crowdfunding.
Oft haben die Startups es dabei mit einem jungen oder noch nicht existierenden Markt zu tun und müssen erst ein funktionierendes, skalierbares Geschäftsmodell finden. Haben sie dieses gefunden und etabliert, gelten sie allgemein nicht mehr als Startup. Ehemalige Startups bewahren sich mitunter die erfolgreichen Ansätze von Startups (wie Innovationsfähigkeit, Flexibilität, Modernität, flache Hierarchien), fördern sie durch Inkubatoren, gründen bzw. gliedern eigene Sparten als Startups aus (sogenannte Spinoffs), oder übernehmen Startups durch Zukäufe.},
booktitle = {Wikipedia},
urldate = {2020-06-14},
date = {2020-03-10},
langid = {german},
note = {Page Version {ID}: 197628824},
file = {Snapshot:/Users/eddie/Zotero/storage/DW42XU9H/index.html:text/html}
}
@article{patel_startups-fail_2015,
title = {90\% Of Startups Fail: Here's What You Need To Know About The 10\%},
url = {https://www.forbes.com/sites/neilpatel/2015/01/16/90-of-startups-will-fail-heres-what-you-need-to-know-about-the-10/},
shorttitle = {90\% Of Startups Fail},
abstract = {As an entrepreneur, I know about failure. I’ve made mistakes, pretty stupid ones. At the same time, though, I’ve been fortunate enough to succeed a few times, too. Along the way, I’ve been able to understand some of the lesser-known reasons that some startups fail, and more importantly why a few [...]},
journaltitle = {Forbes},
author = {Patel, Neil},
urldate = {2020-06-14},
date = {2015-01-16},
langid = {english},
note = {Library Catalog: www.forbes.com
Section: Entrepreneurs},
file = {Snapshot:/Users/eddie/Zotero/storage/3JFXJ85X/90-of-startups-will-fail-heres-what-you-need-to-know-about-the-10.html:text/html}
}
@book{croll_lean_2013,
edition = {1 edition},
title = {Lean Analytics: Use Data to Build a Better Startup Faster},
isbn = {978-1-4493-3567-0},
shorttitle = {Lean Analytics},
abstract = {Marc Andreesen once said that "markets that don't exist don't care how smart you are." Whether you're a startup founder trying to disrupt an industry, or an intrapreneur trying to provoke change from within, your biggest risk is building something nobody wants.Lean Analytics can help. By measuring and analyzing as you grow, you can validate whether a problem is real, find the right customers, and decide what to build, how to monetize it, and how to spread the word. Focusing on the One Metric That Matters to your business right now gives you the focus you need to move ahead--and the discipline to know when to change course.Written by Alistair Croll (Coradiant, {CloudOps}, Startupfest) and Ben Yoskovitz (Year One Labs, {GoInstant}), the book lays out practical, proven steps to take your startup from initial idea to product/market fit and beyond. Packed with over 30 case studies, and based on a year of interviews with over a hundred founders and investors, the book is an invaluable, practical guide for Lean Startup practitioners everywhere.},
pagetotal = {556},
publisher = {O'Reilly Media},
author = {Croll, Alistair and Yoskovitz, Benjamin},
date = {2013-03-08}
}
@book{maurya_running_2012,
edition = {2 edition},
title = {Running Lean: Iterate from Plan A to a Plan That Works},
isbn = {978-1-4493-0517-8},
shorttitle = {Running Lean},
abstract = {We live in an age of unparalleled opportunity for innovation. We’re building more products than ever before, but most of them fail—not because we can’t complete what we set out to build, but because we waste time, money, and effort building the wrong product.What we need is a systematic process for quickly vetting product ideas and raising our odds of success. That’s the promise of Running Lean.In this inspiring book, Ash Maurya takes you through an exacting strategy for achieving a "product/market fit" for your fledgling venture, based on his own experience in building a wide array of products from high-tech to no-tech. Throughout, he builds on the ideas and concepts of several innovative methodologies, including the Lean Startup, Customer Development, and bootstrapping.Running Lean is an ideal tool for business managers, {CEOs}, small business owners, developers and programmers, and anyone who’s interested in starting a business project.Find a problem worth solving, then define a {solutionEngage} your customers throughout the development {cycleContinually} test your product with smaller, faster {iterationsBuild} a feature, measure customer response, and verify/refute the {ideaKnow} when to "pivot" by changing your plan’s {courseMaximize} your efforts for speed, learning, and {focusLearn} the ideal time to raise your "big round" of {fundingGet} on track with The Lean {SeriesPresented} by Eric Ries—bestselling author of The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses—The Lean Series gives you solid footing in a proven methodology that will help your business succeed.},
pagetotal = {240},
publisher = {O'Reilly Media},
author = {Maurya, Ash},
date = {2012-02-24}
}
@book{mullins_getting_2009,
title = {Getting to Plan B: Breaking Through to a Better Business Model},
shorttitle = {Getting to Plan B},
abstract = {You have a new venture in mind. And you've crafted a business plan so detailed it's a work of art. Don't get too attached to it.As John Mullins and Randy Komisar explain in Getting to Plan B, new businesses are fraught with uncertainty. To succeed, you must change the plan in real time as the inevitable challenges arise. In fact, studies show that entrepreneurs who stick slavishly to their Plan A stand a greater chance of failing-and that many successful businesses barely resemble their founders' original idea.The authors provide a rigorous process for stress testing your Plan A and determining how to alter it so your business makes money, solves customers' needs, and endures. You'll discover strategies for:-Identifying the leap-of-faith assumptions hidden in your plan-Testing those assumptions and unearthing why the plan might not work-Reconfiguring the five components of your business model-revenue model, gross margin model, operating model, working capital model, and investment model-to create a sounder Plan B.Filled with success stories and cautionary tales, this book offers real cases illustrating the authors' unique process. Whether your idea is for a start-up or a new business unit within your organization, Getting to Plan B contains the road map you need to reach success.},
pagetotal = {272},
publisher = {Harvard Business Review Press},
author = {Mullins, John and Komisar, Randy},
date = {2009-09-08}
}
@online{graphql_docs,
title = {{GraphQL}: A query language for {APIs}.},
url = {http://graphql.org/},
shorttitle = {{GraphQL}},
abstract = {{GraphQL} provides a complete description of the data in your {API}, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve {APIs} over time, and enables powerful developer tools.},
urldate = {2020-06-15},
langid = {english},
note = {Library Catalog: graphql.org},
file = {Snapshot:/Users/eddie/Zotero/storage/CJV2RKS4/graphql.org.html:text/html}
}
@online{grpc_docs,
title = {{gRPC Docs}},
url = {https://grpc.io/},
abstract = {A high-performance, open source universal {RPC} framework},
titleaddon = {{gRPC}},
urldate = {2020-06-15},
langid = {english},
note = {Library Catalog: grpc.io},
file = {Snapshot:/Users/eddie/Zotero/storage/53GSXFS5/grpc.io.html:text/html}
}
@inreference{service-level-agreement_2020,
title = {Service-Level-Agreement},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Service-Level-Agreement&oldid=200079846},
abstract = {Ein Service-Level-Agreement ({SLA}; deutsch Dienstleistungs-Güte-Vereinbarung) bezeichnet einen Rahmenvertrag bzw. die Schnittstelle zwischen Auftraggeber und Dienstleister für wiederkehrende Dienstleistungen.},
booktitle = {Wikipedia},
urldate = {2020-06-29},
date = {2020-05-18},
langid = {german},
note = {Page Version {ID}: 200079846},
file = {Snapshot:/Users/eddie/Zotero/storage/EA9MFLH7/index.html:text/html}
}
@inreference{grpc_wiki_2020,
title = {{gRPC}},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=GRPC&oldid=199461609},
abstract = {{gRPC} ({gRPC} Remote Procedure Calls) ist ein Protokoll zum Aufruf von Funktionen in verteilten Computersystemen. Es basiert auf dem Standard {HTTP}/2 und Protocol Buffers.},
booktitle = {Wikipedia},
urldate = {2020-07-04},
date = {2020-04-30},
langid = {german},
note = {Page Version {ID}: 199461609},
file = {Snapshot:/Users/eddie/Zotero/storage/9D8WWTNZ/index.html:text/html}
}
@inreference{hypertext_wiki_2020,
title = {Hypertext Transfer Protocol},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Hypertext_Transfer_Protocol&oldid=198873705},
abstract = {Das Hypertext Transfer Protocol ({HTTP}, englisch für Hypertext-Übertragungsprotokoll) ist ein zustandsloses Protokoll zur Übertragung von Daten auf der Anwendungsschicht über ein Rechnernetz. Es wird hauptsächlich eingesetzt, um Webseiten (Hypertext-Dokumente) aus dem World Wide Web ({WWW}) in einen Webbrowser zu laden. Es ist jedoch nicht prinzipiell darauf beschränkt und auch als allgemeines Dateiübertragungsprotokoll sehr verbreitet.
{HTTP} wurde von der Internet Engineering Task Force ({IETF}) und dem World Wide Web Consortium (W3C) standardisiert. Aktuelle Version ist {HTTP}/2, welche als {RFC} 7540 am 15. Mai 2015 veröffentlicht wurde. Die Weiterentwicklung wird von der {HTTP}-Arbeitsgruppe der {IETF} ({HTTPbis}) organisiert. Es gibt zu {HTTP} ergänzende und darauf aufbauende Standards wie {HTTPS} für die Verschlüsselung übertragener Inhalte oder das Übertragungsprotokoll {WebDAV}.},
booktitle = {Wikipedia},
urldate = {2020-07-04},
date = {2020-04-14},
langid = {german},
note = {Page Version {ID}: 198873705},
file = {Snapshot:/Users/eddie/Zotero/storage/WR9GMJYC/index.html:text/html}
}
@inreference{softwareverteilung_2020,
title = {Softwareverteilung},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=Softwareverteilung&oldid=201347640},
abstract = {Softwareverteilung (englisch software deployment) nennt man Prozesse zur Installation von Software auf Rechnern.
Viele Anwender verfügen nicht über die Kenntnisse oder Berechtigungen, um Software selbst zu installieren. Daher ist es in Organisationen üblich, dass qualifizierte Mitarbeiter diese Aufgabe für die Anwender erledigen bzw. veranlassen. In größeren Organisationen wird Software unbeaufsichtigt installiert. Beispiel dafür sind die unbeaufsichtigte Installation unter Windows und die unbeaufsichtigte Installation unter Linux.
Die Softwareverteilung ist ein kritischer Prozess, da mit ihr auch Betriebssystemkorrekturen sowie die Installation sicherheitsrelevanter Anwendungen wie Virenscanner, Browser und E-Mailprogramm erfolgen. Fehler bei der Softwareverteilung können Störungen und Ausfälle an einer großen Zahl von Arbeitsplatzrechnern nach sich ziehen.},
booktitle = {Wikipedia},
urldate = {2020-07-03},
date = {2020-06-27},
langid = {german},
note = {Page Version {ID}: 201347640},
file = {Snapshot:/Users/eddie/Zotero/storage/RSLDH8MK/index.html:text/html}
}
@online{conway_conways_1968,
title = {Conway's law},
rights = {F. D. Thompson Publications, Inc.},
url = {http://www.melconway.com/research/committees.html},
author = {Conway, Melvin E.},
urldate = {2020-07-05},
date = {1968-04},
file = {Home Page of Mel Conway's Site:/Users/eddie/Zotero/storage/TKUZI2ZJ/committees.html:text/html}
}
@online{react-anwendung,
title = {Erstelle eine neue React Anwendung},
url = {https://de.reactjs.org/docs/create-a-new-react-app.html},
shorttitle = {React-Anwendung},
abstract = {Eine {JavaScript} Bibliothek zum Erstellen von Benutzeroberflächen},
urldate = {2020-07-05},
langid = {english},
note = {Library Catalog: de.reactjs.org},
file = {Snapshot:/Users/eddie/Zotero/storage/WEY84F9I/create-a-new-react-app.html:text/html}
}
@online{duden_mapping,
title = {Duden {\textbar} Mapping},
url = {https://www.duden.de/rechtschreibung/Mapping},
abstract = {Definition, Rechtschreibung, Synonyme und Grammatik von 'Mapping' auf Duden online nachschlagen. Wörterbuch der deutschen Sprache.},
urldate = {2020-07-07},
langid = {german},
note = {Library Catalog: www.duden.de},
file = {Snapshot:/Users/eddie/Zotero/storage/DY7UTSUN/Mapping.html:text/html}
}
@inreference{html-renderer_2020,
title = {{HTML}-Renderer},
rights = {Creative Commons Attribution-{ShareAlike} License},
url = {https://de.wikipedia.org/w/index.php?title=HTML-Renderer&oldid=196062351},
abstract = {Ein {HTML}-Renderer, oft Browser-Engine genannt, ist ein Programm zur Visualisierung von Hypertext Markup Language und Scalable Vector Graphics. Mit „Visualisierung“ ist hier die Durchführung der Bildsynthese gemeint.
{HTML} war ursprünglich eine (strukturelle) Beschreibung von Text, eine Art von Rich Text mit Hyperlink-Funktionalität, von dem Erfinder des World Wide Web, Tim Berners-Lee, „{IIRC} Hypertext“ genannt. Zwar gibt es {HTML}-Attribute, die direkt das Aussehen des Elements beschreiben (etwa die Schriftgröße), diese werden jedoch in {XHTML} und neueren Standards als hinfällig eingestuft und nur noch aus Gründen der Kompatibilität unterstützt.Das spiegelt wider, dass {HTML} nicht festlegen soll, wie ein Dokument anzuzeigen ist. Dadurch ist {HTML} so flexibel, dass es z. B. in einer Beamer-Präsentation, auf einem Computermonitor, einem {PDA} oder einem Schwarz-Weiß-{LCD} angezeigt werden kann. All diese Anzeigegeräte haben unterschiedliche Möglichkeiten für die visuelle Gestaltung des Inhaltes. Da {HTML} keine solche Gestaltung festlegt, kann das Anzeigeprogramm das {HTML} anzeigegerätespezifisch interpretieren und das visuelle Layout mehr oder weniger frei gestalten.
Der {HTML}-Renderer ordnet dieser eher semantisch-strukturellen Definition eine visuelle Darstellung des Textes zu.
Dies geschieht in nahezu allen Browsern mittels Cascading Style Sheets ({CSS}). Die Stylesheets enthalten eine Liste von Selektoren (Bedingungen an die Teilstruktur des {HTML}-Dokuments, die zutreffen müssen, damit die Regeln angewendet werden) und Regeln (Attribute, die auf die der entsprechenden Teilstruktur zugeordnete visuelle Repräsentation angewendet werden). Per Voreinstellung liefert der Browser ein Standard-Stylesheet aus, das die meisten Elemente grundformatiert. {CSS} ist sehr flexibel. Es ist möglich, diesen Satz von Regeln komplett pro Benutzer oder pro Dokument auszutauschen. Dadurch sind den Darstellungsvarianten fast keine Grenzen gesetzt.
Ein {HTML}-Renderer ist also Teil eines Webbrowsers, der einer eher semantisch orientierten Dokumentenstruktur eine visuelle Darstellung zuordnet. Eine Layout-Engine interpretiert das Layoutmodell, das durch {CSS} definiert wurde, und füllt in dieses Layout den durch {HTML} semantisch angereicherten Text.},
booktitle = {Wikipedia},
urldate = {2020-07-08},
date = {2020-01-22},
langid = {german},
note = {Page Version {ID}: 196062351},
file = {Snapshot:/Users/eddie/Zotero/storage/2PPZSQNS/index.html:text/html}
}
@online{noauthor_continuous_nodate,
title = {Continuous Integration},
url = {https://martinfowler.com/articles/continuousIntegration.html},
abstract = {Continuous Integration occurs when all developers push their changes to mainline at least once per day, with automated tests to detect integration errors. This greatly reduces integration pain.},
titleaddon = {martinfowler.com},
urldate = {2020-07-08},
note = {Library Catalog: www.martinfowler.com}
}