Spring 중심으로 개발해 오면서 익숙한 방식에 많이 의지해왔고,
비교적 단순하고 가벼운 방식으로 백엔드를 구성하는 Go가 실제 서비스 구현에서 어떤 감각을 주는지 궁금했습니다.
그래서 이번에는 문법만 익히는 데서 끝내지 않고, 이커머스 서비스를 직접 구현하면서 Go를 학습해보려고 합니다.
Spring을 사용해 개발을 하다 보면 구조와 역할이 비교적 명확하게 나뉘어 있어서,
일정 수준의 일관성을 유지하면서,개발하기 좋다는 장점이 있습니다.
저 역시 지금까지는 그런 흐름 안에서 백엔드 기능을 만들고, 문제를 해결하고,
서비스를 운영하는 경험을 쌓아왔습니다. 그런데 한편으로는 다른 언어와 런타임이 같은 문제를
어떤 방식으로 풀어내는지도 계속 궁금했습니다.
특히 Go는 작은 언어와 표준 라이브러리를 바탕으로 백엔드를 구성할 수 있다는 점이 인상적이었고,
Spring과는 다른 방식으로 서비스를 구현해 볼 수 있을 것 같아 전부터 한 번은 제대로 공부해보고 싶었습니다.
물론 지금의 저는 아직 Go 문법부터 차근 차근 익혀야 하는 단계입니다.
그래도 이번에는 문법만 한 번 훑고 끝내는 방식보다는, 배우는 내용을 실제 코드와 구조 안에서
다시 써보는 방식으로 공부해보고 싶었습니다.
문법을 익히고, 작은 실습으로 확인하고, 그 다음에는 서비스 구현으로 이어가면서 언어를 더 입체적으로
이해해 보는 쪽으로 이끌어보려고 합니다.
그래서 지금의
https://github.com/codwithyc/go-utility-box
레포지토리를 만들게 되었습니다.
GitHub - codwithyc/go-utility-box: 인프라 관리에 필요한 Go 유틸리티 박스.
인프라 관리에 필요한 Go 유틸리티 박스. Contribute to codwithyc/go-utility-box development by creating an account on GitHub.
github.com
이 레포는 단순히 Go 문법을 예제를 모아두는 공간이 아니라,
Go를 배우는 과정을 실제 구현으로 연결해 보는 레포로 가져가려고 합니다.
처음에는 문법과 기본기를 익히는 데서 시작하겠지만, 거기서 멈추지 않고 점점 더 실제 서비스에
가까운 형태로 확장해볼 생각입니다.
주제로 이커머스를 잡은 이유도 여기에 있습니다.
이커머스는 회원, 상품, 주문, 결제처럼 백엔드에서 자주 마주치는 흐름이 자연스럽게 들어 있고,
인증, 데이터베이스 설계, API 구조, 비동기 처리 같은 주제들도 함께 연결해서 볼 수 있습니다.
문법을 공부한 뒤 실제로 어떤 구조 안에서 그 지식을 써볼 수 있는지 확인하기에 적절한 주제라고 생각했습니다.
아직은 시작 단계이기 때문에, 이 레포도 처음부터 완성된 형태를 목표로 하지는 않습니다.
대신 Go를 배우면서 필요한 내용을 하나씩 쌓고, 구현해 보고, 더 나은 방식이 보이면
다시 고치면서 점점 확장해가는 레포로 만들어가고 싶습니다.
Go Utility Box는 그렇게 Go를 학습하고,
실험하고, 실제 서비스 구현으로 이어가는 과정을 담는 레포가 될 것 같습니다.
