교육환경을 설치했다면 그 다음은 이제 이론이라고 할 수 있는 표준프레임워크 개요이다.
이론이 뭐가 중요하지 싶지만 알아야 한다..그래야 어디서 그 단어 들어봤다라고나마 말할 수 있기 때문에..
아래 간단한듯 아닌듯 정리한거 쭉 읽어보기!!ㅎㅎㅎ
- 어플리케이션 환경의 변화
메인프레임 -> C/S -> WEB
- 소프트웨어 패러다임 변화
하드웨어 중심의 시대 -> 다양한 프로그래밍 언어(C, Java 등등) -> 객체지향 중심의 시대(OOP)
-> 프레임워크 기반 개발 시대
- 프레임워크 등장 배경
소스 재사용 -> 재사용 메소드 -> 재사용 객체(상속) -> 디자인 패턴 -> 프레임워크
디자인패턴이 나무라면 프레임워크는 숲.
디자인패턴과 같은 부분적인 해결책을 전체적인 관점에서 통합하여 설계 및 구현 틀을 제공하는 것이 프레임워크.
- SW 프레임워크
애플리케이션의 틀과 구조 결정, 그 위에 개발된 개발자의 코드를 제어
- 프레임워크 vs 컴포넌트
프레임워크의 목적은 확장성. 다양한 구조에 대한 모델 제공. 어플리케이션 개발을 위한 하부구조 제공.
프레임워크 사용의 장점으로는 개발용이성, 운영용이성, 코드 최소회. 품질 보증, 이식성 등등.
컴포넌트는 프레임워크에서 가져다 사용할 수 있는 부품 역할.
- 표준 프레임워크 구성
공통컴포넌트 - 자주 사용하는 업무들 모아놓은 컴포넌트. 필요시 기능 확장해서 사용하기
- 프레임워크 vs 전자정부 표준프레임워크
프레임워크는 웹 프레임워크와 오픈소스를 구조화 및 검증하는 데 별도 시간 필요,
공통기능 미제공, 개발도구 선별과 같이 준비 작업 필요.
전자정부 표준프레임워크는 웹 프레임워크와 오픈소스를 구조화 및 표준화 하여 버진이나 라이선스 검증 후 제공.
전자정부 사업에 특화된 기능 제공 및 개발에 필요한 도구 제공으로 빠른 개발착수 가능.
- 전자정부 표준프레임워크 공통컴포넌트
공통기술서비스: 권한관리, 로그인정책관리, 사용자관리, 커뮤니티관리, 메뉴관리, 로그관리, 접속통계 등 219종
요소기술서비스: 달력, 포맷, 번호유효성 등 91종
- 표준프레임워크 라이선스
Apache v2.0, MIT 라이선스 배포로 자유로운 사용과 기업의 상업적 활용이 가능.
- 빌드 도구(maven, gradle)
- 이클립스 RCP(Rich Client Platform): 독립 소프트웨어 구성 요소를보다 쉽게 통합 할 수있는 프로그래머 도구.
- 기본 디렉터리/파일 설명
/pom.xml | 프로젝트 객체 모델. 해당 프로젝트에 대한 전반적인 정보를 갖는다. |
/src/main/java Java | 소스 파일 위치 |
/src/main/resources | 배포할 리소스, XML, properties, … |
/src/main/webapp | 웹 어플리케이션 관련 파일 위치(WEB-INF, css 등) |
/src/test/java | 테스트 케이스 java 소스 |
/src/test/resources | 테스트 케이스 리소스 |
/target | 빌드 된 output이 위치하는 디렉터리 |
- Unit test
@Before annotation으로 테스트 데이터 미리 준비
@Test로 시작하는 부분에서 실제 테스트
assertEquals로 성공 실패 판단 가능
JUnit은 자바 프로그래밍 언어를 위한 유닛 테스트 프레임워크로 테스트코드 작성하고 자동화된 테스트 수행 가능.
- Mock 객체
유닛테스트의 독립성을 높여주기 위해 사용.
테스트코드와 관련 있는 객체 흉내내어 유닛테스트 수행하도록 도와주는 객체.
- 개발프레임워크 환경
: 실행환경, 개발환경, 운영환경, 관리환경
- 실행환경
: 화면처리, 업무처리, 데이터처리, 연계통합, 공통기반, 배치처리, 모바일 화면처리, 모바일 디바이스 API 실행환경
- IOC(Inversion of Control)
: 어떤 모듈이 사용할 모듈을 스스로 결정하는 것이 아니라 다른 모듈에게 선택건을 넘겨준다는 것. 제어의 역행, 역제어.
- DI(Dependency Injection)
: 의존성 주입으로, 모듈 간의 의존성을 컨테이너에서 주입시켜주는 기능
- Forward / Redirect
: forward는 요청 정보가 그대로 유지되어서 넘어가는 것, request나 response 객체를 공유하고 url에는 변화가 없음
: redirect는 새로운 요청을 수행, 객체 새로 생성해서 url 변경
'Backend' 카테고리의 다른 글
전자정부표준프레임워크_04 (0) | 2022.03.11 |
---|---|
전자정부표준프레임워크_03 (0) | 2022.03.10 |
전자정부표준프레임워크_01 (0) | 2022.02.26 |
Java Collectors groupingBy (1) | 2021.11.13 |
JSTL & EL (0) | 2021.09.12 |