Alamofire는 URLSession 기반의 네트워크 통신 라이브러리입니다. Alamofire를 사용하는 이유는 코드의 가독성과 사용성입니다. URLSession 기반 라이브러리 답게, request뿐 아니라 download, upload 등의 기능을 모두 사용할 수 있습니다. 일단.. 네트워크통신을 해보겠습니다..!! 간단히 이미지만 가져오는 로직을 구현하려 하는데.. 엥? url하나만 넣었는데 알겠다고.. 잘 가져오는데 문제는! 네트워크작업인데 메인 쓰레드에서 하고 있다는 것..? 왜지... URLSession에서는 자동으로 백그라운드 쓰레드가 실행하도록 하는데.. Alamofire코드를 살펴보겠습니다~ 1. AF ? 먼저 사용하는 방식에서도 알 수 있듯 AF는 싱글톤입니다. Public let A..
- Test를 하는 이유 ( 해야하는 이유 ) 1. 안전해진다. "제품이든 앱이든 테스트를 거치는 이유는 제품의 안정성을 높이기 위해서" == "앱의 완성도를 높이기 위해서" 라 생각합니다. 2. 믿을 수 있기 위해. 단위테스트는 가장 작은 단위들부터 테스트를 하고, 범위를 점점 넓혀 이전에 테스트한 객체를 활용하여 상위객체를 테스트하는 방식을 반복합니다. 그러다 보면 객체 재활용시에도, "이 기능은 믿을 수 있는 기능이야!" 라는 확신이 생기게 되고, 오류가 발생하더라도 "이 행동들의 케이스에서는 오류가 나지 않았어"라는 확신을 갖을 수 있습니다. 해당글을 생각날 때 마다 읽으며 테스트 개념을 익히는 중입니다. ( 돌아서면 까먹어요 ㅜㅜ ) https://ssowonny.medium.com/%EC%84..
값? 참조? 이 두 단어가 무엇인지 이해하고 나면 거의 다 이해한거라 봐도 무방하다 생각합니다. 값타입은 struct, 참조타입은 class입니다. - struct 컴파일타임에 실행 값타입 = Stack영역에 저장됩니다. 그렇기에 Heap영역에 저장되는 참조타입보다 속도가 빠릅니다. 하지만 struct의 변수가 바뀌는 경우 Mutating되기에 메모리에 다시 할당됩니다. struct는 변치 않는 고유값을 갖는 경우, 즉 struct내부의 변수가 바뀌지 않는 경우 사용하기 좋다 생각합니다. - class 런타임에 실행 참조타입 = Stack영역에 Heap영역 주소를 저장합니다. ARC가 메모리를 관리해줍니다. 상속이 가능하며 deinit을 사용하여 인스턴스 메모리를 해제할 수 있습니다. struct보다 속..