분류 전체보기 (64) 썸네일형 리스트형 [Swift 문서 탐방] Swift 기본 타입(2) - String과 Character String은 "hello, world" 또는 "albatross"와 같이 일련의 Character들로 이루어집니다. String과 Character은 빠르며, 유니코드와 호환되는 방식으로 텍스트를 다룹니다. 여기에 String간의 연결은 단순히 + 연산자로 연결이 가능하며, 보간법(Interpolation)을 이용하여 더 긴 문자열을 표현해줄 수 있습니다. 특히, String은 Swift 언어의 조상격인 Objective-C의 NSString과 브리징(Bridging)되어 NSString에서 정의되어 있는 메서드들을 String에서 NSString에 형변환(Casting) 과정없이 사용가능합니다.String LiteralsString Literal은 큰 따옴표("")로 묶인 문자 시퀀스(Sequence.. [회고] 2024년 11월 7일(목) 수행청하 프로젝트 iOS 리팩토링 작업토큰 갱신 로직 리팩토링프로필 조회 로직 클린 아키텍처 구조로 리팩토링공부Reactive 방식으로 Custom Operator를 정의하는 법에 대해 공부만족X아쉬움RxSwift의 기본 개념들(PrimitiveSequence, Trait 등)에 대해 기본 지식이 부족하다고 느낌개선점RxSwift의 기본 개념들에 대해 숙지 후, 프로젝트에 적용느낀점머리로만 아는 것과 실제로 프로젝트에 적용하는 점은 다르다는 것을 느낌 [회고 구조]1. 수행: 오늘 하루 동안 했던 업무 정리2. 공부: 일을 하면서 인터넷으로 검색해서 알게 된 정보들, 혹은 팀원과 얘기하면서 알게 된 도메인 지식들을 정리3. 만족: 업무를 하면서 좋았던 점4. 아쉬움: 업무를 하면서 아쉬웠던 점5. 개선점.. [Swift 문서 탐방] Swift 기본 타입(1) Swift 언어에는 기본적으로 Int, Double, Bool, String의 기본 타입과 Array, Set, Dictionary의 Collection Type을 가지고 있습니다. 여기에 여러 타입의 데이터를 한대 묶어주는 Tuple이라는 데이터 타입도 존재합니다. Swift 언어는 Optional 타입도 가지고 있습니다. 이는 값의 부재 여부를 다루며, 값이 있는지 없는지에 대한 값을 나타내 줍니다. Swift는 Type-Safe한 언어기도 합니다. 여기서 Type-Safe한 언어라는 의미는 코드에서 사용할 수 있는 값의 유형을 명확하게 알 수 있다는 것입니다. 예를 들어, String 타입이 저장되어야 할 변수 A에 Int 타입을 저장할 수 없고, 만약 실수로 할당을 시도했다면 컴파일러가 오류를 나.. [회고] 2024년 11월 4일(월) 수행청하 프로젝트 iOS 리팩토링 작업애플 소셜 로그인 화면 전환 Router 패턴으로 화면 전환 책임 분리애플 소셜 로그인 기능 Clean Architecture 구조로 리팩토링Keychain Data 영역으로 디렉토리 변경공부X만족Router 패턴으로 리팩토링하여 SOLID 원칙 중 SRP 원칙을 준수하여 코드 유지보수성 항샹Clean Architecture 도입으로 코드를 좀 더 구조화시킬 수 있었음아쉬움아직 Clean Architecture에 대한 개념이 익숙하지 않아 프로젝트 적용에 생각보다 많은 시간이 소요됨개선점Clean Architecture 개념 체화시키기느낀점무턱대고 적용하기보단 어떤 결과가 나올지 미리 생각해본 후, 적용하자 [회고 구조]1. 수행: 오늘 하루 동안 했던 업무 정리2... [회고] 2024년 11월 3일(일) 수행청하 프로젝트 iOS 리팩토링 작업구글 소셜 로그인 화면 전환 Router 패턴으로 화면 전환 책임 분리구글 소셜 로그인 기능 Clean Architecture 구조로 리팩토링공부Coordinator 패턴과 Router 패턴의 책임 범위Coordinator는 기능 단위 또는 여러 화면의 흐름을 관리하고, 앱 전반의 로직을 조율하는 경우가 많습니다.Router는 단일 화면에서 필요한 전환을 처리하는 데 초점을 맞추며, 한 화면 또는 기능 단위의 화면 전환을 처리하는 경우가 많습니다.Pull Request 강제 Closed"git filter-branch --tree-filter 'rm -f ./test.txt' -f" 커맨드를 이용해 해당 경로 파일을 모든 히스토리에서 삭제했지만 강제 적으로 삭제한 거.. [TIL] JSON으로 받은 에러 코드 통합 극복기(feat. RawRepresentable) 요즘 토큰 갱신 로직 구현을 위해 네트워크 요청 로직을 통합하고 있는데요. 이 와중에 열거형으로 정의된 에러 타입을 통합 정의하는데 큰 어려움 있어서 오늘 포스팅은 이를 극복했던 일에 대해 작성해 보고자 합니다. 문제 상황아래 코드는 네트워크 요청하는 메서드인데요. 아래 코드를 보시면 에러 타입을 Error 프로토콜을 준수하는 제너릭으로 구현되어 있습니다. 그리고 아래 코드를 보시면 Error 프로토콜을 준수하는 제너릭 타입 ErrorType은 initializer가 없다는 경고창이 뜹니다. 제가 위와 코드와 같이 에러 객체를 생성하려고 했던 이유는 아래 코드에서 아실 수 있듯이 모든 에러 타입이 원시값(Raw Value)을 가진 열거형으로 정의되어 있어 이 원시값을 가지고 어떤 네트워크 에러가 발생했는.. [TIL] 결제 기능 구현 지난 포스팅에서 결제 시스템 구조에 관해 간단히 정리해보았는데요. 오늘은 이 결제 기능을 직접 한번 구현해보는 과정에 대해 작성해볼까합니다. 포트원(PortOne)우리가 요즘 흔히 온라인 결제로 이용하는 간편 결제인 카카오페이, 네이페이 등이 있는데요. 각각의 결제 기능을 사용해주기 위해선 각 SDK 개별적으로 연결해주어야 합니다. 하지만 유저가 어떤 간편 결제를 사용할지 정해지지 않은 상태에서 이 수많은 간편 결제 SDK를 개별적으로 연결하는 것은 개발자 입장에서 아주 비효율적이라는 생각이 듭니다. 따라서 이러한 불편함을 극복하기 위해 등장한 것이 바로 포트원(PortOne) SDK입니다.포트원 SDK는 네이티브에서 결제 개발을 간편하게 구현할 수 있도록 도와주는 SDK로, 여러 PG 및 간편 결제를.. [TIL] 결제 시스템 구조 간단 정리(개념 정리) 오늘은 결제 기능 구현에 앞서 결제 시스템의 구조에 대해 간단히 정리해 볼까 합니다. VAN와 PG, 그리고 간편 결제결제시 시스템에서 가장 주요한 주체들인 VAN와 PG사에 대한 개념에 대해 간단히 알아보겠습니다.VANVAN(Value Added Network)은 오프라인 결제의 핵심으로, 한국말로는 부가가치통신망으로 불리며, 가맹점과 카드사를 이어주는 통신망입니다. 우리 생활에서 실례로 들어보자면 우리가 상점에서 제품을 구해하기 위해 카드를 긁거나 꽂아서 결제하게 되는 과정 중 발생하는 통신을 연결해 주는 통신망이 바로 VAN입니다. 이 VAN사로는 NHN한국사이버결제, 나이스정보통신 등이 있습니다.VAN 탄생배경과거 상점별로 취급하는 카드사가 달라 손님이 해당 상점에서 취급하는 카드를 가지고 있지 .. 이전 1 2 3 4 5 6 ··· 8 다음