본문 바로가기

Swift60

[iOS] Access Token은 어디에 저장하는게 좋을까? UserDefaults? KeyChain? 안녕하세요 코코종입니다 :) 오늘은 마감 기한보다는 조금 일찍! 찾아왔습니다(물론 또 하루만에 써버리고 ㅌㅌ할 예정) 오늘은 최근에 제가 멘토로 활동하고 있는 새싹 3기 교육생분들 사이에 ‘키체인 붐’이 일었는데 이에 관련해 고민 포인트를 조금 던져볼 겸 작성하게 되었답니다. 내용이 많지 않을 것 같아 이번에는 글이 조금 짧을지도 모르겠네요! 결론부터 말하자면, 무조건 키체인에 저장하는게 UserDefaults에 저장하는 것보다 우수한 것은 아니다! 입니다 Access Token, Refresh Token이란? 정의에 대한 설명은 최대한 줄이려고 했는데 간단하게만 짚고 넘어가겠습니다. JWT(Json Web Token)은 Json 객체에 인증에 필요한 정보들을 담아서 비밀키로 서명한 토큰으로 인증하는 방.. 2024. 1. 2.
[iOS] 내가 잘못쓰고 있었던 RxSwift 모음. 당신도 혹시...? 안녕하세요 코코종입니다 :) 2주만에 결국 돌아왔습니다..! (물론 마감에 쫓기고 있는 상태지만요 허허..) 이번에는 RxSwift를 다시 공부하며 잘 이해하지 못했거나 잘못 사용하고 있던 개념이 많다는걸 깨닫고 도움이 되고자 몇가지 적어보려고 합니다. 몇가지 목록으로 적어봤는데 상당히 잘 모르고 썼더라구요…? 그래서 반성겸 다른 분들은 꼭 알고 쓰기를 바라는 마음에서 적어봅니다 이미 알고 계신게 많겠지만! 혹시 모르니까~! 한번 읽어보시죵 *RxSwift에 대한 개념들을 다 소개하는게 목적이 아니기 때문에 ‘아렉수가 뭔데요~~’ 라고 하시면 ‘다른분 블로그 보고 공부하세요~~’라고 답하겠습니다. ^_^ 1. 이중,삼중으로 구독하기 처음에 RxSwift를 사용하며 많이 저질렀던 실수(?)중에 하나입니다... 2023. 12. 27.
[Swift 알고리즘] 프로그래머스 - 기능개발 안녕하세요 코코종입니다. 이전에 풀었던 문제지만 다시 풀었습니다. 확실히 이전에는 구현에 어려움을 조큼... 겪었는데 조금 연습했다고 익숙해졌나보네요 쿠쿠쿠... import Foundation func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] { var answer: [Int] = [] var progresses: [Int] = progresses // queue처럼 사용 var speeds: [Int] = speeds // queue 처럼 사용 while !progresses.isEmpty { for i in 0..= 100 { progresses.removeFirst() speeds.removeFirst() result += 1 } if res.. 2023. 5. 7.
[Swift 알고리즘] 프로그래머스 - 다리를 지나는 트럭 안녕하세요 코코종입니다. 이전에 파이썬으로 풀었던 문제인데 다시 풀어봤습니다. 파이썬 처럼 queue나 deque가 없는게 조큼 아쉽지만 악깡버 하겠습니다... import Foundation func solution(_ bridge_length:Int, _ weight:Int, _ truck_weights:[Int]) -> Int { // bridge_length -> 다리의 길이(동시에 올라갈수 있는 트럭수) // weight -> 최대 무게 var answer = 0 var queue: [Int] = truck_weights var bridge: [Int] = Array(repeating: 0, count: bridge_length) var passed: [Int] = [] var sum = 0 /.. 2023. 5. 6.
[Swift 알고리즘] 프로그래머스 - 의상 안녕하세요 코코종입니다. 어렵지 않으니 바로 갑니다. import Foundation func solution(_ clothes:[[String]]) -> Int { // idea: (갯수+1)씩을 곱하고 -1해주기(아무것도 안입은 경우) var answer = 1 var dict: [String : Int] = [:] // 카테고리명 : 갯수 for cloth in clothes { let category = cloth[1] var cnt: Int = dict[category] ?? 0 dict[category] = cnt + 1 } dict.forEach { k, v in answer *= (v+1) } answer -= 1 // 아무것도 안입는 경우 return answer } 어떻게 계산하느냐의 .. 2023. 5. 5.
[Swift 알고리즘] 프로그래머스 - 예상 대진표 안녕하세요 코코종입니다. 어제 다 못푼것 까지 해서 이어서 갑니닷.. import Foundation func solution(_ n:Int, _ a:Int, _ b:Int) -> Int { // 2^m = n // a가 각각 라운드에 몇번째 블록에 있는지 체크하기 // n = 8일때 // [1 2 3 4 5 6 7 8] // a = 4, b = 7 일때 // a-1 / 2 -> 1 // b-1 / 2 -> 3 // 두개가다르므로 // 다시 2*2로 나눈다 // a-1 / 4 = 0 // b-1 / 4 = 1 // 두개 다르므로 다시 2^3으로 나눔 // a-1 / 8 = 0 // b-1 / 8 = 0 같음! -> 만남 // 위와 원리는 비슷하나 세부 구현이 틀림! var answer = 0 var a .. 2023. 5. 4.