HEAD: GET 요청과 유사하지만, HEAD 요청은 실제 데이터 대신에 데이터의 메타데이터(예: 헤더 정보)만을 반환합니다. 이 메서드는 리소스의 존재 여부나 서버의 응답 헤더를 확인할 때 유용합니다.
OPTIONS: 이 메서드는 웹 서버가 지원하는 HTTP 메서드를 확인하는 데 사용됩니다. CORS(Cross-Origin Resource Sharing)와 관련된 사전 요청(pre-flight request)에서도 사용됩니다.
TRACE: 서버에 도달하는 요청의 변경 여부를 진단하기 위해 사용됩니다. 이는 클라이언트와 서버 사이의 요청/응답 체인을 테스트하는 데 사용될 수 있습니다.
CONNECT: 클라이언트가 프록시 서버를 통해 다른 네트워크 서비스에 터널 연결을 요청하는 데 사용됩니다.
이러한 메서드들은 특정한 상황에서 유용할 수 있지만, 일반적인 REST API 개발에서는 드물게 사용됩니다. 대부분의 RESTful 서비스는 주로 GET, POST, PUT, DELETE, PATCH 메서드에 집중합니다.
class Node:
def __init__(self, value):
self.value = value
self.next = None
def __del__(self):
print("delete")
# 두 노드 생성
node1 = Node(1)
node2 = Node(2)
# 순환 참조 생성
node1.next = node2
node2.next = node1
@Component
public class BeanA {
private BeanB beanB;
public void BeanA(BeanB beanB){
this.beanB = beanB;
}
}
@Component
public class BeanB {
private BeanA beanA;
public void BeanB(BeanA beanA){
this.beanA = beanA;
}
}
def minCostClimbingStairs(cost):
n = len(cost)
if n == 0 or n == 1:
return 0
min_cost = [0] * n
min_cost[0], min_cost[1] = cost[0], cost[1]
for i in range(2, n):
min_cost[i] = min(min_cost[i - 1], min_cost[i - 2]) + cost[i]
return min(min_cost[-1], min_cost[-2])
# 예시 사용법
cost = [10, 15, 20]
print(minCostClimbingStairs(cost)) # 출력 예: 15