짝 프로그래밍을 처음 접했고, 직접 해봤다. 짝 프로그래밍의 정의는 다음과 같다.두 사람이 한 짝이 되어서 같이 프로그래밍을 한다.Driver(코드를 작성하는 역할), Navigator(코드를 작성하고자하는 생각을 전달하는 역할) 로 역할을 나눠서 프로그래밍을 하며,
Git이란 무엇일까?VCS(Version Contorl Systme) 버전 관리 시스템이라고 한다.버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.Working Directory\-- 작업공간이다. 작업
1월 4일 (목)A type that represents either a wrapped value or the absence of a value.옵셔널은 타입이다. 감싸고 있는 값(Optional(값) 또는 "부재" 값 (nil 이라는 값을 지칭하는 것 같다.) 을 표
1월 5일 (금)Bit란 컴퓨터가 처리하는 이산 데이터의 양을 표기하는 단위이다. 1개의 Bit는 0, 1 이라는 숫자를 가질 수 있다. 이진법을 사용한다. 이진법을 사용하는 이유는 8Bit가 모이면 1Byte라는 단위로 표현할 수 있는데, 오늘날 대부분의 컴퓨터가 데
1월 6일 (토)readLine()함수는 사용자에게 입력 받을 때 사용하는 함수이다.구조는 아래와 같다. 반환값은 옵셔널 스트링 타입이다.애플 개발자 가이드에서는 readLine() 다음과 같이 정의하고 있다. \- Returns a string read from s
1월 9일 (화)연관된 항목들을 묶어서 표현할 수 있는 타입이다. 연관된 항목들의 그룹을 정의할 수 있다.다음의 경우 열거형을 사용한다.제한된 선택지를 주고 싶을 때정해진 값 외에는 입력받고 싶지 않을 때예상된 입력 값이 한정되어 있을 때School 이라는 열거형을 선
1월 7일 (일)옵셔널의 값을 추출하는 가장 간단하지만 가장 위험한 방법이다. 이유는 런타임 오류가 일어날 가능성이 가장 높기 때문이다.옵셔널 값의 뒤에 !(느낌표)를 붙여준다. 강제 추출 시에 옵셔널에 값이 없다면,, nil 이라면 런타임 오류가 발생한다.Option
1월 8일 (월)타입이란 무엇일까요..? 타입은 개체를 대표하는 표현입니다.개체의 공통된 특성을 일반화(더 나아가 추상화)하여 표현하는 것이 타입입니다. 공통적인 특징 등을 하나의 개념으로 표현한 것입니다.우리가 자주 사용하는 이어폰에서 소리가 나오는 과정도 인코딩이라
1월 10일 (수)목차는 크게 "Fundamentals, Naming, Conventions, Special Instructions"로 이뤄져 있다.Include all te words needed to aviod ambiguity for a person reading
1월 11일 (목)사용자에게 유연적이고, 통일적인 환경을 제공하기 위해 필요하다.Apple의 철학을 볼 수 있는 것 같다. 사용자의 인터페이스를 많은 고민을 한 부분도 알 수 있었다.Update가 자주 되므로, 잘 읽어 보는 것이 중요하다.아래와 같이 큰 카테고리가 있
1월 11일 (목)The HIG contains guidance and best practices that can help you design a great experience for any Apple platform.사용자에게 유연적이고, 통일적인 환경을 제공하기 위
1월 13일 (토)Type(타입)이다. 그렇다면 Type(타입)이란 무엇인가?모든 개체의 행위와 특성을 한데 모아 표현해둔 것이다.Type(타입) 자체는 일을 하지 않지만, 타입 형태로 생성된 개체는 일을 할 수 있다. ex) 타입은 자동차 설계도, 개체는 자동차이렇게

클래스, 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비 과정이다.Initializer를 정의하면 초기화 과정을 직접 구현할 수 있다.init 키워드를 사용하여 이니셜라이저 메서드임을 표현한다.구조체와 클래스 인스턴스는 처음 생성할 때 옵셔널 저장 프로퍼티를 제외한
1월 16일 (화)코드끼리 상호작용을 할 때 파일 간 또는 모듈 간에 접근을 제한할 수 있는 기능이다.코드의 상세 구현은 숨기고 허용된 기능만 사용하는 인터페이스를 제공할 수 있다.접근제어가 필요한 이유는 "객체지향 프로그래밍 패러다임"과 연관이 있다고 볼 수 있다.캡
1월 17일 (수)1\. Access Stored and computed values that are part of an instance or type인스턴스 또는 타입의 한 부분이고, 저장 그리고 연산의 값에 접근할 수 있다고 한다.Computed properties
1월 18일 (목)Initialization is the process of preparing an instance of a class, structure, or enumeration for use.이니셜라이제이션(초기화)는 클래스, 구조체, 열거형 인스턴스 생성의 준

1월 19일 (금)1\. A storyboard is a visual representation of the user interface of an iOS application, showing screens of content and the connections betw
1월 20일 (토)1\. 구조조건 ? A : B조건이 참이라면, A를 실행한다.조건이 거짓라이면, B를 실행한다.예시

1월 21일 (일)Model, View, Controller 역할을 갖고 있는 객체로 이뤄진 디자인 패턴이다.Many objects in these application tend to be more reusable.their interfaces tend to be be

1월 22일 (월)클래스의 인스턴스가 단 1개만 생성되도록 하는 패턴이다.Singletons are used in situations where this single point of control is desirable, such as with classes that
1월 23일 (화)등록된 노티피케이션에 노티피케이션 센터를 통해 정보를 전달하기 위한 구조체이다.A container for information broadcast through a notification center to all registered observers.

1월 24일 (수)연관된 값들을 한 공간에 이름을 지어 모아둔 공간을 말한다.유사한 값들을 한 공간에 모아두면 관리가 쉬워진다. 관리가 쉽다는 말은 유지보수가 용이하다는 뜻이다.재사용도 편리하다.네임스페이스를 잘 만들어 놓는다면 하드코딩을 방지하고 코드의 가독성도 좋아
1월 29일 (월)서로 다른 방식을 사용한다면, 서로 통신을 할 때 이해가 어려움이 발생한다. 그러므로, 규칙을 정해서 통신하여 이해가 잘 되게 할 수 있을 것이다.프로토콜은 약속, 규칙이라고 할 수 있다. \-Type, -Protocol 을 붙인다. \-able을
1월 26일 (금)ios 프로젝트를 만들면 viewController를 볼 수 있다. viewController 내부에는 viewDidLoad 메소드가 있는 것을 볼 수 있다.viewDidLoad 메소드 내부에는 아래와 같이 초기 코드가 작성 되어 있는데, 확인해보자.

1월 30일 (수)강한참조, 약한참조라고 불리우는 Strong, Weak를 알아본다. IBOutlet을 사용하여 다양한 UI 컴포넌트(UILabel 등)를 Interface Builder(Storyboard, XIB)에 연결할 때, 일반적으로 Strong/Weak 인지
2월 1일 (목)Swift 가이드 문서에 따르면, 이렇게 정의한다. "Respond to and recover from errors."에러의 복구와 대응이다.Error Handling이란 프로그램에서 에러가 발생할 조건으로부터 대응하거나 복구하는 과정이라고 볼 수 있다
2월 5일 (월)소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는 지 검증하는 절차이다.모든 함수와 메소드에 대한 테스트 케이스(Test Case)를 작성하는 절차이다.Unit Test를 하게 되면, 나중에 단일 모듈끼리 통합될 때 터지는 부분을 방지할 수 있다.의
2월 6일 (화)View는 자신의 콘텐츠를 보여주고, 다른 뷰를 위한 컨테이너의 역할을 한다.컨테이너의 역할이 궁금할 수도 있겠다. 뷰는 스택 형식으로 쌓인다고 보면 될 것 같다. Root View라고 하는 첫 Load된 View가 있을 것이다. 필요에 따라 Root

2월 8일 (목)SOLID 원칙은 객체지향 설계에서 지켜야 할 5개의 소프트웨어 개발 원칙을 말한다.SRP(Single Responsibility Principle): 단일 책임 원칙OCP(Open Closed Principle): 개발 폐쇄 원칙LSP(Listov S
2월 12일 (월)각각의 인스턴스가 아닌 타입 자체애 속하는 프로퍼티를 타입 프로퍼티라고 한다.인스턴스의 생성 여부와 상관없이 타입 프로퍼티의 값은 하나이다. 그래서 그 타입의 모든 인스턴스가 공통으로 사용하는 값, 모든 인스턴스에서 공용으로 접근하고 값을 변경할 수

2월 13일(화)LLDB는 LLVM의 프론트엔드단에 오류를 찾기 위한 디버거 도구이다.LLDB 공식 문서에서는 아래와 같이 설명한다.LLDB is a next generation, high-performance debugger. It is built as a set o

2월 22일 (목)앱 전체의 생명주기를 관리한다. (앱 실행, 종료, 백그라운드/포어그라운드 전환 등 앱 전체에 영항을 미치는 이벤트를 처리한다.)App Delegate는 앱 전체의 생명주기 동안 존재한다. 앱이 실행될 때 처음 생성되고 앱이 종료될 때까지 메모리에 유
2월 20일 (화)Swift는 앱의 메모리 사용을 추적하고 관리하기 위해 ARC를 사용한다.ARC는 클래스 인스턴스가 더 이상 필요하지 않을 때, 그 인스턴스에 의해 사용되는 메모리를 자동으로 할당 해제한다.클래스의 인스턴스를 생성할 때마다, ARC는 그 인스턴스에 대
2월 1일 (목)UML이란 Unified Modeling Language 약자로, 통합 모델링 언어이다. 즉, 모델을 만드는 표준언어라고 이해하면 될 것이다.UML은 소프트웨어 집약 시스템의 시각적 모델을 만들기 위한 도안 표기법을 포함한다. 객체 지향 프로그래밍 소프