[CS] CORS(Cross-origin Resource Sharing)란 ?
IT이론/네트워크2024. 4. 26. 19:42[CS] CORS(Cross-origin Resource Sharing)란 ?

CORS란 ?MDN Docs에서는 CORS를 다음과 같이 정의하고 있습니다.CORS는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 브라우저는 보안 상의 이유로 스크립트에서 시작한 교차 출처 HTTP요청을 제한합니다. 스크립트에서 브라우저에서 웹 애플리케이션은 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 소스를 불러오면 그 출처에서 올바른 CORS 헤더를 포함한 응답을 반환해야합니다.cross-origin 요청을 하려면 서버의 동의가 필요합니다. 만약 서..

[CS] 트랜잭션이란 ? (Spring/Spring Boot)
IT이론/데이터베이스2024. 3. 25. 23:53[CS] 트랜잭션이란 ? (Spring/Spring Boot)

트랜잭션(Transaction)이란: DB 상태를 변환 시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위입니다.쪼갤 수 없는 여러 작접들을 논리적으로 최소 단위로 묶은 것입니다. 트랜잭션의 예시 상황많은 블로그에서 보셨던 방식으로 접근해 보겠습니다 !온라인 쇼핑몰을 결제할 때, 두가지 작업을 거쳐야합니다.첫 번째 판매처에 돈을 송금하기, 두 번째 판매처에서 고객이 보낸 돈을 받기 두 작업을 한 트랜잭션이라고 할 경우 판매처에 돈을 보냈는데 판매처에서 고객이 보낸 돈을 받지 못하는 경우나, 고객이 돈을 보내지 않았는데 판매처에서 돈을 받는 경우가 생기면 안된다.모든 작업이 성공적으로 완료되어야 작업 결과를 적용(commit)하고, 트랜잭션에 속한 모든 작업 중에(1번이나 2번 둘 중) 하나라도 오류가..

[CS/Network] Http 프로그래밍과 Socket프로그래밍이란?
IT이론/네트워크2024. 3. 15. 17:33[CS/Network] Http 프로그래밍과 Socket프로그래밍이란?

일반적으로 단말기에서 필요로 하는 데이터들은 Server에서 관리합니다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신을 구현하기 위해서는 크게 Http 프로그래밍과 Socket 프로그래밍 2가지가 있는데, 오늘은 이 2가지 네트워크 프로그래밍 방식의 차이에 대해 알아보도록 하겠습니다 ! Socket 프로그래밍 Socket 프로그래밍은 Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식입니다. Socket 연결은 TCP/IP 프로토콜을 기반으로 맺어진 네트워크 연결 방식입니다. 그리고 이러한 Socket 연결 방식으로 프로그래밍 하는 것을 소켓(Socket) 프로그래밍이라고 하는데, Socket 프로그래밍은 Server와 Client가 특정 Port를 통해 연결..

[CS] TCP와 UDP란 ?
IT이론/네트워크2024. 3. 14. 19:37[CS] TCP와 UDP란 ?

TCP와 UDP란 ?네트워크 계층 중 전송 계층에서 사용하는 프로토콜입니다 !전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로 쉽게 말해 데이터의 전달을 담당합니다.데이터를 보내기 위해 사용하는 프로토콜이 있는데, 해당 프로토콜들이 바로 TCP와 UDP입니다 !OSI 7계층 관련하여 따로 포스팅할 예정이며, 해당 포스트에 참고할 수 있도록 OSI 7layer와 TCP/IP 4layer에대한 사진 첨부해 드리겠습니다 ! TCP(Transmission Control Protocol)TCP를 해석하면 전송을 제어하는 프로토콜(규약)이라는 의미를 가지고 있는데, 아래의 정의와 동일합니다.     인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜일반적으로 TCP와 ..

[Algorithm] 깊이 우선 탐색(DFS, 그래프 탐색) 알고리즘
알고리즘/알고리즘 정리2024. 3. 6. 01:10[Algorithm] 깊이 우선 탐색(DFS, 그래프 탐색) 알고리즘

알고리즘에 대한 이해 ! 알고리즘 문제 풀이에서 DFS, BFS를 많이 사용했었는데 이제야 알고리즘 정리를 하게됬네요 ! 깊이 우선 탐색(DFS)란 DFS(Depth-First Search)는 그래프의 시작 노드에서 자식의 노드들을 순서대로 탐색하면서 깊이를 우선으로 탐색하는 알고리즘 입니다 ! DFS는 주로 반복문을 활용하거나 재귀문을 통하여 구현합니다. DFS의 탐색 과정 DFS의 기본 탐색 과정은 특정 정점에서 시작하여 역추적(backtracking) 하기 전에 각 분기를 따라 가능한 한 멀리 탐색하는 것입니다. 탐색하는 과정은 다음과 같습니다 ! 현재 노드를 방문한 것으로 표시한다. 방문한 표시가 되어 있지 않은 각각의 인접한 정점을 탐색한다. 더 이상 방문하지 않은 정점이 없으면 이전 정점으로 ..

[CS] 데이터 모델링이란 ?
IT이론/데이터베이스2024. 3. 1. 18:02[CS] 데이터 모델링이란 ?

요약 비즈니스 프로세스와 데이터 요구사항을 추상적이고 구조화된 형태로 표현하는 과정 ! 데이터 모델링이란 ? 데이터 모델링이란 주어진 개념으로부터 논리적인데이터 모델을 구성하는 작업을 말합니다. 즉, 현실의 개념들을 체계적으로 수집하여 정보모델링을 통해 사용자의 정보요구사항을 조사하고 이를 개체, 관계, 속성을 중심으로 명확하게 체계적으로 표현하고 문서화하는 기법을 데이터 모델링이라고 합니다. 데이터 모델링의 3단계 1. 개념적 모델링 개념적 모델링은 내가 하고자 하는 일의 데이터 간의 관계를 구상하는 단계입니다. 각 개체들과 그들간의 관계를 발견하고 표현하기 위해 ERD 다이어그램을 생성합니다. 3가지의 단계중 추상화의 수준이 가장 높고 핵심 엔티티(Entity)를 추출하는 단계입니다. 2. 논리적 모..

[CS] DataBase 정규화(Normaliztion)란 ?
IT이론/데이터베이스2024. 2. 29. 16:46[CS] DataBase 정규화(Normaliztion)란 ?

요약 정규화란 Entity(테이블)를 분해하는 과정이다 ! 정규화의 개념 하나에 테이블에 많은 속성을 넣게 되면, 해당 테이블를 조회할 때 마다 많은 양의 데이터가 조회될 것이므로 최소한의 데이터만을 하나의 테이블에 넣는식으로 테이블을 분해하는 과정을 정규화라고합니다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 과정이라고 볼 수 있습니다. 데이터의 중복을 제거하고 데이터 모델의 독립성을 확보하는 과정입니다. 데이터 이상현상을 줄이기 위한 데이터 베이스 설계 기법입니다. 제1 정규화부터 제5 정규화까지 존재하지만 실질적으로는 제3 정규화까지만 수행됩니다. 정규화의 단계 [ 제1 정규화(1NF) ] 제1 정규화란 테이블의 컴럼이 원자값(Atomic Value, 하나의 값)을 갖도..

[CS] 유닉스(UNIX)란 무엇인가 ?
IT이론/네트워크2024. 2. 16. 15:40[CS] 유닉스(UNIX)란 무엇인가 ?

요약UNIX는 1960년 AT&T 벨(Bell) 연구소에서 개발된 대화식 운영체제이다.UNIX의 특징시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템(Open System)이다.대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.많은 네트워킹 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합하다.트리구조의 파일 시스템을 갖는다.UNIX 시스템의 구성UNIX의 구조는 아래 이미지와 같이 커널, 쉘, 유틸리티 및 응용프로그램으로 나누어집니다.커널(Kernel) UNIX 시스템이 부팅될 때 가장 먼저 읽히는 운영체제의 ..

image