
풀이 : SQL문을 말하는 것 같음
풀이 : 튜플은 속성이고 도메인은 인덱스를 말하는건가?? (튜플은 행임 컬럼이 열임)

✅ 문제 구조 분석
🔹 첫 문단
( )은 /는 관계 데이터의 연산을 표현하는 방법
수학의 predicate calculus(술어 논리)에 기반
관계 모델의 제안자 코드(Codd)가 제안
➡ 이건 관계해석의 정의 그 자체야!
🔹 두 번째 문단
비절차적 → "어떻게가 아니라 무엇을 원하는지" 표현
튜플(행 단위) 기반과 도메인(속성 값 단위) 기반 존재
➡ 관계해석은 두 가지 종류가 있어:
튜플 관계해석 튜플(행) : `{ t
도메인 관계해석 속성 값 : `{ <x, y>

풀이 : 블록이 32비트가아닌걸로봐서 AES인가??
풀이 : 예상도 안감.. , 그냥 음성을 암호화할때 사용하는것으로봐서는 비대칭키 알고리즘인 것 같은데 RSA 이런거인가??

✅ 1번 해설 : IDEA ( International Data Encryption Algorithm )
📌 키워드 분석
"Xuejia Lai", "James Massey" → 이 두 사람이 만든 알고리즘
초기 이름은 PES, 이후 IPES, 1991년에 IDEA로 개명
128비트 키, 64비트 블록, 8라운드 → IDEA의 전형적 구조
✅ 2번 해설 : SKIPJACK
📌 키워드 분석
"NSA에서 개발"
"Clipper 칩"에 내장됨 → 미국 정부가 만든 정부 보안용 칩
"음성 암호화", "80비트 키", "64비트 블록", 32라운드
✅ 너의 풀이 평가
IDEA 추론 실패 ( AES와 헷갈림 ) : ❌ IDEA는 AES보다 더 오래됨 ( 1991년 vs 2001년 )
SKIPJACK을 RSA로 추론 : ❌ RSA는 비대칭 키, SKIPJACK은 대칭 키
"음성 암호화 → 비대칭일까?" : 🔶 그럴 수도 있지만, 실제로는 실시간 성능 때문에 대칭 키 사용
| 구분 | 대칭 키 | 비대칭 키 |
|---|---|---|
| 키 종류 | 하나( 같은 키 ) | 공개키 / 개인키 |
| 속도 | 빠름 | 느림 |
| 사용 예 | AES, IDEA, SKIPJACK | RSA, ECC |
| 용도 | 파일, 통신 암호화 | 인증, 키 교환 |


🔍 ALL의 의미
단가 > ALL (...)
→ 괄호 안의 모든 값보다 커야 한다는 뜻
📌 즉, H 회사 단가 2000, 3000보다 모두 큰 제품을 찾는 거야.
✔ 6000, 5000만 조건에 만족!


👉 COUNT(col2)는 NULL을 세지 않음

풀이 : 사설 네트워크이면 vpn같은데, 익명과 데이터 암호화 얘기가들어가서 IPSec인가 싶기도함 , IPSec일 것같음.

✅ 문제 핵심 문장 해석
"인터넷을 통해 디바이스 간에 사설 네트워크 연결"
→ ✅ VPN 정의 그대로
"퍼블릭 네트워크에서도 안전하게 전송"
→ ✅ VPN은 공용망을 통해 사설망처럼 통신
"IP 주소를 마스킹하고 암호화"
→ ✅ VPN이 익명성과 암호화를 동시에 제공
IPSec은 VPN을 구현할 수 있는 프로토콜 중 하나
VPN 서비스 전체 개념, IPSec은 그 안의 기술
즉, IPSec은 암호화 기술 / 통신 프로토콜,

풀이 : 꼭 디자인패턴같음 행위패턴 , 트렌지스터일까?? 원자성 유일성 이런것들과 비슷한건가??

객체지향 설계에서 유지보수성과 확장성을 높이기 위한 5가지 원칙
| 원칙 약어 | 이름 | 핵심 요약 |
|---|---|---|
| S | SRP (단일 책임 원칙) | 하나의 클래스는 하나의 책임만 |
| O | OCP (개방-폐쇄 원칙) | 확장에는 열려 있고, 변경에는 닫혀 있어야 함 |
| L | LSP (리스코프 치환 원칙) | 자식 클래스는 부모를 대체 가능해야 함 |
| I | ISP (인터페이스 분리 원칙) | 불필요한 메서드에 의존하지 않게 나누자 |
| D | DIP (의존성 역전 원칙) | 구체가 아닌 추상에 의존하자 |
"클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다" → ✅ ISP 핵심 원칙
"큰 인터페이스를 구체적이고 작은 단위로 분리" → ✅ 여러 작은 인터페이스로 나누라는 것
"프린터 로직이 바뀌어도, 복사기·팩스는 영향받지 않아야 한다" → ✅ 의존성 최소화, 즉 인터페이스 분리
정답 ✅ ISP (인터페이스 분리 원칙)
interface Machine { void print(); void fax(); void copy(); }
interface Printable { void print(); } interface Faxable { void fax(); } interface Copyable { void copy(); }
public static void main(String args[]){ int i = 3; int k = 1; switch(i) { case 1: k += 1; case 2: k++; case 3: k = 0; case 4: k += 3; case 5: k -= 10; default: k--; } System.out.print(k); }

struct A{ int n, int g } int main(){ A a = new A[2] for(i=0; i <2; i++) { a[i].n = i, a[i].g=i+1 } System.out.printf(a[0].n + a[1].g); }

A a = new A[2];
구조체 A 2개짜리 배열을 생성: a[0], a[1]


너의 풀이 정확도 매우 높아! 💯
특히 서브넷 마스크 해석, 호스트 수 계산, 브로드캐스트 주소 산정까지 거의 완벽했어.
다만 브로드캐스트 주소를 계산하는 과정에서 살짝 착각한 부분이 있어
📌 서브넷 마스크: 255.255.255.192
→ 마지막 옥텟 192 = 11000000
→ 따라서 6비트는 호스트, 2비트는 네트워크
📌 4번째 옥텟에서 네트워크 구간은?
2비트 네트워크 → 네트워크 주소는 64단위 간격
| 범위 | 비트 표현 |
|---|---|
| 0~63 | 00000000 ~ 00111111 |
| 64~127 | 01000000 ~ 01111111 |
| 128~191 | 10000000 ~ 10111111 ← 132는 여기에 포함 |
| 192~255 | 11000000 ~ 11111111 |
✅ 132는 128~191 구간
→ 네트워크 주소는: 139.127.19.128
✅ 정답 (1): 128

풀이 : 베타 테스트라고하기에는 고객을 선발해서 평가하는데.. 흠.. 모르겠음 , 알파테스트 인가??
풀이 : 다른건 모르겠는데 단위 테스트가있는것으로보아 V테스트 같음

① 고객을 대상으로 상용화 전 최종 점검 테스트 - 베타 테스트
② 개발사 내부에서 처음 수행하는 통합적 테스트 - 알파 테스트
"선발된 잠재 고객에게 일정 기간 무료 사용"
→ 제품을 외부 사용자에게 배포해서 반응, 오류를 확인
📌 베타 테스트의 핵심:
외부 사용자 대상
상용화 직전
오류/사용성 검증 목적
최종 완성도 평가
💡 예시:
모바일 앱을 출시 전에 Play Store에서 “베타 프로그램 참여” 받는 것
"내부 개발자가 제품을 직접 테스트" → 단위 테스트, 통합 테스트, 시스템 테스트 모두 포함 가능
📌 알파 테스트의 핵심:
사내 내부 개발팀 중심
기능 구현이 끝난 초기 시점
논리적/기능적 문제 발견 목적
💡 예시:
회사 내부에서 QA 팀이 버그를 잡기 위한 초기 테스트 수행

풀이 : 반복 테스트??

✅ Regression Test란?
소프트웨어의 변경(수정, 업데이트) 이후,
기존에 잘 동작하던 기능이 여전히 정상 동작하는지 확인하는 테스트
📌 목적:
버그 수정, 기능 추가, 코드 리팩토링 이후
기존 기능에 부작용(오류)이 발생하지 않았는지 검증
| 용어 | 설명 |
|---|---|
| Regression Test | 기존 기능이 여전히 정상인지 반복 확인 |
| Iterative Test | 점진적으로 요구사항을 반영하며 테스트 진행 (애자일 등에서 사용) |
| Retest | 동일한 입력값으로 다시 테스트 (단순 재시도) |


a = "REMEMBER NOVEMBER" b = a[:3] + a[12:16]; c = "R AND %s" % "STR"; print(b+c);

c = "R AND %s" % "STR"
%s는 문자열 포맷팅 기호
→ c = "R AND STR"

풀이 : AS 도메인 라우터를 설명하는것으로보아 예시로 Wifi를 말하는 것 같음 무선네트워크에 사용되는 기술 같은데 내부 경로 설정을 가르킨다. 라는 설명이 있으니 데이터그램 전송 방식 이런거인가??
풀이 : 보안과 제어가 목적이고 신용도가 낮은 프로토콜은
TCP 아닐까?? , 외에 ARP인가 그거는 신용도가 낮고 빠른거잖아
풀이 : RIP의 단점을 개선한 라우팅 프로토콜이면 ,
OSPF아닐까요?? 홉위주계산아아닌 거리 계산이니까.
풀이 : 이게 OSPF 인 것 같음.

1번에서 IGP 대신 데이터그램 방식 추측
❌ IGP는 내부 라우팅 프로토콜임
2번에서 TCP/ARP 혼동
❌ TCP는 전송 계층, ARP는 주소 해석 프로토콜 (라우팅과 무관)
3번에서 OSPF → 정확하게 파악
✅ 아주 좋음
4번에서 OSPF 선택 → BGP로 오해
❌ OSPF는 내부용, BGP는 AS 간 외부용
"도메인 내부 경로 설정"이라는 문장
→ 자율 시스템(AS) 내부에서 사용하는 라우팅 프로토콜
📌 특징
내부 라우팅 프로토콜
예시: RIP, OSPF, IS-IS
내부 네트워크 간의 라우팅 테이블 설정
"시스템 사이", "보안과 제어 중심", "신뢰도 낮음"
📌 특징
자율 시스템 간 라우팅 정보 교환용
과거에는 EGP(프로토콜)이라는 것도 있었으나, 지금은 일반적으로 EGP는 개념적으로 BGP를 대표
✅ 여기서는 EGP = 도메인 간 통신을 위한 상위 개념
"신뢰도 낮음"
1. 라우팅 정보 검증 부족
초기 EGP나 단순한 라우팅 프로토콜은
👉 상대방이 보내준 정보가 진짜 맞는지 검증하지 않음
말 그대로 "A 네트워크까지 가려면 나를 통해 가!" 라고 주장하면, 무조건 믿음 😅
➡ 가짜 정보에 쉽게 속을 수 있음
🔍 2. 보안 기능 없음
EGP는 인증, 암호화, 정책 기반 제어가 거의 없었음
악의적인 라우터가 거짓 경로를 전파해도, 필터링 없이 수용됨
➡ 라우팅 하이재킹 가능성 ↑
🔍 3. 정책 제어가 미약함
"어떤 경로는 차단하고 싶다", "요금제상 이 경로는 제외하고 싶다"
→ 이런 정책을 세밀하게 통제할 수 없었음
➡ 운영상 제어력 ↓ → 운영자 신뢰도도 낮았음
"RIP보다 정교하고, 거리 아닌 비용 기반", "대규모 네트워크에 적합"
📌 특징
IGP 중 하나 (즉, 내부용)
RIP 단점(홉 제한, 느린 수렴 등)을 개선
링크 상태 알고리즘 기반, 빠른 수렴 속도
가중치(비용) 기반 라우팅
✅ 정답: OSPF
"AS 간 라우팅", "도달 가능성 정보", "전체 경로 포함"
📌 특징
대표적인 EGP 구현 프로토콜
자율 시스템(AS) 간 라우팅 정보 교환
정책 기반, 루프 방지, 안정성 중시
전 세계 인터넷의 핵심 프로토콜
✅ 정답: BGP
#include <stdio.h> int len(char*p); int main(){ char* p1 = "2022"; char* p2 = "202207"; int a = len(p1); int b = len(p2); printf("%d", a + b); } int len(char* p){ int r = 0; while(*p != '\0'){ p++; r++; } return r; }

#include <stdio.h> int main(int argc, char *argv[]) { int a[4] = {0, 2, 4, 8}; int b[3] = {}; int i = 1; int sum = 0; int *p1; for (i; i < 4; i++) { p1 = a + i; b[i-1] = *p1 - a[i-1]; sum = sum + b[i-1] + a[i]; } printf("%d", sum); return 0; }
public class Conv{ public Conv(int a) { this.a = a; } int func() { int b =1; for (int i=1; i<a; i++){ b = a * i + b } return a +b; } int a; } public static void main(String[] args){ Conv obj = new Conv(3); obj.a=5; int b = obj.func(); system.out.print(obj.a + b); }
객체 obj생성 , 생성자 3
obj.a부분에서 a값을 5로 초기화
메서드 func 호출 i를 이용하여 1부터 4까지반복
반복문내용 a에다가 i를 곱해서 현재 b를
더해주는 것을 반복 그후에 a+b를 반환함
(b = 51 + 1 = 6
b = 52 + 6 = 16
b = 53 + 16 = 31
b = 54 + 31 = 51
그리고 마지막에 a+b 하면 56)
b에 56을 담는다.
마지막으로 obj.a는 5 + b는 56 결론 61 출력

풀이 : 성적입장에서 학생과 학과는 복합기본키가되는건가??
풀이 : 1:1 종속 이런건가??
풀이 : 무슨 종속성이라고 하는지는 기억이안나는데.. 연쇄종속? 종속의종속??

✅ 함수 종속성(Functional Dependency)이란?
어떤 속성 A가 다른 속성 B를 결정할 수 있을 때,
우리는 "B는 A에 함수적으로 종속되어 있다"라고 표현함.
📌 A → B
🧠 보기:
학생 학과 성적
김정보 무역학과 35
김정보 경영학과 60
이실기 경영학과 60
→ 같은 학생이라도 학과가 다르면 성적도 다름
→ 학생만으로는 성적을 결정할 수 없음
→ 학과만으로도 성적을 결정할 수 없음
➡ {학생, 학과} → 성적 은 전적으로 둘 다 필요함
✅ 정답: Full Functional Dependency
성적을 결정짓는 키가 {학생, 학과} 두 개라면 복합 기본키(Composite Primary Key)가 맞아.
이 경우 성적은 기본키의 일부인 학과에만 의존
➡ 이는 기본키 전체가 아닌, 일부에만 의존하는 경우
✅ 정답: Partial Functional Dependency (부분 함수 종속)
중간 단계를 거쳐 종속되는 것
➡ 이건 바로 Transitive Dependency (이행적 함수 종속)
즉, X → Z 는 X → Y → Z를 통해 성립함
✅ 정답: Transitive Functional Dependency

풀이 : HTTP?? , HTML??(얘는 프로토콜이아니라 언어아닌가??) HTTP인것 같음
풀이 : 프론트에 랜더링되는 데이터같은데?? , 게시판에 들어가면 여러가지 정보가 있잖아 , 하이퍼링크를 말하는건가??
풀이 : 이게 html인거같은데 제목, 단락은 바디, 목록 본문 이런거 만들수있는 문서잖아.

"문서 전송", "하이퍼텍스트 문서 교환", "통신 규약"
📌 이건 네트워크 계층에서 실제로 문서를 주고받는 프로토콜을 말하는 것
➡ 바로 HTTP (HyperText Transfer Protocol)
✅ 정답: HTTP
"연상 거미집", "이용자가 원하는 정보를 클릭", "정보 제공 방법"
📌 이건 정보를 하이퍼링크로 연결해 둔 구조를 말하는 것
➡ Hypertext (하이퍼텍스트) 개념 자체를 말하는 설명
✅ 정답: Hypertext
"제목, 단락, 목록", "문서 구조 표현", "마크업 언어"
📌 웹페이지를 만들기 위한 표준 언어
➡ 구조를 정의하는 HTML (HyperText Markup Language)
✅ 정답: HTML


Fan-in 하나의 모듈이 여러 다른 모듈로부터 호출(사용)되는 정도
Fan-out 하나의 모듈이 여러 다른 모듈을 호출(사용)하는 정도