1 리뉴얼을 시작하기 전
1.1 리뉴얼을 하게 된 계기
리뉴얼을 하기 이전 첫 개발 당시 앱을 개발하는 데에 있어서 필요한 대부분의 기능들을 학습하고 성장하기 위해 개발하게 되었다.
하지만 메타버스 개발 회사로 취업을 하게 된 후 더 이상 코드 유지보수가 이루어지지 않고 2년 정도 지난 시점이 되니 더 이상 빌드가 되지 않을 정도로 오류가 발생하게 되어 버렸다.
앞으로도 앱 개발을 지속적으로 하고 싶은 마음과 성장 욕구가 있기 때문에 그 동안 뒷전이 되었던 React Native를 다시 상기 시키는 발판으로 삼기 위해 cube 앱을 리뉴얼하는 것으로 새로운 시작을 하고 싶었다.
- 내가 생각하는 개발자
개발자는 좋은 서비스를 만들어내기 위해 개발을 편하게 하려고 하기 보단, 이 구현 방식 또는 이 코드를 사용했을 때 보안적인 부분, 성능적인 부분을 끊임없이 고민해야 한다고 생각한다. 그렇기 때문에 이번 리뉴얼은 한 번이라도 회사를 다녔던 개발자로써 그간의 개발 경험과 프로젝트 경험을 거름으로 삼아 보다 좋은 개발자로써 리뉴얼을 진행하고자 한다.
- 개발(리뉴얼)에 앞서
이전에 cube 앱을 개발할 당시는 React Native에 대한 빠른 성장을 위해 Back-End 쪽을 많이 고려하지 않고 최소한만 구현했었다. 회사 업무를 통해 개발 경험을 어느 정도 해본 현재 시점에서는 이전 보다 좋은 코드를 보다 빠른 시간 내에 작성할 수 있어야 할 것이다. 그렇기 때문에 이미 React Native로 개발해본 cube의 소스 코드는 참고만 하고 새로 작성하되, Back-End에도 좀 더 신경쓰려고 한다.
전에는 React Native를 이용한 Front-End 개발자가 되고 싶었지만 DB를 다루시는 아버지의 영향으로 DB를 많이 접해봤기 때문에 Back-End도 상당히 중요한 부분임을 알고 있다. 그렇기 때문에 풀스택 개발자가 되고 싶어졌다. 하지만 Front도, Back도 어느 하나 잘하지 못하는 어중간한 풀스택 개발자가 되고싶진 않다.
2 개발(리뉴얼) 시작
2.1 Back-End 환경
2.1.1 Database Server
- Server: Proxmox VM 122번
- OS: Ubuntu 22.04.1 LTS
- Database: MariaDB
- 외부 접속: DDNS(duckdns.org), Port-Forwarding, Iptables
- DBMS: DBeaver
2.1.2 API Server
- Server: Proxmox VM 122번
- OS: Ubuntu 22.04.1 LTS
- Stack/Library: nodejs express (port: 80)
- 외부 접속: DDNS(duckdns.org), Port-Forwarding, Iptables
- Editer: VScode
2.1.3 Image Server
- Server: Proxmox VM 122번
- OS: Ubuntu 22.04.1 LTS
- Stack/Library: nodejs express (port: 8080)
- 외부 접속: DDNS(duckdns.org), Port-Forwarding, Iptables
- Editer: VScode
2.2 Front-End 환경