SohyeonKim(347)
-
UMC iOS ์ธ๋ฏธ๋ 7์ฃผ์ฐจ : DB
์ค๋ ๋์ ์ด์์ฒด์ ๋ฅผ ์ ๋ค๋ฃจ๋๊ฒ iOS์์ ๋ง์ด ์ค์ํ๋ค. iOS ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํ์ฉํ์ฌ ์์ ํ ๋ ๋์์ด ๋ ๊ฒ DBMS ์น๋ช ์ ์ธ ๋จ์ ๋ฐ์ดํฐ๋ฅผ ํ์ผ ํ์์ผ๋ก ๋ค๋ฃฌ๋ค ์ํ ๊ฐ์ ๊ฒฝ์ฐ -> ๋ณด์์ ๋ฌธ์ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌ RDBMS ๋ฐ์ดํฐ๊ฐ ํ ์ด๋ธ ํํ๋ก ์กด์ฌ ํ ์ด๋ธ ํ์์ ์คํค๋ง, ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ์ฑ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ํ์ผ ํํ๋ก ์ ์ฅํ๋ DBMS์์ ๋จ์ ์ ๋ณด์ํจ PK : Primary key, ๊ธฐ๋ณธํค FK : Foreign Key, ์ธ๋ํค SQL ํ ์ด๋ธ์ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์ฑ ๋ฐ ์ญ์ , ์ ๋ฐ์ดํธ๋ฅผ ํ๊ธฐ ์ํ ์ธ์ด ์ ๋ฆฌ ์ํ์ ์ ์ฐ ๋ฐ์ดํฐ์ ๊ฐ์ ๊ฒ๋ค ๋ฐ์ดํฐ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ฌถ์ฌ์๋ค. ์ด๋ฌํ DB๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ ์ผ๋ก ๊ด๋ฆฌํ๋ค. RDBMS๊ฐ ๋ฌด์กฐ๊ฑด DBMS๋ณด๋ค ์ข์ ๊ฒ์ ..
2022.11.07 -
[MACRO] AR-Kit Code Keep
1. UniverseSearchViewController+DataSource.swift // // UniverseSearchViewController+DataSource.swift // Tars // // Created by ๊น์ํ on 2022/11/04. // import UIKit extension UniverseSearchViewController: UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return planetList.count } func collectionView(_ collectionView: UI..
2022.11.07 -
UMC ์๋ฒ 6์ฃผ์ฐจ ์ธ๋ฏธ๋ (11/2, ์์์ผ)
+ ์กฐ์ธํ ๋, ์ถ์ฝํ ์ฐ๋ ๊ฒ ์ถ์ฒํ์ง ์๋๋ค. + ์ปฌ๋ผ๋ช ์ด ๋ง์์ ์๋ค ๋ ํ์ฉํ๋ ๊ฒ๋ง ๊ถ์ฅ - ๊ฒ์์ ์๋๋ค (์์ง ์๋ฌด ๊ฒ๋ ๊ฒ์ ์ํจ, ๋ก๊ทธ์ธ๋ ๋ง์ฐฌ๊ฐ์ง) - ๊ด๊ณ , ๋ ์จ ๋ฑ๋ฑ: ํ์ฌ ์ํฉ์์ DB์์ ๋ถ๋ฌ์จ ๊ฐ (์๋ฒ์ ์ฐ๊ฒฐ๋ ๋ถ๋ถ๋ค) - ๋ ์ด์์์ ์ ์ธํ ๊ฒ๋ค์ ๋ชจ๋ DB์ ์ ์ฅ๋ ๊ฐ์ ๋ถ๋ฌ์จ ๊ฒ - ์ค์ ์๋น์ค ํ๋ฉด์ ๋ณด๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ด๋ค ๊ฐ๋ค์ ๋ณด๋ด์ค์ผ๊ฒ ๊ตฌ๋ ์๊ฐํ๋ ๊ฒ์ด ๋์์ด ๋๋ค. - ์ฟผ๋ฆฌ๋ฅผ ์งค ๋, Join ๋ฌธ์ ๋ง์ด ์จ๋ด์ผ ํ๋ค. - ์ต๋ํ ๋ง์ ์ ๋ณด๋ฅผ ๋ด์ ์ ์๋๋ก ์ฟผ๋ฆฌ๋ฅผ ์ง๋ด์ผ ํ๋ค. Get ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ฒ ๊ทธ๋ผ http์ body๋ฅผ ๊ฐ์ ธ์ค๋? X Query String & Path Variable ์ ํ์ฉํ๋ค. Post ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ณด๋ด๋ ๊ฒ body์ ๋ฐ..
2022.11.02 -
[Git] Branch, Merge, PR
Git ๊ด๋ จ ์ด์ ํด๊ฒฐ (with ์์ด์) develop(remote) -> develop(local) develop(local) -> ์์ ์ค์ธ ๋ด ๋ธ๋์น(local) ์๋ก ์ถ๊ฐ๋ ํ์ผ๋ค๋ ์ปจํ๋ฆญ ์์ด ๋ค์ด์จ๋ค. ๊ฒฐ๋ก : Local Develop Update ํ ๋ค, PR ์์ฃผ ๋จธ์งํ์ ๋ด ์์ ์ด์ธ์ ์ฝ๋๊ฐ ๋ณ๊ฒฝ์ ์ผ๋ก ๋จ๋ฉด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ (์ ์์ ์ธ ๋์์ ์๋๋ค) release ๋ฒ์ ์ด ์๋ค๋ฉด, ์ผ๋ฐ์ ์ผ๋ก ๋ค๊ฐ์ด merge ๋ฐ๋๋ค. ๋์ผ ํ์ผ ์์ ์ด ์๋๋๋ผ๋, ํ์ผ ์์น๊ฐ ๋ฐ๋๊ฑฐ๋ ๊ทธ๋ฃน์ด ๋ณํ๊ฑฐ๋ ๋ฑ๋ฑ ์ธ๋ถ์ ์ธ ์ฌํญ์ Xcode๊ฐ ๋ชจ๋ ๊ธฐ๋กํ๊ธฐ ๋๋ฌธ์ ์ปจํ๋ฆญ์ด ๋ ์ ์๋ค. Local Develop Update -> PR merge ์์ฃผํ๊ธฐ!
2022.11.02 -
[iOS APP] ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ์ฉํ ์๋ ์ดํ _ UMC 6์ฃผ์ฐจ ๋ฏธ์
https://github.com/SohyeonKim-dev/UMC-iOS/tree/main/Week6 GitHub - SohyeonKim-dev/UMC-iOS: ๐ UMC 3rd ๊ฒฝํฌ๋ - iOS Challenge ๐ UMC 3rd ๊ฒฝํฌ๋ - iOS Challenge . Contribute to SohyeonKim-dev/UMC-iOS development by creating an account on GitHub. github.com ์์ ์ฝ๋: https://hkoonsdiary.tistory.com/14 Git-hub: https://github.com/SohyeonKim-dev/UMC-iOS/tree/main/Week6 ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ Label๊ณผ datePicker ์์์ ๋ณ๊ฒฝํ๋ค. +..
2022.11.02 -
[Swift] CollectionView Cell _ Lingo Feedback
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: SelectPlanetCollectionViewCell.identifier, for: indexPath) as? SelectPlanetCollectionViewCell else { return UICollectionViewCell() } let selectedPlanetName = planetList[indexPath.row].planetName let selected..
2022.11.01 -
UMC iOS ์ธ๋ฏธ๋ 6์ฃผ์ฐจ: Thread
DispatchQueue.main() -> main ์ค๋ ๋, UI ๊ด๋ จ ์์ ์ ๋ฐ๋์ ๋ฉ์ธ ์ค๋ ๋์์๋ง! DispatchQueue.global() -> ์ด์ธ์ ๋ค์ํ ์ฒ๋ฆฌ๋ค์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ == global ์ด๋, UI ๊ด๋ จ ์์ ์ main์์! ๋ฐ๋ผ์ global ๋ด๋ถ์์, UI ์ฝ๋๋ง main์ผ๋ก ๊ฐ์ผ๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋๋ฆฌ๋ฉด์, ํด๋น ์์ ์ main์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ๊ฒ ์ด์ ์ ๋์คํจ์น ํ ์ฝ๋๋ฅผ ์ ๋ ๊ฒ ์ฐ๋์ง ์ดํด๊ฐ ๊ฐ๋ค ;;
2022.10.31 -
UMC iOS 5์ฃผ์ฐจ ์ธ๋ฏธ๋ (10/17 ์์์ผ)
https://developer.apple.com/documentation/uikit/uitableviewcell/1623223-prepareforreuse If a UITableViewCell object has a reuse identifier, the table view invokes this method just before returning the object from the UITableView method dequeueReusableCell(withIdentifier:). To avoid potential performance issues, you should only reset attributes of the cell that are not related to content, for exa..
2022.10.18 -
UMC ์๋ฒ ์ธ๋ฏธ๋ 3์ฃผ์ฐจ ๋ณต์ต๊ฐ์ 2 (10/14)
๊ณผ๊ฑฐ์๋ ๊ธฐ์ ์ด ๋ชจ๋ ๊ณผ์ ์ ์์ ํจ (On Promise) -> ์ ์ฐจ ์๋น์ค๋ก ์ ๊ณต๋๋ ๋ฒ์๊ฐ ํ์ฅ๋จ : ๋ฌธ์ ์์ฒด์ ์ง์คํ ์ ์๊ฒ ๋์๋ค. : ๋ณดํต์ IaaS ์์์ ์์ ์ ํ๊ฒ ๋๋ค. AWS EC2: ์๋ฒ ์ปดํจํฐ RDS: ๊ด๊ณํ ๋ฐ์ดํฐ ์๋น์ค (Relational Data Service), ๋ฐ์ดํฐ๋ฒ ์ด์ค S3: ํ์ผ ์ ์ฅ์ ๊ตฌ๊ธ์ ๋ก๊ทธ์ธ ํ๋ฒ ํ๋ฉด ๋์ผํ ๊ณ์ ์ผ๋ก ๋ค์ํ ์๋น์ค ์ด์ฉ ๊ฐ๋ฅ -> ๊ฐ๊ฐ ์น์๋ฒ์ WAS๋ ๋ฐ๋ก ์กด์ฌํ์ง๋ง, DB๋ฅผ ๊ณต์ ํ๋ค. (๊ณ์ ์ ๋ณด ๊ณต์ ) ์ฅ์ : ๋จ์ผ ๊ณ์ ์ ํตํด ๋ค์ํ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๋ค. ์ฅ์ 2: DB ์์ (์น์๋ฒ๋ WAS๊ฐ ํฐ์ง ๋, DB๋ ๊ฐ์ด ๋ ๋ผ๊ฐ๋๋ฐ, ์ด๋ ๊ฒ ๋ถ๋ฆฌํ๋ฉด ๋ฐ์ดํฐ ์ ์ค ๊ฐ๋ฅ์ฑ์ด ๋จ์ด์ง๋ค.) ๋จ์ : ์ด๊ฒ ํธ๋ฆฌ๋ฉด ๋ค ํธ๋ฆฐ๋ค. (๋ณด์ ์ธก๋ฉด์์)..
2022.10.14 -
UMC ์๋ฒ ์ธ๋ฏธ๋ 3์ฃผ์ฐจ ๋ณต์ต๊ฐ์ 1 (10/14)
ํ๋์จ์ด: ์ ์ถ๋ ฅ์ฅ์น (ํค๋ณด๋, ๋ง์ฐ์ค, ์คํผ์ปค, ํ๋ฆฐํฐ, ๋ชจ๋ํฐ ๋ฑ๋ฑ) + CPU์ ๋ฉ๋ชจ๋ฆฌ๋ ํฌํจ๋๋ค. ์์คํ ์ํํธ์จ์ด - ์ด์์ฒด์ (OS) - ์ธ์ด ๋ฒ์ญ๊ธฐ - ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ๋ ์ธ์ด๋ก ๋ฒ์ญํ๋ ๊ณผ์ - ์ด์ ๋ธ๋ฌ, ์ธํฐํ๋ฆฌํฐ, ์ปดํ์ผ๋ฌ - ์ ํธ๋ฆฌํฐ (๋ณด์กฐ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ) ํ๋์จ์ด๋ 0๊ณผ 1๋ก ๋์ํจ (์ด์ง๋ฒ) OS: ์ปดํจํฐ์ ํ๋์จ์ด/์ํํธ์จ์ด ์์์ ํจ์จ์ ์ผ๋ก ์ด์ ๋ฐ ๊ด๋ฆฌํ๋ค. ๋ฐ๋ผ์ App๋จ์์ ์ฒ๋ฆฌํ๋ ์์ ๋ค๋ก ์ปดํจํฐ๋ฅผ ๋์์ํฌ ์ ์์ (์ ๊ธ ์ธ์ด, low-level ์ธ์ด) OS์ ์ญํ 1) ์์คํ ์์ ๊ด๋ฆฌ 2) ์ฌ์ฉ์์ ์ปดํจํฐ ๊ฐ์ ์ํต ์ง์ (CLI - ์ปค๋ฉ๋ ๋ผ์ธ ์ธํฐํ์ด์ค, GUI - ๊ทธ๋ํฝ ์ ์ ์ธํฐํ์ด์ค) 3) ์์ฉ ํ๋ก๊ทธ๋จ ๊ด๋ฆฌ/์ง์: API (A..
2022.10.14