
안녕하세요~ 개발자 멍구입니다. ✨저는 현업에서 개발을 하면서 비동기적으로 중복 호출을 방지하고, 예외처리 하는등의 다소 복잡한 로직을 구현해본적이 있는데요. 그렇게 자주 사용하지는 않다보니, 한번씩 리마인딩을 하지 않으면 얼마 안가서 까먹게 되더라고요... ㅠㅠ근데 사용할일이 생기면 굉장히 중요하고, 많은 테스트가 필요한 작업이다보니, 리마인딩의 필요성을 느꼈습니다.. 그래서 이 리마인딩 공부 겸... Swift Concurrency의 Task를 활용해서 Debouncer를 구현해봤습니다. 초기구현이라 부족한 점 많을 수 있으니, 감안해서 보고 많은 피드백 부탁드립니다! 근데 그전에... Debounce가 머임?debounce는 일정 시간 동안 특정 이벤트가 다수 발생했을때, 마지막 하나의 이벤트만 ..

안녕하세요. 개발자 멍구입니다! iOS 개발을 하다 보면 "동시성", "데이터 경쟁(data race)", "스레드 안전성" 같은 말들이 자주 들리죠? 처음 들으면 어렵게 느껴질 수 있지만, 오늘은 그런 개념들을 단번에 정리해주는 핵심 키워드 두 가지를 소개해드릴게요.바로 Actor와 Sendable입니다. 앱이 복잡해지고, 멀티태스킹이 많아질수록 중요해지는 이 개념들, 오늘 알아보겠습니다. Actor? 데이터 경합 문제를 깔끔하게 해결하는 방법먼저 Actor부터 볼게요."Actor는 일종의 안전한 방입니다." 여러 사람이 동시에 들어와서 방 안의 물건을 엉망으로 만들지 않도록, 한 명씩만 차례대로 들어와서 방 안의 상태를 변경할 수 있도록 해요.Swift에서 actor는 class처럼 참조 타입이지만,..

Sendable 프로토콜 개요Sendable이 뭐길래 Swift 6에서 강조될까?Swift를 쓰는 개발자라면, 최근 자주 보게 되는 키워드 중 하나가 Sendable 프로토콜일 거예요. 애플 공식 문서에서는 Sendable을 이렇게 설명하고 있습니다:Sendable 프로토콜은 데이터 레이스 없이 다양한 컨텍스트에서 안전하게 전달될 수 있는 타입을 나타낸다.즉, 여러 스레드나 Task 간에 데이터를 주고받을 때 충돌 없이 안전하게 다룰 수 있는 타입인지를 보장해주는 약속 같은 개념입니다.Swift6부터는 이 개념이 더 엄격하고 자주 쓰이게 되니, 지금 정확히 이해해두는 것이 앞으로의 개발에 큰 도움이 될 거예요! 개념이 어렵게 느껴지신다고요? 괜찮아요. 지금부터 하나하나 아주 쉽게 설명드릴게요 🙂 왜 ..

안녕하세요~! 오늘은 주말에 쉬다가 에프랩 데브클럽에서 운영하는 프로그램, 커리어인을 참여했어요.커리어인 프로그램은 쿠팡 리쿠르터 출신 분께서 다양한 주제로 개발자들에게 도움이 되는 팁을 주시는 프로그램입니다.데브클럽 슬랙에서 커리어인 프로그램을 한다고 해서 들어보았어요. 위와 같이 슬랙의 커리어인 프로그램 안내를 통해 게더타운 링크를 접고해서 들었어요. 테크리쿠르터 써니님이 이미 면접 관련 팁을 알려주고 계셨습니다.써니님은 쿠팡 테크리쿠르터 출신이시고, 매주 커리어인 프로그램을 통해서 개발자들을 위한 조언을 주고, 질의응답을 받고 계셨습니다. 실제 경험담을 알려주시기도 하고, 막바지에는 무엇이든 물어보세요 코너를 통해 강의내용 뿐만아니라 그 외 궁금한 점에 대해서도 자유롭게 질의응답이 가능했어요.관련..
- Total
- Today
- Yesterday
- ios
- swift알고리즘
- SwiftUI
- Protocol
- swift concurrency
- swift reduce
- CoreML
- swift string
- swift언어
- 스위프트
- swift문제
- 백준알고리즘
- 부스트코스
- 백준swift
- 컬렉션
- uikit
- 알고리즘문제
- 개발자문서
- swift 기초
- 프로그래머스
- swift
- 프로그래머스swift
- Collection
- 김프매매
- createML
- Swift 알고리즘
- 알고리즘
- swift 문자열
- 프로토콜
- 자연어처리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |