본문 바로가기
자격증/정보처리산업기사

[정보처리산업기사 필기]프로그래밍 언어 활용(2과목)

by Thompson 2024. 3. 28.
728x90
JavaScript 프레임워크의 종류
  • 1) JQuery : 웹 브라우저 간의 호환성 문제를 해결하고 명령어를 단순화한 프레임워크
  • 2) React : 메타(Meta)에서 개발한 프레임워크
  • 3) Angular : 구글(Google)에서 개발한 프레임워크
  • 4) Node.js : 인터넷 브라우저 외에도 JavaScript가 동작하도록 함.
  • 5) Ember : 웹 애플리케이션을 위한 다양한 기능 제공

 

C언어의 대표적인 표준 라이브러리

1) math.h

  • 수학 함수들을 제공한다
  • ex) 주요 함수 : sqrt, pow, abe 등

2) stdlib.h

  • 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공한다.
  • ex) 주요 함수 : atoi, atof, srand, rand, malloc, free 등
try~catch 문

 

  • C++, C#, JAVA, JavaScript 등의 언어에서 예외처리 기능을 수행하는 명령문입니다.
  • 일반적으로 예외가 발생한 경우에는 "try문 -> 해당 예외 Catch문 -> finally문"순으로 진행한다.
  • finally 블록은 예외의 발생과 관계없이 무조건 수행되는데, C++에서는 사용할 수 없다.
프레임워크의 특성
  • 모듈화(Modularity) : 캡슐화를 통해 모듈화를 강화하고, 설계 및 구현의 변경에 따른 영향을 최소함으로써 소프트웨어의 품질을 향상하고 유지 보수를 용이하게 함.
  • 재사용성(Reusability) : 재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성 향상, 품질 보증이 가능함.
  • 확장성(Extensibility) : 다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능함
  • 제어의 역흐름(Inversion of Control) : 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생산성을 향상함.
결합도
  • 모듈 간에 "상호 의존"하는 정도를 나타낸다.
  • 독립적인 모듈이 되기 위해서는 각 모듈 간의 결합도가 약해야 하며, 의존하는 모듈이 적어야 한다.
  • 결합도의 종류(약함 < 강함) : 자료 < 스탬프 < 제어 < 외부 < 공통 < 내용
  • 자료 결합도 : 서로 다른 모듈 간에 매개변수 또는 인수를 통해 꼭 필요한 자료만을 교환하는 경우의 결합도
  • 스탬프 결합도 : 서로 다른 모듈이 동일한 자료 구조를 참조하는 경우의 결합도
  • 내용 결합도 : 한 모듈이 다른 모듈의 내부 자료를 직접적으로 참조하는 경우의 결합도
응집도
  • 모듈 안의 요소들이 서로 관련되어 있는 정도를 나타낸다.
  • 응집도의 종류(약함 < 강함) : 우연적 < 논리적 < 시간적 < 절차적 < 교환적 < 순차적 < 기능적
  • 논리적 응집도 : 논리적으로 서로 관련 있는 요소들을 모아 하나의 모듈로 작성한 경우의 응집도
  • 절차적 응집도 : 일정한 순서에 의해 처리되어야 할 요소들을 하나의 모듈로 구성한 경우의 응집도
  • 기능적 응집도 : 모듈 내부의 모든 기능 요소가 한 가지의 작업만을 수행하는 경우의 응집도
재사용
  • 이미 개발된 기능들을 파악하고 재구성하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화시키는 작업이다.
  • 재사용 규모에 따른 분류 : 함수와 객체, 컴포넌트, 애플리케이션
효과적인 모듈 설계 방안
  • 결합도를 줄이고, 응집도를 높여서 모듈의 독립성과 재사용성을 높인다.
  • 복잡도와 중복성을 줄이고 일관성을 유지시킨다.

 

보안 취약점(Security Vulnerability)
  • 시스템 기능이나 설계, 구현 단계에서의 문제점 등으로 인해 시스템이 가지게 되는 약점을 의미한다.

 

보안 3대 요소
  • 기밀서 : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용되며, 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없음.
  • 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음.
  • 가용성 : 인가받은 사용자는 언제라도 사용할 수 있음.
API(Application Programming Interface)
  • 운영체제나 프로그래밍 언어 등에 있어 라이브러리를 이용할 수 있도록 규칙 등을 정의해 높은 인터페이스를 의미한다.
  • Open API : 누구나 무료로 사용할 수 있게 공개된 API