{"version":1,"pages":[{"id":"6WkTOxAftaLE9w1TAlCa","title":"About","pathname":"/the-programmers-guide","siteSpaceId":"sitesp_dugkv","icon":"user-robot","description":""},{"id":"6TbgGh3ycof4wjRVe9rR","title":"AI","pathname":"/the-programmers-guide/ai","siteSpaceId":"sitesp_dugkv","icon":"brain-circuit"},{"id":"vHwvcTMHggjAmkkEg81x","title":"Algorithm","pathname":"/the-programmers-guide/algorithm","siteSpaceId":"sitesp_dugkv","icon":"ruler-triangle","description":""},{"id":"P8T3XHHqJOUAiEgrPKcq","title":"Big O Notation","pathname":"/the-programmers-guide/algorithm/big-o-notation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"8neR1NGtTKoastMU3461","title":"Tree","pathname":"/the-programmers-guide/algorithm/big-o-notation/tree","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Big O Notation"}]},{"id":"WuETv0rEKCGoEyQ1Cy5f","title":"Problems","pathname":"/the-programmers-guide/algorithm/big-o-notation/problems","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Big O Notation"}]},{"id":"JCpOgFmPmkqRNgeovtqg","title":"Basic Notes","pathname":"/the-programmers-guide/algorithm/basic-notes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"IhLJlpiCxmCCNTYEdtkk","title":"Data Structure Implementation","pathname":"/the-programmers-guide/algorithm/data-structure-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"uHK2S1kz0GMvHVRIIcqA","title":"Custom LinkedList","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-linkedlist","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"}]},{"id":"7vjrKLNocz2uJKTcT71N","title":"Custom Stack","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-stack","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"}]},{"id":"pvHq2XgmqiQYUQYID6qx","title":"Custom Queue","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-queue","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"}]},{"id":"tVe45quj7c3UwC5wmGiZ","title":"Custom Tree","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-tree","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"}]},{"id":"jSbltEkXUJRoklju2YJG","title":"Binary Tree Implementation","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-tree/binary-tree-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Tree"}]},{"id":"8QAH9L08WESgK7XHhqKx","title":"Binary Search Tree Implementation","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-tree/binary-search-tree-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Tree"}]},{"id":"kgf1uhWRXw5b7j4kN8ia","title":"Min Heap Implementation","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-tree/min-heap-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Tree"}]},{"id":"AREJi45QS22JHGM1xNfY","title":"Max Heap Implementation","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-tree/max-heap-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Tree"}]},{"id":"roNMfXZ1uBNJaMjqe1al","title":"Trie Implementation","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-tree/trie-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Tree"}]},{"id":"yAMJ3Btp7G9rJS1dTMNs","title":"Custom Graph","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-graph","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"}]},{"id":"LtFBFWxZc7UqfEqzsUsY","title":"Adjacency List","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-graph/adjacency-list","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Graph"}]},{"id":"6z55uQzSFwpJNo1RsOxM","title":"Adjacency Matrix","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-graph/adjacency-matrix","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Graph"}]},{"id":"hTHWuYQ46gmAH4Yilt94","title":"Edge List","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-graph/edge-list","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Graph"}]},{"id":"2UDziZyU8RKngaQr2tfc","title":"Bidirectional Search","pathname":"/the-programmers-guide/algorithm/data-structure-implementation/custom-graph/bidirectional-search","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Data Structure Implementation"},{"label":"Custom Graph"}]},{"id":"MmGPaWFuzmdkcCkRCkEz","title":"Mathematical Algorithms","pathname":"/the-programmers-guide/algorithm/mathematical-algorithms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"MKc7yFBFpMs33SArJLV7","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/mathematical-algorithms/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Mathematical Algorithms"}]},{"id":"O0svDN7h7dIEFzRrugAX","title":"Problems - Set 2","pathname":"/the-programmers-guide/algorithm/mathematical-algorithms/problems-set-2","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Mathematical Algorithms"}]},{"id":"ljJ3rj8NKnLNt0vParnk","title":"Bit Manipulation","pathname":"/the-programmers-guide/algorithm/bit-manipulation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"mPEsezfWbSaCqgwiIhEx","title":"Representation","pathname":"/the-programmers-guide/algorithm/bit-manipulation/representation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Bit Manipulation"}]},{"id":"UPW7x4UQj3pJIH8Wsb3G","title":"Truth Tables","pathname":"/the-programmers-guide/algorithm/bit-manipulation/truth-tables","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Bit Manipulation"}]},{"id":"R37YNmEDRBdeIhon4wRk","title":"Number System","pathname":"/the-programmers-guide/algorithm/bit-manipulation/number-system","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Bit Manipulation"}]},{"id":"9nHR3WOLVMOPxZrD1PwU","title":"Java Program","pathname":"/the-programmers-guide/algorithm/bit-manipulation/number-system/java-program","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Bit Manipulation"},{"label":"Number System"}]},{"id":"Wh0fFdKthjzbj4pG2tbV","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/bit-manipulation/java-program-bit-manipulation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Bit Manipulation"}]},{"id":"dksOBC2DrDvEUqC0rB3h","title":"Searching","pathname":"/the-programmers-guide/algorithm/set-2-searching","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"BWBMUp7DRh0jkc7B1jn5","title":"Sorting","pathname":"/the-programmers-guide/algorithm/set-3-sorting","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"QmfAbXckTUwK4gbdOGQ1","title":"Array Algorithms","pathname":"/the-programmers-guide/algorithm/array-algorithms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"LsClG0398obmcIv8YEVQ","title":"String Algorithms","pathname":"/the-programmers-guide/algorithm/string-algorithms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"zoWi35tkQogtR9RB6BKM","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/string-algorithms/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"String Algorithms"}]},{"id":"0c9eODUywNss2HoTaiIv","title":"Sliding Window Programming","pathname":"/the-programmers-guide/algorithm/sliding-window-programming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"RvqFv64ZjpwEBXYm3k3u","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/sliding-window-programming/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Sliding Window Programming"}]},{"id":"zCnyFl3ChXZTkWZlCK1J","title":"Tree","pathname":"/the-programmers-guide/algorithm/tree","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"abU4PCWTC24RKukpC9Ju","title":"Tree Traversal Techniques","pathname":"/the-programmers-guide/algorithm/tree/tree-traversal-techniques","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Tree"}]},{"id":"nCuFNvXTA1p4PaKbOLtW","title":"Tree Implementation","pathname":"/the-programmers-guide/algorithm/tree/tree-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Tree"}]},{"id":"oC0or8UEbID7JrpcRu6I","title":"AVL Tree","pathname":"/the-programmers-guide/algorithm/tree/avl-tree","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Tree"}]},{"id":"XUmEiVQ57xJP7mILPxUd","title":"Red-Black Trees","pathname":"/the-programmers-guide/algorithm/tree/red-black-trees","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Tree"}]},{"id":"38zgIpuZhb14RENcZXJB","title":"Applications of Trees","pathname":"/the-programmers-guide/algorithm/tree/applications-of-trees","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Tree"}]},{"id":"02lC6eebKh8l5CliQ4Y8","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/tree/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Tree"}]},{"id":"o7QSdGSzN0RwTfKKt8qN","title":"Graph","pathname":"/the-programmers-guide/algorithm/graph","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"gMVRRRwMh1danVCSniiG","title":"Graph Traversal Techniques","pathname":"/the-programmers-guide/algorithm/graph/graph-traversal-techniques","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Graph"}]},{"id":"FmbqRBTqmUNZvaQ54AGc","title":"Shortest Path Algorithms","pathname":"/the-programmers-guide/algorithm/graph/shortest-path-algorithms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Graph"}]},{"id":"hgaKiwX5vWBjqwAhgoP2","title":"Dijkstra’s Algorithm","pathname":"/the-programmers-guide/algorithm/graph/shortest-path-algorithms/dijkstras-algorithm","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Graph"},{"label":"Shortest Path Algorithms"}]},{"id":"sUR0iKkeqlt88d0wMFwz","title":"Minimum Spanning Tree (MST) Algorithms","pathname":"/the-programmers-guide/algorithm/graph/minimum-spanning-tree-mst-algorithms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Graph"}]},{"id":"eLcj9demBoEYKmDmGiyp","title":"Topological Sort","pathname":"/the-programmers-guide/algorithm/graph/topological-sort","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Graph"}]},{"id":"7Fy7UTMdF9YQzHkNpnSe","title":"Dynamic Programming","pathname":"/the-programmers-guide/algorithm/dynamic-programming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"7sueWryYKzvHu06qA9gG","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/dynamic-programming/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Dynamic Programming"}]},{"id":"awS5CDF5dkUXDKUntDcX","title":"Greedy Programming","pathname":"/the-programmers-guide/algorithm/greedy-programming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"TYWYDuEA1mtFriOHjbPL","title":"Recursion","pathname":"/the-programmers-guide/algorithm/backtracking-tbu","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"bRtOvaHLXuYxUvBFwKOs","title":"Parallel Programming","pathname":"/the-programmers-guide/algorithm/parallel-programming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"hyNXSajTzjVk73qdDUzs","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/parallel-programming/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Parallel Programming"}]},{"id":"d8GwWHD00qZh7R29g131","title":"Miscellaneous","pathname":"/the-programmers-guide/algorithm/set-1-miscellaneous","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"}]},{"id":"SOkfmTZCRWaLWzGfuibv","title":"Problems - Set 1","pathname":"/the-programmers-guide/algorithm/set-1-miscellaneous/problems-set-1","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Algorithm","icon":"ruler-triangle"},{"label":"Miscellaneous"}]},{"id":"U6MrEJnGX520mP5jT9af","title":"API","pathname":"/the-programmers-guide/api","siteSpaceId":"sitesp_dugkv","icon":"plug","description":""},{"id":"4Fbp73NulKiQdlwBzW25","title":"API Fundamentals","pathname":"/the-programmers-guide/api/api-basics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"OCVzidXYL8M0YIvJRT8C","title":"Terminology","pathname":"/the-programmers-guide/api/api-basics/terminology","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Fundamentals"}]},{"id":"lFowsMwMc5G9b8NHxXuj","title":"What is an API ?","pathname":"/the-programmers-guide/api/api-basics/what-is-an-api","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Fundamentals"}]},{"id":"89NiMT2lQEsiN0hZwDnz","title":"Consumers & Providers","pathname":"/the-programmers-guide/api/api-basics/consumers-and-providers","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Fundamentals"}]},{"id":"xa5d7xAnk3zFO9P73Z1u","title":"Request & Response","pathname":"/the-programmers-guide/api/api-basics/request-and-response","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Fundamentals"}]},{"id":"pJyu5JqJi58w7Ng2bTao","title":"Types of API","pathname":"/the-programmers-guide/api/api-basics/types-of-api","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Fundamentals"}]},{"id":"nZypYjnZ2aMyPWdfwilw","title":"API Communication Patterns","pathname":"/the-programmers-guide/api/api-communication-patterns","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"iyeliwGEEKzrZxQDD01w","title":"Synchronous Communication","pathname":"/the-programmers-guide/api/api-communication-patterns/synchronous-communication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"}]},{"id":"8GwfMwLeTKxZKWaJnluN","title":"Request-Response Pattern (Blocking)","pathname":"/the-programmers-guide/api/api-communication-patterns/synchronous-communication/request-response-pattern-blocking","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Synchronous Communication"}]},{"id":"6UymYnr4PL94nmKLfM0W","title":"Request-Response Pattern (Non-blocking)","pathname":"/the-programmers-guide/api/api-communication-patterns/synchronous-communication/request-response-pattern-non-blocking","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Synchronous Communication"}]},{"id":"ocSztIaxPNZVdgA39FTv","title":"Client Polling","pathname":"/the-programmers-guide/api/api-communication-patterns/synchronous-communication/client-polling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Synchronous Communication"}]},{"id":"PbNFnQURReHgtkbB3e3K","title":"Asynchronous Communication","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"}]},{"id":"uNa4TfRbunm9nGIcteBB","title":"Request-Response Pattern (Truly Asynchronous)","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/request-response-pattern-truly-asynchronous","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"}]},{"id":"D2qjxjwCAMDFx1ezPrkR","title":"Event-Driven Pattern","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/event-driven-pattern","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"}]},{"id":"3T0kGaNl2enMzD9a8HvK","title":"Publish-Subscribe Pattern","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/publish-subscribe-pattern","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"}]},{"id":"nFmLePAo9eDsEm09G5hh","title":"Streaming & Real-Time APIs","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/streaming-and-real-time-apis","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"}]},{"id":"ahMnWqPZKNOB3VR2mC1j","title":"Server-Sent Events (SSE)","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/streaming-and-real-time-apis/server-sent-events-sse","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"},{"label":"Streaming & Real-Time APIs"}]},{"id":"Gf8GlgxsMDfZH46ybH1T","title":"WebSockets","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/streaming-and-real-time-apis/websockets","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"},{"label":"Streaming & Real-Time APIs"}]},{"id":"15wl0qv41FzzTPx513VK","title":"gRPC Streaming","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/streaming-and-real-time-apis/grpc-streaming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"},{"label":"Streaming & Real-Time APIs"}]},{"id":"EV9T4HBduq4eR4p8b9Kj","title":"Webhooks (HTTP Callbacks)","pathname":"/the-programmers-guide/api/api-communication-patterns/asynchronous-communication/webhooks-http-callbacks","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Asynchronous Communication"}]},{"id":"UZoguTyVBdaAOeQzyH1b","title":"Hybrid or Adaptive Patterns","pathname":"/the-programmers-guide/api/api-communication-patterns/hybrid-or-adaptive-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"}]},{"id":"mXu3Ae1grgSHVJvANPOn","title":"Async Requests with Sync Feedback","pathname":"/the-programmers-guide/api/api-communication-patterns/hybrid-or-adaptive-patterns/async-requests-with-sync-feedback","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Hybrid or Adaptive Patterns"}]},{"id":"aL0f3A6VMhT5bHkp5yUX","title":"Request-Response with Async Push Updates","pathname":"/the-programmers-guide/api/api-communication-patterns/hybrid-or-adaptive-patterns/request-response-with-async-push-updates","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Hybrid or Adaptive Patterns"}]},{"id":"nI3rhNKfJPfuan2mdz1C","title":"Sync-Async Failover Patterns","pathname":"/the-programmers-guide/api/api-communication-patterns/hybrid-or-adaptive-patterns/sync-async-failover-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Communication Patterns"},{"label":"Hybrid or Adaptive Patterns"}]},{"id":"zH59iF56xXe0yoXZy3SV","title":"API Styles & Protocols","pathname":"/the-programmers-guide/api/api-styles-and-protocols","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"kmlKH2s6FW5sIVbhiWki","title":"REST API","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"}]},{"id":"awg5BskphxQ4uuGSisFD","title":"RESTful API Principles","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/restful-api-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"}]},{"id":"hOIhyG3QKAfRODKMMJH6","title":"HTTP Status Code","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/http-status-code","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"}]},{"id":"R5NMVl9GhVtZw60GM035","title":"HTTP Verbs or Methods","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/http-verbs-or-methods","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"}]},{"id":"AuyUALgAA5993dkvEX7l","title":"HTTP Headers","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/http-headers","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"}]},{"id":"iEX5MJwlL2d8B4VvjQT5","title":"Content Type","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/http-headers/content-type","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"},{"label":"HTTP Headers"}]},{"id":"Jg1iSfQZprvNFqsH20HP","title":"Content-Disposition","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/http-headers/content-disposition","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"},{"label":"HTTP Headers"}]},{"id":"U3oWEWQyiQY1aAiha0k3","title":"Query Parameters & Path Parameters","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/query-parameters-and-path-parameters","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"}]},{"id":"lTnJ6NqDe3G4JqYOEXJB","title":"Handling Special Characters in URL","pathname":"/the-programmers-guide/api/api-styles-and-protocols/rest-api/query-parameters-and-path-parameters/handling-special-characters-in-url","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Styles & Protocols"},{"label":"REST API"},{"label":"Query Parameters & Path Parameters"}]},{"id":"26JWBXVijC4c9B4UwNxq","title":"API Lifecycle Management","pathname":"/the-programmers-guide/api/api-lifecycle-management","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"Mk38opRpVHYGZpIDghrG","title":"API Compatibility","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-compatibility","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"}]},{"id":"OXPHwHV1LjFvBFtmkTzr","title":"Backward Compatibility","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-compatibility/backward-compatibility","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"},{"label":"API Compatibility"}]},{"id":"udCSMfqnnU4WN0Dl789h","title":"Forward Compatibility","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-compatibility/forward-compatibility","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"},{"label":"API Compatibility"}]},{"id":"VDLhP5CwBghb6BUOBFFk","title":"API Versioning Strategies","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-versioning-strategies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"}]},{"id":"uNMF5JeB1YIrE9wGsviM","title":"REST API Versioning Approaches","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-versioning-strategies/rest-api-versioning-approaches","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"},{"label":"API Versioning Strategies"}]},{"id":"IfuC8bXGltfeYax5EhnQ","title":"GraphQL API Versioning Approaches","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-versioning-strategies/graphql-api-versioning-approaches","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"},{"label":"API Versioning Strategies"}]},{"id":"as2NlXOeOJUhqqAywbMR","title":"API Deprecation","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-deprecation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"}]},{"id":"N62SdTXMLVE3hdW9SPTo","title":"REST API Deprecation Approach","pathname":"/the-programmers-guide/api/api-lifecycle-management/api-deprecation/rest-api-deprecation-approach","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Lifecycle Management"},{"label":"API Deprecation"}]},{"id":"UEhnzH3RrOsHvDGwSWgu","title":"Data Handling","pathname":"/the-programmers-guide/api/data-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"rXMsaYgt8vTwjFbK4rqM","title":"Pagination","pathname":"/the-programmers-guide/api/data-handling/pagination","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Data Handling"}]},{"id":"sCLLyKsr1aSj6DiNpEjN","title":"Filtering","pathname":"/the-programmers-guide/api/data-handling/filtering","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Data Handling"}]},{"id":"LUVUy1r5iRh4rbhGB605","title":"Sorting","pathname":"/the-programmers-guide/api/data-handling/sorting","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Data Handling"}]},{"id":"64I7LOcHKWKmJmUrzsB2","title":"Field Selection (Projection)","pathname":"/the-programmers-guide/api/data-handling/field-selection-projection","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Data Handling"}]},{"id":"sEQyatV31lFo4IqIXhOk","title":"Naming Guidelines","pathname":"/the-programmers-guide/api/naming-guidelines","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"7lqbCtGn81KBxgtvOZBO","title":"API Endpoint Naming","pathname":"/the-programmers-guide/api/naming-guidelines/api-endpoint-naming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Naming Guidelines"}]},{"id":"1Yuk71Scc2bTrHyMaeLq","title":"Parameter Naming","pathname":"/the-programmers-guide/api/naming-guidelines/parameter-naming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Naming Guidelines"}]},{"id":"rTlcig7mz0PBWcy5CPSM","title":"Field and Property Naming","pathname":"/the-programmers-guide/api/naming-guidelines/field-and-property-naming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Naming Guidelines"}]},{"id":"voEBiTy9x4NfFWCagaN9","title":"Error Codes and Messages","pathname":"/the-programmers-guide/api/naming-guidelines/error-codes-and-messages","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Naming Guidelines"}]},{"id":"SETgsAkOkhxsLlF0tTCR","title":"Versioning Naming","pathname":"/the-programmers-guide/api/naming-guidelines/versioning-naming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"Naming Guidelines"}]},{"id":"ATzPLsLV0XooVMktScSi","title":"API Testing","pathname":"/the-programmers-guide/api/api-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"}]},{"id":"mlR0OxymsvfxSe2mpKcY","title":"Tools","pathname":"/the-programmers-guide/api/api-testing/tools","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Testing"}]},{"id":"IWoXj7sIeUPt7MXMJeeO","title":"Postman","pathname":"/the-programmers-guide/api/api-testing/tools/postman","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Testing"},{"label":"Tools"}]},{"id":"NRVMIWAhxB0aAZtO3dhl","title":"SoapUI","pathname":"/the-programmers-guide/api/api-testing/tools/soapui","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Testing"},{"label":"Tools"}]},{"id":"fAT1RS8cqd1fq6iBcGLj","title":"Curl","pathname":"/the-programmers-guide/api/api-testing/tools/curl","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"API","icon":"plug"},{"label":"API Testing"},{"label":"Tools"}]},{"id":"XTdPfms8nOpCcUCpvI0o","title":"Database","pathname":"/the-programmers-guide/database","siteSpaceId":"sitesp_dugkv","icon":"cabinet-filing"},{"id":"aKRaAarZoX5ZMU9L7Els","title":"DBMS","pathname":"/the-programmers-guide/database/dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"}]},{"id":"3hRLvX4ITGyPEuUUHVrG","title":"Types of DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"}]},{"id":"s3TYe5g9czJrp6j8utJ0","title":"Relational DBMS (RDBMS)","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/relational-dbms-rdbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"d9YEsF01o2c0suSQnk3V","title":"NoSQL DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/nosql-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"1A9W2AO6d1WvaQ13HXKX","title":"Object-Oriented DBMS (OODBMS)","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/object-oriented-dbms-oodbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"POMasv6MDy1alNsYEO3o","title":"Columnar DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/columnar-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"52lqoZTdzOwmy1VNfn8k","title":"In-Memory DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/in-memory-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"Pk9jl9pm892vAwbaWUxA","title":"Distributed DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/distributed-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"HF9RtDnjRuZS6NlDvpyM","title":"Cloud-Based DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/cloud-based-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"WjLYTkjUIjjmAN6CDfBT","title":"Hierarchical DBMS","pathname":"/the-programmers-guide/database/dbms/types-of-dbms/hierarchical-dbms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"},{"label":"Types of DBMS"}]},{"id":"ySR5RO4IPVZxGSuMh1b5","title":"DBMS Architecture","pathname":"/the-programmers-guide/database/dbms/dbms-architecture","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"}]},{"id":"Ab2GyzHGlplkfqBdpn8E","title":"DBMS Structure","pathname":"/the-programmers-guide/database/dbms/dbms-structure","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"DBMS"}]},{"id":"mdXZ1HHZ2NBMbNKbjd91","title":"SQL Databases","pathname":"/the-programmers-guide/database/sql-databases","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"}]},{"id":"nJn0OXpegSuqUhyZHIrb","title":"Terminology","pathname":"/the-programmers-guide/database/sql-databases/terminology","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"}]},{"id":"rVyz5LVolwTyu7YeFmCs","title":"RDBMS Concepts","pathname":"/the-programmers-guide/database/sql-databases/rdbms","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"}]},{"id":"45bclIZBVrOBtVlTGEod","title":"Entity Relationship Diagram (ERD)","pathname":"/the-programmers-guide/database/sql-databases/rdbms/entity-relationship-diagram-erd","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"RDBMS Concepts"}]},{"id":"86ptu20X1JIfGSOn7z2X","title":"ERD Examples","pathname":"/the-programmers-guide/database/sql-databases/rdbms/entity-relationship-diagram-erd/erd-examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"RDBMS Concepts"},{"label":"Entity Relationship Diagram (ERD)"}]},{"id":"0ax5nkOr1QO1tMrMjRjI","title":"Normalization","pathname":"/the-programmers-guide/database/sql-databases/rdbms/normalization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"RDBMS Concepts"}]},{"id":"ROoKRgkhlT8dFnkM5fMd","title":"Denormalization","pathname":"/the-programmers-guide/database/sql-databases/rdbms/denormalization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"RDBMS Concepts"}]},{"id":"dXdVMaFdmA4oPYq3dzl7","title":"ACID Properties","pathname":"/the-programmers-guide/database/sql-databases/rdbms/acid-properties","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"RDBMS Concepts"}]},{"id":"zCIsHSOuBlw2BOEyP6NW","title":"Locking and Unlocking","pathname":"/the-programmers-guide/database/sql-databases/rdbms/locking-and-unlocking","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"RDBMS Concepts"}]},{"id":"8imugQDjcRG2oDS1im2z","title":"SQL Fundamentals","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"}]},{"id":"rUnyqZx9zA3oWscslOyz","title":"SQL Commands","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-commands","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"}]},{"id":"qIT77rXE0NTvtmtOQgQs","title":"DDL (Data Definition Language)","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-commands/ddl-data-definition-language","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Commands"}]},{"id":"kngFnF0A8N8hVzsn6aU2","title":"DML (Data Manipulation Language)","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-commands/dml-data-manipulation-language","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Commands"}]},{"id":"mC7oWTQTqfVjqyoAvHxy","title":"DCL (Data Control Language)","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-commands/dcl-data-control-language","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Commands"}]},{"id":"FgfB8HGwgST929M1t5gI","title":"TCL (Transaction Control Language)","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-commands/tcl-transaction-control-language","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Commands"}]},{"id":"Ur43rZt1EGI0eccMeXsG","title":"DQL (Data Query Language)","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-commands/dql-data-query-language","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Commands"}]},{"id":"kCPn6SYDDgBgJzeKBxM0","title":"SQL Operators","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-operators","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"}]},{"id":"lMU0h1GYxRPRghpYix7i","title":"INTERSECT","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-operators/intersect","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Operators"}]},{"id":"c6FSWerG1RYUsSPa2k4f","title":"EXCEPT","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-operators/except","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Operators"}]},{"id":"BykoXQtQ9svXBLv5DNiz","title":"MINUS","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-operators/minus","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Operators"}]},{"id":"u0zAoEj98va5XdcvsTob","title":"IN and NOT IN","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-operators/in-and-not-in","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Operators"}]},{"id":"JcirCZOesdvsJkeLYdHw","title":"EXISTS and NOT EXISTS","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-operators/exists-and-not-exists","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Operators"}]},{"id":"0tM8NevhjGRWULlfgonL","title":"SQL Clauses","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"}]},{"id":"y7CyajHzdW8vv1rABQyA","title":"Joins","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/joins","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"IryeXs8qdFg6JYRCLLHN","title":"OVER","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/over","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"Mvi8em7isFwlhnMrzJKl","title":"WITH","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/with","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"0SPufaILVG67593hRTO9","title":"CONNECT BY","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/connect-by","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"0ZmfIcKyztB5QJtXhPHj","title":"MODEL","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/model","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"729cJ7eFuLQ1iMkpKnl4","title":"FETCH FIRST","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/fetch-first","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"ET3hh5AbfCTUKNa02t1q","title":"KEEP","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/keep","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"UV7l01uR7JG99IC79xtW","title":"OFFSET with FETCH","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-clauses/offset-with-fetch","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Clauses"}]},{"id":"sWYersGCsrTbtotF0AQR","title":"SQL Functions","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-functions","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"}]},{"id":"JhKP7IMhUmWda2eamV5E","title":"Oracle Specific","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-functions/oracle-specific","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Functions"}]},{"id":"2dzLc8RDfTtT8mCDAzJa","title":"SQL Data Types","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-data-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"}]},{"id":"wygoEUdLywYrSkI1KlB1","title":"Numeric Types","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-data-types/numeric-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Data Types"}]},{"id":"J2yhyY5b4KyAMT4PRgS6","title":"Character Types","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-data-types/character-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Data Types"}]},{"id":"8Int48VQZ0ENuODfbn8v","title":"Date & Time Types","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-data-types/date-and-time-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Data Types"}]},{"id":"GpnMNMLklRzRZ8jmy2xH","title":"Large Object Types","pathname":"/the-programmers-guide/database/sql-databases/sql-fundamentals/sql-data-types/large-object-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"SQL Fundamentals"},{"label":"SQL Data Types"}]},{"id":"PPMa8H9Cf8NNumKdgMMM","title":"Best Practice","pathname":"/the-programmers-guide/database/sql-databases/best-practice","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"}]},{"id":"FEQtuysQipp09ZWlbtJC","title":"Resources & References","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"}]},{"id":"qjFvyyBJd0J0aqTxtBJ3","title":"O’Reilly SQL Cookbook (2nd Edition)","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"}]},{"id":"KGNk5ZYp7BAhKtkqR2ZH","title":"1. Retrieving Records","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/retrieving-records","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"CZ8KEdgMyhkyLUaEm2gG","title":"2. Sorting Query Results","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/sorting-query-results","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"9uqOtkRDpMCAw9qigCen","title":"3. Working with Multiple Tables","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/working-with-multiple-tables","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"rXhzOZ1Hn0Ob1Dqh9Qik","title":"4. Inserting, Updating, and Deleting","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/4.-inserting-updating-and-deleting","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"2aNSZCTpLXt3Ncbv8Qo6","title":"5. Metadata Queries","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/5.-metadata-queries","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"BdvW7sPC3eEu4drYxe74","title":"6. Working with Strings","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/6.-working-with-strings","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"zx3qb9cRzYgye5v7GfPA","title":"7. Working with Numbers","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/7.-working-with-numbers","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"rbHD8hP56AOapegcHHWI","title":"8. Date Arithmetic","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/date-arithmetic","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"lsos7mOiQQnCZwmrP7H6","title":"9. Date Manipulation","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/9.-date-manipulation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"dBstWUkN9cE8daSL4rrV","title":"10. Working with Ranges","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/10.-working-with-ranges","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"wIsqwTf4iP0NhaApYBSX","title":"11. Advanced Searching","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/11.-advanced-searching","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"jXbeVlyCppYeJ0R4nMME","title":"12. Reporting and Reshaping","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/12.-reporting-and-reshaping","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"yAzbzsbcuaxRq8Zqyv9N","title":"13. Hierarchical Queries","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/13.-hierarchical-queries","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"tiuw7AjY8f8oN5bkNetm","title":"14. Odds 'n' Ends","pathname":"/the-programmers-guide/database/sql-databases/resources-and-references/oreilly-sql-cookbook-2nd-edition/14.-odds-n-ends","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL Databases"},{"label":"Resources & References"},{"label":"O’Reilly SQL Cookbook (2nd Edition)"}]},{"id":"rWNwH5cAi3fmRoepfJGG","title":"NoSQL Databases","pathname":"/the-programmers-guide/database/nosql-databases","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"}]},{"id":"Bl7FOoL3WHUEVuYeO54l","title":"Concepts","pathname":"/the-programmers-guide/database/nosql-databases/concepts","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"}]},{"id":"MYPANRNos9ZgUS9rnHE8","title":"Characteristics","pathname":"/the-programmers-guide/database/nosql-databases/concepts/characteristics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"iBuwzzTlEPPIMeW9gxzU","title":"BASE Properties","pathname":"/the-programmers-guide/database/nosql-databases/concepts/base-properties","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"NumBDa80dwDs2vFQ9geG","title":"Eventual Consistency","pathname":"/the-programmers-guide/database/nosql-databases/concepts/eventual-consistency","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"UZR2jQhBiSxJTjuhyeNj","title":"Schema-less Design","pathname":"/the-programmers-guide/database/nosql-databases/concepts/schema-less-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"VC9RRESnSYVo3zER9kAI","title":"Sharding","pathname":"/the-programmers-guide/database/nosql-databases/concepts/sharding","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"WFsGF1HhhYKGim172pAU","title":"Partitioning","pathname":"/the-programmers-guide/database/nosql-databases/concepts/partitioning","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"e81kte58X713VCEPjzfK","title":"Transactions","pathname":"/the-programmers-guide/database/nosql-databases/concepts/transactions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"yFYKWLk6BVv00tsrgaEE","title":"Aggregation","pathname":"/the-programmers-guide/database/nosql-databases/concepts/aggregation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"alVwTF3dGcaQbPvlUxHs","title":"Projections","pathname":"/the-programmers-guide/database/nosql-databases/concepts/projections","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"4NZ43vji4qEieEAS3xZn","title":"CRUD Operations","pathname":"/the-programmers-guide/database/nosql-databases/concepts/crud-operations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Concepts"}]},{"id":"z86k2eryZlvWrlVJY5LA","title":"Data Models","pathname":"/the-programmers-guide/database/nosql-databases/nosql-data-models","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"}]},{"id":"9VllCn39STqExYIKp0TO","title":"Document Store","pathname":"/the-programmers-guide/database/nosql-databases/nosql-data-models/document-store","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Data Models"}]},{"id":"UdVz8gZh7LAq67LU90AO","title":"Key-Value Store","pathname":"/the-programmers-guide/database/nosql-databases/nosql-data-models/key-value-store","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Data Models"}]},{"id":"med132PXYUShJMImFleF","title":"Column-Family Store","pathname":"/the-programmers-guide/database/nosql-databases/nosql-data-models/column-family-store","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Data Models"}]},{"id":"Ogbp3rz1UibrdNY4dEhI","title":"Graph Database","pathname":"/the-programmers-guide/database/nosql-databases/nosql-data-models/graph-database","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Data Models"}]},{"id":"1PnftwiuvC9fqWd11j87","title":"Multi-Model Database","pathname":"/the-programmers-guide/database/nosql-databases/nosql-data-models/multi-model-database","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"NoSQL Databases"},{"label":"Data Models"}]},{"id":"DQnj4y48lnWvLVVk9Zp5","title":"SQL vs NoSQL","pathname":"/the-programmers-guide/database/sql-vs-nosql","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"}]},{"id":"E5Y1bC1XTAjqk8RpXhm3","title":"ACID & BASE Properties","pathname":"/the-programmers-guide/database/sql-vs-nosql/acid-and-base-properties","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"SQL vs NoSQL"}]},{"id":"dQmXGbZ0ndTlpk6xGAIz","title":"Query Concepts & Performance","pathname":"/the-programmers-guide/database/query-concepts-and-performance","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"}]},{"id":"z4TbZcFdCbAdbmqnqPXp","title":"count(1) vs count(*)","pathname":"/the-programmers-guide/database/query-concepts-and-performance/count-1-vs-count","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Query Concepts & Performance"}]},{"id":"5wmoi2A45iLhxXZQrVd6","title":"Access Multiple Schemas in Single Query","pathname":"/the-programmers-guide/database/query-concepts-and-performance/access-multiple-schemas-in-single-query","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Query Concepts & Performance"}]},{"id":"r1RiLYkIAwDOvjh0jpcH","title":"Subquery vs Joins","pathname":"/the-programmers-guide/database/query-concepts-and-performance/subquery-vs-joins","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Query Concepts & Performance"}]},{"id":"d87vCQBXYZ3LB5BJSVIC","title":"Single SQL vs PLSQL Query","pathname":"/the-programmers-guide/database/query-concepts-and-performance/single-sql-vs-plsql-query","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Query Concepts & Performance"}]},{"id":"f2kXbn7VimWHQeZai5DZ","title":"Platform-Specific Features","pathname":"/the-programmers-guide/database/platform-specific-features","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"}]},{"id":"Tpcn14t0dHIedNey8XgE","title":"Oracle","pathname":"/the-programmers-guide/database/platform-specific-features/oracle","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"}]},{"id":"8jgaLi0pgmkK9XjqPks3","title":"Data Types","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/data-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"}]},{"id":"iQtZOguYriW7GwyQ2gnB","title":"BLOB","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/data-types/blob","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"},{"label":"Data Types"}]},{"id":"uH7J8YDvhIzfs2xz12AA","title":"Use Case","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/data-types/use-case","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"},{"label":"Data Types"}]},{"id":"BxflrpKSm7F4DrWnMc0D","title":"Character Set","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/data-types/character-set","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"},{"label":"Data Types"}]},{"id":"AK7jcJoI7tIhi27XFrSt","title":"Rownum, Rowid, Urowid","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/data-types/rownum-rowid-urowid","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"},{"label":"Data Types"}]},{"id":"Zr2gBMyggk8zAUhZnzx4","title":"Keys","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/data-types/keys","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"},{"label":"Data Types"}]},{"id":"j91qwu6wJlqpckIhZhGy","title":"Use Case & Examples","pathname":"/the-programmers-guide/database/platform-specific-features/oracle/use-case-and-examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"Oracle"}]},{"id":"KBEQ18pbDQVgBT2aFVi8","title":"MYSQL","pathname":"/the-programmers-guide/database/platform-specific-features/mysql","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"}]},{"id":"D6O9jmzJpXMJ5KVKEEXb","title":"Use Case & Examples","pathname":"/the-programmers-guide/database/platform-specific-features/mysql/use-case-and-examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Database","icon":"cabinet-filing"},{"label":"Platform-Specific Features"},{"label":"MYSQL"}]},{"id":"Fj87T4ldrL6vxwHVWbfi","title":"Git","pathname":"/the-programmers-guide/git","siteSpaceId":"sitesp_dugkv","icon":"shuffle","description":""},{"id":"vTqPZat1YSxrp0jsaHML","title":"Commands","pathname":"/the-programmers-guide/git/commands","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"}]},{"id":"iz3j8vf7vPIJWEu3kQ1Z","title":"Setup and Configuration Commands","pathname":"/the-programmers-guide/git/commands/setup-and-configuration-commands","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"bqkYRcNw5XWaYe4UirYG","title":"Getting and Creating Projects","pathname":"/the-programmers-guide/git/commands/getting-and-creating-projects","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"wTLY41jpRIMtpfnjjkbd","title":"Tracking Changes","pathname":"/the-programmers-guide/git/commands/basic-snapshotting","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"CkdcciARb8SI3h0DkfoE","title":"Branching and Merging","pathname":"/the-programmers-guide/git/commands/branching-and-merging","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"dega9rwVsfTMQtyFwfAJ","title":"Sharing and Updating Projects","pathname":"/the-programmers-guide/git/commands/sharing-and-updating-projects","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"qXLzWS6kwrlB4j3dknO1","title":"Inspection and Comparison","pathname":"/the-programmers-guide/git/commands/inspection-and-comparison","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"MQcoqSMWfxVuesFsOSJu","title":"Debugging","pathname":"/the-programmers-guide/git/commands/debugging","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"KPSn9dBIBDG8VAqQwN35","title":"Patching","pathname":"/the-programmers-guide/git/commands/patching","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"vpy6Itr49FbRl3Upiw6l","title":"Stashing and Cleaning","pathname":"/the-programmers-guide/git/commands/stashing-and-cleaning","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"WAi3unNYpSyb9Dw1PZze","title":"Advanced Manipulations","pathname":"/the-programmers-guide/git/commands/advanced-manipulations","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Commands"}]},{"id":"3f67CFkUPKWw0QLPzPwZ","title":"Workflows","pathname":"/the-programmers-guide/git/workflows","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"}]},{"id":"2pF62DCyAfq6L2eoLlxZ","title":"Branching Strategies","pathname":"/the-programmers-guide/git/workflows/branching-strategies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"}]},{"id":"Wmb0dfkm5nYumdDNNQSh","title":"Git Flow","pathname":"/the-programmers-guide/git/workflows/branching-strategies/git-flow","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Branching Strategies"}]},{"id":"gd2lJSMB4Zle3B7WfIKU","title":"Trunk-Based Development","pathname":"/the-programmers-guide/git/workflows/branching-strategies/trunk-based-development","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Branching Strategies"}]},{"id":"pLb5G8rAfipjMweIe54w","title":"GitHub Flow","pathname":"/the-programmers-guide/git/workflows/branching-strategies/github-flow","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Branching Strategies"}]},{"id":"yEnaH56rK8fF33gY7TQ0","title":"Comparison","pathname":"/the-programmers-guide/git/workflows/branching-strategies/comparison","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Branching Strategies"}]},{"id":"2SjgjHayJXYYR12pE6t6","title":"Merge Strategies","pathname":"/the-programmers-guide/git/workflows/merge-strategies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"}]},{"id":"zjV2SuRdFqUzDN4mnYXp","title":"Merge","pathname":"/the-programmers-guide/git/workflows/merge-strategies/merge","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Merge Strategies"}]},{"id":"As6cs7D5ifimd6lD6AnD","title":"Rebase","pathname":"/the-programmers-guide/git/workflows/merge-strategies/rebase","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Merge Strategies"}]},{"id":"1i7gIRbkRrYe7JZ5GTPL","title":"Squash","pathname":"/the-programmers-guide/git/workflows/merge-strategies/squash","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Merge Strategies"}]},{"id":"Y5sMpw3NCxmB3IDAen4O","title":"Fast-forward vs No-fast-forward","pathname":"/the-programmers-guide/git/workflows/merge-strategies/fast-forward-vs-no-fast-forward","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Merge Strategies"}]},{"id":"oLwYq7wGhng5CqNoSHon","title":"MR vs PR","pathname":"/the-programmers-guide/git/workflows/merge-strategies/mr-vs-pr","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Merge Strategies"}]},{"id":"5oG0Bdc14BNvWK1s9iee","title":"Conflict Resolution","pathname":"/the-programmers-guide/git/workflows/conflict-resolution","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"}]},{"id":"yKqyENRowtRou4VVx1E1","title":"Handling Merge Conflicts","pathname":"/the-programmers-guide/git/workflows/conflict-resolution/handling-merge-conflicts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Conflict Resolution"}]},{"id":"hnWrBZFwV9bH3CLzN4XX","title":"Merge Conflicts","pathname":"/the-programmers-guide/git/workflows/conflict-resolution/merge-conflicts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Conflict Resolution"}]},{"id":"qGrxAqFpD7cEcM3Aibq4","title":"Rebase Conflicts","pathname":"/the-programmers-guide/git/workflows/conflict-resolution/rebase-conflicts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Conflict Resolution"}]},{"id":"jpeZOwnXeGXB7y99l67J","title":"Divergent Branches After git pull","pathname":"/the-programmers-guide/git/workflows/conflict-resolution/divergent-branches-after-git-pull","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Conflict Resolution"}]},{"id":"g2ghnb9MCSXouBACkHZ4","title":"Force Push","pathname":"/the-programmers-guide/git/workflows/conflict-resolution/force-push-when-and-why","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Conflict Resolution"}]},{"id":"fZMTJMwC6lOZs6S4F5sn","title":"Patch & Recovery","pathname":"/the-programmers-guide/git/workflows/patch-and-recovery","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"}]},{"id":"VGYWKDAh6KnJ1RY67mBv","title":"Cherry-pick strategies","pathname":"/the-programmers-guide/git/workflows/patch-and-recovery/cherry-pick-strategies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Patch & Recovery"}]},{"id":"xodwX9zu1Yg7CuCI0LbA","title":"Revert vs Reset","pathname":"/the-programmers-guide/git/workflows/patch-and-recovery/revert-vs-reset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Patch & Recovery"}]},{"id":"uWX210bbLScyrKxkDDZx","title":"Recover from a bad rebase","pathname":"/the-programmers-guide/git/workflows/patch-and-recovery/recover-from-a-bad-rebase","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Patch & Recovery"}]},{"id":"xLFbFZNbJu98EmICHOs5","title":"Rebasing Practices","pathname":"/the-programmers-guide/git/workflows/rebasing-practices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"}]},{"id":"fMxDBQVArrcoxHVcTbdu","title":"Merge vs Rebase","pathname":"/the-programmers-guide/git/workflows/rebasing-practices/merge-vs-rebase","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Rebasing Practices"}]},{"id":"cBlFJG5li8brmeB8cDxI","title":"Rebase develop branch on main branch","pathname":"/the-programmers-guide/git/workflows/rebasing-practices/rebase-develop-branch-on-main-branch","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Rebasing Practices"}]},{"id":"TB7xs7CwJT0zmIYEW87T","title":"Repository Management","pathname":"/the-programmers-guide/git/workflows/repository-management","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"}]},{"id":"9r1dc1EIcEEWRW7ywopL","title":"Working Directory","pathname":"/the-programmers-guide/git/workflows/repository-management/working-directory","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Repository Management"}]},{"id":"kb73i9AxtyBdhrAK5oXw","title":"Mirror a repository","pathname":"/the-programmers-guide/git/workflows/repository-management/mirror-a-repository","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Repository Management"}]},{"id":"dBqqJTIq711oLKwUubtD","title":"Convert a local folder to a Git repo","pathname":"/the-programmers-guide/git/workflows/repository-management/convert-a-local-folder-to-a-git-repo","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Repository Management"}]},{"id":"TzYgpOpmCGOUbRR6Ww0K","title":"Backup and restore a Git repository","pathname":"/the-programmers-guide/git/workflows/repository-management/backup-and-restore-a-git-repository","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Workflows"},{"label":"Repository Management"}]},{"id":"AsQ8hXlRIYeEhSsEzUTw","title":"Platforms","pathname":"/the-programmers-guide/git/platforms","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"}]},{"id":"eZIBSeGS4G6JeQ2R84AL","title":"GitHub","pathname":"/the-programmers-guide/git/platforms/github","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Platforms"}]},{"id":"A1KB80MIE1k2fXThg99x","title":"GitLab","pathname":"/the-programmers-guide/git/platforms/gitlab","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Platforms"}]},{"id":"LreSwOL4PjbIpCQySZqs","title":"Freeze a branch","pathname":"/the-programmers-guide/git/platforms/gitlab/freeze-a-branch","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Platforms"},{"label":"GitLab"}]},{"id":"KpsUFj6Xj5U2AsU7cMCA","title":"Bitbucket","pathname":"/the-programmers-guide/git/platforms/bitbucket","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Git","icon":"shuffle"},{"label":"Platforms"}]},{"id":"SKUqEMdhobGN6QZnRL63","title":"Identity and Access Management (IAM)","pathname":"/the-programmers-guide/identity-and-access-management-iam","siteSpaceId":"sitesp_dugkv","icon":"user-group"},{"id":"lyrqapn1azDQWkC1q7kY","title":"Authentication","pathname":"/the-programmers-guide/identity-and-access-management-iam/authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"}]},{"id":"JosMD0R0C8dHcfrCQeeZ","title":"Authentication Methods","pathname":"/the-programmers-guide/identity-and-access-management-iam/authentication/authentication-methods","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Authentication"}]},{"id":"fnrAzNafNkmq1DP4Wcgf","title":"Keycloak","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"}]},{"id":"9FSU553P8j5uJiy0ety4","title":"Terminologies","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak/terminologies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Keycloak"}]},{"id":"lYM3O6WXgYhsl2PKvegk","title":"Token Verification","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak/token-verification","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Keycloak"}]},{"id":"ui3Hu9Pfr0AmPL4UNMwn","title":"User Federation","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak/user-federation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Keycloak"}]},{"id":"qGwC5IcZNnHFzTbjErnQ","title":"Settings","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak/user-federation/settings","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Keycloak"},{"label":"User Federation"}]},{"id":"ZnxBXOu8Z4hlszSE13de","title":"Provider - LDAP","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak/user-federation/settings/provider-ldap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Keycloak"},{"label":"User Federation"},{"label":"Settings"}]},{"id":"AaQD1LqA7FoE18uBVTYm","title":"Integrating OpenLDAP","pathname":"/the-programmers-guide/identity-and-access-management-iam/keycloak/user-federation/integrating-openldap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"Keycloak"},{"label":"User Federation"}]},{"id":"EHSK88yMNikIgphtVIrK","title":"LDAP","pathname":"/the-programmers-guide/identity-and-access-management-iam/ldap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"}]},{"id":"N9jgDSkFNVz6i60BghmF","title":"Local OpenLDAP Setup","pathname":"/the-programmers-guide/identity-and-access-management-iam/ldap/local-openldap-setup","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"},{"label":"LDAP"}]},{"id":"mfZPvwjQhoZMzn1PL5qi","title":"Single Sign-On (SSO)","pathname":"/the-programmers-guide/identity-and-access-management-iam/single-sign-on-sso","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Identity and Access Management (IAM)","icon":"user-group"}]},{"id":"STO5V8j0qbEQrdy2TQCB","title":"Java","pathname":"/the-programmers-guide/java","siteSpaceId":"sitesp_dugkv","icon":"mug-hot","description":""},{"id":"b6D0kr3halF4hjlFmCww","title":"Installation & Setup","pathname":"/the-programmers-guide/java/installation-and-setup","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"ZQkPpNY6ecE3WG9BL9Wn","title":"Installation","pathname":"/the-programmers-guide/java/installation-and-setup/installation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"}]},{"id":"cU3ybuLWSLlyI7SbbRL1","title":"Java Distributions","pathname":"/the-programmers-guide/java/installation-and-setup/java-distributions","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"}]},{"id":"RPeIv8CTyzPBRKB5bFA0","title":"Java Platform Editions","pathname":"/the-programmers-guide/java/installation-and-setup/java-platform-editions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"}]},{"id":"aKLvq6jZ0RMVkAItmlF0","title":"Java SE","pathname":"/the-programmers-guide/java/installation-and-setup/java-platform-editions/java-se","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"},{"label":"Java Platform Editions"}]},{"id":"ZsgOxpo6fVyzHghe4vKw","title":"Java EE","pathname":"/the-programmers-guide/java/installation-and-setup/java-platform-editions/java-ee","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"},{"label":"Java Platform Editions"}]},{"id":"mcMXLpwPq7I3z5aPoCjx","title":"Jakarta EE","pathname":"/the-programmers-guide/java/installation-and-setup/java-platform-editions/jakarta-ee","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"},{"label":"Java Platform Editions"}]},{"id":"GWa8nGeKk6T4Xyv9mNCd","title":"Java ME","pathname":"/the-programmers-guide/java/installation-and-setup/java-platform-editions/java-me","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"},{"label":"Java Platform Editions"}]},{"id":"FLc48NRGFdZOm6ayfttK","title":"JavaFX","pathname":"/the-programmers-guide/java/installation-and-setup/java-platform-editions/javafx","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Installation & Setup"},{"label":"Java Platform Editions"}]},{"id":"9ry1IT8wWD6sSbnWt7to","title":"Java Evolution","pathname":"/the-programmers-guide/java/java-features","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"bRd67ZZI3HwsifXyJGK1","title":"Java Feature Introduction Process","pathname":"/the-programmers-guide/java/java-features/java-feature-introduction-process","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Evolution"}]},{"id":"cA57QqyKKHIb1QgDJRSi","title":"Java Version History","pathname":"/the-programmers-guide/java/java-features/java-version-history","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Evolution"}]},{"id":"Y5VMjMEEX9kMMwCdO1fG","title":"Java 8","pathname":"/the-programmers-guide/java/java-features/java-version-history/java-8","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Evolution"},{"label":"Java Version History"}]},{"id":"EqX6hJMKZGvbn7EYKqtj","title":"Java 9","pathname":"/the-programmers-guide/java/java-features/java-version-history/java-9","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Evolution"},{"label":"Java Version History"}]},{"id":"5A1RXpRa4QuT1WnajQ7i","title":"FAQ","pathname":"/the-programmers-guide/java/java-features/faq","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Evolution"}]},{"id":"s6BBKwEP5w9zyQVs2Kar","title":"Java Basics","pathname":"/the-programmers-guide/java/java-basics","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"JeZ7qltv2wMA31m9cJ3a","title":"OOP Principles","pathname":"/the-programmers-guide/java/java-basics/basics","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"}]},{"id":"tGz5PraGMoQJSOffmL5l","title":"Encapsulation","pathname":"/the-programmers-guide/java/java-basics/basics/encapsulation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"}]},{"id":"bMhLUO3ZsViLXYC5W2b9","title":"Inheritance","pathname":"/the-programmers-guide/java/java-basics/basics/inheritance","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"}]},{"id":"eLG1jSwQiJOvuiTBBfFa","title":"Method Overriding","pathname":"/the-programmers-guide/java/java-basics/basics/inheritance/method-overriding","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Inheritance"}]},{"id":"qhUxNHPlxPoONkzxmWq9","title":"Constructor Chaining","pathname":"/the-programmers-guide/java/java-basics/basics/inheritance/constructor-chaining","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Inheritance"}]},{"id":"W0VlnWgQAePZfst8WXK5","title":"Dynamic Method Dispatch","pathname":"/the-programmers-guide/java/java-basics/basics/inheritance/dynamic-method-dispatch","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Inheritance"}]},{"id":"ih2AtqCD4t2CgYESP66H","title":"Inheritance vs. Composition","pathname":"/the-programmers-guide/java/java-basics/basics/inheritance/inheritance-vs.-composition","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Inheritance"}]},{"id":"6mNJnB17DHMAkmoHDkvu","title":"Diamond Problem","pathname":"/the-programmers-guide/java/java-basics/basics/inheritance/diamond-problem","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Inheritance"}]},{"id":"Qr5Csdx0EGegwqvC5Hyt","title":"Polymorphism","pathname":"/the-programmers-guide/java/java-basics/basics/polymorphism","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"}]},{"id":"8Rafg6l7J2DAnqDbfYnM","title":"Rules for Polymorphism","pathname":"/the-programmers-guide/java/java-basics/basics/polymorphism/rules-for-polymorphism","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Polymorphism"}]},{"id":"9pXGPyj64W1BDQ05pqEB","title":"Abstraction","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"}]},{"id":"025IR3KGmkf5U9TtZ47t","title":"Abstract Class & Method","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction/abstract-class-and-method","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Abstraction"}]},{"id":"wFrnSA78nYaafCUr9NTE","title":"Interface","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction/interface","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Abstraction"}]},{"id":"byV1twi473kyy9dSpiaV","title":"Functional Interfaces","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction/interface/functional-interfaces","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Abstraction"},{"label":"Interface"}]},{"id":"UEhGtZXRA4WwUn6Sw1i1","title":"Marker Interfaces","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction/interface/marker-interfaces","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Abstraction"},{"label":"Interface"}]},{"id":"vnJIjlZ3OMAhlOBVLYUw","title":"Abstract Class vs Interface","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction/abstract-class-vs-interface","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Abstraction"}]},{"id":"uuUFrcl0Hl6NAGRY0xjI","title":"Model as an Interface or abstract class ?","pathname":"/the-programmers-guide/java/java-basics/basics/abstraction/model-as-an-interface-or-abstract-class","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Principles"},{"label":"Abstraction"}]},{"id":"yy48y5Lkhw0NABHzc2I8","title":"OOP Basics","pathname":"/the-programmers-guide/java/java-basics/oop-basics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"}]},{"id":"JuS6u569Zxr6vLdCaCZE","title":"What is a Class?","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-a-class","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"}]},{"id":"vMEGOeCPBJ52J9GqwqXb","title":"Types of Classes","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-a-class/types-of-classes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"What is a Class?"}]},{"id":"Il7Fzy4PaYg5jsh8UuEA","title":"What is an Object?","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-an-object","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"}]},{"id":"cXqWkgDPvWUma987IIag","title":"Equals and HashCode","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-an-object/equals-and-hashcode","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"What is an Object?"}]},{"id":"KezbI0qLxP9czrKUN1Gr","title":"FAQ","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-an-object/equals-and-hashcode/faq","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"What is an Object?"},{"label":"Equals and HashCode"}]},{"id":"kfinXFO8br6NOgougZoJ","title":"Shallow Copy and Deep Copy","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-an-object/shallow-copy-and-deep-copy","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"What is an Object?"}]},{"id":"5tgdxpnCtTPgc2rYbD9C","title":"Ways to Create Object","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-an-object/ways-to-create-object","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"What is an Object?"}]},{"id":"KikxHPurIdAndmuhMBBj","title":"Serialization & Deserialization","pathname":"/the-programmers-guide/java/java-basics/oop-basics/what-is-an-object/serialization-and-deserialization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"What is an Object?"}]},{"id":"FQyBAUn236mbHlTxCogY","title":"Methods & Fields","pathname":"/the-programmers-guide/java/java-basics/oop-basics/methods-and-fields","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"}]},{"id":"5jj0fbDaHffw635x1P2c","title":"Method Signature & Header","pathname":"/the-programmers-guide/java/java-basics/oop-basics/methods-and-fields/method-signature-and-header","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"Methods & Fields"}]},{"id":"SmXFqI55RNjH9YRCzQyS","title":"Method Overriding & Overloading","pathname":"/the-programmers-guide/java/java-basics/oop-basics/methods-and-fields/method-overriding-and-overloading","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"Methods & Fields"}]},{"id":"RY4Gjk5T8nZHMbXMgQJv","title":"Variables","pathname":"/the-programmers-guide/java/java-basics/oop-basics/methods-and-fields/variables","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"},{"label":"Methods & Fields"}]},{"id":"iqTOpnuyZswzfkdqVYWU","title":"Constructors","pathname":"/the-programmers-guide/java/java-basics/oop-basics/constructors","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"}]},{"id":"l8EN1CbWjK4b9UopihbG","title":"Access Modifiers","pathname":"/the-programmers-guide/java/java-basics/oop-basics/access-modifiers","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"OOP Basics"}]},{"id":"tMYkVvNfMXnJn7AvIXd0","title":"Java Keywords","pathname":"/the-programmers-guide/java/java-basics/java-keywords","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"}]},{"id":"oMcltLDxKmPirekce8Xg","title":"this","pathname":"/the-programmers-guide/java/java-basics/java-keywords/this","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Keywords"}]},{"id":"ufLRGpp5EPtgrMLIL7ge","title":"super","pathname":"/the-programmers-guide/java/java-basics/java-keywords/super","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Keywords"}]},{"id":"IvhkBWJLzF7zyhRHMR79","title":"null","pathname":"/the-programmers-guide/java/java-basics/java-keywords/null","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Keywords"}]},{"id":"PiKYFgVcPwOPco7LEaMq","title":"Handle Null Value","pathname":"/the-programmers-guide/java/java-basics/java-keywords/null/handle-null-value","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Keywords"},{"label":"null"}]},{"id":"mlGcb77Fs584kNcUyViL","title":"Access Modifiers","pathname":"/the-programmers-guide/java/java-basics/java-keywords/access-modifiers","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Keywords"}]},{"id":"Kk9oIQVFRu9WSta1ugNX","title":"Java Data Types","pathname":"/the-programmers-guide/java/java-basics/java-data-types","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"}]},{"id":"n9CNECr4LaEraalBOrgi","title":"Default Values","pathname":"/the-programmers-guide/java/java-basics/java-data-types/default-values","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"}]},{"id":"4VUuAe8VmBHfO3ZSoV5f","title":"Primitive Types","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"}]},{"id":"AMbbAykOe2E5k3RlFy6b","title":"byte","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/byte","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"yA3x4ydpMQf5BfOnupqI","title":"short","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/short","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"2bBuJ4ueT8vt1suZmu7w","title":"int","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/int","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"PwYNhUKk0k8HEoPiAw8e","title":"long","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/long","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"PGSTXsZWUrgXOJSHip7d","title":"float","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/float","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"iNOtYiquer2YiFDh5SEK","title":"double","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/double","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"52Z8A3w5spmIwlF5s3DA","title":"char","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/char","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"efotSwQniWZdJPv2mWPa","title":"boolean","pathname":"/the-programmers-guide/java/java-basics/java-data-types/primitive-types/boolean","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Primitive Types"}]},{"id":"ysEN9FfgROH1Iv0SWMhX","title":"Non-Primitive (Reference) Types","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"}]},{"id":"auv34fHyOukkYIDx0yr6","title":"String","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/string","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"}]},{"id":"VWQOeo9Rb9SH80tBS0Sj","title":"StringBuilder","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/string/stringbuilder","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"String"}]},{"id":"xiPNyqWapqoTcCCqQoSM","title":"StringBuffer","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/string/stringbuffer","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"String"}]},{"id":"lFPOlwzJWYw5zAnJoTjk","title":"Problems","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/string/stringbuffer/problems","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"String"},{"label":"StringBuffer"}]},{"id":"So5xBaWYsJGfsw7dw9EF","title":"Multiline String","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/string/multiline-string","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"String"}]},{"id":"nd22v9JCsfStUIs8T3Dg","title":"Comparison - String, StringBuilder & StringBuffer","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/string/comparison-string-stringbuilder-and-stringbuffer","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"String"}]},{"id":"EonRwMek6wOjZsif9rK1","title":"Array","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/array","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"}]},{"id":"XOUv6DGZewz31V4dVYCz","title":"Collections","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"}]},{"id":"XnBbdnq2mAwwtxjM9W3E","title":"List","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"}]},{"id":"Qq7MUalJ6dCZkzDE1mbD","title":"Array vs List","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/array-vs-list","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"}]},{"id":"J9ZzmEBt2RQIFyV4lurY","title":"ArrayList","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/arraylist","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"}]},{"id":"yqM5vTliS1QL3WtT9AWk","title":"Vector","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/vector","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"}]},{"id":"TxBaaqMQ8LoiT9j6dZ6U","title":"Stack","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/vector/stack","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"},{"label":"Vector"}]},{"id":"dpJJrIs4siYoJ2htIuUO","title":"Problems","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/vector/stack/problems","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"},{"label":"Vector"},{"label":"Stack"}]},{"id":"R2dkGMEVGBPnbMBHgrdA","title":"LinkedList","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/linkedlist","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"}]},{"id":"HMZ7IHDZOA1Wt3Q2KuRO","title":"Examples","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/list/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"List"}]},{"id":"kWjzXbPN65QZ8bTp7cd2","title":"Queue","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/queue","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"}]},{"id":"IwpGgpjHKtJu1LO8Bc9b","title":"PriorityQueue","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/queue/priorityqueue","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Queue"}]},{"id":"K2zJUA7MMST5z31gf8Mc","title":"Deque (Double-Ended Queue)","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/queue/deque-double-ended-queue","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Queue"}]},{"id":"zxnn8X3dw21w68OXkiDr","title":"ArrayDeque","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/queue/deque-double-ended-queue/arraydeque","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Queue"},{"label":"Deque (Double-Ended Queue)"}]},{"id":"kUuJ2kDWZv75iQSqUofH","title":"Map","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"}]},{"id":"SKPVda8XZDntBpzMtag2","title":"HashMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/hashmap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"PHNHP7YSUFC1Ghhl6X4V","title":"Hashtable","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/hashtable","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"ovxCmajQrhytpGiiiIzd","title":"Collision Resolution","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/hashtable/collision-resolution","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"},{"label":"Hashtable"}]},{"id":"QAlqUNV0NHBcMcsUCVjv","title":"LinkedHashMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/linkedhashmap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"VCIqf3upQ9P5IrLYga9H","title":"ConcurrentHashMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/concurrenthashmap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"0O66sxJ65glaFPOn7SRg","title":"TreeMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/treemap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"0HbRugonWZEbJEKGqmZg","title":"EnumMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/enummap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"Q5nkLvdMS8olnnYzn3Uw","title":"WeakHashMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/map/weakhashmap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Map"}]},{"id":"aFJubC0xNOUayN9AqIA0","title":"Set","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"}]},{"id":"bljUgTz6QECAbx9xXqww","title":"HashSet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set/hashset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Set"}]},{"id":"mQU6sJ1oMqdvTAGjzp6M","title":"LinkedHashSet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set/linkedhashset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Set"}]},{"id":"BUZxLsod2agzWeHiUKEs","title":"TreeSet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set/treeset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Set"}]},{"id":"KTX0YRDcvxBuQvlsXfBI","title":"EnumSet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set/enumset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Set"}]},{"id":"oVArEL6M1Dm8qmLxKxaU","title":"ConcurrentSkipListSet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set/concurrentskiplistset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Set"}]},{"id":"XFbAwRzLYeb2aGPdg6k3","title":"CopyOnWriteArraySet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/non-primitive-reference-types/collections/set/copyonwritearrayset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Non-Primitive (Reference) Types"},{"label":"Collections"},{"label":"Set"}]},{"id":"BLkdxW1zOXRrmhwxQVRP","title":"Specialized Classes","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"}]},{"id":"SbEUbt99AVOYQYZGwfpd","title":"BigInteger","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/biginteger","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"xZvBPwxU2aMe3nDfrKTT","title":"BigDecimal","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/bigdecimal","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"G8Frh2rwzdnKiBCws0yu","title":"Examples","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/bigdecimal/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"BigDecimal"}]},{"id":"VUoqZjooLIaoDiICq89y","title":"BitSet","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/bitset","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"dt3MXEETADRfkjpkUmOn","title":"Date and Time","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/date-and-time","siteSpaceId":"sitesp_dugkv","description":"Overview of various classes and libraries available for working with dates, times, and timestamps in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"OSbhl21xZRi9HCi2yz3i","title":"Comparison","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/date-and-time/comparison","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Date and Time"}]},{"id":"fgw7LHtNG0vLOqSp3FnW","title":"Examples","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/date-and-time/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Date and Time"}]},{"id":"d9G0KbQiFQUfC90rAq86","title":"Optional","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/optional","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"SHC0vOBxLswGuaNPuHtX","title":"Math","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/math","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"hGqcFlnX9vq80t3jzD3j","title":"UUID","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/uuid","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"Cr2L5oqt4BXpnR5ugsX5","title":"Scanner","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/scanner","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"cPjnYMu95SrIKidMmkp6","title":"Formatter","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/formatter","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"lwbvqDzrn5EyZ0RLlLgb","title":"Examples","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/formatter/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Formatter"}]},{"id":"yPtVveQSnQrljuGfvye1","title":"Properties","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/properties","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"DPE1wcFOjwPxCwcPv4Wd","title":"Regex (Pattern and Matcher)","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/regex-pattern-and-matcher","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"rIIZrKAzeW45v3Vj9Kq4","title":"Examples","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/regex-pattern-and-matcher/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Regex (Pattern and Matcher)"}]},{"id":"tJcwfrfLRzbGKsaK60FH","title":"Atomic Classes","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/atomic-classes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"SvESwIeJIawlFu285vG3","title":"Random","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/random","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"qWL9mMAL4k0CtvONCFq8","title":"Format","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/format","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"}]},{"id":"yEDCGPJ9D2Yz9mVmd3NA","title":"NumberFormat","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/format/numberformat","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Format"}]},{"id":"qOJeu7kvkG3SHEck1jC2","title":"DateFormat","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/format/dateformat","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Format"}]},{"id":"o7H8qxzZRpucQOXAVmvt","title":"DecimalFormat","pathname":"/the-programmers-guide/java/java-basics/java-data-types/specialized-classes/format/decimalformat","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Specialized Classes"},{"label":"Format"}]},{"id":"HTWVikGx8hmELnp4FiZr","title":"Others","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"}]},{"id":"1Q0ukxgaTimvPMVITHiW","title":"Object","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/object","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"dw4jHTCldijziWEjCKZS","title":"Enum","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/enum","siteSpaceId":"sitesp_dugkv","description":"Overview of Enum in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"44ZW2nZwziARwXvSrLWA","title":"Pre-Defined Enum","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/enum/pre-defined-enum","siteSpaceId":"sitesp_dugkv","description":"Overview of built-in Enum provided in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Enum"}]},{"id":"wcY6tY3wwgCiqU1iPZ3S","title":"Custom Enum","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/enum/custom-enum","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Enum"}]},{"id":"wjVNIA1AKlkvXsZyZJ2h","title":"EnumSet and EnumMap","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/enum/enumset-and-enummap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Enum"}]},{"id":"1vjAoffTOzeaQSaY9JQu","title":"Enum Comparison","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/enum/enum-comparison","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Enum"}]},{"id":"g24svxbMndgfxdiZvUK3","title":"Record","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/record","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"66fvEGFNK8id9QkhJcCU","title":"Optional","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/optional","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"Em9vyyp0BSI9KDj2p8uN","title":"System","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/system","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"MEiqXnTX0BfBX3RezYwB","title":"Runtime","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/runtime","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"hLCjeA0F2kfOE5btF6Gl","title":"ProcessBuilder","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/processbuilder","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"PQU51gVgijomiacLEp3a","title":"Class","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/class","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"huGgtrEG1MCtd2zMfxiq","title":"Void","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/void","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"wJWndQW7VPcEQ3ioQBJD","title":"Throwable","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"}]},{"id":"aZO8qPZDZwXZerDYzQ1r","title":"Error","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable/error","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Throwable"}]},{"id":"dQSv9Ec1odCUFKXvDx0B","title":"Exception","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable/exception","siteSpaceId":"sitesp_dugkv","description":"Overview on the Exception Handling and best practices.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Throwable"}]},{"id":"MPql449gCzqb8SB5tQoe","title":"Custom Exception Handling","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable/exception/custom-exception-handling","siteSpaceId":"sitesp_dugkv","description":"Info about custom exception handling in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Throwable"},{"label":"Exception"}]},{"id":"oofy8QTXL3yrzKV1NwHn","title":"Best Practice","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable/exception/best-practice","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Throwable"},{"label":"Exception"}]},{"id":"KkCBBJ0LDafE8RQIZDIw","title":"Error vs Exception","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable/error-vs-exception","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Throwable"}]},{"id":"qJRhzPgYOrQPV6piKmO7","title":"StackTraceElement","pathname":"/the-programmers-guide/java/java-basics/java-data-types/others/throwable/stacktraceelement","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Data Types"},{"label":"Others"},{"label":"Throwable"}]},{"id":"LT8e2f3zWHW7whRM13iR","title":"Java Operators","pathname":"/the-programmers-guide/java/java-basics/java-operators","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"}]},{"id":"KJTPODOpYi62fwUN2Z9o","title":"Operator Precedence","pathname":"/the-programmers-guide/java/java-basics/java-operators/operator-precedence","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Operators"}]},{"id":"ZnmyCjiIXzp9ptckSBRt","title":"Problems","pathname":"/the-programmers-guide/java/java-basics/java-operators/problems","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Java Operators"}]},{"id":"K1RHtsceuUwkuofEhQts","title":"Parallelism & Concurrency","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"}]},{"id":"UBNEaIDjMCgQDskloQl4","title":"Ways to Identify Thread Concurrency or Parallelism","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/ways-to-identify-thread-concurrency-or-parallelism","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"}]},{"id":"pnLgHXkKRyOS8IrWXHuK","title":"Thread Fundamentals","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"}]},{"id":"2K5G0i1ACrOeGM5lB5q6","title":"Thread vs Process","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/thread-vs-process","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"WAayz48ThMAG43sfB163","title":"Creating Threads","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/creating-threads","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"JASSkr8f3PUnzhKpVmVR","title":"Runnable & Callable","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/creating-threads/runnable-and-callable","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"},{"label":"Creating Threads"}]},{"id":"sitvEVOAJZxkBBA5E40d","title":"Comparison","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/creating-threads/comparison","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"},{"label":"Creating Threads"}]},{"id":"iHwRaNI9sEm6e2NlqKCi","title":"Examples","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/creating-threads/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"},{"label":"Creating Threads"}]},{"id":"LttiULPPguHJiGFkWgo9","title":"Thread Context Switching","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/thread-context-switching","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"PLdLYCRWDxNYzbv6wJE5","title":"Thread Lifecycle & States","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/thread-lifecycle-and-states","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"4OhoVDzwq58HSJmLK6wB","title":"Types of Threads","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/types-of-threads","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"gZ9ijkOi8Vz8ztL33QaY","title":"Thread Priority","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/thread-priority","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"xErSrSFOJP4lgcpH4MK8","title":"Memory Sharing Between Threads","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/memory-sharing-between-threads","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"E6iVwHEjSh8Wu1jPq3R5","title":"Thread Completion & JVM Exit","pathname":"/the-programmers-guide/java/java-basics/parallelism-and-concurrency/thread-fundamentals/thread-completion-and-jvm-exit","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Basics"},{"label":"Parallelism & Concurrency"},{"label":"Thread Fundamentals"}]},{"id":"0YvWJ6l7h9fSKdLeUsAs","title":"Java Internals","pathname":"/the-programmers-guide/java/java-internals","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"0iDUec9ZcLtIMKDPNJYV","title":"JVM Overview","pathname":"/the-programmers-guide/java/java-internals/java-virtual-machine-jvm","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"}]},{"id":"slgjrg6L92d89nRdhRdn","title":"Architecture","pathname":"/the-programmers-guide/java/java-internals/java-virtual-machine-jvm/architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"},{"label":"JVM Overview"}]},{"id":"WlrmZDJG6bYI3CpYw0zC","title":"Components","pathname":"/the-programmers-guide/java/java-internals/java-virtual-machine-jvm/components","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"},{"label":"JVM Overview"}]},{"id":"ZpeYBCKCEfPNWafhDF6y","title":"Lifecycle","pathname":"/the-programmers-guide/java/java-internals/java-virtual-machine-jvm/lifecycle","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"},{"label":"JVM Overview"}]},{"id":"yDjejTxzDg4MLzE86bk4","title":"Command Line Arguments","pathname":"/the-programmers-guide/java/java-internals/java-virtual-machine-jvm/command-line-arguments","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"},{"label":"JVM Overview"}]},{"id":"F3n4Df8Fhv2LRTadAg55","title":"Memory Management","pathname":"/the-programmers-guide/java/java-internals/memory-management","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"}]},{"id":"XY4vzCOYiEd3cRVLU1jU","title":"References","pathname":"/the-programmers-guide/java/java-internals/memory-management/references","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"},{"label":"Memory Management"}]},{"id":"xJylxIUpmNXyAebKCdvL","title":"Types of Memory","pathname":"/the-programmers-guide/java/java-internals/memory-management/types-of-memory","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Internals"},{"label":"Memory Management"}]},{"id":"x2GZX9viVfEtmfgcQuEm","title":"Java Concepts","pathname":"/the-programmers-guide/java/java-concepts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"t68qGQI5PpYminR9KBFu","title":"Language Essentials","pathname":"/the-programmers-guide/java/java-concepts/language-essentials","siteSpaceId":"sitesp_dugkv","description":"Overview of various Java concepts.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"}]},{"id":"YzDi5t3BDI675x2b4KrT","title":"Annotation","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/annotation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"}]},{"id":"290LVs1NZowRYq2LiDbn","title":"Annotation Processing","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/annotation/annotation-processing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"},{"label":"Annotation"}]},{"id":"Bm5hrh7vZdx2GJxG3MEN","title":"Types of Annotations","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/annotation/types-of-annotations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"},{"label":"Annotation"}]},{"id":"FYfcV7qs86Fq76WAfICW","title":"Custom Annotation","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/annotation/types-of-annotations/custom-annotation","siteSpaceId":"sitesp_dugkv","description":"Overview about custom annotation.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"},{"label":"Annotation"},{"label":"Types of Annotations"}]},{"id":"MxiaqUjQUChY6pJ5G44O","title":"Use Case","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/annotation/types-of-annotations/custom-annotation/use-case","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"},{"label":"Annotation"},{"label":"Types of Annotations"},{"label":"Custom Annotation"}]},{"id":"wKxuuFtIkO9wbUmhakpY","title":"Meta Annotation","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/annotation/types-of-annotations/meta-annotation","siteSpaceId":"sitesp_dugkv","description":"Overview of meta-annotation in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"},{"label":"Annotation"},{"label":"Types of Annotations"}]},{"id":"ci1rR08DMFw0gt1Aa26Q","title":"Generics","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/generics","siteSpaceId":"sitesp_dugkv","description":"Overview of Java Generics.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"}]},{"id":"J5hwkXMtjmeJ3al5hxNR","title":"Covariance and Invariance","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/generics/covariance-and-invariance","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"},{"label":"Generics"}]},{"id":"xaNkkvckghjG1FwUzg9Y","title":"Scoped Values","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/scoped-values","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"}]},{"id":"9orkbxdyNqsfkuMQMExh","title":"Unnamed Variables & Patterns","pathname":"/the-programmers-guide/java/java-concepts/language-essentials/unnamed-variables-and-patterns","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Language Essentials"}]},{"id":"GXcnx1ISEm86lGXjyjZw","title":"Concurrency & Multithreading","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"}]},{"id":"p12RqlWr0XMyIg3JX8lM","title":"Thread Management & Synchronisation","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"}]},{"id":"OGZgRQnML4S2mnYbv5QT","title":"Thread Resource Sharing","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-resource-sharing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"4OhV0e3VHlmsDWU4yXoG","title":"Thread Synchronization","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-synchronization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"Q0vakMqtFYoIlYj5uall","title":"Why is Synchronization Needed ?","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-synchronization/why-is-synchronization-needed","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"},{"label":"Thread Synchronization"}]},{"id":"LuCTpbN5ZSK5RlKW0494","title":"Synchronized Blocks & Methods","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-synchronization/synchronized-blocks-and-methods","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"},{"label":"Thread Synchronization"}]},{"id":"dU03kTdTVYDFLF5DSeDg","title":"Thread Lock","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-lock","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"BeHEoJ8Sh6MYuGwuJf31","title":"Types of Locks","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-lock/types-of-locks","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"},{"label":"Thread Lock"}]},{"id":"Q4aGQC5RtMbIQ6JwlyFR","title":"Intrinsic Lock (Monitor Lock)","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-lock/intrinsic-lock-monitor-lock","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"},{"label":"Thread Lock"}]},{"id":"7Rfw70hcGgoIAIUhcSsv","title":"Reentrant Lock","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-lock/reentrant-lock","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"},{"label":"Thread Lock"}]},{"id":"rsHFXxMZCp3KWJCJP2Qn","title":"Semaphore","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/semaphore","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"sZZjpzyO1u3Ow6daa0y5","title":"Thread Starvation","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-starvation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"HqbdELyzPvvB0MPajwfD","title":"Thread Contention","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-contention","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"HL6nyKNcHzLLOFd5uCb2","title":"Thread Deadlock","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/thread-deadlock","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"Y6jOkroupFNDC4nTRnDg","title":"Best Practices for Avoiding Thread Issues","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/thread-management-and-synchronisation/best-practices-for-avoiding-thread-issues","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Thread Management & Synchronisation"}]},{"id":"uoL7wvfVFl2zJUa3hhKU","title":"Executor Framework","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/executor-framework","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"}]},{"id":"5QyneUHOqRP3xUiHivoM","title":"ExecutorService","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/executor-framework/executorservice","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Executor Framework"}]},{"id":"EG4eqr8AGCLLxeO0OyCt","title":"Types of Work Queues","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/executor-framework/executorservice/types-of-work-queues","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Executor Framework"},{"label":"ExecutorService"}]},{"id":"oL9VsezTSNBEiQDhySeh","title":"Rejection Policies","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/executor-framework/executorservice/rejection-policies","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Executor Framework"},{"label":"ExecutorService"}]},{"id":"NiiO04gpYGGu8c7KHWvX","title":"ExecutorService Implementations","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/executor-framework/executorservice/executorservice-implementations","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Executor Framework"},{"label":"ExecutorService"}]},{"id":"W19iml4zBdwc3EJxm9aQ","title":"ExecutorService Usage","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/executor-framework/executorservice/executorservice-usage","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Executor Framework"},{"label":"ExecutorService"}]},{"id":"rmkhmpphR6Zlki3VnSye","title":"Asynchronous Programming","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/asynchronous-programming","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"}]},{"id":"N70pHqCRiSKdPcN0yOFF","title":"Future","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/asynchronous-programming/future","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Asynchronous Programming"}]},{"id":"wnf3bApzTpdsxVHbxArh","title":"CompletableFuture","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/asynchronous-programming/completablefuture","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Asynchronous Programming"}]},{"id":"gJkj6wJf9u8UpRn3Ce7e","title":"Future v/s CompletableFuture","pathname":"/the-programmers-guide/java/java-concepts/concurrency-and-multithreading/asynchronous-programming/future-v-s-completablefuture","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Concurrency & Multithreading"},{"label":"Asynchronous Programming"}]},{"id":"PkW6CWbYdBOrVNe2F9YT","title":"Functional Programming","pathname":"/the-programmers-guide/java/java-concepts/functional-programming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"}]},{"id":"kABXL8XaFAiPyyREJjE0","title":"Functional Interfaces","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/functional-interfaces","siteSpaceId":"sitesp_dugkv","description":"Details about functional interfaces in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"}]},{"id":"NAvLIuCWCMa6vmKAIyQK","title":"Standard Built-In Interfaces","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/functional-interfaces/standard-built-in-interfaces","siteSpaceId":"sitesp_dugkv","description":"Details about standard built-in functional interfaces in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"},{"label":"Functional Interfaces"}]},{"id":"jK4DRfIvWA9q6ETGSk7n","title":"Custom Interfaces","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/functional-interfaces/custom-interfaces","siteSpaceId":"sitesp_dugkv","description":"Details about custom functional interfaces in Java.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"},{"label":"Functional Interfaces"}]},{"id":"bSIMgZbiUOJ0JO0JS65n","title":"Streams","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/streams","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"}]},{"id":"3cKDR6C83HTgIckGbs91","title":"flatmap","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/streams/flatmap","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"},{"label":"Streams"}]},{"id":"Ay7QMCuLvoXx7q9N5jrT","title":"Collectors Utility Class","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/streams/collectors-utility-class","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"},{"label":"Streams"}]},{"id":"tciKLoNof7byGrIG4t7J","title":"Problems","pathname":"/the-programmers-guide/java/java-concepts/functional-programming/streams/problems","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Functional Programming"},{"label":"Streams"}]},{"id":"o4v8iO2UwcdXV6ESqN8b","title":"Utilities","pathname":"/the-programmers-guide/java/java-concepts/utilities","siteSpaceId":"sitesp_dugkv","description":"Overview of various Java concepts.","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"}]},{"id":"4cg7d4J2SeKPDclt9j4w","title":"Date Time Formatter","pathname":"/the-programmers-guide/java/java-concepts/utilities/date-time-formatter","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"}]},{"id":"UVEuveWelI03nsTGPFkc","title":"Validation","pathname":"/the-programmers-guide/java/java-concepts/utilities/validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"}]},{"id":"IGNJAsz1GvrEFacIn20G","title":"Input Handling","pathname":"/the-programmers-guide/java/java-concepts/utilities/input-handling","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"}]},{"id":"dgG4HpH5g5qWaUHumyT5","title":"Comparing & Ordering","pathname":"/the-programmers-guide/java/java-concepts/utilities/comparing-and-ordering","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"}]},{"id":"8czUo6B9MQk46YKhSQ95","title":"Object Equality Check","pathname":"/the-programmers-guide/java/java-concepts/utilities/comparing-and-ordering/object-equality-check","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"},{"label":"Comparing & Ordering"}]},{"id":"ju5dNxlzD4oWswSySODz","title":"Comparable and Comparator","pathname":"/the-programmers-guide/java/java-concepts/utilities/comparing-and-ordering/comparable-and-comparator","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"},{"label":"Comparing & Ordering"}]},{"id":"2HaCWzXDjZoHgUVvM3Cq","title":"Comparator Interface","pathname":"/the-programmers-guide/java/java-concepts/utilities/comparing-and-ordering/comparable-and-comparator/comparator-interface","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"},{"label":"Comparing & Ordering"},{"label":"Comparable and Comparator"}]},{"id":"Q2z7jQ3rOLH7qOorAlGk","title":"Sorting of Objects","pathname":"/the-programmers-guide/java/java-concepts/utilities/comparing-and-ordering/sorting-of-objects","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"},{"label":"Comparing & Ordering"}]},{"id":"O9TDQ0fgGsMte850vszF","title":"Insertion Ordering","pathname":"/the-programmers-guide/java/java-concepts/utilities/comparing-and-ordering/insertion-ordering","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Utilities"},{"label":"Comparing & Ordering"}]},{"id":"qKAFVNKW1oj3cCYIMPQu","title":"Specifications & Standards","pathname":"/the-programmers-guide/java/java-concepts/specifications-and-standards","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"}]},{"id":"fmDO6M5iHS4QezgWJeNU","title":"ISO Standards","pathname":"/the-programmers-guide/java/java-concepts/specifications-and-standards/iso-standards","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Specifications & Standards"}]},{"id":"KfQPNf20YF1NjVbfJJo1","title":"JSR","pathname":"/the-programmers-guide/java/java-concepts/specifications-and-standards/jsr","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Specifications & Standards"}]},{"id":"Atb7gaGVSTnRVYbLHkMA","title":"JSR 303, 349, 380 (Bean Validation)","pathname":"/the-programmers-guide/java/java-concepts/specifications-and-standards/jsr/jsr-303-349-380-bean-validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Concepts"},{"label":"Specifications & Standards"},{"label":"JSR"}]},{"id":"ZqfMMkf4odV8H1RNxP1Z","title":"Java Packages","pathname":"/the-programmers-guide/java/java-packages","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"KLbOSxBG9xovJzqbhSGZ","title":"Core Packages","pathname":"/the-programmers-guide/java/java-packages/core-packages","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"}]},{"id":"pAecv1g318xigKZPkXmd","title":"java.lang","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.lang","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"}]},{"id":"i8ig2AMxJFj8y1D6hWX2","title":"java.lang.System","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.lang/java.lang.system","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"},{"label":"java.lang"}]},{"id":"sOFVJa9eFY8M8wGDE8Rq","title":"java.lang.Thread","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.lang/java.lang.thread","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"},{"label":"java.lang"}]},{"id":"gTNkLLvoLRBGVXz526fi","title":"java.net","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.net","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"}]},{"id":"WpEzPu4u4n85m636vSot","title":"java.net.InetAddress","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.net/java.net.inetaddress","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"},{"label":"java.net"}]},{"id":"PyAC7vWANad4lAfQbbzd","title":"java.nio","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.nio","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"}]},{"id":"BPq1y669nYPB7kxXEEk2","title":"java.nio.charset","pathname":"/the-programmers-guide/java/java-packages/core-packages/java.nio/java.nio.charset","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Core Packages"},{"label":"java.nio"}]},{"id":"ggzuV0Kw0maAiQqAx8cG","title":"Jakarta Packages","pathname":"/the-programmers-guide/java/java-packages/jakarta-packages","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"}]},{"id":"PJxRpvOlFYECuP8JavcG","title":"jakarta.validation","pathname":"/the-programmers-guide/java/java-packages/jakarta-packages/jakarta.validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Jakarta Packages"}]},{"id":"wVzXxuQ5sXPn9XfkT0Mo","title":"javax.validation","pathname":"/the-programmers-guide/java/java-packages/jakarta-packages/javax.validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"},{"label":"Jakarta Packages"}]},{"id":"RQROYHM9jUb7YuQbGLCR","title":"Third-party Packages","pathname":"/the-programmers-guide/java/java-packages/third-party-packages","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Packages"}]},{"id":"yDWFmxrFVKy2B5LRziE1","title":"Infrastructure & Deployment","pathname":"/the-programmers-guide/java/infrastructure-and-deployment","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"VlcVILq6JxA16q7GOdgI","title":"Java Servers","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/java-servers","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"}]},{"id":"K3Su729t3BCdktH9PFCA","title":"Application Server","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/java-servers/application-server","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"},{"label":"Java Servers"}]},{"id":"nkZ0PW5lwToPUgMbuNWj","title":"Web Server","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/java-servers/page-1","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"},{"label":"Java Servers"}]},{"id":"r7p4X0mGpWKrqSjMTmOe","title":"Web Server vs Application Server","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/java-servers/web-server-vs-application-server","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"},{"label":"Java Servers"}]},{"id":"iajh6K5TH13nW1gzELK3","title":"Server vs Container","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/java-servers/server-vs-container","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"},{"label":"Java Servers"}]},{"id":"PBZ15OK9XHTizN6GlHoQ","title":"Java Deployment Models","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/java-deployment-models","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"}]},{"id":"KCun3GXygTv2Bu0McW99","title":"Build & Packaging Tools","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/build-and-packaging-tools","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"}]},{"id":"Kso7mqdcE1x2YBNhd1je","title":"Maven","pathname":"/the-programmers-guide/java/infrastructure-and-deployment/build-and-packaging-tools/maven","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Infrastructure & Deployment"},{"label":"Build & Packaging Tools"}]},{"id":"uP7egpovP5hn5gKZ97Lk","title":"Troubleshooting Java Code","pathname":"/the-programmers-guide/java/troubleshooting-java-code","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"LWZdGI9K3W1ce456jkSG","title":"Thread Dump","pathname":"/the-programmers-guide/java/troubleshooting-java-code/thread-dump","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Troubleshooting Java Code"}]},{"id":"dwYYuUGgop4pbmxW20bt","title":"Heap Dump","pathname":"/the-programmers-guide/java/troubleshooting-java-code/heap-dump","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Troubleshooting Java Code"}]},{"id":"3LRd3xYaeUoAjSNBRnk1","title":"Artifact Analysis","pathname":"/the-programmers-guide/java/troubleshooting-java-code/artifact-analysis","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Troubleshooting Java Code"}]},{"id":"TOUMPag2FRfcUnEQIqYo","title":"Code Quality & Analysis","pathname":"/the-programmers-guide/java/code-quality-and-analysis","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"Z9unND2FpO0ViCStpum9","title":"Code Smells","pathname":"/the-programmers-guide/java/code-quality-and-analysis/code-smells","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"}]},{"id":"TT4x4N5UwbPBQ1e6TwhT","title":"Types of Code Smells","pathname":"/the-programmers-guide/java/code-quality-and-analysis/code-smells/types-of-code-smells","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Code Smells"}]},{"id":"X2nAFSs7S9Sx9NsylMyy","title":"Code Smells to Avoid","pathname":"/the-programmers-guide/java/code-quality-and-analysis/code-smells/code-smells-to-avoid","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Code Smells"}]},{"id":"9dzHsjq3CWlOMTBnqnM5","title":"Anti-Patterns","pathname":"/the-programmers-guide/java/code-quality-and-analysis/anti-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"}]},{"id":"WJEsVDBkNKZlfqWFZ4w5","title":"Types of Anti-Patterns","pathname":"/the-programmers-guide/java/code-quality-and-analysis/anti-patterns/types-of-anti-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Anti-Patterns"}]},{"id":"0qZYGMLoSLFkFuuD52ql","title":"Cyclic dependencies","pathname":"/the-programmers-guide/java/code-quality-and-analysis/anti-patterns/cyclic-dependencies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Anti-Patterns"}]},{"id":"88J3Pdy7z0GSLsBwDHSV","title":"Bug Patterns","pathname":"/the-programmers-guide/java/code-quality-and-analysis/bug-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"}]},{"id":"OKVqNxES0C3ZV9LZM0i1","title":"Classification of Bug Patterns","pathname":"/the-programmers-guide/java/code-quality-and-analysis/bug-patterns/classification-of-bug-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Bug Patterns"}]},{"id":"9J6IH2yCMO59gIALFglw","title":"Common Myths About Bugs","pathname":"/the-programmers-guide/java/code-quality-and-analysis/bug-patterns/common-myths-about-bugs","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Bug Patterns"}]},{"id":"KyxUmvkuWEauSjJQDRmv","title":"Bug Pattern Examples","pathname":"/the-programmers-guide/java/code-quality-and-analysis/bug-patterns/bug-pattern-examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Bug Patterns"}]},{"id":"6sA6liLHkZ3spfIWqmui","title":"Security Concepts","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"}]},{"id":"6gjAE30IFbhDVgS4MbMn","title":"Vulnerabilities","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/vulnerabilities","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"PPJLGUToI60kcmzICRdL","title":"Security Hotspots","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/security-hotspots","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"ettwwDvop0WhIYLVVE0W","title":"Insecure Coding Practices","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/insecure-coding-practices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"4xLHYoLcQ93u7P2qt0l1","title":"Trust Boundaries & Input Validation","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/trust-boundaries-and-input-validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"WvAJBO17YwXiuJG4Y9Gk","title":"Authentication & Authorization Flaws","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/authentication-and-authorization-flaws","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"BJwKHfJ2aDKzwgwbjWAk","title":"Data Protection & Sensitive Data Handling","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/data-protection-and-sensitive-data-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"y0xsBZza1lQLwMrXnPU6","title":"Injection & Interpretation Risks","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/injection-and-interpretation-risks","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"P7z0Os6TsNjQq50gbGyM","title":"Error Handling & Information Exposure","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/error-handling-and-information-exposure","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"XNCHWqyJbnz7m55RguxN","title":"Cryptography Misuse","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/cryptography-misuse","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"KlNAAkrhfhlKuSprVOiN","title":"Dependency & Third-Party Risks","pathname":"/the-programmers-guide/java/code-quality-and-analysis/security-concepts/dependency-and-third-party-risks","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Security Concepts"}]},{"id":"ozEHRuWQnHeLi1Ip2dQj","title":"Quality Metrics","pathname":"/the-programmers-guide/java/code-quality-and-analysis/quality-metrics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"}]},{"id":"fejZg294NP89DWsjkZX4","title":"Reliability","pathname":"/the-programmers-guide/java/code-quality-and-analysis/quality-metrics/reliability","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Quality Metrics"}]},{"id":"7XLX1l19Ufo51aQcsDFf","title":"Maintainability","pathname":"/the-programmers-guide/java/code-quality-and-analysis/quality-metrics/maintainability","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Quality Metrics"}]},{"id":"zK4EtpdzWA7fT04RLEwb","title":"Security","pathname":"/the-programmers-guide/java/code-quality-and-analysis/quality-metrics/security","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Quality Metrics"}]},{"id":"CWSZfVQGKMSmyUUzgUyI","title":"Technical Debt","pathname":"/the-programmers-guide/java/code-quality-and-analysis/quality-metrics/technical-debt","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"Quality Metrics"}]},{"id":"MEeJ6eRjTijqJrdT7WuW","title":"SonarQube","pathname":"/the-programmers-guide/java/code-quality-and-analysis/sonarqube","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"}]},{"id":"INwKbQYXNfuBE7F9Qngd","title":"Issue Model (Severity & Types)","pathname":"/the-programmers-guide/java/code-quality-and-analysis/sonarqube/issue-model-severity-and-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"SonarQube"}]},{"id":"SLV5bQFW1YoHzZ9xGrVe","title":"Quality Gates & Profiles","pathname":"/the-programmers-guide/java/code-quality-and-analysis/sonarqube/quality-gates-and-profiles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"SonarQube"}]},{"id":"HQIA4CgCyBLPsvGIzGuF","title":"Custom Quality Gate","pathname":"/the-programmers-guide/java/code-quality-and-analysis/sonarqube/quality-gates-and-profiles/custom-quality-gate","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"SonarQube"},{"label":"Quality Gates & Profiles"}]},{"id":"YflpYWqf9hZ6aaEQU3Fl","title":"Best Practices for Rule Configuration","pathname":"/the-programmers-guide/java/code-quality-and-analysis/sonarqube/best-practices-for-rule-configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"SonarQube"}]},{"id":"GxWp35xP4aXFQW7YL0pr","title":"Industry-Standard Quality Gate Conditions","pathname":"/the-programmers-guide/java/code-quality-and-analysis/sonarqube/industry-standard-quality-gate-conditions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Quality & Analysis"},{"label":"SonarQube"}]},{"id":"nah7yAugeyLKaKxcTJUA","title":"Code Style Guidelines","pathname":"/the-programmers-guide/java/code-style-guidelines","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"GEXsAB9WyiYLGeL30jDf","title":"Naming Convention","pathname":"/the-programmers-guide/java/code-style-guidelines/naming-convention","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"OxR6zk6E5K9hVpiXxS5j","title":"Package Structure","pathname":"/the-programmers-guide/java/code-style-guidelines/package-structure","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"eZN6OlpX61WlQzHwWJuG","title":"Formatting","pathname":"/the-programmers-guide/java/code-style-guidelines/formatting","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"gZ9ZiFpinqoTOg1kj36z","title":"Comments and Documentation","pathname":"/the-programmers-guide/java/code-style-guidelines/comments-and-documentation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"CvFq7hCSnZpybEUi8hFJ","title":"Imports","pathname":"/the-programmers-guide/java/code-style-guidelines/imports","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"b5P2NLFEEQhovP5AvfJz","title":"Exception Handling","pathname":"/the-programmers-guide/java/code-style-guidelines/exception-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"grn2cw6v39LlnEB30VBn","title":"Class Structure","pathname":"/the-programmers-guide/java/code-style-guidelines/class-structure","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"JeuoAcuS8xhvb3iYGOb2","title":"Method Guidelines","pathname":"/the-programmers-guide/java/code-style-guidelines/method-guidelines","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"fvns6UP6EPeRI5avBbT2","title":"Lambdas and Streams Style","pathname":"/the-programmers-guide/java/code-style-guidelines/lambdas-and-streams-style","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"XnC3Qb8s0VnlK2g2Rucg","title":"Code Style Tools","pathname":"/the-programmers-guide/java/code-style-guidelines/code-style-tools","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Code Style Guidelines"}]},{"id":"Z7QbOu5xbhZi9fQcZDzC","title":"Java Development Tools","pathname":"/the-programmers-guide/java/java-development-tools","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"P2oDc6SCKRperEdo4Z2o","title":"IntelliJ IDEA","pathname":"/the-programmers-guide/java/java-development-tools/intellij-idea","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"}]},{"id":"1pfniI0T5lJsLD0913Bg","title":"Shortcuts for MAC","pathname":"/the-programmers-guide/java/java-development-tools/intellij-idea/shortcuts-for-mac","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"},{"label":"IntelliJ IDEA"}]},{"id":"I2kdVxW3yf7qGBt51sGU","title":"Apache JMeter","pathname":"/the-programmers-guide/java/java-development-tools/apache-jmeter","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"}]},{"id":"vGAvLaMq4vMeFrBZrdu3","title":"Examples","pathname":"/the-programmers-guide/java/java-development-tools/apache-jmeter/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"},{"label":"Apache JMeter"}]},{"id":"vJ449nul1ohkpTvapjhi","title":"Thread Dump Capture","pathname":"/the-programmers-guide/java/java-development-tools/thread-dump-capture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"}]},{"id":"A9qUySz6brgO1zpUmwnz","title":"jstack","pathname":"/the-programmers-guide/java/java-development-tools/thread-dump-capture/jstack","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"},{"label":"Thread Dump Capture"}]},{"id":"vpGrfbsrIa37xMY8odcI","title":"Heap Dump Capture","pathname":"/the-programmers-guide/java/java-development-tools/heap-dump-capture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"}]},{"id":"TyLsOReEQNsTja0QNaBW","title":"jmap","pathname":"/the-programmers-guide/java/java-development-tools/heap-dump-capture/jmap","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"},{"label":"Heap Dump Capture"}]},{"id":"wHxuk0IJLvVQcOHpxTXe","title":"Wireshark","pathname":"/the-programmers-guide/java/java-development-tools/wireshark","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"}]},{"id":"5w2v9ZX8LPfjqyzyDVaM","title":"Search Filters","pathname":"/the-programmers-guide/java/java-development-tools/wireshark/search-filters","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"},{"label":"Wireshark"}]},{"id":"xggbeV27dcqjxQWFXY3w","title":"SonarQube","pathname":"/the-programmers-guide/java/java-development-tools/sonarqube","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"}]},{"id":"9HqGjbEYkrRwrX4uG4TN","title":"Scanning a Spring Boot Project","pathname":"/the-programmers-guide/java/java-development-tools/sonarqube/scanning-a-spring-boot-project","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Java Development Tools"},{"label":"SonarQube"}]},{"id":"OFoqutLpcIPM2mO2PGoc","title":"Best Practices","pathname":"/the-programmers-guide/java/best-practices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"}]},{"id":"aHDCA8VPFllkh3MUUW5T","title":"Method Chaining","pathname":"/the-programmers-guide/java/best-practices/method-chaining","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Java","icon":"mug-hot"},{"label":"Best Practices"}]},{"id":"tk697DiTC3PX2mAdDdnI","title":"Maven","pathname":"/the-programmers-guide/maven","siteSpaceId":"sitesp_dugkv","icon":"cube","description":""},{"id":"d2VxIYv90wVvL6VBBELf","title":"Installation","pathname":"/the-programmers-guide/maven/installation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"DmCDI6eAp8kaILw0vpD0","title":"Local Repository & Configuration","pathname":"/the-programmers-guide/maven/local-repository-and-configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"Y3c16aonrUdiMKmyXSNs","title":"Command-line Options","pathname":"/the-programmers-guide/maven/command-line-options","siteSpaceId":"sitesp_dugkv","description":"An overview of the options available while executing maven commands.","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"yIqi48kHgQnjevTYD3sa","title":"Artifact Coordinates","pathname":"/the-programmers-guide/maven/artifact-coordinates","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"3iduF3sS2hp5HyAkgvS5","title":"Classifier","pathname":"/the-programmers-guide/maven/artifact-coordinates/classifier","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Artifact Coordinates"}]},{"id":"P91oZKGn5cjVFy3IhCU5","title":"POM File","pathname":"/the-programmers-guide/maven/pom-file","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"UbtbokzxQ6yBtkkIISt5","title":"Build & Lifecycle","pathname":"/the-programmers-guide/maven/build-and-lifecycle","siteSpaceId":"sitesp_dugkv","description":"An overview of Maven's build process, covering its lifecycle, phases and default plugins.","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"Htca8Nh2dvCZK8iAbukg","title":"Dependency Management","pathname":"/the-programmers-guide/maven/dependency-management","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"a7f1Ewlrk59r04fxxj8W","title":"Dependency","pathname":"/the-programmers-guide/maven/dependency-management/dependency","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"xXaaI2jEEnBEurtNInpl","title":"Transitive Dependency","pathname":"/the-programmers-guide/maven/dependency-management/dependency/transitive-dependency","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"},{"label":"Dependency"}]},{"id":"81FPCEavGidVDyfL17vr","title":"Optional Dependency","pathname":"/the-programmers-guide/maven/dependency-management/dependency/optional-dependency","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"},{"label":"Dependency"}]},{"id":"GInkO7r77vEbT8OKMR0X","title":"Dependency Scope","pathname":"/the-programmers-guide/maven/dependency-management/dependency-scope","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"xFOM5sS3ythSxS3nyQJz","title":"Maven Lifecycle and Dependency Scope","pathname":"/the-programmers-guide/maven/dependency-management/dependency-scope/maven-lifecycle-and-dependency-scope","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"},{"label":"Dependency Scope"}]},{"id":"fKYDIuklWnL364fBAD27","title":"Dependency Exclusions & Overrides","pathname":"/the-programmers-guide/maven/dependency-management/dependency-exclusions-and-overrides","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"lXC5g1ZwQqi5TVwCSG2g","title":"Bill of Materials (BOM)","pathname":"/the-programmers-guide/maven/dependency-management/bill-of-materials-bom","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"t6HgzXgymsULUS5lUU6W","title":"Dependency Conflict Resolution","pathname":"/the-programmers-guide/maven/dependency-management/dependency-conflict-resolution","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"bi82IS3uoLl7ybixn6jF","title":"Dependency Tree & Analysis","pathname":"/the-programmers-guide/maven/dependency-management/dependency-tree-and-analysis","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"57NJeeUGwVXhFY5VWIWO","title":"Dependency Versioning Strategies","pathname":"/the-programmers-guide/maven/dependency-management/dependency-versioning-strategies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"}]},{"id":"a84E34TGCYidYbYVfPwq","title":"Artifact and BOM Versioning","pathname":"/the-programmers-guide/maven/dependency-management/dependency-versioning-strategies/artifact-and-bom-versioning","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Dependency Management"},{"label":"Dependency Versioning Strategies"}]},{"id":"zJe5p88xWENxZQfnQ82b","title":"Plugins","pathname":"/the-programmers-guide/maven/plugins","siteSpaceId":"sitesp_dugkv","description":"An overview of various plugins used commonly across various projects in the form of categories.","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"jLUlHIUYBX5kPAm0Sx8H","title":"Build Lifecycle Management","pathname":"/the-programmers-guide/maven/plugins/build-lifecycle-management","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"V7x3y9FJDSKGFW9GDnqb","title":"Dependency Management","pathname":"/the-programmers-guide/maven/plugins/dependency-management","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"4lnxfYxYkpz3PzRyw4Ew","title":"Code Quality and Analysis","pathname":"/the-programmers-guide/maven/plugins/code-quality-and-analysis","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"54vV9ykmACA1APwo7ARK","title":"Documentation Generation","pathname":"/the-programmers-guide/maven/plugins/documentation-generation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"g80wuQXul9CAtj8LP59T","title":"Code Generation","pathname":"/the-programmers-guide/maven/plugins/code-generation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"E38HBjlRrzWcLKsW0BCv","title":"Packaging and Deployment","pathname":"/the-programmers-guide/maven/plugins/packaging-and-deployment","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"9nxMeZmTeSX98sPYswch","title":"Reporting","pathname":"/the-programmers-guide/maven/plugins/reporting","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"YCJISylMl2AdGpiIsDEa","title":"Integration and Testing","pathname":"/the-programmers-guide/maven/plugins/integration-and-testing","siteSpaceId":"sitesp_dugkv","description":"Plugins for integrating with testing frameworks, running integration tests, and managing test resources.","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"820DlHqxz5fC2unkrjY4","title":"Customization and Enhancement","pathname":"/the-programmers-guide/maven/plugins/customization-and-enhancement","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"zyYBuZdyRQu0tWAkPI3p","title":"build-helper-maven-plugin","pathname":"/the-programmers-guide/maven/plugins/customization-and-enhancement/build-helper-maven-plugin","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"},{"label":"Customization and Enhancement"}]},{"id":"1ZmI3FxlcM5mlXF4d1Jv","title":"properties-maven-plugin","pathname":"/the-programmers-guide/maven/plugins/customization-and-enhancement/properties-maven-plugin","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"},{"label":"Customization and Enhancement"}]},{"id":"HLubFJFSDqBerzVpP6CO","title":"ant-run plugin","pathname":"/the-programmers-guide/maven/plugins/customization-and-enhancement/ant-run-plugin","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"},{"label":"Customization and Enhancement"}]},{"id":"nP3VoZsF0u5ti1KQXC9M","title":"exec-maven-plugin","pathname":"/the-programmers-guide/maven/plugins/customization-and-enhancement/exec-maven-plugin","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"},{"label":"Customization and Enhancement"}]},{"id":"YUjwxA555E7RjbkYVl0d","title":"gmavenplus-plugin","pathname":"/the-programmers-guide/maven/plugins/customization-and-enhancement/gmavenplus-plugin","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"},{"label":"Customization and Enhancement"}]},{"id":"UlW0S2dssEp1F3GfllxK","title":"Performance Optimization","pathname":"/the-programmers-guide/maven/plugins/performance-optimization","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"Plugins"}]},{"id":"LJ5RGp2s02Xk4xgO2Cdd","title":"FAQs","pathname":"/the-programmers-guide/maven/faqs","siteSpaceId":"sitesp_dugkv","description":"Frequently Asked Question on Maven","breadcrumbs":[{"label":"Maven","icon":"cube"}]},{"id":"ikZIrfGQzUx5W50pX7XR","title":"Fixing Maven SSL Issues: Unable to Find Valid Certification Path","pathname":"/the-programmers-guide/maven/faqs/fixing-maven-ssl-issues-unable-to-find-valid-certification-path","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Maven","icon":"cube"},{"label":"FAQs"}]},{"id":"Ln5ck84W5wWU4zkz6MSP","title":"Miscellaneous","pathname":"/the-programmers-guide/miscellaneous","siteSpaceId":"sitesp_dugkv","icon":"table-cells"},{"id":"nxrGpRljRZwytwGgWgU3","title":"Image","pathname":"/the-programmers-guide/miscellaneous/image","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Miscellaneous","icon":"table-cells"}]},{"id":"WXpasVtzcww2eItYhgAE","title":"Mac","pathname":"/the-programmers-guide/miscellaneous/mac","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Miscellaneous","icon":"table-cells"}]},{"id":"IrVI6wpJbsMnNm0Cq7Oq","title":"Mac Shortcuts","pathname":"/the-programmers-guide/miscellaneous/mac/mac-shortcuts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Miscellaneous","icon":"table-cells"},{"label":"Mac"}]},{"id":"AorQcLBQYxXc6vW38UB8","title":"Running Oracle DB","pathname":"/the-programmers-guide/miscellaneous/mac/running-oracle-db","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Miscellaneous","icon":"table-cells"},{"label":"Mac"}]},{"id":"nC7ToKW2d76iYArwkom4","title":"Spring","pathname":"/the-programmers-guide/spring","siteSpaceId":"sitesp_dugkv","icon":"seedling","description":""},{"id":"XVhoiPpopqeupYYkfzzr","title":"Spring Basics","pathname":"/the-programmers-guide/spring/spring-basics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"6FNiCguNeMbzeHAvK1g4","title":"What is Spring ?","pathname":"/the-programmers-guide/spring/spring-basics/what-is-spring","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Basics"}]},{"id":"yAUO82g4k0fE7MmxV1eX","title":"Why Use Spring","pathname":"/the-programmers-guide/spring/spring-basics/why-use-spring","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Basics"}]},{"id":"OYwxTFbopEUsyYmaji9w","title":"Spring Ecosystem","pathname":"/the-programmers-guide/spring/spring-basics/spring-ecosystem","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Basics"}]},{"id":"wCzCoYw3VFColBkbPIKK","title":"Versioning","pathname":"/the-programmers-guide/spring/spring-basics/versioning","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Basics"}]},{"id":"U4NHZpohzfwVd5hwKJsE","title":"Setting Up a Spring Project","pathname":"/the-programmers-guide/spring/spring-basics/setting-up-a-spring-project","siteSpaceId":"sitesp_dugkv","description":"Setting up a Spring project correctly is essential to ensure smooth development and maintainability.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Basics"}]},{"id":"sF94T1j9sxh4l5xLtYTG","title":"Spring vs Spring Boot","pathname":"/the-programmers-guide/spring/spring-basics/spring-vs-spring-boot","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Basics"}]},{"id":"gCGeIuO7szXT5cNoQOhY","title":"General Concepts","pathname":"/the-programmers-guide/spring/general-concepts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"JwRwTaWATVCNcQ88rwTC","title":"Spring Boot Artifact Packaging","pathname":"/the-programmers-guide/spring/general-concepts/spring-boot-artifact-packaging","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"}]},{"id":"dtYEJXco7Du5ECAbjPfw","title":"Classpath and Resource Loading","pathname":"/the-programmers-guide/spring/general-concepts/classpath-and-resource-loading","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"}]},{"id":"s4QfWKLH81ZuDrh6kX2e","title":"REGEX","pathname":"/the-programmers-guide/spring/general-concepts/regex","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"}]},{"id":"xyZje4A9Yizs9TBSMFKj","title":"Core Classes","pathname":"/the-programmers-guide/spring/general-concepts/regex/core-classes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"},{"label":"REGEX"}]},{"id":"LnF5VfpiQ76az5GtLuMt","title":"Validations in Spring Framework","pathname":"/the-programmers-guide/spring/general-concepts/validations-in-spring-framework","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"}]},{"id":"wZRNGXRYLGDUM9aUcRv8","title":"Jakarta Validation","pathname":"/the-programmers-guide/spring/general-concepts/validations-in-spring-framework/jakarta-validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"},{"label":"Validations in Spring Framework"}]},{"id":"XvS27P25zkjhOCEwmi21","title":"Jakarta Bean Validation Annotations","pathname":"/the-programmers-guide/spring/general-concepts/validations-in-spring-framework/jakarta-validation/jakarta-bean-validation-annotations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"General Concepts"},{"label":"Validations in Spring Framework"},{"label":"Jakarta Validation"}]},{"id":"mgcKdXwopXCkC8R5ZCne","title":"Core Concepts","pathname":"/the-programmers-guide/spring/core-concepts","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"Ue0BCCRxhS3yylpAgzQ8","title":"Spring Core","pathname":"/the-programmers-guide/spring/core-concepts/spring-core","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"}]},{"id":"8OulJF0yGSUH1dqGH9iU","title":"Dependency Injection (DI)","pathname":"/the-programmers-guide/spring/core-concepts/spring-core/dependency-injection-di","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Core"}]},{"id":"Y9cTt4gm4s8rEotxx7TS","title":"@Autowired","pathname":"/the-programmers-guide/spring/core-concepts/spring-core/dependency-injection-di/autowired","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Core"},{"label":"Dependency Injection (DI)"}]},{"id":"oiZ6EpGzW3VxReJTWVF0","title":"@Qualifier","pathname":"/the-programmers-guide/spring/core-concepts/spring-core/dependency-injection-di/qualifier","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Core"},{"label":"Dependency Injection (DI)"}]},{"id":"AfRCiaRYTv0ZQqqHp97e","title":"@Primary","pathname":"/the-programmers-guide/spring/core-concepts/spring-core/dependency-injection-di/primary","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Core"},{"label":"Dependency Injection (DI)"}]},{"id":"ENSCAh66IRjH0iMGFoFv","title":"Stereotype Annotation","pathname":"/the-programmers-guide/spring/core-concepts/spring-core/stereotype-annotation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Core"}]},{"id":"69AFLnaNLWj4MoEHgH90","title":"Spring Beans","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"}]},{"id":"R6JsKdYtmwADgBxtL422","title":"How Spring Beans Differ from Java Beans ?","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/how-spring-beans-differ-from-java-beans","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"3E6l5hhJhZRiBTos1g8z","title":"Bean Definition & Naming","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/bean-definition-and-naming","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"nLspR9TsIi4aPySZIn7r","title":"Bean Lifecycle","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/bean-lifecycle","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"XK1vF4PRSTl68tA4BUn6","title":"Bean Scope","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/bean-scope","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"gpy1oyACW8pEZCpbmj2d","title":"Singleton Bean","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/bean-scope/singleton-bean","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"},{"label":"Bean Scope"}]},{"id":"A2VTrqaOM6UWNd16XAdm","title":"Use Case","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/bean-scope/use-case","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"},{"label":"Bean Scope"}]},{"id":"9BjIJvLc3gpVjng8LrBz","title":"Lazy & Eager Initialization","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/lazy-and-eager-initialization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"LGCH4NoV9dXqCIfYsJVn","title":"Use Case of Lazy Initialization","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/lazy-and-eager-initialization/use-case-of-lazy-initialization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"},{"label":"Lazy & Eager Initialization"}]},{"id":"SagXGk2YTZGb6dPkrfUd","title":"BeanFactory","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/beanfactory","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"kudS6QNV3fdiAEj1xA1H","title":"ApplicationContext","pathname":"/the-programmers-guide/spring/core-concepts/spring-beans/applicationcontext","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Beans"}]},{"id":"fPnKJD2T1wUHzEEBIcWX","title":"Spring Profiles","pathname":"/the-programmers-guide/spring/core-concepts/profiles","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"}]},{"id":"LXq9VE3KURyANv79TWFG","title":"Spring Annotations","pathname":"/the-programmers-guide/spring/core-concepts/spring-annotations","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"}]},{"id":"TKiXbPTcwP1Bd8xvPLYL","title":"Annotation Inheritance","pathname":"/the-programmers-guide/spring/core-concepts/spring-annotations/annotation-inheritance","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Annotations"}]},{"id":"j0Clwm6ZgMhudFfV2mXV","title":"Commonly Used Annotations","pathname":"/the-programmers-guide/spring/core-concepts/spring-annotations/commonly-used-annotations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Annotations"}]},{"id":"3PEbt7EATV2SFWBCMOJA","title":"Spring Boot Specific","pathname":"/the-programmers-guide/spring/core-concepts/spring-annotations/commonly-used-annotations/spring-boot-specific","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Annotations"},{"label":"Commonly Used Annotations"}]},{"id":"p5XmgL23tCHXyKj4kwku","title":"Controller Layer (Web & REST Controllers)","pathname":"/the-programmers-guide/spring/core-concepts/spring-annotations/commonly-used-annotations/controller-layer-web-and-rest-controllers","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Annotations"},{"label":"Commonly Used Annotations"}]},{"id":"hOAT1QBN428fwFfHwr0F","title":"Spring Configuration","pathname":"/the-programmers-guide/spring/core-concepts/spring-configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"}]},{"id":"gkXSi4SqBxoTIxFvNSqZ","title":"Custom Package Scanning","pathname":"/the-programmers-guide/spring/core-concepts/spring-configuration/custom-package-scanning","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Configuration"}]},{"id":"T3mAVkbqJszPvu22Y2ES","title":"@Value for Property Injection","pathname":"/the-programmers-guide/spring/core-concepts/spring-configuration/value-for-property-injection","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Configuration"}]},{"id":"Y1O5OVprbidPTGxRuBqw","title":"Mapping Properties to Java Class","pathname":"/the-programmers-guide/spring/core-concepts/spring-configuration/configuration-mapping-properties-to-java-class","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Core Concepts"},{"label":"Spring Configuration"}]},{"id":"QESlCLGrdJXcEEa2V4nz","title":"Spring Features","pathname":"/the-programmers-guide/spring/spring-features","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"OMAHBqph0AcXSnXkHbPt","title":"Auto Configuration","pathname":"/the-programmers-guide/spring/spring-features/auto-configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"LvHscLy8wy2k6mMRTqOL","title":"Spring Boot 2: spring.factories","pathname":"/the-programmers-guide/spring/spring-features/auto-configuration/spring-boot-2-spring.factories","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Auto Configuration"}]},{"id":"BrFkp6dxXtuHpT8vJZIH","title":"Spring Boot 3: spring.factories","pathname":"/the-programmers-guide/spring/spring-features/auto-configuration/spring-boot-3-spring.factories","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Auto Configuration"}]},{"id":"1nCXz8IaS2NeFphoZYP1","title":"Spring Caching","pathname":"/the-programmers-guide/spring/spring-features/spring-caching","siteSpaceId":"sitesp_dugkv","description":"Provides details about caching and various methods available along with code examples.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"WUZy3YdRdWxCx9tEvu2W","title":"In-Memory Caching","pathname":"/the-programmers-guide/spring/spring-features/spring-caching/in-memory-caching","siteSpaceId":"sitesp_dugkv","description":"Provides details about in memory caching and various supported cache providers.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Caching"}]},{"id":"YJgrKHYiBmYAZSVNnzyn","title":"Spring AOP","pathname":"/the-programmers-guide/spring/spring-features/spring-aop","siteSpaceId":"sitesp_dugkv","description":"Overview of Aspect Oriented Programming (AOP) framework along with practical example.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"StR5zN0E82yQyYaxnPWg","title":"Before Advice","pathname":"/the-programmers-guide/spring/spring-features/spring-aop/before-advice","siteSpaceId":"sitesp_dugkv","description":"Details as well as Examples covering Before Advice.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring AOP"}]},{"id":"NHm6TCeYOjWUA2Z9oe8j","title":"After Returning Advice","pathname":"/the-programmers-guide/spring/spring-features/spring-aop/after-returning-advice","siteSpaceId":"sitesp_dugkv","description":"Details as well as Examples covering After Returning Advice.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring AOP"}]},{"id":"i18sGwG4zE6ZPGJQkDbQ","title":"After Throwing Advice","pathname":"/the-programmers-guide/spring/spring-features/spring-aop/after-throwing-advice","siteSpaceId":"sitesp_dugkv","description":"Details as well as Examples covering After Throwing Advice.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring AOP"}]},{"id":"a9RDyBut2tkgoGVm0gmN","title":"After (finally) Advice","pathname":"/the-programmers-guide/spring/spring-features/spring-aop/after-finally-advice","siteSpaceId":"sitesp_dugkv","description":"Details as well as Examples covering After Advice.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring AOP"}]},{"id":"GZ0zxfVD0pvlyOhZinCG","title":"Around Advice","pathname":"/the-programmers-guide/spring/spring-features/spring-aop/around-advice","siteSpaceId":"sitesp_dugkv","description":"Details as well as Examples covering Around Advice.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring AOP"}]},{"id":"01Iei2TDcyXQsczIYP16","title":"Use Cases","pathname":"/the-programmers-guide/spring/spring-features/spring-aop/use-cases","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring AOP"}]},{"id":"YFzaZ0nwEuJcLCkFDbjM","title":"Spring File Handling","pathname":"/the-programmers-guide/spring/spring-features/spring-file-handling","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"GDxXh26kX0W8V3XyfDk8","title":"Reading a File","pathname":"/the-programmers-guide/spring/spring-features/spring-file-handling/reading-a-file","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring File Handling"}]},{"id":"6OXy1A2HTzWIP9tfazO2","title":"Reactive Programming","pathname":"/the-programmers-guide/spring/spring-features/reactive-programming","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"a12VaWHATCUou6cORXOp","title":"Reactive System","pathname":"/the-programmers-guide/spring/spring-features/reactive-programming/reactive-system","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Reactive Programming"}]},{"id":"3dld2ilKPQI72RJSFtxb","title":"Reactive Stream Specification","pathname":"/the-programmers-guide/spring/spring-features/reactive-programming/reactive-stream-specification","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Reactive Programming"}]},{"id":"kHoVAdwJ3sEqTNxXOc92","title":"Project Reactor","pathname":"/the-programmers-guide/spring/spring-features/reactive-programming/project-reactor","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Reactive Programming"}]},{"id":"ooaIZHB78SjV8JU0ZeVa","title":"Mono & Flux","pathname":"/the-programmers-guide/spring/spring-features/reactive-programming/project-reactor/mono-and-flux","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Reactive Programming"},{"label":"Project Reactor"}]},{"id":"xgpE5TgwHiGudzV5EP5v","title":"Asynchronous Processing","pathname":"/the-programmers-guide/spring/spring-features/asynchronous-processing","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"rJO2tofrK16llUE1rFye","title":"@Async annotation","pathname":"/the-programmers-guide/spring/spring-features/asynchronous-processing/async-annotation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Asynchronous Processing"}]},{"id":"Hq6vNNBDoOsOplDrWfX7","title":"Common Issues","pathname":"/the-programmers-guide/spring/spring-features/asynchronous-processing/async-annotation/common-issues","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Asynchronous Processing"},{"label":"@Async annotation"}]},{"id":"loOJPy9wb0LlqxRQn5KR","title":"ThreadPoolExecutor and Queue Management","pathname":"/the-programmers-guide/spring/spring-features/asynchronous-processing/threadpoolexecutor-and-queue-management","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Asynchronous Processing"}]},{"id":"O4zkvr6maiK9yxhhrFzh","title":"Inter-Service Communication","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"x6YDzoUbngGjzpEOnDFH","title":"REST Communication","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"}]},{"id":"FNaDrF2VCs9MzEcb9fwg","title":"1. RestTemplate","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"}]},{"id":"3SA5gkYHM345jrTzr6Xz","title":"Usage","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/usage","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"mH6iVaL65zFtmq0IlawR","title":"Request Customization","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/request-customization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"gJRq01GkLUlJX1euLkHL","title":"Handling Responses","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/handling-responses","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"zEviW1vRZZz8gnEyJzaT","title":"Exception Handling","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/exception-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"KbgZaKiTUNqnDvVXLgMq","title":"Asynchronous Execution","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/asynchronous-execution","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"rfn5SClwr4HCobQ5vbBM","title":"Configuration","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/configuration-tips","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"aMFdYb388VJYUMffZwN8","title":"Configuring Request Factories","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/configuration-tips/configuring-request-factories","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"},{"label":"Configuration"}]},{"id":"yGRFSXIPEtaSPIpRR6Ys","title":"Types of Timeouts","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/configuration-tips/types-of-timeouts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"},{"label":"Configuration"}]},{"id":"rPXjebaJrSbBEooqtgbs","title":"HTTP Clients with SSL","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/http-clients-with-ssl","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"nMek13y2WvGzrl3VNwKP","title":"OpenAPI-Generated Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/openapi-generated-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"Hz7DAGtb3Zwzf0RGpWf9","title":"Use Case: Internal API Calls with OpenAPI Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/openapi-generated-clients/use-case-internal-api-calls-with-openapi-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"},{"label":"OpenAPI-Generated Clients"}]},{"id":"A3ZXh4xUECTBnA9Hn0rX","title":"Use Case: Internal API Calls with Manual Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/openapi-generated-clients/use-case","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"},{"label":"OpenAPI-Generated Clients"}]},{"id":"aLBe9VSmk5uA8UJ0PwL3","title":"Transition to WebClient","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/resttemplate/transition-to-webclient","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"1. RestTemplate"}]},{"id":"3482LiMeTjDDGLE8YbiP","title":"2. WebClient","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"}]},{"id":"1GKYs4B0gVnpImkVVKYt","title":"Usage","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/usage","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"ixGIfW8v8qKCqymF35A3","title":"Request Customization","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/request-customization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"b03NXTruZjVd4N6HjOqB","title":"Handling Responses","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/handling-responses","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"B21wQovbL2GY4ujqR7mq","title":"Exception Handling","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/exception-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"Fp86Wj27MM4AF0IWAcVq","title":"Asynchronous Execution","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/asynchronous-execution","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"yhvUwtuxhsgsqrHAopza","title":"Configuration","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"nGjAhT7e1ITuB2cm87Et","title":"HTTP Clients with SSL","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/http-clients-with-ssl","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"w7hqnaqKSlb1hNX8yq7C","title":"Examples","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/http-clients-with-ssl/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"},{"label":"HTTP Clients with SSL"}]},{"id":"w0tIkuhFnjljVN3FxrPk","title":"OpenAPI-Generated Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/openapi-generated-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"}]},{"id":"eiXQPn4SP5k1MFEuK2Tz","title":"Use Case: Internal API Calls with OpenAPI Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/openapi-generated-clients/use-case-internal-api-calls-with-openapi-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"},{"label":"OpenAPI-Generated Clients"}]},{"id":"0jQqcRYuJdAvTWTDt71m","title":"Use Case: Internal API Calls with Manual Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/webclient/openapi-generated-clients/use-case-internal-api-calls-with-manual-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"2. WebClient"},{"label":"OpenAPI-Generated Clients"}]},{"id":"CWKTOnJfUIxsuBlmW1pV","title":"3. OpenFeign","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"}]},{"id":"l3YrS66rV1T3tEeAoNpp","title":"Usage","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/usage","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"6Fof7kbNiUD4mkcE5A2d","title":"Request Customization","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/request-customization","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"R9RIjZk211uCzmnexsys","title":"Handling Responses","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/handling-responses","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"PVIsukFVOoPyxmWRtjdS","title":"Exception Handling","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/exception-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"46wgft3bSOiuOWukeQHa","title":"Asynchronous Execution","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/asynchronous-execution","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"lU77K91uFaRPbpBxEtti","title":"Configuration","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"9W5rH2jDskV28qXTiCKI","title":"HTTP Client with SSL","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/http-client-with-ssl","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"9Tp8yec9UahVvGk3gb8s","title":"OpenAPI-Generated Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/openapi-generated-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"}]},{"id":"8qoEm9UvrIeJZzop7Gpg","title":"Use Case: Internal API Calls with OpenAPI Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/openapi-generated-clients/use-case-internal-api-calls-with-openapi-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"},{"label":"OpenAPI-Generated Clients"}]},{"id":"r8xdoUBp7qqSQXzogVef","title":"Use Case: Internal API Calls with Manual Clients","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/openfeign/openapi-generated-clients/use-case-internal-api-calls-with-manual-clients","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"},{"label":"3. OpenFeign"},{"label":"OpenAPI-Generated Clients"}]},{"id":"4i8ITKgaGoQAjhZnENKr","title":"When to Use Which ?","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/rest-communication/when-to-use-which","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"REST Communication"}]},{"id":"eLktuwGLpl1UalawfXtR","title":"Messaging Communication","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"}]},{"id":"r5Bi5pJYNUAb4lqiKupX","title":"ActiveMQ","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"}]},{"id":"3DHH1zp722rGKEBohhQR","title":"Architecture Details","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/architecture-details","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"yZqdNCHQyPLQRIMVkpG1","title":"Version Overview","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/version-overview","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"oE7E0Bl95Cu271LAtQAh","title":"Naming Convention","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/naming-convention","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"99b3lPfwDBuYKmN1zHwL","title":"Message Delivery Guarantee","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/message-delivery-guarantee","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"SZEx9VSLjSZUye6QksfZ","title":"Queues and Topics","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/queues-and-topics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"DqQPJ9BDefscgAgeD03o","title":"Configuration Properties","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/configuration-properties","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"F0ZXMTmsU5lUiK7Sjxgc","title":"Concepts","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/concepts","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"E06jAPe79OXaE9yZQCwG","title":"ActiveMQ with Spring Boot","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/activemq-with-spring-boot","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"IlEaZAEhhzFTpm365nF1","title":"Common Issues","pathname":"/the-programmers-guide/spring/spring-features/inter-service-communication/messaging-communication/activemq/common-issues","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Inter-Service Communication"},{"label":"Messaging Communication"},{"label":"ActiveMQ"}]},{"id":"xETGP38SWs8UmvLvQ9Ew","title":"Resilience Patterns","pathname":"/the-programmers-guide/spring/spring-features/resilience-and-fault-tolerance","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"BsBLt8QHaHiGq7a5CjIa","title":"Retry Mechanism","pathname":"/the-programmers-guide/spring/spring-features/resilience-and-fault-tolerance/retry-mechanism","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Resilience Patterns"}]},{"id":"ahBE8KCaHE5ZLX69qELh","title":"@Retryable annotation","pathname":"/the-programmers-guide/spring/spring-features/resilience-and-fault-tolerance/retry-mechanism/retryable-annotation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Resilience Patterns"},{"label":"Retry Mechanism"}]},{"id":"mNuHJsLROOj7cFbQU82x","title":"Example","pathname":"/the-programmers-guide/spring/spring-features/resilience-and-fault-tolerance/retry-mechanism/retryable-annotation/example","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Resilience Patterns"},{"label":"Retry Mechanism"},{"label":"@Retryable annotation"}]},{"id":"8nx9F2VbyKlZ7WggJjaA","title":"Spring Security","pathname":"/the-programmers-guide/spring/spring-features/spring-security","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"mN6Syp2rDqU4O7g1n2Cv","title":"Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"UIe4FLKsnpQ6DuM00C72","title":"Core Components","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"}]},{"id":"RtF1GdxGVLQcQHTyEI1L","title":"Security Filter Chain","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/security-filter-chain","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"ipLR8Kf4VlyrjPIO79SG","title":"HttpSecurity","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/security-filter-chain/httpsecurity","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"},{"label":"Security Filter Chain"}]},{"id":"rmgpaiVrFb51PVTSuxWR","title":"Example","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/security-filter-chain/example","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"},{"label":"Security Filter Chain"}]},{"id":"NlBiF31hnpOCEvqpPZs4","title":"AuthenticationManager","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/authenticationmanager","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"V0TAnPXLviP35j3YKfyP","title":"AuthenticationProvider","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/authenticationprovider","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"iZfMYP9px9AE0HQ7zF3B","title":"UserDetailsService","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/userdetailsservice","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"JkXgnxfjycXLrUqm4z1E","title":"UserDetails","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/userdetailsservice/userdetails","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"},{"label":"UserDetailsService"}]},{"id":"ave8rBn4EMRMNGHkDxWH","title":"PasswordEncoder","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/userdetailsservice/passwordencoder","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"},{"label":"UserDetailsService"}]},{"id":"KFguxzj6Ffp34u6Kgv5A","title":"SecurityContext","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/securitycontext","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"3wPahx0UPzEe4byrvZSR","title":"SecurityContextHolder","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/securitycontextholder","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"LdogbZRpk3W4AzpfPwGZ","title":"GrantedAuthority","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/grantedauthority","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"jHpSjxYlAxxEZMdM55Rj","title":"Security Configuration (Spring Security DSL)","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/core-components/security-configuration-spring-security-dsl","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Core Components"}]},{"id":"TNrXZWlICsKyqnFLh5yV","title":"Authentication Models","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-models","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"}]},{"id":"tUl72a8DdvmAu0ZDqA5k","title":"One-Way Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-models/one-way-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Models"}]},{"id":"h7ssAov9HvlsFMgXG5qT","title":"Mutual Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-models/mutual-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Models"}]},{"id":"x5a6tqrM8qbD7FVyuH2I","title":"Authentication Mechanism","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"}]},{"id":"bIcC4aEZD08hHGoMWGY3","title":"Basic Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/basic-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"uOuKqYjuM8RUl2wDYzR0","title":"Form-Based Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/form-based-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"FLzaCK1ydXPLrLlI88BS","title":"Token-Based Authentication (JWT)","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/token-based-authentication-jwt","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"SYzGVAz7oKUYHpo6vNfr","title":"OAuth2 Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/oauth2-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"i8RIyTbRvnChlY7dsWpM","title":"Multi-Factor Authentication (MFA)","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/multi-factor-authentication-mfa","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"xTXI1P8KGXhdOAzvdEw4","title":"SAML Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/saml-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"3WwX5X7gwh4J1UXoVGak","title":"X.509 Certificate Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/x.509-certificate-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"sI44BEu55vBeiAUPYuXJ","title":"API Key Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/api-key-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"zMZfACn5D41MKQLvAZ8a","title":"Remember-Me Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/remember-me-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"ipjumcirHHiKpoah1cT8","title":"Custom Authentication","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/authentication-mechanism/custom-authentication","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"},{"label":"Authentication Mechanism"}]},{"id":"4JoR0zaJJOTdLaoCHVDp","title":"Logout Handling","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authentication/logout-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"Authentication"}]},{"id":"wjCAEjhqGODb1VSWDVJa","title":"Authorization","pathname":"/the-programmers-guide/spring/spring-features/spring-security/authorization","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"wYICorKzEe9czIY9GQi1","title":"Security Filters and Interceptors","pathname":"/the-programmers-guide/spring/spring-features/spring-security/security-filters-and-interceptors","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"mYEEyn7V3gKyVtIgrB3S","title":"CSRF","pathname":"/the-programmers-guide/spring/spring-features/spring-security/csrf","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"8lVZwlIFM5zFZPx6DeQL","title":"Real-World CSRF Attacks & Prevention","pathname":"/the-programmers-guide/spring/spring-features/spring-security/csrf/real-world-csrf-attacks-and-prevention","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"},{"label":"CSRF"}]},{"id":"abSDVKyJHjhS5lNiNPL7","title":"CORS","pathname":"/the-programmers-guide/spring/spring-features/spring-security/cors","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"t3sX846QWH9uUP9L1hNB","title":"Session Management and Security","pathname":"/the-programmers-guide/spring/spring-features/spring-security/session-management-and-security","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"7iPurdqBvL1dsuRN9AMx","title":"Best Practices","pathname":"/the-programmers-guide/spring/spring-features/spring-security/best-practices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Security"}]},{"id":"QIJLQDCKRjkcHl6NTaxU","title":"Spring Persistence","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"4wcKyPOsgOTBOY2TOxXK","title":"JDBC","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"SwdiV81Rbo3wU3YvhDUU","title":"JDBC Components","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/jdbc-components","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"}]},{"id":"uChAPyybwFft9rAYPD4R","title":"JDBC Template","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/jdbc-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"}]},{"id":"0FxmLavllFaWETTVn15H","title":"Transaction Management","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/transaction-management","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"}]},{"id":"iuus0Q86uxb8XanMo5Li","title":"Best Practices in JDBC Usage","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/best-practices-in-jdbc-usage","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"}]},{"id":"q6RoHEqzkbyBxDmAutMr","title":"Datasource","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/datasource","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"}]},{"id":"ETI5gyoCoULN7RzNObSZ","title":"Connection Pooling","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/datasource/connection-pooling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"},{"label":"Datasource"}]},{"id":"7RfvNie0fpC9FR5obxIU","title":"HikariCP","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/datasource/connection-pooling/hikaricp","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"},{"label":"Datasource"},{"label":"Connection Pooling"}]},{"id":"0ZqLdvsysuFAEJS7gFht","title":"Caching","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jdbc/datasource/caching","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JDBC"},{"label":"Datasource"}]},{"id":"MZtFmIVVaYvduJhj45TY","title":"JPA (Java Persistence API)","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"M6Ejz14Tv8Q6VBIJOn2N","title":"JPA Fundamentals","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/jpa-fundamentals","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"}]},{"id":"kVdc5FCIkyW2AKvZBJIu","title":"ORM Mapping Annotations","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/orm-mapping-annotations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"}]},{"id":"TZgxyyBMIxjDMf7FCYIs","title":"1. Entity and Table Mappings","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/orm-mapping-annotations/1.-entity-and-table-mappings","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"ORM Mapping Annotations"}]},{"id":"dvYVEfOSqhBFFN9lGIIY","title":"2. Field/Column Mappings","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/orm-mapping-annotations/2.-field-column-mappings","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"ORM Mapping Annotations"}]},{"id":"iEFg9XtpDMd6sIkOEqai","title":"3. Relationship Mappings","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/orm-mapping-annotations/3.-relationship-mappings","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"ORM Mapping Annotations"}]},{"id":"nKXx4Fs3OI8Ht9LrfYht","title":"4. Inheritance Mappings","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/orm-mapping-annotations/4.-inheritance-mappings","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"ORM Mapping Annotations"}]},{"id":"pXknqo7U3CRnnjbDiUzd","title":"5. Additional Configuration Annotations","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/orm-mapping-annotations/5.-additional-configuration-annotations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"ORM Mapping Annotations"}]},{"id":"Jch5uQMr3x19hbbAlafU","title":"Querying Data","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"}]},{"id":"fu9MEulpil7YFgEzETHU","title":"JPQL","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/jpql","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"W9ep8n1QcwL4GMgj5dlS","title":"Criteria API","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/criteria-api","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"DDUI9L92lV3xwcvEJTCz","title":"JPA Specification","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/jpa-specification","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"VBsuAMylPyqBMa8RsB86","title":"Example - Employee Portal","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/jpa-specification/example-employee-portal","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"},{"label":"JPA Specification"}]},{"id":"ULy9iNgSK8BUpFSZvJ47","title":"Native SQL Queries","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/native-sql-queries","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"jYnft2k81qwOJALwhybL","title":"Named Queries","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/named-queries","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"5JeMOaGmaVq5M2UMMabj","title":"Query Return Types","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/query-return-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"NzMNpe3FUCSQYvQVqPaV","title":"Pagination & Sorting","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/pagination-and-sorting","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"6thVqNMx854ZjxvO8eFX","title":"Example - Employee Portal","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/pagination-and-sorting/example-employee-portal","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"},{"label":"Pagination & Sorting"}]},{"id":"ky1AlNHdBJDFrSDU4iTo","title":"Projection","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/querying-data/projection","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"},{"label":"Querying Data"}]},{"id":"HVZFAIioClxWKXdu1gUq","title":"Fetch Strategies in JPA","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-java-persistence-api/fetch-strategies-in-jpa","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA (Java Persistence API)"}]},{"id":"LH3OZFV0qVj5xKeBcjAO","title":"JPA Implementation","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-implementation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"byCqgv6UVHgUFPWBtNYZ","title":"Hibernate","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-implementation/hibernate","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA Implementation"}]},{"id":"DzqfxdHTs5BpQRlyS7V2","title":"SQL AST","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-implementation/hibernate/sql-ast","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA Implementation"},{"label":"Hibernate"}]},{"id":"svAkC5iFrxt1WSqC6hyU","title":"Properties","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-implementation/hibernate/properties","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA Implementation"},{"label":"Hibernate"}]},{"id":"F5oVpnfqTKSAjwI70DDN","title":"CRUD API Using Hibernate","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/jpa-implementation/hibernate/example","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"JPA Implementation"},{"label":"Hibernate"}]},{"id":"SvxN76g9JpdWDUIKrwuM","title":"Spring Data JPA","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/spring-data-jpa","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"ZaxY1xWEk5LH9rCmk3RV","title":"Repository Abstractions","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/spring-data-jpa/repository-abstractions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Spring Data JPA"}]},{"id":"Itoh7tAEEbMhy1UktMIK","title":"Entity-to-Table Mapping","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/spring-data-jpa/entity-to-table-mapping","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Spring Data JPA"}]},{"id":"mlD56Hq3PzviDL2YnYVH","title":"Derived Query Methods","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/spring-data-jpa/derived-query-methods","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Spring Data JPA"}]},{"id":"gmJroLmrMtaYba8agFT2","title":"Cross-Cutting Concerns","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/cross-cutting-concerns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"Cbbq6dvw72iFeBiHtFr1","title":"Transactions","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/cross-cutting-concerns/transactions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Cross-Cutting Concerns"}]},{"id":"3DYQ8KMRT8zFWlm4eN9c","title":"Caching","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/cross-cutting-concerns/caching","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Cross-Cutting Concerns"}]},{"id":"qfMXf87ugXcxLKcLh5H4","title":"Concurrency","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/cross-cutting-concerns/concurrency","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Cross-Cutting Concerns"}]},{"id":"qLe0GJx1YR7jBU7WrDCT","title":"Common Issues","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/common-issues","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"e75ksSldXQTm8h1KaGia","title":"Dead Lock","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/common-issues/dead-lock","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Common Issues"}]},{"id":"rwyebmpFEoifch0usBZV","title":"Liquibase","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/liquibase","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"aigtfEHNHuKxoFbcsPjP","title":"Installation & Setup","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/liquibase/installation-and-setup","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Liquibase"}]},{"id":"lIehczLCTFBpNSEldoIt","title":"Change Tracking & Locking","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/liquibase/change-tracking-and-locking","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Liquibase"}]},{"id":"dB9UFdovvHV25KGR0v13","title":"Liquibase with Spring Boot","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/liquibase/liquibase-with-spring-boot","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Liquibase"}]},{"id":"ciiPhaiWhHVp85xF65Zn","title":"Liquibase CLI","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/liquibase/liquibase-cli","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Liquibase"}]},{"id":"I5h8L6zZtVcDwULwIhcY","title":"Use Case","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/liquibase/use-case","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Liquibase"}]},{"id":"TSxrEsi7eazgVbRwalhJ","title":"Examples","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/examples","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"}]},{"id":"9IUtnDquia2a4lUvGSlV","title":"Employee Portal","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/examples/employee-portal","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Examples"}]},{"id":"zZp1erWkgbmrNY9cIdck","title":"API","pathname":"/the-programmers-guide/spring/spring-features/spring-persistence/examples/employee-portal/api","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Persistence"},{"label":"Examples"},{"label":"Employee Portal"}]},{"id":"ozyE8Q65lJM2BR5ffajX","title":"Spring Scheduling","pathname":"/the-programmers-guide/spring/spring-features/spring-scheduling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"fPJZnhUecoItLzmPBJiS","title":"Cron Expression","pathname":"/the-programmers-guide/spring/spring-features/spring-scheduling/cron-expression","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Scheduling"}]},{"id":"RGYULZwuQqanY8BVdrEG","title":"Distributed Scheduling","pathname":"/the-programmers-guide/spring/spring-features/spring-scheduling/distributed-scheduling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Scheduling"}]},{"id":"TLQ5mabIulLAlcWgnP6G","title":"ShedLock","pathname":"/the-programmers-guide/spring/spring-features/spring-scheduling/distributed-scheduling/distributed-scheduling","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"},{"label":"Spring Scheduling"},{"label":"Distributed Scheduling"}]},{"id":"6ME5IzCupY2HkZLJ5euN","title":"Thymeleaf Integration","pathname":"/the-programmers-guide/spring/spring-features/thymeleaf-integration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Spring Features"}]},{"id":"KXDbze7u8aDl8ITAfcrw","title":"Security & Data Protection","pathname":"/the-programmers-guide/spring/concepts-set-3","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"ilD7R2RU72moLPqgu2ay","title":"Encoding | Decoding","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"}]},{"id":"afrqcQe8DkLZZDqbC0oy","title":"Base Encoding","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/base-encoding","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"}]},{"id":"EGHRSmEEfLBlJd2Hgyft","title":"Base32","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/base-encoding/base32","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"},{"label":"Base Encoding"}]},{"id":"a2qG36uksV6osmkJ8baQ","title":"Encoding and Decoding in Java","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/base-encoding/base32/encoding-and-decoding-in-java","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"},{"label":"Base Encoding"},{"label":"Base32"}]},{"id":"InqSnxXrWI9ijCZuJ5Ve","title":"Text Encoding","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/text-encoding","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"}]},{"id":"2IIIlapToORxMsA15glM","title":"Extended ASCII","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/text-encoding/extended-ascii","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"},{"label":"Text Encoding"}]},{"id":"amOJzqBKl9kTX9aFkfLm","title":"ASCII","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/text-encoding/ascii","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"},{"label":"Text Encoding"}]},{"id":"nodtLXTnZhNJvsQy9SrX","title":"Encoding and Decoding in Java","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/text-encoding/ascii/encoding-and-decoding-in-java","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"},{"label":"Text Encoding"},{"label":"ASCII"}]},{"id":"67IfsvcnA12T7pKUqjg3","title":"Base Encoding Decoding Examples","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/base-encoding-decoding-examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"}]},{"id":"FkgpYIu0xNLJQEzTU9JH","title":"Text Encoding Decoding Examples","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/text-encoding-decoding-examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"}]},{"id":"GbFZvAIEH62WDDKgHvdd","title":"Best Practices and Concepts","pathname":"/the-programmers-guide/spring/concepts-set-3/encoding-or-decoding/best-practices-and-concepts","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Encoding | Decoding"}]},{"id":"Ka5k2WsUHgNey7z0Z8AJ","title":"Cryptography","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"}]},{"id":"b1dkFMvpEukvh4cMfXTu","title":"Terminology","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/terminology","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"Xqk2ER35OFqk7thxBYwi","title":"Java Cryptography Architecture (JCA)","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/java-cryptography-architecture-jca","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"STobvJFLpmmah9a42BQS","title":"Key Management","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"fb9yP1bOHJHgkz6OMLx5","title":"Key Generation","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"}]},{"id":"3w0U43KNrFL36CM7iNSV","title":"Tools and Libraries","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation/tools-and-libraries","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"},{"label":"Key Generation"}]},{"id":"1Ls113QdxBWkRhzgpgxs","title":"OpenSSL","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation/tools-and-libraries/openssl","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"},{"label":"Key Generation"},{"label":"Tools and Libraries"}]},{"id":"Pss3zbDHeJVmuTg7wikJ","title":"Java Keytool","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation/tools-and-libraries/java-keytool","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"},{"label":"Key Generation"},{"label":"Tools and Libraries"}]},{"id":"wYauPBFjMzUaj7I3PSVB","title":"Concept","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation/tools-and-libraries/java-keytool/concept","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"},{"label":"Key Generation"},{"label":"Tools and Libraries"},{"label":"Java Keytool"}]},{"id":"PtCfD7RPKPRP7qjQU1Gs","title":"Use Cases","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation/tools-and-libraries/java-keytool/use-cases","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"},{"label":"Key Generation"},{"label":"Tools and Libraries"},{"label":"Java Keytool"}]},{"id":"Embhuk7tRkb1VzTqkdLd","title":"Key & Certificate File Formats","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-generation/key-and-certificate-file-formats","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"},{"label":"Key Generation"}]},{"id":"5fsRs8dZFE7o1hZObqJn","title":"Key Distribution","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-distribution","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"}]},{"id":"FkrC8IwzI2KjDqlTDusp","title":"Key Storage","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-storage","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"}]},{"id":"2yJTAiXBbPqChUXWm5yE","title":"Key Rotation","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-rotation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"}]},{"id":"CYiPp3qWjvNqfmZJPApO","title":"Key Revocation","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/key-management/key-revocation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Key Management"}]},{"id":"SZXz0BLtvSUiVPGQ0src","title":"Encryption & Decryption","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"ZU0QRRwc3lKpwHhj3lFN","title":"Symmetric Encryption","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/symmetric-encryption","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"}]},{"id":"J4p0KXjZq2jchp3pDTOz","title":"Algorithm","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/symmetric-encryption/algorithm","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"},{"label":"Symmetric Encryption"}]},{"id":"Tn8oJ2Yje8NxQV17TBib","title":"Modes of Operation","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/symmetric-encryption/modes-of-operation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"},{"label":"Symmetric Encryption"}]},{"id":"whU8QxaCJpwvnLjsNKQ2","title":"Examples","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/symmetric-encryption/examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"},{"label":"Symmetric Encryption"}]},{"id":"D6IINCDYnQ3PStvqyeLW","title":"Asymmetric Encryption","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/asymmetric-encryption","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"}]},{"id":"fClSK134hXLrmCH7kUYK","title":"Algorithm","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/asymmetric-encryption/algorithm","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"},{"label":"Asymmetric Encryption"}]},{"id":"6k1XRyiymUdaCYTHUHhw","title":"Mode of Operation","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/asymmetric-encryption/mode-of-operation","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"},{"label":"Asymmetric Encryption"}]},{"id":"hNcQthQU5jH23cBbVEcT","title":"Examples","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/encryption-and-decryption/asymmetric-encryption/examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"Encryption & Decryption"},{"label":"Asymmetric Encryption"}]},{"id":"lwyaqWbzM5aZh5CFgkru","title":"MAC & HMAC","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/mac-and-hmac-tbd","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"PCJQEIyQf1NyzUkdKtqN","title":"KDF","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/kdf-tbd","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"hASBYw98KalDdtJjpkPK","title":"Salt & Nonce","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/kdf-tbd/salt-and-nonce","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"},{"label":"KDF"}]},{"id":"Y08Jz4aVEIzGq8bdfiaW","title":"Pseudorandom Number Generators (PRNGs)","pathname":"/the-programmers-guide/spring/concepts-set-3/cryptography/pseudorandom-number-generators-prngs-tbd","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Security & Data Protection"},{"label":"Cryptography"}]},{"id":"r1gXwPagdRJUy9I9V2il","title":"Utilities & Libraries","pathname":"/the-programmers-guide/spring/utilities-and-libraries","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"KUSDQ8TR8gq0P9epHtam","title":"Jackson ObjectMapper","pathname":"/the-programmers-guide/spring/utilities-and-libraries/jackson-objectmapper","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"}]},{"id":"OrceEtGY9dMoVpUT2QXV","title":"Apache Libraries","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"}]},{"id":"XXzqJyZFbQe1Sdl4cFgV","title":"Apache Camel","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"}]},{"id":"9nd3sTOvsiGbRPWLPiZj","title":"Camel Architecture","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/camel-architecture","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"}]},{"id":"L17mwY2FbwoJte6dpx2K","title":"Camel Context","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/camel-architecture/camel-context","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"},{"label":"Camel Architecture"}]},{"id":"2UoajWwsd7BhOdz0SMnO","title":"Camel Endpoints","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/camel-architecture/camel-endpoints","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"},{"label":"Camel Architecture"}]},{"id":"CyaY7BEbrT74MBvxIvna","title":"Camel Components","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/camel-architecture/camel-components","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"},{"label":"Camel Architecture"}]},{"id":"tGD3v9uTRHfD9hpEknM8","title":"Camel Exchange & MEP","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/camel-architecture/camel-exchange-and-mep","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"},{"label":"Camel Architecture"}]},{"id":"xeqHHWmQdETLegiQmeRh","title":"Spring Dependency","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/spring-dependency","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"}]},{"id":"vIYJYMjbeolJnXFmBKax","title":"Different Components","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/different-components","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"}]},{"id":"MtcbyjL9ZggYO1vazcWA","title":"Camel SFTP","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-camel/different-components/camel-sftp","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Camel"},{"label":"Different Components"}]},{"id":"iHHNzTXRPCAHnYUFniNT","title":"Apache Commons Lang","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"}]},{"id":"UXrWzhBH386BVAIzuUNh","title":"StringUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/stringutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"1LtawrvGDnua7VPJSwVP","title":"ArrayUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/arrayutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"klgDSWDJhgFbif5IRlxN","title":"NumberUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/numberutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"gMbGpbvES8CQd3MC0wwG","title":"SystemUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/systemutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"UvCAhZroeQ3Ps2nItD2m","title":"RandomStringUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/randomstringutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"MgtitOHroGOdkian1s3o","title":"DateUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/dateutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"AtMm3H0cApwp2gDa8c4w","title":"EqualsBuilder & HashCodeBuilder","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/equalsbuilder-and-hashcodebuilder","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"N74wZUmGS8xHfjVF0zke","title":"StopWatch","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-lang/stopwatch","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons Lang"}]},{"id":"I2UDw2p4vkmsaHtSeIMd","title":"Apache Commons IO","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-io","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"}]},{"id":"dmHUPiyuQEyl1Qujk7AB","title":"FileUtils","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-io/fileutils","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"},{"label":"Apache Commons IO"}]},{"id":"RIXTqTi6AtKLgOc5OHh0","title":"Apache Commons Validator","pathname":"/the-programmers-guide/spring/utilities-and-libraries/apache-libraries/apache-commons-validator","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Apache Libraries"}]},{"id":"NKMqSClSDBgMq5nEGJgi","title":"MapStruct Mapper","pathname":"/the-programmers-guide/spring/utilities-and-libraries/mapstruct-mapper","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"}]},{"id":"4imrgHZa61UvvrHHAMQf","title":"Lombok","pathname":"/the-programmers-guide/spring/utilities-and-libraries/lombok","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"}]},{"id":"DoKtesDor9k4NkRE2LDM","title":"Logging with Lombok","pathname":"/the-programmers-guide/spring/utilities-and-libraries/lombok/logging-with-lombok","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Lombok"}]},{"id":"6QPwjSVgg8nWIXgeYAMk","title":"Utilities by Spring framework","pathname":"/the-programmers-guide/spring/utilities-and-libraries/provide-by-spring-framework","siteSpaceId":"sitesp_dugkv","description":"Overview of various utilities provided by Spring Framework.","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"}]},{"id":"g48Oad8IwcKFB7ccB1Gg","title":"StopWatch","pathname":"/the-programmers-guide/spring/utilities-and-libraries/provide-by-spring-framework/stopwatch","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"},{"label":"Utilities by Spring framework"}]},{"id":"NBulQHrwHn75UAoawN62","title":"ArchUnit","pathname":"/the-programmers-guide/spring/utilities-and-libraries/archunit","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Utilities & Libraries"}]},{"id":"FKMKwiBSAdXnvTIKL6EL","title":"Deployment & Packaging","pathname":"/the-programmers-guide/spring/deployment-and-packaging","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"2a2hZyvxQFGC6JlUfBAT","title":"Inspecting Docker Images","pathname":"/the-programmers-guide/spring/deployment-and-packaging/inspecting-docker-images","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Deployment & Packaging"}]},{"id":"OtsgAEl5GaJrbcCwg32p","title":"Microservices","pathname":"/the-programmers-guide/spring/microservices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"hH9K6mg2ZR1MHsmMa15C","title":"Load Balancing","pathname":"/the-programmers-guide/spring/microservices/load-balancing","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Microservices"}]},{"id":"rGphpCheRKzRIzAZmrhy","title":"Client-Side Load Balancing Example","pathname":"/the-programmers-guide/spring/microservices/load-balancing/client-side-load-balancing-example","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Microservices"},{"label":"Load Balancing"}]},{"id":"gV8CKh3IROwzytGdozwg","title":"Server-Side Load Balancing Example","pathname":"/the-programmers-guide/spring/microservices/load-balancing/page","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Microservices"},{"label":"Load Balancing"}]},{"id":"WMnIcQFSQOblPQptvbBU","title":"Practical Guidelines","pathname":"/the-programmers-guide/spring/best-practice","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Spring","icon":"seedling"}]},{"id":"0SIxwAK3w5VZdveXBvAq","title":"Spring Coding Conventions","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"}]},{"id":"x37bwjM4HS08WjyXKkEB","title":"Layered Architecture Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/layered-architecture-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"S2vTx7EvyLnHOkgkLxzC","title":"Package & Class Location Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/package-and-class-location-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"oH0hTHg5ewAyBpV5vXX2","title":"Dependency Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/dependency-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"DN8kFGWW1IJOv1GA3tMj","title":"Naming Convention Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/naming-convention-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"opqWdDQmcGOOpLWdZVzc","title":"Annotation Usage Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/annotation-usage-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"RIMGSCONAgS3kG3JXTw9","title":"Forbidden API Usage Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/forbidden-api-usage-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"DcCF2LNw7YYsc7VA0KrK","title":"Dependency Cycle Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/dependency-cycle-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"7L1nllHNIjM1v9DEfTHb","title":"Test Layer Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/test-layer-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"w7lm90TqULUdky5n6jga","title":"Documentation & Logging Rules","pathname":"/the-programmers-guide/spring/best-practice/spring-coding-conventions/documentation-and-logging-rules","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"},{"label":"Spring Coding Conventions"}]},{"id":"gbNepwqDJPJZnAmZFN5I","title":"Spring Configuration","pathname":"/the-programmers-guide/spring/best-practice/spring-configuration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"}]},{"id":"wN67hdxecUvDDSb86BOj","title":"Spring Code Design","pathname":"/the-programmers-guide/spring/best-practice/spring-code-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Spring","icon":"seedling"},{"label":"Practical Guidelines"}]},{"id":"UToXiBkzJrYxCUNM4Xo1","title":"Software Testing","pathname":"/the-programmers-guide/software-testing","siteSpaceId":"sitesp_dugkv","icon":"vial","description":""},{"id":"HMrln7uI3Ow7AC6XYFWa","title":"Testing Fundamentals","pathname":"/the-programmers-guide/software-testing/testing-fundamentals","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"}]},{"id":"R9nTcFV4iUz2KWnK0uyo","title":"Software Testing Methodologies","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"}]},{"id":"gCZ3XUxEFiIWigOkHlo0","title":"Functional Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"}]},{"id":"PgYc88teylYgI7K9uKxO","title":"Unit Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/unit-testing","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"}]},{"id":"pC0jR7BZuyxgmMAAxmmr","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/unit-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"},{"label":"Unit Testing"}]},{"id":"CuZRcgstJITQvS02sIJ5","title":"Integration Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/integration-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"}]},{"id":"IjsiuLpZQzO4HJBAxidy","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/integration-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"},{"label":"Integration Testing"}]},{"id":"g9AN3hKtJSgdm4JRjlrf","title":"System Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/system-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"}]},{"id":"WOh1dT6iOuhbfu86Zls1","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/system-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"},{"label":"System Testing"}]},{"id":"3fzHUvOQIWmen9F5qXcd","title":"Acceptance Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/acceptance-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"}]},{"id":"4kKedDYf1SMcpwqd4bOl","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/functional-testing/acceptance-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Functional Testing"},{"label":"Acceptance Testing"}]},{"id":"XvMRzlMn2GtN8YBgm5Vn","title":"Non Functional Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"}]},{"id":"1Yz1BzXObWJNQFyFs5uP","title":"Performance Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"frO2AZrz3Y6gE1LHOtCt","title":"Load Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"}]},{"id":"pDWYQK3D2RzPQZGRYlai","title":"Terminology","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing/terminology","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Load Testing"}]},{"id":"bWSVmRyrHGFoOrAdWj3E","title":"Process","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing/process","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Load Testing"}]},{"id":"4Gjf4IKWjqojtntRXjDl","title":"Strategy","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing/strategy","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Load Testing"}]},{"id":"83K7sHC9kYjcyHzWlrA9","title":"Preparation Checklist","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing/preparation-checklist","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Load Testing"}]},{"id":"QuCdUc6mAfiV0yp06opC","title":"Metrics to Measure","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing/metrics-to-measure","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Load Testing"}]},{"id":"JO7Xa8h4gK3P6uELhdVA","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/load-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Load Testing"}]},{"id":"ipmOJumsDemBlETeQoQs","title":"Stress Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/stress-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"}]},{"id":"wMtTdYdlv0updmAJDRp0","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/stress-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Stress Testing"}]},{"id":"e4yFTm1JuSmymfk522ue","title":"Spike Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/spike-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"}]},{"id":"Ev4aaZdQ4c82diN9r2BN","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/spike-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Spike Testing"}]},{"id":"oPkMq8YJqjtb0mmPbgbh","title":"Soak Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/soak-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"}]},{"id":"ILykL7jNebfGLbNydsPs","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/soak-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Soak Testing"}]},{"id":"Wx1bs5VniX9YXN5WPDdp","title":"Scalability Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/scalability-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"}]},{"id":"qsHJHgX4XBcQlXc9moP1","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/performance-testing/scalability-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Performance Testing"},{"label":"Scalability Testing"}]},{"id":"pABcA9uOwdOavZSdCkeK","title":"Security Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/security-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"NdM9P9bDdOr7fJTmjrHg","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/security-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Security Testing"}]},{"id":"O5tbw7tuwR40UpbmC7PM","title":"Usability Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/usability-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"Zohm42DxwUzZyhpoiHTw","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/usability-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Usability Testing"}]},{"id":"PxKtSPM3TnBhAlg870FO","title":"Reliability Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/reliability-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"TXKlW2msIQpFsOuBAJ60","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/reliability-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Reliability Testing"}]},{"id":"DtEBi77USwaJ7kfhX8aQ","title":"Compatibility Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/compatibility-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"XgJsRIw0XoNtAePGErmi","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/compatibility-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Compatibility Testing"}]},{"id":"QzSflNXGc6v8lsn9ryNX","title":"Maintainability Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/maintainability-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"ifnlAksC9L8NKo24m8fk","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/maintainability-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Maintainability Testing"}]},{"id":"gIe3zIGOShp57uHxYFEG","title":"Portability Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/portability-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"soGrg7ou8DPCs6SQHxLY","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/portability-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Portability Testing"}]},{"id":"KgcQVad66vWZupsl8UKL","title":"Recovery Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/recovery-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"aWis5WU8AWQQSxAhuRq1","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/recovery-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Recovery Testing"}]},{"id":"Mh3yGyQY9Yxs0X9IxWVn","title":"Compliance Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/compliance-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"NGGTbFqlPTatLd2fezQ3","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/compliance-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Compliance Testing"}]},{"id":"LWNZnOi5HrzY2aQXE2QC","title":"Localization Testing","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/localization-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"}]},{"id":"m5nTBzV6oD62DZ3UkLAv","title":"Scenario Matrix Template","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing/localization-testing/scenario-matrix-template","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"},{"label":"Software Testing Methodologies"},{"label":"Non Functional Testing"},{"label":"Localization Testing"}]},{"id":"JsHLfgCEhYdNiwPRmvDN","title":"Software Testing Life Cycle (STLC)","pathname":"/the-programmers-guide/software-testing/testing-fundamentals/software-testing-life-cycle-stlc","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Testing Fundamentals"}]},{"id":"adHHJf8HvjAghkgS6WUU","title":"Levels of Testing","pathname":"/the-programmers-guide/software-testing/levels-of-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"}]},{"id":"xBTQRnDJUX5rpeP048Rn","title":"Java Test Framework","pathname":"/the-programmers-guide/software-testing/java-test-framework","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"}]},{"id":"RBFZtLzlGqdECbnKMABm","title":"JUnit","pathname":"/the-programmers-guide/software-testing/java-test-framework/junit","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"}]},{"id":"R3OmnqaHVFnzyTdCzbtr","title":"JUnit 4","pathname":"/the-programmers-guide/software-testing/java-test-framework/junit/junit-4","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"},{"label":"JUnit"}]},{"id":"rN1n0LBubvQg8VfBRdGD","title":"JUnit 5","pathname":"/the-programmers-guide/software-testing/java-test-framework/junit/junit-5","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"},{"label":"JUnit"}]},{"id":"tUFjLr4aOvy2HZbXjNqD","title":"Parameterized Test","pathname":"/the-programmers-guide/software-testing/java-test-framework/junit/junit-5/parameterized-test","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"},{"label":"JUnit"},{"label":"JUnit 5"}]},{"id":"23Fi2HoquXh0kZS64ACL","title":"Single and Multiple Assertions","pathname":"/the-programmers-guide/software-testing/java-test-framework/junit/junit-5/single-and-multiple-assertions","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"},{"label":"JUnit"},{"label":"JUnit 5"}]},{"id":"jc2YLQ8JAgCZqASPSHD9","title":"JUnit 4 vs JUnit 5","pathname":"/the-programmers-guide/software-testing/java-test-framework/junit/junit-4-vs-junit-5","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"},{"label":"JUnit"}]},{"id":"OYcNDiyLDUvyAEm6t4Dg","title":"MockServer","pathname":"/the-programmers-guide/software-testing/java-test-framework/mockserver","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Java Test Framework"}]},{"id":"a7vofasz6ZWc7gRGmEVG","title":"Test Automation","pathname":"/the-programmers-guide/software-testing/test-automation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"}]},{"id":"B38gu4Gepa9K3k410Etp","title":"Manual vs Automated Testing","pathname":"/the-programmers-guide/software-testing/test-automation/manual-vs-automated-testing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Test Automation"}]},{"id":"9cP6K0D6fzpmUAIdWcn5","title":"Test Automation Strategies","pathname":"/the-programmers-guide/software-testing/test-automation/test-automation-strategies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Test Automation"}]},{"id":"aImMcpkOnYXlmeglk9Jw","title":"CI/CD Integration","pathname":"/the-programmers-guide/software-testing/test-automation/ci-cd-integration","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Software Testing","icon":"vial"},{"label":"Test Automation"}]},{"id":"QA4CMepjTpsTqhej1Gac","title":"System Design","pathname":"/the-programmers-guide/system-design","siteSpaceId":"sitesp_dugkv","icon":"puzzle-piece","description":""},{"id":"wYCpF8F8LRuEYAffy0G1","title":"Design Foundations","pathname":"/the-programmers-guide/system-design/design-foundations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"fc90xOWwBobedVoHK1Ga","title":"Programming Paradigms","pathname":"/the-programmers-guide/system-design/design-foundations/programming-paradigms","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"}]},{"id":"m2CPLG7CzMr94n3UvrHh","title":"System Characteristics","pathname":"/the-programmers-guide/system-design/design-foundations/system-characteristics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"}]},{"id":"2Rt7mdHONkZwBSR7yNAB","title":"Object-Oriented Design","pathname":"/the-programmers-guide/system-design/design-foundations/object-oriented-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"}]},{"id":"TVJn6hvzht2ukL7ZnWrp","title":"SOLID Principles","pathname":"/the-programmers-guide/system-design/design-foundations/object-oriented-design/solid-principles","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Object-Oriented Design"}]},{"id":"5V30tXRRUrv0PSDfIwhP","title":"GRASP Principles","pathname":"/the-programmers-guide/system-design/design-foundations/object-oriented-design/grasp-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Object-Oriented Design"}]},{"id":"NxBWGjIEqbPCQtiRsgeG","title":"Composition","pathname":"/the-programmers-guide/system-design/design-foundations/object-oriented-design/composition","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Object-Oriented Design"}]},{"id":"9XNDuV28TN8ha2PdcBbx","title":"Aggregation","pathname":"/the-programmers-guide/system-design/design-foundations/object-oriented-design/aggregation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Object-Oriented Design"}]},{"id":"ITsKNrkTIyXx1tagLa2q","title":"Association","pathname":"/the-programmers-guide/system-design/design-foundations/object-oriented-design/association","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Object-Oriented Design"}]},{"id":"TQQIwcebjl56VPif9Ef9","title":"Design Thinking & Process","pathname":"/the-programmers-guide/system-design/design-foundations/design-thinking-and-process","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"}]},{"id":"4uU1xZdtUwWgFaefGnlF","title":"Problem Framing","pathname":"/the-programmers-guide/system-design/design-foundations/design-thinking-and-process/problem-framing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Design Thinking & Process"}]},{"id":"y3e7u7tSGNChfWaFPqAo","title":"Use Case Analysis","pathname":"/the-programmers-guide/system-design/design-foundations/design-thinking-and-process/use-case-analysis","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Design Thinking & Process"}]},{"id":"UglW2axbW0QhiPXSzLtG","title":"Requirements Gathering","pathname":"/the-programmers-guide/system-design/design-foundations/design-thinking-and-process/requirements-gathering","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Design Thinking & Process"}]},{"id":"80b8x4RILRDeot4OpGIU","title":"Iterative Design Process","pathname":"/the-programmers-guide/system-design/design-foundations/design-thinking-and-process/iterative-design-process","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"},{"label":"Design Thinking & Process"}]},{"id":"jHKLmkY94LwvezZmsTFZ","title":"Workload Types","pathname":"/the-programmers-guide/system-design/design-foundations/workload-types","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Foundations"}]},{"id":"hPAPuOzW1Qk61Z4LxvJ9","title":"Design Principles & Patterns","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"gfkQBx6pCsF3mDHp8csa","title":"Software Design Principles","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"}]},{"id":"pciMACjtnWgoQo1NypMy","title":"DRY","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles/dry","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Software Design Principles"}]},{"id":"6wZsiYNOWCbAiZOv4Zqa","title":"KISS","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles/kiss","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Software Design Principles"}]},{"id":"lgGTYRPoVVfCRy2khRSQ","title":"YAGNI","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles/yagni","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Software Design Principles"}]},{"id":"S6XADkqXQyZT0zirQe1C","title":"Separation of Concerns","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles/separation-of-concerns","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Software Design Principles"}]},{"id":"LErrreLcJgHt58w6csCX","title":"Encapsulation & Abstraction","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles/encapsulation-and-abstraction","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Software Design Principles"}]},{"id":"SqHla1Vkcu4jJb6dXSBJ","title":"Modularity & Reusability","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/software-design-principles/modularity-and-reusability","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Software Design Principles"}]},{"id":"vYC2uci68oEsMPgAVMay","title":"Design Pattern","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"}]},{"id":"CupRXXOb06tDFtdrL1iP","title":"Creational Pattern","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/creational-pattern","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"}]},{"id":"9noIB2jNV2nlzYpKgUoY","title":"Structural Pattern","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/structural-pattern","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"}]},{"id":"pxEKOAMzFPl4OkAgZ9LM","title":"Behavioral Pattern","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/behavioral-pattern","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"}]},{"id":"XTRbHOVoxZDUpSXyM9Nt","title":"Examples","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"}]},{"id":"4AXdCXVjTRiBCfAMzFIT","title":"Data Collector","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/examples/data-collector","siteSpaceId":"sitesp_dugkv","description":"Data Collector example using Strategy and Pipeline Pattern","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Examples"}]},{"id":"cO9ZKdfSdw3uP0vjERaT","title":"Payment Processor","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/examples/payment-processor","siteSpaceId":"sitesp_dugkv","description":"Payment Processor example using Strategy Pattern","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Examples"}]},{"id":"5kzIgmtODHL5K2AdoSgr","title":"Transaction Dispute","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/examples/transaction-dispute","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Examples"}]},{"id":"kYJvxHHwwsSkLBb8XJBl","title":"Payment Validation","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/examples/payment-validation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Examples"}]},{"id":"AzwNXXrOIKIqmbquub8f","title":"Financial System Design Patterns Interview Notes","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/examples/financial-system-design-patterns-interview-notes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Examples"}]},{"id":"6NO3iX6qAyVlBwEw7Kw0","title":"Design Enhancements","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/other-concepts","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"}]},{"id":"AwZzmcMVs2AKJ1o5jd6X","title":"Fluent API Design","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/other-concepts/fluent-api-design","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Design Enhancements"}]},{"id":"zAKB2Ek7EPcAcTDvG3iB","title":"Examples","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-pattern/other-concepts/fluent-api-design/examples","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Pattern"},{"label":"Design Enhancements"},{"label":"Fluent API Design"}]},{"id":"Wk3KLwuYtydl7I069YtS","title":"Design Metrics","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"}]},{"id":"xoAhH9HEGHxe4SG4KTUI","title":"Coupling","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics/coupling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Metrics"}]},{"id":"kECXUC9bU8IPfkZ7roK1","title":"Cohesion","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics/cohesion","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Metrics"}]},{"id":"5wlQmCxNtwAuIgvP8AkL","title":"Cyclomatic Complexity","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics/cyclomatic-complexity","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Metrics"}]},{"id":"7eG5x5fomdpwu2y3e1lt","title":"Lines of Code (LOC)","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics/lines-of-code-loc","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Metrics"}]},{"id":"SKyFBREUNSXJjswO432V","title":"Halstead Metrics","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics/halstead-metrics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Metrics"}]},{"id":"7D8ixphkWG5wgWGaVj8q","title":"Maintainability Index","pathname":"/the-programmers-guide/system-design/design-principles-and-patterns/design-metrics/maintainability-index","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Principles & Patterns"},{"label":"Design Metrics"}]},{"id":"35oMMDNRiahDC5xB0sNd","title":"System Design Methodology","pathname":"/the-programmers-guide/system-design/system-design-methodology","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"lYBlHeF4WVRsjiY304oV","title":"Common Terminologies","pathname":"/the-programmers-guide/system-design/system-design-methodology/common-terminologies","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"}]},{"id":"betFEilHHnAunBl5bgpJ","title":"Design Layers","pathname":"/the-programmers-guide/system-design/system-design-methodology/design-layers","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"}]},{"id":"JrEaiGaHYAcCNBzUQft9","title":"Low-Level Design (LLD)","pathname":"/the-programmers-guide/system-design/system-design-methodology/design-layers/low-level-design-lld","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Layers"}]},{"id":"MkAL6XDw9NqyuZmfa88T","title":"High-Level Design (HLD)","pathname":"/the-programmers-guide/system-design/system-design-methodology/design-layers/high-level-design-hld","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Layers"}]},{"id":"ltTcBOvxlMoUVst1XSDd","title":"Design Diagrams","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"}]},{"id":"OPRHwyrcuXY8reGV6xqn","title":"UML Diagrams","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"}]},{"id":"Y1M2OdwLG7sk9CHo0Tjt","title":"PlantUML","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"}]},{"id":"ZuLA2zglLewC8xEzGDjl","title":"Class Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/class-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"l7AYbA1IPmGxnYqaGhJK","title":"Object Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/object-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"gO2DLNYMKY7d6OYSOtO7","title":"Sequence Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/sequence-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"u1eFoDuiRcSP4W75nf08","title":"Use Case Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/use-case-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"mdQaXYHc0PX0hGbUvhQ2","title":"Activity Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/activity-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"OhLzWUK3yXffVDctaJWY","title":"State Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/state-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"Z8k18EvZL7ypjB5UCQxt","title":"Architecture Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/architecture-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"JmM4ZRjyptlII7dwzvHO","title":"Component Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/component-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"B40VflIlQ6mNg5cYoLwA","title":"Timing Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/timing-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"hWZ8bKf1Y8zmUjx3bH2p","title":"ER Diagram (Entity-Relationship)","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/er-diagram-entity-relationship","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"dmlJJ4vlp39k0aEwbxAM","title":"Network Diagram","pathname":"/the-programmers-guide/system-design/system-design-methodology/diagrams/uml-diagrams/plantuml/network-diagram","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"System Design Methodology"},{"label":"Design Diagrams"},{"label":"UML Diagrams"},{"label":"PlantUML"}]},{"id":"hgCCLLUvuXWqKJRmKFGp","title":"Architectural Styles","pathname":"/the-programmers-guide/system-design/architectural-styles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"vMn28tog9N0aF7hIfICD","title":"System-Level","pathname":"/the-programmers-guide/system-design/architectural-styles/system-level","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"}]},{"id":"RrY9SN74awutlv7ngIX9","title":"Monolith","pathname":"/the-programmers-guide/system-design/architectural-styles/system-level/monolith","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"System-Level"}]},{"id":"tRg3xExr7brUWTSHaWrS","title":"Microservices","pathname":"/the-programmers-guide/system-design/architectural-styles/system-level/microservices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"System-Level"}]},{"id":"AcVVzh0jAGL9773Xv83w","title":"Event Driven Architecture","pathname":"/the-programmers-guide/system-design/architectural-styles/system-level/event-driven-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"System-Level"}]},{"id":"sPC6P55eBsJSyibUqGs4","title":"Serverless","pathname":"/the-programmers-guide/system-design/architectural-styles/system-level/serverless","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"System-Level"}]},{"id":"ecuakmVOrN4mDhgroU3y","title":"Application-Level","pathname":"/the-programmers-guide/system-design/architectural-styles/application-level","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"}]},{"id":"jRsJRByxUn6spX3I7c98","title":"Layered Architecture","pathname":"/the-programmers-guide/system-design/architectural-styles/application-level/layered-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"Application-Level"}]},{"id":"ALDbhD0I72IejRPL4FuE","title":"Hexagonal Architecture","pathname":"/the-programmers-guide/system-design/architectural-styles/application-level/hexagonal-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"Application-Level"}]},{"id":"LXAHESAzlOLkjgOgvh3S","title":"Clean Architecture","pathname":"/the-programmers-guide/system-design/architectural-styles/application-level/clean-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"Application-Level"}]},{"id":"jG6KTh78OwnD5yQNqs72","title":"How System-Level and Application-Level Work Together ?","pathname":"/the-programmers-guide/system-design/architectural-styles/how-system-level-and-application-level-work-together","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"}]},{"id":"SVdZaWAZBvTfiapnFQCS","title":"Trends in Practice","pathname":"/the-programmers-guide/system-design/architectural-styles/trends-in-practice","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"}]},{"id":"WUHbbPKiDRFidXuoy1RS","title":"Spring Boot Microservice with Clean Architecture","pathname":"/the-programmers-guide/system-design/architectural-styles/trends-in-practice/spring-boot-microservice-with-clean-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"Trends in Practice"}]},{"id":"jZ16SnpzaLBmVIB3XVnq","title":"Spring Boot Microservice with Hexagonal Architecture","pathname":"/the-programmers-guide/system-design/architectural-styles/trends-in-practice/spring-boot-microservice-with-hexagonal-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Styles"},{"label":"Trends in Practice"}]},{"id":"oP3Ewh6Sj0O588d1pFU7","title":"Architecture Principles","pathname":"/the-programmers-guide/system-design/architecture-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"q3TsBGlgKZepYUAeegdp","title":"Twelve-Factor App Principles","pathname":"/the-programmers-guide/system-design/architecture-principles/twelve-factor-app-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"auU74qQrebzWWTR9CLnw","title":"Cloud-Native Principles","pathname":"/the-programmers-guide/system-design/architecture-principles/cloud-native-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"YnmYu0I8qY3Fa2iYwA5L","title":"Reactive Manifesto","pathname":"/the-programmers-guide/system-design/architecture-principles/reactive-manifesto","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"BTHwbDCf8Fyfpk8LAZYl","title":"Infrastructure as Code (IaC)","pathname":"/the-programmers-guide/system-design/architecture-principles/infrastructure-as-code-iac","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"ApqEW6Kp6emHzYHNjUCt","title":"DevOps Principles","pathname":"/the-programmers-guide/system-design/architecture-principles/devops-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"ShxLOkRsf5GSWntMRzXI","title":"Design for Failure","pathname":"/the-programmers-guide/system-design/architecture-principles/design-for-failure","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"lTpSyrZmaWQbu8wElu6R","title":"CAP Theorem","pathname":"/the-programmers-guide/system-design/architecture-principles/cap-theorem","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architecture Principles"}]},{"id":"4JmdVaEps5AIGJTpAgp5","title":"Architectural Building Blocks","pathname":"/the-programmers-guide/system-design/architectural-building-blocks","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"ZEBwJg3YQ27G3H9DufEw","title":"Load Balancer","pathname":"/the-programmers-guide/system-design/architectural-building-blocks/load-balancer","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Building Blocks"}]},{"id":"d8qHEaXtJYvFR5ajvKDf","title":"Load Balancer Architecture","pathname":"/the-programmers-guide/system-design/architectural-building-blocks/load-balancer/load-balancer-architecture","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Building Blocks"},{"label":"Load Balancer"}]},{"id":"pXXlFytaZlqb1IDgVo5l","title":"Load Balancer Monitoring Tool","pathname":"/the-programmers-guide/system-design/architectural-building-blocks/load-balancer/load-balancer-monitoring-tool","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Building Blocks"},{"label":"Load Balancer"}]},{"id":"CQDAhGNMGIdVd0q3grWS","title":"Caching","pathname":"/the-programmers-guide/system-design/architectural-building-blocks/caching","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Building Blocks"}]},{"id":"9aJFUwpbqW5iwoh6LYNY","title":"Pod-Level vs Distributed Caching","pathname":"/the-programmers-guide/system-design/architectural-building-blocks/caching/pod-level-vs-distributed-caching","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Architectural Building Blocks"},{"label":"Caching"}]},{"id":"CLgPNhbcgjY8sZYzWKUq","title":"Scalability & Reliability","pathname":"/the-programmers-guide/system-design/scalability-and-reliability","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"MQI7SQyBXN9DOJ53atkO","title":"Scaling","pathname":"/the-programmers-guide/system-design/scalability-and-reliability/scaling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Scalability & Reliability"}]},{"id":"5i06Z7m8OpLNHaAOGDP6","title":"Vertical Scaling (Scaling Up)","pathname":"/the-programmers-guide/system-design/scalability-and-reliability/scaling/vertical-scaling-scaling-up","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Scalability & Reliability"},{"label":"Scaling"}]},{"id":"ZI98E5cYujaB7xdszHSo","title":"Horizontal Scaling (Scaling Out)","pathname":"/the-programmers-guide/system-design/scalability-and-reliability/scaling/horizontal-scaling-scaling-out","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Scalability & Reliability"},{"label":"Scaling"}]},{"id":"wLFsAHc0Yas9btwrHFXx","title":"Auto-Scaling","pathname":"/the-programmers-guide/system-design/scalability-and-reliability/scaling/auto-scaling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Scalability & Reliability"},{"label":"Scaling"}]},{"id":"1LJuKQhiwlPpO0rXyRU3","title":"Database Scaling via Sharding","pathname":"/the-programmers-guide/system-design/scalability-and-reliability/scaling/database-scaling-via-sharding","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Scalability & Reliability"},{"label":"Scaling"}]},{"id":"1srF8tLcsqPiIMCFAetl","title":"Resilience & Failure Handling","pathname":"/the-programmers-guide/system-design/scalability-and-reliability/resilience-and-failure-handling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Scalability & Reliability"}]},{"id":"7GLzVS25gEKlBOcoST36","title":"Delivery & Deployment Strategy","pathname":"/the-programmers-guide/system-design/delivery-and-deployment-strategy","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"ZcQPSVZMWaaXsYmlPNTW","title":"Feature Flags","pathname":"/the-programmers-guide/system-design/delivery-and-deployment-strategy/feature-flags","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Delivery & Deployment Strategy"}]},{"id":"blSS2zx0oJVdi44HTlcD","title":"Traffic Shifting","pathname":"/the-programmers-guide/system-design/delivery-and-deployment-strategy/traffic-shifting","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Delivery & Deployment Strategy"}]},{"id":"9D3kjdJ83xYYQAWZCPMz","title":"Deployment Patterns","pathname":"/the-programmers-guide/system-design/delivery-and-deployment-strategy/deployment-patterns","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Delivery & Deployment Strategy"}]},{"id":"m7boFG60vx7nbH6fCO43","title":"Observability","pathname":"/the-programmers-guide/system-design/observability","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"IMSK0mqmMlL6uGuVnEyt","title":"Distributed Tracing","pathname":"/the-programmers-guide/system-design/observability/distributed-tracing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Observability"}]},{"id":"K236TpK3lkPoCSqJwDaz","title":"Fundamentals","pathname":"/the-programmers-guide/system-design/observability/distributed-tracing/fundamentals","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Observability"},{"label":"Distributed Tracing"}]},{"id":"t7RpkdbOwJLOND1I5C4V","title":"Tracing Modes","pathname":"/the-programmers-guide/system-design/observability/distributed-tracing/tracing-modes","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Observability"},{"label":"Distributed Tracing"}]},{"id":"jyV2l4Ulx1yoQ5HvSDfH","title":"Data Handling & Processing","pathname":"/the-programmers-guide/system-design/data-handling-and-processing","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"yYC6zOi8uv6ssGrRv5C9","title":"MapReduce","pathname":"/the-programmers-guide/system-design/data-handling-and-processing/mapreduce","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Data Handling & Processing"}]},{"id":"EraAnU8tW1uUfy2O3srB","title":"Example","pathname":"/the-programmers-guide/system-design/data-handling-and-processing/mapreduce/example","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Data Handling & Processing"},{"label":"MapReduce"}]},{"id":"8a1pYdqW1BZLPvzhCUTp","title":"Performance Engineering","pathname":"/the-programmers-guide/system-design/performance-engineering","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"VEzfCNJeFTTwFX0hzsfw","title":"Why Is My API Sometimes Slow ?","pathname":"/the-programmers-guide/system-design/performance-engineering/why-is-my-api-sometimes-slow","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Performance Engineering"}]},{"id":"NXcN8Es93owGZqyZyMBl","title":"Networking Metrics","pathname":"/the-programmers-guide/system-design/performance-engineering/networking-metrics","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Performance Engineering"}]},{"id":"7UYvgW6yfyF7Ha5ukQDe","title":"Types of Delay","pathname":"/the-programmers-guide/system-design/performance-engineering/networking-metrics/types-of-delay","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Performance Engineering"},{"label":"Networking Metrics"}]},{"id":"TjRfNMlKnNQinJjYaBYD","title":"Scenario","pathname":"/the-programmers-guide/system-design/performance-engineering/networking-metrics/scenario","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Performance Engineering"},{"label":"Networking Metrics"}]},{"id":"pvZrO1fepksSWzhyg35u","title":"Security","pathname":"/the-programmers-guide/system-design/security","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"UoxDSWpDbcA9sibFEOsM","title":"Security Principles","pathname":"/the-programmers-guide/system-design/security/security-principles","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"}]},{"id":"4ENWwoylTNS0U2ljui0E","title":"CIA","pathname":"/the-programmers-guide/system-design/security/security-principles/cia","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Principles"}]},{"id":"0FUVs9TYNFFgbS2GuCze","title":"Least Privilege Principle","pathname":"/the-programmers-guide/system-design/security/security-principles/least-privilege-principle","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Principles"}]},{"id":"scprwz9gZINxCgKR7DRV","title":"Defense in Depth","pathname":"/the-programmers-guide/system-design/security/security-principles/defense-in-depth","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Principles"}]},{"id":"RfHezjJJnOkvUHkSrF2o","title":"Zero Trust Security Model","pathname":"/the-programmers-guide/system-design/security/security-principles/zero-trust-security-model","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Principles"}]},{"id":"hyMsZEd7MXCCpYsdjloh","title":"Security by Design","pathname":"/the-programmers-guide/system-design/security/security-principles/security-by-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Principles"}]},{"id":"egJozZu0MXgAqojztjIO","title":"Zero Trust Architecture","pathname":"/the-programmers-guide/system-design/security/security-principles/zero-trust-architecture","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Principles"}]},{"id":"GZS5zdt1kChYuydD3BFI","title":"Security Threats & Mitigations","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"}]},{"id":"ZFBIhH01zJ8leZcf9Sem","title":"OWASP","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"}]},{"id":"323rjHh2RgPuI2Q7gAjM","title":"Top 10 Security Threats","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/top-10-security-threats","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"7S0Ft4p6F6fy40ufrzwc","title":"Application Security Verification Standard","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/application-security-verification-standard","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"xLwZr9rem3btHMH27DVo","title":"Software Assurance Maturity Model","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/software-assurance-maturity-model","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"n861ut4io43WNQIDH0ZR","title":"Dependency Check","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/dependency-check","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"2RGNcEwmhSTRRpjadrwp","title":"CSRFGuard","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/csrfguard","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"QMOF0n1ZCnZB7kEELZOI","title":"Cheat Sheets","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/cheat-sheets","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"Ztc78GAF5rplafrQ3I2g","title":"Security Testing Guide","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/security-testing-guide","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"66lea8e6Bcgl81YbrScP","title":"Threat Dragon","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/owasp/threat-dragon","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"},{"label":"OWASP"}]},{"id":"TbC86oZBjaGdRtgaobmj","title":"Threat Modeling","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/threat-modeling","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"}]},{"id":"crXTAIHoBZe59yXjk8Mm","title":"Cyber Attacks","pathname":"/the-programmers-guide/system-design/security/security-threats-and-mitigations/cyber-attacks","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Security Threats & Mitigations"}]},{"id":"j1BTXskPEomq9E7iKWLk","title":"Application-Level Security","pathname":"/the-programmers-guide/system-design/security/application-level-security","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"}]},{"id":"MVDHw7pVwriEKvYX34kY","title":"CORS (Cross-Origin Resource Sharing)","pathname":"/the-programmers-guide/system-design/security/application-level-security/cors-cross-origin-resource-sharing","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Application-Level Security"}]},{"id":"QrGbMocbYdMJJxoNKvbo","title":"Secure Software Development Lifecycle","pathname":"/the-programmers-guide/system-design/security/secure-software-development-lifecycle","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"}]},{"id":"tgN4RrQTvPbVhhRxm3ub","title":"Secure Coding Practices","pathname":"/the-programmers-guide/system-design/security/secure-software-development-lifecycle/secure-coding-practices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Secure Software Development Lifecycle"}]},{"id":"7YMnlKniWDUEX5sVdgez","title":"DevSecOps","pathname":"/the-programmers-guide/system-design/security/secure-software-development-lifecycle/devsecops","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Secure Software Development Lifecycle"}]},{"id":"EEA22MMn5xsKjJxyAmSN","title":"Compliance & Regulation","pathname":"/the-programmers-guide/system-design/security/compliance-and-regulation","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"}]},{"id":"kb2xmixFGXkgWGVaDSny","title":"GDPR","pathname":"/the-programmers-guide/system-design/security/compliance-and-regulation/gdpr","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Compliance & Regulation"}]},{"id":"jlj7zTTZRqpylZZH9OVX","title":"PCI DSS","pathname":"/the-programmers-guide/system-design/security/compliance-and-regulation/pci-dss","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Security"},{"label":"Compliance & Regulation"}]},{"id":"yvaU8x0h77FPE7hew1Zs","title":"Operational Issues","pathname":"/the-programmers-guide/system-design/operational-issues","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"JrFV3Yde8UxalNBPOnd0","title":"Common Runtime Errors","pathname":"/the-programmers-guide/system-design/operational-issues/common-runtime-errors","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Operational Issues"}]},{"id":"3xbgiP2i2lB8hOZWOWAx","title":"OOM: Unable to Create Native Thread","pathname":"/the-programmers-guide/system-design/operational-issues/common-runtime-errors/oom-unable-to-create-native-thread","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Operational Issues"},{"label":"Common Runtime Errors"}]},{"id":"uvp2pz1DmOLferRagayl","title":"OOM: Requested array size exceeds VM limit","pathname":"/the-programmers-guide/system-design/operational-issues/common-runtime-errors/oom-requested-array-size-exceeds-vm-limit","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Operational Issues"},{"label":"Common Runtime Errors"}]},{"id":"5IRxZWrQtSejKBW1ePMt","title":"Design Problems","pathname":"/the-programmers-guide/system-design/design-problems","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"}]},{"id":"vOKwmnG54R67ZnojEiYm","title":"Reference Materials","pathname":"/the-programmers-guide/system-design/design-problems/reference-materials","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Problems"}]},{"id":"aaz28oK0d1AukxmFIK9U","title":"Cache Design","pathname":"/the-programmers-guide/system-design/design-problems/cache-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Problems"}]},{"id":"rBZgH13RxFMgTXKvSnkI","title":"Class Design","pathname":"/the-programmers-guide/system-design/design-problems/class-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Problems"}]},{"id":"1D8pBJKfsBK9VQ5gplM1","title":"Technical Design","pathname":"/the-programmers-guide/system-design/design-problems/technical-design","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Problems"}]},{"id":"tk3NtyblYxvakVmQiKol","title":"Planned Maintenance Activity","pathname":"/the-programmers-guide/system-design/design-problems/technical-design/planned-maintenance-activity","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"System Design","icon":"puzzle-piece"},{"label":"Design Problems"},{"label":"Technical Design"}]},{"id":"ptlzIhw6knA1RIFq6pOe","title":"Interview Guide","pathname":"/the-programmers-guide/interview-guide","siteSpaceId":"sitesp_dugkv","icon":"user-plus","description":""},{"id":"sCQhcE4r5ktoMgZA0fhA","title":"Non-Technical","pathname":"/the-programmers-guide/interview-guide/non-technical","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"}]},{"id":"FXVIsFvQahtU4Kqk5wxe","title":"Behavioural or Introductory Guide","pathname":"/the-programmers-guide/interview-guide/non-technical/behavioural-or-introductory-guide","siteSpaceId":"sitesp_dugkv","description":"Guide to answer the Behavioural or Introductory questions being asked during the interview.","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Non-Technical"}]},{"id":"zNBDNauTyLvWg2qvpa8k","title":"Project Specific","pathname":"/the-programmers-guide/interview-guide/non-technical/project-specific","siteSpaceId":"sitesp_dugkv","description":"Guide to answer the Past or Current Project Specific questions being asked during the interview.","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Non-Technical"}]},{"id":"xMFHrnnRKB78Y8vrnNRp","title":"Technical","pathname":"/the-programmers-guide/interview-guide/technical","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"}]},{"id":"AoGNLJhEYa3FEEUIAdZl","title":"Java Interview Companion","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"KweI08HGpTPtrY8dUUax","title":"Java Key Concepts","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-key-concepts","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"}]},{"id":"PgmP6cTo2dlgvlWIKBBR","title":"Set 1","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-key-concepts/set-1","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"},{"label":"Java Key Concepts"}]},{"id":"EuYpWZ6i6ESioGJerKm9","title":"Set 2","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-key-concepts/set-2","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"},{"label":"Java Key Concepts"}]},{"id":"Kjq2Qamd7zOwDCQA1LMO","title":"Set 3","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-key-concepts/set-3","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"},{"label":"Java Key Concepts"}]},{"id":"ysOMVC9PAtKzB0lWC3Xe","title":"Java Code Snippets","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-code-snippets","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"}]},{"id":"x2BB6iEM6UpVpchEabmJ","title":"Java Practice Programs","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-practice-programs","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"}]},{"id":"jYYllUul2aJwmCD0ljxL","title":"Set 3 - Strings","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-practice-programs/set-3-strings","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"},{"label":"Java Practice Programs"}]},{"id":"S2y0nhYSvCVAUSIjHmfF","title":"Set 4 - Search","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-practice-programs/set-4-search","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"},{"label":"Java Practice Programs"}]},{"id":"oD9b4AncBzWxw8A3kUEu","title":"Set 5 - Streams and Collection","pathname":"/the-programmers-guide/interview-guide/technical/java-interview-companion/java-practice-programs/set-5-streams-and-collection","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Java Interview Companion"},{"label":"Java Practice Programs"}]},{"id":"ytcI0YiyDuPmXpo01JGJ","title":"SQL Interview Companion","pathname":"/the-programmers-guide/interview-guide/technical/sql-interview-companion","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"gSphPbq8wbpZ5Igw96Sw","title":"SQL Practice Problems","pathname":"/the-programmers-guide/interview-guide/technical/sql-interview-companion/sql-practice-problems","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"SQL Interview Companion"}]},{"id":"3lhIecTNtxYgPKA6NLMv","title":"Set 1","pathname":"/the-programmers-guide/interview-guide/technical/sql-interview-companion/sql-practice-problems/set-1","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"SQL Interview Companion"},{"label":"SQL Practice Problems"}]},{"id":"zn6hFm5HsPGiZzJF72l2","title":"Spring Interview Companion","pathname":"/the-programmers-guide/interview-guide/technical/spring-interview-companion","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"BmJWV9JstDgLnpGyYGtE","title":"Spring Key Concepts","pathname":"/the-programmers-guide/interview-guide/technical/spring-interview-companion/spring-key-concepts","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Spring Interview Companion"}]},{"id":"EhxRwSoxEsUu0Z7ZRKWn","title":"Set 1 - General","pathname":"/the-programmers-guide/interview-guide/technical/spring-interview-companion/spring-key-concepts/set-1-general","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Spring Interview Companion"},{"label":"Spring Key Concepts"}]},{"id":"YG1ES4zM26vhjjOx0rm2","title":"Set 2 - Core Spring","pathname":"/the-programmers-guide/interview-guide/technical/spring-interview-companion/spring-key-concepts/set-2-core-spring","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Spring Interview Companion"},{"label":"Spring Key Concepts"}]},{"id":"SFGXEaFFxAoLwcS9ddwm","title":"Spring Code Snippets","pathname":"/the-programmers-guide/interview-guide/technical/spring-interview-companion/spring-code-snippets","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Spring Interview Companion"}]},{"id":"fB2O86PiyQJ2PdZ3Zcb2","title":"JPA","pathname":"/the-programmers-guide/interview-guide/technical/spring-interview-companion/spring-code-snippets/jpa","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"},{"label":"Spring Interview Companion"},{"label":"Spring Code Snippets"}]},{"id":"SoeEignSedOlkkWvgdNI","title":"Application Server","pathname":"/the-programmers-guide/interview-guide/technical/application-server","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"zszGvhYTF9NqwP9PrlJv","title":"Maven","pathname":"/the-programmers-guide/interview-guide/technical/maven","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"VCdmasS45N30HPdBn2Z0","title":"Containerized Application","pathname":"/the-programmers-guide/interview-guide/technical/containerized-application","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"96bOIMUJI6YbPLDVxPQx","title":"Microservices","pathname":"/the-programmers-guide/interview-guide/technical/microservices","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"Technical"}]},{"id":"gDA2ryBRFdSq1Pvkku20","title":"General","pathname":"/the-programmers-guide/interview-guide/general","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"}]},{"id":"w5Ts6ciiT1MxCO7tBAq7","title":"Applicant Tracking System (ATS)","pathname":"/the-programmers-guide/interview-guide/general/applicant-tracking-system-ats","siteSpaceId":"sitesp_dugkv","description":"","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"General"}]},{"id":"4JCCDvVpedb7Nm2eYQZs","title":"Flowchart - How to Solve Coding Problem?","pathname":"/the-programmers-guide/interview-guide/general/flowchart-how-to-solve-coding-problem","siteSpaceId":"sitesp_dugkv","breadcrumbs":[{"label":"Interview Guide","icon":"user-plus"},{"label":"General"}]}]}