※ 주의: 그냥 드립입니다. 다큐로 받으시면 곤란합니다.
어제 좀 궁금한 것도 있고, 살만한 것이 있나 해서 쿠팡에서 썬더볼트 외장 SSD를 검색해 봤습니다.
아들내미 무슨 보드게임도 좀 살만 한 게 없나 해서 승경도 게임 같은 것도 좀 찾아보고 했는데요.
오늘 낮에 스마트폰에서 페이스북 알림이 떠서 확인하고 홈으로 돌아오는데...
아시다시피 페이스북은 광고가 엄청 많이 뜨죠.
그런데, 귀신같이 쿠팡 광고란에 어제 제가 검색했던 그 외장 SSD와 보드게임들이 줄줄이 뜨는 겁니다.
처음에는 '에휴, 쿠팡에서 달라고 하면 개인 정보는 그냥 굴러 나오는구나 ㅋㅋ' 하고 말았는데...
이게 생각해보니 뭔가 신박한 구조이지 않겠습니까?
그러니까, 페이스북 내부에 광고 블록이 있고 (위젯이라고 칩니다), 그 내부에 광고 컴포넌트가 있는 겁니다.
그러면, 그 광고 컴포넌트를 생성할 때, 일일이 쿠팡에다가 관련 광고를 호출하게 되면, 개인 정보를 다 끌어와야 하니까?
그러지 말고 그냥 쿠팡 앱에다가 이렇게 호출합니다.
void makeAdBlock(adComponent, adComponent);
원래는 저 AdComponent를 일일이 생성해서 불러야 하는 함수이지만, 그러면 의존성이 심해지니까,
그냥 저 함수를 호출하면 저 함수 내에서 쿠팡 API를 호출합니다.
그러면 쿠팡 앱에서 알아서 AdComponent의 인스턴스를 생성해서 실어 주는거죠.
페이스북에서는 전혀 AdComponent에 대해서는 알 필요도 없고, 알아서 쿠팡 앱에서 알맞은 컴포넌트를 실어서 주는거니,
이거야 말로 뭔가 완벽한 의존성 주입(Dependency Injection, DI)이 아닐까...? 하는 생각이 들었었습니다.
...이딴 게...DI...?
...죄송합니다. 오늘 진짜 제정신이 아닌 하루여서, 또 땜빵입니다.