분류 전체보기 68

[Code Snippet] private lazy var 쓰다가 팔 부러질 것 같을 때 보는 글

앱을 개발하는 과정에서 자연스럽게 많이 쓰게 되는 코드들이 있습니다. 제목에 써 놓은 'private lazy var' 외에도 여러분들 각자 상황에 따라 유독 자주 사용하는 코드가 있을 것입니다! 그럴 때 Xcode에서 제공하는 Create Code Snippet 한 번 사용해보시는 건 어떨까요?! 자 자 바로 시작합시다! 지금 보시는 화면이야 예시를 들기 위해서 세 개의 Label만 추가한 상황이지만, 실제로 앱을 만드는 과정에서는 다양한 종류의 UI Component들을 활용하는 경우가 많지요! 이런 상황에서 반복적으로 사용하게 되는 코드들을 복사해 놨다가 다음번에 붙여 넣기 하는 방법도 있겠지만, 좀 더 그럴싸한 방법이 있습니다! 보시면 'plv'만 작성했는데 자동완성으로 'private lazy..

iOS/Common 2022.04.29

키체인(Keychain)에 대한 설명과 간단한 사용법

iOS 앱 개발 과정에서 로컬(모바일 기기)에 특정 정보를 저장할 때 간단하게는 유저디폴트(UserDefaults)부터 코어데이터, Realm, SQLite 등 여러 저장 방식을 사용할 수 있습니다. 하지만 정말 중요한 사용자 정보들(예를 들어 패스워드, 프라이빗 키, 인증서 등)을 아무 곳에나 저장하는 것은 아주 위험하다고 할 수 있겠습니다! 민감한 정보를 안전하게 저장하기 위해 애플은 Keychain Services를 제공합니다. 여러분들은 사용자의 민감 정보를 암호화 해서 키체인에 저장하고, 이후에 이를 다시 복호화 해서 사용할 수 있습니다! 결국 중요한 것은 사용 방법이겠지요? 키체인을 생성(Create)하고, 읽고(Read), 지우는(Delete) 방법을 한 번 알아봅시다! 바로 전체 코드를 보..

iOS/Common 2022.04.20

Test Driven Development는 무엇이며, 왜 하는가?

고오급 iOS 개발자가 되기 위해 고군분투 하고있는 요즘입니다! 그러다 연쇄 할인마 유데미에서 또 할인을 하길래 들을만한 강의 없나 하다가 유데미에서 굉장히 잘나가시는 무함마드 아잠 선생님의 TDD 강의를 구매하게 되었습니다! 강의는 다 들었고! 배운 내용을 잊지 않기 위해 배운 내용 전파를 좀 해보겠습니다ㅋㅋ 1. TDD의 Life Cycle TDD는 다음과 같은 생명 주기를 갖습니다. (1) 실패하는 테스트를 작성 (2) 테스트를 성공하도록 만들기 (3) 성공한 테스트 코드를 리팩토링 하기 (4) 위 과정 반복하기 2. 왜 TDD를 해야 하는가? (1) 걱정 없이 코드를 수정할 수 있습니다 - 테스트 코드가 작성 돼 있다면 여러분이 어떤 코드를 수정할 때 해당 수정 내용이 다른 코드에 영향을 미치는지..

iOS/Common 2022.04.14

앱 스토어 커넥트에서 DSYM 파일 다운로드가 안 되는 문제 해결하기

DSYM 파일을 다운로드 받을 때 보통 두 가지 방법을 씁니다. (1) Xcode 상단의 Window 항목 -> 그 중 Organizer 클릭 -> Archives의 Details에 있는 Download Debug Symbols 버튼 클릭 (2) App Store Connect 접속 -> TestFlight 클릭 -> DSYM을 받고자 하는 빌드 버전 클릭 -> 빌드 메타데이터 클릭 -> 기호 포함에 있는 예 | dSYM 다운로드 클릭 그 런 데... 왜 클릭해도 다운로드 안 되냐 이거야... 그 런 데... 정말 단순한 해결책이... 바로 바로 바로 바로... Safari를 쓰면 됩니다~ Just use Safari~ Safari에서 위에 나온 절차를 그대로 따라하면 무슨 일이 있었냐는듯 다운로드가 ..

iOS/Common 2022.03.31

[Swift] weak와 unowned의 차이

요즘 RxSwift 습득에 열을 올리는 중입니다! RxSwift로 구성된 코드를 보다 보면 weak self나 unowned self 코드를 보게 되는 경우가 많았습니다. 막연하게 강한 참조로 인해 발생하는 메모리 누수 문제를 해결하기 위한 방법으로 알고 있었는데, 둘 사이의 차이점이 무엇인지 궁금하여 찾아보다가 다음과 같은 포스팅을 발견하게 되어 공부도 할 겸 공유해 봅니다! * 충분치 못한 영어 실력과 Swift에 대한 배경지식으로 번역한 것이기 때문에 다소간의 오류가 있을 수 있음을 감안해 주시면 감사하겠습니다! 영어를 충분히 잘하시는 분이시라면 원문으로 보시는 걸 추천드립니다! 원문 포스팅 주소입니다(영문). https://cocoacasts.com/what-is-the-difference-bet..

iOS/Common 2022.03.06

[Networking] URI 설계 패턴 - 예상국 강사님

지식 출처: 패스트 캠퍼스(https://fastcampus.co.kr/dev_online_javaend) URI 설계 패턴 (1) URI (Uniform Resource Identifier) - 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일하다. (응답은 달라질 수 있다) - 요청: https://www.fastcampus.co.kr/resource/sample/1 - 응답: fastcampus.pdf, fastcampus.docx (2) URL (Uniform Resource Locator) - 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별하는 주소 - 요청: https://www.fastcampus.co.kr/fastcampus.pdf - URL은 URI의 하위 개념 URI..

Computer Science 2021.08.13