computer-scienceangular-roadmapbackend-roadmapblockchain-roadmapdba-roadmapdeveloper-roadmapdevops-roadmapfrontend-roadmapgo-roadmaphactoberfestjava-roadmapjavascript-roadmapnodejs-roadmappython-roadmapqa-roadmapreact-roadmaproadmapstudy-planvue-roadmapweb3-roadmap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5700 lines
195 KiB
5700 lines
195 KiB
{ |
|
"mockup": { |
|
"controls": { |
|
"control": [ |
|
{ |
|
"ID": "0", |
|
"typeID": "Arrow", |
|
"zOrder": "0", |
|
"w": "125", |
|
"h": "109", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "629", |
|
"y": "3227", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 108 |
|
}, |
|
"p1": { |
|
"x": 0.4770542904147545, |
|
"y": 0.2455190925621266 |
|
}, |
|
"p2": { |
|
"x": 124, |
|
"y": 1 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "1", |
|
"typeID": "Arrow", |
|
"zOrder": "1", |
|
"w": "188", |
|
"h": "43", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "577", |
|
"y": "3054", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 187, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.45751633986928103, |
|
"y": -0.003267973856209196 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 42 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "2", |
|
"typeID": "Arrow", |
|
"zOrder": "2", |
|
"w": "200", |
|
"h": "18", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "577", |
|
"y": "3042", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 199, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4575163398692811, |
|
"y": -0.003267973856209203 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 17 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "3", |
|
"typeID": "Arrow", |
|
"zOrder": "3", |
|
"w": "230", |
|
"h": "8", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "569", |
|
"y": "3026", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 229, |
|
"y": 7 |
|
}, |
|
"p1": { |
|
"x": 0.4575163398692811, |
|
"y": -0.0032679738562092003 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "4", |
|
"typeID": "Arrow", |
|
"zOrder": "4", |
|
"w": "213", |
|
"h": "32", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "576", |
|
"y": "2992", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 212, |
|
"y": 31 |
|
}, |
|
"p1": { |
|
"x": 0.4575163398692812, |
|
"y": -0.003267973856209213 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "5", |
|
"typeID": "Arrow", |
|
"zOrder": "5", |
|
"w": "98", |
|
"h": "91", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "659", |
|
"y": "2855", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 1, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.47054747054747054, |
|
"y": -0.24636174636174635 |
|
}, |
|
"p2": { |
|
"x": 97, |
|
"y": 90 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "6", |
|
"typeID": "Arrow", |
|
"zOrder": "6", |
|
"w": "209", |
|
"h": "13", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "565", |
|
"y": "2491", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 208, |
|
"y": 12 |
|
}, |
|
"p1": { |
|
"x": 0.4228667507356033, |
|
"y": 0.002311895754518708 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "7", |
|
"typeID": "Arrow", |
|
"zOrder": "7", |
|
"w": "207", |
|
"h": "13", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "577", |
|
"y": "2513", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 206, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4228667507356031, |
|
"y": 0.002311895754518704 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 12 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "8", |
|
"typeID": "Arrow", |
|
"zOrder": "8", |
|
"w": "208", |
|
"h": "49", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "581", |
|
"y": "2515", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 207, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.422866750735603, |
|
"y": 0.0023118957545186923 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 48 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "9", |
|
"typeID": "Arrow", |
|
"zOrder": "9", |
|
"w": "200", |
|
"h": "46", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "585", |
|
"y": "2453", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 199, |
|
"y": 45 |
|
}, |
|
"p1": { |
|
"x": 0.42286675073560326, |
|
"y": 0.0023118957545186824 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "10", |
|
"typeID": "Arrow", |
|
"zOrder": "10", |
|
"w": "184", |
|
"h": "72", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "591", |
|
"y": "2417", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 183, |
|
"y": 71 |
|
}, |
|
"p1": { |
|
"x": 0.42286675073560326, |
|
"y": 0.002311895754518694 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "11", |
|
"typeID": "Arrow", |
|
"zOrder": "11", |
|
"w": "162", |
|
"h": "16", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "747", |
|
"y": "2844", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 161, |
|
"y": 15 |
|
}, |
|
"p1": { |
|
"x": 0.457516339869281, |
|
"y": -0.0032679738562091465 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "12", |
|
"typeID": "Arrow", |
|
"zOrder": "12", |
|
"w": "162", |
|
"h": "10", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "747", |
|
"y": "2823", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 161, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4575163398692811, |
|
"y": -0.003267973856209141 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 9 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "13", |
|
"typeID": "Arrow", |
|
"zOrder": "13", |
|
"w": "149", |
|
"h": "29", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "744", |
|
"y": "2789", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 148, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4575163398692811, |
|
"y": -0.003267973856209201 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 28 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "14", |
|
"typeID": "Arrow", |
|
"zOrder": "14", |
|
"w": "158", |
|
"h": "5", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "748", |
|
"y": "2694", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 157, |
|
"y": 4 |
|
}, |
|
"p1": { |
|
"x": 0.47363590855998666, |
|
"y": -0.003754380110128481 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "15", |
|
"typeID": "Arrow", |
|
"zOrder": "15", |
|
"w": "169", |
|
"h": "19", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "728", |
|
"y": "2665", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 168, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4228667507356032, |
|
"y": 0.0023118957545187053 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 18 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "16", |
|
"typeID": "Arrow", |
|
"zOrder": "16", |
|
"w": "374", |
|
"h": "45", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "387", |
|
"y": "2302", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 373, |
|
"y": 10 |
|
}, |
|
"p1": { |
|
"x": 0.5494401310071896, |
|
"y": 0.10588311343182814 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "17", |
|
"typeID": "Arrow", |
|
"zOrder": "17", |
|
"w": "143", |
|
"h": "14", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "622", |
|
"y": "2273", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 142, |
|
"y": 13 |
|
}, |
|
"p1": { |
|
"x": 0.535877637338317, |
|
"y": -0.007278807849309005 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "18", |
|
"typeID": "Arrow", |
|
"zOrder": "18", |
|
"w": "163", |
|
"h": "12", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "613", |
|
"y": "2295", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 162, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4910385289593246, |
|
"y": 0.0004292920259006189 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 11 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "19", |
|
"typeID": "Arrow", |
|
"zOrder": "19", |
|
"w": "74", |
|
"h": "95", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "739", |
|
"y": "2544", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 94 |
|
}, |
|
"p1": { |
|
"x": 0.4552770914225203, |
|
"y": -0.18898693963995766 |
|
}, |
|
"p2": { |
|
"x": 73, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "20", |
|
"typeID": "Arrow", |
|
"zOrder": "20", |
|
"w": "107", |
|
"h": "103", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "692", |
|
"y": "2155", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 106, |
|
"y": 102 |
|
}, |
|
"p1": { |
|
"x": 0.38414149443561213, |
|
"y": -0.11426868044515104 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "21", |
|
"typeID": "Arrow", |
|
"zOrder": "21", |
|
"w": "215", |
|
"h": "13", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "683", |
|
"y": "2151", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 214, |
|
"y": 8 |
|
}, |
|
"p1": { |
|
"x": 0.5140765687406936, |
|
"y": 0.03859053397720475 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "22", |
|
"typeID": "Canvas", |
|
"zOrder": "22", |
|
"w": "591", |
|
"h": "101", |
|
"measuredW": "100", |
|
"measuredH": "70", |
|
"x": "793", |
|
"y": "2109", |
|
"properties": { |
|
"color": "16777215" |
|
} |
|
}, |
|
{ |
|
"ID": "23", |
|
"typeID": "Arrow", |
|
"zOrder": "23", |
|
"w": "87", |
|
"h": "6", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "717", |
|
"y": "1922", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 86, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.5140765687406935, |
|
"y": 0.03859053397720476 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 4 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "24", |
|
"typeID": "Arrow", |
|
"zOrder": "24", |
|
"w": "69", |
|
"h": "56", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "721", |
|
"y": "1842", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 68, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.45855018587360596, |
|
"y": 0.14888475836431225 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 55 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "25", |
|
"typeID": "Arrow", |
|
"zOrder": "25", |
|
"w": "86", |
|
"h": "10", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "715", |
|
"y": "1801", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 85, |
|
"y": 9 |
|
}, |
|
"p1": { |
|
"x": 0.5140765687406935, |
|
"y": 0.03859053397720475 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "26", |
|
"typeID": "Arrow", |
|
"zOrder": "26", |
|
"w": "87", |
|
"h": "59", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "716", |
|
"y": "1682", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4275092936802974, |
|
"y": -0.19861922464152953 |
|
}, |
|
"p2": { |
|
"x": 86, |
|
"y": 58 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "27", |
|
"typeID": "Arrow", |
|
"zOrder": "27", |
|
"w": "72", |
|
"h": "2", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "727", |
|
"y": "1610", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 1 |
|
}, |
|
"p1": { |
|
"x": 0.5210234034113447, |
|
"y": -0.007338357794525982 |
|
}, |
|
"p2": { |
|
"x": 71, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "28", |
|
"typeID": "Arrow", |
|
"zOrder": "28", |
|
"w": "99", |
|
"h": "49", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "698", |
|
"y": "1529", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 98, |
|
"y": 48 |
|
}, |
|
"p1": { |
|
"x": 0.5140765687406935, |
|
"y": 0.038590533977204765 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "29", |
|
"typeID": "Arrow", |
|
"zOrder": "29", |
|
"w": "9", |
|
"h": "75", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "975", |
|
"y": "1482", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 74 |
|
}, |
|
"p1": { |
|
"x": 0.41040312093628173, |
|
"y": -0.05500650195058517 |
|
}, |
|
"p2": { |
|
"x": 8, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "30", |
|
"typeID": "Arrow", |
|
"zOrder": "30", |
|
"w": "9", |
|
"h": "84", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "978", |
|
"y": "1310", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 8, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.5140765687406935, |
|
"y": 0.038590533977204765 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 83 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "31", |
|
"typeID": "Arrow", |
|
"zOrder": "31", |
|
"w": "101", |
|
"h": "15", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "713", |
|
"y": "1429", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 9 |
|
}, |
|
"p1": { |
|
"x": 0.45184009522864793, |
|
"y": -0.09066560857057832 |
|
}, |
|
"p2": { |
|
"x": 100, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid" |
|
} |
|
}, |
|
{ |
|
"ID": "32", |
|
"typeID": "Arrow", |
|
"zOrder": "32", |
|
"w": "147", |
|
"h": "71", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "395", |
|
"y": "474", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 70 |
|
}, |
|
"p1": { |
|
"x": 0.29983449443824334, |
|
"y": -0.05126823447904237 |
|
}, |
|
"p2": { |
|
"x": 146, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "33", |
|
"typeID": "Arrow", |
|
"zOrder": "33", |
|
"w": "68", |
|
"h": "93", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "512", |
|
"y": "1129", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 3, |
|
"y": 92 |
|
}, |
|
"p1": { |
|
"x": 0.3850318471337579, |
|
"y": 0.18089171974522292 |
|
}, |
|
"p2": { |
|
"x": 67, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid" |
|
} |
|
}, |
|
{ |
|
"ID": "34", |
|
"typeID": "Arrow", |
|
"zOrder": "34", |
|
"w": "146", |
|
"h": "23", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "708", |
|
"y": "1009", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 22 |
|
}, |
|
"p1": { |
|
"x": 0.5177460050462573, |
|
"y": -0.033389402859545836 |
|
}, |
|
"p2": { |
|
"x": 145, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "35", |
|
"typeID": "Arrow", |
|
"zOrder": "35", |
|
"w": "119", |
|
"h": "123", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "686", |
|
"y": "902", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 118, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.5006130932798996, |
|
"y": 0.15479857642731107 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 122 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "solid" |
|
} |
|
}, |
|
{ |
|
"ID": "36", |
|
"typeID": "Arrow", |
|
"zOrder": "36", |
|
"w": "88", |
|
"h": "53", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "692", |
|
"y": "883", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 87, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.44426229508196724, |
|
"y": -0.013114754098360656 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 52 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "37", |
|
"typeID": "Arrow", |
|
"zOrder": "37", |
|
"w": "92", |
|
"h": "187", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "720", |
|
"y": "651", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 91, |
|
"y": 186 |
|
}, |
|
"p1": { |
|
"x": 0.4750027536746258, |
|
"y": -0.12018259922407568 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier" |
|
} |
|
}, |
|
{ |
|
"ID": "38", |
|
"typeID": "Arrow", |
|
"zOrder": "38", |
|
"w": "48", |
|
"h": "83", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "407", |
|
"y": "657", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 1, |
|
"y": 82 |
|
}, |
|
"p1": { |
|
"x": 0.4278136688201293, |
|
"y": 0.1396123767426046 |
|
}, |
|
"p2": { |
|
"x": 47, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "39", |
|
"typeID": "Arrow", |
|
"zOrder": "39", |
|
"w": "34", |
|
"h": "127", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "669", |
|
"y": "479", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 33, |
|
"y": 126 |
|
}, |
|
"p1": { |
|
"x": 0.4701515620167028, |
|
"y": 0.1905351067120322 |
|
}, |
|
"p2": { |
|
"x": 16, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier" |
|
} |
|
}, |
|
{ |
|
"ID": "40", |
|
"typeID": "Arrow", |
|
"zOrder": "40", |
|
"w": "79", |
|
"h": "255", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "819", |
|
"y": "292", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 4, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.46391752577319545, |
|
"y": -0.10309278350515459 |
|
}, |
|
"p2": { |
|
"x": 78, |
|
"y": 254 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "41", |
|
"typeID": "Arrow", |
|
"zOrder": "41", |
|
"w": "151", |
|
"h": "34", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "393", |
|
"y": "466", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 33 |
|
}, |
|
"p1": { |
|
"x": 0.3477275391769901, |
|
"y": -0.04236195240142249 |
|
}, |
|
"p2": { |
|
"x": 150, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "42", |
|
"typeID": "Arrow", |
|
"zOrder": "42", |
|
"w": "89", |
|
"h": "61", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "917", |
|
"y": "431", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 88, |
|
"y": 60 |
|
}, |
|
"p1": { |
|
"x": 0.6410437235543018, |
|
"y": -0.04019746121297602 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "43", |
|
"typeID": "Arrow", |
|
"zOrder": "43", |
|
"w": "85", |
|
"h": "20", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "919", |
|
"y": "421", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 84, |
|
"y": 19 |
|
}, |
|
"p1": { |
|
"x": 0.4935957934474855, |
|
"y": 0.02831333423216934 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "44", |
|
"typeID": "Arrow", |
|
"zOrder": "44", |
|
"w": "141", |
|
"h": "138", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "403", |
|
"y": "250", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 2 |
|
}, |
|
"p1": { |
|
"x": 0.26833582265545164, |
|
"y": 0.06426381573775647 |
|
}, |
|
"p2": { |
|
"x": 140, |
|
"y": 137 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "45", |
|
"typeID": "Arrow", |
|
"zOrder": "45", |
|
"w": "153", |
|
"h": "16", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "392", |
|
"y": "380", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 15 |
|
}, |
|
"p1": { |
|
"x": 0.26833582265545164, |
|
"y": 0.06426381573775647 |
|
}, |
|
"p2": { |
|
"x": 152, |
|
"y": 2 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "46", |
|
"typeID": "Arrow", |
|
"zOrder": "46", |
|
"w": "152", |
|
"h": "60", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "396", |
|
"y": "382", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 1, |
|
"y": 59 |
|
}, |
|
"p1": { |
|
"x": 0.2683358226554517, |
|
"y": 0.06426381573775639 |
|
}, |
|
"p2": { |
|
"x": 151, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "47", |
|
"typeID": "Arrow", |
|
"zOrder": "47", |
|
"w": "152", |
|
"h": "46", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "398", |
|
"y": "341", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 5 |
|
}, |
|
"p1": { |
|
"x": 0.26833582265545164, |
|
"y": 0.06426381573775647 |
|
}, |
|
"p2": { |
|
"x": 151, |
|
"y": 45 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "48", |
|
"typeID": "Arrow", |
|
"zOrder": "48", |
|
"w": "141", |
|
"h": "86", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "402", |
|
"y": "299", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 3 |
|
}, |
|
"p1": { |
|
"x": 0.26833582265545164, |
|
"y": 0.06426381573775647 |
|
}, |
|
"p2": { |
|
"x": 140, |
|
"y": 85 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "49", |
|
"typeID": "Arrow", |
|
"zOrder": "49", |
|
"w": "77", |
|
"h": "36", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "924", |
|
"y": "348", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 76, |
|
"y": 35 |
|
}, |
|
"p1": { |
|
"x": 0.4949292958148836, |
|
"y": -0.07470361376946151 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "50", |
|
"typeID": "Arrow", |
|
"zOrder": "50", |
|
"w": "82", |
|
"h": "101", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "914", |
|
"y": "243", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 81, |
|
"y": 1 |
|
}, |
|
"p1": { |
|
"x": 0.266776677667767, |
|
"y": -0.05445544554455441 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 100 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "51", |
|
"typeID": "Arrow", |
|
"zOrder": "51", |
|
"w": "93", |
|
"h": "53", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "915", |
|
"y": "290", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 92, |
|
"y": 2 |
|
}, |
|
"p1": { |
|
"x": 0.321780372126961, |
|
"y": -0.08792411528639182 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 52 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "52", |
|
"typeID": "Arrow", |
|
"zOrder": "52", |
|
"w": "74", |
|
"h": "8", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "916", |
|
"y": "335", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 73, |
|
"y": 1 |
|
}, |
|
"p1": { |
|
"x": 0.3537744641192917, |
|
"y": -0.02907735321528425 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 7 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "53", |
|
"typeID": "Label", |
|
"zOrder": "53", |
|
"measuredW": "226", |
|
"measuredH": "40", |
|
"x": "591", |
|
"y": "127", |
|
"properties": { |
|
"bold": "true", |
|
"size": "32", |
|
"text": "後端 Back-end" |
|
} |
|
}, |
|
{ |
|
"ID": "54", |
|
"typeID": "Arrow", |
|
"zOrder": "54", |
|
"w": "13", |
|
"h": "71", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "663", |
|
"y": "40", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "-1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 6, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.5214417744916817, |
|
"y": -0.11497227356746767 |
|
}, |
|
"p2": { |
|
"x": 12, |
|
"y": 70 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier", |
|
"stroke": "dotted" |
|
} |
|
}, |
|
{ |
|
"ID": "55", |
|
"typeID": "Icon", |
|
"zOrder": "55", |
|
"measuredW": "32", |
|
"measuredH": "32", |
|
"x": "955", |
|
"y": "55", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "github", |
|
"size": "medium" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "56", |
|
"typeID": "Label", |
|
"zOrder": "56", |
|
"measuredW": "302", |
|
"measuredH": "25", |
|
"x": "994", |
|
"y": "49", |
|
"properties": { |
|
"bold": "true", |
|
"color": "10027263", |
|
"size": "17", |
|
"text": "kamranahmedse/developer-roadmap" |
|
} |
|
}, |
|
{ |
|
"ID": "57", |
|
"typeID": "Icon", |
|
"zOrder": "57", |
|
"measuredW": "32", |
|
"measuredH": "32", |
|
"x": "955", |
|
"y": "109", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "twitter", |
|
"size": "medium" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "58", |
|
"typeID": "Label", |
|
"zOrder": "58", |
|
"measuredW": "133", |
|
"measuredH": "25", |
|
"x": "995", |
|
"y": "101", |
|
"properties": { |
|
"bold": "true", |
|
"color": "10027263", |
|
"size": "17", |
|
"text": "kamranahmedse" |
|
} |
|
}, |
|
{ |
|
"ID": "59", |
|
"typeID": "Arrow", |
|
"zOrder": "59", |
|
"w": "14", |
|
"h": "79", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "702", |
|
"y": "177", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "1", |
|
"direction": "top", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 0, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.4416543574593796, |
|
"y": 0.14967996061053668 |
|
}, |
|
"p2": { |
|
"x": 3, |
|
"y": 78 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier" |
|
} |
|
}, |
|
{ |
|
"ID": "60", |
|
"typeID": "TextArea", |
|
"zOrder": "60", |
|
"w": "400", |
|
"h": "71", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "528", |
|
"y": "237", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "61", |
|
"typeID": "Label", |
|
"zOrder": "61", |
|
"measuredW": "102", |
|
"measuredH": "25", |
|
"x": "576", |
|
"y": "249", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "選擇一個語言" |
|
} |
|
}, |
|
{ |
|
"ID": "62", |
|
"typeID": "Icon", |
|
"zOrder": "62", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "542", |
|
"y": "249", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "63", |
|
"typeID": "Label", |
|
"zOrder": "63", |
|
"measuredW": "5", |
|
"measuredH": "21", |
|
"x": "550", |
|
"y": "251", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "1" |
|
} |
|
}, |
|
{ |
|
"ID": "64", |
|
"typeID": "TextArea", |
|
"zOrder": "64", |
|
"w": "400", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "528", |
|
"y": "314", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "65", |
|
"typeID": "Label", |
|
"zOrder": "65", |
|
"w": "371", |
|
"measuredW": "274", |
|
"measuredH": "25", |
|
"x": "551", |
|
"y": "322", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "腳本程式語言 Scripting Languages" |
|
} |
|
}, |
|
{ |
|
"ID": "66", |
|
"typeID": "TextArea", |
|
"zOrder": "66", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "989", |
|
"y": "316", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "67", |
|
"typeID": "Label", |
|
"zOrder": "67", |
|
"w": "45", |
|
"measuredW": "35", |
|
"measuredH": "25", |
|
"x": "1029", |
|
"y": "325", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "PHP" |
|
} |
|
}, |
|
{ |
|
"ID": "68", |
|
"typeID": "TextArea", |
|
"zOrder": "68", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "989", |
|
"y": "361", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "69", |
|
"typeID": "Label", |
|
"zOrder": "69", |
|
"w": "68", |
|
"measuredW": "61", |
|
"measuredH": "25", |
|
"x": "1029", |
|
"y": "370", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Node.js" |
|
} |
|
}, |
|
{ |
|
"ID": "70", |
|
"typeID": "TextArea", |
|
"zOrder": "70", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "989", |
|
"y": "271", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "71", |
|
"typeID": "Label", |
|
"zOrder": "71", |
|
"w": "45", |
|
"measuredW": "41", |
|
"measuredH": "25", |
|
"x": "1029", |
|
"y": "280", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Ruby" |
|
} |
|
}, |
|
{ |
|
"ID": "72", |
|
"typeID": "TextArea", |
|
"zOrder": "72", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "989", |
|
"y": "226", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "73", |
|
"typeID": "Label", |
|
"zOrder": "73", |
|
"w": "68", |
|
"measuredW": "56", |
|
"measuredH": "25", |
|
"x": "1028", |
|
"y": "235", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Python" |
|
} |
|
}, |
|
{ |
|
"ID": "74", |
|
"typeID": "TextArea", |
|
"zOrder": "74", |
|
"w": "400", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "528", |
|
"y": "361", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "75", |
|
"typeID": "Label", |
|
"zOrder": "75", |
|
"w": "291", |
|
"measuredW": "286", |
|
"measuredH": "25", |
|
"x": "550", |
|
"y": "369", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "函數程式語言 Functional Languages" |
|
} |
|
}, |
|
{ |
|
"ID": "76", |
|
"typeID": "TextArea", |
|
"zOrder": "76", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "272", |
|
"y": "367", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "77", |
|
"typeID": "Label", |
|
"zOrder": "77", |
|
"w": "61", |
|
"measuredW": "58", |
|
"measuredH": "25", |
|
"x": "312", |
|
"y": "376", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Clojure" |
|
} |
|
}, |
|
{ |
|
"ID": "78", |
|
"typeID": "TextArea", |
|
"zOrder": "78", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "272", |
|
"y": "412", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "79", |
|
"typeID": "Label", |
|
"zOrder": "79", |
|
"w": "68", |
|
"measuredW": "59", |
|
"measuredH": "25", |
|
"x": "312", |
|
"y": "421", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Haskell" |
|
} |
|
}, |
|
{ |
|
"ID": "80", |
|
"typeID": "TextArea", |
|
"zOrder": "80", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "272", |
|
"y": "322", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "81", |
|
"typeID": "Label", |
|
"zOrder": "81", |
|
"w": "61", |
|
"measuredW": "51", |
|
"measuredH": "25", |
|
"x": "312", |
|
"y": "331", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Erlang" |
|
} |
|
}, |
|
{ |
|
"ID": "82", |
|
"typeID": "TextArea", |
|
"zOrder": "82", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "272", |
|
"y": "277", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "83", |
|
"typeID": "Label", |
|
"zOrder": "83", |
|
"w": "68", |
|
"measuredW": "44", |
|
"measuredH": "25", |
|
"x": "311", |
|
"y": "286", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Scala" |
|
} |
|
}, |
|
{ |
|
"ID": "84", |
|
"typeID": "TextArea", |
|
"zOrder": "84", |
|
"w": "400", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "528", |
|
"y": "407", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "85", |
|
"typeID": "Label", |
|
"zOrder": "85", |
|
"w": "338", |
|
"measuredW": "335", |
|
"measuredH": "25", |
|
"x": "550", |
|
"y": "415", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "多範式程式語言 Multiparadigm Languages" |
|
} |
|
}, |
|
{ |
|
"ID": "86", |
|
"typeID": "TextArea", |
|
"zOrder": "86", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "272", |
|
"y": "232", |
|
"properties": { |
|
"color": "16770457", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "87", |
|
"typeID": "Label", |
|
"zOrder": "87", |
|
"w": "61", |
|
"measuredW": "40", |
|
"measuredH": "25", |
|
"x": "312", |
|
"y": "241", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Elixir" |
|
} |
|
}, |
|
{ |
|
"ID": "88", |
|
"typeID": "TextArea", |
|
"zOrder": "88", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "993", |
|
"y": "422", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "89", |
|
"typeID": "Label", |
|
"zOrder": "89", |
|
"w": "68", |
|
"measuredW": "57", |
|
"measuredH": "25", |
|
"x": "1033", |
|
"y": "431", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Golang" |
|
} |
|
}, |
|
{ |
|
"ID": "90", |
|
"typeID": "TextArea", |
|
"zOrder": "90", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "994", |
|
"y": "468", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "91", |
|
"typeID": "Label", |
|
"zOrder": "91", |
|
"w": "68", |
|
"measuredW": "37", |
|
"measuredH": "25", |
|
"x": "1034", |
|
"y": "477", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Rust" |
|
} |
|
}, |
|
{ |
|
"ID": "92", |
|
"typeID": "TextArea", |
|
"zOrder": "92", |
|
"w": "400", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "528", |
|
"y": "453", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "93", |
|
"typeID": "Label", |
|
"zOrder": "93", |
|
"w": "237", |
|
"measuredW": "234", |
|
"measuredH": "25", |
|
"x": "550", |
|
"y": "461", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "企業選項 Enterprisey Options" |
|
} |
|
}, |
|
{ |
|
"ID": "94", |
|
"typeID": "TextArea", |
|
"zOrder": "94", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "272", |
|
"y": "477", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "95", |
|
"typeID": "Label", |
|
"zOrder": "95", |
|
"w": "68", |
|
"measuredW": "37", |
|
"measuredH": "25", |
|
"x": "312", |
|
"y": "486", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "Java" |
|
} |
|
}, |
|
{ |
|
"ID": "96", |
|
"typeID": "TextArea", |
|
"zOrder": "96", |
|
"w": "141", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "273", |
|
"y": "523", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "97", |
|
"typeID": "Label", |
|
"zOrder": "97", |
|
"w": "47", |
|
"measuredW": "38", |
|
"measuredH": "25", |
|
"x": "313", |
|
"y": "532", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": ".NET" |
|
} |
|
}, |
|
{ |
|
"ID": "98", |
|
"typeID": "TextArea", |
|
"zOrder": "98", |
|
"w": "465", |
|
"h": "215", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "838", |
|
"y": "546", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "99", |
|
"typeID": "Label", |
|
"zOrder": "99", |
|
"measuredW": "425", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "557", |
|
"properties": { |
|
"size": "17", |
|
"text": "對於初學者而言,如果你才剛開始進入後端開發的領域," |
|
} |
|
}, |
|
{ |
|
"ID": "100", |
|
"typeID": "Label", |
|
"zOrder": "100", |
|
"measuredW": "435", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "583", |
|
"properties": { |
|
"size": "17", |
|
"text": "我會建議你先選擇一個腳本語言(scripting language)。" |
|
} |
|
}, |
|
{ |
|
"ID": "101", |
|
"typeID": "Label", |
|
"zOrder": "101", |
|
"measuredW": "317", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "610", |
|
"properties": { |
|
"size": "17", |
|
"text": "*Node.js* 或 *PHP* 會是快速又簡單的選項。" |
|
} |
|
}, |
|
{ |
|
"ID": "102", |
|
"typeID": "Label", |
|
"zOrder": "102", |
|
"measuredW": "289", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "637", |
|
"properties": { |
|
"size": "17", |
|
"text": "如果你已經在用某些腳本語言寫後端," |
|
} |
|
}, |
|
{ |
|
"ID": "103", |
|
"typeID": "Label", |
|
"zOrder": "103", |
|
"measuredW": "238", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "665", |
|
"properties": { |
|
"size": "17", |
|
"text": "那就不要選擇其他腳本語言了," |
|
} |
|
}, |
|
{ |
|
"ID": "104", |
|
"typeID": "Label", |
|
"zOrder": "104", |
|
"measuredW": "266", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "691", |
|
"properties": { |
|
"size": "17", |
|
"text": "試試看 Golang、Rust 或 Clojure," |
|
} |
|
}, |
|
{ |
|
"ID": "105", |
|
"typeID": "Label", |
|
"zOrder": "105", |
|
"measuredW": "221", |
|
"measuredH": "25", |
|
"x": "852", |
|
"y": "720", |
|
"properties": { |
|
"size": "17", |
|
"text": "這肯定會給你一個新的視角。" |
|
} |
|
}, |
|
{ |
|
"ID": "106", |
|
"typeID": "TextArea", |
|
"zOrder": "106", |
|
"w": "405", |
|
"h": "96", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "366", |
|
"y": "583", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "107", |
|
"typeID": "Label", |
|
"zOrder": "107", |
|
"measuredW": "136", |
|
"measuredH": "25", |
|
"x": "412", |
|
"y": "595", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "練習你學到的東西" |
|
} |
|
}, |
|
{ |
|
"ID": "108", |
|
"typeID": "Icon", |
|
"zOrder": "108", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "378", |
|
"y": "595", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "109", |
|
"typeID": "Label", |
|
"zOrder": "109", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "386", |
|
"y": "597", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "2" |
|
} |
|
}, |
|
{ |
|
"ID": "110", |
|
"typeID": "Label", |
|
"zOrder": "110", |
|
"measuredW": "221", |
|
"measuredH": "25", |
|
"x": "412", |
|
"y": "619", |
|
"properties": { |
|
"size": "17", |
|
"text": "練習並用你選擇的語言寫一些" |
|
} |
|
}, |
|
{ |
|
"ID": "111", |
|
"typeID": "Label", |
|
"zOrder": "111", |
|
"measuredW": "263", |
|
"measuredH": "25", |
|
"x": "412", |
|
"y": "641", |
|
"properties": { |
|
"size": "17", |
|
"text": "命令列(command line)的程式。" |
|
} |
|
}, |
|
{ |
|
"ID": "112", |
|
"typeID": "Label", |
|
"zOrder": "112", |
|
"measuredW": "204", |
|
"measuredH": "25", |
|
"x": "575", |
|
"y": "273", |
|
"properties": { |
|
"size": "17", |
|
"text": "有各式各樣的語言可供選擇" |
|
} |
|
}, |
|
{ |
|
"ID": "113", |
|
"typeID": "TextArea", |
|
"zOrder": "113", |
|
"w": "575", |
|
"h": "187", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "152", |
|
"y": "700", |
|
"properties": { |
|
"color": "16770457", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "114", |
|
"typeID": "Label", |
|
"zOrder": "114", |
|
"w": "131", |
|
"measuredW": "68", |
|
"measuredH": "25", |
|
"x": "168", |
|
"y": "714", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "舉例來說" |
|
} |
|
}, |
|
{ |
|
"ID": "115", |
|
"typeID": "Label", |
|
"zOrder": "115", |
|
"measuredW": "268", |
|
"measuredH": "25", |
|
"x": "168", |
|
"y": "742", |
|
"properties": { |
|
"size": "17", |
|
"text": "實作一些你用過的指令,像是 `ls`。" |
|
} |
|
}, |
|
{ |
|
"ID": "116", |
|
"typeID": "Label", |
|
"zOrder": "116", |
|
"measuredW": "435", |
|
"measuredH": "25", |
|
"x": "168", |
|
"y": "768", |
|
"properties": { |
|
"size": "17", |
|
"text": "抓取和儲存 reddit 的 /r/programming 板上文章的指令。" |
|
} |
|
}, |
|
{ |
|
"ID": "117", |
|
"typeID": "Label", |
|
"zOrder": "117", |
|
"measuredW": "311", |
|
"measuredH": "25", |
|
"x": "168", |
|
"y": "794", |
|
"properties": { |
|
"size": "17", |
|
"text": "幫你建立目錄結構的 JSON 格式的指令。" |
|
} |
|
}, |
|
{ |
|
"ID": "118", |
|
"typeID": "Label", |
|
"zOrder": "118", |
|
"measuredW": "390", |
|
"measuredH": "25", |
|
"x": "168", |
|
"y": "820", |
|
"properties": { |
|
"size": "17", |
|
"text": "讀取上述產生的 JSON,並建立其目錄結構的指令。" |
|
} |
|
}, |
|
{ |
|
"ID": "119", |
|
"typeID": "Label", |
|
"zOrder": "119", |
|
"measuredW": "357", |
|
"measuredH": "25", |
|
"x": "168", |
|
"y": "846", |
|
"properties": { |
|
"size": "17", |
|
"text": "想一些你每天在做的任務,並試著把它自動化。" |
|
} |
|
}, |
|
{ |
|
"ID": "120", |
|
"typeID": "TextArea", |
|
"zOrder": "120", |
|
"w": "523", |
|
"h": "133", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "766", |
|
"y": "788", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "121", |
|
"typeID": "Label", |
|
"zOrder": "121", |
|
"measuredW": "316", |
|
"measuredH": "25", |
|
"x": "813", |
|
"y": "803", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習套件管理系統(Package Manager)" |
|
} |
|
}, |
|
{ |
|
"ID": "122", |
|
"typeID": "Icon", |
|
"zOrder": "122", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "779", |
|
"y": "803", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "123", |
|
"typeID": "Label", |
|
"zOrder": "123", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "787", |
|
"y": "805", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "3" |
|
} |
|
}, |
|
{ |
|
"ID": "124", |
|
"typeID": "TextArea", |
|
"zOrder": "124", |
|
"w": "485", |
|
"h": "72", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "241", |
|
"y": "902", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "125", |
|
"typeID": "Label", |
|
"zOrder": "125", |
|
"measuredW": "408", |
|
"measuredH": "25", |
|
"x": "254", |
|
"y": "914", |
|
"properties": { |
|
"size": "17", |
|
"text": "套件管理系統協助你在你的應用程式中載入外部相依," |
|
} |
|
}, |
|
{ |
|
"ID": "126", |
|
"typeID": "Label", |
|
"zOrder": "126", |
|
"measuredW": "221", |
|
"measuredH": "25", |
|
"x": "254", |
|
"y": "936", |
|
"properties": { |
|
"size": "17", |
|
"text": "也能協助你發佈自己的套件。" |
|
} |
|
}, |
|
{ |
|
"ID": "127", |
|
"typeID": "Label", |
|
"zOrder": "127", |
|
"measuredW": "340", |
|
"measuredH": "25", |
|
"x": "813", |
|
"y": "827", |
|
"properties": { |
|
"size": "17", |
|
"text": "學會如何使用你所選的語言的套件管理系統," |
|
} |
|
}, |
|
{ |
|
"ID": "128", |
|
"typeID": "Label", |
|
"zOrder": "128", |
|
"measuredW": "391", |
|
"measuredH": "25", |
|
"x": "813", |
|
"y": "852", |
|
"properties": { |
|
"size": "17", |
|
"text": "像是 *PHP 的 composer、Node.js 的 NPM 和 yarn*" |
|
} |
|
}, |
|
{ |
|
"ID": "129", |
|
"typeID": "TextArea", |
|
"zOrder": "129", |
|
"w": "575", |
|
"h": "153", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "158", |
|
"y": "985", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "130", |
|
"typeID": "Label", |
|
"zOrder": "130", |
|
"measuredW": "369", |
|
"measuredH": "25", |
|
"x": "204", |
|
"y": "1001", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "標準(Standard)和最佳實踐(Best Practice)" |
|
} |
|
}, |
|
{ |
|
"ID": "131", |
|
"typeID": "Icon", |
|
"zOrder": "131", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "170", |
|
"y": "1001", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "132", |
|
"typeID": "Label", |
|
"zOrder": "132", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "178", |
|
"y": "1003", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "4" |
|
} |
|
}, |
|
{ |
|
"ID": "133", |
|
"typeID": "Label", |
|
"zOrder": "133", |
|
"measuredW": "391", |
|
"measuredH": "25", |
|
"x": "204", |
|
"y": "1028", |
|
"properties": { |
|
"size": "17", |
|
"text": "每種語言都有自己的標準,以及做事情的最佳實踐。" |
|
} |
|
}, |
|
{ |
|
"ID": "134", |
|
"typeID": "Label", |
|
"zOrder": "134", |
|
"measuredW": "204", |
|
"measuredH": "25", |
|
"x": "204", |
|
"y": "1050", |
|
"properties": { |
|
"size": "17", |
|
"text": "為你挑選的語言學習它們。" |
|
} |
|
}, |
|
{ |
|
"ID": "135", |
|
"typeID": "Label", |
|
"zOrder": "135", |
|
"measuredW": "263", |
|
"measuredH": "25", |
|
"x": "204", |
|
"y": "1075", |
|
"properties": { |
|
"size": "17", |
|
"text": "例如 *PHP 的 PHP-FIG 和 PSRs*," |
|
} |
|
}, |
|
{ |
|
"ID": "136", |
|
"typeID": "TextArea", |
|
"zOrder": "136", |
|
"w": "570", |
|
"h": "110", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "806", |
|
"y": "947", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "137", |
|
"typeID": "Label", |
|
"zOrder": "137", |
|
"measuredW": "289", |
|
"measuredH": "25", |
|
"x": "820", |
|
"y": "962", |
|
"properties": { |
|
"size": "17", |
|
"text": "請務必閱讀有關資訊安全的最佳實踐。" |
|
} |
|
}, |
|
{ |
|
"ID": "138", |
|
"typeID": "Label", |
|
"zOrder": "138", |
|
"measuredW": "345", |
|
"measuredH": "25", |
|
"x": "820", |
|
"y": "988", |
|
"properties": { |
|
"size": "17", |
|
"text": "閱讀 OWASP 指南,並瞭解不同的安全問題," |
|
} |
|
}, |
|
{ |
|
"ID": "139", |
|
"typeID": "Label", |
|
"zOrder": "139", |
|
"measuredW": "289", |
|
"measuredH": "25", |
|
"x": "820", |
|
"y": "1015", |
|
"properties": { |
|
"size": "17", |
|
"text": "以及如何在你選擇的語言中避免它們。" |
|
} |
|
}, |
|
{ |
|
"ID": "140", |
|
"typeID": "TextArea", |
|
"zOrder": "140", |
|
"w": "576", |
|
"h": "323", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "158", |
|
"y": "1156", |
|
"properties": { |
|
"color": "16776960", |
|
"textColor": "0" |
|
} |
|
}, |
|
{ |
|
"ID": "141", |
|
"typeID": "Label", |
|
"zOrder": "141", |
|
"measuredW": "415", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1177", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "製作和發佈一些套件(Package)或函式庫(Library)" |
|
} |
|
}, |
|
{ |
|
"ID": "142", |
|
"typeID": "Icon", |
|
"zOrder": "142", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "173", |
|
"y": "1177", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "143", |
|
"typeID": "Label", |
|
"zOrder": "143", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "181", |
|
"y": "1179", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "5" |
|
} |
|
}, |
|
{ |
|
"ID": "144", |
|
"typeID": "Label", |
|
"zOrder": "144", |
|
"measuredW": "374", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1204", |
|
"properties": { |
|
"size": "17", |
|
"text": "現在繼續前進,建立一個套件並發佈其他人使用," |
|
} |
|
}, |
|
{ |
|
"ID": "145", |
|
"typeID": "Label", |
|
"zOrder": "145", |
|
"measuredW": "340", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1230", |
|
"properties": { |
|
"size": "17", |
|
"text": "並確保遵循你至今所了解的標準和最佳實踐。" |
|
} |
|
}, |
|
{ |
|
"ID": "147", |
|
"typeID": "Label", |
|
"zOrder": "146", |
|
"measuredW": "296", |
|
"measuredH": "25", |
|
"x": "813", |
|
"y": "880", |
|
"properties": { |
|
"size": "17", |
|
"text": "*Python 的 pip、Ruby 的 gems* 等等。" |
|
} |
|
}, |
|
{ |
|
"ID": "148", |
|
"typeID": "Label", |
|
"zOrder": "147", |
|
"measuredW": "187", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1292", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "為一些開源專案做出貢獻" |
|
} |
|
}, |
|
{ |
|
"ID": "149", |
|
"typeID": "Label", |
|
"zOrder": "148", |
|
"measuredW": "453", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1320", |
|
"properties": { |
|
"size": "17", |
|
"text": "在 GitHub 上搜尋一些專案,並在專案中開一些 pull request" |
|
} |
|
}, |
|
{ |
|
"ID": "150", |
|
"typeID": "Label", |
|
"zOrder": "149", |
|
"measuredW": "136", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1345", |
|
"properties": { |
|
"size": "17", |
|
"text": "這裡有一些點子:" |
|
} |
|
}, |
|
{ |
|
"ID": "151", |
|
"typeID": "Label", |
|
"zOrder": "150", |
|
"measuredW": "238", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1385", |
|
"properties": { |
|
"size": "17", |
|
"text": "重構並實踐你學到的最佳實踐。" |
|
} |
|
}, |
|
{ |
|
"ID": "152", |
|
"typeID": "Label", |
|
"zOrder": "151", |
|
"measuredW": "284", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1410", |
|
"properties": { |
|
"size": "17", |
|
"text": "查看還開啟的 issue,並試著解決它。" |
|
} |
|
}, |
|
{ |
|
"ID": "153", |
|
"typeID": "Label", |
|
"zOrder": "152", |
|
"measuredW": "170", |
|
"measuredH": "25", |
|
"x": "207", |
|
"y": "1435", |
|
"properties": { |
|
"size": "17", |
|
"text": "新增任何的額外功能。" |
|
} |
|
}, |
|
{ |
|
"ID": "154", |
|
"typeID": "TextArea", |
|
"zOrder": "153", |
|
"w": "595", |
|
"h": "138", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "782", |
|
"y": "1359", |
|
"properties": { |
|
"color": "16776960", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "155", |
|
"typeID": "Label", |
|
"zOrder": "154", |
|
"measuredW": "162", |
|
"measuredH": "25", |
|
"x": "830", |
|
"y": "1375", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習測試(Testing)" |
|
} |
|
}, |
|
{ |
|
"ID": "156", |
|
"typeID": "Icon", |
|
"zOrder": "155", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "796", |
|
"y": "1375", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "157", |
|
"typeID": "Label", |
|
"zOrder": "156", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "804", |
|
"y": "1377", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "6" |
|
} |
|
}, |
|
{ |
|
"ID": "158", |
|
"typeID": "Label", |
|
"zOrder": "157", |
|
"measuredW": "442", |
|
"measuredH": "25", |
|
"x": "830", |
|
"y": "1402", |
|
"properties": { |
|
"size": "17", |
|
"text": "測試的類型有好幾種,但現在,先瞭解如何用你選擇的語言" |
|
} |
|
}, |
|
{ |
|
"ID": "159", |
|
"typeID": "Label", |
|
"zOrder": "158", |
|
"measuredW": "477", |
|
"measuredH": "25", |
|
"x": "830", |
|
"y": "1428", |
|
"properties": { |
|
"size": "17", |
|
"text": "撰寫 *單元測試(Unit test)和 整合測試(Integration test)*。" |
|
} |
|
}, |
|
{ |
|
"ID": "160", |
|
"typeID": "Label", |
|
"zOrder": "159", |
|
"measuredW": "343", |
|
"measuredH": "25", |
|
"x": "830", |
|
"y": "1454", |
|
"properties": { |
|
"size": "17", |
|
"text": "理解不同的測試術語,像是 mock、stub 等。" |
|
} |
|
}, |
|
{ |
|
"ID": "161", |
|
"typeID": "TextArea", |
|
"zOrder": "160", |
|
"w": "603", |
|
"h": "252", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "774", |
|
"y": "1084", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "162", |
|
"typeID": "Label", |
|
"zOrder": "161", |
|
"measuredW": "510", |
|
"measuredH": "25", |
|
"x": "790", |
|
"y": "1099", |
|
"properties": { |
|
"size": "17", |
|
"text": "根據你所選擇的語言會有幾種不同的選擇,每一種都有不同的用途。" |
|
} |
|
}, |
|
{ |
|
"ID": "163", |
|
"typeID": "Label", |
|
"zOrder": "162", |
|
"measuredW": "199", |
|
"measuredH": "25", |
|
"x": "791", |
|
"y": "1125", |
|
"properties": { |
|
"size": "17", |
|
"text": "*Google* 看看有什麼不同," |
|
} |
|
}, |
|
{ |
|
"ID": "164", |
|
"typeID": "Label", |
|
"zOrder": "163", |
|
"measuredW": "170", |
|
"measuredH": "25", |
|
"x": "791", |
|
"y": "1152", |
|
"properties": { |
|
"size": "17", |
|
"text": "並選擇一個適合你的。" |
|
} |
|
}, |
|
{ |
|
"ID": "165", |
|
"typeID": "Label", |
|
"zOrder": "164", |
|
"measuredW": "376", |
|
"measuredH": "25", |
|
"x": "792", |
|
"y": "1193", |
|
"properties": { |
|
"size": "17", |
|
"text": "*針對 PHP* – &*{color:blue}PHPUnit{color}*&、PHPSpec、Codeception" |
|
} |
|
}, |
|
{ |
|
"ID": "166", |
|
"typeID": "Label", |
|
"zOrder": "165", |
|
"measuredW": "511", |
|
"measuredH": "25", |
|
"x": "792", |
|
"y": "1221", |
|
"properties": { |
|
"size": "17", |
|
"text": "*針對 Node.js* – &*{color:blue}Mocha{color}*&、&*{color:blue}Chai{color}*&、&*{color:blue}Sinon{color}*&、&*{color:blue}Mockery{color}*&、Ava、Jasmine" |
|
} |
|
}, |
|
{ |
|
"ID": "167", |
|
"typeID": "Label", |
|
"zOrder": "166", |
|
"measuredW": "357", |
|
"measuredH": "25", |
|
"x": "791", |
|
"y": "1264", |
|
"properties": { |
|
"size": "17", |
|
"text": "我並不想開戰場,所以我不會在此做任何推薦。" |
|
} |
|
}, |
|
{ |
|
"ID": "168", |
|
"typeID": "Label", |
|
"zOrder": "167", |
|
"measuredW": "306", |
|
"measuredH": "25", |
|
"x": "791", |
|
"y": "1290", |
|
"properties": { |
|
"size": "17", |
|
"text": "所以請多走走看看,找到適合你的選擇。" |
|
} |
|
}, |
|
{ |
|
"ID": "169", |
|
"typeID": "TextArea", |
|
"zOrder": "168", |
|
"w": "594", |
|
"h": "117", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "783", |
|
"y": "1524", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "170", |
|
"typeID": "Label", |
|
"zOrder": "169", |
|
"measuredW": "204", |
|
"measuredH": "25", |
|
"x": "832", |
|
"y": "1545", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "為上面的實際步驟撰寫測試" |
|
} |
|
}, |
|
{ |
|
"ID": "171", |
|
"typeID": "Icon", |
|
"zOrder": "170", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "798", |
|
"y": "1545", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "172", |
|
"typeID": "Label", |
|
"zOrder": "171", |
|
"measuredW": "7", |
|
"measuredH": "21", |
|
"x": "806", |
|
"y": "1547", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "7" |
|
} |
|
}, |
|
{ |
|
"ID": "173", |
|
"typeID": "Label", |
|
"zOrder": "172", |
|
"measuredW": "255", |
|
"measuredH": "25", |
|
"x": "832", |
|
"y": "1572", |
|
"properties": { |
|
"size": "17", |
|
"text": "試著為前面步驟中實作的實際任務" |
|
} |
|
}, |
|
{ |
|
"ID": "174", |
|
"typeID": "Label", |
|
"zOrder": "173", |
|
"measuredW": "153", |
|
"measuredH": "25", |
|
"x": "832", |
|
"y": "1598", |
|
"properties": { |
|
"size": "17", |
|
"text": "撰寫一些單元測試。" |
|
} |
|
}, |
|
{ |
|
"ID": "175", |
|
"typeID": "Label", |
|
"zOrder": "174", |
|
"measuredW": "343", |
|
"measuredH": "25", |
|
"x": "203", |
|
"y": "1099", |
|
"properties": { |
|
"size": "17", |
|
"text": "或是像 Node.js 也有很多由社群推動的準則。" |
|
} |
|
}, |
|
{ |
|
"ID": "176", |
|
"typeID": "TextArea", |
|
"zOrder": "175", |
|
"w": "575", |
|
"h": "50", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "158", |
|
"y": "1498", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "177", |
|
"typeID": "Label", |
|
"zOrder": "176", |
|
"measuredW": "204", |
|
"measuredH": "25", |
|
"x": "208", |
|
"y": "1511", |
|
"properties": { |
|
"size": "17", |
|
"text": "瞭解如何計算測試覆蓋率。" |
|
} |
|
}, |
|
{ |
|
"ID": "178", |
|
"typeID": "Icon", |
|
"zOrder": "177", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "173", |
|
"y": "1511", |
|
"properties": { |
|
"icon": { |
|
"ID": "lightbulb-o", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "179", |
|
"typeID": "TextArea", |
|
"zOrder": "178", |
|
"w": "371", |
|
"h": "159", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "366", |
|
"y": "1570", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "180", |
|
"typeID": "Label", |
|
"zOrder": "179", |
|
"w": "342", |
|
"measuredW": "333", |
|
"measuredH": "25", |
|
"x": "409", |
|
"y": "1584", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習關聯式資料庫(Relational Database)" |
|
} |
|
}, |
|
{ |
|
"ID": "181", |
|
"typeID": "Icon", |
|
"zOrder": "180", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "378", |
|
"y": "1582", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "182", |
|
"typeID": "Label", |
|
"zOrder": "181", |
|
"w": "11", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "386", |
|
"y": "1584", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "8" |
|
} |
|
}, |
|
{ |
|
"ID": "183", |
|
"typeID": "TextInput", |
|
"zOrder": "182", |
|
"w": "121", |
|
"measuredW": "75", |
|
"measuredH": "32", |
|
"x": "110", |
|
"y": "1612", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "MySQL" |
|
} |
|
}, |
|
{ |
|
"ID": "184", |
|
"typeID": "TextInput", |
|
"zOrder": "183", |
|
"w": "119", |
|
"measuredW": "86", |
|
"measuredH": "32", |
|
"x": "237", |
|
"y": "1612", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "MariaDB" |
|
} |
|
}, |
|
{ |
|
"ID": "185", |
|
"typeID": "TextInput", |
|
"zOrder": "184", |
|
"w": "246", |
|
"measuredW": "115", |
|
"measuredH": "32", |
|
"x": "108", |
|
"y": "1652", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "PostgreSQL" |
|
} |
|
}, |
|
{ |
|
"ID": "186", |
|
"typeID": "TextInput", |
|
"zOrder": "185", |
|
"w": "246", |
|
"measuredW": "69", |
|
"measuredH": "32", |
|
"x": "109", |
|
"y": "1570", |
|
"properties": { |
|
"align": "center", |
|
"color": "16770457", |
|
"size": "18", |
|
"text": "Oracle" |
|
} |
|
}, |
|
{ |
|
"ID": "187", |
|
"typeID": "TextInput", |
|
"zOrder": "186", |
|
"w": "246", |
|
"measuredW": "77", |
|
"measuredH": "32", |
|
"x": "108", |
|
"y": "1695", |
|
"properties": { |
|
"align": "center", |
|
"color": "16770457", |
|
"size": "18", |
|
"text": "MSSQL" |
|
} |
|
}, |
|
{ |
|
"ID": "188", |
|
"typeID": "Label", |
|
"zOrder": "187", |
|
"measuredW": "346", |
|
"measuredH": "25", |
|
"x": "382", |
|
"y": "1613", |
|
"properties": { |
|
"size": "17", |
|
"text": "這裡有幾個選項。 你如果已經學過其中一個," |
|
} |
|
}, |
|
{ |
|
"ID": "189", |
|
"typeID": "Label", |
|
"zOrder": "188", |
|
"measuredW": "204", |
|
"measuredH": "25", |
|
"x": "382", |
|
"y": "1637", |
|
"properties": { |
|
"size": "17", |
|
"text": "要學其他的應該是很容易。" |
|
} |
|
}, |
|
{ |
|
"ID": "190", |
|
"typeID": "Label", |
|
"zOrder": "189", |
|
"measuredW": "302", |
|
"measuredH": "25", |
|
"x": "382", |
|
"y": "1662", |
|
"properties": { |
|
"size": "17", |
|
"text": "先選擇 *MySQL*,但要瞭解他們的不同," |
|
} |
|
}, |
|
{ |
|
"ID": "191", |
|
"typeID": "Label", |
|
"zOrder": "190", |
|
"measuredW": "136", |
|
"measuredH": "25", |
|
"x": "382", |
|
"y": "1686", |
|
"properties": { |
|
"size": "17", |
|
"text": "以及他們的用例。" |
|
} |
|
}, |
|
{ |
|
"ID": "192", |
|
"typeID": "TextArea", |
|
"zOrder": "191", |
|
"w": "603", |
|
"h": "172", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "782", |
|
"y": "1678", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "193", |
|
"typeID": "Label", |
|
"zOrder": "192", |
|
"measuredW": "68", |
|
"measuredH": "25", |
|
"x": "829", |
|
"y": "1695", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "實作時間" |
|
} |
|
}, |
|
{ |
|
"ID": "194", |
|
"typeID": "Icon", |
|
"zOrder": "193", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "795", |
|
"y": "1695", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "195", |
|
"typeID": "Label", |
|
"zOrder": "194", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "803", |
|
"y": "1697", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "9" |
|
} |
|
}, |
|
{ |
|
"ID": "196", |
|
"typeID": "Label", |
|
"zOrder": "195", |
|
"measuredW": "408", |
|
"measuredH": "25", |
|
"x": "829", |
|
"y": "1722", |
|
"properties": { |
|
"size": "17", |
|
"text": "使用您目前學到的所有內容建立一個簡單的應用程式。" |
|
} |
|
}, |
|
{ |
|
"ID": "197", |
|
"typeID": "Label", |
|
"zOrder": "196", |
|
"measuredW": "428", |
|
"measuredH": "25", |
|
"x": "829", |
|
"y": "1748", |
|
"properties": { |
|
"size": "17", |
|
"text": "它應該要有註冊、登錄和 CRUD。例如建立一個部落格。" |
|
} |
|
}, |
|
{ |
|
"ID": "198", |
|
"typeID": "Label", |
|
"zOrder": "197", |
|
"measuredW": "544", |
|
"measuredH": "25", |
|
"x": "829", |
|
"y": "1774", |
|
"properties": { |
|
"size": "17", |
|
"text": "這個部落格要讓任何人都可以註冊,有個公開的個人頁面可以新增、更新" |
|
} |
|
}, |
|
{ |
|
"ID": "199", |
|
"typeID": "Label", |
|
"zOrder": "198", |
|
"measuredW": "476", |
|
"measuredH": "25", |
|
"x": "829", |
|
"y": "1802", |
|
"properties": { |
|
"size": "17", |
|
"text": "和刪除文章,這個公開頁面還會顯示這些文章是由他們建立的。" |
|
} |
|
}, |
|
{ |
|
"ID": "201", |
|
"typeID": "TextArea", |
|
"zOrder": "199", |
|
"w": "585", |
|
"h": "108", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "142", |
|
"y": "1754", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "202", |
|
"typeID": "Label", |
|
"zOrder": "200", |
|
"measuredW": "340", |
|
"measuredH": "25", |
|
"x": "155", |
|
"y": "1767", |
|
"properties": { |
|
"size": "17", |
|
"text": "請確保你有撰寫測試、遵循標準和最佳實踐。" |
|
} |
|
}, |
|
{ |
|
"ID": "203", |
|
"typeID": "Label", |
|
"zOrder": "201", |
|
"measuredW": "552", |
|
"measuredH": "25", |
|
"x": "155", |
|
"y": "1793", |
|
"properties": { |
|
"size": "17", |
|
"text": "此外針對資料庫,使用資料前要新增索引(Index)、使用適當的儲存引擎" |
|
} |
|
}, |
|
{ |
|
"ID": "204", |
|
"typeID": "Label", |
|
"zOrder": "202", |
|
"measuredW": "495", |
|
"measuredH": "25", |
|
"x": "155", |
|
"y": "1820", |
|
"properties": { |
|
"size": "17", |
|
"text": "(Storage Engine),並確保分析查詢(analyze the queries)。" |
|
} |
|
}, |
|
{ |
|
"ID": "205", |
|
"typeID": "TextArea", |
|
"zOrder": "203", |
|
"w": "205", |
|
"h": "41", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "1135", |
|
"y": "361", |
|
"properties": { |
|
"color": "16770457", |
|
"textColor": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "206", |
|
"typeID": "Label", |
|
"zOrder": "204", |
|
"w": "175", |
|
"measuredW": "155", |
|
"measuredH": "25", |
|
"x": "1151", |
|
"y": "370", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "TypeScript(可選)" |
|
} |
|
}, |
|
{ |
|
"ID": "207", |
|
"typeID": "TextArea", |
|
"zOrder": "205", |
|
"w": "638", |
|
"h": "66", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "116", |
|
"y": "1878", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "208", |
|
"typeID": "Label", |
|
"zOrder": "206", |
|
"measuredW": "226", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "1899", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習一個框架(Framework)" |
|
} |
|
}, |
|
{ |
|
"ID": "209", |
|
"typeID": "Icon", |
|
"zOrder": "207", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "131", |
|
"y": "1899", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "210", |
|
"typeID": "Label", |
|
"zOrder": "208", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "136", |
|
"y": "1901", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "10" |
|
} |
|
}, |
|
{ |
|
"ID": "211", |
|
"typeID": "TextArea", |
|
"zOrder": "209", |
|
"w": "594", |
|
"h": "220", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "791", |
|
"y": "1871", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "212", |
|
"typeID": "Label", |
|
"zOrder": "210", |
|
"measuredW": "459", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "1884", |
|
"properties": { |
|
"size": "17", |
|
"text": "根據專案和所選語言的不同,你可能需要或可能不需要框架。" |
|
} |
|
}, |
|
{ |
|
"ID": "213", |
|
"typeID": "Label", |
|
"zOrder": "211", |
|
"measuredW": "187", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "1912", |
|
"properties": { |
|
"size": "17", |
|
"text": "這裡有幾種不同的選項:" |
|
} |
|
}, |
|
{ |
|
"ID": "214", |
|
"typeID": "Label", |
|
"zOrder": "212", |
|
"measuredW": "480", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "1952", |
|
"properties": { |
|
"size": "17", |
|
"text": "*針對 PHP* – &*{color:blue}Laravel{color}*& 或 &*{color:blue}Symfony{color}*&。微框架則是 Slim 或 Lumen" |
|
} |
|
}, |
|
{ |
|
"ID": "215", |
|
"typeID": "Label", |
|
"zOrder": "213", |
|
"measuredW": "279", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "1980", |
|
"properties": { |
|
"size": "17", |
|
"text": "*針對 Node.js* – &*{color:blue}Express.js{color}*&、Hapi.js" |
|
} |
|
}, |
|
{ |
|
"ID": "216", |
|
"typeID": "Label", |
|
"zOrder": "214", |
|
"measuredW": "309", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "2009", |
|
"properties": { |
|
"size": "17", |
|
"text": "*針對 Golang* – 我傾向不使用框架來撰寫" |
|
} |
|
}, |
|
{ |
|
"ID": "217", |
|
"typeID": "Label", |
|
"zOrder": "215", |
|
"measuredW": "408", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "2048", |
|
"properties": { |
|
"size": "17", |
|
"text": "對於其他語言,請搜尋並找出適合你所選語言的框架。" |
|
} |
|
}, |
|
{ |
|
"ID": "218", |
|
"typeID": "TextArea", |
|
"zOrder": "216", |
|
"w": "637", |
|
"h": "80", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "116", |
|
"y": "1953", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "219", |
|
"typeID": "Label", |
|
"zOrder": "217", |
|
"measuredW": "68", |
|
"measuredH": "25", |
|
"x": "162", |
|
"y": "1966", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "實作時間" |
|
} |
|
}, |
|
{ |
|
"ID": "220", |
|
"typeID": "Icon", |
|
"zOrder": "218", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "129", |
|
"y": "1965", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "221", |
|
"typeID": "Label", |
|
"zOrder": "219", |
|
"measuredW": "11", |
|
"measuredH": "21", |
|
"x": "135", |
|
"y": "1967", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "11" |
|
} |
|
}, |
|
{ |
|
"ID": "222", |
|
"typeID": "Label", |
|
"zOrder": "220", |
|
"measuredW": "374", |
|
"measuredH": "25", |
|
"x": "161", |
|
"y": "1994", |
|
"properties": { |
|
"size": "17", |
|
"text": "使用你選擇的框架寫一些你在 做的應用程式。" |
|
} |
|
}, |
|
{ |
|
"ID": "223", |
|
"typeID": "Icon", |
|
"zOrder": "221", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "385", |
|
"y": "1994", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "224", |
|
"typeID": "Label", |
|
"zOrder": "222", |
|
"measuredW": "8", |
|
"measuredH": "21", |
|
"x": "393", |
|
"y": "1996", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "9" |
|
} |
|
}, |
|
{ |
|
"ID": "225", |
|
"typeID": "TextArea", |
|
"zOrder": "223", |
|
"w": "638", |
|
"h": "179", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "116", |
|
"y": "2040", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "226", |
|
"typeID": "Label", |
|
"zOrder": "224", |
|
"measuredW": "170", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2058", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學一種 NoSQL 資料庫" |
|
} |
|
}, |
|
{ |
|
"ID": "227", |
|
"typeID": "Icon", |
|
"zOrder": "225", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "131", |
|
"y": "2058", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "228", |
|
"typeID": "Label", |
|
"zOrder": "226", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "136", |
|
"y": "2060", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "12" |
|
} |
|
}, |
|
{ |
|
"ID": "229", |
|
"typeID": "Label", |
|
"zOrder": "227", |
|
"w": "574", |
|
"measuredW": "289", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2144", |
|
"properties": { |
|
"size": "17", |
|
"text": "看看不同的選項,看看它們有何不同。" |
|
} |
|
}, |
|
{ |
|
"ID": "230", |
|
"typeID": "Label", |
|
"zOrder": "228", |
|
"w": "574", |
|
"measuredW": "306", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2170", |
|
"properties": { |
|
"size": "17", |
|
"text": "如果你必須選擇一個,選擇 *MongoDB*。" |
|
} |
|
}, |
|
{ |
|
"ID": "231", |
|
"typeID": "Label", |
|
"zOrder": "229", |
|
"w": "574", |
|
"measuredW": "425", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2091", |
|
"properties": { |
|
"size": "17", |
|
"text": "首先要瞭解它們是什麼、它們與關連式資料庫有何不同、" |
|
} |
|
}, |
|
{ |
|
"ID": "232", |
|
"typeID": "Label", |
|
"zOrder": "230", |
|
"w": "574", |
|
"measuredW": "357", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2117", |
|
"properties": { |
|
"size": "17", |
|
"text": "以及為什麼需要它們。這裡有幾種不同的選項。" |
|
} |
|
}, |
|
{ |
|
"ID": "233", |
|
"typeID": "TextInput", |
|
"zOrder": "231", |
|
"w": "185", |
|
"measuredW": "103", |
|
"measuredH": "32", |
|
"x": "1023", |
|
"y": "2164", |
|
"properties": { |
|
"align": "center", |
|
"color": "16777215", |
|
"size": "18", |
|
"text": "Cassandra" |
|
} |
|
}, |
|
{ |
|
"ID": "234", |
|
"typeID": "TextInput", |
|
"zOrder": "232", |
|
"w": "185", |
|
"measuredW": "97", |
|
"measuredH": "32", |
|
"x": "1023", |
|
"y": "2123", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "MongoDB" |
|
} |
|
}, |
|
{ |
|
"ID": "235", |
|
"typeID": "TextInput", |
|
"zOrder": "233", |
|
"w": "157", |
|
"measuredW": "102", |
|
"measuredH": "32", |
|
"x": "1215", |
|
"y": "2123", |
|
"properties": { |
|
"align": "center", |
|
"color": "16777215", |
|
"size": "18", |
|
"text": "RethinkDB" |
|
} |
|
}, |
|
{ |
|
"ID": "236", |
|
"typeID": "TextInput", |
|
"zOrder": "234", |
|
"w": "157", |
|
"measuredW": "107", |
|
"measuredH": "32", |
|
"x": "1215", |
|
"y": "2163", |
|
"properties": { |
|
"align": "center", |
|
"color": "16777215", |
|
"size": "18", |
|
"text": "Couchbase" |
|
} |
|
}, |
|
{ |
|
"ID": "237", |
|
"typeID": "TextArea", |
|
"zOrder": "235", |
|
"w": "638", |
|
"h": "86", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "750", |
|
"y": "2246", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "238", |
|
"typeID": "Label", |
|
"zOrder": "236", |
|
"w": "142", |
|
"measuredW": "134", |
|
"measuredH": "25", |
|
"x": "799", |
|
"y": "2263", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "快取(Caching)" |
|
} |
|
}, |
|
{ |
|
"ID": "239", |
|
"typeID": "Icon", |
|
"zOrder": "237", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "765", |
|
"y": "2263", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "240", |
|
"typeID": "Label", |
|
"zOrder": "238", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "770", |
|
"y": "2265", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "13" |
|
} |
|
}, |
|
{ |
|
"ID": "241", |
|
"typeID": "Label", |
|
"zOrder": "239", |
|
"w": "574", |
|
"measuredW": "451", |
|
"measuredH": "25", |
|
"x": "799", |
|
"y": "2290", |
|
"properties": { |
|
"size": "17", |
|
"text": "瞭解如何使用 Redis 或 Memcached 實作應用程式級的快取" |
|
} |
|
}, |
|
{ |
|
"ID": "242", |
|
"typeID": "TextInput", |
|
"zOrder": "240", |
|
"w": "183", |
|
"measuredW": "116", |
|
"measuredH": "32", |
|
"x": "472", |
|
"y": "2255", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Memcached" |
|
} |
|
}, |
|
{ |
|
"ID": "243", |
|
"typeID": "TextInput", |
|
"zOrder": "241", |
|
"w": "183", |
|
"measuredW": "60", |
|
"measuredH": "32", |
|
"x": "472", |
|
"y": "2291", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Redis" |
|
} |
|
}, |
|
{ |
|
"ID": "244", |
|
"typeID": "Label", |
|
"zOrder": "242", |
|
"w": "193", |
|
"measuredW": "118", |
|
"measuredH": "25", |
|
"x": "809", |
|
"y": "2120", |
|
"properties": { |
|
"size": "17", |
|
"text": "先學 MongoDB" |
|
} |
|
}, |
|
{ |
|
"ID": "245", |
|
"typeID": "Label", |
|
"zOrder": "243", |
|
"w": "200", |
|
"measuredW": "102", |
|
"measuredH": "25", |
|
"x": "809", |
|
"y": "2144", |
|
"properties": { |
|
"size": "17", |
|
"text": "但一定要看看" |
|
} |
|
}, |
|
{ |
|
"ID": "246", |
|
"typeID": "Label", |
|
"zOrder": "244", |
|
"w": "190", |
|
"measuredW": "170", |
|
"measuredH": "25", |
|
"x": "809", |
|
"y": "2169", |
|
"properties": { |
|
"size": "17", |
|
"text": "它與其他選項的不同處" |
|
} |
|
}, |
|
{ |
|
"ID": "247", |
|
"typeID": "TextArea", |
|
"zOrder": "245", |
|
"w": "638", |
|
"h": "142", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "116", |
|
"y": "2605", |
|
"properties": { |
|
"color": "16776960", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "248", |
|
"typeID": "Label", |
|
"zOrder": "246", |
|
"w": "247", |
|
"measuredW": "243", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2622", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "訊息代理*(Message Broker)" |
|
} |
|
}, |
|
{ |
|
"ID": "249", |
|
"typeID": "Icon", |
|
"zOrder": "247", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "131", |
|
"y": "2622", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "250", |
|
"typeID": "Label", |
|
"zOrder": "248", |
|
"w": "14", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "136", |
|
"y": "2624", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "16" |
|
} |
|
}, |
|
{ |
|
"ID": "251", |
|
"typeID": "Label", |
|
"zOrder": "249", |
|
"w": "574", |
|
"measuredW": "457", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2651", |
|
"properties": { |
|
"size": "17", |
|
"text": "學習 Message Broker,瞭解「為什麼」,並選擇一個使用。" |
|
} |
|
}, |
|
{ |
|
"ID": "252", |
|
"typeID": "TextArea", |
|
"zOrder": "250", |
|
"w": "299", |
|
"h": "109", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "131", |
|
"y": "2237", |
|
"properties": { |
|
"color": "16770457" |
|
} |
|
}, |
|
{ |
|
"ID": "253", |
|
"typeID": "Label", |
|
"zOrder": "251", |
|
"w": "258", |
|
"measuredW": "119", |
|
"measuredH": "25", |
|
"x": "148", |
|
"y": "2253", |
|
"properties": { |
|
"size": "17", |
|
"text": "一旦你學會了," |
|
} |
|
}, |
|
{ |
|
"ID": "254", |
|
"typeID": "Label", |
|
"zOrder": "252", |
|
"w": "258", |
|
"measuredW": "204", |
|
"measuredH": "25", |
|
"x": "148", |
|
"y": "2277", |
|
"properties": { |
|
"size": "17", |
|
"text": "在步驟 中的應用程式裡" |
|
} |
|
}, |
|
{ |
|
"ID": "255", |
|
"typeID": "Label", |
|
"zOrder": "253", |
|
"w": "258", |
|
"measuredW": "102", |
|
"measuredH": "25", |
|
"x": "147", |
|
"y": "2303", |
|
"properties": { |
|
"size": "17", |
|
"text": "實作快取策略" |
|
} |
|
}, |
|
{ |
|
"ID": "256", |
|
"typeID": "Label", |
|
"zOrder": "254", |
|
"w": "574", |
|
"measuredW": "401", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2679", |
|
"properties": { |
|
"size": "17", |
|
"text": "雖然有很多選項,但我會選擇 *RabbitMQ* 或 *Kafka*。" |
|
} |
|
}, |
|
{ |
|
"ID": "257", |
|
"typeID": "TextInput", |
|
"zOrder": "255", |
|
"w": "183", |
|
"measuredW": "98", |
|
"measuredH": "32", |
|
"x": "886", |
|
"y": "2646", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "RabbitMQ" |
|
} |
|
}, |
|
{ |
|
"ID": "258", |
|
"typeID": "TextInput", |
|
"zOrder": "256", |
|
"w": "183", |
|
"measuredW": "63", |
|
"measuredH": "32", |
|
"x": "886", |
|
"y": "2682", |
|
"properties": { |
|
"align": "center", |
|
"color": "16770457", |
|
"size": "18", |
|
"text": "Kafka" |
|
} |
|
}, |
|
{ |
|
"ID": "259", |
|
"typeID": "Label", |
|
"zOrder": "257", |
|
"w": "574", |
|
"measuredW": "306", |
|
"measuredH": "25", |
|
"x": "165", |
|
"y": "2707", |
|
"properties": { |
|
"size": "17", |
|
"text": "如果你想要選擇一個,先學 RabbitMQ。" |
|
} |
|
}, |
|
{ |
|
"ID": "260", |
|
"typeID": "TextArea", |
|
"zOrder": "258", |
|
"w": "638", |
|
"h": "143", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "116", |
|
"y": "2755", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "261", |
|
"typeID": "Label", |
|
"zOrder": "259", |
|
"w": "297", |
|
"measuredW": "287", |
|
"measuredH": "25", |
|
"x": "164", |
|
"y": "2772", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習一個搜尋引擎(Search Engine)" |
|
} |
|
}, |
|
{ |
|
"ID": "262", |
|
"typeID": "Icon", |
|
"zOrder": "260", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "131", |
|
"y": "2772", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "263", |
|
"typeID": "Label", |
|
"zOrder": "261", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "136", |
|
"y": "2774", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "17" |
|
} |
|
}, |
|
{ |
|
"ID": "264", |
|
"typeID": "TextInput", |
|
"zOrder": "262", |
|
"w": "183", |
|
"measuredW": "128", |
|
"measuredH": "32", |
|
"x": "886", |
|
"y": "2771", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "ElasticSearch" |
|
} |
|
}, |
|
{ |
|
"ID": "265", |
|
"typeID": "TextInput", |
|
"zOrder": "263", |
|
"w": "183", |
|
"measuredW": "47", |
|
"measuredH": "32", |
|
"x": "886", |
|
"y": "2807", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Solr" |
|
} |
|
}, |
|
{ |
|
"ID": "266", |
|
"typeID": "TextInput", |
|
"zOrder": "264", |
|
"w": "183", |
|
"measuredW": "70", |
|
"measuredH": "32", |
|
"x": "888", |
|
"y": "2843", |
|
"properties": { |
|
"align": "center", |
|
"color": "16770457", |
|
"size": "18", |
|
"text": "Sphinx" |
|
} |
|
}, |
|
{ |
|
"ID": "267", |
|
"typeID": "Label", |
|
"zOrder": "265", |
|
"w": "574", |
|
"measuredW": "442", |
|
"measuredH": "25", |
|
"x": "164", |
|
"y": "2802", |
|
"properties": { |
|
"size": "17", |
|
"text": "隨著應用程式的增長,在你資料庫的簡單查詢將不會停止," |
|
} |
|
}, |
|
{ |
|
"ID": "268", |
|
"typeID": "Label", |
|
"zOrder": "266", |
|
"w": "574", |
|
"measuredW": "221", |
|
"measuredH": "25", |
|
"x": "164", |
|
"y": "2827", |
|
"properties": { |
|
"size": "17", |
|
"text": "你將不得不求助於搜尋引擎。" |
|
} |
|
}, |
|
{ |
|
"ID": "269", |
|
"typeID": "Label", |
|
"zOrder": "267", |
|
"w": "574", |
|
"measuredW": "323", |
|
"measuredH": "25", |
|
"x": "164", |
|
"y": "2854", |
|
"properties": { |
|
"size": "17", |
|
"text": "這裡有許多選項,每個都有各自的不同處。" |
|
} |
|
}, |
|
{ |
|
"ID": "270", |
|
"typeID": "TextArea", |
|
"zOrder": "268", |
|
"w": "638", |
|
"h": "113", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "753", |
|
"y": "2340", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "271", |
|
"typeID": "Label", |
|
"zOrder": "269", |
|
"w": "203", |
|
"measuredW": "137", |
|
"measuredH": "25", |
|
"x": "802", |
|
"y": "2357", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "建立 RESTful API" |
|
} |
|
}, |
|
{ |
|
"ID": "272", |
|
"typeID": "Icon", |
|
"zOrder": "270", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "768", |
|
"y": "2357", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "273", |
|
"typeID": "Label", |
|
"zOrder": "271", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "773", |
|
"y": "2359", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "14" |
|
} |
|
}, |
|
{ |
|
"ID": "274", |
|
"typeID": "Label", |
|
"zOrder": "272", |
|
"w": "574", |
|
"measuredW": "326", |
|
"measuredH": "25", |
|
"x": "803", |
|
"y": "2386", |
|
"properties": { |
|
"size": "17", |
|
"text": "瞭解 REST 並學習如何製作 RESTful API," |
|
} |
|
}, |
|
{ |
|
"ID": "275", |
|
"typeID": "Label", |
|
"zOrder": "273", |
|
"w": "574", |
|
"measuredW": "472", |
|
"measuredH": "25", |
|
"x": "803", |
|
"y": "2410", |
|
"properties": { |
|
"size": "17", |
|
"text": "並確保從 *Roy Fielding* 的原始論文中閱讀有關 REST 的部分。" |
|
} |
|
}, |
|
{ |
|
"ID": "276", |
|
"typeID": "TextArea", |
|
"zOrder": "274", |
|
"w": "638", |
|
"h": "87", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "754", |
|
"y": "2460", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "277", |
|
"typeID": "Label", |
|
"zOrder": "275", |
|
"w": "568", |
|
"measuredW": "413", |
|
"measuredH": "25", |
|
"x": "805", |
|
"y": "2477", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "認證(Authentication)、授權(Authorization)方法" |
|
} |
|
}, |
|
{ |
|
"ID": "278", |
|
"typeID": "Icon", |
|
"zOrder": "276", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "771", |
|
"y": "2477", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "279", |
|
"typeID": "Label", |
|
"zOrder": "277", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "776", |
|
"y": "2479", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "15" |
|
} |
|
}, |
|
{ |
|
"ID": "280", |
|
"typeID": "Label", |
|
"zOrder": "278", |
|
"w": "495", |
|
"measuredW": "306", |
|
"measuredH": "25", |
|
"x": "804", |
|
"y": "2508", |
|
"properties": { |
|
"size": "17", |
|
"text": "瞭解他們之間的差異,以及如何實作它們" |
|
} |
|
}, |
|
{ |
|
"ID": "281", |
|
"typeID": "TextInput", |
|
"zOrder": "279", |
|
"w": "210", |
|
"measuredW": "66", |
|
"measuredH": "32", |
|
"x": "386", |
|
"y": "2400", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "OAuth" |
|
} |
|
}, |
|
{ |
|
"ID": "282", |
|
"typeID": "TextInput", |
|
"zOrder": "280", |
|
"w": "210", |
|
"measuredW": "187", |
|
"measuredH": "32", |
|
"x": "386", |
|
"y": "2436", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Basic Authentication" |
|
} |
|
}, |
|
{ |
|
"ID": "283", |
|
"typeID": "TextInput", |
|
"zOrder": "281", |
|
"w": "210", |
|
"measuredW": "192", |
|
"measuredH": "32", |
|
"x": "386", |
|
"y": "2472", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Token Authentication" |
|
} |
|
}, |
|
{ |
|
"ID": "284", |
|
"typeID": "TextInput", |
|
"zOrder": "282", |
|
"w": "210", |
|
"measuredW": "51", |
|
"measuredH": "32", |
|
"x": "386", |
|
"y": "2508", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "JWT" |
|
} |
|
}, |
|
{ |
|
"ID": "285", |
|
"typeID": "TextInput", |
|
"zOrder": "283", |
|
"w": "210", |
|
"measuredW": "75", |
|
"measuredH": "32", |
|
"x": "387", |
|
"y": "2545", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "OpenID" |
|
} |
|
}, |
|
{ |
|
"ID": "286", |
|
"typeID": "TextArea", |
|
"zOrder": "284", |
|
"w": "638", |
|
"h": "60", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "738", |
|
"y": "2914", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "287", |
|
"typeID": "Label", |
|
"zOrder": "285", |
|
"w": "280", |
|
"measuredW": "165", |
|
"measuredH": "25", |
|
"x": "788", |
|
"y": "2930", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習如何使用 Docker" |
|
} |
|
}, |
|
{ |
|
"ID": "288", |
|
"typeID": "Icon", |
|
"zOrder": "286", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "755", |
|
"y": "2929", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "289", |
|
"typeID": "Label", |
|
"zOrder": "287", |
|
"w": "14", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "760", |
|
"y": "2931", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "18" |
|
} |
|
}, |
|
{ |
|
"ID": "290", |
|
"typeID": "TextArea", |
|
"zOrder": "288", |
|
"w": "638", |
|
"h": "112", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "738", |
|
"y": "3170", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "291", |
|
"typeID": "Label", |
|
"zOrder": "289", |
|
"w": "153", |
|
"measuredW": "112", |
|
"measuredH": "25", |
|
"x": "788", |
|
"y": "3185", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習 GraphQL" |
|
} |
|
}, |
|
{ |
|
"ID": "292", |
|
"typeID": "Icon", |
|
"zOrder": "290", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "755", |
|
"y": "3184", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "293", |
|
"typeID": "Label", |
|
"zOrder": "291", |
|
"w": "14", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "760", |
|
"y": "3186", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "21" |
|
} |
|
}, |
|
{ |
|
"ID": "294", |
|
"typeID": "Label", |
|
"zOrder": "292", |
|
"w": "574", |
|
"measuredW": "323", |
|
"measuredH": "25", |
|
"x": "788", |
|
"y": "3213", |
|
"properties": { |
|
"size": "17", |
|
"text": "雖然這不是必需的,但請隨時抽空看看它," |
|
} |
|
}, |
|
{ |
|
"ID": "295", |
|
"typeID": "Label", |
|
"zOrder": "293", |
|
"w": "574", |
|
"measuredW": "338", |
|
"measuredH": "25", |
|
"x": "788", |
|
"y": "3240", |
|
"properties": { |
|
"size": "17", |
|
"text": "看看它是什麼,為什麼他們叫它新的 REST。" |
|
} |
|
}, |
|
{ |
|
"ID": "296", |
|
"typeID": "TextArea", |
|
"zOrder": "294", |
|
"w": "638", |
|
"h": "114", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "738", |
|
"y": "2981", |
|
"properties": { |
|
"color": "16776960", |
|
"text": "" |
|
} |
|
}, |
|
{ |
|
"ID": "297", |
|
"typeID": "Label", |
|
"zOrder": "295", |
|
"w": "298", |
|
"measuredW": "280", |
|
"measuredH": "25", |
|
"x": "789", |
|
"y": "2998", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "對網頁伺服器(Web Server)的瞭解" |
|
} |
|
}, |
|
{ |
|
"ID": "298", |
|
"typeID": "Icon", |
|
"zOrder": "296", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "755", |
|
"y": "2996", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "299", |
|
"typeID": "Label", |
|
"zOrder": "297", |
|
"w": "14", |
|
"measuredW": "13", |
|
"measuredH": "21", |
|
"x": "760", |
|
"y": "2998", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "19" |
|
} |
|
}, |
|
{ |
|
"ID": "300", |
|
"typeID": "Label", |
|
"zOrder": "298", |
|
"w": "566", |
|
"measuredW": "357", |
|
"measuredH": "25", |
|
"x": "789", |
|
"y": "3026", |
|
"properties": { |
|
"size": "17", |
|
"text": "這裡有幾個不同的選項,看看這些不同的選項," |
|
} |
|
}, |
|
{ |
|
"ID": "301", |
|
"typeID": "Label", |
|
"zOrder": "299", |
|
"w": "566", |
|
"measuredW": "187", |
|
"measuredH": "25", |
|
"x": "789", |
|
"y": "3053", |
|
"properties": { |
|
"size": "17", |
|
"text": "瞭解它們的差異和局限。" |
|
} |
|
}, |
|
{ |
|
"ID": "302", |
|
"typeID": "TextInput", |
|
"zOrder": "300", |
|
"w": "183", |
|
"measuredW": "76", |
|
"measuredH": "32", |
|
"x": "403", |
|
"y": "2971", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Apache" |
|
} |
|
}, |
|
{ |
|
"ID": "303", |
|
"typeID": "TextInput", |
|
"zOrder": "301", |
|
"w": "183", |
|
"measuredW": "61", |
|
"measuredH": "32", |
|
"x": "403", |
|
"y": "3007", |
|
"properties": { |
|
"align": "center", |
|
"color": "16776960", |
|
"size": "18", |
|
"text": "Nginx" |
|
} |
|
}, |
|
{ |
|
"ID": "304", |
|
"typeID": "TextInput", |
|
"zOrder": "302", |
|
"w": "183", |
|
"measuredW": "67", |
|
"measuredH": "32", |
|
"x": "405", |
|
"y": "3043", |
|
"properties": { |
|
"align": "center", |
|
"color": "16770457", |
|
"size": "18", |
|
"text": "Caddy" |
|
} |
|
}, |
|
{ |
|
"ID": "305", |
|
"typeID": "TextInput", |
|
"zOrder": "303", |
|
"w": "183", |
|
"measuredW": "67", |
|
"measuredH": "32", |
|
"x": "405", |
|
"y": "3080", |
|
"properties": { |
|
"align": "center", |
|
"color": "16770457", |
|
"size": "18", |
|
"text": "MS IIS" |
|
} |
|
}, |
|
{ |
|
"ID": "306", |
|
"typeID": "TextArea", |
|
"zOrder": "304", |
|
"w": "638", |
|
"h": "60", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "739", |
|
"y": "3102", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "307", |
|
"typeID": "Label", |
|
"zOrder": "305", |
|
"w": "282", |
|
"measuredW": "205", |
|
"measuredH": "25", |
|
"x": "787", |
|
"y": "3119", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "學習如何使用 Web Socket" |
|
} |
|
}, |
|
{ |
|
"ID": "308", |
|
"typeID": "Icon", |
|
"zOrder": "306", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "754", |
|
"y": "3118", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "309", |
|
"typeID": "Label", |
|
"zOrder": "307", |
|
"w": "21", |
|
"measuredW": "16", |
|
"measuredH": "21", |
|
"x": "758", |
|
"y": "3120", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "20" |
|
} |
|
}, |
|
{ |
|
"ID": "310", |
|
"typeID": "TextArea", |
|
"zOrder": "308", |
|
"w": "638", |
|
"h": "112", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "216", |
|
"y": "3313", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "311", |
|
"typeID": "Label", |
|
"zOrder": "309", |
|
"w": "295", |
|
"measuredW": "284", |
|
"measuredH": "25", |
|
"x": "266", |
|
"y": "3328", |
|
"properties": { |
|
"bold": "true", |
|
"size": "17", |
|
"text": "研究圖片資料庫(Graph Database)" |
|
} |
|
}, |
|
{ |
|
"ID": "312", |
|
"typeID": "Icon", |
|
"zOrder": "310", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "233", |
|
"y": "3327", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "313", |
|
"typeID": "Label", |
|
"zOrder": "311", |
|
"w": "29", |
|
"measuredW": "16", |
|
"measuredH": "21", |
|
"x": "237", |
|
"y": "3329", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "22" |
|
} |
|
}, |
|
{ |
|
"ID": "314", |
|
"typeID": "Label", |
|
"zOrder": "312", |
|
"w": "574", |
|
"measuredW": "153", |
|
"measuredH": "25", |
|
"x": "266", |
|
"y": "3356", |
|
"properties": { |
|
"size": "17", |
|
"text": "這同樣不是必要的," |
|
} |
|
}, |
|
{ |
|
"ID": "315", |
|
"typeID": "Label", |
|
"zOrder": "313", |
|
"w": "574", |
|
"measuredW": "340", |
|
"measuredH": "25", |
|
"x": "266", |
|
"y": "3383", |
|
"properties": { |
|
"size": "17", |
|
"text": "但你應該要有一點瞭解它們提供了什麼功能。" |
|
} |
|
}, |
|
{ |
|
"ID": "316", |
|
"typeID": "Arrow", |
|
"zOrder": "314", |
|
"w": "15", |
|
"h": "147", |
|
"measuredW": "150", |
|
"measuredH": "100", |
|
"x": "537", |
|
"y": "3448", |
|
"properties": { |
|
"color": "2848996", |
|
"curvature": "0", |
|
"direction": "bottom", |
|
"leftArrow": "false", |
|
"p0": { |
|
"x": 14, |
|
"y": 0 |
|
}, |
|
"p1": { |
|
"x": 0.5864611260053622, |
|
"y": 0.008042895442359291 |
|
}, |
|
"p2": { |
|
"x": 0, |
|
"y": 146 |
|
}, |
|
"rightArrow": "false", |
|
"shape": "bezier" |
|
} |
|
}, |
|
{ |
|
"ID": "317", |
|
"typeID": "Label", |
|
"zOrder": "315", |
|
"measuredW": "96", |
|
"measuredH": "32", |
|
"x": "489", |
|
"y": "3618", |
|
"properties": { |
|
"bold": "true", |
|
"size": "24", |
|
"text": "繼續探索" |
|
} |
|
}, |
|
{ |
|
"ID": "318", |
|
"typeID": "TextArea", |
|
"zOrder": "316", |
|
"w": "637", |
|
"h": "106", |
|
"measuredW": "200", |
|
"measuredH": "140", |
|
"x": "216", |
|
"y": "3436", |
|
"properties": { |
|
"color": "16776960" |
|
} |
|
}, |
|
{ |
|
"ID": "319", |
|
"typeID": "Icon", |
|
"zOrder": "317", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "230", |
|
"y": "3450", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "320", |
|
"typeID": "Label", |
|
"zOrder": "318", |
|
"w": "20", |
|
"measuredW": "17", |
|
"measuredH": "22", |
|
"x": "234", |
|
"y": "3452", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"size": "14", |
|
"text": "23" |
|
} |
|
}, |
|
{ |
|
"ID": "321", |
|
"typeID": "Label", |
|
"zOrder": "319", |
|
"w": "391", |
|
"measuredW": "198", |
|
"measuredH": "26", |
|
"x": "261", |
|
"y": "3449", |
|
"properties": { |
|
"bold": "true", |
|
"size": "18", |
|
"text": "所有上面沒有提到的事情" |
|
} |
|
}, |
|
{ |
|
"ID": "322", |
|
"typeID": "Label", |
|
"zOrder": "320", |
|
"measuredW": "419", |
|
"measuredH": "25", |
|
"x": "262", |
|
"y": "3476", |
|
"properties": { |
|
"size": "17", |
|
"text": "效能分析(Profiling)、靜態分析(Static Analysis)、" |
|
} |
|
}, |
|
{ |
|
"ID": "323", |
|
"typeID": "Icon", |
|
"zOrder": "321", |
|
"measuredW": "24", |
|
"measuredH": "24", |
|
"x": "202", |
|
"y": "2277", |
|
"properties": { |
|
"color": "10027263", |
|
"icon": { |
|
"ID": "circle", |
|
"size": "small" |
|
} |
|
} |
|
}, |
|
{ |
|
"ID": "324", |
|
"typeID": "Label", |
|
"zOrder": "322", |
|
"measuredW": "11", |
|
"measuredH": "21", |
|
"x": "208", |
|
"y": "2279", |
|
"properties": { |
|
"bold": "true", |
|
"color": "16777215", |
|
"text": "11" |
|
} |
|
}, |
|
{ |
|
"ID": "325", |
|
"typeID": "Label", |
|
"zOrder": "323", |
|
"measuredW": "440", |
|
"measuredH": "25", |
|
"x": "994", |
|
"y": "70", |
|
"properties": { |
|
"bold": "true", |
|
"color": "10027263", |
|
"size": "17", |
|
"text": "goodjack/developer-roadmap-chinese(台灣正體中文)" |
|
} |
|
}, |
|
{ |
|
"ID": "327", |
|
"typeID": "Label", |
|
"zOrder": "324", |
|
"measuredW": "245", |
|
"measuredH": "25", |
|
"x": "995", |
|
"y": "122", |
|
"properties": { |
|
"bold": "true", |
|
"color": "10027263", |
|
"size": "17", |
|
"text": "littlegoodjack(台灣正體中文)" |
|
} |
|
}, |
|
{ |
|
"ID": "328", |
|
"typeID": "Paragraph", |
|
"zOrder": "325", |
|
"w": "144", |
|
"h": "19", |
|
"measuredW": "275", |
|
"measuredH": "80", |
|
"x": "604", |
|
"y": "2722", |
|
"properties": { |
|
"text": "*譯註:又譯為訊息仲介" |
|
} |
|
}, |
|
{ |
|
"ID": "329", |
|
"typeID": "Label", |
|
"zOrder": "326", |
|
"measuredW": "541", |
|
"measuredH": "25", |
|
"x": "262", |
|
"y": "3502", |
|
"properties": { |
|
"size": "17", |
|
"text": "、領域驅動設計(DDD)、簡單物件存取協定(SOAP)。去弄懂它吧!" |
|
} |
|
} |
|
] |
|
}, |
|
"mockupH": "3610", |
|
"mockupW": "1326", |
|
"measuredW": "1434", |
|
"measuredH": "3650", |
|
"version": "1.0" |
|
} |
|
} |