검수요청.png검수요청.png

"프레임워크"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (같이 보기)
1번째 줄: 1번째 줄:
 
'''프레임워크'''(framework)란 [[소프트웨어]] 개발 시 복잡한 문제를 해결하거나 서술하는 데 사용하는 기본 개념 구조를 말한다. 간략히 '''F/W'''라고도 쓴다. '프레임웍'이 아니라 '프레임워크'가 올바른 표기법이다. '''표준 프레임워크'''라고도 한다.
 
'''프레임워크'''(framework)란 [[소프트웨어]] 개발 시 복잡한 문제를 해결하거나 서술하는 데 사용하는 기본 개념 구조를 말한다. 간략히 '''F/W'''라고도 쓴다. '프레임웍'이 아니라 '프레임워크'가 올바른 표기법이다. '''표준 프레임워크'''라고도 한다.
 +
 +
==특징==
 +
===장단점===
 +
*'''장점'''
 +
프레임워크는 첫째, 효율적이다. 이미 만들어진 코드를 사용하게 하여 재사용성을 높이고 시간과 비용을 아껴 생산성을 높일 수 있다. 두번째, 개발 완성도가 높아진다. 프레임워크에서 제공하는 기능들은 다수의 개발자가 사용하며 수정하기 때문에 이미 검증된 코드다. 이를 사용함으로써 버그 발생 가능성을 줄여주고, 개발자가 반복 작업에서 실수하기 쉬운 부분들을 커버해주기 때문에 품질이 향상되면서 완성도가 높아진다. 세번째, 체계적인 코드관리로 유지보수가 용이하다. 프레임워크를 사용하지않고 소스코드 작성시 개발 담당자의 변동이 발생하면 혼돈이 생기기 쉽다. 하지만 프레임워크 사용시 소스코드가 체계적이기 때문에 개발 담당자가 중간에 변동이 생기더라도 위험부담을 줄일 수 있으며 유지 보수에 안정적이다. <ref name="GoCderITExpress">〈[https://gocoder.tistory.com/1867 프레임워크란? - 정의, 비유, 장단점을 알아보자]〉, 《개인사이트》, 2020-03-18 </ref> 네번째, 추상화된 코드 제공을 통해 확장성이 좋다. 새로운 이슈나 기능이 업데이트되고 이를 사용할 수 있기에 확장성이 좋다. 높은 확장성을 통해 업데이트된 기능으로 프로그램의 품질을 끌어 올릴 수 있다. <ref name="PLAYnexacro">〈[https://www.playnexacro.com/#show:insight:893 웹에서 프레임워크가 필요한 이유]〉, 《PLAYnexacro》, 2019-06-25 </ref>
 +
 +
*'''단점'''
  
 
== 종류 ==
 
== 종류 ==
26번째 줄: 33번째 줄:
 
* '''[[스파크]]'''(Spark) : [[오픈소스]] 기반의 [[클러스터]] 컴퓨팅 프레임워크이다. 2009년 미국 UC 버클리대학교의 대학원생인 [[마테이 자하리아]](Matei Zaharia)가 개발했다. 영어로 spark는 불꽃이 튀기는 것을 말하는데, 대용량 [[데이터]]를 마치 불꽃이 튀기는 것처럼 순식간에 처리한다는 것을 강조하기 위해 붙인 이름이다. 2010년 [[BSD 라이선스]]로 공개했고, 2013년 [[아파치재단]]에 넘겨서 [[아파치 라이선스]]로 변경되었다.
 
* '''[[스파크]]'''(Spark) : [[오픈소스]] 기반의 [[클러스터]] 컴퓨팅 프레임워크이다. 2009년 미국 UC 버클리대학교의 대학원생인 [[마테이 자하리아]](Matei Zaharia)가 개발했다. 영어로 spark는 불꽃이 튀기는 것을 말하는데, 대용량 [[데이터]]를 마치 불꽃이 튀기는 것처럼 순식간에 처리한다는 것을 강조하기 위해 붙인 이름이다. 2010년 [[BSD 라이선스]]로 공개했고, 2013년 [[아파치재단]]에 넘겨서 [[아파치 라이선스]]로 변경되었다.
 
* '''[[아두이노]]'''(Arduino) : [[사물인터넷]](IoT) 기기를 만들기 위하여 사용하는 [[오픈소스]] 기반의 컴퓨팅 [[플랫폼]]을 말한다. [[C 언어|C]], [[C++]] 등 다양한 언어를 사용하여 원하는 동작을 하도록 코딩을 한 후 기계어로 컴파일하여 [[마이크로컨트롤러]](microcontroller) 보드에 업로드하면, 아두이노가 작동한다.
 
* '''[[아두이노]]'''(Arduino) : [[사물인터넷]](IoT) 기기를 만들기 위하여 사용하는 [[오픈소스]] 기반의 컴퓨팅 [[플랫폼]]을 말한다. [[C 언어|C]], [[C++]] 등 다양한 언어를 사용하여 원하는 동작을 하도록 코딩을 한 후 기계어로 컴파일하여 [[마이크로컨트롤러]](microcontroller) 보드에 업로드하면, 아두이노가 작동한다.
 +
 +
{{각주}}
 +
 +
==참고 자료==
 +
* GoCderITExpress,〈[https://gocoder.tistory.com/1867 프레임워크란? - 정의, 비유, 장단점을 알아보자]〉, 《개인사이트》, 2020-03-18
 +
* PLAYnexacro,〈[https://www.playnexacro.com/#show:insight:893 웹에서 프레임워크가 필요한 이유]〉, 《PLAYnexacro》, 2019-06-25
 +
* Code.D,〈[https://moolgogiheart.tistory.com/87 프레임워크(FRAMEWORK)란? 개념, 장단점, 종류]〉, 《개인사이트》, 2017-06-28
  
 
== 같이 보기 ==
 
== 같이 보기 ==
34번째 줄: 48번째 줄:
 
* [[플랫폼]]
 
* [[플랫폼]]
  
{{솔루션|토막글}}
+
{{솔루션|검토 필요}}
  
 
[[분류:소프트웨어]]
 
[[분류:소프트웨어]]
 
[[분류:프레임워크]]
 
[[분류:프레임워크]]

2020년 9월 2일 (수) 16:25 판

프레임워크(framework)란 소프트웨어 개발 시 복잡한 문제를 해결하거나 서술하는 데 사용하는 기본 개념 구조를 말한다. 간략히 F/W라고도 쓴다. '프레임웍'이 아니라 '프레임워크'가 올바른 표기법이다. 표준 프레임워크라고도 한다.

특징

장단점

  • 장점

프레임워크는 첫째, 효율적이다. 이미 만들어진 코드를 사용하게 하여 재사용성을 높이고 시간과 비용을 아껴 생산성을 높일 수 있다. 두번째, 개발 완성도가 높아진다. 프레임워크에서 제공하는 기능들은 다수의 개발자가 사용하며 수정하기 때문에 이미 검증된 코드다. 이를 사용함으로써 버그 발생 가능성을 줄여주고, 개발자가 반복 작업에서 실수하기 쉬운 부분들을 커버해주기 때문에 품질이 향상되면서 완성도가 높아진다. 세번째, 체계적인 코드관리로 유지보수가 용이하다. 프레임워크를 사용하지않고 소스코드 작성시 개발 담당자의 변동이 발생하면 혼돈이 생기기 쉽다. 하지만 프레임워크 사용시 소스코드가 체계적이기 때문에 개발 담당자가 중간에 변동이 생기더라도 위험부담을 줄일 수 있으며 유지 보수에 안정적이다. [1] 네번째, 추상화된 코드 제공을 통해 확장성이 좋다. 새로운 이슈나 기능이 업데이트되고 이를 사용할 수 있기에 확장성이 좋다. 높은 확장성을 통해 업데이트된 기능으로 프로그램의 품질을 끌어 올릴 수 있다. [2]

  • 단점

종류

각주

  1. 프레임워크란? - 정의, 비유, 장단점을 알아보자〉, 《개인사이트》, 2020-03-18
  2. 웹에서 프레임워크가 필요한 이유〉, 《PLAYnexacro》, 2019-06-25

참고 자료

같이 보기


  검수요청.png검수요청.png 이 프레임워크 문서는 솔루션에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.