본문 바로가기

전체 글

(110)
읽기 좋은 코드 작성하기 #2 Conventions Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org Swift API Design Guidelines에 정의된 컨벤션 규칙을 알아보자! Conventions 컨벤션 1. 복잡도가 O(n)이 아니라면 복잡도를 주석으로 남기기 /// Time Complexity: O(n^3) func test() { a.forEach { b in b.forEach { c in c.forEach { d in ... } } } } 2. 전역 함수 대신에 메서드와 프로퍼티 사용하기 3. type, prot..
읽기 좋은 코드 작성하기 #1 Naming Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org Swift API Design Guidelines에 정의된 네이밍 규칙을 알아보자! Naming 네이밍 1. 필요한 단어를 모두 포함하기 Bad employees.remove(x) // 명확하지 않음 good employees.remove(at: x) // x번째에 위치한 employee 제거 2. 불충분한 type 정보를 보충하기 Bad func add(_ observer: NSObject, for keyPath: String)..
Xcode 주석 활용하기 평소 Xcode를 사용하면 우측 상단에 다음과 같은 그림을 많이 보았을 것이다. Swift의 마크다운 용어를 사용할 경우 다음과 같이 주석을 예쁘게 정리할 수 있다! /// Writes the textual representation of each ← Summary 요약 /// element of `items` to the standard output. /// ← Blank line 빈줄 /// The textual representation for each item `x` ← Additional discussion /// is generated by the expression `String(x)`. /// /// - Parameter separator: text to be printed ⎫ /// be..
[Swift] Random String 만들기 주어진 문자열을 가지고 원하는 사이즈의 크기로 mixed up된 문자열 만들기 extension을 활용해서 쓰는 것을 좋아합니다 :) extension String { func createRandomStr(length: Int) -> String { let str = (0 ..< length).map{ _ in self.randomElement()! } return String(str) } } 사용 let str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" let size = 5 let iv = str.createRandomStr(length: size) 결과 d5m9C
책 스터디 Day 1 바쁜 나날을 보내다 정신 차려보니 신입 개발자가 된지 어느덧 반년이 되었다. 야호..행복한 판교 라이프를 꿈꾸며 입사했으나 현실은 재택이 최고임을 깨닫고 지내던 와중에 선배가 책 스터디를 제안했다. 📗 객체지향의 사실과 오해 - 조영호 지음 각자 한 챕터씩 읽고 퇴근 후 간단히 스터디 하기로 했다. 입사했을 때 선배가 추천해서 휘리릭 읽어보긴 했었는데 누구를 가르친다는 마음으로 읽으니 또 달랐다. 책 스터디는 처음이라 어떻게 준비해야 할지 몰라 키워드(종이 쪼가리)를 만들어가서 설명했고 선배는 요약본을 만들어 왔다 ^^... 역시 제일 중요한 건 기초와 개념임을 깨달은 즐거운 스터디 시간이었다. 신입에게 정말 추천하는 책이다. 어느덧 6개월을 맞이하는 기념으로 블로그에 처음 써보는 글. 반년 회사 생활해..
[iOS] SwiftLint 적용하기 코드 개선에 도움을 주는 Lint를 적용해보자! 1. 먼저, SwiftLint를 적용하려면 Pod가 설치되어 있어야한다. https://ppomelo.tistory.com/20 [iOS] CocoaPods 코코아팟 설치 및 FMDB 사용하기 CocoaPods이란? CocoaPods 홈페이지 에서는 CocoaPods를 다음과 같이 설명하고 있습니다. 즉, 코코아팟은 스위프트 또는 오프젝티브-C를 쓰는 Cocoa환경(macOS, iOS) 프로젝트에서 사용할 수 있는 의존성 라이 ppomelo.tistory.com 2. Podfile에 SwiftLint 추가하기 pod 'SwiftLint' 3. 터미널 > 프로젝트 위치로 이동 > pod install $ cd $ pod install 4. Target > B..
Error Domain=NSURLErrorDomain Code=-1200 에러 해결 Error Domain=NSURLErrorDomain Code=-1200 "SSL 오류가 발생했기 때문에 서버에 안전하게 연결할 수 없습니다." 에러가 발생할 경우 info.plist에 다음과 같이 추가해주면 된다. info.plist NSAppTransportSecurity NSAllowsArbitraryLoads
[Swift] 싱글톤 패턴 (Singleton Pattern) Singleton Pattern이란? 객체를 하나만 생성하여, 생성된 객체를 어디서든 참조할 수 있도록 하는 패턴 생성 static 변수에 Singleton Pattern을 적용할 클래스의 인스턴스를 할당 initializer를 private으로 설정하여 다른 곳에서 또 인스턴스를 생성하지 못하도록 해야한다. (Thread-safe) class Singleton { static let shared = Singleton() private init() {} func printMessage(_ msg: String) { print(msg) } } 사용 클라이언트에서 .shared 변수를 불러와 사용 Printer.shared.printMessage("ppomelo")