안녕하세요 Hani입니다. 이번에는 LLDB를 이용한 디버깅 방법에 대하여 알아볼 거예욥. LLDB는 런타임에 앱을 디버깅할 수 있도록 도와주는 디버거예요.🍔 좌하단에서 런타임에 값을 확인할 수 있고 우하단에 lldb 보이시져? 저기다 커멘드 입력하면 됩니다. po, p, v 커멘드를 순차적으로 알아볼게욥. po 변수명 객체에 대한 description을 출력해주는 명령이에요. CustomDebugStringConvertible 프로토콜을 채택하고 debugDescription 프로퍼티를 구현하면 객체의 description이 구현한 문자열로 바뀝니다. CustomReflectable 프로토콜을 채택하여 하부 구조를 커스텀할 수도 있습니당. 단순한 출력뿐 아니라 의도한 대로 출력할 수도 있어요. ☺️ p..
안녕하세요 Hani입니다. 코드로 뷰를 작성할 때 translatesAutoresizingMaskIntoConstraints = false를 까먹는 경우가 많아서 😅 @propertyWrapper struct UseAutoLayout { var wrappedValue: T { didSet { useAutoLayout() } } init(wrappedValue: T) { self.wrappedValue = wrappedValue useAutoLayout() } private func useAutoLayout() { wrappedValue.translatesAutoresizingMaskIntoConstraints = false } } @UseAutoLayout private var label = UILabe..
안녕하세요 Hani입니다. BaseViewController를 어떻게 만들까 고민한 결과를 적어볼까 해요. ☺️ class ViewController: UIViewController { let viewModel: T private var cancellables = Set() init(viewModel: T) { self.viewModel = viewModel super.init(nibName: nil, bundle: nil) } init?(coder: NSCoder, viewModel: T) { self.viewModel = viewModel super.init(coder: coder) } @available(*, unavailable) required init?(coder: NSCoder) { fata..
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr import Foundation func solution(_ answers:[Int]) -> [Int] { let one = [1,2,3,4,5] let two = [2,1,2,3,2,4,2,5] let three = [3,3,1,1,2,2,4,4,5,5] var result = [Int: Int]() result[1] = markingTest(answers: ..
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr import Foundation func solution(_ record:[String]) -> [String] { let users: [String: String] = recordToUsers(record: record) let messages: [String] = recordToMessages(record: record, users: users) return..
안녕하세요 Hani입니다. ☺️ 지난 포스팅에서는 WWDC17 Engineering for Testability의 Testable App Code에 대하여 알아봤고 이번에는 같은 세션의 Scalable Test Code에 대하여 알아볼 거예요. Scalable Test Code는 프로젝트의 크기나 복잡성이 커져도 대응할 수 있는 테스트 코드를 말합니다. 이를 위해 테스트 코드를 더 빠르고, 읽기 쉽고, 모듈화를 할 수 있는 방법에 대하여 다룰 거예요. Scalable Test Code를 위한 기술로 총 세 가지가 제시됐는데 순서대로 알아보겠습니당. 먼저 UI Test와 Unit Test의 균형을 맞추는 거예요. ☺️ Unit Test는 UI Test보다 더 빠르기 때문에 테스트 코드에서 더 비중이 커야 ..
- Total
- Today
- Yesterday
- State Restoration
- rxswift
- HIG
- WWDC19
- 포드 풀커슨 알고리즘
- WWDC16
- WWDC17
- 최단경로문제
- 컴퓨터 추상화
- CompositionalLayout
- observeOn
- 최단경로 알고리즘
- 다익스트라 시간복잡도
- test coverage
- 최단경로 문제
- WWDC21
- 벨만포드 시간복잡도
- 코딩대회
- CPU와 Memory
- 에드몬드 카프 알고리즘
- 네트워크 유량
- IOS
- MeTal
- 벨만포드 알고리즘
- 최대 매칭
- 네트워크 플로우
- 부스트캠프 6기
- mach-o
- 강한 순환 참조
- Testable
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |