본문 바로가기

전체 글49

성능이 떨어지는 경우 어떻게 판단할까 서비스 성능 저하는 단순히 "느리다"가 아니라, 지표 기반으로 판단해야 합니다.핵심은 정량적인 수치 + 병목 구간 파악입니다. 1. 주요 성능 판단 지표 ① 응답 시간(Latency)API 응답 속도페이지 로딩 시간기준 예시100ms 이하: 매우 빠름300~500ms: 일반적인 수준1초 이상: 사용자 체감 느림 ②처리량(Throughput)초당 처리 요청 수(TPS, RPS)예100 TPS -> 정상20 TPS로 감소 -> 성능 저하 의심 ③에러율(Error Rate)5xx 에러 증가타임아웃 발생-> 서버 과부하 또는 장애 가능성 ④리소스 사용률CPU 사용률메모리 사용량GC 발생 빈도스레드 수특히CPU 90% 이상 지속 -> 병목 가능성메모리 부족 -> GC 증가 -> 성능 저하성능 저하 판단 방법 1.. 2026. 3. 19.
OAuth란? OAuth2란 무엇인가? OAuth2(Open Authorization 2.0)는 사용자의 비밀번호를 직접 공유하지 않고, 제3의 애플리케이션이 사용자의 리소스에 접근할 수 있도록 허용하는 인증/인가 프로토콜입니다. 대표적으로 소셜 로그인에서 많이 사용됩니다. 예시Google 로그인Kakao 로그인Naver 로그인사용자가 회원가입 대신 "구글로 로그인" 같은 버튼을 누르는 방식이 바로 OAuth2 기반입니다. OAuth2가 필요한 이유과거에는 외부 서비스가 사용자 데이터를 사용하려면 아이디와 비밀번호를 직접 받아야하는 문제가 있었습니다. 문제점보안 위험비밀번호 유출 가능권한 통제 어려움OAuth2는 Access Token 기반 권한 위임 방식을 사용하여 이를 해결합니다.OAuth2 주요 개념 1. Res.. 2026. 3. 17.
프레임워크(Framework)와 라이브러리(Library) 프레임워크(Framework)와 라이브러리(Library)의 차이 개발을 하다 보면 프레임워크와 라이브러리라는 용어를 자주 접하게 됩니다. 두 개념 모두 개발 생산성을 높이기 위한 코드 재사용 도구이지만, 제어 흐름의 주체에서 차이가 있습니다. 1. 라이브러리(Library)라이브러리는 필요한 기능을 모아둔 코드 모음입니다.개발자가 필요할 때 직접 호출하여 사용하는 방식입니다. 즉 개발자가 흐름을 제어합니다. 예시LodashJackson예시 코드ObjectMapper mapper = new ObjectMapper();mapper.writeValueAsString(object);위 코드에서는 개발자가 직접 라이브러리 함수를 호출하여 사용합니다. 특징필요한 기능만 가져다 사용실행 흐름은 개발자가 제어특정 기.. 2026. 3. 16.
프로세스(Process)와 스레드(Thread) 프로세스(Process)와 스레드(Thread)의 차이 운영체제에서 프로그램이 실행될 때 프로세스와 스레드라는 실행 단위가 존재합니다. 두 개념은 모두 CPU에서 실행되는 작업 단위이지만, 메모리 구조와 실행 방식에서 차이가 있습니다. 1. 프로세스(Process) 프로세스는 실행 중인 프로그램의 인스턴스를 의미합니다. 예를 들어브라우저, 메신저, IDE 등을 실행하면 각각 별도의 프로세스로 동작합니다. 대표적인 특징독립된 메모리 공간 사용다른 프로세스와 메모리를 직접 공유하지 않음안정성이 높음(한 프로세스가 죽어도 다른 프로세스 영향 적음)프로세스 메모리 구조Code(프로그램 코드)Data(전역 변수)Heap(동적 메모리)Stack(함수 호출) 프로세스 특징OS가 자원을 할당프로세스 간 통신 필요(IP.. 2026. 3. 15.