Search

14주차 멘토링

진행 일자
2023/12/21
피드백 여부
피드백 완
이종원
• 장기 실행 토큰에 대한 요청에는 앱 시크릿 코드가 포함되어 있으므로 절대 클라이언트 측 코드 또는 역컴파일될 수 있는 앱 바이너리에서 호출하지 말고 서버 측 코드에서만 호출해야 합니다. 다른 사람에게 앱 시크릿 코드를 공유하거나 코드에 노출하거나 클라이언트에 전송하거나 기기에 저장하지 마세요.
위의 문장에 대한 해석이 궁금합니다!
토큰 갱신하는 법 https://roundfigure.tistory.com/36
정남훈
실무에서 진행되는 Unit test, UI test 과정
Unit test 범위
테스트가 꼭 필요한 기능
적절한 커버리지

멘토링

장기실행토큰
토큰에는 앱 시크릿 코드!
30~90일 토큰을 가져가고 > 토큰 만료시키고 다시 리프레쉬 토큰
“123dsfjkahkfejkfhjke123” → 키값 / 토큰 탈취 가능
Chat-GPT 4를 사용하고 있음!
API를 앱에서 활용할 수 있음
키값을 이용함 (개인별로 발급받은 고유한 키값)
앱 시크릿 코드를 다른 사람과 공유할 수 있는 상황을 만들지 말자!
클라 → 앱에서 담고있다가 사용하지 말자! (전송하지 말자!)
서버에 담아라
서버 API를 통해 사용하는것이 더 안전하다!
보안을 위해서 신경써라~!
Unit Test & UI Test
Unit Test
TDD (Test Driven Development)
기능을 개발하기전에 테스트 코드를 작성하자~!
예시로, A라는 버튼이 눌렸을때 print(”123”)
123이 출력되는지? 1234가 출력되는지?
func print(a: Any) { print(String(a)) }
Swift
복사
기능 개발을 하고 이걸 QA 파트에 넘기거나 배포하기전에 검증용으로 테스트 코드를 구성해본다!
주요기능들, 복잡한것들을 위주로만 짜는곳도 있음!
내부적으로 코드 커버리지를 체크할때는 100프로를 지향하지 않을까!
UI Test
사용하지 않는곳이 더 많을것 같다!
느리다! → 앱이 커지면 이걸 다 돌리고 화면단을 검증하기때문에 좀 많이느림
콘텐츠 앱 → 왓챠 OTT, 넷플
데이터가 많죠!
UI Test를 통해서 하나씩 눌러서 재생을 해보고 잘 나오는지 판단하고 이런 반복 테스트를 할때는 용이하다.
StateObject, ObservedObject
상위뷰 > 하위뷰 (어떤 버튼을 눌러서 변경이되었다!)
isDetailViewPushed: Bool > true면 화면전환이일어나고 false면 하위뷰를 닫는다.
StateObject
뷰 자체가 사라지거나 리렌더링 > 재생성되더라도 StateObject로 저장된 데이터는 유지가 됩니다!~
ObservedObject
뷰 자체가 사라지거나, 소멸되면 얘도 사라짐 (저장된 데이터!)
다른 뷰에서 생성되서 전달된 데이터를 가지고 사용하는것이 좋다!
데이터 공유때 사용할 수 있다!
상하위뷰에서 AViewModel이라는 친구를 StateObject
StateObject는 부모나 자식 뷰와 공유되지 않음
StateObject 얘는 스유가 직접 관리하는 객체 느낌
이 뷰가 유지되고 있으면 유지됨
새로고침을 한다던가 데이터가 추가된다 하더라도 기존 데이터들이 유지가됨
ObservedObject
외부 객체를 스유가 보는것 (관찰)
뷰가 새로고침된다/ 데이터추가되어서 데이터가 변한다 → 데이터가 사라질수도 있음, 변경될수 있음
10주차 코드 참고!
플젝 3,4 → 최종 플젝때 시니나 케이크 같이 할까요 어떨까요~?
굿굿