TIL - 2024.01.25 목요일

· 성취/개선/학습한 내용 🏆

 오늘은 동시성 프로그래밍에 대해서 공부했다. 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