분류 전체보기
동시성, 병렬성, 동기(sync), 비동기(async) 개념 정리
목차동시성(Concurrency)이란멀티태스킹이란동시성과 멀티태스킹은 같은 말일까?병렬성이란동시성과 병렬성의 차이동기(synchronous)란비동기(asynchronous)란동시성(Concurrency)이란동시성이란 이름만 놓고 본다면 실제로 동시에 동작해야 할 것 같지만, IT용어 측면에서 동시성이란 아래와 같은 의미를 지닌다고 합니다.Concurrency means that an application is making progress on more than one task - at the same time or at least seemingly at the same time (concurrently).동시성은 하나의 Processor가 여러 task를 동시에 처리하는 것처럼 보이게 하는 것이다. 하나..
캐시 데이터 용량 표시 방식 개선하기: ByteFormatter
캐시 데이터 용량 표시 방식 개선하기: ByteFormatter프로젝트를 진행하며 이미지 캐시를 제거하는 기능을 개발하게 되었는데요.캐시 데이터 용량을 어떻게 표기할까 고민하다 너무 작지도 크지도 않도록 MB 단위로 표현하기로 정하고 byte를 1024 로 2번 나누어 MB로 변환하여 표기했습니다.하지만 코드리뷰를 진행하며 팀원분께 더 나은 방식을 배웠는데요.까먹지 않도록 정리해두려고 합니다!왜 ByteFormatter를 사용해야 할까?기존 방식에서는 용량을 항상 MB 단위로 표시했습니다. 이렇게 되면 GB 이상의 큰 용량을 표현하거나, KB나 Byte 단위의 작은 용량일 때는 어색해 보일 수 있습니다. 이를 개선하기 위해 ByteFormatter를 사용하면 Byte, KB, MB, GB 등 적절한 단위..
GCD 공식문서 읽고 정리하기
이 글은 공식문서를 번역해 나만의 언어로 작성한 글입니다.의역이나 오역이 있을 수 있으니 조심하세요! 😨개요GCD(Grand Central Dispatch)라고도 알려진 Dispatch는 macOS, iOS, watchOS 및 tvOS의 멀티코어 하드웨어에서 동시 코드 실행을 지원하는 체계적이고 포괄적인 개선을 제공하는 언어 기능, 런타임 라이브러리 및 시스템 향상 기능을 포함합니다.BSD 하위 시스템, Core Foundation 및 Cocoa API는 모두 이러한 향상된 기능을 사용하여 시스템과 애플리케이션을 보다 빠르고 효율적으로 실행하고 응답성을 향상시키도록 확장되었습니다.컴퓨팅 코어 수가 다른 여러 컴퓨터나 여러 애플리케이션이 경쟁하는 환경에서 단일 애플리케이션이 여러 개의 코어를 효과적으로 ..
네이버 부스트캠프 웹・모바일 9기 챌린지 과정 2주차 회고
⭐️ 2주차 한 줄 요약어..? 1주차보다 할만한데..? 왜지?✏️ Learned - 배운 점나는 이번 주에 어떤 것들을 배웠나요?학습뿐만 아니라 태도나, 마음가짐 등 넓은 부분에서 배운 것들을 적어보아요!효과적으로 주장하는 법을 배웠다.모든 주장에는 논리가 뒷받침되어야하고, 논리는 배경지식으로 부터 나온다.그렇다보니 논리적으로 주장하고 싶어 지식을 많이 쌓고 싶었고, 자연스레 구현보다 학습에 비중이 커졌다.다양한 CS지식들을 흡수했다.스포가 될 수 있을 것 같아 어떤 CS지식들을 흡수했는지는 언급하지 않겠지만, 평소 얕게만 알고있던 CS지식들을 깊게 공부할 수 있는 시간이었고, 동료들과 이야기하며 더 공부할 수 있었다.💖 Liked - 좋았던 점이번 주에 나는 어떤 순간이 가장 인상 깊었나요?좋은 감..
발행-구독 패턴(Publisher-Subscriber Pattern)
목차옵저버 패턴(Observer Pattern)이란?발행-구독 패턴(Publisher-Subscriber Pattern)이란?발행-구독 패턴의 장점발행-구독 패턴의 단점옵저버 패턴(Observer Pattern)이란?구독자 패턴을 공부하러 왔는데, 왜 옵저버 패턴이 먼저 나오냐구요? 🤔둘이 유사한 부분이 있어서 비교를 하며 설명하고자 옵저버 패턴을 먼저 간단하게 짚고 넘어가겠습니다 !가 아니라옵저버 패턴(Observer Pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버드의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메소드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다.주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다.발행/구독 모델로 알려져 있..
함수형 프로그래밍 with. Swift
목차함수형 프로그래밍이란?순수 함수익명 함수고차 함수mapfilterreduce불변성불변성이 중요한 이유참조 투명성클로저와 익명함수와의 관계Swift 클로저함수형 프로그래밍이란?함수형 프로그래밍이란 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다.Alonze Church가 고안한 람다 계산법을 기반으로 한다.자세한 내용은 여기에서 확인할 수 있습니다. 함수형과 객체지향의 가장 큰 차이는 함수형은 함수 자체가 일급 객체가 되지만, 객체 지향에서는 클래스가 일급 객체가 됩니다.그럼 여기서 일급 객체가 무엇인지 알아봐야겠죠?💡 일급 객체란?일급 객체(First Class Citizen)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를..