-
Tuist 설치하기iOS/Tuist 2024. 6. 3. 00:52
모듈화 작업을 위해 Tuist를 설치해보았다. 그런데 Tuist를 설치하기 위해서는 mise를 먼저 설치해야 했다. mise는 Tuist 버전을 설치하고 관리 및 활성화 하는 도구라고 한다.(CocoaPod을 사용해 라이브러리를 설치, 관리하는 것과 비슷하다고 생각됨) mise 설치하기 터미널에서 아래 명령어를 입력한다. curl https://mise.run | shchmod +x ~/.local/bin/mise~/.local/bin/mise --version 그럼 아래처럼 터미널에 보이게 된다. mise를 터미널에 연결하기 그리고는 mise를 터미널에 연결하는 작업을 해야하는데,bash, zsh, fish 각자 맞게 설정한다. echo 'eval "$(~/.local/bin/mise act..
-
TCA BindingiOS/TCA 2024. 3. 5. 22:16
강의를 듣다가 새로운 것을 발견하여 기록한다. 기존에 TCA 아키텍처 기반으로 TextField의 text를 받아올 때 다음과 같이 사용했었다. 1) import SwiftUI import ComposableArchitecture struct SomethingView: View { let store: StoreOf @State var email: String = "" var body: some View { WithViewStore(self.store, observe: { $0 }) { viewStore in VStack { TextField("이메일을 입력하세요", text: $email) .padding() .onChange(of: email) { viewStore.send(.textChanged($0..
-
TCA ToastiOS/TCA 2024. 3. 4. 15:02
State, Action, Reducer를 이용하여 TCA를 어느정도 사용할 줄은 알지만Effect 처리 하는 방법에 대해 공부가 필요하다. case .nameButtonTapped: state.name = "hello Mr.L" return .none 일반적으로 View에서 Action을 호출해서 State을 변경시키고 종료시키는 것이 많긴하지만,만약 Timer나 API 호출이 필요하다면 return .none 으로 끝나서는 안된다. 오늘 예제에서는 Toast Message를 3초간 띄워주고 없애는 것을 해보려고 한다. View에 아래와 같이 Button과 Toast로 띄워줄 Text를 만들어보자Text는 isShowToast가 true일 때 보여줄 예정이다. Button("Toast 보이기") { v..
-
TCA 1.0 The BasiciOS/TCA 2024. 3. 3. 00:23
TCA(The Composable Architecture) 1.0을 정리해보자.(글을 쓰고 있는 지금 현재 TCA 버전 1.9.1이 최신 버전이라는 것은 비밀..😱) 일단 TCA는 선언형 UI인 SwiftUI와 잘 맞는 아키텍처로 알려져있고, 또 단방향 Flow라는 특징을 가지고 있다. 간략하게 설명하면 View에서 어떤 action이 들어오면 TCA Store 내부 Action에서 State를 변경 시켜주고, 그 변경된 State를 SwiftUI View에서 감지하여 화면이 업데이트 되는 방식이다. (대충 위의 그림과 같은 데이터의 방향성을 가진다. (출처: https://www.merowing.info/multi-store-tca/)) 기존 1.0 버전 이전에서는 State, Action, Reduc..
-
N2T 설정하기ETC 2023. 11. 11. 00:51
그동안 바쁘다는 핑계로 정리하지 못했지만,연초에 위시리스트로 작성했었던 블로그 글 정리를 연말이 되어서야 해봅니다. 그런데 요즘 Notion → Tistory로 글을 전달해줄 수도 있다고 해서저도 한 번 해보았습니다!! 방법으로는 1. 노션에 블로그 글들을 올릴 Table을 하나 만든다.2. GitHub을 clone한다.3. config.py, main.py 등 정보를 기입한다.4. main.py를 실행시킨다.5. 알아서 로그인을 하고 tistory에 글을 등록시켜준다.6. 끝 쉬워보여서 금방할 것이라 생각했지만,몇가지 헤맸던 부분들이 있어서 기록으로 남겨봅니다. 그럼 순서대로 시작해봅니다. 1. 노션에 블로그 글들을 올릴 Table을 하나 만든다. https://jmjeon94.notion.site/0..
-
Chapter 01. 영상 처리 개요ImageProcess/영상처리 Basic 2021. 1. 24. 03:02
영상 처리(image processing)는 입력된 영상을 어떤 목적을 위해 처리하는 기술이다. 영상 처리 수준은 고수준, 저수준으로 나눌 수 있는데, 고수준은 영상 처리 후 출력이 영상이 아닌 영상의 특성을 나타내고 (영상분할, 영상표현, 영상인식) 저수준은 영상 처리 후 출력이 그대로 영상이다. (영상획득, 영상향상, 영상복원, 변환처리, 영상압축) 내가 관심있는 컴퓨터 비전은 고수준에 해당한다. 영상처리의 시작은 1920년대 초반에 런던과 뉴욕 간에 해저 케이블을 통한 사진 전송 사례가 시작으로 본다. 디지털영상처리는 1964년 우주선에서 보내온 훼손된 영상의 복원 연구 과정에서 시작되었다. 영상처리는 컴퓨터 비전, 컴퓨터 그래픽스 분야와 서로 관련이 있는데, 영상처리는 입력 영상을 처리하여 출력으..
-
UITableViewCell의 UICollectionView 데이터 값 전달하기iOS/Did 2020. 5. 26. 22:30
이렇게 하는게 맞는지 모르겠다.. 일단 하나의 UITableViewCell에 UICollectionView가 들어있고, 그 UICollectionView의 Cell을 클릭했을 때 다음 화면으로 이동과 동시에 값을 전달해야했다. 여기서 내가 몰랐던 것은 어디서 delegate를 어디에 선언해야하는 것인가..... delegate를 잘 모른 것도 나의 헤멤에 큰 보탬이 되었다. 결론적으로 다음과 같이 cell에 collectionView를 담을 때 넣으면 된다. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = testTableView.dequeueReus..