개념이 연결되는 이론 학습
과목과 소분류를 선택해 핵심 개념을 찾아보세요. 모든 이론은 로그인 없이 읽을 수 있습니다.
개발 환경·IDE·컴파일러·빌드·형상·설정 관리
개발 환경은 하드웨어·운영체제·런타임·개발 도구를 포함한다. IDE, 번역 도구, 빌드 도구의 역할을 구분하고 웹 서버·WAS·DB 서버·패키지의 관계와 환경 설정의 기본 원칙을 이해한다.
서버 요청 처리·프레임워크·공통 모듈·단위 테스트
서버 프로그램은 요청을 해석하고 업무 규칙을 수행한 뒤 응답한다. 프레임워크와 라이브러리의 호출 주도권, API의 계약, 공통 모듈의 책임, 기본적인 취약성 식별과 테스트의 차이를 구분한다.
프로세스 간 통신과 재실행 가능한 배치 설계
IPC는 프로세스 사이의 정보 교환이고 동기화는 공유 자원 접근 순서를 조정하는 것이다. 배치 프로그램은 데이터를 일정한 단위로 모아 처리하며, 실행 시점·처리량·오류 복구와 중복 처리 방지의 기본 원칙을 함께 고려한다.
서버 로그와 예외 처리
로그는 실행 중 발생한 사건을 기록하고, 예외 처리는 정상 흐름을 벗어난 오류를 처리하거나 상위 호출자에게 전달한다. 로그 수준, 예외 전파, 처리기 순서와 자원 정리를 구분한다.
언어 실행 방식·자료형·연산·제어 흐름
언어의 실행 방식과 프로그래밍 방식은 서로 다른 분류이다. 자료형·변수·형 변환·연산자·제어문을 구분하고 C·Java·Python의 짧은 코드를 언어별 규칙에 따라 추적한다.
함수 호출·매개변수·재귀와 스택 프레임
함수는 인자를 받아 처리하고 값을 반환하는 단위이다. 함수 선언과 정의, 값 전달과 공유 대상 변경, 호출 스택의 LIFO 원리, 재귀의 종료 조건과 반환 순서를 구분한다.
C 배열·문자열·포인터·구조체
배열은 같은 형의 원소를 연속 배치한 객체이며, 포인터 변수와 같지 않다. C 문자열의 널 종료, 포인터의 원소 단위 산술, 구조체 멤버 접근과 대입을 코드로 구분한다.
C 입출력·객체 수명·정의되지 않은 동작·부작용
C의 printf는 출력할 값을, scanf는 값을 저장할 목적지의 주소를 받는다. 서식과 자료형을 맞추고 문자열 버퍼의 경계, 지역·정적·동적 객체의 수명, 식의 부작용을 구분한다.
Java 자료형·문자열·객체 초기화
Java의 기본형과 참조형, 필드의 기본값과 지역 변수의 초기화, 문자열의 불변성과 비교를 구분한다. 생성자 호출과 정적·인스턴스 초기화의 순서를 짧은 코드에서 추적한다.
Java 상속·동적 바인딩·오버로딩·오버라이딩
Java는 클래스 상속과 인터페이스 구현을 통해 다형성을 제공한다. 오버로딩은 매개변수가 다른 동명 메서드의 선택이고, 오버라이딩은 상속한 인스턴스 메서드의 재정의이다. 컴파일 시 선택과 실행 시 동적 바인딩을 나누어 판단한다.
Java static·final·예외·컬렉션·접근 제어
static과 final의 제한 대상, Java 예외의 분류와 처리 흐름, List·Set·Map의 차이, 접근 제한자의 범위를 구분한다. 참조를 바꾸지 못하는 것과 객체 내용을 바꾸지 못하는 것은 다르다.
Python 시퀀스·세트·딕셔너리·반복
Python의 리스트·튜플·range·세트·딕셔너리를 순서·중복·변경 가능성으로 구분한다. 인덱싱과 슬라이싱, 별칭과 복사, 반복문과 컴프리헨션에서 원소와 상태가 바뀌는 과정을 추적한다. 수치 합산과 원본 객체의 상태 변화도 구분한다.
Python 함수·이름 범위·클래스·예외·안전한 입력
Python 함수의 인자와 기본값, 지역·전역 이름, 클래스와 인스턴스, 예외 처리와 입력 변환을 이해한다. 이름을 새 객체에 연결하는 것과 공유 객체를 변경하는 것을 구분한다.
운영체제·프로세스·스레드·CPU 스케줄링과 UNIX/Linux 기초
운영체제는 자원을 관리하고 실행 환경을 제공한다. 프로세스·스레드의 상태와 공유 자원, CPU 스케줄링의 선택 기준과 시간 계산, UNIX/Linux의 기본 명령·환경 변수·셸 스크립트를 함께 이해한다.
동기화와 교착상태
동기화는 공유 자원의 접근 순서를 조정한다. 임계 구역의 세 조건, 세마포어와 뮤텍스의 역할, 교착상태의 네 필요조건과 대응 전략을 구분하고 기본 자원 할당 표로 안전 상태를 판단한다.
메모리 관리·가상 메모리·페이지 교체
메모리 관리는 주소 변환·보호·할당과 회수를 수행한다. 연속 할당과 단편화, 페이징·세그먼테이션의 주소 계산, 가상 메모리의 페이지 부재·교체·스래싱을 원리와 계산으로 구분한다.
OSI·TCP/IP·네트워크 장비·캡슐화
OSI 7계층과 TCP/IP 모델의 책임을 비교하고 데이터를 캡슐화하는 과정을 이해한다. MAC·IP·포트의 역할, 스위치와 라우터의 전달 기준, 같은 네트워크와 다른 네트워크로 보낼 때의 주소 변화를 구분한다.
IP 주소·서브넷·IPv6
IPv4 주소와 마스크로 네트워크·브로드캐스트·호스트 범위를 계산하고 FLSM·VLSM·CIDR의 차이를 구분한다. IPv6의 128비트 표기, 주소 유형, 기본 헤더와 IPv4 전환 방식까지 연결한다.
TCP·UDP·흐름 및 혼잡 제어·웹 보조 프로토콜
TCP는 순서와 재전송을 관리하는 바이트 스트림, UDP는 기본 전달 기능을 제공하는 데이터그램이다. TCP 연결·확인 응답·흐름 제어·혼잡 제어를 구분하고 DNS·HTTP·DHCP·ARP·ICMP의 역할을 웹 통신 흐름에 연결한다.