├── .gitignore
├── Makefile
├── README.md
├── logo.png
├── stacks
├── go
│ ├── data
│ │ ├── roadmap.dot
│ │ ├── roadmap.md
│ │ ├── roadmap.png
│ │ └── roadmap.svg
│ ├── materials.xml
│ └── roadmap.xml
├── java
│ ├── data
│ │ ├── roadmap.dot
│ │ ├── roadmap.md
│ │ ├── roadmap.png
│ │ └── roadmap.svg
│ ├── materials.xml
│ └── roadmap.xml
├── php
│ ├── data
│ │ ├── roadmap.dot
│ │ ├── roadmap.md
│ │ ├── roadmap.png
│ │ └── roadmap.svg
│ ├── materials.xml
│ └── roadmap.xml
├── python
│ ├── data
│ │ ├── roadmap.dot
│ │ ├── roadmap.md
│ │ ├── roadmap.png
│ │ └── roadmap.svg
│ ├── materials.xml
│ └── roadmap.xml
└── ruby
│ ├── data
│ ├── roadmap.dot
│ ├── roadmap.md
│ ├── roadmap.png
│ └── roadmap.svg
│ ├── materials.xml
│ └── roadmap.xml
├── subjects
├── cs
│ ├── materials.xml
│ └── roadmap.xml
├── db
│ ├── materials.xml
│ └── roadmap.xml
├── dev
│ ├── materials.xml
│ └── roadmap.xml
├── go
│ ├── materials.xml
│ └── roadmap.xml
├── java
│ ├── materials.xml
│ └── roadmap.xml
├── net
│ ├── materials.xml
│ └── roadmap.xml
├── os
│ ├── materials.xml
│ └── roadmap.xml
├── php
│ ├── materials.xml
│ └── roadmap.xml
├── python
│ ├── materials.xml
│ └── roadmap.xml
└── ruby
│ ├── materials.xml
│ └── roadmap.xml
└── tools
├── build.sh
├── materials.py
├── materials.xsd
├── xmlg2dot.py
├── xmlg2md.py
├── xmlgraph.py
└── xmlgraph.xsd
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | tools/__pycache__
3 | venv
4 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: all
2 | all: golang java ruby php python
3 |
4 | @echo "Done"
5 |
6 | .PHONY: golang
7 | golang:
8 | @echo "start golang"
9 | sh tools/build.sh go
10 | @echo "finish golang"
11 |
12 | .PHONY: java
13 | java:
14 | @echo "start java"
15 | sh tools/build.sh java
16 | @echo "finish java"
17 |
18 | .PHONY: ruby
19 | ruby:
20 | @echo "start ruby"
21 | sh tools/build.sh ruby
22 | @echo "finish ruby"
23 |
24 | .PHONY: php
25 | php:
26 | @echo "start php"
27 | sh tools/build.sh php
28 | @echo "finish php"
29 |
30 |
31 | .PHONY: python
32 | python:
33 | @echo "start python"
34 | sh tools/build.sh python
35 | @echo "finish python"
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Roadmap Core
2 |
3 | This project was created by engineers which were motivated by the idea to describe the graphs of the main knowledge/skills
4 | of different types of engineers which in turn provides a way to develop these graphs
5 | by the community and by the approach which engineers prefer.
6 |
7 | ## Need
8 |
9 | In development teams with official mentoring and level assessments it's important to have a shared understanding of the process. To handle it, teams usually create knowledge roadmaps if form of spreadsheet with subjects and skills for a particular stack, and store it in a cloud.
10 | The issue here is that every developer, regardless of the programming language he uses, has to cover common subject areas, such as computer science, databases, etc. For 10+ stacks changing one skill in a common subject area means you have to manually edit 10+ spreadsheets. That prompts loss of uniformity of content and structure. For developers, who are used to a well-established change process, it discourages further collaboration and improvement of the roadmaps.
11 |
12 | ## Vision
13 |
14 | For developers, Skill Matrix is a module that allows to create and collaborate on knowledge roadmaps. A roadmap is compiled from several subject areas, which are described in separate XML files. This allows to reuse components and to populate a change made in one subject into all roadmaps using it.
15 | Skill Matrix allows to compile a roadmap in a XML syntax, visualize it in form of graph, and convert it to Markdown file and spreadsheet, thus covering all desirable representation formats. As a git project, it establishes an adaptable process for change and collaboration.
16 |
17 | ## Scope of Initial Release
18 |
19 | ### Skill Matrix includes
20 |
21 | - A collection of Subject Roadmaps, described in custom XMLgraph notation.
22 | - A collection of learning Materials for subjects, described in XMLgraph notation.
23 | - A collection of Stack Roadmaps, which specify relevant subjects for the stacks:
24 | - [Go](#golang)
25 | - [Java](#java)
26 | - [Ruby](#ruby)
27 | - [PHP](#php)
28 | - [Python](#python)
29 |
30 | ### A collection of Tools
31 |
32 | - [xmlg2dot](tools/xmlg2dot.py) is a tool for converting Roadmap.xml files to DOT syntax. Uses xmlgraph.py
33 | - [xmlg2md](tools/xmlg2md.py) is a tool for converting Materials.xml files to DOT syntax. Uses xmlgraph.py and materials.py
34 | - [Makefile](Makefile) is a major tool that generates Stack Roadmaps and saves them as PNG, SVG, DOT and generated Materials maps and saves them as MD. Uses all tools above.
35 | - [xmlgraph.py](tools/xmlgraph.py) is a library for parsing Roadmap files
36 | - [materials.py](tools/materials.py) is a library for parsing Materials files
37 |
38 | ## Scope of Future Releases
39 |
40 | For future development of the project the following options are considered:
41 | Elaboration on roadmaps structure, adding learning materials.
42 | Creating a tool to check errors in files, such as invalid links in materials files.
43 | Creating roadmaps for other stacks: Python, Ruby, Java Script, .NET C#, Scala, etc.
44 | Adding sets of interview questions for subjects and skills (similar to materials).
45 |
46 | ## Roadmaps
47 |
48 | ### Golang
49 |
50 | - [SVG](stacks/go/data/roadmap.svg) and [PNG](stacks/go/data/roadmap.png) maps
51 | - [Materials](stacks/go/data/roadmap.md)
52 | - [DOT](stacks/go/data/roadmap.dot) version
53 | - [XML](stacks/go/roadmap.xml)
54 |
55 | ### Java
56 |
57 | - [SVG](stacks/java/data/roadmap.svg) and [PNG](stacks/java/data/roadmap.png) maps
58 | - [Materials](stacks/java/data/roadmap.md)
59 | - [DOT](stacks/java/data/roadmap.dot) version
60 | - [XML](stacks/java/roadmap.xml)
61 |
62 | ### Ruby
63 |
64 | - [SVG](stacks/ruby/data/roadmap.svg) and [PNG](stacks/ruby/data/roadmap.png) maps
65 | - [Materials](stacks/ruby/data/roadmap.md)
66 | - [DOT](stacks/ruby/data/roadmap.dot) version
67 | - [XML](stacks/ruby/roadmap.xml)
68 |
69 | ### PHP
70 |
71 | - [SVG](stacks/php/data/roadmap.svg) and [PNG](stacks/php/data/roadmap.png) maps
72 | - [Materials](stacks/php/data/roadmap.md)
73 | - [DOT](stacks/php/data/roadmap.dot) version
74 | - [XML](stacks/php/roadmap.xml)
75 |
76 | ### Python
77 |
78 | - [SVG](stacks/python/data/roadmap.svg) and [PNG](stacks/python/data/roadmap.png) maps
79 | - [Materials](stacks/python/data/roadmap.md)
80 | - [DOT](stacks/php/python/roadmap.dot) version
81 | - [XML](stacks/python/roadmap.xml)
82 |
83 | ## For developers
84 |
85 | ### Prerequisites
86 |
87 | Before you continue, ensure you meet the following requirements:
88 |
89 | - You have installed the latest version of [Python 3](https://www.python.org/downloads/)
90 | - You also have installed [Graphviz](https://www.graphviz.org/download/)
91 | - And you have a basic understanding of graph theory
92 |
93 | ### Work
94 |
95 | All changes should be developed in your own feature branch and merge throw the merge request.
96 | Also, you should update the project each time you change any XML file by:
97 |
98 | ```bash
99 | make all
100 | ```
101 |
102 | ## Links
103 |
104 | - [Programmer Competency Matrix](http://sijinjoseph.com/programmer-competency-matrix/)
105 | - [Roadmaps for Developers: Backend Developer](https://roadmap.sh/backend)
106 | - [Roadmap to becoming a Software Engineer 2018 Edition with Industry Insights: Back-end Roadmap](https://github.com/fauzanbaig/software-engineer-roadmap#-back-end-roadmap)
107 |
--------------------------------------------------------------------------------
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srce/roadmap/80796d6c5cdb08c6fb94958f9ae1577d91189012/logo.png
--------------------------------------------------------------------------------
/stacks/go/data/roadmap.md:
--------------------------------------------------------------------------------
1 | # Golang Software Engineer
2 |
3 | ## Computer Science
4 |
5 | ### Architecture knowledge
6 |
7 | - book: [Designing Data-Intensive Applications](http://shop.oreilly.com/product/0636920032175.do)
8 | - article: [Создание архитектуры программы или как проектировать табуретку](https://habr.com/ru/post/276593/)
9 | - book: [Clean Architecture](https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164)
10 | - book: [Patterns of Enterprise Application Architecture](https://www.martinfowler.com/books/eaa.html)
11 |
12 |
13 | #### Microservices
14 |
15 | #### Domain-Driven Design
16 |
17 | #### SOLID
18 |
19 | #### Design Patterns
20 |
21 | - book: [Design patterns : elements of reusable object-oriented software](https://www.worldcat.org/title/design-patterns-elements-of-reusable-object-oriented-software/oclc/31171684)
22 | - book: [Design Patterns: Elements of Reusable Object-Oriented Software](
23 | https://www.oreilly.com/library/view/design-patterns-elements/0201633612/
24 | )
25 | - book: [Head First Design Patterns](http://shop.oreilly.com/product/9780596007126.do)
26 | - book: [Реактивные шаблоны проектирования](https://www.piter.com/product/reaktivnye-shablony-proektirovaniya)
27 |
28 |
29 | #### Event Sourcing
30 |
31 | #### Object-Oriented Programming
32 |
33 | ##### Encapsulation
34 |
35 | ##### Inheritance
36 |
37 | ##### Polymorphism
38 |
39 | #### Functional Programming
40 |
41 | #### Distributed Systems
42 |
43 | - book: [Designing Distributed Systems](https://www.amazon.com/gp/product/1491983647)
44 |
45 |
46 | ### Code Standards and Code Review Process
47 |
48 | ### Algorithms and data structures
49 |
50 | - book: [Algorithms, 4th Edition](https://algs4.cs.princeton.edu/home/)
51 | - course: [Algorithms, Part I](https://www.coursera.org/learn/algorithms-part1)
52 | - course: [Algorithms, Part II](https://www.coursera.org/learn/algorithms-part2)
53 | - book: [Introduction to Algorithms, Third Edition](https://mitpress.mit.edu/books/introduction-algorithms-third-edition)
54 |
55 |
56 | #### Analysis
57 |
58 | #### Data Structures
59 |
60 | ##### Lists
61 |
62 | ##### Stacks
63 |
64 | ##### Queues
65 |
66 | ##### Trees
67 |
68 | ##### Heaps
69 |
70 | ##### Graphs
71 |
72 | #### Algorithms
73 |
74 | ##### Sorting algoritms
75 |
76 | ##### Reasearch algoritms
77 |
78 | ### Systems Programming
79 |
80 | ### Artificial Intelligence and Machine Learning
81 |
82 | ### Hardware
83 |
84 | ### Security and Encryption
85 |
86 | ### Blockchain and Cryptocurrency
87 |
88 | ## Databases
89 |
90 | ### SQL
91 |
92 | - book: [SQL Bible](https://www.amazon.com/SQL-Bible-Alex-Kriegel/dp/0470229063)
93 |
94 |
95 | ### Indexes
96 |
97 | ### Transactions
98 |
99 | ### Principles
100 |
101 | ### Relational
102 |
103 | #### Multiversion Concurrency Control
104 |
105 | ##### Firebird
106 |
107 | ##### PostgreSQL
108 |
109 | ##### Oracle
110 |
111 | - book: [Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c](https://www.amazon.com/Oracle-PL-SQL-Programming-Versions/dp/1449324452)
112 |
113 |
114 | ##### MySQL
115 |
116 | #### Blocking
117 |
118 | ##### MySQL
119 |
120 | #### ACID
121 |
122 | #### Object-oriented
123 |
124 | ### NOSQL
125 |
126 | - article: [NOSQL](https://martinfowler.com/nosql.html)
127 | - book: [NoSQL Distilled](https://martinfowler.com/books/nosql.html)
128 |
129 |
130 | #### CAP Theorem
131 |
132 | #### BASE
133 |
134 | #### Graph database
135 |
136 | ##### OrientDB
137 |
138 | ##### Neo4j
139 |
140 | #### Document base
141 |
142 | ##### MongoDB
143 |
144 | #### Column base
145 |
146 | ##### Redis
147 |
148 | ##### ClickHouse
149 |
150 | #### Wide column base
151 |
152 | #### Time series
153 |
154 | ### Search Engines
155 |
156 | #### Elasticseaerch
157 |
158 | #### Sphinx
159 |
160 | ### Message Broker
161 |
162 | #### Kafka
163 |
164 | #### RabbitMQ
165 |
166 | #### Amazon Simple Queue Service
167 |
168 | ## Computer Network
169 |
170 | - book: [Computer Networks](https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742)
171 |
172 |
173 | ### Open Systems Interconnection model
174 |
175 | ### gRPC
176 |
177 | ### REST API
178 |
179 | ### GraphQL
180 |
181 | ### SOAP
182 |
183 | ### DNS
184 |
185 | ### Protocols
186 |
187 | #### IP
188 |
189 | #### TCP
190 |
191 | #### UDP
192 |
193 | #### HTTP
194 |
195 | #### TLS
196 |
197 | #### SSL
198 |
199 | ### Websocket
200 |
201 | ### Authorization and Authentication
202 |
203 | #### Authorization
204 |
205 | #### Authentication
206 |
207 | #### OAuth
208 |
209 | #### JWT
210 |
211 | #### Cookie
212 |
213 | ## Operating System
214 |
215 | ### Types
216 |
217 | #### Batch
218 |
219 | #### Time-Sharing
220 |
221 | #### Distributed
222 |
223 | #### Network
224 |
225 | #### Real-Time
226 |
227 | ### Processes and Threads
228 |
229 | #### Threads
230 |
231 | #### Scheduling
232 |
233 | #### Multi-Threading
234 |
235 | ### Memory Management
236 |
237 | #### Virtual Memory
238 |
239 | #### Virtual Memory
240 |
241 | ### File system
242 |
243 | ### I/O
244 |
245 | ### Virtualization
246 |
247 | #### OS-level Virtualisation
248 |
249 | ##### Docker
250 |
251 | #### x86 Virtualization
252 |
253 | ##### VirtualBox
254 |
255 | ##### VMware
256 |
257 | ### Command Language
258 |
259 | #### Bash
260 |
261 | #### Zsh
262 |
263 | ## Software Development Processes
264 |
265 | - book: [Working Effectively with Legacy Code](https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)
266 | - book: [Refactoring: Improving the Design of Existing Code](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672)
267 | - book: [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X)
268 | - book: [Code Complete: A Practical Handbook of Software Construction](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
269 | - book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/gp/product/0132350882)
270 |
271 |
272 | ### Testing
273 |
274 | - book: [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)
275 | - article: [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html)
276 | - article: [How deep are your unit tests?](
277 | https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
278 | )
279 |
280 |
281 | #### Test-driven development
282 |
283 | #### Behavior-driven development
284 |
285 | ### Build Systems
286 |
287 | #### Make
288 |
289 | #### Maven
290 |
291 | - article: [Системы сборки проектов Maven](http://www.apache-maven.ru/)
292 | - article: [Идеальный мавен. Часть 2: структура проекта](https://habr.com/ru/post/344480/)
293 |
294 |
295 | #### Ant
296 |
297 | #### Gradle
298 |
299 | - book: [Gradle in Action](http://barbra-coco.dyndns.org/student/Gradle%20in%20Action.pdf)
300 |
301 |
302 | ### Bug tracking systems
303 |
304 | #### Jira
305 |
306 | #### Redmine
307 |
308 | #### TFS
309 |
310 | ### Version Control
311 |
312 | - article: [4 книги о системах контроля версий, которые дадут о них полное представление](https://tproger.ru/books/4-books-about-vcs/)
313 |
314 |
315 | #### Git
316 |
317 | - book: [Pro Git](https://git-scm.com/book/en)
318 |
319 |
320 | ### Deployment
321 |
322 | #### Continuous Integration
323 |
324 | #### Continuous Delivery
325 |
326 | - book: [Continuous delivery. Практика непрерывных апдейтов](https://www.piter.com/product_by_id/87629352)
327 |
328 |
329 | ### Estimations
330 |
331 | #### Planning Poker
332 |
333 | ### Debugging
334 |
335 | #### Troubleshooting
336 |
337 | #### Logging
338 |
339 | - article: [Введение в ELK: собираем, фильтруем и анализируем большие данные](https://mkdev.me/posts/vvedenie-v-elk-sobiraem-filtruem-i-analiziruem-bolshie-dannye)
340 |
341 |
342 | #### Monitoring
343 |
344 | ### Orchestration
345 |
346 | #### Ansible
347 |
348 | #### Puppet
349 |
350 | #### Kubernetes
351 |
352 | - book: [Kubernetes in Action](https://www.manning.com/books/kubernetes-in-action)
353 |
354 |
355 | ### Management
356 |
357 | - book: [Goal: A Process of Ongoing Improvement](https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951)
358 |
359 |
360 | #### Methodologies and Frameworks
361 |
362 | - article: [Ещё раз про семь основных методологий разработки](https://habr.com/ru/company/edison/blog/269789/)
363 |
364 |
365 | ##### SCRUM
366 |
367 | ##### Kanban
368 |
369 | ##### Extreme Programming
370 |
371 | ##### The Twelve-Factor App
372 |
373 | - article: [The Twelve-Factor App](https://12factor.net)
374 |
375 |
376 | #### Paradigms and Models
377 |
378 | ##### Agile
379 |
380 | - article: [Manifesto for Agile Software Development](https://agilemanifesto.org)
381 |
382 |
383 | ##### Waterfall
384 |
385 | #### Time Management
386 |
387 | - book: [Джедайские техники](https://www.mann-ivanov-ferber.ru/books/dzhedajskie-texniki/)
388 |
389 |
390 | ##### Pareto analysis
391 |
392 | ##### Getting Things Done
393 |
394 | ##### Pomodoro
395 |
396 | ## Golang
397 |
398 | - course: [Разработка веб-сервисов на Go - основы языка](https://www.coursera.org/learn/golang-webservices-1)
399 | - course: [Разработка веб-сервисов на Golang, часть 2](https://www.coursera.org/learn/golang-webservices-2)
400 | - article: [Effective Go](https://golang.org/doc/effective_go.html)
401 | - article: [Go best practices, six years in](https://peter.bourgon.org/go-best-practices-2016/)[[ru](https://habr.com/ru/company/mailru/blog/301036/)]
402 | - video: [GopherCon 2016: Rob Pike - The Design of the Go Assembler](https://www.youtube.com/watch?v=KINIAgRpkDA)[[ru](https://habr.com/ru/company/badoo/blog/317864/)]
403 | - book: [An Introduction to Programming in Go](https://www.golang-book.com/books/intro)
404 |
405 |
406 | ### Types
407 |
408 | #### Strings/Runes/Bytes
409 |
410 | - article: [The Go Blog - Strings, bytes, runes and characters in Go](https://blog.golang.org/strings)
411 |
412 |
413 | #### Integers/Unsigned/Floating-point
414 |
415 | #### Pointer
416 |
417 | #### Array/Slice
418 |
419 | #### Maps
420 |
421 | #### Interface
422 |
423 | #### Constants
424 |
425 | - article: [The Go Blog - Constants](https://blog.golang.org/constants)
426 | - article: [What is an idiomatic way of representing enums in Go?](https://stackoverflow.com/questions/14426366/what-is-an-idiomatic-way-of-representing-enums-in-go)
427 |
428 |
429 | #### Object-Oriented Programming
430 |
431 | ##### struct
432 |
433 | ##### Encapsulation
434 |
435 | ##### Inheritance/Composition/Embedding
436 |
437 | ##### Polymorphism
438 |
439 | #### Conversion/Checking
440 |
441 | ### Functions
442 |
443 | #### Lambda/Variadic
444 |
445 | #### init/main
446 |
447 | #### Closure/Recursion
448 |
449 | #### Panic
450 |
451 | - article: [The Go Blog - Defer, Panic, and Recover](https://blog.golang.org/defer-panic-and-recover)
452 |
453 |
454 | #### Recover
455 |
456 | - article: [The Go Blog - Defer, Panic, and Recover](https://blog.golang.org/defer-panic-and-recover)
457 |
458 |
459 | #### Panic/Recover/Defer
460 |
461 | #### First-class function
462 |
463 | - video: [Do not fear first class functions](https://www.youtube.com/watch?v=5buaPyJ0XeQ)
464 |
465 |
466 | ### Concurrency
467 |
468 | - book: [Concurrency in Go](https://www.oreilly.com/library/view/concurrency-in-go/9781491941294)
469 | - book: [Visualizing Concurrency in Go](https://divan.dev/posts/go_concurrency_visualize/)
470 | - article: [The Go Blog - Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism)
471 |
472 |
473 | #### Goroutines
474 |
475 | #### Channels
476 |
477 | #### Select
478 |
479 | #### Race Condition
480 |
481 | - article: [The Go Blog - Introducing the Go Race Detector](https://blog.golang.org/race-detector)
482 |
483 |
484 | #### Package sync
485 |
486 | ##### Mutex
487 |
488 | ##### atomic
489 |
490 | ##### WaitGroup
491 |
492 | ##### Once
493 |
494 | ##### Pool
495 |
496 | ##### Map
497 |
498 | #### Patterns
499 |
500 | - article: [The Go Blog - Go Concurrency Patterns: Timing out, moving on](https://blog.golang.org/go-concurrency-patterns-timing-out-and)
501 | - article: [The Go Blog - Go Concurrency Patterns: Context](https://blog.golang.org/context)
502 | - article: [The Go Blog - Advanced Go Concurrency Patterns](https://blog.golang.org/advanced-go-concurrency-patterns)
503 |
504 |
505 | ##### Worker Pool (Thread pool)
506 |
507 | ##### Pipeline
508 |
509 | ##### Barrier
510 |
511 | ##### Future
512 |
513 | ### Tools
514 |
515 | - article: [Commands](https://golang.org/cmd/)
516 |
517 |
518 | #### gofmt
519 |
520 | - article: [gofmt](https://golang.org/cmd/gofmt/)
521 | - article: [The Go Blog - go fmt your code](https://blog.golang.org/go-fmt-your-code)
522 |
523 |
524 | #### vet
525 |
526 | - article: [vet](https://golang.org/cmd/vet/)
527 |
528 |
529 | #### godoc
530 |
531 | #### pprof
532 |
533 | - article: [The Go Blog - Profiling Go Programs](https://blog.golang.org/profiling-go-programs)
534 | - article: [The Go Blog - Profiling Go Programs](https://blog.golang.org/profiling-go-programs)
535 | - article: [Go code refactoring : the 23x performance hunt](https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7)[[ru](https://habr.com/ru/company/badoo/blog/415919/)]
536 |
537 |
538 | #### Dependencies Management
539 |
540 | ##### mod
541 |
542 | ##### dep
543 |
544 | #### Linters (GolangCI, golint and etc)
545 |
546 | ### Testing
547 |
548 | #### go test/benchmark
549 |
550 | #### Mocking
551 |
552 | #### Libraries and Frameworks
553 |
554 | ##### testify
555 |
556 | ##### ginkgo
557 |
558 | ##### goconvey
559 |
560 | ### Runtime
561 |
562 | #### Garbage Collector
563 |
564 | #### Scheduler
565 |
566 | #### Package unsafe
567 |
568 | #### Package reflect
569 |
570 | ### Application
571 |
572 | #### Errors handling
573 |
574 | #### Templates
575 |
576 | #### Context
577 |
578 | #### WebSocket
579 |
580 | #### protobuf/gRPC
581 |
582 | #### Encoding
583 |
584 | ##### JSON
585 |
586 | ##### XML
587 |
588 | #### Frameworks
589 |
590 | ##### Gin
591 |
592 | ##### Beego
593 |
594 | ##### Echo
595 |
596 | ##### Go-Kit
597 |
598 |
--------------------------------------------------------------------------------
/stacks/go/data/roadmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srce/roadmap/80796d6c5cdb08c6fb94958f9ae1577d91189012/stacks/go/data/roadmap.png
--------------------------------------------------------------------------------
/stacks/go/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/stacks/go/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/stacks/java/data/roadmap.dot:
--------------------------------------------------------------------------------
1 | digraph roadmap {
2 | rankdir=LR;
3 | cs->cs_architecture;
4 | cs->code;
5 | cs->cs_algorithms;
6 | cs->cs_systems;
7 | cs->cs_ai;
8 | cs->cs_hardware;
9 | cs->cs_security;
10 | cs->cs_blockchain;
11 | cs_algorithms->cs_algorithms_analysis;
12 | cs_algorithms->cs_algorithms_structures;
13 | cs_algorithms->cs_algorithms_algorithms;
14 | cs_algorithms_structures->cs_algorithms_structures_lists;
15 | cs_algorithms_structures->cs_algorithms_structures_stacks;
16 | cs_algorithms_structures->cs_algorithms_structures_queues;
17 | cs_algorithms_structures->cs_algorithms_structures_trees;
18 | cs_algorithms_structures->cs_algorithms_structures_heaps;
19 | cs_algorithms_structures->cs_algorithms_structures_graphs;
20 | cs_algorithms_algorithms->cs_algorithms_structures_sorting;
21 | cs_algorithms_algorithms->cs_algorithms_structures_research;
22 | cs_architecture->cs_architecture_microservices;
23 | cs_architecture->cs_architecture_ddd;
24 | cs_architecture->cs_architecture_solid;
25 | cs_architecture->cs_architecture_patterns;
26 | cs_architecture->cs_architecture_event;
27 | cs_architecture->cs_architecture_oop;
28 | cs_architecture->cs_architecture_func;
29 | cs_architecture->cs_architecture_distributed;
30 | cs_architecture_oop->cs_architecture_oop_encapsulation;
31 | cs_architecture_oop->cs_architecture_oop_inheritance;
32 | cs_architecture_oop->cs_architecture_oop_polymorphism;
33 | db->db_sql;
34 | db->db_indexes;
35 | db->db_transactions;
36 | db->db_principles;
37 | db->db_relational;
38 | db->db_nosql;
39 | db->db_search;
40 | db->db_message_broker;
41 | db_message_broker->db_message_broker_kafka;
42 | db_message_broker->db_message_broker_rabbit;
43 | db_message_broker->db_message_broker_awssqs;
44 | db_relational->db_relational_mvcc;
45 | db_relational->db_relational_blocking;
46 | db_relational->db_relational_acid;
47 | db_relational->db_relational_oo;
48 | db_relational_mvcc->db_relational_firebird;
49 | db_relational_mvcc->db_relational_postgres;
50 | db_relational_mvcc->db_relational_oracle;
51 | db_relational_mvcc->db_mysql;
52 | db_relational_blocking->db_mysql;
53 | db_nosql->db_nosql_cap;
54 | db_nosql->db_nosql_base;
55 | db_nosql->db_nosql_graph;
56 | db_nosql->db_nosql_doc;
57 | db_nosql->db_nosql_colbase;
58 | db_nosql->db_nosql_colwidebase;
59 | db_nosql->db_nosql_time;
60 | db_nosql_graph->db_nosql_orient;
61 | db_nosql_graph->db_nosql_neo4j;
62 | db_nosql_doc->db_nosql_mongo;
63 | db_nosql_colbase->db_nosql_redis;
64 | db_nosql_colbase->db_nosql_clickhouse;
65 | db_search->db_search_elasticseaerch;
66 | db_search->db_search_sphinx;
67 | net->net_osi;
68 | net->net_grpc;
69 | net->net_restapi;
70 | net->net_graphql;
71 | net->net_soap;
72 | net->net_dns;
73 | net->net_protocols;
74 | net->net_websocket;
75 | net->net_auth;
76 | net_protocols->net_protocols_ip;
77 | net_protocols->net_protocols_tcp;
78 | net_protocols->net_protocols_udp;
79 | net_protocols->net_protocols_http;
80 | net_protocols->net_protocols_tls;
81 | net_protocols->net_protocols_ssl;
82 | net_auth->net_auth_authorization;
83 | net_auth->net_auth_authentication;
84 | net_auth->net_auth_oauth;
85 | net_auth->net_auth_jwt;
86 | net_auth->net_auth_cookie;
87 | os->os_types;
88 | os->os_processes;
89 | os->os_memory;
90 | os->os_filesystem;
91 | os->os_io;
92 | os->os_virtualization;
93 | os->os_shell;
94 | os_memory->os_memory_virtual;
95 | os_types->os_types_batch;
96 | os_types->os_types_time_sharing;
97 | os_types->os_types_distributed;
98 | os_types->os_types_network;
99 | os_types->os_types_realtime;
100 | os_processes->os_processes_threads;
101 | os_processes->os_processes_scheduling;
102 | os_processes->os_processes_multithreading;
103 | os_virtualization->os_virtualization_level;
104 | os_virtualization->os_virtualization_x86;
105 | os_virtualization_level->os_virtualization_level_docker;
106 | os_virtualization_x86->os_virtualization_x86_virtualbox;
107 | os_virtualization_x86->os_virtualization_x86_vmware;
108 | os_shell->os_shell_bash;
109 | os_shell->os_shell_zsh;
110 | dev->dev_testing;
111 | dev->dev_build;
112 | dev->dev_trackers;
113 | dev->dev_version;
114 | dev->dev_deployment;
115 | dev->dev_estimation;
116 | dev->dev_debugging;
117 | dev->dev_orchestration;
118 | dev->dev_management;
119 | dev_orchestration->dev_orchestration_ansible;
120 | dev_orchestration->dev_orchestration_puppet;
121 | dev_orchestration->dev_orchestration_k8s;
122 | dev_debugging->dev_debugging_troubleshooting;
123 | dev_debugging->dev_debugging_logging;
124 | dev_debugging->dev_debugging_monitoring;
125 | dev_testing->dev_testing_tdd;
126 | dev_testing->dev_testing_bdd;
127 | dev_trackers->dev_trackers_jira;
128 | dev_trackers->dev_trackers_redmine;
129 | dev_trackers->dev_trackers_tfs;
130 | dev_version->dev_version_git;
131 | dev_deployment->dev_deployment_ci;
132 | dev_deployment->dev_deployment_cd;
133 | dev_management->dev_methodologies;
134 | dev_management->dev_paradigms;
135 | dev_management->management_time;
136 | dev_paradigms->management_paradigms_agile;
137 | dev_paradigms->management_paradigms_waterfall;
138 | management_time->management_time_pareto;
139 | management_time->management_time_gtd;
140 | management_time->management_time_pomodoro;
141 | dev_methodologies->dev_methodologies_scrum;
142 | dev_methodologies->dev_methodologies_kanban;
143 | dev_methodologies->dev_methodologies_xp;
144 | dev_methodologies->dev_methodologies_12factors;
145 | dev_estimation->management_estimation_poker;
146 | dev_build->dev_build_make;
147 | dev_build->dev_build_maven;
148 | dev_build->dev_build_ant;
149 | dev_build->dev_build_gradle;
150 | java->java_core;
151 | java->java_jdk;
152 | java->java_ee;
153 | java->java_spring;
154 | java->java_3d_part;
155 | java->java_persistence;
156 | java->java_testing;
157 | java_core->java_core_multithreading;
158 | java_core->java_core_io;
159 | java_core->java_core_collections;
160 | java_core->java_core_stream_api;
161 | java_core->java_core_reflection_api;
162 | java_jdk->java_jdk_jvm;
163 | java_jdk->java_jdk_tools;
164 | java_ee->java_ee_ejb;
165 | java_ee->java_ee_components;
166 | java_ee->java_ee_services;
167 | java_spring->java_spring_core;
168 | java_spring->java_spring_mvc;
169 | java_spring->java_spring_data;
170 | java_spring->java_spring_security;
171 | java_spring->java_spring_boot;
172 | java_spring->java_spring_cloud;
173 | java_3d_part->java_3d_part_apache;
174 | java_3d_part->java_3d_part_logging;
175 | java_3d_part->java_3d_part_json;
176 | java_persistence->java_persistence_jdbc;
177 | java_persistence->java_persistence_jpa;
178 | java_persistence_jpa->java_persistence_jpa_hibernate;
179 | java_persistence_jpa->java_persistence_jpa_eclipselink;
180 | java_persistence_jpa->java_persistence_jpa_batis;
181 | java_testing->java_testing_testng;
182 | java_testing->java_testing_junit;
183 | java_testing->java_testing_mokito;
184 | backend->cs;
185 | backend->db;
186 | backend->net;
187 | backend->os;
188 | backend->dev;
189 | backend->java;
190 | cs [ label="Computer Science" ];
191 | cs_architecture [ label="Architecture knowledge" ];
192 | code [ label="Code Standards and Code Review Process" ];
193 | cs_algorithms [ label="Algorithms and data structures" ];
194 | cs_systems [ label="Systems Programming" ];
195 | cs_ai [ label="Artificial Intelligence and Machine Learning" ];
196 | cs_hardware [ label="Hardware" ];
197 | cs_security [ label="Security and Encryption" ];
198 | cs_blockchain [ label="Blockchain and Cryptocurrency" ];
199 | cs_algorithms_analysis [ label="Analysis" ];
200 | cs_algorithms_structures [ label="Data Structures" ];
201 | cs_algorithms_algorithms [ label="Algorithms" ];
202 | cs_algorithms_structures_lists [ label="Lists" ];
203 | cs_algorithms_structures_stacks [ label="Stacks" ];
204 | cs_algorithms_structures_queues [ label="Queues" ];
205 | cs_algorithms_structures_trees [ label="Trees" ];
206 | cs_algorithms_structures_heaps [ label="Heaps" ];
207 | cs_algorithms_structures_graphs [ label="Graphs" ];
208 | cs_algorithms_structures_sorting [ label="Sorting algoritms" ];
209 | cs_algorithms_structures_research [ label="Reasearch algoritms" ];
210 | cs_architecture_microservices [ label="Microservices" ];
211 | cs_architecture_ddd [ label="Domain-Driven Design" ];
212 | cs_architecture_solid [ label="SOLID" ];
213 | cs_architecture_patterns [ label="Design Patterns" ];
214 | cs_architecture_event [ label="Event Sourcing" ];
215 | cs_architecture_oop [ label="Object-Oriented Programming" ];
216 | cs_architecture_func [ label="Functional Programming" ];
217 | cs_architecture_distributed [ label="Distributed Systems" ];
218 | cs_architecture_oop_encapsulation [ label="Encapsulation" ];
219 | cs_architecture_oop_inheritance [ label="Inheritance" ];
220 | cs_architecture_oop_polymorphism [ label="Polymorphism" ];
221 | db [ label="Databases" ];
222 | db_sql [ label="SQL" ];
223 | db_indexes [ label="Indexes" ];
224 | db_transactions [ label="Transactions" ];
225 | db_principles [ label="Principles" ];
226 | db_relational [ label="Relational" ];
227 | db_nosql [ label="NOSQL" ];
228 | db_search [ label="Search Engines" ];
229 | db_message_broker [ label="Message Broker" ];
230 | db_message_broker_kafka [ label="Kafka" ];
231 | db_message_broker_rabbit [ label="RabbitMQ" ];
232 | db_message_broker_awssqs [ label="Amazon Simple Queue Service" ];
233 | db_relational_mvcc [ label="Multiversion Concurrency Control" ];
234 | db_relational_blocking [ label="Blocking" ];
235 | db_relational_acid [ label="ACID" ];
236 | db_relational_oo [ label="Object-oriented" ];
237 | db_relational_firebird [ label="Firebird" ];
238 | db_relational_postgres [ label="PostgreSQL" ];
239 | db_relational_oracle [ label="Oracle" ];
240 | db_mysql [ label="MySQL" ];
241 | db_nosql_cap [ label="CAP Theorem" ];
242 | db_nosql_base [ label="BASE" ];
243 | db_nosql_graph [ label="Graph database" ];
244 | db_nosql_doc [ label="Document base" ];
245 | db_nosql_colbase [ label="Column base" ];
246 | db_nosql_colwidebase [ label="Wide column base" ];
247 | db_nosql_time [ label="Time series" ];
248 | db_nosql_orient [ label="OrientDB" ];
249 | db_nosql_neo4j [ label="Neo4j" ];
250 | db_nosql_mongo [ label="MongoDB" ];
251 | db_nosql_redis [ label="Redis" ];
252 | db_nosql_clickhouse [ label="ClickHouse" ];
253 | db_search_elasticseaerch [ label="Elasticseaerch" ];
254 | db_search_sphinx [ label="Sphinx" ];
255 | net [ label="Computer Network" ];
256 | net_osi [ label="Open Systems Interconnection model" ];
257 | net_grpc [ label="gRPC" ];
258 | net_restapi [ label="REST API" ];
259 | net_graphql [ label="GraphQL" ];
260 | net_soap [ label="SOAP" ];
261 | net_dns [ label="DNS" ];
262 | net_protocols [ label="Protocols" ];
263 | net_websocket [ label="Websocket" ];
264 | net_auth [ label="Authorization and Authentication" ];
265 | net_protocols_ip [ label="IP" ];
266 | net_protocols_tcp [ label="TCP" ];
267 | net_protocols_udp [ label="UDP" ];
268 | net_protocols_http [ label="HTTP" ];
269 | net_protocols_tls [ label="TLS" ];
270 | net_protocols_ssl [ label="SSL" ];
271 | net_auth_authorization [ label="Authorization" ];
272 | net_auth_authentication [ label="Authentication" ];
273 | net_auth_oauth [ label="OAuth" ];
274 | net_auth_jwt [ label="JWT" ];
275 | net_auth_cookie [ label="Cookie" ];
276 | os [ label="Operating System" ];
277 | os_types [ label="Types" ];
278 | os_processes [ label="Processes and Threads" ];
279 | os_memory [ label="Memory Management" ];
280 | os_filesystem [ label="File system" ];
281 | os_io [ label="I/O" ];
282 | os_virtualization [ label="Virtualization" ];
283 | os_shell [ label="Command Language" ];
284 | os_memory_virtual [ label="Virtual Memory" ];
285 | os_types_batch [ label="Batch" ];
286 | os_types_time_sharing [ label="Time-Sharing" ];
287 | os_types_distributed [ label="Distributed" ];
288 | os_types_network [ label="Network" ];
289 | os_types_realtime [ label="Real-Time" ];
290 | os_processes_threads [ label="Threads" ];
291 | os_processes_scheduling [ label="Scheduling" ];
292 | os_processes_multithreading [ label="Multi-Threading" ];
293 | os_virtualization_level [ label="OS-level Virtualisation" ];
294 | os_virtualization_x86 [ label="x86 Virtualization" ];
295 | os_virtualization_level_docker [ label="Docker" ];
296 | os_virtualization_x86_virtualbox [ label="VirtualBox" ];
297 | os_virtualization_x86_vmware [ label="VMware" ];
298 | os_shell_bash [ label="Bash" ];
299 | os_shell_zsh [ label="Zsh" ];
300 | dev [ label="Software Development Processes" ];
301 | dev_testing [ label="Testing" ];
302 | dev_build [ label="Build Systems" ];
303 | dev_trackers [ label="Bug tracking systems" ];
304 | dev_version [ label="Version Control" ];
305 | dev_deployment [ label="Deployment" ];
306 | dev_estimation [ label="Estimations" ];
307 | dev_debugging [ label="Debugging" ];
308 | dev_orchestration [ label="Orchestration" ];
309 | dev_management [ label="Management" ];
310 | dev_orchestration_ansible [ label="Ansible" ];
311 | dev_orchestration_puppet [ label="Puppet" ];
312 | dev_orchestration_k8s [ label="Kubernetes" ];
313 | dev_debugging_troubleshooting [ label="Troubleshooting" ];
314 | dev_debugging_logging [ label="Logging" ];
315 | dev_debugging_monitoring [ label="Monitoring" ];
316 | dev_testing_tdd [ label="Test-driven development" ];
317 | dev_testing_bdd [ label="Behavior-driven development" ];
318 | dev_trackers_jira [ label="Jira" ];
319 | dev_trackers_redmine [ label="Redmine" ];
320 | dev_trackers_tfs [ label="TFS" ];
321 | dev_version_git [ label="Git" ];
322 | dev_deployment_ci [ label="Continuous Integration" ];
323 | dev_deployment_cd [ label="Continuous Delivery" ];
324 | dev_methodologies [ label="Methodologies and Frameworks" ];
325 | dev_paradigms [ label="Paradigms and Models" ];
326 | management_time [ label="Time Management" ];
327 | management_paradigms_agile [ label="Agile" ];
328 | management_paradigms_waterfall [ label="Waterfall" ];
329 | management_time_pareto [ label="Pareto analysis" ];
330 | management_time_gtd [ label="Getting Things Done" ];
331 | management_time_pomodoro [ label="Pomodoro" ];
332 | dev_methodologies_scrum [ label="SCRUM" ];
333 | dev_methodologies_kanban [ label="Kanban" ];
334 | dev_methodologies_xp [ label="Extreme Programming" ];
335 | dev_methodologies_12factors [ label="The Twelve-Factor App" ];
336 | management_estimation_poker [ label="Planning Poker" ];
337 | dev_build_make [ label="Make" ];
338 | dev_build_maven [ label="Maven" ];
339 | dev_build_ant [ label="Ant" ];
340 | dev_build_gradle [ label="Gradle" ];
341 | java [ label="Java" ];
342 | java_core [ label="Core" ];
343 | java_jdk [ label="JDK" ];
344 | java_ee [ label="Enterprise Edition" ];
345 | java_spring [ label="Spring Framework" ];
346 | java_3d_part [ label="Third Party Libraries" ];
347 | java_persistence [ label="Data Persistence" ];
348 | java_testing [ label="Testing Frameworks" ];
349 | java_core_multithreading [ label="Multithreading" ];
350 | java_core_io [ label="I/O" ];
351 | java_core_collections [ label="Collections" ];
352 | java_core_stream_api [ label="Stream API" ];
353 | java_core_reflection_api [ label="Reflection API" ];
354 | java_jdk_jvm [ label="JVM" ];
355 | java_jdk_tools [ label="Tools" ];
356 | java_ee_ejb [ label="EJB" ];
357 | java_ee_components [ label="Web Components" ];
358 | java_ee_services [ label="Web Services" ];
359 | java_spring_core [ label="Core" ];
360 | java_spring_mvc [ label="MVC" ];
361 | java_spring_data [ label="Data" ];
362 | java_spring_security [ label="Security" ];
363 | java_spring_boot [ label="Boot" ];
364 | java_spring_cloud [ label="Cloud" ];
365 | java_3d_part_apache [ label="Apache Commons" ];
366 | java_3d_part_logging [ label="Logging Libraries" ];
367 | java_3d_part_json [ label="Json Libraries" ];
368 | java_persistence_jdbc [ label="JDBC" ];
369 | java_persistence_jpa [ label="JPA" ];
370 | java_persistence_jpa_hibernate [ label="Hibernate" ];
371 | java_persistence_jpa_eclipselink [ label="EclipseLink" ];
372 | java_persistence_jpa_batis [ label="iBATIS/MyBatis" ];
373 | java_testing_testng [ label="TestNG" ];
374 | java_testing_junit [ label="JUnit" ];
375 | java_testing_mokito [ label="Mokito" ];
376 | backend [ label="Java Software Engineer" ];
377 | }
378 |
--------------------------------------------------------------------------------
/stacks/java/data/roadmap.md:
--------------------------------------------------------------------------------
1 | # Java Software Engineer
2 |
3 | ## Computer Science
4 |
5 | ### Architecture knowledge
6 |
7 | - book: [Designing Data-Intensive Applications](http://shop.oreilly.com/product/0636920032175.do)
8 | - article: [Создание архитектуры программы или как проектировать табуретку](https://habr.com/ru/post/276593/)
9 | - book: [Clean Architecture](https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164)
10 | - book: [Patterns of Enterprise Application Architecture](https://www.martinfowler.com/books/eaa.html)
11 |
12 |
13 | #### Microservices
14 |
15 | #### Domain-Driven Design
16 |
17 | #### SOLID
18 |
19 | #### Design Patterns
20 |
21 | - book: [Design patterns : elements of reusable object-oriented software](https://www.worldcat.org/title/design-patterns-elements-of-reusable-object-oriented-software/oclc/31171684)
22 | - book: [Design Patterns: Elements of Reusable Object-Oriented Software](
23 | https://www.oreilly.com/library/view/design-patterns-elements/0201633612/
24 | )
25 | - book: [Head First Design Patterns](http://shop.oreilly.com/product/9780596007126.do)
26 | - book: [Реактивные шаблоны проектирования](https://www.piter.com/product/reaktivnye-shablony-proektirovaniya)
27 | - book: [Professional Java EE Design Patterns](https://www.amazon.com/Professional-Java-EE-Design-Patterns/dp/111884341X)
28 |
29 |
30 | #### Event Sourcing
31 |
32 | #### Object-Oriented Programming
33 |
34 | ##### Encapsulation
35 |
36 | ##### Inheritance
37 |
38 | ##### Polymorphism
39 |
40 | #### Functional Programming
41 |
42 | #### Distributed Systems
43 |
44 | - book: [Designing Distributed Systems](https://www.amazon.com/gp/product/1491983647)
45 |
46 |
47 | ### Code Standards and Code Review Process
48 |
49 | ### Algorithms and data structures
50 |
51 | - book: [Algorithms, 4th Edition](https://algs4.cs.princeton.edu/home/)
52 | - course: [Algorithms, Part I](https://www.coursera.org/learn/algorithms-part1)
53 | - course: [Algorithms, Part II](https://www.coursera.org/learn/algorithms-part2)
54 | - book: [Introduction to Algorithms, Third Edition](https://mitpress.mit.edu/books/introduction-algorithms-third-edition)
55 | - book: [Data Structures and Algorithms in Java, 2nd Edition](https://www.amazon.com/Data-Structures-Algorithms-Java-2nd/dp/0672324539)
56 | - book: [Grokking Algorithms: An illustrated guide for programmers and other curious people](https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230)
57 |
58 |
59 | #### Analysis
60 |
61 | #### Data Structures
62 |
63 | ##### Lists
64 |
65 | ##### Stacks
66 |
67 | ##### Queues
68 |
69 | ##### Trees
70 |
71 | ##### Heaps
72 |
73 | ##### Graphs
74 |
75 | #### Algorithms
76 |
77 | ##### Sorting algoritms
78 |
79 | ##### Reasearch algoritms
80 |
81 | ### Systems Programming
82 |
83 | ### Artificial Intelligence and Machine Learning
84 |
85 | ### Hardware
86 |
87 | ### Security and Encryption
88 |
89 | ### Blockchain and Cryptocurrency
90 |
91 | ## Databases
92 |
93 | ### SQL
94 |
95 | - book: [SQL Bible](https://www.amazon.com/SQL-Bible-Alex-Kriegel/dp/0470229063)
96 |
97 |
98 | ### Indexes
99 |
100 | ### Transactions
101 |
102 | ### Principles
103 |
104 | ### Relational
105 |
106 | #### Multiversion Concurrency Control
107 |
108 | ##### Firebird
109 |
110 | ##### PostgreSQL
111 |
112 | ##### Oracle
113 |
114 | - book: [Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c](https://www.amazon.com/Oracle-PL-SQL-Programming-Versions/dp/1449324452)
115 |
116 |
117 | ##### MySQL
118 |
119 | #### Blocking
120 |
121 | ##### MySQL
122 |
123 | #### ACID
124 |
125 | #### Object-oriented
126 |
127 | ### NOSQL
128 |
129 | - article: [NOSQL](https://martinfowler.com/nosql.html)
130 | - book: [NoSQL Distilled](https://martinfowler.com/books/nosql.html)
131 |
132 |
133 | #### CAP Theorem
134 |
135 | #### BASE
136 |
137 | #### Graph database
138 |
139 | ##### OrientDB
140 |
141 | ##### Neo4j
142 |
143 | #### Document base
144 |
145 | ##### MongoDB
146 |
147 | #### Column base
148 |
149 | ##### Redis
150 |
151 | ##### ClickHouse
152 |
153 | #### Wide column base
154 |
155 | #### Time series
156 |
157 | ### Search Engines
158 |
159 | #### Elasticseaerch
160 |
161 | #### Sphinx
162 |
163 | ### Message Broker
164 |
165 | #### Kafka
166 |
167 | #### RabbitMQ
168 |
169 | #### Amazon Simple Queue Service
170 |
171 | ## Computer Network
172 |
173 | - book: [Computer Networks](https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742)
174 |
175 |
176 | ### Open Systems Interconnection model
177 |
178 | ### gRPC
179 |
180 | ### REST API
181 |
182 | ### GraphQL
183 |
184 | ### SOAP
185 |
186 | ### DNS
187 |
188 | ### Protocols
189 |
190 | #### IP
191 |
192 | #### TCP
193 |
194 | #### UDP
195 |
196 | #### HTTP
197 |
198 | #### TLS
199 |
200 | #### SSL
201 |
202 | ### Websocket
203 |
204 | ### Authorization and Authentication
205 |
206 | #### Authorization
207 |
208 | #### Authentication
209 |
210 | #### OAuth
211 |
212 | #### JWT
213 |
214 | #### Cookie
215 |
216 | ## Operating System
217 |
218 | ### Types
219 |
220 | #### Batch
221 |
222 | #### Time-Sharing
223 |
224 | #### Distributed
225 |
226 | #### Network
227 |
228 | #### Real-Time
229 |
230 | ### Processes and Threads
231 |
232 | #### Threads
233 |
234 | #### Scheduling
235 |
236 | #### Multi-Threading
237 |
238 | ### Memory Management
239 |
240 | #### Virtual Memory
241 |
242 | #### Virtual Memory
243 |
244 | ### File system
245 |
246 | ### I/O
247 |
248 | ### Virtualization
249 |
250 | #### OS-level Virtualisation
251 |
252 | ##### Docker
253 |
254 | #### x86 Virtualization
255 |
256 | ##### VirtualBox
257 |
258 | ##### VMware
259 |
260 | ### Command Language
261 |
262 | #### Bash
263 |
264 | #### Zsh
265 |
266 | ## Software Development Processes
267 |
268 | - book: [Working Effectively with Legacy Code](https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)
269 | - book: [Refactoring: Improving the Design of Existing Code](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672)
270 | - book: [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X)
271 | - book: [Code Complete: A Practical Handbook of Software Construction](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
272 | - book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/gp/product/0132350882)
273 |
274 |
275 | ### Testing
276 |
277 | - book: [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)
278 | - article: [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html)
279 | - article: [How deep are your unit tests?](
280 | https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
281 | )
282 | - book: [Practical Unit Testing with JUnit and Mockito](https://www.amazon.com/Practical-Unit-Testing-JUnit-Mockito/dp/8393489393)
283 |
284 |
285 | #### Test-driven development
286 |
287 | #### Behavior-driven development
288 |
289 | ### Build Systems
290 |
291 | #### Make
292 |
293 | #### Maven
294 |
295 | - article: [Системы сборки проектов Maven](http://www.apache-maven.ru/)
296 | - article: [Идеальный мавен. Часть 2: структура проекта](https://habr.com/ru/post/344480/)
297 |
298 |
299 | #### Ant
300 |
301 | #### Gradle
302 |
303 | - book: [Gradle in Action](http://barbra-coco.dyndns.org/student/Gradle%20in%20Action.pdf)
304 |
305 |
306 | ### Bug tracking systems
307 |
308 | #### Jira
309 |
310 | #### Redmine
311 |
312 | #### TFS
313 |
314 | ### Version Control
315 |
316 | - article: [4 книги о системах контроля версий, которые дадут о них полное представление](https://tproger.ru/books/4-books-about-vcs/)
317 |
318 |
319 | #### Git
320 |
321 | - book: [Pro Git](https://git-scm.com/book/en)
322 |
323 |
324 | ### Deployment
325 |
326 | #### Continuous Integration
327 |
328 | #### Continuous Delivery
329 |
330 | - book: [Continuous delivery. Практика непрерывных апдейтов](https://www.piter.com/product_by_id/87629352)
331 |
332 |
333 | ### Estimations
334 |
335 | #### Planning Poker
336 |
337 | ### Debugging
338 |
339 | #### Troubleshooting
340 |
341 | #### Logging
342 |
343 | - article: [Введение в ELK: собираем, фильтруем и анализируем большие данные](https://mkdev.me/posts/vvedenie-v-elk-sobiraem-filtruem-i-analiziruem-bolshie-dannye)
344 | - article: [Логирование в Java / quick start](https://habr.com/ru/post/130195/)
345 | - article: [Инструменты логирование в Java](https://habr.com/ru/sandbox/20634/)
346 |
347 |
348 | #### Monitoring
349 |
350 | ### Orchestration
351 |
352 | #### Ansible
353 |
354 | #### Puppet
355 |
356 | #### Kubernetes
357 |
358 | - book: [Kubernetes in Action](https://www.manning.com/books/kubernetes-in-action)
359 |
360 |
361 | ### Management
362 |
363 | - book: [Goal: A Process of Ongoing Improvement](https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951)
364 |
365 |
366 | #### Methodologies and Frameworks
367 |
368 | - article: [Ещё раз про семь основных методологий разработки](https://habr.com/ru/company/edison/blog/269789/)
369 |
370 |
371 | ##### SCRUM
372 |
373 | ##### Kanban
374 |
375 | ##### Extreme Programming
376 |
377 | ##### The Twelve-Factor App
378 |
379 | - article: [The Twelve-Factor App](https://12factor.net)
380 |
381 |
382 | #### Paradigms and Models
383 |
384 | ##### Agile
385 |
386 | - article: [Manifesto for Agile Software Development](https://agilemanifesto.org)
387 |
388 |
389 | ##### Waterfall
390 |
391 | #### Time Management
392 |
393 | - book: [Джедайские техники](https://www.mann-ivanov-ferber.ru/books/dzhedajskie-texniki/)
394 |
395 |
396 | ##### Pareto analysis
397 |
398 | ##### Getting Things Done
399 |
400 | ##### Pomodoro
401 |
402 | ## Java
403 |
404 | ### Core
405 |
406 | - book: [Oracle Certified Associate Java SE 8 Programmer I Study Guide (2015)](https://www.amazon.com/OCA-Certified-Associate-Programmer-1Z0-808/dp/1118957407)
407 | - book: [OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (2015)](https://www.amazon.com/OCP-Certified-Professional-Programmer-2015-12-21/dp/B01A1MN0ZS)
408 | - book: [Java 8 Lambdas: Functional Programming For The Masses](https://www.amazon.com/Java-Lambdas-Functional-Programming-Masses/dp/1449370772)
409 | - book: [Java: A Beginner's Guide, Eighth Edition](https://www.amazon.com/Java-Beginners-Eighth-Herbert-Schildt/dp/1260440214)
410 | - book: [Java Concurrency in Practice](https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601)
411 |
412 |
413 | #### Multithreading
414 |
415 | #### I/O
416 |
417 | #### Collections
418 |
419 | #### Stream API
420 |
421 | #### Reflection API
422 |
423 | ### JDK
424 |
425 | #### JVM
426 |
427 | #### Tools
428 |
429 | ### Enterprise Edition
430 |
431 | - book: [Beginning Java E.E. 7 (Expert Voice in Java)](https://www.amazon.com/gp/product/143024626X)
432 | - book: [Java EE 7 Essentials: Enterprise Developer Handbook](https://www.amazon.com/Java-EE-Essentials-Enterprise-Developer/dp/1449370179)
433 |
434 |
435 | #### EJB
436 |
437 | #### Web Components
438 |
439 | #### Web Services
440 |
441 | ### Spring Framework
442 |
443 | - video: [JUGLviv meetup: Spring Boot the Ripper](https://www.youtube.com/watch?v=8xa0RWMwAOE)
444 | - video: [Евгений Борисов — Spring-потрошитель, часть 1](https://www.youtube.com/watch?v=BmBr5diz8WA)
445 | - book: [Cloud Native Java: Designing Resilient Systems with Spring Boot,
446 | Spring Cloud, and Cloud Foundry
447 | ](
448 | https://www.amazon.com/Cloud-Native-Java-Designing-Resilient/dp/1449374646
449 | )
450 | - book: [Spring 4 для профессионалов | Шефер Крис, Хо Кларенс](https://www.ozon.ru/context/detail/id/33056979/)
451 | - book: [Spring in Action 5th Edition](https://www.amazon.com/Spring-Action-Craig-Walls/dp/1617294942
452 | )
453 | - book: [Pro Spring](https://www.amazon.com/Pro-Spring-Clarence-Ho-ebook/dp/B014P9HJ0A
454 | )
455 |
456 |
457 | #### Core
458 |
459 | #### MVC
460 |
461 | #### Data
462 |
463 | #### Security
464 |
465 | #### Boot
466 |
467 | #### Cloud
468 |
469 | ### Third Party Libraries
470 |
471 | #### Apache Commons
472 |
473 | #### Logging Libraries
474 |
475 | #### Json Libraries
476 |
477 | ### Data Persistence
478 |
479 | #### JDBC
480 |
481 | #### JPA
482 |
483 | ##### Hibernate
484 |
485 | ##### EclipseLink
486 |
487 | ##### iBATIS/MyBatis
488 |
489 | ### Testing Frameworks
490 |
491 | #### TestNG
492 |
493 | #### JUnit
494 |
495 | #### Mokito
496 |
497 |
--------------------------------------------------------------------------------
/stacks/java/data/roadmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srce/roadmap/80796d6c5cdb08c6fb94958f9ae1577d91189012/stacks/java/data/roadmap.png
--------------------------------------------------------------------------------
/stacks/java/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Логирование в Java / quick start
11 | https://habr.com/ru/post/130195/
12 |
13 | dev_debugging_logging
14 |
15 |
16 |
17 |
18 | Инструменты логирование в Java
19 | https://habr.com/ru/sandbox/20634/
20 |
21 | dev_debugging_logging
22 |
23 |
24 |
25 |
26 | Practical Unit Testing with JUnit and Mockito
27 | https://www.amazon.com/Practical-Unit-Testing-JUnit-Mockito/dp/8393489393
28 |
29 | dev_testing
30 |
31 |
32 |
33 |
34 | Data Structures and Algorithms in Java, 2nd Edition
35 | https://www.amazon.com/Data-Structures-Algorithms-Java-2nd/dp/0672324539
36 |
37 | cs_algorithms
38 |
39 |
40 |
41 |
42 | Grokking Algorithms: An illustrated guide for programmers and other curious people
43 | https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230
44 |
45 | cs_algorithms
46 |
47 |
48 |
49 |
50 | Professional Java EE Design Patterns
51 | https://www.amazon.com/Professional-Java-EE-Design-Patterns/dp/111884341X
52 |
53 | cs_architecture_patterns
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/stacks/java/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/stacks/php/data/roadmap.dot:
--------------------------------------------------------------------------------
1 | digraph roadmap {
2 | rankdir=LR;
3 | cs->cs_architecture;
4 | cs->code;
5 | cs->cs_algorithms;
6 | cs->cs_systems;
7 | cs->cs_ai;
8 | cs->cs_hardware;
9 | cs->cs_security;
10 | cs->cs_blockchain;
11 | cs_algorithms->cs_algorithms_analysis;
12 | cs_algorithms->cs_algorithms_structures;
13 | cs_algorithms->cs_algorithms_algorithms;
14 | cs_algorithms_structures->cs_algorithms_structures_lists;
15 | cs_algorithms_structures->cs_algorithms_structures_stacks;
16 | cs_algorithms_structures->cs_algorithms_structures_queues;
17 | cs_algorithms_structures->cs_algorithms_structures_trees;
18 | cs_algorithms_structures->cs_algorithms_structures_heaps;
19 | cs_algorithms_structures->cs_algorithms_structures_graphs;
20 | cs_algorithms_algorithms->cs_algorithms_structures_sorting;
21 | cs_algorithms_algorithms->cs_algorithms_structures_research;
22 | cs_architecture->cs_architecture_microservices;
23 | cs_architecture->cs_architecture_ddd;
24 | cs_architecture->cs_architecture_solid;
25 | cs_architecture->cs_architecture_patterns;
26 | cs_architecture->cs_architecture_event;
27 | cs_architecture->cs_architecture_oop;
28 | cs_architecture->cs_architecture_func;
29 | cs_architecture->cs_architecture_distributed;
30 | cs_architecture_oop->cs_architecture_oop_encapsulation;
31 | cs_architecture_oop->cs_architecture_oop_inheritance;
32 | cs_architecture_oop->cs_architecture_oop_polymorphism;
33 | db->db_sql;
34 | db->db_indexes;
35 | db->db_transactions;
36 | db->db_principles;
37 | db->db_relational;
38 | db->db_nosql;
39 | db->db_search;
40 | db->db_message_broker;
41 | db_message_broker->db_message_broker_kafka;
42 | db_message_broker->db_message_broker_rabbit;
43 | db_message_broker->db_message_broker_awssqs;
44 | db_relational->db_relational_mvcc;
45 | db_relational->db_relational_blocking;
46 | db_relational->db_relational_acid;
47 | db_relational->db_relational_oo;
48 | db_relational_mvcc->db_relational_firebird;
49 | db_relational_mvcc->db_relational_postgres;
50 | db_relational_mvcc->db_relational_oracle;
51 | db_relational_mvcc->db_mysql;
52 | db_relational_blocking->db_mysql;
53 | db_nosql->db_nosql_cap;
54 | db_nosql->db_nosql_base;
55 | db_nosql->db_nosql_graph;
56 | db_nosql->db_nosql_doc;
57 | db_nosql->db_nosql_colbase;
58 | db_nosql->db_nosql_colwidebase;
59 | db_nosql->db_nosql_time;
60 | db_nosql_graph->db_nosql_orient;
61 | db_nosql_graph->db_nosql_neo4j;
62 | db_nosql_doc->db_nosql_mongo;
63 | db_nosql_colbase->db_nosql_redis;
64 | db_nosql_colbase->db_nosql_clickhouse;
65 | db_search->db_search_elasticseaerch;
66 | db_search->db_search_sphinx;
67 | net->net_osi;
68 | net->net_grpc;
69 | net->net_restapi;
70 | net->net_graphql;
71 | net->net_soap;
72 | net->net_dns;
73 | net->net_protocols;
74 | net->net_websocket;
75 | net->net_auth;
76 | net_protocols->net_protocols_ip;
77 | net_protocols->net_protocols_tcp;
78 | net_protocols->net_protocols_udp;
79 | net_protocols->net_protocols_http;
80 | net_protocols->net_protocols_tls;
81 | net_protocols->net_protocols_ssl;
82 | net_auth->net_auth_authorization;
83 | net_auth->net_auth_authentication;
84 | net_auth->net_auth_oauth;
85 | net_auth->net_auth_jwt;
86 | net_auth->net_auth_cookie;
87 | os->os_types;
88 | os->os_processes;
89 | os->os_memory;
90 | os->os_filesystem;
91 | os->os_io;
92 | os->os_virtualization;
93 | os->os_shell;
94 | os_memory->os_memory_virtual;
95 | os_types->os_types_batch;
96 | os_types->os_types_time_sharing;
97 | os_types->os_types_distributed;
98 | os_types->os_types_network;
99 | os_types->os_types_realtime;
100 | os_processes->os_processes_threads;
101 | os_processes->os_processes_scheduling;
102 | os_processes->os_processes_multithreading;
103 | os_virtualization->os_virtualization_level;
104 | os_virtualization->os_virtualization_x86;
105 | os_virtualization_level->os_virtualization_level_docker;
106 | os_virtualization_x86->os_virtualization_x86_virtualbox;
107 | os_virtualization_x86->os_virtualization_x86_vmware;
108 | os_shell->os_shell_bash;
109 | os_shell->os_shell_zsh;
110 | dev->dev_testing;
111 | dev->dev_build;
112 | dev->dev_trackers;
113 | dev->dev_version;
114 | dev->dev_deployment;
115 | dev->dev_estimation;
116 | dev->dev_debugging;
117 | dev->dev_orchestration;
118 | dev->dev_management;
119 | dev_orchestration->dev_orchestration_ansible;
120 | dev_orchestration->dev_orchestration_puppet;
121 | dev_orchestration->dev_orchestration_k8s;
122 | dev_debugging->dev_debugging_troubleshooting;
123 | dev_debugging->dev_debugging_logging;
124 | dev_debugging->dev_debugging_monitoring;
125 | dev_testing->dev_testing_tdd;
126 | dev_testing->dev_testing_bdd;
127 | dev_trackers->dev_trackers_jira;
128 | dev_trackers->dev_trackers_redmine;
129 | dev_trackers->dev_trackers_tfs;
130 | dev_version->dev_version_git;
131 | dev_deployment->dev_deployment_ci;
132 | dev_deployment->dev_deployment_cd;
133 | dev_management->dev_methodologies;
134 | dev_management->dev_paradigms;
135 | dev_management->management_time;
136 | dev_paradigms->management_paradigms_agile;
137 | dev_paradigms->management_paradigms_waterfall;
138 | management_time->management_time_pareto;
139 | management_time->management_time_gtd;
140 | management_time->management_time_pomodoro;
141 | dev_methodologies->dev_methodologies_scrum;
142 | dev_methodologies->dev_methodologies_kanban;
143 | dev_methodologies->dev_methodologies_xp;
144 | dev_methodologies->dev_methodologies_12factors;
145 | dev_estimation->management_estimation_poker;
146 | dev_build->dev_build_make;
147 | dev_build->dev_build_maven;
148 | dev_build->dev_build_ant;
149 | dev_build->dev_build_gradle;
150 | php->php_core;
151 | php_core->php_types;
152 | php_core->php_variables;
153 | php_core->php_functions;
154 | php_core->php_oop;
155 | php_core->php_errors;
156 | php_core->php_namespaces;
157 | php->php_spl;
158 | php->php_generators;
159 | php->php_templates;
160 | php->php_frameworks;
161 | php->php_orm;
162 | php->php_testing;
163 | php_types->php_booleans;
164 | php_types->php_integers;
165 | php_types->php_floating;
166 | php_types->php_strings;
167 | php_types->php_arrays;
168 | php_types->php_iterables;
169 | php_types->php_objects;
170 | php_types->php_resources;
171 | php_types->php_null;
172 | php_types->php_callbacks;
173 | php_types->php_juggling;
174 | php_spl->php_spl_datastructures;
175 | php_spl->php_spl_iterators;
176 | php_spl->php_spl_interfaces;
177 | php_spl->php_spl_exceptions;
178 | php_spl->php_spl_functions;
179 | php_spl->php_spl_files;
180 | php_variables->php_variables_predefined;
181 | php_errors->php_errors_predefined;
182 | php_templates->php_templates_smarty;
183 | backend->cs;
184 | backend->db;
185 | backend->net;
186 | backend->os;
187 | backend->dev;
188 | backend->php;
189 | cs [ label="Computer Science" ];
190 | cs_architecture [ label="Architecture knowledge" ];
191 | code [ label="Code Standards and Code Review Process" ];
192 | cs_algorithms [ label="Algorithms and data structures" ];
193 | cs_systems [ label="Systems Programming" ];
194 | cs_ai [ label="Artificial Intelligence and Machine Learning" ];
195 | cs_hardware [ label="Hardware" ];
196 | cs_security [ label="Security and Encryption" ];
197 | cs_blockchain [ label="Blockchain and Cryptocurrency" ];
198 | cs_algorithms_analysis [ label="Analysis" ];
199 | cs_algorithms_structures [ label="Data Structures" ];
200 | cs_algorithms_algorithms [ label="Algorithms" ];
201 | cs_algorithms_structures_lists [ label="Lists" ];
202 | cs_algorithms_structures_stacks [ label="Stacks" ];
203 | cs_algorithms_structures_queues [ label="Queues" ];
204 | cs_algorithms_structures_trees [ label="Trees" ];
205 | cs_algorithms_structures_heaps [ label="Heaps" ];
206 | cs_algorithms_structures_graphs [ label="Graphs" ];
207 | cs_algorithms_structures_sorting [ label="Sorting algoritms" ];
208 | cs_algorithms_structures_research [ label="Reasearch algoritms" ];
209 | cs_architecture_microservices [ label="Microservices" ];
210 | cs_architecture_ddd [ label="Domain-Driven Design" ];
211 | cs_architecture_solid [ label="SOLID" ];
212 | cs_architecture_patterns [ label="Design Patterns" ];
213 | cs_architecture_event [ label="Event Sourcing" ];
214 | cs_architecture_oop [ label="Object-Oriented Programming" ];
215 | cs_architecture_func [ label="Functional Programming" ];
216 | cs_architecture_distributed [ label="Distributed Systems" ];
217 | cs_architecture_oop_encapsulation [ label="Encapsulation" ];
218 | cs_architecture_oop_inheritance [ label="Inheritance" ];
219 | cs_architecture_oop_polymorphism [ label="Polymorphism" ];
220 | db [ label="Databases" ];
221 | db_sql [ label="SQL" ];
222 | db_indexes [ label="Indexes" ];
223 | db_transactions [ label="Transactions" ];
224 | db_principles [ label="Principles" ];
225 | db_relational [ label="Relational" ];
226 | db_nosql [ label="NOSQL" ];
227 | db_search [ label="Search Engines" ];
228 | db_message_broker [ label="Message Broker" ];
229 | db_message_broker_kafka [ label="Kafka" ];
230 | db_message_broker_rabbit [ label="RabbitMQ" ];
231 | db_message_broker_awssqs [ label="Amazon Simple Queue Service" ];
232 | db_relational_mvcc [ label="Multiversion Concurrency Control" ];
233 | db_relational_blocking [ label="Blocking" ];
234 | db_relational_acid [ label="ACID" ];
235 | db_relational_oo [ label="Object-oriented" ];
236 | db_relational_firebird [ label="Firebird" ];
237 | db_relational_postgres [ label="PostgreSQL" ];
238 | db_relational_oracle [ label="Oracle" ];
239 | db_mysql [ label="MySQL" ];
240 | db_nosql_cap [ label="CAP Theorem" ];
241 | db_nosql_base [ label="BASE" ];
242 | db_nosql_graph [ label="Graph database" ];
243 | db_nosql_doc [ label="Document base" ];
244 | db_nosql_colbase [ label="Column base" ];
245 | db_nosql_colwidebase [ label="Wide column base" ];
246 | db_nosql_time [ label="Time series" ];
247 | db_nosql_orient [ label="OrientDB" ];
248 | db_nosql_neo4j [ label="Neo4j" ];
249 | db_nosql_mongo [ label="MongoDB" ];
250 | db_nosql_redis [ label="Redis" ];
251 | db_nosql_clickhouse [ label="ClickHouse" ];
252 | db_search_elasticseaerch [ label="Elasticseaerch" ];
253 | db_search_sphinx [ label="Sphinx" ];
254 | net [ label="Computer Network" ];
255 | net_osi [ label="Open Systems Interconnection model" ];
256 | net_grpc [ label="gRPC" ];
257 | net_restapi [ label="REST API" ];
258 | net_graphql [ label="GraphQL" ];
259 | net_soap [ label="SOAP" ];
260 | net_dns [ label="DNS" ];
261 | net_protocols [ label="Protocols" ];
262 | net_websocket [ label="Websocket" ];
263 | net_auth [ label="Authorization and Authentication" ];
264 | net_protocols_ip [ label="IP" ];
265 | net_protocols_tcp [ label="TCP" ];
266 | net_protocols_udp [ label="UDP" ];
267 | net_protocols_http [ label="HTTP" ];
268 | net_protocols_tls [ label="TLS" ];
269 | net_protocols_ssl [ label="SSL" ];
270 | net_auth_authorization [ label="Authorization" ];
271 | net_auth_authentication [ label="Authentication" ];
272 | net_auth_oauth [ label="OAuth" ];
273 | net_auth_jwt [ label="JWT" ];
274 | net_auth_cookie [ label="Cookie" ];
275 | os [ label="Operating System" ];
276 | os_types [ label="Types" ];
277 | os_processes [ label="Processes and Threads" ];
278 | os_memory [ label="Memory Management" ];
279 | os_filesystem [ label="File system" ];
280 | os_io [ label="I/O" ];
281 | os_virtualization [ label="Virtualization" ];
282 | os_shell [ label="Command Language" ];
283 | os_memory_virtual [ label="Virtual Memory" ];
284 | os_types_batch [ label="Batch" ];
285 | os_types_time_sharing [ label="Time-Sharing" ];
286 | os_types_distributed [ label="Distributed" ];
287 | os_types_network [ label="Network" ];
288 | os_types_realtime [ label="Real-Time" ];
289 | os_processes_threads [ label="Threads" ];
290 | os_processes_scheduling [ label="Scheduling" ];
291 | os_processes_multithreading [ label="Multi-Threading" ];
292 | os_virtualization_level [ label="OS-level Virtualisation" ];
293 | os_virtualization_x86 [ label="x86 Virtualization" ];
294 | os_virtualization_level_docker [ label="Docker" ];
295 | os_virtualization_x86_virtualbox [ label="VirtualBox" ];
296 | os_virtualization_x86_vmware [ label="VMware" ];
297 | os_shell_bash [ label="Bash" ];
298 | os_shell_zsh [ label="Zsh" ];
299 | dev [ label="Software Development Processes" ];
300 | dev_testing [ label="Testing" ];
301 | dev_build [ label="Build Systems" ];
302 | dev_trackers [ label="Bug tracking systems" ];
303 | dev_version [ label="Version Control" ];
304 | dev_deployment [ label="Deployment" ];
305 | dev_estimation [ label="Estimations" ];
306 | dev_debugging [ label="Debugging" ];
307 | dev_orchestration [ label="Orchestration" ];
308 | dev_management [ label="Management" ];
309 | dev_orchestration_ansible [ label="Ansible" ];
310 | dev_orchestration_puppet [ label="Puppet" ];
311 | dev_orchestration_k8s [ label="Kubernetes" ];
312 | dev_debugging_troubleshooting [ label="Troubleshooting" ];
313 | dev_debugging_logging [ label="Logging" ];
314 | dev_debugging_monitoring [ label="Monitoring" ];
315 | dev_testing_tdd [ label="Test-driven development" ];
316 | dev_testing_bdd [ label="Behavior-driven development" ];
317 | dev_trackers_jira [ label="Jira" ];
318 | dev_trackers_redmine [ label="Redmine" ];
319 | dev_trackers_tfs [ label="TFS" ];
320 | dev_version_git [ label="Git" ];
321 | dev_deployment_ci [ label="Continuous Integration" ];
322 | dev_deployment_cd [ label="Continuous Delivery" ];
323 | dev_methodologies [ label="Methodologies and Frameworks" ];
324 | dev_paradigms [ label="Paradigms and Models" ];
325 | management_time [ label="Time Management" ];
326 | management_paradigms_agile [ label="Agile" ];
327 | management_paradigms_waterfall [ label="Waterfall" ];
328 | management_time_pareto [ label="Pareto analysis" ];
329 | management_time_gtd [ label="Getting Things Done" ];
330 | management_time_pomodoro [ label="Pomodoro" ];
331 | dev_methodologies_scrum [ label="SCRUM" ];
332 | dev_methodologies_kanban [ label="Kanban" ];
333 | dev_methodologies_xp [ label="Extreme Programming" ];
334 | dev_methodologies_12factors [ label="The Twelve-Factor App" ];
335 | management_estimation_poker [ label="Planning Poker" ];
336 | dev_build_make [ label="Make" ];
337 | dev_build_maven [ label="Maven" ];
338 | dev_build_ant [ label="Ant" ];
339 | dev_build_gradle [ label="Gradle" ];
340 | php [ label="PHP" ];
341 | php_core [ label="Core" ];
342 | php_types [ label="Types" ];
343 | php_variables [ label="Variables" ];
344 | php_functions [ label="Functions" ];
345 | php_oop [ label="Classes and Objects" ];
346 | php_errors [ label="Errors and Exceptions" ];
347 | php_namespaces [ label="Namespaces" ];
348 | php_spl [ label="Standard PHP Library" ];
349 | php_generators [ label="Generators" ];
350 | php_templates [ label="Template engines" ];
351 | php_frameworks [ label="Frameworks, CMS" ];
352 | php_orm [ label="ORM" ];
353 | php_testing [ label="Testing Frameworks" ];
354 | php_booleans [ label="Booleans" ];
355 | php_integers [ label="Integers" ];
356 | php_floating [ label="Floating point numbers" ];
357 | php_strings [ label="Strings" ];
358 | php_arrays [ label="Arrays" ];
359 | php_iterables [ label="Iterables" ];
360 | php_objects [ label="Objects" ];
361 | php_resources [ label="Resources" ];
362 | php_null [ label="NULL" ];
363 | php_callbacks [ label="Callbacks / Callables" ];
364 | php_juggling [ label="Type Juggling" ];
365 | php_spl_datastructures [ label="Datastructures" ];
366 | php_spl_iterators [ label="Iterators" ];
367 | php_spl_interfaces [ label="Interfaces" ];
368 | php_spl_exceptions [ label="Exceptions" ];
369 | php_spl_functions [ label="Functions" ];
370 | php_spl_files [ label="File Handling" ];
371 | php_variables_predefined [ label="Predefined Variables" ];
372 | php_errors_predefined [ label="Predefined Exceptions" ];
373 | php_templates_smarty [ label="Smarty" ];
374 | backend [ label="PHP Software Engineer" ];
375 | }
376 |
--------------------------------------------------------------------------------
/stacks/php/data/roadmap.md:
--------------------------------------------------------------------------------
1 | # PHP Software Engineer
2 |
3 | ## Computer Science
4 |
5 | ### Architecture knowledge
6 |
7 | - book: [Designing Data-Intensive Applications](http://shop.oreilly.com/product/0636920032175.do)
8 | - article: [Создание архитектуры программы или как проектировать табуретку](https://habr.com/ru/post/276593/)
9 | - book: [Clean Architecture](https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164)
10 | - book: [Patterns of Enterprise Application Architecture](https://www.martinfowler.com/books/eaa.html)
11 |
12 |
13 | #### Microservices
14 |
15 | #### Domain-Driven Design
16 |
17 | #### SOLID
18 |
19 | #### Design Patterns
20 |
21 | - book: [Design patterns : elements of reusable object-oriented software](https://www.worldcat.org/title/design-patterns-elements-of-reusable-object-oriented-software/oclc/31171684)
22 | - book: [Design Patterns: Elements of Reusable Object-Oriented Software](
23 | https://www.oreilly.com/library/view/design-patterns-elements/0201633612/
24 | )
25 | - book: [Head First Design Patterns](http://shop.oreilly.com/product/9780596007126.do)
26 | - book: [Реактивные шаблоны проектирования](https://www.piter.com/product/reaktivnye-shablony-proektirovaniya)
27 |
28 |
29 | #### Event Sourcing
30 |
31 | #### Object-Oriented Programming
32 |
33 | ##### Encapsulation
34 |
35 | ##### Inheritance
36 |
37 | ##### Polymorphism
38 |
39 | #### Functional Programming
40 |
41 | #### Distributed Systems
42 |
43 | - book: [Designing Distributed Systems](https://www.amazon.com/gp/product/1491983647)
44 |
45 |
46 | ### Code Standards and Code Review Process
47 |
48 | ### Algorithms and data structures
49 |
50 | - book: [Algorithms, 4th Edition](https://algs4.cs.princeton.edu/home/)
51 | - course: [Algorithms, Part I](https://www.coursera.org/learn/algorithms-part1)
52 | - course: [Algorithms, Part II](https://www.coursera.org/learn/algorithms-part2)
53 | - book: [Introduction to Algorithms, Third Edition](https://mitpress.mit.edu/books/introduction-algorithms-third-edition)
54 |
55 |
56 | #### Analysis
57 |
58 | #### Data Structures
59 |
60 | ##### Lists
61 |
62 | ##### Stacks
63 |
64 | ##### Queues
65 |
66 | ##### Trees
67 |
68 | ##### Heaps
69 |
70 | ##### Graphs
71 |
72 | #### Algorithms
73 |
74 | ##### Sorting algoritms
75 |
76 | ##### Reasearch algoritms
77 |
78 | ### Systems Programming
79 |
80 | ### Artificial Intelligence and Machine Learning
81 |
82 | ### Hardware
83 |
84 | ### Security and Encryption
85 |
86 | ### Blockchain and Cryptocurrency
87 |
88 | ## Databases
89 |
90 | ### SQL
91 |
92 | - book: [SQL Bible](https://www.amazon.com/SQL-Bible-Alex-Kriegel/dp/0470229063)
93 |
94 |
95 | ### Indexes
96 |
97 | ### Transactions
98 |
99 | ### Principles
100 |
101 | ### Relational
102 |
103 | #### Multiversion Concurrency Control
104 |
105 | ##### Firebird
106 |
107 | ##### PostgreSQL
108 |
109 | ##### Oracle
110 |
111 | - book: [Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c](https://www.amazon.com/Oracle-PL-SQL-Programming-Versions/dp/1449324452)
112 |
113 |
114 | ##### MySQL
115 |
116 | #### Blocking
117 |
118 | ##### MySQL
119 |
120 | #### ACID
121 |
122 | #### Object-oriented
123 |
124 | ### NOSQL
125 |
126 | - article: [NOSQL](https://martinfowler.com/nosql.html)
127 | - book: [NoSQL Distilled](https://martinfowler.com/books/nosql.html)
128 |
129 |
130 | #### CAP Theorem
131 |
132 | #### BASE
133 |
134 | #### Graph database
135 |
136 | ##### OrientDB
137 |
138 | ##### Neo4j
139 |
140 | #### Document base
141 |
142 | ##### MongoDB
143 |
144 | #### Column base
145 |
146 | ##### Redis
147 |
148 | ##### ClickHouse
149 |
150 | #### Wide column base
151 |
152 | #### Time series
153 |
154 | ### Search Engines
155 |
156 | #### Elasticseaerch
157 |
158 | #### Sphinx
159 |
160 | ### Message Broker
161 |
162 | #### Kafka
163 |
164 | #### RabbitMQ
165 |
166 | #### Amazon Simple Queue Service
167 |
168 | ## Computer Network
169 |
170 | - book: [Computer Networks](https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742)
171 |
172 |
173 | ### Open Systems Interconnection model
174 |
175 | ### gRPC
176 |
177 | ### REST API
178 |
179 | ### GraphQL
180 |
181 | ### SOAP
182 |
183 | ### DNS
184 |
185 | ### Protocols
186 |
187 | #### IP
188 |
189 | #### TCP
190 |
191 | #### UDP
192 |
193 | #### HTTP
194 |
195 | #### TLS
196 |
197 | #### SSL
198 |
199 | ### Websocket
200 |
201 | ### Authorization and Authentication
202 |
203 | #### Authorization
204 |
205 | #### Authentication
206 |
207 | #### OAuth
208 |
209 | #### JWT
210 |
211 | #### Cookie
212 |
213 | ## Operating System
214 |
215 | ### Types
216 |
217 | #### Batch
218 |
219 | #### Time-Sharing
220 |
221 | #### Distributed
222 |
223 | #### Network
224 |
225 | #### Real-Time
226 |
227 | ### Processes and Threads
228 |
229 | #### Threads
230 |
231 | #### Scheduling
232 |
233 | #### Multi-Threading
234 |
235 | ### Memory Management
236 |
237 | #### Virtual Memory
238 |
239 | #### Virtual Memory
240 |
241 | ### File system
242 |
243 | ### I/O
244 |
245 | ### Virtualization
246 |
247 | #### OS-level Virtualisation
248 |
249 | ##### Docker
250 |
251 | #### x86 Virtualization
252 |
253 | ##### VirtualBox
254 |
255 | ##### VMware
256 |
257 | ### Command Language
258 |
259 | #### Bash
260 |
261 | #### Zsh
262 |
263 | ## Software Development Processes
264 |
265 | - book: [Working Effectively with Legacy Code](https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)
266 | - book: [Refactoring: Improving the Design of Existing Code](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672)
267 | - book: [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X)
268 | - book: [Code Complete: A Practical Handbook of Software Construction](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
269 | - book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/gp/product/0132350882)
270 |
271 |
272 | ### Testing
273 |
274 | - book: [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)
275 | - article: [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html)
276 | - article: [How deep are your unit tests?](
277 | https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
278 | )
279 |
280 |
281 | #### Test-driven development
282 |
283 | #### Behavior-driven development
284 |
285 | ### Build Systems
286 |
287 | #### Make
288 |
289 | #### Maven
290 |
291 | - article: [Системы сборки проектов Maven](http://www.apache-maven.ru/)
292 | - article: [Идеальный мавен. Часть 2: структура проекта](https://habr.com/ru/post/344480/)
293 |
294 |
295 | #### Ant
296 |
297 | #### Gradle
298 |
299 | - book: [Gradle in Action](http://barbra-coco.dyndns.org/student/Gradle%20in%20Action.pdf)
300 |
301 |
302 | ### Bug tracking systems
303 |
304 | #### Jira
305 |
306 | #### Redmine
307 |
308 | #### TFS
309 |
310 | ### Version Control
311 |
312 | - article: [4 книги о системах контроля версий, которые дадут о них полное представление](https://tproger.ru/books/4-books-about-vcs/)
313 |
314 |
315 | #### Git
316 |
317 | - book: [Pro Git](https://git-scm.com/book/en)
318 |
319 |
320 | ### Deployment
321 |
322 | #### Continuous Integration
323 |
324 | #### Continuous Delivery
325 |
326 | - book: [Continuous delivery. Практика непрерывных апдейтов](https://www.piter.com/product_by_id/87629352)
327 |
328 |
329 | ### Estimations
330 |
331 | #### Planning Poker
332 |
333 | ### Debugging
334 |
335 | #### Troubleshooting
336 |
337 | #### Logging
338 |
339 | - article: [Введение в ELK: собираем, фильтруем и анализируем большие данные](https://mkdev.me/posts/vvedenie-v-elk-sobiraem-filtruem-i-analiziruem-bolshie-dannye)
340 |
341 |
342 | #### Monitoring
343 |
344 | ### Orchestration
345 |
346 | #### Ansible
347 |
348 | #### Puppet
349 |
350 | #### Kubernetes
351 |
352 | - book: [Kubernetes in Action](https://www.manning.com/books/kubernetes-in-action)
353 |
354 |
355 | ### Management
356 |
357 | - book: [Goal: A Process of Ongoing Improvement](https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951)
358 |
359 |
360 | #### Methodologies and Frameworks
361 |
362 | - article: [Ещё раз про семь основных методологий разработки](https://habr.com/ru/company/edison/blog/269789/)
363 |
364 |
365 | ##### SCRUM
366 |
367 | ##### Kanban
368 |
369 | ##### Extreme Programming
370 |
371 | ##### The Twelve-Factor App
372 |
373 | - article: [The Twelve-Factor App](https://12factor.net)
374 |
375 |
376 | #### Paradigms and Models
377 |
378 | ##### Agile
379 |
380 | - article: [Manifesto for Agile Software Development](https://agilemanifesto.org)
381 |
382 |
383 | ##### Waterfall
384 |
385 | #### Time Management
386 |
387 | - book: [Джедайские техники](https://www.mann-ivanov-ferber.ru/books/dzhedajskie-texniki/)
388 |
389 |
390 | ##### Pareto analysis
391 |
392 | ##### Getting Things Done
393 |
394 | ##### Pomodoro
395 |
396 | ## PHP
397 |
398 | ### Core
399 |
400 | #### Types
401 |
402 | ##### Booleans
403 |
404 | ##### Integers
405 |
406 | ##### Floating point numbers
407 |
408 | ##### Strings
409 |
410 | ##### Arrays
411 |
412 | ##### Iterables
413 |
414 | ##### Objects
415 |
416 | ##### Resources
417 |
418 | ##### NULL
419 |
420 | ##### Callbacks / Callables
421 |
422 | ##### Type Juggling
423 |
424 | #### Variables
425 |
426 | ##### Predefined Variables
427 |
428 | #### Functions
429 |
430 | #### Classes and Objects
431 |
432 | #### Errors and Exceptions
433 |
434 | ##### Predefined Exceptions
435 |
436 | #### Namespaces
437 |
438 | ### Standard PHP Library
439 |
440 | #### Datastructures
441 |
442 | #### Iterators
443 |
444 | #### Interfaces
445 |
446 | #### Exceptions
447 |
448 | #### Functions
449 |
450 | #### File Handling
451 |
452 | ### Generators
453 |
454 | ### Template engines
455 |
456 | #### Smarty
457 |
458 | ### Frameworks, CMS
459 |
460 | ### ORM
461 |
462 | ### Testing Frameworks
463 |
464 |
--------------------------------------------------------------------------------
/stacks/php/data/roadmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srce/roadmap/80796d6c5cdb08c6fb94958f9ae1577d91189012/stacks/php/data/roadmap.png
--------------------------------------------------------------------------------
/stacks/php/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/stacks/php/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/stacks/python/data/roadmap.md:
--------------------------------------------------------------------------------
1 | # Python Software Engineer
2 |
3 | ## Computer Science
4 |
5 | ### Architecture knowledge
6 |
7 | - book: [Designing Data-Intensive Applications](http://shop.oreilly.com/product/0636920032175.do)
8 | - article: [Создание архитектуры программы или как проектировать табуретку](https://habr.com/ru/post/276593/)
9 | - book: [Clean Architecture](https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164)
10 | - book: [Patterns of Enterprise Application Architecture](https://www.martinfowler.com/books/eaa.html)
11 |
12 |
13 | #### Microservices
14 |
15 | #### Domain-Driven Design
16 |
17 | #### SOLID
18 |
19 | #### Design Patterns
20 |
21 | - book: [Design patterns : elements of reusable object-oriented software](https://www.worldcat.org/title/design-patterns-elements-of-reusable-object-oriented-software/oclc/31171684)
22 | - book: [Design Patterns: Elements of Reusable Object-Oriented Software](
23 | https://www.oreilly.com/library/view/design-patterns-elements/0201633612/
24 | )
25 | - book: [Head First Design Patterns](http://shop.oreilly.com/product/9780596007126.do)
26 | - book: [Реактивные шаблоны проектирования](https://www.piter.com/product/reaktivnye-shablony-proektirovaniya)
27 |
28 |
29 | #### Event Sourcing
30 |
31 | #### Object-Oriented Programming
32 |
33 | ##### Encapsulation
34 |
35 | ##### Inheritance
36 |
37 | ##### Polymorphism
38 |
39 | #### Functional Programming
40 |
41 | #### Distributed Systems
42 |
43 | - book: [Designing Distributed Systems](https://www.amazon.com/gp/product/1491983647)
44 |
45 |
46 | ### Code Standards and Code Review Process
47 |
48 | ### Algorithms and data structures
49 |
50 | - book: [Algorithms, 4th Edition](https://algs4.cs.princeton.edu/home/)
51 | - course: [Algorithms, Part I](https://www.coursera.org/learn/algorithms-part1)
52 | - course: [Algorithms, Part II](https://www.coursera.org/learn/algorithms-part2)
53 | - book: [Introduction to Algorithms, Third Edition](https://mitpress.mit.edu/books/introduction-algorithms-third-edition)
54 |
55 |
56 | #### Analysis
57 |
58 | #### Data Structures
59 |
60 | ##### Lists
61 |
62 | ##### Stacks
63 |
64 | ##### Queues
65 |
66 | ##### Trees
67 |
68 | ##### Heaps
69 |
70 | ##### Graphs
71 |
72 | #### Algorithms
73 |
74 | ##### Sorting algoritms
75 |
76 | ##### Reasearch algoritms
77 |
78 | ### Systems Programming
79 |
80 | ### Artificial Intelligence and Machine Learning
81 |
82 | ### Hardware
83 |
84 | ### Security and Encryption
85 |
86 | ### Blockchain and Cryptocurrency
87 |
88 | ## Databases
89 |
90 | ### SQL
91 |
92 | - book: [SQL Bible](https://www.amazon.com/SQL-Bible-Alex-Kriegel/dp/0470229063)
93 |
94 |
95 | ### Indexes
96 |
97 | ### Transactions
98 |
99 | ### Principles
100 |
101 | ### Relational
102 |
103 | #### Multiversion Concurrency Control
104 |
105 | ##### Firebird
106 |
107 | ##### PostgreSQL
108 |
109 | ##### Oracle
110 |
111 | - book: [Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c](https://www.amazon.com/Oracle-PL-SQL-Programming-Versions/dp/1449324452)
112 |
113 |
114 | ##### MySQL
115 |
116 | #### Blocking
117 |
118 | ##### MySQL
119 |
120 | #### ACID
121 |
122 | #### Object-oriented
123 |
124 | ### NOSQL
125 |
126 | - article: [NOSQL](https://martinfowler.com/nosql.html)
127 | - book: [NoSQL Distilled](https://martinfowler.com/books/nosql.html)
128 |
129 |
130 | #### CAP Theorem
131 |
132 | #### BASE
133 |
134 | #### Graph database
135 |
136 | ##### OrientDB
137 |
138 | ##### Neo4j
139 |
140 | #### Document base
141 |
142 | ##### MongoDB
143 |
144 | #### Column base
145 |
146 | ##### Redis
147 |
148 | ##### ClickHouse
149 |
150 | #### Wide column base
151 |
152 | #### Time series
153 |
154 | ### Search Engines
155 |
156 | #### Elasticseaerch
157 |
158 | #### Sphinx
159 |
160 | ### Message Broker
161 |
162 | #### Kafka
163 |
164 | #### RabbitMQ
165 |
166 | #### Amazon Simple Queue Service
167 |
168 | ## Computer Network
169 |
170 | - book: [Computer Networks](https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742)
171 |
172 |
173 | ### Open Systems Interconnection model
174 |
175 | ### gRPC
176 |
177 | ### REST API
178 |
179 | ### GraphQL
180 |
181 | ### SOAP
182 |
183 | ### DNS
184 |
185 | ### Protocols
186 |
187 | #### IP
188 |
189 | #### TCP
190 |
191 | #### UDP
192 |
193 | #### HTTP
194 |
195 | #### TLS
196 |
197 | #### SSL
198 |
199 | ### Websocket
200 |
201 | ### Authorization and Authentication
202 |
203 | #### Authorization
204 |
205 | #### Authentication
206 |
207 | #### OAuth
208 |
209 | #### JWT
210 |
211 | #### Cookie
212 |
213 | ## Operating System
214 |
215 | ### Types
216 |
217 | #### Batch
218 |
219 | #### Time-Sharing
220 |
221 | #### Distributed
222 |
223 | #### Network
224 |
225 | #### Real-Time
226 |
227 | ### Processes and Threads
228 |
229 | #### Threads
230 |
231 | #### Scheduling
232 |
233 | #### Multi-Threading
234 |
235 | ### Memory Management
236 |
237 | #### Virtual Memory
238 |
239 | #### Virtual Memory
240 |
241 | ### File system
242 |
243 | ### I/O
244 |
245 | ### Virtualization
246 |
247 | #### OS-level Virtualisation
248 |
249 | ##### Docker
250 |
251 | #### x86 Virtualization
252 |
253 | ##### VirtualBox
254 |
255 | ##### VMware
256 |
257 | ### Command Language
258 |
259 | #### Bash
260 |
261 | #### Zsh
262 |
263 | ## Software Development Processes
264 |
265 | - book: [Working Effectively with Legacy Code](https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)
266 | - book: [Refactoring: Improving the Design of Existing Code](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672)
267 | - book: [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X)
268 | - book: [Code Complete: A Practical Handbook of Software Construction](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
269 | - book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/gp/product/0132350882)
270 |
271 |
272 | ### Testing
273 |
274 | - book: [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)
275 | - article: [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html)
276 | - article: [How deep are your unit tests?](
277 | https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
278 | )
279 |
280 |
281 | #### Test-driven development
282 |
283 | #### Behavior-driven development
284 |
285 | ### Build Systems
286 |
287 | #### Make
288 |
289 | #### Maven
290 |
291 | - article: [Системы сборки проектов Maven](http://www.apache-maven.ru/)
292 | - article: [Идеальный мавен. Часть 2: структура проекта](https://habr.com/ru/post/344480/)
293 |
294 |
295 | #### Ant
296 |
297 | #### Gradle
298 |
299 | - book: [Gradle in Action](http://barbra-coco.dyndns.org/student/Gradle%20in%20Action.pdf)
300 |
301 |
302 | ### Bug tracking systems
303 |
304 | #### Jira
305 |
306 | #### Redmine
307 |
308 | #### TFS
309 |
310 | ### Version Control
311 |
312 | - article: [4 книги о системах контроля версий, которые дадут о них полное представление](https://tproger.ru/books/4-books-about-vcs/)
313 |
314 |
315 | #### Git
316 |
317 | - book: [Pro Git](https://git-scm.com/book/en)
318 |
319 |
320 | ### Deployment
321 |
322 | #### Continuous Integration
323 |
324 | #### Continuous Delivery
325 |
326 | - book: [Continuous delivery. Практика непрерывных апдейтов](https://www.piter.com/product_by_id/87629352)
327 |
328 |
329 | ### Estimations
330 |
331 | #### Planning Poker
332 |
333 | ### Debugging
334 |
335 | #### Troubleshooting
336 |
337 | #### Logging
338 |
339 | - article: [Введение в ELK: собираем, фильтруем и анализируем большие данные](https://mkdev.me/posts/vvedenie-v-elk-sobiraem-filtruem-i-analiziruem-bolshie-dannye)
340 |
341 |
342 | #### Monitoring
343 |
344 | ### Orchestration
345 |
346 | #### Ansible
347 |
348 | #### Puppet
349 |
350 | #### Kubernetes
351 |
352 | - book: [Kubernetes in Action](https://www.manning.com/books/kubernetes-in-action)
353 |
354 |
355 | ### Management
356 |
357 | - book: [Goal: A Process of Ongoing Improvement](https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951)
358 |
359 |
360 | #### Methodologies and Frameworks
361 |
362 | - article: [Ещё раз про семь основных методологий разработки](https://habr.com/ru/company/edison/blog/269789/)
363 |
364 |
365 | ##### SCRUM
366 |
367 | ##### Kanban
368 |
369 | ##### Extreme Programming
370 |
371 | ##### The Twelve-Factor App
372 |
373 | - article: [The Twelve-Factor App](https://12factor.net)
374 |
375 |
376 | #### Paradigms and Models
377 |
378 | ##### Agile
379 |
380 | - article: [Manifesto for Agile Software Development](https://agilemanifesto.org)
381 |
382 |
383 | ##### Waterfall
384 |
385 | #### Time Management
386 |
387 | - book: [Джедайские техники](https://www.mann-ivanov-ferber.ru/books/dzhedajskie-texniki/)
388 |
389 |
390 | ##### Pareto analysis
391 |
392 | ##### Getting Things Done
393 |
394 | ##### Pomodoro
395 |
396 | ## Python
397 |
398 | ### Built-in Types
399 |
400 | #### Text
401 |
402 | #### Boolean
403 |
404 | #### Numeric
405 |
406 | #### Sequence
407 |
408 | #### Binary Sequence
409 |
410 | #### Set
411 |
412 | #### Dictionary
413 |
414 | #### Iterator
415 |
416 | #### Context Manager
417 |
418 | ### Functions
419 |
420 | #### Lambdas
421 |
422 | #### Functions creating iterators
423 |
424 | #### Higher-order functions
425 |
426 | #### Standard operators as functions
427 |
428 | ### Concurrent Execution
429 |
430 | #### Coroutines
431 |
432 | #### Thread-based
433 |
434 | #### multiprocessing
435 |
436 | ### The Import System
437 |
438 | ### Testing
439 |
440 | #### Regression tests
441 |
442 | #### Unit testing framework
443 |
444 | ### Debugging and Profiling
445 |
446 | #### Debugger Framework
447 |
448 | #### Dump the Python traceback
449 |
450 | #### The Python Debugger
451 |
452 | #### The Python Profilers
453 |
454 | #### Measure execution time
455 |
456 | #### Trace statement execution
457 |
458 | #### Trace memory allocations
459 |
460 | ### Standard Library
461 |
462 | #### File and Directory Access
463 |
464 | #### Binary Data Services
465 |
466 | #### Text Processing Services
467 |
468 | #### Numeric and Mathematical Modules
469 |
470 | #### Cryptographic Services
471 |
472 | #### Structured Markup Processing Tools
473 |
474 | #### Internationalization
475 |
476 |
--------------------------------------------------------------------------------
/stacks/python/data/roadmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srce/roadmap/80796d6c5cdb08c6fb94958f9ae1577d91189012/stacks/python/data/roadmap.png
--------------------------------------------------------------------------------
/stacks/python/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/stacks/python/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/stacks/ruby/data/roadmap.md:
--------------------------------------------------------------------------------
1 | # Ruby Software Engineer
2 |
3 | ## Computer Science
4 |
5 | ### Architecture knowledge
6 |
7 | - book: [Designing Data-Intensive Applications](http://shop.oreilly.com/product/0636920032175.do)
8 | - article: [Создание архитектуры программы или как проектировать табуретку](https://habr.com/ru/post/276593/)
9 | - book: [Clean Architecture](https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164)
10 | - book: [Patterns of Enterprise Application Architecture](https://www.martinfowler.com/books/eaa.html)
11 |
12 |
13 | #### Microservices
14 |
15 | #### Domain-Driven Design
16 |
17 | #### SOLID
18 |
19 | #### Design Patterns
20 |
21 | - book: [Design patterns : elements of reusable object-oriented software](https://www.worldcat.org/title/design-patterns-elements-of-reusable-object-oriented-software/oclc/31171684)
22 | - book: [Design Patterns: Elements of Reusable Object-Oriented Software](
23 | https://www.oreilly.com/library/view/design-patterns-elements/0201633612/
24 | )
25 | - book: [Head First Design Patterns](http://shop.oreilly.com/product/9780596007126.do)
26 | - book: [Реактивные шаблоны проектирования](https://www.piter.com/product/reaktivnye-shablony-proektirovaniya)
27 |
28 |
29 | #### Event Sourcing
30 |
31 | #### Object-Oriented Programming
32 |
33 | ##### Encapsulation
34 |
35 | ##### Inheritance
36 |
37 | ##### Polymorphism
38 |
39 | #### Functional Programming
40 |
41 | #### Distributed Systems
42 |
43 | - book: [Designing Distributed Systems](https://www.amazon.com/gp/product/1491983647)
44 |
45 |
46 | ### Code Standards and Code Review Process
47 |
48 | ### Algorithms and data structures
49 |
50 | - book: [Algorithms, 4th Edition](https://algs4.cs.princeton.edu/home/)
51 | - course: [Algorithms, Part I](https://www.coursera.org/learn/algorithms-part1)
52 | - course: [Algorithms, Part II](https://www.coursera.org/learn/algorithms-part2)
53 | - book: [Introduction to Algorithms, Third Edition](https://mitpress.mit.edu/books/introduction-algorithms-third-edition)
54 |
55 |
56 | #### Analysis
57 |
58 | #### Data Structures
59 |
60 | ##### Lists
61 |
62 | ##### Stacks
63 |
64 | ##### Queues
65 |
66 | ##### Trees
67 |
68 | ##### Heaps
69 |
70 | ##### Graphs
71 |
72 | #### Algorithms
73 |
74 | ##### Sorting algoritms
75 |
76 | ##### Reasearch algoritms
77 |
78 | ### Systems Programming
79 |
80 | ### Artificial Intelligence and Machine Learning
81 |
82 | ### Hardware
83 |
84 | ### Security and Encryption
85 |
86 | ### Blockchain and Cryptocurrency
87 |
88 | ## Databases
89 |
90 | ### SQL
91 |
92 | - book: [SQL Bible](https://www.amazon.com/SQL-Bible-Alex-Kriegel/dp/0470229063)
93 |
94 |
95 | ### Indexes
96 |
97 | ### Transactions
98 |
99 | ### Principles
100 |
101 | ### Relational
102 |
103 | #### Multiversion Concurrency Control
104 |
105 | ##### Firebird
106 |
107 | ##### PostgreSQL
108 |
109 | ##### Oracle
110 |
111 | - book: [Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c](https://www.amazon.com/Oracle-PL-SQL-Programming-Versions/dp/1449324452)
112 |
113 |
114 | ##### MySQL
115 |
116 | #### Blocking
117 |
118 | ##### MySQL
119 |
120 | #### ACID
121 |
122 | #### Object-oriented
123 |
124 | ### NOSQL
125 |
126 | - article: [NOSQL](https://martinfowler.com/nosql.html)
127 | - book: [NoSQL Distilled](https://martinfowler.com/books/nosql.html)
128 |
129 |
130 | #### CAP Theorem
131 |
132 | #### BASE
133 |
134 | #### Graph database
135 |
136 | ##### OrientDB
137 |
138 | ##### Neo4j
139 |
140 | #### Document base
141 |
142 | ##### MongoDB
143 |
144 | #### Column base
145 |
146 | ##### Redis
147 |
148 | ##### ClickHouse
149 |
150 | #### Wide column base
151 |
152 | #### Time series
153 |
154 | ### Search Engines
155 |
156 | #### Elasticseaerch
157 |
158 | #### Sphinx
159 |
160 | ### Message Broker
161 |
162 | #### Kafka
163 |
164 | #### RabbitMQ
165 |
166 | #### Amazon Simple Queue Service
167 |
168 | ## Computer Network
169 |
170 | - book: [Computer Networks](https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742)
171 |
172 |
173 | ### Open Systems Interconnection model
174 |
175 | ### gRPC
176 |
177 | ### REST API
178 |
179 | ### GraphQL
180 |
181 | ### SOAP
182 |
183 | ### DNS
184 |
185 | ### Protocols
186 |
187 | #### IP
188 |
189 | #### TCP
190 |
191 | #### UDP
192 |
193 | #### HTTP
194 |
195 | #### TLS
196 |
197 | #### SSL
198 |
199 | ### Websocket
200 |
201 | ### Authorization and Authentication
202 |
203 | #### Authorization
204 |
205 | #### Authentication
206 |
207 | #### OAuth
208 |
209 | #### JWT
210 |
211 | #### Cookie
212 |
213 | ## Operating System
214 |
215 | ### Types
216 |
217 | #### Batch
218 |
219 | #### Time-Sharing
220 |
221 | #### Distributed
222 |
223 | #### Network
224 |
225 | #### Real-Time
226 |
227 | ### Processes and Threads
228 |
229 | #### Threads
230 |
231 | #### Scheduling
232 |
233 | #### Multi-Threading
234 |
235 | ### Memory Management
236 |
237 | #### Virtual Memory
238 |
239 | #### Virtual Memory
240 |
241 | ### File system
242 |
243 | ### I/O
244 |
245 | ### Virtualization
246 |
247 | #### OS-level Virtualisation
248 |
249 | ##### Docker
250 |
251 | #### x86 Virtualization
252 |
253 | ##### VirtualBox
254 |
255 | ##### VMware
256 |
257 | ### Command Language
258 |
259 | #### Bash
260 |
261 | #### Zsh
262 |
263 | ## Software Development Processes
264 |
265 | - book: [Working Effectively with Legacy Code](https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)
266 | - book: [Refactoring: Improving the Design of Existing Code](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672)
267 | - book: [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X)
268 | - book: [Code Complete: A Practical Handbook of Software Construction](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
269 | - book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.com/gp/product/0132350882)
270 |
271 |
272 | ### Testing
273 |
274 | - book: [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)
275 | - article: [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html)
276 | - article: [How deep are your unit tests?](
277 | https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
278 | )
279 |
280 |
281 | #### Test-driven development
282 |
283 | #### Behavior-driven development
284 |
285 | ### Build Systems
286 |
287 | #### Make
288 |
289 | #### Maven
290 |
291 | - article: [Системы сборки проектов Maven](http://www.apache-maven.ru/)
292 | - article: [Идеальный мавен. Часть 2: структура проекта](https://habr.com/ru/post/344480/)
293 |
294 |
295 | #### Ant
296 |
297 | #### Gradle
298 |
299 | - book: [Gradle in Action](http://barbra-coco.dyndns.org/student/Gradle%20in%20Action.pdf)
300 |
301 |
302 | ### Bug tracking systems
303 |
304 | #### Jira
305 |
306 | #### Redmine
307 |
308 | #### TFS
309 |
310 | ### Version Control
311 |
312 | - article: [4 книги о системах контроля версий, которые дадут о них полное представление](https://tproger.ru/books/4-books-about-vcs/)
313 |
314 |
315 | #### Git
316 |
317 | - book: [Pro Git](https://git-scm.com/book/en)
318 |
319 |
320 | ### Deployment
321 |
322 | #### Continuous Integration
323 |
324 | #### Continuous Delivery
325 |
326 | - book: [Continuous delivery. Практика непрерывных апдейтов](https://www.piter.com/product_by_id/87629352)
327 |
328 |
329 | ### Estimations
330 |
331 | #### Planning Poker
332 |
333 | ### Debugging
334 |
335 | #### Troubleshooting
336 |
337 | #### Logging
338 |
339 | - article: [Введение в ELK: собираем, фильтруем и анализируем большие данные](https://mkdev.me/posts/vvedenie-v-elk-sobiraem-filtruem-i-analiziruem-bolshie-dannye)
340 |
341 |
342 | #### Monitoring
343 |
344 | ### Orchestration
345 |
346 | #### Ansible
347 |
348 | #### Puppet
349 |
350 | #### Kubernetes
351 |
352 | - book: [Kubernetes in Action](https://www.manning.com/books/kubernetes-in-action)
353 |
354 |
355 | ### Management
356 |
357 | - book: [Goal: A Process of Ongoing Improvement](https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951)
358 |
359 |
360 | #### Methodologies and Frameworks
361 |
362 | - article: [Ещё раз про семь основных методологий разработки](https://habr.com/ru/company/edison/blog/269789/)
363 |
364 |
365 | ##### SCRUM
366 |
367 | ##### Kanban
368 |
369 | ##### Extreme Programming
370 |
371 | ##### The Twelve-Factor App
372 |
373 | - article: [The Twelve-Factor App](https://12factor.net)
374 |
375 |
376 | #### Paradigms and Models
377 |
378 | ##### Agile
379 |
380 | - article: [Manifesto for Agile Software Development](https://agilemanifesto.org)
381 |
382 |
383 | ##### Waterfall
384 |
385 | #### Time Management
386 |
387 | - book: [Джедайские техники](https://www.mann-ivanov-ferber.ru/books/dzhedajskie-texniki/)
388 |
389 |
390 | ##### Pareto analysis
391 |
392 | ##### Getting Things Done
393 |
394 | ##### Pomodoro
395 |
396 | ## Ruby
397 |
398 | ### Datatypes and Objects
399 |
400 | #### Numbers
401 |
402 | #### Text
403 |
404 | #### Arrays
405 |
406 | #### Hashes
407 |
408 | #### Ranges
409 |
410 | #### Symbols
411 |
412 | #### Boolean and Nil
413 |
414 | #### Objects
415 |
416 | ### Expressions and Operators
417 |
418 | #### Literals and Keyword Literals
419 |
420 | #### Variable References
421 |
422 | #### Constant References
423 |
424 | #### Method Invocations
425 |
426 | #### Assigments
427 |
428 | #### Operators
429 |
430 | ### Statements and Control Structures
431 |
432 | #### Conditionals
433 |
434 | #### Loops
435 |
436 | #### Iterators and Enumerable Objects
437 |
438 | #### Blocks
439 |
440 | #### Altering Control Flow
441 |
442 | #### Exceptions and Exception Handling
443 |
444 | #### BEGIN and END
445 |
446 | #### Threads, Fibers, and Continuations
447 |
448 | ### Metods, Procs, Lambdas, and Closures
449 |
450 | #### Defining Simple Methods
451 |
452 | #### Methods
453 |
454 | #### Procs and Lambdas
455 |
456 | #### Closures
457 |
458 | #### Method Objects
459 |
460 | #### Functional Programming
461 |
462 | ### Classes and Modules
463 |
464 | #### Method Visibility
465 |
466 | #### Subclassing and Inheritance
467 |
468 | #### Object Creation and Initialization
469 |
470 | #### Modules
471 |
472 | #### Loading and Requiring Modules
473 |
474 | #### Singleton Methods and the Eigenclass
475 |
476 | #### Method Lookup
477 |
478 | #### Constant Lookup
479 |
480 | ### Reflection and Metaprogramming
481 |
482 | #### Types, Classes and Modules
483 |
484 | #### Evaluating Strings and Blocks
485 |
486 | #### Variables and Constants
487 |
488 | #### Methods and Parentheses
489 |
490 | #### Hooks
491 |
492 | #### Tracing
493 |
494 | #### ObjectSpace and GC
495 |
496 | #### Custom Control Structures
497 |
498 | #### Missing Methods and Missing Constants
499 |
500 | #### Dynamically Creating Methods
501 |
502 | #### Alias Chaining
503 |
504 | #### Domain-Specific Languages
505 |
506 | ### The Ruby Platform
507 |
508 | #### Strings
509 |
510 | #### Regular Expressions
511 |
512 | #### Numbers and Math
513 |
514 | #### Dates and Times
515 |
516 | #### Colleactions
517 |
518 | #### Files and Directories
519 |
520 | #### Inpit/Output
521 |
522 | #### Networking
523 |
524 | #### Threads and Concurrency / Parralellism in Ruby
525 |
526 | ### Rails
527 |
528 | #### Models
529 |
530 | #### Views
531 |
532 | #### Controllers
533 |
534 | #### Components
535 |
536 |
--------------------------------------------------------------------------------
/stacks/ruby/data/roadmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srce/roadmap/80796d6c5cdb08c6fb94958f9ae1577d91189012/stacks/ruby/data/roadmap.png
--------------------------------------------------------------------------------
/stacks/ruby/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/stacks/ruby/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/subjects/cs/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Design patterns : elements of reusable object-oriented software
5 | https://www.worldcat.org/title/design-patterns-elements-of-reusable-object-oriented-software/oclc/31171684
6 |
7 | cs_architecture_patterns
8 |
9 |
10 |
11 |
12 | Algorithms, 4th Edition
13 | https://algs4.cs.princeton.edu/home/
14 |
15 | cs_algorithms
16 |
17 |
18 |
19 |
20 | Algorithms, Part I
21 | https://www.coursera.org/learn/algorithms-part1
22 |
23 | cs_algorithms
24 |
25 |
26 |
27 |
28 | Algorithms, Part II
29 | https://www.coursera.org/learn/algorithms-part2
30 |
31 | cs_algorithms
32 |
33 |
34 |
35 |
36 | Introduction to Algorithms, Third Edition
37 | https://mitpress.mit.edu/books/introduction-algorithms-third-edition
38 |
39 | cs_algorithms
40 |
41 |
42 |
43 |
44 | Design Patterns: Elements of Reusable Object-Oriented Software
45 |
46 | https://www.oreilly.com/library/view/design-patterns-elements/0201633612/
47 |
48 |
49 | cs_architecture_patterns
50 |
51 |
52 |
53 |
54 | Head First Design Patterns
55 | http://shop.oreilly.com/product/9780596007126.do
56 |
57 | cs_architecture_patterns
58 |
59 |
60 |
61 |
62 | Designing Data-Intensive Applications
63 | http://shop.oreilly.com/product/0636920032175.do
64 |
65 | cs_architecture
66 |
67 |
68 |
69 |
70 | Реактивные шаблоны проектирования
71 | https://www.piter.com/product/reaktivnye-shablony-proektirovaniya
72 |
73 | cs_architecture_patterns
74 |
75 |
76 |
77 |
78 | Создание архитектуры программы или как проектировать табуретку
79 | https://habr.com/ru/post/276593/
80 |
81 | cs_architecture
82 |
83 |
84 |
85 |
86 | Clean Architecture
87 | https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164
88 |
89 | cs_architecture
90 |
91 |
92 |
93 |
94 | Patterns of Enterprise Application Architecture
95 | https://www.martinfowler.com/books/eaa.html
96 |
97 | cs_architecture
98 |
99 |
100 |
101 |
102 | Designing Distributed Systems
103 | https://www.amazon.com/gp/product/1491983647
104 |
105 | cs_architecture_distributed
106 |
107 |
108 |
109 |
--------------------------------------------------------------------------------
/subjects/cs/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/db/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | NOSQL
5 | https://martinfowler.com/nosql.html
6 |
7 | db_nosql
8 |
9 |
10 |
11 |
12 | NoSQL Distilled
13 | https://martinfowler.com/books/nosql.html
14 |
15 | db_nosql
16 |
17 |
18 |
19 |
20 | SQL Bible
21 | https://www.amazon.com/SQL-Bible-Alex-Kriegel/dp/0470229063
22 |
23 | db_sql
24 |
25 |
26 |
27 |
28 | Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c
29 | https://www.amazon.com/Oracle-PL-SQL-Programming-Versions/dp/1449324452
30 |
31 | db_relational_oracle
32 |
33 |
34 |
35 |
36 | Kubernetes in Action
37 | https://www.manning.com/books/kubernetes-in-action
38 |
39 | dev_orchestration_k8s
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/subjects/db/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/dev/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Manifesto for Agile Software Development
5 | https://agilemanifesto.org
6 |
7 | management_paradigms_agile
8 |
9 |
10 |
11 |
12 | The Twelve-Factor App
13 | https://12factor.net
14 |
15 | dev_methodologies_12factors
16 |
17 |
18 |
19 |
20 | Test Driven Development: By Example
21 | https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
22 |
23 | dev_testing
24 |
25 |
26 |
27 |
28 | Working Effectively with Legacy Code
29 | https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
30 |
31 | dev
32 |
33 |
34 |
35 |
36 | Refactoring: Improving the Design of Existing Code
37 | https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672
38 |
39 | dev
40 |
41 |
42 |
43 |
44 | The Pragmatic Programmer: From Journeyman to Master
45 | https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X
46 |
47 | dev
48 |
49 |
50 |
51 |
52 | Code Complete: A Practical Handbook of Software Construction
53 | https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670
54 |
55 | dev
56 |
57 |
58 |
59 |
60 | Clean Code: A Handbook of Agile Software Craftsmanship
61 | https://www.amazon.com/gp/product/0132350882
62 |
63 | dev
64 |
65 |
66 |
67 |
68 | Goal: A Process of Ongoing Improvement
69 | https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884271951
70 |
71 | dev_management
72 |
73 |
74 |
75 |
76 | Pro Git
77 | https://git-scm.com/book/en
78 |
79 | dev_version_git
80 |
81 |
82 |
83 |
84 | Системы сборки проектов Maven
85 | http://www.apache-maven.ru/
86 |
87 | dev_build_maven
88 |
89 |
90 |
91 |
92 | Идеальный мавен. Часть 2: структура проекта
93 | https://habr.com/ru/post/344480/
94 |
95 | dev_build_maven
96 |
97 |
98 |
99 |
100 | Gradle in Action
101 | http://barbra-coco.dyndns.org/student/Gradle%20in%20Action.pdf
102 |
103 | dev_build_gradle
104 |
105 |
106 |
107 |
108 | Ещё раз про семь основных методологий разработки
109 | https://habr.com/ru/company/edison/blog/269789/
110 |
111 | dev_methodologies
112 |
113 |
114 |
115 |
116 | 4 книги о системах контроля версий, которые дадут о них полное представление
117 | https://tproger.ru/books/4-books-about-vcs/
118 |
119 | dev_version
120 |
121 |
122 |
123 |
124 | Введение в ELK: собираем, фильтруем и анализируем большие данные
125 | https://mkdev.me/posts/vvedenie-v-elk-sobiraem-filtruem-i-analiziruem-bolshie-dannye
126 |
127 | dev_debugging_logging
128 |
129 |
130 |
131 |
132 | The Practical Test Pyramid
133 | https://martinfowler.com/articles/practical-test-pyramid.html
134 |
135 | dev_testing
136 |
137 |
138 |
139 |
140 | How deep are your unit tests?
141 |
142 | https://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests
143 |
144 |
145 | dev_testing
146 |
147 |
148 |
149 |
150 | Джедайские техники
151 | https://www.mann-ivanov-ferber.ru/books/dzhedajskie-texniki/
152 |
153 | management_time
154 |
155 |
156 |
157 |
158 | Continuous delivery. Практика непрерывных апдейтов
159 | https://www.piter.com/product_by_id/87629352
160 |
161 | dev_deployment_cd
162 |
163 |
164 |
--------------------------------------------------------------------------------
/subjects/dev/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/go/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Разработка веб-сервисов на Go - основы языка
5 | https://www.coursera.org/learn/golang-webservices-1
6 |
7 | go
8 |
9 |
10 |
11 |
12 | Разработка веб-сервисов на Golang, часть 2
13 | https://www.coursera.org/learn/golang-webservices-2
14 |
15 | go
16 |
17 |
18 |
19 |
20 | Effective Go
21 | https://golang.org/doc/effective_go.html
22 |
23 | go
24 |
25 |
26 |
27 |
28 | The Go Blog - Go Slices: usage and internals
29 | https://blog.golang.org/go-slices-usage-and-internals
30 |
31 | go_types_slice
32 |
33 |
34 |
35 |
36 | Delete element in a slice
37 | https://stackoverflow.com/questions/25025409/delete-element-in-a-slice
38 |
39 | go_types_slice
40 |
41 |
42 |
43 |
44 |
45 | Commands
46 | https://golang.org/cmd/
47 |
48 | go_tools
49 |
50 |
51 |
52 |
53 | The Go Blog - Go maps in action
54 | https://blog.golang.org/go-maps-in-action
55 |
56 | go_types_collections_map
57 |
58 |
59 |
60 |
61 | gofmt
62 | https://golang.org/cmd/gofmt/
63 |
64 | go_tool_fmt
65 |
66 |
67 |
68 |
69 | vet
70 | https://golang.org/cmd/vet/
71 |
72 | go_tool_vet
73 |
74 |
75 |
76 |
77 | Modules
78 | https://github.com/golang/go/wiki/Modules
79 |
80 | go_tool_modules
81 |
82 |
83 |
84 |
85 | The Go Blog - Using Go Modules
86 | https://blog.golang.org/using-go-modules
87 |
88 | go_tool_modules
89 |
90 |
91 |
92 |
93 |
94 | Concurrency in Go
95 | https://www.oreilly.com/library/view/concurrency-in-go/9781491941294
96 |
97 | go_concurrency
98 |
99 |
100 |
101 |
102 | Visualizing Concurrency in Go
103 | https://divan.dev/posts/go_concurrency_visualize/
104 |
105 | go_concurrency
106 |
107 |
108 |
109 |
110 | The Go Blog - Share Memory By Communicating
111 | https://blog.golang.org/share-memory-by-communicating
112 |
113 | go_types_slice
114 |
115 |
116 |
117 |
118 | The Go Blog - Arrays, slices (and strings): The mechanics of 'append'
119 | https://blog.golang.org/slices
120 |
121 | go_types_slice
122 |
123 |
124 |
125 |
126 | The Go Blog - Defer, Panic, and Recover
127 | https://blog.golang.org/defer-panic-and-recover
128 |
129 | go_function_recover
130 | go_function_defer
131 | go_function_panic
132 |
133 |
134 |
135 |
136 | The Go Blog - Go Concurrency Patterns: Timing out, moving on
137 | https://blog.golang.org/go-concurrency-patterns-timing-out-and
138 |
139 | go_concurrency_patterns
140 |
141 |
142 |
143 |
144 | The Go Blog - Go Concurrency Patterns: Context
145 | https://blog.golang.org/context
146 |
147 | go_concurrency_patterns
148 |
149 |
150 |
151 |
152 | The Go Blog - Advanced Go Concurrency Patterns
153 | https://blog.golang.org/advanced-go-concurrency-patterns
154 |
155 | go_concurrency_patterns
156 |
157 |
158 |
159 |
160 | The Go Blog - Introducing the Go Race Detector
161 | https://blog.golang.org/race-detector
162 |
163 | go_concurrency_race
164 |
165 |
166 |
167 |
168 | The Go Blog - Profiling Go Programs
169 | https://blog.golang.org/profiling-go-programs
170 |
171 | go_tool_pprof
172 |
173 |
174 |
175 |
176 | The Go Blog - Profiling Go Programs
177 | https://blog.golang.org/profiling-go-programs
178 |
179 | go_tool_pprof
180 |
181 |
182 |
183 |
184 | Go code refactoring : the 23x performance hunt
185 | https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7
186 |
187 |
188 | go_tool_pprof
189 |
190 |
191 |
192 |
193 | Go best practices, six years in
194 | https://peter.bourgon.org/go-best-practices-2016/
195 |
196 |
197 | go
198 |
199 |
200 |
201 |
202 | Modern garbage collection
203 | https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e
204 |
205 |
206 | go_realtime_gc
207 |
208 |
209 |
210 |
218 |
219 |
226 |
227 |
228 | The Go Blog - Error handling and Go
229 | https://blog.golang.org/error-handling-and-go
230 |
231 | go_types_error
232 |
233 |
234 |
235 |
236 | The Go Blog - Concurrency is not parallelism
237 | https://blog.golang.org/concurrency-is-not-parallelism
238 |
239 | go_concurrency
240 |
241 |
242 |
243 |
244 | The Go Blog - Errors are values
245 | https://blog.golang.org/errors-are-values
246 |
247 | go_types_error
248 |
249 |
250 |
251 |
252 | The Go Blog - Go GC: Prioritizing low latency and simplicity
253 | https://blog.golang.org/go15gc
254 |
255 | go_realtime_gc
256 |
257 |
258 |
259 |
260 | Go scheduler: Ms, Ps & Gs
261 | https://povilasv.me/go-scheduler/
262 |
263 | go_realtime_scheduler
264 |
265 |
266 |
267 |
268 | The Go Blog - go fmt your code
269 | https://blog.golang.org/go-fmt-your-code
270 |
271 | go_tool_fmt
272 |
273 |
274 |
275 |
276 | The Go Blog - Constants
277 | https://blog.golang.org/constants
278 |
279 | go_types_constants
280 |
281 |
282 |
283 |
284 | The Go Blog - Getting to Go: The Journey of Go's Garbage Collector
285 | https://blog.golang.org/ismmkeynote
286 |
287 | go_realtime_gc
288 |
289 |
290 |
291 |
292 | The Go Blog - Strings, bytes, runes and characters in Go
293 | https://blog.golang.org/strings
294 |
295 | go_types_text
296 |
297 |
298 |
299 |
300 | How to efficiently concatenate strings in Go?
301 | https://stackoverflow.com/questions/1760757/how-to-efficiently-concatenate-strings-in-go
302 |
303 | go_types_text_strings
304 |
305 |
306 |
307 |
308 | How to check if a map contains a key in Go?
309 | https://stackoverflow.com/questions/2050391/how-to-check-if-a-map-contains-a-key-in-go
310 |
311 | go_types_collections_map
312 |
313 |
314 |
315 |
316 | How do you write multiline strings in Go?
317 | https://stackoverflow.com/questions/7933460/how-do-you-write-multiline-strings-in-go
318 |
319 | go_types_text_strings
320 |
321 |
322 |
323 |
324 | What is an idiomatic way of representing enums in Go?
325 | https://stackoverflow.com/questions/14426366/what-is-an-idiomatic-way-of-representing-enums-in-go
326 |
327 | go_types_constants
328 |
329 |
330 |
331 |
332 | Concatenate two slices in Go
333 | https://stackoverflow.com/questions/16248241/concatenate-two-slices-in-go
334 |
335 | go_types_slice
336 |
337 |
338 |
339 |
340 | When is the init() function run?
341 | https://stackoverflow.com/questions/24790175/when-is-the-init-function-run
342 |
343 | go_function_init
344 |
345 |
346 |
347 |
348 | Format a Go string without printing?
349 | https://stackoverflow.com/questions/11123865/format-a-go-string-without-printing
350 |
351 | go_types_text_strings
352 |
353 |
354 |
355 |
356 | An Introduction to Programming in Go
357 | https://www.golang-book.com/books/intro
358 |
359 | go
360 |
361 |
362 |
363 |
--------------------------------------------------------------------------------
/subjects/go/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/java/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Oracle Certified Associate Java SE 8 Programmer I Study Guide (2015)
5 | https://www.amazon.com/OCA-Certified-Associate-Programmer-1Z0-808/dp/1118957407
6 |
7 | java_core
8 |
9 |
10 |
11 |
12 | OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (2015)
13 | https://www.amazon.com/OCP-Certified-Professional-Programmer-2015-12-21/dp/B01A1MN0ZS
14 |
15 | java_core
16 |
17 |
18 |
19 |
20 | Java 8 Lambdas: Functional Programming For The Masses
21 | https://www.amazon.com/Java-Lambdas-Functional-Programming-Masses/dp/1449370772
22 |
23 | java_core
24 |
25 |
26 |
27 |
28 | Java: A Beginner's Guide, Eighth Edition
29 | https://www.amazon.com/Java-Beginners-Eighth-Herbert-Schildt/dp/1260440214
30 |
31 | java_core
32 |
33 |
34 |
35 |
36 | Java Concurrency in Practice
37 | https://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601
38 |
39 | java_core
40 |
41 |
42 |
43 |
44 | Beginning Java E.E. 7 (Expert Voice in Java)
45 | https://www.amazon.com/gp/product/143024626X
46 |
47 | java_ee
48 |
49 |
50 |
51 |
52 | Java EE 7 Essentials: Enterprise Developer Handbook
53 | https://www.amazon.com/Java-EE-Essentials-Enterprise-Developer/dp/1449370179
54 |
55 | java_ee
56 |
57 |
58 |
59 |
66 |
67 |
74 |
75 |
76 | Cloud Native Java: Designing Resilient Systems with Spring Boot,
77 | Spring Cloud, and Cloud Foundry
78 |
79 |
80 | https://www.amazon.com/Cloud-Native-Java-Designing-Resilient/dp/1449374646
81 |
82 |
83 | java_spring
84 |
85 |
86 |
87 |
88 | Spring 4 для профессионалов | Шефер Крис, Хо Кларенс
89 | https://www.ozon.ru/context/detail/id/33056979/
90 |
91 | java_spring
92 |
93 |
94 |
95 |
96 | Spring in Action 5th Edition
97 | https://www.amazon.com/Spring-Action-Craig-Walls/dp/1617294942
98 |
99 |
100 | java_spring
101 |
102 |
103 |
104 |
105 | Pro Spring
106 | https://www.amazon.com/Pro-Spring-Clarence-Ho-ebook/dp/B014P9HJ0A
107 |
108 |
109 | java_spring
110 |
111 |
112 |
113 |
114 | Java Persistence API i Hibernate
115 | https://www.amazon.com/Java-Persistence-API-i-Hibernate/dp/597060674X
116 |
117 | edge_java_persistence_jpa_hibernate
118 |
119 |
120 |
121 |
122 | Hibernate Getting Started Guide
123 | https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html_single/#d5e58
124 |
125 | edge_java_persistence_jpa_hibernate
126 |
127 |
128 |
129 |
130 | Hibernate in Action
131 |
132 | https://www.amazon.com/Hibernate-Action-Christian-Bauer/dp/193239415X
133 |
134 |
135 | edge_java_persistence_jpa_hibernate
136 |
137 |
138 |
139 |
--------------------------------------------------------------------------------
/subjects/java/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/net/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Computer Networks
5 | https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742
6 |
7 | net
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/subjects/net/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/os/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Docker in Action
5 | https://pepa.holla.cz/wp-content/uploads/2016/10/Docker-in-Action.pdf
6 |
7 | os_virtualization_level_docker
8 |
9 |
10 |
11 |
12 | Modern Operating Systems (4th Edition)
13 | https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/013359162X
14 |
15 | os
16 |
17 |
18 |
19 |
20 | Operating System Concepts, Tenth Edition
21 | http://os-book.com/OS10/index.html
22 |
23 | os
24 |
25 |
26 |
27 |
28 | Operating Systems, 3rd Edition
29 | https://www.amazon.com/Operating-Systems-3rd-Harvey-Deitel/dp/0131828274
30 |
31 | os
32 |
33 |
34 |
35 |
36 | Operating Systems, 3rd Edition
37 | https://www.amazon.com/Operating-Systems-3rd-Harvey-Deitel/dp/0131828274
38 |
39 | os
40 |
41 |
42 |
43 |
50 |
51 |
--------------------------------------------------------------------------------
/subjects/os/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/php/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/subjects/php/roadmap.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
--------------------------------------------------------------------------------
/subjects/python/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/subjects/python/roadmap.xml:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/subjects/ruby/materials.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/subjects/ruby/roadmap.xml:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/tools/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -e
4 |
5 | STACK=$1
6 | ROADMAPFILE="stacks/${STACK}/roadmap.xml"
7 | MATERIALS="stacks/${STACK}/materials.xml"
8 | DOTFILE="stacks/${STACK}/data/roadmap.dot"
9 | SVGFILE="stacks/${STACK}/data/roadmap.svg"
10 | PNGFILE="stacks/${STACK}/data/roadmap.png"
11 | MDFILE="stacks/${STACK}/data/roadmap.md"
12 |
13 | ./tools/xmlg2dot.py --xmlg=${ROADMAPFILE} --dot=${DOTFILE} && \
14 | echo "Check ${DOTFILE}" && \
15 | dot -Tsvg ${DOTFILE} -o ${SVGFILE} && \
16 | echo "Check ${SVGFILE}" && \
17 | dot -Tpng ${DOTFILE} -o ${PNGFILE} && \
18 | echo "Check ${PNGFILE}"
19 |
20 | ./tools/xmlg2md.py --xmlg=${ROADMAPFILE} --materials=${MATERIALS} --root="backend" > ${MDFILE} && \
21 | echo "Check ${MDFILE}"
22 |
--------------------------------------------------------------------------------
/tools/materials.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | from collections import defaultdict
3 | import xml.etree.ElementTree as Et
4 |
5 |
6 | class Material:
7 | def __init__(self):
8 | self.type = ''
9 | self.title = ''
10 | self.url = ''
11 | self.translate_lang = ''
12 | self.translate_url = ''
13 |
14 |
15 | def parsexml(filepath):
16 | tree = Et.parse(filepath)
17 | root = tree.getroot()
18 | materials = defaultdict(lambda: [])
19 | for mat_desc in root:
20 | if mat_desc.tag == 'include':
21 | materials.update(parsexml(mat_desc.attrib['filepath']))
22 | continue
23 | material = Material()
24 | material.type = mat_desc.tag
25 | for item in mat_desc:
26 | if item.tag == 'title':
27 | material.title = item.text
28 | if item.tag == 'url':
29 | material.url = item.text
30 | if item.tag == 'translate':
31 | material.translate_lang = item.attrib['lang']
32 | material.translate_url = item.attrib['url']
33 | if item.tag == 'tags':
34 | for tag in item:
35 | materials[tag.text].append(material)
36 | return materials
37 |
--------------------------------------------------------------------------------
/tools/materials.xsd:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/tools/xmlg2dot.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import argparse
4 | from xmlgraph import Roadmap
5 |
6 |
7 | def convert_dot(graphml, dot):
8 | roadmap = Roadmap(graphml)
9 |
10 | file = open(dot, "w")
11 | file.write('digraph roadmap {\n\trankdir=LR;\n')
12 | for _, edge in roadmap.edges.items():
13 | file.write('\t' + edge.source + '->' + edge.target + ';\t\n')
14 | for _, node in roadmap.nodes.items():
15 | file.write('\t' + node.id + ' [ label="' + node.label + '" ];\n')
16 | file.write('}\n')
17 | file.close()
18 |
19 |
20 | if __name__ == '__main__':
21 | parser = argparse.ArgumentParser(description='Converting GraphML to DOT')
22 | parser.add_argument('--xmlg', help='XML Graph filename')
23 | parser.add_argument('--dot', help='DOT filename')
24 | args = parser.parse_args()
25 |
26 | convert_dot(args.xmlg, args.dot)
27 |
--------------------------------------------------------------------------------
/tools/xmlg2md.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import argparse
4 | import materials as mt
5 | from xmlgraph import Roadmap
6 |
7 |
8 | def walk(roadmap, nodeid, level, materials):
9 | node = roadmap.nodes[nodeid]
10 |
11 | if level > 6:
12 | level = 6
13 | print('#'*level + ' ' + node.label + '\n')
14 |
15 | node_mat = materials[nodeid]
16 | for m in node_mat:
17 | print("- {}: [{}]({})".format(m.type, m.title, m.url) +
18 | ('' if m.translate_url == '' else
19 | "[[{}]({})]".format(m.translate_lang, m.translate_url)))
20 |
21 | if len(node_mat) > 0:
22 | print('\n')
23 |
24 | for childid in node.childrenids:
25 | walk(roadmap, childid, level+1, materials)
26 |
27 |
28 | def convert_md(graphml, xmlmaterials, rootid):
29 | roadmap = Roadmap(graphml)
30 | materials = mt.parsexml(xmlmaterials)
31 | walk(roadmap, rootid, 1, materials)
32 |
33 |
34 | if __name__ == '__main__':
35 | parser = argparse.ArgumentParser(description='Combining GraphML and materials into markdown')
36 | parser.add_argument('--xmlg', default='roadmap.xml', help='XML Graph filename')
37 | parser.add_argument('--materials', default='materials.xml', help='Materials XML filename')
38 | parser.add_argument('--root', default='backend', help='Root element id')
39 | args = parser.parse_args()
40 |
41 | convert_md(args.xmlg, args.materials, args.root)
42 |
--------------------------------------------------------------------------------
/tools/xmlgraph.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import xml.etree.ElementTree as Et
4 |
5 |
6 | class Edge:
7 | def __init__(self, edge_id, source, target):
8 | self.id = edge_id
9 | self.source = source
10 | self.target = target
11 |
12 |
13 | class Node:
14 | def __init__(self, node_id, label):
15 | self.id = node_id
16 | self.label = label
17 | self.childrenids = []
18 |
19 |
20 | class Roadmap:
21 | def __init__(self, filepath):
22 | self.edges = {}
23 | self.nodes = {}
24 | self.add_from_file(filepath)
25 |
26 | def add_from_file(self, filepath):
27 | tree = Et.parse(filepath)
28 | root = tree.getroot()
29 | for child in root:
30 | if child.tag == 'include':
31 | self.add_from_file(child.get('filepath'))
32 | for dotElem in child:
33 | if dotElem.tag == 'edge':
34 | edge_id = dotElem.get('id')
35 | source = dotElem.get('source')
36 | target = dotElem.get('target')
37 | self.edges[edge_id] = (Edge(edge_id, source, target))
38 | self.nodes[source].childrenids.append(target)
39 | elif dotElem.tag == 'node':
40 | node_id = dotElem.get('id')
41 | label = dotElem.get('label')
42 | self.nodes[node_id] = (Node(node_id, label))
43 |
--------------------------------------------------------------------------------
/tools/xmlgraph.xsd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This document defines the XMLGraph language including
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 |
--------------------------------------------------------------------------------