본문 바로가기
  • 개발 / 공부 / 일상
Project

(Project) 230417 ~ 230421 주간 회고록

by JJeongHyun 2023. 4. 22.
반응형

https://developerjjh.tistory.com/185

Intro)

3주 차이다. 보통이라면? 여태 R&D를 하고 요번 주부터 구현을 들어가는 걸로 한다는데, 우리는 계속해서 R&D와 구조 설계, 코드 구현 중이었다. 슬슬 기능 완성되면 Merge 하고 dev 브랜치에서 봐야 하는데....

 

230417)

3번째 SPRINT를 진행했다. 

주요하게 이야기한 것은 전체 프로젝트 간 페이징 설계 및 상호 페이지 간에 데이터 흐름 및 설계라고 했다

거기에 API문서 작성할 때 데이터의 자료형까지 상세하게 적어달라고 전파하고, 주말에 했던 내용이 있다면 추가적으로 정리해서 문서화 거기에 포지션별로 나눠놨던 라이브러리 설치내역을 하나로 합치겠다라고 했다

그렇게 이야기를 하면서 SPRINT를 마치고 내 포지션으로 해야 할 일을 정리했다

그중에서 상세페이지를 반환하는 API를 만드는 걸로 시작했다

oracleId를 넣어서 요청을 보내면 해당 LP의 상세정보를 반환하는 API를 생성했다.
전체 목록을 필터 하는 과정에서 그냥 req.body로 넘겨온 oracleId 조건을 하나 추가해서 반환하되, 메인페이지에서 전체목록과는 다르게 그냥 API로 반환되는 값 전부를 내보냈다

이후 저번에 했던 TokenPrice에 대한 정보를 추출하는 방법을 고민했다

일단, 입력할 때마다 해당하는 토큰의 가격을 가져오는 방법을 선택
즉, 토큰 Swap시 바꾸고자 토큰의 가격을 입력하면 페어 된 토큰이 입력한 토큰에 시세에 맞춰서 자동으로 값이 입력돼야 한다
그러기엔 입력한 토큰에 값에 따라서 시세에 맞춰서 계산하려면 토큰들의 가격을? 시세를 알아야 한다
그리고 토큰의 가격을 가져오는 API는 분당? 시간당 요청을 받는 수가 제한되어 있기 때문에 한번 요청을 했던 정보들은 DB에 저장을 해뒀다가 가져오는 방식으로 요청에 대한 제한을 피해보려고 한다

그래서 일단은 단순하게 전체목록에서 존재하는 tokens배열 자체를 req.body로 넘겨서 해당 녀석들의 id, 이름, symbol만 반환되는 정보에서 price정보를 추가해서 반환되게 만들어 놨다
이후 작업들은 오늘 작업량이 아니기도 하고 재혁이도 있으니까 천천히 달리고 나는 나머지 작업을 먼저 빠르게 쳐볼까 한다 
내일 한번 시도해볼까 한다. 현재까지 작업된 프트에다가 나의 백엔드 코드라도 합쳐서 dev를 완성을 시켜 볼까 한다

 

 

230418)

어김없이 시작되는 화요일 ㅋㅋㅋ 오늘은 나랑 같은 포지션인 인원이 제일 빨리 왔다. 다들 놀랬다. 덕분에 우리 팀은 정규 수업 시간 25분 전에 60%가 출석돼버렸다.
이후 9시가 되고 10분에 우린 Scrum을 진행했다
여러 가지를 생각하면서 문서를 뒤적뒤적했다. 그래서 발견한 몇 가지를 이야기를 했다. 어제 이야기한 SPRINT에서 추가 사항이 몇 가지가 있다라고 하면서 운이 뗐다. 포지션 별로 설치한 라이브러리를 내가 보았는데 3개로 나눠져 있어서 조금은 불편하다고 느꼈다
이에 나는 google sheet로 하나로 통합하겠다고 이야기하고 그 통합은 내가 할 테니 이후 작성만 해달라고 전달했다
그리고, 늦어도 요번 주 금요일에는 dev 브랜치에 합쳐서 한 컴퓨터에서도 3개의 포지션별로 완성한 기능들을 볼 수 있었으면 하는 바람이 있다고 이야기했다. 이에 다들 Pull Request에 익숙지 않을 테니까 본인이 파일 화해서 이미지와 함께 동작원리를 업로드하겠다고 전달했다.
그렇게 하고 특이사항이나 건의사항 등 딱히 있지 않아서 30분 안에 Scrum회의는 종료 됐다.
ㅋㅋㅋ 그리곸ㅋㅋ 어제 올렸던 ppt파일을 보지 못하신 거 같아서 재업로드 하려고 했는데.... 과연 보실까..라는 생각에 올리지 않았다
그렇게 각자 다들 알아서 본인의 길을 달리고 있을 때.. 담당 교수님이 나를 불렀다. 결론은 요번 주 금까지 지금 Contract 쪽에서 생각하는 기능까지만이라도 구현돼서 볼 수 있겠냐 라는 말씀을 하셨다
복잡했다.... 후? 이게 될까? 되야겠다. 이게 더 이상 내부프로젝트가 아니라 교수님도 우리를 생각해서 조금은 버겁게 말씀하신 거 아닐까 라는 생각에 빠듯하지만 가능할 거다라고 이야기 했다
그렇게 교수님들과 말을 나누고 와서 Scrum때 이야기 했던 금요일 Merge는 바로 부수어버리고 오늘 바로 dev에 통합부터 진행했다
각 포지션별로 했던 작업을 하나에  합쳐서 내 자리에 봐야 뭔가 흐름도 더 깊게 볼 수 있고, 또한 첫 통합과정이 오래 걸릴걸 알기에 
되도록 빨리 진행하려고 했다. 점심 전 마지막 교시에 오후에 통합하겠다는 이야기를 하고 급하게 지금 하는 기능이 남았더라도 점심 먹고는 마무리해달라고 이야기를 전파했다. 속으론 지금 당장 하고 싶었지만.. 참고 다행히 프론트 포지션 인원 중 한사람이 자기 먼저 Merge해도 되겠냐고 해서 반가웠다. 마무리 하고 나니 점심 시간 이였다
점심 이후 나머지 프론트 포지션 인원 진행 했다. ㅋㅋㅋㅋㅋㅋ react 껐다가 켜봐 했는데 'yarn start' 갈기는 거 보고 쓰러질 뻔했다. 분명히... 컨벤션 할 때 react/express 둘 다 npm 환경이라고, aws-amplify yarn 지원 안된다고 그렇게 이야기한 거 같은데!!!!!!!!!! 시원하게 yarn.lock 날리고 node_modules도 같이 날리고 npm install 했다
차근차근 한 명 한 명 하고 나니 3시간이 지났다 후... 
이후 solidity를 포함해서 프론트에서 백엔드 > Contract 등 데이터 흐름을 이야기하는데 멍 하게 듣고 있는 나를 보았다.. ㅋㅋㅋㅋ 위에 정리한 내용으로 이야기해보고... 일단은 beefy API에서 가져온 목록들처럼 데이터를 가져올 수 있는지, 상세 LP정보들처럼 깊게 가져올 수 있는지, 가져올 수 있다면 어떤 메서드를 호출해야 하는지, 그 호출 간에 어떤 데이터를 넘겨줘야 하는지 등 
여러 가지로 회의를 진행해보려고 한다. 

 

230419)

어제 들었던 자체 발행하는 LP들에 대한 Solidity파일을 익숙해지려고 한다. ㅋㅋㅋ 보자마자 어지럽긴 했다. 첨부터 손댔던 영역? 코드? 가 아니어서 와.. 와.. 이 소리만 일단 했던 거 같다
그래서 비교적으로 주석이랑 설명들이 존재해서 조금은 읽혀서 다행이지... 난 Contract 포지션 인원들이 무서워지기 시작했다 ㅋㅋㅋㅋㅋ
지금 와서 보니까 오전에는 안 되는 인프라 Websocket주소 박아 놓고 테스트하느라 안돼서 날렸던 거 같다
아니 분명히 LP가 만들어졌는데 왜, 조회가 되지 않을까 라는 고민으로 보낸 거 같다... 결론은 다른 테스트넷을 지원하는? ploygon 테스트넷을 지원하는 Web3를 연결해서 조회되는 걸 보았다
그러면서 중간중간에 프트 포지션 두 명이서 하나의 브랜치를 만들어서 합쳐보고 확인해 본다고 해서 Merge 하는 거 구경 좀 하다가, 또 중간중간에 Contract 인원들한테 가서 물어보고, 또 중간중간에는 같은 포지션 인원이랑 상의도 하는 등 이래저래 하다 보니까 하루가 다 간 거 같다
그래서 다행인 건 오늘 하려고 했던 자체발행 코드 흐름을 파악하고 해당 녀석의 반환 값을 db가 연결됨과 동시에 저장한 후 전체 목록을 반환해 주는 API 쪽에 그 값들도 
합쳐서 반환한 거에 만족한다. 내일은 이 값 완벽하게? 보기 좋게 만들어 놓고 상세 페이지나 등등 기타 외 작업들을 이어 가야 할 거 같다
되면 dev에 적용도 시켜놔야딩

 

230420)

오늘은 하루가 바빴다. Staking Contract에 맞춰서 메서드의 encodeAbi() 값을 데이터에 전달해서 트랜잭션을 발생할 수 있게 데이터화해주는 라우터 설계를 마무리를 할 생각이었기에.
이런 일정이 이런 화를 불러올 줄은 몰랐다.
결론은 7개의 라우터를 만들었다. 어떤 과정을 하기 위한 승인 하는 라우터를 포함해서 만들다 보니 7개 돼버렸다
그러고 기타 쓰지 않는 라우터나 함수들을 정리하고 먼저 dev에 합쳐놨다. 그리고 나니 프론트쪽 인원들도 어느정도는 구조와 페이지네이션 등 기타 작업들이 얼추 끝이 난거 같아서 바로 가야하는 일이 아니라면 dev에 merge하자고 이야기를 했다. 두 인원다 동의해서 조금 오바하는 시간까지 남아서 한명한명 merge를 시작했다
amplify 파일이 너무 크다 보니, 나도 프론트 인원들도 대충 보고 아 여기네, 아 여기네 하다 보니 대충대충 넘어간 게 있었나 보다
그리고 우리는 당연히 잘 됐겠지 하고 이따 보겠다. 오늘 하루 고생했다고 이야기를 하고 저녁 식사를 하러 갔다
다녀와서 나는 dev에서 확인해 보려고 실행시켰는데... 아니 내가 봤던 결과물이랑 너무 달랐다. UI/UX라던지, 페이지네이션이라던지 그리고 데이터 출력이 되지도 않고 axios 폴더는 왜 저기에 따로 있는지 등 여러 오류들을 발견할 수 있었다
내가 신경을 쓰지 못해서 이런 건가..? 너무 방치를 했나? 아니면 내가 한 말을 귀담아듣지 않는 걸까? 여러 가지 행동에 대한 스스로 피드백을 하기 시작했다
내일은 이거에 집중할 듯하다. 같은 포지션한테는 미안하지만, 내일은 프트쪽에 아예 붙어있어야할 듯하다

 

230421)

 

오늘은 프론트 인원들이 오길 기다렸다, 자리를 그들 사이로 가려고 했기에
그래서 오자마자 옮기고 어제의 상황을 전달했다. 이런저런 이야기들과 이러면 내가 이렇게 오해할 수밖에 없다고 등 내가 느낀 점을 말해 주었다
다행히 잘 수긍했으면서, 타당한 이유들도 있는 것도 있었지만 여전히 아직도 숙지 못한 상황이 있는 거 같아서 재전달 했다
그렇게 회의랑 Scrum이 끝이 나고, 프트 인원들이랑 같이 작업을 시작했다.
같이 했다기보다는 이 두 사람이 하는 걸 가까이 보는 것뿐이었던 거 같다. 오전에 말했던 내용들 수정하고 코드 안정화 된 후에 merge가 필요하면 하는 거 보고, 하다가 막히는 부분 있으면 같이 고민해 보면서 해결하고, 좀 애매하거나 헷갈리는 부분 있으면 다시 이야기해 주고 등 
너무 두 사람을 방치 했나 라는 생각도 들었다. 그래서 어느 상황을 만나면 뭔가 이 두사람 스스로 판단해서? 생각해서 마무리 짓는 느낌이었다
거기에 검색 기능이 되는 API를 만들었다. 이 전에 검색기능 만들었던 걸 참고해서 완성시켜놨고, 어제? 오늘? 에 이야기했던 내용 토대로 Contract 쪽 부분이 수정돼서 보다 좀 편리하게 LP의 심벌을 가져올 수 있어서 거기에 맞춰서 DB에 저장하고 칼럼들 수정함으로써 거기에 맞게 sequelize구문도 수정했다.