Roadmap to becoming a developer in 2022
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

{
"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"
}
}