개발

[정보처리산업기사 필기] 개발환경

노트북 산 김에 공부 2023. 9. 25. 12:05

윈도즈 계열 운영체제 선택

윈도즈 계열 운영체제는 개인용, 기업용, 워크스테이션으로 출시됩니다.

 

Windows Home - 개인 사용자에게 최적화된 운영체제입니다
Windows Pro - 소규모 기업용으로 최적화된 운영체제입니다.
- Home에 비해 관리 및 배포, 도메인 가입, 엔터프라이즈 모드,
  원격 데스크톱 지원, Hyper V 를 제공합니다.
Windows pro for Workstation - 트랜잭션이 몰리거나 복구 기능을 필요로 하는 소규모 기업용 운영체제입니다.
- pro에 비해 CPU를 4개까지 동시 지원하여 동시 처리 성능이 뛰어나며
  메모리도 6테라바이트까지 지원.
- 비휘발성 메모리 모듈을 지원하여 전력이 공급되지 않아도 데이터를 유지할 수 있습니다.

리눅스/유닉스 계열 운영체제 선택

오픈소스 기반의 리눅스와 유닉스는 개발사 및 제공 업체가 다양합니다.

 

Debian GNU/Linux - 개발자 패키지와 메뉴얼이 활성화되어 개발자에게 최적화 
Ubuntu - 가장 광범위하게 쓰이는 리눅스 운영체제로 다양한 개발자용 패키지를 제공
- Software Center를 통해 응용소프트웨어를 공급
openSUSE - 안정화된 버전(openSUSE)과 테스트 중인 버전(Trmbleweed)을 동시에 공급
- YaST 패키지를 통해 태스크 자동화 지원
Fedora - 스마트 설정과 업데이트로 사용자 편의성 제공
- 안정화된 운영과 다양한 하드웨어 지원
CentOS - 프로그래밍에 최적화된 환경 제공
- RHEL 소스로 컴파일되어 해당 계열의 프로그램 대다수 사용 가능
Slackware - 다양한 소프트웨어와 그래픽 유저 인터페이스가 미리 설치
- 시스템 관리자를 위한 복구 툴 내장

 


운영체제 운용

외부의 침입이나 바이러스로 인해 시스템이 통제 불능의 상태가 되어 불필요한 리소스를 낭비하거나 중요한 데이터의 유실을 방지하기 위해 다음 사항을 지속 점검하여 운용합니다.

 

1) 서버 운용 기준

- 운용 아키텍쳐 및 기능 파악

- 네트워크 구성 현황 및 장비 매뉴얼 확보

- 장비 가동 및 중지 매뉴얼 확인

- 백업 주기, 보안 업데이트 주기 설정 및 점검

- 트러블 발생 시 대처 방안 마련

 

2) 개별 PC용 운영체제 운용 기준

- 정기적인 데이터 백업

- 주기적 보안 업데이트

- 시스템 백업 정례화

- 트러블 발생 시 문의처 정보 확인


개발도구 설치 

프로그래밍 언어

다양한 프로그래밍 언어를 선택하는 것은 시스템 개발 및 운영에 매우 중요합니다.

언어 선택에 있어 다음사항을 고려해야합니다.

- 언어의 타입 : 정적 개발 언어, 동적 개발언어

- 목표 시스템의 특징 : 일반 시스템 또는 도메인 특화 시스템

- 언어 특징 : 객체 지향, 명령형, 서술형, 순서형, 선언형

- 지원 : 관리도구 지원형, 언어 독립형

 

출처 : 세명컴퓨터고등학교

개발 지원 도구

개발 지원 도구는 개발자가 선택한 개발언어로 차이를 두고 선택할 수 있습니다.

오픈소스기반 툴마다 강점과 약점이 명확하며 도구 간 호환성에 차이가 있습니다. 따라서 필요한 공정을 정의한 뒤 각 툴에 대한 특징을 파악하여 선택하도록 합니다.

 


응용 시스템 개발 인프라 구축

IT 환경이 급변한 이후 모바일, IOT, 가상현실, 증강 현실, 인공 지능, 블록체인과 같은 다양한 기술들로 인해 개발환경 구성은 매우 복잡해졌습니다. 따라서 개발하려는 전체 시스템에 필요로 하는 서비스를 선택하여 개발환경을 구축해야합니다.

 

1) 개발환경 인프라 구성 방식

 

- On-Premise 방식 : 외부 인터넷망이 차단된 상태에서 인트라넷 망만을 활용하여 개발환경을 구축하는 방식입니다.

   데이터와 정보의 외부 유출이 민감할 경우 해당 장비의 자체 구매하고 특정 공간에 개발환경을 구축합니다.

 

- 클라우드 방식 : 아마존, 구글, 마이크로스프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을     구축하는 방식입니다. 해당 장비르 ㄹ초기에 구매하지 않기 때문에 개발환경 구축 시간이 빠릅니다.

 

- Hybrid 방식 : On_premise와 클라우드 방식을 혼용하는 방식입니다.

 

2) 개발 인프라 환경 고려 사항

 

- 개발하려는 목표 시스템을 완벽히 이해하고 있는가

- 로컬 개발환경과 운영환경이 명확히 구분되어 개발 소스가 충돌 나지 않는가

- 개발 서버는 계층화되어 있어 검증되어 안정화된 소스와 개발 중인 불안전한 소스가 구분되도록 고려되었는가

- 서비스의 안정적인 운영을 위해 지속적인 테스트와 신속한 배포가 가능한가

- 운영비가 급격히 상승하여 비용적인 부담이 될 수 있는 가능성이 있는가

- 서비스의 규모가 커질 경우 확장성이 고려되어 있는가

- 오픈소스 활용 시 커뮤니티를 활용하기 위한 환경이 구축되어 있는가

- 개발에 참여하기 위한 다수의 인원이 참조할 수 있는 표준화가 마련되었는가