- 구현 : 모델링된 것을 보고 실제 개발하는 단계
- UI 설계
- CSS
- 반응형 웹 : 다양한 기기에 맞춰진 컨텐츠가 자동으로 변경
- JavaScript
- 라이브러리 종류
- Jquery
- Node.js
- 기술
- Ajax
- 화면 전체를 새로 고치지 않고 부분만 업데이트함 React와 다르다.
- 비동기 : 대기하지 않고 다른거함
- Ajax
- 라이브러리 종류
- CSS
- 개발 환경 구축
- 서버
- 서버 환경 구축
- 웹 서버(WEB)
- 정적인 것을 클라이언트에게 전달
- 파일 들...
- 대표적인 : Apache Web Server
- 웹 애플리케이션 서버(WAS)
- DB의 동적인 데이터들을 보여줌
- 대표적인 : Tomcat
- 데이터베이스 서버(DBMS)
- 파일 서버 : 첨부파일 등이 저장됨
- 로드 밸런스 : 부하가 없도록 효율적으로 분배
- CDN : 분산 하여 데이터 서버를 둠
- 웹 서버(WEB)
- 서버 환경 구축
- 시스템 아키텍처 고려 사항
- 확장성
- 성능
- 응답 시간
- 처리량
- 접근성(가용성)
- 일관성
- 보안(f/w)
- 시스템 소프트웨어(객체 지향 방식의 개발이 진행시 필요한 운영체제 구성)
- 운영체제 - Windows Server
- 자바 가상 머신(JVM) - 다양한 운영체제에서 호환가능
- Web Server - 아파치
- WAS(Web Application Server) -톰켓
- DBMS
- 개발 소프트웨어
- IDE
- 형상 관리 도구 : 개발자들 사이의 일관성 있는 작업 흐름을 지원하고 변경 이력을 추적한다.
- 종류 : GIT, SVN, CVS, RCS
- 관리의 종류
- 변경관리
- 버전관리
- 형상관리
- 형상관리의절차
- 형상 식별 : 리비전 번호 매기기
- 형상 통제 : 변경 요청을 검토하고 승인하여 현재의 기준선(Baseline)에 반영한다.
- 형상 감사
- 형상 기록
- 버전 관리 소프트웨어 사용 방식
- SVN
- check out : 처음 받아옴 pull
- add : 파일 추가
- commit : 수정된 파일 추가
- update : 최신 버전 받아오기
- import : 최초로 한번 전체 소스 업로드
- trunk : 현재 운영중인 줄기
- branch : 중간 문제 발생시 새로운 브랜치에 만들어 독립적으로 개발을 시작한다.
- 브랜치를 만드는 이유 : 운영의 메인브랜치가 존재하며, 이슈사항에 대한 브랜치 생성, 신규 기능에 대한 브랜치 생성으로 독립적으로 개발한다.
- diff
- merge
- SVN
- 빌드 프로세스 방식
- 빌드 : 형상관리에서 커밋한 최신버전의 파일들을 가져와서 .war, .jar 는 묶는다.
- 테스트
- CD | 배포 : 해당 시스템의 운영서버에 배포함
- 빌드 자동화 도구 종류
- Make : 유닉스 계열
- Ant : java, xml
- Maven : jdk 맞는 또는 라이브러리의 맞는 적합한 버전의 의존성을 검사를 하는 것이다.
- Jenkins
- Groovy : 안드로이드 앱 개발, Groovy 기반
- 모듈 구현 : 하나의 수행하는 기능의 단위
- 객체 지향 : 메서드
- 절차 지향 : 함수
- 특징
- 재사용
- 독립성
- 특징을 통한 모듈의 지켜야할 부분
- 결합도(Coupling) : 두개 모듈의 인터페이스
- 자료 결합도 : 값 - Data
- 스템 결합도 : 주소 - 배열 Stamp
- 제어 결합도 : 조건문 - Control
- 외부 결합도 : External - 외부 변수 사용
- 공통 결합도 : 전역 변수 Common
- 내용 결합도 : 전부 가져다 쓰는거 외부의 의존성이 높은 것 - Content
- 응집도(Cohesion) : 하나의 모듈
- 우연적(Coincidental) : 아무런 상관 없는 것들을 모아둠
- 논리적(Logical) : 유사한 성격과 분류
- 시간적(Temporal) : 특정 시간(비슷한) 처리되어하는 것
- 절차적(Procedural) : 순차적으로 처리되는 것
- 통신적(Communicational) : 동일한 것에 입,출력됨
- 순차적(Sequential) : 출력값을 입력값으로 사용하는 것
- 기능적(Functional) : 관련성 있는 것말 모여진것(단일한 목적)
- 결합도(Coupling) : 두개 모듈의 인터페이스
- Fan-in/ Fan-out
- 서버
- MVC 모델의 계층
- 프레젠테이션 계층 - View
- 제어 계층 - Controller(요청 분산처리)
- 비즈니스 계층 - Service(업무처리)
- 퍼시스턴스 계층 - Mapper, Jpa(데이터 관리)
- 도메인 모델 계층 - Dto, Dao(실체 객체)
- 프레임워크 : 구조(틀)
- 프레임워크의 특징
- 확장성
- 재사용성
- 모듈화
- 제어의 역흐름
- ORM 프레임워크 : 데이터베이스와 객체지향프로그램시 호환
- 프레임워크의 특징
- 라이브러리 : 기능을 모아둠
- API : 라이브러리와 프레임워크로 API를 만든다.
- 배치 프로그램 : 데이터를 모았다가 처리
- 배치 프로그램의 특징
- 대용량 데이터
- 자동화
- 견고함
- 안정성
- 성능
- 크론탭 : 특정 시간에 자동으로 명령어 실행
- 분,시,일,월 요일 명령
- 배치 프로그램의 특징
- 인터페이스 구현
- 인터페이스 시스템
- 송신 시스템 : 보내는 것
- 수신 시스템 : 받는
- 인터페이스 구현 검증 도구
- xUnit : 다양한 언어르 지원하는 단위 테스트
- STAF : 서비스 호출 및 컴포넌트 재사용
- FitNesse : 웹 기반의 테스트
- Selenium : 웹 어플리케이션
- watir : Ruby
- 인터페이스 구현 감시 도구
- APM : 인터페이스 동작 상태를 감시, 데이터베이스 및 웹 애플리케이션의 다양한 정보를 시각화
- 인터페이스 보안
- 스니핑 : 지켜보는 공격
- 스푸핑 : 속이는 공격
- 인터페이스 보안 기능 적용
- 네트워크 영역 : 위조와 변조를 방지하기 위해서 암호화 설정
- 어플리케이션 영역 : KISA에서 시큐어코딩 가이드의 보안 기능 적
- DB영역 : 암호화, 접근제어
- 내,외부 모듈 연계 방식
- 목적 : 서로 데이터베이스를 주고 받기 위한 인터페이스
- EAI : 강결합
- Point-to-Point : 미들웨어 없이 직접 연결
- Hub & Spoke : 중간에 허브
- Message Bus
- Hybrid
- ESB : 약결함
- 유연
- 인터페이스 전송 데이터 형식
- JSON : 문자 기반의 포맷으로 Key-Value로 쌍으로 되어 있으며, {}로 묶은 형태이다.
- XML : 마크업 언어
- YAML : 직렬화 언어
- AJAX : 비동기 방식
- SOAP : 데이터 인터페이스하는 프로토콜 / SMTP, HTTP, HTTPS를 통해 XML 기반 메시지를 교환한다.
- WSDL : 설명서
- UDDI : WSDL을 모아놓은 공간
- REST : HTTP URL를 통한 자원 식별과 HTTP Method를 통한 CRUD 작업을 구현하는 자원 기반의 구조이다.
- 인터페이스 시스템
카테고리 없음