card.js 리팩토링