본문 바로가기

TIL(Today I Learned)

TIL-231110(프레임워크, 라이브러리)

📝오늘 공부한 것

  • '프레임워크 vs 라이브러리' 공부하기
  • 커리어톤 참여
  • 프로그래머스 문제풀기

📌 프레임워크 vs 라이브러리

📍 프레임워크

  • 컴퓨터 프로그래밍에서 소프트웨어 프레임워크는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조, 프레임워크라고도 한다.(wikidedia)
  • 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미한다.
  • 애플리케이션의 코드가 프레임워크에 의해 사용된다.
  • 프레임워크의 코드에는 완성된 기능들이 포함되지 않는다.
    즉, 애플리케이션의 설계도를 제공하는 프로그램의 골격들이지 완성된 제품은 아니라는 것이다.
  • 장점 : 적은 코드 길이, 코드 재사용, 쉬운 디버깅과 애플리케이션 모니터링, 단순화된 DB 연결, 향상된 보안
  • 예시 - Java의 Spring, Phython의 Django, Flask 등..

 

📍 라이브러리

  • 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임. 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양을 포함할 수 있다. (wikidedia)
  • 특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미한다.
  • 개발자들은 특정 기능을 구현하기 위해 코드를 다시 짤 필요가 없고, 자신의 업무에서 쉽게 적용하여 빠르게 개발을 마칠 수 있게 도와준다.
  • 애플리케이션 코드의 흐름을 직접 제어해야 한다.
  • 예시 - java.util, java.math, SLF4J, MOCKITO, JUnit, Spring Security 등..

 

📍 프레임워크와 라이브러리의 공통점

  • 재사용이 가능한 코드의 집합이다.

 

📍 프레임워크와 라이브러리의 차이점

  • 프레임워크와 라이브러리는 실행 흐름에 대한 제어 권한이 어디 있는지에 따라 달라진다.
  • 라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어해야 한다.
  • 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용된다.
  • 프레임워크를 사용하면 사용자가 관리해야 하는 부분을 프레임워크에 넘김으로써 신경써야 할 것을 줄이는 제어의 역전이 적용된다.
  • 즉, 프레임워크에는 분명한 제어의 역전 개념이 적용되어 있어야한다.
    애플리케이션 코드는 프레임워크가 짜놓은 틀에서 수동적으로 동작해야 한다.

⭐ 라이브러리는 사용자가 흐름에 대한 제어를 하며 필요한 상황에 따라 가져다가 쓸 수 있지만 프레임워크는 전체적인 흐름을 자체적으로 제어한다는 특징이 있다.

https://www.miraeweb.com/single-post/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8B%A4%EB%A5%B8%EA%B0%80

 

 

 

 

 

 

 

 

 

 

References :

https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC_(%EC%BB%B4%ED%93%A8%ED%8C%85)

https://www.miraeweb.com/single-post/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8B%A4%EB%A5%B8%EA%B0%80

https://medium.com/@relee6203/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%9D%98-%EC%B0%A8%EC%9D%B4-7864fed2ad84