24주의 개발일기

Jayden·2022년 6월 19일

개발일기

목록 보기
3/5

순식간에 지나간 24주차.

주제별 이야깃거리

  • Nest.js로 Back-end Api 구축하기
  • ELK에 대해서

개발 푸념

  • 앞으로 개발자로 일하려면?

Nest.js로 Back-end Api 구축하기

Front-end 개발자로 살아가는게 왜 쉽지 않지..? API 구축 건 프로젝트를 진행하게 되었다. 우선 맡은 이유는,
1. 진행하고 있는 데이터 시각화 프로젝트의 일부분을 차지하고 있다는 것,
2. 규모가 크지 않은 2주정도짜리의 프로젝트이기 때문.
이 두가지이다.
데이터 시각화 프로젝트를 진행하면서, 데이터의 이해를 기반으로 시각화 작업을 진행해야됨을 깨달았는데, 지금 이 API는 요청한 Elastic Search의 검색데이터를 JSON데이터로 응답해주는 API이다. 원래 원하는 데이터를 얻기 위해서는.. Back-end개발자의 영역이므로 알아서 작업해주거나 부탁하면 되지만, 지금 우리회사에는 이런 API를 전담해서 만들어줄 Back-end개발자가 없으므로 직접 하는수밖에 없었다. 그리고 원하는 데이터를 직접 얻는것을 일일이 설명하는것보다, 내가 직접 끌어올 수 있는 경험을 해보고싶었다.
물론 API의 역할은 단순하다. 기존의 검색페이지의 검색조건들을 기준으로 응답데이터만 리턴해주면 되는 것이기 때문에, 기능은 금방 만들 수 있다. 다만 나는 거기서 더 나아가, 원하는 데이터를 얻을 수 있도록 확장기능을 추가할 계획이다.(목적은 내가 원하는 데이터를 받을 수 있는 API를 구축하는 것)

요즘 들어 많이 생각하는것이 있는데, 데이터를 시각화할 때, 목적을 얻기 위해서는 두가지 방법이 존재한다고 느끼고 있다.
1. 사용자의 요구사항을 기반으로 데이터 시각화를 하는 것.
2. 데이터를 이해하여 내가 원하는 시각화를 해보는 것.

당연하다고 생각할 수 있지만.. 막상 시각화를 하는 입장에서 이 두 가지를 생각할 수 있었다는게 매우 신선하게 다가왔고(왜냐면 이렇게 생각한 사람이 있을까? 당연하다고 생각하는 사람들이 많을 듯 하다..), 이 두 가지 생각은 엄연히 엄청난 차이가 있으며, 2번의 경우가 좀 더 창의적이라고 할 수 있다고 본다.

나는 2번을 하고 있는데, 이번에 API를 만들면서, 정말 많이 어려운 것을 느끼고 있다. 단순히 2차원 선 그래프를 그리는 것은 누구나 쉽게 할 수 있을거같은데, 그걸 사용자에게 확실히, 효과적으로 전달하는 것은 개발영역이라기보단.. 기획과 UX - (우선 내생각)의 영역인거같아서이다. 데이터에 대한 이해는 기본이고.

우선 이 API를 통해 Elastic Search의 데이터를 원하는대로 가져와서, 이것저것 다 만들어볼 생각이다. 이를 위해 ELK + Filebeat까지 구축하여, 필요한 데이터들을 넣어(기본적으로 로그) 이를 시각화하는 장기 프로젝트로 만들 생각이다. (ELK를 통해 분석된 데이터들이 있을 것이므로..) ELK까지 섭렵해서 하려고하는 것은 아니다. 다만 장기적으로 데이터를 이것저것 분석하는 경험은 좋은 경험이 될 것 같다.

좋았어.. Back-end, 한번 맛깔나게 만들어 보자구-


ELK에 대해서

위에 쓴 것 처럼. ELK구축을 진행해보았다. 고생을 좀 했고. 결론은 실패다. 실패의 이유는.. 설치는 했지만, 각 시스템을 연결하지 못했기 때문이다. Elastic Search(이하 ES), Log Stash(이하 LS), Kibana(이하 K), Filebeat(이하 F) 각각은 설치했지만.. 로그파일을 퍼 나르도록 하지 못했고, Log Stash에서 Elastic Search로 데이터를 전송하지 못했다.
우선 실패 케이스 체크

case 1.
- docker로 ELK설치 및 nginx 서버 위치에 filebeat 설치
- docker를 통해 설치했더니 네트워크설정을 마무리 못해.. 외부 접근을 못함..
멋모르고 도커로 설치했더니 어려움..
case 2.
- ES + K 서버 1
- LS + F 서버 2
서버 2에서 서버 1로 데이터가 전달이 안된다.. 아마도 ES의 방화벽 문제 같았다..
서버 지식 부족이 원인이었던거같고, 해결하기에는 너무 많은시간이 들어가서 우선 제외했다.

결국 실패했고, 2일이 소비되었다. 이 경험을 토대로 API 구축 후, 다시 시도할 예정.


개발자로 일하면서 산다는 것

이번주도 개발일을 하면서 한주를 보냈다. 이번주에는 회사일은 열심히 했는데, 개인 일은 진행하지 못했다. 강의를 듣느라 시간을 다 보냈음.
나는 개인 프로젝트를 진행하고 있다. 그런데, 기한이 없는 일이다보니..라는 핑계와 함께. 이번주는 진행을 하지 않았다. 난 이걸 즐기고있진 않은가보다..라는 생각이 든다. 후.. 생각이 나긴 하는데, 작업으로까지 이어지지는 못했던 한주였다. 왜 그랬을까?
생각해보면 이번주 회사에서 내 회사일이 잘 맞는 것 같아, 회사일이 즐거워서 일수도. 아님 긴 출퇴근 시간의 여파로 인한 게으름. 또는 그냥.
난, 시키면 하는 개발자로 살기는 싫다. 원하는 것은, 내 주변의 필요한 곳의 프로그램을 만들어주는 것. 대기업에서도 한번 일해보는 것. 디지털 노마드를 실현하는 것.
그러기 위해 열심히 강의를 듣고. 원하는 프로젝트로 진행하기 위해 진득하니 계획을 해본다. 기회는 주어졌는데 그 기회를 놓치는 개발자가 되지 않아야하지 않겠나..
근데 결국, 이번주는 회사에서 해야하는 일을 한 개발자로 살았다. 이것도 개발자긴 해.. 다른 개발자들은 어떤 한주를 보냈을까.

profile
어제보다 더 나은 오늘 만들기

0개의 댓글