Post

프로그래밍 언어 활용 - 개발 환경 구축

개발환경 구축

개발 편의성, 개발 성능 향상을 위해 하드웨어 및 소프트웨어 개발환경을 구축하는 과정

개발환경 구축 도구

■ 빌드 도구

  • 작성한 코드의 빌드 및 배포를 수행하는 도구
  • 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.