목록정보처리기사 (9)
공부하는 스누피
오늘 정보처리기사 실기 결과 발표가 났다. 필기는 정기 3회 시험을 쳤고, 실기도 3회차로 치려고 했으나 인적성 시험과 겹쳐서 못갔다. 차라리 응시 취소를 했으면 4회차를 칠 수 있었겠지만, 결시여서 아쉽게도 5회 시험이 있는 11월 말까지 기다리는 수밖에 없었다. 3회차에 필기와 실기를 다 칠 생각으로 10월 초에 실기 책을 거의 다 풀어버린 데다 면접 일정까지 겹쳐서 5회 시험은 거의 준비하지 않았다. 시험 전날 수제비 카페에서 기출문제를 한번 풀어보기만 했다. 다행히 결과는 합격이었다. 필기는 시험 한 달 전부터 시나공 기본서를 사서 공부했다. 플젝 위주 수업만 듣다 보니 CS 기본을 다 잊어버린 것 같아서 길게 잡고 정독했다. 참고로 시나공 필기는 책이 두꺼우니 분철하는 것을 추천한다. 정독하면서..
개념 데이터 모델링 : 주제 영역과 핵심 데이터 집합간의 관계를 정의하는 모델링으로, 전체 모델의 골격에 해당한다. 논리 데이터 모델링 : 개념 모델로부터 업무영역의 규칙을 구체적으로 표현 - 정규화 - 포용성 - 완전성 - 독립성 물리 데이터 모델링 : 논리 모델을 기술에 맞게 상세화 - 개체 -> 테이블 - 속성 -> 컬럼 - UID -> PK - 관계 -> FK - 컬럼유형과 길이정의 - 반정규화 이상현상 anomaly : 데이터의 중복으로 나타나는 현상 => 정규화로 중복을 최소화해서 해결 - 삽입 이상 : 의도하지 않은 데이터를 같이 삽입하는 경우 - 삭제 이상 : 의도하지 않은 데이터를 삭제하는 경우 (cascade 오용) - 갱신 이상 : 데이터 갱신시 정보에 모순이 생기는 경우 정규화 : ..
집계 함수 - 여러 행 또는 테이블 전체 행으로부터 하나의 결괏값을 반환하는 함수이다. COUNT - 행 수 SUM - 합계 AVG - 평균 MAX - 최댓값 MIN - 최솟값 STDDEV - 표준편차 VARIAN - 분산 그룹 함수 - 테이블의 전체 행을 컬럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수이다. ROLLUP - 그룹별 중간 집계값을 생성한다. - 집계 대상을 ROLLUP 뒤에 넣는다. - 함수 인자로 지정된 컬럼의 순서에 따라 계층별로 구성된다. -> 순서 바뀌면 출력 내용도 달라진다. - 계층 내 정렬이 가능하다. -- A와 B의 C 총합 계산 select A, B, sum(c) from T group by rollup(A, B); CUBE - 결합 가능한 값에 대한 다차원 집계..
현행 시스템 파악 절차 1) 구성/기능/인터페이스 파악 2) 아키텍처/소프트웨어 구성 파악 3) 하드웨어, 네트워크 구성 파악 소프트웨어 아키텍처 : 소프트웨어 구성요소와 그 특성/관계를 표현하는 시스템 구조 => 소프트웨어 설계 지침 소프트웨어 아키텍처 프레임워크 : 아키텍처 기술 표준 (구성요소) 아키텍처 명세서, stakeholder, 관심사, 관점, 뷰, 근거 소프트웨어 아키텍처 4+1 뷰 : 요구사항 시나리오를 4가지 관점에서 접근하는 방법. +1은 use case 뷰로 아키텍처 도출/설계를 담당한다. Use-case view: 아키텍처 도출/설계 담당 Logical view: 설계 모델 추상화, 기능적 요구사항. 클래스 다이어그램으로 표현. Process view: 런타임시 시스템의 task,..
네트워크 인터페이스 카드(NIC; Network Interface Card) - 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치. - 정보를 전송할 수 있도록 정보 형태를 변경한다. - 이더넷 카드(LAN 카드)라고도 한다. 허브(Hub) - 가까운 거리의 호스트들을 연결하는 장치. - 각 회선을 통합적으로 관리하며, 리피터의 역할(신호 증폭)도 한다. - 종류 => 더미 허브: 연결만 함. Star 구조이고, LAN이 보유한 대역폭을 컴퓨터 수만큼 나누어 제공한다. => 스위칭 허브: 데이터 흐름을 제어하여 각 노드가 허브의 최대 대역폭을 사용할 수 있게 함. + 대역폭이란? 데이터를 주고 받을 수 있는 통신 링크의 용량이다. 쉽게 이야기하자면 대역폭을 100개의 자원이라고 하고 컴퓨터 수는 1..
시큐어코딩 가이드는 한국인터넷진흥원의 기술안내서 가이드로, 2020년 기준 한국인터넷진흥원에서는 JAVA, C, Android(JAVA) 가이드를 제공하고 있다. 정보처리기사에서는 인터페이스 개발 시 보안 취약점을 방지할 수 있는 JAVA 가이드라인으로 소개된다. 적용대상 보안약점 대응방안 입력데이터 검증 및 표현 입력값에 대한 검증 누락 입력 데이터에 대한 유효성 검증 체계 수립 보안 기능 보안 기능의 부적절한 구현 비밀번호 등 보안 정책이 적절하게 반영되도록 구현 시간 및 상태 병렬 시스템이나 멀티 프로세스 환경에서 시간/상태의 부적절한 관리 공유 자원의 접근 직렬화 에러 처리 에러 미처리 에러 상황 처리하도록 구현 코드 오류 개발자에 의한 코딩 오류 경고 순위의 최상향 조정 후 경고 메시지 코드 제..
SOA(Service Oriented Architecture) 대규모 컴퓨터 시스템을 구축할 때의 개념으로, 업무상의 일 처리에 해당하는 App 기능을 서비스로 판단하고, 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론이다 (Wikipedia). 간단히 말하자면, 회사 업무 App이 채팅 앱, 회계 프로그램, 일정 관리 프로그램 등 여러 가지가 있다고 하자. 이때 모든 App들을 컴포넌트 단위로 서비스화한 다음, 표준 인터페이스를 통해서 하나의 커다란 업무 관리 App을 만드는 것이다. - 소프트웨어의 재사용성이 강조된다. - 비즈니스 환경의 변화에 빠르게 대응할 수 있다. - 각 서비스는 의존성이 최소화(Loosely Coupled)되어 있어야 한다. - 아키텍처 모델에는 시스템 ..
1. 디자인 패턴 : 모듈의 세분화된 역할이나 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식. =>기본형 코드들이 포함되어 있음. => 패턴에 변형을 가하면 유사한 형태의 다른 패턴으로 변화됨. => 생성, 구조, 행위 패턴으로 분류할 수 있다. * 아키텍처 패턴과 차이점 아키텍처 패턴은 디자인 패턴보다 상위 수준의 설계에 사용되며, 전체 시스템의 구조를 설계하기 위한 참조 모델이다. 반면 디자인 패턴은 시스템의 컴포넌트들과 관계를 설계하기 위한 참조 모델이고, 몇몇 디자인 패턴은 아키텍처 패턴을 구현하는데 사용된다. 2. 생성 패턴 Creational Pattern : 객체의 생성과 관련된 패턴 => 유연성 향상시킴 - 종류 a. 추상 팩토리 Abstract Factory 인터페이..