'7월 23일' 육십아홉 번째 기록 [TIL]

가은·2024년 7월 23일
0

I Learned [본 캠프]

목록 보기
106/135
post-thumbnail

👩‍🏫 오늘의 출석

❓육십여섯 번째, 9 to 9을 해 본 소감❓

분명 오늘 개발 시작하려고 했는데, 어쩐지 계속 회의를 하고 있었다..
팀명도 변경하고, 1차 서면 피드백 받은 내용들도 수정하고, 리더/부리더 회의도 참여하고 각자 파트 별로 개발도 시작했다!

📑오늘 학습한 내용

다시 늘어난 ERD..

🧩 오늘의 SQL : 조건에 부합하는 중고거래 댓글 조회하기 🧩

문제 : USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요.

SELECT UGB.TITLE, UGB.BOARD_ID, UGR.REPLY_ID, UGR.WRITER_ID, UGR.CONTENTS, 
        DATE_FORMAT(UGR.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATE
FROM USED_GOODS_BOARD UGB
JOIN USED_GOODS_REPLY UGR ON UGB.BOARD_ID = UGR.BOARD_ID
WHERE YEAR(UGB.CREATED_DATE) = '2022' AND MONTH(UGB.CREATED_DATE)='10'
ORDER BY UGR.CREATED_DATE ASC, UGB.TITLE ASC;

💬 기술 면접 준비

9. TCP/UDP에 대해서 설명해주세요.

keyword

  • TCP와 UDP의 신뢰성 차이가 어떤 프로세스 때문에 발생하는지 3-way handshaking

네트워크 통신에서 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 가장 널리 사용되는 두 가지 프로토콜입니다. 이 두 프로토콜은 각각 고유한 특성을 가지고 있어, 상황에 따라 적절히 선택하여 사용됩니다.

TCP vs UDP: 신뢰성의 차이

TCP와 UDP의 가장 큰 차이점은 신뢰성에 있습니다. 이 신뢰성 차이는 각 프로토콜의 동작 방식에서 비롯됩니다.

TCP: 신뢰성 있는 연결 지향적 프로토콜
TCP는 연결 지향적 프로토콜로, 데이터 전송 전에 '3-way handshaking'이라는 연결 설정 과정을 거칩니다. 이 과정을 통해 안정적인 연결을 설정하고, 데이터의 순서와 무결성을 보장합니다.

3-way handshaking 과정
1. 클라이언트가 서버에 SYN 패킷을 보냅니다.
2. 서버는 SYN-ACK 패킷으로 응답합니다.
3. 클라이언트가 ACK 패킷을 보내 연결을 확립합니다.

TCP 특징

  • 패킷의 순서 보장
  • 손실된 패킷 재전송
  • 흐름 제어와 혼잡 제어

UDP: 비연결형 프로토콜
반면 UDP는 비연결형 프로토콜로, 연결 설정 과정 없이 바로 데이터를 전송합니다.

UDP 특징

  • 패킷의 순서나 손실에 대한 보장 없음
  • 흐름 제어나 혼잡 제어 메커니즘 없음

TCP는 데이터의 정확한 전달이 중요한 경우(예: 파일 전송, 웹 브라우징)에 사용되며, UDP는 실시간성이 중요한 경우(예: 실시간 스트리밍, 온라인 게임)에 주로 사용됩니다. 각 프로토콜의 특성을 이해하고 적절히 선택하는 것이 효율적인 네트워크 통신의 핵심입니다.


10. http, https 차이점에 대해 설명해주세요

keyword

  • HTTP/HTTPS의 정의와 차이점 SSL 인증서를 통해서 데이터 조작여부 판단

HTTP와 HTTPS의 정의와 차이점

HTTP (Hypertext Transfer Protocol)

  • 웹 브라우저와 서버 간의 기본적인 통신 프로토콜
  • 데이터를 암호화하지 않고 전송
  • 중간에 데이터 탈취나 변조 위험 존재

HTTPS (Hypertext Transfer Protocol Secure)

  • HTTP에 보안 계층을 추가한 프로토콜
  • SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 사용
  • 통신을 암호화하여 데이터의 기밀성과 무결성 보장

SSL 인증서를 통한 데이터 조작 여부 판단
HTTPS의 핵심 기능 중 하나는 SSL 인증서를 사용한 보안 강화입니다.
1. 서버가 클라이언트에게 SSL 인증서 전송
2. 클라이언트가 인증서의 유효성 확인
3. 유효한 경우, 안전한 암호화 통신 시작
4. 통신 과정에서 데이터의 해시값을 함께 전송
5. 클라이언트는 받은 데이터의 해시값을 계산하여 전송된 해시값과 비교
6. 두 값이 일치하면 데이터가 조작되지 않았다고 판단

HTTPS는 SSL 인증서를 통해 서버의 신원을 확인하고, 데이터 암호화를 통해 기밀성을 보장하며, 해시 값 비교를 통해 무결성을 검증합니다. 이로 인해 HTTP보다 훨씬 안전한 웹 통신을 제공하며, 특히 개인정보나 금융 정보와 같은 민감한 데이터를 다룰 때 필수적입니다.


0개의 댓글