세상을 더 편리하게
article thumbnail
블로그를 이사합니다.
카테고리 없음 2023. 6. 25. 04:28

블로그를 티스토리에서 Hashnode로 이사합니다. 이사를 결심하는데 몇가지 이유가 있습니다. 1. 에디터와 실제 글의 차이가 너무 크다. - 이 부분은 CSS 및 HTML의 자유도가 너무 높기 떄문인것 같긴합니다. 하지만 글 쓰기에 집중하고 싶은데 너무 많은 걸 신경써야 해서 이사를 결심했습니다. 2. 마크다운 지원이 빈약하다. - 노션, 깃헙 Readme 등 개발자로써 마크다운쓸 일이 많아서 마크다운으로 문서 작업하는걸 좋아합니다. - 가장 큰 장점은 키보드 사용 중에 마우스로 건너가는 길이 줄어드는게 마크다운의 큰 장점인 것 같습니다. - 하지만 티스토리 마크다운은 없다 싶이하는게 아쉽습니다. 써 놓은 글이 아쉽기도 하지만 핵심이 되는 글은 다시 써보며 복기하자는 마음으로 블로그 이사를 합니다. 이..

article thumbnail
[iOS / SwiftUI] Paging 무한 스크롤
Swift/Apple Framework 2023. 5. 23. 02:23

0. 문제 사진을 비동기적으로 불러와야 할 때 다음 URL 요청을 언제 해야하는지 관건이다. 해결방안 1. 가장 먼저 생각나는 것은 스크롤 위치였다. - 스크롤 위치에 따른 업로드 였다. 하지만 SwiftUI에서는 스크롤 위치를 알기엔 너무 많은 불필요 요쇼들이 필요하다. 2. 80% 전체 사진 중 80% 정도 업로드가 완료 되었을 때 이미지를 불러오자. 전체 불러올 수 있는 이미지 중에서 80% 정도 로딩이 되었을 때 다음 URL을 요청하는 방법이다. (2)번이 사실 가장 깔끔한 답안이다.

article thumbnail
[iOS / SwiftUI] Combine - URLSession
Swift/Apple Framework 2023. 5. 8. 17:29

이번 장에서는 Combine의 실제 사용 사례를 중심으로 알아보고자 한다. 사실 Combine에서 자주 쓰이는 부분은 URLSession일 것 같다. URLSession With Combine // 애플 공식 문서 예시 코드 살짝 수정 struct User: Codable { let name: String let userID: String } let url = URL(string: "https://example.com/endpoint")! cancellable = urlSession .dataTaskPublisher(for: url) .tryMap() { element -> Data in guard let httpResponse = element.response as? HTTPURLResponse, ht..

article thumbnail
[iOS / SwiftUI] Combine - AnyCancellable
Swift/Apple Framework 2023. 5. 8. 04:59

AnyCancellable import Combine import SwiftUI struct CombineView: View { var vm = CombineViewModel() @State var anyCancellable = Set() @State var number = 0 var body: some View { VStack { Text("\(number)") .padding() Button(action: { vm.number.send(Int.random(in: 1...1000)) // # 수정됨 // print(vm.number) }, label: { Text("Button") }) Button(action: { anyCancellable.first?.cancel() }) { Text("Cancel..