티스토리 뷰

반응형

설날에 개인 해커톤을 해보자고 계획했고 현재 진행중인데 어려운 점이 많은 것 같다. ㅜ.ㅜ

 

일단 LINE의 메신저와 동일한 디자인으로 만들고 있는데, 어제계획은 서버 통신을 하기 위한 간단한 서버 구축을 하고 UI작업을 마무리 하는 것 이었는데, 얼추 목표는 달성 했다.

UI 작업에 있어 어려웠던 부분은 채팅방을 UICollectionView로 만들었는데, 메시지의 길이에 따라 셀의 높이를 동적으로 변화해줘야하는 부분이 어려웠던 것 같다.

UITableView로 만들면 이러한 작업이 없어 편하게 만들 수 있었지만 굳이 UICollectionView를 선택한이유는 실제 LINE에서 UICollectionView를 사용한다는 아래의 글 때문이었다.

engineering.linecorp.com/ko/blog/ios-refactoring-uicollectionview-1/

 

UICollectionView를 이용한 LINE iOS 대화방 리팩토링 - 1 - LINE ENGINEERING

LINE의 대화방 화면은 사용자가 가장 많이 사용하는 화면 중 하나이며 새로운 기능이 계속 추가되고 있습니다. 그에 따라 코드가 점점 복잡해지면서 최근에 리팩토링을 진행했고, 그 과정에서 UIC

engineering.linecorp.com

위의 글에서 테이블 뷰에서 컬렉션 뷰로 리팩토링 하는 이유는 아래와 같았다.

실제로 컬렉션 뷰는 FlowLayout을 잘 사용하면 뷰를 원하는대로 만들 수 있어서 테이블 뷰 보다는 좀 더 자유로운 느낌이다. 근데 문제는 셀 높이를 구하는 방법이었다.

메신저의 경우 내가 입력한 메시지의 길이가 길어짐에 따라 셀의 크기도 커져야 했다.

채팅 리스트의 경우엔 위와 같이 셀의 크기가 모두 일정하기 때문에 큰 문제가 되지 않았지만 문제는 채팅 창에서 발생했다.

물론 지금은 문제를 어느정도 해결한 상태라 잘 나오는 것을 볼 수 있다.

근데 가끔 위와 같이 하나의 셀이 너무 크게 계산되는 오류가 발생한다.

오늘은 셀 높이를 계산하는 방법을 좀 더 알아보고 서버 통신을 간단하게 해볼 생각이다.

 

우선순위는 서버 통신에 두려고 한다.

일단 계획한 바로는 SQL을 통한 간단한 DB구성으로 메시지를 주고받을 수 있게 하는 것인데..

어렵겠지만 열심히 해봐야겠다.

 

아! 그리고 이번 프로젝트는 bitbucket과 source tree를 사용하여 형상관리를 해보고있다.

 

아래는 메신저 앱의 git이고

아래는 메신저 서버의 git이다.

이렇게 하니 확실히 관리하기가 쉬운것 같다.

일단 테스트용도로 막 코딩한것을 되돌리기도 쉽고...?

어떤 부분에 어떤 작업을 했는지 commit message로 남길 수 있어서 알아보기 쉬운 장점도 있다.

물론 혼자하는 프로젝트라 크게 필요한 부분은 아니지만, 다른 사람과 협업을 할 땐 꼭 필요한 툴이라고 생각하게 된다.

또한 프로젝트 진행을 보다 재미있게 할 수 있는 것 같다.

뭔가 커밋 메시지가 쌓일 수록 뭘 했다는 느낌?ㅋㅋㅋㅋ

 

어서 커밋 메시지를 늘려서 완성해야겠다..

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함