프로그래밍 언어 활용 - 개발 환경 구축
개발환경 구축
개발 편의성, 개발 성능 향상을 위해 하드웨어 및 소프트웨어 개발환경을 구축하는 과정
개발환경 구축 도구
■ 빌드 도구
- 작성한 코드의 빌드 및 배포를 수행하는 도구
- Ant, Maven, Gradle
■ 구현 도구
- 프로그램 개발할 때 가장 많이 사용되는 도구
- Eclipse,IntelliJ,Spring Tool Suite,NetBeans,Visual Studio
■ 테스트 도구
- 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 수행
- xUnit, PMD, Findbugs, Cppcheck, SonarQube
■ 형상관리 도구
- 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
- CVS, SVN, Git
개발환경 구성요소
■ 서버 하드웨어 개발환경
프로젝트 구성에 따라 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일서버로 구분
◎ 웹 서버 (Web Server)
- HTTP를 이용한 요청/응답 처리
- 웹상 정적 콘텐츠 (CSS,Javascript, Image)를 처리
- WEB-WAS-DB 3계층 구조를 실무에서 활용
◎ 웹 애플리케이션 서버 (WAS)
- 동적 콘텐츠를 처리를 하기 위해 제공
- WAS 제품으로 Tomcat, Weblogic, Jeus, Resin 등이 있음
◎ 데이터베이스 서버
- 데이터 수집, 저장을 위한 용도로 사용
- DB 제품으로 MySQL, Oracle, MS-SQL 등 존재
◎ 파일 서버
- 파일 저장 하드웨어로 물리 저장 장치를 활용한 서버
- 대용량 HDD,SSD 등의 장치가 존재
■ 클라이언트 하드웨어 개발환경
서버 개발환경에서 제공된 서비스를 사용하기 위해 UI를 제공
◎ 클라이언트 프로그램
- 설치를 통해 사용자와 커뮤니케이션하는 프로그램
◎ 웹 브라우저
- 일반적인 형태의 웹 사이트
◎ 모바일 앱
- 모바일 디바이스에 설치되어 활용되는 앱
◎ 모바일 웹
- 모바일에 최적화되어 제공되는 웹 사이트가 해당
- 웹 브라우저와 동일한 형태
■ 소프트웨어 개발환경
프로젝트 요구사항에 부합한 운영체제, 미들웨어, DMBS 선정
◎ 운영체제
- 프로젝트 성격에 따른 운영체제 사용
- Windows, Unix, Linux
◎ 미들웨어
- 웹 서버, JVM과 같은 개발환경의 구성요소로 활용
- Weblogic, Websphere, Jeus, Tomcat
◎ DBMS
- 데이터의 저장 및 활용
- Orcle, MySQL, PostgreSQL
프레임워크(FrameWork)
설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 틀
프레임워크의 특징
◎ 모듈화 (Modularity)
- 구현을 인터페이스 뒤에 감추 ㅓ모듈화를 강화
- 설계와 구현 변경에 따르는 영향을 최소화
◎ 재사용성 (Reusability)
- 인터페이스를 통해 여러 애플리케이션에서 반복적으로 사용하는 일반적 컴포넌트를 정의하여 재사용성을 높임
◎ 확장성 (Extensibility)
- 다형성을 통해 애플리케이션이 프레임워크의 인터페이스를 확장
◎ 제어의 역행
- 프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어
- 외부 이벤트에 대해 애플리케이션이 어떤 메서드를 수행해야할지 결정
This post is licensed under CC BY 4.0 by the author.