오늘의 TIL 은 어떤 것을 배웠나 라는 것을 적는 것이 아니라 이번에 내일배움캠프 본캠프를 시작하면서 첫 주차에 진행한 프로젝트를 하면서 느낀점을 적을것이다.
프로젝트 소개
이번주차에 진행한 프로젝트는 같은 조에 편성된 인원들에 대한 간단한 소개 페이지를 만드는 프로젝트였다. 프로젝트 자체의 규모는 크지 않지만 사전 캠프에서 공부하고 배운것들에 대해서 전체적으로 사용할 수 있는 좋은 프로젝트라고 생각한다.
아래 사진은 프로젝트를 진행하는데 사용하는 페이지의 디자인 초안이다.


주 기능은 메인 페이지에서 각각의 팀원들 사진을 누르면 이동하는 방식으로 설정 하였고, 상세 페이지에서는 팀원들에 대한 간단한 소개를 하는 페이지로 구성 하였다.
실제 만들고 난 후 사진은 아래와 같다. 처음에 지정한 디자인 초안과는 조금 다르지만 그래도 동작하는 기능은 동일하게 설정을 해두었다.



우선 맨 왼쪽의 사진은 메인페이지 부분으로 자신만의 캐릭터를 지정해 설정하였고, 캐릭터 사진을 누르면 중앙의 사진처럼 실제 본인의 프로필사진, 이름, 나이, 지역, mbti, 역할 및 깃허브와 블로그 링크로 이동하는 버튼 및 정보를 보여주는 페이지로 구성했다. 마지막 페이지는 프로젝트를 진행하다보니 내용을 수정하는 페이지도 만들고 싶다는 생각에 편집 기능까지 추가 하였다.
프로젝트 중 위기 상황 및 해결 방안
프로젝트를 진행 하면서 위기 상황이 많지는 않았지만, 없다고는 할 수 없다. 우선 화면을 전환하는 과정에서 데이터를 담은 페이지를 만드려면 각각의 개인 페이지를 따로 만들어야 하는 문제가 생겼는데 이는 Information 이라는 모델을 하나 만들어 데이터를 미리 저장 시켜두고, 버튼에서 데이터를 넘겨주면 Information 모델에서 정보를 끌어와 한 페이지에서 각각의 다른 데이터만 넣어주도록 변경을 하였고, 이런 방식을 채택하여 진행하니 상세 페이지를 한개만 만들어 두고 사용할 수 있었다.
또 다른 문제는 데이터를 수정하러 가는 수정 페이지와 상세 페이지에서 문제가 발생했는데, 바로 데이터 수정을 해도 저장이 안되고 원래 기존의 데이터가 나오는 현상이 발생했다. 그래서 모두 고민하며 어떻게 해결해나갈지 많은 고민을 하던 도중 팀원중 한분이 Information 모델에서 데이터를 저장한 후 들고다니는 객체의 변수가 상수인것을 발견했다... 변수가 아니라 상수로 지정을 해두어 값이 바뀌지 않았던 것이다... 그래서 빠르게 변수로 지정하고 실행시켜보니 데이터가 잘 바뀌는 것을 확인할 수 있었다... 기초부터 탄탄히 다져야겠다는 생각이 들었다...
프로젝트를 진행하면서 느낀점
팀원들 전부 처음 진행해보는 프로젝트라 막막한 느낌도 있었지만 다행히 빠르게 역할 분담을 하여 효율적인 개발을 진행할 수 있었다. 또한 새로운 언어로 개발을 진행하는 것이라 코드에 대한 이해도가 낮아 프로젝트를 어렵게 진행하였지만, 그래도 팀원들과 함께 진행하면서 모르는 부분에 대해서는 팀원들이 알려주고, 내가 아는 부분에 대해서는 팀원에게 공유해주고 하면서 서로 성장한 뜻 깊은 시간이었고 재밌는 프로젝트 경험이었다.
자세한 코드및 설명이 담긴PPT는 GItHub 에서 확인할 수 있다.
GitHub - sh990920/FirstSwiftProject
Contribute to sh990920/FirstSwiftProject development by creating an account on GitHub.
github.com
'TIL(Today I Learned)' 카테고리의 다른 글
| 2024.06.05 Today I Learned (0) | 2024.06.05 |
|---|---|
| 2024.06.04 Today I Learned (0) | 2024.06.04 |
| 2024.05.29 Today I Learned (0) | 2024.05.28 |
| 2024.05.27 Today I Learned (0) | 2024.05.27 |
| 2024.05.24 Today I Learned (0) | 2024.05.24 |