본문 바로가기

728x90
반응형
SMALL

전체 글

(195)
업보청산 - 4(혐주의) 엄청나게 힘든 하루였습니다. 800줄이나 되던 코드를 200줄로 줄이는데 성공했습니다. 1. 생각없이 썼던 코드들을 정리하면서 함수를 하나로 묶고 뷰모델로 옮겼습니다. 2. [String]? -> [String?] 을 봐꾸면서 불필요한 if let 으로 nil일 경우를 처리해서 불필요한 분기처리를 없앴습니다. https://github.com/Byeonjinha/LostArkExchange/issues/1 코드가 너무 길고 지저분 합니다. · Issue #1 · Byeonjinha/LostArkExchange 코드가 너무 길고 지저분 합니다. 05.15 변경전 변경후 75f81bc ForEach로 반복된 코드 정리 변경전 변경후 d360d7e [String?] 으로 받으면서 n..
SwiftUI 이미지 캐시처리 SwiftUI 이미지 캐시처리 SwiftUI에서 이미지 캐시 처리는 이미지를 다운로드하고 캐시에 저장하여 빠르게 로드할 수 있도록 하는 기술입니다. 이미지를 캐싱하면 앱이 이미지를 다시 다운로드하지 않고 캐시된 이미지를 사용할 수 있으므로, 불필요한 데이터 사용을 줄이고 로딩 시간을 단축시킬 수 있습니다. SwiftUI에서 이미지 캐시 처리를 구현하는 방법에는 여러 가지가 있습니다. 예를 들어, 1. 이미지 캐시 라이브러리를 사용 2. View Modifier를 이용하여 CacheKey를 지정 3. URLSession에서 URLCache를 사용 이미지 캐시 처리는 앱의 성능을 향상시키는 데 도움이 되는 기술이므로, 적절한 방법으로 구현하는 것이 중요합니다. 적절한 캐싱 전략을 선택하고, 이미지 크기를 최..
업보청산 - 3(혐주의) 강제 언래핑 범벅코드를 방어코드로 만드는 작업을 하려합니다. 죄송합니다. 죄송합니다. 옵셔널로 받아왔던 파라미터를 함수 실행 전에 if let을 사용해서 없애고 Enum으로 아이템의 타입을 만들고 파라미터로 보내서 하나의 함수에서 Switch 문으로 아이템 타입에 맞게 파싱하는 함수가 실행되도록 했습니다. 덕분에 100줄 정도 덜은 것 같습니다. 앞으로 할 일 파싱하는 함수 불필요한 부분 없애기, 함수 공통요소 찾아서 하나로 묶기, nil 병합 연산자 없애기, 변수명 변경하기, 타입이 같은 요소들 묶어서 처리하기 등등 진짜 산더민데... 알고 있는 거 전부 수정 후에는 주변의 유능하신 선생님들께 매맞으면서 피드백 받을 생각하니 벌써부턴 두근거리네요. 아...다시 정리하니 너무 기쁩니다. 저는 긍정적인 사..
DDD동아리 합격 및 WWDC2023 Student challenge 장학생 선발 후기 근래 좋은 소식이 있습니다. :) 면접 때 너무 떨었고 스스로 부족한 점이 많았다고 생각한 것과 달리 동아리 합격 안내를 받았습니다.ㅠㅠㅠ 정말 정말 감사합니다. 열심히 하겠습니다. 개인적으로는 지금까지 모든 팀프로젝트가 너무너무 즐거웠어서 꼭 하고 싶었는데 벌써부터 두근거립니다. 아카데미 이후 첫 팀프로젝트가 될 것 같고, 새로운 사람과 만나는게 어떻게 이렇게나 두근거릴 수 있는지 모르겠습니다. 진짜 진짜 신납니다. 두번째로 2022년에 이어 2023WWDC Student Challenge에도 장학생으로 선발될 수 있었습니다!!! 덕분에 제 애플계정은 1년더 살아남게 되었어요! 아카데미 + 장학생2번으로 무려 3년이나 연장 사용합니다. :) 작년 굳즈는 여자친구와 지금도 친하게 지내고 있는 팀원들에게..
업보 청산 - 2(혐주의) 일단 모델, 뷰모델을 따로 분리 했습니다. Json데이터 파싱만 800줄이라... 그것도 따로 보관해뒀습니다. 죄송합니다. 죄송합니다. Model // // CharacterModel.swift // LostArkExchange // // Created by Byeon jinha on 2023/05/09. // import SwiftUI struct EquipmentViewData { var name: String var image: String var quality: String var basicStat: String var basicText: String var optionStat: String var optionText: String var color: String var qualityColor: ..
업보 청산 - 1(혐주의) 이게 뭔가 싶지만... 예. 제가 싼 코드입니다...(묵직) 1200줄 뚫어버리기... 변명해보면... 사실 OPEN API 를 경험해보고 싶은 욕심으로 헤헿 좀만 싸야지 했는데...하다보니 끝이 안나서...ㅠㅠㅠㅠㅠ 괜찮읍니다. 유지보수를 위한 좋은 코드를 왜 짜야하는지 뼈쩌리게 느꼈읍니다!!!!!!!!! 진짜 진짜... 잘못했읍니다. 잘못했읍니다. 아... 제 코드보고 진짜 감방가야된다고...외치던 친구들이 생각납니다. PTSD.. 갖곰님께서 회개하면 된다고... ChatGPT도 선생니뮤도ㅠㅠㅠㅠㅠㅠ 절레절레...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그럼 막막하지만 죄를 달게 받는 마음으로 리펙토링해보겠습니다. import SwiftUI struct CharacterDetailEquipmentsView: View {..
UIKit 화면 전환 방법과 예제 View Controller 의 View 위에 다른 View를 가져와 바꿔치기 예시코드 import UIKit class ViewController: UIViewController { var currentView: UIView? override func viewDidLoad() { super.viewDidLoad() // 첫 번째 View 생성 및 추가 let view1 = UIView(frame: self.view.bounds) view1.backgroundColor = .red self.view.addSubview(view1) self.currentView = view1 // Timer를 사용하여 2초마다 View 변경 Timer.scheduledTimer(withTimeInterval: 2.0, r..
마이그레이션(migration) 마이그레이션(migration) 컴퓨터 분야에서 데이터나 소프트웨어 등의 이전 작업을 의미합니다. 일반적으로 새로운 시스템으로 데이터를 이전하거나, 소프트웨어의 버전 업그레이드를 진행할 때 데이터나 설정 등을 이전하는 작업을 말합니다. 마이그레이션은 보통 데이터의 양과 구성에 따라 복잡도가 다양하며, 안정적인 작업을 위해서는 충분한 계획과 테스트가 필요합니다. Swift 3-> Swift 4로 마이그레이션 예제 코드 (JoinWithSeparator() 메서드가 Swift 4에서 joined(separator:)로 변경) let myArray = ["apple", "banana", "orange"] let joinedString = myArray.joinWithSeparator(",") let myArr..

728x90
반응형
LIST