서버 프로그램 구현
ㅇMVC 모델의 계층
프레젠테이션 계층 ( presentation Layer) :사용자 뷰
제어 계층(Control) : 어디에서 들어와서 어디로 보낼 건지
비즈니스 로직 계층: 실제 업무 처리
퍼시스턴스 계층(Persistance): DB 전달
도메인 모델(Domain Model): 덩어리에 뭐가 있는지
ㅇDBMS 접속기술 종류
소켓통신
Vender API
둘 다 이용 불가
JDBC(Java DataBase Connectivity) :Java
ODBC(Open DataBase Connectivity):MS
ㅇORM 프레임 워크: 객체와 관계형데이터베이스의 데이터를 자동 매핑
- 매핑 기술 비교
- SQL Mapper : 단순하게 SQL 명시로 필드 매핑 (이름이면 이름..)
- OR Mapping(=ORM): 쿼리 안쓰고 객체지향으로 간접적으로
ㅇ시큐어 코딩
OWASP: 보안 기구
OWASP Top 10 > KISA에서 시큐어 코딩 가이드를 발표 > 가이드를 참조해서 코딩을 하면 그게 시큐어코딩
ㅇ시큐어 코딩 가이드
- 어떤 약점을 주고 종류를 고르라는 문제가 출제될 가능성이 있음
- 입력 데이터 검증 및 표현 (뭔가 들어왔으면 검증을 하라는 뜻)
-보안 약점의 종류(종류만 기억하면 될 듯)
SQL Injection :쿼리 삽입
XSS(크로스 사이트 스크립트)
자원 삽입
명령 삽입
메모리 버퍼 오버플로우
- 보안 기능: 보안 기능을 부적절하게 구현하는 경우 발생할 수 있는 보안 약점
-종류
적절한 인증 없이 중요기능 허용
부적한 인가
취약 암호화 알고리즘 사용
하드코딩된 패스워드
패스워드 평문 저장
취약한 패스워드 허용
- 시간 및 상태: 동시에 진행되는 와중에 일어날 수 있는 약점
-종류
경쟁조건
종료되지 않는 반복문 또는 재귀 함수
- 에러 처리: 에러를 불충분하게 혹은 처리 안해서 생기는 거
-종류
오류 메시지 정보 노출
오류 상황 대응 부재
부적절한 예외 처리
- 코드 오류 : 개발자가 코드 잘못씀
-종류
널 포인터 역참조
부절적한 자원 해제
해제된 자원 사용
초기화되지 않은 변수 사용
- 캡슐화: 캡슐화 안해서 생기는 문제
-종류
잘못된 세션에 의한 정보 노출
제거되지 않은 디버그 코드
시스템 정보 노출
잘못된 접근 지정자
- API 오용: 쓸데없이 API 사용해서 생기는 문제
종류
DNS 에 의존한 보안 결정
취약한 API 사용
배치 프로그램 구현 (배치? 실시간의 반대. 모아뒀다가 처리)
ㅇ배치 프로그램의 필수 요소( 꼭 암기)
대용량 데이터
자동화
견고함(오류 X)
안정성
성능(월급 계산에 3일걸리면 안 됨)
ㅇ스케줄 관리 종류 - 크론탭(Crontab), Spring Batch, Quartz Job 스케줄러 > 이 중 문제 출제가 된다면 크론탭 관련 계산문제가 가능성 있음
Crontab: Unix, Linux 에서 사용
형식: 분 시 일 월 요일 명령어 (미국 기준, 작은 단위부터)
특이사항: 다섯번째 필드 요일은 0이 일요일 1이 월요일
사용하는 특수문자
| 기호 | 의미 |
| * | ALL, 모든 값 |
| ? | 특정 값이 아닌 어떤 값이든 상관 없음 |
| - | 범위를 지정할 때 (12-14) : 12시부터 14시 |
| , | 여러 값을 지정, 12, 14(12시, 14시) |
| / | 증분값: 초기값과 증가치 설정, */20 : 매 20분마다 |
사용 예시:
30 0 1 1,6 * 명령 : 1월과 6월, 1일, 0시 30분에 실행
인터페이스 시스템 : 잘 안나옴. 문제 낼 게 있나? 그렇게 없는듯
A B 시스템이 데이터 주고받을 수 있게 도움을 주는 것
송신, 수신, 중계서버 가 있음
ㅇ 송수신 전문 구성
전문 공통부: 인터페이스 표준 항목을 포함
전문 개별부: 업무처리에 필요한 데이터를 포함
전문 종료부: 전송데이터의 끝을 표시하는 문자 포함
ㅇ인터페이스 설계서 구성
- 인터페이스 목록: 연계 업무와 연계에 참여하는 송수신 시스템의 정보, 연계 방식과 통신 유형 등에 대한 정보
- 인터페이스 정의서: 송신 시스템과 수신 시스템 간의 속성과 제약 조건 등을 상세하게 포함
ㅇ내/부 모듈 연계 방식
- EAI : 기업에서 운영되는 서로 다른 플랫폼 및 어플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
구축유형 4 가지 꼭 !!암기!!
-Point-to-Point
-Hub & Spoke
-Message Bus (ESB)
-Hybrid
중 ESB(Enterprise Service Bus): 멀티 프로토콜 지원, 다른 기종 어플리케이션을 유연(loosely-coupled) 하게 통합하는 핵심 플랫폼
이 부분은 용어만 기억해두면 된다.
ㅇ 인터페이스 연계 기술
- Link
- DB Connection
- JDBC - DB 연결
- API / Open API
- 절대 암기 Web Service 3요소
WSDL(Web Services Description Language) :xml 설명서
UDDI(Universal Description, Discovery and Integration) : 도서관
SOAP(Simple Object Access Protocol) : 실제 통신 프로토콜
- Hyper Link
- Socket :직접
ㅇ 인터페이스 전송 데이터 종류를 외워둬야함
- JSON : JS 표준 포맷
- XML: 마크업
- YAML : 직렬화 언어
- CVS: 콤마로 구분