본문 바로가기
일상

20240202(from20240130)

by 20231113 2024. 2. 2.

프레임워크란

https://contents.premium.naver.com/3mit/wony/contents/220803201944775qi

 

초등학생도 이해하는 '프레임워크' 개념

안녕하세요. 워니예요🥰 오늘은 프레임워크와 라이브러리에 대해 알아볼게요! 프레임워크가 뭐야? 🤔 프레임워크(Framework)는 개발하는 것을 도와주는 역할을 해요. 앱이나 웹, 소프트웨어를 개

contents.premium.naver.com

https://aws.amazon.com/ko/what-is/framework/

 

프레임워크란?- 프로그래밍 및 엔지니어링 프레임워크 설명 - AWS

프레임워크는 개발자가 소프트웨어 개발을 가속하여 프로덕션 배포에 이르는 데 도움이 되는 유연한 범위의 소프트웨어 구성 요소를 제공합니다. API, 코드 라이브러리, 디버거 및 컴파일러와

aws.amazon.com

https://namu.wiki/w/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

 

프레임워크 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

https://velog.io/@couchcoding/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C

 

프레임워크가 무엇이고, 어떻게 사용해야할까?? (프레임워크 동작방식 예제)

우리는 웹 개발을 할 때, 앱 개발을 할 때, 인공지능 개발을 할 때, 게임 개발을 할 때, 어떤 개발을 하던 우리는 프레임워크를 사용해서 개발을 합니다. 그렇다면 프레임워크 먼가.. 느낌상 라이

velog.io



"프레임워크, 어떻게 탄생했을까? 💡
개발을 하는 과정에는 공통되는 작업들이 적지 않아요. 중복되는 작업들에 대해서는 굳이 여러 번 반복할 필요가 없죠. 따라서 누군가가 미리 코드를 짜 놓은 후, 누구나 쉽게 가져다 쓸 수 있도록 모아놓았고 이게 프레임워크가 된 거예요.

웹 개발을 위한 프레임워크도 있어요. 웹을 개발하는 데는 다양한 언어가 사용돼요. 우리가 흔히 보는 화면, 즉 사용자 인터페이스(UI)를 담당하는 프론트엔드 개발에는 주로 자바스크립트 언어가 사용되는데요. 자바스크립트에 대한 프레임워크인 Angular, React, Vue가 있어요. 각각 구글, 페이스북, 그리고 일반인이 만든 프레임워크예요.
반면, 서버를 담당하는 백엔드 개발에는 자바, 파이썬, 루비 언어가 사용되는데, 이들 언어에 대해서는 스프링(Spring), 장고(Django), 익스프레스(Express Js) 등 서버를 쉽고 빠르게 개발할 수 있는 프레임워크가 있어요.

비슷한 개념의 '라이브러리' 💻
프레임워크와 아주 비슷한 개념이 있는데요. 바로 '라이브러리'예요. 라이브러리는 다른 사람들이 만들어놓은 코드를 이용할 수 있게 한다는 측면에서 프레임워크와 같아요. 그렇다면 프레임워크와 라이브러리는 어떻게 다를까요?
'제어할 수 있는 권한'에서 차이가 발생해요. 프레임워크는 특정 틀(Frame) 안에서 미리 준비되어 있는 코드가 제공돼요. 학교라는 공간 안에서 학생은 학교가 만든 커리큘럼을 따라가는 것처럼요. 반면 라이브러리는 필요할 때마다 사용자가 꺼내 쓸 수 있어요. 마치 도서관(Library)에서 읽고 싶은 책만 읽는 것 처럼요.
즉, 전체적인 흐름에 대해 제어할 수 있는 권한이 프레임워크에 있는 것과 달리, 라이브러리는 사용자가 직접 제어를 하며 필요한 기능에 대한 코드만 가져다 쓸 수 있어요."

- 초등학생도~에서 발췌함 -
--------------------------------
2. 라이브러리와의 차이점[편집]
읽기전에 답부터 이야기하면 둘의 차이를 엄밀히 말하는건 불가능에 가깝다. 여러 사이트들의 설명[1]들은 학술적으로는 의미가 없는 내용이다. 해외의 유명한 개발책들을 읽어도 갑론을박이 활발한것을 알 수 있다. 아래의 설명을 읽을 때 대략 이런 경향이있다로 이해를 해야지 단순하게 라이브러리는 무엇이고 프레임워크는 무엇이다 같은 이야기를 면접때 한다면 매우 불리해질 것이다.[2][3]

보통 프레임워크라고 하면 여러 기능을 가진 클래스와 라이브러리가 '특정 결과물을 구현하고자' 합쳐진 형태라고 볼 수 있다. 따라서 프레임워크는 라이프 사이클이나 일종의 상태를 가지며 대부분의 프레임워크들은 다양한 기능들을 지원하기 위해 많은 라이브러리들을 가지고 있다. 다만 이 분류법도 예외가 있다.

메서드 및 클래스화, 즉 모듈화를 하는 이유 중 하나가 재사용성인데, 프레임워크는 이 재사용성을 큰 그룹 단위로 묶어주었다고 보면 된다. 재사용 가능한 수많은 클래스들과 라이브러리들을 융합한 채로 처음부터 제공해 주기 때문에, 여러 개의 표준을 만들지 않아도 돼서 개발자의 피곤함을 덜어준다.

예를 들어, 웹 프레임워크는 '웹 서버'를 구현하기 위한 목적으로 만들어진 프레임워크다. 웹 서버를 구현하기 위해선 페이지 구현, DB 관리, 유저 인증, API 서버, 라우팅, 사이트맵, 세션 관리 등 여러 기능이 들어있어야할 것이다. 각 기능을 보유한 라이브러리들을 한데 묶어 담은 것이 바로 프레임워크라고 보면 된다.

현재는 만든사람이 라이브러리라고 하면 라이브러리이고 프레임워크라고 하면 프레임워크로 굳는 분위기 이다.
- 나무위키 발췌 -
--------------------------------
개발 유연성
개발자는 소프트웨어 프레임워크를 사용하여 주요 소프트웨어 변경 사항을 구현할 때 더 민첩하게 대응할 수 있습니다. 목표에 맞는 다양한 프레임워크를 교체하면서 프로젝트별 코드를 유지할 수 있습니다. 이렇게 하면 개발자가 수행해야 하는 코드 재작성 작업이 줄어듭니다. 예를 들어 기존 기계 학습(ML) 프레임워크를 보다 강력한 프레임워크로 대체하여 이미지 인식 애플리케이션을 업그레이드할 수 있습니다. 
- aws 발췌 - 
--------------------------------

  확실히 지난번보다 이번에 더 많이 이해했음. 특히 프레임워크가 근본적으로 개발언어를 기반으로 만들어지며 만드는 방식의 차이로 프레임워크의 성격이 달라진다던지 하는 부분들?!

'일상' 카테고리의 다른 글

20240204(from20240130)  (0) 2024.02.04
20240203  (0) 2024.02.03
20240201  (0) 2024.02.01
20240131(from20240130)  (0) 2024.01.31
20240130  (1) 2024.01.30