From 36d299b0b0acb262e0d531fc8836750b7b89cd67 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 15 Aug 2022 10:16:41 +0400 Subject: [PATCH] Make Java roadmap interactive --- content/roadmaps.json | 1 - content/roadmaps/109-java/landscape.md | 5 - content/roadmaps/109-java/meta.json | 1 - lib/roadmap.ts | 2 +- public/project/java.json | 5293 ++++++++++++++---------- public/sitemap.xml | 4 +- 6 files changed, 3152 insertions(+), 2154 deletions(-) delete mode 100644 content/roadmaps/109-java/landscape.md diff --git a/content/roadmaps.json b/content/roadmaps.json index e4a5880f3..0807210a3 100644 --- a/content/roadmaps.json +++ b/content/roadmaps.json @@ -464,7 +464,6 @@ "isUpcoming": false, "featured": true, "jsonUrl": "/project/java.json", - "landingPath": "/roadmaps/109-java/landscape.md", "resourcesPath": "/roadmaps/109-java/resources.md", "versions": [ "latest", diff --git a/content/roadmaps/109-java/landscape.md b/content/roadmaps/109-java/landscape.md deleted file mode 100644 index 491967e16..000000000 --- a/content/roadmaps/109-java/landscape.md +++ /dev/null @@ -1,5 +0,0 @@ -The intent of this guide is to give you an idea about the Java ecosystem and to help guide your learning if you are confused. We have another roadmap on the [Backend Development](/backend) that focuses on the backend development if you are interested in that. - -Also, please note that the list below is exhaustive, and the items are listed in no particular order. You don't need to learn everything listed in the picture, however knowing what you don't know is as important as knowing things. - -[![](/roadmaps/java.png)](/roadmaps/java.png) diff --git a/content/roadmaps/109-java/meta.json b/content/roadmaps/109-java/meta.json index d646b8f09..63e785ca8 100644 --- a/content/roadmaps/109-java/meta.json +++ b/content/roadmaps/109-java/meta.json @@ -35,7 +35,6 @@ "isUpcoming": false, "featured": true, "jsonUrl": "/project/java.json", - "landingPath": "./landscape.md", "resourcesPath": "./resources.md", "versions": [ "latest", diff --git a/lib/roadmap.ts b/lib/roadmap.ts index f3237ce18..d3e640536 100644 --- a/lib/roadmap.ts +++ b/lib/roadmap.ts @@ -43,5 +43,5 @@ export function getFeaturedRoadmaps(): RoadmapType[] { } export function isInteractiveRoadmap(id: string): boolean { - return ['frontend', 'backend', 'devops', 'react', 'vue', 'python'].includes(id); + return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java'].includes(id); } diff --git a/public/project/java.json b/public/project/java.json index d50010202..2cf1a7714 100644 --- a/public/project/java.json +++ b/public/project/java.json @@ -3,103 +3,104 @@ "controls": { "control": [ { - "ID": "1", + "ID": "3439", "typeID": "Arrow", - "zOrder": "39", - "w": "13", - "h": "63", + "zOrder": "1", + "w": "29", + "h": "56", "measuredW": "150", "measuredH": "100", - "x": "457", - "y": "283", + "x": "396", + "y": "165", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", "color": "10027263", "p0": { - "x": 4, + "x": 1, "y": 0 }, "p1": { - "x": 0.48693312836279784, - "y": 0.16641045349730976 + "x": 0.5189460476787955, + "y": -0.17340025094102887 }, "p2": { - "x": 0, - "y": 63 - } + "x": 29, + "y": 56 + }, + "stroke": "dotted" } }, { - "ID": "3", + "ID": "3440", "typeID": "Arrow", - "zOrder": "40", - "w": "87", - "h": "177", + "zOrder": "2", + "w": "164", + "h": "80", "measuredW": "150", "measuredH": "100", - "x": "479", - "y": "467", + "x": "370", + "y": "1160", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", + "stroke": "dotted", "color": "10027263", "p0": { - "x": 0, - "y": 0 + "x": 163.54590590319128, + "y": 0.21503750628403395 }, "p1": { - "x": 0.5656248906310154, - "y": 0.32313022783746903 + "x": 0.3415936949541605, + "y": 0.2360486189239869 }, "p2": { - "x": 49, - "y": 177 + "x": -0.4888832845319939, + "y": 78.4480648241979 } } }, { - "ID": "4", + "ID": "3441", "typeID": "Arrow", - "zOrder": "41", - "w": "98", - "h": "47", + "zOrder": "3", + "w": "1", + "h": "153", "measuredW": "150", "measuredH": "100", - "x": "601", - "y": "406", + "x": "614", + "y": "1148", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", "color": "10027263", "p0": { - "x": 97.5, + "x": 1, "y": -0.5 }, "p1": { - "x": 0.5537800308573949, - "y": 0.044853427374917355 + "x": 0.5467472449342342, + "y": -0.006043370067543646 }, "p2": { - "x": 0, - "y": 46 + "x": 1, + "y": 152.12975218407814 } } }, { - "ID": "5", + "ID": "3442", "typeID": "Arrow", - "zOrder": "42", - "w": "120", - "h": "44", + "zOrder": "4", + "w": "1", + "h": "62", "measuredW": "150", "measuredH": "100", - "x": "597", - "y": "465", + "x": "617", + "y": "1081", "properties": { "curvature": "0", "leftArrow": "false", @@ -107,29 +108,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 120, - "y": 44 + "x": 0, + "y": -0.5 }, "p1": { - "x": 0.5846756207563067, - "y": -0.036972790801407494 + "x": 0.5467472449342341, + "y": -0.006043370067543647 }, "p2": { "x": 0, - "y": 0 + "y": 61.5 } } }, { - "ID": "6", + "ID": "3443", "typeID": "Arrow", - "zOrder": "43", - "w": "107", - "h": "51", + "zOrder": "5", + "w": "101", + "h": "1", "measuredW": "150", "measuredH": "100", - "x": "276", - "y": "405", + "x": "691", + "y": "1148", "properties": { "curvature": "0", "leftArrow": "false", @@ -137,59 +138,58 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 107, - "y": 51 + "x": 100.54590590319128, + "y": 0.21503750628403395 }, "p1": { - "x": 0.5245584633234497, - "y": 0.05852778135877272 + "x": 0.5467472449342339, + "y": -0.006043370067543644 }, "p2": { - "x": 0, - "y": 0 + "x": -0.34456558612976096, + "y": 0.21503750628403395 } } }, { - "ID": "7", + "ID": "3444", "typeID": "Arrow", - "zOrder": "44", - "w": "108", - "h": "44", + "zOrder": "6", + "w": "190", + "h": "101", "measuredW": "150", "measuredH": "100", - "x": "276", - "y": "462", + "x": "349", + "y": "1050", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", "color": "10027263", "p0": { - "x": 108, - "y": 0 + "x": 189.60923090179483, + "y": 100.34652634056556 }, "p1": { - "x": 0.5656811947576956, - "y": -0.05547089302042055 + "x": 0.49438202247191004, + "y": 0.14606741573033685 }, "p2": { - "x": 0, - "y": 44 + "x": -0.5, + "y": 0 } } }, { - "ID": "8", + "ID": "3445", "typeID": "Arrow", - "zOrder": "45", - "w": "115", - "h": "5", + "zOrder": "7", + "w": "102", + "h": "97", "measuredW": "150", "measuredH": "100", - "x": "274", - "y": "457", + "x": "234", + "y": "1049", "properties": { "curvature": "0", "leftArrow": "false", @@ -197,29 +197,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 115, - "y": 1 + "x": 102, + "y": 0 }, "p1": { - "x": 0.5205160087037612, - "y": 0.03901150139881877 + "x": 0.555359394703657, + "y": 0.21664564943253461 }, "p2": { "x": 0, - "y": 0 + "y": 97 } } }, { - "ID": "9", + "ID": "3446", "typeID": "Arrow", - "zOrder": "46", - "w": "123", - "h": "3", + "zOrder": "8", + "w": "89", + "h": "57", "measuredW": "150", "measuredH": "100", - "x": "577", - "y": "458", + "x": "234", + "y": "1046", "properties": { "curvature": "0", "leftArrow": "false", @@ -227,323 +227,146 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 122.5, + "x": 89, "y": -0.5 }, "p1": { - "x": 0.5536354056902003, - "y": 0.01338250790305583 + "x": 0.4221511395441838, + "y": 0.24854058376649316 }, "p2": { "x": 0, - "y": 1 + "y": 56 } } }, { - "ID": "10", - "typeID": "Label", - "zOrder": "47", - "measuredW": "60", - "measuredH": "36", - "x": "415", - "y": "349", + "ID": "3447", + "typeID": "Arrow", + "zOrder": "9", + "w": "16", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "336", + "y": "963", "properties": { - "size": "28", - "text": "Java" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 16, + "y": 88.5 + }, + "p1": { + "x": 0.49438202247191015, + "y": 0.1460674157303371 + }, + "p2": { + "x": 11, + "y": -0.5 + } } }, { - "ID": "11", + "ID": "3448", "typeID": "Arrow", - "zOrder": "48", - "w": "24", - "h": "51", + "zOrder": "10", + "w": "94", + "h": "27", "measuredW": "150", "measuredH": "100", - "x": "427", - "y": "394", + "x": "735", + "y": "1002", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", + "stroke": "dotted", "color": "10027263", "p0": { - "x": 5, - "y": 0 + "x": 94, + "y": 26 }, "p1": { - "x": 0.4861538461538458, - "y": -0.24923076923076912 + "x": 0.5652504390218331, + "y": -0.04277514219065342 }, "p2": { - "x": 24, - "y": 51 + "x": 0, + "y": -0.5 } } }, { - "ID": "12", - "typeID": "Canvas", - "zOrder": "49", - "w": "262", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "354", - "y": "437", + "ID": "3449", + "typeID": "Arrow", + "zOrder": "11", + "w": "1", + "h": "62", + "measuredW": "150", + "measuredH": "100", + "x": "637", + "y": "931", "properties": { - "color": "16776960" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0, + "y": -0.5 + }, + "p1": { + "x": 0.5467472449342341, + "y": -0.006043370067543647 + }, + "p2": { + "x": 0, + "y": 61.5 + } } }, { - "ID": "13", - "typeID": "Label", - "zOrder": "50", - "measuredW": "177", - "measuredH": "24", - "x": "396", - "y": "446", + "ID": "3452", + "typeID": "Arrow", + "zOrder": "13", + "h": "34", + "measuredW": "150", + "measuredH": "100", + "x": "370", + "y": "966", "properties": { - "size": "16", - "text": "Learn the Fundamentals" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 149.5, + "y": 32.5 + }, + "p1": { + "x": 0.6803934308695361, + "y": 0.12103152376044628 + }, + "p2": { + "x": 0, + "y": -0.5 + } } }, { - "ID": "14", - "typeID": "__group__", - "zOrder": "51", - "measuredW": "222", - "measuredH": "42", - "w": "222", - "h": "42", - "x": "69", - "y": "392", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "95", - "measuredW": "92", - "measuredH": "24", - "x": "64", - "y": "9", - "properties": { - "size": "16", - "text": "Basic Syntax" - } - } - ] - } - } - }, - { - "ID": "15", - "typeID": "__group__", - "zOrder": "52", - "measuredW": "222", - "measuredH": "42", - "w": "222", - "h": "42", - "x": "69", - "y": "438", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "150", - "measuredH": "24", - "x": "36", - "y": "9", - "properties": { - "size": "16", - "text": "DataTypes, Variables" - } - } - ] - } - } - }, - { - "ID": "16", - "typeID": "Canvas", - "zOrder": "53", - "w": "280", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "688", - "y": "430", - "properties": { - "color": "16770457" - } - }, - { - "ID": "17", - "typeID": "Label", - "zOrder": "65", - "measuredW": "178", - "measuredH": "24", - "x": "739", - "y": "439", - "properties": { - "size": "16", - "text": "OOP, Interfaces, Classes" - } - }, - { - "ID": "18", - "typeID": "Canvas", - "zOrder": "54", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "484", - "properties": { - "color": "16770457" - } - }, - { - "ID": "19", - "typeID": "Label", - "zOrder": "55", - "measuredW": "90", - "measuredH": "24", - "x": "135", - "y": "493", - "properties": { - "size": "16", - "text": "Conditionals" - } - }, - { - "ID": "22", - "typeID": "Canvas", - "zOrder": "56", - "w": "280", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "688", - "y": "384", - "properties": { - "color": "16770457" - } - }, - { - "ID": "37", - "typeID": "Canvas", - "zOrder": "58", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "529", - "properties": { - "color": "16770457" - } - }, - { - "ID": "38", - "typeID": "Label", - "zOrder": "59", - "measuredW": "71", - "measuredH": "24", - "x": "144", - "y": "538", - "properties": { - "size": "16", - "text": "Functions" - } - }, - { - "ID": "39", - "typeID": "Canvas", - "zOrder": "60", - "w": "280", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "688", - "y": "476", - "properties": { - "color": "16770457" - } - }, - { - "ID": "41", - "typeID": "Canvas", - "zOrder": "61", - "w": "280", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "688", - "y": "522", - "properties": { - "color": "16770457" - } - }, - { - "ID": "42", - "typeID": "Label", - "zOrder": "62", - "measuredW": "199", - "measuredH": "24", - "x": "728", - "y": "531", - "properties": { - "size": "16", - "text": "Working with Files and APIs" - } - }, - { - "ID": "43", + "ID": "3453", "typeID": "Arrow", - "zOrder": "38", - "w": "100", - "h": "93", + "zOrder": "14", + "w": "71", + "h": "91", "measuredW": "150", "measuredH": "100", - "x": "274", - "y": "467", + "x": "245", + "y": "959", "properties": { "curvature": "0", "leftArrow": "false", @@ -551,56 +374,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 100, - "y": -0.5 + "x": 0, + "y": 91 }, "p1": { - "x": 0.5656811947576956, - "y": -0.055470893020420485 + "x": 0.6008857528899565, + "y": 0.11717459840864736 }, "p2": { - "x": 0, - "y": 92.5 + "x": 71, + "y": 0 } } }, { - "ID": "44", - "typeID": "Canvas", - "zOrder": "63", - "w": "186", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "338", - "y": "511", - "properties": { - "color": "16770457" - } - }, - { - "ID": "45", - "typeID": "Label", - "zOrder": "64", - "measuredW": "45", - "measuredH": "24", - "x": "408", - "y": "520", - "properties": { - "size": "16", - "text": "Loops" - } - }, - { - "ID": "46", + "ID": "3454", "typeID": "Arrow", - "zOrder": "37", - "w": "1", - "h": "75", + "zOrder": "15", + "w": "72", + "h": "45", "measuredW": "150", "measuredH": "100", - "x": "430", - "y": "466", + "x": "235", + "y": "961", "properties": { "curvature": "0", "leftArrow": "false", @@ -608,42 +404,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 1, - "y": -0.5 + "x": 0, + "y": 45 }, "p1": { - "x": 0.5467472449342339, - "y": -0.006043370067543547 + "x": 0.5642946317103621, + "y": 0.14731585518102372 }, "p2": { - "x": 0, - "y": 74.5 + "x": 72, + "y": 0 } } }, { - "ID": "47", - "typeID": "Label", - "zOrder": "66", - "measuredW": "71", - "measuredH": "24", - "x": "792", - "y": "485", - "properties": { - "size": "16", - "text": "Packages" - } - }, - { - "ID": "48", + "ID": "3455", "typeID": "Arrow", - "zOrder": "36", - "w": "103", - "h": "70", + "zOrder": "16", + "w": "74", + "h": "3", "measuredW": "150", "measuredH": "100", - "x": "599", - "y": "469", + "x": "229", + "y": "950", "properties": { "curvature": "0", "leftArrow": "false", @@ -651,150 +434,237 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 103, - "y": 69.5 + "x": 0, + "y": 2.5 }, "p1": { - "x": 0.5846756207563066, - "y": -0.036972790801407494 + "x": 0.5467472449342342, + "y": -0.006043370067543645 }, "p2": { - "x": 0, - "y": -0.5 + "x": 74, + "y": 0 } } }, { - "ID": "51", - "typeID": "Label", - "zOrder": "67", - "measuredW": "109", - "measuredH": "24", - "x": "773", - "y": "393", + "ID": "3456", + "typeID": "Arrow", + "zOrder": "17", + "w": "1", + "h": "62", + "measuredW": "150", + "measuredH": "100", + "x": "332", + "y": "886", "properties": { - "size": "16", - "text": "DataStructures" - } - }, - { - "ID": "54", - "typeID": "Canvas", - "zOrder": "68", - "w": "284", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "383", - "y": "634", - "properties": { - "color": "16776960" - } - }, - { - "ID": "55", - "typeID": "Label", - "zOrder": "69", - "measuredW": "113", - "measuredH": "24", - "x": "468", - "y": "644", - "properties": { - "size": "16", - "text": "Getting Deeper" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0, + "y": -0.5 + }, + "p1": { + "x": 0.5467472449342341, + "y": -0.006043370067543647 + }, + "p2": { + "x": 0, + "y": 61.5 + } } }, { - "ID": "56", - "typeID": "Canvas", - "zOrder": "70", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "739", - "y": "588", + "ID": "3457", + "typeID": "Arrow", + "zOrder": "18", + "w": "169", + "h": "138", + "measuredW": "150", + "measuredH": "100", + "x": "399", + "y": "817", "properties": { - "color": "16770457" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 137.5 + }, + "p1": { + "x": 0.5796146044624716, + "y": -0.25050709939147836 + }, + "p2": { + "x": 168, + "y": -0.5 + } } }, { - "ID": "57", - "typeID": "Label", - "zOrder": "71", - "measuredW": "121", - "measuredH": "24", - "x": "789", - "y": "597", + "ID": "3458", + "typeID": "Arrow", + "zOrder": "19", + "w": "69", + "h": "90", + "measuredW": "150", + "measuredH": "100", + "x": "684", + "y": "806", "properties": { - "size": "16", - "text": "How JVM works?" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 69, + "y": 89.5 + }, + "p1": { + "x": 0.517683465959328, + "y": -0.07117595048629538 + }, + "p2": { + "x": 0, + "y": -0.5 + } } }, { - "ID": "58", - "typeID": "Canvas", - "zOrder": "72", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "739", - "y": "634", + "ID": "3459", + "typeID": "Arrow", + "zOrder": "20", + "w": "71", + "h": "52", + "measuredW": "150", + "measuredH": "100", + "x": "687", + "y": "805", "properties": { - "color": "16770457" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 71, + "y": 51.5 + }, + "p1": { + "x": 0.5176834659593281, + "y": -0.07117595048629538 + }, + "p2": { + "x": 0, + "y": -0.5 + } } }, { - "ID": "59", - "typeID": "Label", - "zOrder": "73", - "measuredW": "141", - "measuredH": "24", - "x": "779", - "y": "643", + "ID": "3460", + "typeID": "Arrow", + "zOrder": "21", + "w": "87", + "h": "8", + "measuredW": "150", + "measuredH": "100", + "x": "675", + "y": "802", "properties": { - "size": "16", - "text": "Garbage Collection" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 87, + "y": 7.5 + }, + "p1": { + "x": 0.46115550897419105, + "y": -0.015066160094327265 + }, + "p2": { + "x": 0, + "y": -0.5 + } } }, { - "ID": "60", - "typeID": "Canvas", - "zOrder": "74", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "739", - "y": "680", + "ID": "3461", + "typeID": "Arrow", + "zOrder": "22", + "w": "75", + "h": "34", + "measuredW": "150", + "measuredH": "100", + "x": "684", + "y": "760", "properties": { - "color": "16770457" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 75, + "y": -0.5 + }, + "p1": { + "x": 0.5901794145420208, + "y": 0.12086874409820589 + }, + "p2": { + "x": 0, + "y": 32.5 + } } }, { - "ID": "61", - "typeID": "Label", - "zOrder": "75", - "measuredW": "130", - "measuredH": "24", - "x": "785", - "y": "689", + "ID": "3462", + "typeID": "Arrow", + "zOrder": "23", + "w": "142", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "383", + "y": "804", "properties": { - "size": "16", - "text": "Basics of Threads" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 142, + "y": 0.5 + }, + "p1": { + "x": 0.4577237788246963, + "y": -0.003223406893131664 + }, + "p2": { + "x": 0, + "y": 1.5 + } } }, { - "ID": "64", + "ID": "3463", "typeID": "Arrow", - "zOrder": "35", - "w": "115", - "h": "1", + "zOrder": "24", + "w": "72", + "h": "83", "measuredW": "150", "measuredH": "100", - "x": "643", - "y": "655", + "x": "187", + "y": "815", "properties": { "curvature": "0", "leftArrow": "false", @@ -802,29 +672,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 114.5, + "x": 71, "y": 0 }, "p1": { - "x": 0.5194288003393264, - "y": 0.0023328699012654486 + "x": 0.49238578680203043, + "y": -0.1065989847715736 }, "p2": { "x": -0.5, - "y": 1 + "y": 82.5 } } }, { - "ID": "65", + "ID": "3464", "typeID": "Arrow", - "zOrder": "34", - "w": "114", - "h": "48", + "zOrder": "25", + "w": "78", + "h": "47", "measuredW": "150", "measuredH": "100", - "x": "631", - "y": "608", + "x": "182", + "y": "808", "properties": { "curvature": "0", "leftArrow": "false", @@ -832,29 +702,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 114, - "y": -0.5 + "x": 77, + "y": 0 }, "p1": { - "x": 0.42392803686203145, - "y": 0.09827429342881466 + "x": 0.5286705624543463, + "y": -0.1044558071585099 }, "p2": { - "x": 0, - "y": 47 + "x": -0.5, + "y": 46.5 } } }, { - "ID": "66", + "ID": "3465", "typeID": "Arrow", - "zOrder": "33", - "w": "105", - "h": "40", + "zOrder": "26", + "w": "92", + "h": "4", "measuredW": "150", "measuredH": "100", - "x": "642", - "y": "659", + "x": "175", + "y": "799", "properties": { "curvature": "0", "leftArrow": "false", @@ -862,164 +732,88 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 104, - "y": 39.5 + "x": 92, + "y": 0 }, "p1": { - "x": 0.4372442019099593, - "y": -0.09720327421555257 + "x": 0.5115764636484295, + "y": 0.01858133018728801 }, "p2": { - "x": -0.5, - "y": -0.5 + "x": 0, + "y": 3.5 } } }, { - "ID": "69", - "typeID": "Canvas", - "zOrder": "76", - "w": "186", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "338", - "y": "557", - "properties": { - "color": "16770457" - } - }, - { - "ID": "70", - "typeID": "Label", - "zOrder": "77", - "measuredW": "141", - "measuredH": "24", - "x": "360", - "y": "566", - "properties": { - "size": "16", - "text": "Exception Handling" - } - }, - { - "ID": "71", - "typeID": "Canvas", - "zOrder": "78", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "585", - "properties": { - "color": "16770457" - } - }, - { - "ID": "72", - "typeID": "Label", - "zOrder": "79", - "measuredW": "159", - "measuredH": "24", - "x": "100", - "y": "594", - "properties": { - "size": "16", - "text": "Memory Management" - } - }, - { - "ID": "73", - "typeID": "Canvas", - "zOrder": "80", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "630", - "properties": { - "color": "16770457" - } - }, - { - "ID": "74", - "typeID": "Label", - "zOrder": "81", - "measuredW": "157", - "measuredH": "24", - "x": "101", - "y": "639", - "properties": { - "size": "16", - "text": "Collection Framework" - } - }, - { - "ID": "77", - "typeID": "Canvas", - "zOrder": "82", - "w": "117", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "583", - "y": "575", - "properties": { - "color": "16770457" - } - }, - { - "ID": "78", - "typeID": "Label", - "zOrder": "83", - "measuredW": "66", - "measuredH": "24", - "x": "609", - "y": "584", - "properties": { - "size": "16", - "text": "Generics" - } - }, - { - "ID": "79", - "typeID": "Canvas", - "zOrder": "84", - "w": "117", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "583", - "y": "695", + "ID": "3466", + "typeID": "Arrow", + "zOrder": "27", + "w": "181", + "h": "131", + "measuredW": "150", + "measuredH": "100", + "x": "341", + "y": "671", "properties": { - "color": "16770457" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 181, + "y": -0.5 + }, + "p1": { + "x": 0.47484417739114826, + "y": 0.025178243128110726 + }, + "p2": { + "x": 0, + "y": 130.5 + } } }, { - "ID": "80", - "typeID": "Label", - "zOrder": "85", - "measuredW": "60", - "measuredH": "24", - "x": "612", - "y": "704", + "ID": "3467", + "typeID": "Arrow", + "zOrder": "28", + "w": "114", + "h": "41", + "measuredW": "150", + "measuredH": "100", + "x": "289", + "y": "614", "properties": { - "size": "16", - "text": "Streams" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 114, + "y": 40.5 + }, + "p1": { + "x": 0.5332865705904859, + "y": 0.09074097691620968 + }, + "p2": { + "x": 0, + "y": -0.5 + } } }, { - "ID": "81", + "ID": "3468", "typeID": "Arrow", - "zOrder": "32", - "w": "1", - "h": "126", + "zOrder": "29", + "w": "118", + "h": "83", "measuredW": "150", "measuredH": "100", - "x": "638", - "y": "591", + "x": "287", + "y": "674", "properties": { "curvature": "0", "leftArrow": "false", @@ -1027,83 +821,59 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 1, + "x": 118, "y": -0.5 }, "p1": { - "x": 0.546747244934234, - "y": -0.006043370067543548 + "x": 0.5576080853453116, + "y": -0.077653003930376 }, "p2": { - "x": 1, - "y": 125.5 + "x": 0, + "y": 82.5 } } }, { - "ID": "82", - "typeID": "Canvas", - "zOrder": "86", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "675", - "properties": { - "color": "16770457" - } - }, - { - "ID": "83", - "typeID": "Label", - "zOrder": "87", - "measuredW": "89", - "measuredH": "24", - "x": "135", - "y": "684", - "properties": { - "size": "16", - "text": "Serialization" - } - }, - { - "ID": "84", - "typeID": "Canvas", - "zOrder": "88", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "720", - "properties": { - "color": "16770457" - } - }, - { - "ID": "85", - "typeID": "Label", - "zOrder": "89", - "measuredW": "158", - "measuredH": "24", - "x": "101", - "y": "729", + "ID": "3469", + "typeID": "Arrow", + "zOrder": "30", + "w": "120", + "h": "39", + "measuredW": "150", + "measuredH": "100", + "x": "287", + "y": "670", "properties": { - "size": "16", - "text": "Networking & Sockets" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 120, + "y": -0.5 + }, + "p1": { + "x": 0.5543621631807046, + "y": -0.06350103636706236 + }, + "p2": { + "x": 0, + "y": 38.5 + } } }, { - "ID": "86", + "ID": "3470", "typeID": "Arrow", "zOrder": "31", "w": "139", "h": "1", "measuredW": "150", "measuredH": "100", - "x": "261", - "y": "653", + "x": "271", + "y": "663", "properties": { "curvature": "0", "leftArrow": "false", @@ -1125,15 +895,15 @@ } }, { - "ID": "87", + "ID": "3471", "typeID": "Arrow", - "zOrder": "30", - "w": "120", - "h": "39", + "zOrder": "32", + "w": "1", + "h": "126", "measuredW": "150", "measuredH": "100", - "x": "277", - "y": "660", + "x": "648", + "y": "601", "properties": { "curvature": "0", "leftArrow": "false", @@ -1141,29 +911,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 120, + "x": 1, "y": -0.5 }, "p1": { - "x": 0.5543621631807046, - "y": -0.06350103636706236 + "x": 0.546747244934234, + "y": -0.006043370067543548 }, "p2": { - "x": 0, - "y": 38.5 + "x": 1, + "y": 125.5 } } }, { - "ID": "88", + "ID": "3472", "typeID": "Arrow", - "zOrder": "29", - "w": "118", - "h": "83", + "zOrder": "33", + "w": "105", + "h": "40", "measuredW": "150", "measuredH": "100", - "x": "277", - "y": "664", + "x": "652", + "y": "669", "properties": { "curvature": "0", "leftArrow": "false", @@ -1171,29 +941,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 118, - "y": -0.5 + "x": 104, + "y": 39.5 }, "p1": { - "x": 0.5576080853453116, - "y": -0.077653003930376 + "x": 0.4372442019099593, + "y": -0.09720327421555257 }, "p2": { - "x": 0, - "y": 82.5 + "x": -0.5, + "y": -0.5 } } }, { - "ID": "90", + "ID": "3473", "typeID": "Arrow", - "zOrder": "28", + "zOrder": "34", "w": "114", - "h": "41", + "h": "48", "measuredW": "150", "measuredH": "100", - "x": "279", - "y": "604", + "x": "641", + "y": "618", "properties": { "curvature": "0", "leftArrow": "false", @@ -1202,165 +972,88 @@ "color": "10027263", "p0": { "x": 114, - "y": 40.5 + "y": -0.5 }, "p1": { - "x": 0.5332865705904859, - "y": 0.09074097691620968 + "x": 0.42392803686203145, + "y": 0.09827429342881466 }, "p2": { "x": 0, - "y": -0.5 + "y": 47 } } }, { - "ID": "91", + "ID": "3474", "typeID": "Arrow", - "zOrder": "27", - "w": "181", - "h": "131", + "zOrder": "35", + "w": "115", + "h": "1", "measuredW": "150", "measuredH": "100", - "x": "331", - "y": "661", + "x": "653", + "y": "665", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", + "stroke": "dotted", "color": "10027263", "p0": { - "x": 181, - "y": -0.5 + "x": 114.5, + "y": 0 }, "p1": { - "x": 0.47484417739114826, - "y": 0.025178243128110726 + "x": 0.5194288003393264, + "y": 0.0023328699012654486 }, "p2": { - "x": 0, - "y": 130.5 + "x": -0.5, + "y": 1 } } }, { - "ID": "94", - "typeID": "Canvas", - "zOrder": "90", - "w": "169", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "239", - "y": "774", - "properties": { - "color": "16776960" - } - }, - { - "ID": "95", - "typeID": "Label", - "zOrder": "91", - "measuredW": "78", - "measuredH": "24", - "x": "285", - "y": "784", - "properties": { - "size": "16", - "text": "Build Tools" - } - }, - { - "ID": "96", - "typeID": "Canvas", - "zOrder": "92", - "w": "116", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "773", - "properties": { - "color": "16770457" - } - }, - { - "ID": "97", - "typeID": "Label", - "zOrder": "93", - "measuredW": "49", - "measuredH": "24", - "x": "102", - "y": "782", - "properties": { - "size": "16", - "text": "Gradle" - } - }, - { - "ID": "98", - "typeID": "Canvas", - "zOrder": "94", - "w": "116", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "69", - "y": "819", - "properties": { - "color": "16770457" - } - }, - { - "ID": "99", - "typeID": "Label", - "zOrder": "95", - "measuredW": "49", - "measuredH": "24", - "x": "102", - "y": "828", - "properties": { - "size": "16", - "text": "Maven" - } - }, - { - "ID": "100", - "typeID": "Canvas", - "zOrder": "96", - "w": "116", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "71", - "y": "866", - "properties": { - "color": "16770457" - } - }, - { - "ID": "101", - "typeID": "Label", - "zOrder": "97", - "measuredW": "24", - "measuredH": "24", - "x": "117", - "y": "875", + "ID": "3475", + "typeID": "Arrow", + "zOrder": "36", + "w": "103", + "h": "70", + "measuredW": "150", + "measuredH": "100", + "x": "609", + "y": "479", "properties": { - "size": "16", - "text": "Ant" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 103, + "y": 69.5 + }, + "p1": { + "x": 0.5846756207563066, + "y": -0.036972790801407494 + }, + "p2": { + "x": 0, + "y": -0.5 + } } }, { - "ID": "102", + "ID": "3476", "typeID": "Arrow", - "zOrder": "26", - "w": "92", - "h": "4", + "zOrder": "37", + "w": "1", + "h": "75", "measuredW": "150", "measuredH": "100", - "x": "165", - "y": "789", + "x": "440", + "y": "476", "properties": { "curvature": "0", "leftArrow": "false", @@ -1368,29 +1061,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 92, - "y": 0 + "x": 1, + "y": -0.5 }, "p1": { - "x": 0.5115764636484295, - "y": 0.01858133018728801 + "x": 0.5467472449342339, + "y": -0.006043370067543547 }, "p2": { "x": 0, - "y": 3.5 + "y": 74.5 } } }, { - "ID": "103", + "ID": "3477", "typeID": "Arrow", - "zOrder": "25", - "w": "78", - "h": "47", + "zOrder": "38", + "w": "100", + "h": "93", "measuredW": "150", "measuredH": "100", - "x": "172", - "y": "798", + "x": "284", + "y": "477", "properties": { "curvature": "0", "leftArrow": "false", @@ -1398,223 +1091,177 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 77, - "y": 0 + "x": 100, + "y": -0.5 }, "p1": { - "x": 0.5286705624543463, - "y": -0.1044558071585099 + "x": 0.5656811947576956, + "y": -0.055470893020420485 }, "p2": { - "x": -0.5, - "y": 46.5 + "x": 0, + "y": 92.5 } } }, { - "ID": "104", + "ID": "3478", "typeID": "Arrow", - "zOrder": "24", - "w": "72", - "h": "83", + "zOrder": "39", + "w": "13", + "h": "63", "measuredW": "150", "measuredH": "100", - "x": "177", - "y": "805", + "x": "467", + "y": "293", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", "color": "10027263", "p0": { - "x": 71, + "x": 4, "y": 0 }, "p1": { - "x": 0.49238578680203043, - "y": -0.1065989847715736 + "x": 0.48693312836279784, + "y": 0.16641045349730976 }, "p2": { - "x": -0.5, - "y": 82.5 + "x": 0, + "y": 63 } } }, { - "ID": "105", - "typeID": "Canvas", - "zOrder": "98", - "w": "218", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "470", - "y": "772", + "ID": "3479", + "typeID": "Arrow", + "zOrder": "40", + "w": "87", + "h": "177", + "measuredW": "150", + "measuredH": "100", + "x": "489", + "y": "477", "properties": { - "color": "16776960" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5656248906310154, + "y": 0.32313022783746903 + }, + "p2": { + "x": 49, + "y": 177 + } } }, { - "ID": "106", - "typeID": "Label", - "zOrder": "99", - "measuredW": "125", - "measuredH": "24", - "x": "516", - "y": "782", + "ID": "3480", + "typeID": "Arrow", + "zOrder": "41", + "w": "98", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "611", + "y": "416", "properties": { - "size": "16", - "text": "Web Frameworks" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 97.5, + "y": -0.5 + }, + "p1": { + "x": 0.5537800308573949, + "y": 0.044853427374917355 + }, + "p2": { + "x": 0, + "y": 46 + } } }, { - "ID": "107", + "ID": "3481", "typeID": "Arrow", - "zOrder": "23", - "w": "142", - "h": "1", + "zOrder": "42", + "w": "120", + "h": "44", "measuredW": "150", "measuredH": "100", - "x": "373", - "y": "794", + "x": "607", + "y": "475", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", + "stroke": "dotted", "color": "10027263", "p0": { - "x": 142, - "y": 0.5 + "x": 120, + "y": 44 }, "p1": { - "x": 0.4577237788246963, - "y": -0.003223406893131664 + "x": 0.5846756207563067, + "y": -0.036972790801407494 }, "p2": { "x": 0, - "y": 1.5 + "y": 0 } } }, { - "ID": "108", - "typeID": "Canvas", - "zOrder": "100", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "740", - "y": "733", + "ID": "3482", + "typeID": "Arrow", + "zOrder": "43", + "w": "107", + "h": "51", + "measuredW": "150", + "measuredH": "100", + "x": "286", + "y": "415", "properties": { - "color": "16770457" + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 107, + "y": 51 + }, + "p1": { + "x": 0.5245584633234497, + "y": 0.05852778135877272 + }, + "p2": { + "x": 0, + "y": 0 + } } }, { - "ID": "109", - "typeID": "Label", - "zOrder": "101", - "measuredW": "47", - "measuredH": "24", - "x": "827", - "y": "742", - "properties": { - "size": "16", - "text": "Spring" - } - }, - { - "ID": "110", - "typeID": "Canvas", - "zOrder": "102", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "740", - "y": "779", - "properties": { - "color": "16770457" - } - }, - { - "ID": "111", - "typeID": "Label", - "zOrder": "103", - "measuredW": "85", - "measuredH": "24", - "x": "808", - "y": "788", - "properties": { - "size": "16", - "text": "Spring Boot" - } - }, - { - "ID": "114", - "typeID": "Canvas", - "zOrder": "104", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "740", - "y": "825", - "properties": { - "color": "16770457" - } - }, - { - "ID": "115", - "typeID": "Label", - "zOrder": "105", - "measuredW": "114", - "measuredH": "24", - "x": "794", - "y": "834", - "properties": { - "size": "16", - "text": "Play Framework" - } - }, - { - "ID": "116", - "typeID": "Canvas", - "zOrder": "106", - "w": "222", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "740", - "y": "872", - "properties": { - "color": "16770457" - } - }, - { - "ID": "117", - "typeID": "Label", - "zOrder": "107", - "measuredW": "42", - "measuredH": "24", - "x": "830", - "y": "881", - "properties": { - "size": "16", - "text": "Spark" - } - }, - { - "ID": "118", + "ID": "3483", "typeID": "Arrow", - "zOrder": "22", - "w": "75", - "h": "34", + "zOrder": "44", + "w": "108", + "h": "44", "measuredW": "150", "measuredH": "100", - "x": "674", - "y": "750", + "x": "286", + "y": "472", "properties": { "curvature": "0", "leftArrow": "false", @@ -1622,29 +1269,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 75, - "y": -0.5 + "x": 108, + "y": 0 }, "p1": { - "x": 0.5901794145420208, - "y": 0.12086874409820589 + "x": 0.5656811947576956, + "y": -0.05547089302042055 }, "p2": { "x": 0, - "y": 32.5 + "y": 44 } } }, { - "ID": "119", + "ID": "3484", "typeID": "Arrow", - "zOrder": "21", - "w": "87", - "h": "8", + "zOrder": "45", + "w": "115", + "h": "5", "measuredW": "150", "measuredH": "100", - "x": "665", - "y": "792", + "x": "284", + "y": "467", "properties": { "curvature": "0", "leftArrow": "false", @@ -1652,29 +1299,29 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 87, - "y": 7.5 + "x": 115, + "y": 1 }, "p1": { - "x": 0.46115550897419105, - "y": -0.015066160094327265 + "x": 0.5205160087037612, + "y": 0.03901150139881877 }, "p2": { "x": 0, - "y": -0.5 + "y": 0 } } }, { - "ID": "120", + "ID": "3485", "typeID": "Arrow", - "zOrder": "20", - "w": "71", - "h": "52", + "zOrder": "46", + "w": "123", + "h": "3", "measuredW": "150", "measuredH": "100", - "x": "677", - "y": "795", + "x": "587", + "y": "468", "properties": { "curvature": "0", "leftArrow": "false", @@ -1682,398 +1329,724 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 71, - "y": 51.5 + "x": 122.5, + "y": -0.5 }, "p1": { - "x": 0.5176834659593281, - "y": -0.07117595048629538 + "x": 0.5536354056902003, + "y": 0.01338250790305583 }, "p2": { "x": 0, - "y": -0.5 + "y": 1 } } }, { - "ID": "121", - "typeID": "Arrow", - "zOrder": "19", - "w": "69", - "h": "90", - "measuredW": "150", - "measuredH": "100", - "x": "674", - "y": "796", + "ID": "3486", + "typeID": "Label", + "zOrder": "47", + "measuredW": "60", + "measuredH": "36", + "x": "425", + "y": "359", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 69, - "y": 89.5 - }, - "p1": { - "x": 0.517683465959328, - "y": -0.07117595048629538 - }, - "p2": { - "x": 0, - "y": -0.5 - } + "size": "28", + "text": "Java" } }, { - "ID": "122", + "ID": "3487", "typeID": "Arrow", - "zOrder": "18", - "w": "169", - "h": "138", + "zOrder": "48", + "w": "24", + "h": "51", "measuredW": "150", "measuredH": "100", - "x": "389", - "y": "807", + "x": "437", + "y": "404", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", "color": "10027263", "p0": { - "x": 0, - "y": 137.5 + "x": 5, + "y": 0 }, "p1": { - "x": 0.5796146044624716, - "y": -0.25050709939147836 + "x": 0.4861538461538458, + "y": -0.24923076923076912 }, "p2": { - "x": 168, - "y": -0.5 + "x": 24, + "y": 51 } } }, { - "ID": "123", - "typeID": "Canvas", - "zOrder": "108", - "w": "129", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "279", - "y": "922", + "ID": "3491", + "typeID": "__group__", + "zOrder": "51", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "79", + "y": "448", "properties": { - "color": "16776960" + "controlName": "101-java-fundamentals:data-types-variables" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "150", + "measuredH": "24", + "x": "36", + "y": "9", + "properties": { + "size": "16", + "text": "DataTypes, Variables" + } + } + ] + } } }, { - "ID": "124", - "typeID": "Label", - "zOrder": "109", - "measuredW": "38", - "measuredH": "24", - "x": "325", - "y": "932", + "ID": "3576", + "typeID": "__group__", + "zOrder": "111", + "measuredW": "557", + "measuredH": "90", + "w": "557", + "h": "90", + "x": "22", + "y": "213", "properties": { - "size": "16", - "text": "ORM" + "controlName": "ext_link:roadmap.sh/backend" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "557", + "h": "90", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "384", + "measuredH": "28", + "x": "87", + "y": "19", + "properties": { + "size": "20", + "text": "Backend Roadmap till Language Selection" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "153", + "measuredH": "24", + "x": "202", + "y": "48", + "properties": { + "size": "16", + "text": "roadmap.sh/backend", + "color": "10027263" + } + } + ] + } } }, { - "ID": "125", + "ID": "3577", "typeID": "Canvas", - "zOrder": "110", - "w": "92", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "278", - "y": "855", - "properties": { - "color": "16770457" - } + "zOrder": "55", + "w": "350", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "716", + "y": "181" }, { - "ID": "126", + "ID": "3578", "typeID": "Label", - "zOrder": "111", - "measuredW": "28", - "measuredH": "24", - "x": "310", - "y": "864", + "zOrder": "56", + "measuredW": "314", + "measuredH": "25", + "x": "730", + "y": "198", "properties": { - "size": "16", - "text": "JPA" + "size": "17", + "text": "Find the detailed version of this roadmap" } }, { - "ID": "127", - "typeID": "Canvas", - "zOrder": "112", - "w": "169", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "74", - "y": "967", + "ID": "3579", + "typeID": "Label", + "zOrder": "57", + "measuredW": "319", + "measuredH": "25", + "x": "730", + "y": "226", "properties": { - "color": "16770457" + "size": "17", + "text": "along with resources and other roadmaps" } }, { - "ID": "128", - "typeID": "Label", - "zOrder": "113", - "measuredW": "73", - "measuredH": "24", - "x": "122", - "y": "976", + "ID": "3586", + "typeID": "__group__", + "zOrder": "58", + "measuredW": "320", + "measuredH": "45", + "w": "320", + "h": "45", + "x": "731", + "y": "262", "properties": { - "size": "16", - "text": "Hibernate" + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "28", + "x": "141", + "y": "8", + "properties": { + "color": "16777215", + "size": "20", + "text": "roadmap.sh" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "35", + "measuredH": "28", + "x": "76", + "y": "8", + "properties": { + "color": "16777215", + "size": "20", + "text": "http" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "5", + "measuredH": "28", + "x": "113", + "y": "8", + "properties": { + "color": "16777215", + "size": "20", + "text": ":" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "10", + "measuredH": "28", + "x": "120", + "y": "9", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + }, + { + "ID": "5", + "typeID": "Label", + "zOrder": "5", + "measuredW": "10", + "measuredH": "28", + "x": "128", + "y": "9", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + } + ] + } } }, { - "ID": "129", + "ID": "3587", "typeID": "Arrow", - "zOrder": "17", + "zOrder": "109", "w": "1", - "h": "62", + "h": "98", "measuredW": "150", "measuredH": "100", - "x": "322", - "y": "876", + "x": "743", + "y": "1328", "properties": { "curvature": "0", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", "color": "10027263", "p0": { - "x": 0, + "x": -0.5, "y": -0.5 }, "p1": { - "x": 0.5467472449342341, - "y": -0.006043370067543647 + "x": 0.5259259259259262, + "y": 0 }, "p2": { - "x": 0, - "y": 61.5 - } + "x": -0.5, + "y": 97 + }, + "stroke": "dotted" } }, { - "ID": "131", - "typeID": "Canvas", - "zOrder": "114", - "w": "169", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "74", - "y": "921", + "ID": "3590", + "typeID": "__group__", + "zOrder": "49", + "measuredW": "262", + "measuredH": "43", + "w": "262", + "h": "43", + "x": "364", + "y": "447", "properties": { - "color": "16770457" + "controlName": "100-java-fundamentals" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "262", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "177", + "measuredH": "24", + "x": "42", + "y": "9", + "properties": { + "size": "16", + "text": "Learn the Fundamentals" + } + } + ] + } } }, { - "ID": "132", - "typeID": "Label", - "zOrder": "115", - "measuredW": "117", - "measuredH": "24", - "x": "100", - "y": "930", + "ID": "3591", + "typeID": "__group__", + "zOrder": "63", + "measuredW": "284", + "measuredH": "43", + "w": "284", + "h": "43", + "x": "393", + "y": "644", "properties": { - "size": "16", - "text": "Spring Data JPA" + "controlName": "101-java-advanced-topics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "284", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "113", + "measuredH": "24", + "x": "85", + "y": "10", + "properties": { + "size": "16", + "text": "Getting Deeper" + } + } + ] + } } }, { - "ID": "133", - "typeID": "Arrow", - "zOrder": "16", - "w": "74", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "219", - "y": "940", + "ID": "3592", + "typeID": "__group__", + "zOrder": "74", + "measuredW": "169", + "measuredH": "43", + "w": "169", + "h": "43", + "x": "249", + "y": "784", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": 2.5 - }, - "p1": { - "x": 0.5467472449342342, - "y": -0.006043370067543645 - }, - "p2": { - "x": 74, - "y": 0 + "controlName": "102-java-build-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "169", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "78", + "measuredH": "24", + "x": "46", + "y": "10", + "properties": { + "size": "16", + "text": "Build Tools" + } + } + ] } } }, { - "ID": "134", - "typeID": "Arrow", - "zOrder": "15", - "w": "72", - "h": "45", - "measuredW": "150", - "measuredH": "100", - "x": "225", - "y": "951", + "ID": "3593", + "typeID": "__group__", + "zOrder": "78", + "measuredW": "218", + "measuredH": "43", + "w": "218", + "h": "43", + "x": "480", + "y": "782", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": 45 - }, - "p1": { - "x": 0.5642946317103621, - "y": 0.14731585518102372 - }, - "p2": { - "x": 72, - "y": 0 + "controlName": "103-java-web-frameworks" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "218", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "125", + "measuredH": "24", + "x": "46", + "y": "10", + "properties": { + "size": "16", + "text": "Web Frameworks" + } + } + ] } } }, { - "ID": "135", - "typeID": "Canvas", - "zOrder": "116", - "w": "169", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "74", - "y": "1013", - "properties": { - "color": "16770457" - } - }, - { - "ID": "136", - "typeID": "Label", - "zOrder": "117", - "measuredW": "50", - "measuredH": "24", - "x": "134", - "y": "1022", - "properties": { - "size": "16", - "text": "EBean" - } - }, - { - "ID": "137", - "typeID": "Arrow", - "zOrder": "14", - "w": "71", - "h": "91", - "measuredW": "150", - "measuredH": "100", - "x": "235", - "y": "949", + "ID": "3594", + "typeID": "__group__", + "zOrder": "83", + "measuredW": "129", + "measuredH": "43", + "w": "129", + "h": "43", + "x": "289", + "y": "932", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": 91 - }, - "p1": { - "x": 0.6008857528899565, - "y": 0.11717459840864736 - }, - "p2": { - "x": 71, - "y": 0 + "controlName": "104-java-orm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "129", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "38", + "measuredH": "24", + "x": "46", + "y": "10", + "properties": { + "size": "16", + "text": "ORM" + } + } + ] } } }, { - "ID": "138", - "typeID": "Canvas", - "zOrder": "118", + "ID": "3595", + "typeID": "__group__", + "zOrder": "88", + "measuredW": "239", + "measuredH": "43", "w": "239", "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "501", - "y": "967", + "x": "511", + "y": "977", "properties": { - "color": "16776960" + "controlName": "105-java-logging-frameworks" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "239", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "151", + "measuredH": "24", + "x": "44", + "y": "10", + "properties": { + "size": "16", + "text": "Logging Frameworks" + } + } + ] + } } }, { - "ID": "139", - "typeID": "Label", - "zOrder": "119", - "measuredW": "151", - "measuredH": "24", - "x": "545", - "y": "977", + "ID": "3596", + "typeID": "__group__", + "zOrder": "91", + "measuredW": "129", + "measuredH": "43", + "w": "129", + "h": "43", + "x": "289", + "y": "1023", "properties": { - "size": "16", - "text": "Logging Frameworks" + "controlName": "106-java-jdbc" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "129", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "43", + "measuredH": "24", + "x": "43", + "y": "10", + "properties": { + "size": "16", + "text": "JDBC" + } + } + ] + } } }, { - "ID": "140", - "typeID": "Arrow", - "zOrder": "13", - "h": "34", - "measuredW": "150", - "measuredH": "100", - "x": "360", - "y": "956", + "ID": "3597", + "typeID": "__group__", + "zOrder": "94", + "measuredW": "201", + "measuredH": "43", + "w": "201", + "h": "43", + "x": "511", + "y": "1127", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 149.5, - "y": 32.5 - }, - "p1": { - "x": 0.6803934308695361, - "y": 0.12103152376044628 - }, - "p2": { - "x": 0, - "y": -0.5 + "controlName": "107-testing-java-apps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "201", + "h": "43", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "128", + "measuredH": "24", + "x": "37", + "y": "9", + "properties": { + "size": "16", + "text": "Testing your Apps" + } + } + ] } } }, { - "ID": "141", + "ID": "3600", "typeID": "Arrow", - "zOrder": "10", - "w": "1", - "h": "62", + "zOrder": "0", + "w": "88", + "h": "21", "measuredW": "150", "measuredH": "100", - "x": "627", - "y": "921", + "x": "744", + "y": "973", "properties": { "curvature": "0", "leftArrow": "false", @@ -2081,366 +2054,1302 @@ "stroke": "dotted", "color": "10027263", "p0": { - "x": 0, - "y": -0.5 + "x": 88, + "y": 0 }, "p1": { - "x": 0.5467472449342341, - "y": -0.006043370067543647 + "x": 0.5683314450194445, + "y": 0.049422788376152126 }, "p2": { "x": 0, - "y": 61.5 + "y": 20.5 } } }, { - "ID": "142", - "typeID": "Canvas", - "zOrder": "11", - "w": "116", + "ID": "3603", + "typeID": "__group__", + "zOrder": "50", + "measuredW": "222", + "measuredH": "42", + "w": "222", "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "570", - "y": "907", + "x": "79", + "y": "402", "properties": { - "color": "16770457" - } - }, - { - "ID": "143", - "typeID": "Label", - "zOrder": "12", - "measuredW": "51", - "measuredH": "24", - "x": "602", - "y": "916", - "properties": { - "size": "16", - "text": "Log4j2" + "controlName": "100-java-fundamentals:basic-syntax" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "95", + "measuredW": "92", + "measuredH": "24", + "x": "64", + "y": "9", + "properties": { + "size": "16", + "text": "Basic Syntax" + } + } + ] + } } }, { - "ID": "144", - "typeID": "Canvas", - "zOrder": "120", - "w": "116", + "ID": "3604", + "typeID": "__group__", + "zOrder": "53", + "measuredW": "222", + "measuredH": "42", + "w": "222", "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "571", - "y": "861", + "x": "79", + "y": "494", "properties": { - "color": "16770457" + "controlName": "102-java-fundamentals:conditionals" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "90", + "measuredH": "24", + "x": "66", + "y": "9", + "properties": { + "size": "16", + "text": "Conditionals" + } + } + ] + } } }, { - "ID": "145", - "typeID": "Label", - "zOrder": "121", - "measuredW": "62", - "measuredH": "24", - "x": "598", - "y": "870", + "ID": "3605", + "typeID": "__group__", + "zOrder": "59", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "79", + "y": "539", "properties": { - "size": "16", - "text": "Logback" + "controlName": "103-java-fundamentals:functions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "71", + "measuredH": "24", + "x": "75", + "y": "9", + "properties": { + "size": "16", + "text": "Functions" + } + } + ] + } } }, { - "ID": "146", - "typeID": "Canvas", - "zOrder": "122", - "w": "168", + "ID": "3606", + "typeID": "__group__", + "zOrder": "54", + "measuredW": "280", + "measuredH": "42", + "w": "280", "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "794", - "y": "968", + "x": "698", + "y": "394", "properties": { - "color": "16770457" + "controlName": "104-java-fundamentals:datastructures" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "280", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "109", + "measuredH": "24", + "x": "85", + "y": "9", + "properties": { + "size": "16", + "text": "DataStructures" + } + } + ] + } } }, { - "ID": "147", - "typeID": "Label", - "zOrder": "123", - "measuredW": "57", - "measuredH": "24", - "x": "849", - "y": "977", + "ID": "3607", + "typeID": "__group__", + "zOrder": "52", + "measuredW": "280", + "measuredH": "42", + "w": "280", + "h": "42", + "x": "698", + "y": "440", "properties": { - "size": "16", - "text": "TinyLog" + "controlName": "105-java-fundamentals:oop" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "280", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "178", + "measuredH": "24", + "x": "51", + "y": "9", + "properties": { + "size": "16", + "text": "OOP, Interfaces, Classes" + } + } + ] + } } }, { - "ID": "148", - "typeID": "Arrow", - "zOrder": "9", - "w": "105", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "725", - "y": "988", + "ID": "3608", + "typeID": "__group__", + "zOrder": "60", + "measuredW": "280", + "measuredH": "42", + "w": "280", + "h": "42", + "x": "698", + "y": "486", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 105, - "y": 0.5 - }, - "p1": { - "x": 0.5467472449342341, - "y": -0.006043370067543645 - }, - "p2": { - "x": 0, - "y": 0.5 + "controlName": "106-java-fundamentals:packages" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "280", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "71", + "measuredH": "24", + "x": "104", + "y": "9", + "properties": { + "size": "16", + "text": "Packages" + } + } + ] } } }, { - "ID": "149", - "typeID": "Canvas", - "zOrder": "124", - "w": "129", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "279", - "y": "1013", + "ID": "3609", + "typeID": "__group__", + "zOrder": "61", + "measuredW": "280", + "measuredH": "42", + "w": "280", + "h": "42", + "x": "698", + "y": "532", "properties": { - "color": "16776960" - } - }, - { - "ID": "150", - "typeID": "Label", - "zOrder": "125", - "measuredW": "43", - "measuredH": "24", - "x": "322", - "y": "1023", - "properties": { - "size": "16", - "text": "JDBC" + "controlName": "106-java-fundamentals:files-and-apis" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "280", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "199", + "measuredH": "24", + "x": "40", + "y": "9", + "properties": { + "size": "16", + "text": "Working with Files and APIs" + } + } + ] + } } }, { - "ID": "151", - "typeID": "Arrow", - "zOrder": "8", - "w": "16", - "h": "89", - "measuredW": "150", - "measuredH": "100", - "x": "326", - "y": "953", + "ID": "3610", + "typeID": "__group__", + "zOrder": "62", + "measuredW": "186", + "measuredH": "42", + "w": "186", + "h": "42", + "x": "348", + "y": "521", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 16, - "y": 88.5 - }, - "p1": { - "x": 0.49438202247191015, - "y": 0.1460674157303371 - }, - "p2": { - "x": 11, - "y": -0.5 + "controlName": "107-java-fundamentals:loops" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "186", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "24", + "x": "70", + "y": "9", + "properties": { + "size": "16", + "text": "Loops" + } + } + ] } } }, { - "ID": "152", - "typeID": "Canvas", - "zOrder": "126", - "w": "169", + "ID": "3611", + "typeID": "__group__", + "zOrder": "67", + "measuredW": "186", + "measuredH": "42", + "w": "186", "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "74", - "y": "1073", + "x": "348", + "y": "567", "properties": { - "color": "16770457" + "controlName": "108-java-fundamentals:exception-handling" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "186", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "141", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "Exception Handling" + } + } + ] + } } }, { - "ID": "153", - "typeID": "Label", - "zOrder": "127", - "measuredW": "47", - "measuredH": "24", - "x": "135", - "y": "1082", + "ID": "3612", + "typeID": "__group__", + "zOrder": "70", + "measuredW": "117", + "measuredH": "42", + "w": "117", + "h": "42", + "x": "593", + "y": "585", "properties": { - "size": "16", - "text": "JDBI3" + "controlName": "100-java-advanced-topics:generics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "117", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "Generics" + } + } + ] + } } }, { - "ID": "154", - "typeID": "Canvas", - "zOrder": "128", - "w": "169", + "ID": "3613", + "typeID": "__group__", + "zOrder": "68", + "measuredW": "222", + "measuredH": "42", + "w": "222", "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "74", - "y": "1119", + "x": "79", + "y": "595", "properties": { - "color": "16770457" + "controlName": "101-java-advanced-topics:memory-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "159", + "measuredH": "24", + "x": "31", + "y": "9", + "properties": { + "size": "16", + "text": "Memory Management" + } + } + ] + } } }, { - "ID": "155", - "typeID": "Label", - "zOrder": "129", - "measuredW": "114", - "measuredH": "24", - "x": "102", - "y": "1128", + "ID": "3614", + "typeID": "__group__", + "zOrder": "69", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "79", + "y": "640", "properties": { - "size": "16", - "text": "JDBC Template" + "controlName": "102-java-advanced-topics:collection-framework" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "157", + "measuredH": "24", + "x": "32", + "y": "9", + "properties": { + "size": "16", + "text": "Collection Framework" + } + } + ] + } } }, { - "ID": "156", - "typeID": "Arrow", - "zOrder": "7", - "w": "89", - "h": "57", - "measuredW": "150", - "measuredH": "100", - "x": "224", - "y": "1036", + "ID": "3615", + "typeID": "__group__", + "zOrder": "72", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "79", + "y": "685", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 89, - "y": -0.5 - }, - "p1": { - "x": 0.4221511395441838, - "y": 0.24854058376649316 - }, - "p2": { - "x": 0, - "y": 56 + "controlName": "103-java-advanced-topics:serialization" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "89", + "measuredH": "24", + "x": "66", + "y": "9", + "properties": { + "size": "16", + "text": "Serialization" + } + } + ] + } + } + }, + { + "ID": "3616", + "typeID": "__group__", + "zOrder": "73", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "79", + "y": "730", + "properties": { + "controlName": "104-java-advanced-topics:networking-sockets" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "158", + "measuredH": "24", + "x": "32", + "y": "9", + "properties": { + "size": "16", + "text": "Networking & Sockets" + } + } + ] + } + } + }, + { + "ID": "3617", + "typeID": "__group__", + "zOrder": "71", + "measuredW": "117", + "measuredH": "42", + "w": "117", + "h": "42", + "x": "593", + "y": "705", + "properties": { + "controlName": "105-java-advanced-topics:streams" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "117", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "60", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "Streams" + } + } + ] + } + } + }, + { + "ID": "3619", + "typeID": "__group__", + "zOrder": "64", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "749", + "y": "598", + "properties": { + "controlName": "106-java-advanced-topics:how-jvm-works" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "121", + "measuredH": "24", + "x": "50", + "y": "9", + "properties": { + "size": "16", + "text": "How JVM works?" + } + } + ] + } + } + }, + { + "ID": "3620", + "typeID": "__group__", + "zOrder": "65", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "749", + "y": "644", + "properties": { + "controlName": "107-java-advanced-topics:garbage-collection" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "141", + "measuredH": "24", + "x": "40", + "y": "9", + "properties": { + "size": "16", + "text": "Garbage Collection" + } + } + ] + } + } + }, + { + "ID": "3621", + "typeID": "__group__", + "zOrder": "66", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "749", + "y": "690", + "properties": { + "controlName": "108-java-advanced-topics:basics-of-threads" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "130", + "measuredH": "24", + "x": "46", + "y": "9", + "properties": { + "size": "16", + "text": "Basics of Threads" + } + } + ] + } + } + }, + { + "ID": "3622", + "typeID": "__group__", + "zOrder": "75", + "measuredW": "116", + "measuredH": "42", + "w": "116", + "h": "42", + "x": "79", + "y": "783", + "properties": { + "controlName": "100-java-build-tools:gradle" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "116", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "24", + "x": "33", + "y": "9", + "properties": { + "size": "16", + "text": "Gradle" + } + } + ] + } + } + }, + { + "ID": "3623", + "typeID": "__group__", + "zOrder": "76", + "measuredW": "116", + "measuredH": "42", + "w": "116", + "h": "42", + "x": "79", + "y": "829", + "properties": { + "controlName": "101-java-build-tools:maven" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "116", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "24", + "x": "33", + "y": "9", + "properties": { + "size": "16", + "text": "Maven" + } + } + ] + } + } + }, + { + "ID": "3624", + "typeID": "__group__", + "zOrder": "77", + "measuredW": "116", + "measuredH": "42", + "w": "116", + "h": "42", + "x": "81", + "y": "876", + "properties": { + "controlName": "102-java-build-tools:ant" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "116", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "46", + "y": "9", + "properties": { + "size": "16", + "text": "Ant" + } + } + ] } } }, { - "ID": "157", - "typeID": "Arrow", - "zOrder": "6", - "w": "102", - "h": "97", - "measuredW": "150", - "measuredH": "100", - "x": "224", - "y": "1039", + "ID": "3625", + "typeID": "__group__", + "zOrder": "79", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "750", + "y": "743", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 102, - "y": 0 - }, - "p1": { - "x": 0.555359394703657, - "y": 0.21664564943253461 - }, - "p2": { - "x": 0, - "y": 97 + "controlName": "100-java-web-frameworks:sprint" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "47", + "measuredH": "24", + "x": "87", + "y": "9", + "properties": { + "size": "16", + "text": "Spring" + } + } + ] } } }, { - "ID": "158", - "typeID": "Arrow", - "zOrder": "5", - "w": "190", - "h": "101", - "measuredW": "150", - "measuredH": "100", - "x": "339", - "y": "1040", + "ID": "3626", + "typeID": "__group__", + "zOrder": "80", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "750", + "y": "789", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 189.60923090179483, - "y": 100.34652634056556 - }, - "p1": { - "x": 0.49438202247191004, - "y": 0.14606741573033685 - }, - "p2": { - "x": -0.5, - "y": 0 + "controlName": "101-java-web-frameworks:sprint-boot" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "85", + "measuredH": "24", + "x": "68", + "y": "9", + "properties": { + "size": "16", + "text": "Spring Boot" + } + } + ] } } }, { - "ID": "159", - "typeID": "Canvas", - "zOrder": "130", - "w": "201", - "h": "43", - "measuredW": "100", - "measuredH": "70", - "x": "501", - "y": "1117", + "ID": "3627", + "typeID": "__group__", + "zOrder": "81", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "750", + "y": "835", + "properties": { + "controlName": "102-java-web-frameworks:play-framework" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "114", + "measuredH": "24", + "x": "54", + "y": "9", + "properties": { + "size": "16", + "text": "Play Framework" + } + } + ] + } + } + }, + { + "ID": "3628", + "typeID": "__group__", + "zOrder": "82", + "measuredW": "222", + "measuredH": "42", + "w": "222", + "h": "42", + "x": "750", + "y": "882", + "properties": { + "controlName": "103-java-web-frameworks:spark" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "222", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "42", + "measuredH": "24", + "x": "90", + "y": "9", + "properties": { + "size": "16", + "text": "Spark" + } + } + ] + } + } + }, + { + "ID": "3629", + "typeID": "__group__", + "zOrder": "84", + "measuredW": "92", + "measuredH": "42", + "w": "92", + "h": "42", + "x": "288", + "y": "865", "properties": { - "color": "16776960" + "controlName": "100-java-orm:jpa" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "92", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "28", + "measuredH": "24", + "x": "32", + "y": "9", + "properties": { + "size": "16", + "text": "JPA" + } + } + ] + } } }, { - "ID": "160", - "typeID": "Label", - "zOrder": "131", - "measuredW": "128", - "measuredH": "24", - "x": "538", - "y": "1126", + "ID": "3630", + "typeID": "__group__", + "zOrder": "86", + "measuredW": "169", + "measuredH": "42", + "w": "169", + "h": "42", + "x": "84", + "y": "931", "properties": { - "size": "16", - "text": "Testing your Apps" + "controlName": "101-java-orm:spring-data-jpa" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "169", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "117", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "Spring Data JPA" + } + } + ] + } } }, { - "ID": "175", + "ID": "3631", "typeID": "__group__", - "zOrder": "132", - "measuredW": "177", + "zOrder": "85", + "measuredW": "169", "measuredH": "42", - "w": "177", + "w": "169", "h": "42", - "x": "525", - "y": "1052", + "x": "84", + "y": "977", + "properties": { + "controlName": "102-java-orm:hibernate" + }, "children": { "controls": { "control": [ @@ -2448,7 +3357,7 @@ "ID": "0", "typeID": "Canvas", "zOrder": "0", - "w": "177", + "w": "169", "h": "42", "measuredW": "100", "measuredH": "70", @@ -2462,39 +3371,107 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "62", + "measuredW": "73", "measuredH": "24", - "x": "18", + "x": "48", "y": "9", "properties": { "size": "16", - "text": "Mocking" + "text": "Hibernate" + } + } + ] + } + } + }, + { + "ID": "3633", + "typeID": "__group__", + "zOrder": "87", + "measuredW": "169", + "measuredH": "42", + "w": "169", + "h": "42", + "x": "84", + "y": "1023", + "properties": { + "controlName": "103-java-orm:ebean" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "169", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" } }, { - "ID": "2", + "ID": "1", "typeID": "Label", - "zOrder": "2", - "measuredW": "57", + "zOrder": "1", + "measuredW": "50", "measuredH": "24", - "x": "102", + "x": "60", "y": "9", "properties": { "size": "16", - "text": "Mockito" + "text": "EBean" + } + } + ] + } + } + }, + { + "ID": "3634", + "typeID": "__group__", + "zOrder": "12", + "measuredW": "116", + "measuredH": "42", + "w": "116", + "h": "42", + "x": "580", + "y": "917", + "properties": { + "controlName": "100-java-logging-frameworks:log4j2" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "116", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" } }, { - "ID": "3", + "ID": "1", "typeID": "Label", - "zOrder": "3", - "measuredW": "10", - "measuredH": "21", - "x": "85", - "y": "10", + "zOrder": "1", + "measuredW": "51", + "measuredH": "24", + "x": "32", + "y": "9", "properties": { - "text": ">", - "bold": "true" + "size": "16", + "text": "Log4j2" } } ] @@ -2502,45 +3479,65 @@ } }, { - "ID": "202", - "typeID": "Arrow", - "zOrder": "4", - "w": "101", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "681", - "y": "1138", + "ID": "3635", + "typeID": "__group__", + "zOrder": "89", + "measuredW": "116", + "measuredH": "42", + "w": "116", + "h": "42", + "x": "581", + "y": "871", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 100.54590590319128, - "y": 0.21503750628403395 - }, - "p1": { - "x": 0.5467472449342339, - "y": -0.006043370067543644 - }, - "p2": { - "x": -0.34456558612976096, - "y": 0.21503750628403395 + "controlName": "101-java-logging-frameworks:logback" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "116", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "62", + "measuredH": "24", + "x": "27", + "y": "9", + "properties": { + "size": "16", + "text": "Logback" + } + } + ] } } }, { - "ID": "214", + "ID": "3636", "typeID": "__group__", - "zOrder": "133", - "measuredW": "192", - "measuredH": "133", - "w": "192", - "h": "133", - "x": "758", - "y": "1052", + "zOrder": "112", + "measuredW": "166", + "measuredH": "42", + "w": "166", + "h": "42", + "x": "806", + "y": "954", + "properties": { + "controlName": "102-java-logging-frameworks:slf4j" + }, "children": { "controls": { "control": [ @@ -2548,8 +3545,8 @@ "ID": "0", "typeID": "Canvas", "zOrder": "0", - "w": "192", - "h": "133", + "w": "166", + "h": "42", "measuredW": "100", "measuredH": "70", "x": "0", @@ -2562,85 +3559,154 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "121", + "measuredW": "47", "measuredH": "24", - "x": "29", - "y": "8", + "x": "59", + "y": "9", "properties": { "size": "16", - "text": "Behavior Testing" + "text": "SLF4J" } - }, + } + ] + } + } + }, + { + "ID": "3637", + "typeID": "__group__", + "zOrder": "90", + "measuredW": "168", + "measuredH": "42", + "w": "168", + "h": "42", + "x": "804", + "y": "1001", + "properties": { + "controlName": "103-java-logging-frameworks:tinylog" + }, + "children": { + "controls": { + "control": [ { - "ID": "2", + "ID": "0", "typeID": "Canvas", - "zOrder": "2", - "w": "172", + "zOrder": "0", + "w": "168", "h": "42", "measuredW": "100", "measuredH": "70", - "x": "10", - "y": "37" + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } }, { - "ID": "3", + "ID": "1", "typeID": "Label", - "zOrder": "3", - "measuredW": "114", + "zOrder": "1", + "measuredW": "57", "measuredH": "24", - "x": "39", - "y": "46", + "x": "55", + "y": "9", "properties": { "size": "16", - "text": "Cucumber-JVM" + "text": "TinyLog" } - }, + } + ] + } + } + }, + { + "ID": "3640", + "typeID": "__group__", + "zOrder": "92", + "measuredW": "169", + "measuredH": "42", + "w": "169", + "h": "42", + "x": "84", + "y": "1083", + "properties": { + "controlName": "100-java-jdbc:jdbi3" + }, + "children": { + "controls": { + "control": [ { - "ID": "4", + "ID": "0", "typeID": "Canvas", - "zOrder": "4", - "w": "76", + "zOrder": "0", + "w": "169", "h": "42", "measuredW": "100", "measuredH": "70", - "x": "10", - "y": "83" + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } }, { - "ID": "5", + "ID": "1", "typeID": "Label", - "zOrder": "5", - "measuredW": "46", + "zOrder": "1", + "measuredW": "47", "measuredH": "24", - "x": "25", - "y": "92", + "x": "61", + "y": "9", "properties": { "size": "16", - "text": "Cukes" + "text": "JDBI3" } - }, + } + ] + } + } + }, + { + "ID": "3641", + "typeID": "__group__", + "zOrder": "93", + "measuredW": "169", + "measuredH": "42", + "w": "169", + "h": "42", + "x": "84", + "y": "1129", + "properties": { + "controlName": "101-java-jdbc:jdbc-template" + }, + "children": { + "controls": { + "control": [ { - "ID": "6", + "ID": "0", "typeID": "Canvas", - "zOrder": "6", - "w": "91", + "zOrder": "0", + "w": "169", "h": "42", "measuredW": "100", "measuredH": "70", - "x": "91", - "y": "83" + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } }, { - "ID": "7", + "ID": "1", "typeID": "Label", - "zOrder": "7", - "measuredW": "64", + "zOrder": "1", + "measuredW": "114", "measuredH": "24", - "x": "105", - "y": "92", + "x": "28", + "y": "9", "properties": { "size": "16", - "text": "JBehave" + "text": "JDBC Template" } } ] @@ -2648,15 +3714,18 @@ } }, { - "ID": "215", + "ID": "3646", "typeID": "__group__", - "zOrder": "134", - "measuredW": "168", - "measuredH": "133", - "w": "168", - "h": "133", - "x": "239", - "y": "1188", + "zOrder": "95", + "measuredW": "177", + "measuredH": "42", + "w": "177", + "h": "42", + "x": "535", + "y": "1062", + "properties": { + "controlName": "100-testing-java-apps:mocking" + }, "children": { "controls": { "control": [ @@ -2664,8 +3733,8 @@ "ID": "0", "typeID": "Canvas", "zOrder": "0", - "w": "168", - "h": "133", + "w": "177", + "h": "42", "measuredW": "100", "measuredH": "70", "x": "0", @@ -2678,61 +3747,39 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "135", + "measuredW": "62", "measuredH": "24", - "x": "16", + "x": "18", "y": "9", "properties": { "size": "16", - "text": "Integration Testing" + "text": "Mocking" } }, { "ID": "2", - "typeID": "Canvas", - "zOrder": "2", - "w": "148", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "37" - }, - { - "ID": "3", "typeID": "Label", - "zOrder": "3", - "measuredW": "104", + "zOrder": "2", + "measuredW": "57", "measuredH": "24", - "x": "39", - "y": "46", + "x": "102", + "y": "9", "properties": { "size": "16", - "text": "REST Assured" + "text": "Mockito" } }, { - "ID": "4", - "typeID": "Canvas", - "zOrder": "4", - "w": "148", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "83" - }, - { - "ID": "5", + "ID": "3", "typeID": "Label", - "zOrder": "5", - "measuredW": "52", - "measuredH": "24", - "x": "58", - "y": "92", + "zOrder": "3", + "measuredW": "10", + "measuredH": "21", + "x": "85", + "y": "10", "properties": { - "size": "16", - "text": "JMeter" + "text": ">", + "bold": "true" } } ] @@ -2740,15 +3787,42 @@ } }, { - "ID": "216", - "typeID": "__group__", - "zOrder": "135", - "measuredW": "154", - "measuredH": "133", - "w": "154", + "ID": "3647", + "typeID": "Canvas", + "zOrder": "96", + "w": "192", "h": "133", - "x": "89", - "y": "1188", + "measuredW": "100", + "measuredH": "70", + "x": "768", + "y": "1062" + }, + { + "ID": "3648", + "typeID": "Label", + "zOrder": "97", + "measuredW": "121", + "measuredH": "24", + "x": "797", + "y": "1070", + "properties": { + "size": "16", + "text": "Behavior Testing" + } + }, + { + "ID": "3655", + "typeID": "__group__", + "zOrder": "98", + "measuredW": "172", + "measuredH": "42", + "w": "172", + "h": "42", + "x": "778", + "y": "1099", + "properties": { + "controlName": "101-testing-java-apps:cucumber-jvm" + }, "children": { "controls": { "control": [ @@ -2756,8 +3830,8 @@ "ID": "0", "typeID": "Canvas", "zOrder": "0", - "w": "154", - "h": "133", + "w": "172", + "h": "42", "measuredW": "100", "measuredH": "70", "x": "0", @@ -2770,61 +3844,60 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "86", + "measuredW": "114", "measuredH": "24", - "x": "34", - "y": "8", + "x": "29", + "y": "9", "properties": { "size": "16", - "text": "Unit Testing" + "text": "Cucumber-JVM" } - }, + } + ] + } + } + }, + { + "ID": "3656", + "typeID": "__group__", + "zOrder": "99", + "measuredW": "76", + "measuredH": "42", + "w": "76", + "h": "42", + "x": "778", + "y": "1145", + "properties": { + "controlName": "102-testing-java-apps:cukes" + }, + "children": { + "controls": { + "control": [ { - "ID": "2", + "ID": "0", "typeID": "Canvas", - "zOrder": "2", - "w": "125", + "zOrder": "0", + "w": "76", "h": "42", "measuredW": "100", "measuredH": "70", - "x": "14", - "y": "36" - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "39", - "measuredH": "24", - "x": "57", - "y": "45", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "JUnit" + "color": "16770457" } }, { - "ID": "6", - "typeID": "Canvas", - "zOrder": "4", - "w": "125", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "14", - "y": "82" - }, - { - "ID": "7", + "ID": "1", "typeID": "Label", - "zOrder": "5", - "measuredW": "55", + "zOrder": "1", + "measuredW": "46", "measuredH": "24", - "x": "49", - "y": "91", + "x": "15", + "y": "9", "properties": { "size": "16", - "text": "TestNG" + "text": "Cukes" } } ] @@ -2832,101 +3905,46 @@ } }, { - "ID": "219", + "ID": "3657", "typeID": "__group__", - "zOrder": "136", - "measuredW": "468", - "measuredH": "153", - "w": "468", - "h": "153", - "x": "500", - "y": "1263", + "zOrder": "100", + "measuredW": "91", + "measuredH": "42", + "w": "91", + "h": "42", + "x": "859", + "y": "1145", + "properties": { + "controlName": "103-testing-java-apps:jbehave" + }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Arrow", + "typeID": "Canvas", "zOrder": "0", - "w": "1", - "h": "98", - "measuredW": "150", - "measuredH": "100", - "x": "233", - "y": "55", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.5, - "y": -0.5 - }, - "p1": { - "x": 0.5259259259259262, - "y": 0 - }, - "p2": { - "x": -0.5, - "y": 97 - }, - "stroke": "dotted" + "w": "91", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" } }, { "ID": "1", - "typeID": "__group__", + "typeID": "Label", "zOrder": "1", - "measuredW": "468", - "measuredH": "84", - "w": "468", - "h": "84", - "x": "0", - "y": "0", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "468", - "h": "84", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "407", - "measuredH": "28", - "x": "30", - "y": "16", - "properties": { - "size": "20", - "text": "Backend Roadmap after Language Selection" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "153", - "measuredH": "24", - "x": "157", - "y": "44", - "properties": { - "size": "16", - "text": "roadmap.sh/backend", - "color": "10027263" - } - } - ] - } + "measuredW": "64", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "JBehave" } } ] @@ -2934,104 +3952,66 @@ } }, { - "ID": "226", - "typeID": "Arrow", - "zOrder": "3", - "w": "1", - "h": "62", - "measuredW": "150", - "measuredH": "100", - "x": "607", - "y": "1071", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.5467472449342341, - "y": -0.006043370067543647 - }, - "p2": { - "x": 0, - "y": 61.5 - } - } - }, - { - "ID": "227", - "typeID": "Arrow", - "zOrder": "2", - "w": "1", - "h": "153", - "measuredW": "150", - "measuredH": "100", - "x": "604", - "y": "1138", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 1, - "y": -0.5 - }, - "p1": { - "x": 0.5467472449342342, - "y": -0.006043370067543646 - }, - "p2": { - "x": 1, - "y": 152.12975218407814 - } - } - }, - { - "ID": "228", - "typeID": "Arrow", - "zOrder": "1", - "w": "164", - "h": "80", - "measuredW": "150", - "measuredH": "100", - "x": "360", - "y": "1150", + "ID": "3658", + "typeID": "Canvas", + "zOrder": "105", + "w": "154", + "h": "133", + "measuredW": "100", + "measuredH": "70", + "x": "99", + "y": "1198" + }, + { + "ID": "3659", + "typeID": "Label", + "zOrder": "106", + "measuredW": "86", + "measuredH": "24", + "x": "133", + "y": "1206", "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 163.54590590319128, - "y": 0.21503750628403395 - }, - "p1": { - "x": 0.3415936949541605, - "y": 0.2360486189239869 - }, - "p2": { - "x": -0.4888832845319939, - "y": 78.4480648241979 - } + "size": "16", + "text": "Unit Testing" + } + }, + { + "ID": "3664", + "typeID": "Canvas", + "zOrder": "101", + "w": "168", + "h": "133", + "measuredW": "100", + "measuredH": "70", + "x": "249", + "y": "1198" + }, + { + "ID": "3665", + "typeID": "Label", + "zOrder": "102", + "measuredW": "135", + "measuredH": "24", + "x": "265", + "y": "1207", + "properties": { + "size": "16", + "text": "Integration Testing" } }, { - "ID": "232", + "ID": "3670", "typeID": "__group__", - "zOrder": "57", - "measuredW": "350", - "measuredH": "141", - "w": "350", - "h": "141", - "x": "616", - "y": "171", + "zOrder": "107", + "measuredW": "125", + "measuredH": "42", + "w": "125", + "h": "42", + "x": "113", + "y": "1234", + "properties": { + "controlName": "104-testing-java-apps:junit" + }, "children": { "controls": { "control": [ @@ -3039,122 +4019,168 @@ "ID": "0", "typeID": "Canvas", "zOrder": "0", - "w": "350", - "h": "141", + "w": "125", + "h": "42", "measuredW": "100", "measuredH": "70", "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "314", - "measuredH": "25", - "x": "14", - "y": "17", + "y": "0", "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" + "color": "16770457" } }, { - "ID": "2", + "ID": "1", "typeID": "Label", - "zOrder": "2", - "measuredW": "319", - "measuredH": "25", - "x": "14", - "y": "45", + "zOrder": "1", + "measuredW": "39", + "measuredH": "24", + "x": "43", + "y": "9", "properties": { - "size": "17", - "text": "along with resources and other roadmaps" + "size": "16", + "text": "JUnit" } - }, + } + ] + } + } + }, + { + "ID": "3671", + "typeID": "__group__", + "zOrder": "108", + "measuredW": "125", + "measuredH": "42", + "w": "125", + "h": "42", + "x": "113", + "y": "1280", + "properties": { + "controlName": "105-testing-java-apps:testng" + }, + "children": { + "controls": { + "control": [ { - "ID": "3", + "ID": "0", "typeID": "Canvas", - "zOrder": "3", - "w": "320", - "h": "45", + "zOrder": "0", + "w": "125", + "h": "42", "measuredW": "100", "measuredH": "70", - "x": "15", - "y": "81", + "x": "0", + "y": "0", "properties": { - "borderColor": "4273622", - "color": "4273622" + "color": "16770457" } }, { - "ID": "4", + "ID": "1", "typeID": "Label", - "zOrder": "4", - "measuredW": "105", - "measuredH": "28", - "x": "156", - "y": "89", + "zOrder": "1", + "measuredW": "55", + "measuredH": "24", + "x": "35", + "y": "9", "properties": { - "color": "16777215", - "size": "20", - "text": "roadmap.sh" + "size": "16", + "text": "TestNG" } - }, + } + ] + } + } + }, + { + "ID": "3672", + "typeID": "__group__", + "zOrder": "103", + "measuredW": "148", + "measuredH": "42", + "w": "148", + "h": "42", + "x": "259", + "y": "1235", + "properties": { + "controlName": "106-testing-java-apps:rest-assured" + }, + "children": { + "controls": { + "control": [ { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "35", - "measuredH": "28", - "x": "91", - "y": "89", + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "148", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", "properties": { - "color": "16777215", - "size": "20", - "text": "http" + "color": "16770457" } }, { - "ID": "6", + "ID": "1", "typeID": "Label", - "zOrder": "6", - "measuredW": "5", - "measuredH": "28", - "x": "128", - "y": "89", + "zOrder": "1", + "measuredW": "104", + "measuredH": "24", + "x": "29", + "y": "9", "properties": { - "color": "16777215", - "size": "20", - "text": ":" + "size": "16", + "text": "REST Assured" } - }, + } + ] + } + } + }, + { + "ID": "3673", + "typeID": "__group__", + "zOrder": "104", + "measuredW": "148", + "measuredH": "42", + "w": "148", + "h": "42", + "x": "259", + "y": "1281", + "properties": { + "controlName": "107-testing-java-apps:jmeter" + }, + "children": { + "controls": { + "control": [ { - "ID": "7", - "typeID": "Label", - "zOrder": "7", - "measuredW": "10", - "measuredH": "28", - "x": "135", - "y": "90", + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "148", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", "properties": { - "color": "16777215", - "size": "20", - "text": "/" + "color": "16770457" } }, { - "ID": "8", + "ID": "1", "typeID": "Label", - "zOrder": "8", - "measuredW": "10", - "measuredH": "28", - "x": "143", - "y": "90", + "zOrder": "1", + "measuredW": "52", + "measuredH": "24", + "x": "48", + "y": "9", "properties": { - "color": "16777215", - "size": "20", - "text": "/" + "size": "16", + "text": "JMeter" } } ] @@ -3162,15 +4188,18 @@ } }, { - "ID": "233", + "ID": "3678", "typeID": "__group__", - "zOrder": "137", - "measuredW": "454", - "measuredH": "90", - "w": "454", - "h": "90", - "x": "125", - "y": "203", + "zOrder": "110", + "measuredW": "468", + "measuredH": "84", + "w": "468", + "h": "84", + "x": "510", + "y": "1273", + "properties": { + "controlName": "ext_link:roadmap.sh/backend" + }, "children": { "controls": { "control": [ @@ -3178,8 +4207,8 @@ "ID": "0", "typeID": "Canvas", "zOrder": "0", - "w": "454", - "h": "90", + "w": "468", + "h": "84", "measuredW": "100", "measuredH": "70", "x": "0", @@ -3189,13 +4218,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "384", + "measuredW": "407", "measuredH": "28", - "x": "35", - "y": "19", + "x": "30", + "y": "16", "properties": { "size": "20", - "text": "Backend Roadmap till Language Selection" + "text": "Backend Roadmap after Language Selection" } }, { @@ -3204,8 +4233,8 @@ "zOrder": "2", "measuredW": "153", "measuredH": "24", - "x": "150", - "y": "48", + "x": "157", + "y": "44", "properties": { "size": "16", "text": "roadmap.sh/backend", @@ -3215,51 +4244,27 @@ ] } } - }, - { - "ID": "234", - "typeID": "Arrow", - "zOrder": "0", - "w": "29", - "h": "56", - "measuredW": "150", - "measuredH": "100", - "x": "386", - "y": "155", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.5189460476787955, - "y": -0.17340025094102887 - }, - "p2": { - "x": 29, - "y": 56 - }, - "stroke": "dotted" - } } ] }, "attributes": { - "name": "New Wireframe 5 copy", - "order": 1000048.9377613901, + "name": "New Wireframe 1", + "order": 1000000, "parentID": null, - "notes": null + "notes": "" }, "branchID": "Master", - "resourceID": "3171FA3F-E344-493D-8EA8-E957C760DC45", + "resourceID": "CCB6346D-253A-48EE-9AB5-68DBEF696597", "mockupH": "1261", - "mockupW": "899", - "measuredW": "968", - "measuredH": "1416", + "mockupW": "1044", + "measuredW": "1066", + "measuredH": "1426", "version": "1.0" - } + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr" } diff --git a/public/sitemap.xml b/public/sitemap.xml index 8908329b4..1ba78f253 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -57,7 +57,7 @@ https://roadmap.sh/java monthly - 2022-08-08T14:33:53.389Z + 2022-08-14T15:22:36.252Z 1.0 @@ -267,7 +267,7 @@ https://roadmap.sh/signup monthly - 2022-08-04T14:33:07.896Z + 2022-08-14T14:08:55.805Z 0.9