안녕하세요 아해 팀 new멤버 김민수입니다. 아해 팀에 들어와서 처음으로 한 활동이 해커톤이었고, 생애 첫 해커톤인 까닭에 긴장과 설레는 마음을 가지고 임했었네요. 이번 해커톤을 하기 전 기대했던 것은 관심 있던 기술들을 써보고, 다른 사람들의 코드를 봄으로서 안목을 넓히자는 것이었습니다. 저는 백엔드의 Export 부분과 프론트엔드를 맡아서 프로젝트를 진행했습니다. 프론트엔드는 Angular4를 사용했습니다. 지금부터 프론트엔드 작업내용과 이슈를 공유하겠습니다. 아래는 저희 프로젝트 화면입니다. 보시는 바와 같이 로직은 Field Name과 Type을 필요한 만큼 동적으로 생성하여 값을 넣고, 원하는 추출 타입과 수를 정한 뒤 Preview를 클릭하면 서버에서 데이터를 가져와 보여줍니다. 먼저, Angular는 Component-Based Development(이하 CBD)이기 때문에 Component로 나눠서 생각을 해보겠습니다. 총 4개의 Component로 구성되어있습니다.
- main : 전체와 Header를 나타내고 있고, 최상위 Component입니다.
- form : Field Name, Type, rows, exportType의 값을 서버로 전송하는 역할을 합니다.
- fields-wrapper : field들을 동적으로 생성 및 삭제하는 역할을 합니다.
- field : Field Name과 Type 값을 가지고 있습니다.
제가 맡은 Field와 이것을 감싸고 있는 Wrapper에 대해 소개 드리겠습니다. 로직에서도 Component의 구조가 명확히 나타나네요. wrapper 안의 field의 구조로 말이죠. field를 생성, 삭제하는 로직을 설명하겠습니다.
- 조급하면 시선이 좁아지니, 여유를 가져야 한다.
- 알지 못하거나, 새로운 기술을 사용함으로써 다양한 안목이 생길 수 있다.
- 무작정 코딩하기보다는 클래스의 역할과 책임을 정의하는 설계를 통해 OOP를 잘 활용해야 한다.
이런 좋은 기회와 경험을 준 아해 팀원 분들께 감사의 말씀을 드립니다.