본문 바로가기

정보처리기사/필기

내가 기억해야 할 정처기 - 4과목 프로그래밍 언어 활용

WAS: 정적인 컨텐츠를 처리하는 웹서버와 달리 동적인 컨텐츠를 처리하기 위해 사용되는 미들웨어(DB연동, 비즈니스 로직 처리)

WAS 제품: JEUS, Tomcat, WebSphere, WebLogic, JBoss

 

 

응집도: 기순통 절시논우

기능(funtional)

순차(sequential)

통신(communication)

절차(procedural)

시간(temporal)

논리(logical)

우연(coincidental)

 

결합도: 크립트 일 끝

자료(data)

스탬프(stamp)

제어(control)

외부(external)

공통(common)

내용(content)

 

 

개발 환경 도구

빌드: Maven, Ant, Bradle

버전관리: Git, SVN

CI/CD: JenKins, Travis CI

인증/보안: Kerberos

컨테이너: Docker, Kubernetes

 

 

보안 취약점

1. 웹 취약점: SQL삽입, XSS, CSRF, 디렉토리 접근

2. 시스템 취약점: 버퍼 오버플로우, 포맷 스트링, 레이스 컨디션

3. 네트워크 취약점: DoS/DDoS, FTP 바운스 공격, 스니핑, 스푸핑

4. 암호화 관련: 무차별 대입, 레인보우 테이블, 중간자 공격

 

 

배치 프로그램: 사용자와 상호작용 없이 정해진 순서에 따라 일련의 작업을 자동으로 처리하는 컴퓨터 프로그램

 

배치 프로그램 필수 요소:

1. 대용량 데이터

2. 자동화

3. 견고성

4. 안정성/신뢰성

5. 성능

6. 독립성

 

 

프레임워크: 소프트웨어으 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합, 완성된 어플리케이션이 아닌 재사용 가능한 기반 구조 제공

 

핵심 특징:

1. 재사용 가능

2. 모듈화

3. 확장 가능

4. 아키텍처와 다름(아키텍처의 구현체임)


# C언어

 

서식 지정자

%u //부호없는 정수(주소값)

 

int = 4byte

char = 1byte

 

C언어 문자열 처리 함수

strcmp(s1, s2); //s1과 s2 비교

strcar(s1, s2); //두 문자열 연결

strstr(s1, s2) //s2가 s1에 있는지 검색

strtok(s, 구분자); //구분자로 분리

 

논리 연산자

&& //둘 다 참이면 참

|| //하나라도 참이면 참

! //참->거짓, 거짓->참

 

비트 논리연산자

& //비트 비교해서 둘다 참이면 참

| //하나라도 참이라면 참

^ //다르면 1, 같으면 0

~ //비트 반전

 

포인터

```c

arr={{1,2,3}, {4,5,6}}

p=arr

```

*(p[0]+1) == arr[0][1]

*(p+1) ==&arr[0][1]

*(*(p+1)+0)==arr[1][0]

 

시프트 연산자

a<<n //왼쪽으로 시프트(값이 커짐), a*2^n

a>>n //오른쪽으로 시프트(값이 작아짐), a/2^n

 

연산자 우선순위

단항>산술>시프트>관계>비트>논리>삼항>대입

"단산시관 동비논삼대"

 

아스키코드

'0' == 48

'A' == 65

'a' == 97

 

c언어 라이브러리

stdio.h //표준 입출력

string.h //문자열 처리

stdlib.h //일반 유틸 기능(형변환, 메모리, 난수 등)

math.h //수학 함수

 

변수명 조건

1. 영문, 숫자 가능

2. 숫자로 시작 x

3. 공백x

4. 특수문자x (ex. -)

5. 대소문자 구분

6. 예약어x (ex. short, long)


# JAVA

 

예외: 실행시간에 발생하는 오류

※ 문법 오류는 컴파일 단계에서 발생

 

while문 조건식 안에는 boolean 타입만 넣을 수 있음

ex) while(--y) //잘못된 문법의 예

※단, c언어는 가능

 

접근 제어자

private

default

protected

public

※package는 패키지 선언 키워드

 


# Python

 

시퀀스 타입: 순서가 있고 번호로 꺼낼 수 있는 데이터 묶음

종류: list(변경 가능), tuple, string(변경 불가)

 

사전(dict)타입은 시퀀스가 아니며 매팅 타입임(키로 값을 찾음)

 

복소수(complex)는 그냥 숫자

 

continue:현재 반복을 중단하고 다음 반복으로 즉시 이동

 

슬라이싱

기본 구조: 리스트[시작:끝:간격]


PHP: 서버 측 스크립트 언어

PHP 연산자:

# //주석

=== //값과 타입을 비교하는 연산자

 

스크립트 언어: 인터프리터 방식으로 실행되는 프로그래밍 언어

종류: python, php, javascript, basic, perl, ruby

※cobol은 컴파일 방식의 사무용 프로그래밍 언어


# 응용SW기초기술