분류 전체보기
-
IOS 단위 테스트 살짝 맛보기Apple🍎/Test 2023. 12. 13. 23:21
Unit test 예제 Xcode 실행 -> File | New | Project. iOS | Application | App 에서 Next ProductName : FirstDemo / Interface : Storyboard / Language : Swift Include Tests 체크 Next FirstDemoTests 폴더에서 FirstDemoTests.swift 선택해서 editor에 띄우기 가장 먼저 test framework와 test의 대상이 되는 target을 import 해주어야한다. 모든 test case는 XCTest 프레임 워크의 import가 필요하다. XCTest는 XCTestCase 클래스와 Assertion을 정의한다. Test의 대상이 되는 모듈인 FirstDemo를 i..
-
TDD를 포기하는 이유와 그럼에도 해야하는 이유Apple🍎/Test 2023. 12. 13. 00:32
TDD가 뭔지? 겪을 수 있는 어려움은 무엇이 있는지? 어려움을 해결하는 방법은 무엇이 있는지? 무엇을 테스트해야 하는지? TDD를 함으로써 얻을 수 있는 장점이 뭔지? TDD(Test Driven Development)란? TDD란 각 요구사항에 대해 다음과 같은 과정을 거쳐 기능을 구현해 나가는 개발 방식을 말한다. 먼저 요구사항에 대하여 실패하는 Test를 작성한다. -> 실행하면 당연히 fail Test를 통과시키기 위한 최소한의 코드 작성한다. (멋지게 짜는 게 아니라 겨우 통과만 할 수 있게) 통과한 Test 코드를 개선하며 코드의 퀄리티를 높인다.! TDD를 포기하는 이유 : 빌드 시간이 너무 많이 걸려요. TDD는 빌드를 최소 3배 더 함 TDD 방식으로 개발을 하면 실패단계에서 한번, 최..
-
[Swift] Property 제대로 써보자.Apple🍎/Swift 2023. 12. 12. 15:22
간단한 함수를 계산 프로퍼티로 바꿔보자. 계산 프로퍼티(computed properties)는 겉보기에 인스턴스의 속성 값을 들고 있는 일반 프로퍼티처럼 보인다. 하지만 실제로는 계산 프로퍼티는 어떠한 값도 내부에 저장하지 않고 함수처럼 기능한다. 예를 들어 cookingTimer 라는 객체를 만들고 cookingTimer 안에는 남은 시간을 나타내는 secondsRemaining이라는 프로퍼티를 만들었다고 하자. 이 프로퍼티의 값을 get 해보면 다음과 같이 프로퍼티 값이 계속 변경되는 것을 볼 수 있다. cookingTimer.secondsRemaining // 409 // wait a bit cookingTimer.secondsRemaining // 404 // wait a bit cookingTi..
-
[Swift] Enum을 다양하게 활용해보자.Apple🍎/Swift 2023. 12. 11. 15:59
모델이 가지는 상태값이 OR 일 때는 Struct대신 Enum을 쓰자. 아래와 같은 채팅앱의 메세지가 가질 수 있는 유형은 다음과 같다. 참여 메시지 : “철수 님이 대화에 참여했습니다.” 일반 메시지 : “지금 롤 할 사람” 이모티콘 떠남 메시지 : 철수님이 대화방에서 떠났습니다. 작성중 메시지 : 작성중입니다….. 위와 같은 메시지를 strcut를 통해 모델링 해보면 다음과 같이 작성할 수 있다.import Foundation struct Message { let userId: String. // 참여자 식별자(ID) let contents: String? // 메시지 내용 let date: Date. // 시간 let hasJoined: Bool. // 참여 let hasLeft: Bool. // ..
-
예제코드 개요 및 구성 파악하기Apple🍎/Architecture pattern 2023. 12. 6. 12:23
화면 Flow 해당 앱은 사용자의 ‘투두리스트’를 관리하는 앱으로 큰 범주의 TaskList가 있으면 각 TaskList안에는 더 작은 단위의 Task가 포함된다. 즉 사용자는 하나의 TaskList를 만든 뒤, 해당 TaskList안에서 여러 Task를 만들어서 관리할 수 있으며 완료된 Task는 check 표시가 가능하다. 1. Home Screen - Home Screen은 사용자가 지금까지 작성한 ToskList를 보여준다. - ToDoList가 아무것도 없을 때 ‘Press Add List to Start’ 라는 문구를 띄워 사용자 행동을 유도한다. - 사용자가 리스트를 작성하면 각각의 TaskList 에 대한 제목,아이콘,Task수를 리스트로 보여준다. 2. Add TaskList Screen..
-
아마도 그때는 절대 오지 않을 것이다.Bull-shit🐶 2023. 11. 22. 22:42
누군가가 무슨 일을 하면서 살고 싶냐 묻는 다면 "모르겠다" 성의 없게 느껴질 수도 있지만 나름 시간을 가지며 질의응답을 해보아도 "모르겠다" 그렇다고 그럼 하고 싶은 게 없는 거네라고 한다면 서운한 말씀 정확히 하고 싶다기보다는 해보고 싶은 게 엄청나게 많다. 다만 꿈이나 목표 같은 단어에 가둘 만큼의 확신은 없어서 지금까지의 흔적들과는 어울리지 않는 일 같아서 계속해서 망설이며 그때가 오기를 기다린다. 하고 싶은 것도 정확히 알고 할 수 있는 시간도 있으며 해야 하는 이유도 있는 적절하고도 미묘한 그 순간만을 계속해서 기다렸다. 온다는 확신은 없지만 언젠가는 오지 않을 까라는 막연한 희망 한줄기 걸치고 삶은 유한하지만 언젠가라는 단어는 아직 무한한 주사위를 손에 쥐고 있는 것처럼 느끼게 해 주기에 한..
-
자신의 존재에 대해 사과하지 말 것 - 존재의 방식Library📓 2023. 10. 11. 22:38
세상에 딱 하나의 독립체로서 인정받을 수 있는 게 무엇이 있을까? 사람들의 모임, 세포들의 집합, 원자들의 결합 … 아무리 파고 내려가도 우리가 보통 접하는 것들은 모두 다 무언가의 구성체의 결과이다. 결국 어떤 하나든 다른 하나의 일부로서 존재하게 된다. 공동체의 일원으로서 필연적으로 관계를 주고받아야 하고 이 과정 속에서 전체에 나를 묻히기도, 전체가 나를 묻기도 한다. 하나가 철저한 개인으로서 존재하는 것은 불가능하다. 주변이 존재하기에 상대적인 관계로 하여금 나를 정의할 수 있다. 그렇기에 비교를 하지 말라는 것은 허공에 자신을 던지라는 말과 다르지 않다. 무의 상태를 추구하는 것이다. 현실세계에서 ‘살고자’하는 생명체로써 이는 아주 어려운 과제일 것이다. 빛이 있기에 어둠에 숨을 수 있으며 고독..
-
예술가로 살아가기Bull-shit🐶 2023. 9. 22. 15:44
예술가라는 단어를 들으면 그림을 그리거나 음악을 만드는 등 세상에 없던 새로운 것들을 창조해 내는 신비한 사람들이 떠오른다. 그렇기에 대부분의 사람들에게 예술가라는 정체성은 아주 멀리 떨어진 이야기일 뿐이다. 하지만 예술가를 '이전에 존재하지 않았던 것을 새로이 만들어내는 사람'으로 정의한다면 모든 사람들은 세상에 나온 순간부터 예술가로서 살아가는 것이다. 우리를 둘러싸고 있는 세상, 지금 내가 존재한다고 생각하는 현재는 완전한 외부 세계의 투영이 아니기 때문이다. 전 우주로부터 쏟아져 들어오는 셀 수 없는 자극을 1차적으로는 감각기관들이 2차적으로는 내면의 필터가 선별한 것들을 바탕으로 매 순간 각자만의 새로운 세계를 창조하고 있다. 따라서 예술가의 정체성을 갖기 위해서 특별히 무언가를 새롭게 해야 되..