Dev-Basic/Programming

[Basic] Scaffold 개발 기법

yoonjong Park 2021. 2. 15.

create-react-app 도 scaffolding 개발 기법을 적용한 것이다. (개발 방법론은 아니고 개발 기법(테크닉) 중 하나)

모듈을 제작해둬서 모듈 단위로 셋팅을 하고 모듈 중 일부를 활용하는 개발 기법이다.

문제는 리소스 활용이 좀 많아질 수 있다는 단점? 장점은 초기 세팅 자체가 굉장히 수월해진다. 그리고 다른 사람이 작성한 모듈을 그대로 사용해도 되기 때문에 생산성을 훨씬 높일 수 있다는 점이다.

*우주선 같은 거 날리거나 전투기에서 사용하는 거 아닌 이상은 닥치고 Scaffold기법을 이용하는 것이 좋지 않을까 싶다. 

출처 : seunghyum.github.io/scaffold/Scafflod-Modules/#

saltfactory.github.io/ruby/speedly-developing-web-service-via-scaffolding.html

 

[Scaffold] Scaffold Module 개발

도입 이유

  • SI 작업은 울며 겨자먹기식이나 회사 전체 프로젝트가 SI 작업 때문에 진도가 잘 안나감.

Scaffolding Module 설명

  • Scaffolding 용어
    • 네이버 어학사전 - (공사장에서 안전을 위해 외부로 설치하는) 뼈대
    • Stackoverflow - Scaffolding generally refers to a quickly set up skeleton for an app.
    • 다음 검색 - 컴퓨터 용어에서 스캐폴딩은 데이터베이스의 각 테이블에 대한 웹 페이지를 자동으로 생성하는 Dynamic Data 요소를 말합니다. 자동 생성된 웹 페이지를 통해 각 테이블에 대해 만들기, 읽기, 업데이트 및 삭제(CRUD) 작업을 수행할 수 있습니다. 스캐폴딩은 페이지 템플릿, 엔터티 페이지 템플릿, 필드 페이지 템플릿 및 필터 템플릿으로 구성됩니다.
  • Rails의 Scaffolding은 간단한 명령어로 Model, View, Controller등 모든 구성요소(파일구조, 코드)를 알아서 만들어 줌.

  • 이처럼 SI 프로젝트에서 공유될만한 것들을 scaffolding Module로 빼서 개발하는 것이 목표.

기능모듈 & UI 컴포넌트 모듈과의 차이점

  • 프로젝트마다 기능모듈과 UI 컴포넌트 모듈을 포함할수도, 포함하지 않을 수도 있음.
  • Scaffold의 목적은 “SI 작업 비용을 최소화하는 코드 템플릿”

도입 이후 장점

SI 작업에 드는 비용 감소. 작업시간 단축.

도입 이후 위험성

  • 모듈화 작업에 들어가는 폼이 많을 수 있음. → 모듈화 이슈는 서브 챕터에서 공유
  • 모듈에 맞춰서 고객의 요청을 미리 제한할 수 있어야함. ex - 기획, 디자인시 모듈에 맞게끔 유도해야할 수 있음

댓글