이번 프로젝트 과제는 계산기 앱을 만드는 것이다. 보통 iOS개발에는 storyBoard방식과 codeBase방식이 존재한다. 나는 보통 storyBoard를 활용해 앱을 만들어왔다. 두 가지의 방식은 각각의 장점이 존재한다.3 버튼 구성때 ![](https://v
문제에서 요구하는건 각 카테고리별 옷을 겹치지않게 입을 수 있는 경우의 수를 구하는거라고 생각한다. 입출력 예에서 보듯 이중 배열로 각각 의상의 이름과 카테고리를 받아온다. 우선 문제의 키워드에서 힌트를 얻을 수 있었다. 해시를 활용해 문제에 접근해서 풀면 된다.Has
오늘은 뷰컨트롤러의 생명주기에 대해 공부했다.우리가 Xcode를 이용해 개발을 하려고 프로젝트를 만들었다면 아래의 사진과 같은 코드를 자주보았을 것이다. 아래의 코드에 대해서 좀 더 깊이 알아보도록 하자.생명주기(Life cycle) : 무언가 태어나고 죽는 순간까지의
오늘은 알고리즘 문제에서 마주하게된 Hash에 대해서 공부해 보았다.Hash(해쉬) : 데이터를 고유하게 식별하기 위해 고정된 길이의 값(해시값)을 생성하는 과정으로 Swift에서는 주로 컬렉션 타입(Set, Dictionary)에서 객체를 비교하거나, 데이터를 빠르게
오늘은 어제에 이어서 남은 타입 속성 프로퍼티와 속성 감시자에 대해서 공부해보았다. Type Properies(타입 프로퍼티) > 타입 프로퍼티는 타입 자체에 속한 프로퍼티로, 클래스나 구조체, 열거형의 모든 인스턴스가 공유하는 프로퍼티이다. 즉, 특정 인스턴스에 속
오늘은 속성 properties(프로퍼티)에 대해서 공부해보았다. 프로퍼티랑 인스턴스 또는 타입의 부분인 저장된 값과 계산된 값에 접근한다. 값을 특정 클래스, 구조체, 또는 열거형을 연결한다. 프로퍼티로는 저장, 지연, 계산, 타입, 속성 감시자 # Stored P
오늘은 저번에 다뤘던 클로저에 대해서 더 알아보기로 하자. Capturing Values(캡처값), Reference Types (참조 타입) > 클로저는 정의된 둘러싸인 컨텍스트에서 상수와 변수를 캡쳐 할 수 있다. 즉, 클로저는 상수와 변수를 정의한 원래 범위가 더
막상 사용하려고 할때마다 계속 찾게되서 제 블로그에 작성하기로 했습니다.commit message(커밋 메세지) : commit이 정확히 무엇과 관련한 개발에 해당하고, 어떤 변경 사항이 있는지 등을 작성하는 것을 말한다.밑에 커밋메세지에 대한 예시가 있지만 실제로 팀
openpublicinternalfileprivateprivateopen 접근 제어자는 가장 높은 수준의 접근 제어자로, 다른 모듈에서도 해당 클래스나 메서드를 서브클래싱하거나 오버라이딩할 수 있습니다. 오통 외부 라이브러리를 만들고 사용할 때 유용합니다. open으로
이번 주는 야구 게임을 만들기를 해보았다. 이번 앱은 Command Line Tool을 이용한 값을 입력 받아 실행되게 하는 앱이다. 숫자 야구 게임 은 두 명이 즐길 수 있는 추리 게임으로, 상대방이 설정한 3자리의 숫자를 맞히는 것이 목표입니다. 각 자리의 숫자와
오늘 우연치 않게 나도 모르게 메서드 호출을 함수 안에서 했다. 어쩌다보니 재귀함수를 사용해서 나의 코드는 무한루프에서 빠져나오지 못하고 있었다...재귀 함수는 자기 자신을 호출하는 함수로, 특정 문제를 작고 반복적인 작업으로 분해하여 해결하는 데 유용하다고 한다. 특
런타임 의존성 : 애플리케이션 실행 시점에서의 객체들의 관계를 의미(객체 사이의 의존성에 해당하면 추상화된 클래스나 인터페이스에 의존할때 -> 의존성이 낮아져 변경에 유연하다) 컴파일 의존성 : 코드에 표현된 클래스들의 관계를 의미(코드를 컴파일하는 시점에 결정되는
객체지향 5원칙 (SOLID) 단일 책임 원칙 (Single Responsibility principle) 개방 폐쇄 원칙 (Open Close Principle) 리스코프 치환 원칙 (Liscov Substitution Principle) 인터페이스 분리 원칙 (In
객체지향 5원칙 (SOLID) 단일 책임 원칙 (Single Responsibility principle) 개방 폐쇄 원칙 (Open Close Principle) 리스코프 치환 원칙 (Liscov Substitution Principle) 인터페이스 분리 원칙 (In
이번 주차에는 개인이 계산기(UI없는)를 만드는 과제가 주어졌다.더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들기생성한 클래스를 이용하여 연산을 진행하고 출력Lv1에서 만든 Calculator 클래스에 “나머지 연산”이 가능하도
어제는 객체지향 프로그래밍이 무엇인지 공부했다면, 오늘은 올바르게 객체지향 프로그램 설계를 위한 규칙을 알아보려고 한다. 우리는 이 규칙을 객체지향 5원칙(SOLID)라는 5가지의 규칙의 앞글자를 따 SOLID라 부른다.단일 책임 원칙 (Single Responsibi
그동안 많이 들어보고 명확하게 이해하지 못했던 객체 지향 프로그래밍에 대해 공부해보았다. 객체 지향 프로그래밍(Object-Oriented Programming, OOP) > 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의
오늘은 클로저에 대해 공부해 보았다. Closure(클로저)가 무엇인가? "익명함수" 즉, 특별히 명명된 함수 생성없이 실행되는 코드 그룹, 함수와 유사하게 특정 작업을 수행하는 코드 블록을 의미한다고 볼 수 있다. Function에서 4가지의 요소가 있다면, clos
우리팀은 5일의 시간동안 하나의 앱을 제작하는데 성공했다. git을 통해 각자가 맡은 화면과 역할을 잘 수행해주어서 예상했던 기간보다 일찍 하나의 branch로 merge할 수 있었다. 그렇게 완성된 앱을 몇번씩 다시보고 다시보다보니 아쉬운 점, 우리가 놓친 디테일 이
개발 어제에 이어서 오늘도 개발을 마저 해보았다. 오늘은 내가 맡은 대화창 화면을 모두 완성을 했다. 화면 구현 # 트래블 슈팅 # 문제 1 : 오토레이아