2주차 회의록 - 42-JMJ/iOS-App-Project GitHub Wiki
:lemon: 4월 27일 (월)
끝냈습니다
- 1주차 진도평가(양호) 및 2-3주차 일정검토
- 프로그램참여 신청명단에 누락된 상황 조치
- 스태프님께 문의해서 Program42 슬랙채널 초대받고 Googledocs 명단에 JMJ팀 추가 (O)
- 슬랙-깃허브 연동 및 [README.md 양식]((https://github.com/42seoul-jonghun/program42_test_sample/blob/master/README.md ))에 맞게 수정 (O)
- 온라인 중간미팅 주제 관련 사전 논의 (이번주 수요일 @13:42, Zoom)
- 온라인 중간미팅 참석대상자 문의
- 답변내용: 팀장 필참, 팀원은 선택
- Today.Storyboard 구현 (#20)
- 작성날짜(오늘날짜) 표시
- placeholder 표시/감추기
- 텍스트뷰 외 터치 시 키보드 감추기
배웠습니다
- 시뮬레이터 녹화하는 방법 📷
- 터미널에 입력
xcrun simctl io booted recordVideo ~/simulator.mov
- 터미널에 입력
고민입니다
- 목표한 기능을 한번에 PR할 경우 (ex.목요일에 한번) 코드가 길어져 원활한 리뷰가 어렵고, 또 격일로 reviewer가 바뀌기 때문에 격일로 PR할 경우 한명에게만 리뷰를 받는 문제가 발생
- :gem: 깃허브 협업 룰 추가 :gem: 해서 해결
- 당일 작업사항은 당일에 꼭 PR합니다
- :gem: 깃허브 협업 룰 추가 :gem: 해서 해결
- vnc환경에서는 Cocoapods 설치가 안되는 문제 발견
- Realm 대체 데이터베이스 관리시스템 선택해야 함
- 대체할 프로그램으로 Core Data, SQLite 검토
:lemon: 4월 28일 (화)
끝냈습니다
- Realm 대체할 프로그램으로 Core Data, SQLite 중 SQLite 선택
- SQLite는 다양한 운영체제 환경에서 사용할 수 있음
- SQLite로 인해 생성되는 각 데이터베이스는 하나의 파일로 구성되어 관리가 용이함
- 주로 개발용 및 소규모 프로젝트에 적합함
- 런치스크린 관련 저작권 확인
- 런치스크린 시안 공유 (#24)
- DataBase protocol과 Article struct 선언 (#23)
- id / date / question / answer로 구성
- Today.Storyboard 구현 (#25)
- 텍스트뷰가 비어있지 않을때만 저장버튼 활성화
배웠습니다
- 런치스크린에서도 custom font 적용시키는 방법 (by 준서)
- imageView에서 View-Content Mode에서 아무거나 다른 옵션 선택 후 다시 원래 옵션 선택하면 적용됨
고민입니다
- 런치스크린 디자인시안 다 좋아서 고민
- 언제든 수정이 가능하니 우선 준서가 하나 골라서 master에 올려놓기로 함
- 전체 View의 통일성을 위해 런치스크린에서 사용한 font를 다른 View에도 적용해야함
- displayView 추가 고려
- 답변 작성하는 화면보다 더 깔끔하게 내용을 확인할 수 있고, 작성이 끝난 나의 답변을 제 3의시각으로 다시 볼 수 있는 기회도 됨
- (변경 전) 답변작성->저장버튼->ListView로 전환
- (변경 후) 답변작성->저장버튼->displayView로 전환
- 사용자가 질문 또는 답변에 어울리는 이미지를 선택해서 배경화면을 꾸밀 수 있는 기능도 추가로 접목한다면 더욱 다양한 경험을 제공할 수 있음
- 다음주에 구현해볼 수 있을 것으로 예상되나 우선 진행중인 기능 구현 마무리되면 다시 논의
- 답변 작성하는 화면보다 더 깔끔하게 내용을 확인할 수 있고, 작성이 끝난 나의 답변을 제 3의시각으로 다시 볼 수 있는 기회도 됨
- "(0/500자)"와 같이 현재 작성된 글자수 및 전체 글자수를 알려주는 기능 추가 고려
- 글자수 제한은 기능상 필요하지 않아 전체 작성한 글자수만 보여주는 기능도 괜찮을 듯함
- 역시 우선 진행중인 기능 구현 마무리되면 재논의
- 질문목록을 db 담아서 사용하는 방법 고민
- 가능한 경우
- 1번: 서버에서 db를 받아와서 사용하는 방법
- 2번: 파일을 앱에 넣고 db를 사용하는 방법
- 2번으로 결정
- 2번의 경우 앱을 업데이트 할때까지 질문이 바뀌지 않지만 미리 충분한 질문 pool을 확보해논 상태라면 서버없이 구현할 수 있기 때문에 2번으로 결정
- 가능한 경우
:lemon: 4월 29일 (수)
끝냈습니다
- @1:42 온라인 중간미팅
- 제출 후 평가방법 문의 답변내용: 온라인 평가로 진행
- 간단한 기능부터 우선 구현하고 add-on 형식으로 붙여나가서 성취감을 가질 수 있도록 추진
- 테스트용 db 구현 완료 (#27)
- List 스토리보드 디자인 구현 완료 (#28)
- 런치스크린 구현 완료 (#29)
배웠습니다
- 터미널에서 스위프트 버전 확인하는 명령어
xcrun swift --version
- 싱글톤 디자인패턴
고민입니다
- today.storyboard와 selected.storyboard의 레이아웃이 동일함에도 중복되서 존재하는 문제
- today.storyboard를 다시 활용하는 방법으로 변경
- 런치스크린 표시하는 시간
- 가능한 방법
- 1번 : 5초 정도로 길게 (현재 적용)
- 2번 : 3초 이하로 짧게
- 2번으로 선택
- 넉넉한 시간동안 앱의 컨텐츠에서 추구하는 천천히 생각하는 시간을 갖는 분위기와 맞추는 것도 좋지만 너무 길면 사용자가 자칫 앱의 반응속도가 느리다는 인식을 갖거나 답답해할 수 있음
- 가능한 방법
:lemon: 4월 30일 (목)
끝냈습니다
- 전체일정 중간점검 및 개별목표 공유
- 재두 : 이번주까지 sqlite 부분 완성 목표
- 미혜 : 이번주까지 today.storyboard 완성 목표
- 준서 : 이번주까지 list.storyboard완성 목표
- Today.Storyboard 구현 (#30)
- ListView에서 cell 선택시 새로운 view로 연결하지 않고 기존의 TodayView 활용하도록 변경
- db연동해서 select함수로 질문 가져오기
- 회의때 얘기했던 스크롤 위치, 테두리 색상 등 반영
- 리드미파일 및 위키 현행화 완료 (#33)
- 스태프분들/멘토분들께서 진행상황 보실 수 있도록 "매주 목요일 23:59까지 기록"
- 온라인 미팅때 리드미에 모든 것을 기록하기보다 목적에 맞게 작성하는게 좋다는 조언 참고
배웠습니다
- 리드미파일 작성목적 및 포함사항(권장)
- What kind of project it is
- How it can be useful
- How to install and use it
- List of authors
- Guidelines for contributing
- License notice
- Whatever else the developers would want other people to read.
- 참조: purpose of readme
고민입니다
- 최종제출 때 보여줄 매개체
- 꼭 영상을 제출 해야되는건 아니지만 프로토타입 보여줄 매개체 필요(영상제출 관련 문의 답변내용, 4/29 온라인 미팅)
- 시뮬레이터로 촬영하는 방법이 효과적?
- 다른 어플 프로모션 영상 찾아보기
:lemon: 5월 1일 (금)
끝냈습니다
- DB관련 자주 쓰이는 함수 추가 (#35)
- Date를 String으로, String을 Date로 변환하는 유틸 함수 추가
- Today.Storyboard 구현 (#40)
- alert함수작성 및 doAction()에서 ListView로 연결되지 않던 문제 해결
- 사용자 답변 작성내용을 db에 update()하는 btnSaveTouchOn함수 작성
- animate 효과 추가 (회의에서 의견나누고 다시 수정)
배웠습니다
- Swift 5.1의 Self키워드 기능 참조
Self: 자기 자신의 동적 클래스(dynamic class)를 가리키는 키워드- Swift 5.1에서는 상속받은 클래스에서 정의하는 class 멤버를 참조할 수 있도록 Self 키워드에 능력 추가됨
- 단, Swift 5.0에서는 Self를 사용하면 컴파일 에러가 뜨므로
Self.이 아닌클래스명.으로 작성해주어야 함
고민입니다
- 매일 짝수/홀수일별로 PR리뷰어가 바뀌어서 헷갈리는 문제
- PR템플릿 추가 (#38) 해서 해결
- PR작성 화면에서 자체 깃컨벤션에 따른 리뷰어를 자동으로 안내해주는 유용한 기능!
- 3주차 과제 설정 및 역할분담
- 현재 각자 진행하고 있는 사항을 모두 완료한다면 그 다음 우선 구현해야할 사항은 DisplayView
- DisplayView를 2~3명이서 쪼개서 구현하기에는 작업단위가 애매함
- 월요일까지 진행상황 보고 다시 고민
