HTTP의 비연결성과 HTTP/3의 QUIC UDP
·
Computer Science/네트워크
네트워크 아키텍처를 공부할 때 가장 먼저 혼란을 겪는 지점이 있습니다.바로 "TCP는 연결형인데, 그 위에서 노는 HTTP는 왜 비연결성이라고 할까?"라는 의문입니다. 오늘은 이 모순 같은 구조에서 출발해, 현대 웹 프로토콜인 HTTP/3 가 UDP 위에서 어떻게 완벽한 '지속 연결'과 성능 최적화를 이루어냈는지 정리해 보려고 합니다.1. TCP는 진짜로 연결을 유지하는가?학부시절 네트워크 수업에서 "TCP는 연결을 유지한다" 고 하니, 마치 TCP가 스스로 살아 움직이면서 연결을 붙잡고 있는 것처럼 느껴졌습니다.하지만 기술적으로 보면 TCP 계층은 연결을 유지하기 위해 아무런 일도 하지 않습니다.TCP가 연결되어 있다는 것 = 두 컴퓨터가 "우리 이제 통신할 거니까 서로 IP랑 포트 번호를 기록해 두자..
[쿼리 튜닝] 통계 쿼리 최적화
·
Backend/DB
직전 달의 서비스 성공률 리스트를 추출해야 하는 상황이었습니다.원천 로그 데이터가 4월 한 달 기준 약 `43만 건`에 달하는 대용량 상태였으며,병렬 처리(PARALLEL 8)를 사용함에도 불구하고 수행 시간이 30초 이상 소요되어 운영 환경에 부하를 주고 있었습니다.병목 지점 파악기존 쿼리는 아래와 같은 문제점이 있었습니다.`GROUP BY`와 `ORDER BY` 절에 SUBSTR 같은 함수가 사용되어 인덱스가 무력화되는 Index Suppression 현상'전체', '대면', '비대면' 데이터를 각각 구하기 위해 동일한 대용량 로그 테이블을 세 번이나 반복해서 읽는 구조개선 사항CTE 도입: WITH 절을 사용하여 대용량 테이블을 딱 한 번만 읽고 메모리에 올리는 One-Pass Scan 구조로 개편..
[테크 블로그 읽기] 올리브영의 레거시 개선기 ft.매장 -1
·
Dev Trivia
https://oliveyoung.tech/2025-01-24/store-service-journey-1/ 10년 된 레거시를 현대화하다 - Part.1: 도메인 분리의 첫걸음 | 올리브영 테크블로그오프라인 매장 서비스를 중심으로 본 DDD 전략적 설계 사례oliveyoung.tech 올리브영이 기존에 없던 `매장` 도메인을 설계하는 여정을 담은 "10년 된 레거시를 현대화하다"의 Part1 부분을 읽고 정리하려고 합니다. 대부분의 서비스가 이용하는 매장 정보를 직접 DB를 조회했던 레거시를 벗어나 하나의 서비스로 기획하는 과정이 담겨 있습니다.올리브영은 초창기에 내부 개발자가 존재하지 않았습니다.당시 모든 CJ 계열사의 전반적인 IT 담당은 `CJ올리브네트웍스`가 맡았기 때문에, 올리브영의 개발·운영 ..
[최종 합격] 면접 회고록
·
Dev Trivia
이번에 좋은 기회로 입사한 회사의 면접 회고록에 대해 작성하려고 한다.취업한 회사의 채용 절차는 `서류 > 면접 > 최합`로 이루어져 있다.현재 회사는 잡코리아를 통해 지원을 했고, 지원자 수가 `500+` 로 약 100:1 경쟁률이었다고 들었다.1. 면접 지원서 작성 시 기재했던 포트폴리오 및 블로그를 모두 훑어보고 면접이 진행되었다. 포트폴리오를 확인하고 오실 것은 알았으나, 블로그까지 확인하실 줄은 몰랐다.왜냐하면 블로그를 확인하고 질문하는 면접은 처음이었기 때문이다.1. 프로젝트 소개 & 어려웠던 점, 기억에 남는 점2. 동기, 비동기라는데 비동기 화면처리?3. REDIS 사용했던데 REDIS란?4. DB 인덱스, 복합인덱스 (블로그 발췌)5. 운영 배포 에러 발생 시 극복 방안6. 취미/특기 (..
[SpringBoot] Mail 전송 기능 개발 - 1
·
Backend/Spring
서비스를 이용하는 사용자가 특정 메일 주소로 메일을 보낼 수 있는 기능을 개발하려고 함메일은 Gmail로 보낼 수 있도록 Gmail 설정 부터 Spring 설정까지 진행하려고 한다.https://adjh54.tistory.com/599 [Java] Spring Boot Mail 이해하고 활용하기 -1 : 텍스트, HTML 기반 메일 전송해당 글에서는 Spring Boot 환경에서 Mail 라이브러리를 활용하여 텍스트 기반 전송과 HTML 기반 메일 전송하는 방법에 대해 알아봅니다. 1) Spirng Boot Mail💡 Spirng Boot Mail- Java 애플리케이션에서 이메일adjh54.tistory.com위 블로그를 참고해서 개발 진행했다.예전에는 Gmail 설정에서 IMAP 사용을 허용으로 변..
[PGS] 석유 시추 (Java)
·
PS/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr📜 문제2차원 땅(land)에서 1은 석유가 존재, 0은 빈 공간각 세로위치에서 시추관을 수직으로 내렸을 때, 닿는 석유 덩어리의 총 양을 계산하여가장 많이 채취할 수 있는 위치의 최대 수치를 구하는 문제즉, BFS/DFS로 석유 덩어리 단위로 크기를 계산한 뒤, 그 덩어리가 영향을 미치는 모든 열에 대해 크기를 더하면 됨생각하기BFS를 이용해 연결된 석유 영역(1)을 탐색하며 크기(find)를 계산영역을 돌면서 해당 영역이 걸친 열의 최소/최대 범위..
🌏 미·중 갈등 재점화, 왜 다시 싸우는 걸까?
·
NEWS
최근 미국과 중국이 다시 부딪치면서 전 세계 경제가 크게 흔들리고 있습니다.희토류 통제, 관세 전쟁, 주식 폭락, 코인 청산, 금값 급등까지…한꺼번에 일어난 이 일들의 흐름을 쉽게 정리해볼게요.🔥 미·중 갈등이 왜 재점화됐을까?이번 싸움의 시작은 `희토류` 때문이에요.희토류는 전기차, 반도체, 스마트폰, 전투기 같은 첨단 제품에 꼭 필요한 금속인데, 전 세계 정제의 약 70%를 중국이 독점하고 있죠.최근 `중국`은 “희토류를 마음대로 수출하지 않겠다”며 통제에 나섰고,이에 `미국`은 “그럼 너희 제품엔 높은 관세를 매기겠다”며 보복했어요.쉽게 말하면 ‘중국은 자원으로 압박’, ‘미국은 세금(관세)으로 반격’ 한 셈이에요.이게 이번 갈등의 불씨예요.💣 갈등이 불붙자 벌어진 일들미·중이 싸우면 세계 경제..
백엔드 면접 회고록
·
Dev Trivia
오늘 머리털 나서 두 번째 (사실상 처음) 회사 면접을 보고 왔다.`서류 - 1차 라이브코테 - 2차면접 - 결과 ` 순으로 된 채용절차에서, 2차 면접이었다.1차 라코때 알고리즘 문제 풀이일 줄 알고 문제 풀면서 말하기 연습했는데, 비즈니스 로직 짜는 문제여서 당황했었다.개인적으로 처참하다고 생각해서 머리 깎고 본가로 내려갔으나 2차 면접을 보러 오라 하셔서 다시 서울로 왔다.1차 라이브 코딩면접관 한 분이 보시고, 자유롭게 질문하고 요구사항에 맞게 구현하는 식이었다.라코가 처음이다 보니 "이런 것도 질문해도 되는겨?" 라는 생각에 `묵언 수행 30초 + 아 맞다 질문` 파티였다.염들은 질문 하시길 바라요. 아무리 바보같고.. 아무리 멍청이 같아도...문제가 잘 기억은 나질 않지만, 마지막에 마주한 문..