+{"pageProps":{"source":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n h1: \"h1\",\n h2: \"h2\",\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.h1, {\n id: \"concurrent-programming-with-go\",\n children: \"Concurrent Programming with Go\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Welcome to Concurrent Programming with Go! This course will teach you how to harness the power of Go's concurrency model to build efficient, concurrent applications.\"\n }), \"\\n\", _jsx(_components.h2, {\n id: \"what-youll-learn\",\n children: \"What You'll Learn\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Go's goroutines for concurrent execution\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Channels for communication between goroutines\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Synchronization primitives like Mutex and WaitGroup\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Common concurrency patterns\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Detecting and fixing race conditions\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Creating efficient concurrent algorithms\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Best practices for concurrent programming\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.h2, {\n id: \"prerequisites\",\n children: \"Prerequisites\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"This course assumes you have:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Basic knowledge of Go programming\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Completed the \\\"Quick Start with Golang\\\" course or equivalent\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Understanding of functions and error handling in Go\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.h2, {\n id: \"course-structure\",\n children: \"Course Structure\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"This course consists of 5 hands-on labs that will guide you through building increasingly complex concurrent applications. Each lab includes practical examples and exercises to help you master concurrent programming in Go.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Let's start building fast, concurrent programs with Go!\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"frontMatter":{"title":"Concurrent Programming with Go","description":"Learn how to write concurrent programs in Go using goroutines and channels. This course covers concurrency patterns, synchronization, and best practices for writing efficient concurrent code in Go.","coverImage":"/images/courses/concurrent-programming-with-go.png","level":"Intermediate","tags":["Go","Concurrency"],"labs":[{"title":"Introduction to Goroutines","slug":"intro-to-goroutines","description":"Learn about goroutines and how to create concurrent functions."},{"title":"Working with Channels","slug":"working-with-channels","description":"Master Go channels for communication between goroutines."},{"title":"Synchronization Patterns","slug":"synchronization-patterns","description":"Learn different patterns for synchronizing concurrent operations."}]},"courseSlug":"concurrent-programming-with-go","modules":[],"currentModule":{"slug":"concurrent-programming-with-go","title":"Concurrent Programming with Go"}},"__N_SSG":true}
0 commit comments