적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 568

[Swift] Optional 옵셔널이란?

Swift 언어의 안정성에서 중요한 요소 중 하나가 Optional 개념. type casting이나 nil check 등에 있어서 중요한 역할을 한다. + 종류 Optional 옵셔널이란? 값이 있을 수도 있고, 없을 수도 있다 (nil 값을 가질 수 있도록) (내부적으로는 열거형으로 처리가 되어 있음) 임시 타입이기 때문에 사용 시에 optional을 벗겨서 사용해야한다. (unwrapping) 언래핑 Unwrapping : 옵셔널로 초기 설정을 해준 값은 값이 존재하더라도 계속 Optional( ) 로 wrapping 되어져 있다. 이 optional wrapping을 벗겨주어 할당된 값을 그대로 사용할 수 있도록 해주는 것. 언래핑 하는 방법 Forced Unwrapping : ! 를 사용해서 강..

[Swift] Codable - CodingKey

CodingKey A type that canbe used as a key for encoding and decoding. 인코딩 및 디코등을 위한 키로 사용될 수 있는 타입 protocol CodingKey : CustomDebugStringConvertible, CustomStringConvertible, Sendable CodingKey 사용하는 경우 Swift에서는 변수나 상수를 선언할 때 카멜케이스를 사용한다. 그런데 예를 들어 JSON 에서 스네이크 케이스를 사용하는 경우, 다음과 같이 내려받은 JSON 키 "actual_price" 와 Items 구조체에서 선언해준 "actualPrice" 키가 일치하지 않을 수 있다. 이런 경우 CodingKey를 사용하여 키를 변환(?) 연결(?) 해주면..

SceneDelegate에서 code base로 화면 진입점 설정하는 법

스토리보드 없이 코드로 화면 진입점 설정하는 법 xcode 11 부터 멀티 윈도우를 지원하기 위해 SceneDelegate가 추가되었다. SceneDelegate 지우고 그냥 기존처럼 AppDelegate만 설정해줘도 되지만, SceneDelegate에서 code base로 화면 진입점을 설정해보았다. 방법은 비슷하다 1. Storyboard 삭제 2. Info.plist 에서 Storyboard Name 삭제 3. TARGETS - General - Deployment Info - Main Interface 에서 "Main" 지워주기 4. SceneDelegate에서 화면 진입점 설정 func scene(_ scene: UIScene, willConnectTo session: UISceneSession..

클린 아키텍처 Clean Architecture

보통 기능 개발이 중요하다고 생각하지만 프로젝트 규모가 커질수록 구조가 더 중요해진다 ex) 정리가 되지 않은 방 좋은 아키텍처란? 아키텍처가 왜 중요한가? 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화 하는 것- by 로버트 C. 마틴 ㅠㅠ 기능이 있기만 하면 되는 것이 아니라 기능을 계속 더하고 뺄 때 구조가 굉장히 중요해진다. 많은 기능들이 있지만 나름의 질서가 있어서 그 구조를 파악하기 어렵지 않은 상태를 추구해야. 아키텍처 패턴 계층형 아키텍처 Layered Architecture (영속성에 의존하게 되어) 영속성에 대해 먼저 정의를 하고 데이터베이스 주도 설계를 유도하게 되는 단점 클린 아키텍처 로버트 C. 마틴이 좋은 아키텍처들의 특징 공통점을 모아 하나로 합친 것? 도메인이..

Trend 2022.11.21

oop vs pop

OOP Object-Oriented Programming 객체지향 프로그래밍 Encapsulation 캡슐화 함수 및 변수들을 class 안에 넣어서 -> 노출할 자료와 숨길 자료를 선택할 수 있음 Inheritance 상속 Abstraction 추상화 Polymorphism 다형성 프로토콜 지향 언어라는 말.. 나에게는 너무 어려운 말이다. OOP 대비 어떤 점이 좋은 것인지 이런 저런 설명도 찾아보고 했지만 사실 아직 잘 모르겠다. C#, python 이것저것 많이 찍먹해보긴 했지만, 사실 제대로 공부해보는 건 swift가 처음이라.. OOP에 대한 개념도 확실하게 잡히지 않은 상태에서 POP에 대한 설명을 아무리 읽어봐도 그냥 그렇구나 하는 정도지, 뭐가 더 좋다는 건지 크게 와닿지는 않는다. 이게..

[Swift 알고리즘] Programmers 다음 큰 숫자

△ Level 2 연습문제 다음 큰 숫자 어려운 문제 아닌데 쓸데없이 헤맸음.. 침대에 누워서 코딩 금지..! ㅋㅋㅋ 문제 설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 제한 사항 n은 1,000,000 이하의 자연수 입니다. 입출력 예시 print(sol..

728x90
반응형