{"version":1,"pages":[{"id":"GdHtn1lbtIRs8NHZ622v","title":"Go Guidance","pathname":"/","siteSpaceId":"sitesp_sP9vd","description":""},{"id":"0HSbrqBpYylRg1VqmBJH","title":"Basic Golang","pathname":"/golang-fundamental/basic","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Golang Fundamental"}]},{"id":"coxVT3PWjbVDkvwf4YUH","title":"Pseudo OOP","pathname":"/golang-fundamental/pseudo_oop","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Golang Fundamental"}]},{"id":"3zBQ2byTYOdQqXw0EWMZ","title":"Konkurensi","pathname":"/golang-fundamental/konkurensi","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Golang Fundamental"}]},{"id":"EtzvFJXjldbf4nYR1QK9","title":"Singleton","pathname":"/design-pattern/singleton","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"}]},{"id":"LxADlTEHxXyuH67NmT6n","title":"Dependency Injection","pathname":"/design-pattern/dependency-injection","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"}]},{"id":"wUmxVr0g6MyAKxtaVU3N","title":"Concurrency Pattern","pathname":"/design-pattern/concurrency-pattern","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"}]},{"id":"Xnn3QUvrqVIgukoLkqwD","title":"Worker Pool","pathname":"/design-pattern/concurrency-pattern/worker-pool","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"},{"label":"Concurrency Pattern"}]},{"id":"0GmEjHtUJwtCDGvFiycI","title":"Future / Promise","pathname":"/design-pattern/concurrency-pattern/future-promise","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"},{"label":"Concurrency Pattern"}]},{"id":"VWn4ilp7Z1GFB5t4V75X","title":"Rate Limit Pattern","pathname":"/design-pattern/concurrency-pattern/rate-limit","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"},{"label":"Concurrency Pattern"}]},{"id":"E18B2yL0673W4tHXkMSo","title":"Semaphore","pathname":"/design-pattern/concurrency-pattern/semaphore","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"},{"label":"Concurrency Pattern"}]},{"id":"4m1qgm3luhlZ9AwbiDha","title":"Single Flight","pathname":"/design-pattern/concurrency-pattern/single-flight","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Design Pattern"},{"label":"Concurrency Pattern"}]},{"id":"fUSYpBF1I09Dt3ifsmJI","title":"Pengenalan Rest API","pathname":"/build-rest-api-framework/pengenalan-rest-api","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"0KyqOE5hpoGLBuhHhxpe","title":"Start up","pathname":"/build-rest-api-framework/start-up","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"LCBrY0eLurNxzJqrdmaU","title":"Shutdown","pathname":"/build-rest-api-framework/shutdown","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"t6ECTqOoVUi2OWR1KLXC","title":"Json","pathname":"/build-rest-api-framework/json","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"jbQ8Zz9zs6TokRlPzcr5","title":"Database","pathname":"/build-rest-api-framework/database","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"kXMIFZqPIDETpOMJQj6U","title":"Clean architecture","pathname":"/build-rest-api-framework/clean-architecture","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"if4ExpS5NYcDt5Zo2MMi","title":"Configuration","pathname":"/build-rest-api-framework/configuration","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"1lquJkDY7W5jppWInjH1","title":"Fatal","pathname":"/build-rest-api-framework/fatal","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"Dsft2Gw2lR4mtFXuYMR9","title":"Logging","pathname":"/build-rest-api-framework/logging","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"hSN82zWKgH9KocDPPE2z","title":"Routing","pathname":"/build-rest-api-framework/routing","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"nj5sSiO9KPFPadLfuLI6","title":"CRUD","pathname":"/build-rest-api-framework/crud","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"I37oR2xpamhkA6edoZdA","title":"Request Response Helper","pathname":"/build-rest-api-framework/request-response-helper","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"SrB8sOlYunnoBBQbUqU4","title":"Error Handler","pathname":"/build-rest-api-framework/error-handler","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"IfKwYi9yodKRzLyBK2et","title":"Unit Testing","pathname":"/build-rest-api-framework/unit-testing","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"0eMq5Rkv4UZVs8pLMu4q","title":"API Testing","pathname":"/build-rest-api-framework/api-testing","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"L8pd22cTpeduMuYTGsoY","title":"Context","pathname":"/build-rest-api-framework/context","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"jxIQAXDjKgyKrDNNBxtk","title":"Validation","pathname":"/build-rest-api-framework/validation","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"VFhajjIeYlxOXrWFwKYe","title":"Middleware","pathname":"/build-rest-api-framework/middleware","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"Vx97UWRuDy0JWgSnwdFT","title":"Token","pathname":"/build-rest-api-framework/token","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"qWi9Kh8iCtOUmIHnzkfy","title":"Role Based Access Controller","pathname":"/build-rest-api-framework/rbac","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"Build Rest API Framework"}]},{"id":"2UNOw3xripdzUgIUcjew","title":"Pengenalan GraphQL","pathname":"/graphql-framework/pengenalan-graphql","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"GraphQL Framework"}]},{"id":"E4JSKuiN9Wz660l1EJAJ","title":"Pengenalan gRPC","pathname":"/grpc-framework/pengenalan-grpc","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"ufRAiZZXLt2oWTxcH4f6","title":"Protocol Buffer","pathname":"/grpc-framework/grpc-protobuf","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"yOkhn7IUmpptg01u0F0l","title":"makefile","pathname":"/grpc-framework/makefile","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"ADERiQMAcMFWyZknAy75","title":"gRPC Server","pathname":"/grpc-framework/grpc-server","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"DSpYUmnZASjxkldGa7Q0","title":"Config","pathname":"/grpc-framework/grpc-config","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"9xQ5em5JQvULkts4u6AE","title":"Database","pathname":"/grpc-framework/grpc-database","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"jI61539yBygKGGqynMMX","title":"Routing","pathname":"/grpc-framework/grpc-routing","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"F5dXb4k23jzEYlFBJT1d","title":"Clean Architecture","pathname":"/grpc-framework/grpc-clean-architecture","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"RG8nRDT75PsorFRIVNmP","title":"gRPC Client","pathname":"/grpc-framework/grpc-client","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"cx184vKmwcVa7yXenXaB","title":"Tracing","pathname":"/grpc-framework/grpc-tracing","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"UpImM7sPPG5EpewOcRxF","title":"Caching","pathname":"/grpc-framework/grpc-caching","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]},{"id":"ROaVaUfiNaeSyy2aU2w0","title":"gRPC Testing","pathname":"/grpc-framework/grpc-testing","siteSpaceId":"sitesp_sP9vd","description":"","breadcrumbs":[{"label":"gRPC Framework"}]}]}