WIL_220603
Golang으로요..?
코프링 프로젝트와 연계된 서버를 추가로 개발해야하는데 데몬 형태로 배포가 진행이 되어야한다고 들었다. 내가 다소 익숙한 파이썬으로 개발하여 만들 수도 있을 것 같았으나 파이썬으로 진행하는 것에 대해 구글링을 해보니 스크립트 언어의 한계성이나 관련 패키지의 잦은 에러 리포트들을 보고 고민이 들었기에 과감하게 Golang으로 만들어보는 것으로 결정했다.
Golang언어 설치는 생각보다 간단했다. 공식 홈페이지에서 다운받아 설치하면 끝이였다. 이후 간단하게 공식문서를 보며 go 이하 폴더 구조에 대해 파악을 하였고, 제공되는 튜토리얼을 통해 매우매우 간단한 웹서버를 하나 만들어보았다.
대략적인 느낌만 가지고 서버 구조를 구축하려고 했는데 레퍼런스를 본적이 없으니 좀 막막했다. 패턴을 어떻게 가지고 가야될지도 모르겠고 해서 다시 구글링 하다보니 Golang 기반 프레임워크가 있었고, 이를 뒷받침해줄 ORM과 DB 드라이버 등 다양한 라이브러리가 존재했다. 여기 자료가 생각보다 잘 나와있어서 필요한 내용 검색하면서 많이 찾아본 것 같다!
https://developpaper.com/category/blogs/program-language/golang/
우선 프레임워크는 가장 괜찮아보였던 Gin, 그리고 ORM은 gORM을 선택했다. 이후 라우터와 모델, 컨트롤러를 분리하여 프레임워크에서 제시되는 패턴을 잡았고, 이후 각 파트별로 개발을 해나가며 request로 들어오는 데이터 파싱 후 데이터 저장, multipart 처리 후 저장 및 인증인가 부분까지 마무리를 지어놓은 상황이다.
순식간에 들어오는 데이터가 상당히 많을 수 있는데 컴파일 기반이라 그런지 체감상으로만 해도 엄청난 속도가 느껴졌다. 호출 및 처리속도를 보면 파이썬 대비 체감을 떠나 수치상으로도 빠른 수치를 보여주고 있었다.
인제 서버는 곧 마무리 예정이고, 프론트까지 만들어서 연결하고 배포까지 진행되면 이후 내용 갈무리해서 블로깅을 해보고자 한다.
튜터링 시즌투
튜터링 시즌투가 진행되었다. 그저께가 지방선거일이라 어제 다시 두번째로 진행하였다. 이전 기수분들과 뭔가 분위기(?)가 바뀐 느낌이 들어 적응의 시간이 필요하겠다 생각이 들면서 한편으로 지적호기심이 충만한 분들의 질문을 들으며 서로 이야기를 나누다보니 또 흥미로웠다.
이번주는 월, 화 근무 후 수요일부터 다음주 월요일까지 징검다리 연차를 내서 6일을 쭉 쉬고 있다. 밀린 공부와 블로깅, 그리고 휴식을 즐겨보자!