본문 바로가기

Go 언어

(2)
순환 참조 문제 / Go언어(Golang) 게임서버 순환 참조의 개념 순환 참조란 두 모듈이 서로를 직접 또는 간접적으로 참조할 때 발생한다. 이는 컴파일 타임에 해결되지 않으면 런타임 에러로 이어지며, Go에서는 패키지 간 잘못된 의존성 구조로 인해 이런 문제가 발생한다. ( Go에서는 컴파일 타임에 아래와 같은 import cycle not allowed 와 같은 컴파일 에러를 반환하여 알려주긴 한다) 순환 참조가 야기하는 문제점 컴파일 에러 : 컴파일 에러가 난다면 그나마 다행이지 않을까 싶다 단위 테스트가 어렵고 비용이 증가 : 의존적인 모듈들이 함께 테스트 되어야하기 때문에 단위적인 테스트가 어렵고 비용이 증가한다 가독성이 저하되고 유지보수의 어려움 증가 문제 상황 및 배경 Go언어를 이용해 한글을 타이핑하여 스킬 사용 및 공격 등을 진행하는 게..
[Go] Go와 http를 이용한 REST API 만들기 - 학식 취향분석 (2) haksik-personalized 저번 스프링 부트를 이용하여, 사용자 취향에 맞는 학식 메뉴를 추천해주는 간단한 프로그램을 구성해보았다. (참고 링크: https://winterlimited.tistory.com/15) 현재는 취향 분석의 여러개의 값이 존재하지 않아 평가된 메뉴 점수의 평균값만으로 취향을 분석하여 추천한다. 학식 메뉴를 제공하고, 사용자가 각 메뉴를 "좋아요", "보통이에요", "싫어요"로 평가할 수 있게끔 기존 프로그램과 동일한 방식으로 동작할 수 있도록 구성해두었다. 다만, 따로 DB를 두고있지 않고, - store의 user.go, menu.go에 배열을 이용해 값을 저장할 수 있도록 임시로 구성해두었고 추후 ScyllaDB와의 연동을 계획하고 있기때문에, NoSQL 형식으로 ..