Clean & Blue 자세히보기

전공/정보처리기사 실기

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(8) /기본 개발환경 구축

_청렴 2021. 5. 21. 19:14
반응형

NCS 정보처리기사

4) 기본 개발환경 구축

- CentOS - RHEL의 복제본

- RHEL - Red Hot Enterprise Linux의 약자, 레드햇에서 만들어 판매하는 리눅스

- 7버전 다운로드 -> https://www.centos.org/download/ 

 

Download

As you download and use CentOS Linux, the CentOS Project invites you to be a part of the community as a contributor. There are many ways to contribute to the project, from documentation, QA, and testing to coding changes for SIGs, providing mirroring or ho

www.centos.org

- 파티션 설정 

  • Use entire drive : 전체 드라이브
  • Replace existing Linux System : 존재하는 리눅스 시스템 대체
  • Use free space : 남은 공간 사용

 

- 개발 도구 설치

  • 형상관리 도구 - CVS, Git
  • UML 지원 도구 - StarUML, RSA 등
  • 인터페이스 발생기 - 스위그 
  • 테스트 자동화 도구 - Junit 등
  • 디버거 - GDB(GNU 디버거)
  • 빌드 도구 - Maven

 

- 통합 개발환경 개요

- 통합 개발환경(IDE) : 많은 도구의 기능을 하나의 패키지에 묶은 것

 -> 이클립스, 델파이, C++빌더, MS 비주얼스튜디오, Xcode, WinDev

 -> 요즈음 개인 PL가 아닌 클라우드 환경에서 개발하도록 PaaS 이용 혹은 VDI 이용

* VDI : 데스크톱 가상화(Visual Desktop Infrastructure) 물리적으로 존재하진 않지만 실제 작동하는 컴퓨터 안에서 작동하는 또 하나의 컴퓨터를 만들 수 있는 기술

 

- 통합 개발 환경 구성

- 파일 서버 구성

- UI 프레임워크 구성

- 개발 프레임워크 구성

 -> 애플리케이션 아키텍트(AA)나 공통 개발자는 보통 일반 개발자가 쉽게 개발환경을 구축할 수 있도록 모든 설치파일을 zip파일 등으로 압축하여 일괄 설치할 수 있도록 구성해 두는 것이 좋음

 -> 이클립스(Exlipse)내 모든 프로젝트에는 개발 CODE Template를 적용하도록 설정, 코드 품질 표준화

 

* 스프링 프레임워크 : Java 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크, 동적인 웹사이트를 개발하기 위한 서비스 제공, 전자 정부 표준 프레임워크의 기반 기술로서 쓰임

 

- 개발 환경 구성 시 고려사항

-> PMDSonar같은 소스 품질 관리 도구를 설치, 개발 품질 지속적 체크

-> 소스 품질 Secure 코딩 함께 점검

-> 개발 진척률, 소스 품질 수준, 오류 발생룰, 오류 개선률, 등을 상세하게 지표화하여 지속적이고 자동적으로 관리하는 소프트웨어 비주얼라이제이션(SW Visualization)을 달성할 것

 

- 기반 서버 설치 

- 웹 서버 : 웹 서버와 WAS는 사용자와 데이터베이스 사이에서 사용자가 원하는 모습의 웹 페이지를 만들어 안전하게 결과를 전달하는 미들웨어이다.

 

-> 브라우저와 웹 서버 사이의 통신은 HTTP(Hypertext Transfer Protocol)를 사용하여 수행

-> 웹 서버 기능

  • HTTP
  • 통신 기록
  • 인증
  • HTTP 지원
  • 정적 콘텐츠 관리
  • 가상 호스팅
  • 대역폭 스로틀링 -> QoS 보장

 

* 동적 콘텐츠 : 서버사이트 스크입트 언어를 이용하여 사용자 요청에 의해 생성되는 컨텐츠

* 정적 콘텐츠 : 미리 생성된 페이지를 사용자 요청에 의해 바로 응답하는 컨텐츠

 

-> 주요 제춤

  • 아파치 웹서버(Apache Web Server)
  • NGINX : Nginx 사의 이고르시소브
  • IIS(Internet Information Service) : 마이크로소프트사

 

- WAS(Web Application Server)

사용자의 요청 페이지가 웹 서버 자신이 처리할 페이지인지 WAS가 처리할 페이지인지 결정하고, WAS에 요청을 전달할 때는 L4 장비 등을 이용해 로드 밸런싱을 통해 WAS에 골고루 요청 전달

-> jsp와 같은 동적 페이지 실행, DB와의 통신을 위해 로직 처리, 그 결과를 정적 페이지인 HTML로 변환하여 웹 서버에 전달

-> 동적인 컨텐츠(*.jsp)와 JDBC 드라이버를 통해 DB 접속 관리

 

-> WAS 기능

  • HTTP
  • HTTPS 지원 : 8443
  • AJP(Apache Jsew Protocol) : 8009
  • 커넥션 풀

 

-> 주요 제품

  • Tomcat - 아파치 소프트웨어 재단
  • JBoss - 레드햇
  • JEUS - TMaxSoft

 

-> Tomcat 주요 모델

  • Cluster : http 세션 로드 밸런싱
  • Catalina : 컨테이너
  • Coyote : http 컴포넌트
  • Jasper : JSP에 대한 요청 수행

 

- DB 서버

- My SQL의 기능

  • cross-platform support
  • Independent storage engines
  • Transactions
  • Query caching
  • Replication

 

- MariaDB의 기능

  • 쓰레드 풀
  • 샤딩 기술 - 물리적으로 다른 DB에 데이터를 수평 분할 방식으로 분산 저장
  • 가상 칼럼 - 수식과 조건문 이용 데이터의 가용 결과 저장
  • 멀티소스 리플레케이션
  • Slow Explain

 

- PHP(Hypertext Preprocessor)

-> 텍스트, 특히 HTML의 처리에 강점

 

- 패키지 

- 패키지 방식 개발

-> 여러 성공 사례의 노하우를 기반으로 만들어진 개발된 제품을 이용하여 시스템을 구축하는 방식

 

 

정보처리기사 실기 - 11. 제품 소프트웨어 패키징 /코드서명/릴리즈노트/난독화/형상관리

1) 제품 소프트웨어 패키징 - 제품 소프트웨어 패키징 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 패키징, 설계 및 매뉴얼을 작성하는 활동 제품 설명서 - 제품명/제품의 소개/시스템

aapslie94.tistory.com