CS/시스템아키텍쳐 5

암호화 방법

암호화 리스트 정리 양방향 암호화 1. 대칭키 : 암호화키와 복호화 키가 같은 것. - 스트림기반 : 비트단위 암호화 방식 - 블록기반 : 블록단위 암호화 방식. 문자열 단어 하나하나를 블록으로 나누어서 암호화 2. 비대칭키 : 암호화키와 복호화 키가 다름 - ECC(Elliptic Curve Cryptography) : 타원곡선 암호화. 비트코인에 사용 - RSA : 소인수분해 - DH 단방향 암호화 - Hash를 이용

디자인 패턴(대표적인 디자인패턴)

디자인 패턴 이란? - 프로그램 설계 시 발생했던 문제점들을 상호관계 등을 이용하여 해결할 수 있도록 규약형태로 만들어 놓은 것 싱글톤 패턴 - 하나의 클래스에 하나의 패턴을 가짐 - 데이터베이스 연결모듈에 많이 사용 - 하나의 인스턴스를 만들어 놓고 다른모듈들이 공유하며 사용하므로 비용이 줄어듦 - 의존성이 높아지는 단점 -> TDD테스트 어려움 -> 디커플링을 통해 의존성 주입 * 의존성 주입 원칙 : 상위모듈은 하위모듈의 어떤것도 가져와선 안됨. 추상화에 의존해야 하며 추상화는 세부사항에 의존 x 팩토리 패턴 - 객체생성부분을 떼어내 추상화 한 패턴 - 상속관계의 두 클래스에서 상위 클래스가 중요한 뼈대 결정, 하위클래스에서 구체적인 내용을 결정하는 패턴 전략패턴(정책패턴) - 객체의 행위를 바꾸고..

FTP란?

1. 정의 - FTP(File Transfer Protocal)는 TCP/IP 네트워크상의 장치가 파일을 전송할 때 사용하는 규칙. - 인터넷을 둘러볼때는 HTTP, 인스턴스 메시지는 XMPP, 파일을 이동할때는 FTP 2. FTP 서버란? - 파일을 하나의 장치에서 다른 장치로 전송하는 소프트웨어 어플리케이션 - FTP주소를 가지고 있고, FTP를 수신하는 컴퓨터 3. FTP의 원리 - (클라이언트-서버) 프로토콜 : 클라이언트가 파일을 요쳥하면 서버가 요청된 파일을 제공하는 것 - 2개의 기본채널이 필요 : 명령을 내리고 엑세스 권한 전달채널, 2개의 장치간에 파일 데이터를 전송하는 채널 4. SFTP? - FTP에 시큐어 셸(SSH) 데이터 스트림을 통해 보안을 강화한 파일 전송 방법 - 22번 포..

시스템아키텍처의 정의

시스템 아키텍처의 정의 - 하드웨어와 소프트웨어 아키텍처를 기반으로 시스템이 서비스를 제공하기 위한 아키텍처 - 광의의 정의로는 Technical Architecture, Data Architecture, Application Architecture로 구분 - 협의의 정의로는 Technical Architecture를 의미하며 세부적으로 서버, 스토리지, 네트워크, 보안으로 구분 광의의 시스템아키텍처 정의 1. 기술 아키텍처 : 서버, 네트워크, 보안, 하드웨어 구조, 미들웨어의 배포 구조를 정의 2. 데이터 아키텍처 : 데이터의 무결성을 보장하기 위해 정의 3. 응용 아키텍처 : 정보시스템의 소프트웨어 컴포넌트들 간의 관계 및 제약사항 정의 협의의 시스템아키텍처 정의 1. 서버 - 정보시스템의 계산 능..