본문 바로가기

CSharp

Go: 테스트용 간단 REST API 앱 유니티 엔진에서의 리서치 도중 REST API를 통한 로그인 기능 구현을 할 일이 생겼습니다. 작년이었더라면 웬만한 작업들은 C#으로 해결하려고 ASP.NET Core로 눈을 돌렸을텐데요. 복잡한 기능 명세가 필요하지 않았고 이를 위해 적합한 새로운 언어가 있을거라는 생각에 GoLang을 이용해보기로 했습니다. 유니티 클라이언트에서는 HTTP로 적절한 헤더를 포함시킨 요청을 작성하여 보내고 응답을 받아 처리하는 로직을, GoLang에서는 라우팅에 따라 적절한 요청을 처리하고 결과를 응답하는 로직을 작성합니다. 라우터로는 메인테이닝이 이루어지지 않은지 꽤 된 것 같지만 13K의 Star를 보유하고 있는 julienschmidt/httprouter를 사용했습니다. https://github.com/julie.. 더보기
dotnet: BannedApiAnalyzer 도입기 도입 계기 작업자가 늘어나면서 코딩 스탠다드 및 네이밍 컨벤션 제어만으로는 사용하지 말아야 할 패턴에 대한 필터링이 어려워지고, 코드 리뷰 시간이 길어지기 시작했다. 일부 API들을 래핑해서 사용하기 시작하면서, 원형을 직접 사용하는 케이스를 Pull Request에서 사람이 직접 확인해야 했고, 이를 개선하기 위해 CI/CD에 분석기를 달아 최종적으로 PR이 머지되기 전 최소 1회 검증이 되도록 자동화했던 이력이 있다. 그런데, 이 케이스는 기대했던 것 보다 작업 과정에서 실수를 바로 알아채기가 힘들었고 코드 리뷰가 완료된 후 이 문제로 인해 코드를 수정해야하는 일이 생기곤 해서 검토했던 것 보다 생산성의 향상을 가져다 주지는 못했다. 솔루션 Console.Log, Reflection 기능 등을 사용했.. 더보기