Enroll Course: https://www.coursera.org/learn/golang-concurrency

소개

Go 언어의 동시성 프로그래밍을 배우는 것은 현대 소프트웨어 개발에서 필수적인 기술입니다. Coursera의 ‘Concurrency in Go’ 코스를 통해 동시성의 개념을 깊이 있게 이해하고, 고루틴과 채널을 활용하여 프로그램을 구현해보세요.

코스 개요

이 코스는 동시성 프로그래밍을 구현하는 방법을 배우고, 고루틴(goroutines)과 채널(channels)의 역할을 탐구합니다. 코스 활동을 통해 Go의 동시성 기능을 연습하면서 여러 예제 프로그램을 개발할 수 있습니다.

커리큘럼 요약

  • MODULE 1: 왜 동시성을 사용할까?

    동시성의 개념을 소개하고, 미래의 마이크로프로세서 성능 향상에 제약을 줄 수 있는 물리적 요인을 검토합니다.

  • MODULE 2: 동시성 기초

    기본 동시성 개념과 경합 조건(race conditions)에 대해 논의하며, 다음 모듈에서 다룰 스레드에 대한 기초를 준비합니다.

  • MODULE 3: Go의 스레드

    스레드 기반의 고루틴을 사용하고, 동기화의 이점을 탐구합니다. 과제로는 네 개의 별도 하위 배열을 통해 정수를 정렬한 후, 배열을 병합하는 프로그램을 만드는 것이 포함됩니다.

  • MODULE 4: 동기화된 통신

    본 모듈은 코스에서 다룬 스레드, 동시성 및 동기화의 다양한 기능을 결합합니다. 과제로는 ‘철학자의 저녁식사 문제’를 구현하며 나오는 동기화 문제를 해결해야 합니다.

추천 이유

이 코스는 Go 언어에서의 동시성 프로그래밍에 대한 심층적인 이해를 제공하며, 실습 중심의 커리큘럼을 통해 이론을 실천으로 연결해줍니다. 과정 완료 후, 실제 프로젝트에서 동시성 프로그래밍을 적용할 수 있는 자신감을 얻게 될 것입니다.

Enroll Course: https://www.coursera.org/learn/golang-concurrency