목록Architecture (4)
개발자의 오르막

저번 글에서는 Udmey 의 Docker & Kubernetes 실전 가이드 강의를 후기작성하였습니다.이번 블로그 챌린지에서 Udemy 인강 2개를 제공해주셨기 때문에 그 중 하나인 Apache Kafka 시리즈 - 초보자를 위한 아파치 카프카 강의를 소개하고자 합니다. 왜 Kafka 강의를 선택했는가? Apache Kafka 는 오픈 소스 분산형 스트리밍 플랫폼입니다. 단어 뜻 그대로 오프된 소스코드를 가진 소프트웨어이며, 데이터를 실시간으로 처리하고, 처리된 결과를 다른 시스템으로 전송하는 플랫폼의 역할을 합니다. 위의 그림처럼 이벤트나 정보를 수집한 Producer 애플리케이션이 요청을 하게 되고, 이를 Consumer 애플리케이션이 수행하게 되는 플랫폼입니다. 하나의 애플리케이션에서 모든..

Overview 코드스멜, 소프트웨어 개발 시에 사용되는 용어로, 잠재적인 문제를 야기할 수 있는 부분들에서 냄새가 난다는 관용적 표현으로 많이 쓰입니다. 코드의 가독성, 유지보수성, 확장성, 성능 등 부정적인 영향을 끼칠 수 있는 부분들을 기준에서 해당이 됩니다. 만일, 여러분이 코드리뷰를 받을 때, 개발하였던 주요 로직에 대한 피드백이 아닌 통칭 코드스멜이 나는 코드에 대한 리뷰만을 왕창 받으면 참 기분이 별로 좋지 않을 것입니다. 내가 이럴려고 개발을 했나.. 왜 이런 부분을 놓쳤을까 등 자괴감에 빠지며, 정작 중요한 기능에 대해서는 코멘트를 못받을 수 있는 일이 허다합니다. 왜냐하면 코드스멜만큼 눈에 띄고 부정적인 영향을 나타내는 것밖에 없으니까요! 그리고 이런 부분은 냄새 자체가 나기 때문에 동..

Overview 대용량 채팅은 어떤 것을 의미할까요? 우리가 흔히 쓰는 카카오톡, 라인, 당근과 같이 개인과 개인 사이의 채팅이 아닌, 특정 목적을 위해 모인 불특정 다수가 함께 채팅하는 것을 의미합니다. 유튜브, OTT 의 인기와 더불어 유튜브 Live, 트위치, 라인의 Live, 아프리카 TV 와 같이 실시간 라이브방송으로 고객들과 소통하는 쌍방향 커뮤니케이션 서비스가 흥행하고 있습니다. 실시간 라이브 방송으로 인한 대규모 채팅, 수천 또는 수백만 명의 동시접속자가 이루어질 수 있는 환경 이기도 합니다. 때문에 우리는 흔히 C10K 문제라고 하는 1만개의 클라이언트를 동시에 처리할 수 있는 네트워크 I/O 모델 설계 방법 에 대해 고민을 안 할 수 가 없습니다. 특히 라이브 방송을 쇼핑몰로 진행할 때..

트랜스 코딩이란 무엇일까? 위의 그림과 같이 현대에서는 하나의 영상이 다양한 기기에서 재생됩니다. Computer, TV, Tablet 등 다양한 디스플레이에서 재생되는 것은 물론, 하나의 디스플레이에서도 우리는 여러 해상도와 비트레이트를 제공합니다. 💡 해상도 (Resolution) : 1인치 안에 표현되는 화소나 점의 개수 비트레이트 (Bitrate) : 초당 처리하는 비트, 영상 재생 시 비트레이트가 높을 수록 하이 퀄리티의 영상을 볼 수 있습니다. 우리가 다양한 디바이스에서 원하는 해상도, 비트레이트, 화면비율 등으로 영상을 시청할 수 있는 것은 동영상이 사전에 다양한 버전으로 변환되어 제공되기 때문입니다. 원본 동영상 파일을 다른 포맷의 동영상 파일로 변환하는 과정을 트랜스코딩이라 합니다. 그러..