HTTP (HyperText Transfer Protocol)
·
CS/네트워크
HTTP란?HTTP (HyperText Transfer Protocol)는 웹 상에서 데이터를 주고받기 위한 통신 규약입니다.HyperText: 웹 페이지에서 다른 페이지로 이동할 수 있도록 연결된 텍스트를 의미합니다.Transfer: 데이터를 전송하는 역할을 합니다.Protocol: 데이터를 주고받기 위한 클라이언트와 서버 간의 약속입니다.HTTP의 동작 원리HTTP는 클라이언트-서버 모델을 기반으로 동작합니다.클라이언트: 요청(Request)을 보내는 주체 (예: 웹 브라우저, 모바일 앱).서버: 요청에 대한 응답(Response)을 보내는 주체 (예: 웹 서버, API 서버).요청-응답의 흐름HTTP의 동작 원리는 다음과 같습니다.사용자가 브라우저에서 URL을 입력하거나 클릭합니다.브라우저는 HTT..
재귀 함수 (Recursive Function)
·
CS/알고리즘
오늘은 이전 포스팅에서 다뤘던 유클리드 호제법을 학습하면서 궁금했던 재귀 함수에 대해 공부해 보겠습니다.특히, 유클리드 호제법의 구현에서 재귀 함수가 어떻게 작동하는지, 그리고 재귀 함수의 기본 원리와 장단점에 대해 살펴보겠습니다. 재귀 함수란?재귀 함수는 자기 자신을 호출하는 함수입니다. 큰 문제를 작은 문제로 나눠서 해결하는 방식으로, 특히 수학적 정의를 코드로 표현하거나 트리 탐색과 같은 알고리즘에서 자주 사용됩니다.재귀 함수의 기본원리재귀 함수는 두 가지 주요 요소로 이루어집니다.기저 조건 (Base Case)재귀를 멈추는 조건으로 무한 루프를 방지합니다.재귀 조건 (Recursive Case)문제를 더 작게 쪼개기 위해 자기 자신을 호출하는 부분입니다.재귀 함수가 호출될 때, 각 호출은 스택 메..
유클리드 호제법
·
CS/알고리즘
유클리드 호제법이란?유클리드 호제법은 수학에서 두 수의 최대공약수를 구하는 가장 효율적인 알고리즘 중 하나입니다.이번 글에서는 이를 활용해 분수 계산에서 기약분수로 변환하는 과정을 설명하겠습니다.유클리드 호제법을 이용한 최대공약수 구하기유클리드 호제법은 큰 수와 작은 수를 나눈 나머지를 반복적으로 계산하며, 나머지가 0이 될 때 작은 수가 최대공약수가 됩니다.간단히 다음과 같은 규칙을 따릅니다.두 수 중 큰 수를 a, 작은 수를 b로 정합니다.a % b가 0이 될 때까지, a와 b를 재귀적으로 교환하며 계산합니다.최종적으로 나머지가 0이 되는 순간, b가 최대공약수(GCD)입니다.다음은 자바로 구현한 유클리드 호제법의 코드입니다.int gcd(int a, int b) { if (b == 0) ret..