· 성취/개선/학습한 내용 🏆
오늘은 동시성 프로그래밍에 대해서 공부했다. Swift에서 Swift Concurrency 가 등장하기 전에 쓰인 기능, 그리고 지금도 쓰이는 기능이다. iOS 개발자가 되려면 필수로 알아야하는 개념이다. 오늘 학습으로 인해서 기존에 헷갈리던 동기와 비동기 그리고 동시와 직렬에 대해 한번 더 확실하게 정리할 수 있게되었다. 지금 내가 정리한 게 틀릴 수도 있지만, 정리해보자면 동시와 직렬은 테스크를 메인 스레드에만 할당할 것인지 아니면 다른 스레드들에게도 할당할 것인지의 차이이고, 동기와 비동기는 테스크를 순서대로 할건지 아니면 한번에 여러 작업을 진행할건지 차이로 이해하였다.
- GCD
- main (serial) / global (concurrent)
- Concurrency
- Serial / Concurrent
- Async / Sync
- Queue (DispatchQueue)
- CodeBase UI
· 어려웠던 내용 😵😵💫
- 동시와 직렬 그리고 동기와 비동기가 처음에는 구분이 어려웠었다. 이름이 그래서인지 모르겠지만 굉장히 혼동되는 개념이다. 이름에 속지말고 배운 개념을 잊지 말자!
· 궁금한 내용과 부족한 내용 ⁉️🤔
- 그래 이제 DispatchQueue까지 알겠는데, 그럼 DispatchGroup은 뭘까? 여러개의 Queue를 묶은 걸까? 그리고 swift concurrency는 이와 무슨 차이가 있을까?
· 느낀점 🌟
무작정 구현이 급해서 이런 저런 방법을 통해 막 구해다 쓴 코드는 결국, 나에게 독이 된다는 것을 얼핏 알 것 같다. 그 코드의 한 줄 한 줄이 어떤 역할을 하고 왜 그런지 알아야겠다는 생각이 들었다. 또 단순히 구현만 하는 사람이 개발자가 아니기에 알아야하는 게 정말 많다고 생각이 들었다.
'# TIL (Today I Learned)' 카테고리의 다른 글
TIL - 2024.01.29 월요일 (1) | 2024.01.29 |
---|---|
TIL - 2024.01.26 금요일 (0) | 2024.01.26 |
TIL - 2024.01.24 수요일 (0) | 2024.01.24 |
TIL - 2024.01.23 화요일 (0) | 2024.01.23 |
TIL - 2024.01.20 토요일 (0) | 2024.01.20 |