객체지향 프로그래밍은 클래스(Class)를 통해 데이터와 행위를 묶어 관리하는 프로그래밍 패러다임입니다. 그렇지만 OOP의 사용에 대한 모호함에 대한 논의는 여전히 진행되고 있으며, 최근에는 함수형 프로그래밍(Functional Programming, FP)을 통한 활용도 많은 관심을 받고 있습니다. 이러한 배경 속에서 예호나단 샤르빗(Yehonathan Sharvit)이 데이터 지향 프로그래밍(Data Oriented Programming)이라는 새로운 개념을 제안했습니다. 그래서 이번 글에서는 데이터 지향 설계와 데이터 지향 프로그래밍에 대해 간략히 알아보는 시간을 갖고자 합니다. 첫 번째로 데이터 지향 설계와 관련된 이야기입니다.
Google I/O는 구글에서 매년 5월 경 주관하는 개발자 컨퍼런스로, 구글에서 새롭게 발표하는 기술, 안드로이드 등의 최신 업데이트 사항들을 공유한다. 특히 올해는 구글이 ‘바드(Bard)’라는 인공지능 챗봇을 공개하면서 한국어를 우선 지원하겠다고 밝혀 큰 화제가 되기도 했다. 이외에도 모바일, 웹, AI, 클라우드 등의 다양한 분야와 이러한 기술들을 직접 학습해 보는 세션이 준비되었다. 이번 글에서는 그중 웹에 대해 다룬 주요 세션을 웹 프론트엔드 개발자 관점에서 살펴보고자 한다.
프론트엔드를 해야 할지 백엔드를 해야 할지 모르겠어요. 개발을 막 시작하거나 몇 년 지나지 않은 주니어 개발자들과 대화를 하다 보면 심심치 않게 듣는 말이다. 그렇다고 꼭 경험이 적은 개발자만의 고민은 아니다. 경력이 많은 개발자들도 종종 이런 고민을 토로한다. 프랑스 철학자 장 폴 사르트르는 “인생은 BCD이다”라고 말했다. 태어나서(Birth) 죽는(Death) 순간까지 끊임없이 선택(Choice)하며 산다는 뜻이다. 삶은 선택의 연속이다. 그렇다면 어떻게 해야 더 나은 선택을 할 수 있을까?
쿠팡에서 데이터는 대체 불가능한 자원입니다. DBA 엔지니어들은 데이터베이스에 문제가 발생하는 것을 원천 차단하고자 많은 노력을 기울이지만, 예측 불가한 일로 인해 데이터에 문제가 생길 수 있습니다. 예를 들어, 사소한 물리 디스크 장애로 데이터세트가 오염될 수도 있고, 개발자 실수로 데이터가 영구적으로 삭제될 수도 있습니다. 이러한 잠재적 데이터 재해를 빠르고 효율적으로 해결하기 위하여, 쿠팡 데이터베이스 엔지니어링 팀은 전체 백업 프로세스를 간소화, 자동화하는 강력한 백업 및 복구 플랫폼을 개발하였습니다.