도담도담

4.프로그래밍 언어 활용 (정처기 공부) 본문

IT 공부/개인정리

4.프로그래밍 언어 활용 (정처기 공부)

Zinisang 2022. 4. 4. 13:41

인터넷으로 공부하면서 나중에 훑어보려고 적는 노트

4.프로그래밍 언어 활용


IPv4와 IPv6의 차이

1) IPv4
ㄱ. 32비트 주소
ㄴ. 유니캐스트/멀티캐스트/브로드캐스트 사용

2) IPv6
ㄱ. 128비트 주소
ㄴ. 기존 IPv4의 주소 부족 문제를 해결하기 개발
ㄷ. 인증성/기밀성/무결성 지원 (=보안성 강화)
ㄹ. 유니캐스트, 애니캐스트, 멀티캐스트 사용

-IPv6는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
-IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트(Unicast)를 지원한다.
-IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.

 

연산자

1) || : OR 연산 - 둘 중 하나라도 참이면 1
2) && : AND 연산 - 둘 다 참이어야 1
3) ** : 거듭제곱
4) != : 부등(피연산자가 서로 다를 시 true)

 

IPv6

1. 표시방법은 16비트씩 8부분의 16진수로 표시
2. 2128개의 주소를 표현할 수 있다.
3. 등급별, 서비스별로 패킷을 구분할 수 있어 품질보장이 용이하다.
4. 확장기능을 통해 보안기능을 제공한다.

 

JAVA의 예외(exception)

1. 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
2. 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
3. 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류

 

결합/응집도

좋은 소프트웨어일수록 결합도는 낮고, 응집도는 높다

결합도 : 어떤 모듈이 다른 모듈에 의존하는 정도
응집도 : 한 모듈 내부의 처리 요소들이 서로 관련되어 있는 정도(독립적 기능 수행 정도)
코딩할 때로 예를 들자면 모듈을 만들었는데 이 코드 저 코드 엮어서 거미줄 코딩을 한 경우 서로에 대한 의존도가 높으므로 결합도가 높다고 할 수 있고, 하나의 모듈을 만들었는데 독립적 기능을 수행하며 타 코드와 큰 연관성이 없을 경우 응집도가 높다고 할 수 있다. (한마디로 독립적인 모듈이냐 의존적인 모듈이냐!)
응집도 결합도는 필기/실기 엄청 자주 출제되므로 꼭 잘 모르겠으면, 구글링해서 꼭 제대로 알고 넘어가도록 합시다.

 

상호배제 기법

1. 데커의 알고리즘
- 프로세스가 두개일때 상호 배제를 보장하는 최초의 알고리즘
- flag와 turn 변수를 사용하여 조정
2. 램퍼드 알고리즘
- 프로세스 n개의 상호 배제 문제를 해결한 알고리즘
- 프로세스에게 고유한 번호를 부여하고, 번호를 기준으로 우선순위를 정하여 우선순위가 높은 프로세스가 먼저 임계구역에 진입하도록 구현.
3. 피터슨 알고리즘
- 프로세스가 두개일때 상호 배제를 보장, 데커의 알고리즘과 유사하지만 상대방에게 진입 기회를 양보한다는 차이가 있고 보다 더 간단하게 구현됨
4. 세마포어
- 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌(동기화 대상이 하나 이상)

 

Best Fit

문제에서 Best Fit을 물을 시 내부단편화가 제일 작은 보기를 찾으면 됨
1) 20KB - 17KB = 3KB
2) 16KB - 17KB = 불가
3) 8KB - 17KB = 불가
4) 40KB - 17KB = 23KB

 

Build 

Build = 작성된 Source Code를 실제 기기에서 실행 할 수 있는 소프트웨어로 변환하기 위한 과정
1) Ant = 아파치 재단에서 개발한 자바의 공식적인 빌드 도구
2) Kerberos = 컴퓨터 네트워크 인증 암호화 프로토콜로
3) Maven = 아파치 재단에서 개발, Ant 대안으로 개발되었음
4) Gradle = Ant, Maven 의 보완으로 개발된 빌드 도구(안드로이드 스튜디오 주 빌드 도구)

 

단어 및 용어 정리

TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜은?
- ICMP(Internet Control Message Protocol)

 

OSI 7계층

 

문제확인

int I = 0;  정수형 0을 선언한다
while(1) {. 반복문 1번 실행
if(I==4){ 만약 i가 4랑 같다고 하면)
break; 브레이크문 걸어서 나감
}
++I;  그게 아니라면 i를 1씩 증가 시켜라
즉 위에서 반복문 1번 돌리고 조건이 4랑 같을때까지 돌리라고 했으니깐 0 ~4번까지 돌린후 4=4 같으니 탈출 그래서 4
}
printf("I = %d", i);
return 0;


while에서 조건식 대신 1을 지정하면 무한히 반복하는 루프가 만들어집니다. i가 4가 되면 break로 while문을 빠져나오게 되면서 i는 4가 됩니다.

Comments