{"version":1,"pages":[{"id":"0nwIqqsOnrFlzQbMMTw1","title":"Welcome!","pathname":"/","siteSpaceId":"sitesp_H5K2J","emoji":"1f973","description":""},{"id":"vnTCgi6KeyoCoTvg6VLi","title":"SCRUM","pathname":"/general-concepts/scrum","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"}]},{"id":"trXjKj3eQuD55f5nl13J","title":"Workflow","pathname":"/general-concepts/scrum/workflow","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"SCRUM"}]},{"id":"u5hanlfvuqxbrb7UAXri","title":"DevOps","pathname":"/general-concepts/devops","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"}]},{"id":"Xx1iALua7CAWhscNcX0l","title":"What is DevOps?","pathname":"/general-concepts/devops/what-is-devops","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"rB7xE5gkTKfp92WtNcUo","title":"What is TDD? (Test Driven Development)","pathname":"/general-concepts/devops/what-is-tdd-test-driven-development","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"eB1fZpHHpDt7pdY3OR0w","title":"What is CI? (Continuous Integration)","pathname":"/general-concepts/devops/what-is-ci-continuous-integration","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"ZgfpErLyVUXHvJeuYTBL","title":"What is code coverage?","pathname":"/general-concepts/devops/what-is-code-coverage","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"ua29QB8zdp1qdmNRMB2Y","title":"Linting best practices","pathname":"/general-concepts/devops/linting-best-practices","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"vPxwh2N0WfDecJKaT5SQ","title":"Ephemeral Environments","pathname":"/general-concepts/devops/ephemeral-environments","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"ttsasDQlIHWOczt9wuOu","title":"Rolling Deployments","pathname":"/general-concepts/devops/rolling-deployments","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"n60m2eGIA5h2FhxgMgNG","title":"Blue/Geen Deployments","pathname":"/general-concepts/devops/blue-geen-deployments","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"nYEW3ZMwtvKDYyyJ8yRO","title":"Canary Deployments","pathname":"/general-concepts/devops/canary-deployments","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"77PU8pXZyTxOv1nKYNwA","title":"What is autoscaling & serverless?","pathname":"/general-concepts/devops/what-is-autoscaling-and-serverless","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"1ijCxXNLJVDLX9BaLjWN","title":"What is service discovery?","pathname":"/general-concepts/devops/what-is-service-discovery","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"dqnSkka1OPrhpRQKbIYJ","title":"What is Log Aggregation?","pathname":"/general-concepts/devops/what-is-log-aggregation","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"hK7V1ZxjaekTfxhVx8fz","title":"Metric Monitoring","pathname":"/general-concepts/devops/metric-monitoring","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"General Concepts"},{"label":"DevOps"}]},{"id":"dY9OuIZUXonIVBNsM53g","title":"ChatGPT","pathname":"/ai/chatgpt","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"AI"}]},{"id":"9Fw7UWUyQwS2M7t9TXlJ","title":"Better prompts for ChatGPT","pathname":"/ai/chatgpt/better-prompts-for-chatgpt","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"AI"},{"label":"ChatGPT"}]},{"id":"CeMyD73WcuH120MkIWon","title":"AWS","pathname":"/cloud/aws","siteSpaceId":"sitesp_H5K2J","description":"This section contains various AWS Cloud documentations gathered along the years of learning/working with AWS","breadcrumbs":[{"label":"Cloud"}]},{"id":"u8kgWQzo1SFshdW19Q8H","title":"AWS - 40 most common Services","pathname":"/cloud/aws/aws-40-most-common-services","siteSpaceId":"sitesp_H5K2J","description":"This page includes 40 of the most commonly used Services in AWS with a description of what they do","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"ygCN6oKsEGahqY6DHB5Q","title":"AWS CLI Cheatsheet","pathname":"/cloud/aws/aws-cli-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"This page contains a cheat sheet with useful AWS commands","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"wJCxkItI2yLOSRKuw1yP","title":"Account & IAM","pathname":"/cloud/aws/account-and-iam","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"cmpVOANbi2uJRLxCtZJr","title":"Create AWS Account","pathname":"/cloud/aws/account-and-iam/create-aws-account","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"Account & IAM"}]},{"id":"7AwhDQwdBRlhREgvXimV","title":"Lambda","pathname":"/cloud/aws/lambda","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"uvM369eO7nVMd4wGuYgH","title":"Create Lambda function for Lightsail","pathname":"/cloud/aws/lambda/create-lambda-function-for-lightsail","siteSpaceId":"sitesp_H5K2J","description":"Example of how to create a quick stop/start Lambda function for Lightsail in AWS","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"Lambda"}]},{"id":"HyCTW0aYKtsbSqLm1Rdp","title":"Route 53","pathname":"/cloud/aws/route-53","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"YDUUYDSsszoUFsfrWGKH","title":"Set up R53 DNS Entry for GitBook","pathname":"/cloud/aws/route-53/set-up-r53-dns-entry-for-gitbook","siteSpaceId":"sitesp_H5K2J","description":"This guide shows how to set up a custom URL for GitBook using Route53 in AWS","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"Route 53"}]},{"id":"SdeqFkuZsUXkQdFbA8YC","title":"RDS","pathname":"/cloud/aws/rds","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"MPyH6sd8Ki2PXsg8K2Cy","title":"AWS RDS Burst Balance","pathname":"/cloud/aws/rds/aws-rds-burst-balance","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"RDS"}]},{"id":"CAG84VJBcnYnbZucv7fF","title":"VPC","pathname":"/cloud/aws/vpc","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"bjZTg2IVQ1sCiIU7vW9E","title":"What is a VPC","pathname":"/cloud/aws/vpc/what-is-a-vpc","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"VPC"}]},{"id":"CixydSCTbn2BK7VpSgp5","title":"EC2","pathname":"/cloud/aws/ec2","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"}]},{"id":"YCDJUxKg5lfsoZvLncUx","title":"Removing EC2 user from sudo list","pathname":"/cloud/aws/ec2/removing-ec2-user-from-sudo-list","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"EC2"}]},{"id":"D6kadTLOItAyZhzuKf5g","title":"Create a Windows Gaming VPS","pathname":"/cloud/aws/ec2/create-a-windows-gaming-vps","siteSpaceId":"sitesp_H5K2J","description":"This page contains interesting stuff that does not have it's own documentation","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"EC2"}]},{"id":"Kin7GF8a0oImKwkRFnCG","title":"Connecting to a AWS EC2 instance","pathname":"/cloud/aws/ec2/connecting-to-a-aws-ec2-instance","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"AWS"},{"label":"EC2"}]},{"id":"nOex6DCQpCEM9OM3wvRP","title":"Azure","pathname":"/cloud/azure","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"}]},{"id":"gBIbOZVINPDj9Qe9Myki","title":"Courses","pathname":"/cloud/azure/courses","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"}]},{"id":"AdcRfcdpQWLRimCyDonC","title":"AZ900 Course","pathname":"/cloud/azure/courses/az900-course","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"}]},{"id":"4imStb8MXQGsQ0uxV9GJ","title":"Overview","pathname":"/cloud/azure/courses/az900-course/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"cTIZ7zzY0KA1gObaJjPH","title":"Describe Core Concepts","pathname":"/cloud/azure/courses/az900-course/overview/describe-core-concepts","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Overview"}]},{"id":"ch9P5XB2a7cDNOmI7jW7","title":"Cloud Models (IaaS, PaaS, SaaS)","pathname":"/cloud/azure/courses/az900-course/overview/cloud-models-iaas-paas-saas","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Overview"}]},{"id":"d6PBNOcOACPDZssOaB9I","title":"Benefits of Cloud Computing","pathname":"/cloud/azure/courses/az900-course/benefits-of-cloud-computing","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"mK0YdR1BfGZTWrjXWlyU","title":"Cloud Models and Cloud Types","pathname":"/cloud/azure/courses/az900-course/cloud-models-and-cloud-types","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"T7hYlbedxU42r4WUb5mR","title":"Overview of Cloud Models","pathname":"/cloud/azure/courses/az900-course/cloud-models-and-cloud-types/overview-of-cloud-models","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Cloud Models and Cloud Types"}]},{"id":"0cdINwDLLD0b5cvLHRKU","title":"IaaS, PaaS, SaaS","pathname":"/cloud/azure/courses/az900-course/cloud-models-and-cloud-types/iaas-paas-saas","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Cloud Models and Cloud Types"}]},{"id":"vW8Hm1PMR6k7iA3teaok","title":"The Serverless Model","pathname":"/cloud/azure/courses/az900-course/cloud-models-and-cloud-types/the-serverless-model","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Cloud Models and Cloud Types"}]},{"id":"3MjFylA0fgbcnKorOLvO","title":"Cloud Types","pathname":"/cloud/azure/courses/az900-course/cloud-models-and-cloud-types/cloud-types","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Cloud Models and Cloud Types"}]},{"id":"eK3ekflKedzqAJyseiRl","title":"Core Azure Architectural Components","pathname":"/cloud/azure/courses/az900-course/core-azure-architectural-components","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"Kf4xDlv3HOdMorSLXHLo","title":"Overview","pathname":"/cloud/azure/courses/az900-course/core-azure-architectural-components/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Azure Architectural Components"}]},{"id":"GWQVGjDIZatnUt5fJpE0","title":"Regions & Availability Zones","pathname":"/cloud/azure/courses/az900-course/core-azure-architectural-components/regions-and-availability-zones","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Azure Architectural Components"}]},{"id":"PNVVjUUorTTP7F5ewwlL","title":"Resource Groups & Subscriptions & Management Groups","pathname":"/cloud/azure/courses/az900-course/core-azure-architectural-components/resource-groups-and-subscriptions-and-management-groups","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Azure Architectural Components"}]},{"id":"KAOWqib2nKgqZlvqf6Hh","title":"Resources & Resource Manager","pathname":"/cloud/azure/courses/az900-course/core-azure-architectural-components/resources-and-resource-manager","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Azure Architectural Components"}]},{"id":"3NqM5cdDnZsvC7Bi2Brr","title":"Core Resources available","pathname":"/cloud/azure/courses/az900-course/core-resources-available","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"aXmnty3bL8x6n8AmC1e1","title":"Compute Resources","pathname":"/cloud/azure/courses/az900-course/core-resources-available/compute-resources","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Resources available"}]},{"id":"fJSHanSOSbgDobUTnR9n","title":"Networking Resources","pathname":"/cloud/azure/courses/az900-course/core-resources-available/networking-resources","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Resources available"}]},{"id":"dDVbjgUH30pVfBAdZNbR","title":"Storage Resources","pathname":"/cloud/azure/courses/az900-course/core-resources-available/storage-resources","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Resources available"}]},{"id":"wF3gtfkHIKzv9Qt3j3pL","title":"Database Services","pathname":"/cloud/azure/courses/az900-course/core-resources-available/database-services","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Resources available"}]},{"id":"EaPp3DFHf4yEv9jFB8iq","title":"Azure Marketplace","pathname":"/cloud/azure/courses/az900-course/core-resources-available/azure-marketplace","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Core Resources available"}]},{"id":"O5sp84QdEAErb9q9gEAR","title":"Azure Core Solutions","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"JvJMXspeHca9ldWY9W5Y","title":"Overview","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Core Solutions"}]},{"id":"mY00jES39RrMaAFJqYdN","title":"Internet of Things (IoT) Solutions","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions/internet-of-things-iot-solutions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Core Solutions"}]},{"id":"ZQHXhNMpyLcZd2oYPYCf","title":"Big Data Solutions","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions/big-data-solutions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Core Solutions"}]},{"id":"emTvbLSyCrNrEFxM4WID","title":"AI Solutions","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions/ai-solutions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Core Solutions"}]},{"id":"W86zh8YX7I3kwRRkovkb","title":"Azure Functions & Logic Apps and Event Grid","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions/azure-functions-and-logic-apps-and-event-grid","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Core Solutions"}]},{"id":"FTjoyqB4DypQcfqa6gtH","title":"DevOps Solutions","pathname":"/cloud/azure/courses/az900-course/azure-core-solutions/devops-solutions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Core Solutions"}]},{"id":"qYVuHZWSN0nvZQ51pdew","title":"Azure Management Tools","pathname":"/cloud/azure/courses/az900-course/azure-management-tools","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"N1Osme75ulcY5htJ4CoW","title":"Overview","pathname":"/cloud/azure/courses/az900-course/azure-management-tools/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Management Tools"}]},{"id":"yYOC8IqjVVQZ8F5Goekb","title":"Managing Azure with ARM Templates","pathname":"/cloud/azure/courses/az900-course/azure-management-tools/managing-azure-with-arm-templates","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Management Tools"}]},{"id":"rOdXYpeXfBXoCdBPIBRa","title":"Azure Monitor & Azure Service Health","pathname":"/cloud/azure/courses/az900-course/azure-management-tools/azure-monitor-and-azure-service-health","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Management Tools"}]},{"id":"Tg7Em3bO6ZQKnHtQxFN8","title":"Azure Security Features","pathname":"/cloud/azure/courses/az900-course/azure-security-features","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"Mw7sxtPJuDaSS55TiO1G","title":"Overview","pathname":"/cloud/azure/courses/az900-course/azure-security-features/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Security Features"}]},{"id":"dtufhyPujxwzgQieZ97M","title":"Azure Security Center","pathname":"/cloud/azure/courses/az900-course/azure-security-features/azure-security-center","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Security Features"}]},{"id":"7m8r0KQntTdnwSOWjptV","title":"Azure Key Vault & Azure Sentinel","pathname":"/cloud/azure/courses/az900-course/azure-security-features/azure-key-vault-and-azure-sentinel","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Security Features"}]},{"id":"NVx6BOjSIfNCiHdxUUDs","title":"Azure Dedicated Hosts","pathname":"/cloud/azure/courses/az900-course/azure-security-features/azure-dedicated-hosts","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Security Features"}]},{"id":"bo9onBHXpbukP3HAbMS3","title":"Azure Network Security","pathname":"/cloud/azure/courses/az900-course/azure-network-security","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"PMCaBhVBFh3nD7iBcCia","title":"Network Security Group (NGS), Firewall and DDoS Protection","pathname":"/cloud/azure/courses/az900-course/azure-network-security/network-security-group-ngs-firewall-and-ddos-protection","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Network Security"}]},{"id":"sfljy7pCM0lgPwhOKHgk","title":"Azure Identity Services","pathname":"/cloud/azure/courses/az900-course/azure-identity-services","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"eVZuBKT57TQi1n1B3jQO","title":"Overview","pathname":"/cloud/azure/courses/az900-course/azure-identity-services/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Identity Services"}]},{"id":"L938bVemlj3W1K8nvgam","title":"Benefits","pathname":"/cloud/azure/courses/az900-course/azure-identity-services/benefits","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Identity Services"}]},{"id":"px8m3yzEfD1a7JP9XjBF","title":"Multi-Factor Authentication (MFA)","pathname":"/cloud/azure/courses/az900-course/azure-identity-services/multi-factor-authentication-mfa","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Identity Services"}]},{"id":"do23RCDLIqPOh561VnFA","title":"Authentication vs Authorization","pathname":"/cloud/azure/courses/az900-course/azure-identity-services/authentication-vs-authorization","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Identity Services"}]},{"id":"qzxW09ipMFFhkITOnUYE","title":"Azure Governance Features","pathname":"/cloud/azure/courses/az900-course/azure-governance-features","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"fbCu0U387GPCxWoOeTPd","title":"Authentification and RBAC","pathname":"/cloud/azure/courses/az900-course/azure-governance-features/authentification-and-rbac","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Governance Features"}]},{"id":"K0ZlEnIpjBX7dFZzHnb8","title":"Resource Locks","pathname":"/cloud/azure/courses/az900-course/azure-governance-features/resource-locks","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Governance Features"}]},{"id":"hCV1jvocVKuCg8qmNfpc","title":"Azure Policy","pathname":"/cloud/azure/courses/az900-course/azure-governance-features/azure-policy","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Governance Features"}]},{"id":"BSV7SzYTDft5waOjdrGN","title":"Azure Blueprints","pathname":"/cloud/azure/courses/az900-course/azure-governance-features/azure-blueprints","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Governance Features"}]},{"id":"dS9ZoNRMvB78UdZHudxE","title":"Cloud Adoption Framework (CAF)","pathname":"/cloud/azure/courses/az900-course/azure-governance-features/cloud-adoption-framework-caf","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Azure Governance Features"}]},{"id":"ebGrMmXx60oBlQDuxMBv","title":"Compliance Features","pathname":"/cloud/azure/courses/az900-course/compliance-features","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"l2WkDd9A14Q81TcFi06a","title":"Core tenets of Security, Privacy and Compliance","pathname":"/cloud/azure/courses/az900-course/compliance-features/core-tenets-of-security-privacy-and-compliance","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Compliance Features"}]},{"id":"o6LJ53rqRKOzlf9RZJ4t","title":"Privacy Statement and Online Service Terms (OST)","pathname":"/cloud/azure/courses/az900-course/compliance-features/privacy-statement-and-online-service-terms-ost","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Compliance Features"}]},{"id":"h5hH5KT8ydUfRDv5OieY","title":"Trust Center","pathname":"/cloud/azure/courses/az900-course/compliance-features/trust-center","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Compliance Features"}]},{"id":"dNAuI57rODD6t3sebjiL","title":"Azure Sovereign Regions","pathname":"/cloud/azure/courses/az900-course/compliance-features/azure-sovereign-regions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Compliance Features"}]},{"id":"7MkWqD33psADA80bVgKY","title":"Manage Azure Costs","pathname":"/cloud/azure/courses/az900-course/manage-azure-costs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"0FCPDbFwNjMr5frnboBn","title":"Overview","pathname":"/cloud/azure/courses/az900-course/manage-azure-costs/overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Manage Azure Costs"}]},{"id":"GnFyMfM8ZF1LugKRkJkS","title":"Best practices","pathname":"/cloud/azure/courses/az900-course/manage-azure-costs/best-practices","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Manage Azure Costs"}]},{"id":"0vdurRk6CM5pNIy6yvs4","title":"Pricing calculator","pathname":"/cloud/azure/courses/az900-course/manage-azure-costs/pricing-calculator","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Manage Azure Costs"}]},{"id":"XLIYPzFRnnkvaercXDuL","title":"Azure Cost Management","pathname":"/cloud/azure/courses/az900-course/manage-azure-costs/azure-cost-management","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"},{"label":"Manage Azure Costs"}]},{"id":"Hm5jOOXCq2xoatgKqmel","title":"SLA (Service level Agreements)","pathname":"/cloud/azure/courses/az900-course/sla-service-level-agreements","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Courses"},{"label":"AZ900 Course"}]},{"id":"xq8tbgibk6xls7yqAgrP","title":"Virtual Machines","pathname":"/cloud/azure/virtual-machines","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"}]},{"id":"YCoMOqMzTGTUNtAroIHk","title":"VM","pathname":"/cloud/azure/virtual-machines/vm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Virtual Machines"}]},{"id":"ObCh4sx6liCZvY4I2jQH","title":"Create a VM in a VNET","pathname":"/cloud/azure/virtual-machines/vm/create-a-vm-in-a-vnet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Virtual Machines"},{"label":"VM"}]},{"id":"TUoYchy0mKvgxaQFDVl3","title":"Azure VM LVM corruption fix","pathname":"/cloud/azure/virtual-machines/vm/azure-vm-lvm-corruption-fix","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Virtual Machines"},{"label":"VM"}]},{"id":"tqCOujTauhbD8ZBzFVt3","title":"VMSS","pathname":"/cloud/azure/virtual-machines/vmss","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Virtual Machines"}]},{"id":"ob7WD86KPxokWsISDNNw","title":"Add SSH Key to VMSS","pathname":"/cloud/azure/virtual-machines/vmss/add-ssh-key-to-vmss","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cloud"},{"label":"Azure"},{"label":"Virtual Machines"},{"label":"VMSS"}]},{"id":"E5DahRMTp0TkAhuCKMbe","title":"Docker","pathname":"/containerization/docker","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"}]},{"id":"QBZC8ZJ2CbsoyZppkrev","title":"Docker Cheatsheet","pathname":"/containerization/docker/docker-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker"}]},{"id":"iILI4srd8x9rBmA5T6KQ","title":"Install docker on Debian","pathname":"/containerization/docker/install-docker-on-debian","siteSpaceId":"sitesp_H5K2J","description":"This is a guide on how to install docker on Debian Linux Systems","breadcrumbs":[{"label":"Containerization"},{"label":"Docker"}]},{"id":"yVMHmj2qaGrWVq21cXyT","title":"Docker misc stuff","pathname":"/containerization/docker/docker-misc-stuff","siteSpaceId":"sitesp_H5K2J","description":"Page containing interesting docker stuff that was not enough for it's own page","breadcrumbs":[{"label":"Containerization"},{"label":"Docker"}]},{"id":"zBq47FkeBt8zYrjslOrj","title":"Docker Swarm","pathname":"/containerization/docker-swarm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"}]},{"id":"XWWTbGBtfY7lvjKf4VHR","title":"Docker Swarm Cheatsheet","pathname":"/containerization/docker-swarm/docker-swarm-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Swarm"}]},{"id":"r5G1mbtKXFNWvmJc072H","title":"Set up docker swarm","pathname":"/containerization/docker-swarm/set-up-docker-swarm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Swarm"}]},{"id":"1W4uMt4SEnNhUpqNRFXy","title":"Delete docker swarm","pathname":"/containerization/docker-swarm/delete-docker-swarm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Swarm"}]},{"id":"eFJNUKt2wHOwsCRkMWbz","title":"Mount and bind volumes","pathname":"/containerization/docker-swarm/mount-and-bind-volumes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Swarm"}]},{"id":"DHONBERFEtStD46lyXqD","title":"Deploy Portainer via docker swarm","pathname":"/containerization/docker-swarm/deploy-portainer-via-docker-swarm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Swarm"}]},{"id":"cDezk5Re1eP7OylGLnud","title":"Docker Compose","pathname":"/containerization/docker-compose","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"}]},{"id":"BbCiuFs8EXfaX2KcQVpB","title":"Jenkins via Docker Compose","pathname":"/containerization/docker-compose/jenkins-via-docker-compose","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Compose"}]},{"id":"LeaxxiPluviibBdpbQWy","title":"PostgreSQL via Docker Compose","pathname":"/containerization/docker-compose/postgresql-via-docker-compose","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Compose"}]},{"id":"dJHq8w9iLz8aCN2rJ82I","title":"Wireguard via Docker Compose & HTTPS","pathname":"/containerization/docker-compose/wireguard-via-docker-compose-and-https","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Docker Compose"}]},{"id":"KzTV5gJGywRQ6qUWhzVS","title":"Rancher","pathname":"/containerization/rancher","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"}]},{"id":"epcwlld0FCY0XeZ1J2tf","title":"Rancher installation guide","pathname":"/containerization/rancher/rancher-installation-guide","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Containerization"},{"label":"Rancher"}]},{"id":"8xMgmNaHyp42vIXgmUuP","title":"Slurm","pathname":"/cluster-computing/slurm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cluster Computing"}]},{"id":"NP2DA4EugA20u42EWaWR","title":"Job Manager is not responding","pathname":"/cluster-computing/slurm/job-manager-is-not-responding","siteSpaceId":"sitesp_H5K2J","description":"The job manager, SLURM is not responding to request to start new jobs. Submit a job request and SLURM responds with a job number but the job is never started nor shows","breadcrumbs":[{"label":"Cluster Computing"},{"label":"Slurm"}]},{"id":"CaNnUy3UfhtVhOh5Yt4x","title":"Create new user","pathname":"/cluster-computing/slurm/create-new-user","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cluster Computing"},{"label":"Slurm"}]},{"id":"u9ZQhchvrDPB9bVrOrSe","title":"OpsCenter","pathname":"/cluster-computing/opscenter","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cluster Computing"}]},{"id":"h9Z89JTzC9zgqdmq0lHc","title":"Clear old Snapshots","pathname":"/cluster-computing/opscenter/clear-old-snapshots","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cluster Computing"},{"label":"OpsCenter"}]},{"id":"BY7arZR2NZtHlltJCOr5","title":"Issues listing snapshots with nodetool","pathname":"/cluster-computing/opscenter/issues-listing-snapshots-with-nodetool","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Cluster Computing"},{"label":"OpsCenter"}]},{"id":"RDvR8qYPrODnrWjLElEd","title":"General SQL","pathname":"/database/general-sql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"JVmmuk2fi5Eu6OVZaQrk","title":"Database introduction","pathname":"/database/general-sql/database-introduction","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"rLf8KKSBAikXcszV01Jt","title":"SQL 101","pathname":"/database/general-sql/sql-101","siteSpaceId":"sitesp_H5K2J","description":"SQL is a simple languadge with a Simple Syntax to manage Relational Databases","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"9W4OBnxQtwXli0Sr2i1t","title":"SQL Cheatsheet","pathname":"/database/general-sql/sql-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"kY3eguH4EzMAa4VvUUPl","title":"User rights","pathname":"/database/general-sql/user-rights","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"OWfaRLmHbFuy1lXTBzGx","title":"Table Creation","pathname":"/database/general-sql/table-creation","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"yETqrJOIl13YakRWMDc9","title":"SQL Replication - Best practice","pathname":"/database/general-sql/sql-replication-best-practice","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"HExtxQgrw6hVJID2Yo7s","title":"SQL Database Design","pathname":"/database/general-sql/sql-database-design","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"General SQL"}]},{"id":"ULW6aQryWqTj4wTHYSJf","title":"MS SQL","pathname":"/database/ms-sql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"78eoCR5uAt4v1jc4j3qS","title":"Update whole table fast","pathname":"/database/ms-sql/update-whole-table-fast","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"MS SQL"}]},{"id":"UjQJ4ABxSeI5qZ0GZsdj","title":"Oracle SQL (PL/SQL)","pathname":"/database/oracle-sql-pl-sql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"1ulWdE3iFdzE5b22GD0L","title":"Oracle SQL Cheatsheet","pathname":"/database/oracle-sql-pl-sql/oracle-sql-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"Oracle SQL (PL/SQL)"}]},{"id":"1YT3GfMn5M86kia8Dcet","title":"Oracle SQL - Kill Sessions","pathname":"/database/oracle-sql-pl-sql/oracle-sql-kill-sessions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"Oracle SQL (PL/SQL)"}]},{"id":"vivX9NOwLEVMUHFW4VA5","title":"PostgreSQL","pathname":"/database/postgresql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"GPLXMruKKS4GlCRkuVWv","title":"Install PostgreSQL","pathname":"/database/postgresql/install-postgresql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"PostgreSQL"}]},{"id":"P3c93qsLO553AT4OX4VF","title":"Create PostgreSQL Role and Database","pathname":"/database/postgresql/create-postgresql-role-and-database","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"PostgreSQL"}]},{"id":"vUrcZmZeV7nR2gVRXBej","title":"Managing Postgres with PgAdmin GUI","pathname":"/database/postgresql/managing-postgres-with-pgadmin-gui","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"PostgreSQL"}]},{"id":"RmCKxwyYcDF3lFq2pnc0","title":"Enable remote access for PostgreSQL","pathname":"/database/postgresql/enable-remote-access-for-postgresql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"PostgreSQL"}]},{"id":"ZJt97Sx2NRZoxChlEzCL","title":"Authentication on PostgreSQL","pathname":"/database/postgresql/authentication-on-postgresql","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"PostgreSQL"}]},{"id":"dc48Dbxnjuwz2ZbsHRyG","title":"Returning in Postgres","pathname":"/database/postgresql/returning-in-postgres","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"PostgreSQL"}]},{"id":"yHAhyIWIFl48LA5lRbBc","title":"SQLite","pathname":"/database/sqlite","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"5X72EBby7ZHcVvBV5HG6","title":"Flyway Overview","pathname":"/database/flyway-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"rgTRsfHuIZxdMEm7O9e0","title":"SSRS Overview","pathname":"/database/ssrs-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"HUx1ja7mPfDl1dgx4Rt8","title":"Cassandra","pathname":"/database/cassandra","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"}]},{"id":"YVn9o2BDL6UFtmqMKpgp","title":"GC OutOfMemoryError","pathname":"/database/cassandra/gc-outofmemoryerror","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Database"},{"label":"Cassandra"}]},{"id":"qgk2gH9pxz71Krtx6k3a","title":"Ansible","pathname":"/devops/ansible","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"}]},{"id":"x5UIH9jUq7C6XY59fqp3","title":"Ansible Cheatsheet","pathname":"/devops/ansible/ansible-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Ansible"}]},{"id":"QpbdpEoDRxnIAQUpb5j5","title":"Common Ansible Tasks","pathname":"/devops/ansible/common-ansible-tasks","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Ansible"}]},{"id":"18wrCGBrQAGjA29tCNSO","title":"Git","pathname":"/devops/git","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"}]},{"id":"IKfd7imVztREy0UEpC8d","title":"Git 101","pathname":"/devops/git/git-101","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Git"}]},{"id":"E0rV4UIhIvTGXhWW3mOI","title":"Git 1kb files","pathname":"/devops/git/git-1kb-files","siteSpaceId":"sitesp_H5K2J","description":"There is an issue where if you do not use git lfs, the bigger files will be downloaded as 1kb files.","breadcrumbs":[{"label":"DevOps"},{"label":"Git"}]},{"id":"ifsfQXyj5JedlsVGenwo","title":"Git Commit changes before merge","pathname":"/devops/git/git-commit-changes-before-merge","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Git"}]},{"id":"M0t3teABU6OuKaVlhdxR","title":"Git Misc","pathname":"/devops/git/git-misc","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Git"}]},{"id":"Mde16tdhzi3UUbFOVJq3","title":"Git Markdown","pathname":"/devops/git/git-markdown","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Git"}]},{"id":"Wlu0IKVJBu47yrviZ6Be","title":"Git Clone Repo via SSH","pathname":"/devops/git/git-clone-repo-via-ssh","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Git"}]},{"id":"Pd3AWNtep5zHJAuyGYIu","title":"Github","pathname":"/devops/github","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"}]},{"id":"OzsF7Hqxqi5paB4ynwV3","title":"How to use multiple accounts","pathname":"/devops/github/how-to-use-multiple-accounts","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github"}]},{"id":"8D8yaZhtPd0MLf8WTvzx","title":"Delete commits fully","pathname":"/devops/github/delete-commits-fully","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github"}]},{"id":"1oTagPHs0Oer5VpUQ69h","title":"Set up git ignore file","pathname":"/devops/github/set-up-git-ignore-file","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github"}]},{"id":"qMdq7W5jiA9Z68FQxlVl","title":"Github Actions","pathname":"/devops/github-actions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"}]},{"id":"mnwOfEplwUMvaLfnO2lG","title":"Install self hosted runner","pathname":"/devops/github-actions/install-self-hosted-runner","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github Actions"}]},{"id":"RKskY3yWZP5hGeoZ3fAd","title":"Scheduling jobs cron style","pathname":"/devops/github-actions/scheduling-jobs-cron-style","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github Actions"}]},{"id":"32cXm6bkW65cPyyJPINf","title":"Passing ENV variable in script","pathname":"/devops/github-actions/passing-env-variable-in-script","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github Actions"}]},{"id":"OLeE405poyw5d9pyRRWG","title":"SSH to Server","pathname":"/devops/github-actions/ssh-to-server","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Github Actions"}]},{"id":"O6fh6aZkTn38fOJFUVxz","title":"GitLab","pathname":"/devops/gitlab","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"}]},{"id":"i6Ysj7xrbz1hiDv8LI4O","title":"GitLab Cheatsheet","pathname":"/devops/gitlab/gitlab-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"GitLab"}]},{"id":"Q6qLRyD1jEQbz2K9frxP","title":"Terraform","pathname":"/devops/terraform","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"}]},{"id":"msIF4hUR7ZjV2wpVlQig","title":"Terraform components","pathname":"/devops/terraform/terraform-components","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"DevOps"},{"label":"Terraform"}]},{"id":"tf6kIgYVMGwu2oVLJJjM","title":"UPS - Njoy","pathname":"/hardware/ups-njoy","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Hardware"}]},{"id":"YWiX7uYOCOI3CXSfSeJ3","title":"Home Assistant","pathname":"/iot/home-assistant","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"}]},{"id":"gIxthHilYbLhW6AF5C8f","title":"Valetudo configs","pathname":"/iot/home-assistant/valetudo-configs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Home Assistant"}]},{"id":"Yhesc6KuZ4nG7gVjQUm7","title":"Mini Media Player","pathname":"/iot/home-assistant/mini-media-player","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Home Assistant"}]},{"id":"jmP12bJWmceD9YX4AJDA","title":"HACS","pathname":"/iot/home-assistant/hacs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Home Assistant"}]},{"id":"x95IQdb4Gj1U16wje1lS","title":"Valetudo","pathname":"/iot/valetudo","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"}]},{"id":"5MWqKtaO5sVw8F9Znq44","title":"Roborock Gen 1","pathname":"/iot/valetudo/roborock-gen-1","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Valetudo"}]},{"id":"1vMm1VBjGwCgPO35zHTn","title":"Roborock quick guide","pathname":"/iot/valetudo/roborock-quick-guide","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Valetudo"}]},{"id":"Q1aiqq4kgmKB3CeUXMbP","title":"Roborock full Valetudo install guide","pathname":"/iot/valetudo/roborock-full-valetudo-install-guide","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Valetudo"}]},{"id":"Jj09Ne1FMFw8j9Rcc5Rb","title":"Tasmota","pathname":"/iot/tasmota","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"}]},{"id":"8sNRIl3abJiWSF0c1oL2","title":"Tuya-Convert","pathname":"/iot/tasmota/tuya-convert","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"Tasmota"}]},{"id":"Gmnz3FSAmRKlj1qhIlwr","title":"LibreELEC","pathname":"/iot/libreelec","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"}]},{"id":"ULpX7KlBrwx8InrvlEa9","title":"Quick LibreELEC guide","pathname":"/iot/libreelec/quick-libreelec-guide","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"LibreELEC"}]},{"id":"vgOc4JB8uC121TuwGEp3","title":"Configure X96 Mini Remote","pathname":"/iot/libreelec/configure-x96-mini-remote","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"IoT"},{"label":"LibreELEC"}]},{"id":"kmOEA1rnkF2Kx8zLWHyr","title":"Linux","pathname":"/os/linux","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"}]},{"id":"GF0mUgO3tBGgh60vjuvw","title":"Learning guidelines","pathname":"/os/linux/learning-guidelines","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"iEoEiOC53uz8miAqGt4X","title":"LPIC1 Notes","pathname":"/os/linux/learning-guidelines/lpic1-notes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"Learning guidelines"}]},{"id":"90jgN4wLtWV6CpIOg1I8","title":"Linux Academy Notes","pathname":"/os/linux/learning-guidelines/linux-academy-notes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"Learning guidelines"}]},{"id":"fADlU0PFMkhyw4nwAXO9","title":"Install / Update Guides","pathname":"/os/linux/install-update-guides","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"arS48l9oZaPnmQ6z3OTI","title":"Set up Raspberry PI","pathname":"/os/linux/install-update-guides/set-up-raspberry-pi","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"Install / Update Guides"}]},{"id":"WaiK5n58gc6kyYV2I3G4","title":"Update Debian 10 (buster) to Debian 11 (bullseye)","pathname":"/os/linux/install-update-guides/update-debian-10-buster-to-debian-11-bullseye","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"Install / Update Guides"}]},{"id":"INVXETBQh6mxfQ7X1MG9","title":"Increase disk size","pathname":"/os/linux/increase-disk-size","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"1agevN7OHuSJqs6W2YkN","title":"umask","pathname":"/os/linux/umask","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"3bFPyNMjzm15iqyKkpev","title":"inodes","pathname":"/os/linux/inodes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"WeothkYF0VNUucgWc2WJ","title":"at jobs","pathname":"/os/linux/at-jobs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"lF4LU8kS8BY3TuOjx6Or","title":"yum","pathname":"/os/linux/yum","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"oo8K5ytGZ7uPsG8lEqmZ","title":"yum update vs yum upgrade","pathname":"/os/linux/yum/yum-update-vs-yum-upgrade","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"yum"}]},{"id":"i1cMzDCZsGfXNfPTGnpk","title":"find","pathname":"/os/linux/find","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"AGevt1adZat0UcublEBU","title":"ssh","pathname":"/os/linux/ssh","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"PoQi28fMbgovRdG52jsW","title":"SSH returns: no matching host key type found. Their offer: ssh-rsa","pathname":"/os/linux/ssh/ssh-returns-no-matching-host-key-type-found.-their-offer-ssh-rsa","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"ssh"}]},{"id":"kZRhKsb2zHurMwWVuMkW","title":"Generate Public Key from Private Key","pathname":"/os/linux/ssh/generate-public-key-from-private-key","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"ssh"}]},{"id":"EUYZGxLCZfaXy1ibLmZS","title":"Run local bash scripts on remote server","pathname":"/os/linux/ssh/run-local-bash-scripts-on-remote-server","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"ssh"}]},{"id":"UGPnJqKgs6R9KXqjf4xs","title":"crontab","pathname":"/os/linux/crontab","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"lJZwgkzAWnCzkWwsvzyE","title":"Crontab 1st Sunday of every Month","pathname":"/os/linux/crontab/crontab-1st-sunday-of-every-month","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"crontab"}]},{"id":"CL5NFPvScDP3h4EnyL2K","title":"Set crontab to execute after restart","pathname":"/os/linux/crontab/set-crontab-to-execute-after-restart","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"crontab"}]},{"id":"AHgwUvrfnVirYmIpsWqa","title":"vim","pathname":"/os/linux/vim","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"3KNKM2Fl1KC6Pk1mhg46","title":"Use sed inside vim","pathname":"/os/linux/vim/use-sed-inside-vim","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"vim"}]},{"id":"QWphNhQyTKg6jmULa8PH","title":"networking","pathname":"/os/linux/networking","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"Zx1bgGEuaO1Rc2n9FA0J","title":"Check Port","pathname":"/os/linux/networking/check-port","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"networking"}]},{"id":"zmsN7ph4QIFP9RO3DOcW","title":"fail2ban","pathname":"/os/linux/fail2ban","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"bULEac7t9yVPYPTodKeJ","title":"bashrc","pathname":"/os/linux/bashrc","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"HUVsT2N0MtNm4qdE6mAH","title":"lvm","pathname":"/os/linux/lvm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"I1YpUwyaIwAntZZNCX6M","title":"fallocate","pathname":"/os/linux/fallocate","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"y7ay9HfAxw1soCqmNIvM","title":"Generate dummy file with actual size","pathname":"/os/linux/fallocate/generate-dummy-file-with-actual-size","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"fallocate"}]},{"id":"91K6bLjZQwkuxAmyBv2T","title":"openssl","pathname":"/os/linux/openssl","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"}]},{"id":"ivCzfF9jTV4k8RbOkU2G","title":"Create Certificate via CNF file","pathname":"/os/linux/openssl/create-certificate-via-cnf-file","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"openssl"}]},{"id":"SV7V8tvnTyLRk4Y1dTa3","title":"OpenSSL cert conversion","pathname":"/os/linux/openssl/openssl-cert-conversion","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Linux"},{"label":"openssl"}]},{"id":"MdTeZok1IlEXgtCaIycr","title":"Windows","pathname":"/os/windows","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"}]},{"id":"DQvgoLCY3XF13FE6ro9b","title":"Windows - Get App port by PID","pathname":"/os/windows/windows-get-app-port-by-pid","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Windows"}]},{"id":"iTdHhq8t6ksIumqL4jxN","title":"Windows - Upgrade Windows build","pathname":"/os/windows/windows-upgrade-windows-build","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Windows"}]},{"id":"UgrFiL6NW8Odst8WHLaE","title":"Windows - Server","pathname":"/os/windows/windows-server","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Windows"}]},{"id":"WbVbmpXbhGgsrbxB7bst","title":"Android","pathname":"/os/android","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"}]},{"id":"LZWylwRjBpTBaTZy7CDF","title":"Android - Motorola Unlock","pathname":"/os/android/android-motorola-unlock","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Android"}]},{"id":"U8ipBE6rSkhqQZWUcd4L","title":"Android - /E Project","pathname":"/os/android/android-e-project","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"Android"}]},{"id":"uV1gVYq6vINPaNKnd4I2","title":"PinePhone","pathname":"/os/pinephone","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"}]},{"id":"B9nhtEJFHcjK7ovt17Nd","title":"PinePhone - Instructions for creating a PureOS image for PinePhone","pathname":"/os/pinephone/pinephone-instructions-for-creating-a-pureos-image-for-pinephone","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"OS"},{"label":"PinePhone"}]},{"id":"thcfhBifau1UM8gttyIH","title":"Nagios","pathname":"/monitoring/nagios","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"}]},{"id":"ms3EwSRJC9XKG5fUotju","title":"CPU threshold value calculation","pathname":"/monitoring/nagios/cpu-threshold-value-calculation","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"},{"label":"Nagios"}]},{"id":"zacQzjqf6VJm8Jow91Oi","title":"New Relic","pathname":"/monitoring/new-relic","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"}]},{"id":"g9ybFT2489P4NYS1eckp","title":"New Relic Flex Integration","pathname":"/monitoring/new-relic/new-relic-flex-integration","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"},{"label":"New Relic"}]},{"id":"F3jcDt5WOLswt4cJTZHN","title":"NRQL Alerts examples","pathname":"/monitoring/new-relic/nrql-alerts-examples","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"},{"label":"New Relic"}]},{"id":"1nCsUxV3kJcmTZnLHe1g","title":"Zabbix","pathname":"/monitoring/zabbix","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"}]},{"id":"ZmIaCXsqVRzdkqjRck9m","title":"Zabbix Proxy not communicating with Windows Server","pathname":"/monitoring/zabbix/zabbix-proxy-not-communicating-with-windows-server","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Monitoring"},{"label":"Zabbix"}]},{"id":"NgDLtPItxvAO31vv0dtA","title":"Outlook","pathname":"/microsoft-suite/outlook","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Microsoft Suite"}]},{"id":"NFA6p7uWiV8E4QASxwlv","title":"Change View","pathname":"/microsoft-suite/outlook/change-view","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Microsoft Suite"},{"label":"Outlook"}]},{"id":"mv47FxlfBJCqHpfQITFj","title":"Excel","pathname":"/microsoft-suite/excel","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Microsoft Suite"}]},{"id":"Kx23fSskBipcKIHvfbho","title":"Excel Shortcuts","pathname":"/microsoft-suite/excel/excel-shortcuts","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Microsoft Suite"},{"label":"Excel"}]},{"id":"OjJRh8L4oHnmUf7Sf82D","title":"Windows Subset for Linux","pathname":"/microsoft-suite/windows-subset-for-linux","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Microsoft Suite"}]},{"id":"q8dQrapVFOawnoXaCgXl","title":"WSL no internet connection","pathname":"/microsoft-suite/windows-subset-for-linux/wsl-no-internet-connection","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Microsoft Suite"},{"label":"Windows Subset for Linux"}]},{"id":"Nmyka0pYdHyuXPfy3MrS","title":"General Networking","pathname":"/networking/general-networking","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"JbDuwslbuDU9DvbJ1Opt","title":"IP Classes and Subnet Masks","pathname":"/networking/general-networking/ip-classes-and-subnet-masks","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"General Networking"}]},{"id":"rUsUKHfEDxgehiRvIwAO","title":"Network CIDR Charts - /-es or IP Prefix","pathname":"/networking/general-networking/network-cidr-charts-es-or-ip-prefix","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"General Networking"}]},{"id":"rrfoNa9UVBUl17vLQYuH","title":"OSI Model Overview","pathname":"/networking/general-networking/osi-model-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"General Networking"}]},{"id":"g9qswdr0qcNxhOHl5AKY","title":"Three Way Handshake & TCP Overview","pathname":"/networking/general-networking/three-way-handshake-and-tcp-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"General Networking"}]},{"id":"IdW04U8ksuMdBpHrN8gk","title":"F5","pathname":"/networking/f5","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"joGNUX8Q5EFOae32unyr","title":"Authelia","pathname":"/networking/authelia","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"0U5DOmhpvTnNCCqhsRC8","title":"What is Authelia","pathname":"/networking/authelia/what-is-authelia","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"Authelia"}]},{"id":"UIwZYuuoAdu9rdVt8Mto","title":"Nginx Proxy Manager","pathname":"/networking/nginx-proxy-manager","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"ZHrA6hRIIemsSIIYHeQX","title":"Nginx Proxy Manager - DuckDNS going down","pathname":"/networking/nginx-proxy-manager/nginx-proxy-manager-duckdns-going-down","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"Nginx Proxy Manager"}]},{"id":"QhbHGCuYclyTOhwK23C9","title":"Nmap","pathname":"/networking/nmap","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"kppV6ZWQlGmDXiHtdbd8","title":"OpenWRT","pathname":"/networking/openwrt","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"bZvbSOPjdAaO6glzylAf","title":"Securing OpenWRT","pathname":"/networking/openwrt/securing-openwrt","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"jqS6suuVLSeTre21qNqT","title":"OpenWRT - Read logs","pathname":"/networking/openwrt/openwrt-read-logs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"jH2mcLFVt3MkgoWNuilY","title":"OpenWRT - Adding DHCP Entry","pathname":"/networking/openwrt/openwrt-adding-dhcp-entry","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"NDMwnrSX8Vxfm4djUwkc","title":"OpenWRT - Wireguard","pathname":"/networking/openwrt/openwrt-wireguard","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"mzOfbtN1z7IaokAVrL5K","title":"OpenWRT - Set up OpenVPN","pathname":"/networking/openwrt/openwrt-set-up-openvpn","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"XsEaCSENMv2LbzNmfX6e","title":"OpenWRT - Internal DNS Service","pathname":"/networking/openwrt/openwrt-internal-dns-service","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"GmuClgPdpwKb89eS84wZ","title":"OpenWRT - Set up new Wifi Interface","pathname":"/networking/openwrt/openwrt-set-up-new-wifi-interface","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"09VZDdcCFEKl0zxrDnCr","title":"OpenWRT - Set up VLAN","pathname":"/networking/openwrt/openwrt-set-up-vlan","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"L8uzNsA5JrfnpmVGvhfW","title":"OpenWRT - VPN Policy Routing","pathname":"/networking/openwrt/openwrt-vpn-policy-routing","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"OpenWRT"}]},{"id":"Y4foHpqS8VJ7WtuAHUGa","title":"Pihole","pathname":"/networking/pihole","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"HHX90CxFzB7Ao32XQYuR","title":"Enabling HTTPS for your Pihole Web Interface","pathname":"/networking/pihole/enabling-https-for-your-pihole-web-interface","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"Pihole"}]},{"id":"v4JjRMAxwE4fCZwc6026","title":"Edit Pihole DNS entries","pathname":"/networking/pihole/edit-pihole-dns-entries","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"Pihole"}]},{"id":"ub7UECjXQBvxqgvYspuh","title":"RVS","pathname":"/networking/rvs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"Er0WywgA11efgLZE3G7f","title":"RVS - Observer Modification","pathname":"/networking/rvs/rvs-observer-modification","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"RVS"}]},{"id":"VLgHrITobWXL1Es35Pu7","title":"RVS - All Parameters","pathname":"/networking/rvs/rvs-all-parameters","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"RVS"}]},{"id":"aLr0KC1Xri0Nuv5pTPoo","title":"RVS - Adding a station","pathname":"/networking/rvs/rvs-adding-a-station","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"RVS"}]},{"id":"V1KSIaNspntRi8oRCQdE","title":"Wireguard","pathname":"/networking/wireguard","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"VgYHowGxDKpBXhadwP0t","title":"FTP","pathname":"/networking/ftp","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"KFOPEHi6aUGu2nVlDc1i","title":"Connect to FTP anonymously","pathname":"/networking/ftp/connect-to-ftp-anonymously","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Networking"},{"label":"FTP"}]},{"id":"WtTnHULP4SojGU4LcNaE","title":"CTF","pathname":"/pen-testing/ctf","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Pen Testing"}]},{"id":"LoiLYHAIPnnNH2KRvJ4v","title":"CTF Links","pathname":"/pen-testing/ctf/ctf-links","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Pen Testing"},{"label":"CTF"}]},{"id":"ojYDBetewo6G1tvvKXzC","title":"Python","pathname":"/programming/python","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"}]},{"id":"Elsft4LnpglM8ryBbyK8","title":"Classic Python","pathname":"/programming/python/classic-python","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"}]},{"id":"UhxU6Lrub0EvBCB1TsTh","title":"Python Cheatsheet","pathname":"/programming/python/classic-python/python-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"T7sBqtxV1PN3Zzl4jPMU","title":"Python Shortcuts","pathname":"/programming/python/classic-python/python-shortcuts","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"qR2R7p52hldy2vDcXxf2","title":"Dunder Methods","pathname":"/programming/python/classic-python/dunder-methods","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"wdzLaP9Vk8t8I5R0mGEs","title":"hasattr(), getattr(), delattr()","pathname":"/programming/python/classic-python/hasattr-getattr-delattr","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"9LJ15Etylc0VH1ALTW0A","title":"Useful Exceptions","pathname":"/programming/python/classic-python/useful-exceptions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"7tlQ9ku9i8wPmgXGAbyG","title":"Dictionary","pathname":"/programming/python/classic-python/dictionary","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"eSKyYzS4V17OpNYWqiPy","title":"isinstance()","pathname":"/programming/python/classic-python/isinstance","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"94daUj3rXapBqQZ9xuEG","title":"isdigit(), isdecimal(), isalpha()","pathname":"/programming/python/classic-python/isdigit-isdecimal-isalpha","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"HcJeKBdWke1ZkIHhgyT7","title":"return","pathname":"/programming/python/classic-python/return","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"dA9GwxIIWja6L50ktkcb","title":"Functions","pathname":"/programming/python/classic-python/functions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"YqHPCKe6rBVBarU3md6x","title":"Lists","pathname":"/programming/python/classic-python/lists","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"Buu9wmnvhUkNmbmYMyLu","title":"ord(), chr()","pathname":"/programming/python/classic-python/ord-chr","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"s2fb2QSPH1Mc3z3U5Mme","title":"squares, twos, odds","pathname":"/programming/python/classic-python/squares-twos-odds","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"vZifaODF9M5Wn49ZfLIM","title":"Bubble sort","pathname":"/programming/python/classic-python/bubble-sort","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"obIQCfk20oLCyEmfE21C","title":"append() and insert()","pathname":"/programming/python/classic-python/append-and-insert","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"w33GMEt59xKU4PftusD3","title":"Bitwise operators","pathname":"/programming/python/classic-python/bitwise-operators","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"QOhe14rf8LcKmev3xAht","title":"while, for & else","pathname":"/programming/python/classic-python/while-for-and-else","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"1F155Cuv0kFgUz5FrBfs","title":"Arithmetic Operators","pathname":"/programming/python/classic-python/arithmetic-operators","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"n9lVbjflWcLbewpsJLfq","title":"equal operators","pathname":"/programming/python/classic-python/equal-operators","siteSpaceId":"sitesp_H5K2J","description":"(*=, //=, +=, -=, %=)","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"6DrlDNKu4o2QXsKjQD6V","title":"Structure Projects","pathname":"/programming/python/classic-python/structure-projects","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Classic Python"}]},{"id":"RLYWbgajwGudqdJr3lJQ","title":"Modules","pathname":"/programming/python/modules","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"}]},{"id":"uubuQlPqn8eYTG0Pw7jz","title":"Webscraping","pathname":"/programming/python/modules/webscraping","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"}]},{"id":"Hlm4l1p7uTlUbl5TbAVQ","title":"BeautifulSoup","pathname":"/programming/python/modules/webscraping/beautifulsoup","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"},{"label":"Webscraping"}]},{"id":"r18s1Ysum0d32qS6NRKq","title":"PySimpleGui","pathname":"/programming/python/modules/pysimplegui","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"}]},{"id":"W1a0wU4AXoYUI5NeypbS","title":"Fast Crashcourse on PySimpleGui","pathname":"/programming/python/modules/pysimplegui/fast-crashcourse-on-pysimplegui","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"},{"label":"PySimpleGui"}]},{"id":"cP5Y4VpMSEBX8X6Ic3nB","title":"os","pathname":"/programming/python/modules/os","siteSpaceId":"sitesp_H5K2J","description":"Module to interact with the operating system","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"}]},{"id":"i0xbZ9MqhtwTTqE2wYFO","title":"python-docx","pathname":"/programming/python/modules/python-docx","siteSpaceId":"sitesp_H5K2J","description":"Module used for manipulating Documents","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"}]},{"id":"9wM9uUwxEGBe1pQ5MiR9","title":"Generate DOCX file","pathname":"/programming/python/modules/python-docx/generate-docx-file","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"},{"label":"python-docx"}]},{"id":"SNkCyLgckT0yRUfJdXrf","title":"psycopg2","pathname":"/programming/python/modules/psycopg2","siteSpaceId":"sitesp_H5K2J","description":"Module used for database connection (PostgreSQL)","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"}]},{"id":"AExr9qGNxDliHaNOikIE","title":"PostgreSQL Connection","pathname":"/programming/python/modules/psycopg2/postgresql-connection","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"},{"label":"psycopg2"}]},{"id":"bvb4DgY1S4lGE7wtzFxD","title":"Pydantic Model vs SQLAlchemy Model","pathname":"/programming/python/modules/pydantic-model-vs-sqlalchemy-model","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Modules"}]},{"id":"2kLvYm1lgi5D2oAs3yXh","title":"Frameworks","pathname":"/programming/python/frameworks","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"}]},{"id":"s5TSC7Tycs5vmrpGyLc7","title":"FastAPI","pathname":"/programming/python/frameworks/fastapi","siteSpaceId":"sitesp_H5K2J","description":"On Stop Shop Module for creating APIs with Python","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"}]},{"id":"Sx3ba1XHD2eDjg10i87H","title":"FastAPI Quick overview","pathname":"/programming/python/frameworks/fastapi/fastapi-quick-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"IgsaDyeguUMHFbiN3qHn","title":"Installing FastAPI and Dependencies","pathname":"/programming/python/frameworks/fastapi/installing-fastapi-and-dependencies","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"eYGwdYtUsmbym8BVIxjq","title":"Starting FastAPI","pathname":"/programming/python/frameworks/fastapi/starting-fastapi","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"KgI5qp0WfI9neTi7niUi","title":"Path Operations","pathname":"/programming/python/frameworks/fastapi/path-operations","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"Do0YvTDTmQmmvs2TPsWP","title":"Creating HTTP Operation paths","pathname":"/programming/python/frameworks/fastapi/creating-http-operation-paths","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"Hlm3jaWVgiKloGQCAr4G","title":"Send Data via Body of HTTP Request","pathname":"/programming/python/frameworks/fastapi/send-data-via-body-of-http-request","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"hvOhnUMCVrF7AIPtbWeA","title":"Schema Validation with Pydantic","pathname":"/programming/python/frameworks/fastapi/schema-validation-with-pydantic","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"Be9vZidUE2dCrxAIxu5Y","title":"CRUD Operations","pathname":"/programming/python/frameworks/fastapi/crud-operations","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"3KE5c3w9JiVJuB8b1EHd","title":"Storing in Array","pathname":"/programming/python/frameworks/fastapi/storing-in-array","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"09rDc3V0QFAZ3NR2gH2v","title":"Retrieve one individual entry","pathname":"/programming/python/frameworks/fastapi/retrieve-one-individual-entry","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"eTCbeMdxUS984ZZlVlDv","title":"Changing response Status Codes","pathname":"/programming/python/frameworks/fastapi/changing-response-status-codes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"s8n19tpB7TTPWxjRGkHB","title":"Deleting entries","pathname":"/programming/python/frameworks/fastapi/deleting-entries","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"3b5f9KCvtTMA2pHk1j24","title":"Updating entries","pathname":"/programming/python/frameworks/fastapi/updating-entries","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"HeZ76eYirhxE2zyT0PEH","title":"API Documentation","pathname":"/programming/python/frameworks/fastapi/api-documentation","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"4QqHKKQRDJBmFKu4ctav","title":"Setup App Database & connect to database","pathname":"/programming/python/frameworks/fastapi/setup-app-database-and-connect-to-database","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"fkaU6HNt1PsKFOZGeNcG","title":"FastAPI Response Model via Pydantic","pathname":"/programming/python/frameworks/fastapi/fastapi-response-model-via-pydantic","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"6KPpDVd2wRLHmGbWwcgV","title":"Hashing passwords via FastAPI","pathname":"/programming/python/frameworks/fastapi/hashing-passwords-via-fastapi","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"NMEtI1RNYoTOdBL2hpR9","title":"Getting user by ID","pathname":"/programming/python/frameworks/fastapi/getting-user-by-id","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"lqINaxRtJIlnW9l8ZKNO","title":"FastAPI Routers","pathname":"/programming/python/frameworks/fastapi/fastapi-routers","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"0MSK2XOddIaH4Sxxr0gQ","title":"Router Prefix","pathname":"/programming/python/frameworks/fastapi/router-prefix","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"aSQ1tdV9Js4CdFKGzZ92","title":"Router Tags","pathname":"/programming/python/frameworks/fastapi/router-tags","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"jJOzRNC9gOA5GB4AgEOD","title":"JWT Token Basics","pathname":"/programming/python/frameworks/fastapi/jwt-token-basics","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"rDJwAXKy1bE061oM37mq","title":"Login Process","pathname":"/programming/python/frameworks/fastapi/login-process","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"NiTag0K0TMHY3PF3KGld","title":"Creating Token with OAuth2","pathname":"/programming/python/frameworks/fastapi/creating-token-with-oauth2","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"zYrLcedipH1igFrQDk4Q","title":"OAuth2 PasswordRequestForm","pathname":"/programming/python/frameworks/fastapi/oauth2-passwordrequestform","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"zpYkJ2PzXTPynWFQNypE","title":"Verify user is Logged In","pathname":"/programming/python/frameworks/fastapi/verify-user-is-logged-in","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"Np65m2yZwH4eg4cMFJIH","title":"Protecting Routes","pathname":"/programming/python/frameworks/fastapi/protecting-routes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"lhuDVYunDlolg9Yh64VM","title":"Fetching User in Protected Routes","pathname":"/programming/python/frameworks/fastapi/fetching-user-in-protected-routes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"FastAPI"}]},{"id":"doajpWZVspwiXsblXbhM","title":"SQLAlchemy","pathname":"/programming/python/frameworks/sqlalchemy","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"}]},{"id":"zE9ZE3rx8hTZeC87x7RD","title":"What is an ORM","pathname":"/programming/python/frameworks/sqlalchemy/what-is-an-orm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"SQLAlchemy"}]},{"id":"8i6PxHiIuhyplEKD22so","title":"SQLAlchemy setup","pathname":"/programming/python/frameworks/sqlalchemy/sqlalchemy-setup","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"SQLAlchemy"}]},{"id":"tJ0LuYSrMJVeERkz9aDh","title":"Adding CreatedAt Column","pathname":"/programming/python/frameworks/sqlalchemy/adding-createdat-column","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"SQLAlchemy"}]},{"id":"cNQlXEiEgcV5Tzta4EL2","title":"CRUD via SQLAlchemy","pathname":"/programming/python/frameworks/sqlalchemy/crud-via-sqlalchemy","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"SQLAlchemy"}]},{"id":"9d3sZ00deRqvCriprYv4","title":"Efficient way of passing params in SQLAlchemy","pathname":"/programming/python/frameworks/sqlalchemy/efficient-way-of-passing-params-in-sqlalchemy","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"SQLAlchemy"}]},{"id":"Ifk8J7HK2RsAxqlO2T0t","title":"Creating Users Table via SQLAlchemy & FastAPI","pathname":"/programming/python/frameworks/sqlalchemy/creating-users-table-via-sqlalchemy-and-fastapi","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"},{"label":"Frameworks"},{"label":"SQLAlchemy"}]},{"id":"psauNTmII5C7pECCyn6S","title":"Virtual Environments (venv)","pathname":"/programming/python/virtual-environments-venv","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Python"}]},{"id":"wWeYv2PZs0jDpZMqaTuk","title":"General Programming Concepts","pathname":"/programming/general-programming-concepts","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"}]},{"id":"1lM5m9bXVUIGs89jioYm","title":"Interview Questions & Answers","pathname":"/programming/interview-questions-and-answers","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"}]},{"id":"Gp6u5Y727l00dqAUmeFl","title":"General Programming Questions","pathname":"/programming/interview-questions-and-answers/general-programming-questions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Interview Questions & Answers"}]},{"id":"wZ6QEicUkVOOgFBIOsM6","title":"Python Interview Questions Beginner","pathname":"/programming/interview-questions-and-answers/python-interview-questions-beginner","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Interview Questions & Answers"}]},{"id":"TL4f5j2BDq6FSnwvVQqz","title":"Courses","pathname":"/programming/courses","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"}]},{"id":"0wyToklAAvvDfb4X3Exn","title":"Python - PCAP-31-03 Course","pathname":"/programming/courses/python-pcap-31-03-course","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"}]},{"id":"8wMFy8gVL3LH9f7TvGs8","title":"Overview & Introduction","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"UWcJY363jnvtSmEOhs4m","title":"Exam Syllabus","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/exam-syllabus","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"LGAM0lCT52nOOaxeu9X8","title":"Basics of variables","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/basics-of-variables","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"JOcPVnvSsfVdKSqovKkx","title":"Basic Data Types","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/basic-data-types","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"4XaN4EdlXNO50LyTqUwc","title":"Basic Arithmetic in Python","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/basic-arithmetic-in-python","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"a7Xj0NrPXtWutpoOfYoU","title":"Indexing and Slicing Strings","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/indexing-and-slicing-strings","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"dbGvGbq1a6T00inyr5tl","title":"Basic String Methods","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/basic-string-methods","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"BMuU5CoyWhiUz4uW3dLk","title":"Format Method","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/format-method","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"WHY2fIT3B0AwlJGG1F8r","title":"Strings are Immutable","pathname":"/programming/courses/python-pcap-31-03-course/overview-and-introduction/strings-are-immutable","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Overview & Introduction"}]},{"id":"g8tzAvrI98ew79pOY54i","title":"Lists, Tuples and Dictionaries","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"c6sHh1oAbcVOAswtzRrR","title":"Lists","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/lists","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Lists, Tuples and Dictionaries"}]},{"id":"hDbcfB5zX2WoLZbPc4JX","title":"Accessing Elements in Nested Lists","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/accessing-elements-in-nested-lists","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Lists, Tuples and Dictionaries"}]},{"id":"Xpv1lhLgSjFyZcjrXmda","title":"Finding Index positions in Lists and counting duplicates","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/finding-index-positions-in-lists-and-counting-duplicates","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Lists, Tuples and Dictionaries"}]},{"id":"KWkBLWAyTAdoCS6G4V8v","title":"Tuples","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/tuples","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Lists, Tuples and Dictionaries"}]},{"id":"JEj2OGyY3ptiKHWoHyWa","title":"Dictionaries","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/dictionaries","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Lists, Tuples and Dictionaries"}]},{"id":"l3YpuFecor01zpy6eXM2","title":"Comparison Operators","pathname":"/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/comparison-operators","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Lists, Tuples and Dictionaries"}]},{"id":"uyRzrCjl0a6BP0b4qfkw","title":"Functions and Variable Scope","pathname":"/programming/courses/python-pcap-31-03-course/functions-and-variable-scope","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"8ZT2fLMkd19sbIVLwQxq","title":"Creating functions","pathname":"/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/creating-functions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Functions and Variable Scope"}]},{"id":"cMiDZN5VhgrMh5lNVf62","title":"*args and **kwargs","pathname":"/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/args-and-kwargs","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Functions and Variable Scope"}]},{"id":"KSHKkXSL8MFT31wzJRJ1","title":"Basic Variable scope","pathname":"/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/basic-variable-scope","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Functions and Variable Scope"}]},{"id":"CoA47OHidAqcNXA06kAX","title":"Scope and Nested functions","pathname":"/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/scope-and-nested-functions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Functions and Variable Scope"}]},{"id":"TFxYRpS9zvyQC5Y9qhOY","title":"Control Flow","pathname":"/programming/courses/python-pcap-31-03-course/control-flow","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"v54RgHlMWFRWW3Z7sdDa","title":"If & Else Statements","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/if-and-else-statements","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"jU667TeOyARAiyPAxceC","title":"Elif Statements","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/elif-statements","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"GzlqGTDb9Kq42ZoqidJU","title":"For Loops","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/for-loops","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"Uv35rIODi9LqJ0JUb3WI","title":"Pass Statement in For Loops","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/pass-statement-in-for-loops","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"2MUtL4ZPc68NUtKIFWKn","title":"While Loops","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/while-loops","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"8bx2QPK1TVgEsVuB0SXb","title":"Looping and Unpacking with Dictionaries and Tuples","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/looping-and-unpacking-with-dictionaries-and-tuples","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"ln6va0ZE4B4IRN0QjA8p","title":"Range, Enumerate and Zip Functions","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/range-enumerate-and-zip-functions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"PmeBAFrVC3pze2vs9UBM","title":"More Handy Functions and the Random Package","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/more-handy-functions-and-the-random-package","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"V6QlHz3qOl0OnNx3iDSG","title":"Accepting Input from User","pathname":"/programming/courses/python-pcap-31-03-course/control-flow/accepting-input-from-user","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Control Flow"}]},{"id":"PwbKGu2yO5GeyuILfjX6","title":"Modules, Packages and OOP","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"i4l8ylFXyaSWaWdrXR8F","title":"Revising the Difference between Methods and Functions","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/revising-the-difference-between-methods-and-functions","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"mT8jXzbkeuCwnZb5t3i8","title":"Classes and Objects","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/classes-and-objects","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"S3M1U93zMb3X2fVOPrMa","title":"Classes Attributes vs Object Attributes","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/classes-attributes-vs-object-attributes","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"ooI5tH63ECqOpX23u1BB","title":"Calling Python Code that is Saved in Another File","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/calling-python-code-that-is-saved-in-another-file","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"jOOmluYJxfjRZTxctHQ1","title":"Inheritance and Polymorphism","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/inheritance-and-polymorphism","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"vpHeTcf1m6RpVRc1ZX5y","title":"Abstract Classes and Methods","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/abstract-classes-and-methods","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"evbM7T5IeYZkr3ZtLLZt","title":"Practical Application of OOP","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/practical-application-of-oop","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"aOAl9novyhqmOBWThizg","title":"Double Under (Dunder) Methods","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/double-under-dunder-methods","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"W6wiBiF7D2RAT7uwKk8H","title":"Python Script Files","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/python-script-files","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"UilLmHD2LQonFmojt5zx","title":"Python Files","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/python-files","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"iaNh2pYvfe3MgF8Usr3I","title":"Understanding the if __name__ == '__main__' Syntax","pathname":"/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/understanding-the-if-__name__-__main__-syntax","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"Modules, Packages and OOP"}]},{"id":"8JZsfyBP7hADqkRX3zgL","title":"File IO and Exception Handling","pathname":"/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"KPwprP02w6OP0FTBEbXe","title":"Exception Handling","pathname":"/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/exception-handling","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"File IO and Exception Handling"}]},{"id":"fEzvVQWhpbahaM03hhS2","title":"File IO","pathname":"/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/file-io","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"File IO and Exception Handling"}]},{"id":"yudNguNC2apHzpYpn0wQ","title":"File IO with Exception Handling","pathname":"/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/file-io-with-exception-handling","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"File IO and Exception Handling"}]},{"id":"nJuLPwb0U9N1bYqsfK0x","title":"OS Module","pathname":"/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/os-module","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"File IO and Exception Handling"}]},{"id":"fkjbSpTAZvUo7rGHMW5A","title":"argv Command Line Arguments and the re Module","pathname":"/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/argv-command-line-arguments-and-the-re-module","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"},{"label":"File IO and Exception Handling"}]},{"id":"VdChtMWbCoUGmoXnkNqA","title":"Misc Stuff and Q&A","pathname":"/programming/courses/python-pcap-31-03-course/misc-stuff-and-q-and-a","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Courses"},{"label":"Python - PCAP-31-03 Course"}]},{"id":"nV179choFFrPZnO78vM1","title":"IDE","pathname":"/programming/ide","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"}]},{"id":"WzOhlVFbe6kFotI0PIG4","title":"Virtual Studio Code","pathname":"/programming/ide/virtual-studio-code","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"IDE"}]},{"id":"kQ0z4xoJBQmNDO5gRYlI","title":"Cheatsheet","pathname":"/programming/ide/virtual-studio-code/cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"IDE"},{"label":"Virtual Studio Code"}]},{"id":"mLdZyRQcsPWgDz7WqKN0","title":"Postman","pathname":"/programming/postman","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"}]},{"id":"gn3GE6qYBpG9VkSackJ5","title":"Postman Overview","pathname":"/programming/postman/postman-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Postman"}]},{"id":"3mZ9PZRykJnAjde4l5Vy","title":"Create a GET HTTP request","pathname":"/programming/postman/create-a-get-http-request","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Postman"}]},{"id":"zx40HSnYQ8Engxowt5Mw","title":"HTTP Requests","pathname":"/programming/postman/http-requests","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Postman"}]},{"id":"PVwoT6TfMhnHlqSsrY5u","title":"Saving Postman requests","pathname":"/programming/postman/saving-postman-requests","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Postman"}]},{"id":"FKCFFP0rbwXivEZpk178","title":"Environment Variables","pathname":"/programming/postman/environment-variables","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Programming"},{"label":"Postman"}]},{"id":"vgrB52TVHqRppDeF4nPa","title":"Proxmox","pathname":"/virtualization/proxmox","siteSpaceId":"sitesp_H5K2J","description":"Proxmox is a Type 1 Hypervisor based on Debian, it is free, open source and scalable","breadcrumbs":[{"label":"Virtualization"}]},{"id":"eXQJ8kz9w26wyoguN0MP","title":"Proxmox Cheatsheet","pathname":"/virtualization/proxmox/proxmox-cheatsheet","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Virtualization"},{"label":"Proxmox"}]},{"id":"2nGCbdkY9voXsEzMRvxX","title":"Proxmox Common Errors","pathname":"/virtualization/proxmox/proxmox-common-errors","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Virtualization"},{"label":"Proxmox"}]},{"id":"wkTmxtyU6HXAnFHIrkih","title":"Install Home Assistant in Proxmox via script","pathname":"/virtualization/proxmox/install-home-assistant-in-proxmox-via-script","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Virtualization"},{"label":"Proxmox"}]},{"id":"5aQDe4pqlslwDdbTbx6U","title":"Create cloud-init template","pathname":"/virtualization/proxmox/create-cloud-init-template","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Virtualization"},{"label":"Proxmox"}]},{"id":"fTx91boKPt6vVf1YS4jI","title":"Install guest-agent on new VM","pathname":"/virtualization/proxmox/install-guest-agent-on-new-vm","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Virtualization"},{"label":"Proxmox"}]},{"id":"tIgTp8sZNKfX0AsTtiDO","title":"Proxmox post install script","pathname":"/virtualization/proxmox/proxmox-post-install-script","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Virtualization"},{"label":"Proxmox"}]},{"id":"prrYQCxeEWt7HxkXe8L2","title":"Apache","pathname":"/webservers/apache","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Webservers"}]},{"id":"Qz4YHQedlyY6CcDpiWcA","title":"Redirect 301 - Apache to index.html","pathname":"/webservers/apache/redirect-301-apache-to-index.html","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Webservers"},{"label":"Apache"}]},{"id":"4UpUf1WWgYoU7BRDXSLa","title":"Glassfish","pathname":"/webservers/glassfish","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Webservers"}]},{"id":"O4UNIRHMwQQfqxM7imZa","title":"Redirect 301 Glassfish","pathname":"/webservers/glassfish/redirect-301-glassfish","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Webservers"},{"label":"Glassfish"}]},{"id":"aUyxrhIvvQSKPGaUpmPj","title":"Tomcat","pathname":"/webservers/tomcat","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Webservers"}]},{"id":"Ikf2NHJ7hd2Es7ZhSsFI","title":"Useful tomcat files","pathname":"/webservers/tomcat/useful-tomcat-files","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Webservers"},{"label":"Tomcat"}]},{"id":"2d7qt6osCu6WSKiiWlLI","title":"NetApp","pathname":"/storage/netapp","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"}]},{"id":"WTCX9FRycO6dkXEMIB1t","title":"Netapp Overview","pathname":"/storage/netapp/netapp-overview","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"},{"label":"NetApp"}]},{"id":"XTBFzFnhDOLklD3rczlB","title":"How to create symlinks","pathname":"/storage/netapp/how-to-create-symlinks","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"},{"label":"NetApp"}]},{"id":"sBali3wIoAE0fsHsew6T","title":"Nextcloud","pathname":"/storage/nextcloud","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"}]},{"id":"uGBHTOCUNIkVIGDhxrYX","title":"Nextcloud Snap install and S3 Storage Bucket","pathname":"/storage/nextcloud/nextcloud-snap-install-and-s3-storage-bucket","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"},{"label":"Nextcloud"}]},{"id":"SnsMl3xmMcNtBMLx3eVV","title":"Nextcloud Fail2Ban Regex","pathname":"/storage/nextcloud/nextcloud-fail2ban-regex","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"},{"label":"Nextcloud"}]},{"id":"LSbjuMY1VQJ6VEamCHRJ","title":"Set up OnlyOffice on Nextcloud","pathname":"/storage/nextcloud/set-up-onlyoffice-on-nextcloud","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"},{"label":"Nextcloud"}]},{"id":"Qt8X4kRlTKxI1HEShmLI","title":"Set up Joplin and CalDav on Nextcloud","pathname":"/storage/nextcloud/set-up-joplin-and-caldav-on-nextcloud","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Storage"},{"label":"Nextcloud"}]},{"id":"uRb5u4owdwbeMEA8bupH","title":"Ansys","pathname":"/software/ansys","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Software"}]},{"id":"EsQxT5VALq1XRNFRm6Yq","title":"Ansys missing libraries","pathname":"/software/ansys/ansys-missing-libraries","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Software"},{"label":"Ansys"}]},{"id":"2GCQNNui8BEdl20wF8kA","title":"Ansys install","pathname":"/software/ansys/ansys-install","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Software"},{"label":"Ansys"}]},{"id":"xq6UWhAy8M9A4vLzOPpe","title":"Jboss","pathname":"/software/jboss","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Software"}]},{"id":"aPN5KS6xUoqJonmQSlpG","title":"Jboss process not working","pathname":"/software/jboss/jboss-process-not-working","siteSpaceId":"sitesp_H5K2J","description":"","breadcrumbs":[{"label":"Software"},{"label":"Jboss"}]}]}