



































- 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어 - 기존의 소프트웨어와 새로운 소프트웨어를 연결하는 소프트웨어 - 순서적 연산에 의해 소프트웨어를 실행하는 절차
















































1 2 3 4 5 6 7 8 9 10 11 12 13 14 15








































9, 6, 7, 3, 5




[보기] ㉠ 준비 ㉡ 사전 교육 ㉢ 인스펙션 회의 ㉣ 수정 ㉤ 후속 조치
































- 테이블 R에 속한 모든 도메인이 원자값만으로 구성되어 있다. - 테이블 R에서 키가 아닌 모든 필드가 키에 대해 함수적으로 종속되며, 키의 부분 집합이 결정자가 되는 부분 종속이 존재하지 않는다. - 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키이다.




트랜잭션의 모든 연산들이 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 원래 상태가 되도록 해야 한다.








| 〈푸드〉 테이블 | ||
|---|---|---|
| 지점명 | 제품명 | 판매량 |
| 강남지점 | 비빔밥 | 500 |
| 강북지점 | 도시락 | 300 |
| 강남지점 | 도시락 | 200 |
| 강남지점 | 미역국 | 550 |
| 수원지점 | 비빔밥 | 600 |
| 인천지점 | 비빔밥 | 800 |
| 강남지점 | 잡채밥 | 250 |




















































[조건] 이름이 ‘정도일’인 팀원이 소속된 팀코드를 이용하여 해당 팀에 소속된 팀원들의 이름을 출력하는 SQL문 작성 [SQL 문] SELECT 이름 FROM 직원 WHERE 팀코드=( );












[SQL 문] GRANT ( ) PARK;








#include <stdio.h>
int main(int argc, char *argv[]) {
int a=5, b=3, c=12;
int t1, t2, t3;
t1=a && b;
t2=a || b;
t3=!c;
printf("%d, t1+t2+t3);
return 0;
}




#include <stdio.h>
struct st{
int a;
int c[10];
};
int main (int argc, char *argv[]) {
int i=0;
struct st ob1;
struct st ob2;
ob1.a=0;
ob2.a=0;
for(i=0; i<10; i++) {
ob1.c[i]=i;
ob2.c[i]=ob1.c[i]+i;
}
for(i=0; i<10; i=i+2) {
ob1.a=ob1.a+ob1.c[i];
ob2.a=ob2.a+ob2.c[i];
}
printf("%d", ob1.a+ob2.a);
return 0;
}








x=20
if x==10:
print('10')
( ) x==20:
print('20')
else:
print('other')
실행결과: 20








최소 작업 우선(SJF) 기법의 약점을 보완한 비선점 스케줄링 기법으로 다음과 같은 식을 이용해 우선순위를 판별한다.
















public class Rarr {
static int[] marr() {
int temp[]=new int[4];
for(int i=0; i<temp.length; i++)
temp[i]=i;
return temp;
}
public static void main(String[] args) {
int iarr[];
iarr=marr();
for(int i=0; i<iarr.length; i++)
System.out.print(iarr[i]+’’ ");
}
}




public class ovr {
public static void main(String[] args) {
int a=1, b=2, c=3, d=4;
int mx, mn;
mx=a<b? b : a;
if(mx==1) {
mn=a>mx? b : a;
}
else {
mn=b <mx? d : c;
}
System.out.println(mn);
}
}








#include <stdio.h>
int main(int arge, char *argv[]) {
int n1=1, n2=2, n3=3;
int r1, r2, r3;
r1=(n2<=2) || (n3>3);
r2=!n3;
r3=(n1>1) && (n2<3);
printf("%d", r3-r2+r1 );
return 0;
}








페이지 참조 순서 1, 2, 3, 1, 2, 4, 1, 2, 5












#include <stdio.h>
int main(int argc, char *argv[]) {
int a[]={14, 22, 30, 38};
printf("%u, ", &a[2]);
printf("%u", a);
return 0;
}
































- 다른 국을 향하는 호출이 중계에 의하지 않고 직접 접속되는 그물 모양의 네트워크이다. - 통신량이 많은 비교적 소수의 국 사이에 구성될 경우 경제적이며 간편하지만, 다수의 국 사이에는 회선이 세분화 되어 비경제적일 수도 있다. - 해당 형태의 무선 네트워크의 경우 대용량을 빠르고 안전하게 전달할 수 있어 행사장이나 군 등에서 많이 활용된다.












시스템 공격 기법 중 하나로 허용범위 이상의 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비시킨다.




- 개발해야 할 애플리케이션의 일부분이 이미 내장된 클래스 라이브러리로 구현이 되어 있다. - 따라서, 그 기반이 되는 이미 존재하는 부분을 확장 및 이용하는 것으로 볼 수 있다. - JAVA 기반의 대표적인 소프트웨어로는 스프링(Spring)이 있다.




























- 자신의 신원(Identity)을 시스템에 증명하는 과정이다. - 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.




- 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술 - 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발됨 - 네트워크 장비의 펌웨어 업그레이드를 통해 사용자의 직접적인 데이터 전송 경로 관리가 가능하고, 기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발생하는 문제를 처리할 수 있음







