본문 바로가기

CS/CS 정리

(4)
[가볍게 읽는 CS] TCP vs UDP TCP/IP와 UDP는 통신의 가장 기본적인 요소이다.TCP(Transmission Control Protocol)는 데이터 손실이 없고 신뢰할 수 있는 통신이며,UDP(User Datagram Protocol)는 데이터 손실을 감수하면서 빠른 통신을 보장한다.이러한 차이는 TCP 통신이 신뢰할 수 있는 통신을 진행하기 위해 확인 단계를 거치고, 새롭게 통신할 때마다 데이터를 잘 수신했는지 확인하고, 수신하지 못한 경우에는 재전송하는 과정이 있기 때문이다. TCP와 UDP는 기술면접에서 면접자의 기본기를 확인하기에 적합한 기본적인 내용 중 하나라고 생각한다.그렇기 때문에, 지원 분야가 어디든 반드시 알고 있길 바란다. TCP와 UDP의 공통점1. 둘 다 전송 계층 프로토콜TCP와 UDP는 OSI 7계층과..
[영상처리] NV21과 YV12의 차이점 앞선 글에서 Bitmap과 YUV의 차이점을 알아보며, YUV 데이터가 실제로 사용되기 위해선 코덱이 지원하는 데이터 포맷으로 가공되어야한다는 점을 언급했다.보통 안드로이드의  CameraX Analysis가 방출하는 row데이터는 YUV420_888 Color format이다.안드로이드에서 이 데이터를 영상 프레임같은 곳에 사용하기 위해선 NV21이나 YV12데이터로 변환해 주어야한다.그럼 NV21은 뭐고, YV12은 뭘까? 이 둘의 차이점은 YUV데이터 중 색차 정보인 U와 V의 저장순서이다. 이미지로 보면 이렇다. NV21은 효율적인 메모리 접근이 가능하다. 위 이미지에서 확인 가능하듯, U와 V가 교차하여 존재하기 때문에 메모리 접근이 효율적이다.반면, YV12는 V와 U의 값이 별도의 평면에 배..
Bitmap과 YUV의 차이점 이번에 개인 사이드 프로젝트로 앱을 만들며, 이미지를 처리를 경험하게되었다.지금까지 Camera를 사용하면 무조건 Bitmap을 사용해 왔는데, 이번에는 YUV color format을 위주로 사용하게되어 많이 해맸었다.그래서 정보를 찾아보며 알게된 둘의 차이점과 공통점을 정리해 두려 한다. 차이점색상 표현 방식Bitmap은 RGB 색상 모델을 사용하여 각 픽셀의 Red, Green, Blue 값으로 색상을 표현한다.YUV는 휘도(Y)와 색차(U, V) 성분으로 색상을 표현하는 모델이다. Y는 밝기 정보를, U(색차 B-Y)와 V(색차 R-Y)는 색상 정보를 가지고 있다.대역폭 효율성RGB 모델은 각 픽셀마다 3개의 값(R, G, B)을 가지므로 대역폭 요구량이 크다. 그래서 리소스를 많이 소모한다.YU..
[네트워크] 캐시(Cache) 캐시(Chache) 자주 사용하는 데이터나 값을 미리 복사해 놓은 임시 장소 아래와 같은 저장공간 계층 구조에서 확인할 수 있듯이, 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. 파레토의 법칙과 지역성의 원리보통 개발을 할 때, "캐시로 처리하겠다"는 "나중에 요청할 결과를 미리 저장해둔 후 요청이 오면 빠르게 처리해 주겠다"는 것을 의미한다.즉, 미리 결과를 저장하고 나중에 요청이 오면 그 요청에 대해서 DB 또는 API를 참조하지 않고 Cache를 참조하여 요청을 처리하도록 만들겠다는 것이다.앞서 작성한 것 처럼, 캐시는 자주 사용하는 데이터나 값을 미리 복사해 놓은 임시 장소이기 때문이다.캐시의 이런 동작 배경에는 파레토 법칙과 지역성 원리가 있다. 파레토 법칙은 "80%의 결과..