정보처리기사 필기
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
서버 요청 처리·프레임워크·공통 모듈·단위 테스트
원래 이론 →헷갈리는 개념
API는 웹 요청에만 한정되지 않는다. 라이브러리 함수, 객체의 공개 메서드, 운영체제의 시스템 호출도 사용자가 어떤 입력을 전달하고 어떤 결과를 받는지 정한 인터페이스가 될 수 있다.
계약에는 입력 자료형·필수 여부·허용 범위·단위, 성공 결과, 실패 시 오류 표현을 포함한다. 선택 입력에는 생략 시의 의미가 필요하다. 예를 들어 같은 정수 60이라도 초와 밀리초는 다른 값이므로 이름만 맞추어 전달해서는 안 된다. 자료형이 맞더라도 업무 규칙을 만족하지 않을 수 있다.
모듈의 내부 표현을 외부 호출 계약과 분리하면, 외부 계약을 유지하는 내부 변경이 호출자로 전파되는 범위를 줄일 수 있다. 이것이 변경 후 검증을 생략해도 된다는 뜻은 아니다.
컨트롤러는 요청을 받아 적절한 서비스에 전달하고 결과를 응답 형식으로 바꾼다. 서비스는 업무 규칙을 수행하고, DAO·리포지터리는 저장·조회 기술의 세부를 감싼다. 경로나 HTTP 메서드에 따라 처리기를 고르는 라우팅과, 업무 데이터를 검사하는 처리는 별개이다. 공통 전처리를 한곳에 모아도 각 업무의 권한 검사를 생략할 근거는 되지 않는다.
인증은 요청 주체를 확인하는 과정이고 인가는 그 주체가 해당 자원·작업을 사용할 권한이 있는지 확인하는 과정이다. 클라이언트 화면의 검사나 버튼 숨김만으로 서버의 검증·인가를 대신하지 않는다. DI로 객체를 외부에서 주입해도 구체 구현을 강하게 요구하는 인터페이스까지 저절로 좋은 설계로 바뀌는 것은 아니다.
대표 계산·예제
예를 들어 상품 조회 요청을 처리할 때 컨트롤러가 요청 파라미터를 해석하고, 서비스가 조회 조건과 권한을 판단하며, 리포지터리가 DB 조회를 수행한다. 컨트롤러가 업무 규칙과 SQL까지 모두 담당하면 전송 형식 변경과 데이터 저장 방식 변경이 한 모듈에 함께 영향을 주어 유지보수가 어려워진다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.