๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐ŸŽ iOS61

[iOS] WKWebView - ์•ฑ์—์„œ ์›น๋ทฐ๋ฅผ ๋„์šฐ์ž ๐Ÿ“ฑWKWebView Class WKWebView ๊ฐ์ฒด๋Š” ์•ฑ ๋‚ด๋ถ€์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. WKWebView ๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ๋ทฐ์— HTML, CSS, JavaScript ๋กœ ํ‘œํ˜„๋˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ง•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•ด์•ผํ•  ๊ฒฝ์šฐ, ์›น์•ฑ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ์ด์—์š”. ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ๋ณด๋‹ค๋Š” ์›น์•ฑ์€ ์›น ์ฝ˜ํ…์ธ ๋งŒ ๋ฐฐํฌํ•˜๋ฉด ๋˜๋‹ˆ ์ข€๋” ์œ ์—ฐํ•œ ๋Œ€์ฒ˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒ ์ฃ . ๐Ÿ‘‹ WKWebView Delegate WKWebView ๋Š” delegate ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์œ ์ €์˜ ๊ฒฝํ—˜๊ณผ ํƒ์ƒ‰์„ ์ปจํŠธ๋กคํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์œ ์ €์˜ ๊ฒฝํ—˜์€ UI delegate, ํƒ์ƒ‰์€ navigation delegate ๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค๊ณ  ์ดํ•ดํ–ˆ์–ด์š”. ๐Ÿค” navigation delegate (WKNavigationDelegate) ๋ฅผ.. 2022. 4. 30.
[iOS/SwiftUI] View, Stack ๊ธฐ๋ณธ ์ •๋ฆฌ SwiftUI ๋Š” UIKit ๊ณผ ๋น„์Šทํ•˜๊ฒŒ iOS ์•ฑ์˜ UI ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. iOS13 ๋ถ€ํ„ฐ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜์ง€๋งŒ iOS14 ์ด์ƒ๋ถ€ํ„ฐ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์•„, ๋ฏธ๋‹ˆ๋ฉˆ iOS14 ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๋‹ค์Œ ์‚ฌ์ด๋“œํ”„๋กœ์ ํŠธ๋‚˜ ํด๋ก ์ฝ”๋”ฉ์€ SwiftUI ๋กœ ๊ผญ ํ•ด๋ด์•ผ๊ฒ ์–ด์š”!! ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•œ ์Šคํ„ฐ๋”” ์‹œ์ž‘~! ๐Ÿ’ช SwiftUI ์— ๋Œ€ํ•œ ํŠน์ง• - ์„ ์–ธ์  ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋Šฅ์„ ๋ช…์‹œํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. - ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ UI ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (๊ณผ์—ฐ ์ž์ฃผ์“ธ์ง€ ์˜๋ฌธ์ด์ง€๋งŒ์š”) - ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์†์„ฑ์€ ๋ฉ”์†Œ๋“œ ์ฒด์ด๋‹(Method Chaining) ๋ฌธ๋ฒ•์„ ์ด์šฉํ•ด ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. View ํ”„๋กœํ† ์ฝœ์˜ Instance method ๋ฅผ ๋ณด๋ฉด.. 2022. 4. 29.
[iOS/Swift] TextView - URL (ํ•˜์ดํผ๋งํฌ)ํด๋ฆญํ•ด ์›น๋ทฐ ๋„์›Œ์ฃผ๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š”. UITextView ์— ํ•˜์ดํผ๋งํฌ๋กœ URL ์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณธ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Ÿฌ ์™”์Šต๋‹ˆ๋‹ค! ์ฒ˜์Œ์—๋Š” UILabel ์—์„œ ์ ์šฉํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ฐฉ๋ฒ•์ด ๋ณต์žกํ•ด์„œ UITextView ๋กœ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค. - UILabel ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”. ๐Ÿ“ ๋ชฉ์ฐจ 1. TextView ์˜ dataDetectorTypes ์†์„ฑ ์„ค์ •ํ•˜๊ธฐ 2. UITextViewDelegate ๋ฅผ ํ†ตํ•ด WKWebView ๋„์›Œ์ฃผ๊ธฐ ์ด ๋‘๊ฐ€์ง€ ๊ณผ์ •์„ ํ†ตํ•ด TextView ์˜ ํ…์ŠคํŠธ ์ค‘ Http links ๋ฅผ ํด๋ฆญํ•ด ์›น๋ทฐ๋ฅผ ๋„์›Œ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. TextView ์˜ dataDetectorTypes ์†์„ฑ ์„ค์ •ํ•˜๊ธฐ UITextView ์—๋Š” dataDetectorTypes ์†์„ฑ์ด ์žˆ์–ด, phone num.. 2022. 1. 25.
[Swift] final ํ‚ค์›Œ๋“œ๋Š” ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ? Swift ์—์„œ๋Š” ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋น„์Šทํ•˜๊ฒŒ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•ด ์„œ๋ธŒํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋งŒ์•ฝ, ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ๋”์ด์ƒ ์ƒ์†์ด ํ•„์š”์—†๊ฑฐ๋‚˜ ํŠน์ • ์†์„ฑ์€ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”?! ๐Ÿ‘€ final ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ๋” ์ด์ƒ ์ƒ์†์ด ํ•„์š”์—†์Œ์„ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๊ณ , ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•  ์‹œ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๋ช…์‹œ์ ์œผ๋กœ ์ƒ์†๋˜์ง€ ์•Š๋Š” ๊ฒƒ ์™ธ์— ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋œ๋‹ค๋Š” ์žฅ์ ๋„ ์žˆ๋‹ค๊ณ  ํ•ด์š”. ๐Ÿ‘€ Swift ๋ฌธ์„œ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•˜๊ณ  ์žˆ์–ด์š”! ์„œ๋ธŒํด๋ž˜์Šค์—์„œ ํŠน์ • method, property, subscript ๊ฐ€ ์˜ค๋ฒ„๋ผ์ด๋“œ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด์„œ final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. final ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์ธ method, property, subscript ๋ฅผ ์„œ๋ธŒํด๋ž˜์Šค์—์„œ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜๋ฉด, ์ปดํŒŒ.. 2021. 12. 12.
[iOS] SnapKit / Then ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์ฝ”๋“œ๋กœ UI ๊ตฌํ˜„ํ•˜๊ธฐ SnapKit iOS ์—์„œ Autolayout ์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•  ๋•Œ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ์ฝ”๋“œ์˜ ๊ธธ์ด๋ฅผ ์ค„์—ฌ์ฃผ๊ณ , ๊ฐ€๋…์„ฑ์„ ๋†’์—ฌ์ฃผ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๋ทฐ ๊ณ„์ธต์˜ depth ๊ฐ€ ๊นŠ์–ด์ง€๋ฉด ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค. pure autolayout ์œผ๋กœ Autolayout ์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• view.addSubview(label) label.translatesAutoresizingMaskIntoConstraints = false let leading = label.leadingAnchor.constraint(equalTo: view.leadingAnchor) let trailing = label.trailingAnchor.constraint(equalTo: view.trailingAnchor) le.. 2021. 11. 11.
[iOS/RxSwift] RxDataSource - UITableView, UICollectionView RxSwift ์—์„œ DataSource ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! UIKit ์˜ UITableView, UICollectionView ๋ฅผ ์ด์šฉํ•  ๋•Œ์—๋Š” ๊ฐ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด data source ๋ฅผ ์ง€์ •ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ์š”. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” data source ํ”„๋กœํ† ์ฝœ์„ ์ฑ„ํƒํ•ด, ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. RxSwift ์™€ RxDataSource ์—์„œ๋Š” data source ๋ฉ”์†Œ๋“œ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ  ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์˜คํผ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 1. UIKit ์—์„œ data source ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• 2. RxSwift ์—์„œ data source ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• 3. RxDataSource ๋ฅผ ์ด์šฉํ•ด data source ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• 1. UIKit .. 2021. 10. 17.
[iOS] iOS ์•ฑ ๋ฐฐํฌ :: Certificates(์ธ์ฆ์„œ)์™€ Provisioning profiles(ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ) iOS ์•ฑ์„ ์•ฑ ์Šคํ† ์–ด์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฐœ๋… ์ค‘ ์ธ์ฆ์„œ์™€ ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ์„ ์•Œ์•„๋ณผ๊ฒŒ์š” ๐Ÿ‘€ 1. Certificates (์ธ์ฆ์„œ) 2. Provisioning Profiles (ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ) ์ง€๋‚œ๋ฒˆ ๊ฐœ๋ฐœํ•œ Zerobin ์•ฑ์„ ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ์ธ์ฆ์„œ์™€ ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ์„ ๋“ฑ๋กํ–ˆ์ง€๋งŒ ๋ฌด์—‡์„ ์œ„ํ•ด ํ•„์š”ํ•œ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿฅฒ 1. Certificates (์ธ์ฆ์„œ) ์ธ์ฆ์„œ๋Š” ์• ํ”Œ์ด ๊ฐœ๋ฐœ์ž๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์ฆ์„œ์ด๋‹ค. “์• ํ”Œ๋งŒ์ด ์ž์‹ ์˜ ํ•˜๋“œ์›จ์–ด์— ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค” -> ์• ํ”Œ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ๋งŒ ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ ํ•˜๋“œ์›จ์–ด์— ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์• ํ”Œ์˜ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด(์•„์ดํฐ, ์•„์ดํŒจ๋“œ)์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. - iO.. 2021. 10. 15.
[Swift] ์Šคํ„ฐ๋”” 7์ฃผ์ฐจ - ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 6/1 ์ง„ํ–‰ํ–ˆ๋˜ ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…์˜ 5์žฅ 'ํŠธ๋ฆฌ ๊ตฌ์กฐ ๊ธฐ๋ฐ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์Šคํ„ฐ๋”” ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค! 1. ๊ทธ๋ž˜ํ”„์˜ ๊ฐœ๋…, ๊ทธ๋ž˜ํ”„์˜ ์ข…๋ฅ˜ 2. ๊ทธ๋ž˜ํ”„์˜ ํ‘œํ˜„ ๋ฐฉ์‹ (์ฝ”๋“œ์ ์œผ๋กœ) 3. ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ - DFS(๊นŠ์ด์šฐ์„ ํƒ์ƒ‰), BFS(๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰) ๐Ÿ’ก ๊ทธ๋ž˜ํ”„(Graph) ๊ทธ๋ž˜ํ”„๋Š” ๋…ธ๋“œ(Vertex; ๊ผญ์ง€์ )์™€ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ (Edge; ๋ชจ์„œ๋ฆฌ)์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„์˜ ํ™œ์šฉ ์˜ˆ์‹œ : SNS ์—์„œ ์—ฐ๊ฒฐ๋œ ์‚ฌ๋žŒ๋“ค, ์ง€๋„, ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ, ์„ ์ˆ˜ ๊ณผ๋ชฉ ๋“ฑ .. โœ”๏ธŽ ๊ทธ๋ž˜ํ”„(Graph)์˜ ์ข…๋ฅ˜ 1) ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„(Undirected Graph) ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ ์ด ์–‘๋ฐฉํ–ฅ์„ฑ์ธ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ๋ฐฉํ–ฅ์ด ์—†๋‹ค๋Š”.. 2021. 7. 26.
[Swift] ์Šคํ„ฐ๋”” 5์ฃผ์ฐจ - ํŠธ๋ฆฌ ๊ตฌ์กฐ ๊ธฐ๋ฐ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 5/18 ์ง„ํ–‰ํ–ˆ๋˜ ์Šค์œ„ํ”„ํŠธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…์˜ 5์žฅ 'ํŠธ๋ฆฌ ๊ตฌ์กฐ ๊ธฐ๋ฐ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์Šคํ„ฐ๋”” ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค! ๐ŸŽ„ 1. ํŠธ๋ฆฌ์˜ ํŠน์ง• 2. ํŠธ๋ฆฌ vs ๊ทธ๋ž˜ํ”„ 3. ์ด์ง„ ํŠธ๋ฆฌ, ์ด์ง„ ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜ 4. ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(BST, Binary Search Tree) 5. ํŠธ๋ฆฌ ์ˆœํšŒ ๋ฐฉ์‹ 6. B ํŠธ๋ฆฌ์™€ ์Šคํ”Œ๋ ˆ์ด ํŠธ๋ฆฌ ๐ŸŽ„ ํŠธ๋ฆฌ(Tree) ํŠธ๋ฆฌ๋Š” ๋…ธ๋“œ์˜ ์ง‘ํ•ฉ์œผ๋กœ, ๊ณ„์ธต์„ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ฆฌ์˜ ์ตœ์ƒ์œ„ ๋…ธ๋“œ์ธ ๋ฃจํŠธ ๋…ธ๋“œ, ๊ทธ ์•„๋ž˜๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ์ž์‹ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋…ธ๋“œ๋Š” ํ‚ค ๊ฐ’, ์ž์‹ ๋…ธ๋“œ ์ง‘ํ•ฉ, ๋ถ€๋ชจ ๋…ธ๋“œ ๋งํฌ ๋“ฑ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ํŠธ๋ฆฌ์˜ ํŠน์ง• ํŠธ๋ฆฌ๋Š” ๊ทธ๋ž˜ํ”„์˜ ํ•œ ์ข…๋ฅ˜๋กœ, ์‚ฌ์ดํด์ด ์—†๋Š” ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๋Š” ์ด์ง„ ํŠธ๋ฆฌ, ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ, ๊ท ํ˜• ํŠธ๋ฆฌ(AV.. 2021. 7. 26.
728x90