CS36 JWT [ JWT 사용하는 이유 ] ▶ Cookie 클라이언트가 웹 사이트에 접속할 때 그 사이트가 사용하게 되는 일련의 작은 기록 파일이라고 생각하면 됨 서버가 클라이언트에 정보를 전달할때 저장하고자 하는 정보를 응답 헤더(Cookie)에 저장하여 전달 Key-Value 형식의 문자열 형태로 저장됨 쿠키는 로그인을 했을때 Set-Cookie의 형태로 반환을 받은 쿠키를 토대로 로그인이 필요한 요청을 할 때마다 받은 쿠키를 던져 요청을 하는 동작 구조를 가짐 로그인이 필요한 요청마다 ID와 PW를 보내야했다면 매우 번거로웠을태지만 이것을 쿠키로 대체한것 Cookie 단점 쿠키는 노출이 되었을 때 id, pw에 대한 민감 정보까지 다 노출이 되어 보안이 좋지 않음 조작당해서 들어올 가능성이 있음 웹 브라우저마다 .. 2024. 2. 4. 솔리드 원칙 솔리드 원칙은 소프트웨어 디자인의 다섯 가지 기본 원칙 이 원칙들은 소프트웨어를 더 견고하고 유연하며 유지보수가 쉽도록 만드는 데 도움이 되는 지침을 제공 ▶ 단일 책임 원칙 (Single Responsibility Principle - SRP) 클래스는 단 하나의 책임만 가져야 함 이유와 장점 유지보수성 향상 각 클래스나 모듈이 하나의 책임만을 갖도록 설계하면 코드의 유지보수가 쉬워짐 특정 기능을 변경해야 할 때 해당 기능에 대한 코드만 이해하고 수정할 수 있음 코드의 가독성 증가 각 클래스 또는 모듈이 특정 책임에 집중하면 코드가 명확하고 가독성이 향상 다른 개발자들도 해당 코드를 이해하기 쉽게 되어 협업이 용이 재사용성 증가 단일 책임을 갖는 모듈은 다른 부분에서 쉽게 재사용 특정 기능이 변경되어도.. 2024. 1. 20. 게이트웨이와 프록시 [ 게이트웨이(Gateway) ] 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어. 즉 다른 네트워크로 들어가는 관문(입구) 역할을 하는 네트워크 포인트 넓은 의미로는 종류가 다른 네트워크 간 통로의 역할을 하는 장치 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜(protocol,통신규약)을 적절히 변환해주는 역할을 함 게이트웨이를 지날 때마다 트래픽(traffic)도 증가하기 때문에 속도가 느려질 수 있음 두 컴퓨터가 네트워크 상에서 서로 연결되려면 동일한 통신 프로토콜을 사용해야함 따라서 프로토콜이 다른 네트워크 상의 컴퓨터와 통신하려면 두 프로토콜을 적절히 변환해 주는 변환기가 필요한데 게이트웨이가 바로 이러한.. 2023. 11. 25. 비선형 자료형 각 요소가 선형적인 순서가 아닌 계층적이거나 상호 연결된 구조를 갖는 자료구조를 의미 선형 자료구조는 리스트나 배열처럼 요소들이 선형적으로 연결된 것과 달리 비선형 자료구조는 계층적인 구조를 가지거나 각 요소들이 서로 연결되어 있는 구조 [ 그래프(Graph) ] 다양한 형태의 객체 간 연결 관계를 표현하는 데 사용 각종 네트워크(소셜/컴퓨터 네트워크), 도로망 등을 모델링하는 데 유용 그래프는 정점과 간선으로 이루어진 자료 구조 어떠한 곳에서 어떠한 곳으로 무언가를 통해 간다고 했을 때 어떠한 곳은 정점(vertax)이 되고, 무언가는 간선(edge)이 됨 ▶ 그래프의 구성 요소 정점(Vertax / Node) 정점(또는 노드)은 객체나 개체를 나타냄 Ex) 소셜 네트워크에서 각 사용자, 도로망에서 각.. 2023. 11. 17. 데이터베이스 조인(Join) 데이터베이스에서 두 개 이상의 테이블을 연결하여 하나의 결과의 테이블로 만드는 것을 의미 이를 통해 데이터를 효율적으로 검색하고 처리하는데 도움을 줌 Join을 사용하여 데이터베이스에서 테이블을 분리하여 데이터 중복을 최소화하고 데이터의 일관성을 유지할 수 있음 대표적으로 INNER JOIN, OUTER JOIN(LEFT, RIGHT, FULL) 등이 있으며 각각의 JOIN 방식에 따라 결과가 달라짐 ▶ 내부 조인(Inner Join) 두 테이블에서 공통된 값을 가지고 있는 행들만을 반환 SELF INNER JOIN 하나의 테이블 내에서 다른 열을 참조하기 위해 사용하는 자기 자신과의 조인 방법 데이터베이스에서 한 테이블 내의 레코드를 다른 레코드와 연결할 수 있음 CROSS INNER JOIN 두 개 .. 2023. 11. 16. 데이터베이스 최적화 데이터베이스 인덱스(Index) 저장한 컬럼을 기준으로 메모리 영역에 일종의 색인을 생성하는 것 검색 속도는 빨라지고 삽입, 삭제, 갱신 속도는 느려짐 추가적인 오버헤드 INSERT 시 : 새로운 데이터에 대한 인덱스를 추가함 DELETE 시 : 삭제하는 데이터의 인덱스를 사용하지 않는다는 작업을 진행함 UPDATE 시 : 기존의 인덱스를 사용하지 않음 처리하고, 갱신된 데이터의 인덱스를 추가함 장점 테이블 조회 속도 및 성능 향상 전반적인 시스템 부하 감소 단점 인덱스를 관리하기 위한 별도의 저장공간 필요 추가 작업 필요 잘못 사용할 경우 오히려 성능이 저하됨 인덱스를 사용하면 좋은 경우 규모가 큰 테이블, 삽입·삭제·갱신이 자주 발생하지 않는 컬럼, Join, where, order by에 자주 사용.. 2023. 11. 16. 데이터베이스 인덱스 [ 인덱스(index) ] 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 저장된 데이터의검색 속도를 향상시키기 위한 자료구조. 인덱스는 데이터베이스 내의 특정 컬럼(열)이나 컬럼들의 조합에 대한 값과 해당 값이 저장된 레코드(행)의 위치를 매핑하여 데이터베이스 쿼리의 성능을 최적화하는 데 중요한 역할을 함 예를 들어 책에서 원하는 내용을 찾는다고 가정하면 책의 모든 페이지를 넘기면서 원하는 내용이 나올 때까지 찾는 것보다 목차 또는 저자가 남긴 색인(index)을 통해 찾는 것이 더욱 빠름. 데이터베이스의 인덱스가 책의 목차와 색인과 같은 역할을 함 데이터베이스에서 인덱스를 사용하면 데이터를 검색할 때 전체 테이블을 스캔하는 것이 아니라 인덱스를 사용하여 검색 대상 레코드의 범위를 줄일.. 2023. 11. 16. 데이터베이스 종류 ▶ 계층형 데이터베이스(HDBMS) 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식 데이터의 관계를 트리 구조로 정의 부모 - 자식 형태를 가짐 종류 하드디스크, DVD 파일 시스템 등 장점 데이터의 액세스 속도가 빠름 데이터의 사용량 쉽게 예측 단점 상하 종속적인 관계로 구서오디어 초기 세팅 후 프로세스 수용이 어려움 ▶ 네트워크형 데이터베이스(NDBMS) 데이터 구조를 네트워크 상의 노드 형태로 논리적이이게 표현한 데이터 모델 각각의 노드를 서로 대등한 관계로 구성한 시스템 장점 계층형 데이터베이스의 데이터 중복 문제 해결 상하 종속적 관계 해결 단점 추후 변경시 복잡한 구조로 인해 변경이 어려움 데이터 종속성을 해결하지 못함 ▶ 관계형 데이터베이스(RDBMS) 행(Colunm)과 열(Row)을.. 2023. 11. 16. MAC주소, IP주소, DHCP, NAT, HTTPS [ 물리적 주소(Physical Address) - MAC 주소 ] 네트워크 장비의 고유한 주소로 MAC(Media Access Control) 주소라고 불림 컴퓨터의 네트워크 카드에 할당되며 48비트 길이의 16진수로 표현됨 컴퓨터와 네트워크 장비들이 통신할 때 데이터를 보내고 받는데 사용됨 네트워크 상에서 고유한 값이기 때문에 충돌을 방지하고 효율적인 데이터 전송을 가능하게 함 MAC 주소는 고유한 값으로 같은 네트워크 상에서 두 개 이상의 장치가 동일한 MAC 주소를 가지는 경우 충돌 발생 전 세계적으로 고유한 값이어야 하며 이를 보장하기 위해 IEEE(Institute of Electrical and Electronics Engineers)에서 MAC 주소 할당 규칙을 정해두고 있음 MAC 주소는.. 2023. 11. 14. 이전 1 2 3 4 다음