본문 바로가기

분류 전체보기191

http, https 차이점 http 인터넷에서 하이퍼텍스트를 교환하기 위한 통신규약으로, 80번 포트를 사용하고 있다. http의 구조 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동 무상태성을 가짐 Method, Path, Version, Headers, Body로 구성 암호화를 하지 않고 데이터를 주고받기 때문에 제 3자가 개인정보를 조회할 수 있음 이 단점을 극복하고자 https가 나타남 https http에 데이터 암호화가 추가된 프로토콜로 443번 포트를 사용하고 있다. https는 대칭키 암호화와 비대칭키 암호화 방식 모두 사용해 안정성과 빠른 연산 속도를 모두 얻음 대칭키 암호화 서버와 클라이언트가 동일한 키를 사용해 암호화/복호화를 진행 키가 노출되면 위험한 대신 연산이 빠름 비대칭키 암호화 1개의 쌍으로 구.. 2023. 8. 26.
TCP/UDP TCP와 UDP = 전송 계층에서 데이터를 보내기 위해 사용하는 프로토콜 전송 계층 = 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층 TCP 인터넷 상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 IP가 데이터의 배달 처리를 담당한다면 TCP는 패킷을 추적 및 관리한다. 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용된다. TCP의 특징 연결 지향 방식(패킷을 전송하기 위한 논리적 경로를 배정)으로 패킷 교환 방식 사용 (연결형 서비스로) 높은 신뢰성 보장 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제 흐름 제어 및 혼잡 제어 UDP보다 느림 전이중(Full-Duplex), 점대점(Point to .. 2023. 8. 25.
23.08.25 테스트 코드를 작성하기 전 테스트 코드가 정상적으로 돌아가기 위해서는 orphanremoval을 제거해야할 필요성을 느꼈고, 그러기 위해서는 부모객체를 삭제하는 메서드를 호출할 때 미리 자식 객체들을 제거해줘야 한다. 카드나 덱에서 해당 작업을 할 때는 조금의 귀찮음이 느껴지는 정도였지만, 점점 상위 객체로 갈 수록 기존 코드를 복사만 하면 돼서 오히려 간단해졌다. 하지만 여전히 같은 내용의 10줄이 넘어가는 코드를 붙이는게 너무 비효율적이라고 느낀다. 2023. 8. 25.
쓰레드와 쓰레드 풀 프로세스와 쓰레드의 차이점 프로세스 자신만의 고유 공간(code, data, heap, stack)과 자원을 할당받아 사용 다른 프로세스의 변수나 자료에 접근 불가 프로세스 만으로 작업을 처리하면 프로세스를 생성할 때 많은 시간이 소요되고, 스위칭의 비효율성이 커진다. 프로세스 간 통신은 비용이 비싸 통신이 어려워짐 쓰레드 다른 쓰레드와 공간과 자원을 고유하며 사용(stack만 따로 사용) 프로세스보다 실행 단위가 작아 생성 및 소멸에 대한 오버헤드 감소 자원을 공유하기 때문에 context switching이 빠름 프로세스 간 통신 시간, 방법 어려움 해소 프로세스와 쓰레드의 주소공간 프로세스 각각 독립된 메모리 영역을 할당받음 최소 1개의 쓰레드(메인 쓰레드)를 가지고 있다. 기본적으로 다른 프로세스.. 2023. 8. 24.