프레임 워크
개념
프레임 워크는 이름에서 볼 수 있듯 개발을 하기 위한 프레임, 뼈대를 제공해줍니다. 전체 동작 방식은 프레임워크가 제공하고 우리는 프레임워크의 일정 부분만 개발하는 것으로 프로그램을 만들 수 있습니다. 굳이 표현하자면 독립을 해서 집을 구했는데 매매가 아닌 전세로 들어가는 것과 비슷하다고 보면 됩니다. 통제권은 집주인이 쥐고 있어 집에 소파를 놓거나 티비를 놓는 작업은 마음대로 할 수 있지만, 베란다를 터서 방을 넓힌다거나 벽을 허물고 창문을 설치하는 등의 행위는 할 수 없는 느낌입니다. 즉 통제권은 프레임워크가 쥐고 있고 우리는 허용범위 내에서만 코드를 작성할 수 있습니다. 원래는 프로그래머가 가지고 있던 객체의 제어를 프레임 워크가 대신 해준다는 의미로 제어역전 이라는 용어를 사용하기도 합니다.
자바 언어로 사용하는 스프링이나 아파치 시리즈, 그리고 파이썬 언어로 사용하는 장고나 플라스크 등이 있습니다.
라이브러리
개념
라이브러리는 사용하기 쉽게 분리해놓은 코드의 조각입니다. 쉽게 생각하면 어떤 작업을 하는 함수들을 기준에 따라 모아놓으면 이 또한 라이브러리라고 할 수 있습니다. 프레임 워크와 비교해서 설명하자면 라이브러리는 타일이나 벽, 기둥과 같은 자재들이라고 생각하면 될 것 같습니다. 사용하기에 따라서는 집을 지을수도 있고 가구를 만들수도 있습니다. 통제권도 프로그래머에게 있고 허용범위가 프레임워크보다 널널하다고 생각할 수 있습니다.
파이썬으로 사용하는 numpy 나 pandas, pytorch 그리고 자바로 사용하는 lombok, jackson 등이 있습니다.
'Computer Science > Common' 카테고리의 다른 글
동기 Vs 비동기 (1) | 2023.11.01 |
---|---|
아스키 코드 Vs 유니코드 Vs UTF-8 (0) | 2023.10.31 |
Call By Value Vs Call By Reference (0) | 2023.10.30 |
메모리 구조 (0) | 2023.10.29 |
RESTful api (0) | 2023.10.28 |