처음 접했을 때 확실히 다른데 뭐가 다른지 모르겠다 - 싶었다. 아니 뭔가 비슷한데 정확히 뭐가 다른거지? 싶은. 아무튼 묘하게 혼란스러운 개념. 나만 그런가? 그래서 찾아봤더니 이전에 이걸 궁금해 한 선배가 있었다.


https://kldp.org/node/124237


여기 댓글 중 잘 설명된 댓글이 있어서 기록해둔다.

https://kldp.org/node/124237#comment-560991

글쓴이: semmal 작성 일시: 수, 2011/07/06 - 5:37오후


추상계층이 헷갈리는 거네요.

일단 모든 소스코드든 라이브러리든 메모리에 들어가는 정보는, 컴파일러나 인터프리터에게는 호출가능한 모듈일 뿐입니다.
이런 물리적인 계층을 보지말고, 그 위의 논리적인 계층을 봐야합니다.

라이브러리는 톱, 망치, 삽같은 연장입니다.
사람이 들고 썰고, 바꿔들고 내려치고, 다시 바꿔들고 땅을 파는 겁니다.

프레임워크는 차, 비행기, 배같은 탈것입니다.
사람이 타서 엔진 켜고, 기어 넣고, 핸들 돌리고, 운전하거나, 조종하거나 해야합니다.

도구를 쓸 때, 급하면 썰어야 할 곳에 망치를 쳐도 됩니다. 땅 파야할 때 톱으로 땅을 긁어내도 됩니다.
사람은 도구를 선택하는 입장이기 때문에, 어떤 도구를 사용하든 원하는 것을 만들어낼 수 만 있으면 됩니다.

반면에, 탈것은 정해진 곳으로만 다녀야 합니다. 차를 타고 하늘을 날거나, 배를 타고 땅으로 갈 수는 없습니다.
하지만, 그 목적에 맞게 만들어져 있기 때문에, 톱이나 망치를 들고 먼저 탈것을 만들어야할 필요가 없습니다.
그저 정해진 규칙에 맞춰서 엔진, 기어, 핸들만 잘 돌리면 됩니다.

라이브러리와는 달리 프레임워크는 이미 프로그래밍할 규칙이 정해져 있습니다.
예를 들어, 설정파일로 사용되는 XML에 어떤 태그를 써야하며, 어떤 함수를 추가적으로 작성해야하고,
소스 파일을 어느 위치에 넣어야하며, DB와 연동하기 위해 무엇을 써넣어야 하는지 정해져 있습니다.
보통 이런 대부분의 작업은 프레임워크가 하고자 하는 일에 비하면 아주 작은 일이며, 사람은 극히 일부분만 조정함으로써 목적을 달성할 수 있습니다.

만약 프레임워크가 담당하는 부분이 내가 하고자 하는 목적과 다를 경우에는 어떻게 할까요?
그럼 그냥 프레임워크를 잘못쓴겁니다.
더 목적에 가까운 프레임워크를 찾아보면 대부분 있을겁니다.
없거나 구하기 힘들다면, 비슷한 프레임워크를 라이브러리 단계에서 변경해서 다른 프레임워크로 만들면 됩니다.
차를 튜닝한다음, 차를 다시 운전하면 된다는 말이지요.

혹시 프레임워크 없이 그냥 라이브러리로만 만들면 안될까요?
안될 이유가 어딨겠습니까?
그냥 다 다시 만들 능력과 시간과 여유만 있다면 그렇게 해도 되지요.
스스로 만든 프레임워크는 버그도 스스로 잡아야하지만, 남들이 만들어놓은 프레임워크는 쓰는 사람이 많은 만큼 그만큼 수정이나 업데이트도 빠릅니다.
기능이 마음에 안드는 부분이 있다면, 프레임워크를 고치면 됩니다. 처음부터 다 만드는 것보다는 싸게 먹히지요.
내일 당장 지방에서 서울로 출근해야하는데, 혼자서 차를 만들어서 타고 가야한다는 생각을 해보세요.


어떤 느낌의 개념인진 알겠다.

javaScript 의 경우 Library로 jQuery, D3 등을 가지고

Spring 의 경우 Framework 로 iBatis, MyBatis 등이 있는 모양..

MyBatis 같은 Framework 가 사실은 Spring 외의 것에도 쓰인다고.


Framework 는 쉽고 빠르게 만들기 위한 - 문서로 치면 Templet 과 비슷한 개념인것 같다.

Library는 말하자면 textExpander(텍스로 메크로 유틸) 같은 개념? 쳐야 되는 코드의 양을 줄여주니까.


뭐 그런거 아닐까나.


저작자 표시 비영리 변경 금지
신고
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. Terry 2016.04.19 21:18 신고  댓글주소  수정/삭제  댓글쓰기

    더 알가 쉽게 구분하는것은 개발자가 프로그래밍의 흐름에 대한 실행 및 제어를 할 수 있느냐..없느냐로 보면 됩니다..
    이 차이점에 대해서는 토비의 스프링에서 잘 설명되어 있죠..
    프레임워크는 흐름에 대한 설정만 해주면 흐름 자체는 프레임워크가 직접 실행합니다..
    스프링, 마이바티스, 아이바티스 등을 곰곰히 생각해보면 답 나올꺼에요..
    원하는 것을 얻기 위해 필요한 것들만 설정하고 연결지어주면 그 실행은 프레임워크가 직접 해서 결과를 얻습니다..
    그러나 라이브러리는 내가 직접 실행을 시켜줘야 합니다..
    기존에 우리가 라이브러리라고 얘기하는것들을 생각해보세요..
    일일이 내가 호출을 해줘야 원하는 값을 얻을수 있습니다..

  2. Kingtalk 2016.05.09 17:32 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 저는 티스토리를 시작하고 싶은 KINGTALK이라고 합니다.

    혹시 저에게 티스토리 초대장을 주실수 있으신가요?

    저에게 만약 초대장을 주신다면 감사하겠습니다

    그리고 티스토리에 유명해지면 센텔님 티스토리 추천글 올리겠습니다!

  3. OUR1062 2016.10.16 00:34 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요/ 티스토리에 가입하려 했더니 초대장이 필요하다고 해서요.
    초대장 부탁드려요~

  4. Favicon of http://kukudie.blog.me/ BlogIcon 백햐꾸 2017.02.28 17:23 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요? 티스토리 초대장 부탁드려요.

    1. 블로그 운영
    - 일상
    - 여행 (국내, 국외)
    - 맛집 (All)
    - 이노베이터 리뷰(각종 기기, 구입품 리뷰)

    2. 홈페이지형 블로그 만들어 보려구해요.
    티스토리 구경만 했지.... 어떻게 구성하는지 확인도 해보고 싶구요.


    더 디테일한 부분을 적어야할까요? ㅠ

    내 삶의 일상을 기록하게 될꺼에요!

  5. 2017.04.18 10:23  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  6. 윤은서 2017.04.18 10:24 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 초대장부탁드립니다 ㅠ

    해외여행과 일상여행을 좋아해서

    블로그를 운영하고싶은데 네이버는 해킹당하고 말도아니네요ㅠ

    티스토리가 꾸미기도 좋고 보기에도 좋아서

    운영해볼려하는데 초대장이 필요하다고하네요

    초대장하나 부탁드려요 ㅠ

    bluerose1012@nate.com 입니다 ㅠ

  7. 최선하 2017.04.18 10:41 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요! 다음에서 블로그 운영하다가 쉰지는 꽤 되었는데
    티스토리를 해보고 싶어서 글을 남겨요..
    방콕여행을 좋아해서 아마 방콕여행과 일상글을 쓸것 같아요
    티스토리 어렵다고 그냥 네이버블로그 하라는 분들도 많으시긴 한데
    티스토리 도전 해보고 싶네요^^
    초대장 부탁드려요! 같이 티스토리 해요..^^;;

    초대장받고 싶은 이메일 주소 : shshkr7978@gmail.com
    다음블로그주소 : http://blog.daum.net/insomniabean

  8. 라이앙 2017.05.07 12:38 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요, 초대장 때문에 들어왔어요 ㅠㅠ..

    주제는 일본생활, 자동차디자인을 계획하고 있어요.

    목적은, 개인생활일기와 정보공유 그리고 수익성입니다.

    이제 사회인이 되서, 저도 사회에 제 생활을 쉐어 하고 싶어요.
    생활 일기를 쓰면서 제 인생의 하루하루를 정리해 가고 싶습니다.
    현재 일본에 있어서, 외로운 점도 있고, 일본에서 어려운점을 여러사람들의 블로그의 정보를
    통해서 많이 도움을 받았습니다. 저 처럼 어려운점에 부딪힌사람들에게 도움이 되고 싶어요.
    여러가지 분야에 대해서도 다른사람들과,정보 공유를 하고 많은 사람들에게 제 글이 도움이 되었으면 해요.
    특히, 티스토리는 블로그의 디자인에 있어서 자유도가 높다는 것과, 수익성의 가능성도 매력적이었어요.
    공손하고 좋은 글을 쓰면서, 나만의디자인을 할수있다는것과 수익성도 낼 수 있다는 것이, 쓰면 쓸 수록
    더 좋은 글을 쓸 수 있도록 노력하게 될 블로그라고 생각했어요. 정말 처음부터끝까지 나만의 블로그가
    되는 것이니까요.
    블로그는 처음이라 재밌게 하고 싶어요.
    초대장,, 부탁드려요..

    이메일주소 : ryansangwoo@naver.com

  9. 2017.06.04 21:00  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다



티스토리 툴바