ํ๋ก๊ทธ๋๋จธ์ค) ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ - Level1 https://school.programmers.co.kr/learn/courses/30/lessons/136798 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr import Foundation // 1-number ๊น์ง ์ง์ ๋ ์ซ์๋๋ผ ๊ธฐ์ฌ๋จ. // ๊ฐ ๊ธฐ์ฌ๋ ์์ ์ ์ซ์์ ์ฝ์์ ๊ฐฏ์์ ๊ณต๊ฒฉ๋ ฅ์ด ํด๋นํ๋ ๋ฌด๊ธฐ๋ฅผ ๊ตฌ๋งค. // ๊ณต๋ ฅ๋ ฅ์ limit ์์. ๊ทธ ์ด์์ power ๋ก ์ค์ . // ๊ณต๊ฒฉ๋ ฅ 1 ๋น 1kg ์ธ ๋ฌด๊ธฐ. ์ด ๋ฌด๊ฒ๋? func solution(_ number:Int, _ limit:Int, _..
thread-safe : ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ์์์ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํด๋ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋ ๊ฒ์ ๋งํ๋ค. ์ฆ, ์ฌ๋ฌ ๊ณณ์์ ์ ๊ทผํ๋๋ผ๋ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฒ๋๋ค. atomic : ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ ๊ณผ ํ์๋ง ์์์ ์ ๊ทผํ ์ ์์์ ๋ณด์ฅํ๋ ๊ฒ์ด๋ค. ์ฆ, ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๊ณ ์๋ ์ค์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค. Swift ๋ ๋ฉํฐ์ค๋ ๋ฉ(Multi-Threading) ๋ฐฉ์์ ๋๋ค. ๋ฉํฐ์ค๋ ๋๋ stack ์ ์ ์ธํ heap, data, code ์์ญ์ ๊ณต์ ํฉ๋๋ค. ๊ทธ๋์ ํ ์ค๋ ๋์์ ์์ญ์ ์ฌ์ฉํ ๋ ๋ค๋ฅธ ์ค๋ ๋์์ ์ ๊ทผํ๊ฒ ๋๋ฉด ๋์ผํ ์์์ ๋ ๊ฐ ์ด์์ ์ค๋ ๋๊ฐ ์ ๊ทผํ๋ ๊ฒฝ์ฐ๊ฐ ์๊น๋๋ค. Swift ๋ thread-safe ๋ฅผ ๋ณด์ฅํ๋ ์ธ์ด๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ด๋ ๋ฌธ์ ๊ฐ ์๊ธธ ..
โ ์์กด์ฑ ์ฃผ์ (Dependency Injection) ์์กด์ฑ ์ฃผ์ ์ด๋ ํ๋์ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ์์กด์ฑ์ ์ ๊ณตํ๋ ๊ธฐ์ ์ด๋ค. ์์กด์ฑ ๊ทธ๋ ๋ค๋ฉด ์์กด์ฑ์ด๋ ๋ฌด์์ผ๊น? ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด ์ฌ์ด์ ์์กด ๊ด๊ณ๊ฐ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ์์กดํ๋ ๊ฐ์ฒด๊ฐ ์์ ๋๋ฉด ๋ค๋ฅธ ๊ฐ์ฒด๋ ์ํฅ์ ์ค ์ ์๋ค. ์ฃผ์ ๊ทธ๋ ๋ค๋ฉด ์ฃผ์ ์ ๋ฌด์์ผ๊น? ์ฃผ์ ์ ์ธ๋ถ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๋ฃ๋ ๊ฒ์ ๋งํ๋ค. ์ธ๋ถ์์ ๊ฐ์ฒด๋ฅผ ์ฃผ์ ํ๊ธฐ ์ํด ์์ฑ์ ๋ฑ์ ์ฌ์ฉํ๋ค. ์ด๋ฌํ ์์กด์ฑ์ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์ ์์กด์ฑ ์ฃผ์ ์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋์ ์์กด์ฑ ์ฃผ์ ์ด ๋ญ๋ฐ? ์๋ง ๊ฐ๋ ์ ๋ํด์ ๋ค์๋ ๊ฐ์ด ์์ ์ ์๋ค. ์์กด์ฑ์ผ๋ก ๋ค๋ฅธ ๊ฐ์ฒด์ ์ํฅ์ ์ฃผ๋ ๊ฒ์ ์ด๋ค ์์ ์ฌํญ์ด ์์ ๋ ๋งค๋ฒ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์์ ํด์ฃผ์ด์ผ ํ๋ ๊ฒ์ด ์๋๊น? ์ง์ํ๋๋ก ์์กด์ฑ์ ๊ฐ์ง ์ฝ๋๊ฐ ๋ง๋ค๋ฉด ..
https://school.programmers.co.kr/learn/courses/30/lessons/118666 import Foundation // ์ฒซ ๋ฒ์งธ ๋ฌธ์ : ๋น๋์ 1-3 // 4 // ๋ ๋ฒ์งธ ๋ฌธ์ : ๋์ 5-7 func solution(_ survey:[String], _ choices:[Int]) -> String { var choiceDictionary: [Character : Int] = [:] choiceDictionary = ["R" : 0, "T" : 0, "C" : 0, "F" : 0, "J" : 0, "M" : 0, "A" : 0, "N" : 0] var answer: String = "" for (index, choice) in choices.enumerated() {..
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ ์ต๊ทผ์ ์งํ๋ ์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๊ฐ ๊ณต๊ฐ๊ฐ ๋์๋ค. swift ํ์ด๊ฐ ๋ง์ด ์์ด์ ํด๊ฒฐํ ์ฝ๋๋ฅผ ์ฌ๋ ค๋ณธ๋ค. ์คํจ - ์ ํ์ฑ(56.7/100) import Foundation // ์์ด๋์ด : // L > R์ด๋ผ๋ฉด, queue1์ ์์๋ฅผ queue2๋ก ๋๊ฒจ์ค๋๋ค. // L Int { var answer: Int = 0 var queue1 = queue1 var queue2 = queue2 let queue1Sum: I..
Abstraction separated ideas from specific details function ์์ ๊ธฐ๋ฅ์ฑ์ ์ถ์ถํ ๋, details ์ abstracted ๋ก ๋ถํฐ ๋ฉ์ด์ง๋๋ค. ๊ทธ๋ฆฌ๊ณ abstraction ์ details ์ ๋ฐ๋ณต์์ด ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์์ด๋์ด๋ฅผ ํํํ ์ ์์ต๋๋ค. Swift ์์๋ concrete type ์ abstract ํ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ด๊ฒ..! ์ฒ๋ผ์ ์๋ก ๋ค๋ฅธ details ๋ฅผ ๊ฐ์ง ๋์ผํ ์์ด๋์ด์ set of types ๊ฐ ์๋ ๊ฒฝ์ฐ abstract code ๋ฅผ ์์ฑํ์ฌ concrete types ์ผ๋ก ์์ ํ ์ ์์ต๋๋ค. ์ค๋์ ๋ค์์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. farm ์๋ฎฌ๋ ์ด์ ์ ์ํ ์ฝ๋๋ฅผ ๋ง๋ค์ด๋ด ์๋ค! ๐ Model with concr..
Swift 5.6 @frozen struct GeometryReader where Content : View ์ด๊ฑฐํ์ ๊ฒฝ์ฐ ๋๋ ๊ตฌ์กฐ์ฒด์ ์ ์ฅ๋ ์ธ์คํด์ค ํ๋กํผํฐ๋ฅผ ์ถ๊ฐ, ์ ๊ฑฐ, ์ฌ์ ๋ ฌํ์ฌ ์ ์ธ์ ๋ฐ๊ฟ ์ ์๋ค. frozen ์ผ๋ก ํ์ํ๋ฉด ์ถ๊ฐ์ ์ธ ์ต์ ํ๋ฅผ ์งํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฅํ ๋ฒ์ ์ ์ ํ์ ์ผ๋ก๋ง ๋ณ๊ฒฝํ ์ ์๋๋ก ํ์ง๋ง ์ด์ ๊ฐ์ ์ฑ๋ฅ์ ์ป๊ธฐ๋๋ฌธ์ flexibility ๋ฅผ ํฌ๊ธฐํ ์ ์๋ค๊ณ ํฉ๋๋ค. frozen ์ด๊ฑฐํ์ ๋ํ switch ๋ฌธ์ default case ๋ฅผ ํ์๋ก ํ์ง ์์ต๋๋ค. ํด๋น ์ด๊ฑฐํ switch ๋ฌธ์์ default, @unknown ๊ธฐ๋ณธ ์ผ์ด์ค๋ฅผ ํฌํจํ๋ฉด ํด๋น ์ฝ๋๊ฐ ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ warning ์ด ๋ฐ์ํฉ๋๋ค. Attributes - The Swift ..
Monad(๋ชจ๋๋)] ์ถ์ฒ: [์ํค๋ฐฑ๊ณผ - ๋ชจ๋๋](https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%82%98%EB%93%9C) Monadic(๋ชจ๋๋) ๋ชจ๋๋๋ ์ฌ๋ฌ ์์ญ์์ ๋ค์ํ ๋ป์ ๊ฐ์ง๊ธฐ๋ ํ๊ณ ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ๊ธฐ ์ด๋ ค์ด ๊ฐ๋ ์ด๋ผ์ ๋ฒ์ฃผ๋ก ์ ๋ชจ๋๋ ๊ฐ๋ ์ ์ฐจ์ฉํ ์ ๋๋ก ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ชจ๋๋๋ ์์๊ฐ ์๋ ์ฐ์ฐ์ ์ฒ๋ฆฌํ ๋ ์์ฃผ ํ์ฉํ๋ ๋์์ธ ํจํด์ ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์์๋ ๋ชจ๋๋์ ์ฑ์ง์ ๋๋ถ๋ถ์ ๊ฐ์ถ์๋ค๊ณ ํ์ฌ ๋ชจ๋๋๋ฅผ ๋ชจ๋๋(monadic) ์ด๋ผ๊ณ ํํํฉ๋๋ค. (๋ชจ๋๋ ํ์ ํน์ ๋ชจ๋๋ ํจ์) ๐งฌ ๋ชจ๋๋ ํจ์ ๋ด๋ถ์์ ๋ฐ์ํ ์ ์๋ ์ฌ์ด๋์ดํํธ๋ฅผ ๊ฒฐ๊ณผ ์งํฉ๊ณผ ํจ๊ป ํฌํจํ๋ ํ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ดํดํ๋๋ฐ ๋ชจ๋๋๋ ๋์์ด ๋ ๊ฑฐ์์! ๊ฒฐ๊ณผ๋ก ํญ์ ๋ชจ๋..
- SwiftUI
- WWDC
- MVVM
- configurable widget
- MOYA
- Notification
- 2022 KAKAO TECH INTERNSHIP
- CloneCoding
- APNS
- YPImagePicker
- Firebase
- containerBackground
- urlsession
- UserDefaults
- WidgetKit
- watchOS
- OpenSourceLibrary
- ์๋ฒํต์
- Protocol
- github
- projectsetting
- Objective-C
- async/await
- WWDC22
- IOS
- rxswift
- Widget
- Swift
- RxCocoa
- Algorithm
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday