본문 바로가기

전체 글

(35)
[Swift] ARC와 순환 참조 안녕하세요, Wody 입니다. 이번 글은 ARC와 순환 참조가 무엇이며, 어떻게 방지할 수 있는지 알아보도록 하겠습니다. 이 글은 제가 개인적으로 공부 기록을 남기는 Notion에서 그대로 긁어온 글이라 평소와 다른 양식을 갖고 있으니 원래 글을 읽고 싶으신 분은 링크를 참고해주시면 됩니다. Automatic Reference Counting 자동 참조 카운팅 Swift는 ARC(Automatic Reference Counting)을 사용하여 앱의 메모리 사용량을 추적하고 관리합니다. 그렇기 때문에 Swift에선 ARC 덕분에 메모리 관리에 대해 생각할 필요가 없습니다. 조금 자세하게 말하자면, ARC는 해당 인스턴스가 더 이상 필요하지 않을 때 클래스 인스턴스에서 사용하는 메모리를 자동으로 해제합니다...
[Swift] Codable, JSONEncoder, JSONDecoder 안녕하세요 Wody 입니다! 이번 포스팅에서는 Swift에서 JSON 데이터 유형을 다루는 방법 중 하나인 Codable, JSONEncoder, JSONDecoder를 알아보겠습니다. 3가지를 알아보기 위한 공식 문서 Apple Developer - Archives and Serialization Codable Codable은 Decodable 과 Encodable을 합친 typealias입니다. 그래서 Codable을 알기 위해선 Encodable & Decodable을 알아야 합니다. Encodable과 Decodable은 JSON과 같은 데이터 유형을 인코딩, 디코딩 가능하게 만드는 프로토콜입니다. 자세한 사용법은 공식문서에도 친절히 나와있습니다. 기본적으로 Swift에선 인코딩과 디코딩을 구분하..
[Swift] Unit Test, TDD 안녕하세요 Wody 입니다. 오늘 알아볼 것은 Unit Test와 TDD입니다. 테스트란? 더보기 테스트는 말 그대로 시험하는 것입니다. 우리가 만든 코드가 잘 작동하는지 검증해야 안심이 되죠? 만약에 테스트 없이 코드를 쭉 작성했는데, 잘 작동하지 않는다면, 어느 코드가 잘못된 동작을 하고 있는지 알 수 없을지도 모릅니다. 그렇기 때문에 우리는 코드의 단위(유닛)별로 테스트를 해야 하는 것입니다! TDD(Test-driven development TDD) TDD - 위키백과 TDD는 개발을 하는 '방법' 중 하나입니다. 우리가 어떤 목적을 가진 프로그램을 개발할 때 다양한 방법을 가지고 개발하는데요. 객체 지향 프로그래밍, 애자일 방법론, 절차 지향 프로그래밍 등등 개발에 대한 다양한 시선과 방법이 있..