-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
25 lines (24 loc) · 12.7 KB
/
index.html
File metadata and controls
25 lines (24 loc) · 12.7 KB
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
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Roadmap</title>
<style>
* {
margin: 0;
padding: 0;
}
#mindmap {
display: block;
width: 100vw;
height: 100vh;
}
</style>
</head>
<body>
<svg id="mindmap"></svg>
<script src="https://cdn.jsdelivr.net/npm/d3@6.6.0"></script><script src="https://cdn.jsdelivr.net/npm/markmap-view@0.2.3"></script><script>((e,t,r)=>{const{Markmap:n}=e();window.mm=n.create("svg#mindmap",null==t?void 0:t(),r)})(()=>window.markmap,t=>{return t=t||window.d3,{color:(n=t.scaleOrdinal(t.schemeCategory10),t=>n(t.p.i))};var n},{"t":"heading","d":1,"p":{"lines":[0,1]},"v":"Компетенции","c":[{"t":"heading","d":2,"p":{"lines":[2,3]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#javascript\">JavaScript</a> 80","c":[{"t":"heading","d":3,"p":{"lines":[3,4]},"v":"20 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#syntax-and-basic\">Syntax and basic</a>"},{"t":"heading","d":3,"p":{"lines":[4,5]},"v":"5 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#dom-manipulation\">DOM manipulation</a>"},{"t":"heading","d":3,"p":{"lines":[5,6]},"v":"6 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#events\">Events</a> (2)","c":[{"t":"list_item","d":5,"p":{"lines":[6,7]},"v":"Event handling"},{"t":"list_item","d":5,"p":{"lines":[7,8]},"v":"Bubbling"},{"t":"list_item","d":5,"p":{"lines":[8,9]},"v":"Custom events"}]},{"t":"heading","d":3,"p":{"lines":[9,10]},"v":"20 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#facility\">Facility</a> (2.5)","c":[{"t":"list_item","d":5,"p":{"lines":[10,11]},"v":"Objects"},{"t":"list_item","d":5,"p":{"lines":[11,12]},"v":"Classes"},{"t":"list_item","d":5,"p":{"lines":[12,13]},"v":"Promise"},{"t":"list_item","d":5,"p":{"lines":[13,14]},"v":"Async/await"},{"t":"list_item","d":5,"p":{"lines":[14,15]},"v":"Error handling"},{"t":"list_item","d":5,"p":{"lines":[15,16]},"v":"Modules"},{"t":"list_item","d":5,"p":{"lines":[16,17]},"v":"Iterators and generators"},{"t":"list_item","d":5,"p":{"lines":[17,18]},"v":"Regular expressions"}]},{"t":"heading","d":3,"p":{"lines":[18,19]},"v":"6 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#server-requests\">Server requests</a> (2)","c":[{"t":"list_item","d":5,"p":{"lines":[19,20]},"v":"Fetch"},{"t":"list_item","d":5,"p":{"lines":[20,21]},"v":"XMLHttpRequest"},{"t":"list_item","d":5,"p":{"lines":[21,22]},"v":"WebSocket"}]},{"t":"heading","d":3,"p":{"lines":[22,23]},"v":"8 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#data\">Data</a> (2)","c":[{"t":"list_item","d":5,"p":{"lines":[23,24]},"v":"LocalStorage"},{"t":"list_item","d":5,"p":{"lines":[24,25]},"v":"IndexedDB"},{"t":"list_item","d":5,"p":{"lines":[25,26]},"v":"Cookie"},{"t":"list_item","d":5,"p":{"lines":[26,27]},"v":"CacheStorage"}]},{"t":"heading","d":3,"p":{"lines":[27,28]},"v":"5 Documentation (в т. ч. самодокументируемый код)"},{"t":"heading","d":3,"p":{"lines":[28,29]},"v":"10 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#best-practices\">Best practices</a> (2)","c":[{"t":"list_item","d":5,"p":{"lines":[29,30]},"v":"Naming"},{"t":"list_item","d":5,"p":{"lines":[30,31]},"v":"Linter"},{"t":"list_item","d":5,"p":{"lines":[31,32]},"v":"Reusable"},{"t":"list_item","d":5,"p":{"lines":[32,33]},"v":"Optimization"},{"t":"list_item","d":5,"p":{"lines":[33,34]},"v":"Tricks"}]}]},{"t":"heading","d":2,"p":{"lines":[36,37]},"v":"CSS 40","c":[{"t":"heading","d":3,"p":{"lines":[37,38]},"v":"5 Syntax and basic"},{"t":"heading","d":3,"p":{"lines":[38,39]},"v":"5 Selectors and pseudo"},{"t":"heading","d":3,"p":{"lines":[39,40]},"v":"15 Layout (3)","c":[{"t":"list_item","d":5,"p":{"lines":[40,41]},"v":"Box model"},{"t":"list_item","d":5,"p":{"lines":[41,42]},"v":"Display"},{"t":"list_item","d":5,"p":{"lines":[42,43]},"v":"Positioning"},{"t":"list_item","d":5,"p":{"lines":[43,44]},"v":"Flex Box"},{"t":"list_item","d":5,"p":{"lines":[44,45]},"v":"Grid"}]},{"t":"heading","d":3,"p":{"lines":[45,46]},"v":"1.5 Animation"},{"t":"heading","d":3,"p":{"lines":[46,47]},"v":"1.5 Transform"},{"t":"heading","d":3,"p":{"lines":[47,48]},"v":"2 Responsive"},{"t":"heading","d":3,"p":{"lines":[48,49]},"v":"2 Media queries"},{"t":"heading","d":3,"p":{"lines":[49,50]},"v":"2 BEM"},{"t":"heading","d":3,"p":{"lines":[50,51]},"v":"6 Best practices (1.5)","c":[{"t":"list_item","d":5,"p":{"lines":[51,52]},"v":"UI/UX"},{"t":"list_item","d":5,"p":{"lines":[52,53]},"v":"Code"},{"t":"list_item","d":5,"p":{"lines":[53,54]},"v":"Optimization"},{"t":"list_item","d":5,"p":{"lines":[54,55]},"v":"Tricks"}]}]},{"t":"heading","d":2,"p":{"lines":[57,58]},"v":"Markup 28","c":[{"t":"heading","d":3,"p":{"lines":[58,59]},"v":"11 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#template-engine\">Template engine</a>","c":[{"t":"list_item","d":5,"p":{"lines":[59,60]},"v":"7 Slim"},{"t":"list_item","d":5,"p":{"lines":[60,61]},"v":"4 Pug"}]},{"t":"heading","d":3,"p":{"lines":[61,62]},"v":"HTML 15","c":[{"t":"list_item","d":5,"p":{"lines":[62,63]},"v":"7 Syntax and basic"},{"t":"list_item","d":5,"p":{"lines":[63,64]},"v":"2 Semantic"},{"t":"list_item","d":5,"p":{"lines":[64,65]},"v":"3 Accessibility"},{"t":"list_item","d":5,"p":{"lines":[65,66]},"v":"3 SEO"}]},{"t":"heading","d":3,"p":{"lines":[66,67]},"v":"JSON 1"},{"t":"heading","d":3,"p":{"lines":[67,68]},"v":"YAML 1"}]},{"t":"heading","d":2,"p":{"lines":[70,71]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#testing\">Testing</a> 15","c":[{"t":"list_item","d":4,"p":{"lines":[71,72]},"v":"3 Наличие"},{"t":"list_item","d":4,"p":{"lines":[72,73]},"v":"3 Покрытие"},{"t":"list_item","d":4,"p":{"lines":[73,74]},"v":"3 Скриншотные тесты"},{"t":"list_item","d":4,"p":{"lines":[74,75]},"v":"3 Unit"},{"t":"list_item","d":4,"p":{"lines":[75,76]},"v":"3 Functional"}]},{"t":"heading","d":2,"p":{"lines":[78,79]},"v":"Build tools 22","c":[{"t":"heading","d":3,"p":{"lines":[79,80]},"v":"2 Package managers (1)","c":[{"t":"list_item","d":5,"p":{"lines":[80,81]},"v":"npm"},{"t":"list_item","d":5,"p":{"lines":[81,82]},"v":"yarn"}]},{"t":"heading","d":3,"p":{"lines":[82,83]},"v":"8 Module bundlers","c":[{"t":"heading","d":4,"p":{"lines":[83,84]},"v":"8 Webpack (2)","c":[{"t":"heading","d":5,"p":{"lines":[84,85]},"v":"Dev/prod config"},{"t":"heading","d":5,"p":{"lines":[85,86]},"v":"Optimization"},{"t":"heading","d":5,"p":{"lines":[86,87]},"v":"Plugins"},{"t":"heading","d":5,"p":{"lines":[87,88]},"v":"Dev tools","c":[{"t":"list_item","d":7,"p":{"lines":[88,89]},"v":"Source maps"},{"t":"list_item","d":7,"p":{"lines":[89,90]},"v":"Hot reloading"}]}]}]},{"t":"heading","d":3,"p":{"lines":[90,91]},"v":"3 CSS Pre(post)processors (1)","c":[{"t":"list_item","d":5,"p":{"lines":[91,92]},"v":"SASS/SCSS"},{"t":"list_item","d":5,"p":{"lines":[92,93]},"v":"Stylus"},{"t":"list_item","d":5,"p":{"lines":[93,94]},"v":"Postcss"}]},{"t":"heading","d":3,"p":{"lines":[94,95]},"v":"2 Babel"},{"t":"heading","d":3,"p":{"lines":[95,96]},"v":"2 Gulp"},{"t":"heading","d":3,"p":{"lines":[96,97]},"v":"2 Docker"},{"t":"heading","d":3,"p":{"lines":[97,98]},"v":"3 Best practices"}]},{"t":"heading","d":2,"p":{"lines":[100,101]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#react\">React</a> 25","c":[{"t":"heading","d":3,"p":{"lines":[101,102]},"v":"15 Main concepts","c":[{"t":"heading","d":4,"p":{"lines":[102,103]},"v":"2 JSX"},{"t":"heading","d":4,"p":{"lines":[103,104]},"v":"2 Rendering"},{"t":"heading","d":4,"p":{"lines":[104,105]},"v":"3 Components and props"},{"t":"heading","d":4,"p":{"lines":[105,106]},"v":"2 State management","c":[{"t":"list_item","d":6,"p":{"lines":[106,107]},"v":"Component State/Context API"}]},{"t":"heading","d":4,"p":{"lines":[107,108]},"v":"3 Lifecycle"},{"t":"heading","d":4,"p":{"lines":[108,109]},"v":"3 Event handling"}]},{"t":"heading","d":3,"p":{"lines":[109,110]},"v":"2 Code-splitting"},{"t":"heading","d":3,"p":{"lines":[110,111]},"v":"1 Type checkers","c":[{"t":"list_item","d":5,"p":{"lines":[111,112]},"v":"PropTypes"}]},{"t":"heading","d":3,"p":{"lines":[112,113]},"v":"1 Error boundaries"},{"t":"heading","d":3,"p":{"lines":[113,114]},"v":"2 Refs"},{"t":"heading","d":3,"p":{"lines":[114,115]},"v":"2 Higher-order components"},{"t":"heading","d":3,"p":{"lines":[115,116]},"v":"2 Hooks"}]},{"t":"heading","d":2,"p":{"lines":[118,119]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#work-process\">Work process</a> 35","c":[{"t":"heading","d":3,"p":{"lines":[119,120]},"v":"10 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#problem-solving-skills\">Problem solving skills</a> (2)","c":[{"t":"list_item","d":5,"p":{"lines":[120,121]},"v":"Оценка задач"},{"t":"list_item","d":5,"p":{"lines":[121,122]},"v":"Коммуникация с другими отделами"},{"t":"list_item","d":5,"p":{"lines":[122,123]},"v":"Декомпозиция"},{"t":"list_item","d":5,"p":{"lines":[123,124]},"v":"Соблюдение сроков"},{"t":"list_item","d":5,"p":{"lines":[124,125]},"v":"Code Review"}]},{"t":"heading","d":3,"p":{"lines":[125,126]},"v":"3 Open source commiter"},{"t":"heading","d":3,"p":{"lines":[126,127]},"v":"9 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#support\">Support</a> (1.5)","c":[{"t":"list_item","d":5,"p":{"lines":[127,128]},"v":"Code tuning (производительность и оптимизация: не просто сделал задачу, а оптимально)"},{"t":"list_item","d":5,"p":{"lines":[128,129]},"v":"God-touch (boyscout) (оставляет код после себя лучше, небольшой рефакторинг во время задачи)"},{"t":"list_item","d":5,"p":{"lines":[129,130]},"v":"Documentation support"},{"t":"list_item","d":5,"p":{"lines":[130,131]},"v":"Сomments TODO FIX NOTE"},{"t":"list_item","d":5,"p":{"lines":[131,132]},"v":"Читает исходники"},{"t":"list_item","d":5,"p":{"lines":[132,133]},"v":"Управление техническим долгом"}]},{"t":"heading","d":3,"p":{"lines":[133,134]},"v":"6 <a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#git\">Git</a>","c":[{"t":"list_item","d":5,"p":{"lines":[134,135]},"v":"3 Git flow"},{"t":"list_item","d":5,"p":{"lines":[135,136]},"v":"1 Branches naming"},{"t":"list_item","d":5,"p":{"lines":[136,137]},"v":"1 Commits naming"},{"t":"list_item","d":5,"p":{"lines":[137,138]},"v":"1 Fixup and rebase"}]},{"t":"heading","d":3,"p":{"lines":[138,139]},"v":"4 CI/CD gitlab"},{"t":"heading","d":3,"p":{"lines":[139,140]},"v":"3 Release Management"}]},{"t":"heading","d":2,"p":{"lines":[142,143]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#architecture\">Architecture</a> 34","c":[{"t":"list_item","d":4,"p":{"lines":[143,144]},"v":"20 Архитектура проекта"},{"t":"list_item","d":4,"p":{"lines":[144,145]},"v":"14 Паттерны проектирования"}]},{"t":"heading","d":2,"p":{"lines":[146,147]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#systems-and-networks\">Systems and networks</a> 20","c":[{"t":"list_item","d":4,"p":{"lines":[147,148]},"v":"5 Rendering"},{"t":"list_item","d":4,"p":{"lines":[148,149]},"v":"5 Environment variables"},{"t":"list_item","d":4,"p":{"lines":[149,150]},"v":"5 HTTP/HTTPS"},{"t":"list_item","d":4,"p":{"lines":[150,151]},"v":"5 Networks"}]},{"t":"heading","d":2,"p":{"lines":[153,154]},"v":"<a href=\"https://github.com/listton/Roadmap/blob/master/resources.md#codestyle\">CodeStyle</a> 21","c":[{"t":"heading","d":3,"p":{"lines":[154,155]},"v":"21 Principles (3)","c":[{"t":"list_item","d":5,"p":{"lines":[155,156]},"v":"YAGNI (You Aren’t Gonna Need It)"},{"t":"list_item","d":5,"p":{"lines":[156,157]},"v":"DRY (Don’t Repeat Yourself)"},{"t":"list_item","d":5,"p":{"lines":[157,158]},"v":"KISS (Keep It Simple, Stupid)"},{"t":"list_item","d":5,"p":{"lines":[158,159]},"v":"Big Design Up Front"},{"t":"list_item","d":5,"p":{"lines":[159,160]},"v":"SOLID"},{"t":"list_item","d":5,"p":{"lines":[160,161]},"v":"Avoid Premature Optimization"},{"t":"list_item","d":5,"p":{"lines":[161,162]},"v":"Бритва Оккама"}]}]},{"t":"heading","d":2,"p":{"lines":[164,165]},"v":"Ruby 20","c":[{"t":"list_item","d":4,"p":{"lines":[165,166]},"v":"11 Syntax and basic"},{"t":"list_item","d":4,"p":{"lines":[166,167]},"v":"3 Blocks, Procs & Lambdas"},{"t":"list_item","d":4,"p":{"lines":[167,168]},"v":"3 Iterators (each, map, reduce, select...)"},{"t":"list_item","d":4,"p":{"lines":[168,169]},"v":"3 Ruby on Rails (Controllers, View, Helper, Model)"}]}]})</script>
</body>
</html>