자격증/정보처리기사
1-2 요구사항 확인
tacoyaggi
2023. 11. 14. 08:48
XML(eXtensible Markup Language)
- HTML의 구조적이지 못한 부분과 확장성의 한계를 극복한 마크업 언어
- XML은 전자 문서를 표현하는 확장 가능한 표준 마크업 언어
- XML은 사용자가 임의로 태그를 만들어 사용할 수 있는 언어
- XML은 데이터베이스와 연결되어 다양한 데이터 처리가 가능
TCP/IP(Transmission Control Protocol / Internet Protocol)
- 인터넷 표준 프로토콜로 인터넷 통신을 수행하기 위한 프로토콜 체계이다.
이중화 기술
- CPU와 메모리를 여러 개 두어 장애가 발생할 경우를 대비한다.
- 하드 디스크를 여러 개 두어 장에 대비 및 처리 속도를 개선한다.
- 전원 공급 장치를 여러 개 두어 정전에 대비한다.
- 네트워크 카드를 여러 개 두어 네트워킹의 문제나 외부 공격에 대비한다.
- 프로세스를 여러 개 두어 프로세스의 중단에 대비한다.
저장 장치(Storage System, 스토리지 시스템)
- 대용량 데이터를 저장하기 위하여 구성된 것
- DAS(Direct Attached Storage)
- 하드 디스크와 같은 데이터 저장 장치를 호스트 어댑터에 직접 연결하는 방식
- 저장 장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 한다.
- 서버 장비에 직접 연결하여 운용하는 방식의 저장 장치로 구성이 용이하다.
- NAS(Network attached Storage)
- 서버와 저장 장치를 네트워크로 연결하는 방식으로 구성 설정이 간편하다.
- 별도의 운영체제를 가진 서버 한 곳에서 파일을 관리하기 때문에 서버 간에 스토리지 및 파일 공유가 용이하다.
- SAN(Storage Area Network)
- DAS의 빠른 처리와 NAS의 스토리지 공유 장점을 합친 방식이다.
- 광케이블과 광채널 스위치를 통해 근거리 네트워크 환경을 구성하여 빠른 속도로 데이터를 처리할 수 있다.
- 저장 장치 연결로 스토리지 공유가 가능하다.
가상화 기계(Virutual Machine)
- 서버 가상화는 하나의 물리적인 서버를 보다 효율적으로 사용하기 위한 기술이다.
- 서버 가상화는 한 대의 서버를 많은 서버로 분할하여 이용하는 기술이다.
- 서버 가상화로 만든 서버를 가상화 기계 혹은 가상 서버라고 한다.
- 가상화 소프트웨어를 사용하여 중앙 처리 장치, 메모리, 저장소 등을 논리적으로 분할하여 운영체제에 할당함으로써 서버의 분할을 구현하고 있다.
인트라넷(Intranet)
- 인터넷 기술을 이용하여 기업 내부의 업무를 해결하려는 네트워크 환경으로 인터넷과 동일한 TCP/IP 프로토콜을 사용한 LAN 기반 통신망이다.
엑스트라넷(Extranet)
- 인터넷을 확장한 네트워크로 기업들 간에 외부 보안을 유지한 채 협력 업체들과 서로 전산망을 이용하여 업무를 처리할 수 있도록 구성한 통신망이다.
저급 언어(Low Level Language)
- 기계 중심의 언어로 배우기가 어렵다.
- 상이한 기계에서 기종에 맞게 수정해야 실행이 가능하다.
- 기종 간의 큰 차이가 있어 호환성이 떨어진다.
- 기계어, 어셈블리(Assembly)어 등의 언어는 저급 언어에 해당 된다.
- 어셈블리어는 어셈블러(Assembler)에 의해 기계어로 번역된다.
고급 언어(High Level Language)
- 사람 중심의 언어로 배우기가 쉽다.
- 상이한 기계에서 별다른 수정 없이 실행 가능하다.
- 기종 간에 큰 차이가 없어 호환성이 높다.
- C, COBOL, FORTRAN 등의 언어는 고급 언어에 해당된다.
- 기계어로 번역(컴파일러, 인터프리터)이 필요하다.
디자인 패턴(Design Pattern)
- 디자인 패턴은 유사한 문제를 해결하기 위해 설계를 분류하고 각 문제 유형별로 가장 적합한 설계를 일반화하여 체계적으로 정리해 놓은 것으로 소프트웨어 개발에서 효율성과 재사용성을 높일 수 있다.
- 프로그램 개발 과정에서 자주 발생하는 문제를 해결하기 위한 방법 중 하나로 소프트웨어 개발 과정에서 발결된 설계의 경험을 축적하여 이름을 붙여놓고 차후에 재사용하기 좋은 형태로 정리한 것이다.
- 생산성을 향상시키기 위해 반복적으로 나타나는 문제 해법들을 전문가들의 경험을 모아서 정리한 일관된 솔루션이라고 할 수 있다.
- 소프트웨어 개발자들이 유용하다고 생각되는 객체나 객체 간의 일반적인 상호 작용 방법들을 정의해서 모아 놓은 목록이라고 할 수 있다.
- 소프트웨어 아키텍처나 프레임워크와 다르게 기능보다 구조, 가독성 및 확장성에 비중을 둔다.
JVM(Java Virtual Machine)
- Java와 운영체제 사이에서 Java 언어 혹은 Java로 구현된 프로그램들이 운영체제에 영향을 받지 ㅇ낳고 독립적으로 실행될 수 있도록 중재 역할을 하는 미들웨어
- JVM은 기존 운영체제 역할의 한계(CPU 속도, 메모리 제약)를 극복해주므로 프로그램 실행 성능을 향상
UX(User Experience)
- 사용자 경험이란 뜻으로 프로그램에 무엇이 있어야 하는지 전체적인 정보를 수집하여 설계하는 작업
- 사용자가 시스템, 제품, 서비스를 직-간접적으로 이용하면서 느끼는 총체적 경험
- 객관적 데이터를 이용하여 효과적인 방안을 찾는 기술
UI(User Interface)
- 사용자와 정보기기 사이에서 의사소통을 할 수 있도록 만들어진 물리적, 가상적 매개체
- 사용자가 어떤 방식으로 프로그램을 이용하는가를 설계하는 작업으로 사용자와 프로그램 사이에 접근 방식, 레이아웃 구조 색상이나 모양 등을 시각적인 것으로 표현