• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

나만의 프레임워크는 어떻게 만들어야 하나요?

20.12.10 11:16 작성 조회수 428

0

완강 후 학습방향에 대한 질문 드립니다.

회사에서 CI 프레임워크를 통한 개발을 하기도 하고

또 선임자분께서 프레임워크를 만들어주시면 그 위에서 개발을 해왔습니다.

그러다가 저도 프레임워크없이 개발해보고싶다는 생각이 들어서 삽질을 하기 시작했습니다.

백지에서 시작하려고 하니 어디부터 시작해야할 지 감이 안왔습니다.

OOP라는 단어에 이끌려 강의를 처음부터 끝까지 듣게 되었고

강의를 수강하고 나면

저 스스로의 힘으로 게시판을 설계하고 구성하게 될 줄 알았습니다.

그런데 듣고 난 후 느낀 점은

그래도 모르겠다는 것입니다.

이번에는 남이 만든 모듈을 composer require하는 방식으로 사용할 뿐 달라진 건 없었습니다.

강의를 통해 깨달은 게 있다면 

데이터베이스 연결

세션 시작

요청 path를 받아서 라우팅

뷰에 뿌리기

등의 대략적인 과정을 거쳐야 한다는 것입니다.

저만의 프레임워크가 만들고 싶다면 어디서부터 시작해야 할까요?

라라벨 프레임워크가 어떻게 돌아가는지 대략적으로 이해했으니 그냥 프레임워크를 잘 쓰면 되는걸까요?

답변 1

답변을 작성해보세요.

1

안녕하세요 :)
강의를 완강하셨다니 고생하셨습니다.

프레임워크를 직접 구축하는 것은 사실 공부할 때는 좋지만 실제로 실무에 적용하는 것은 그다지 하지 않는 편이 좋습니다. 개인이 만든 프레임워크는 많은 사람들이 참여한 라라벨과 같은 프레임워크의 안정성이나 자료를 따라가기 어렵고, 유지보수 측면에서도 그다지 좋은 접근은 아니니까요.

하지만 프레임워크가 어떻게 돌아가는지를 공부해보고 이를 한 번 작게나마 구축해보고 싶다면, 다른 프레임워크를 벤치마킹하여 하는 것이 그나마 좋은 공부방법입니다. 서비스 프로바이더를 사용하여 어플리케이션을 초기화하고 프로바이더에 따라 기능을 제공하고 하는 일만해도 라라벨을 비슷하게 따라만 했을 뿐이기도 하죠.

이 강의를 먼저 끝내고 가장 먼저하면 좋은 일은 라라벨 프레임워크나 CI 등 시중에 많이 알려진 php 프레임워크를 익히는 것(1)입니다. 그 다음에 프레임워크 사용하는 것에서 그치지 않고 해당 프레임워크의 라이프사이클, 컨셉 등을 문서나 코드를 보고 살펴봅니다.(2) 이후에는 그것과 비슷한 컨셉과 라이프사이클을 가지도록 직접 코드를 구성해보면 됩니다.(3) 마지막으로 현재 사용하는 프레임워크의 아키텍쳐나 컨셉에서 개선점을 찾아 컨트리뷰터로 참여하거나 새로운 프레임워크를 만듭니다.(4)

대부분의 실무에서는 3번까지 가지 않습니다. 시장에서 사용하는 프레임워크를 잘 다루는 것만으로도 충분히 실무에서 사용할 수 있기 때문입니다. 그러나 욕심을 조금 더 부려 3번까지 가게 된다면 프레임워크를 벗어나 논프레임워크 환경에서 새로운 프레임워크를 구축하는 경지까지 나아갈 수 있습니다. 이는 실무에서 실제로 사용하기 위한 것이 아니라 조금 더 깊게 들어가기 위한 과정이며, 만약 자신이 만든 프레임워크가 혁신적이고 기존에 없던 아키텍쳐를 가지고 있다면 이름이 알려질 수도 있겠죠. :)