표준 프레임워크

Jay·2023년 6월 7일

work

목록 보기
1/16
post-thumbnail

이 영상을 보면서 정리를 하려고 한다.

프레임워크?

코드를 재사용함에 있어서 여러 가지 방법이 있는데
1. 소스 재사용
2. 재사용 메서드
3. 재사용 객체
4. 디자인 패턴
5. 프레임워크
와 같은 것들이 있다.

소스 재사용

이때 소스 재사용은 copy & paste를 하는 일반적인 방식이라고 할 수 있는데 본인이 만든 코드라면 이것이 쉬울 수 있지만 그렇지 않다면 이마저도 여의치 않을 수 있다.

재사용 메서드

객체지향 패러다임이 나오면서 메서드 레벨로 재사용을 하게 되었는데 다른 작업 영역일 경우 쉽지 않다는 문제점이 있었다.

재사용 객체

클래스를 갖다 써도 not found등 여러가지 에러가 발생하는 경우가 있었다.

디자인 패턴

최근에는 많이 언급되지 않고 있는데 모든 것들에 디자인 패턴을 적용하기가 쉽지 않았기 때문이다.

프레임워크

잘 만들어진 패턴이 이미 있어서 그것을 사용할 수 있다면 좋지 않을까 하는 갈증에서 만들어진 것이 바로 프레임워크이다.

표준프레임워크

SW 프레임워크 정의

어플리케이션 개발을 도와주는 재사용 가능한 디자인 패턴 및 소스코드의 집합

일련의 문제 해결을 위한 추상화된 디자인을 구현한 클래스의 집합
구체적이며 확장 가능한 기반 코드, 설계자가 의도하는 아키텍처와 디자인 패턴의 집합
실전에서 얻은 최적화 개발 경험을 반영한 재사용 가능한 API집합
반제품 성격의 소프트웨어
라이브러리와 달리 애플리케이션의 틀과 구조를 결정, 그 위에 개발된 개발자의 코드를 제어

코드를 제어한다는 부분이 불편할 수도 있다.

프레임워크는 미들웨어(WAS)위에 올라가는 어플리케이션의 개념이라고 생각하면 된다.
패턴에는 MVC라든지 하는 부분이 있다.

프레임워크 vs 컴포넌트


컴포넌트는 기능을 재사용하기 위한 것이라면 프레임워크는 표준화에 좀 더 초점이 맞춰져 있다.

프레임워크를 사용시 개발과 운영이 용이하다는 장점이 있으나 프레임워크를 익혀야 하기 때문에 초기 러닝커브가 있다는 단점이 있다.

프레임워크를 썼을 때는 model2(MVC)형태가 되는데 JSP페이지에 프리젠테이션 로직과 비즈니스 로직이 혼재되어 복잡했던 과거의 model1과 다르게 controller에서 비즈니스 로직을 처리하고 JSP에서는 화면만 보여주기 때문에 소스코드가 구조화되어 분업과 유지보수가 용이하다.

model1에서는 기능 단위로 나누어졌다고 한다면 그것이 원활하지 않아서 중복되는 코드가 많을 수가 있었음.
model2(프레임워크 활용시)에서는 단위가 기술(역할)단위로 나누어져 있음. model1에서의 JSP들은 기능도 가지고 있다고 한다면 model2의 JSP에서는 화면을 주관하기 때문에 기능의 중복이 일어나지 않음.

전자정부 표준프레임워크

공공에서 활용할 수 있는 표준적인 틀을 만들고자한 것.
여러 회사들의 프레임워크를 사용하다 보니 다른 회사의 프레임워크로 대체될 경우 곤란한 경우가 생겼고 형평성을 해치므로 이것이 전자정부 프레임워크가 나타나게 된 배경이 되었음.
자바 개발을 하면서 오픈소스사용시 일어나는 문제를 방지하기 위함

95%이상 오픈소스로 되어 있음
표준프레임워크 3.6에서 스프링 4.1.2. 활용

모바일 표준프레임워크도 존재한다.

적용방안

JDK 1.8 이상(최소 JDK 1.5)

병행구축시 신규 프레임워크와 기존 프레임워크를 병행해야하는 경우 기술적으로 권장하지 않음..

다운로드하여 설치한 후 사용
공통컴포넌트도 설치해서 사용

개발환경

개발환경 / 실행환경 / 관리환경 / 운영환경
개발환경에는 구현 도구(Implementation Tool), 테스트 도구(Test Tool), 배포 도구(Deployment Tool), 형상관리 도구(Conf. & Change Mgt)가 있음

형상관리는 SVN지원함
JUnit기반으로 테스트
배포 도구는 Maven기반인데 서브repository구성이 바로 안될 수 있으므로 Nexus Repository 제공
형상관리: Subversion 활용

이클립스 > window > preferences에서 maven installation 설정을 해줘야하는 경우도 있다. 공인인증서를 이용해야할 경우 repository의 자료를 바로 가져올 수 없으면 로컬에 관련된 repository같은 걸 받은 다음 preferences에 담아주고 install해야함

그럼 귀찮게 왜 프레임워크를 써야하냐?
각각 다른 라이브러리 관리를 얘가 해준다(고 한다).

서버용 개발환경이 필요할 경우 eGovFrame포털들어가서 다운로드 > 개발환경에서 설치파일을 받으면 된다.

profile
ㄱ이 아닌 개발자가 되고 싶은 사람

0개의 댓글