데이터는 흐릅니다. 다시 말해 그 흐름 중 어느 한 곳이라도 품질이 제대로 관리되지 않으면 다운스트림에서 문제가 생길 수 있다는 이야기입니다. 그래서 요즘에는 ‘데이터가 없는 것보다 잘못된 데이터에 기반한 의사 결정이 더 무섭다’는 말도 자주 보입니다. 하지만 저품질 데이터, 불량 데이터의 발생을 완전히 틀어막기는 거의 불가능합니다. 그러면 우리가 할 수 있는 일은 한 가지, 문제가 발생했을 때 적절하게 대처하는 것입니다. 그리고 그 대처의 첫걸음은 ‘무엇을 체크하면 되는지 인식’하는 일입니다.
객체지향 프로그래밍(Object-Oriented Programming, OOP)은 클래스(Class)를 통해 데이터와 행위를 묶어 관리하는 프로그래밍 패러다임입니다. 그렇지만 OOP의 사용에 대한 모호함에 대한 논의는 끊임없이 진행되고 있습니다. 이러한 배경 속에서 예호나단 샤르빗(Yehonathan Sharvit)이 데이터 지향 프로그래밍(Data Oriented Programming)이라는 새로운 개념을 제안했습니다. 전편 ‘개발자가 알아야 할 데이터 지향 설계란?’에 이어, 이번 글에서는 데이터 지향 프로그래밍은 어떤 내용인지 알아보겠습니다.
객체지향 프로그래밍은 클래스(Class)를 통해 데이터와 행위를 묶어 관리하는 프로그래밍 패러다임입니다. 그렇지만 OOP의 사용에 대한 모호함에 대한 논의는 여전히 진행되고 있으며, 최근에는 함수형 프로그래밍(Functional Programming, FP)을 통한 활용도 많은 관심을 받고 있습니다. 이러한 배경 속에서 예호나단 샤르빗(Yehonathan Sharvit)이 데이터 지향 프로그래밍(Data Oriented Programming)이라는 새로운 개념을 제안했습니다. 그래서 이번 글에서는 데이터 지향 설계와 데이터 지향 프로그래밍에 대해 간략히 알아보는 시간을 갖고자 합니다. 첫 번째로 데이터 지향 설계와 관련된 이야기입니다.
Google I/O는 구글에서 매년 5월 경 주관하는 개발자 컨퍼런스로, 구글에서 새롭게 발표하는 기술, 안드로이드 등의 최신 업데이트 사항들을 공유한다. 특히 올해는 구글이 ‘바드(Bard)’라는 인공지능 챗봇을 공개하면서 한국어를 우선 지원하겠다고 밝혀 큰 화제가 되기도 했다. 이외에도 모바일, 웹, AI, 클라우드 등의 다양한 분야와 이러한 기술들을 직접 학습해 보는 세션이 준비되었다. 이번 글에서는 그중 웹에 대해 다룬 주요 세션을 웹 프론트엔드 개발자 관점에서 살펴보고자 한다.
프론트엔드를 해야 할지 백엔드를 해야 할지 모르겠어요. 개발을 막 시작하거나 몇 년 지나지 않은 주니어 개발자들과 대화를 하다 보면 심심치 않게 듣는 말이다. 그렇다고 꼭 경험이 적은 개발자만의 고민은 아니다. 경력이 많은 개발자들도 종종 이런 고민을 토로한다. 프랑스 철학자 장 폴 사르트르는 “인생은 BCD이다”라고 말했다. 태어나서(Birth) 죽는(Death) 순간까지 끊임없이 선택(Choice)하며 산다는 뜻이다. 삶은 선택의 연속이다. 그렇다면 어떻게 해야 더 나은 선택을 할 수 있을까?