Search

10주차 멘토링

진행 일자
2023/11/22
피드백 여부
피드백 진행 전

이번주에 배운 것들

1.
Filemanager와 내부 샌드박스 구조에 대해서
2.
UIkit으로 다양한 화면 구성 ( Tableview의 ReusableCell 등등)
3.
UIKit을 SwiftUI와 연결하는 방법

프로젝트 진행 상황

파이썬 > 이미지 크롤링하며 OCR로 데이터 구현하려했지만 이미지 해상도가 낮음
OCR이 잘안되서 고화질로 크롤링 우회 > 법적인 문제 여부 체킹
크롤링이 아닌 이미지를 모아서 해야할듯?
구글 이미지 검색하여 데이터 수집중 > 한품목 5가지 100개정도 표준화
메인 뷰 UI 완성
카메라 / 보이스오버
결과 1번 화면 아직 미구현
태훈님이랑 같이
카메라 부분은 현재 학습중?!
개발자 사이트에서 카메라에 대해 학습중!
수업진도도 있어서 물리적인 시간이 많이듬
1월 이후 프로젝트 팀 섞임!
시간을 더 늘려서 공수산정을 해도될듯!

멘토링

RenderImageModifier
뷰 렌더링
뷰 모디파이어
UIKit 컴포넌트
@IBOutlet
인터페이스 빌더(스토리보드)와 코드를 연결하기 위해 사용되는 방법!
코드에 연결하면 @IBOutlet weak var title: UILabel!
! → 강제 옵셔널 바인딩
guard let , if let 옵셔널 바인딩
스토리보드랑 클래스가 1:1 대응
연결되어 있는 상황에서는 확실하게 존재한다고!
파탈 에러가 뜸!
개발자가 규약을 잘 따라라~
하이 리스크를 미리 개발자가 개발시점에 파악할 수 있도록
@IBAction
사용자 인터랙션
메인스레드를 사용하여 시간 소모적인 작업을 수행하는 앱 내의 다른 코드는 시간 소모적인 작업이 완료될때까지 전체 애플리케이션이 멈춘것처럼 보이게 한다.
메인 스레드
계속 유지되고 있나
앱 > 사용자의 인터랙션 상호작용 & 뷰를 보여줘야함!
60hz > 1초당 60번의 깜빡임
메인스레드는 뷰 / 화면 UI
뷰는 멈추겠죠? 메인 스레드는 1개!
멈춘것처럼 보이는것!
앱이 멈춘게 뷰를 렌더링 하는것이 멈춘것!
Task / async / await
비동기 처리 방법
스레드 & 비동기 처리
비동기 / 동기 차이
동기가 계속 작업이 되고 있다?
Synchronous
싱크가 되어 있는 얘
동기
작업이 순차적으로 실행
한 작업 완료되기전에는 > 다음 작업이 대기중
print(1) print(2) 1 / 2
서버 통신 > 이미지를 불러온다거나
동기적이면 다 기다려야함 순서대로 > 작업이 끝날때 동안 프로그램이 멈추고 > 효율성 저하
비동기
Asynchronous
작업이 동시에 실행될 수 있음 ㅇㅇ
한 작업이 완료되는것을 다 기다리는것이 아니고 다음 작업을 시작한다
네트워크 통신
네트워킹을 요청하는 비동기 함수가 존재
해당 요청을 시작해놓고 다음 코드를 실행할 수 있음!
스레드 - 일련의 작업 단위
OS > Process > Thread
SwiftUI
Spacer()
struct A { let title: String init() {} } // A 인스턴스 만들때 let a = A(title: "green") // title 출력 print(a.title)
Swift
복사
MapKit
NaverMap