iOS

[Swift 입문] 3. 변수와 상수
안녕하세요. 코찐 입니다. 이제부터는 https://docs.swift.org/swift-book/ 를 기반으로 개념을 살펴보겠습니다. Swift Language Guide 인데요. 애플에서 공식 가이드로 작성한 것이라서 군더더기 없는 설명을 자랑합니다. 입문자가 전체를 살펴보기에는 내용이 많아서, 핵심만 추려서 살펴보겠습니다. 이번 글에서는 변수와 상수에 대해 알아보겠습니다. 데이터를 표현할 때 사용됩니다. 변수는 var로 지정합니다. 나중에 변경 가능한 값 입니다. 상수는 let으로 지정합니다. 한번 지정하면 변경되지 않습니다. 첫번째 예: 횟수 제한이 있는 로그인 화면 로그인 화면을 만들 때, 재시도 가능 횟수가 정해진 경우가 많습니다. 그럴 때 변수와 상수를 이렇게 사용할 수 있습니다. let m..

[Swift 입문] 2. Playground 사용해보기
안녕하세요 코찐 입니다. 이번에는 저희가 실습동안 사용할 playground를 한번 살펴보겠습니다. 1. Mac OS의 App Store에서 Xcode를 설치합니다. 2. Xcode > File > New > Playground 를 누릅니다. 3. Blank를 선택합니다. 4. 플레이그라운드 파일을 저장할 위치를 선택하고, 파일명을 지정합니다. 저는 SwiftBeginner.playground 로 만들어봤습니다. 5. 우리의 첫번째 Playground 가 생성되었습니다. 6. print(str)을 입력해봅니다. 7. 파란색 실행버튼을 클릭하면, 아래 콘솔 창에 Hello, playground 가 출력된 것을 볼 수 있습니다. 이제 이곳에서 마음대로 스위프트를 실험해볼 수 있습니다. 이것저것 눌러보면서 둘..

[Swift 입문] 1. 우리가 Swift를 배워야하는 이유
연재를 시작하며 안녕하세요. 코딩찐따 코찐 입니다. 2021년에는 인프런 강의를 개설하는걸 목표로 잡았는데요! 막연히 구상만 하는 것 보다 먼저 블로그를 연재하면서 큰 그림을 그려갈까 합니다. 일주일에 한번은 포스팅 하는것이 목표입니다. 무엇보다 강의 주제가 중요할텐데, 지금 실무에서 사용하고 있는 언어인 Swift를 바탕으로 연재해볼까 합니다. Swift를 처음 만난 사람들에게는 도움이 될 수 있을거라 생각합니다. 실무에 투입되기 전에 익히면 좋을 내용들을 컨텐츠로 정리해보겠습니다. 우리가 Swift를 배워야하는 이유 배우기 쉽다 처음 개발을 시작하는 사람들을 고려하며 언어를 만들었다고 생각됩니다. 애플은 개발 진입장벽을 낮추는 노력을 계속해서 해오고 있습니다. 특히 다른 개발 언어를 접해본 적이 있다..

[Combine 책 정리] Chapter 4: Filtering Operators
이전글 2021/01/03 - [Reactive Programming] - [Combine 책 정리] Chapter1. Hello, Combine! 2021/01/06 - [Reactive Programming] - [Combine 책 정리] Chapter2. Hello, Combine! 2021/01/12 - [Reactive Programming] - [Combine 책 정리] Chatper 3: Transforming Operators 이번 챕터에서는 특별히 신선한 내용은 없었다. 실제 사례에서 여러 operator들을 잘 조합해보는게 중요할 듯 Filtering basics example(of: "filter") { let numbers = (1...10).publisher numbers .fil..

[Combine 책 정리] Chatper 3: Transforming Operators
이전글 2021/01/03 - [Reactive Programming] - [Combine 책 정리] Chapter1. Hello, Combine! 2021/01/06 - [Reactive Programming] - [Combine 책 정리] Chapter2. Publishers & Subscribers 이번 챕터는 Operator Operators and publishers operator method는 사실 publisher를 return 함 upstream data -> operator 에서 가공 -> downstream으로 전달 error handling을 위한 operator가 아니면, error를 downstream으로 흘려보내줌 (이번 챕터에서는 에러 핸들링 다루지 않음) Collecting..

[Combine 책 정리] Chapter 2: Publishers & Subscribers
이전글 2021/01/03 - [Reactive Programming] - [Combine 책 정리] Chapter1. Hello, Combine! 챕터2 부터는 실습 위주 Hello Publisher example(of: "Publisher") { // 1 let myNotification = Notification.Name("MyNotification") // 2 let publisher = NotificationCenter.default .publisher(for: myNotification, object: nil) // 3 let center = NotificationCenter.default // 4 let observer = center.addObserver( forName: myNotific..

[정리] 토비의 봄 TV - 스프링 리액티브 프로그래밍
https://www.youtube.com/watch?v=8fenTR3KOJo 개념 Duality: 쌍대성. 수학적 표현 Observer Pattern: 디자인패턴 Reactive Streams: 자바 진영에서 정한 표준 Duality 기능은 똑같은데, 반대방향으로 표현한 것 (에릭 마이어 정의 찾아보기) Iterable Observable Iterable Observable 데이터 방향 Pull Push 함수 호출 next() notifyObservers(i) return 값 있음 없음 여러개의 Observer가 동시에 데이터 받기 어려움 쉬움 멀티 스레드 동작 만들기 어려움 쉬움 Iterable import java.util.Iterator; public class IteratorExample { p..

Xcode 파일별 빌드 속도 측정
https://www.onswiftwings.com/posts/build-time-optimization-part1/ Xcode Build Time Optimization - Part 1 Discover techniques to measure and speed up the build time in Xcode www.onswiftwings.com Xcode에 일단 빌드 시간을 표시 해주기 터미널에 아래 명령어 입력 defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES Builde Setting > Other Swift Flags에 이렇게 등록하면 조건에 따라 워닝을 띄워줍니다. -Xfrontend -warn-long-function-bodies..