๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[Swift] 2019 KAKAO WINTER INTERNSHIP ์ง•๊ฒ€๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ง•๊ฒ€๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ด์ง„ํƒ์ƒ‰์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1. stones์˜ ์ˆซ์ž๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋’ค ์ค‘๋ณต ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. stones๋ฅผ Set๋กœ ๋งŒ๋“ค๊ณ  sorted ๋ฉ”์†Œ๋“œ๋กœ ์ •๋ ฌํ•ด์ค๋‹ˆ๋‹ค. (sort๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.) (ex [1,1,5,3,2,2] -> [1,2,3,5]) 2. ๊ฑด๋„ ์ˆ˜ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. 0์ดํ•˜์˜ ์ˆซ์ž์˜ ์—ฐ์†๋œ ๊ฐฏ์ˆ˜๊ฐ€ k๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฌ๋‹ค๋ฉด ๊ฑด๋„ ์ˆ˜ ์—†๋Š” ์ง•๊ฒ€๋‹ค๋ฆฌ์ž…๋‹ˆ๋‹ค. (ex [-1, 0, -2, 1, 0] -> ์—ฐ์†๋œ 0์ดํ•˜ ๊ฐฏ์ˆ˜๋Š” 3) 3. sort๋ฅผ ์ด์ง„ํƒ์ƒ‰ ์ด์ง„ ํƒ์ƒ‰์œผ๋กœ sort์•ˆ์˜ ์ˆซ์ž ์ค‘ ๊ฑด๋„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ตœ.. 2021. 7. 23.
[iOS] TestFlight ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž ์ดˆ๋Œ€ํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ ๊ธ€์—์„œ ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋Š”๋ฐ์š”. ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ์‹ฌ์‚ฌ๋ฅผ ๊ฑฐ์น˜๊ณ  ํ•œ ๋ช‡์‹œ๊ฐ„ ๋’ค? ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ์— ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์‚ฌ์šฉ์ž๋ฅผ ์ดˆ๋Œ€ํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋… ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. App Store Connect ์•ฑ์Šคํ† ์–ด ์ปค๋„ฅํŠธ๋กœ ์ด๋™ํ•˜์‹œ๋ฉด ํ†ต๊ณผ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด "ํ…Œ์ŠคํŠธ ์ค€๋น„ ์™„๋ฃŒ" ๋ผ๊ณ  ์จ์ ธ์žˆ์„๊ฑฐ์—์š”. ํ…Œ์ŠคํŠธ ๊ธฐ๊ฐ„์€ 90์ผ์ด ์ฃผ์–ด์ง€๋„ค์š”. ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„  App Store Connect์˜ ์‚ฌ์šฉ์ž ๋ฐ ์•ก์„ธ์Šค๋กœ ๊ฐ€์ค๋‹ˆ๋‹ค. ์‹ ๊ทœ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๊ณ  ์ดˆ๋Œ€๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์ดˆ๋Œ€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋˜์—ˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž์— ์ •๋ณด๊ฐ€ ์ถ”๊ฐ€๊ฐ€ ๋˜๊ณ  ์ดˆ๋Œ€ ์žฌ์ „์†ก์ด๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋ณด์ผ๊ฑฐ์—์š”. ํ•ด๋‹น ์ด๋ฉ”์ผ๋กœ ์ด๋™ํ•˜์…”์„œ.. 2021. 7. 22.
[iOS] TestFlight ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ• ์•Œ์•„๋ณด๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์•ฑ์„ ์ถœ์‹œํ•˜๊ธฐ ์ „์— ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•ฑ์„ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ํ…Œ์ŠคํŠธํ”Œ๋ผ์ดํŠธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Xcode ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์‹ถ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค. Any iOS Device(arm64)๋กœ ๋งž์ถฐ์ฃผ์‹œ๊ณ  Xcode ์œ—์ชฝ ํƒญ์˜ Product - Archive๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. (Archiveํ•˜๋Š”๋ฐ ๋ช‡๋ถ„์ •๋„ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค..) ๋ฒ„์ „๊ณผ ์ตœ์†Œ๋ฒ„์ „์ด ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ํ™•์ธํ•˜๊ณ  ์•„์นด์ด๋ธŒ๋ฅผ ํ•ด์ฃผ์„ธ์š”! ์•„์นด์ด๋ธŒ ์™„๋ฃŒ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์ฐฝ์ด ๋œฐํ…๋ฐ Distribute App์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. (No suitable application records were found. ๋งŒ์•ฝ ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค๋ฉด App Store Connect์— ํ•ด๋‹น ์•ฑ์ด ๋“ฑ๋ก๋˜์ง€.. 2021. 7. 21.
[iOS] UI Test ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์ €๋ฒˆ ํฌ์ŠคํŒ…์—” Unit Test์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค˜๋Š”๋ฐ์š” ์˜ค๋Š˜์€ UI๋ฅผ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” UI Test์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ UITest Bundle ๋งŒ๋“ค๊ธฐ Project - General ํƒญ์œผ๋กœ ์ด๋™ํ•˜์…”์„œ ์™ผ์ชฝ ํ•˜๋‹จ ๋ถ€๋ถ„์— +๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ๊ทธ๋ฆฌ๊ณค ui๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  UI Testing Bundle์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”. Storyboard ์•„๋ž˜์™€ ๊ฐ™์ด ํšŒ์›๊ฐ€์ž… ํ•˜๋Š” ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๊ตฌ์„ฑํ• ๊ฑด๋ฐ์š”. ์ด๋ฉ”์ผ ํ…์ŠคํŠธํ•„๋“œ,๋น„๋ฐ€๋ฒˆํ˜ธ ํ…์ŠคํŠธํ•„๋“œ,๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ ํ…์ŠคํŠธํ•„๋“œ,ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ์œผ๋กœ ๊ตฌ์„ฑํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. SignupViewController IBOutlet์„ ๋ชจ๋‘ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๊ณ  signupButton์„ ๋ˆŒ๋ €์„ ๋•Œ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ํ™•์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์šฐ๋„๋ก ํ•˜์˜€.. 2021. 7. 20.
[iOS] Unit Test์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Xcode์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ๋‹›ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ค‘์š”์„ฑ์€ ์ •๋ง ๊ฐ•์กฐ๋˜์—ˆ๊ณ  ์ €๋„ ํ•ด์•ผ์ง€...ํ•ด์•ผ์ง€.. ํ•˜๋ฉด์„œ ๋ฏธ๋ฃจ๋‹ค๊ฐ€ ์ด์ œ์•ผ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๊ณต๋ถ€ํ•œ ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Unit Test Bundle ๋งŒ๋“ค๊ธฐ ๋จผ์ € ์œ ๋‹›ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์‹œ์— Include Tests ์ฒดํฌํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์ด๊ฑฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ด๋ฏธ ๋งŒ๋“ค์–ด๋ฒ„๋ ธ๋‹ค๋ฉด Project - General ํƒญ์œผ๋กœ ์ด๋™ํ•˜์‹ ๋’ค ์™ผ์ชฝ ํ•˜๋‹จ ๋ถ€๋ถ„์— + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ๊ทธ ๋‹ค์Œ Unit์„ ๊ฒ€์ƒ‰ํ•˜์‹œ๋ฉด Unit Testing Bundle์ด ์žˆ์„๊ฑฐ์—์š” ์ด๊ฑธ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. Unit Test ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ UnitTest Exam.. 2021. 7. 19.
[Swift] 2021 KAKAO INTERNSHIP ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด ๋„ค์˜ค์™€ ํ”„๋กœ๋„๊ฐ€ ์ˆซ์ž๋†€์ด๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค์˜ค๊ฐ€ ํ”„๋กœ๋„์—๊ฒŒ ์ˆซ์ž๋ฅผ ๊ฑด๋„ฌ ๋•Œ ์ผ๋ถ€ ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜๋‹จ์–ด๋กœ ๋ฐ”๊พผ ์นด๋“œ๋ฅผ ๊ฑด๋„ค์ฃผ๋ฉด ํ”„๋กœ๋„๋Š” ์›๋ž˜ ์ˆซ์ž๋ฅผ ์ฐพ๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ˆซ์ž์˜ ์ผ๋ถ€ ์ž programmers.co.kr Solution 1. ์˜๋‹จ์–ด ์ค‘ 2๋ฒˆ์งธ๊นŒ์ง€๋ฅผ key๊ฐ’์œผ๋กœ ํ•˜๊ณ  value๊ฐ’์œผ๋กœ ์˜๋‹จ์–ด์˜ ๊ธธ์ด์™€ ์˜๋ฏธํ•˜๋Š” ์ˆซ์ž๋ฅผ ์ €์žฅํ•œ๋‹ค. let allNumber = ["ze":[4,0],"on":[3,1],"tw":[3,2],"th":[5,3],"fo":[4,4],"fi":[4,5],"si":[3,6],"se":[5,7],"ei":[5,8],"ni":[4,9]] 2. s๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ์ˆซ์ž์ธ ๊ฒฝ์šฐ์™€ ๋ฌธ์ž์ธ ๊ฒฝ์šฐ๋กœ ์ •๋‹ต์„ ์™„์„ฑํ•œ๋‹ค. ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ ๊ฒฝ์šฐ a.. 2021. 7. 18.
[Swift] 2021 KAKAO INTERNSHIP ํ‘œํŽธ์ง‘ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ‘œ ํŽธ์ง‘ 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” Linked List ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1. 0๋ถ€ํ„ฐ n๊นŒ์ง€ ์ž๊ธฐ ์ด์ „์˜ ์ˆซ์ž์™€ ๋‹ค์Œ ์ˆซ์ž๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„๋†“์Šต๋‹ˆ๋‹ค. func setLinkedList(n:Int) { for i in 0.. Int { return linkedList[index][0] } func next(_ index:Int) -> Int{ return linkedList[inde.. 2021. 7. 18.
[Firebase] ์ปฌ๋ ‰์…˜๊ทธ๋ฃน ์‚ฌ์šฉํ•ด๋ณด๊ธฐ(Firestore CollectionGroup) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Firestore์—์„œ ์—ฌ๋Ÿฌ ํ•˜์œ„ ์ปฌ๋ ‰์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ๋•Œ ์œ ์šฉํ•œ ์ปฌ๋ ‰์…˜ ๊ทธ๋ฃน์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ์ปฌ๋ ‰์…˜ ๊ทธ๋ฃน์ด๋ž€? ์•„์ด๋””๊ฐ€ ๊ฐ™์€ ์ปฌ๋ ‰์…˜์„ ๋ชจ์•„๋†“์€ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด User ์ปฌ๋ ‰์…˜์ด ์žˆ๊ณ  ํ•˜์œ„ ์ปฌ๋ ‰์…˜์œผ๋กœ ์œ ์ €๋“ค์˜ ๋ฆฌ๋ทฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” Review์ปฌ๋ ‰์…˜์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๊ฒŒ์š” User - user1 - Review User - user2 - Review ... ๋“ฑ์œผ๋กœ ์œ ์ €๋งˆ๋‹ค ๋ฆฌ๋ทฐ ํ•˜์œ„ ์ปฌ๋ ‰์…˜ ๊ฐ€์ง€๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ๋ชจ๋“  ์œ ์ €๋“ค์˜ ๋ฆฌ๋ทฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”? ๋ณดํ†ต Firestore์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋• ์•„๋ž˜์™€ ๊ฐ™์ด ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์œ ์ €๋“ค ์ˆ˜๋งŒํผ getDocuments ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด์•ผํ•ฉ.. 2021. 7. 15.
[Firebase] addSnapshotListener๋Š” ํ˜ธ์ถœ๋ ๋•Œ ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์ฝ์„๊นŒ? ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์š”์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์–ด์„œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์„ ๊ณ„์† ๋ฏธ๋ค˜๋„ค์š”.. ์˜ค๋Š˜์€ Firestore์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” addSnapshotListener์„ ์‚ฌ์šฉํ•  ๋•Œ snapshot์˜ documents์˜ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด๋ณด๋ฉด ์ „์ฒด ๊ฐฏ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ๋ฌธ๋“ "๋ฌธ์„œ๊ฐ€ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝ๋ผ๋„ ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์ฝ๋Š” ๊ฑด๊ฐ€?" ๋ผ๋Š” ์˜๋ฌธ์ด ๋“ค์–ด์„œ ์‹คํ—˜ํ•ด๋ณธ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Firestore ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ”๊ฐ€,์ˆ˜์ •,์‚ญ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ฝ๋Š” ํšŸ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค๊ณ  ๋‚˜์™ธ์žˆ์Šต๋‹ˆ๋‹ค. (์ €๋Š”.. ์ด๊ฑธ ๋ด๋„ ์ „์ฒด ๋ฌธ์„œ๋ฅผ ์ฝ๋Š”๊ฑด์ง€ ์•„๋‹ˆ๋ฉด ๋ณ€๊ฒฝ๋œ ๊ฒƒ๋งŒ ์ฝ๋Š”๊ฑด์ง€ ์ •ํ™•ํžˆ ์•Œ ์ˆ˜๊ฐ€ ์—†๋”๋ผ๊ตฌ์š”.) ๋ฐ์ดํ„ฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด Test๋ผ๋Š” ์ปฌ๋ ‰์…˜์— num.. 2021. 7. 13.
[RxCocoa] bind๋ž€? ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋žœ๋งŒ์— Rx๊ด€๋ จ ํฌ์ŠคํŒ…์„ ํ•˜๋„ค์š”. ์˜ค๋Š˜์€ UI ํŠนํ™”๋œ Operator ์ค‘ bind์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Binder ๋จผ์ € bind๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„  Binder๋ฅผ ์•Œ์•„์•ผ ํ•˜๋Š”๋ฐ์š”. Binder๋Š” ์˜ต์ €๋ฒ„ ํƒ€์ž…์œผ๋กœ 3๊ฐ€์ง€ ํŠน์ง•์ด ์žˆ๋Š”๋ฐ์š”. ์ฒซ ๋ฒˆ์งธ๋กœ๋Š” ๋ฐ˜๋“œ์‹œ ๋ฉ”์ธ์Šค์ผ€์ฅด๋Ÿฌ์—์„œ ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋กœ๋Š” ์—๋Ÿฌ ์ด๋ฒคํŠธ๋ฅผ ๋”ฐ๋กœ ๋ฐฉ์ถœํ•˜์ง€ ์•Š๊ณ  ๋กœ๊ทธ๋กœ๋งŒ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ๋กœ๋Š” ์˜ต์ €๋ฒ„ํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ตฌ๋…์ž๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. public struct Binder: ObserverType { public typealias Element = Value private let binding: (Event) -> Void //.. 2021. 7. 5.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ 2 2๊ฐœ ์ดํ•˜๋กœ ๋‹ค๋ฅธ ๋น„ํŠธ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 2๊ฐœ ์ดํ•˜๋กœ ๋‹ค๋ฅธ ๋น„ํŠธ programmers.co.kr Solution ์•„๋ž˜ ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๊ทœ์น™์ด ์กฐ๊ธˆ ๋ณด์ด๋Š”๋ฐ 1. ์ง์ˆ˜์ผ ๋•Œ ์ง์ˆ˜์ผ ๋•Œ๋Š” ๋‹ค์Œ ์ˆซ์ž์˜ 2์ง„์ˆ˜ ๋งจ ๋งˆ์ง€๋ง‰ 0์„ 1๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ณ ๋กœ ๋ฐ”๋กœ ๊ทธ ๋‹ค์Œ ์ˆซ์ž์™€์˜ 2์ง„์ˆ˜๋Š” ๋”ฑ ํ•œ์ž๋ฆฌ๋งŒ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์ด๋ฏ€๋กœ ๋ฌด์กฐ๊ฑด n+1์ด ์ œ์ผ ์ž‘์€ ์ˆซ์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 2. ํ™€์ˆ˜์ผ ๋•Œ ํ™€์ˆ˜์ผ ๋•Œ๋Š” ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰๋ฒˆ์งธ 0์„ 1๋กœ ๋ฐ”๊พธ๊ณ  ๊ทธ ๋‹ค์Œ ์ˆซ์ž๋ฅผ 0์œผ๋กœ ๋ฐ”๊ฟ”์ค€ 2์ง„์ˆ˜๊ฐ€ ์ œ์ผ ์ž‘์€ ์ˆซ์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ชจ๋‘ 1์ด๋ผ๋ฉด ๋งจ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ 0์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  ๋งจ ์•ž์— 1์„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ex) 1001 -> 1010, 111 -> 1011 Source Code ๋ฐฐ์šด์  ์ง์ˆ˜์ผ ๋•Œ 2์ง„์ˆ˜๋Š” ๋์ด ๋ฌด์กฐ๊ฑด 0์ด๋‹ค. ํ™€์ˆ˜์ผ ๋•Œ 2์ง„์ˆ˜๋Š” ๋์ด ๋ฌด์กฐ๊ฑด 1.. 2021. 7. 3.
[iOS/UI] ์ปฌ๋ ‰์…˜๋ทฐ์…€ ์ž๋™์œผ๋กœ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ณ  ์™ผ์ชฝ ์ •๋ ฌํ•˜๊ธฐ (CollectionViewCell Automaticsize & LeftAlign) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์…€์„ ์™ผ์ชฝ์œผ๋กœ ์ •๋ ฌ์‹œํ‚ค๊ณ  ์…€ ์•ˆ์— ์žˆ๋Š” ํ…์ŠคํŠธ์— ๋”ฐ๋ผ์„œ ์ž๋™์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์กฐ์ •๋˜๋Š” ๊ฒƒ์„ ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”! (์ผ๋ฐ˜์ ์œผ๋กœ ์ปฌ๋ ‰์…˜๋ทฐ์…€์„ ๋งŒ๋“ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ ๊ฑฐ์—์š”!) ์˜ค๋Š˜์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ StoryBoard ์Šคํ† ๋ฆฌ๋ณด๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ•ด์ฃผ์„ธ์š”. CollectionViewCell ์ปฌ๋ ‰์…˜๋ทฐ์…€์— ๋ ˆ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•ด์ค๋‹ˆ๋‹ค. class CollectionViewCell: UICollectionViewCell { @IBOutlet weak var label: UILabel! } ViewController ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์— ์ปฌ๋ ‰์…˜๋ทฐ๋ฅผ ์—ฐ๊ฒฐํ•ด์ค๋‹ˆ๋‹ค. @IBOutlet weak var collection: UICollectionView! ์ปฌ๋ ‰์…˜๋ทฐ ๋”œ๋ฆฌ๊ฒŒ์ดํŠธ.. 2021. 6. 29.
728x90
๋ฐ˜์‘ํ˜•