목록정리/CS (23)
PracticeEveryday

HTTP - HyperText Transfer Protocol - W3 상에서 정보를 주고 받을 수 있는 프로토콜 - 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다. HTTPS - HyperText Protocol over Secure Socket Layer, HTTP over TSL, HTTP over SSL, HTTP Secure - World Wide Web 웹 통신 프로토콜 HTTP의 보안이 강화된 버전 - 통신의 인증과 암호화를 위해 netscape communications corporation에서 개발했으며, 전자 상거래에서 널리 쓰인다. - 기존 HTTP 레이어에 SSL ( TSL ) 프로토콜을 얹어 평문 데이터를 암호화한다. - 소켓 통신에서 일반 ..

Base64 - 인코딩( Encoding )은 파일에 저장된 정보의 형태나 형식을 데이터 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태로 변환하는 처리 혹은 그 처리 방식을 이야기합니다. - 이메일 등의 전송, 동영상 이미지 영역에서 많이 사용되며, 반대말을 디코딩 ( Decoding )입니다. - Base64를 직역하면 64진법이라는 뜻입니다. - Base64란 8비트 이진 데이터 ( 예를 들어 실행 파일이나, ZIP 파일 등 )를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개녑입니다. - Base64는 어떤 문자와 기호를 쓰느냐에 따라 다양한 변종이 있지만, 대부분 처음 62개는 알파벳 A - Z,..

Big O Notation ( 표기법 ) - Big O Notation은 알고리즘이 실행되는 데 걸리는 시간 ( 시간 복잡도 ) 또는 알고리즘이 사용하는 메모리 양 ( 공간 복잡도 )에 대해 설명하는 데 사용하는 언어입니다. - Big O는 최악의 경우인 " 상한 " 실행 속도에 중점을 둡니다. ※ 우리가 Big O 표기법을 사용할 때 " 실행 시간 "이 우리가 아는 시간 ( 초, 밀리초 등 )이 아니라는 점을 인지해야 합니다. - 실행 시간의 분석은 프로세서, 언어 또는 실행 시간 환경과 같은 특정 사항을 고려하지 않고 시간을 크기 N 의 문제를 완료하는 데 걸리는 작업 또는 단계의 수로 생각 할 수 있습니다. => Big-O 표기법은 입력 크기에 비해 런타임이 얼마나 빨리 증가하는 지 추적하는 방법입..

서버리스 - 서버리스는 클라우드 컴퓨팅의 모델 중 하나로 사용자가 서버를 직접 관리할 필요가 없는 모델을 의미합니다. - 여기서 서비를 직접 관리할 필요가 없다는 의미는 Iaas와 같은 모델처럼 트레픽에 따라 사용자가 직접 서버의 가용량을 증감 시킬 필요가 없다는 뜻입니다. ※ 서버 ( Server ) + 리스 ( Less )의 합성어라 '서버가 없다'라고 문자 그대로 이해할 수 있지만 서버가 없을 수는 없습니다. 어딘가에 저장할 공간이 있긴 해야 합니다. 클라우딩 컴퓨터 - 클라우드 컴퓨팅이 등장하면서 더 이상 서버를 직접 설치하고 관리할 필요가 없어졌습니다. - 집에 직접 서버를 사서 설치하여 관리할 필요 없이 MS, 아마존, 구글에게 돈을 지불하면 서버를 이용할 수 있게 된 것입니다. - 하지만 서..

Cloud Computing - 클라우드 컴퓨팅은 IT 리소스를 직접 구매하지 않고 임대하여 사용하는 것입니다. - 여기서 IT 리소스는 서버, DB, 스토리지 등 구성 가능한 자원을 말합니다. - 직접 서버를 구매하여 설치하고 구성하는 과정 대신 클라우드 컴퓨팅 공급자로부터 필요한 자원을 할당 받은 뒤 사용량만큼 비용을 지불하는 것입니다. 클라우더 컴퓨팅의 서비스 모델 - 서비스 모델이란 클라우드 공급자가 제공하는 서비스의 차이에 따라 분류하는 개념입니다. - 클라우드 컴퓨팅의 서비스 모델은 Iaas, Paas, Saas 3가지로 나뉩니다. 1. 전통적인 IT 방식 - 전통적인 IT 방식에서는 기업 ( 배포자 )이 필요한 모든 자원을 준비하고, 관리해야만 했습니다. - 예를 들면 웹 서비스 하나를 배포..

TDD - TDD란 Test Driven Development의 약자로 '테스트 주도 개발' 이라고 한다. - 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복해서 구현한다. - 짧은 개발 주기의 반복에 의존하는 개발 프로세스이며, 애자일 방법론 중 하나인 eXtreem Programming( XP )의 Test-First 개념에 기반을 둔 단순한 설계를 중요시한다. ※ eXtream Programming ( XP )란? - 미래에 대한 예측을 최대한 하지 않고 지속적으로 프로토타입을 완성하는 애자일 기반 방법 중 하나 - 이 방법론은 추가 요구사항이 생기더라도 실시간으로 반영할 수 있다. 단위 테스트 ( Unit Test ) 란?..

프로젝트 방법론 - 프로잭트 개발에 적합한 방법론을 선택하는 일은 프로젝트 성공을 위한 첫걸음이다. 애자일 방법론 Agile : 민첩한 날렵한 - 애자일은 1970년대 윌리엄 로이스가 대형 소프트웨어 시스템 개발에 관해 제출한 논문에서 처음 등장하였으며, ' 스프린트 ( Sprint ) '라는 짧고 점진적은 개발 주기로 구성된 프로젝트 관리 방법론이다. - 각 주기는 제품이나 서비스 개발을 지속적으로 향상시키는 데 초점이 맞춰져 있다. 애자일 뱅법론은 애자일 선언 ( Agile Manifesto )의 4가지 기본 가치와 12가지 원칙에 바탕을 두고 있으며, 반복적이며 사람 중심적인 개발 방식을 취한다. 프로세스 1. 계획 : 고객과 주요 이해관계자들이 함께 프로젝트 개념화, 브래인 스토밍, 정의, 우선순..

해시 테이블? - 해시 테이블이란 어떤 특정 값을 입력 받으면 그 값을 해시 함수에 통과 시켜 나온 값을 인덱스 ( Index )에 저장하는 자료 구조이다. 1. 직접 주소 테이블 ( Direct Address Table ) - 해시 테이블의 아이디어는 직접 주소 테이블이라는 자료 구조에서부터 시작되는 데 직접 주소 테이블은 입력 받은 value가 곧 key가 되는 데이터 매핑 방식이다. class DirectAddressTable { constructor() { this.table = []; } setValue(value = -1) { this.table[value] = value; } getValue(value = -1) { return this.table[value]; } getTable() { r..

OSI 참조 모델 Open System interconnection 개방형 상호 연결 시스템 - 두 개의 시스템이 통신하기 위해 일련의 절차를 7단계로 나누었다. 편지를 보내자 1. 편지지를 사고 편지 위에 글씨를 쓴다. ( Application Layer ) - 편지지 === Application === 사용자가 원하는 데이터를 요청 할 때 사용되는 플랫폼 - 사용자가 특정 Application을 이용해서 데이터를 입력하고 가공한다. 2. 편지지 내용 : One Two Three Four + 사진 ( Presentation Layer ) - 데이터를 표현하는 방법, 암호화, 압축 ( Encoding, Encryption, Compress )하는 곳! - 편지를 받은 사람이 사진인지 모르고 동영상인가? ..

23. 서브네팅 복습 : IP 주소는 클래스에 따라 네트워크 번호와 호스트 번호로 구성되어 있고 조직의 규모에 따라 네트워크 번호의 비트 수가 결정된다. - 클래스 A의 경우 호스트 번호의 비트 수가 24 비트이므로 16,772,214대 호스트를 소유할 수 있다. 이 주소를 1부터 ~~ 매기면 3478번 호스트를 찾는 데 어려움이 있다. => IP는 계층형이다!! ==> 커다란 네트워크 몇 개를 맻 개의 네트워크로 작게 분할하는 형식! ※ 서브 네트워크 - 계층형 IP의 특성으로 분할된 작은 네트워크를 말한다. 작은 네트워크가 서브 네트워크로 큰 네트워크를 작게 분할해서 쉽게 관리할 수 있게 된다. - IP 주소는 32비트로 고정되어 있기에 호스트 번호의 비트를 서브넷 번호와 호스트 번호로 분할 한다. ..