[정남훈]
•
프로젝트를 진행할 때 고려해야 할 것들이 너무 많은 것 같은데 포트폴리오용 프로젝트를 개발할 때 어느정도 수준으로 만들어야 할지 잘 모르겠습니다.
◦
배포를 위한 프로젝트 개발 vs 딥한 기능 프로젝트 개발
▪
후자가 더 이득
▪
기능이 적더라도 완벽히!
◦
회사마다 도메인이 달라 프로젝트에 다 녹이기 힘듬
▪
커머스 / 스트리밍 OTT / 지도 / 금융 → 도메인
▪
원하는 도메인을 먼저 생각해보고 그에 맞춰 방향성을 잡음
▪
커머스
•
HTTP 통신
•
클론코딩
[이종원]
•
위의 .large 나 .tint 에서 소괄호 안에서 그냥 . 을 찍었을때 어디에 접근하는건지 궁금합니다.
◦
Enum 케이스
◦
imageScale(Scale.init())
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundColor(CustomColor.cuostmRed.customColor)
Text("Hello, world!")
}
.padding()
}
}
extension Color {
static let customColor = Color(cgColor: .init(red: 255/255, green: 255/255, blue: 255/255, alpha: 1))
}
enum CustomColor {
case customBlue
case cuostmRed
///
var customColor: Color {
switch self {
case .customBlue:
return Color(cgColor: .init(red: 255/255, green: 255/255, blue: 255/255, alpha: 1))
case .cuostmRed:
return Color(cgColor: .init(red: 255/255, green: 255/255, blue: 255/255, alpha: 1))
}
}
}
Swift
복사
•
SQL 구문을 직접 사용하는 빈도는 어떻게 되나요?
◦
거의 없음
◦
API 호출
▪
HTTP method
•
get / post / delete / put
◦
보완에 취약함
▪
앱을 통해 DB 변경 가능
▪
위험함!!!
•
guard let / if let (옵셔널 바인딩)
func getText() -> String {
// 옵셔널을 해제하는 방법
// 1. 강제 언래핑
return text!
// 2. 옵셔널 바인딩
/// guard let
guard let unwrappedText = text else {
return "없어요"
}
return unwrappedText
/// if let
if let unwrappedText1 = text {
return unwrappedText1
} else {
return "ggg"
}
}
Swift
복사
•
클로저를 사용하는 이유
◦
값을 캡쳐해서 상수나 변수를 사용하기 위해서
var num = 0
let plusNum = {
num += 1
}
plusNum()
plusNum()
plusNum()
plusNum()
Swift
복사
▪
escaping closure
◦
클로저 - 이름이 없는 함수
▪
코드 블럭
•
패캠 UX/UI & PM 강의
◦
지금이 시기는 적절!
•
질문을 Wrap-up 하는 시간을 가져봐도 좋을것 같아요!!
•
SwiftUI
◦
ViewLayout 결정원리
•
LazyVStack
◦
여러 데이터 처리할 시 참고